Virtual experience system, information processing device and its program

The virtual experience system addresses the issue of restricted user actions by using real and virtual position detection and speed adjustment to ensure seamless movement in the virtual world, preserving the virtual environment's integrity and preventing collisions.

JP7731822B2Active Publication Date: 2025-09-01TOSHIBA TEC KK
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022025846
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-22
Publication Date
2025-09-01
Estimated Expiration
2042-02-22

AI Technical Summary

Technical Problem

Existing virtual experience systems restrict user actions in the virtual world to match the real world, disrupting the worldview and causing discomfort due to discrepancies between the virtual and real environments.

Method used

A virtual experience system that includes real position detection, virtual position determination, and speed setting mechanisms to allow users to move seamlessly in a virtual world without colliding with boundaries, maintaining the integrity of the virtual environment.

Benefits of technology

Enables users to experience actions in a virtual world without disrupting the worldview by adjusting movement speed and position based on real-world boundaries, preventing collisions and maintaining a consistent virtual environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007731822000001
    Figure 0007731822000001
  • Figure 0007731822000002
    Figure 0007731822000002
  • Figure 0007731822000003
    Figure 0007731822000003
Patent Text Reader

Abstract

To make it possible to experience an action in a virtual world without destroying a world view of the virtual world.SOLUTION: A virtual experience system is a system for presenting to a user a stereoscopic image in which the user moves in a virtual world in accordance with the move of the user in a real world. The virtual experience system includes real position detection means, virtual position determination means, and speed setting means. The real position detection means determines a presence position of the user in the real world. The virtual position determination means determines the a presence position of the user in the virtual world. The speed setting means sets a speed by which the user moves in the virtual world on the basis of a ratio between a first distance from the real presence position of the user in the real world to a boundary line to which the user can move in the real world, and a second distance from the virtual presence position of the user in the virtual world to a boundary line to which the user can move in the virtual world.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] An embodiment of the present invention relates to a virtual experience system, an information processing device for the system, and a program for causing a computer to function as the information processing device. [Background technology]

[0002] There is a system that allows a user wearing a head-mounted display (hereinafter referred to as HMD) to move around in the real world and experience the same movement in a virtual world presented to the user by the HMD. It is known that such a virtual experience system appropriately changes virtual objects placed in the virtual world so that the user does not go outside the boundaries of the real world.

[0003] However, if the virtual world is modeled after the real world that actually exists and the user is familiar with that real world, there is a concern that changing the virtual objects will cause the user to feel uncomfortable because it will be different from the real world that the user is familiar with. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6710845 [Patent Document 2] Japanese Patent Publication No. 2020-175204 Summary of the Invention [Problem to be solved by the invention]

[0005] The problem that the embodiments of the present invention aim to solve is that actions in a virtual world are restricted to actions in the real world, which destroys the worldview of the virtual world. Therefore, the present invention aims to provide a virtual experience system that allows users to experience actions in a virtual world without destroying the worldview of the virtual world, as well as an information processing device and program for this system. [Means for solving the problem]

[0006] In one embodiment, the virtual experience system presents a user with a stereoscopic image of the user moving in a virtual world in accordance with the user's movement in the real world. The virtual experience system includes a real position detection means, a virtual position determination means, and a speed setting means. The real position detection means detects the user's location in the real world. The virtual position determination means determines the user's location in the virtual world. The speed setting means sets the speed at which the user moves in the virtual world based on a ratio between a first distance from the user's real location in the real world to a boundary line within which the user can move in the real world and a second distance from the user's virtual location in the virtual world to a boundary line within which the user can move in the virtual world. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a virtual experience system according to one embodiment. [Figure 2] FIG. 2 is an example of a virtual world that a user may experience in one embodiment. [Figure 3] FIG. 3 is an example of a virtual object placed in a virtual world in one embodiment. [Figure 4] FIG. 4 is a block diagram showing the main circuit configuration of the virtual experience system. [Figure 5] FIG. 5 is a block diagram showing the main functional configuration realized by the processor of the information processing device. [Figure 6] FIG. 6 is a schematic diagram showing the floor surface of the virtual experience room. [Figure 7] FIG. 7 is a schematic diagram showing a virtual floor surface of a virtual world. [Figure 8] FIG. 8 is a flowchart showing the procedure of information processing executed by the processor of the information processing device in accordance with the virtual experience program. DETAILED DESCRIPTION OF THE INVENTION

[0008] An embodiment of the virtual experience system will be described below with reference to the drawings. This embodiment is a virtual experience system in which a user wearing a non-transparent HMD moves around in the real world, allowing the user to move in the same way around a virtual world presented by the HMD and experience actions such as shopping.

[0009] 1 is a diagram showing the overall configuration of a virtual experience system 100. The virtual experience system 100 includes a position sensor 10, a wireless communication unit 20, and an information processing device 30.

[0010] The position sensor 10 is a sensor for detecting the position (X, Y, Z) of the user 51 in the global coordinate system within the virtual experience room 40, which is the real world. That is, the position sensor 10 functions as a real position detection means. The position sensor 10 outputs the detected position data to the information processing device 30 as a sensing signal.

[0011] The position sensor 10 may be any sensor capable of detecting the position of the user 51 in the global coordinate system. Alternatively, the position of the user 51 in the global coordinate system may be indirectly calculated from data acquired by the position sensor 10 using a calculation means (not shown). The position sensor 10 may be a sensor that detects the position of the user 51 in the global coordinate system from an image captured by a camera, for example. Alternatively, a sensor of a positioning system using a GPS (Global Positioning System), a sensor of a positioning system using a beacon or RFID (Radio Frequency Identification), a sensor that detects acceleration or movement direction, or the like may also be used as the position sensor 10. The number of position sensors 10 is not limited to one. A single virtual experience room 40 may be provided with multiple position sensors 10.

