WO2024004306A1 - 制御装置、システム、制御方法、プログラム - Google Patents
制御装置、システム、制御方法、プログラム Download PDFInfo
- Publication number
- WO2024004306A1 WO2024004306A1 PCT/JP2023/013780 JP2023013780W WO2024004306A1 WO 2024004306 A1 WO2024004306 A1 WO 2024004306A1 JP 2023013780 W JP2023013780 W JP 2023013780W WO 2024004306 A1 WO2024004306 A1 WO 2024004306A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- range
- user
- display
- real space
- control device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000001514 detection method Methods 0.000 claims description 42
- 238000003384 imaging method Methods 0.000 claims description 26
- 239000002131 composite material Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000008921 facial expression Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000004040 coloring Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Definitions
- the present invention relates to a control device, a system, a control method, and a program.
- the same virtual object may be displayed on the head-mounted displays (HMDs) of multiple users located in different real spaces.
- a virtual person (avatar) arranged according to the user's position in the second real space may be displayed on the HMD worn by the user located in the first real space.
- the size of the first real space and the size of the second real space are different, restrictions will arise in the placement of the avatar in the HMD.
- Patent Document 1 discloses a technique that, when a virtual object is placed in a position where it should not be placed, notifies the user that the virtual object has been placed in a position where it should not be placed.
- Patent Document 1 after the virtual object is placed at a position where it should not be placed, it is notified that the virtual object has been placed at a position where it should not be placed. Therefore, the user cannot know in advance that there is a possibility that the virtual object will be placed in a position where it should not be placed.
- an object of the present invention is to provide a technology that makes it possible to grasp the possibility that a virtual object will be placed in an inappropriate position when placing the virtual object according to the user's position.
- One aspect of the present invention is a control device that controls a display device worn by a first user in a first real space, wherein the first control means for controlling the display device to display a virtual object placed at a position in the first real space, and a range display object indicating a movable range of the virtual object in the first real space; It is a control device characterized by having.
- One aspect of the present invention is a control method for controlling a display device worn by a first user in a first real space, wherein the first display device corresponds to a position of the second user in a second real space.
- the present invention when arranging a virtual object according to the user's position, it is possible to grasp the possibility that the virtual object will be placed at an inappropriate position.
- FIG. 1 is a diagram illustrating a system according to a first embodiment.
- FIG. 2A is a diagram illustrating a usage image of the system according to the first embodiment.
- FIG. 2B is a diagram showing a display example of the HMD according to the first embodiment.
- FIG. 2C is a diagram showing a composite image generated by the camera according to the first embodiment.
- FIG. 3A is a diagram illustrating an example of a real space according to the first embodiment.
- FIG. 3B is a diagram illustrating problems related to the first embodiment.
- 4A and 4B are diagrams illustrating the movable range of the avatar according to the first embodiment.
- FIG. 5 is a configuration diagram of a video see-through type HMD according to the first embodiment.
- FIG. 5 is a configuration diagram of a video see-through type HMD according to the first embodiment.
- FIG. 6 is a configuration diagram of an optical see-through type HMD according to the first embodiment.
- FIG. 7 is a configuration diagram of a camera according to the first embodiment.
- FIG. 8 is a diagram illustrating the user's position according to the first embodiment.
- FIG. 9 is a flowchart showing range information detection processing according to the first embodiment.
- FIG. 10 is a diagram showing a list regarding obstacle objects according to the first embodiment.
- FIG. 11 is a diagram illustrating the effective range according to the first embodiment.
- 12A and 12B are diagrams illustrating gradation display of the effective range according to the first embodiment.
- FIG. 13 is a diagram illustrating range information according to the first embodiment.
- FIG. 14 is a diagram illustrating a system according to the second embodiment.
- HMD head mounted display
- Technologies such as AR or MR are used in HMDs, smartphones, tablet terminals, and the like.
- an HMD that can be worn on a user's head has a display placed in front of the user's eyes. Therefore, the HMD can display useful information according to the usage scene and can provide the user with a deep sense of immersion.
- HMDs There are two types of HMDs: optical see-through HMDs that use transparent (semi-transparent) displays and video see-through HMDs that use opaque displays.
- an optical see-through type HMD a user can simultaneously view both an image and incident light from the outside world.
- the user can see the external space through the display.
- an optical see-through type HMD for example, a user can experience an event (such as a concert or sports day) at a certain place through the HMD, and read various information about the person or thing the user is paying attention to on the HMD. You can get it from the display.
- a video see-through type HMD can display a virtual space on a display in front of the user's eyes, or display an image acquired by a camera mounted on the HMD on the display.
- the HMD can display various information superimposed on an image of the real space in which the user is located.
- FIG. 1 is a diagram illustrating a system 1 (display system; control system) according to the first embodiment.
- two real spaces 101 101A, 101B
- two real spaces 101 101A, 101B
- two users 100 100 (100A, 100B) are located.
- the system 1 includes an HMD 102A and a camera 103B in a real space 101A.
- System 1 includes HMD 102B and camera 103B in real space 101B.
- HMD 102A and HMD 102B have the same configuration, and camera 103A and camera 103B have the same configuration. Therefore, in the following, the content explained for one of HMD 102A and HMD 102B will not be explained for the other in principle. Similarly, the content explained for one of the cameras 103A and 103B will not be explained for the other in principle.
- the HMD 102A is an HMD worn by the user 100A (user located in the real space 101A). The description will be made assuming that the HMD 102A is a video see-through type HMD unless otherwise specified.
- the camera 103A is an imaging device installed at a fixed position in the real space 101A.
- the camera 103A images the real space 101A and the user 100A in the real space 101A.
- the camera 103A detects the position, posture, and facial expression (smiling expression, angry expression, no expression, etc.) of the user 100A from the captured image (captured image) of the user 100A (real space 101A). To detect. Then, the camera 103A transmits information on the detection results (the position, posture, and facial expression of the user 100A) to the server 107 as the status information 10A.
- the status information 10A is transmitted to the HMD 102B via the server 107. Then, the HMD 102B controls the avatar (position, posture, facial expression, etc. of the avatar) displayed on the display (display unit) according to the received status information 10A. Thereby, the user 100B wearing the HMD 102B can recognize changes in the position, posture, and facial expression of the user 100A (the other user) in real time.
- the camera 103A detects range information 20A indicating a range (effective range) in which the user 100A is movable and detectable from the captured image in the real space 101A. Then, the camera 103A transmits the range information 20A to the HMD 102B via the server 107. In this case, the HMD 102B displays the range in which the avatar can move on the display based on the received range information 20A. Details of the status information 10 (10A, 10B) and range information 20 (20A, 20B) will be described later.
- FIG. 2A shows two users 100 (100A, 100B) using HMDs 102 (102A, 102B) in different real spaces 101 (room 201, which is real space 101A, and garden 202, which is real space 101B). It shows the situation.
- the camera 103A is placed in the corner of the room 201.
- Camera 103B is placed at a corner of garden 202.
- a television 209 and a houseplant 210 are arranged in the room 201.
- a garden tree 211 and a dog 212 are placed in the garden 202.
- the effective range of the user 100A is the range excluding the range where the television 209 and the houseplant 210 are placed from the room 201, and the range in which the camera 103A can detect the user 100A.
- the effective range of the user 100B is the range excluding the range where the garden tree 211 and the dog 212 are placed from the garden 202, and the range in which the camera 103B can detect the user 100B.
- FIG. 2B shows an example of an image displayed on the HMD 102 (102A, 102B) of the user 100 (100A, 100B).
- An avatar 220B of the user 100B is displayed on the HMD 102A with the room 201 in the background.
- an avatar 220A of the user 100A is displayed on the HMD 102B with the garden 202 in the background.
- the position, posture, facial expression, etc. of the avatar displayed on the HMD 102 change in conjunction with changes in the status of other users (users different from the user wearing the HMD 102).
- the avatar 220B is arranged so that the relative position of the user 100B with respect to the camera 103B matches the relative position of the avatar 220B with respect to the camera 103A.
- the avatar 220A is arranged such that the relative position of the user 100A with respect to the camera 103A matches the relative position of the avatar 220A with respect to the camera 103B.
- FIG. 2C shows an example of an image in which an avatar is synthesized with an image (captured image) captured by the camera 103 (camera 103A, camera 103B) of the real space 101.
- the camera 103 (103A, camera 103B) images only the user and the background.
- the camera 103 generates a composite image in which the user and the avatar appear to be in the same real space by combining an avatar (an avatar generated based on other users' status information) and a captured image.
- the composite image generated in this way is recorded on the server 107 or distributed to an external device via the server 107. This allows the user and a third party other than the user to view a composite image in which the user and the avatar appear to be playing together.
- the composite image generated by the camera 103 will be referred to as a "camera composite image.”
- the avatar 220B is arranged so that the relative position of the user 100B with respect to the camera 103B matches the relative position of the avatar 220B with respect to the camera 103A.
- avatar 220A is arranged so that the relative position of user 100A with respect to camera 103A matches the relative position of avatar 220A with respect to camera 103B.
- the image displayed on the HMD 102 and the camera composite image may look unnatural.
- the image displayed on the HMD 102A of the user 100A the avatar 220B of the user 100B is placed outside the room 201 of the user 100A, as shown in FIG. 3B.
- the avatar 220B of the user 100B is placed outside the room 201, as shown in FIG. 3B.
- the user 100B is unable to grasp the situation in the room 201 of the user 100A. Therefore, the user 100B does not notice that the arrangement of the avatar 220B is unnatural in the image displayed on the HMD 102A and the camera composite image generated by the camera 103A. In other words, unless the user 100B knows the details of the room 201 by actually looking at the room 201, the user 100B cannot grasp the range within which the avatar 220B will not be placed in an unnatural position (the range in which the user is allowed to move). .
- an HMD 102 that displays the range in which the avatar 220B can move as the range in which the user 100A is allowed to move, based on the range information 20B in the real space 101B.
- FIG. 4A and 4B show examples of display of the range in which the avatar displayed on the HMD 102 can move.
- a virtual object hereinafter referred to as a "range display object” 401 is displayed on the HMD 102A, which shows the movable range of the user's 100B's avatar 220B using a gradation display (shaded display).
- a range display object 403 is displayed on the HMD 102B, which shows the range in which the user 100A's avatar 220A can move using a gradation display.
- the range display object 403 has transparency, and the user 100B can see the real space 101B (an image of the real space 101B) through the range display object 403.
- the user 100A recognizes a range display object 401 as shown in FIG. 4A from the display of the HMD 102A, and acts within the range of the real space 101A shown by the gradation display.
- This makes it possible to avoid placing the avatar 220A in an unnatural position in the image displayed on the HMD 102B and the composite image composited by the camera 103B.
- the range of the range display object 401 corresponds to the effective range of the user 100B, if the user 100A moves within the range of the range display object 401, the avatar 220A moves only within the effective range of the user 100B. I come to do it.
- the HMD 102 is a video see-through type HMD.
- the HMD 102 may be either an optical see-through type HMD or a video see-through type HMD.
- each configuration of the HMD 102 is controlled by a control unit (not shown). That is, the control unit controls the entire HMD 102 (display device).
- the HMD 500 includes an imaging section 501, an acquisition section 502, an object generation section 503, a superimposition section 504, and a display section 505.
- the HMD 500 is the HMD 102A worn by the user 100A.
- the imaging unit 501 is an imaging device (camera) that captures an image of the front (front) of the user 100A (hereinafter referred to as a "front image").
- the imaging unit 501 generally uses an imaging device having an imaging angle of view (from a wide angle to a standard imaging angle) close to the field of view of the user 100A.
- the acquisition unit 502 acquires the status information 10B and range information 20B from the camera 103B of the user 100B via the server 107.
- the acquisition unit 502 transmits the state information 10B and range information 20B to the object generation unit 503.
- the position of the user 100B indicated by the status information 10B is the relative position of the user 100B with respect to the camera 103B.
- the range information 20B is information that indicates the effective range of the user 100B (the range in which the user 100B can move in the real space 101B and the range in which the camera 103B can detect the user 100B) based on the relative position from the camera 103B. Furthermore, the range information 20B includes information on the gradation level (density) of each position in the effective range, depending on the detection accuracy of the state of the user 100B at that position.
- the object generation unit 503 generates the avatar 220B (image of the avatar 220B) based on the state information 10B received from the acquisition unit 502. Further, the object generation unit 503 generates a range display object (an image of the range display object) indicating the range in which the avatar 220B can move, based on the range information 20B received from the acquisition unit 502. Specifically, the object generation unit 503 generates a range display object that can cover the range of the front image (real space 101A) that corresponds to the effective range indicated by the range information 20B. Furthermore, the object generation unit 503 colors each position of the range display object according to the gradation level of the position of the effective range corresponding to the position.
- the superimposing unit 504 creates a composite image (FIGS. 4A and 4B) in which the avatar 220B (image of the avatar 220B) and the range display object (image of the range display object) are superimposed on the image captured by the imaging unit 501 (front image). reference). Then, the superimposing unit 504 outputs the composite image to the display unit 505.
- the superimposing unit 504 places the avatar 220B at a position (position in the front image) according to the position of the user 100B indicated by the status information 10B. Specifically, the superimposing unit 504 arranges the avatar 220B so that the relative position of the user 100B with respect to the camera 103B matches the relative position of the avatar 220B with respect to the camera 103A. For this reason, for example, the superimposing unit 504 acquires in advance the relative position of the camera 103A with respect to the HMD 500, and arranges the avatar 220B based on the relative position and the state information 10B.
- the display unit 505 is a display installed in front of the user's eyes. Display unit 505 displays the composite image.
- the HMD 600 includes an acquisition section 601, an object generation section 602, and a projection section 603. In the following description, it is assumed that the HMD 600 is the HMD 102A worn by the user 100A.
- the HMD 600 does not include the imaging unit 501.
- the acquisition unit 601 acquires the status information 10B and range information 20B from the camera 103B of the user 100B via the server 107.
- the object generation unit 602 generates an avatar 220B (an image of the avatar 220B) and a range display object, similarly to the video see-through type HMD 500.
- the projection unit 603 projects the avatar 220B and the range display object onto an optical element (such as a prism) installed within the display. At this time, the projection unit 603 projects (places) the avatar 220B at a position (position on the display) according to the position of the user 100B indicated by the status information 10B. Thereby, the user can see (recognize) the space in which the avatar 220B and the range display object are arranged in the real space 101A.
- an optical element such as a prism
- the shape of the HMD 102 may be any shape such as a goggle shape, a glasses shape, and a contact lens shape.
- the imaging unit 701 images the user 100A in the real space 101A.
- the imaging unit 701 is capable of imaging a wide range of the real space 101A, for example.
- the detection unit 702 detects the user 100A in the real space 101A based on the image (captured image) captured by the imaging unit 701 of the user 100A. The detection unit 702 then acquires information about the user 100A (status information 10A and range information 20A) based on the captured image. Note that, instead of acquiring the range information 20A based on the captured image, the detection unit 702 may, for example, acquire the range information 20A acquired during the previous use of the camera 103A from the recording unit 707 or the like.
- the status information 10A is information regarding the status of the user 100A (position, posture, facial orientation, facial expression, etc.). As shown in FIG. 8, the position of the user 100A is expressed by the coordinate position where the user 100A is detected in a coordinate space whose origin is the position of the camera 103A placed in the real space 101A. Ru.
- the posture of the user 100A is estimated using a technique such as Deep Learning based on the coordinate positions of the user's limbs in the coordinate space shown in FIG.
- the direction of the face is detected based on whether the user 100A's face is facing up, down, left, or right, with the state in which the face of the user 100A is facing the camera 103A being defined as a "front-facing state.”
- the facial expression is estimated from the detection results of the degree of eye opening and the position of the corners of the mouth of the user 100A. While the imaging unit 701 is imaging the user 100A, the detection unit 702 detects the position, posture, face direction, and facial expression of the user 100A at a constant rate (period), and Update the status information 10A.
- the range information 20A is information indicating the effective range of the user 100A (the range in which the user 100A can move in the real space 101A and the range in which the camera 103A can detect the user 100A). The method for detecting the range information 20A will be described later using the flowchart of FIG.
- the transmitter 703 transmits the status information 10A and range information 20A to the server 107.
- the transmitter 703 is a communication device. Further, the transmitting unit 703 transmits the camera composite image generated by the superimposing unit 706 to the server 107.
- the acquisition unit 704 acquires the status information 10B of the user 100B via the server 107.
- the acquisition unit 704 is a communication device.
- the object generation unit 705 generates an avatar 220B (image of the avatar 220B) whose position, posture, facial expression, etc. are controlled based on the state information 10B.
- the superimposing unit 706 superimposes the avatar 220B on the captured image of the user 100A captured by the imaging unit 701 to generate a camera composite image. At this time, the superimposing unit 706 places the avatar 220B at a position (position in the captured image) according to the position of the user 100B shown in the status information 10B. Specifically, in the camera composite image, avatar 220B is arranged so that the relative position of user 100B with respect to camera 103B matches the relative position of avatar 220B with respect to camera 103A.
- the recording unit 707 stores a camera composite image (an image in which the avatar 220B is superimposed on the captured image). Further, the recording unit 707 may store the state information 10A and range information 20A acquired by the detection unit 702.
- the range information 20 detection process executed by the detection unit 702 will be described with reference to the flowchart in FIG. 9 . Below, processing executed by the detection unit 702 of the camera 103A that images the user 100A (real space 101A) will be described.
- step S901 the detection unit 702 detects an object (obstacle object) that obstructs the movement of the user 100A from the image captured by the imaging unit 701 of the user 100A (captured image).
- an object obstacle object
- the television 209 and the houseplant 210 in the room 201 correspond to the obstructing objects.
- the garden tree 211 and the dog 212 in the garden 202 correspond to the obstacle objects.
- the detection unit 702 sets a three-dimensional coordinate space whose origin is the position of the camera 103A in the real space 101A (0, 0, 0). Then, the detection unit 702 detects the position and size (width W and height H) of the obstacle object in the coordinate space.
- general recognition techniques such as AI (Artificial Intelligence) and DL (Deep Learning) may be used to improve the accuracy of detecting the obstacle object.
- the detection unit 702 indicates the position and size of each obstacle object (the vertical and horizontal lengths of the obstacle object when viewed from the Z-axis direction) as shown in FIG. 10 based on the detection results of the detected objects. Generate a list. Note that the information on the position and size of the obstacle object may be registered in advance by the user.
- step S902 the detection unit 702 detects a range (in the real space 101A) in which the user 100A can move (move without being obstructed by an obstacle object) and in which the user 100A can be detected (imaged) by the camera 103A. effective range).
- the detection unit 702 detects a two-dimensional coordinate space (of the real space 101A viewed from the Z-axis direction in FIG. 2-dimensional coordinate space). Then, the detection unit 702 detects the camera from the boundary line 1100 of the real space 101A (the boundary line of the range in which the user 100A can move; a wall, etc.) within the range included in the imaging angle of view of the camera 103A in the set coordinate space. Find the range on the 103A side. Then, the detection unit 702 removes the object 1103 and the blind spot range 1104 (the range that cannot be seen from the camera 103A due to the presence of the object 1103) from the obtained range, and sets the range as an effective range 1105 (range indicated by diagonal lines).
- the detection unit 702 removes the object 1103 and the blind spot range 1104 (the range that cannot be seen from the camera 103A due to the presence of the object 1103) from the obtained range, and sets the range as an effective range 1105 (range indicated by diagonal lines).
- the effective range 1105 does not include the left and right blind spot ranges 1101 and 1102 that are not included in the imaging angle of view of the camera 103A.
- the blind spot range 1104 can be calculated by a known method from the position and size of each obstacle object shown in FIG. 10 (that is, the position and size of the object 1103).
- step S903 the detection unit 702 applies information regarding the detection accuracy of the state of the user 100A (position, posture, facial expression, etc. of the user 100A) within the imaging angle of view of the camera 103A to the effective range detected in step S902. to add.
- the user 100A when the effective range 1105 is detected, the user 100A can freely move inside the effective range 1105.
- the camera 103A in order for the camera 103A to accurately detect the state (position, posture, facial expression, etc.) of the user 100A, it is necessary to image the entire body of the user 100A at an appropriate size. For example, when capturing an image of the user 100A located in the range 1201 shown in FIG. 12A, since the user 100A is too close to the camera 103A, only a part of the body of the user 100A can be imaged. Therefore, the accuracy with which the detection unit 702 detects the state of the user 100A decreases.
- the user 100A when capturing an image of the user 100A located in the range 1202, the user 100A is too far away from the camera 103A, so the entire body of the user 100A is captured in a small size. Therefore, even in this case, the accuracy of detecting the state of the user 100A decreases.
- the detection accuracy of the state of the user 100A is a value based on the size of the user 100A that appears in the captured image and/or the range of the user's 100A's whole body that appears in the captured image. Therefore, the accuracy of detecting the actual state of the user 100A gradually changes depending on the change in the distance between the user 100A's position and the camera 103A.
- FIG. 12B shows the detection accuracy of the state of the user 100A corresponding to each coordinate of the effective range 1105 in FIG. 12A using a gradation display.
- a range with a dark gradation color is a range in which the user 100A is movable and in which the state of the user 100A is detected with high accuracy by the camera 103A.
- a range in which the gradation color is light is a range in which the user 100A is movable, but the accuracy in detecting the state of the user 100A by the camera 103A is low. Therefore, if the user 100A is located in a light-colored range, the movement of the avatar 220A displayed on the HMD 102B may stop, or the avatar 220A may not be in the correct position or posture.
- the detection unit 702 adds information regarding the detection accuracy of the state of the user 100A to the effective range detected in step S902, and outputs it as range information 20A. Specifically, the detection unit 702 outputs information representing the detection accuracy of the state of the user 100A at each coordinate position using a gradation level (density), as shown in FIG. 13, as the range information 20A.
- a gradation level density
- FIG. 13 positions where the gradation level is greater than a specific value (for example, 0) are included in the effective range, and positions where the gradation level is less than or equal to the specific value are not included in the effective range.
- the detection unit 702 detects the effective range of the user 100A in the real space 101A from the captured image, and transmits range information 20A to the HMD 102B and camera 103B of the user 100B. Then, the HMD 102B sets a coordinate space whose origin is the position of the camera 103B placed in the real space 101B, as shown in FIG. 8, based on the range information 20A. The HMD 102B colors a coordinate position corresponding to each position in the effective range (coordinate position in the coordinate space of the real space 101B) according to the gradation level of the position in the effective range (the higher the gradation level, the darker the coloring). Generate display objects. Then, the HMD 102B displays the range display object together with the avatar 220A.
- each position of the range display object is displayed in a display format according to the detection accuracy of the state of the user 100A at the coordinate position of the real space 101A corresponding to the position.
- each position of the range display object does not need to be represented by a gradation display; for example, it may be displayed in a different color depending on the detection accuracy, or it may be displayed in a pattern depending on the detection accuracy. .
- range information 20 representing a two-dimensional coordinate space a process for detecting range information 20 representing a two-dimensional coordinate space has been described, but range information 20 representing a three-dimensional coordinate space that takes into account the height direction of real space may also be detected. Furthermore, the range information 20 usually only needs to be acquired once at the timing when the display of the avatar 220 is started.
- the user 100A sees the information (range display object) indicating the movement range of the avatar 220B of another user 100B, and recognizes the movement range of the avatar 220B and the detection accuracy of the state of the user 100B. Can be done. Therefore, the user 100A can grasp the possibility that the avatar 220B will be placed in an inappropriate position.
- the user 100A can avoid placing the avatar 220A of the user 100A in an unnatural position in the image viewed by the user 100B.
- the user 100A can prevent the avatar 220A of the user 100A from making unnatural movements in the image viewed by the user 100B by acting within the dark range of the gradation display color of the range display object. can be avoided.
- the HMD 102 also displays the movable range of the user 100 wearing the HMD 102.
- the HMD 102 will be described as an HMD 102A worn by the user 100A.
- the movable range of the avatar 220B of the user 100B is displayed on the HMD 102A.
- the video see-through type HMD 102A displays an image of a virtual space (a space that is not a real space)
- the user 100A plays with the avatar 220B in the virtual space, and images of them playing are captured.
- an image of the virtual space is displayed on the HMD 102A
- the user 100A cannot visually recognize the real space 101A in which he/she is currently located with the naked eye. Therefore, when the user 100A uses the HMD 102A to play a game that involves movement, there is a risk of colliding with an obstacle object placed in the real space 101A.
- the HMD 102A displays not only the movement range of the user 100B's avatar 220B but also the movable range of the user 100A in a gradation display based on the range information 20A detected by the camera 103A (virtual space superimposed on the image). That is, the HMD 102A displays a range display object that indicates a range (range in the image of the virtual space) corresponding to the movable range of the user 100A in the real space 101A.
- the "movable range of the user 100A" in the second embodiment may be the same range as the effective range of the user 100A.
- the "movable range of the user 100A" may be a range that includes the effective area of the user 100A and a range that cannot be viewed from the camera 103A due to the presence of an obstacle object (blind spot range 1104 in FIG. 11).
- FIG. 14 shows the configuration of the system 2 in the second embodiment.
- System 1 has the same basic configuration as system 2 according to the first embodiment.
- the HMD 102A also acquires the range information 20A of the user 100A, in order to know the movable range of the user 100A wearing the HMD 102A.
- the HMD 102A is similar to the see-through type HMD 500 (FIG. 5), but the object generation unit 503 generates a range display object representing a movable range for each of the two range information 20A and 20B. .
- the HMD 102A may display the two range display objects by switching them individually at regular time intervals, or may display them simultaneously in different color gradations.
- the user 100A can recognize the movable range of both himself and the avatar 220B. Therefore, the user 100A can avoid danger such as colliding with an obstacle object.
- the HMD includes a control device that controls the HMD (for example, a configuration in which the display section 505 is removed from the HMD 500) and a display section (for example, the display section 505 in the HMD 500). It's okay.
- the expression “A or less” may be replaced with “A or less than A (lower; shorter; less)” or “less than A (lower; shorter; less)”. You can read it differently. And, “greater than A (higher; longer; more)” may be read as “above A”, and “less than A (lower; shorter; fewer)” may be read as “below A”. .
- each functional unit in each of the above embodiments may or may not be separate hardware.
- the functions of two or more functional units may be realized by common hardware.
- Each of the plurality of functions of one functional unit may be realized by separate hardware.
- Two or more functions of one functional unit may be realized by common hardware.
- each functional unit may or may not be realized by hardware such as ASIC, FPGA, or DSP.
- the device may include a processor and a memory (storage medium) in which a control program is stored.
- the functions of at least some of the functional units included in the device may be realized by a processor reading a control program from a memory and executing it.
- the present invention provides a system or device with a program that implements one or more functions of the above embodiments via a network or a storage medium, and one or more processors in the computer of the system or device reads and executes the program. This can also be achieved by processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
- a circuit for example, ASIC
- the disclosure of the above embodiments includes the following configurations, methods, and programs.
- (Configuration 1) A control device that controls a display device worn by a first user in a first real space, A virtual object that is placed at a position in the first real space that corresponds to a position of a second user in the second real space, and a range in which the virtual object can move in the first real space. and a control means for controlling the display device to display a range display object.
- the range in which the virtual object can move in the first real space is a range based on a captured image acquired by an imaging device in the second real space.
- the control device characterized in that: (Configuration 3) A movable range of the virtual object in the first real space corresponds to an effective range, The effective range is a range in the second real space in which the second user can move, and a range in which the second user can be detected from the captured image.
- the control device characterized in that: (Configuration 4) In the range display object, the control means may display each position in a movable range of the virtual object in the first real space to the second user at a position in the second real space corresponding to the position.
- the control device characterized in that: (Configuration 5) The detection accuracy of the second user's state is based on at least one of a range of the second user's whole body that is reflected in the captured image, and a size of the second user in the captured image.
- the control device characterized in that: (Configuration 6) acquisition means for acquiring range information indicating the effective range; generation means for generating the range display object based on the range information; 6.
- the control device according to any one of configurations 3 to 5, further comprising: (Configuration 7)
- the acquisition means further acquires status information indicating the status of the second user including the location of the second user, the generating means generates the virtual object based on the state information; has,
- the display device is a display device that is visible from the outside through the display,
- the control means controls the display device to display the virtual object and the range display object on the display.
- the control device according to any one of configurations 1 to 7, characterized in that: (Configuration 9)
- the control means controls the display device to display an image obtained by combining the virtual object and the range display object with respect to an image taken in front of the first user. 8.
- the control device according to any one of configurations 1 to 7, characterized in that: (Configuration 10) The control means displays an image of the virtual space, and displays a third area corresponding to a movable range of the first user in the first real space, which indicates an area in the image of the virtual space. controlling the display device to further display an image of 10.
- the control device according to any one of configurations 1 to 9, characterized in that: (Configuration 11) The control device according to any one of Configurations 1 to 10, an imaging device that captures the second real space to obtain a captured image; A system characterized by having.
- (Configuration 12) Based on the captured image, detect an effective range in the second physical space that is a range in which the second user can move and that is a range in which the second user can be detected from the captured image. further comprising detection means; A movable range of the virtual object in the first real space is a range corresponding to the effective range,
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
第1の現実空間における第1のユーザが装着する表示装置を制御する制御装置は、第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御手段を有する。
Description
本発明は、制御装置、システム、制御方法、プログラムに関する。
互いに異なるリアル空間(現実空間)に位置する複数のユーザのヘッドマウントディスプレイ(HMD)において、同一の仮想オブジェクト(ARオブジェクト)が表示されることがある。また、第1のリアル空間に位置するユーザが装着したHMDに、第2のリアル空間におけるユーザの位置に応じて配置された仮想人物(アバター)が表示される場合がある。この場合には、第1のリアル空間の大きさと第2のリアル空間の大きさとが異なれば、HMDにおいてアバターの配置に制約が生じる。
特許文献1では、配置すべきでない位置に仮想オブジェクトが配置された場合に、配置すべきでない位置に仮想オブジェクトが配置されたことをユーザに通知する技術が開示されている。
このように、特許文献1では、配置すべきでない位置に仮想オブジェクトが配置された後に、仮想オブジェクトが配置すべきでない位置に配置されたことが通知される。このため、ユーザは、配置すべきでない位置に仮想オブジェクトが配置される可能性があったことを事前に把握できない。
そこで、本発明は、ユーザの位置に従って仮想オブジェクトを配置する場合に、仮想オブジェクトが不適切な位置に配置される可能性を把握可能にする技術の提供を目的とする。
本発明の1つの態様は、第1の現実空間における第1のユーザが装着する表示装置を制御する制御装置であって、第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御手段を有する、ことを特徴とする制御装置である。
本発明の1つの態様は、第1の現実空間における第1のユーザが装着する表示装置を制御する制御方法であって、第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御ステップを有する、ことを特徴とする制御方法である。
本発明によれば、ユーザの位置に従って仮想オブジェクトを配置する場合に、仮想オブジェクトが不適切な位置に配置される可能性を把握可能にすることができる。
本発明の好適な実施形態について、以下に図面を用いて説明する。
まず、HMD(ヘッドマウントディスプレイ)に関する技術について説明する。HMD、スマートフォン、およびタブレット端末などでは、ARまたはMRなどの技術が利用されている。ここで、ユーザの頭部に装着可能なHMDは、ユーザの眼の前にディスプレイが配置されている。このため、HMDは、利用シーンに応じた有用な情報を表示すること、および、深い没入感をユーザに与えることができる。
HMDには、透明(半透明)なディスプレイを使用した光学シースルー型のHMDと、不透明なディスプレイを使用したビデオシースルー型のHMDが存在する。
光学シースルー型のHMDでは、画像と外界からの入射光との両方を、ユーザが同時に視認することが可能である。つまり、光学シースルー型のHMDでは、ユーザは、ディスプレイを透過して外部空間が視認可能である。光学シースルー型のHMDを用いれば、例えば、ユーザは、或る場所でHMDを介してイベント(コンサートまたは運動会など)を体感しながら、ユーザが注目している人や物に関する様々な情報をHMDの表示から得ることができる。
一方、ビデオシースルー型のHMDは、ユーザの眼の前のディスプレイに仮想空間を表示すること、またはHMDに搭載されたカメラが取得した画像をディスプレイに表示することができる。このことで、例えば、HMDは、ユーザが位置する現実空間(リアル空間)を撮像した画像に様々な情報を重ねて表示することができる。
<実施形態1>
図1は、実施形態1に係るシステム1(表示システム;制御システム)を説明する図である。図1において、2つのリアル空間101(101A,101B)は、2人のユーザ100(100A,100B)が位置する実際の空間(現実空間)である。
図1は、実施形態1に係るシステム1(表示システム;制御システム)を説明する図である。図1において、2つのリアル空間101(101A,101B)は、2人のユーザ100(100A,100B)が位置する実際の空間(現実空間)である。
システム1は、リアル空間101AにおいてHMD102Aとカメラ103Bを有する。システム1は、リアル空間101BにおいてHMD102Bとカメラ103Bを有する。なお、HMD102AとHMD102Bとは互いに同一の構成を有し、カメラ103Aとカメラ103Bとは互いに同一の構成を有する。このため、以下では、HMD102AとHMD102Bの一方について説明した内容を、他方については原則として説明しない。同様に、カメラ103Aとカメラ103Bの一方について説明した内容を、他方については原則として説明しない。
HMD102Aは、ユーザ100A(リアル空間101Aに位置するユーザ)が装着するHMDである。HMD102Aは、特に説明がない限り、ビデオシースルー型のHMDであることを前提に説明する。
カメラ103Aは、リアル空間101Aの固定位置に設置された撮像装置である。カメラ103Aは、リアル空間101A、およびリアル空間101Aにおけるユーザ100Aを撮像する。カメラ103Aは、ユーザ100A(リアル空間101A)を撮像した画像(撮像画像)から、ユーザ100Aの位置、姿勢、および顔の表情(笑っている表情、怒っている表情、または、無表情など)を検出する。そして、カメラ103Aは、検出結果(ユーザ100Aの位置、姿勢、および顔の表情)の情報を状態情報10Aとしてサーバー107に送信する。
このとき、状態情報10Aは、サーバー107を介して、HMD102Bに送信される。すると、HMD102Bは、ディスプレイ(表示部)に表示するアバター(アバターの位置、姿勢、および表情など)を、受信した状態情報10Aに従って制御する。これにより、HMD102Bを装着したユーザ100Bは、ユーザ100A(相手ユーザ)の位置、姿勢、および表情の変化をリアルタイムで認識できる。
さらに、カメラ103Aは、リアル空間101Aにおける、ユーザ100Aが移動可能であり、かつ、撮像画像からユーザ100Aを検出可能な範囲(有効範囲)を示す範囲情報20Aを検出する。そして、カメラ103Aは、サーバー107を介して、範囲情報20AをHMD102Bに送信する。この場合には、HMD102Bは、受信した範囲情報20Aに基づき、アバターが移動可能な範囲をディスプレイに表示する。状態情報10(10A,10B)と範囲情報20(20A,20B)の詳細については後述する。
(システムの使用イメージについて)
図2A~図2Cを参照して、システム1の使用イメージを説明する。
図2A~図2Cを参照して、システム1の使用イメージを説明する。
図2Aは、2人のユーザ100(100A,100B)がそれぞれ異なるリアル空間101(リアル空間101Aである部屋201と、リアル空間101Bである庭202)で、HMD102(102A,102B)を使用している状況を示している。
カメラ103Aは、部屋201の隅に配置されている。カメラ103Bは、庭202の隅に配置されている。また、部屋201には、テレビ209および観葉植物210が配置されている。庭202には、庭木211および犬212が配置されている。
ここで、「ユーザ100Aの状態(位置、姿勢および顔の表情など)をユーザ100Aのアバターに反映する場合に、ユーザ100Aが部屋201内で移動できる範囲(ユーザ100Aの有効範囲)」を説明する。ユーザ100Aの有効範囲は、テレビ209および観葉植物210が配置された範囲を部屋201から除いた範囲であり、かつ、カメラ103Aがユーザ100Aを検出可能な範囲である。また、ユーザ100Bの有効範囲は、庭木211と犬212が配置された範囲を庭202から除いた範囲で、かつ、カメラ103Bがユーザ100Bを検出可能な範囲である。
図2Bは、ユーザ100(100A、100B)のHMD102(102A,102B)に表示される画像の一例を示す。HMD102Aには、部屋201を背景として、ユーザ100Bのアバター220Bが表示されている。また、HMD102Bには、庭202を背景として、ユーザ100Aのアバター220Aが表示されている。HMD102に表示されるアバターは、他のユーザ(当該HMD102を装着するユーザとは異なるユーザ)の状態変化に連動して、位置、姿勢および表情などが変化する。
ここで、HMD102Aに表示される画像において、カメラ103Bに対するユーザ100Bの相対位置と、カメラ103Aに対するアバター220Bの相対位置とが一致するように、アバター220Bが配置されている。同様に、HMD102Bに表示される画像において、カメラ103Aに対するユーザ100Aの相対位置と、カメラ103Bに対するアバター220Aの相対位置とが一致するように、アバター220Aが配置されている。
図2Cは、カメラ103(カメラ103A、カメラ103B)が、リアル空間101を撮像した画像(撮像画像)にアバターを合成した画像の一例を示す。ここで、カメラ103(103A,カメラ103B)は、ユーザと背景のみを撮像する。カメラ103は、アバター(他のユーザの状態情報に基づき生成されたアバター)と撮像画像を合成することにより、ユーザとアバターが同じリアル空間にいるような合成画像を生成する。このように生成された合成画像は、サーバー107に記録されたり、サーバー107を介して外部装置に配信されたりする。このことで、ユーザや、ユーザ以外の第三者は、ユーザとアバターが一緒に遊んでいるように見える合成画像を見ることができる。なお、以下では、カメラ103が生成する合成画像を「カメラ合成画像」と呼ぶ。
また、カメラ103Aが生成するカメラ合成画像において、カメラ103Bに対するユーザ100Bの相対位置と、カメラ103Aに対するアバター220Bの相対位置とが一致するように、アバター220Bが配置されている。同様に、カメラ103Bが生成するカメラ合成画像において、カメラ103Aに対するユーザ100Aの相対位置と、カメラ103Bに対するアバター220Aの相対位置とが一致するように、アバター220Aが配置されている。
このため、ユーザごとに位置するリアル空間101の広さが異なると、HMD102に表示される画像およびカメラ合成画像が、不自然に見える場合がある。例えば、図3Aに示すように、庭202においてユーザ100Bが、部屋201の範囲(部屋201におけるユーザ100Aの有効範囲)外に相当するような、庭202の隅の位置に移動した場合を考える。この場合には、ユーザ100AのHMD102Aに表示される画像では、図3Bに示すように、ユーザ100Bのアバター220Bが、ユーザ100Aの部屋201の外側に配置されてしまう。また、カメラ103Aが生成するカメラ合成画像においても、図3Bに示すように、ユーザ100Bのアバター220Bが部屋201の外側に配置されてしまう。
なお、ユーザ100Bは、ユーザ100Aの部屋201の状況を把握できていない。このため、ユーザ100Bは、HMD102Aに表示された画像およびカメラ103Aが生成するカメラ合成画像において、アバター220Bの配置が不自然であることに気づかない。つまり、ユーザ100Bは、実際に部屋201を見るなどをして、部屋201の詳細を把握していないと、アバター220Bが不自然な位置に配置されない範囲(自身が動いてよい範囲)を把握できない。
この問題を解決するために、実施形態1では、リアル空間101Bにおける範囲情報20Bに基づき、アバター220Bが移動可能な範囲を、ユーザ100Aの移動が許容される範囲として表示するHMD102を説明する。
図4Aおよび図4Bは、HMD102に表示されるアバターが移動可能な範囲の表示例を示す。図4Aでは、HMD102Aにおいて、ユーザ100Bのアバター220Bが移動可能な範囲をグラデーション表示(濃淡表示)により示す仮想オブジェクト(以下、「範囲表示オブジェクト」と呼ぶ)401が表示されている。図4Bでは、HMD102Bにおいて、ユーザ100Aのアバター220Aが移動可能な範囲をグラデーション表示により示す範囲表示オブジェクト403が表示されている。なお、後述するが、範囲表示オブジェクト403のうち暗い範囲ほど、当該範囲に対応するリアル空間101Aの範囲においてユーザ100Aの状態の検出が精度よく行われるため、アバター220Aがスムーズに動作する。また、範囲表示オブジェクト403は透過性を有し、ユーザ100Bは、範囲表示オブジェクト403を透過して、リアル空間101B(リアル空間101Bの画像)を見ることができる。
また、例えば、ユーザ100Aは、図4Aに示すような範囲表示オブジェクト401をHMD102Aの表示から認識して、グラデーション表示により示されたリアル空間101Aの範囲内で行動するようにする。このことで、HMD102Bに表示される画像および、カメラ103Bにより合成された合成画像において、アバター220Aが不自然な位置に配置されることを回避できる。具体的には、範囲表示オブジェクト401の範囲がユーザ100Bの有効範囲に対応するため、ユーザ100Aが範囲表示オブジェクト401の範囲内で移動すれば、アバター220Aは、ユーザ100Bの有効範囲内でのみ移動するようになる。
(HMDの構成について)
続いて、HMD102(102A,102B)の内部構成について説明する。上記では、HMD102は、ビデオシースルー型のHMDであることを前提に説明した。しかし、HMD102は、光学シースルー型のHMDおよびビデオシースルー型のHMDのいずれであってもよい。ここで、HMD102の各構成は、制御部(不図示)によって制御される。つまり、制御部は、HMD102(表示装置)の全体を制御する。
続いて、HMD102(102A,102B)の内部構成について説明する。上記では、HMD102は、ビデオシースルー型のHMDであることを前提に説明した。しかし、HMD102は、光学シースルー型のHMDおよびビデオシースルー型のHMDのいずれであってもよい。ここで、HMD102の各構成は、制御部(不図示)によって制御される。つまり、制御部は、HMD102(表示装置)の全体を制御する。
まず、図5を用いて、HMD102がビデオシースルー型のHMD500である場合について説明する。HMD500は、撮像部501、取得部502、オブジェクト生成部503、重畳部504、表示部505を有する。以下では、HMD500は、ユーザ100Aが装着するHMD102Aであることを前提に説明する。
撮像部501は、ユーザ100Aの前方(前面)を撮像した画像(以下、「前方画像」と呼ぶ)を取得する撮像装置(カメラ)である。撮像部501には、一般的に、ユーザ100Aの視界に近い撮像画角(広角から標準の撮像画角)を有する撮像装置が用いられる。
取得部502は、サーバー107を介して、ユーザ100Bのカメラ103Bから、状態情報10Bと範囲情報20Bを取得する。取得部502は、状態情報10Bと範囲情報20Bをオブジェクト生成部503に送信する。
状態情報10Bが示すユーザ100Bの位置は、カメラ103Bに対するユーザ100Bの相対位置である。範囲情報20Bは、ユーザ100Bの有効範囲(リアル空間101Bにおいてユーザ100Bが移動可能な範囲、かつ、カメラ103Bがユーザ100Bを検出可能な範囲)を、カメラ103Bからの相対位置により示す情報である。また、範囲情報20Bは、有効範囲の各位置におけるユーザ100Bの状態の検出精度に応じた、当該位置のグラデーションレベル(濃度)の情報を含む。
オブジェクト生成部503は、取得部502から受信した状態情報10Bに基づき、アバター220B(アバター220Bの画像)を生成する。さらに、オブジェクト生成部503は、取得部502から受信した範囲情報20Bに基づき、アバター220Bが移動可能な範囲を示す範囲表示オブジェクト(範囲表示オブジェクトの画像)を生成する。具体的には、オブジェクト生成部503は、範囲情報20Bが示す有効範囲に対応するような前方画像(リアル空間101A)の範囲を、覆うことができる範囲表示オブジェクトを生成する。また、オブジェクト生成部503は、範囲表示オブジェクトの各位置を、当該位置に対応する有効範囲の位置のグラデーションレベルに応じて着色する。
重畳部504は、撮像部501が前方を撮像した画像(前方画像)に、アバター220B(アバター220Bの画像)と範囲表示オブジェクト(範囲表示オブジェクトの画像)を重畳した合成画像(図4Aおよび図4B参照)を生成する。そして、重畳部504は、合成画像を表示部505に出力する。
このとき、重畳部504は、状態情報10Bが示すユーザ100Bの位置に従った位置(前方画像における位置)にアバター220Bを配置する。具体的には、重畳部504は、カメラ103Bに対するユーザ100Bの相対位置と、カメラ103Aに対するアバター220Bの相対位置とが一致するように、アバター220Bが配置する。このため、例えば、重畳部504は、HMD500に対するカメラ103Aの相対位置を予め取得しておき、その相対位置と状態情報10Bに基づき、アバター220Bを配置する。
表示部505は、ユーザの眼の前に備え付けられたディスプレイである。表示部505は、合成画像を表示する。
図6を用いて、HMD102が光学シースルー型のHMD600である場合について説明する。HMD600は、取得部601、オブジェクト生成部602、投影部603を有する。以下では、HMD600は、ユーザ100Aが装着するHMD102Aであることを前提に説明する。
なお、光学シースルー型のHMD600では、ユーザは、表示面(ディスプレイ;グラス)越しに直接リアル空間101Aを視認できる。このため、HMD600は、撮像部501を有しない。
取得部601は、サーバー107を介して、ユーザ100Bのカメラ103Bから、状態情報10Bと範囲情報20Bを取得する。
オブジェクト生成部602は、ビデオシースルー型のHMD500と同様に、アバター220B(アバター220Bの画像)および範囲表示オブジェクトを生成する。
投影部603は、アバター220Bおよび範囲表示オブジェクトを、ディスプレイ内に設置された光学素子(プリズムなど)に投影する。このとき、投影部603は、状態情報10Bが示すユーザ100Bの位置に従った位置(ディスプレイにおける位置)にアバター220Bを投影する(配置する)。これにより、ユーザは、リアル空間101A内に、アバター220Bと範囲表示オブジェクトとが配置されている空間を見る(認識する)ことができる。
なお、HMD102が図5または図6に示す構成を含んでいれば、HMD102の形状は、ゴーグル形状、メガネ形状、およびコンタクトレンズ形状など任意の形状であってよい。
(カメラの構成について)
図7を参照して、カメラ103(103A,103B)の内部構成について説明する。以下では、ユーザ100Aを撮像するカメラ103Aについて説明するが、カメラ103Bもカメラ103Aと同様の構成である。
図7を参照して、カメラ103(103A,103B)の内部構成について説明する。以下では、ユーザ100Aを撮像するカメラ103Aについて説明するが、カメラ103Bもカメラ103Aと同様の構成である。
撮像部701は、リアル空間101Aにおけるユーザ100Aを撮像する。撮像部701は、例えば、リアル空間101Aの広範囲を撮像可能である。
検出部702は、撮像部701がユーザ100Aを撮像した画像(撮像画像)に基づき、リアル空間101Aにおけるユーザ100Aを検出する。そして、検出部702は、撮像画像に基づき、ユーザ100Aの情報(状態情報10Aと範囲情報20A)を取得する。なお、検出部702は、撮像画像に基づき範囲情報20Aを取得するのではなく、例えば、前回のカメラ103Aの使用時に取得した範囲情報20Aを記録部707などから取得してもよい。
状態情報10Aは、ユーザ100Aの状態(位置、姿勢、顔の向き、および顔の表情など)に関する情報である。ユーザ100Aの位置は、図8に示すように、リアル空間101Aに置かれたカメラ103Aの位置を原点(0,0,0)とする座標空間における、ユーザ100Aが検出された座標位置により表される。ユーザ100Aの姿勢については、図8に示す座標空間におけるユーザ100Aの四肢の座標位置に基づき、Deep Learnningなどの技術を用いて推定される。顔の向きについては、ユーザ100Aの顔がカメラ103Aに正対している状態を「正面を向いている状態」であるとして、顔が上下左右のいずれを向いているかにより検出される。顔の表情については、ユーザ100Aの目の開き具合や口角の位置の検出結果から推定される。撮像部701がユーザ100Aを撮像している間には、検出部702は、一定のレート(周期)で、ユーザ100Aの位置、姿勢、顔の向き、および顔の表情を検出して、かつ、状態情報10Aを更新する。
範囲情報20Aは、ユーザ100Aの有効範囲(リアル空間101Aにおける、ユーザ100Aが移動できる範囲であり、かつ、カメラ103Aによりユーザ100Aを検出可能な範囲)を示す情報である。範囲情報20Aの検出方法については、図9のフローチャートを用いて後述する。
送信部703は、状態情報10Aと範囲情報20Aをサーバー107に送信する。送信部703は、通信装置である。また、送信部703は、重畳部706が生成したカメラ合成画像をサーバー107に送信する。
取得部704は、サーバー107を介して、ユーザ100Bの状態情報10Bを取得する。取得部704は、通信装置である。
オブジェクト生成部705は、状態情報10Bに基づき、位置、姿勢、および表情などを制御したアバター220B(アバター220Bの画像)を生成する。
重畳部706は、撮像部701がユーザ100Aを撮像した撮像画像に、アバター220Bを重畳して、カメラ合成画像を生成する。このとき、重畳部706は、状態情報10Bに示すユーザ100Bの位置に従った位置(撮像画像における位置)に、アバター220Bを配置する。具体的には、カメラ合成画像において、カメラ103Bに対するユーザ100Bの相対位置と、カメラ103Aに対するアバター220Bの相対位置とが一致するように、アバター220Bが配置される。
記録部707は、カメラ合成画像(撮像画像にアバター220Bが重畳された画像)を格納する。また、記録部707は、検出部702が取得した状態情報10Aと範囲情報20Aを格納していてもよい。
(範囲情報の検出処理について)
図9のフローチャートを参照して、検出部702が実行する範囲情報20の検出処理について説明する。以下では、ユーザ100A(リアル空間101A)を撮像するカメラ103Aの検出部702が実行する処理について説明する。
図9のフローチャートを参照して、検出部702が実行する範囲情報20の検出処理について説明する。以下では、ユーザ100A(リアル空間101A)を撮像するカメラ103Aの検出部702が実行する処理について説明する。
ステップS901では、検出部702は、撮像部701がユーザ100Aを撮像した画像(撮像画像)から、ユーザ100Aの移動の妨げとなる物体(障害オブジェクト)を検出する。図2Aでは、障害オブジェクトは、部屋201におけるテレビ209および観葉植物210が該当する。また、障害オブジェクトは、庭202における庭木211および犬212が該当する。
ここで、検出部702は、図8に示すように、リアル空間101Aにおけるカメラ103A位置を原点(0,0,0)とする3次元の座標空間を設定する。そして、検出部702は、当該座標空間における障害オブジェクトの位置と大きさ(幅Wと高さH)を検出する。なお、障害オブジェクトの検出精度を高めるために、AI(Artificial Inteligence)や、DL(DeepLearnning)などの一般的な認識技術を用いてもよい。
そして、検出部702は、検出オブジェクトの検出結果に基づき、図10に示すような障害オブジェクトそれぞれの位置および大きさ(Z軸方向から見た場合の障害オブジェクトの縦、横の長さ)を示すリストを生成する。なお、障害オブジェクトの位置および大きさの情報は、予めユーザによって登録されていてもよい。
ステップS902では、検出部702は、リアル空間101Aのうちユーザ100Aが移動できて(障害オブジェクトに邪魔されずに移動できて)、かつ、カメラ103Aによりユーザ100Aが検出可能(撮像可能)な範囲(有効範囲)を検出する。
まず、検出部702は、図11に示すように、リアル空間101Aにおけるカメラ103Aの位置を原点(0,0)とする2次元の座標空間(図8のZ軸方向から見たリアル空間101Aの2次元の座標空間)を設定する。そして、検出部702は、設定された座標空間におけるカメラ103Aの撮像画角に含まれる範囲のうち、リアル空間101Aの境界線1100(ユーザ100Aが移動可能な範囲の境界線;壁など)よりカメラ103A側の範囲を求める。そして、検出部702は、求めた範囲から、オブジェクト1103と死角範囲1104(オブジェクト1103の存在によってカメラ103Aから視認できない範囲)とを取り除いた範囲を、有効範囲1105(斜線により表された範囲)として検出する。このため、有効範囲1105は、カメラ103Aの撮像画角に含まれない左右の死角範囲1101,1102を含まない。なお、死角範囲1104は、図10に示す障害オブジェクトそれぞれの位置および大きさ(つまり、オブジェクト1103の位置および大きさ)から、既知の方法により算出可能である。
ステップS903では、検出部702は、カメラ103Aの撮像画角内でのユーザ100Aの状態(ユーザ100Aの位置、姿勢、および表情など)の検出精度に関する情報を、ステップS902で検出された有効範囲に追加する。
図12Aに示すように、有効範囲1105が検出されている場合には、ユーザ100Aは有効範囲1105の内側を自由に移動可能である。しかし、カメラ103Aがユーザ100Aの状態(位置、姿勢および顔の表情など)を正確に検出するためには、ユーザ100Aの身体の全体を適切な大きさで撮像する必要がある。例えば、図12Aに示す範囲1201に位置するユーザ100Aを撮像する場合には、ユーザ100Aがカメラ103Aに近すぎるため、ユーザ100Aの身体の一部しか撮像ができない。このため、検出部702によるユーザ100Aの状態の検出精度が低下する。また、範囲1202に位置するユーザ100Aを撮像する場合には、ユーザ100Aがカメラ103Aから遠すぎるため、ユーザ100Aの全身が小さく撮像されてしまう。このため、この場合でも、ユーザ100Aの状態の検出精度が低下する。
このように、ユーザ100Aの状態の検出精度は、撮像画像に写るユーザ100Aの大きさ、または/および、ユーザ100Aの全身のうち撮像画像に写る範囲に基づく値となる。このため、実際のユーザ100Aの状態の検出精度は、ユーザ100Aの位置とカメラ103Aとの距離の変化に応じて、徐々に変化する。図12Bは、図12Aの有効範囲1105の各座標に対応するユーザ100Aの状態の検出精度を、グラデーション表示により表している。グラデーションの色の濃い範囲は、ユーザ100Aが移動可能で、かつ、カメラ103Aによるユーザ100Aの状態の検出精度も高い範囲である。グラデーションの色の薄い範囲は、ユーザ100Aが移動可能であるが、カメラ103Aによるユーザ100Aの状態の検出精度が低い範囲である。このため、色の薄い範囲にユーザ100Aが位置していると、HMD102Bに表示されるアバター220Aの動きが停止する可能性または、アバター220Aが正しい位置もしくは姿勢にならない可能性がある。
そこで、検出部702は、ステップS902にて検出した有効範囲に、ユーザ100Aの状態の検出精度に関する情報を追加して、範囲情報20Aとして出力する。具体的には、検出部702は、図13に示すような、それぞれの座標位置におけるユーザ100Aの状態の検出精度をグラデーションレベル(濃度)により表した情報を、範囲情報20Aとして出力する。ここで、図13において、グラデーションレベルが特定の値(例えば、0)より大きい位置が有効範囲に含まれ、グラデーションレベルが特定の値以下である位置が有効範囲に含まれない。
ステップS901~S903のように、検出部702は、リアル空間101Aにおけるユーザ100Aの有効範囲を撮像画像から検出して、ユーザ100BのHMD102Bおよびカメラ103Bに範囲情報20Aを送信する。すると、HMD102Bは、範囲情報20Aに基づき、図8に示すように、リアル空間101Bに置かれたカメラ103Bの位置を原点とする座標空間を設定する。HMD102Bは、有効範囲の各位置に対応する座標位置(リアル空間101Bの座標空間の座標位置)を、有効範囲の当該位置のグラデーションレベルに従って着色する(グラデーションレベルが高いほど濃く着色する)ような範囲表示オブジェクトを生成する。そして、HMD102Bは、アバター220Aとともに、範囲表示オブジェクトを表示する。
このため、範囲表示オブジェクトの各位置は、当該位置に対応するリアル空間101Aの座標位置におけるユーザ100Aの状態の検出精度に応じた表示形態で表示される。なお、範囲表示オブジェクトの各位置は、グラデーション表示により表されている必要はなく、例えば、検出精度に応じて異なる色で表示されてもよいし、検出精度に応じた模様で表示されてもよい。
なお、本実施形態では、2次元の座標空間を表す範囲情報20の検出処理を説明したが、リアル空間の高さ方向を加味した3次元座標空間を表す範囲情報20が検出されてもよい。また、範囲情報20の取得は、通常、アバター220の表示を開始するタイミングで1度だけ実施すればよい。
以上、実施形態1によれば、ユーザ100Aは、他のユーザ100Bのアバター220Bの移動範囲を示す情報(範囲表示オブジェクト)を見て、アバター220Bの移動範囲とユーザ100Bの状態の検出精度を認識ができる。このため、ユーザ100Aは、不適切な位置にアバター220Bが配置される可能性を把握できる。そして、ユーザ100Aは、範囲表示オブジェクトが示す範囲内で行動することにより、ユーザ100Bが見る画像において、ユーザ100Aのアバター220Aが不自然な位置に配置されることを回避することができる。さらには、ユーザ100Aは、範囲表示オブジェクトのうちの、グラデーション表示の色の濃い範囲内で行動することにより、ユーザ100Bが見る画像において、ユーザ100Aのアバター220Aが不自然な動きをすることなどを回避することができる。
<実施形態2>
実施形態2では、HMD102は、そのHMD102を装着するユーザ100自身の移動可能な範囲も表示する。以下では、HMD102は、ユーザ100Aが装着するHMD102Aであるとして説明する。
実施形態2では、HMD102は、そのHMD102を装着するユーザ100自身の移動可能な範囲も表示する。以下では、HMD102は、ユーザ100Aが装着するHMD102Aであるとして説明する。
実施形態1では、ユーザ100Bのアバター220Bの移動可能な範囲が、HMD102Aに表示された。ここで、ビデオシースルー型のHMD102Aが仮想空間(リアル空間ではない空間)の画像を表示する場合には、その仮想空間においてユーザ100Aがアバター220Bと遊ぶことや、これらが遊んでいるところが撮像されるような場合が考えられる。HMD102Aに仮想空間の画像が表示される場合には、ユーザ100Aは、現在自分が位置するリアル空間101Aを肉眼で視認できなくなる。このため、ユーザ100Aは、HMD102Aを用いて、動きを伴うゲームなどを行う場合には、リアル空間101Aに配置された障害オブジェクトに衝突する危険性がある。
これを回避するために、HMD102Aは、ユーザ100Bのアバター220Bの移動範囲だけでなく、カメラ103Aが検出した範囲情報20Aに基づき、ユーザ100Aの移動可能な範囲をグラデーション表示により表示する(仮想空間の画像に重畳する)。つまり、HMD102Aは、リアル空間101Aにおけるユーザ100A自身の移動可能な範囲に対応する範囲(仮想空間の画像における範囲)を示す範囲表示オブジェクトを表示する。なお、実施形態2における「ユーザ100Aの移動可能な範囲」とは、ユーザ100Aの有効範囲と同じ範囲であってもよい。「ユーザ100Aの移動可能な範囲」とは、ユーザ100Aの有効領域と、障害オブジェクトの存在によってカメラ103Aから視認できない範囲(図11の死角範囲1104)とを併せた範囲であってもよい。
図14は、実施形態2におけるシステム2の構成を示す。システム1は、基本的な構成については、実施形態1に係るシステム2と同様である。一方で、HMD102Aは、そのHMD102Aを装着したユーザ100A自身の移動可能な範囲を知るために、そのユーザ100Aの範囲情報20Aも取得する。
実施形態2に係るHMD102Aは、シースルー型のHMD500(図5)と同様であるが、オブジェクト生成部503は、2つの範囲情報20Aおよび20Bそれぞれについて、移動可能な範囲を表す範囲表示オブジェクトを生成する。HMD102Aは、2つの範囲表示オブジェクトを、一定の時間間隔で個別に切り替えて表示してもよいし、異なる色のグラデーションで同時に表示してもよい。
これにより、ユーザ100Aは、自分自身とアバター220Bの双方の移動可能な範囲を認識することができる。このため、ユーザ100Aは、障害オブジェクトに衝突するなどの危険を回避することができる。
なお、実施形態2では、双方のユーザがビデオシースルー型のHMDを用いて仮想空間にアバターが表示される例であるとするが、どちらか一方のユーザのHMDのみがビデオシースルー型のHMDであってもよい。
なお、上記の各実施形態においてHMD(表示装置)は、HMDを制御する制御装置(例えば、HMD500から表示部505を除いた構成)と表示部(例えば、HMD500における表示部505)とから構成されてもよい。
また、上記において、「AがB以上の場合にはステップS1に進み、AがBよりも小さい(低い)場合にはステップS2に進む」は、「AがBよりも大きい(高い)場合にはステップS1に進み、AがB以下の場合にはステップS2に進む」と読み替えてもよい。逆に、「AがBよりも大きい(高い)場合にはステップS1に進み、AがB以下の場合にはステップS2に進む」は、「AがB以上の場合にはステップS1に進み、AがBよりも小さい(低い)場合にはステップS2に進む」と読み替えてもよい。このため、矛盾が生じない限り、「A以上」という表現は、「AまたはAよりも大きい(高い;長い;多い)」と置き換えてもよいし、「Aよりも大きい(高い;長い;多い)」と読み替えてよく、置き換えてもよい。一方で、「A以下」という表現は、「AまたはAよりも小さい(低い;短い;少ない)」と置き換えてもよいし、「Aよりも小さい(低い;短い;少ない)」と置き換えても読み替えてもよい。そして、「Aよりも大きい(高い;長い;多い)」は、「A以上」と読み替えてもよく、「Aよりも小さい(低い;短い;少ない)」は「A以下」と読み替えてもよい。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
なお、上記の各実施形態(各変形例)の各機能部は、個別のハードウェアであってもよいし、そうでなくてもよい。2つ以上の機能部の機能が、共通のハードウェアによって実現されてもよい。1つの機能部の複数の機能のそれぞれが、個別のハードウェアによって実現されてもよい。1つの機能部の2つ以上の機能が、共通のハードウェアによって実現されてもよい。また、各機能部は、ASIC、FPGA、DSPなどのハードウェアによって実現されてもよいし、そうでなくてもよい。例えば、装置が、プロセッサと、制御プログラムが格納されたメモリ(記憶媒体)とを有していてもよい。そして、装置が有する少なくとも一部の機能部の機能が、プロセッサがメモリから制御プログラムを読み出して実行することにより実現されてもよい。
(その他の実施形態)
本発明は、上記の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上記の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
本願は、2022年6月29日提出の日本国特許出願特願2022-104382を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。
上記の実施形態の開示は、以下の構成、方法、およびプログラムを含む。
(構成1)
第1の現実空間における第1のユーザが装着する表示装置を制御する制御装置であって、
第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御手段を有する、
ことを特徴とする制御装置。
(構成2)
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、前記第2の現実空間における撮像装置が撮像により取得した撮像画像に基づく範囲である、
ことを特徴とする構成1に記載の制御装置。
(構成3)
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、有効範囲に対応し、
前記有効範囲は、前記第2の現実空間における、前記第2のユーザが移動可能な範囲であり、かつ、前記撮像画像から前記第2のユーザを検出可能な範囲である、
ことを特徴とする構成2に記載の制御装置。
(構成4)
前記制御手段は、前記範囲表示オブジェクトでは、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲の各位置を、当該位置に対応する前記第2の現実空間の位置における前記第2のユーザの状態の検出精度に応じた表示形態で表示する、
ことを特徴とする構成3に記載の制御装置。
(構成5)
前記第2のユーザの状態の検出精度は、前記第2のユーザの全身のうち前記撮像画像に写る範囲、および前記撮像画像における前記第2のユーザの大きさの少なくともいずれかに基づく精度である、
ことを特徴とする構成4に記載の制御装置。
(構成6)
前記有効範囲を示す範囲情報を取得する取得手段と、
前記範囲情報に基づき、前記範囲表示オブジェクトを生成する生成手段と、
をさらに有することを特徴とする構成3から5のいずれか1項に記載の制御装置。
(構成7)
前記取得手段は、前記第2のユーザの位置を含む前記第2のユーザの状態を示す状態情報をさらに取得して、
前記生成手段は、前記状態情報に基づき前記仮想オブジェクトを生成する、
を有する、
ことを特徴とする構成6に記載の制御装置。
(構成8)
前記表示装置は、ディスプレイを透過して外部が視認可能である表示装置であり、
前記制御手段は、前記仮想オブジェクトと前記範囲表示オブジェクトとを前記ディスプレイに表示するように、前記表示装置を制御する、
ことを特徴とする構成1から7のいずれか1項に記載の制御装置。
(構成9)
前記制御手段は、前記第1のユーザの前方が撮像された画像に対して前記仮想オブジェクトと前記範囲表示オブジェクトとを合成した画像を表示するように、前記表示装置を制御する、
ことを特徴とする構成1から7のいずれか1項に記載の制御装置。
(構成10)
前記制御手段は、仮想空間の画像を表示するとともに、前記第1の現実空間における前記第1のユーザが移動可能な範囲に対応する範囲であって、前記仮想空間の画像における範囲を示す第3の画像をさらに表示するように、前記表示装置を制御する、
ことを特徴とする構成1から9のいずれか1項に記載の制御装置。
(構成11)
構成1から10のいずれか1項に記載の制御装置と、
前記第2の現実空間を撮像して撮像画像を取得する撮像装置と、
を有することを特徴とするシステム。
(構成12)
前記撮像画像に基づき、前記第2の現実空間における、前記第2のユーザが移動可能な範囲であり、かつ、前記撮像画像から前記第2のユーザを検出可能な範囲である有効範囲を検出する検出手段をさらに有し、
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、前記有効範囲に対応する範囲である、
ことを特徴とする構成11に記載のシステム。
(制御方法)
第1の現実空間における第1のユーザが装着する表示装置を制御する制御方法であって、
第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御ステップを有する、
ことを特徴とする制御方法。
(プログラム)
コンピュータを、構成1から10のいずれか1項に記載の制御装置の各手段として機能させるためのプログラム。
(構成1)
第1の現実空間における第1のユーザが装着する表示装置を制御する制御装置であって、
第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御手段を有する、
ことを特徴とする制御装置。
(構成2)
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、前記第2の現実空間における撮像装置が撮像により取得した撮像画像に基づく範囲である、
ことを特徴とする構成1に記載の制御装置。
(構成3)
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、有効範囲に対応し、
前記有効範囲は、前記第2の現実空間における、前記第2のユーザが移動可能な範囲であり、かつ、前記撮像画像から前記第2のユーザを検出可能な範囲である、
ことを特徴とする構成2に記載の制御装置。
(構成4)
前記制御手段は、前記範囲表示オブジェクトでは、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲の各位置を、当該位置に対応する前記第2の現実空間の位置における前記第2のユーザの状態の検出精度に応じた表示形態で表示する、
ことを特徴とする構成3に記載の制御装置。
(構成5)
前記第2のユーザの状態の検出精度は、前記第2のユーザの全身のうち前記撮像画像に写る範囲、および前記撮像画像における前記第2のユーザの大きさの少なくともいずれかに基づく精度である、
ことを特徴とする構成4に記載の制御装置。
(構成6)
前記有効範囲を示す範囲情報を取得する取得手段と、
前記範囲情報に基づき、前記範囲表示オブジェクトを生成する生成手段と、
をさらに有することを特徴とする構成3から5のいずれか1項に記載の制御装置。
(構成7)
前記取得手段は、前記第2のユーザの位置を含む前記第2のユーザの状態を示す状態情報をさらに取得して、
前記生成手段は、前記状態情報に基づき前記仮想オブジェクトを生成する、
を有する、
ことを特徴とする構成6に記載の制御装置。
(構成8)
前記表示装置は、ディスプレイを透過して外部が視認可能である表示装置であり、
前記制御手段は、前記仮想オブジェクトと前記範囲表示オブジェクトとを前記ディスプレイに表示するように、前記表示装置を制御する、
ことを特徴とする構成1から7のいずれか1項に記載の制御装置。
(構成9)
前記制御手段は、前記第1のユーザの前方が撮像された画像に対して前記仮想オブジェクトと前記範囲表示オブジェクトとを合成した画像を表示するように、前記表示装置を制御する、
ことを特徴とする構成1から7のいずれか1項に記載の制御装置。
(構成10)
前記制御手段は、仮想空間の画像を表示するとともに、前記第1の現実空間における前記第1のユーザが移動可能な範囲に対応する範囲であって、前記仮想空間の画像における範囲を示す第3の画像をさらに表示するように、前記表示装置を制御する、
ことを特徴とする構成1から9のいずれか1項に記載の制御装置。
(構成11)
構成1から10のいずれか1項に記載の制御装置と、
前記第2の現実空間を撮像して撮像画像を取得する撮像装置と、
を有することを特徴とするシステム。
(構成12)
前記撮像画像に基づき、前記第2の現実空間における、前記第2のユーザが移動可能な範囲であり、かつ、前記撮像画像から前記第2のユーザを検出可能な範囲である有効範囲を検出する検出手段をさらに有し、
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、前記有効範囲に対応する範囲である、
ことを特徴とする構成11に記載のシステム。
(制御方法)
第1の現実空間における第1のユーザが装着する表示装置を制御する制御方法であって、
第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御ステップを有する、
ことを特徴とする制御方法。
(プログラム)
コンピュータを、構成1から10のいずれか1項に記載の制御装置の各手段として機能させるためのプログラム。
1:システム、102:HMD(表示装置)、103:カメラ(撮像装置)
Claims (14)
- 第1の現実空間における第1のユーザが装着する表示装置を制御する制御装置であって、
第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御手段を有する、
ことを特徴とする制御装置。 - 前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、前記第2の現実空間における撮像装置が撮像により取得した撮像画像に基づく範囲である、
ことを特徴とする請求項1に記載の制御装置。 - 前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、有効範囲に対応し、
前記有効範囲は、前記第2の現実空間における、前記第2のユーザが移動可能な範囲であり、かつ、前記撮像画像から前記第2のユーザを検出可能な範囲である、
ことを特徴とする請求項2に記載の制御装置。 - 前記制御手段は、前記範囲表示オブジェクトでは、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲の各位置を、当該位置に対応する前記第2の現実空間の位置における前記第2のユーザの状態の検出精度に応じた表示形態で表示する、
ことを特徴とする請求項3に記載の制御装置。 - 前記第2のユーザの状態の検出精度は、前記第2のユーザの全身のうち前記撮像画像に写る範囲、および前記撮像画像における前記第2のユーザの大きさの少なくともいずれかに基づく精度である、
ことを特徴とする請求項4に記載の制御装置。 - 前記有効範囲を示す範囲情報を取得する取得手段と、
前記範囲情報に基づき、前記範囲表示オブジェクトを生成する生成手段と、
をさらに有することを特徴とする請求項3から5のいずれか1項に記載の制御装置。 - 前記取得手段は、前記第2のユーザの位置を含む前記第2のユーザの状態を示す状態情報をさらに取得して、
前記生成手段は、前記状態情報に基づき前記仮想オブジェクトを生成する、
を有する、
ことを特徴とする請求項6に記載の制御装置。 - 前記表示装置は、ディスプレイを透過して外部が視認可能である表示装置であり、
前記制御手段は、前記仮想オブジェクトと前記範囲表示オブジェクトとを前記ディスプレイに表示するように、前記表示装置を制御する、
ことを特徴とする請求項1から5のいずれか1項に記載の制御装置。 - 前記制御手段は、前記第1のユーザの前方が撮像された画像に対して前記仮想オブジェクトと前記範囲表示オブジェクトとを合成した画像を表示するように、前記表示装置を制御する、
ことを特徴とする請求項1から5のいずれか1項に記載の制御装置。 - 前記制御手段は、仮想空間の画像を表示するとともに、前記第1の現実空間における前記第1のユーザが移動可能な範囲に対応する範囲であって、前記仮想空間の画像における範囲を示す第3の画像をさらに表示するように、前記表示装置を制御する、
ことを特徴とする請求項1から5のいずれか1項に記載の制御装置。 - 請求項1から5のいずれか1項に記載の制御装置と、
前記第2の現実空間を撮像して撮像画像を取得する撮像装置と、
を有することを特徴とするシステム。 - 前記撮像画像に基づき、前記第2の現実空間における、前記第2のユーザが移動可能な範囲であり、かつ、前記撮像画像から前記第2のユーザを検出可能な範囲である有効範囲を検出する検出手段をさらに有し、
前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲は、前記有効範囲に対応する範囲である、
ことを特徴とする請求項11に記載のシステム。 - 第1の現実空間における第1のユーザが装着する表示装置を制御する制御方法であって、
第2の現実空間における第2のユーザの位置に対応する前記第1の現実空間の位置に配置されたような仮想オブジェクトと、前記第1の現実空間において前記仮想オブジェクトが移動可能な範囲を示す範囲表示オブジェクトとを表示するように前記表示装置を制御する制御ステップを有する、
ことを特徴とする制御方法。 - コンピュータを、請求項1から5のいずれか1項に記載の制御装置の各手段として機能させるためのプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-104382 | 2022-06-29 | ||
JP2022104382A JP2024004662A (ja) | 2022-06-29 | 2022-06-29 | 制御装置、システム、制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024004306A1 true WO2024004306A1 (ja) | 2024-01-04 |
Family
ID=89381970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/013780 WO2024004306A1 (ja) | 2022-06-29 | 2023-04-03 | 制御装置、システム、制御方法、プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024004662A (ja) |
WO (1) | WO2024004306A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106297A (ja) * | 2016-12-22 | 2018-07-05 | キヤノンマーケティングジャパン株式会社 | 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム |
JP2018106298A (ja) * | 2016-12-22 | 2018-07-05 | キヤノンマーケティングジャパン株式会社 | 画像処理装置、画像処理方法、コンピュータプログラム |
JP6933849B1 (ja) * | 2020-09-03 | 2021-09-08 | 株式会社Abal | 体感型インターフェースシステム、及び、動作体感システム |
-
2022
- 2022-06-29 JP JP2022104382A patent/JP2024004662A/ja active Pending
-
2023
- 2023-04-03 WO PCT/JP2023/013780 patent/WO2024004306A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106297A (ja) * | 2016-12-22 | 2018-07-05 | キヤノンマーケティングジャパン株式会社 | 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム |
JP2018106298A (ja) * | 2016-12-22 | 2018-07-05 | キヤノンマーケティングジャパン株式会社 | 画像処理装置、画像処理方法、コンピュータプログラム |
JP6933849B1 (ja) * | 2020-09-03 | 2021-09-08 | 株式会社Abal | 体感型インターフェースシステム、及び、動作体感システム |
Also Published As
Publication number | Publication date |
---|---|
JP2024004662A (ja) | 2024-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11199706B2 (en) | Head-mounted display for virtual and mixed reality with inside-out positional, user body and environment tracking | |
KR102574874B1 (ko) | 헤드 마운트 디스플레이(hmd)를 이용한 화상회의를 위한 개선된 방법 및 시스템 | |
US10269177B2 (en) | Headset removal in virtual, augmented, and mixed reality using an eye gaze database | |
US9852549B2 (en) | Image processing | |
US10365711B2 (en) | Methods, systems, and computer readable media for unified scene acquisition and pose tracking in a wearable display | |
CN107924584A (zh) | 增强现实 | |
JP5237234B2 (ja) | 映像コミュニケーションシステム、及び映像コミュニケーション方法 | |
CN108885342A (zh) | 用于低延迟渲染的宽基线立体 | |
JP7558268B2 (ja) | 非均一ステレオレンダリング | |
EP3454098A1 (en) | System with semi-transparent reflector for mixed/augmented reality | |
WO2020189450A1 (ja) | 複数のマーカを備えたデバイス | |
WO2024004306A1 (ja) | 制御装置、システム、制御方法、プログラム | |
JP2000218575A (ja) | 画像提示装置 | |
JP2000098300A (ja) | 仮想画像立体合成装置、仮想画像立体合成方法、ゲーム装置及び記録媒体 | |
Unberath et al. | Augment Yourself: Mixed Reality Self-Augmentation Using Optical See-through Head-mounted Displays and Physical Mirrors | |
JP5332127B2 (ja) | 頭部装着型表示装置 | |
JP2023178093A (ja) | 表示装置、制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23830760 Country of ref document: EP Kind code of ref document: A1 |