program

The program addresses the challenge of users not recognizing XR content by providing clear notifications and immersive experiences within a virtual space defined by a browser window, allowing users to easily access and utilize XR content.

JP7671379B2Active Publication Date: 2025-05-01COLOPL
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024019898
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-02-14
Publication Date
2025-05-01
Estimated Expiration
2040-02-25

AI Technical Summary

Technical Problem

Users find it difficult to recognize that content can be used as XR content when it is displayed in a flat area using a web browser, such as in VR, AR, or MR applications.

Method used

A program executed in a computer that defines a virtual space with a browser window, provides web content based on a URL address, and notifies users within a predetermined first period that the web content is available as XR content, emphasizing this notification more than in subsequent periods. The program also displays the web content as XR content based on user input and controls the field of vision from a virtual camera in response to head movement.

Benefits of technology

The solution makes it easier for users to recognize and utilize XR content when accessing it through a web browser, enhancing the user experience by providing clear notifications and immersive XR experiences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007671379000001
    Figure 0007671379000001
  • Figure 0007671379000002
    Figure 0007671379000002
  • Figure 0007671379000003
    Figure 0007671379000003
Patent Text Reader

Abstract

To provide a program that allows a user to easily recognize that the content can be used as XR content when the content can be used as XR content using a web browser.SOLUTION: A program causes a processor to execute the steps of defining a virtual space containing a browser window, providing a web content on the browser window on the basis of access to an URL address, and informing the user of the fact that the web content can be used as an XR content in a manner that the fact is more emphasized than in the second period outside the first period during the first period during which web content is provided on the browser window when the web content can be displayed as an XR content.SELECTED DRAWING: Figure 15
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a program. [Background technology]

[0002] In recent years, it has become possible to use VR (Virtual Reality) content using a web browser. For example, Patent Document 1 describes a method of providing a virtual space that is a VR content to a terminal device such as a head-mounted display, and providing predetermined content to a main content display area and a sub-content display area in the virtual space based on access from a web page corresponding to a Uniform Resource Locator (URL) address. The virtual space provided by the method of Patent Document 1 is a VR content as a whole, but the main content itself is displayed two-dimensionally in a limited area (for example, a browser window arranged on the virtual space). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2018-195255 A Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, when the main content itself can be used as VR content (for example, when it can be used as 360-degree content using a web browser), some users want to switch the display mode so that the main content itself is displayed as VR content. However, as in Patent Document 1, when the main content is displayed in a flat area, there is a problem that the user does not easily notice that the main content itself can be used as VR content. A similar problem may occur when using content that can be used as so-called XR content, such as AR (Augmented Reality) content or MR (Mixed Reality) content, using a web browser.

[0005] One aspect of the present disclosure aims to provide a program, an information processing method, and an information processing device that enable a user to easily recognize that content that can be used as XR content is available when using the content using a web browser. [Means for solving the problem]

[0006] According to one embodiment shown in the present disclosure, A program executed on a computer having a processor, The program causes the processor to: defining a virtual space containing a browser window; providing web content on the browser window based on access to a Uniform Resource Locator (URL) address; If the web content is displayable as XR content, notifying a user that the web content is available as the XR content during a predetermined first period during which the web content is provided on the browser window in a manner that emphasizes the availability of the web content as the XR content more than during a second period outside the first period; displaying the web content displayed on the browser window as XR content based on an operation input by the user; controlling a view from a virtual camera disposed in a virtual space in response to a movement of the user's head; A program is provided that causes the computer to execute 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. Effect of the Invention

[0007] According to one embodiment of the present disclosure, when content that can be used as XR content is used using a web browser, a program can be provided that allows a user to easily recognize that the content can be used as XR content. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an outline of the configuration of an HMD system according to an embodiment. [Diagram 2] FIG. 1 is a block diagram illustrating an example of a hardware configuration of a computer according to an embodiment. [Diagram 3] FIG. 2 is a diagram conceptually illustrating a uvw field of view coordinate system set in an HMD according to an embodiment. [Figure 4] FIG. 1 is a diagram conceptually illustrating one mode of expressing a virtual space according to an embodiment. [Diagram 5] 1 is a top view of the head of a user wearing an HMD according to one embodiment. [Figure 6] 1 is a diagram showing a YZ cross section of a field of view in a virtual space as viewed from an X direction. [Figure 7] 1 is a diagram showing an XZ cross section of a field of view in a virtual space as viewed from the Y direction. [Figure 8(A)] FIG. 2 is a diagram illustrating a schematic configuration of a controller according to an embodiment. [Figure 8(B)]FIG. 2 illustrates an example of yaw, roll, and pitch directions defined relative to a user's right hand according to one embodiment. [Figure 9] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a server according to an embodiment. [Figure 10] FIG. 1 is a block diagram illustrating a modular configuration of a computer according to an embodiment. [Figure 11] 1 is a sequence chart illustrating a part of a process executed in an HMD set according to an embodiment. [Figure 12(A)] 1 is a schematic diagram showing a situation in which each HMD provides a virtual space to a user in a network. [Figure 12(B)] FIG. 13 is a diagram showing a visual field image of a user 5A in FIG. [Figure 13] FIG. 2 is a sequence diagram showing a process executed in an HMD system according to an embodiment. [Figure 14] FIG. 2 is a block diagram showing a detailed configuration of modules of a computer according to an embodiment. [Figure 15] 10 is a flowchart illustrating an example of an operational process executed in a computer according to an embodiment. [Figure 16] FIG. 1 is a schematic diagram illustrating an example of a virtual space according to an embodiment. [Figure 17] 17 is a schematic diagram showing an XZ cross section of the virtual space shown in FIG. 16 as viewed from the Y-axis direction. [Figure 18(A)] FIG. 13 is a schematic diagram showing an example of display content in a browser window in a first period according to an embodiment. [Figure 18(B)] FIG. 13 is a schematic diagram showing an example of display content in a browser window in a first period according to an embodiment. [Figure 18(C)] FIG. 13 is a schematic diagram showing an example of display content in a browser window in a first period according to an embodiment. [Figure 18(D)] FIG. 13 is a schematic diagram showing an example of display content in a browser window in a first period according to an embodiment. [Figure 19(A)]FIG. 11 is a schematic diagram showing an example of display content in a browser window in a second period according to an embodiment. [Figure 19(B)] FIG. 11 is a schematic diagram showing an example of display content in a browser window in a second period according to an embodiment. [Figure 20] 1 is a schematic diagram showing an XZ cross section of a virtual space as viewed from a Y-axis direction according to an embodiment. [Figure 21] FIG. 13 is a schematic diagram showing an example of display content in a browser window in a first period according to an embodiment. [Figure 22] FIG. 1 is a schematic diagram illustrating an example of a virtual space according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the embodiment of this technical idea will be described in detail with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. In one or more embodiments shown in this disclosure, the elements included in each embodiment can be combined with each other, and the combined result also forms part of the embodiment shown in this disclosure.

[0010] [HMD system configuration] The configuration of an HMD (Head-Mounted Device) system 100 will be described with reference to Fig. 1. Fig. 1 is a diagram showing an outline of the configuration of an HMD system 100 according to the present embodiment. The HMD system 100 is provided as a system for home use or a system for commercial use.

[0011] The HMD system 100 includes a server 600, HMD sets 110A, 110B, 110C, and 110D, an external device 700, and a network 2. Each of the HMD sets 110A, 110B, 110C, and 110D is configured to be able to communicate with the server 600 and the external device 700 via the network 2. Hereinafter, the HMD sets 110A, 110B, 110C, and 110D are collectively referred to as an HMD set 110. The number of HMD sets 110 constituting the HMD system 100 is not limited to four, and may be three or less, or five or more. The HMD set 110 includes an HMD 120, a computer 200, an HMD sensor 410, a display 430, and a controller 300. The HMD 120 includes a monitor 130, a gaze sensor 140, a first camera 150, a second camera 160, a microphone 170, and a speaker 180. The controller 300 may include a motion sensor 420.

[0012] In one aspect, the computer 200 can be connected to the Internet or other network 2, and can communicate with a server 600 or other computers connected to the network 2. Examples of the other computers include computers of other HMD sets 110 and external devices 700. In another aspect, the HMD 120 can include a sensor 190 instead of the HMD sensor 410.

[0013] The HMD 120 is worn on the head of the user 5 and can provide a virtual space to the user 5 during operation. More specifically, the HMD 120 displays an image for the right eye and an image for the left eye on the monitor 130. When each eye of the user 5 views the respective image, the user 5 can recognize the image as a three-dimensional image based on the parallax between the two eyes. The HMD 120 can include both a so-called head-mounted display equipped with a monitor and a head-mounted device to which a smartphone or other terminal having a monitor can be attached.

[0014] The monitor 130 is realized, for example, as a non-transmissive display device. In one aspect, the monitor 130 is disposed on the body of the HMD 120 so as to be located in front of both eyes of the user 5. Therefore, when the user 5 visually recognizes the three-dimensional image displayed on the monitor 130, the user 5 can be immersed in the virtual space. In one aspect, the virtual space includes, for example, images of a background, objects that the user 5 can operate, and menus that the user 5 can select. In one aspect, the monitor 130 can be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smartphone or other information display terminal.

[0015] In another aspect, the monitor 130 may be realized as a transmissive display device. In this case, the HMD 120 may be an open type such as a glasses type, instead of a closed type that covers the eyes of the user 5 as shown in FIG. 1. The transmissive monitor 130 may be temporarily configurable as a non-transmissive display device by adjusting the transmittance. The monitor 130 may include a configuration that simultaneously displays a part of an image that configures a virtual space and a real space. For example, the monitor 130 may display an image of the real space captured by a camera mounted on the HMD 120, or may make the real space visible by setting a part of the transmittance high.