[0012] The virtual experience room 40 is a real world enclosed by a rectangular floor 41, with a side length of Xp (m) in the X-axis direction of the XY plane and a side length of Yp (m) in the Y-axis direction, and walls 42 erected perpendicularly in the Z-axis direction from the outside of each of the four sides of the floor 41. The virtual experience room 40 may be located outdoors or indoors. A user can enter and exit the virtual experience room 40 through a door 43 formed in part of the wall 42. No objects are placed on the floor 41 of the virtual experience room 40. Therefore, a user 51 who enters the virtual experience room 40 can move freely on the floor 41. By wearing a non-transparent HMD 60 on their head and moving within the virtual experience room 40, the user 51 can simultaneously move and experience a three-dimensional virtual world constructed in a virtual space. The HMD 60 is an example of a stereoscopic image display device.

[0013] The wireless communication unit 20 is a unit that wirelessly communicates data with the HMD 60. The wireless communication unit 20 performs wireless communication with the HMD 60 worn by the user 51 in the virtual experience room 40, for example, in accordance with the Wi-Fi (registered trademark) wireless communication standard.

[0014] The information processing device 30 generates a stereoscopic image of the virtual world to be presented to the user 51 based on the position information of the user 51 detected by the position sensor 10. The information processing device 30 then performs wireless transmission with the HMD 60 via the wireless communication unit 20 and displays the stereoscopic image on the HMD 60, thereby presenting a three-dimensional virtual world to the user 51 wearing the HMD 60.

[0015] 2 shows an example of a virtual world 70 that can be experienced by a user 51. The virtual world 70 is a virtual world in which one or more virtual objects 72 are arranged in a virtual space having a rectangular virtual floor 71, the length of one side in the X-axis direction of an XY plane being Xq (m) and the length of one side in the Y-axis direction being Yq (m). In this embodiment, the virtual world 70 is a simulation of the real world that actually exists. Therefore, the length Xq and the length Yq of the virtual floor 71 depend on the real world that the virtual world 70 simulates.

[0016] For example, in a virtual experience system 100 in which a supermarket sales floor is reproduced in a virtual world 70 and a user 51 can experience shopping behavior, the lengths Xq and Yq of the virtual floor 71 depend on the size of the floor of the sales floor. Furthermore, at least one of the virtual objects 72 is a product shelf. By putting on the HMD 50 and moving around after entering the virtual experience room 40, the virtual user 52 can move back and forth or left and right along an aisle 74 in which product shelves, which are virtual objects 72 in the virtual world 70, are arranged, as shown in FIG. 3, thereby experiencing virtual shopping behavior.

[0017] 4 is a block diagram showing the main circuit configuration of the virtual experience system 100. The HMD 60 includes a processor 61, a memory 62, a wireless unit 63, an operation device 64, a display device 65, and a motion sensor 66. The processor 61 is connected to the memory 62, the wireless unit 63, the operation device 64, the display device 65, and the motion sensor 66 directly via a system bus 67 or via an input / output circuit.

[0018] The processor 61 controls each unit in accordance with a program stored in the memory 62 to realize the functions of the HMD 60. In addition to the program, the memory 62 stores data necessary to present a virtual world 70 to the user 51 wearing the HDM 60. The wireless unit 63 transmits and receives data to and from the wireless communication unit 20 wirelessly.

[0019] The operation device 64 is a device that accepts operations from the user 51 wearing the HDM 60. The operation device 64 includes a start button that commands the start of an experience of the virtual world 70, an end button that commands the end of the experience, and the like. The display device 65 is a device that displays a stereoscopic image using binocular parallax in front of both eyes of the user 51 wearing the HDM 60. For example, an organic EL display, a liquid crystal display, or the like is used as the display device 65.

[0020] The motion sensor 66 is a sensor for detecting the posture, gaze direction, and movement such as walking of the user 51. For example, a gyro sensor, an acceleration sensor, a magnetic sensor, etc. are used as the motion sensor 66. The motion sensor 66 may be an appropriate combination of a gyro sensor, an acceleration sensor, and a magnetic sensor.

[0021] The information processing device 30 includes a processor 31, a main memory 32, an auxiliary storage device 33, a communication interface 34, and a sensor interface 35. The processor 31, the main memory 32, the auxiliary storage device 33, the communication interface 34, and the sensor interface 35 are connected to each other directly via a system bus 36 or via an input / output circuit. The information processing device 30 configures a computer by connecting the main memory 32, the auxiliary storage device 33, the communication interface 34, and the sensor interface 35 via the system bus 36.

[0022] The processor 31 corresponds to the central part of the computer. The processor 31 controls each part to realize various functions of the information processing device 30 in accordance with an operating system or an application program. The processor 31 is, for example, a CPU (Central Processing Unit).

[0023] The main memory 32 corresponds to the main storage portion of the computer. The main memory 32 includes a nonvolatile memory area and a volatile memory area. The main memory 32 stores an operating system or application programs in the nonvolatile memory area. The main memory 32 may store data required for the processor 31 to execute processes for controlling each part in either the nonvolatile or volatile memory area. The main memory 32 uses the volatile memory area as a work area where data is rewritten by the processor 31 as appropriate. The nonvolatile memory area is, for example, ROM (Read Only Memory). The volatile memory area is, for example, RAM (Random Access Memory).

[0024] The auxiliary storage device 33 corresponds to the auxiliary storage portion of the computer. For example, an EEPROM (Electric Erasable Programmable Read-Only Memory), an HDD (Hard Disk Drive), or an SSD (Solid State Drive) can be the auxiliary storage device 33. The auxiliary storage device 33 stores data used by the processor 31 when performing various processes, data created by the processes in the processor 31, etc. The auxiliary storage device 33 may also store the application programs described above.

