The present invention relates to an information processing device and an information processing method which process data relating to a head-mounted display.
An image display system which allows a user wearing a head-mounted display to view a target space from free viewpoints is widely used. For example, there is known electronic content which has, for example, a virtual three-dimensional space as a display target and causes an image corresponding to a direction of the line of sight of the user to be displayed on the head-mounted display, thereby realizing virtual reality (VR). It is also possible to increase, by using the head-mounted display, a sense of immersion into a video or to increase operability of an application such as a game. Moreover, there has also been developed a walkthrough system which allows a user wearing a head-mounted display to virtually walk around in a space displayed as video by physically moving.
It is required to limit a movable range of the user wearing the head-mounted display during the play of the application according to an environment such as a size of a room of the user and installed furniture and luggage in the room of the user. Meanwhile, there is such a dilemma that the original amusement property of content is lost or the user is stressed due to excessive restriction.
The present invention has been made in view of the problem described above and has an objective to provide a technology which enables easy and appropriate setting of a play area in which a user wearing a head-mounted display can move.
In order to solve the problem described above, one aspect of the present invention relates to an information processing device. This information processing device includes a camera image acquisition section that acquires data regarding a camera image which is captured by a camera mounted to a head-mounted display and in which a surrounding space of a user appears, a play area setting section that detects an obstacle in the surrounding space on the basis of the camera image and sets, on the basis of a result of the detection, a play area in which the user is allowed to move, and a warning processing section that executes warning processing for the user according to a relation between a position of the user during play of an application that uses the head-mounted display and a boundary of the play area. The play area setting section identifies a positional relation between the boundary of the set play area and a newly detected obstacle and determines whether or not to correct the boundary of the play area according to a result of the identification.
Another aspect of the present invention relates to an information processing method. This information processing method includes a step of acquiring data regarding a camera image which is captured by a camera mounted to a head-mounted display and in which a surrounding space of a user appears, a step of detecting an obstacle in the surrounding space on the basis of the camera image and setting, on the basis of a result of the detection, a play area in which the user is allowed to move, and a step of executing warning processing for the user according to a relation between a position of the user during play of an application that uses the head-mounted display and a boundary of the play area. The step of setting the play area identifies a positional relation between the boundary of the set play area and a newly detected obstacle and determines whether or not to correct the boundary of the play area according to a result of the identification.
Note that any combination of the foregoing components and any conversion of the expressions of the present invention from/to systems, computer programs, recording media having recorded thereon computer programs in a readable manner, data structures, and the like are also effective as aspects of the present invention.
According to the present invention, it is possible to easily and appropriately set the play area in which the user wearing the head-mounted display is allowed to move.
The present embodiment relates to an image display system which displays an image of an application on a head-mounted display worn on a head portion of a user.
The output mechanism section 102 includes a housing 108 having such a shape as to cover the left and right eyes in a state in which the user is wearing the head-mounted display 100, and is internally provided with a display panel facing the eyes at the time of the wearing. It is assumed that the display panel of the head-mounted display 100 according to the present embodiment does not have transparency. That is, the head-mounted display 100 is a non-transmissive head-mounted display.
Inside the housing 108, there may further be provided ocular lenses each of which is positioned between the display panel and the eye of the user when the head-mounted display 100 is worn and which extends the viewing angle of the user. The head-mounted display 100 may further include speakers or earphones at positions corresponding to the ears of the user at the time of the wearing. Moreover, the head-mounted display 100 incorporates a motion sensor and detects a translational motion and a rotational motion and further a position and a posture of the head portion of the user wearing the head-mounted display 100 at each time.
Moreover, the head-mounted display 100 includes a stereo camera 110 on a front surface of the housing 108. The stereo camera 110 captures a surrounding real space as a moving image in a field of view corresponding to the line of sight of the user. When the captured image is caused to be immediately displayed, what is generally called video see-through in which a scene of the real space in a direction toward which the user is facing is directly viewed can be achieved. Further, when a virtual object is drawn on an image of actual objects appearing in the captured image, augmented reality (AR) can be achieved.
The image generation device 200 is an information processing device which identifies the positions of the viewpoints and the direction of the line of sight on the basis of the position and the posture of the head portion of the user wearing the head-mounted display 100, generates a display image such that a field of view corresponding thereto is achieved, and outputs the display image to the head-mounted display 100. For example, the image generation device 200 may generate, as the display image, a virtual world being a stage of an electronic game, while causing the game to progress, or may cause a moving image of either the virtual world or the real world for viewing or information provision to be displayed. Moreover, it is possible to give a deep sense of immersion into the displayed world to the user by causing a panorama image, which has a wide angle of view around the viewpoints of the user as the center, to be displayed on the head-mounted display 100. Note that the image generation device 200 may be a stationary type game machine or a personal computer (PC).
The controller 140 is a controller (for example, a game controller) which is held by the hands of the user and to which operations performed by the user for controlling the image generation in the image generation device 200 and the image display in the head-mounted display 100 are input. The controller 140 is connected to the image generation device 200 via wireless communication. As a modification example, one of or both the head-mounted display 100 and the controller 140 may be connected to the image generation device 200 through use of wired communication via a signal cable or the like.
The image generation device 200 acquires the positions of the viewpoints and the direction of the line of sight (hereinafter, they are sometimes comprehensively referred to as a “viewpoint”) of the user 12 at a predetermined rate from the head-mounted display 100 and changes the position and the direction of the view screen 14 according thereto. As a result, the image can be caused to be displayed on the head-mounted display 100 in the field of view corresponding to the viewpoints of the user. Moreover, when the image generation device 200 generates stereo images having parallax and causes the stereo images to be displayed on left and right regions of the display panel of the head-mounted display 100, stereoscopy of the virtual space for the user 12 can also be achieved. As a result, the user 12 can experience virtual reality as if the user 12 were present in the room of the displayed world.
The communication section 232 includes a peripheral device interface such as a universal serial bus (USB) interface and an Institute of Electrical and Electronics Engineers (IEEE) 1394 interface and a network interface such as that for a wired local area network (LAN) or a wireless LAN. The storage section 234 includes a hard disk drive, a nonvolatile memory, and the like. The output section 236 outputs data to the head-mounted display 100. The input section 238 receives data input from the head-mounted display 100 and receives data input from the controller 140. The recording medium drive section 240 drives a removable recording medium such as an optical disc, a magneto-optical disc, or a semiconductor memory.
The CPU 222 executes an operating system stored in the storage section 234, thereby controlling the entire image generation device 200. Moreover, the CPU 222 executes various types of programs (for example, a VR game application or the like) read from the storage section 234 or the removable recording medium and loaded on the main memory 226 or downloaded via the communication section 232. The GPU 224 has a function of a geometry engine and a function of a rendering processor, executes drawing processing according to a drawing command from the CPU 222, and outputs a drawing result to the output section 236. The main memory 226 includes a random access memory (RAM) and stores programs and data required for processing.
The CPU 120 processes information acquired from each section of the head-mounted display 100 via the bus 128 and supplies data regarding the display image acquired from the image generation device 200 and sound to the display section 124 and the sound output section 126, respectively. The main memory 122 stores programs and data required for the processing in the CPU 120.
The display section 124 includes the display panel such as a liquid crystal panel or an organic electroluminescent (EL) panel and displays an image in front of the user wearing the head-mounted display 100. The display section 124 may achieve stereoscopy by displaying a pair of stereo images in regions corresponding to the left and right eyes. The display section 124 may further include the lenses each of which is positioned between the display panel and the eye of the user when the head-mounted display 100 is worn and extends the viewing angle of the user.
The sound output section 126 includes speakers or earphones provided at the positions corresponding to the ears of the user when the head-mounted display 100 is worn and allows the user to listen to sound. The communication section 132 is an interface which transmits and receives data to and from the image generation device 200, and achieves the communication through use of a known wireless communication technology such as Bluetooth (registered trademark). The motion sensor 134 includes a gyro sensor and an acceleration sensor and acquires an angular velocity and acceleration of the head-mounted display 100.
The stereo camera 110 is a pair of video cameras which captures the surrounding real space within the field of view corresponding to the viewpoints of the user from left and right viewpoints as illustrated in
In the image display system according to the present embodiment, there is set a play area defining a range of the real world in which the user wearing the head-mounted display 100 can move during the play of the application. The play area is considered as an area or a range which is a part of the surrounding space of the user (a space of the real world extending around the user) and in which the user is allowed to move around while the user is viewing an image of a virtual reality (hereinafter also referred to as a “VR image”). In a case in which the user is departing or has departed from the play area during the play of the application, the image display system provides, to the user, warning having such a content that paying attention is prompted or such a content that returning to the play area is prompted.
It is assumed that the application described above is a game application which causes the VR image to be displayed on the head-mounted display 100 and is hereinafter also referred to as a “VR game.” For example, the VR game may be a tennis game which causes a VR image indicating a tennis court of the virtual world to be displayed and changes a position of a character on the tennis court in the virtual world according to a movement (such as walking) of the user in the real world.
In the present embodiment, the image generation device 200 automatically detects the play area in which the user wearing the head-mounted display 100 can move during the play of the application. At this time, the image generation device 200 identifies a position and a shape of each of surrounding objects in the real space captured by the stereo camera 110 of the head-mounted display 100, thereby determining the range in which the user can move without colliding with these objects. The image generation device 200 may further receive an operation performed by the user for editing the automatically detected play area and may change a shape of the play area according to this operation. As a result, the user can efficiently set the play area in any shape.
Moreover, the plurality of functional blocks illustrated in
The image generation device 200 includes a data processing section 250 and a data storage section 252. The data processing section 250 executes various types of data processing. The data processing section 250 transmits and receives data to and from the head-mounted display 100 and the controller 140 via the communication section 232, the output section 236, and the input section 238 illustrated in
The data storage section 252 includes an application storage section 254, a play area storage section 256, and a map storage section 258. The application storage section 254 stores data regarding the application (the VR game in the embodiment) which generates the VR image. The play area storage section 256 stores data relating to the play area. The data relating to the play area includes data indicating positions of a point group (for example, coordinate values of each point in the world coordinate system) forming a boundary of the play area.
The map storage section 258 stores map data for estimating a position of the head-mounted display 100 (that is, a position of the user wearing the head-mounted display 100). The map data according to the present embodiment includes a set of images each of which is an image (feature points appearing in this image) in which the room in which the user plays the VR game appears and is an image (feature points appearing in this image) in which positional relations (positions and directions) have been determined. Specifically, the map data includes a plurality of sets each associating the position of the head-mounted display 100, the line-of-sight direction, and a keyframe. Note that the map data may include other items required for what is generally called self-position estimation.
A keyframe in a certain set is data indicating features of an image seen at the position and the line-of-sight direction in the same set. The keyframe is an image generated on the basis of the camera image captured by the stereo camera 110 of the head-mounted display 100 and is an image including feature points equal to or more than a predetermined number. The number of feature points to be included in the keyframe may be 24 or more. The feature point may include a corner detected by a publicly-known corner detection method or may also be detected on the basis of a gradient of luminance. The keyframe is also considered as a set of partial images cut out from the camera image.
The data processing section 250 includes a system section 260, an application execution section 290, and a display control section 292. Functions of the plurality of functional blocks mentioned above may be implemented in a computer program. The CPU 222 and the GPU 224 of the image generation device 200 may implement the functions of the plurality of functional blocks described above by reading the computer program described above from the storage section 234 or a recording medium to the main memory 226 and then executing the computer program.
The application execution section 290 reads data regarding the application (the VR game in the embodiment) selected by the user, from the application storage section 254, and executes the application selected by the user. The display control section 292 transmits data regarding various images (for example, the VR image and the AR image) generated by the system section 260 and the application execution section 290 to the head-mounted display 100 and causes these images to be displayed on the display section 124 (display panel) of the head-mounted display 100.
The system section 260 executes processing of the system relating to the head-mounted display 100. The system section 260 provides a common service to a plurality of applications (for example, VR games) for the head-mounted display 100. The system section 260 includes a camera image acquisition section 262, a play area setting section 264, a map generation section 274, a notification section 278, a position estimation section 280, and a warning processing section 282.
The camera image acquisition section 262 acquires the camera image captured by the stereo camera 110 of the head-mounted display 100 and transmitted from the head-mounted display 100. The play area setting section 264 executes various types of processing relating to the setting of the play area. Specifically, the play area setting section 264 sets the play area on the basis of the camera image acquired by the camera image acquisition section 262 and the user operation input via the controller 140. The play area setting section 264 includes a play area detection section 266, a floor surface setting section 268, and a play area editing section 270.
The play area detection section 266 automatically detects the play area from the surrounding space of the user wearing the head-mounted display 100, on the basis of the camera image acquired by the camera image acquisition section 262. The floor surface setting section 268 receives an operation performed by the user for editing a height of a floor surface detected as the play area by the play area detection section 266 and changes the height of the floor surface according to this operation.
The play area editing section 270 receives an operation performed by the user for editing the play area automatically detected by the play area detection section 266 and changes the shape of the play area according to this operation. For example, the play area editing section 270 reduces the play area automatically detected by the play area detection section 266, according to the operation performed by the user.
In parallel with the detection of the play area by the play area detection section 266, the map generation section 274 generates a map for estimating the position of the user, on the basis of the camera image acquired by the camera image acquisition section 262. The map generation section 274 stores the generated map data in the map storage section 258. The map generation section 274 ends the generation of the map in a case in which a plurality of camera images which are obtained by capturing the surrounding space of the user from a plurality of directions and the number of which is more than a predetermined number have been input.
The notification section 278 notifies the application execution section 290 of information required to execute the VR game by the application execution section 290. The position estimation section 280 estimates a position of the user in the real world, in other words, the position of the user in the play area, on the basis of the map data stored in the map storage section 258 and the camera images acquired by the camera image acquisition section 262.
For example, the position estimation section 280 may collate the plurality of keyframes included in the map data and the camera image to each other and may estimate the position of the user on the basis of a result of the collation, the position of the head-mounted display 100 associated with each keyframe, and the line-of-sight direction. Moreover, the position estimation section 280 may use a publicly-known self-position estimation technology such as simultaneous localization and mapping (SLAM) to estimate the position of the user. The warning processing section 282 executes warning processing directed to the user, according to a relation between the boundary of the play area and the position of the user.
A description is now given of an operation of the image display system implemented by the configuration described above.
When the user, in response thereto, moves, with the head-mounted display 100 mounted on the head portion, while looking around, the head-mounted display 100 successively transmits data regarding a plurality of camera images to the image generation device 200. Each piece of the data regarding the plurality of camera images includes sensor data obtained at the time of the generation of each camera image. The sensor data includes the measurement values obtained by the motion sensor 134, and includes, for example, an angular velocity and acceleration of the head-mounted display 100. The camera image acquisition section 262 of the image generation device 200 acquires the data regarding the camera images transmitted from the head-mounted display 100 (S10).
The play area detection section 266 of the image generation device 200 automatically detects the play area in the surrounding space of the user on the basis of the camera images acquired in S10 (S12). Specifically, the play area detection section 266 may estimate a three-dimensional shape of the room of the user through use of a publicly-known method on the basis of the camera images and the sensor data corresponding to the camera images. The play area detection section 266 may detect a plane (typically the floor surface) perpendicular to a gravity direction indicated by the sensor data, on the basis of the estimated three-dimensional shape of the room, and may detect, as the play area, a result obtained by composing a plurality of detected planes having the same height. The play area detection section 266 stores, in the play area storage section 256, play area data including coordinate values of a point group forming the boundary of the play area.
The play area detection section 266 detects the height of the floor surface as the play area at the time of the play area detection. The height of the floor surface may be, for example, a distance between the floor surface and the head-mounted display 100 in the gravity direction. The play area detection section 266 stores, in the play area storage section 256, data indicating the height of the floor surface. In a case in which the position of the head-mounted display 100 is the origin, the height of the floor surface may be a minus one meter, for example.
The map generation section 274 of the image generation device 200 generates the map for estimating the position of the user, on the basis of the camera images acquired in S10, in parallel with the processing in S12 (S14). Until a predetermined condition indicating that the map data sufficient for estimating the position of the user is acquired is satisfied, the play area detection section 266 and the map generation section 274 use a new camera image to repeat the processing in S12 and S14 (N in S16). When the map data is sufficiently acquired, the play area detection section 266 ends the detection processing for the map area, and the map generation section 274 ends the generation processing for the map (Y in S16).
After that, the floor surface setting section 268 of the image generation device 200 generates a floor surface adjustment screen on the basis of the data indicating the height of the floor surface stored in the play area storage section 256. The floor surface adjustment screen may include an AR image obtained by superimposing an object indicating the floor surface (for example, a semitransparent object in a grid form) on the camera images acquired by the camera image acquisition section 262. The floor surface setting section 268 causes the floor surface adjustment screen to be displayed on the display panel of the head-mounted display 100 via the display control section 292. The floor surface setting section 268 receives an operation performed by the user for adjusting the height of the floor surface input to the floor surface adjustment screen and changes the height of the floor surface according to the operation performed by the user. The floor surface setting section 268 stores, in the play area storage section 256, data indicating the height of the floor surface available after the change (S18).
After that, the play area editing section 270 of the image generation device 200 generates an image indicating the play area automatically detected by the play area detection section 266. Specifically, the play area editing section 270 generates a play area editing screen on the basis of the play area data stored in the play area storage section 256. The play area editing screen includes an AR image obtained by superimposing an object indicating the play area on the camera image obtained by the camera image acquisition section 262. The display control section 292 of the image generation device 200 causes the play area editing screen to be displayed on the display panel of the head-mounted display 100 (S20).
The play area editing section 270 receives an operation performed by the user which is input to the play area editing screen 60 and is used to edit the play area (S22). Specifically, the play area editing section 270 changes the shape of the play area according to the operation performed by the user, that is, extends or reduces the play area according to the operation performed by the user. The play area editing section 270 updates the play area data stored in the play area storage section 256, by storing, in the play area storage section 256, data (for example, the coordinate values of the point group forming the boundary) regarding the play area available after the change in shape.
Moreover, the map generation section 274 acquires a coordinate position, in the three-dimensional space, of the feature point extracted from each camera image, through a well-known technology such as the stereo matching, thereby identifying an arrangement and a shape of an object that is present in the surrounding space. This three-dimensional space information is known as what is generally called an environment map. The map generation section 274 stores, as the map data, also the identified three-dimensional space information in the map storage section 258.
The map generation section 274 stores a plurality of criteria (hereinafter referred to as “bins”) for deriving a score relating to a ratio of coverage of the input camera images (in the embodiment, the keyframes generated from the camera images) to the surrounding space of the user. The plurality of bins are the plurality of criteria dividing the surrounding space of the user in different forms.
The map generation section 274 derives the score relating to the ratio of the coverage of the plurality of input camera images (in the embodiment, the keyframes generated from the camera images) to the surrounding space of the user on the basis of the bin 50, the bin 52, and the bin 54. For example, in a case in which this score is equal to or higher than a predetermined threshold value in S16 of
Specifically, in a case in which the keyframe is generated from the camera image, the map generation section 274 considers, for each of the bin 50, the bin 52, and the bin 54, that the divided area matching the line-of-sight direction in which this keyframe is obtained is filled, and counts, as the score, a total of numbers each indicating the number of filled divided areas in each bin. When the map generation section 274 generates a new keyframe, the map generation section 274 adds, to the score, the number of filled divided areas in each bin through a similar algorithm.
For example, the map generation section 274 determines that the map data is not sufficient when the score is lower than a threshold value of “10.” As a result, the detection processing for the play area and the generation processing for the map are continued. In a case in which the score becomes equal to or higher than the threshold value “10,” the map generation section 274 determines that the map data is sufficiently acquired and hence ends the generation processing for the map. As a result, the detection processing for the play area is also ended. The threshold value of “10” for the score is defined as a value which can be exceeded when the user wearing the head-mounted display 100 looks around the surroundings of the user over 180 degrees, but cannot be exceeded in a case in which the user does not look around.
As described above, the play area detection section 266 gradually sets the boundary of the play area in parallel with the generation of the map data by the map generation section 274 in the period until the map data is sufficiently acquired.
In the example of
Until it is determined that the sufficient map data is obtained, on the basis of the criterion using the bins described above or the like, the play area detection section 266 appropriately updates the boundary 72 of the play area according to new detection of an obstacle. In this state, as illustrated in
At this time, it is conceivable that the play area detection section 266 changes the boundary 72 of the play area to a boundary 76 before the obstacle 74. However, in this case, it is also conceivable that the play area excessively decreases and hence joy of the game decreases by half. Thus, the play area detection section 266 corrects the play area according to such a rule that the play area does not unnecessarily decreases.
Specifically, the play area detection section 266 limits the obstacle 74 and a region therebehind as viewed from the head-mounted display 100 when the obstacle 74 is detected, and corrects the play area boundary in such a manner as to remove this region from the play area. In other words, the play area detection section 266 does not exclude, from the play area, left and right regions (side regions) of the obstacle 74 as viewed from the head-mounted display 100.
Moreover, the play area detection section 266 obtains, as an observation point H, a position at which a perpendicular line from a center of gravity of the head-mounted display 100 when the new obstacle is detected intersects with the floor surface. The observation point H corresponds to the position of the user on the floor surface. After that, as illustrated in (b), the play area detection section 266 generates tangent lines 82a and 82b from the observation point H to the contour 80 and obtains tangent points A and B and intersections C and D between the tangent lines 82a and 82b and the boundary 72.
After that, as illustrated in (c), the play area detection section 266 deletes a portion which is a part of the original boundary 72 and is between the intersections C and D, and sets, as a new boundary, a straight line AC, a straight line BD, and a portion which is a part of the contour 80, is on a side closer to the observation point H, and is between the tangent points A and B which are indicated as thick lines. As a result, as illustrated in (d), a new boundary 86 of a new play area which is obtained by removing the newly detected obstacle and a region 84 therebehind is formed. It is possible to avoid, by correcting the play area through use of the procedure described above, a collision with an obstacle while maximally allowing the user to move to the side of the obstacle.
Note that, in
With the correction procedure for the play area boundary illustrated in
For example, in a game in which the user does not dynamically move, it is expected that a distance between the head-mounted display 100 and this obstacle be maintained to a certain degree even during the game play. Thus, in such a respect that, even when a somewhat wide play area around this obstacle is left, a possibility that the user departs from the play area due to momentum and collides with the obstacle is low, it can be considered as logical that the reduced amount of the play area for an obstacle detected at a far location can be suppressed.
Meanwhile, when an obstacle is conversely detected at a short distance and hence the apparent width is wide, there is a risk that the region therebehind may be excessively excluded from the play area. Thus, the play area detection section 266 checks the distance between the head-mounted display 100 and the detected obstacle through use of a predetermined index at the time of the detection of the obstacle, and switches the correction procedure for the play area boundary. As a result, the situation in which the play area is excessively reduced depending on the position of the head-mounted display 100 at the time of the detection of the obstacle is avoided, and hence, the play area can stably be secured.
The play area detection section 266 evaluates, on the basis of the predetermined index, a distance between the head-mounted display 100 and the newly detected obstacle when the obstacle is newly detected, and employs the correction procedure of
Naturally, as the angle θo is larger, the distance is shorter. This index can also be considered as an index which also reflects an original size of the obstacle and indicates a degree of a possibility that the play area is excessively reduced. However, the index to be used is not limited to this index, and the simple distance between the observation point H and the contour 302 or the like may be employed. In a case in which the angle θ, is used as the index and, for example, is larger than a threshold value θth such as 45°, the play area detection section 266 determines that the distance between the head-mounted display 100 and the obstacle is short and, consequently, there is a high possibility that the play area is excessively reduced when the method of
Note that an upper limit threshold value larger than the threshold value θth may be set to the angle θo. That is, when the angle θo is close to 180°, it is conceivable that the observation point H is in contact with the contour 302 or overlaps an internal region of the contour 302. In this case, there is a high possibility that the contour 302 is not a contour of a real obstacle but results from the body of the user himself or herself. Thus, when the angle θo is larger than a predetermined threshold value close to 180°, the play area detection section 266 does not correct the play area boundary. In a case in which the distance between the observation point H and the contour 302 is used as the index, when this distance is equal to or shorter than the threshold value such as 0, the play area detection section 266 does not correct the play area boundary.
In a case in which the angle θo is equal to or smaller than the upper limit threshold value and is larger than the threshold value θth such as 45° used to switch the correction method, the play area detection section 266 generates, as illustrated in (b), in place of the original tangent lines 304a and 304b, new tangent lines 312a and 312b forming an angle 2θo′ smaller than an angle 2θo. The tangent lines 312a and 312b are obtained by parallelly translating lines 310a and 310b, which are symmetrical about the center line 308 passing through the observation point H and each form an angle θo′ (<θo) to the center line 308, in such a manner as to be tangent to the contour 302.
The angle θo′ is set to, for example, 25°. Further, the play area detection section 266 obtains tangent points A′ and B′ of the new tangent lines 312a and 312b to the contour 302, respectively, and intersections C′ and D′ between the tangent lines 312a and 312b and the boundary 72, respectively. After that, as illustrated in (c), the play area detection section 266 deletes a portion which is a part of the original boundary 72 and is between the intersections C′ and D′, and sets, as a new boundary, a straight line A′C′, a straight line B′D′, and a portion which is a part of the contour 302, is on a side closer to the observation point H, and is between the tangent points A′ and B′.
As a result, as illustrated in (d), a new boundary 316 of a new play area which is obtained by removing the newly detected obstacle and a region 314 therebehind. As a result, it is possible to suppress the reduced amount of the play area compared with the correction of the play area through use of the original tangent lines 304a and 304b. Note that the illustrated procedure is an example, and the line tangent to the contour 302 may be, for example, a polygonal line or a curved line. Note that, with the illustrated method, it is possible to certainly exclude the obstacle from the play area through use of simple calculation.
In detail, the play area detection section 266 checks whether or not this obstacle is positioned between the head-mounted display 100 when the obstacle is detected in S30 and the boundary of the play area temporarily set. When such a relation does not hold true (N in S32), the play area detection section 266 considers that the play area boundary in this orientation is not set, sets the play area boundary before the obstacle, and ends the processing (S36). Note that, in a case in which the detected obstacle is present beyond the play area boundary set already, the play area detection section 266 may cause the processing to directly be ended, which is omitted in the flowchart.
When the detected obstacle or surface is inside the play area (Y in S32), the play area detection section 266 determines whether or not the distance between the head-mounted display 100 when the obstacle is detected in S30 and this obstacle is equal to or longer than the criterion (S34). In the example of
Specifically, the new boundary is generated through use of the portion of the contour of the obstacle between the tangent points and the portions of the tangent lines each having the tangent point as a terminal point. In a case in which the distance between the head-mounted display 100 and the obstacle is shorter than the criterion (N in S34), the play area detection section 266 corrects the play area boundary through use of the tangent lines of the contour of the obstacle forming the angle smaller than that formed between the tangent lines passing through the observation point H, as illustrated in
Specifically, the play area detection section 266 generates the two lines which form the angle smaller than that formed between the tangent lines in S38 and are symmetrical about the center line of the contour of the obstacle, and parallelly translates the two lines to the positions at which the lines are tangent to this contour. After that, the new boundary is generated through use of the portion of the contour of the obstacle between the tangent points and the portions of the tangent lines each having the tangent point as the terminal point. The boundary of the play area can finally be completed by repeating the illustrated processing each time when a new obstacle is detected. It is preferred that the play area set by the play area detection section 266 as described above be adjustable by the user.
After that, the application execution section 290 reads program data regarding the VR game from the application storage section 254 and starts the VR game (S52). For example, the application execution section 290 may dispose a game item within a range of the play area in the virtual space depicting a game world, thereby allowing the user to get this game item. The display control section 292 causes an image (for example, the VR image) of the VR game generated by the application execution section 290 to be displayed on the display panel of the head-mounted display 100.
The camera image acquisition section 262 of the image generation device 200 successively acquires the camera images successively transmitted from the head-mounted display 100, and the position estimation section 280 successively estimates the position and the line-of-sight direction of the user in the real world (S54). The notification section 278 notifies the application execution section 290 of the position and the line-of-sight direction of the user estimated by the position estimation section 280 (S56). The application execution section 290 causes the VR game to progress according to the estimated position and line-of-sight direction of the user (S58). For example, the application execution section 290 may move a user character in the VR game according to a change in the position of the user in the real world (in other words, in the play area).
The warning processing section 282 of the image generation device 200 detects, in a case in which the position of the user in the real world reaches a boundary vicinity of the play area, for example, in a case in which the distance from the head-mounted display 100 worn by the user to the boundary of the play area becomes equal to or shorter than a predetermined threshold value (for example, 30 cm) (Y in S60), this state. At this time, the warning processing section 282 executes predetermined warning processing for the user (S62).
For example, the warning processing section 282 may pass, in a case in which the position of the user reaches the boundary vicinity of the play area, an image indicating the boundary of the play area (for example, the boundary 64 illustrated in
Moreover, the warning processing section 282 may first cause the image indicating the boundary of the play area to be displayed in a case in which the position of the user in the real world reaches the boundary vicinity of the play area (for example, 30 cm), and may then cause the video-see-through image to be displayed in a case in which the position of the user in the real world further reaches the boundary vicinity of the play area (for example, 10 cm). Meanwhile, when the position of the user in the real world is not in the boundary vicinity of the play area (N in S60), S62 is skipped. In a case in which a predetermined finish condition is satisfied, such as a case in which the execution of the VR game is stopped by the user (Y in S64), the flow of
According to the present embodiment, the image generation device sets the play area in which the user wearing the head-mounted display can safely move around.
Specifically, the image generation device detects an obstacle on the basis of the captured image obtained by the stereo camera mounted to the head-mounted display and sets the boundary of the play area in such a manner as to exclude this obstacle. At this time, when a new obstacle is detected inside the play area temporarily set, the image generation device uses the tangent lines directed from the head-mounted display at the time of the detection toward the contour of this obstacle, to set a new play area boundary.
As a result, a necessary minimum region being the region of the obstacle and the region therebehind as viewed from the head-mounted display can be excluded from the play area. The position of the head-mounted display at the time of the detection is estimated as close to the position of the user at the time of the execution of content such as the game play, and hence, the collision with the obstacle can be avoided while the substantial reduced amount of the play area is suppressed as much as possible by keeping a front region of the obstacle in the play area and excluding the region therebehind.
Moreover, in a case in which the distance between the obstacle at the time of the detection and the head-mounted display is determined as short, the extension of the range to be excluded from the play area is suppressed by reducing the angle formed between the tangent lines. As a result, the influence of the position of the head-mounted display at the time of the detection of the obstacle on the size of the play area can be eliminated as much as possible, and hence, a necessary and sufficient play area can easily be set regardless of the situation.
A description has been given of the present invention on the basis of the embodiment. The embodiment is illustrative, and it is to be understood by those who are skilled in the art that various modification examples can be made to the combinations of each component and each processing process thereof and that these modification examples are also within the scope of the present invention.
As described above, the present invention can be applied to an information processing device, an image generation device, a game machine, a portable terminal, a head-mounted display, an image display system including at least any one thereof, and the like.
Number | Date | Country | Kind |
---|---|---|---|
2022-021304 | Feb 2022 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/047634 | 12/23/2022 | WO |