[0016] In one aspect, the monitor 130 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye. In another aspect, the monitor 130 may be configured to integrally display an image for the right eye and an image for the left eye. In this case, the monitor 130 includes a high-speed shutter. The high-speed shutter operates to alternately display an image for the right eye and an image for the left eye so that the image is recognized by only one of the eyes.

[0017] In one aspect, the HMD 120 includes a plurality of light sources (not shown). Each light source is realized, for example, by an LED (Light Emitting Diode) that emits infrared rays. The HMD sensor 410 has a position tracking function for detecting the movement of the HMD 120. More specifically, the HMD sensor 410 reads a plurality of infrared rays emitted by the HMD 120 and detects the position and inclination of the HMD 120 in the real space.

[0018] In another aspect, the HMD sensor 410 may be realized by a camera. In this case, the HMD sensor 410 can detect the position and inclination of the HMD 120 by performing image analysis processing using image information of the HMD 120 output from the camera.

[0019] In another aspect, the HMD 120 may include a sensor 190 as a position detector instead of or in addition to the HMD sensor 410. The HMD 120 may detect the position and tilt of the HMD 120 itself using the sensor 190. For example, if the sensor 190 is an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor, the HMD 120 may detect the position and tilt of the HMD 120 itself using any of these sensors instead of the HMD sensor 410. As an example, if the sensor 190 is an angular velocity sensor, the angular velocity sensor detects the angular velocity of the HMD 120 around three axes in real space over time. The HMD 120 calculates the change in angle of the HMD 120 around the three axes over time based on each angular velocity, and further calculates the tilt of the HMD 120 based on the change in angle over time.

[0020] The gaze sensor 140 detects the direction in which the gaze of the right eye and the left eye of the user 5 are directed. That is, the gaze sensor 140 detects the gaze of the user 5. The detection of the gaze direction is realized, for example, by a known eye tracking function. The gaze sensor 140 is realized by a sensor having the eye tracking function. In a certain aspect, the gaze sensor 140 preferably includes a sensor for the right eye and a sensor for the left eye. The gaze sensor 140 may be, for example, a sensor that irradiates the right eye and the left eye of the user 5 with infrared light and detects the rotation angle of each eyeball by receiving reflected light from the cornea and the iris of the irradiated light. The gaze sensor 140 can detect the gaze of the user 5 based on each detected rotation angle.

[0021] The first camera 150 photographs the lower part of the face of the user 5. More specifically, the first camera 150 photographs the nose, mouth, and the like of the user 5. The second camera 160 photographs the eyes, eyebrows, and the like of the user 5. The housing of the HMD 120 on the user 5 side is defined as the inside of the HMD 120, and the housing of the HMD 120 on the opposite side to the user 5 is defined as the outside of the HMD 120. In one aspect, the first camera 150 may be disposed outside the HMD 120, and the second camera 160 may be disposed inside the HMD 120. Images generated by the first camera 150 and the second camera 160 are input to the computer 200. In another aspect, the first camera 150 and the second camera 160 may be realized as a single camera, and the face of the user 5 may be photographed by this single camera.

[0022] The microphone 170 converts the speech of the user 5 into an audio signal (electrical signal) and outputs it to the computer 200. The speaker 180 converts the audio signal into sound and outputs it to the user 5. In another aspect, the HMD 120 may include earphones instead of the speaker 180.

[0023] The controller 300 is connected to the computer 200 by wire or wirelessly. The controller 300 accepts input of a command from the user 5 to the computer 200. In one aspect, the controller 300 is configured to be held by the user 5. In another aspect, the controller 300 is configured to be attached to a part of the body or clothing of the user 5. In yet another aspect, the controller 300 may be configured to output at least one of vibration, sound, and light based on a signal transmitted from the computer 200. In yet another aspect, the controller 300 accepts an operation from the user 5 to control the position and movement of an object placed in a virtual space.

[0024] In one aspect, the controller 300 includes a plurality of light sources. Each light source is realized, for example, by an LED that emits infrared rays. The HMD sensor 410 has a position tracking function. In this case, the HMD sensor 410 reads a plurality of infrared rays emitted by the controller 300 and detects the position and tilt of the controller 300 in the real space. In another aspect, the HMD sensor 410 may be realized by a camera. In this case, the HMD sensor 410 can detect the position and tilt of the controller 300 by performing an image analysis process using image information of the controller 300 output from the camera.

[0025] In one aspect, the motion sensor 420 is attached to the hand of the user 5 and detects the movement of the hand of the user 5. For example, the motion sensor 420 detects the rotation speed, number of rotations, etc. of the hand. The detected signal is sent to the computer 200. The motion sensor 420 is provided, for example, in the controller 300. In one aspect, the motion sensor 420 is provided, for example, in the controller 300 configured to be held by the user 5. In another aspect, for safety in the real space, the controller 300 is attached to something that is not easily blown away by being worn on the hand of the user 5, such as a glove type. In yet another aspect, a sensor that is not worn by the user 5 may detect the movement of the hand of the user 5. For example, a signal from a camera that captures the user 5 may be input to the computer 200 as a signal representing the movement of the user 5. The motion sensor 420 and the computer 200 are connected to each other wirelessly, as an example. In the case of wireless communication, the communication form is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication methods are used.

[0026] The display 430 displays an image similar to the image displayed on the monitor 130. This allows users other than the user 5 wearing the HMD 120 to view the same image as the user 5. The image displayed on the display 430 does not need to be a three-dimensional image, and may be an image for the right eye or an image for the left eye. Examples of the display 430 include a liquid crystal display and an organic EL monitor.

[0027] The server 600 may transmit a program to the computer 200. In another aspect, the server 600 may communicate with other computers 200 for providing a virtual reality to the HMD 120 used by other users. For example, in an amusement facility, when a plurality of users play a participatory game, each computer 200 communicates a signal based on the operation of each user with the other computers 200 via the server 600, enabling a plurality of users to enjoy a common game in the same virtual space. Each computer 200 may communicate a signal based on the operation of each user with the other computers 200 without going through the server 600.

[0028] The external device 700 may be any device capable of communicating with the computer 200. The external device 700 may be, for example, a device capable of communicating with the computer 200 via the network 2, or may be a device capable of directly communicating with the computer 200 via short-distance wireless communication or a wired connection. Examples of the external device 700 include, but are not limited to, a smart device, a PC (Personal Computer), and a peripheral device of the computer 200.

[0029] [Computer hardware configuration] A computer 200 according to this embodiment will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of a hardware configuration of computer 200 according to this embodiment. Computer 200 includes, as main components, a processor 210, a memory 220, a storage 230, an input / output interface 240, and a communication interface 250. Each component is connected to a bus 260.

[0030] Processor 210 executes a series of instructions included in a program stored in memory 220 or storage 230, based on a signal provided to computer 200 or based on the establishment of a predetermined condition. In one aspect, processor 210 is realized as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (MPU), a field-programmable gate array (FPGA), or other device.

[0031] The memory 220 temporarily stores programs and data. The programs are loaded from, for example, the storage 230. The data includes data input to the computer 200 and data generated by the processor 210. In one aspect, the memory 220 is realized as a random access memory (RAM) or other volatile memory.

[0032] The storage 230 permanently holds programs and data. The storage 230 is realized, for example, as a ROM (Read-Only Memory), a hard disk drive, a flash memory, or other non-volatile storage device. The programs stored in the storage 230 include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with other computers 200. The data stored in the storage 230 includes data and objects for defining the virtual space.

[0033] In another aspect, the storage 230 may be realized as a removable storage device such as a memory card. In yet another aspect, a configuration may be used in which programs and data stored in an external storage device are used instead of the storage 230 built into the computer 200. With such a configuration, for example, in a scene where a plurality of HMD systems 100 are used, such as an amusement facility, it becomes possible to collectively update the programs and data.

[0034] The input / output interface 240 communicates signals between the HMD 120, the HMD sensor 410, the motion sensor 420, and the display 430. The monitor 130, the gaze sensor 140, the first camera 150, the second camera 160, the microphone 170, and the speaker 180 included in the HMD 120 can communicate with the computer 200 via the input / output interface 240 of the HMD 120. In one aspect, the input / output interface 240 is realized using a terminal such as a Universal Serial Bus (USB), a Digital Visual Interface (DVI), a High-Definition Multimedia Interface (HDMI (registered trademark)), or the like. The input / output interface 240 is not limited to those described above.

[0035] In one aspect, the input / output interface 240 may further communicate with the controller 300. For example, the input / output interface 240 receives input of signals output from the controller 300 and the motion sensor 420. In another aspect, the input / output interface 240 sends an instruction output from the processor 210 to the controller 300. The instruction instructs the controller 300 to vibrate, output sound, emit light, or the like. Upon receiving the instruction, the controller 300 executes one of the vibration, sound output, or light emission in response to the instruction.

[0036] The communication interface 250 is connected to the network 2 and communicates with other computers (e.g., the server 600) connected to the network 2. In one aspect, the communication interface 250 is realized as, for example, a wired communication interface such as a local area network (LAN), or a wireless communication interface such as wireless fidelity (WiFi), Bluetooth (registered trademark), near field communication (NFC), etc. The communication interface 250 is not limited to those mentioned above.

[0037] In one aspect, the processor 210 accesses the storage 230, loads one or more programs stored in the storage 230 into the memory 220, and executes a series of instructions included in the programs. The one or more programs may include an operating system of the computer 200, an application program for providing a virtual space, game software executable in the virtual space, and the like. The processor 210 sends a signal for providing the virtual space to the HMD 120 via the input / output interface 240. The HMD 120 displays an image on the monitor 130 based on the signal.