[0025] A virtual experience program is one of the application programs stored in the main memory 32 or the auxiliary storage device 33. There are no particular limitations on the method for installing the virtual experience program in the main memory 32 or the auxiliary storage device 33. The virtual experience program can be recorded on a removable recording medium, or can be distributed by communication via a network and installed in the main memory 32 or the auxiliary storage device 33. The recording medium can be in any form, such as a CD-ROM or memory card, as long as it can store the program and is readable by the device.

[0026] The communication interface 34 connects to the wireless communication unit 20. The communication interface 34 performs data communication with the HMD 60 worn by the user 51 in the virtual experience room 40 via the wireless communication unit 20. The sensor interface 35 connects to the position sensor 10. The sensor interface 35 inputs a sensing signal output from the position sensor 10.

[0027] 5 is a block diagram showing the main functional configuration realized by processor 31 of information processing device 30. Processor 31 realizes the functions of reception unit 301, real position acquisition unit 302, virtual position determination unit 303, correction coefficient calculation unit 304, movement speed setting unit 305, attitude / direction detection unit 306, movement detection unit 307, presentation image generation unit 308, and presentation image output unit 309.

[0028] The reception unit 301 has a function of receiving an operation input from the user 51 to the operation device 64 of the HMD 60 via the wireless communication unit 20. When the reception unit 301 receives an operation input of, for example, a start button, it outputs a start command to the real position acquisition unit 302. When the reception unit 301 receives an operation input of, for example, an end button, it outputs a stop command to the presentation image output unit 309.

[0029] The real position acquisition unit 302 is a function that acquires the position (X, Y, Z) in the global coordinate system of the user 51 who is in the virtual experience room 40, which is the real world, based on a sensing signal from the position sensor 10. The real position acquisition unit 302 can be rephrased as a real position acquisition means.

[0030] The virtual position determination unit 303 is a function that determines the position in the virtual world of the virtual user 52. The virtual position determination unit 303 determines the position in the virtual world of the virtual user 52 based on the position in the real world of the user 51 acquired by the real position acquisition unit 302. The virtual position determination unit 303 can be rephrased as a virtual position determination means.

[0031] The functions of the real position acquisition unit 302 and the virtual position determination unit 303 will be described in detail with reference to FIGS. 6 is a schematic diagram showing the floor surface 41 of the virtual experience room 40. The positions in the global coordinate system of multiple points scattered in a matrix on this floor surface 41 are stored in the real world database 37 (see FIG. 5). The real position acquisition unit 302 refers to the real world database 37 using the position (X, Y, Z) in the global coordinate system received from the position sensor 10, and determines the point that matches this position as the position of the user 51 in the virtual experience room 40.

[0032] In FIG. 6, assume that point M is the position of user 51 in the real world detected by position sensor 10. When viewed from above in FIG. 6, point M is a point that is a distance Xa (m) away from the left-most boundary line in the X direction, a distance Xb (m) away from the right-most boundary line in the negative X direction, a distance Ya (m) away from the bottom boundary line in the Y direction, and a distance Yb ​​(m) away from the top boundary line in the negative Y direction. Here, the sum of distances Xa and Xb is equal to the length Xp of one side of floor surface 41 in the X direction, and the sum of distances Ya and Yb is equal to the length Yp of one side of floor surface 41 in the Y direction. The above-mentioned boundary lines are lines that define the range of movement of the user in the real world from the user's actual location in the real world.

[0033] 7 is a schematic diagram showing a virtual floor 71 of a virtual world. The length Xq (m) of one side of the virtual floor 71 in the X-axis direction and the length Yq (m) of one side of the virtual floor 71 in the Y-axis direction are stored for each virtual world in the virtual world database 38 (see FIG. 5). In other words, the size (area) of the virtual floor 71 is set for each virtual world. Furthermore, this size does not depend on the size of the floor 41 of the virtual experience room 40. The virtual floor 71 may be larger or smaller than the floor 41.

[0034] In Figure 7, point N is the position of the virtual user 52 on the virtual floor 71 determined by the virtual position determination unit 303. When viewed from above in Figure 7, point N is a point that is a distance Xc (m) away from the left boundary line in the X direction, a distance Xd (m) away from the right boundary line in the -X direction, a distance Yc (m) away from the bottom boundary line in the Y direction, and a distance Yd (m) away from the top boundary line in the -Y direction. Here, the sum of distances Xc and Xd is equal to the length Xq of one side of the virtual floor 71 in the X-axis direction, and the sum of distances Yc and Yd is equal to the length Yq of one side of the virtual floor 71 in the Y-axis direction. In principle, the ratio of distance Xc (m) to distance Xd (m) is equal to the ratio of distance Xa to distance Xb, and the ratio of distance Yc to distance Yd is equal to the ratio of distance Ya to distance Yb. However, according to this principle, point N may overlap with the placement position of virtual object 72. Data indicating the placement position of virtual object 72 is stored in virtual world database 38 for each virtual world. When point N overlaps with the placement position of virtual object 72, virtual position determination unit 303 determines point N', a point near point N that does not overlap with the placement position of virtual object 72 and at which virtual user 52 can act, and sets this as a position on virtual floor surface 71 of user 52. For example, when reproducing a supermarket sales floor in virtual world 70, if point N in the virtual world corresponding to point M in the real world of user 51 overlaps with the position of a product shelf that is virtual object 72, the center of aisle 74 near point N may be set as point N'. The above-mentioned boundary line is a line that defines the boundary of the range within which the user can move in the virtual world from the user's virtual presence position in the virtual world.

[0035] Both the real world database 37 and the virtual world database 38 are provided in the auxiliary storage device 33. The real world database 37 and the virtual world database 38 may be provided in an external storage device connected to the information processing device 30 via a network, for example, a storage device accessed by a cloud computing server.

