Virtual space providing device
The virtual space providing device addresses computational challenges and user convenience by managing content display direction based on user posture, reducing calculation load and enhancing user experience.
Patent Information
- Application Number
- JP2023549421
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-27
- Filing Date
- 2022-08-22
- Publication Date
- 2025-01-20
- Estimated Expiration
- 2042-08-22
AI Technical Summary
Existing systems that provide virtual spaces through head-mounted displays face challenges in managing large amounts of content, leading to increased computational resource depletion and potential processing failures, while limiting display control can impair user convenience.
A virtual space providing device that includes a virtual space generation unit, detection, posture determination, area control, and display control units to manage the display direction of content within a target area based on the user's posture, reducing calculation load and maintaining user convenience.
The device effectively reduces computational requirements for display control by limiting the range of content whose direction is adjusted, ensuring user convenience by adapting to the user's posture.
Smart Images

Figure 0007618049000001 
Figure 0007618049000002 
Figure 0007618049000003
Abstract
Description
[Technical field]
[0001] One aspect of the present invention relates to a virtual space providing device. [Background technology]
[0002] Patent Document 1 discloses a display switching method that acquires image data of the face of a user using an information terminal such as a smartphone, determines the up-down direction of the face based on the image data, and switches the display direction of the content displayed on the display unit so that the up-down direction of the content matches the up-down direction of the face. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2011-203860 A Summary of the Invention [Problem to be solved by the invention]
[0004] It is conceivable to apply the above mechanism to a system that provides a user with an image of a virtual space in which multiple contents are arranged via a head mounted display. However, a large amount of content may be arranged in the virtual space. For this reason, if display control is performed so that the display direction of all content is always aligned with the up-down direction of the user's face (i.e., the up-down direction of the head mounted display), the amount of calculation increases, which may cause problems such as exhaustion of calculation resources and slow processing. On the other hand, if the content for which the display direction is controlled is too limited, user convenience may be impaired.
[0005] Therefore, an object of one aspect of the present invention is to provide a virtual space providing device that can reduce the amount of calculation while maintaining user convenience. [Means for solving the problem]
[0006] A virtual space providing device according to one aspect of the present invention includes a virtual space generation unit that generates a virtual space that includes a user's virtual viewpoint and in which virtual content is placed, a detection unit that detects the orientation of a head-mounted display that is worn on the user's head and displays a part of the virtual space that is within the field of view from the virtual viewpoint, a display control unit that controls the display direction of content placed in a target area of the virtual space to match the up-down direction of the content with the up-down direction of the head-mounted display, a posture determination unit that determines the user's posture based on the state of the head-mounted display, and an area control unit that determines the range of the target area depending on the user's posture determined by the posture determination unit.
[0007] In a virtual space providing device according to one aspect of the present invention, the display direction of only the content arranged in the target area among the contents arranged in the virtual space is controlled so that the up-down direction of the content coincides with the up-down direction of the head-mounted display. In this way, by limiting the range of the content (target area) to be controlled in the display direction, it is possible to reduce the amount of calculation required for display control. In addition, by controlling the range of the target area according to the user's posture determined based on the state of the head-mounted display, it is possible to appropriately set the range of the content to be subject to display control according to the user's posture, thereby maintaining user convenience. Effect of the Invention
[0008] According to one aspect of the present invention, it is possible to provide a virtual space providing device that can reduce the amount of calculation while maintaining user convenience. [Brief description of the drawings]
[0009] [Figure 1] 1 is a diagram illustrating an example of an overall configuration of a virtual space providing system according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a functional configuration of a virtual space providing system. [Diagram 3] FIG. 2 is a diagram illustrating an example of a virtual space. [Figure 4] 13 is a diagram showing an example of a target region that is set when a user is not in a lying position; FIG. [Diagram 5] 13 is a diagram illustrating an example of a target region that is set when a user is in a lying position. FIG. [Figure 6] 5 is a diagram showing an example of display control of content corresponding to the state of FIG. 4. [Figure 7] 6 is a diagram showing an example of display control of content corresponding to the state of FIG. 5. FIG. [Figure 8] FIG. 11 is a sequence diagram showing an example of the operation of the virtual space providing system. [Figure 9] 9 is a flowchart showing an example of the process in step S4 of FIG. 8. [Figure 10] 9 is a flowchart showing an example of the process of step S9 in FIG. 8. [Figure 11] FIG. 11 is a diagram for explaining a first modified example of display control. [Figure 12] FIG. 11 is a diagram for explaining a second modified example of display control. [Figure 13] FIG. 11 is a diagram for explaining a second modified example of display control. [Figure 14] FIG. 2 illustrates an example of a hardware configuration of a server. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or corresponding elements are designated by the same reference numerals, and duplicated explanations will be omitted.
[0011] FIG. 1 is a diagram showing an example of a virtual space providing system 1 according to an embodiment. The virtual space providing system 1 is a computer system that provides a virtual space to a user. As an example, the virtual space providing system 1 includes a server 10 (virtual space providing device) and an HMD (Head Mounted Display) 20, which is a user terminal used by a user. Although two HMDs 20A and 20B are shown in FIG. 1, the number of HMDs 20 included in the virtual space providing system 1 is not limited to the above. In other words, the number of HMDs 20 included in the virtual space providing system 1 may be one, or may be three or more.
[0012] The server 10 generates a virtual space in which virtual content is placed, and distributes a virtual space image showing the virtual space to each user's HMD 20. The content is display information showing any information. The content may be configured as, for example, a still image or a moving image. The server 10 is communicatively connected to each HMD 20 via a communication network N. The configuration of the communication network N is not limited. For example, the communication network N may be configured to include the Internet or an intranet.
[0013] The HMD 20 is a device worn on the user's head. The form of the HMD 20 is not limited to a specific form. The HMD 20 may take various forms, such as goggles, glasses (eyeglasses), and hats. The HMD 20 is, for example, smart glasses such as XR glasses. In this embodiment, the HMD 20 is AR glasses having a function of providing an augmented reality (AR) to the user. For example, the HMD 20 is a see-through type of glasses configured to allow the user to view a real space (outside world) along with a virtual space. However, the HMD 20 is not limited to the above, and may be an MR device such as MR glasses having a function of providing a mixed reality (MR) to the user, or a VR device such as VR glasses having a function of providing a virtual reality (VR) to the user.
[0014] 2 is a diagram showing an example of a functional configuration of the virtual space providing system 1. As shown in FIG.
[0015] The display unit 21 is a display arranged in front of both eyes of the user. The display unit 21 is composed of, for example, a liquid crystal display element, an organic EL (Electro Luminescence) element, etc. The display unit 21 may have a display panel for the right eye arranged in front of the right eye of the user, and a display panel for the left eye arranged in front of the left eye of the user, separately. The virtual space image distributed from the server 10 is displayed on the display unit 21.
[0016] The position and orientation sensor 22 detects the attitude (direction) and height position of the HMD 20. The position and orientation sensor 22 is configured with, for example, an acceleration sensor, a gyro sensor, a GPS sensor, etc. Orientation information related to the attitude of the HMD 20 and position information related to the height position of the HMD 20 detected by the position and orientation sensor 22 are transmitted to the server 10 periodically, for example, at a predetermined time interval.
[0017] As shown in FIG. 2, the server 10 includes a virtual space generation unit 11, a detection unit 12, a posture determination unit 13, a region control unit 14, and a display control unit 15.
[0018] The virtual space generation unit 11 generates a virtual space. Virtual space information required to generate the virtual space (e.g., information indicating the content and position of the content to be placed in the virtual space, etc.) is stored in advance in a storage unit of the server 10 (e.g., storage 1003 described later, etc.). Alternatively, the virtual space generation unit 11 may acquire (download) the virtual space information from a device different from the server 10 (e.g., an external server communicably connected to the server 10 via the communication network N, etc.). The virtual space generation unit 11 generates the virtual space based on such virtual space information.
[0019] An example of a virtual space (virtual space 50) generated by the virtual space generation unit 11 will be described with reference to FIG. 3. The virtual space 50 includes a user's virtual viewpoint 51 therein. The virtual viewpoint 51 corresponds to the viewpoint of the user viewing the virtual space 50 through the display unit 21. That is, an image (virtual space image) showing a part of the virtual space 50 within the user's field of view from the virtual viewpoint 51 is displayed on the display unit 21. As a result, the user can feel as if he or she is present in the virtual space 50 as the virtual user 100 shown in FIG. 3.
[0020] As an example, the virtual space 50 is configured as a spherical space centered on the virtual viewpoint 51, and the up-down direction of the virtual space 50 is set to coincide with the vertical direction of the real space. That is, as shown in Fig. 3, the direction from the virtual viewpoint 51 toward the zenith part P1 of the virtual space 50 coincides with the vertically upward direction in the real space, and the direction from the virtual viewpoint 51 toward the nadir part P2 of the virtual space 50 coincides with the vertically downward direction in the real space.
[0021] In this embodiment, for convenience, the up-down direction of the virtual space 50 (i.e., the direction passing through the zenith P1 and the nadir P2 and coinciding with the vertical direction of the real space) is referred to as the Z-axis direction. Also, a direction along the horizontal plane of the virtual space 50 (i.e., a direction parallel to the horizontal direction of the real space) and perpendicular to the Z-axis direction is referred to as the X-axis direction. Also, a direction perpendicular to both the X-axis direction and the Z-axis direction is referred to as the Y-axis direction.
[0022] As shown in FIG. 3, the virtual space 50 has one or more contents 60 arranged along a sphere 50a centered on a virtual viewpoint 51. In this embodiment, the sphere 50a functions as a virtual omnidirectional display centered on the virtual viewpoint 51. That is, a user can freely arrange one or more contents 60 at positions along the sphere 50a to construct a dedicated work space. More specifically, a user can newly generate (arrange) the content 60 at a position along the sphere 50a, change the position of the content 60, change the size of the content 60 (enlarge or reduce), or delete the content 60. That is, various contents can be arranged in the virtual space 50 (at a position along the sphere 50a in this embodiment) according to the user's preferences.
[0023] Each content 60 has a display surface 60a that displays the contents of the content. Each content 60 is arranged so that its display surface 60a faces the center of the virtual space 50 (i.e., the virtual viewpoint 51). Specific examples of the content 60 include display information showing a user's schedule, display information showing a photo image selected by a user, display information showing a screen of a specific application (e.g., an application providing a chat function), display information showing a screen of a web browser, etc. However, the types of the content 60 are not limited to those mentioned above.
[0024] In this embodiment, as an example, the HMD 20 supports 3DoF (Degree of Freedom). That is, even if the user (i.e., the HMD 20 worn on the user's head) translates in real space, the position of the virtual viewpoint 51 relative to the virtual space 50 does not change. That is, the user's virtual viewpoint 51 is fixed at the center of the virtual space 50. In other words, when the user translates in real space, the virtual space 50 also translates together with the user by the amount of the user's movement. As a result, the user's virtual viewpoint 51 is always maintained at the center of the virtual space 50.
[0025] On the other hand, when the user rotates or tilts his / her head (i.e., the HMD 20 worn on the head) in the vertical or horizontal direction, the virtual viewing direction of the user from the virtual viewpoint 51 (direction D1 in FIG. 4) changes in response to the operation. More specifically, the virtual viewing direction of the user in the virtual space 50 is linked to the front direction of the HMD 20 in the real space. For example, when the user faces straight up in the real space and the front direction of the HMD 20 is vertically upward, the virtual viewing direction of the user in the virtual space 50 is the direction from the virtual viewpoint 51 to the zenith part P1. That is, the display unit 21 of the HMD 20 displays the scenery of the virtual space 50 (i.e., the content 60 arranged in the virtual space 50) that is within the user's field of view when the user faces the zenith part P1 from the virtual viewpoint 51. Similarly, when the user faces straight down in real space and the front direction of the HMD 20 is vertically downward, the user's virtual viewing direction in the virtual space 50 is a direction from the virtual viewpoint 51 toward the nadir P2. That is, the display unit 21 of the HMD 20 displays the scenery of the virtual space 50 (i.e., the content 60 arranged in the virtual space 50) that is within the user's field of view when facing the nadir P2 from the virtual viewpoint 51.
[0026] The example shown in Fig. 4 shows a state in which user A is standing facing the negative direction of the X-axis (leftward in the figure) and temporarily looks straight up. In this case, the front direction of the HMD 20 (i.e., the virtual viewing direction of the user in the virtual space 50) is the vertically upward direction. Also, the up-down direction of the HMD 20 (direction D2 in Fig. 4) is parallel to the X-axis direction. The up-down direction of the HMD 20 is the up-down direction of the screen displayed on the display unit 21, and corresponds to the up-down direction of the user's field of vision (i.e., the up-down direction as seen by the user).
[0027] The detection unit 12 detects the orientation of the HMD 20. For example, the detection unit 12 detects the orientation of the HMD 20 by acquiring orientation information of the HMD 20 detected by the position and orientation sensor 22 of the HMD 20. Through such processing, the detection unit 12 can detect the front direction (direction D1) and the up-down direction (direction D2) of the HMD 20.
[0028] The detection unit 12 also detects the height position in the vertical direction of the HMD 20. For example, the detection unit 12 detects the height position of the HMD 20 by acquiring position information of the HMD 20 detected by the position and orientation sensor 22 of the HMD 20. Here, the position information indicating the height position may be information indicating a position in the height direction measured by, for example, a GPS or the like, or may be information indicating a difference in height from a reference value when the height position at the time of startup of the HMD 20 is set as the reference value.
[0029] The posture determination unit 13 determines the posture of the user based on the state of the HMD 20 detected by the detection unit 12. In the present embodiment, as an example, the posture determination unit 13 determines whether or not the user is in a lying down posture with the user's face facing vertically upward (in one direction in the vertical direction). Hereinafter, first to third examples of posture determination by the posture determination unit 13 will be described.
[0030] (First example of posture determination) The posture determination unit 13 determines that the user's posture is a lying down posture when the front direction of the HMD 20 detected by the detection unit 12 faces vertically upward (positive direction in the Z-axis direction) for a predetermined threshold time or longer. The threshold time may be set fixedly by the service provider or arbitrarily by the user.
[0031] For example, when a user is in a standing or sitting position, it is considered that the user rarely looks up. Even if the user does look up, it is considered that the user rarely maintains the same posture for a long time. On the other hand, when the user is in a sleeping position, it is considered that the user continues to face vertically upward for a certain period of time. According to the first example, the sleeping posture of the user can be accurately determined based on the above concept.
[0032] (Second example of posture determination) The posture determination unit 13 determines that the user's posture is a lying down posture when the front direction of the HMD 20 currently detected by the detection unit 12 faces vertically upward and the difference ("h1-h2" or "h2-h1") between the height position h1 (first height position) of the HMD 20 currently detected by the detection unit 12 and the height position h2 (second height position) of the HMD 20 detected by the detection unit 12 at the time of starting up the HMD 20 is equal to or greater than a predetermined threshold. The threshold may be set fixedly by the service provider or arbitrarily by the user.
[0033] For example, when the user looks straight up (i.e., when the front direction of the HMD 20 faces vertically upward) while maintaining the previous posture (e.g., standing or sitting posture), it is considered that the height position of the HMD 20 will remain approximately the same as the height position at the time of startup. On the other hand, for example, when the user moves to the floor, bed, etc. and lies down thereon, it is considered that the current height position of the HMD 20 will change significantly from the height position at the time of startup of the HMD 20. According to the second example, the sleeping posture of the user can be determined with high accuracy based on the above concept.
[0034] (Third example of posture determination) When the HMD 20 is started up, if the up-down direction of the HMD 20 detected by the detection unit 12 is aligned with the horizontal direction, the posture determination unit 13 determines that the user's posture is a lying down posture.
[0035] For example, if the user is already in a lying down position when the user wears the HMD 20 and starts the HMD 20, the up-down direction of the HMD 20 is aligned with the horizontal direction at the start of the HMD 20. According to the third example, even if the user is already in a lying down position at the start of the HMD 20 as described above, the sleeping position of the user can be determined with high accuracy.
[0036] The area control unit 14 controls the range of the target area according to the user's posture determined by the posture determination unit 13. The target area is an area in the virtual space 50 that is the target of display control (control of the display direction of the content 60) by the display control unit 15. In this embodiment, since the content 60 is arranged along the spherical surface 50a of the virtual space 50, the target area is set as an area along the spherical surface 50a. As an example, the target area is set vertically above the virtual viewpoint 51 (on one side in the vertical direction). In this embodiment, the target area is set as an area including the zenith P1.
[0037] In the present embodiment, the region control unit 14 makes the range of the target region R when the posture determination unit 13 determines that the user's posture is a lying down posture larger than the range of the target region R when the posture determination unit 13 does not determine that the user's posture is a lying down posture. A specific example of the control by the region control unit 14 will be described with reference to Figs. 4 and 5.
[0038] FIG. 4 is a diagram showing an example of a target area R set for a user A who is not in a lying position. Meanwhile, FIG. 5 is a diagram showing an example of a target area R set for a user A who is in a lying position. In the example shown in FIG. 4 and FIG. 5, three contents 60A, 60B, and 60C are arranged along a spherical surface 50a above a virtual viewpoint 51 in a virtual space 50. The content 60A is arranged at a position overlapping with a zenith part P1, and the contents 60B and 60C are arranged so as to sandwich the content 60A in the X-axis direction. The contents 60B and 60C are arranged on both sides of the content 60A and spaced apart from the content 60A.
[0039] In the example of FIG. 4, user A is standing and temporarily faces vertically upward. In this case, the posture determination unit 13 determines that user A is not in a lying down posture. Then, the region control unit 14 sets the range of the target region R to a size corresponding to the case where the user's posture is not determined to be a lying down posture. As an example, the region control unit 14 sets, as the target region R, a region whose distance from the zenith part P1 along the spherical surface 50a is within a predetermined threshold value d1. The threshold value d1 may be set fixedly by the service provider or arbitrarily by the user.
[0040] In the example of FIG. 5, user A is in a sleeping posture with the top of the head facing the positive direction of the X-axis direction and facing vertically upward for a certain period of time or more. In this case, the posture determination unit 13 determines that user A is in a sleeping posture. Then, the region control unit 14 sets the range of the target region R to a size corresponding to the case where the user's posture is determined to be a sleeping posture. As an example, the region control unit 14 sets, as the target region R, a region whose distance from the zenith part P1 along the spherical surface 50a is within a predetermined threshold value d2. Here, the threshold value d2 is set to a value larger than the threshold value d1. The threshold value d2 may be set fixedly by the service provider or arbitrarily by the user.
[0041] The display control unit 15 controls the display direction of the content 60 arranged in the target region R of the virtual space 50, thereby matching the up-down direction of the content 60 with the up-down direction of the HMD 20. Note that information indicating the up-down direction of the content 60 may be associated with the content 60 in advance, for example, as meta information of the content 60. In this case, the display control unit 15 can specify the up-down direction of the content 60 by referring to the information.
[0042] With reference to FIG. 4 and FIG. 6, an example of display control by the display control unit 15 when the user is not in a lying position (for example, when the user is in a standing position) will be described. FIG. 6 shows a virtual space 50 displayed on the display unit 21 of the HMD 20 of the user A in the state shown in FIG. 4. FIG. 6 (A) shows a state before the display control by the display control unit 15 is executed, and FIG. 6 (B) shows a state after the display control by the display control unit 15 is executed. In FIG. 6, the letters "A", "B", and "C" displayed in the contents 60A, 60B, and 60C do not represent the actual display contents of the contents 60A, 60B, and 60C, but represent the display directions (vertical directions) of the contents 60A, 60B, and 60C. More specifically, the vertical directions of the letters "A", "B", and "C" correspond to the vertical directions of the respective contents 60A, 60B, and 60C. That is, in the state shown in FIG. 6 (A), the vertical directions of the respective contents 60A, 60B, and 60C coincide with the Y-axis direction. More specifically, each of the contents 60A, 60B, and 60C is arranged in the virtual space 50 with the negative direction of the Y-axis direction as the upward direction and the positive direction of the Y-axis direction as the downward direction. Meanwhile, the direction D2, which is the upward / downward direction as seen by the user A (i.e., the upward / downward direction of the HMD 20), is aligned with the X-axis direction. Therefore, the upward / downward direction of the HMD 20 and the upward / downward direction of each of the contents 60A, 60B, and 60C are mutually orthogonal. That is, as seen by the user A, each of the contents 60A, 60B, and 60C appears to be arranged horizontally.
[0043] As shown in (A) of FIG. 6, in the state shown in FIG. 4, the content 60A among the contents 60A, 60B, and 60C is arranged in the target region R. In this case, as shown in (B) of FIG. 6, the display control unit 15 controls the display direction of the content 60A arranged in the target region R in the virtual space 50 to make the up-down direction of the content 60A coincide with the up-down direction of the HMD 20 (i.e., the direction D2). As an example, the display control unit 15 changes the orientation (up-down direction) of the content 60A by rotating (rotating) the content 60A around the Z axis. The virtual space image to which the display control by the display control unit 15 is applied is transmitted from the server 10 to the HMD 20. As a result, the user A can view the content 60A arranged in a natural direction for the user A (i.e., the up-down direction for the user A coincides with the up-down direction of the content).
[0044] Next, an example of display control by the display control unit 15 when the user is in a lying down position will be described with reference to Fig. 5 and Fig. 7. Fig. 7 shows a virtual space 50 displayed on the display unit 21 of the HMD 20 of the user A in the state shown in Fig. 5. Fig. 7(A) shows a state before the display control by the display control unit 15 is executed, and Fig. 7(B) shows a state after the display control by the display control unit 15 is executed.
[0045] As shown in (A) of FIG. 7, in the state shown in FIG. 5, the range of the target region R is set larger than that in the state shown in FIG. 4. Therefore, all of the contents 60A, 60B, and 60C are arranged in the target region R. In this case, as shown in (B) of FIG. 7, the display control unit 15 controls the display direction of each of the contents 60A, 60B, and 60C arranged in the target region R in the virtual space 50, thereby matching the up-down direction of the contents 60A, 60B, and 60C with the up-down direction of the HMD 20 (i.e., the direction D2). The virtual space image to which the display control by the display control unit 15 is applied is transmitted from the server 10 to the HMD 20. As a result, the user A can view the contents 60A, 60B, and 60C arranged in a natural direction for the user A.
[0046] Note that a specific method for determining whether or not the content is placed in the target area R is not particularly limited. For example, if the entire content is included in the target area (overlaps with the target area), the content may be determined to be placed in the target area, or if at least a part of the content is included in the target area. In this embodiment, whether or not the content is placed in the target area R is determined by the latter method.
[0047] The virtual space 50 generated by the virtual space generating unit 11 may be shared by multiple users (i.e., multiple HMDs 20 connected to the server 10). In this case, for example, when one user edits the content 60 in the virtual space 50 (for example, changing display information displayed on the display surface 60a of the content 60, adding a new content 60, changing the position of the content 60, deleting the content 60, etc.), the content of the edit is shared by the multiple users. That is, the edit content of the content 60 performed by one user in the virtual space 50 is also reflected in the virtual space displayed on the display unit 21 of the HMD 20 of the other users. Here, the virtual viewpoint 51 of each of the multiple users is disposed at the center of the virtual space 50, but the viewing direction (direction D1) from the virtual viewpoint 51 of each user changes depending on the direction of the HMD 20 worn on the head of each user. That is, a common virtual space 50 is provided to the multiple users, but the content (range of the virtual space 50) displayed on the display unit 21 of the HMD 20 of each user differs depending on the direction in which each user is facing. Furthermore, the server 10 communicates with each of the multiple HMDs 20 individually, and among the functions of the server 10 described above, the processes of the detection unit 12, the posture determination unit 13, the area control unit 14, and the display control unit 15 are executed independently for each user (i.e., for each HMD 20). As a result, for a user who looks straight up for a short time in a standing posture as shown in Fig. 4, a virtual space image showing a virtual space 50 in which the display direction of only the content 60A is controlled as shown in (B) of Fig. 6 is presented. On the other hand, for a user who looks straight up for a long time in a lying posture as shown in Fig. 5, a virtual space image showing a virtual space 50 in which the display directions of all of the contents 60A, 60B, and 60C are controlled as shown in (B) of Fig. 7 is presented.
[0048] According to the above configuration, when a common virtual space 50 is shared by multiple users, the display direction of the content 60 is controlled individually for each user, making it possible to provide each user with a virtual space in which the display direction of the content is appropriately controlled according to the posture of each user.
[0049] Next, an example of the operation of the virtual space providing system 1 (including the virtual space providing method according to the embodiment) will be described with reference to Fig. 8. Here, the description will focus on the process executed between the HMD 20 of a particular user and the server 10.
[0050] In step S1, the virtual space generating unit 11 generates the virtual space 50.
[0051] In step S2, when the HMD 20 is started up by turning on the power button or the like while the HMD 20 is worn on the user's head, the position and orientation sensor 22 detects the height position and orientation (directions D1, D2 in Figures 4 and 5) of the HMD 20 at the time of startup.
[0052] In step S3, position information indicating the height position and orientation information indicating the orientation of the HMD 20 at the time of startup, detected by the position and orientation sensor 22, are transmitted from the HMD 20 to the server 10. As a result, the detection unit 12 detects the height position and orientation of the HMD 20 at the time of startup.
[0053] In step S4, content display control is executed when the HMD 20 is started up. In this embodiment, the display control is executed based on the third example of the posture determination described above. Fig. 9 is a flowchart showing an example of the process of step S4.
[0054] In step S41, the posture determination unit 13 determines whether or not the up-down direction of the HMD 20 detected by the detection unit 12 when the HMD 20 is started up (direction D2 in FIGS. 4 and 5) is aligned with the horizontal direction.
[0055] If it is determined that the up-down direction at the time of starting up the HMD 20 is along the horizontal direction (step S41: YES), the posture determination unit 13 determines that the user's posture is a lying posture (step S42). On the other hand, if it is not determined that the up-down direction at the time of starting up the HMD 20 is along the horizontal direction (step S41: NO), the posture determination unit 13 does not determine that the user's posture is a lying posture.
[0056] In step S43, the region control unit 14 determines the range of the target region according to the user's posture determined by the posture determination unit 13. The region control unit 14 sets the range of the target region R when the posture determination unit 13 determines that the user's posture is a sleeping posture to be larger than the range of the target region R when the posture determination unit 13 does not determine that the user's posture is a sleeping posture. In this embodiment, when the user's posture is not determined to be a sleeping posture, as shown in (A) of FIG. 4 and FIG. 6, the region control unit 14 sets a relatively small target region R (for example, a region where the distance from the zenith P1 along the spherical surface 50a is within a threshold value d1). On the other hand, when the user's posture is determined to be a sleeping posture, as shown in (A) of FIG. 5 and FIG. 7, the region control unit 14 sets a relatively large target region R (for example, a region where the distance from the zenith P1 along the spherical surface 50a is within a threshold value d2).
[0057] In step S44, the display control unit 15 determines whether or not there is a content 60 arranged in the target region R. If there is a content 60 arranged in the target region R (step S44: YES), the display control unit 15 controls the display direction of the content 60 to make the up-down direction of the content 60 coincide with the up-down direction of the HMD 20 (step S45). That is, when the content 60A is arranged in the target region R as shown in FIG. 6A, the display control unit 15 makes the up-down direction of the content 60A coincide with the up-down direction of the HMD 20 as shown in FIG. 6B. Also, when the contents 60A, 60B, and 60C are arranged in the target region R as shown in FIG. 7A, the display control unit 15 makes the up-down direction of each of the contents 60A, 60B, and 60C coincide with the up-down direction of the HMD 20 as shown in FIG. 7B. On the other hand, if there is no content 60 arranged in the target region R (step S44: NO), the display control unit 15 does not execute the display control.
[0058] 8, in step S5, a virtual space image showing the virtual space 50 generated by the virtual space generation unit 11 (the virtual space 50 in a state after the processing of step S4 has been executed) is transmitted from the server 10 to the HMD 20. Specifically, a virtual space image according to the viewing direction (direction D1 in FIGS. 4 and 5) determined based on the orientation of the HMD 20 is transmitted from the server 10 to the HMD 20.
[0059] In step S6, the display unit 21 displays the virtual space image received from the server 10. Note that the rendering process of the virtual space image to be displayed on the display unit 21 may be executed on the server 10 side or on the HMD 20 side. When the rendering process is executed on the HMD 20 side, data required for the rendering process is transmitted from the server 10 to the HMD 20 in step S5.
[0060] Then, the processes of steps S7 to S11 are continuously executed.
[0061] The process of step S7 is similar to the process of step S2. That is, in step S7, the position and orientation sensor 22 detects the height position and orientation of the HMD 20 (directions D1 and D2 in FIGS. 4 and 5).
[0062] The process of step S8 is the same as the process of step S3. That is, in step S8, position information indicating the height position of the HMD 20 at the time of startup detected by the position and orientation sensor 22 and orientation information indicating the orientation are transmitted from the HMD 20 to the server 10.
[0063] In step S9, display control of content for continuous execution after startup of the HMD 20 is executed. In this embodiment, display control based on the first and second examples of posture determination described above is executed. Fig. 10 is a flowchart showing an example of the process of step S9. Note that the processes of steps S93 to S96 in Fig. 10 are the same as the processes of steps S42 to S45 in Fig. 9, and therefore detailed description thereof will be omitted.
[0064] In step S91, the posture determination unit 13 executes the process of the first example of posture determination described above. That is, the posture determination unit 13 determines whether or not a state in which the front direction of the HMD 20 (direction D1 in Figs. 4 and 5) detected by the detection unit 12 faces vertically upward continues for a predetermined threshold time or more. If it is determined that the state in which the front direction of the HMD 20 faces vertically upward continues for the threshold time or more (step S91: YES), the posture determination unit 13 determines that the user's posture is a lying down posture (step S93), and executes the processes of steps S94 to S96.
[0065] On the other hand, if it is not determined that the state in which the front direction of the HMD 20 faces vertically upward continues for the threshold time or more (step S91: NO), the posture determination unit 13 executes the process of the second example of posture determination described above. That is, the posture determination unit 13 determines whether or not the front direction of the HMD 20 detected by the detection unit 12 at the current time faces vertically upward and the difference ("h1-h2" or "h2-h1") between the height position h1 (first height position) of the HMD 20 detected by the detection unit 12 at the current time and the height position h2 (second height position) of the HMD 20 detected by the detection unit 12 at the time of starting up the HMD 20 is equal to or greater than a predetermined threshold. If it is determined that the difference is equal to or greater than the threshold (step S92: YES), the posture determination unit 13 determines that the user's posture is a lying posture (step S93), and executes the processes of steps S94 to S96. On the other hand, if it is not determined that the difference is equal to or greater than the threshold value (step S92: NO), the posture determining unit 13 does not determine that the user's posture is a lying down posture, and executes the processes of steps S94 to S96.
[0066] In the example of FIG. 10, the judgment process of step S91 (first example of posture judgment) is performed before the judgment process of step S92 (second example of posture judgment), but the judgment process of step S92 may be performed before the judgment process of step S91.
[0067] 8, in step S10, a virtual space image showing the virtual space 50 generated by the virtual space generation unit 11 (the virtual space 50 in a state after the processing of step S9 has been executed) is transmitted from the server 10 to the HMD 20. Specifically, a virtual space image according to a viewing direction (direction D1 in FIGS. 4 and 5) determined based on the orientation of the HMD 20 is transmitted from the server 10 to the HMD 20.
[0068] In step S11, the display unit 21 displays the virtual space image received from the server 10.
[0069] In the server 10 described above, the display direction of only the content 60 arranged in the target area R among the content 60 arranged in the virtual space 50 is controlled so that the up-down direction of the content 60 coincides with the up-down direction of the HMD 20. In this way, by limiting the range (target area R) of the content 60 whose display direction is to be controlled, it is possible to reduce the amount of calculation required for display control. In addition, by controlling the range of the target area R according to the user's posture determined based on the state of the HMD 20, it is possible to appropriately set the range of the content 60 whose display is to be controlled according to the user's posture, thereby maintaining user convenience.
[0070] In addition, the virtual viewpoint 51 may be disposed at the center of the virtual space 50, the viewing direction from the user's virtual viewpoint 51 (direction D1 in FIG. 4 and FIG. 5) may change according to the orientation of the HMD 20, the target area R may be set at least to one side in the vertical direction of the virtual viewpoint 51 (vertically upward in this embodiment), and the area control unit 14 may set the range of the target area R when the posture determination unit 13 determines that the user's posture is a lying posture with the user's face facing one side in the vertical direction to be larger than the range of the target area R when the posture determination unit 13 does not determine that the user's posture is a lying posture. For example, when the user only turns directly upward temporarily in a posture other than the lying posture (for example, a standing posture, a sitting posture, etc.), the user's viewing range is limited. For example, since the user is unlikely to take a posture in which he / she leans back significantly (for example, a posture when doing a bridge), the user is unlikely to look behind the user's face (directly above the head). On the other hand, when the user is lying down, the user's viewing range is wider than when the user is in a posture other than the lying posture. That is, even if the user's viewing direction is the same, the range of the display area of the display unit 21 that the user mainly sees may differ depending on the user's posture. Specifically, when the user is in a lying down position, the range of the display area of the display unit 21 that the user sees is wider than when the user is in a position other than the lying down position. Therefore, according to the above configuration, when the user is in a lying down position (in this embodiment, lying down on one's back), the target area is widened to widen the range of the content 60 that is the subject of the control of the display direction, thereby effectively improving the user's convenience.
[0071] In the above embodiment, the case where "one side in the vertical direction" is vertically upward has been described. That is, the case where the target area R is set vertically upward from the virtual viewpoint 51 (a portion including the zenith part P1) has been described. Here, "one side in the vertical direction" may be vertically downward, and the target area R may be set vertically downward from the virtual viewpoint 51 (for example, a portion including the nadir part P2). In this case, the same effect as in the above embodiment can be achieved. That is, when the user is in a sleeping position (in this case, the user is in a lying position in a prone state facing vertically downward), the target area is expanded to expand the range of the content 60 to be controlled in the display direction, thereby effectively improving the convenience of the user.
[0072] Furthermore, the display control unit 15 may perform display control of the content 60 as described below.
[0073] (First Modification of Display Control) The function of changing the display direction of the content 60 may be configured to be able to be disabled for each piece of content 60. In this case, the display control unit 15 may be configured not to control the display direction of the content 60 for the piece of content 60 arranged in the target region R for which the function is disabled.
[0074] For example, as shown in FIG. 11, three contents 60A, 60B, and 60C are related to each other, and when the arrangement and orientation of the three contents 60A, 60B, and 60C are changed, the relationship between the contents 60A, 60B, and 60C may be lost. In the example of FIG. 11, an arrow indicating the location of the content 60B is displayed in the content 60A so that the content 60B is referenced next to the content 60A. Also, an arrow indicating the location of the content 60C is displayed in the content 60B so that the content 60C is referenced next to the content 60B. Here, the content 60B is placed in the target area R. In this case, according to the display control of the display control unit 15 described in the above embodiment, the content 60B is rotated so that the up-down direction of the content 60B coincides with the up-down direction (direction D2) of the HMD 20. As a result, the content 60C does not exist at the tip of the arrow displayed in the content 60B, and the relationship between the content 60B and the content 60C is lost.
[0075] Furthermore, if the target area R contains not only content 60B but also content 60A, content 60A will rotate along with content 60B, and content 60B will no longer be at the end of the arrow displayed in content 60A, thereby disrupting the relationship between content 60A and content 60B.
[0076] Therefore, in such a case, the function for changing the display direction of the contents 60A, 60B, and 60C may be set to be disabled. By disabling the above function of the contents 60A, 60B, and 60C, the contents 60A, 60B, and 60C can be excluded from the control targets even if the contents 60A, 60B, and 60C are arranged in the target area R. As a result, it is possible to prevent the relationship between the contents from being destroyed by the above-mentioned control of the display direction of the contents (rotation of the contents).
[0077] As another example, the content 60 may have no concept of up, down, left, or right, such as when the display information displayed on the display surface 60a of the content 60 is rotationally symmetrical about the axis of the direction in which the content 60 is viewed from the virtual viewpoint 51. For such content 60, there is no point in controlling the display direction according to the up and down direction of the HMD 20. Therefore, for such content 60, the function of changing the display direction may be set to be disabled. As a result, unnecessary display control can be omitted, and the amount of calculation can be further reduced.
[0078] Note that, for example, whether or not to disable the above-mentioned function of the content 60 may be arbitrarily set by the user. Alternatively, as in the example shown in Fig. 11, when there is a relationship between a plurality of contents 60A, 60B, and 60C, the display control unit 15 may automatically disable the above-mentioned function of the contents 60A, 60B, and 60C by referring to information on the above-mentioned relationship embedded in the contents 60A, 60B, and 60C.
[0079] (Second Modification of Display Control) Consider the case where rectangular content 60A is placed in target region R as shown in (A) of FIG. 12. In this case, when the display direction of content 60A is controlled (i.e., content 60A is rotated) so that the up-down direction of content 60A coincides with the up-down direction of HMD 20 (direction D2), content 60A may interfere with other content 60B as shown in (B) of FIG. 12. That is, a part of one of contents 60A and 60B (content 60A in this example) may overlap with the other of contents 60A and 60B (content 60B in this example) and be hidden. When such a situation occurs, the user cannot view the part that is hidden as described above, which reduces user convenience.
[0080] Therefore, when the display control unit 15 controls the display direction of a first content (content 60A in the example of FIG. 12) arranged in the target region R, if the first content overlaps with a second content (content 60B in the example of FIG. 12) other than the first content, the display control unit 15 may transparently display the first content or the second content. For example, as shown in (A) of FIG. 13, the display control unit 15 may display a part of the content 60B that overlaps with the content 60A semi-transparently. As a result, the part of the content 60A that overlaps with the content 60B can be visually recognized, improving user convenience.
[0081] Alternatively, when the display control unit 15 controls the display direction of a first content (content 60A in the example of FIG. 12) arranged in the target region R, if the first content overlaps with a second content (content 60B in the example of FIG. 12) other than the first content, the display control unit 15 may change the arrangement of at least one of the first content and the second content so that the first content and the second content do not overlap. For example, as shown in (B) of FIG. 13, the display control unit 15 may eliminate the situation in which the content 60A and the content 60B overlap by slightly shifting the position of the content 60B to the lower right as viewed from the user. As a result, the visibility of each of the contents 60A and 60B is improved, thereby improving the convenience for the user.
[0082] (Other variations) In the above embodiment, each piece of content 60 is placed at a position along the spherical surface 50a, but the position at which the content 60 is placed in the virtual space 50 is not limited to the above. For example, the content may be placed at a position away from the spherical surface 50a (at a position closer to the virtual viewpoint 51 than the position at which the content 60 is placed in the above embodiment). In addition, the position at which the target area R is set in the virtual space 50 may also be changed accordingly.
[0083] In addition, in the above embodiment, a spherical virtual space 50 is exemplified, but a virtual space having a shape other than a sphere (for example, a cubic virtual space representing a virtual room space) may be generated by the virtual space generation unit 11.
[0084] In the above embodiment, the content is configured as a planar object with one surface (the surface facing the virtual viewpoint 51) serving as the display surface, but the shape of the content placed in the virtual space 50 may be a shape other than the above (for example, a three-dimensional shape). The shape of the small content may also be changed depending on the shape of the content.
[0085] In addition, in the above embodiment, the server 10 functions as a virtual space providing device, but the functions of the server 10 may be implemented in the HMD 20. In this case, the HMD 20 functions as a virtual space providing device. In addition, some of the functions of the server 10 described above may be executed by the HMD 20. In this case, the server 10 and the HMD 20 function as a virtual space providing device.
[0086] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of at least one of hardware and software. The method of realizing each functional block is not particularly limited. That is, each functional block may be realized by using one device that is physically or logically combined, or may be realized by using two or more devices that are physically or logically separated and directly or indirectly connected (for example, by wire, wirelessly, etc.). The functional blocks may be realized by combining the one device or the multiple devices with software.
[0087] Functions include, but are not limited to, judging, determining, assessing, calculating, processing, deriving, investigating, searching, verifying, receiving, sending, outputting, accessing, resolving, selecting, choosing, establishing, comparing, anticipating, expecting, regarding, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, and assigning.
[0088] For example, the server 10 according to an embodiment of the present disclosure may function as a computer that performs the virtual space providing method of the present disclosure. Fig. 14 is a diagram showing an example of a hardware configuration of the server 10 according to an embodiment of the present disclosure. The server 10 may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
[0089] In the following description, the term "apparatus" may be replaced with a circuit, a device, a unit, etc. The hardware configuration of the server 10 may be configured to include one or more of the devices shown in FIG. 14, or may be configured to exclude some of the devices. The HMD 20 may also have a hardware configuration similar to the hardware configuration of the server 10 shown in FIG. 14.
[0090] Each function of the server 10 is realized by loading a specific software (program) onto hardware such as a processor 1001 and a memory 1002, so that the processor 1001 performs calculations, controls communications via a communication device 1004, and controls at least one of reading and writing of data in the memory 1002 and the storage 1003.
[0091] The processor 1001 controls the entire computer by running, for example, an operating system. The processor 1001 may be configured with a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, and the like.
[0092] Moreover, the processor 1001 reads out a program (program code), a software module, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes according to the programs. As the programs, programs that cause a computer to execute at least a part of the operations described in the above-mentioned embodiments are used. For example, each functional unit of the server 10 (e.g., the display control unit 15, etc.) may be realized by a control program stored in the memory 1002 and operated in the processor 1001, and other functional blocks may be similarly realized. Although the above-mentioned various processes have been described as being executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The programs may be transmitted from a network via a telecommunication line.
[0093] The memory 1002 is a computer-readable recording medium, and may be composed of at least one of, for example, a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a random access memory (RAM), etc. The memory 1002 may be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store a program (program code), software module, etc. that can be executed to implement a virtual space providing method according to an embodiment of the present disclosure.
[0094] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, and the like. Storage 1003 may be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other suitable medium including at least one of memory 1002 and storage 1003.
[0095] The communication device 1004 is hardware (transmission / reception device) for performing communication between computers via at least one of a wired network and a wireless network, and is also called, for example, a network device, a network controller, a network card, or a communication module.
[0096] The input device 1005 is an input device (e.g., a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that accepts input from the outside. The output device 1006 is an output device (e.g., a display, a speaker, an LED lamp, etc.) that performs output to the outside. The input device 1005 and the output device 1006 may be integrated into one device (e.g., a touch panel).
[0097] In addition, each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.
[0098] The server 10 may also be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc., and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
[0099] Although the present embodiment has been described in detail above, it is clear to those skilled in the art that the present embodiment is not limited to the embodiment described in this specification. The present embodiment can be implemented as a modified or altered form without departing from the spirit and scope of the present invention defined by the description of the claims. Therefore, the description in this specification is intended to be illustrative and does not have any limiting meaning on the present embodiment.
[0100] The order of the steps, sequences, flow charts, etc. of each aspect / embodiment described in this disclosure may be changed unless inconsistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.
[0101] The input and output information may be stored in a specific location (e.g., memory) or may be managed using a management table. The input and output information may be overwritten, updated, or added to. The output information may be deleted. The input information may be transmitted to another device.
[0102] The determination may be based on a value represented by a single bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
[0103] Each aspect / embodiment described in this disclosure may be used alone, in combination, or switched according to execution. In addition, notification of specific information (e.g., notification that "X is the case") is not limited to being done explicitly, but may be done implicitly (e.g., not notifying the specific information).
[0104] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0105] Additionally, software, instructions, information, etc. may be transmitted or received over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using wired and / or wireless technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave, etc.), then these wired and / or wireless technologies are included within the definition of transmission media.
[0106] The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, the data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
[0107] Furthermore, the information, parameters, etc. described in this disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information.
[0108] The names used for the above-mentioned parameters are not limiting in any way. Furthermore, the formulas etc. using these parameters may differ from those explicitly disclosed in this disclosure. The various information elements may be identified by any suitable names, and the various names assigned to these various information elements are not limiting in any way.
[0109] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0110] Any reference to an element using a designation such as "first," "second," etc., used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must precede the second element in some way.
[0111] When the terms "include," "including," and variations thereof are used in this disclosure, these terms are intended to be inclusive, similar to the term "comprising." Further, when used in this disclosure, the term "or" is not intended to be an exclusive or.
[0112] In this disclosure, where articles have been added due to translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are in the plural form.
[0113] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different." [Explanation of symbols]
[0114] 1...virtual space providing system, 10...server (virtual space providing device), 11...virtual space generation unit, 12...detection unit, 13...posture determination unit, 14...area control unit, 15...display control unit, 20...HMD, 21...display unit, 22...position and orientation sensor, 50...virtual space, 51...virtual viewpoint, 60, 60A, 60B, 60C...content, R...target area.
Claims
1. a virtual space generating unit that generates a virtual space that includes a user's virtual viewpoint and in which virtual content is placed; a detection unit that detects an orientation of a head mounted display that is worn on the user's head and displays a part of the virtual space within a field of view from the virtual viewpoint; a display control unit that controls a display direction of the content arranged in a target area of the virtual space to match a vertical direction of the content with a vertical direction of the head mounted display; a posture determination unit that determines a posture of the user based on a state of the head mounted display; a region control unit that determines a range of the target region in accordance with the posture of the user determined by the posture determination unit; A virtual space providing device comprising:
2. the virtual viewpoint is located at the center of the virtual space; a viewing direction from the virtual viewpoint of the user changes according to an orientation of the head mounted display; the target area is set on at least one side in a vertical direction of the virtual viewpoint, The region control unit sets a range of the target region when the posture determination unit determines that the posture of the user is a sleeping posture with the face of the user facing the one side in the vertical direction to be larger than a range of the target region when the posture determination unit does not determine that the posture of the user is the sleeping posture. The virtual space providing device according to claim 1 .
3. the posture determination unit determines that the posture of the user is the sleeping posture when a state in which the front direction of the head mounted display detected by the detection unit faces the one side in the vertical direction continues for a predetermined threshold time or more. The virtual space providing device according to claim 2 .
4. The detection unit detects a height position of the head mounted display in a vertical direction, the posture determination unit determines that the posture of the user is the sleeping posture when the front direction of the head mounted display currently detected by the detection unit faces toward one side in the vertical direction, and a difference between a first height position of the head mounted display currently detected by the detection unit and a second height position of the head mounted display detected by the detection unit at the time of start-up of the head mounted display is equal to or greater than a predetermined threshold value; The virtual space providing device according to claim 2 .
5. the posture determination unit determines that the posture of the user is the lying down posture when the up-down direction of the head mounted display detected by the detection unit at the time of starting up the head mounted display is aligned with a horizontal direction. The virtual space providing device according to claim 2 .
6. A function for changing the display direction of the content can be set to be disabled for each of the content, the display control unit does not control the display direction of the content for which the function is set to be disabled among the content arranged in the target area. The virtual space providing device according to claim 1 .
7. the display control unit, when controlling a display direction of a first content arranged in the target area, causes the first content or the second content to be transparently displayed when the first content overlaps with a second content other than the first content. The virtual space providing device according to claim 1 .
8. when the display control unit controls a display direction of a first content arranged in the target area, and when the first content overlaps with a second content other than the first content, the display control unit changes an arrangement of at least one of the first content and the second content so that the first content and the second content do not overlap. The virtual space providing device according to claim 1 .
9. The virtual space is shared by a plurality of users; the virtual viewpoint of each of the plurality of users is disposed at a center of the virtual space; a viewing direction from the virtual viewpoint of each of the plurality of users changes according to an orientation of the head mounted display attached to the head of each of the users; The processes of the detection unit, the display control unit, the posture determination unit, and the area control unit are executed independently for each user. The virtual space providing device according to claim 1 .
Citation Information
Patent Citations
Information terminal and display switching method
JP2011203860A
Display control device, display control method, and program
JP2016110319A
Computer program
JP2016177748A
Disabling an automatic rotation function of mobile computing devices
US20120147047A1