[0038] 2 shows a configuration in which the computer 200 is provided outside the HMD 120, but in another aspect, the computer 200 may be built into the HMD 120. As an example, a portable information and communication terminal (e.g., a smartphone) including the monitor 130 may function as the computer 200.

[0039] The computer 200 may be configured to be shared by multiple HMDs 120. With such a configuration, for example, the same virtual space can be provided to multiple users, allowing each user to enjoy the same application as other users in the same virtual space.

[0040] In one embodiment, in the HMD system 100, a real coordinate system, which is a coordinate system in real space, is set in advance. The real coordinate system has three reference directions (axes) that are parallel to the vertical direction in real space, the horizontal direction perpendicular to the vertical direction, and the front-rear direction perpendicular to both the vertical direction and the horizontal direction. The horizontal direction, the vertical direction (up-down direction), and the front-rear direction in the real coordinate system are defined as the x-axis, y-axis, and z-axis, respectively. More specifically, in the real coordinate system, the x-axis is parallel to the horizontal direction in real space. The y-axis is parallel to the vertical direction in real space. The z-axis is parallel to the front-rear direction in real space.

[0041] In one aspect, the HMD sensor 410 includes an infrared sensor. When the infrared sensor detects infrared rays emitted from each light source of the HMD 120, it detects the presence of the HMD 120. The HMD sensor 410 further detects the position and tilt (orientation) of the HMD 120 in the real space according to the movement of the user 5 wearing the HMD 120 based on the value of each point (each coordinate value in the real coordinate system). More specifically, the HMD sensor 410 can detect the temporal change in the position and tilt of the HMD 120 using each value detected over time.

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

[0043] [uvw field of view coordinate system] The uvw field of view coordinate system will be described with reference to Fig. 3. Fig. 3 is a conceptual diagram showing the uvw field of view coordinate system set in the HMD 120 according to an embodiment. The HMD sensor 410 detects the position and inclination of the HMD 120 in the real coordinate system when the HMD 120 is started up. The processor 210 sets the uvw field of view coordinate system in the HMD 120 based on the detected values.

[0044] 3, the HMD 120 sets a three-dimensional uvw visual coordinate system with the head of the user 5 wearing the HMD 120 as its center (origin). More specifically, the HMD 120 tilts the horizontal, vertical, and front-back directions (x-axis, y-axis, z-axis) that define the real coordinate system around each axis by the tilt of the HMD 120 around each axis in the real coordinate system, and sets the three newly obtained directions as the pitch axis (u-axis), yaw axis (v-axis), and roll axis (w-axis) of the uvw visual coordinate system in the HMD 120.

[0045] In a certain situation, when the user 5 wearing the HMD 120 stands upright and looks straight ahead, the processor 210 sets a uvw field of view coordinate system parallel to the real coordinate system in the HMD 120. In this case, the horizontal direction (x-axis), vertical direction (y-axis), and front-back direction (z-axis) in the real coordinate system coincide with the pitch axis (u-axis), yaw axis (v-axis), and roll axis (w-axis) of the uvw field of view coordinate system in the HMD 120.

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

[0047] The HMD sensor 410 sets, in the HMD 120, a uvw visual field coordinate system in the HMD 120 after the HMD 120 moves, based on the detected tilt of the HMD 120. The relationship between the HMD 120 and the uvw visual field coordinate system of the HMD 120 is always constant, regardless of the position and tilt of the HMD 120. When the position and tilt of the HMD 120 change, the position and tilt of the uvw visual field coordinate system of the HMD 120 in the real coordinate system change in conjunction with the change in the position and tilt.

[0048] In one aspect, the HMD sensor 410 may specify the position of the HMD 120 in the real space as a relative position with respect to the HMD sensor 410 based on the light intensity of the infrared light acquired based on the output from the infrared sensor and the relative positional relationship between a plurality of points (e.g., the distance between each point, etc.). The processor 210 may determine the origin of the uvw field of view coordinate system of the HMD 120 in the real space (actual coordinate system) based on the specified relative position.

[0049] [Virtual space] The virtual space will be further described with reference to FIG. 4. FIG. 4 is a diagram conceptually showing one mode of expressing the virtual space 11 according to an embodiment. The virtual space 11 has a spherical structure covering the entire 360-degree direction of the center 12. In FIG. 4, in order to avoid complicating the description, the upper half of the celestial sphere in the virtual space 11 is illustrated. Each mesh is defined in the virtual space 11. The position of each mesh is defined in advance as a coordinate value in the XYZ coordinate system, which is a global coordinate system defined in the virtual space 11. The computer 200 associates each partial image constituting the panoramic image 13 (still image, video, etc.) that can be deployed in the virtual space 11 with each corresponding mesh in the virtual space 11.

[0050] In a certain aspect, an XYZ coordinate system is defined in the virtual space 11 with the center 12 as the origin. The XYZ coordinate system is, for example, parallel to the real coordinate system. The horizontal direction, vertical direction (up-down direction), and front-back direction in the XYZ coordinate system are defined as the X-axis, Y-axis, and Z-axis, respectively. Therefore, the X-axis (horizontal direction) of the XYZ coordinate system is parallel to the x-axis of the real coordinate system, the Y-axis (vertical direction) of the XYZ coordinate system is parallel to the y-axis of the real coordinate system, and the Z-axis (front-back direction) of the XYZ coordinate system is parallel to the z-axis of the real coordinate system.

[0051] When the HMD 120 is started up, that is, in the initial state of the HMD 120, the virtual camera 14 is placed at the center 12 of the virtual space 11. In a certain aspect, the processor 210 displays an image captured by the virtual camera 14 on the monitor 130 of the HMD 120. The virtual camera 14 moves in the virtual space 11 in conjunction with the movement of the HMD 120 in the real space. This allows changes in the position and inclination of the HMD 120 in the real space to be reproduced in the virtual space 11 in the same manner.

[0052] A uvw field of view coordinate system is defined for the virtual camera 14, similarly to the case of the HMD 120. The uvw field of view coordinate system of the virtual camera 14 in the virtual space 11 is defined so as to be linked to the uvw field of view coordinate system of the HMD 120 in the real space (actual coordinate system). Therefore, when the inclination of the HMD 120 changes, the inclination of the virtual camera 14 also changes accordingly. The virtual camera 14 can also move in the virtual space 11 in conjunction with the movement in the real space of the user 5 wearing the HMD 120.

[0053] Processor 210 of computer 200 defines viewing area 15 in virtual space 11 based on the position and inclination (reference line of sight 16) of virtual camera 14. Viewing area 15 corresponds to the area of ​​virtual space 11 that is visually recognized by user 5 wearing HMD 120. In other words, the position of virtual camera 14 can be said to be the viewpoint of user 5 in virtual space 11.

[0054] The line of sight of the user 5 detected by the gaze sensor 140 is a direction in the viewpoint coordinate system when the user 5 views an object. The uvw field of view coordinate system of the HMD 120 is equal to the viewpoint coordinate system when the user 5 views the monitor 130. The uvw field of view coordinate system of the virtual camera 14 is linked to the uvw field of view coordinate system of the HMD 120. Therefore, in a certain aspect, the HMD system 100 can consider the line of sight of the user 5 detected by the gaze sensor 140 as the line of sight of the user 5 in the uvw field of view coordinate system of the virtual camera 14.