[0036] Returning to the explanation of Figure 5. The correction coefficient calculation unit 304 has a function of calculating a correction coefficient K based on point M in the real world acquired by the real position acquisition unit 302 and point N (or N') in the virtual world determined by the virtual position determination unit 303. If the movement distance of a user 51 moving in the real world is taken as the movement distance of a virtual user 52 moving in the virtual world, the range of the virtual floor 71 in which the user 52 can move is limited to the range of the floor 41. If the area of ​​the virtual floor 71 is smaller than the area of ​​the floor 41, there is no problem even if the movement range of the user 52 is limited to the range of the floor 41. However, if the area of ​​the virtual floor 71 is larger than the area of ​​the floor 41, there is a risk that the user 51, who is moving in the real world and experiencing movement in the virtual world 70, will collide with a wall 42 of the virtual experience room 40 when attempting to go outside the boundary line of the floor 41. Therefore, in the virtual experience system 100, the moving speed of the virtual user 52 is corrected to increase its speed so that the user 51 can experience movement throughout the entire virtual world 70 without colliding with the walls 42 of the virtual experience room 40. The correction coefficient calculation unit 304 calculates a correction coefficient K for correcting this moving speed.

[0037] The correction coefficient calculation unit 304 calculates the correction coefficient K based on the ratio between the distance from point M on the floor 41 in the real world of the user 51 to each side of the floor 41 that constitutes the boundary line of the real world and the distance from point N (or N') on the virtual floor 71 in the virtual world of the virtual user 52 to each side of the virtual floor 71 that constitutes the boundary line of the virtual world. Specifically, the correction coefficient calculation unit 304 calculates the following equations (1) to (4) to find the solution Ka, solution Kb, solution Kc, and solution Kd. Ka=Xc / Xa …(1) Kb = Xd / Xb …(2) Kc=Yc / Ya …(3) Kd=Yd / Yb …(4) Then, the correction coefficient calculation unit 304 determines the maximum value among the solutions Ka, Kb, Kc, and Kd as the correction coefficient K.

[0038] As an example, the length Xp of one side of the floor 41 in the virtual experience room 40 in the X-axis direction is 50 (m), the length Ya of one side in the Y-axis direction is 30 (m), and the length Xq of one side of the virtual floor 71 in the virtual world 70 in the X-axis direction is 100 (m), and the length Yq of one side in the Y-axis direction is 80 (m). Also, point M in the real world acquired by the real position acquisition unit 302 is a point at which the distance Xa is 10 (m), the distance Xb is 40 (m), the distance Ya is 15 (m), and the distance Yb ​​is 15 (m). In this case, point N is a point at which the distance Xc is 20 (m), the distance Xd is 80 (m), the distance Yc is 40 (m), and the distance Yd is 40 (m). However, in one example, since point N overlaps with a virtual object, the virtual position determination unit 303 may determine, for example, the distance X c is 18(m), distance X d is 82(m), distance Y c is 35(m), distance Y d Assume that the point 45(m) is determined as point N'.

[0039] The correction coefficient calculation unit 304 calculates the above equations (1) to (4). As a result, the solution K1 of equation (1) is 1.80, the solution K2 of equation (2) is 2.05, the solution K3 of equation (3) is 2.33, and the solution K4 of equation (4) is 3.00. The correction coefficient calculation unit 304 sets the maximum value of the solutions as the correction coefficient K. In other words, the correction coefficient calculation unit 304 calculates the correction coefficient K to be 3.0.

[0040] Incidentally, when the user 51 moves a distance of 40 (m) in the X direction from point M until he reaches the boundary line of the real world, in the virtual world he moves a distance of 120 (m), which is the distance 40 (m) multiplied by a correction coefficient K = 3.0, in the same amount of time. The maximum distance that the user 52 can move in the X direction from point N' on the virtual floor 71 is 82 (m). Therefore, the user 51 will not collide with the wall 42 of the virtual experience room 40, which is at the boundary line of the real world.

[0041] When the user 51 moves a distance of 10 (m) from point M in the -X direction until he reaches the boundary line of the real world, in the virtual world, he moves a distance of 30 (m), which is the distance 10 (m) multiplied by a correction coefficient K = 3.0, in the same amount of time. The maximum distance that the user 52 can move in the -X direction from point N' on the virtual floor 71 is 18 (m). Therefore, the user 51 will not collide with the wall 42 of the virtual experience room 40, which is at the boundary line of the real world.

[0042] When the user 51 moves a distance of 15 m in the Y direction from point M until he reaches the boundary line of the real world, in the virtual world he moves a distance of 45 m, which is the distance 15 m multiplied by a correction coefficient K = 3.0, in the same amount of time. The maximum distance that the user 52 can move in the Y direction from point N' on the virtual floor 71 is 35 m. Therefore, the user 51 will not collide with the wall 42 of the virtual experience room 40, which is at the boundary line of the real world.

[0043] When the user 51 moves a distance of 15 (m) from point M in the -Y direction until he reaches the boundary line of the real world, in the virtual world he moves a distance of 45 (m), which is the distance 15 (m) multiplied by a correction coefficient K = 3.0, in the same amount of time. The maximum distance that the user 52 can move in the -Y direction from point N' on the virtual floor 71 is 45 (m). Therefore, the user 51 stops just before colliding with the wall 42 of the virtual experience room 40, which is at the boundary line of the real world.

[0044] Generally, the walking speed of a human is said to be about 1 m / s, and the speed of race walking is said to be about 4 m / s. Therefore, if the correction coefficient K exceeds 4.0, the moving speed of the user 52 in the virtual world will exceed the moving speed of race walking, which is unrealistic. Therefore, the maximum value of the correction coefficient K is set to 4.0.

[0045] Furthermore, if the correction coefficient K is large, the scenery reproduced by the virtual world 70 changes too quickly, which may cause the user 51 to experience symptoms similar to motion sickness, known as VR sickness. Therefore, for example, when the calculated correction coefficient K is equal to or greater than 2.0, which is half of the maximum value 4.0, the correction coefficient calculation unit 304 multiplies the correction coefficient K by a safety coefficient α (0<α≦1) that is equal to or less than 1, to obtain the correction coefficient αK. However, with the correction coefficient αK, there is a possibility that the user 51 may cross the boundary of the real world and collide with the wall 42 of the virtual experience room 40. Therefore, the correction coefficient calculation unit 304 periodically recalculates the correction coefficient αK. By periodically recalculating the correction coefficient αK, the correction coefficient calculation unit 304 can avoid the risk of the user 51 colliding with the wall 42 of the virtual experience room 40.

[0046] The movement speed setting unit 305 has a function of correcting the movement speed of the user 51 moving in the real world by the correction coefficient K or the correction coefficient αK calculated by the correction coefficient calculation unit 304, and setting the corrected movement speed as the movement speed of the virtual user 52 moving in the virtual world 70. Here, the correction coefficient calculation unit 304 and the movement speed setting unit 305 can be said to be speed setting means. In other words, the correction coefficient calculation unit 304 and the movement speed setting unit 305 can be said to be means for setting the speed at which the virtual user 52 moves in the virtual world 70, based on the ratio between a first distance (Xa, Xb, Ya, or Yb) from a presence position M in the real world to a boundary line of the real world and a second distance (Xc, Xd, Yc, or Yd) from a presence position N (N') in the virtual world 70 to a boundary line of the virtual world 70.

[0047] The posture / orientation detection unit 306 has a function of detecting the posture and gaze direction of the user 51 wearing the HMD 60 based on a signal from a motion sensor 66 provided in the HMD 60. The posture / orientation detection unit 306 detects head movement accompanying changes in posture of the user 51 in real time (head tracking) based on sensing data that tracks changes in the height position and rotation angle of the HMD 60 detected by the motion sensor 66, for example. The posture / orientation detection unit 306 also detects the gaze direction of the user 51 in real time (eye tracking) based on sensing data that tracks changes in the eye movement of the user 51 detected by the motion sensor 66, for example.

[0048] The movement detection unit 307 is a function that detects the movement direction, movement speed, and movement time in the real world of the user 51 wearing the HMD 60 based on signals from the motion sensor 66 provided in the HMD 60. The movement detection unit 307 detects in real time the movement direction, movement speed, and movement time of the user 51 who moves on foot or the like across the floor 41 of the virtual experience room 40, based on sensing data that tracks the movement of the HMD 60 detected by the motion sensor 66.

[0049] The presentation image generation unit 308 has a function of generating a stereoscopic image of the virtual world to be presented to the user 51 via the HMD 60 in accordance with the movement direction, movement speed, posture, gaze direction, etc. of the user 51 wearing the HMD 60 and moving within the virtual experience room 40. The presentation image generation unit 308 generates a stereoscopic image that reproduces the virtual world 70 based on data indicating the placement positions of virtual objects 72 stored in the virtual world database 38. More specifically, the presentation image generation unit 308 generates a stereoscopic image of the virtual world 70 seen by the eyes of the user 52 who is in the same posture and gazes in the same direction as the user 51 in the real world detected by the posture / orientation detection unit 306, at the position of the user 52 in the virtual world determined by the virtual position determination unit 303. The presentation image generation unit 308 also changes the stereoscopic image of the virtual world 70 seen by the eyes of the user 52 in accordance with the movement of the user 51 in the real world detected by the movement detection unit 307. At this time, the presentation image generating unit 308 generates a stereoscopic image that changes at the movement speed set by the movement speed setting unit 305. Here, the presentation image generating unit 308 can be rephrased as an image generating means.

[0050] The presentation image output unit 309 has a function of outputting data of the stereoscopic image generated by the presentation image generation unit 308 to the HMD 60 worn by the user 51 in the virtual experience room 40. The stereoscopic image data output from the presentation image output unit 309 is wirelessly transmitted to the HMD 60 via the wireless communication unit 20 and displayed on the display device 65. By displaying this stereoscopic image, a three-dimensional virtual world 70 is presented to the user 51 wearing the HMD 60. Here, the presentation image output unit 309 can be rephrased as image output means.

[0051] 8 is a flowchart showing the procedure of information processing executed by the processor 31 of the information processing device 30 in accordance with the virtual experience program. Below, the main operations of the virtual experience system 100 including the information processing device 30 will be explained using FIG. 8. Note that the operations explained below are just an example. The procedure or processing contents can be changed as appropriate as long as the same effect can be achieved.

[0052] A user 51 who wants to experience the virtual world 70 enters the virtual experience room 40, stands at a predetermined position (point M), and wears the HDM 60 on his or her head. The user 51 then operates the start button on the operation device 64. When the processor 31 detects that the start button has been operated using the function of the reception unit 301, it starts information processing according to the procedure shown in the flowchart of FIG.

[0053] First, in ACT1, the processor 31 acquires point M indicating the position of the user 51 in the virtual experience room 40, which is the real world, using the function of the real position acquisition unit 302. Then, in ACT2, the processor 31 determines point N (or N') indicating the position of the virtual user 52 in the virtual world 70 experienced by the user 51 using the function of the virtual position determination unit 303.

[0054] Next, in ACT3, processor 31 uses the function of correction coefficient calculation unit 304 to calculate correction coefficient K or correction coefficient αK based on point M in the real world acquired by real position acquisition unit 302 and point N (or N') in the virtual world determined by virtual position determination unit 303. Then, in ACT4, processor 31 sets the movement speed at which virtual user 52 moves in virtual world 70. Note that at the initial point in time, the user in real space is not moving, so the movement speed set in ACT4 is 0 (m / s).

[0055] After completing the processing of ACT1 to ACT4, the processor 31 detects the posture and gaze direction of the user 51 using the function of the posture / orientation detection unit 306 in ACT5. Then, the processor 31 generates a stereoscopic image of the virtual world 70 as seen by the eyes of the user 52 who is directing his / her gaze at the position of point N (or N') in the posture detected by the posture / orientation detection unit 306 using the function of the presentation image generation unit 308 in ACT6. The processor 31 outputs the stereoscopic image generated by the presentation image generation unit 308 to the HMD 60 worn by the user 51 in the virtual experience room 40 using the function of the presentation image output unit 309 in ACT7.

[0056] As a result, a stereoscopic image is displayed on the HMD 60 worn by the user 51, and the user 51 experiences a three-dimensional virtual world 70 reproduced by the stereoscopic image. For example, if a supermarket sales floor is reproduced in the virtual world 70, the user 51 virtually experiences shopping behavior in that sales floor.

[0057] For example, the user 51 walks across the floor 41 of the virtual experience room 40, just as a virtual user 52 moves through an aisle between the shelves of products represented by the virtual object 72. By moving his / her head or bending down on the spot, the user 51 virtually experiences the shopping behavior of the user 52, such as directing his / her gaze toward the shelves to search for products or bending down in front of the shelves to select products. When the user 51 wants to end the virtual experience, he / she operates the end button on the operation device 64.

[0058] The movement direction and speed of the user 51 moving in the virtual experience room 40 are detected by the function of the movement detection unit 307. Furthermore, changes in the posture or movement of the line of sight of the user 51 are detected by the function of the posture / direction detection unit 306.

[0059] After completing the processing of ACT7, the processor 31 checks whether the posture or gaze direction of the user 51 has changed in ACT8. If the posture or gaze direction of the user 51 has not changed, the processor 31 checks whether the user 51 has moved, for example, by walking, within the virtual experience room 40 in ACT9. If the user 51 has not moved, the processor 31 checks whether the end button of the operation device 64 has been operated in ACT10. If the end button has not been operated, the processor 31 returns to ACT8. Here, the processor 31 waits for a change in the posture or gaze direction of the user 51, for the user 51 to move, or for the end button to be operated in ACT8 to ACT10.

[0060] In the standby state of ACT8 to ACT10, if the posture or gaze direction of the user 51 changes, the processor 31 returns to ACT5. Then, the processing from ACT5 onwards is executed in the same manner as described above. That is, the processor 31 detects the posture and gaze direction of the user 51 after the change, and generates a stereoscopic image of the virtual world 50 as seen by the eyes of the user 51 who is looking in that posture. The processor 31 then outputs the stereoscopic image to the HMD 60 worn by the user 51 in the virtual experience room 40. Therefore, the user 51 who changes his posture or gaze direction can experience the virtual world 70 which changes in accordance with the change.

[0061] When the user 51 moves in the standby state of ACT8 to ACT10, the processor 31 proceeds to ACT11. In ACT11, the processor 31 calculates the movement distance La from the point M detected in ACT1 based on the movement speed and movement time of the user 51 detected by the movement detection unit 307. In ACT12, the processor 31 multiplies the movement distance La by the correction coefficient K or the correction coefficient αK to calculate the movement distance Lb of the virtual user 52.

[0062] After completing the processes of ACT11 and ACT12, the processor 31 checks in ACT13 whether the movement distance La is equal to or greater than a predetermined threshold. The threshold is arbitrary and is set, for example, by an administrator of the virtual experience system 100. The administrator may set the threshold to, for example, 1 / 10 of the length of the short side of the floor 41 that constitutes the virtual experience room 40. For example, if the length of the short side of the floor 41 is 30 m, the threshold is 3 m. In other words, when the user 51 in the virtual experience room 40 moves 3 m in one direction on the floor 41, the processor 31 determines in ACT13 that the movement distance La is equal to or greater than the threshold.

[0063] If the movement distance La is less than the threshold, the processor 31 returns to ACT6. Then, the processor 31 executes the processes from ACT6 onwards in the same manner as described above. That is, the processor 31 generates a stereoscopic image of the virtual world 70 as seen by the eyes of the user 52 who moves the movement distance Lb calculated in ACT12 in the same direction as the movement direction of the user 51 from the point N (or N') determined in ACT2. At this time, the movement speed of the virtual user 52 is the movement speed set in ACT4. However, if this movement speed is 0 (m / s), the movement speed of the user 51 detected by the movement detection unit 307 is used. The processor 31 outputs the stereoscopic image of the virtual world 70 to the HMD 60. Then, the processor 31 returns to the standby state of ACT8 to ACT10. In ACT13, if the movement distance La is equal to or greater than the threshold, the processor 31 returns to ACT1. Then, the processor 31 executes the processes from ACT1 onward in the same manner as described above. That is, the processor 31 acquires point M indicating the position of the user 51 who has moved in the real world by the movement distance La in the movement direction detected by the movement detection unit 307. The processor 31 also determines point N (or N') indicating the position of the virtual user 52 who has moved in the virtual world by the movement distance Lb in the same movement direction. The processor 31 recalculates the correction coefficient K or the correction coefficient αK based on point M in the real world and point N (or N') in the virtual world. Then, the processor 31 sets the movement speed at which the virtual user 52 moves in the virtual world 70. That is, the processor 31 sets the movement speed required to move the movement distance Lb in the movement time detected by the movement detection unit 307 as the movement speed at which the virtual user 52 moves in the virtual world 70. Then, the processor 31 generates a stereoscopic image of the virtual world 70 as seen by the eyes of the user 52 who is looking at the position of point N (or N') in the posture detected by the posture / orientation detection unit 306, and outputs the stereoscopic image to the HMD 60 worn by the user 51 in the virtual experience room 40. In this way, the processor 31 functions as a distance acquisition means that acquires the user's travel distance La in the real world or the user's travel distance Lb in the virtual world by executing the processing in ACT 11 or ACT 12. Then, in ACT 13, if the user's travel distance La in the real world is equal to or greater than a predetermined threshold, the processor 31 executes the processing in ACT 1 to ACT 3 to recalculate the correction coefficient K or the correction coefficient αK, and further executes the processing in ACT 4 to reset the user's travel speed in the virtual world.

[0064] When processor 31 detects that the end button has been operated in the standby state of ACT8 to ACT10, processor 31 proceeds to ACT 14. Processor 31 stops outputting the stereoscopic image in ACT 14. With this, processor 31 ends the information processing in accordance with the virtual experience program.

[0065] As described above in detail, according to this embodiment, a virtual experience system 100 can be provided that presents a stereoscopic image to a user 51 in which a virtual user 52 moves through a virtual world 70 in accordance with the user 51's movements in the real world.

[0066] The virtual experience system 100 detects the location M of the user 51 in the real world, determines the location N (or N') of the user 52 in the virtual world 70, and sets the speed at which the user 52 moves in the virtual world 70 based on the ratio of a first distance from the location N in the real world to the boundary line of the real world to a second distance from the location N (or N') in the virtual world 70 to the boundary line of the virtual world. Specifically, the movement speed is set so that the user 52 moves the second distance either when the user 51 moves the first distance or before moving the first distance.

[0067] By setting the movement speed of the user 52 in this way, there is no risk that the user 51, who is moving in the real world and experiencing the movement of the virtual world 70, will collide with the wall 42 of the virtual experience room 40 when trying to go outside the boundary of the floor 41. Therefore, there is no need to change the virtual objects 72 placed in the virtual world 70 to prevent the user 51 from going outside the boundary of the real world. As a result, even if the virtual objects placed in the virtual world 70 are modeled after the real world in which the virtual world 70 actually exists and the user 51 is familiar with that real world, the virtual objects are not changed, and the user 51 can experience activities in the virtual world without destroying the worldview of the virtual world.

[0068] The virtual experience system 100 also acquires the traveled distance La in the real world of the user 51. Then, the virtual experience system 100 sets the speed at which the user 52 moves through the virtual world 70 each time the traveled distance La reaches a predetermined distance (threshold).

[0069] For example, if the second distance is sufficiently long relative to the first distance, the moving speed set based on the ratio may exceed the moving speed of race walking and become unrealistic. Therefore, in this embodiment, the speed at which the user 52 moves through the virtual world 70 is set to a speed slower than the moving speed set based on the ratio. In this case, however, there is a risk that the user 51 will collide with the wall 42 of the virtual experience room 40 at the initial moving speed. However, by setting the moving speed each time the moving distance La reaches a threshold, this risk can be avoided.

[0070] The speed setting means sets the movement speed of the user 52 moving in the virtual world 70 only when the second distance is longer than the first distance, and when the second distance is shorter than the first distance, the movement speed of the user 51 moving in the real world may be used as the movement speed of the user 52 moving in the virtual world 70. By doing so, when the virtual world simulating the real world is smaller than the virtual experience room 40, the information processing device 30 does not perform the correction coefficient calculation process in ACT3 of Fig. 8, thereby achieving the effect of reducing the load on the information processing device 30.

[0071] Although the embodiment of the virtual experience system 100 and the information processing device 30 of the system has been described above, the embodiment is not limited to this.

[0072] For example, the real world in which the user experiences the virtual world is not limited to the virtual experience room 40. For example, a boundary line may be set as a real section in an open space such as a park or a sports field, allowing the user to move freely within the boundary line and experience the virtual world. In this case, too, the virtual objects are controlled so that the user does not go outside the boundary line. Therefore, the wall 42 surrounding the virtual experience room 40 is not necessarily required.

[0073] The behavior experienced by the user 51 in the virtual world 70 is not limited to shopping. Whatever behavior the user experiences, it is possible to prevent the user experiencing the virtual world from crossing the boundary of the real world.

[0074] In the above embodiment, when the correction coefficient K is equal to or greater than 2.0, which is half of the maximum value 4.0, the value αK obtained by multiplying the correction coefficient K by a safety factor α (0<α≦1) which is equal to or less than 1 is used as the correction coefficient. In this regard, the value αK may be used as the correction coefficient regardless of the value of the correction coefficient K.

[0075] In the above embodiment, when the moving distance La of the user 51 in the real world is equal to or greater than a predetermined threshold, the correction coefficient is recalculated and the moving speed of the user 52 in the virtual world is set again. In this regard, when the moving distance Lb of the user 52 in the virtual world is equal to or greater than a predetermined threshold, the correction coefficient may be recalculated and the moving speed of the user 52 in the virtual world may be set again.

[0076] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope of the invention and the scope of the inventions and their equivalents as defined in the claims. The inventions described in the original claims of this application are set forth below. [1] A virtual experience system that presents a user with a stereoscopic image of the user moving in a virtual world in accordance with the user's movement in the real world, the virtual experience system comprising: a real position detection means that detects the user's location in the real world; a virtual position determination means that determines the user's location in the virtual world; and a speed setting means that sets the speed at which the user moves in the virtual world based on a ratio between a first distance from the user's real location in the real world to a boundary line within which the user can move in the real world, and a second distance from the user's virtual location in the virtual world to a boundary line within which the user can move in the virtual world. [2] A virtual experience system as described in Appendix [1], further comprising a distance acquisition means for acquiring the distance traveled by the user in the real world or the virtual world, and the speed setting means for setting the speed at which the user moves through the virtual world each time the distance traveled reaches a predetermined distance. [3] A virtual experience system as described in appendix [1] or [2], wherein the speed setting means sets the speed of movement in the virtual world when the second distance is longer than the first distance. [4] An information processing device comprising: a real position acquisition means for acquiring a presence position in the real world of a user moving in the real world; a virtual position determination means for determining a presence position of the user in a virtual world; a speed setting means for setting a speed at which the user moves in the virtual world based on a ratio of a first distance from the user's real presence position in the real world to a boundary line within which the user can move in the real world and a second distance from the user's virtual presence position in the virtual world to a boundary line within which the user can move in the virtual world; an image generation means for generating a stereoscopic image of the user moving in the virtual world at the speed set by the speed setting means in accordance with the user's movement in the real world; and an image output means for outputting the stereoscopic image to a stereoscopic image display device worn by the user. [5] An information processing device as described in Appendix [4], further comprising a distance acquisition means for acquiring the distance traveled by the user in the real world or the virtual world, and the speed setting means for setting the speed at which the user moves in the virtual world each time the distance traveled reaches a predetermined distance. [6] The information processing device according to appendix [4] or [5], wherein the speed setting means sets a speed for moving through the virtual world when the second distance is longer than the first distance. [7] A virtual experience program for causing a computer of an information processing device to function as: a real position acquisition means for acquiring a presence position in the real world of a user moving in the real world; a virtual position determination means for determining a presence position in a virtual world of the user; a speed setting means for setting a speed at which the user moves in the virtual world based on a ratio between a first distance from the user's real presence position in the real world to a boundary line within which the user can move in the real world and a second distance from the user's virtual presence position in the virtual world to a boundary line within which the user can move in the virtual world; an image generation means for generating a stereoscopic image of the user moving in the virtual world at the speed set by the speed setting means in accordance with the user's movement in the real world; and an image output means for outputting the stereoscopic image to a stereoscopic image display device worn by the user. . [Explanation of symbols]

[0077] 10...position sensor, 20...wireless communication unit, 30...information processing device, 37...real world database, 38...virtual world database, 40...virtual experience room, 51, 52...user, 60...HMD (head mounted display), 70...virtual world, 100...virtual experience system, 301...reception unit, 302...real position acquisition unit, 303...virtual position determination unit, 304...correction coefficient calculation unit, 305...movement speed setting unit, 306...posture / orientation detection unit, 307...movement detection unit, 308...presentation image generation unit, 309...presentation image output unit.

Claims

1. A virtual experience system presents a user with a stereoscopic image of the user moving in a virtual world in accordance with the user's movement in a virtual experience room, which is the user's real world, a real-world position detection means for detecting a location of the user in the real world; a virtual position determination means for determining a location of the user in the virtual world; a correction coefficient calculation means for calculating a ratio between a first distance from the user's actual location in the real world to each of the four boundary lines of the virtual experience room, which is the real world, and a second distance from the user's virtual location in the virtual world to each of the four boundary lines of the virtual world, for each direction, and setting the solution of the maximum ratio as a correction coefficient; a speed setting means for setting a speed at which the user moves in the virtual world based on the correction coefficient; A virtual experience system comprising:

2. A virtual experience system as described in claim 1, wherein the correction coefficient calculation means, when the solution of the maximum ratio is equal to or greater than a predetermined value, multiplies the solution by a safety factor of 1 or less and sets the result as the correction coefficient.

3. a distance acquisition means for acquiring a distance traveled by the user in the real world or the virtual world; Further comprising:

2. The virtual experience system according to claim 1, wherein said speed setting means sets a speed for moving through said virtual world each time said moving distance reaches a predetermined distance.

4. 4. The virtual experience system according to claim 1, wherein said speed setting means sets a speed for moving through said virtual world when said second distance is longer than said first distance.

5. a real-world position acquisition means for acquiring a position in the real world of a user moving through a virtual experience room, which is the real world; a virtual position determination means for determining a location of the user in the virtual world; a correction coefficient calculation means for calculating a ratio between a first distance from the user's actual location in the real world to each of the four boundary lines of the virtual experience room, which is the real world, and a second distance from the user's virtual location in the virtual world to each of the four boundary lines of the virtual world, for each direction, and setting the solution of the maximum ratio as a correction coefficient; a speed setting means for setting a speed at which the user moves in the virtual world based on the correction coefficient; an image generating means for generating a stereoscopic image of the user moving in the virtual world at the speed set by the speed setting means in accordance with the user's movement in the real world; an image output means for outputting the stereoscopic image to a stereoscopic image display device worn by the user; An information processing device comprising:

6. a distance acquisition means for acquiring a distance traveled by the user in the real world or the virtual world; Further comprising:

6. The information processing apparatus according to claim 5, wherein said speed setting means sets a speed for moving through said virtual world each time said moving distance reaches a predetermined distance.

7. 7. The information processing apparatus according to claim 5, wherein the speed setting means sets a speed for moving through the virtual world when the second distance is longer than the first distance.

8. The computer of the information processing device, a real-world position acquisition means for acquiring a position in the real world of a user moving through a virtual experience room, which is the real world; a virtual position determination means for determining a location of the user in the virtual world; a correction coefficient calculation means for calculating a ratio between a first distance from the user's actual location in the real world to each of the four boundary lines of the virtual experience room, which is the real world, and a second distance from the user's virtual location in the virtual world to each of the four boundary lines of the virtual world, for each direction, and setting the solution of the maximum ratio as a correction coefficient; a speed setting means for setting a speed at which the user moves in the virtual world based on the correction coefficient; an image generating means for generating a stereoscopic image of the user moving in the virtual world at the speed set by the speed setting means in accordance with the user's movement in the real world; and a virtual experience program for causing the virtual experience program to function as an image output means for outputting the stereoscopic image to a stereoscopic image display device worn by the user;

Citation Information

Patent Citations

  • Display control method and program for causing computer to execute the method

    JP2017211912A

  • Program, method, and information processing device

    JP2020047006A

  • Information processing apparatus, information processing method, and program

    JP2020071529A

  • Method for fading out image of physical object

    JP2020175204A

  • Rehabilitation support device, method and program

    JP6710845B1