[0055] [User's gaze] Determination of the line of sight of the user 5 will be described with reference to Fig. 5. Fig. 5 is a top view of the head of the user 5 wearing the HMD 120 according to an embodiment.

[0056] In one aspect, the gaze sensor 140 detects the gaze of each of the right eye and the left eye of the user 5. In one aspect, when the user 5 is looking at something close, the gaze sensor 140 detects the gazes R1 and L1. In another aspect, when the user 5 is looking at something far away, the gaze sensor 140 detects the gazes R2 and L2. In this case, the angle that the gazes R2 and L2 make with respect to the roll axis w is smaller than the angle that the gazes R1 and L1 make with respect to the roll axis w. The gaze sensor 140 transmits the detection result to the computer 200.

[0057] When the computer 200 receives the detection values ​​of the lines of sight R1 and L1 from the gaze sensor 140 as the gaze detection result, the computer 200 identifies the gaze point N1, which is the intersection of the lines of sight R1 and L1, based on the detection values. On the other hand, when the computer 200 receives the detection values ​​of the lines of sight R2 and L2 from the gaze sensor 140, the computer 200 identifies the intersection of the lines of sight R2 and L2 as the gaze point. The computer 200 identifies the gaze N0 of the user 5 based on the position of the identified gaze point N1. For example, the computer 200 detects the direction of the line passing through the midpoint of the line connecting the right eye R and the left eye L of the user 5 and the gaze point N1 as the gaze N0. The gaze N0 is the direction in which the user 5 actually looks with both eyes. The gaze N0 corresponds to the direction in which the user 5 actually looks with respect to the field of view 15.

[0058] In another aspect, the HMD system 100 may include a television broadcast receiving tuner. With such a configuration, the HMD system 100 can display television programs in the virtual space 11.

[0059] In yet another aspect, the HMD system 100 may be provided with a communication circuit for connecting to the Internet, or a telephone function for connecting to a telephone line.

[0060] [Visibility area] The field of view 15 will be described with reference to Fig. 6 and Fig. 7. Fig. 6 is a diagram showing a YZ cross section of the field of view 15 in the virtual space 11 as viewed from the X direction. Fig. 7 is a diagram showing an XZ cross section of the field of view 15 in the virtual space 11 as viewed from the Y direction.

[0061] 6, the field of view 15 in the YZ cross section includes an area 18. The area 18 is defined by the position of the virtual camera 14, the reference line of sight 16, and the YZ cross section of the virtual space 11. The processor 210 defines as the area 18 a range including the polar angle α centered on the reference line of sight 16 in the virtual space.

[0062] 7, the field of view 15 in the XZ cross section includes an area 19. The area 19 is defined by the position of the virtual camera 14, the reference line of sight 16, and the XZ cross section of the virtual space 11. The processor 210 defines a range including an azimuth angle β centered on the reference line of sight 16 in the virtual space 11 as the area 19. The polar angle α and the azimuth angle β are determined according to the position of the virtual camera 14 and the inclination (direction) of the virtual camera 14.

[0063] In a certain aspect, the HMD system 100 provides the user 5 with a field of view in the virtual space 11 by displaying a field of view image 17 on the monitor 130 based on a signal from the computer 200. The field of view image 17 is an image corresponding to a portion of the panoramic image 13 that corresponds to the field of view area 15. When the user 5 moves the HMD 120 worn on the head, the virtual camera 14 also moves in conjunction with the movement. As a result, the position of the field of view area 15 in the virtual space 11 changes. As a result, the field of view image 17 displayed on the monitor 130 is updated to an image of the panoramic image 13 that is superimposed on the field of view area 15 in the direction in which the user 5 is facing in the virtual space 11. The user 5 can view a desired direction in the virtual space 11.

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

[0065] While wearing the HMD 120, the user 5 can view only the panoramic image 13 deployed in the virtual space 11, without viewing the real world. Therefore, the HMD system 100 can give the user 5 a high sense of immersion in the virtual space 11.

[0066] In one aspect, the processor 210 may move the virtual camera 14 in the virtual space 11 in conjunction with the movement in real space of the user 5 wearing the HMD 120. In this case, the processor 210 specifies the image area (field of view area 15) to be projected onto the monitor 130 of the HMD 120 based on the position and inclination of the virtual camera 14 in the virtual space 11.

[0067] In one aspect, the virtual camera 14 may include two virtual cameras, that is, a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. An appropriate parallax is set for the two virtual cameras so that the user 5 can recognize the three-dimensional virtual space 11. In another aspect, the virtual camera 14 may be realized by one virtual camera. In this case, an image for the right eye and an image for the left eye may be generated from an image obtained by one virtual camera. In this embodiment, the technical idea according to the present disclosure is illustrated by assuming that the virtual camera 14 includes two virtual cameras and is configured so that a roll axis (w) generated by combining the roll axes of the two virtual cameras is adapted to the roll axis (w) of the HMD 120.

[0068] [controller] An example of the controller 300 will be described with reference to Fig. 8. Fig. 8 is a diagram showing a schematic configuration of the controller 300 according to an embodiment.

[0069] As shown in FIG. 8, in one aspect, the controller 300 may include a right controller 300R and a left controller (not shown). The right controller 300R is operated by the right hand of the user 5. The left controller is operated by the left hand of the user 5. In one aspect, the right controller 300R and the left controller are configured symmetrically as separate devices. Therefore, the user 5 can freely move the right hand holding the right controller 300R and the left hand holding the left controller. In another aspect, the controller 300 may be an integrated controller that accepts operations from both hands. The right controller 300R will be described below.

[0070] The right controller 300R includes a grip 310, a frame 320, and a top surface 330. The grip 310 is configured to be held by the right hand of the user 5. For example, the grip 310 can be held by the palm and three fingers (middle finger, ring finger, and little finger) of the right hand of the user 5.

[0071] The grip 310 includes buttons 340 and 350 and a motion sensor 420. The button 340 is disposed on a side of the grip 310 and is operated by the middle finger of the right hand. The button 350 is disposed on the front of the grip 310 and is operated by the index finger of the right hand. In one aspect, the buttons 340 and 350 are configured as trigger-type buttons. The motion sensor 420 is built into the housing of the grip 310. In a case where the movement of the user 5 can be detected from around the user 5 by a camera or other device, the grip 310 does not need to include the motion sensor 420.

[0072] The frame 320 includes a plurality of infrared LEDs 360 arranged along its circumferential direction. The infrared LEDs 360 emit infrared light in accordance with the progress of a program using the controller 300 during execution of the program. The infrared light emitted from the infrared LEDs 360 can be used to detect the positions and attitudes (tilt, direction) of the right controller 300R and the left controller. In the example shown in FIG. 8, the infrared LEDs 360 are arranged in two rows, but the number of rows is not limited to that shown in FIG. 8. An arrangement in one row or three or more rows may be used.

[0073] The top surface 330 includes buttons 370, 380 and an analog stick 390. The buttons 370, 380 are configured as push buttons. The buttons 370, 380 are operated by the thumb of the right hand of the user 5. The analog stick 390, in a certain situation, is operated in any direction within 360 degrees from an initial position (neutral position). The operation includes, for example, an operation for moving an object placed in the virtual space 11.

[0074] In one aspect, the right controller 300R and the left controller include a battery for driving the infrared LED 360 and other components. The battery may be, but is not limited to, a rechargeable battery, a button battery, or a dry cell battery. In another aspect, the right controller 300R and the left controller may be connected to, for example, a USB interface of the computer 200. In this case, the right controller 300R and the left controller do not require a battery.

[0075] 8, for example, the yaw, roll, and pitch directions are defined for the right hand of the user 5. When the user 5 extends his / her thumb and index finger, the extending direction of the thumb is defined as the yaw direction, the extending direction of the index finger is defined as the roll direction, and the direction perpendicular to the plane defined by the axis of the yaw direction and the axis of the roll direction is defined as the pitch direction.

[0076] [Server hardware configuration] Server 10 according to the present embodiment will be described with reference to Fig. 9. Fig. 9 is a block diagram showing an example of a hardware configuration of server 600 according to an embodiment. Server 600 includes, as main components, a processor 610, a memory 620, a storage 630, an input / output interface 640, and a communication interface 650. Each component is connected to a bus 660.

[0077] The processor 610 executes a series of instructions included in a program stored in the memory 620 or the storage 630 based on a signal provided to the server 600 or based on the establishment of a predetermined condition. In one aspect, the processor 610 is realized as a CPU, a GPU, an MPU, an FPGA, or other device.

[0078] The memory 620 temporarily stores programs and data. The programs are loaded from, for example, the storage 630. The data includes data input to the server 600 and data generated by the processor 610. In one aspect, the memory 620 is realized as a RAM or other volatile memory.

[0079] The storage 630 permanently holds programs and data. The storage 630 is realized, for example, as a ROM, a hard disk drive, a flash memory, or other non-volatile storage device. The programs stored in the storage 630 may include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with the computer 200. The data stored in the storage 630 may include data and objects for defining the virtual space.

[0080] In another aspect, the storage 630 may be realized as a removable storage device such as a memory card. In yet another aspect, a configuration may be used in which programs and data stored in an external storage device are used instead of the storage 630 built into the server 600. With such a configuration, for example, in a scene where a plurality of HMD systems 100 are used, such as an amusement facility, it becomes possible to collectively update the programs and data.

[0081] The input / output interface 640 communicates signals with input / output devices. In one aspect, the input / output interface 640 is realized using a terminal such as a USB, a DVI, an HDMI, etc. The input / output interface 640 is not limited to the above.

[0082] The communication interface 650 is connected to the network 2 and communicates with the computer 200 connected to the network 2. In one aspect, the communication interface 650 is realized as, for example, a LAN or other wired communication interface, or a wireless communication interface such as WiFi, Bluetooth, NFC, etc. The communication interface 650 is not limited to the above.

[0083] In one aspect, the processor 610 accesses the storage 630, loads one or more programs stored in the storage 630 into the memory 620, and executes a series of instructions included in the programs. The one or more programs may include an operating system of the server 600, an application program for providing a virtual space, game software executable in the virtual space, etc. The processor 610 may send a signal for providing the virtual space to the computer 200 via the input / output interface 640.

[0084] [HMD control device] The control device of the HMD 21 will be described with reference to Fig. 10. In one embodiment, the control device is realized by a computer 200 having a known configuration. Fig. 10 is a block diagram showing the modular configuration of the computer 200 according to one embodiment.

[0085] 10, the computer 200 includes a control module 510, a rendering module 520, a memory module 530, and a communication control module 540. In one aspect, the control module 510 and the rendering module 520 are implemented by the processor 210. In another aspect, a plurality of processors 210 may operate as the control module 510 and the rendering module 520. The memory module 530 is implemented by the memory 220 or the storage 230. The communication control module 540 is implemented by the communication interface 250.

[0086] The control module 510 controls the virtual space 11 provided to the user 5. The control module 510 defines the virtual space 11 in the HMD system 100 by using virtual space data representing the virtual space 11. The virtual space data is stored in, for example, the memory module 530. The control module 510 may generate the virtual space data or obtain the virtual space data from the server 600 or the like.

[0087] The control module 510 places the object in the virtual space 11 using object data representing the object. The object data is stored in, for example, the memory module 530. The control module 510 may generate the object data or obtain the object data from the server 600 or the like. The object may include, for example, an avatar object that is an alter ego of the user 5, a character object, an operation object such as a virtual hand operated by the controller 300, landscapes including forests, mountains, and the like, cityscapes, animals, and the like that are placed according to the progress of the story of the game.

[0088] Control module 510 places an avatar object of user 5 of another computer 200 connected via network 2 in virtual space 11. In one aspect, control module 510 places an avatar object of user 5 in virtual space 11. In one aspect, control module 510 places an avatar object imitating user 5 in virtual space 11 based on an image including user 5. In another aspect, control module 510 places an avatar object selected by user 5 from among a plurality of types of avatar objects (e.g., objects imitating animals and deformed human objects) in virtual space 11.

[0089] The control module 510 determines the inclination of the HMD 120 based on the output of the HMD sensor 410. In another aspect, the control module 510 determines the inclination of the HMD 120 based on the output of the sensor 190 functioning as a motion sensor. The control module 510 detects organs (e.g., mouth, eyes, eyebrows) constituting the face of the user 5 from the image of the face of the user 5 generated by the first camera 150 and the second camera 160. The control module 510 detects the movement (shape) of each detected organ.

[0090] The control module 510 detects the line of sight of the user 5 in the virtual space 11 based on a signal from the gaze sensor 140. The control module 510 detects a viewpoint position (coordinate value in the XYZ coordinate system) where the detected line of sight of the user 5 intersects with the celestial sphere of the virtual space 11. More specifically, the control module 510 detects the viewpoint position based on the line of sight of the user 5 defined in the uvw coordinate system and the position and inclination of the virtual camera 14. The control module 510 transmits the detected viewpoint position to the server 600. In another aspect, the control module 510 may be configured to transmit line of sight information representing the line of sight of the user 5 to the server 600. In such a case, the server 600 may calculate the viewpoint position based on the line of sight information received.

[0091] The control module 510 reflects the movement of the HMD 120 detected by the HMD sensor 410 in the avatar object. For example, the control module 510 detects that the HMD 120 is tilted and tilts and positions the avatar object. The control module 510 reflects the detected movement of the facial organs in the face of the avatar object placed in the virtual space 11. The control module 510 receives line-of-sight information of the other user 5 from the server 600 and reflects it in the line of sight of the avatar object of the other user 5. In a certain aspect, the control module 510 reflects the movement of the controller 300 in the avatar object or the operation object. In this case, the controller 300 includes 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.

[0092] The control module 510 places an operation object in the virtual space 11 for receiving an operation of the user 5 in the virtual space 11. The user 5 operates the operation object to, for example, operate an object placed in the virtual space 11. In one aspect, the operation object may include, for example, a hand object that is a virtual hand corresponding to the hand of the user 5. In one aspect, the control module 510 moves the hand object in the virtual space 11 in conjunction with the movement of the hand of the user 5 in the real space based on the output of the motion sensor 420. In one aspect, the operation object may correspond to a part of the hand of an avatar object.

[0093] The control module 510 detects a collision when each of the objects arranged in the virtual space 11 collides with another object. The control module 510 can detect, for example, the timing when a collision area of ​​a certain object touches a collision area of ​​another object, and performs a predetermined process when the detection is made. The control module 510 can detect the timing when the objects are no longer in contact with each other, and performs a predetermined process when the detection is made. The control module 510 can detect that an object is in contact with another object. For example, when a manipulation object touches another object, the control module 510 detects that the manipulation object and the other object have touched each other, and performs a predetermined process.

[0094] In one aspect, the control module 510 controls image display on the monitor 130 of the HMD 120. For example, the control module 510 places a virtual camera 14 in the virtual space 11. The control module 510 controls the position of the virtual camera 14 in the virtual space 11 and the tilt (direction) of the virtual camera 14. The control module 510 defines a field of view 15 according to the tilt of the head of the user 5 wearing the HMD 120 and the position of the virtual camera 14. The rendering module 520 generates a field of view image 17 to be displayed on the monitor 130 based on the determined field of view 15. The field of view image 17 generated by the rendering module 520 is output to the HMD 120 by the communication control module 540.

[0095] When the control module 510 detects an utterance by the user 5 using the microphone 170 from the HMD 120, it identifies the computer 200 to which voice data corresponding to the utterance is to be transmitted. The voice data is transmitted to the computer 200 identified by the control module 510. When the control module 510 receives voice data from another user's computer 200 via the network 2, it outputs a voice (utterance) corresponding to the voice data from the speaker 180.

[0096] The memory module 530 holds data used by the computer 200 to provide the virtual space 11 to the user 5. In one aspect, the memory module 530 holds space information, object information, and user information.

[0097] The spatial information holds one or more templates defined to provide the virtual space 11 .

[0098] The object information includes a plurality of panoramic images 13 constituting the virtual space 11, and object data for arranging objects in the virtual space 11. The panoramic images 13 may include still images and moving images. The panoramic images 13 may include images of unreal spaces and images of real spaces. Examples of images of unreal spaces include images generated by computer graphics.

[0099] The user information holds a user ID for identifying the user 5. The user ID may be, for example, an Internet Protocol (IP) address or a Media Access Control (MAC) address set in the computer 200 used by the user. In another aspect, the user ID may be set by the user. The user information includes a program for causing the computer 200 to function as a control device for the HMD system 100, and the like.

[0100] The data and programs stored in the memory module 530 are input by the user 5 of the HMD 120. Alternatively, the processor 210 downloads the programs or data from a computer (e.g., the server 600) operated by the operator providing the content, and stores the downloaded programs or data in the memory module 530.

[0101] The communication control module 540 can communicate with the server 600 and other information communication devices via the network 2.

[0102] In one aspect, the control module 510 and the rendering module 520 may be realized using, for example, Unity (registered trademark) provided by Unity Technologies, Inc. In another aspect, the control module 510 and the rendering module 520 may be realized as a combination of circuit elements that realize each process.

[0103] The processing in the computer 200 is realized by hardware and software executed by the processor 210. Such software may be stored in advance in a hard disk or other memory module 530. The software may be stored in a CD-ROM or other computer-readable non-volatile data recording medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other networks. Such software is read from a data recording medium by an optical disk drive or other data reading device, or downloaded from the server 600 or other computer via the communication control module 540, and then temporarily stored in a storage module. The software is read from the storage module by the processor 210 and stored in the RAM in the form of an executable program. The processor 210 executes the program.

[0104] [HMD system control structure] The control structure of the HMD set 110 will be described with reference to Fig. 11. Fig. 11 is a sequence chart showing a part of the processing executed in the HMD set 110 according to an embodiment.

[0105] As shown in FIG. 11, in step S1110, the processor 210 of the computer 200, acting as the control module 510, specifies virtual space data and defines the virtual space 11.

[0106] In step S1120, the processor 210 initializes the virtual camera 14. For example, the processor 210 places the virtual camera 14 at a predefined center point 12 in the virtual space 11 in a work area of ​​the memory, and directs the line of sight of the virtual camera 14 in the direction in which the user 5 is facing.

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

[0108] In step S1132, the monitor 130 of the HMD 120 displays a field of view image based on the field of view image data received from the computer 200. The user 5 wearing the HMD 120 can recognize the virtual space 11 by visually recognizing the field of view image.

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

[0110] In step S1140, the processor 210 identifies the viewing direction of the user 5 wearing the HMD 120 based on the position and tilt included in the motion detection data of the HMD 120.

[0111] In step S1150, processor 210 executes the application program and places objects in virtual space 11 based on instructions included in the application program.

[0112] In step S1160, controller 300 detects an operation of user 5 based on a signal output from motion sensor 420, and outputs detection data representing the detected operation to computer 200. In another aspect, the operation of controller 300 by user 5 may be detected based on images from cameras arranged around user 5.

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

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

[0115] In step S1190, the HMD 120 updates the field of view image based on the received field of view image data, and displays the updated field of view image on the monitor 130.

[0116] [Avatar Object] Avatar objects according to the present embodiment will be described with reference to Figs. 12(A) and (B). Hereinafter, avatar objects of each user 5 of HMD sets 110A and 110B will be described. Hereinafter, the user of HMD set 110A will be represented as user 5A, the user of HMD set 110B as user 5B, the user of HMD set 110C as user 5C, and the user of HMD set 110D as user 5D. A is added to the reference symbol of each component related to HMD set 110A, B is added to the reference symbol of each component related to HMD set 110B, C is added to the reference symbol of each component related to HMD set 110C, and D is added to the reference symbol of each component related to HMD set 110D. For example, HMD 120A is included in HMD set 110A.

[0117] FIG. 12(A) is a schematic diagram showing a situation in which each HMD 120 provides a virtual space 11 to a user 5 in a network 2. Computers 200A to 200D provide virtual spaces 11A to 11D to users 5A to 5D via HMDs 120A to 120D, respectively. In the example shown in FIG. 12(A), virtual space 11A and virtual space 11B are configured by the same data. In other words, computer 200A and computer 200B share the same virtual space. In virtual space 11A and virtual space 11B, an avatar object 6A of user 5A and an avatar object 6B of user 5B exist. Although avatar object 6A in virtual space 11A and avatar object 6B in virtual space 11B each wear an HMD 120, this is for the sake of easy understanding of the explanation, and in reality, these objects do not wear an HMD 120.

[0118] In one aspect, the processor 210A may place a virtual camera 14A that captures a field of view image 17A of the user 5A at the eye position of the avatar object 6A.

[0119] Fig. 12(B) is a diagram showing a field of view image 17A of user 5A in Fig. 12(A). Field of view image 17A is an image displayed on monitor 130A of HMD 120A. This field of view image 17A is an image generated by virtual camera 14A. An avatar object 6B of user 5B is displayed in field of view image 17A. Although not particularly shown, avatar object 6A of user 5A is also displayed in the field of view image of user 5B.

[0120] 12(B), the user 5A can communicate with the user 5B by dialogue via the virtual space 11A. More specifically, the voice of the user 5A acquired by the microphone 170A is transmitted to the HMD 17120B of the user 5B via the server 600 and output from the speaker 180B provided in the HMD 120B. The voice of the user 5B is transmitted to the HMD 120A of the user 5A via the server 600 and output from the speaker 180A provided in the HMD 120A.

[0121] The motion of the user 5B (the motion of the HMD 120B and the motion of the controller 300B) is reflected in the avatar object 6B placed in the virtual space 11A by the processor 210A. This allows the user 5A to recognize the motion of the user 5B through the avatar object 6B.

[0122] Fig. 13 is a sequence chart showing a part of the processing executed in the HMD system 100 according to the present embodiment. Although the HMD set 110D is not shown in Fig. 13, the HMD set 110D operates in the same manner as the HMD sets 110A, 110B, and 110C. In the following description, A is added to the reference symbol of each component related to the HMD set 110A, B is added to the reference symbol of each component related to the HMD set 110B, C is added to the reference symbol of each component related to the HMD set 110C, and D is added to the reference symbol of each component related to the HMD set 110D.

[0123] In step S1310A, the processor 210A in the HMD set 110A acquires avatar information for determining the movement of the avatar object 6A in the virtual space 11A. The avatar information includes information about the avatar, such as, for example, movement information, face tracking data, and voice data. The movement information includes information indicating a temporal change in the position and tilt of the HMD 120A, and information indicating the hand movement of the user 5A detected by the motion sensor 420A, etc. The face tracking data includes data specifying the position and size of each part of the face of the user 5A. The face tracking data includes data indicating the movement of each organ constituting the face of the user 5A and gaze data. The voice data includes data indicating the voice of the user 5A acquired by the microphone 170A of the HMD 120A. The avatar information may include information specifying the avatar object 6A or the user 5A associated with the avatar object 6A, information specifying the virtual space 11A in which the avatar object 6A exists, and the like. The information specifying the avatar object 6A or the user 5A includes a user ID. The information for identifying the virtual space 11A in which the avatar object 6A exists may be a room ID. The processor 210A transmits the avatar information acquired as described above to the server 600 via the network 2.

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

[0125] In step S1320, the server 600 temporarily stores the player information received from each of the HMD sets 110A, 110B, and 110C. The server 600 integrates the avatar information of all users (users 5A to 5C in this example) associated with the common virtual space 11 based on the user ID and room ID included in each piece of avatar information. Then, the server 600 transmits the integrated avatar information to all users associated with the virtual space 11 at a predetermined timing. This executes a synchronization process. This synchronization process allows the HMD sets 110A, 110B, and 110C to share each other's avatar information at approximately the same timing.

[0126] Subsequently, each of the HMD sets 110A to 110C executes the processes of steps S1330A to S1330C based on the avatar information transmitted to each of the HMD sets 110A to 110C from the server 600. The process of step S1330A corresponds to the process of step S1180 in FIG.

[0127] In step S1330A, the processor 210A in the HMD set 110A updates information on the avatar objects 6B and 6C of the other users 5B and 5C in the virtual space 11A. Specifically, the processor 210A updates the position, orientation, and the like of the avatar object 6B in the virtual space 11 based on the motion information included in the avatar information transmitted from the HMD set 110B. For example, the processor 210A updates information (position, orientation, and the like) of the avatar object 6B included in the object information stored in the memory module 530. Similarly, the processor 210A updates information (position, orientation, and the like) of the avatar object 6C in the virtual space 11 based on the motion information included in the avatar information transmitted from the HMD set 110C.

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

[0129] [Module detailed configuration] The details of the module configuration of computer 200 will be described with reference to Fig. 14. Fig. 14 is a block diagram showing the detailed configuration of modules of computer 200 according to an embodiment.

[0130] 14, the control module 510 includes a virtual camera control module 1421, a visual field area determination module 1422, a reference line of sight identification module 1423, a virtual space definition module 1424, a virtual object generation module 1425, an operation object control module 1426, and a browsing module 1427. The rendering module 520 includes a visual field image generation module 1438. The memory module 530 holds space information 1431 and user information 1432.

[0131] The virtual camera control module 1421 places the virtual camera 14 in the virtual space 11. The virtual camera control module 1421 controls the placement position of the virtual camera 14 in the virtual space 11 and the orientation (tilt) of the virtual camera 14. The field of view area determination module 1422 defines the field of view 15 according to the orientation of the head of the user 5 wearing the HMD 120 and the placement position of the virtual camera 14. The field of view image generation module 1438 generates the field of view image 17 to be displayed on the monitor 130 based on the determined field of view area 15.

[0132] The reference line of sight identification module 1423 identifies the line of sight of the user 5 based on a signal from the 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 objects to be placed in the virtual space 11.

[0133] The operation object control module 1426 places an operation object in the virtual space 11 for receiving an operation of the user 5 in the virtual space 11. The user 5 operates the operation object to operate, for example, an object placed in the virtual space 11. In one aspect, the operation object may include, for example, a hand object corresponding to the hand of the user 5 wearing the HMD 120. In one aspect, the operation object may correspond to the hand portion of an avatar object described later.

[0134] The browsing module 1427 enables web browsing in the virtual space 11. In one aspect, the browsing module 1427 places a web browser (hereinafter also referred to as a browser window) in the virtual space 11. In another aspect, the browsing module 1427 places a menu window in the virtual space 11 for receiving operations of the user 5 related to web browsing. For example, when the user 5 inputs 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 one aspect, when the information resource indicates an XR content, the browsing module 1427 may provide an image based on the information resource as an XR content deployed in the virtual space 11 or another virtual space, or in a fusion space of the virtual world and the real world.

[0135] In this specification, "XR content" refers to content in which the user 5 can freely change the viewpoint in a virtual space or a fusion space of the virtual world and the real world by changing the position and inclination of the HMD 120, for example. Specific examples of "XR content" include VR content, AR content, MR content, and SR (Substitutional Reality) content. "XR content" preferably includes, for example, a virtual space or a fusion space that is deployed at a predetermined angle (for example, 180 degrees, 360 degrees, etc.). In the following, a case where "XR content" is "VR content" is given as an example, but the present disclosure can be similarly applied to other XR content.

[0136] The "VR content" refers to content that allows the user 5 to freely change the viewpoint in a virtual space by, for example, changing the position and inclination of the HMD 120, and is preferably provided as a virtual space including a spatial image that unfolds at a predetermined angle (for example, 180 degrees, 360 degrees, etc.), and more preferably as a virtual space including a 360-degree spatial image (so-called 360-degree content). In the virtual space including a 360-degree spatial image, for example, a virtual camera is placed at the center of the virtual space, and the 360-degree spatial image is displayed on the surface of the virtual space.

[0137] Furthermore, "content" includes, for example, videos, still images, games, music, SNS (Social Networking Service), maps, news, web media, images captured by a camera, homepages of websites that provide specified services (for example, video streaming or product buying and selling) and other web pages.

[0138] The control module 510 detects a collision when each of the objects arranged in the virtual space 11 collides with another object. The control module 510 can detect, for example, the timing when a certain object touches another object, and performs a predetermined process when the detection is made. The control module 510 can detect the timing when the objects are no longer in contact with each other, and performs a predetermined process when the detection is made. The control module 510 can detect that an object is in contact with another object. Specifically, when an operation object touches another object, the control module 510 detects that the operation object has touched the other object, and performs a predetermined process.

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

[0140] The space information 1431 holds one or more templates defined for providing the virtual space 11. The space information 1431 may include information on objects to be placed in the virtual space 11.

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

[0142] [Action process] Next, the operational processing of the computer 200 according to this embodiment will be described with reference to Fig. 15 to Fig. 23. Fig. 15 is a flowchart showing an example of the operational processing executed in the computer 200 according to an embodiment.

[0143] In the operation process described below, the operation of the user 5 may be performed, for example, via the controller 300, a movement of a part of the body of the user 5 such as hand tracking, or the gaze sensor 140.

[0144] 15, in step S1501, the processor 210 of the computer 200, as the control module 510, identifies virtual space data and defines the virtual space. The defined virtual space is provided to the HMD 120. The virtual space defined in step S1501 is a virtual space including a space image expanded at a predetermined angle (e.g., 180 degrees, 360 degrees, etc.), and will be described below as a virtual space including a 360-degree space image expanded over 360 degrees.

[0145] In step S1502, processor 210 places a browser window in the virtual space defined in step S1501. The browser window may be placed in response to, for example, an operation for executing a web browser performed by user 5, or may be placed as an initial object placed in the virtual space when the virtual space is defined in step S1501.

[0146] Simultaneously with step S1502, processor 210 may place in the virtual space a menu object that displays an operation menu for web browsing and an information display object that displays supplemental information, advertisement information, and the like related to the web content displayed in the browser window. In this specification, "web content" refers to, for example, content provided on the web.

[0147] Here, a virtual space that can be provided to the HMD 120 by the processing of steps S1501 to S1502 will be described with reference to Figs. 16 and 17. Fig. 16 is a schematic diagram showing an example of a virtual space according to an embodiment. Fig. 17 is a schematic diagram showing an XZ cross section of the virtual space shown in Fig. 16 as viewed from the Y-axis direction. Note that, in the example of Figs. 16 and 17, the virtual space 1611 is deployed in a celestial sphere, but is not limited to this example. The virtual space 1611 may be deployed in a space partitioned by a 3D object (e.g., a building such as a house).

[0148] 16 and 17, a browser window 1621 and a virtual camera 1614 are arranged in a virtual space 1611. Web content provided from a server is displayed in the browser window 1621. The shape of the browser window 1621 is not particularly limited, but is generally a flat plate, for example, as shown in FIGS. 16 and 17. Therefore, when the web content is displayed in the browser window 1621, the web content is also displayed only in a flat manner.

[0149] 16, an arrow extending from virtual camera 1614 indicates the reference line of sight of virtual camera 1614. Also, in Fig. 17, a dotted line extending from virtual camera 1614 indicates the field of view of user 5. Thus, according to the processes of steps S1501 to S1502, a browser window 1621 having a planar shape is arranged in virtual space 1611 including a 360-degree spatial image unfolded over 360 degrees.

[0150] Returning to the description of the flowchart in Fig. 15, in step S1503, processor 210 accepts an access request to a URL address that provides web content. Note that, in the following description, it is assumed that an access request to a URL address that plays video content has been made in step S1503, but the flowchart in Fig. 15 is not limited to being applied to video content, and may also be applied to the case where an access request has been made to a URL address that provides a still image or a web page, for example.

[0151] The access request is executed, for example, based on an operation input by the user 5. The processor 210 accesses a server designated based on the access request, and obtains, for example, information resources for providing (playing) video content provided by the server in a browser window.

[0152] In step S1504, the processor 210 starts providing the video content in the browser window based on the acquired information resource. Specifically, the processor 210 starts automatic playback of the video content in the browser window.

[0153] If the video content that has started to be provided in step S1504 is not available as VR content (NO in step S1505), the video content continues to be provided in the browser window. After that, processor 210 ends the process in response to a predetermined trigger.

[0154] On the other hand, if the video content that has started to be provided in step S1504 can be provided as VR content (YES in step S1505), the process proceeds to step S1506.

[0155] The process of step S1506 is executed during a first predetermined period during which the video content is provided on the browser window. The "first period" is not particularly limited, but is preferably, for example, a period from when the provision of the web content on the browser window is started until a predetermined time (for example, 10 seconds) has elapsed. In addition, in a certain aspect, the "first period" may be a period from when a UI (User Interface) image for operating the web content is displayed until a predetermined time has elapsed. In a certain aspect, both of the above-mentioned two periods may be referred to as the "first period". In the following description, the period from when playback of the video content on the browser window (the process of step S1504) is started until a predetermined time has elapsed is referred to as the "first period".

[0156] It is preferable that the playback of the video content in step S1504 is automatically performed in response to the selection of the video content by the user 5. On the other hand, the playback of the video content in step S1504 may be performed in response to an operation input for playback after the user 5 selects the video content.

[0157] In step S1506, the processor 210 notifies the user that the video content is available as VR content in a manner that emphasizes the second period more than that of the first period. Note that the "second period" refers to, for example, a period during which the web content is provided on the browser window, excluding the first period.

[0158] Moreover, "notifying the user in an emphasized manner" includes, for example, notifying the user by displaying an image that is not displayed in the second period, or changing the size, color, location, display method, etc. of the image for notifying the user so that it is more visually noticeable than in the second period. Furthermore, "notifying the user in an emphasized manner" may be notifying via the auditory sense, and may be, for example, emitting a guide voice (a voice informing the user that the content can be used as VR content) only in the first period.

[0159] In step S1507, when the processor 210 accepts a request to change to the VR mode (YES in step S1507), in step S1508, the processor 210 provides the video content as the VR content. After that, the processor 210 ends the process in response to a predetermined trigger.

[0160] In step S1507, if processor 210 has not received a request to change to VR mode (NO in step S1507) and is in the first period (NO in step S1509), processor 210 continues the notification in an emphasized manner based on the processing in step S1506.

[0161] On the other hand, if processor 210 does not accept a request to change to the VR mode in step S1507 (NO in step S1507) and determines in step S1509 that the first period has ended (YES in step S1509), processor 210 ends the notification in an emphasized manner based on the processing of step S1506 in step S1510. After that, processor 210 ends the processing in response to a predetermined trigger.

[0162] Here, the processes in steps S1506 to S1510 will be described in detail with reference to FIGS. 18(A) to (D), 19(A) to (B), and 20. FIG.

[0163] 18A to 18D are schematic diagrams showing an example of the highlighted notification (hereinafter also referred to as "highlighted display") in step S1506, and FIG. 19A to 19B are schematic diagrams showing an example of the display content of the browser window after the highlighted notification in step S1510 has ended.

[0164] 18(A)-(D) and 19(A)-(B), video content 1622 is provided in a browser window 1621. In Fig. 18(A), which is an example of highlighting, a first image 1823 is further displayed that notifies only that video content 1822 can be used as VR content. First image 1823 is, for example, an icon image that suggests only that video content 1822 can be used as VR content.

[0165] On the other hand, in Fig. 19(A), which is an example of the state after the highlighting has ended, video content 1622 is provided in browser window 1621, but first image 1823 is not displayed. Therefore, Fig. 18(A) can be said to be more highlighted than Fig. 19(A) by displaying first image 1823, which is not displayed in Fig. 19(A).

[0166] Here, the "first image" is an image that notifies only that the web content can be used as VR content. The "first image" is not particularly limited as long as it satisfies the above conditions, and examples of the first image include an icon image, a text image, and an image that combines an icon and text.

[0167] Note that an operation UI (e.g., an operation UI 1831 described later) including various icons associated with functions related to the operation of web content (video content), such as play, stop, fast forward, and rewind, is not included in the first image even if it includes an icon image suggesting that it can be used as VR content. Similarly, an image (e.g., a VR button 1837 described later) displayed integrally with various icons associated with other functions is not included in the first image even if it is an image suggesting that it can be used as VR content.

[0168] 19(B) is an example in which an operation UI 1831 is displayed in the browser window 1621 in response to a predetermined operation input by the user 5 from the state of FIG. 19(A). The operation UI 1831 is a UI image that integrally includes a play / stop button 1832, a rewind button 1833, a fast-forward button 1834, a seek bar 1835, a volume button 1836, and a VR button 1837. The operation UI 1831 is hidden, for example, when a predetermined number of seconds has elapsed since the start of display, or when a state in which no operation is performed on the operation UI 1831 continues for a predetermined number of seconds.

[0169] When the user 5 performs an operation to select the VR button 1837, for example, the process of step S1508 is executed, and the video content 1822 is provided as VR content. However, as described above, the VR button 1837 and the operation UI 1831 including it are not images that only notify that the web content can be used as VR content, but are images that are displayed integrally with icon images associated with other functions such as the play / stop button 1832, and therefore are not included in the first image.

[0170] It can be said that Fig. 18(A) is more emphasized than Fig. 19(B) by displaying the first image 1823 that is not displayed in Fig. 19(A). Also, even when comparing the first image 1823 with the VR button 1837, the first image 1823 is larger and is located in a more prominent position (for example, closer to the center of the screen), so it can be said that Fig. 18(A) is more emphasized than Fig. 19(B).

[0171] In another example of highlighting, shown in Fig. 18(B), video content 1822 and a first image 1824 are displayed in a browser window 1621. The first image 1824 is, for example, a text image suggesting that it can be used as VR content. As with the example of Fig. 18(A), the example of Fig. 18(B) can be said to be more highlighted than the examples of Fig. 19(A) and Fig. 19(B).

[0172] 18(C), which is yet another example of highlighting, displays video content 1822, a first image 1823, and an operation UI 1831 in browser window 1621. Fig. 18(C) shows an example in which, for example, first image 1823 and operation UI 1831 are displayed in browser window 1621 when provision of video content 1822 begins. First image 1823 and operation UI 1831 are displayed independently of each other.

[0173] As with the example of FIG. 18(A), the example of FIG. 18(C) can be said to be more emphasized than the examples of FIG. 19(A) and FIG. 19(B) in that it displays the first image 1823.

[0174] 18(D), which is yet another example of highlighting, video content 1822, a second image 1825, and an operation UI 1831 are displayed in browser window 1621. Second image 1825 is an image added to a VR button 1837 included in operation UI 1831, and is an image for highlighting VR button 1837 more than other buttons such as play / stop button 1832.

[0175] 18(D) is more emphasized than the examples of FIG. 19(A) and FIG. 19(B) in that the second image 1825 is displayed. As another example of the emphasis, the size, color, location, display method, etc. of the VR button 1837 may be changed to be more visually noticeable than in the second period, instead of or in addition to adding the second image 1825. For example, the VR button 1837 may be displayed flashing in the first period and the flashing may stop in the second period.

[0176] 20 is a schematic diagram showing an example of the virtual space after the process of step S1508, that is, the virtual space when video content is provided as VR content. For example, in the example of FIGS. 18(A) to (D), when any of the first images 1823 and 1824, the second image 1825, and the VR button 1837 is operated, the virtual space 2011 shown in FIG. 20 can be provided to the HMD 120.

[0177] 20, a virtual camera 2014 is placed in a virtual space 2011. Furthermore, video content 1822 is deployed as a 360-degree space image 2013 along the outer edge of the virtual space 2011. Furthermore, the line of sight of the virtual camera 2014 is linked to the movement of the head of the user 5. That is, the video content 1822 is provided to the user 5 as VR content.

[0178] The above describes an example in which there is a request to access a URL address that plays video content in step S1503. Below, a description will be given of an example in which there is a request to access a URL address that provides a web page in step S1503 with reference to Figs. 21 and 22.

[0179] Unless otherwise specified, in the following example in which the web content is a web page, the same processing as in the above example in which the web content is video content may be adopted.

[0180] Fig. 21 is a schematic diagram showing an example of the display contents of a browser window in a first period according to an embodiment. Specifically, Fig. 21 is a schematic diagram showing an example of highlighting in step S1506 when there is a request in step S1503 to access a URL address that specifies a web page that provides multiple video contents.

[0181] 21, a browser window 1621 and a virtual camera 1614 are arranged in a virtual space 1611. A web page provided by a predetermined server is displayed in the browser window 1621. Specifically, a web page is displayed in the browser window 1621 for allowing the user 5 to select video content that he or she wishes to play from video content distributed by the server. In the browser window 1621, thumbnail images 2141a to 2141f of six video contents are displayed as part of the web page.

[0182] Also, a first image 2142 is displayed in the browser window 1621. The first image 2142 is, for example, an icon image that only suggests that the web page displayed in the browser window 1621 can be used as VR content.

[0183] For example, when user 5 performs an operation input on first image 2142, the web page displayed in browser window 1621 is provided as VR content to HMD 120. On the other hand, when a first period has elapsed without performing an operation input on first image 2142, first image 2142 becomes hidden.

[0184] Fig. 22 is a schematic diagram showing an example of a virtual space according to an embodiment. Specifically, Fig. 22 is a schematic diagram showing a virtual space 2211 provided to the HMD 120 when the process of step S1508 is executed from the state of Fig. 21.

[0185] 22, a plurality of thumbnail images (including 2141a to 2141g) of video content and a virtual camera 2214 are arranged in a virtual space 2211. The virtual space 2211 and the virtual camera 2214 may be the same as the virtual space 1611 and the virtual camera 1614, respectively, or may be different. The shape of the virtual space 2211 is not particularly limited, but may be, for example, a hemisphere or a celestial sphere.

[0186] The web page displayed in browser window 1621 in Fig. 21 is expanded as a 360-degree space image in Fig. 22 and provided as VR content. Specifically, thumbnail images of multiple video contents are arranged along the outer edge of virtual space 2211. Among the multiple thumbnail images, 2141a to 2141f are thumbnail images corresponding to thumbnail images 2141a to 2141f in Fig. 21, respectively. In other words, the web page provided in browser window 1621 in Fig. 21 and the web page provided as VR content in Fig. 22 correspond to each other.

[0187] However, even if they correspond to each other, when the VR mode is activated, one or more of the following effects can be expected that are difficult to obtain when a web page is provided within the browser window 1621. Note that the effects described below are also the same when video content is provided as VR content.

[0188] A first effect is, for example, improved operability for the user. When a web page is provided in the browser window 1621, the web page (for example, a home screen of a video distribution service) is not optimized for a VR browser window, and is often difficult for the user to use. On the other hand, when the VR mode is entered, the restriction of displaying thumbnail images 2141a to 2141f and the like in the relatively narrow space of the browser window 1621 can be eliminated, and therefore usability can be improved.

[0189] 22 is provided to user 5, user 5 can bring other thumbnail images (e.g., thumbnail image 2141g) that are not currently in the field of view into the field of view simply by moving his / her head. On the other hand, when thumbnail images are displayed in browser window 1621, the thumbnail images displayed in browser window 1621 do not change even if user 5 moves his / her head. In order to change the content displayed in browser window 1621, for example, an operation on a menu object or controller 300 is required.

[0190] The second effect is, for example, an improvement in the sense of immersion in the virtual space. When a web page is provided in the browser window 1621, even if the web page is optimized for the VR browser window, it is only displayed on a flat browser window, so the sense of immersion unique to VR cannot be obtained. On the other hand, when the VR mode is entered, for example, a virtual space unfolding over 360 degrees can be provided from the stage of selecting video content. In other words, from the stage of selecting video content, it is possible to provide the user with an experience as if he or she were using a VR-only application. As a result, it is possible to enhance the sense of immersion in the virtual space. Note that, when video content is selected in the VR mode, it is preferable to play the selected video content as VR content from the point at which the provision of the video content starts.

[0191] In addition, in the case of web browsers for VR, APIs (Application Programming Interfaces) may not be optimized, and for example, if you try to create VR content using an API provided by a PF (Platform) provider, the processing load may be too high and it may be difficult. In such cases, in order to create a web page or the like as a 360-degree spatial image, it is preferable to use a low-layer technology (e.g., language, etc.) closer to the hardware layer, rather than using the API provided by the PF provider.

[0192] It is also preferable that a state in which a web page is provided as VR content can be changed to a state in which a web page is provided within the browser window 1621 based on an operational input from the user 5. This aspect makes it possible to meet the needs of a user who, for example, wants to select video content within the browser window 1621 because he or she has experienced symptoms of VR sickness.

[0193] The above-mentioned embodiment is merely an example for facilitating understanding of the present invention, and is not intended to limit the present invention. The present invention can be modified or improved without departing from the spirit of the present invention, and it goes without saying that the present invention includes equivalents thereof.

[0194] In the above embodiment, the virtual space (VR space) in which the user is immersed by the HMD has been described as an example, but a see-through HMD may be adopted as the HMD. In this case, a field of view image in which a part of the image constituting the virtual space is synthesized in the real space visually recognized by the user through the see-through HMD may be output to provide the user with a virtual experience in an augmented reality (AR) space or a mixed reality (MR) space. In this case, an action on a target object in the virtual space may be generated based on the movement of the user's hand instead of the operation object. Specifically, the processor may specify coordinate information of the position of the user's hand in the real space and define the position of the target object in the virtual space in relation to the coordinate information in the real space. This allows the processor to grasp the positional relationship between the user's hand in the real space and the target object in the virtual space, and to execute processing corresponding to the above-mentioned collision control between the user's hand and the target object. As a result, it becomes possible to give an action to the target object based on the movement of the user's hand.

[0195] [Additional Notes] The contents of the present disclosure are listed as follows:

[0196] (Item 1) A program executed on a computer having a processor, The program causes the processor to: defining a virtual space containing a browser window; providing web content on the browser window based on access to a Uniform Resource Locator (URL) address; If the web content is displayable as XR content, notifying a user that the web content is available as the XR content during a predetermined first period during which the web content is provided on the browser window in a manner that emphasizes the availability of the web content as the XR content more than during a second period outside the first period; displaying the web content displayed on the browser window as XR content based on an operation input by the user; controlling a view from a virtual camera disposed in a virtual space in response to a movement of the user's head; A program that causes the user to execute 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. This makes it easier for a user to recognize that content that can be used as XR content is available when using a web browser.

[0197] (Item 2) the step of notifying is a step of displaying a first image notifying only that the web content is available as the XR content, During the second period, the first image is not displayed. Item 1. The program according to item 1. This allows, for example, a user to easily recognize through vision that content provided on a browser window can be used as XR content. Also, for example, when an image indicating that content can be used as XR content is displayed as part of a UI image including various icons associated with functions related to content operation such as play, stop, fast forward, and rewind, the user may not notice the image, but the above configuration can prevent such a situation.

[0198] (Item 3) The first image is an image including a predetermined icon and / or text, The step of displaying the first image as the XR content is executed based on an operation input by the user with respect to the first image. Item 2. The program according to item 2. This makes it easier for a user to recognize that content provided in a browser window is available as XR content, for example, and enables the user to easily perform operational input.

[0199] (Item 4) The program further causes the processor to displaying a UI image including at least an icon notifying that the web content is available as the XR content; The step of notifying is a step of adding a predetermined second image to the icon included in the UI image, or changing a display mode of the icon from a display mode during the second period. Item 1. The program according to item 1. This allows, for example, a user to easily recognize through their eyes that content provided in a browser window is available as XR content.

[0200] (Item 5) The first period of time is a period of time from when the web content is started to be provided on the browser window until a predetermined time has elapsed. 5. The program according to any one of items 1 to 4. This allows the user to recognize that the content provided on the browser window can be used as XR content as soon as the content provision starts. Therefore, if a user wants to enjoy XR content, the user can use the content as XR content from an early stage, which improves the user's satisfaction. In addition, the notification in an emphasized manner ends after a predetermined time has passed, which is also comfortable for users who do not want to use the content as XR content.

[0201] (Item 6) The XR content is VR content. 6. The program according to any one of items 1 to 5. This makes it easier for a user to recognize that content that can be used as VR content is available, for example, when using a web browser to access the content.

[0202] (Item 7) An information processing method executed in a computer having a processor, comprising: The information processing method includes: defining a virtual space containing a browser window; providing web content on the browser window based on access to a Uniform Resource Locator (URL) address; If the web content is displayable as XR content, notifying a user that the web content is available as the XR content during a predetermined first period during which the web content is provided on the browser window in a manner that emphasizes the availability of the web content as the XR content more than during a second period outside the first period; displaying the web content displayed on the browser window as XR content based on an operation input by the user; controlling a view from a virtual camera disposed in a virtual space in response to a movement of the user's head; An information processing method comprising: executing 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. This makes it easier for a user to recognize that content that can be used as XR content is available when using a web browser.

[0203] (Item 8) An information processing device including a processor, The processor, Define a virtual space that contains the browser window, providing web content in the browser window based on access to a Uniform Resource Locator (URL) address; If the web content is displayable as XR content, during a predetermined first period of time during which the web content is provided on the browser window, notifying a user that the web content is available as the XR content in a manner that is more emphasized than during a second period outside the first period; displaying the web content displayed in the browser window as XR content based on an operation input by the user; Controlling a field of view from a virtual camera disposed in a virtual space in response to a movement of the user's head; An information processing device that displays a field of view image corresponding to the field of view on an image display device associated with the user's head. This makes it easier for a user to recognize that content that can be used as XR content is available when using a web browser. [Explanation of symbols]

[0204] 2: Network 11: Virtual Space 14, 14A: Virtual camera 17, 17A: Visual image 100: HMD system 110, 110A, 110B, 110C, 110D: HMD set 120, 120A, 120B: HMD 200, 200A, 200B: Computer 210, 210A, 210B, 210C, 610, 1610: Processors 220,620:Memory 230,630:Storage 300,300B:Controller 510: Control module 520: Rendering module 530: Memory module 600: Server 700: External equipment 1611, 2011, 2211: Virtual Space 1614,2014,2214:Virtual Camera 1621: Browser window 1822:Video content 1823,1824,2142: First image 1825: 2nd image 1831: Operation UI 2141a~2141g: Thumbnail images

Claims

[Claim 1] Computer, A generating means for generating a virtual space including a display area in which predetermined web content can be provided; a notification means for notifying a user of the web content displayed in the display area in a predetermined notification manner when the web content can be displayed as XR content during a period in which the web content is provided; a display means for displaying the specific web content notified by the notification means as XR content; A program that functions as a control means for displaying XR content corresponding to the specific web content on an image display device associated with a user when the specific web content is selected based on a user's operation.

Citation Information

Patent Citations

  • Server device and method for changing size of three-dimensional space by web index

    JP2010267095A

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

    JP2018195255A

  • Input device for VR / ar applications

    US20190018567A1

  • Method for browsing virtual reality webpage content and electronic device using the same

    US20190205357A1