WO2024095356A1 - Graphics generation device, graphics generation method, and program - Google Patents
Graphics generation device, graphics generation method, and program Download PDFInfo
- Publication number
- WO2024095356A1 WO2024095356A1 PCT/JP2022/040852 JP2022040852W WO2024095356A1 WO 2024095356 A1 WO2024095356 A1 WO 2024095356A1 JP 2022040852 W JP2022040852 W JP 2022040852W WO 2024095356 A1 WO2024095356 A1 WO 2024095356A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual
- real
- image
- dimensional
- dimensional real
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 74
- 238000012545 processing Methods 0.000 claims abstract description 129
- 230000008569 process Effects 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 20
- 238000005259 measurement Methods 0.000 claims description 19
- 230000000007 visual effect Effects 0.000 claims description 15
- 238000003384 imaging method Methods 0.000 abstract description 14
- 238000004364 calculation method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 241000406668 Loxodonta cyclotis Species 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001154 acute effect Effects 0.000 description 2
- 230000037237 body shape Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- FBJUTZMAUXJMMH-UHFFFAOYSA-N azane;5-methyl-2-(4-methyl-5-oxo-4-propan-2-yl-1h-imidazol-2-yl)pyridine-3-carboxylic acid Chemical compound [NH4+].N1C(=O)C(C(C)C)(C)N=C1C1=NC=C(C)C=C1C([O-])=O FBJUTZMAUXJMMH-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000001035 gastrointestinal tract Anatomy 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000003141 lower extremity Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 210000001364 upper extremity Anatomy 0.000 description 1
Images
Classifications
-
- 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
- This disclosure relates to technology for overlaying CG images onto real-world images.
- Non-Patent Document 1 shows an automobile driving simulator. A seat, steering wheel, levers, etc. that mimics the driver's seat of an automobile are arranged, and an LCD monitor is placed in the area that corresponds to the windshield of an automobile, and a CG-created image that mimics the view seen through the windshield from the driver's seat is displayed on this monitor. When used for driving lessons at driving schools, CG that recreates automobile accidents may be added to the image.
- Patent Document 1 discloses a head-mounted display that expresses occlusion in augmented reality (AR).
- the head-mounted display in Patent Document 1 is equipped with cameras at approximately the same positions as the user's left and right eyes, calculates the distance to an object based on the parallax of images captured by the two cameras, calculates the occluded area of a CG (Computer Graphics) image based on that distance, and generates an augmented reality image by superimposing a CG image in which the occluded area has been occluded and removed onto an image of the real scene captured by the camera.
- CG Computer Graphics
- Patent Document 2 also discloses exercise equipment that can reduce the user's anxiety and discomfort while providing the user with a high sense of realism and immersion.
- the exercise equipment disclosed in Patent Document 2 includes an exercise device for making the user perform a predetermined exercise, a measurement device for measuring the user's viewpoint position in a predetermined reference coordinate system when the user exercises using the exercise device, and a video device for generating a display image of an object that simulates how the object appears when viewed in a virtual space of the reference coordinate system from the viewpoint position through a fixed screen according to the viewpoint position, and displaying the display image on a screen.
- Non-Patent Document 1 used in driving schools, etc.
- CG-created roads, buildings, cars, pedestrians, etc. may be displayed on an LCD monitor installed in front of a seat simulating a car driver's seat to allow users to experience highly realistic accident situations that cannot be experienced in driving lessons with an actual car.
- the images used in the simulator are CG rather than real, and the images displayed on the LCD monitor are fixed regardless of the driver's viewpoint position.
- An ideal car driving simulator needs to provide an experience so realistic that it gives the illusion of being in a real car.
- the images displayed on the monitor are based on real-life footage, and occlusion processing is required to superimpose CG onto the real-life footage to a high degree in order to recreate accident situations.
- processing is essential that applies virtual reality (VR) technology to present images according to the viewpoint position, creating the illusion that the real world is really spreading out beyond the monitor.
- VR virtual reality
- occlusion is achieved by calculating the distance from the image to the object in real time while shooting the image with a camera, and then calculating the occluded area in CG based on that distance.
- live-action images from a vehicle for use in a car driving simulator such three-dimensional measurements are not usually performed and only a simple two-dimensional image video is obtained. Therefore, when creating content to be projected on a car driving simulator based on this video, it is difficult to achieve advanced video expression such as superimposing live-action images and CG based on occlusion processing.
- using a head-mounted display which is commonly used in virtual reality technology to produce video expression according to the driver's viewpoint, is not suitable as a driving training material because it changes significantly from the actual driving situation.
- a car driving simulator is given as an example, but other examples are also possible.
- live-action content previously shot with a 360-degree camera is projected on three walls of a private room where a fitness bike is installed. While exercising on the fitness bike in the private room, the user can feel as if they are actually riding a bicycle through a cityscape or landscape.
- the video content based on the 360-degree video of the real space used here if one considers superimposing 3DCG by occlusion processing to further entertain the user, difficulties arise because three-dimensional measurements like those in Patent Document 1 are not usually performed when shooting the base 360-degree video. In this way, the demand for superimposing advanced CG on simple two-dimensional image video centered on the landscape afterwards is generated not only in the entertainment field but also in various other fields.
- One objective of one aspect of the present disclosure is to provide technology that enables occlusion processing that seamlessly superimposes a virtual object (CG) on a two-dimensional image of real space captured without three-dimensional measurement, taking into account the relative positions of the front and back and the degree of overlap between the two.
- Another objective of another aspect of the present disclosure is to provide technology that gives the user the illusion of the existence of a virtual world that spreads out beyond the display device.
- a graphics generation device is a graphics generation device having a storage unit and a processing unit, in which data of a two-dimensional live-action image captured in real space and three-dimensional CG data representing a virtual object superimposed on the two-dimensional live-action image are stored in the storage unit, and the processing unit is configured to execute the following: acquire data of a three-dimensional real-space model that models a real object existing in the real space; generate a virtual space including a virtual surface onto which the two-dimensional live-action image is pasted as a texture, a three-dimensional real-space model, and a virtual object; identify an occluded area that is occluded in the virtual object based on an observation position in the virtual space that corresponds to a shooting position in the real world when the two-dimensional live-action image was captured, the virtual surface, and the three-dimensional real-space model; and generate a virtual object that occludes the occluded area.
- a graphics generation device is a graphics generation device having a storage unit and a processing unit, in which data of a two-dimensional live-action image captured of a real space and three-dimensional CG data representing a virtual object to be superimposed on the two-dimensional live-action image are stored in the storage unit, and the processing unit is configured to execute the following: acquire data of a three-dimensional real-space model that models a real object existing in the real space; generate a virtual space including a virtual surface onto which the two-dimensional live-action image is attached as a texture and the three-dimensional real-space model and the virtual object; and, when the distance from an observation position in the virtual space corresponding to the shooting position in the real world when the two-dimensional live-action image was captured to the virtual object is longer than the distance from the observation position to the three-dimensional real-space model, further generate an overlapped virtual surface in which a texture obtained by two-dimensionally converting the virtual surface by perspective projection starting from the observation position is superimposed on the texture and attached to the virtual surface
- a graphics generation device having a storage unit and a processing unit, in which data of a two-dimensional live-action image captured of a real space and three-dimensional CG data representing a virtual object to be superimposed on the two-dimensional live-action image are stored in the storage unit, and the processing unit is configured to execute the following operations: acquire data of a three-dimensional real space model that models a real object existing in the real space; generate a virtual space including a virtual surface onto which the two-dimensional live-action image is pasted as a texture and the three-dimensional real space model and the virtual object; set the three-dimensional real space model as an obstruction for calculating an obstruction area in a virtual object other than the virtual surface; and generate a virtual object that obstructs the obstruction area.
- occlusion processing that allows a virtual object (CG) to be seamlessly superimposed on a two-dimensional image of real space captured without performing three-dimensional measurements, taking into account the relative positions of the front and rear and the degree of overlap between the two. Furthermore, according to another aspect of the present disclosure, it is possible to create an experience in which the virtual world created by the image that has been subjected to such processing is perceived as if it exists on the other side of the display device, without using a head-mounted display.
- CG virtual object
- FIG. 1 is a schematic configuration diagram of an image display system according to an embodiment of the present disclosure.
- 1 is a conceptual diagram for explaining a display image that follows a viewpoint position.
- 1A and 1B are diagrams for explaining how the image display system of the present embodiment displays an image according to a user's viewpoint position.
- FIG. 11 is a conceptual diagram for explaining calculation of a viewpoint position.
- 1 is a block diagram showing a configuration of a graphics generation device according to an embodiment of the present invention.
- 4 is a flowchart showing the overall processing by the graphics generation device of the present embodiment. This is a flowchart of another example in which some processing is different from that of the flowchart shown in FIG.
- FIG. 6 is a conceptual diagram for explaining the process of step S102 in the flowchart shown in FIG. 5 .
- FIG. 6 is a diagram conceptually showing a state in which a three-dimensional real space model is reproduced in real size within a virtual space by the process of step S104 in the flowchart shown in FIG. 5.
- FIG. 7 conceptually illustrates a state in which an observation position for identifying an occluded area is identified, at which a real object included in a two-dimensional real-life image appears to match a three-dimensional real space model corresponding to the real object, by the processing of step S105 in the flowchart shown in FIG. 6 is a conceptual diagram showing an example of an occlusion region on a virtual object identified by the processing in step S106 in the flowchart shown in FIG. 5 .
- FIG. 7 conceptually illustrates a state in which an observation position for identifying an occluded area is identified, at which a real object included in a two-dimensional real-life image appears to match a three-dimensional real space model corresponding to the real object, by the processing of step S105 in the flowchart shown in FIG. 6 is
- FIG. 5B is a conceptual diagram showing an example of a masked area on a virtual surface identified by the process of step S106A in the flowchart shown in FIG. 5A.
- FIG. 6 is a diagram showing an example of a display image displayed on the display device in step S109 in the flowchart shown in FIG. 5 .
- FIG. 1 is a schematic diagram of an image display system according to an embodiment of the present disclosure.
- the graphics display system (hereinafter sometimes simply referred to as the "system") 1 of this embodiment mainly comprises a graphics generation device 10 that generates graphics to be presented to a user, a measurement device 20 that measures the viewpoint position of a user 2, and a display device 30 that displays the image generated by the graphics generation device 10.
- the graphics generation device 10 is a computer that executes a software program with a processor, and also serves as a calculation unit (not shown) of the measurement device 20.
- the display device 30 includes, as an example, four display devices: a display device 30A located in front of the user 2, a display device 30B located to the right of the user 2, a display device 30C (not shown in FIG. 1) located to the left of the user 2, and a display device 30D located above the user 2, and is configured to surround at least a portion of the user 2's periphery, including the front of the user 2.
- each display device 30A-30D is installed in a housing 3 that mimics the driver's seat and passenger seat of a car.
- the housing 3 is equipped with seats 3B that correspond to the driver's seat and passenger seat of a car, and the user sits in these seats 3B to view the display device 30.
- the measurement device 20 (sensor 22) is provided in a lower part 3A of the display device 30A located in front of the user 2 on the housing 3, which corresponds to the dashboard of a car, as an example, and measures the user's viewpoint position from in front of the user 2.
- the installation position of the measurement device 20 is not limited to this, and it can be placed in any position where the user's viewpoint position can be measured.
- the system 1 of this embodiment configured in this way can operate as a so-called driving simulator, in which the graphics generating device 10 generates a view seen from the window of a car according to the viewpoint position of the user 2 and displays it on the display device 30.
- the measuring device 20 measures the position of the viewpoint 2A of the user 2 in a predetermined reference coordinate system while the user 2 is looking at the display device 30.
- the viewpoint 2A is a position that corresponds to the position of the eyes.
- the specific viewpoint 2A used in the processing is not particularly limited, but for example, the midpoint between the eyes of the user 2, the center point of the head, or a position a predetermined distance inward from the center of the eyes can be used as the viewpoint 2A.
- FIG. 1 as an example of a reference coordinate system, a Cartesian coordinate system is shown having an X-axis pointing to the right of the user 2, a Y-axis pointing upward, and a Z-axis pointing backward.
- the positions and orientations of the sensor 22 (not shown in FIG. 1) in the measurement device 20 and each of the display devices 30A-30D are fixed to this reference coordinate system.
- the orientation is represented by Pitch around the X-axis, Yaw around the Y-axis, and Roll around the Z-axis.
- the graphics generation device 10 generates a display image of a virtual object that simulates how the virtual object appears in the virtual space of the reference coordinate system when viewed from viewpoint position 2A through a fixed screen, according to viewpoint position 2A and information on the position and shape of the screen of the fixed display device 30, and displays the display image on that screen.
- the screen fixed to the reference coordinate system is the screen of the display device 30. Since the display device 30 includes four display devices 30A-30D, the graphics generation device 10 displays, on each screen of the display devices 30A-30D, a display image of the virtual object in the virtual space as seen from viewpoint position 2A through each screen.
- the graphics generation device 10 stores in advance in an internal storage unit 12 (see FIG. 4) data of two-dimensional live-action images of real space captured in advance using a video camera or a 360° camera, and three-dimensional CG data representing virtual objects to be superimposed on the two-dimensional live-action images, such as data on the position and shape of an elephant drawn in three-dimensional CG, and generates display images based on a calculation method for three-dimensional to two-dimensional conversion so that the two-dimensional live-action images and the three-dimensional CG are appropriately displayed on the display devices 30A to 30D based on the viewpoint position 2A and the position and shape of each screen so that the images look plausible and natural to the user 2, giving the illusion that the virtual objects in the virtual space are actually present there.
- the graphics generation device 10 of this embodiment is particularly configured to superimpose the two-dimensional live-action images and the virtual objects while occluding parts of the virtual objects to be superimposed on the two-dimensional live-action images that are occluded by real objects, such as buildings, contained in the two-dimensional live-action images.
- graphics generation device 10 When generating a display image, for example an image to be displayed on the screen of display device 30A, graphics generation device 10 performs projective transformation, perspective projection transformation, or similar calculation processing to project a virtual object in a virtual space in which three-dimensional CG data is arranged onto the screen of display device 30A, i.e., a two-dimensional surface, based on the user's viewpoint position 2A.
- Graphics generation device 10 also generates display images for display devices 30B to 3D using the same processing.
- image is used to include not only one or more still images, but also moving images (video) made up of multiple images that are consecutive in time series.
- an image in which a virtual object is superimposed on the scenery in real space seen from the window of a car is generated according to the viewpoint position 2A of the user 2 and the position and shape information of the screen of the fixed display device 30, and is displayed on the display device 30, so that the user 2 can feel as if he or she is in a virtual world in which virtual objects exist in real space.
- the display device using the graphics generation device 10 can be used as a display device in virtual reality and augmented reality technology, and can allow the user to experience realistic virtual reality and augmented reality in the same way as a head-mounted display (HMD), without causing the user 2 any inconvenience or discomfort due to the use of a head-mounted display.
- HMD head-mounted display
- the screen of the display device 30 is shown as an example of a screen that is fixed to the environment, rather than a screen that moves with the user's head like a head-mounted display.
- a liquid crystal display an organic EL (Electro-Luminescence) display, a plasma display, an FED (Field Emission Display), or the like can be used.
- a video projection device and a screen may be used instead of the display device 30, a video projection device and a screen may be used.
- the image display system 1 of this embodiment will be described in more detail below.
- the measuring device 20 continuously measures the viewpoint position 2A, and the graphics generating device 10 generates a display image to follow the viewpoint position 2A and displays it on the screen of the display device 30.
- the display image displayed on the display device 30 changes to follow the viewpoint position 2A that moves with it, so that the user 2 can feel as if he or she is in a virtual space.
- the tracking of the viewpoint position 2A is realized by continuously generating an image of how the drawn content looks when seen from the viewpoint position 2A at that time.
- an image may be generated by predicting the viewpoint position 2A a little ahead on the time axis.
- FIG. 2 is a conceptual diagram for explaining a display image that tracks the viewpoint position.
- This is a conceptual diagram of a display device 30 installed in a housing 3 as seen from above, and shows three display devices 30A to 30C, excluding display device 30D placed above user 2.
- Objects 4A to 4H are virtual objects (buildings in the illustrated example) arranged in a reference coordinate system that are displayed as display images on display device 30.
- the viewpoint position 2A of user 2 moves left and right as shown by solid and dashed lines in FIG. 2.
- viewpoint position 2A moves from the left (solid line) to the right (dashed line) as shown in FIG. 2, the image to be displayed on the screen of display device 30 changes.
- viewpoint position 2A is on the left (solid line)
- the entire object 4B is displayed on the left display device 30C
- viewpoint position 2A is on the right (dashed line)
- object 4B is displayed so as to straddle the left display device 30C and the front display device 30A.
- viewpoint position 2A when viewpoint position 2A is on the left (solid line), the display device 30C is viewed at a more acute angle than when viewpoint position 2A is on the right (dashed line) (when the viewpoint position is in the normal direction to the display screen and the viewpoint position is defined as 0 degrees, an acute angle refers to a viewpoint position close to ⁇ 90 degrees, that is, a state in which the screen is viewed from an oblique direction that is difficult to see). Therefore, normally, the objects 4A and 4B look like buildings that are thinly squashed in the horizontal direction of the display device.
- a three-dimensional to two-dimensional conversion process that projects a three-dimensional object in the virtual space onto the display device 30, i.e., onto a two-dimensional surface, is performed using a projection transformation, a perspective projection transformation, or a calculation process similar to these, using the user's viewpoint position 2A and the position and shape of the display screen.
- FIG. 2A is a diagram for explaining how the image display system according to the present embodiment displays an image according to the user's viewpoint position.
- the display device 30A is shown in FIG. 2A.
- the user space on the front side of the display device 30A is defined as the real space
- the space on the back side is defined as the virtual space.
- the virtual space defined on the back side of the display device 30A is displayed on the display device 30A as an image seen from the position P1 where the head of the user 2 is located through a pseudo window (hereinafter also referred to as a "pseudo window") by the display device 30A.
- the virtual object in the virtual space is defined by the three-dimensional CG data described later. In the example of FIG.
- the virtual space is defined on the back side of the display device 30A in FIG. 2A for the sake of explanation, but the virtual space may be defined on the front side of the display device 30A, or the space including the front side and the back side of the display device 30A may be defined as the virtual space.
- the field of view FoV1 of the virtual space seen through the pseudo window created by display device 30A is wide, and all six trees are displayed on display device 30A as if they are within the field of view FoV1 (display D1).
- the field of view FoV2 of the virtual space seen through the pseudo window created by display device 30A narrows, and only the entire three trees and parts of the trees on either side of them are displayed in field of view FoV2 (display D2).
- the field of view FoV3 of the virtual space seen through the pseudo window created by display device 30A changes in the x direction. Only the three trees on the right side are included in field of view FoV3.
- the screen is viewed from an oblique direction rather than from the front of the display device 30, but the horizontal thickness of the tree seen through the pseudo window needs to be the same as when viewed from the front (display D3'). For this reason, when displaying the tree on the display device 30A, an image that has been appropriately stretched so that it looks like display D3' to the user is displayed (display D3).
- a process (projective transformation, perspective projection transformation, or a calculation process similar thereto) is performed to project the virtual object in the virtual space defined in the three-dimensional CG data onto the display device 30A, i.e., onto a two-dimensional surface.
- each point of the three-dimensional CG data may be projected onto the point where the straight line connecting each point and the user's viewpoint position intersects with the display device 30 in the reference coordinate space.
- Another processing method for generating an image to be displayed on the display device 30A may involve performing arithmetic operations on specific matrices or values based on empirical rules on the image or the three-dimensional parameters of the image.
- the measuring device 20 of this embodiment is configured to have an imaging unit that images the user 2, and a calculation unit that determines the viewpoint position 2A based on the imaging information of the user 2 captured by the imaging unit.
- the imaging unit is realized by a sensor 22 installed in the measuring device 20 shown in FIG. 1.
- the calculation unit is realized by the processing unit 14 (see FIG. 4) of the graphics generating device 10 shown in FIG. 1.
- the calculation unit may be realized by a processing unit (not shown) within the measuring device 20.
- the sensor 22 is a depth sensor that measures the depth from the sensor 22 to an object (here, the body of the user 2) at each pixel.
- the calculation unit realized by the processing unit 14 of the graphics generation device 10 estimates the shape of the human body based on the depth of each pixel measured by the sensor 22, and calculates the viewpoint position 2A based on the position of the head in the body.
- the viewpoint position 2A can be identified with high accuracy even if the position and orientation of the body of the user 2 changes in various ways.
- the method of identifying the viewpoint position is not limited to this. It is also possible to directly recognize the position of a person's face or eyes by image processing, and identify the viewpoint position 2A from the spatial coordinate value of the eye position in combination with the depth information at that time.
- FIG. 3 is a conceptual diagram for explaining the calculation of the viewpoint position.
- the position ( Xs , Ys , Zs) and orientation (Pitch s , Yaw s , Roll s ) of the sensor 22 in the reference coordinate system are set in advance.
- the coordinates (Xh, Yh , Zh ) of the viewpoint position 2A can be calculated from the depth of each pixel acquired by the sensor 22 and the position and orientation of the sensor 22.
- each of the display devices 30A to 30D is a rectangle or a trapezoid, and the shape is expressed by a height (Height m ) and a width (Width m ).
- the display devices 30A to 30D may be any polygon, curved surface, or spherical surface.
- the position, attitude, and shape of the display device and/or its display screen may be defined by a method other than the above.
- the display device when the display device is rectangular, if the spatial coordinate values of one vertex point of the display screen constituting the device and one vertex point on the diagonal line, and the normal vector information of the front of the display are collectively defined as data related to the position, attitude, and shape of one display device and its display screen, the position, attitude, and shape of the display device can be uniquely set without having to be set separately with the above definition, and another benefit is obtained, such as a small amount of data variables.
- the above example is merely an example, and there are various ways of expressing the position, attitude, and shape of the display device and its display screen uniquely, and these are collectively called arrangement data, but any method may be used as the format of the arrangement data. The same applies to the sensor position and the viewpoint position.
- the image captured by the sensor 22 may be a depth image, or a depth image and a visible image.
- the imaging unit may include a sensor that captures a depth image and a camera that captures a visible image, and the calculation unit may calculate the viewpoint position 2A using both the depth image and the visible image. It may also be two visible images captured at different positions. In this case, the viewpoint position 2A may be calculated using the parallax between the two visible images.
- the viewpoint position 2A may also be estimated from a single visible image by image processing using AI.
- 1 and 3 show an example in which the measuring device 20 (sensor 22) is installed on the dashboard, but this is not limited to this. It may be installed in a suspended position between display devices 30A and 30D, or it may be installed between other display devices. Also, although an example in which it is installed in front of the user 2 is shown, it is also possible to place it behind the user 2 in a position that does not overlap with the display device 30. It is also possible to install it behind the display and measure the user's viewpoint position by passing through the display surface. Alternatively, it is possible to use multiple sensors and use an image captured by any one of them to perform the measurement, or to integrate information from multiple sensors to use the viewpoint position.
- FIG. 4 is a block diagram showing the configuration of the graphics generation device in this embodiment.
- the graphics generation device 10 has a storage unit 12, a processing unit 14, a display output unit 16, and a communication unit 18.
- the graphics generation device 10 is depicted as a single element in FIG. 4, the graphics generation device 10 does not necessarily have to be a single physical element, and may be composed of multiple physically separated elements.
- the storage unit 12 includes temporary or non-temporary storage media such as ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and SDD (Solid State Drive).
- the storage unit 12 stores computer programs executed by the processing unit 14 and various data described below.
- the computer programs stored in the non-temporary storage media of the storage unit 12 include instructions for carrying out each process of the image generation method by the processing unit 14, which will be described later with reference to FIG. 5 etc.
- the storage unit 12 holds screen layout data indicating the position, orientation, and shape of each of the display devices 30A-30D in a predetermined reference coordinate space, measurement device layout data indicating the position and orientation of the measurement device 20 in the reference coordinate space, two-dimensional live-action image data capturing an image of real space, and three-dimensional CG data representing a virtual object to be superimposed on the two-dimensional live-action image.
- the reference coordinate space is a space represented by a coordinate system (reference coordinate system) having a predetermined origin O that serves as the basis for calculations in this embodiment, and is a Cartesian coordinate system space having three axes, xyz.
- the reference coordinate space and its origin O are set is arbitrary; for example, the reference coordinate space may be fixed relative to the display device 30, may be fixed relative to the measurement device 20, may be fixed relative to both the display device 30 and the measurement device 20, or may not be fixed to either of them.
- “Two-dimensional real-image data capturing real space” is data captured using a camera with a built-in image sensor that captures normal real-image images.
- the camera is mounted on a vehicle such as an automobile, and images are acquired by capturing images of the real space around the vehicle while the vehicle is moving along a route in real space.
- the two-dimensional real-image image may be one or more still images, but is preferably a moving image (video) consisting of multiple frame images captured continuously in a time series.
- the two-dimensional real-image data may be captured by a camera with a normal viewing angle, but is more preferably a wide-angle image captured by a camera with a wide viewing angle in all directions (360°).
- the data of the two-dimensional real-life image may not only be the data of the image itself, but also may include image capture position information regarding the position where each image (or each frame image) was captured, and image capture orientation information regarding the image capture direction from the image capture position of the two-dimensional camera at the time of capturing each image, which may be stored in association with each image (each frame image).
- image capture position information regarding the position where each image (or each frame image) was captured
- image capture orientation information regarding the image capture direction from the image capture position of the two-dimensional camera at the time of capturing each image
- position information from a GPS Global Positioning System
- velocity vector information acquired by a GPS at the time of capturing may be used as the image capture orientation information.
- both image capture position information and image capture orientation information may be acquired using a VPS (Visual Positioning System) and stored in association with each image (each frame image).
- VPS Visual Positioning System
- a program that automatically performs such conversion is created, and data of a series of 2D real-life images (moving images) arranged in time series is input to this program, so that a series of data in which imaging position information and imaging orientation information are associated with each image (each frame image) in the input data is automatically created and stored.
- the storage unit 12 can store a plurality of 2D real-life image data corresponding to each route, which are captured while moving along various routes.
- the shooting position obtained in this way is a position in the real world (strictly speaking, a spatial coordinate value uniquely determined by latitude, longitude, altitude, etc.
- position information data defined in a corresponding manner in a virtual space virtually constructed in a manner corresponding to the real world, as described later.
- this position information data can be used as basic information for identifying occluded areas of virtual objects in virtual space (spatial coordinate values that are uniquely determined by X, Y, and Z coordinates in virtual space), it is called the observation position for identifying occluded areas and will be used in the following explanation.
- the shooting position in the real world and the observation position for identifying occluded areas in virtual space can be uniquely converted into each other using a specific formula.
- Three-dimensional CG is also called 3DCG because it is a virtual solid object in three-dimensional space that differs from two-dimensional images in that it contains depth (solid) information.
- Three-dimensional CG is a virtual solid object (modeling) composed of multiple faces created with vertices at points placed on the three-dimensional coordinates of the virtual space, and may be expressed by providing information reproducing the material, etc., of each face and illuminating the object from an arbitrary light intensity, light source position, etc.
- Three-dimensional CG data includes information regarding the placement position within the virtual space of the virtual object displayed in the three-dimensional CG.
- the memory unit 12 can store three-dimensional CG data for a variety of multiple virtual objects.
- CG computer graphics
- the processing unit 14 is composed of, for example, one or more CPUs (Central Processing Units).
- the processing unit 14 may also include one or more GPUs (Graphics Processing Units).
- the processing unit 14 executes a computer program stored in the storage unit 12, thereby carrying out each process of the graphics generation method described below with reference to FIG. 5 etc.
- the display output unit 16 is an output unit to which the display device 30 is connected, and which outputs an image signal for displaying the image generated by the processing unit 14 on the display device 30.
- the display output unit 16 is configured with output terminals such as VGA, DVI, DisplayPort (trademark), HDMI (registered trademark), USB (trademark) Type-C, etc., and can be connected to the display device 30 via a wired connection.
- the display output unit 16 may be configured to be wirelessly connected to the display device 30 using any wireless communication technology.
- the communication unit 18 has the function of transmitting and receiving data between the graphics generating device 10 and an external device.
- the communication unit 18 may receive image data captured by the sensor 22 of the measuring device 20.
- the communication unit 18 may obtain only the necessary parts of data of a three-dimensional real space model that models a real object that exists in real space via a network.
- a two-dimensional real-life image may be sent to an external server for VPS, and imaging position information and imaging orientation information of the image may be obtained from the server via a network.
- communication between the external device and the communication unit 18 may be either wired communication or wireless communication.
- FIG. 5 is an example of a flowchart showing the overall processing by the graphics generation device of this embodiment. Each process in FIG. 5 is executed by the processing unit 14.
- the image generated by the graphics generation device 10 is a moving image made up of multiple frame images that are successive in time series, calculations may be made for each frame of the moving image.
- the processing unit 14 of the graphics generating device 10 first acquires data of a three-dimensional real space model that is a three-dimensional model of a real object that exists in real space (step S101).
- Real objects that exist in real space are, for example, buildings, houses, bridges, railways, roads, and other structures in the real world.
- 3D real space model data that is a 3D model of such real objects contains position information of each real object in the real world and information about the shape of each real object, as information for reproducing the real objects in virtual space.
- 3D city model data that is a 3D model of real spaces for the shapes of several cities and nature.
- Well-known services that provide 3D city model data include, for example, "Project PLATEAU" from the Ministry of Land, Infrastructure, Transport and Tourism and “3D Map Data” from Zenrin Co., Ltd. In the future, it is expected that various businesses and organizations will provide 3D model data for even more cities and nature.
- the "three-dimensional real space model data" can be obtained by using a service provided by a business or institution.
- the communication unit 18 of the graphics generating device 10 connects to a service providing server of the business or institution via the Internet or the like, and the necessary parts of the three-dimensional real space model data are downloaded from the server, thereby obtaining the three-dimensional real space model data.
- the obtained three-dimensional real space model data is stored in the memory unit 12.
- the processing unit 14 then generates a virtual space including a virtual surface onto which the two-dimensional real-world image is attached as a texture (step S102).
- FIG. 6 is a conceptual diagram for explaining the processing of step S102 in the flowchart shown in FIG. 5.
- FIG. 6(a) shows an example of a two-dimensional real-life image captured in real space
- FIG. 6(b) shows a virtual space including a virtual surface S onto which the two-dimensional real-life image is attached as a texture.
- one frame of a two-dimensional real-life image captured while driving forward on a city road lined with buildings on both sides is shown as imaging data for the first half (180 degrees) of an image captured by a 360-degree camera.
- the processing unit 14 In the processing of step S102, the processing unit 14 generates a virtual space based on a virtual space coordinate system Cv corresponding to the reference coordinate system Cr of the real space, and generates a virtual surface S within the virtual space on the inside of which the two-dimensional real-life image stored in the storage unit 12 is pasted as a texture.
- the two-dimensional real-life image pasted on the virtual surface S is displayed as a background both when viewed from an observation position OP for identifying an occluded area in the virtual space, and when the image pasted on the virtual surface S is projected (including a calculation process of three-dimensional-two-dimensional conversion) onto a display image displayed on the display device 30 as described below and viewed from the viewpoint position 2A of the user 2 in the real space.
- the virtual surface S is composed of, for example, the entire curved surface forming a sphere or hemisphere, or a part of the curved surface. If the two-dimensional real-life image is a wide-angle image, for example, with a 180° angle of view, the virtual surface S can be composed of a curved surface that forms a sphere or hemisphere and has an area onto which a 180° angle of view can be projected, or if the image has an omnidirectional (360°) angle of view, the virtual surface S can be composed of a curved surface that forms the entire sphere or hemisphere.
- angles such as 180° and 360° are merely examples, and the invention is not limited to these angles; the image captured according to the viewing angle of the camera that captures the image can be pasted onto an appropriate area on the virtual surface S.
- the size of the virtual surface S in the virtual space is a radius large enough to include a three-dimensional model, which will be described later, within it.
- the processing unit 14 then performs a process of pasting the two-dimensional real-life image as a texture onto the inside (hereinafter, "inside” will be omitted) of the virtual surface S generated within the virtual space (step S103).
- step S103 the processing unit 14 reads data of the two-dimensional real-life image to be pasted onto the virtual surface S from the storage unit 12, and performs processing to paste the image onto the virtual surface S as a texture. At this time, the processing unit 14 performs pasting by matching the horizontal plane in the two-dimensional real-life image with the horizontal plane in the virtual surface S. If the two-dimensional real-life image is a 360° image, a celestial sphere image obtained by shooting can be pasted onto the virtual surface S using a general method.
- the processing unit 14 then places the three-dimensional real space model and virtual objects in the virtual space generated as described above (step S104).
- step S104 the processing unit 14 places in the virtual space a three-dimensional real space model associated with the two-dimensional live-action image data pasted onto the virtual surface.
- the three-dimensional real space model generated based on the real space reference coordinate system Cr is converted into the virtual space coordinate system Cv that constitutes the virtual space, and the three-dimensional real space model is reproduced in actual size in the virtual space.
- the processing unit 14 further places the virtual object represented by the three-dimensional CG at the relevant position in the virtual space, according to information regarding the position of the virtual object in the virtual space that is stored in the storage unit 12 in a form linked to the three-dimensional CG data representing the virtual object.
- FIG. 7 conceptually illustrates a state in which a three-dimensional real space model is reproduced in actual size within a virtual space by the processing of step S104 in the flowchart shown in FIG. 5.
- a three-dimensional real space model Mdl is reproduced within the virtual space as shown in FIG. 7.
- FIG. 7 also illustrates a virtual object (e.g., the three-dimensional CG of an elephant in FIG. 7) placed within the virtual space.
- the virtual object (elephant) is placed at a position behind a specific building represented by the three-dimensional real space model Mdl in FIG. 7 when viewed from an observation position OP for identifying occluded areas, which will be described later.
- the processing unit 14 then identifies an observation position OP for identifying an occluded area in the virtual space where a real object included in the two-dimensional real-life image appears to match a three-dimensional real-space model corresponding to the real object (step S105).
- an observation point is searched for in the virtual space such that a characteristic part of a real-life building (for example, a corner of a building's exterior) seen when the virtual surface S is viewed from that point generally matches a characteristic part on the three-dimensional real-space model that corresponds to the characteristic part when the three-dimensional real-space model is viewed from the same observation point in the same direction.
- a characteristic part of a real-life building for example, a corner of a building's exterior
- the observation position OP at this time is defined as the observation position OP for identifying the occluded area.
- the rotation angle rotation angle Yaw around the Y axis
- This trial and error can be performed by an operator operating the image generating device 10 to change various parameters (X, Y, Z coordinates of the observation points that are OP candidates and the rotation angle Yaw at which the texture is applied) with the aim of achieving a rough match of the feature points described above, but it can also be automated by the processing unit 14 using a specific algorithm (such as a feature point matching algorithm) or AI, while referring to position information (VPS, GPS, etc.) acquired when the 2D actual image was captured.
- a specific algorithm such as a feature point matching algorithm
- AI position information acquired when the 2D actual image was captured.
- a method for automating the above-mentioned process in S105 using a Visual Positioning System will be described.
- the position and direction at which the image was captured are identified based on a real-life image captured in real space.
- a database is prepared in which visual features such as the outlines of objects such as buildings that appear in many images whose captured positions and directions have been identified in advance are extracted and the visual features are stored as searchable indexes together with information on position and direction.
- visual features are extracted from the acquired image, and the extracted visual features are compared with the visual features stored in the database to identify the position and direction at which the image was captured.
- This identified position is identified as an observation position OP for identifying the occluded area. If there is a slight deviation or error, when the observation viewpoint is directed from the observation position OP toward the direction identified from the image, the feature points are further compared as described above between the three-dimensional real-space model in the field of view and the two-dimensional real-life image pasted as a texture on the virtual surface S that exists behind it.
- a matching process is performed in which the rotation angle (rotation angle Yaw around the Y axis) of the position on the virtual surface S where the texture of the two-dimensional real-life image is applied is changed so that the feature points generally match, and the degree of match of the feature points is scored while finely adjusting the position coordinates of the observation position OP, and the position coordinates and rotation angle Yaw of the observation position OP with the highest evaluation are searched for.
- the above-mentioned work may be automated by using the VPS.
- the entire image may be used, or a part of the image may be cut out and used.
- the corresponding observation position OP may be moved along the path traveled when the two-dimensional real-life image was captured, while determining the observation position OP for identifying a blocked area for each captured frame, or fine adjustment may be made by the above method based on the observation position OP for identifying a blocked area determined in this way.
- the processing unit 14 may first perform feature search on the two-dimensional real-life image pasted on the virtual surface S of the virtual space.
- a real object is detected from within the two-dimensional real-life image.
- the real object in the two-dimensional real-life image is, for example, a building
- the outline of the building's walls and the points where these outlines intersect with each other may be considered as feature parts.
- Any known image recognition technology may be used for the process of detecting a real object in the two-dimensional real-life image.
- a method of recognizing a real object may be used that uses a learner (trained artificial intelligence program) that directly recognizes a real object from an image trained by deep learning or machine learning.
- the processing unit 14 may execute a matching process between a real object in the two-dimensional real-action image pasted onto the virtual surface S in the virtual space and a three-dimensional real-space model projected onto the virtual surface S when the three-dimensional real-space model is viewed from a certain observation point in the virtual space.
- This matching process compares the feature amount in the two-dimensional image obtained by perspectively projecting the three-dimensional real-space model from the observation point onto the virtual surface S with the feature amount of the real object in the two-dimensional real-action image on the virtual surface S, and identifies, as an observation position OP for identifying an occluded area, a position on the virtual surface S where the real object in the two-dimensional real-action image on the virtual surface S and the corresponding three-dimensional real-space model appear to roughly overlap when viewed from a certain observation point in the virtual space.
- the processing unit 14 may execute the feature search process and matching process using either or both of the two methods described above multiple times to find multiple candidate observation positions OP in the virtual space.
- the processing unit 14 may then perform an evaluation based on the feature values related to the real object included in the two-dimensional live-action image and the feature values related to the three-dimensional real space model, and identify an observation point with a high matching score as an observation position for identifying an occluded area.
- an observation position OP for identifying an occluded area is identified in the virtual space at which the real object included in the two-dimensional live-action image appears to roughly match the three-dimensional real space model corresponding to the real object.
- FIG. 8 is a conceptual diagram showing a state in which an observation position OP for identifying an occluded area is identified, where a real object included in a two-dimensional live-action image appears to match a three-dimensional real space model corresponding to the real object, by the processing of step S105 in the flowchart shown in FIG. 5.
- the processing of step S105 identifies an observation position OP for identifying an occluded area, where a real object Obj (a building in this example) included in a two-dimensional live-action image appears to match a three-dimensional real space model Mdl of the building corresponding to the real object Obj.
- the processing unit 14 identifies an occluded area of the virtual object placed in the virtual space that is occluded by the three-dimensional real space model when viewed from an observation position for identifying an occluded area in the virtual space (step S106).
- the processing unit 14 detects the outer shape of the three-dimensional real space model projected onto the virtual object Obj when the three-dimensional real space model is viewed from the observation position OP for identifying the occluded area.
- the outer shape of this three-dimensional real space model is conceptually a shadow (silhouette) that appears on the virtual object Obj when light is projected only onto the three-dimensional real space model from the observation position OP for identifying the occluded area.
- the processing unit 14 identifies an area that includes all of the volumetric parts of the outer shape of the three-dimensional real space model projected onto the virtual object Obj that penetrate the virtual object Obj as an occluded area of the virtual object Obj that is occluded by the three-dimensional real space model when viewed from the observation position OP for identifying the occluded area in the virtual space.
- FIG. 9 is a conceptual diagram showing an example of the occlusion area Ocl of the virtual object Obj identified by the processing of step S106 in the flowchart shown in FIG. 5.
- the occlusion area Ocl is shown, which is conceived as a volume portion that penetrates the virtual object Obj on the virtual object Obj when light is projected from the observation position OP for identifying the occlusion area onto the three-dimensional real space model Mdl.
- the processing unit 14 then makes the portion of the virtual object that corresponds to the occluded area transparent (or deletes, erases, or makes it invisible) (step S107).
- the virtual object three-dimensional CG
- the virtual object appears to overlap with the actual image of the virtual surface behind it, with the occluded area portion cut out.
- the processing unit 14 based on the relationship between the position of the virtual object in the virtual space and the arrangement position of the three-dimensional real space model, leaves the part of the virtual object, or the whole of the virtual object, that is located on the closer side to the three-dimensional real space model (the side closer to the observation position OP for identifying the occluded area) without making it transparent.
- the processing unit 14 then performs processing to generate a display image for displaying a three-dimensional object in the virtual space on the display device 30 according to the viewpoint position 2A of the user 2 and the information on the position and shape of the display device (step S108). More specifically, the processing unit 14 calculates the viewpoint position 2A of the user 2 in the reference coordinate system based on an image (depth image, etc.) captured by the sensor 22 of the measurement device 20, and generates a display image that simulates how the virtual space appears when viewed through the display device 30 from the viewpoint position 2A. When the display device 30 is composed of multiple display devices 30A-30D as in this embodiment, the processing unit 14 generates a display image to be displayed on each of the display devices 30A-30D.
- the processing unit 14 can accurately generate a display image that can be seen through the screen of the display device 30 from the viewpoint position 2A of the user 2 by performing projective transformation, perspective projection transformation, or similar calculation processing on the screen of the display device 30 based on the viewpoint position 2A of the user 2, for example, of a virtual object in which an obstructed area existing in the virtual space has been made transparent and a virtual surface S on which a two-dimensional real-life image has been attached as a texture.
- projective transformation the virtual object in the virtual space is geometrically accurately projected onto the screen of the display device 30 taking into account the viewpoint position 2A of the user.
- a display image is generated that is presented on the display device 30 as a realistic and natural image of a real object (e.g., a building or other structure) in the two-dimensional real-life image and a three-dimensional CG (e.g., an elephant as a virtual object) as if seen from the viewpoint position 2A.
- the processing performed here is not limited to projective transformation only.
- a perspective projection transformation method may be used, or a specific matrix or numerical arithmetic operation according to empirical rules may be used.
- the above-mentioned methods realize occlusion processing with a certain degree of accuracy.
- a simple method can be considered that simplifies the processing and reduces the processing load by accepting a loss of accuracy compared to the above-mentioned methods.
- the processing of S106 and S107 for identifying and implementing the occlusion area on the virtual object can be skipped, and a display image is generated simultaneously in S108, including the occlusion processing.
- the display image to be presented on the display device 30 is generated by the above-mentioned calculation processing for the virtual object that has been subjected to the occlusion processing in advance in steps S106 and S107.
- this modified method such a prior occlusion processing is not performed.
- S108 starting from the user's viewpoint position 2A, all three-dimensional objects in the virtual space visible through the display device 30 are converted to two dimensions according to the display screen by the above-mentioned calculation processing including projective transformation.
- FIG. 10 is a diagram showing an example of a display image displayed on the display device 30 in step S109 in the flowchart shown in FIG. 5.
- a vehicle equipped with a camera moves along a certain route in real space, and a two-dimensional real-image image obtained by capturing an image of the real space around the vehicle with the camera is superimposed on the two-dimensional real-image image, and the image is displayed across the display devices 30A to 30D.
- a vehicle equipped with a camera moves along a certain route in real space, and a two-dimensional real-image image obtained by capturing an image of the real space around the vehicle with the camera is superimposed on the two-dimensional real-image image, and the image is displayed across the display devices 30A to 30D.
- a two-dimensional real-image image obtained by capturing an image of the real space around the vehicle with the camera is superimposed on the two-dimensional real-image image, and the image is displayed across the display devices 30A to 30D.
- the front leg part of the virtual object (elephant) located on the front side of the screen of the real object in the two-dimensional real space is not occluded, and the other parts (part of the right ear, the rear part of the torso, and the hind leg) are shown in a state of being occluded by the occlusion area.
- FIG. 5A is a flowchart of another example in which some of the processing is different from that of the flowchart shown in FIG. 5.
- Each process of the flowchart shown in FIG. 5A is executed by the processing unit 14 in the same way as in FIG. 5.
- the image generated by the graphics generating device 10 is a moving image consisting of multiple frame images that are successive in time series, it is basically the same as FIG. 5, including the fact that calculations may be performed for each frame of the moving image.
- steps S106A, S107A, and S108A in FIG. 5A, which are different from FIG. 5, will be described.
- the process performed in step S106A is to identify the outer shape of a real-space three-dimensional model on the virtual surface S as a shading area when the real-space three-dimensional model placed in virtual space is perspectively projected onto the virtual surface S from the observation position OP for identifying a shading area.
- the processing unit 14 detects the outer shape of the three-dimensional real-space model that is perspectively projected onto the virtual surface S when the three-dimensional real-space model is viewed from the observation position OP for identifying a shading area.
- the outer shape of this three-dimensional real-space model is conceptually a shadow (silhouette) that appears on the virtual surface S when light is projected onto the three-dimensional real-space model from the observation position OP for identifying a shading area.
- the processing unit 14 identifies the area within the outer shape of the three-dimensional real-space model perspectively projected onto the virtual surface S as a shading area that is shading by the three-dimensional real-space model when viewed from the observation position OP for identifying a shading area in the virtual space.
- FIG. 9A is a conceptual diagram showing an example of an occlusion area Ocl on the virtual surface S identified by the processing of step S106A in the flowchart shown in FIG. 5A.
- the occlusion area Ocl is conceived as a shadow that appears on the virtual surface S when light is projected from the observation position OP for identifying the occlusion area onto the three-dimensional real space model Mdl.
- step S107A the processing unit 14 then performs a 3D-to-2D conversion by perspectively projecting the virtual object (3D CG image) onto the virtual surface S, and generates an overlapping virtual surface by making transparent (or deleting, scraping, or making invisible) the portion of the virtual object (2D CG image) after the conversion that corresponds to the occluded area.
- step S107A when the virtual object is viewed from the observation position OP for identifying the occluded area, if a part or all of the three-dimensional real space model exists in front of it (on the OP side), the processing unit 14 first performs a perspective projection of the virtual object onto the virtual surface S and superimposes it on the virtual surface S, and then performs a process of making the occluded area identified in the processing of step S106A transparent (including deleting, erasing, or making it invisible).
- the distance from the observation position OP for identifying the area in the virtual space to the virtual object is greater than the distance from the observation position OP to the three-dimensional real space model, a virtual object that occludes a part corresponding to the occluded area occluded by the three-dimensional real space model is perspectively projected onto the virtual surface S, and a superimposed overlapping virtual surface is generated.
- the virtual object when viewed from the observation position OP for identifying the occluded area, the virtual object appears to overlap with the actual image of the virtual surface behind it, as if the occluded area portion had been cut out.
- a single overlapping virtual surface is generated by perspectively projecting onto a virtual surface all virtual objects in the virtual world observed from the observation position OP for identifying an occluded area, including virtual objects whose portions overlapping with the occluded area have disappeared.
- the overlapping virtual surface is overlaid on the two-dimensional live-action image that was originally applied as texture to the virtual surface, with the virtual objects being perspectively projected onto the virtual surface. Therefore, the overlapping virtual surface created in this way exists as a three-dimensional object with textures applied in multiple layers in the virtual space.
- the processing unit 14 takes into consideration the relationship between the position of the virtual object in virtual space and the position of the 3D real space model that forms the occlusion area, and can perform processing to leave a part or all of the virtual object that is located in front of the 3D real space model (the side closer to the observation position OP for identifying the occlusion area) without making it transparent, even if it is an occlusion area.
- step S108A the processing unit 14 then performs processing to generate a display image for displaying the three-dimensional object on the display device 30 according to the viewpoint position 2A of the user 2 and the position and shape of the display device, on the assumption that the overlapping virtual surface exists in the virtual space.
- step S108A the processing unit 14 generates an image that can be seen from the viewpoint position 2A of the user 2 through the display device 30 for the overlapping virtual surface generated in step S107A that exists in the virtual space. More specifically, the processing unit 14 calculates the viewpoint position 2A of the user 2 in the reference coordinate system based on an image (depth image, etc.) captured by the sensor 22 of the measurement device 20, and generates a display image that simulates how the virtual space appears when viewed from the viewpoint position 2A through the display device 30.
- the processing unit 14 generates a display image to be displayed on each of the display devices 30A to 30D.
- the processing unit 14 can generate a display image that can be seen through the screen of the display device 30 from the viewpoint 2A of the user 2 by performing projective transformation on the screen of the display device 30 of a overlapping virtual surface (a state in which a two-dimensional real-life image and a two-dimensional virtual object (original three-dimensional CG) that exists in a form superimposed on it are pasted as textures) based on the viewpoint 2A of the user 2.
- a overlapping virtual surface a state in which a two-dimensional real-life image and a two-dimensional virtual object (original three-dimensional CG) that exists in a form superimposed on it are pasted as textures
- the overlapping virtual surface is projected onto the screen of the display device 30 in a mathematically correlated manner taking into account the viewpoint 2A of the user, so that even if the user 2 looks into the screen of the display device 30 from an oblique direction, a display image is generated that is presented on the display device 30 as a realistic and natural image of a real object (e.g., a building or other structure) in the two-dimensional real-life image and a three-dimensional CG (e.g., an elephant as a virtual object) as if seen through the screen from the viewpoint 2A.
- the processing performed here is not limited to projective transformation only.
- a perspective projection transformation method may be used, or a specific matrix or numerical arithmetic operation according to empirical rules may be used.
- step S109 is the same in the method of FIG. 5 and the method of FIG. 5A.
- the two-dimensional real-life image is a moving image made up of multiple frame images captured successively in time series, then for example each frame of the moving image is processed and displayed.
- all of the steps shown in FIG. 5 and FIG. 5A may be performed for each frame, or any step that is a common process or a process that is performed only once the first time may be skipped.
- the order of each step may also be partially changed, or the steps may be processed in parallel. As a simplified method, certain steps may be skipped as described above.
- the position of the observation position OP for identifying the occluded area (defined on the X, Y, Z coordinates) and the rotation angle (rotation angle Yaw around the Y axis) of the position on the virtual surface S where the texture of the two-dimensional real-life image is applied are both determined by trial and error or by automation using a program, but in the case of a moving image as described above, particularly when the direction of the lens of the shooting camera and the shooting direction of the video are locked, the Yaw may in principle not be changed after it has been determined in the first frame.
- images in which a virtual object displayed in 3D CG is superimposed on a virtual surface are continuously generated following changes in the viewpoint position 2A of the user 2, and an augmented reality video is provided to the user 2 via the display device 30, in which the virtual object displayed in 3D CG (in this example, an elephant) is present in a real space (in this example, an urban area outside the vehicle) represented by a two-dimensional live-action image.
- the virtual object displayed in 3D CG in this example, an elephant
- a real space in this example, an urban area outside the vehicle
- a driving simulator in which the graphics generating device 10 generates the scenery seen from the window of a car according to the viewpoint position of the user 2 and displays it on the display device 30 has been shown, but the application of the system 1 is not limited to this example.
- it can also be used in an example in which live-action content previously captured by a 360-degree camera is projected on three walls of a private room in which a fitness bike is installed. While exercising on the fitness bike in a private room, the user can feel the experience of actually riding the bike through a cityscape or landscape.
- the CG can be occluded in a simple two-dimensional image video centered on the scenery of the base 360-degree video.
- a simulator that displays virtual objects superimposed on the scenery seen from the window of an airplane, ship, submarine, spaceship, etc. as a simulator of other types of vehicles in fields other than entertainment.
- system 1 by configuring system 1 to display virtual objects superimposed on images captured by an endoscope inserted into the patient's digestive tract through the mouth, it is possible to provide a user experience with an unprecedented worldview, in which the user feels as if they are inside the human body and observing its interior.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
The present invention enables a CG image to be superimposed on a two-dimensional image, by expressing occlusion. This graphics generation device comprises a storage unit and a processing unit. Data pertaining to two-dimensional actual images in which an actual space is captured and three-dimensional CG data representing virtual objects superimposed on the two-dimensional actual images are stored in the storage unit. The processing unit: acquires data pertaining to a three-dimensional actual-space model in which real objects present in the actual space are modeled; generates a virtual space that includes a virtual plane to which a two-dimensional actual image is affixed as a texture, the three-dimensional actual-space model, and a virtual object; identifies a shield region in the virtual object that is shielded, on the basis of an observation position in the virtual space that corresponds to the imaging position in the real world when the two-dimensional actual image was captured, the virtual plane, and the three-dimensional actual-space model; and generates a virtual object in which the shield region is shielded.
Description
本開示は、現実画像にCGを重畳して表示する技術に関する。
This disclosure relates to technology for overlaying CG images onto real-world images.
非特許文献1には、自動車運転シミュレータが示されている。自動車の運転席を模した座席やハンドル、レバーなどが配置されると同時に、自動車のフロントガラスに該当する部分に液晶モニターが配置され、こちらのモニターにCGで作成された運転席から自動車のフロントガラス越しに見える景色を模した映像が映し出される。自動車教習所の運転講習に用いられる用途においては、映像に自動車事故を再現するようなCGを加える場合もある。
Non-Patent Document 1 shows an automobile driving simulator. A seat, steering wheel, levers, etc. that mimics the driver's seat of an automobile are arranged, and an LCD monitor is placed in the area that corresponds to the windshield of an automobile, and a CG-created image that mimics the view seen through the windshield from the driver's seat is displayed on this monitor. When used for driving lessons at driving schools, CG that recreates automobile accidents may be added to the image.
特許文献1には、拡張現実(AR:Augmented Reality)におけるオクルージョンを表現するヘッドマウントディスプレイが開示されている。特許文献1のヘッドマウントディスプレイは、ユーザの左右の目とほぼ同じ位置にそれぞれカメラを備え、それら2つのカメラで撮影された画像の視差を基に物体までの距離を算出し、その距離に基づいてCG(Computer Graphics)画像の遮蔽領域を算出し、カメラで撮影された現実光景の画像に遮蔽領域を遮蔽削除したCG画像を重畳することにより拡張現実画像を生成する。
Patent Document 1 discloses a head-mounted display that expresses occlusion in augmented reality (AR). The head-mounted display in Patent Document 1 is equipped with cameras at approximately the same positions as the user's left and right eyes, calculates the distance to an object based on the parallax of images captured by the two cameras, calculates the occluded area of a CG (Computer Graphics) image based on that distance, and generates an augmented reality image by superimposing a CG image in which the occluded area has been occluded and removed onto an image of the real scene captured by the camera.
また、特許文献2には、ユーザに高い臨場感や没入感を与えつつ、ユーザの不安感や不快感を低減することが可能な運動用設備が開示されている。特許文献2に開示された運動用設備は、ユーザに所定の運動を行わせるための運動装置と、ユーザが運動装置により運動を行うとき、所定の基準座標系におけるユーザの視点位置を測定する測定装置と、視点位置から、固定された画面を介して基準座標系の仮想空間上の物体を見たときの見え方を疑似する物体の表示映像を、視点位置に応じて生成し、表示映像を画面に表示する映像装置とを有する。
Patent Document 2 also discloses exercise equipment that can reduce the user's anxiety and discomfort while providing the user with a high sense of realism and immersion. The exercise equipment disclosed in Patent Document 2 includes an exercise device for making the user perform a predetermined exercise, a measurement device for measuring the user's viewpoint position in a predetermined reference coordinate system when the user exercises using the exercise device, and a video device for generating a display image of an object that simulates how the object appears when viewed in a virtual space of the reference coordinate system from the viewpoint position through a fixed screen according to the viewpoint position, and displaying the display image on a screen.
例えば、自動車教習所等にて使用される自動車運転シミュレータ(非特許文献1)では、実際の自動車での運転教習において体験させることのできない事故のシチュエーションを利用者に臨場感高く体験させるためにCGで作られた道路・建物等と自動車・歩行者等を、自動車の運転席を模した座席の前に設置した液晶モニター等に映し出す場合がある。しかしながら非特許文献1の手法では、シミュレータで用いられる映像は実写ではなくCGによるものであり、また、液晶モニターに映し出される映像が運転手の視点位置によらず固定的であるために、実際のフロントガラスとは異なり、仮に運転手が身を乗り出して前方を確認しても運転手から見える景色の映像自体に変化が生じないので、ビデオゲームのような印象を持たれる場合も多く、運転体験の再現性が低いゆえに運転訓練用の教材としての効果に乏しい。理想的な自動車運転シミュレータとしては、実際の車に搭乗していると錯覚するくらいにリアルな体験を模すことが求められ、それには、1つ目としてモニターに映し出される映像を実写をベースとしながら事故のシチュエーションを再現するためにCGをその実写映像に高度に重畳させるオクルージョン処理、2つ目としてモニターに固定視野角の映像を映すのではなくモニター越しにその向こう側に実際の世界が本当に広がっているかのように錯覚させるように、視点位置に応じた映像表現を行うような仮想現実技術(VR)を応用した処理が必須となる。
For example, in a car driving simulator (Non-Patent Document 1) used in driving schools, etc., CG-created roads, buildings, cars, pedestrians, etc. may be displayed on an LCD monitor installed in front of a seat simulating a car driver's seat to allow users to experience highly realistic accident situations that cannot be experienced in driving lessons with an actual car. However, in the method of Non-Patent Document 1, the images used in the simulator are CG rather than real, and the images displayed on the LCD monitor are fixed regardless of the driver's viewpoint position. Therefore, unlike an actual windshield, even if the driver leans forward to look ahead, the image of the scenery seen by the driver does not change, and this often gives the impression of a video game, and the reproducibility of the driving experience is low, making it ineffective as a teaching material for driving training. An ideal car driving simulator needs to provide an experience so realistic that it gives the illusion of being in a real car. To achieve this, firstly, the images displayed on the monitor are based on real-life footage, and occlusion processing is required to superimpose CG onto the real-life footage to a high degree in order to recreate accident situations. Secondly, rather than displaying an image with a fixed viewing angle on the monitor, processing is essential that applies virtual reality (VR) technology to present images according to the viewpoint position, creating the illusion that the real world is really spreading out beyond the monitor.
特許文献1の手法では、カメラでの映像撮影と同時にリアルタイムに画像から物体までの距離を算出し、その距離を基にCGの遮蔽領域を算出するといった処理を加えることでオクルージョンを実現している。しかしながら、自動車運転シミュレータに用いるような車載実写映像の撮影時には、通常そのような三次元的な測定を行わず単純な二次元のイメージ映像の動画のみを取得するため、この動画をベースとして自動車運転シミュレータに投影するコンテンツを作成する場合にオクルージョン処理を前提とした実写映像とCGの重畳表現のような高度な映像表現を行うのが難しい。また運転手の視点位置に応じた映像表現を行うために、仮想現実技術で通常使われるヘッドマウントディスプレイを用いることは、実際の運転のシチュエーションと大きく変わってしまうために運転訓練用の教材としては適さない。
In the method of Patent Document 1, occlusion is achieved by calculating the distance from the image to the object in real time while shooting the image with a camera, and then calculating the occluded area in CG based on that distance. However, when shooting live-action images from a vehicle for use in a car driving simulator, such three-dimensional measurements are not usually performed and only a simple two-dimensional image video is obtained. Therefore, when creating content to be projected on a car driving simulator based on this video, it is difficult to achieve advanced video expression such as superimposing live-action images and CG based on occlusion processing. Furthermore, using a head-mounted display, which is commonly used in virtual reality technology to produce video expression according to the driver's viewpoint, is not suitable as a driving training material because it changes significantly from the actual driving situation.
ここでは例として自動車運転シミュレータをあげたが、これに限らず別の例も考えられる。例えば、特許文献2においてはフィットネスバイクを設置した個室の壁面3面に大きくプロジェクションを行って360度カメラで事前に撮影された実写コンテンツを投影している。利用者にとっては個室でのフィットネスバイクを用いた運動をしながら、実際に街並みや風景の中で自転車を進ませているかのような体験を感じることができる。ここで用いられる実空間の360度動画をベースにした映像コンテンツにおいて、利用者をさらに楽しませるために後から追加で3DCGをオクルージョン処理によって重畳させることを考えた場合、ベースとなる360度動画の撮影時に特許文献1の手法のような三次元的な測定を行っていないのが通例のために困難が生じてしまう。このように、風景を中心とした単純な二次元のイメージ映像に後からCGを高度に重畳させるような要求はエンターテインメントの分野のみならず様々な分野において生じている。
Here, a car driving simulator is given as an example, but other examples are also possible. For example, in Patent Document 2, live-action content previously shot with a 360-degree camera is projected on three walls of a private room where a fitness bike is installed. While exercising on the fitness bike in the private room, the user can feel as if they are actually riding a bicycle through a cityscape or landscape. In the video content based on the 360-degree video of the real space used here, if one considers superimposing 3DCG by occlusion processing to further entertain the user, difficulties arise because three-dimensional measurements like those in Patent Document 1 are not usually performed when shooting the base 360-degree video. In this way, the demand for superimposing advanced CG on simple two-dimensional image video centered on the landscape afterwards is generated not only in the entertainment field but also in various other fields.
本開示の一態様によるひとつの目的は、三次元的な測定を行うことなく撮影された実空間の二次元画像に対し、仮想オブジェクト(CG)を前後の位置関係や両者の重なり度合いも含めて違和感なく重畳するようなオクルージョン処理を可能にする技術を提供することである。また、本開示の他の態様によるひとつの目的は、利用者にとって表示装置越しにその奥に広がる仮想世界の存在を錯覚させるような技術を提供することである。
One objective of one aspect of the present disclosure is to provide technology that enables occlusion processing that seamlessly superimposes a virtual object (CG) on a two-dimensional image of real space captured without three-dimensional measurement, taking into account the relative positions of the front and back and the degree of overlap between the two. Another objective of another aspect of the present disclosure is to provide technology that gives the user the illusion of the existence of a virtual world that spreads out beyond the display device.
本開示の一態様によるグラフィックス生成装置は、記憶部と処理部とを有するグラフィックス生成装置であって、記憶部には、実空間を撮像した二次元実写画像のデータと、二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、が記憶されており、処理部は、実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、二次元実写画像がテクスチャとして貼り付けられた仮想面と、三次元実空間モデル及び仮想オブジェクトとを含む仮想空間を生成することと、二次元実写画像を撮像した際の現実世界における撮影位置に対応する仮想空間上の観察位置、仮想面、三次元実空間モデルに基づいて、仮想オブジェクトにおいて遮蔽される遮蔽領域を特定することと、遮蔽領域を遮蔽した仮想オブジェクトを生成することと、を実行するように構成されている。
A graphics generation device according to one aspect of the present disclosure is a graphics generation device having a storage unit and a processing unit, in which data of a two-dimensional live-action image captured in real space and three-dimensional CG data representing a virtual object superimposed on the two-dimensional live-action image are stored in the storage unit, and the processing unit is configured to execute the following: acquire data of a three-dimensional real-space model that models a real object existing in the real space; generate a virtual space including a virtual surface onto which the two-dimensional live-action image is pasted as a texture, a three-dimensional real-space model, and a virtual object; identify an occluded area that is occluded in the virtual object based on an observation position in the virtual space that corresponds to a shooting position in the real world when the two-dimensional live-action image was captured, the virtual surface, and the three-dimensional real-space model; and generate a virtual object that occludes the occluded area.
また、本開示の他の態様によるグラフィックス生成装置は、記憶部と処理部とを有するグラフィックス生成装置であって、記憶部には、実空間を撮像した二次元実写画像のデータと、二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、が記憶されており、処理部は、実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、二次元実写画像がテクスチャとして貼り付けられた仮想面と、三次元実空間モデル及び仮想オブジェクトとを含む仮想空間を生成することと、二次元実写画像を撮像した際の現実世界における撮影位置に対応する仮想空間上の観察位置から仮想オブジェクトまでの距離が観察位置から三次元実空間モデルまでの距離よりも遠い場合に、三次元実空間モデルによって遮蔽される遮蔽領域に応じた部分を遮蔽した仮想オブジェクトを、観察位置を起点とした透視投影により仮想面へ二次元変換したテクスチャをテクスチャの上に重ねて貼り付けた重仮想面をさらに生成することと、を実行するように構成されている。
A graphics generation device according to another aspect of the present disclosure is a graphics generation device having a storage unit and a processing unit, in which data of a two-dimensional live-action image captured of a real space and three-dimensional CG data representing a virtual object to be superimposed on the two-dimensional live-action image are stored in the storage unit, and the processing unit is configured to execute the following: acquire data of a three-dimensional real-space model that models a real object existing in the real space; generate a virtual space including a virtual surface onto which the two-dimensional live-action image is attached as a texture and the three-dimensional real-space model and the virtual object; and, when the distance from an observation position in the virtual space corresponding to the shooting position in the real world when the two-dimensional live-action image was captured to the virtual object is longer than the distance from the observation position to the three-dimensional real-space model, further generate an overlapped virtual surface in which a texture obtained by two-dimensionally converting the virtual surface by perspective projection starting from the observation position is superimposed on the texture and attached to the virtual surface, the virtual object occluding a portion corresponding to the occluded area occluded by the three-dimensional real-space model.
また、本開示の他の態様によるグラフィックス生成装置は、記憶部と処理部とを有するグラフィックス生成装置であって、記憶部には、実空間を撮像した二次元実写画像のデータと、二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、が記憶されており、処理部は、実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、二次元実写画像がテクスチャとして貼り付けられた仮想面と、三次元実空間モデル及び仮想オブジェクトとを含む仮想空間を生成することと、前記仮想面以外の仮想オブジェクトにおける遮蔽領域を計算するための遮蔽物として三次元実空間モデルを設定することと、遮蔽領域を遮蔽した仮想オブジェクトを生成することと、を実行するように構成されている。
In addition, a graphics generation device according to another aspect of the present disclosure is a graphics generation device having a storage unit and a processing unit, in which data of a two-dimensional live-action image captured of a real space and three-dimensional CG data representing a virtual object to be superimposed on the two-dimensional live-action image are stored in the storage unit, and the processing unit is configured to execute the following operations: acquire data of a three-dimensional real space model that models a real object existing in the real space; generate a virtual space including a virtual surface onto which the two-dimensional live-action image is pasted as a texture and the three-dimensional real space model and the virtual object; set the three-dimensional real space model as an obstruction for calculating an obstruction area in a virtual object other than the virtual surface; and generate a virtual object that obstructs the obstruction area.
本開示の一態様によれば、三次元的な測定を行うことなく撮影された実空間の二次元画像に対し、仮想オブジェクト(CG)を前後の位置関係や両者の重なり度合いも含めて違和感なく重畳するようなオクルージョン処理が可能になる。さらに、本開示の他の態様によれば、そうした処理を行った映像によって作成された仮想世界が表示装置の向こう側に存在するかのように錯覚するような体験を、ヘッドマウントディスプレイを用いることなく可能にする。
According to one aspect of the present disclosure, it is possible to perform occlusion processing that allows a virtual object (CG) to be seamlessly superimposed on a two-dimensional image of real space captured without performing three-dimensional measurements, taking into account the relative positions of the front and rear and the degree of overlap between the two. Furthermore, according to another aspect of the present disclosure, it is possible to create an experience in which the virtual world created by the image that has been subjected to such processing is perceived as if it exists on the other side of the display device, without using a head-mounted display.
本発明の実施形態について図面を参照して説明する。
An embodiment of the present invention will be described with reference to the drawings.
図1は、本開示の一実施形態に係る画像表示システムの概略構成図である。図1に示すように、本実施形態のグラフィックス表示システム(以下、単に「システム」と称することもある。)1は、主としてユーザに提示するグラフィックスを生成するグラフィックス生成装置10と、ユーザ2の視点位置を測定する測定装置20と、グラフィックス生成装置10が生成した画像を表示するディスプレイ装置30とを有している。一例として、グラフィックス生成装置10はプロセッサでソフトウェアプログラムを実行するコンピュータであり、測定装置20の算出部(不図示)を兼ねている。
FIG. 1 is a schematic diagram of an image display system according to an embodiment of the present disclosure. As shown in FIG. 1, the graphics display system (hereinafter sometimes simply referred to as the "system") 1 of this embodiment mainly comprises a graphics generation device 10 that generates graphics to be presented to a user, a measurement device 20 that measures the viewpoint position of a user 2, and a display device 30 that displays the image generated by the graphics generation device 10. As an example, the graphics generation device 10 is a computer that executes a software program with a processor, and also serves as a calculation unit (not shown) of the measurement device 20.
本実施形態におけるディスプレイ装置30は、一例として、ユーザ2の正面に位置するディスプレイ装置30Aと、ユーザ2の右側に位置するディスプレイ装置30Bと、ユーザ2の左側に位置するディスプレイ装置30C(図1では不図示)と、ユーザ2の上方に位置するディスプレイ装置30Dとの4面のディスプレイ装置を含み、ユーザ2の正面を含みユーザ2の周囲の少なくとも一部を囲むように構成されている。
In this embodiment, the display device 30 includes, as an example, four display devices: a display device 30A located in front of the user 2, a display device 30B located to the right of the user 2, a display device 30C (not shown in FIG. 1) located to the left of the user 2, and a display device 30D located above the user 2, and is configured to surround at least a portion of the user 2's periphery, including the front of the user 2.
本実施形態では、各ディスプレイ装置30A~30Dは自動車の運転席及び助手席を模した筐体3に設置されている。筐体3には自動車の運転席及び助手席に対応する座席3Bが備えられており、ユーザはそれらの座席3Bに着席してディスプレイ装置30を見る。測定装置20(センサ22)は、一例として自動車のダッシュボードに相当する、筐体3におけるユーザ2の正面側に位置するディスプレイ装置30Aの下側の部分3Aに設けられており、ユーザ2の前方からユーザの視点位置を測定する。測定装置20の設置位置にはこれに限らずユーザの視点位置を測定可能な任意の位置に配置可能である。
In this embodiment, each display device 30A-30D is installed in a housing 3 that mimics the driver's seat and passenger seat of a car. The housing 3 is equipped with seats 3B that correspond to the driver's seat and passenger seat of a car, and the user sits in these seats 3B to view the display device 30. The measurement device 20 (sensor 22) is provided in a lower part 3A of the display device 30A located in front of the user 2 on the housing 3, which corresponds to the dashboard of a car, as an example, and measures the user's viewpoint position from in front of the user 2. The installation position of the measurement device 20 is not limited to this, and it can be placed in any position where the user's viewpoint position can be measured.
このように構成された本実施形態のシステム1は、一例として、グラフィックス生成装置10が自動車の車窓から見える景色をユーザ2の視点位置に応じて生成してディスプレイ装置30に表示させる、いわゆるドライブシミュレータとして動作可能である。
As an example, the system 1 of this embodiment configured in this way can operate as a so-called driving simulator, in which the graphics generating device 10 generates a view seen from the window of a car according to the viewpoint position of the user 2 and displays it on the display device 30.
測定装置20は、ユーザ2がディスプレイ装置30を見ている間、所定の基準座標系におけるユーザ2の視点位置2Aを測位する。視点位置2Aは、目の位置に相当する位置である。処理に用いる具体的な視点位置2Aは特に限定されないが、例えば、ユーザ2の両目の中間点、頭部の中心点、両目の中心から所定寸法だけ頭部の内側の位置などを視点位置2Aとして用いることができる。
The measuring device 20 measures the position of the viewpoint 2A of the user 2 in a predetermined reference coordinate system while the user 2 is looking at the display device 30. The viewpoint 2A is a position that corresponds to the position of the eyes. The specific viewpoint 2A used in the processing is not particularly limited, but for example, the midpoint between the eyes of the user 2, the center point of the head, or a position a predetermined distance inward from the center of the eyes can be used as the viewpoint 2A.
図1には、基準座標系の一例として、ユーザ2の右方向に向かうX軸と上方向に向かうY軸と後ろ方向に向かうZ軸とを有する直行座標系が示されている。測定装置20中のセンサ22(図1では不図示)及び各ディスプレイ装置30A~30Dは、それらの位置および姿勢がこの基準座標系に固定されている。姿勢は、X軸周り方向のPitchとY軸周り方向のYawとZ軸周り方向のRollとで表される。
In FIG. 1, as an example of a reference coordinate system, a Cartesian coordinate system is shown having an X-axis pointing to the right of the user 2, a Y-axis pointing upward, and a Z-axis pointing backward. The positions and orientations of the sensor 22 (not shown in FIG. 1) in the measurement device 20 and each of the display devices 30A-30D are fixed to this reference coordinate system. The orientation is represented by Pitch around the X-axis, Yaw around the Y-axis, and Roll around the Z-axis.
グラフィックス生成装置10は、視点位置2Aから、固定された画面を介して、基準座標系の仮想空間上の仮想オブジェクトを見たときの見え方を疑似する仮想オブジェクトの表示画像を、視点位置2Aと固定されたディスプレイ装置30の画面の位置及び形状の情報とに応じて生成し、その表示画像をその画面に表示する。本実施形態では、基準座標系に固定された画面はディスプレイ装置30の画面である。ディスプレイ装置30は4面のディスプレイ装置30A~30Dを含んでいるので、グラフィックス生成装置10は、各ディスプレイ装置30A~30Dのそれぞれの画面に、視点位置2Aからそれぞれの画面を介して見える仮想空間上の仮想オブジェクトの表示画像を表示する。
The graphics generation device 10 generates a display image of a virtual object that simulates how the virtual object appears in the virtual space of the reference coordinate system when viewed from viewpoint position 2A through a fixed screen, according to viewpoint position 2A and information on the position and shape of the screen of the fixed display device 30, and displays the display image on that screen. In this embodiment, the screen fixed to the reference coordinate system is the screen of the display device 30. Since the display device 30 includes four display devices 30A-30D, the graphics generation device 10 displays, on each screen of the display devices 30A-30D, a display image of the virtual object in the virtual space as seen from viewpoint position 2A through each screen.
グラフィックス生成装置10は、事前にビデオカメラや360°カメラなどを用いて実空間を撮像した二次元実写画像のデータと、二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータ、例えば、三次元CGで描かれた象の位置と形状のデータなどを予め内部の記憶部12(図4参照)に格納しておき、ユーザ2にとって仮想空間上の仮想オブジェクトがそこに存在するかのように錯覚させるべく確からしく自然な画像に見えるように、二次元実写画像と三次元CGとを、視点位置2Aと各画面の位置及び形状に基づいて適切にディスプレイ装置30A~30Dに表示させるべく三次元―二次元変換の計算手法に基づいて表示画像を生成する。本実施形態のグラフィックス生成装置10は、特に、二次元実写画像と重畳する仮想オブジェクトのうち、二次元実写画像内に含まれる、例えば、建造物などの現実オブジェクトによって遮蔽される部分を遮蔽した状態で、二次元実写画像と仮想オブジェクトを重畳するように構成されている。グラフィックス生成装置10は、表示画像の生成の際、例えばディスプレイ装置30Aの画面に表示する画像を生成する場合には、三次元CGデータが配置された仮想空間における仮想オブジェクトをユーザの視点位置2Aに基づいてディスプレイ装置30Aの画面、すなわち二次元の面に投影させるような射影変換、透視投影変換、またはそれらに類する計算処理を行う。ディスプレイ装置30B~3Dについてもグラフィックス生成装置10は同じ処理で表示画像を生成する。
The graphics generation device 10 stores in advance in an internal storage unit 12 (see FIG. 4) data of two-dimensional live-action images of real space captured in advance using a video camera or a 360° camera, and three-dimensional CG data representing virtual objects to be superimposed on the two-dimensional live-action images, such as data on the position and shape of an elephant drawn in three-dimensional CG, and generates display images based on a calculation method for three-dimensional to two-dimensional conversion so that the two-dimensional live-action images and the three-dimensional CG are appropriately displayed on the display devices 30A to 30D based on the viewpoint position 2A and the position and shape of each screen so that the images look plausible and natural to the user 2, giving the illusion that the virtual objects in the virtual space are actually present there. The graphics generation device 10 of this embodiment is particularly configured to superimpose the two-dimensional live-action images and the virtual objects while occluding parts of the virtual objects to be superimposed on the two-dimensional live-action images that are occluded by real objects, such as buildings, contained in the two-dimensional live-action images. When generating a display image, for example an image to be displayed on the screen of display device 30A, graphics generation device 10 performs projective transformation, perspective projection transformation, or similar calculation processing to project a virtual object in a virtual space in which three-dimensional CG data is arranged onto the screen of display device 30A, i.e., a two-dimensional surface, based on the user's viewpoint position 2A. Graphics generation device 10 also generates display images for display devices 30B to 3D using the same processing.
なお、本明細書及び特許請求の範囲の記載において、「画像」の用語は、1又は複数の静止画像のみならず、時系列的に連続する複数の画像によって構成される動画像(映像)を含むものとして用いられる。
In this specification and claims, the term "image" is used to include not only one or more still images, but also moving images (video) made up of multiple images that are consecutive in time series.
本実施形態によれば、一例として、自動車の車窓から見える実空間の景色の上に仮想オブジェクトが重畳された画像が、ユーザ2の視点位置2Aと固定されたディスプレイ装置30の画面の位置及び形状の情報とに応じて生成されてディスプレイ装置30に表示されるので、実空間内に仮想オブジェクトが存在している仮想世界内にあたかもユーザ2が居るかのような感覚をユーザ2に与えることができる。また、本実施形態では、ヘッドマウントディスプレイではなく環境に固定された画面に画像を表示する方式を採用しているので、グラフィックス生成装置10によるディスプレイ装置は、仮想現実や拡張現実の技術における表示装置として使用でき、ヘッドマウントディスプレイ(HMD)と同様にユーザにリアリティーのある仮想現実や拡張現実を体験させることができ、かつヘッドマウントディスプレイを用いることによる不都合や不快感をユーザ2に与えることがない。
According to this embodiment, as an example, an image in which a virtual object is superimposed on the scenery in real space seen from the window of a car is generated according to the viewpoint position 2A of the user 2 and the position and shape information of the screen of the fixed display device 30, and is displayed on the display device 30, so that the user 2 can feel as if he or she is in a virtual world in which virtual objects exist in real space. In addition, since this embodiment employs a method of displaying images on a screen fixed to the environment rather than a head-mounted display, the display device using the graphics generation device 10 can be used as a display device in virtual reality and augmented reality technology, and can allow the user to experience realistic virtual reality and augmented reality in the same way as a head-mounted display (HMD), without causing the user 2 any inconvenience or discomfort due to the use of a head-mounted display.
なお、本実施形態では、ヘッドマウントディスプレイのようにユーザの頭部と共に動く画面ではない、環境に固定された画面の一例として、ディスプレイ装置30の画面を示した。ディスプレイ装置30としては、液晶ディスプレイあるいは有機EL(Electro-Luminescence)ディスプレイ、プラズマディスプレイ、FED(電解放出ディスプレイ)等を用いることができる。また、ディスプレイ装置30に代えて、映像投射装置及びスクリーンを用いてもよい。
In this embodiment, the screen of the display device 30 is shown as an example of a screen that is fixed to the environment, rather than a screen that moves with the user's head like a head-mounted display. As the display device 30, a liquid crystal display, an organic EL (Electro-Luminescence) display, a plasma display, an FED (Field Emission Display), or the like can be used. Also, instead of the display device 30, a video projection device and a screen may be used.
以下、本実施形態の画像表示システム1を更に詳しく説明する。
The image display system 1 of this embodiment will be described in more detail below.
測定装置20は視点位置2Aを継続的に測定し、グラフィックス生成装置10は表示画像を視点位置2Aに追従するように生成してディスプレイ装置30の画面に表示する。これにより、ユーザ2の頭部が動いたときにそれに伴って動く視点位置2Aに追従して、ディスプレイ装置30に表示される表示画像が変化するので、ユーザ2にあたかも仮想空間内に居るかのような感覚を与えることができる。視点位置2Aへの追従は、描画内容がその時点の視点位置2Aから見た見え方の画像を連続的に生成することで実現される。ただし、ここでは追従するという記載を行ったが、これに限らず、時間軸上の少し先の視点位置2Aを予測して画像生成してもよい。視点位置2Aが動く際に、現在の2Aの位置をもとに画像生成をおこない、その結果を表示させるのでは計算にかかる時間の分だけ画像表示に遅れが生じてしまい、このことによりユーザに違和感を感じさせてしまう可能性がある。これを解決するために視点位置2Aの時系列データを取りながら少し先の位置を予測して前もって画像生成を行う方法もありうる。
The measuring device 20 continuously measures the viewpoint position 2A, and the graphics generating device 10 generates a display image to follow the viewpoint position 2A and displays it on the screen of the display device 30. As a result, when the user 2's head moves, the display image displayed on the display device 30 changes to follow the viewpoint position 2A that moves with it, so that the user 2 can feel as if he or she is in a virtual space. The tracking of the viewpoint position 2A is realized by continuously generating an image of how the drawn content looks when seen from the viewpoint position 2A at that time. However, although the description of tracking is given here, this is not limited to this, and an image may be generated by predicting the viewpoint position 2A a little ahead on the time axis. When the viewpoint position 2A moves, if an image is generated based on the current position of 2A and the result is displayed, a delay will occur in the image display for the time required for calculation, which may cause the user to feel uncomfortable. To solve this, a method is possible in which the position a little ahead is predicted while taking time series data of the viewpoint position 2A and an image is generated in advance.
図2は、視点位置に追従する表示画像について説明するための概念図である。これは筐体3に設置されたディスプレイ装置30を上から見た概念図であり、ユーザ2の上方に配置されたディスプレイ装置30Dを除く3面のディスプレイ装置30A~30Cが示されている。
FIG. 2 is a conceptual diagram for explaining a display image that tracks the viewpoint position. This is a conceptual diagram of a display device 30 installed in a housing 3 as seen from above, and shows three display devices 30A to 30C, excluding display device 30D placed above user 2.
オブジェクト4A~4Hは、ディスプレイ装置30に表示画像として表示される基準座標系に配置された仮想的なオブジェクト(図示例ではビル)である。ユーザ2の視点位置2Aが、図2において実線と破線とで示されているように左右に動くものとする。視点位置2Aが図2に示すように左側(実線)から右側(破線)へ移動すると、ディスプレイ装置30の画面に表示すべき画像は変化する。例えば、視点位置2Aが左側(実線)にあるときにはオブジェクト4Bの全体が左側のディスプレイ装置30Cに表示されるが、視点位置2Aが右側(破線)にあるときにはオブジェクト4Bは左側のディスプレイ装置30Cと正面のディスプレイ装置30Aとを跨ぐように表示される。加えて視点位置2Aが左側(実線)にあるときには、右側(破線)にあるときに比べてディスプレイ装置30Cをより鋭角に見ている(ディスプレイ画面に対し法線方向に視点位置があるとき、視点の位置を0度と定義したときに鋭角とは、視点位置が±90度に近いこと、すなわち画面に対して見づらい斜め方向から見ている状態を指している)。そのため、通常であれば、オブジェクト4A及び4Bは、ディスプレイ装置の横軸方向に薄くつぶれたようなビルに見える。これでは、オブジェクト4A及び4Bを疑似的に投影した画像をディスプレイ装置30Cに表示したとしても、ユーザ2にとってビルがそこ(画面の向こう側に広がる仮想世界上に配置された場所)に存在するかのように錯覚させるべく確からしく自然な画像に見えない。このためディスプレイ装置30Cにオブジェクト4A及び4Bを表示させる際にはユーザ2からは図2Aを参照して以下に説明するように適切に幾何学的な計算処理を行った結果適切に形状が調整された画像を表示させる必要がある。このように、ユーザ2にとって仮想空間上の仮想オブジェクトがあたかもすぐそこに存在するかのように錯覚させるべく確からしく自然な画像に見えるような処理として、本実施形態では、仮想空間における三次元オブジェクトをディスプレイ装置30、すなわち二次元の面に投影するような三次元―二次元変換処理を、ユーザ視点位置2Aと表示画面の位置と形状を用いた射影変換、透視投影変換、あるいはそれらに類する計算処理を用いて行う。
Objects 4A to 4H are virtual objects (buildings in the illustrated example) arranged in a reference coordinate system that are displayed as display images on display device 30. The viewpoint position 2A of user 2 moves left and right as shown by solid and dashed lines in FIG. 2. When viewpoint position 2A moves from the left (solid line) to the right (dashed line) as shown in FIG. 2, the image to be displayed on the screen of display device 30 changes. For example, when viewpoint position 2A is on the left (solid line), the entire object 4B is displayed on the left display device 30C, but when viewpoint position 2A is on the right (dashed line), object 4B is displayed so as to straddle the left display device 30C and the front display device 30A. In addition, when viewpoint position 2A is on the left (solid line), the display device 30C is viewed at a more acute angle than when viewpoint position 2A is on the right (dashed line) (when the viewpoint position is in the normal direction to the display screen and the viewpoint position is defined as 0 degrees, an acute angle refers to a viewpoint position close to ±90 degrees, that is, a state in which the screen is viewed from an oblique direction that is difficult to see). Therefore, normally, the objects 4A and 4B look like buildings that are thinly squashed in the horizontal direction of the display device. In this case, even if an image of the objects 4A and 4B is displayed on the display device 30C in a pseudo-projected manner, the image does not look convincing and natural to the user 2 so as to give the illusion that the buildings are there (places located in the virtual world that spreads beyond the screen). For this reason, when the objects 4A and 4B are displayed on the display device 30C, it is necessary to display an image whose shape has been appropriately adjusted as a result of performing appropriate geometric calculation processing as described below with reference to FIG. 2A to the user 2. In this way, as a process for making the image look convincing and natural to the user 2 so as to give the illusion that the virtual object in the virtual space is right there, in this embodiment, a three-dimensional to two-dimensional conversion process that projects a three-dimensional object in the virtual space onto the display device 30, i.e., onto a two-dimensional surface, is performed using a projection transformation, a perspective projection transformation, or a calculation process similar to these, using the user's viewpoint position 2A and the position and shape of the display screen.
図2Aは、本実施形態による画像表示システムがユーザ視点位置に応じた画像を表示する様子を説明するための図である。図2Aでは説明の便宜上、ディスプレイ装置30Aのみを図示している。図2Aの説明において、ディスプレイ装置30Aの手前側のユーザ空間を実空間、奥側の空間を仮想空間と定義する。ディスプレイ装置30Aの奥側に定義された仮想空間は、ディスプレイ装置30Aによる疑似的な窓(以下「疑似窓」ともいう)を通してユーザ2の頭部のある位置P1から見える画像としてディスプレイ装置30Aに表示される。仮想空間上の仮想オブジェクトは後述する三次元CGデータにより定義される。図2Aの例では、仮想オブジェクトとして6本の木が横に並んで配置されている。なお、ここでは、図2A上では説明のためにディスプレイ装置30Aの奥側に仮想空間を定義しているが、ディスプレイ装置30Aの手前側に仮想空間を定義してもよいし、ディスプレイ装置30Aの手前側および奥側を含む空間を仮想空間として定義してもよい。これにより、仮想空間上の仮想オブジェクトがディスプレイ装置30Aによる疑似的な窓の向こうにあるように見える画像だけでなく、仮想空間上の仮想オブジェクトがディスプレイ装置30Aから手前に突き出しているように見える画像をもディスプレイ装置30Aに表示することができる。
2A is a diagram for explaining how the image display system according to the present embodiment displays an image according to the user's viewpoint position. For convenience of explanation, only the display device 30A is shown in FIG. 2A. In the explanation of FIG. 2A, the user space on the front side of the display device 30A is defined as the real space, and the space on the back side is defined as the virtual space. The virtual space defined on the back side of the display device 30A is displayed on the display device 30A as an image seen from the position P1 where the head of the user 2 is located through a pseudo window (hereinafter also referred to as a "pseudo window") by the display device 30A. The virtual object in the virtual space is defined by the three-dimensional CG data described later. In the example of FIG. 2A, six trees are arranged side by side as virtual objects. Note that here, the virtual space is defined on the back side of the display device 30A in FIG. 2A for the sake of explanation, but the virtual space may be defined on the front side of the display device 30A, or the space including the front side and the back side of the display device 30A may be defined as the virtual space. This makes it possible to display on display device 30A not only images in which a virtual object in virtual space appears to be on the other side of a pseudo window created by display device 30A, but also images in which a virtual object in virtual space appears to be protruding from display device 30A.
ユーザ2がディスプレイ装置30Aの近傍正面の位置P1にいるとき、ディスプレイ装置30Aによる疑似窓から見える仮想空間の視野FoV1は広く、6本の木が全て視野FoV1に入っているようにディスプレイ装置30Aに表示される(表示D1)。ユーザ2が位置P1からz方向に移動し、ディスプレイ装置30Aから離れた位置P2に来ると、ディスプレイ装置30Aによる疑似窓から見える仮想空間の視野FoV2は狭くなり、視野FoV2には3本の木の全体とその両側の木の一部が入るのみのように表示される(表示D2)。また、ユーザ2が位置P1から-x(マイナスx)方向に移動し、位置P3にくると、ディスプレイ装置30Aによる疑似窓から見える仮想空間の視野FoV3はx方向に変化する。視野Fov3には右端の3本の木が入るのみである。加えて視野FoV3ではディスプレイ装置30に対して正面ではなく斜め方向から画面を見ているが、疑似窓から見える木の横方向の太さは正面から見たときと同じ太さになっている必要がある(表示D3’)。このためにディスプレイ装置30Aに木を表示させる際にはユーザからは表示D3’のように見えるように適切に伸縮処理を行った画像を表示させる(表示D3)。このように、ユーザ2にとって仮想空間上の仮想オブジェクトがそこに存在するかのように錯覚させるべく確からしく自然な画像に見えるような処理として、本実施形態では、ディスプレイ装置30Aに表示する画像を生成するとき、三次元CGデータに定義された仮想空間における仮想オブジェクトをディスプレイ装置30A、すなわち二次元の面に投影させるような処理(射影変換、透視投影変換、あるいはそれに類する計算処理)を行う。他の方法として、基準座標空間において三次元CGデータの各点をその各点とユーザ視点位置とを結ぶ直線がディスプレイ装置30と交わる点に投影してもよい。また、ディスプレイ装置30Aに表示する画像を生成する他の処理方法として、経験則に従った特定の行列や数値の四則演算処理を、画像や画像がもつ三次元パラメータに対して行うことにしてもよい。
When user 2 is at position P1 close to and directly in front of display device 30A, the field of view FoV1 of the virtual space seen through the pseudo window created by display device 30A is wide, and all six trees are displayed on display device 30A as if they are within the field of view FoV1 (display D1). When user 2 moves from position P1 in the z direction to position P2 away from display device 30A, the field of view FoV2 of the virtual space seen through the pseudo window created by display device 30A narrows, and only the entire three trees and parts of the trees on either side of them are displayed in field of view FoV2 (display D2). Furthermore, when user 2 moves from position P1 in the -x (negative x) direction to position P3, the field of view FoV3 of the virtual space seen through the pseudo window created by display device 30A changes in the x direction. Only the three trees on the right side are included in field of view FoV3. In addition, in the field of view FoV3, the screen is viewed from an oblique direction rather than from the front of the display device 30, but the horizontal thickness of the tree seen through the pseudo window needs to be the same as when viewed from the front (display D3'). For this reason, when displaying the tree on the display device 30A, an image that has been appropriately stretched so that it looks like display D3' to the user is displayed (display D3). In this way, as a process that makes the image look plausible and natural so that the user 2 has the illusion that the virtual object in the virtual space is actually present there, in this embodiment, when generating an image to be displayed on the display device 30A, a process (projective transformation, perspective projection transformation, or a calculation process similar thereto) is performed to project the virtual object in the virtual space defined in the three-dimensional CG data onto the display device 30A, i.e., onto a two-dimensional surface. As another method, each point of the three-dimensional CG data may be projected onto the point where the straight line connecting each point and the user's viewpoint position intersects with the display device 30 in the reference coordinate space. Another processing method for generating an image to be displayed on the display device 30A may involve performing arithmetic operations on specific matrices or values based on empirical rules on the image or the three-dimensional parameters of the image.
本実施形態の測定装置20は、ユーザ2を撮像する撮像部と、撮像部にて撮像されたユーザ2の撮像情報に基づいて視点位置2Aを定める算出部とを有するように構成されている。撮像部は図1に示した測定装置20に設置されたセンサ22により実現される。算出部は図1に示したグラフィックス生成装置10の処理部14(図4参照)により実現される。あるいは、算出部は測定装置20内の処理部(不図示)によって実現されてもよい。
The measuring device 20 of this embodiment is configured to have an imaging unit that images the user 2, and a calculation unit that determines the viewpoint position 2A based on the imaging information of the user 2 captured by the imaging unit. The imaging unit is realized by a sensor 22 installed in the measuring device 20 shown in FIG. 1. The calculation unit is realized by the processing unit 14 (see FIG. 4) of the graphics generating device 10 shown in FIG. 1. Alternatively, the calculation unit may be realized by a processing unit (not shown) within the measuring device 20.
一例として、本実施形態では、センサ22(撮像部)は、各画素におけるセンサ22から物体(ここではユーザ2の人体)までの深度を測定するデプスセンサである。グラフィックス生成装置10の処理部14により実現される算出部は、センサ22で測定された各画素の深度に基づいて、人体の形状を推定し、その人体における頭部の位置に基づいて視点位置2Aを算出する。これによれば、各画素の深度から人体形状を推定し、その人体形状における頭部の位置を用いるので、ユーザ2の体の位置や向きが様々に変化しても視点位置2Aを高い精度で特定できる。視点位置の特定方法はこれに限らない。画像処理により人物の顔もしくは目の位置を直接認識し、その時の深度情報と組み合わせて目の位置の空間座標値から視点位置2Aを特定する方法でもよい。
As an example, in this embodiment, the sensor 22 (imaging unit) is a depth sensor that measures the depth from the sensor 22 to an object (here, the body of the user 2) at each pixel. The calculation unit realized by the processing unit 14 of the graphics generation device 10 estimates the shape of the human body based on the depth of each pixel measured by the sensor 22, and calculates the viewpoint position 2A based on the position of the head in the body. In this way, since the human body shape is estimated from the depth of each pixel and the head position in the body shape is used, the viewpoint position 2A can be identified with high accuracy even if the position and orientation of the body of the user 2 changes in various ways. The method of identifying the viewpoint position is not limited to this. It is also possible to directly recognize the position of a person's face or eyes by image processing, and identify the viewpoint position 2A from the spatial coordinate value of the eye position in combination with the depth information at that time.
図3は、視点位置の算出について説明するための概念図である。基準座標系におけるセンサ22の位置(Xs,Ys,Zs)と姿勢(Pitchs,Yaws,Rolls)が予め設定されている。センサ22で取得される各画素の深度と、センサ22の位置および姿勢から視点位置2Aの座標(Xh,Yh,Zh)を算出することができる。なお、図3に示すように、各ディスプレイ装置(図3に示す例ではディスプレイ装置30A)の基準座標系における位置(Xm,Ym,Zm)、姿勢(Pitchm,Yawm,Rollm)、および形状(Heightm,Widthm)も予め設定されている。他のディスプレイ装置30B~30Dも同様に位置、姿勢、および形状が予め設定されている。本実施形態では一例として各ディスプレイ装置30A~30Dは長方形または台形であり、その形状は高さ(Heightm)と幅(Widthm)とで表現されている。またディスプレイ装置30A~30Dは任意の多角形であったり、曲面や球面であっても良い。また、ディスプレイ装置および/またはその表示画面部の位置と姿勢と形状を上記以外の方法で定義しても良い。例えばディスプレイ装置が長方形であった場合に、装置を構成する表示画面の頂点角の一点と、その対角線上の頂点角の一点のそれぞれの空間座標値と、ディスプレイ正面の法線ベクトル情報をまとめて1つのディスプレイ装置およびその表示画面の位置と姿勢と形状に関するデータとして定義すれば、上記のような定義でディスプレイ装置の位置と姿勢と形状を別々に設定せずとも一意に設定でき、その上で少ないデータ変数量になるなどの別の恩恵が得られる。上記の例はあくまで一例であり、ディスプレイ装置およびその表示画面の位置と姿勢と形状を一意に決定する表現方法はさまざまであり、これをまとめて配置データと呼ぶが、配置データの形式としてはどのような方法をとっても良い。センサ位置や視点位置についても同様である。
FIG. 3 is a conceptual diagram for explaining the calculation of the viewpoint position. The position ( Xs , Ys , Zs) and orientation (Pitch s , Yaw s , Roll s ) of the sensor 22 in the reference coordinate system are set in advance. The coordinates (Xh, Yh , Zh ) of the viewpoint position 2A can be calculated from the depth of each pixel acquired by the sensor 22 and the position and orientation of the sensor 22. As shown in FIG. 3, the position ( Xm , Ym , Zm ), orientation (Pitch m , Yaw m , Roll m ) , and shape (Height m , Width m ) of each display device (display device 30A in the example shown in FIG. 3) in the reference coordinate system are also set in advance. The positions, orientations, and shapes of the other display devices 30B to 30D are also set in advance in the same manner. In this embodiment, as an example, each of the display devices 30A to 30D is a rectangle or a trapezoid, and the shape is expressed by a height (Height m ) and a width (Width m ). The display devices 30A to 30D may be any polygon, curved surface, or spherical surface. The position, attitude, and shape of the display device and/or its display screen may be defined by a method other than the above. For example, when the display device is rectangular, if the spatial coordinate values of one vertex point of the display screen constituting the device and one vertex point on the diagonal line, and the normal vector information of the front of the display are collectively defined as data related to the position, attitude, and shape of one display device and its display screen, the position, attitude, and shape of the display device can be uniquely set without having to be set separately with the above definition, and another benefit is obtained, such as a small amount of data variables. The above example is merely an example, and there are various ways of expressing the position, attitude, and shape of the display device and its display screen uniquely, and these are collectively called arrangement data, but any method may be used as the format of the arrangement data. The same applies to the sensor position and the viewpoint position.
センサ22が撮像する画像は、深度画像であってもよいし、深度画像及び可視画像であってもよい。例えば、撮像部は、深度画像を撮像するセンサと可視画像を撮像するカメラとを含み、算出部は、深度画像と可視画像との両方を用いて視点位置2Aを算出することにしてもよい。また撮像位置の異なった2つの可視画像であってもよい。この場合は2つの可視画像の視差を用いて視点位置2Aを算出することにしても良い。また単一の可視画像からAIを用いた画像処理によって視点位置2Aを推定することにしても良い。
The image captured by the sensor 22 may be a depth image, or a depth image and a visible image. For example, the imaging unit may include a sensor that captures a depth image and a camera that captures a visible image, and the calculation unit may calculate the viewpoint position 2A using both the depth image and the visible image. It may also be two visible images captured at different positions. In this case, the viewpoint position 2A may be calculated using the parallax between the two visible images. The viewpoint position 2A may also be estimated from a single visible image by image processing using AI.
なお、図1及び図3の例では、測定装置20(センサ22)は、ダッシュボード上に設置された例を示したが、これに限られない。ディスプレイ装置30Aと30Dの間の位置に吊り下げる形で設置されていても良いし、ほかのディスプレイ装置間に設置しても良い。また、ユーザ2の手前側に設置された例を示したが、ユーザ2の後方にディスプレイ装置30に重ならない位置に配置することも可能である。ディスプレイの後ろ側に設置しディスプレイ面を通過してユーザ視点位置を測定する方法も可能である。その他、これら複数のセンサを用いてそのどれかに撮像された映像を用いて測定しても良いし、複数のセンサからの情報を統合して視点位置を用いても良い。
1 and 3 show an example in which the measuring device 20 (sensor 22) is installed on the dashboard, but this is not limited to this. It may be installed in a suspended position between display devices 30A and 30D, or it may be installed between other display devices. Also, although an example in which it is installed in front of the user 2 is shown, it is also possible to place it behind the user 2 in a position that does not overlap with the display device 30. It is also possible to install it behind the display and measure the user's viewpoint position by passing through the display surface. Alternatively, it is possible to use multiple sensors and use an image captured by any one of them to perform the measurement, or to integrate information from multiple sensors to use the viewpoint position.
次に、本実施形態におけるグラフィックス生成装置10について説明する。図4は、本実施形態のグラフィックス生成装置の構成を示すブロック図である。図4に示すように、グラフィックス生成装置10は、記憶部12と、処理部14と、表示出力部16と、通信部18とを有している。図4では、グラフィックス生成装置10は単一の要素として描かれているが、グラフィックス生成装置10は必ずしも物理的に1つの要素である必要はなく、物理的に分離した複数の要素で構成されていてもよい。
Next, the graphics generation device 10 in this embodiment will be described. FIG. 4 is a block diagram showing the configuration of the graphics generation device in this embodiment. As shown in FIG. 4, the graphics generation device 10 has a storage unit 12, a processing unit 14, a display output unit 16, and a communication unit 18. Although the graphics generation device 10 is depicted as a single element in FIG. 4, the graphics generation device 10 does not necessarily have to be a single physical element, and may be composed of multiple physically separated elements.
記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)およびHDD(Hard Disk Drive)、SDD(Solid State Drive)等の一時的又は非一時的な記憶媒体を含む。記憶部12は、処理部14が実行するコンピュータプログラムや後述する各種データを記憶する。記憶部12の非一時的な記憶媒体に記憶されるコンピュータプログラムは、図5等を参照して後述する、処理部14による画像生成方法の各処理を実施する命令を含む。
The storage unit 12 includes temporary or non-temporary storage media such as ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and SDD (Solid State Drive). The storage unit 12 stores computer programs executed by the processing unit 14 and various data described below. The computer programs stored in the non-temporary storage media of the storage unit 12 include instructions for carrying out each process of the image generation method by the processing unit 14, which will be described later with reference to FIG. 5 etc.
記憶部12は、所定の基準座標空間における各ディスプレイ装置30A~30Dの位置、姿勢および形状を示す画面配置データと、基準座標空間における測定装置20の位置および姿勢を示す測定装置配置データと、実空間を撮像した二次元実写画像データと、二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータとを保持する。基準座標空間は、本実施形態における演算の基準となる所定の原点Oを有する座標系(基準座標系)で表される空間であり、xyzの3軸を有する直交座標系の空間である。基準座標空間およびその原点Oをどのように設定するかは任意であり、例えば、基準座標空間をディスプレイ装置30に対して固定してもよいし、測定装置20に対して固定しても良いし、ディスプレイ装置30及び測定装置20の両方に対して固定してもよいし、それらのどちらにも固定しなくてもよい。
The storage unit 12 holds screen layout data indicating the position, orientation, and shape of each of the display devices 30A-30D in a predetermined reference coordinate space, measurement device layout data indicating the position and orientation of the measurement device 20 in the reference coordinate space, two-dimensional live-action image data capturing an image of real space, and three-dimensional CG data representing a virtual object to be superimposed on the two-dimensional live-action image. The reference coordinate space is a space represented by a coordinate system (reference coordinate system) having a predetermined origin O that serves as the basis for calculations in this embodiment, and is a Cartesian coordinate system space having three axes, xyz. How the reference coordinate space and its origin O are set is arbitrary; for example, the reference coordinate space may be fixed relative to the display device 30, may be fixed relative to the measurement device 20, may be fixed relative to both the display device 30 and the measurement device 20, or may not be fixed to either of them.
「実空間を撮像した二次元実写画像のデータ」は、イメージセンサーを内蔵した通常の実写を撮影するカメラを用いて撮像されたデータであり、一例として、カメラを自動車等の車両に搭載し、その車両が実空間内のある経路上を移動している間に車両の周囲の実空間を撮像して取得された画像である。二次元実写画像は1又は複数の静止画像であってもよいが、好ましくは時系列的に連続的に撮像された複数のフレーム画像からなる動画像(映像)である。二次元実写画像データは、通常の視野角のカメラでもよいが、より好ましくは全方位(360°)の広い画角を有するカメラで撮像された広画角画像であることが好ましい。
"Two-dimensional real-image data capturing real space" is data captured using a camera with a built-in image sensor that captures normal real-image images. As an example, the camera is mounted on a vehicle such as an automobile, and images are acquired by capturing images of the real space around the vehicle while the vehicle is moving along a route in real space. The two-dimensional real-image image may be one or more still images, but is preferably a moving image (video) consisting of multiple frame images captured continuously in a time series. The two-dimensional real-image data may be captured by a camera with a normal viewing angle, but is more preferably a wide-angle image captured by a camera with a wide viewing angle in all directions (360°).
さらに、二次元実写画像のデータは画像そのもののデータだけではなく、各画像(あるいは各フレーム画像)が撮像された位置に関する撮像位置情報と、各画像の撮像時点の二次元カメラの撮像位置からの撮像方向に関する撮像方位情報とが、各画像(各フレーム画像)に関連付けて記憶されていてもよい。撮像位置情報としては、例えばGPS(Global Positioning System:全地球測位システム)による位置情報を用いることが可能である。また、撮像方位情報としては、例えば、撮像時点においてGPSによって取得された速度ベクトル情報を用いることが可能である。ほかにはVPS(Visual Positioning System)を用いて撮像位置情報と撮像方位情報の両方を取得して各画像(各フレーム画像)に関連付けて記憶されていてもよい。本方法では、事前に撮像された位置および方向が特定されている多くの画像を用い、それらの画像に現れている建物などの物体の輪郭などの視覚的特徴が抽出され、視覚的特徴を検索可能なインデックスとして位置および方向の情報がデータベースに蓄積されている。そして、撮像された任意の二次元実写画像が入力されると、その画像から視覚的特徴を抽出し、抽出した視覚的特徴とデータベースに蓄積されている視覚的特徴とを比較することにより、画像が撮像された位置および方向を特定する。この特定された画像が撮像された位置および方向を撮像位置情報と撮像方位情報に変換する。例えば、こうした変換を自動で行うプログラムを作成し、時系列上に並んだ一連の二次元実写画像(動画像)のデータをこのプログラムに入力することで、入力データにおける各画像(各フレーム画像)ごとに撮像位置情報と撮像方位情報が関連付けられた一連のデータを自動で作成させて、それを記憶する形をとってもよい。記憶部12には、例えば、種々の経路を移動しながら撮像して取得された、各経路に対応する複数の二次元実写画像データを記憶させることができる。こうして得られた撮影位置は、現実世界における位置(厳密には地球上において緯度、経度、海抜等によって一意に決定される空間座標値)であるが、後述するように現実世界に対応する形で仮想的に構築された仮想空間において、それに対応する形で定義される位置情報データがあると都合が良い。特に、この位置情報データは、仮想空間においては仮想オブジェクトの遮蔽領域を特定するうえでの基礎的な情報(仮想空間においてはX,Y,Z座標によって一意に決定される空間座標値)として使えるため、これを遮蔽領域特定用観察位置と名付け、以降の説明に用いる。現実世界の撮影位置と、仮想空間の遮蔽領域特定用観察位置は一対一で対応するものであり、お互いに特定の計算式をもって一意に変換可能である。
Furthermore, the data of the two-dimensional real-life image may not only be the data of the image itself, but also may include image capture position information regarding the position where each image (or each frame image) was captured, and image capture orientation information regarding the image capture direction from the image capture position of the two-dimensional camera at the time of capturing each image, which may be stored in association with each image (each frame image). For example, position information from a GPS (Global Positioning System) may be used as the image capture position information. For example, velocity vector information acquired by a GPS at the time of capturing may be used as the image capture orientation information. Alternatively, both image capture position information and image capture orientation information may be acquired using a VPS (Visual Positioning System) and stored in association with each image (each frame image). In this method, many images whose captured positions and directions have been specified in advance are used, and visual features such as the outlines of objects such as buildings that appear in those images are extracted, and the position and orientation information is stored in a database as an index that allows the visual features to be searched. Then, when an arbitrary captured 2D real-life image is input, visual features are extracted from the image, and the extracted visual features are compared with the visual features stored in the database to identify the position and direction at which the image was captured. The identified position and direction at which the image was captured are converted into imaging position information and imaging orientation information. For example, a program that automatically performs such conversion is created, and data of a series of 2D real-life images (moving images) arranged in time series is input to this program, so that a series of data in which imaging position information and imaging orientation information are associated with each image (each frame image) in the input data is automatically created and stored. For example, the storage unit 12 can store a plurality of 2D real-life image data corresponding to each route, which are captured while moving along various routes. The shooting position obtained in this way is a position in the real world (strictly speaking, a spatial coordinate value uniquely determined by latitude, longitude, altitude, etc. on the earth), but it is convenient to have position information data defined in a corresponding manner in a virtual space virtually constructed in a manner corresponding to the real world, as described later. In particular, because this position information data can be used as basic information for identifying occluded areas of virtual objects in virtual space (spatial coordinate values that are uniquely determined by X, Y, and Z coordinates in virtual space), it is called the observation position for identifying occluded areas and will be used in the following explanation. There is a one-to-one correspondence between the shooting position in the real world and the observation position for identifying occluded areas in virtual space, and they can be uniquely converted into each other using a specific formula.
「三次元CG」は、三次元空間内の仮想的な立体物であり奥行き(立体)情報を含む点で二次元の画像と異なるため、3DCGとも称される。三次元CGとしては、仮想空間の三次元座標上に置かれた点を頂点として作成された複数の面により構成される(モデリング)仮想的立体であり、その各面に材質などを再現する情報を与え、任意の光の強さ、光源の位置などからオブジェクトを照らすことで表現される場合がある。三次元CGのデータには、その三次元CGで表示する仮想オブジェクトの仮想空間内における配置位置に関する情報が含まれる。記憶部12には、様々な複数の仮想オブジェクトに関する三次元CGデータを記憶させることができる。
"Three-dimensional CG" is also called 3DCG because it is a virtual solid object in three-dimensional space that differs from two-dimensional images in that it contains depth (solid) information. Three-dimensional CG is a virtual solid object (modeling) composed of multiple faces created with vertices at points placed on the three-dimensional coordinates of the virtual space, and may be expressed by providing information reproducing the material, etc., of each face and illuminating the object from an arbitrary light intensity, light source position, etc. Three-dimensional CG data includes information regarding the placement position within the virtual space of the virtual object displayed in the three-dimensional CG. The memory unit 12 can store three-dimensional CG data for a variety of multiple virtual objects.
なお、本明細書及び特許請求の範囲において、「コンピュータグラフィックス(CG)」ないし「グラフィックス」は、二次元実写画像がテクスチャとして貼り付けられた仮想面、三次元実空間モデル、仮想オブジェクトを表す三次元CG等の、コンピュータによって生成される画像を指す。
In this specification and claims, "computer graphics (CG)" or "graphics" refers to images generated by a computer, such as virtual surfaces onto which two-dimensional real-world images are applied as textures, three-dimensional real-space models, and three-dimensional CG representing virtual objects.
処理部14は、例えば、1又は2以上のCPU(Central Processing Unit)で構成される。処理部14は1又は2以上のGPU(Graphics Processing Unit)を備えてもよい。処理部14は、記憶部12に記憶されたコンピュータプログラムを実行することにより、図5等を参照して後述するグラフィックス生成方法の各処理を実施する。
The processing unit 14 is composed of, for example, one or more CPUs (Central Processing Units). The processing unit 14 may also include one or more GPUs (Graphics Processing Units). The processing unit 14 executes a computer program stored in the storage unit 12, thereby carrying out each process of the graphics generation method described below with reference to FIG. 5 etc.
表示出力部16は、ディスプレイ装置30が接続され、処理部14によって生成された画像をディスプレイ装置30に表示する画像信号を出力する出力部である。表示出力部16は、例えば、VGA、DVI、DisplayPort(商標)、HDMI(登録商標)、USB(商標)Type-C等の出力端子で構成し、ディスプレイ装置30と有線接続することができる。あるいは、表示出力部16は任意の無線通信技術を用いてディスプレイ装置30と無線接続される構成としてもよい。
The display output unit 16 is an output unit to which the display device 30 is connected, and which outputs an image signal for displaying the image generated by the processing unit 14 on the display device 30. The display output unit 16 is configured with output terminals such as VGA, DVI, DisplayPort (trademark), HDMI (registered trademark), USB (trademark) Type-C, etc., and can be connected to the display device 30 via a wired connection. Alternatively, the display output unit 16 may be configured to be wirelessly connected to the display device 30 using any wireless communication technology.
通信部18は、グラフィックス生成装置10と外部装置との間でデータを送受信する機能を有する。特に本実施形態では、通信部18は測定装置20のセンサ22によって撮像された画像のデータを受信する場合がある。また、実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータをネットワークを通じて必要な部分だけ取得する場合がある。またVPSのために二次元実写画像を外部のサーバに送り、サーバからその画像の撮像位置情報と撮像方位情報をネットワーク経由で取得する場合がある。なお、外部装置と通信部18との通信は、有線通信または無線通信のいずれであってもよい。
The communication unit 18 has the function of transmitting and receiving data between the graphics generating device 10 and an external device. In particular, in this embodiment, the communication unit 18 may receive image data captured by the sensor 22 of the measuring device 20. In addition, the communication unit 18 may obtain only the necessary parts of data of a three-dimensional real space model that models a real object that exists in real space via a network. In addition, a two-dimensional real-life image may be sent to an external server for VPS, and imaging position information and imaging orientation information of the image may be obtained from the server via a network. Note that communication between the external device and the communication unit 18 may be either wired communication or wireless communication.
次に、一例として、図5等を参照して、本実施形態のグラフィックス生成装置10によるグラフィックス生成方法について説明する。図5は、本実施形態のグラフィックス生成装置による全体処理を示すフローチャートの一例である。図5の各処理は処理部14により実行される。グラフィックス生成装置10により生成する画像が時系列的に連続する複数のフレーム画像からなる動画像の場合、その動画像のフレームごとに計算しても良い。
Next, as an example, a graphics generation method by the graphics generation device 10 of this embodiment will be described with reference to FIG. 5 etc. FIG. 5 is an example of a flowchart showing the overall processing by the graphics generation device of this embodiment. Each process in FIG. 5 is executed by the processing unit 14. When the image generated by the graphics generation device 10 is a moving image made up of multiple frame images that are successive in time series, calculations may be made for each frame of the moving image.
図5を参照すると、グラフィックス生成装置10の処理部14は最初に、実空間に存在する現実オブジェクトを三次元モデル化した三次元実空間モデルのデータを取得する(ステップS101)。
Referring to FIG. 5, the processing unit 14 of the graphics generating device 10 first acquires data of a three-dimensional real space model that is a three-dimensional model of a real object that exists in real space (step S101).
実空間に存在する現実オブジェクトは、例えば、現実世界のビルや家屋、橋梁、鉄道、道路等の建造物である。そのような現実オブジェクトを三次元モデル化した三次元実空間モデルのデータは、現実オブジェクトを仮想空間内に再現するための情報として、現実世界における各現実オブジェクトの位置情報と、各現実オブジェクトの形状に関する情報とを含む。現在では、いくつかの都市や自然の形状について現実の空間を三次元モデル化した3D都市モデルデータが複数の事業者・機関から提供されている。3D都市モデルデータを提供するサービスとしては、例えば、国土交通省の「Project PLATEAU」や株式会社ゼンリンの「3D地図データ」などが知られている。今後は、より多くの都市や自然についても様々な事業者や機関から3Dモデルデータが提供されることが期待される。
Real objects that exist in real space are, for example, buildings, houses, bridges, railways, roads, and other structures in the real world. 3D real space model data that is a 3D model of such real objects contains position information of each real object in the real world and information about the shape of each real object, as information for reproducing the real objects in virtual space. Currently, several businesses and organizations provide 3D city model data that is a 3D model of real spaces for the shapes of several cities and nature. Well-known services that provide 3D city model data include, for example, "Project PLATEAU" from the Ministry of Land, Infrastructure, Transport and Tourism and "3D Map Data" from Zenrin Co., Ltd. In the future, it is expected that various businesses and organizations will provide 3D model data for even more cities and nature.
本実施形態では、一例として、「三次元実空間モデルのデータ」は事業者・機関が提供するサービスを利用して入手することができる。グラフィックス生成装置10の通信部18により事業者・機関のサービス提供サーバにインターネット等を介して接続し、当該サーバから三次元実空間モデルデータの必要部分をダウンロードすることで、三次元実空間モデルのデータを取得することができる。取得された三次元実空間モデルデータは記憶部12に格納される。
In this embodiment, as an example, the "three-dimensional real space model data" can be obtained by using a service provided by a business or institution. The communication unit 18 of the graphics generating device 10 connects to a service providing server of the business or institution via the Internet or the like, and the necessary parts of the three-dimensional real space model data are downloaded from the server, thereby obtaining the three-dimensional real space model data. The obtained three-dimensional real space model data is stored in the memory unit 12.
処理部14は次に、二次元実写画像がテクスチャとして内側に貼り付けられる仮想面を含む仮想空間を生成する(ステップS102)。
The processing unit 14 then generates a virtual space including a virtual surface onto which the two-dimensional real-world image is attached as a texture (step S102).
図6は、図5に示したフローチャートにおけるステップS102の処理を説明するための概念図である。図6(a)は実空間で撮像された二次元実写画像の一例を示し、図6(b)は二次元実写画像がテクスチャとして内側に貼り付けられる仮想面Sを含む仮想空間を示す。図6(a)に示す例では、360度カメラで撮影した画像の前半分(180度)の撮像データとして、両側にビルが並んでいる市街地の道路の上を前方に進みながら撮像された画像の1フレーム分の二次元実写画像が示されている。
FIG. 6 is a conceptual diagram for explaining the processing of step S102 in the flowchart shown in FIG. 5. FIG. 6(a) shows an example of a two-dimensional real-life image captured in real space, and FIG. 6(b) shows a virtual space including a virtual surface S onto which the two-dimensional real-life image is attached as a texture. In the example shown in FIG. 6(a), one frame of a two-dimensional real-life image captured while driving forward on a city road lined with buildings on both sides is shown as imaging data for the first half (180 degrees) of an image captured by a 360-degree camera.
ステップS102の処理において、処理部14は、実空間の基準座標系Crに対応付けられた仮想空間座標系Cvに基づく仮想空間を生成し、その仮想空間内に、記憶部12に記憶されている二次元実写画像がテクスチャとして内側に貼り付けられる仮想面Sを生成する。仮想面Sに貼り付けられる二次元実写画像は、仮想空間内の遮蔽領域特定用観察位置OPから見た場合と、後述するように仮想面Sに貼り付けられた画像がディスプレイ装置30に表示される表示画像に射影変換(を含む三次元―二次元変換の計算処理)されて実空間のユーザ2の視点位置2Aからそれを見た場合とのいずれにおいても、背景として表示されるものである。仮想面Sは、例えば、球体あるいは半球体を成す曲面全体又はその一部の曲面によって構成される。二次元実写画像が広画角画像であり、例えば180°の画角を有する場合には、仮想面Sは球体あるいは半球体を成す曲面のうち180°の画角を投影できる領域を備えた曲面で構成でき、あるいは全方位(360°)の画角を有する場合には、仮想面Sは球体あるいは半球体の全体を成す曲面で構成することができる。ここで180°、360°といった角度は一例であってこれに縛られず、撮影するカメラの視野角に応じて撮影される映像を仮想面Sにおける適切な領域に貼り付ければよい。また仮想空間上の仮想面Sの大きさは、後述する三次元モデルをその内側に内包できる程度に十分大きな半径のものである。
In the processing of step S102, the processing unit 14 generates a virtual space based on a virtual space coordinate system Cv corresponding to the reference coordinate system Cr of the real space, and generates a virtual surface S within the virtual space on the inside of which the two-dimensional real-life image stored in the storage unit 12 is pasted as a texture. The two-dimensional real-life image pasted on the virtual surface S is displayed as a background both when viewed from an observation position OP for identifying an occluded area in the virtual space, and when the image pasted on the virtual surface S is projected (including a calculation process of three-dimensional-two-dimensional conversion) onto a display image displayed on the display device 30 as described below and viewed from the viewpoint position 2A of the user 2 in the real space. The virtual surface S is composed of, for example, the entire curved surface forming a sphere or hemisphere, or a part of the curved surface. If the two-dimensional real-life image is a wide-angle image, for example, with a 180° angle of view, the virtual surface S can be composed of a curved surface that forms a sphere or hemisphere and has an area onto which a 180° angle of view can be projected, or if the image has an omnidirectional (360°) angle of view, the virtual surface S can be composed of a curved surface that forms the entire sphere or hemisphere. Here, angles such as 180° and 360° are merely examples, and the invention is not limited to these angles; the image captured according to the viewing angle of the camera that captures the image can be pasted onto an appropriate area on the virtual surface S. The size of the virtual surface S in the virtual space is a radius large enough to include a three-dimensional model, which will be described later, within it.
処理部14は次に、仮想空間内に生成された仮想面Sの内側(以下、「の内側」を省略)に二次元実写画像をテクスチャとして貼り付ける処理を行う(ステップS103)。
The processing unit 14 then performs a process of pasting the two-dimensional real-life image as a texture onto the inside (hereinafter, "inside" will be omitted) of the virtual surface S generated within the virtual space (step S103).
ステップS103において、処理部14は、仮想面Sへ貼り付ける二次元実写画像のデータを記憶部12から読み出し、その画像をテクスチャとして仮想面Sに貼り付ける処理を行う。このとき、処理部14は、二次元実写画像における水平面と仮想面Sにおける水平面を一致させ、貼り付けを行う。二次元実写画像が、360°画像の場合は撮影により得られた全天球画像を一般的な方法で仮想面Sへ貼り付ければよい。
In step S103, the processing unit 14 reads data of the two-dimensional real-life image to be pasted onto the virtual surface S from the storage unit 12, and performs processing to paste the image onto the virtual surface S as a texture. At this time, the processing unit 14 performs pasting by matching the horizontal plane in the two-dimensional real-life image with the horizontal plane in the virtual surface S. If the two-dimensional real-life image is a 360° image, a celestial sphere image obtained by shooting can be pasted onto the virtual surface S using a general method.
処理部14は次に、上記のように生成された仮想空間内に三次元実空間モデル及び仮想オブジェクトを配置する(ステップS104)。
The processing unit 14 then places the three-dimensional real space model and virtual objects in the virtual space generated as described above (step S104).
ステップS104の処理において、処理部14は、仮想面に貼り付けられた二次元実写画像データに関連付けられている三次元実空間モデルを仮想空間内に配置する。このとき、実空間の基準座標系Crに基づいて生成されている三次元実空間モデルは、仮想空間を構成する仮想空間座標系Cvに変換され、仮想空間内において三次元実空間モデルが実サイズで再現される。ステップS104の処理において、処理部14はさらに、仮想オブジェクトを表す三次元CGデータと紐づく形で記憶部12に保存されている、仮想空間内におけるその仮想オブジェクトの配置位置に関する情報に従い、三次元CGで表される仮想オブジェクトを仮想空間内の当該配置位置に配置する。
In the processing of step S104, the processing unit 14 places in the virtual space a three-dimensional real space model associated with the two-dimensional live-action image data pasted onto the virtual surface. At this time, the three-dimensional real space model generated based on the real space reference coordinate system Cr is converted into the virtual space coordinate system Cv that constitutes the virtual space, and the three-dimensional real space model is reproduced in actual size in the virtual space. In the processing of step S104, the processing unit 14 further places the virtual object represented by the three-dimensional CG at the relevant position in the virtual space, according to information regarding the position of the virtual object in the virtual space that is stored in the storage unit 12 in a form linked to the three-dimensional CG data representing the virtual object.
図7は、図5に示したフローチャートにおけるステップS104の処理により、仮想空間内に三次元実空間モデルが実サイズで再現された状態を概念的に示している。ステップS104の処理により、仮想空間内に図7に示すように三次元実空間モデルMdlが再現される。図7には、仮想空間内に配置された仮想オブジェクト(例えば図7における象の三次元CG)も示されている。この例では、仮想オブジェクト(象)は、後述する遮蔽領域特定用観察位置OPから見て図7中の三次元実空間モデルMdlで表現される特定の建造物の背後の配置位置に配置されている。
FIG. 7 conceptually illustrates a state in which a three-dimensional real space model is reproduced in actual size within a virtual space by the processing of step S104 in the flowchart shown in FIG. 5. By the processing of step S104, a three-dimensional real space model Mdl is reproduced within the virtual space as shown in FIG. 7. FIG. 7 also illustrates a virtual object (e.g., the three-dimensional CG of an elephant in FIG. 7) placed within the virtual space. In this example, the virtual object (elephant) is placed at a position behind a specific building represented by the three-dimensional real space model Mdl in FIG. 7 when viewed from an observation position OP for identifying occluded areas, which will be described later.
処理部14は次に、仮想空間内において、二次元実写画像に含まれる現実オブジェクトと、現実オブジェクトに対応する三次元実空間モデルとが一致するように見える遮蔽領域特定用観察位置OPを特定する(ステップS105)。
The processing unit 14 then identifies an observation position OP for identifying an occluded area in the virtual space where a real object included in the two-dimensional real-life image appears to match a three-dimensional real-space model corresponding to the real object (step S105).
ある特定の観察点を仮想空間上に配置したとき、その点から仮想面Sを見たときに見える実写の建造物における特徴的な部分(例えばビルの外形における角の部分)が、同じ観察点から同じ方向へ三次元実空間モデルを見たときに前記の特徴的な部分と対応する三次元実空間モデル上の特徴的な部分が、概ね一致して見えるような観察点を仮想空間上にて探索する。例えば、図8においては或る観察点OPから仮想面Sをみたときに仮想面S上で矩形に見える実写建造物(Obj)の各頂点が、同じ観察点OPから先と同じ方向に向いて三次元実空間モデルMdlを見たときに観察されるMdlの各頂点と概ね一致している。このときの観察位置OPを遮蔽領域特定用観察位置OPとして定義する。遮蔽領域特定用観察位置OPを定めるためには、仮想空間上においてOPの候補となる観察点の位置(X,Y,Z座標上で定義される)に加え、仮想面Sにおける二次元実写画像のテクスチャが貼られる位置の回転角(Y軸を中心としての回転角Yaw)を変化させ、試行錯誤する必要がある。この試行錯誤は、先に記した特徴点の概ねの一致を目指して、オペレータが画像生成装置10を操作して各種パラメータ(OP候補となる観察点のX,Y,Z座標やテクスチャの貼られる回転角Yaw)を変更することによっても行えるが、二次元実写画像を撮影したときに取得した位置情報(VPS、GPS等)などを参考にしながら、処理部14により特定のアルゴリズム(特徴点のマッチングアルゴリズム等)やAIを用いて自動化させても良い。
When a certain observation point is placed in virtual space, an observation point is searched for in the virtual space such that a characteristic part of a real-life building (for example, a corner of a building's exterior) seen when the virtual surface S is viewed from that point generally matches a characteristic part on the three-dimensional real-space model that corresponds to the characteristic part when the three-dimensional real-space model is viewed from the same observation point in the same direction. For example, in FIG. 8, when the virtual surface S is viewed from a certain observation point OP, each vertex of the real-life building (Obj) that appears as a rectangle on the virtual surface S generally matches each vertex of Mdl observed when the three-dimensional real-space model Mdl is viewed from the same observation point OP in the same direction. The observation position OP at this time is defined as the observation position OP for identifying the occluded area. In order to determine the observation position OP for identifying the occluded area, in addition to the position of the observation point (defined on the X, Y, Z coordinates) that is a candidate for OP in the virtual space, it is necessary to change the rotation angle (rotation angle Yaw around the Y axis) of the position on the virtual surface S where the texture of the two-dimensional real-life image is applied, and to carry out trial and error. This trial and error can be performed by an operator operating the image generating device 10 to change various parameters (X, Y, Z coordinates of the observation points that are OP candidates and the rotation angle Yaw at which the texture is applied) with the aim of achieving a rough match of the feature points described above, but it can also be automated by the processing unit 14 using a specific algorithm (such as a feature point matching algorithm) or AI, while referring to position information (VPS, GPS, etc.) acquired when the 2D actual image was captured.
一例としてVPS(Visual Positioning System)を用いてS105における前述の処理を自動化させる方法について述べる。本方法では、実空間で撮影された実写画像に基づいて、その画像が撮像された位置および方向を特定する。そのために、事前に、撮像された位置および方向が特定されている多くの画像をもとに、それらの画像に現れている建物などの物体の輪郭などの視覚的特徴を抽出し、視覚的特徴を検索可能なインデックスとして位置および方向の情報とともに蓄積したデータベースを用意しておく。そして実写画像が入力されると、取得された画像から視覚的特徴を抽出し、抽出した視覚的特徴とデータベースに蓄積されている視覚的特徴とを比較することにより、画像が撮像された位置および方向を特定する。この特定された位置を遮蔽領域特定用観察位置OPとして特定する。もし、若干のずれや誤差が生じている場合は、それと同時に画像から特定された方向へ観察位置OPから観察視点を向けたときに、視野上の三次元実空間モデルと、その背後に存在する仮想面Sにテクスチャとして貼り付けられた二次元実写画像とで前述の通りに特徴点をさらに比較する。特徴点が概ね一致するように仮想面Sにおける二次元実写画像のテクスチャが貼られる位置の回転角(Y軸を中心としての回転角Yaw)を変化させたり、観察位置OPの位置座標を微調整しながら特徴点の一致度をスコアリングしその評価が一番高い観察位置OPの位置座標と回転角Yawを探索するようなマッチング処理を行う。このようにVPSを使うことで前述の作業を自動化してもよい。なお、ここでVPSへの入力画像として360度画像を用いる場合は画像全体を用いてもよいし、画像の一部を切りだして用いてもよい。また、このようにして最初の遮蔽領域特定用観察位置OPを特定した後は、二次元実写画像を撮影した際に移動した経路にそって、対応する観察位置OPを移動させながら撮像フレームごとの遮蔽領域特定用観察位置OPを決定してもよいし、そのような方法で決定した遮蔽領域特定用観察位置OPをもとに上記方法により微調整してもよい。
As an example, a method for automating the above-mentioned process in S105 using a Visual Positioning System (VPS) will be described. In this method, the position and direction at which the image was captured are identified based on a real-life image captured in real space. For this purpose, a database is prepared in which visual features such as the outlines of objects such as buildings that appear in many images whose captured positions and directions have been identified in advance are extracted and the visual features are stored as searchable indexes together with information on position and direction. When a real-life image is input, visual features are extracted from the acquired image, and the extracted visual features are compared with the visual features stored in the database to identify the position and direction at which the image was captured. This identified position is identified as an observation position OP for identifying the occluded area. If there is a slight deviation or error, when the observation viewpoint is directed from the observation position OP toward the direction identified from the image, the feature points are further compared as described above between the three-dimensional real-space model in the field of view and the two-dimensional real-life image pasted as a texture on the virtual surface S that exists behind it. A matching process is performed in which the rotation angle (rotation angle Yaw around the Y axis) of the position on the virtual surface S where the texture of the two-dimensional real-life image is applied is changed so that the feature points generally match, and the degree of match of the feature points is scored while finely adjusting the position coordinates of the observation position OP, and the position coordinates and rotation angle Yaw of the observation position OP with the highest evaluation are searched for. In this way, the above-mentioned work may be automated by using the VPS. In addition, when a 360-degree image is used as an input image to the VPS, the entire image may be used, or a part of the image may be cut out and used. In addition, after the first observation position OP for identifying a blocked area is identified in this way, the corresponding observation position OP may be moved along the path traveled when the two-dimensional real-life image was captured, while determining the observation position OP for identifying a blocked area for each captured frame, or fine adjustment may be made by the above method based on the observation position OP for identifying a blocked area determined in this way.
ステップS105の処理において、別の方法の例を述べる。例えば、処理部14は最初に、仮想空間の仮想面Sに貼り付けられた二次元実写画像について特徴量探索を実行してもよい。特徴量探索では、二次元実写画像内から現実オブジェクトを検出する。本実施形態において、二次元実写画像内の現実オブジェクトが例えばビルディング等の建物である場合には、建物の壁の外形線や、それらの外形線同士が交差する点等が特徴部位として考慮され得る。二次元実写画像内で現実オブジェクトを検出する処理には、任意の既知の画像認識技術を用いてもよい。また、深層学習や機械学習により訓練された画像から現実オブジェクトを直接認識する学習器(学習済み人工知能プログラム)を用いて現実オブジェクトを認識する手法を用いてもよい。
Another example of the method for processing step S105 will be described. For example, the processing unit 14 may first perform feature search on the two-dimensional real-life image pasted on the virtual surface S of the virtual space. In the feature search, a real object is detected from within the two-dimensional real-life image. In this embodiment, if the real object in the two-dimensional real-life image is, for example, a building, the outline of the building's walls and the points where these outlines intersect with each other may be considered as feature parts. Any known image recognition technology may be used for the process of detecting a real object in the two-dimensional real-life image. In addition, a method of recognizing a real object may be used that uses a learner (trained artificial intelligence program) that directly recognizes a real object from an image trained by deep learning or machine learning.
次に、処理部14は、仮想空間の仮想面Sに貼り付けられた二次元実写画像内の現実オブジェクトと、仮想空間上の或る観察点から三次元実空間モデルを見たときに仮想面Sに投影される当該三次元実空間モデルとのマッチング処理を実行してもよい。このマッチング処理は、観察点より仮想面Sに向かって三次元実空間モデルを透視投影することで得られた二次元画像における特徴量と、仮想面S上の二次元実写画像内の現実オブジェクトの特徴量とを比較し、仮想空間内の或る観察点から見たときに、仮想面S上の二次元実写画像内の現実オブジェクトと、それに対応する三次元実空間モデルとが仮想面S上で概ね重なって見える位置を遮蔽領域特定用観察位置OPとして特定する処理である。
Then, the processing unit 14 may execute a matching process between a real object in the two-dimensional real-action image pasted onto the virtual surface S in the virtual space and a three-dimensional real-space model projected onto the virtual surface S when the three-dimensional real-space model is viewed from a certain observation point in the virtual space. This matching process compares the feature amount in the two-dimensional image obtained by perspectively projecting the three-dimensional real-space model from the observation point onto the virtual surface S with the feature amount of the real object in the two-dimensional real-action image on the virtual surface S, and identifies, as an observation position OP for identifying an occluded area, a position on the virtual surface S where the real object in the two-dimensional real-action image on the virtual surface S and the corresponding three-dimensional real-space model appear to roughly overlap when viewed from a certain observation point in the virtual space.
処理部14は、上記に述べた2種類の方法のいずれかもしくは両方による特徴量探索処理やマッチング処理を、仮想空間内の複数の観察位置OPの候補を見出すために複数回実行しても良い。そして、処理部14は、二次元実写画像に含まれる現実オブジェクトに関する特徴量と、前記三次元実空間モデルに関する特徴量とに基づき評価を行い、マッチングスコアが高い観察点を遮蔽領域特定用観察位置として特定しても良い。以上の処理により、仮想空間内において、二次元実写画像に含まれる現実オブジェクトと、現実オブジェクトに対応する三次元実空間モデルとが概ね一致するように見える遮蔽領域特定用観察位置OPが特定される。
The processing unit 14 may execute the feature search process and matching process using either or both of the two methods described above multiple times to find multiple candidate observation positions OP in the virtual space. The processing unit 14 may then perform an evaluation based on the feature values related to the real object included in the two-dimensional live-action image and the feature values related to the three-dimensional real space model, and identify an observation point with a high matching score as an observation position for identifying an occluded area. Through the above processing, an observation position OP for identifying an occluded area is identified in the virtual space at which the real object included in the two-dimensional live-action image appears to roughly match the three-dimensional real space model corresponding to the real object.
図8は、図5に示したフローチャートにおけるステップS105の処理により、二次元実写画像に含まれる現実オブジェクトと、現実オブジェクトに対応する三次元実空間モデルとが一致するように見える遮蔽領域特定用観察位置OPが特定された状態を概念的に示す図である。ステップS105の処理により、二次元実写画像に含まれる現実オブジェクトObj(本例ではビル)と、その現実オブジェクトObjに対応するビルの三次元実空間モデルMdlとが一致するように見える遮蔽領域特定用観察位置OPが特定されている。
FIG. 8 is a conceptual diagram showing a state in which an observation position OP for identifying an occluded area is identified, where a real object included in a two-dimensional live-action image appears to match a three-dimensional real space model corresponding to the real object, by the processing of step S105 in the flowchart shown in FIG. 5. The processing of step S105 identifies an observation position OP for identifying an occluded area, where a real object Obj (a building in this example) included in a two-dimensional live-action image appears to match a three-dimensional real space model Mdl of the building corresponding to the real object Obj.
処理部14は次に、仮想空間における遮蔽領域特定用観察位置から見たときに、仮想空間内に配置される仮想オブジェクトのうち三次元実空間モデルによって遮蔽される遮蔽領域を特定する(ステップS106)。
The processing unit 14 then identifies an occluded area of the virtual object placed in the virtual space that is occluded by the three-dimensional real space model when viewed from an observation position for identifying an occluded area in the virtual space (step S106).
ステップS106の処理の一例として、処理部14は、遮蔽領域特定用観察位置OPから三次元実空間モデルを見たときに仮想オブジェクトObjに投影される当該三次元実空間モデルの外形形状を検出する。この三次元実空間モデルの外形形状は、概念としては、遮蔽領域特定用観察位置OPから三次元実空間モデルのみに光を投射したときに仮想オブジェクトObjに現れる影(シルエット)である。処理部14は、仮想オブジェクトObj上に投影された三次元実空間モデルの外形形状が仮想オブジェクトObjを貫通した体積部分を全て含む領域を、仮想空間における遮蔽領域特定用観察位置OPから見たときに仮想オブジェクトObjのうち三次元実空間モデルによって遮蔽される遮蔽領域として特定する。
As an example of the processing of step S106, the processing unit 14 detects the outer shape of the three-dimensional real space model projected onto the virtual object Obj when the three-dimensional real space model is viewed from the observation position OP for identifying the occluded area. The outer shape of this three-dimensional real space model is conceptually a shadow (silhouette) that appears on the virtual object Obj when light is projected only onto the three-dimensional real space model from the observation position OP for identifying the occluded area. The processing unit 14 identifies an area that includes all of the volumetric parts of the outer shape of the three-dimensional real space model projected onto the virtual object Obj that penetrate the virtual object Obj as an occluded area of the virtual object Obj that is occluded by the three-dimensional real space model when viewed from the observation position OP for identifying the occluded area in the virtual space.
図9は、図5に示したフローチャートにおけるステップS106の処理により特定された仮想オブジェクトObjの遮蔽領域Oclの一例を示す概念図である。図9を参照すると、遮蔽領域特定用観察位置OPから三次元実空間モデルMdlに光を投射したときに仮想オブジェクトObj上に仮想オブジェクトObjを貫通した体積部分として観念される遮蔽領域Oclを示す。
FIG. 9 is a conceptual diagram showing an example of the occlusion area Ocl of the virtual object Obj identified by the processing of step S106 in the flowchart shown in FIG. 5. Referring to FIG. 9, the occlusion area Ocl is shown, which is conceived as a volume portion that penetrates the virtual object Obj on the virtual object Obj when light is projected from the observation position OP for identifying the occlusion area onto the three-dimensional real space model Mdl.
処理部14は次に、仮想オブジェクトに対し遮蔽領域に応じた部分を透明化(もしくは削除、削った状態、見えなくした状態を含む)する(ステップS107)。これにより、遮蔽領域特定用観察位置OPから見たときに仮想オブジェクト(三次元CG)は、遮蔽領域部分が切り取られたような形でその奥の仮想面の実写画像と重なって見える。
The processing unit 14 then makes the portion of the virtual object that corresponds to the occluded area transparent (or deletes, erases, or makes it invisible) (step S107). As a result, when viewed from the observation position OP for identifying the occluded area, the virtual object (three-dimensional CG) appears to overlap with the actual image of the virtual surface behind it, with the occluded area portion cut out.
なお、上述したように、仮想オブジェクトの仮想空間内における位置情報が三次元形状のデータに紐づく形で記憶部12に存在するので、処理部14は、仮想空間内の仮想オブジェクトの位置と、三次元実空間モデルの配置位置との関係のもと、当該仮想オブジェクトの一部又は全部のうち、当該三次元実空間モデルよりも手前側(遮蔽領域特定用観察位置OPに近い方の側)に位置する部分は、透明化せずに残る。
As described above, the position information of the virtual object in the virtual space exists in the memory unit 12 in a form linked to the data of the three-dimensional shape, so the processing unit 14, based on the relationship between the position of the virtual object in the virtual space and the arrangement position of the three-dimensional real space model, leaves the part of the virtual object, or the whole of the virtual object, that is located on the closer side to the three-dimensional real space model (the side closer to the observation position OP for identifying the occluded area) without making it transparent.
処理部14は次に、仮想空間上の三次元オブジェクトをユーザ2の視点位置2Aと表示装置の位置と形状の情報に応じてディスプレイ装置30に表示する表示画像を生成する処理を行う(ステップS108)。より具体的には、処理部14は、測定装置20のセンサ22によって撮像された画像(深度画像等)に基づいて基準座標系におけるユーザ2の視点位置2Aを算出し、その視点位置2Aからディスプレイ装置30を介して仮想空間を見たときの見え方を疑似する表示画像を生成する。本実施形態のようにディスプレイ装置30が複数のディスプレイ装置30A~30Dによって構成されている場合には、処理部14は各々のディスプレイ装置30A~30Dに表示する表示画像を生成する。
The processing unit 14 then performs processing to generate a display image for displaying a three-dimensional object in the virtual space on the display device 30 according to the viewpoint position 2A of the user 2 and the information on the position and shape of the display device (step S108). More specifically, the processing unit 14 calculates the viewpoint position 2A of the user 2 in the reference coordinate system based on an image (depth image, etc.) captured by the sensor 22 of the measurement device 20, and generates a display image that simulates how the virtual space appears when viewed through the display device 30 from the viewpoint position 2A. When the display device 30 is composed of multiple display devices 30A-30D as in this embodiment, the processing unit 14 generates a display image to be displayed on each of the display devices 30A-30D.
一例として、処理部14は、例えば仮想空間に存在する遮蔽領域を透明化した仮想オブジェクトと二次元実写画像をテクスチャとして貼り付けた仮想面Sをディスプレイ装置30の画面にユーザ2の視点位置2Aをもとに射影変換、透視投影変換、あるいはそれに類する計算処理をすることにより、ユーザ2の視点位置2Aからディスプレイ装置30の画面を通して見える表示画像を正確に生成することが可能である。このような射影変換などの計算処理により、仮想空間上の仮想オブジェクトがディスプレイ装置30の画面に対してユーザの視点位置2Aを考慮して幾何学的に正確に投影されるので、ユーザ2がディスプレイ装置30の画面に対し斜め方向から覗き込むように見た場合であっても、二次元実写画像内の現実オブジェクト(例えば、ビル等の建物)及び三次元CG(例えば、仮想オブジェクトとしての象)がその視点位置2Aから見たような確からしい自然な画像としてディスプレイ装置30に提示する表示画像が生成される。ここで行われる処理は射影変換のみに限定されない。透視投影変換の方法でもよいし、経験則に従った特定の行列や数値の四則演算処理を用いてもよい。
As an example, the processing unit 14 can accurately generate a display image that can be seen through the screen of the display device 30 from the viewpoint position 2A of the user 2 by performing projective transformation, perspective projection transformation, or similar calculation processing on the screen of the display device 30 based on the viewpoint position 2A of the user 2, for example, of a virtual object in which an obstructed area existing in the virtual space has been made transparent and a virtual surface S on which a two-dimensional real-life image has been attached as a texture. By such calculation processing such as projective transformation, the virtual object in the virtual space is geometrically accurately projected onto the screen of the display device 30 taking into account the viewpoint position 2A of the user. Therefore, even if the user 2 looks into the screen of the display device 30 from an oblique direction, a display image is generated that is presented on the display device 30 as a realistic and natural image of a real object (e.g., a building or other structure) in the two-dimensional real-life image and a three-dimensional CG (e.g., an elephant as a virtual object) as if seen from the viewpoint position 2A. The processing performed here is not limited to projective transformation only. A perspective projection transformation method may be used, or a specific matrix or numerical arithmetic operation according to empirical rules may be used.
ここまでに述べた方法により、オクルージョンの処理はある程度の正確性をもって実現される。一方で、これら上述の方法と比較し多少正確性を失うことを許容する代わりに処理を単純化し、処理負荷を軽減する簡易法も考えられる。一例として図5で示したフローチャートのうち、遮蔽領域を仮想オブジェクト上に特定し実装するS106、S107の処理をスキップし、S108にて遮蔽処理も含める形で同時に表示画像を生成する処理を行う方法もある。上述の方法では、図5のS108においては、S106、S107のステップで事前に遮蔽処理を施した仮想オブジェクトに対し、上記計算処理によりディスプレイ装置30に提示する表示画像を生成している。しかしながら本変法においては、こうした事前の遮蔽処理を行わない。S108において、ユーザ視点位置2Aを起点とし、ディスプレイ装置30を介して見える仮想空間上の全ての3次元オブジェクトをそのまま射影変換を含む前述の計算処理によって表示画面に合わせて2次元変換する。この際に、三次元実空間モデルをオクルージョン用のオブジェクト(遮蔽物)として扱うことで、仮想オブジェクトにおいて視点位置2Aからみて、前記三次元実空間モデルに隠れて見えない部分(あるいは全体)を全て遮蔽処理(透明化)する。そのさらに奥に存在する仮想面についてはこの遮蔽処理(透明化)を行わないため、前記の通り遮蔽処理された部分の奥にある仮想面の二次元実写映像がユーザ視点位置2Aから見えることになる。この方法においては、もし仮に遮蔽領域特定用観察位置と、ユーザ視点位置2Aが一致している場合は、違和感なく正確なオクルージョンが実現される。しかしながら通常のユースケースにおいてはこれら2つの位置は一致しないため、オクルージョン処理に誤差が生ずる。すなわち、実写映像と仮想映像の重畳においてずれが発生する。このずれは遮蔽領域特定用観察位置とユーザ視点位置2Aの空間上の位置が離れるほど大きくなるが、とはいえ、ユースケースによってはこのずれはさほど問題にならない。実際にこうしたオクルージョンを行った映像を作成する際において、たとえば乗用車の前面ガラス部位にカメラを設置して実写映像を撮影した場合は、そのカメラ位置(観察位置)とユーザ視点位置(運転席における運転者の視点位置)に1m程度のずれしかなく、乗用車とその外部の現実オブジェクトの距離(多くの場合は数mから数十m以上)と比べて十分に小さいことから、重畳のずれが気にならない場合が多い。よってこの方法論も、本目的の達成においては必要十分である場合が多い。
The above-mentioned methods realize occlusion processing with a certain degree of accuracy. On the other hand, a simple method can be considered that simplifies the processing and reduces the processing load by accepting a loss of accuracy compared to the above-mentioned methods. As an example, in the flowchart shown in FIG. 5, the processing of S106 and S107 for identifying and implementing the occlusion area on the virtual object can be skipped, and a display image is generated simultaneously in S108, including the occlusion processing. In the above-mentioned method, in S108 of FIG. 5, the display image to be presented on the display device 30 is generated by the above-mentioned calculation processing for the virtual object that has been subjected to the occlusion processing in advance in steps S106 and S107. However, in this modified method, such a prior occlusion processing is not performed. In S108, starting from the user's viewpoint position 2A, all three-dimensional objects in the virtual space visible through the display device 30 are converted to two dimensions according to the display screen by the above-mentioned calculation processing including projective transformation. At this time, by treating the three-dimensional real space model as an object for occlusion (shielding object), all of the parts (or the whole) of the virtual object that are hidden by the three-dimensional real space model and cannot be seen from the viewpoint position 2A are occluded (made transparent). Since the occlusion process (transparency) is not performed on the virtual surface that exists further back, the two-dimensional real-life image of the virtual surface that is behind the occluded part as described above is visible from the user viewpoint position 2A. In this method, if the observation position for identifying the occluded area and the user viewpoint position 2A coincide, accurate occlusion is realized without any sense of incongruity. However, in a normal use case, these two positions do not coincide, so an error occurs in the occlusion process. That is, a deviation occurs in the superimposition of the real-life image and the virtual image. This deviation becomes larger as the spatial positions of the observation position for identifying the occluded area and the user viewpoint position 2A become farther apart, but depending on the use case, this deviation does not become a big problem. When actually creating an image with this kind of occlusion, for example, if a camera is installed on the windshield of a passenger car to capture real-life footage, there is only a deviation of about 1m between the camera position (observation position) and the user's viewpoint position (the viewpoint position of the driver in the driver's seat), which is sufficiently small compared to the distance between the passenger car and the real objects outside it (in many cases, several meters to several tens of meters or more), so the deviation in the superimposition is often not noticeable. Therefore, this methodology is often necessary and sufficient to achieve this purpose.
処理部14は、このように生成した表示画像の信号をグラフィックス生成装置10の表示出力部16を介してディスプレイ装置30に送信し、ディスプレイ装置30に表示画像を表示させる(ステップS109)。図10は、図5に示したフローチャートにおけるステップS109においてディスプレイ装置30に表示される表示画像の一例を示す図である。図10に示すように、本例では、カメラを搭載した車両が実空間内のある経路上を移動している間に車両の周囲の実空間をカメラで撮像して取得された二次元実写画像の上に、三次元CGで表示される仮想オブジェクト(本例では象の3DCG)が重畳された画像が各ディスプレイ装置30A~30Dに跨って表示される。図10に示した例では、二次元実空間の現実オブジェクト(ビル)の外形と一致する遮蔽領域に重なる仮想オブジェクト(象)のうち、二次元実空間の現実オブジェクトの画面手前側に位置する仮想オブジェクト(象)の前脚部分は遮蔽されず、その他の部分(右耳の一部、胴体後部及び後脚)が遮蔽領域によって遮蔽された状態で示されている。
The processing unit 14 transmits the signal of the display image thus generated to the display device 30 via the display output unit 16 of the graphics generating device 10, and causes the display device 30 to display the display image (step S109). FIG. 10 is a diagram showing an example of a display image displayed on the display device 30 in step S109 in the flowchart shown in FIG. 5. As shown in FIG. 10, in this example, a vehicle equipped with a camera moves along a certain route in real space, and a two-dimensional real-image image obtained by capturing an image of the real space around the vehicle with the camera is superimposed on the two-dimensional real-image image, and the image is displayed across the display devices 30A to 30D. In the example shown in FIG. 10, of the virtual object (elephant) that overlaps with the occlusion area that coincides with the outline of the real object (building) in the two-dimensional real space, the front leg part of the virtual object (elephant) located on the front side of the screen of the real object in the two-dimensional real space is not occluded, and the other parts (part of the right ear, the rear part of the torso, and the hind leg) are shown in a state of being occluded by the occlusion area.
図5Aは、図5に示したフローチャートとは一部の処理が異なる別例のフローチャートである。図5Aに示すフローチャートの各処理は図5と同様に処理部14により実行される。また、グラフィックス生成装置10により生成する画像が時系列的に連続する複数のフレーム画像からなる動画像の場合、その動画像のフレームごとに計算しても良い点も含め基本的には図5と同じである。以下に図5と異なる内容のステップである図5AのS106A、S107A、S108Aについてのみ述べる。
FIG. 5A is a flowchart of another example in which some of the processing is different from that of the flowchart shown in FIG. 5. Each process of the flowchart shown in FIG. 5A is executed by the processing unit 14 in the same way as in FIG. 5. Also, when the image generated by the graphics generating device 10 is a moving image consisting of multiple frame images that are successive in time series, it is basically the same as FIG. 5, including the fact that calculations may be performed for each frame of the moving image. Below, only steps S106A, S107A, and S108A in FIG. 5A, which are different from FIG. 5, will be described.
ステップS106Aにおいて行われる処理として、仮想空間内に配置される実空間三次元モデルを遮蔽領域特定用観察位置OPを起点に仮想面Sに透視投影処理したときの仮想面S上の実空間三次元モデルの外形形状を遮蔽領域として特定する処理を示す。処理部14は、遮蔽領域特定用観察位置OPから三次元実空間モデルを見たときに仮想面Sに透視投影される当該三次元実空間モデルの外形形状を検出する。この三次元実空間モデルの外形形状は、概念としては、遮蔽領域特定用観察位置OPから三次元実空間モデルに光を投射したときに仮想面S上に現れる影(シルエット)である。処理部14は、仮想面S上に透視投影された三次元実空間モデルの外形形状内の領域を、仮想空間における遮蔽領域特定用観察位置OPから見たときに三次元実空間モデルによって遮蔽される遮蔽領域として特定する。
The process performed in step S106A is to identify the outer shape of a real-space three-dimensional model on the virtual surface S as a shading area when the real-space three-dimensional model placed in virtual space is perspectively projected onto the virtual surface S from the observation position OP for identifying a shading area. The processing unit 14 detects the outer shape of the three-dimensional real-space model that is perspectively projected onto the virtual surface S when the three-dimensional real-space model is viewed from the observation position OP for identifying a shading area. The outer shape of this three-dimensional real-space model is conceptually a shadow (silhouette) that appears on the virtual surface S when light is projected onto the three-dimensional real-space model from the observation position OP for identifying a shading area. The processing unit 14 identifies the area within the outer shape of the three-dimensional real-space model perspectively projected onto the virtual surface S as a shading area that is shading by the three-dimensional real-space model when viewed from the observation position OP for identifying a shading area in the virtual space.
図9Aは、図5Aに示したフローチャートにおけるステップS106Aの処理により特定された仮想面S上の遮蔽領域Oclの一例を示す概念図である。図9Aを参照すると、遮蔽領域特定用観察位置OPから三次元実空間モデルMdlに光を投射したときに仮想面S上に現れる影として遮蔽領域Oclは観念される。
FIG. 9A is a conceptual diagram showing an example of an occlusion area Ocl on the virtual surface S identified by the processing of step S106A in the flowchart shown in FIG. 5A. Referring to FIG. 9A, the occlusion area Ocl is conceived as a shadow that appears on the virtual surface S when light is projected from the observation position OP for identifying the occlusion area onto the three-dimensional real space model Mdl.
ステップS107Aでは、処理部14は次に、仮想オブジェクト(三次元CG画像)を仮想面Sに透視投影する形で三次元―二次元変換を行い、その際に変換後の仮想オブジェクト(二次元CG画像)の遮蔽領域に応じた部分を透明化(もしくは削除、削った状態、見えなくした状態を含む)し重ね合わせた重仮想面を生成する。
In step S107A, the processing unit 14 then performs a 3D-to-2D conversion by perspectively projecting the virtual object (3D CG image) onto the virtual surface S, and generates an overlapping virtual surface by making transparent (or deleting, scraping, or making invisible) the portion of the virtual object (2D CG image) after the conversion that corresponds to the occluded area.
ステップS107Aにおいて、処理部14は、遮蔽領域特定用観察位置OPから仮想オブジェクトを見たときに、それよりも前(OP側)に三次元実空間モデルの一部又は全部が存在するときに、仮想オブジェクトを一旦仮想面Sに透視投影を行い仮想面S上に重ね合わせたうえで、上記ステップS106Aの処理において特定された遮蔽される領域を透明化(もしくは削除、削った状態、見えなくした状態を含む)する処理を行う。より明確に言えば、仮想空間における領域特定用観察位置OPから仮想オブジェクトまでの距離が観察位置OPから三次元実空間モデルまでの距離よりも遠い場合に、三次元実空間モデルによって遮蔽される遮蔽領域に応じた部分を遮蔽した仮想オブジェクトを仮想面Sに透視投影する形で三次元―二次元変換を行い重ね合わせた重仮想面を生成する。これにより、遮蔽領域特定用観察位置OPから見たときに仮想オブジェクトは、遮蔽領域部分が切り取られたような形でその奥の仮想面の実写画像と重なって見える。つまり、遮蔽領域と重なる部分が消えた仮想オブジェクトを含む、遮蔽領域特定用観察位置OPから観測される仮想世界の全ての仮想オブジェクトを仮想面に透視投影してできた1つの重仮想面が生成される。ここで重仮想面には、仮想オブジェクトが仮想面に透視投影される形で、もともと仮想面にテクスチャとして貼られていた二次元実写映像の上に重ねられている。よって、このようにしてできた重仮想面は、仮想空間上でテクスチャが多層に貼り付けられた状態の3次元のオブジェクトとして存在する。
In step S107A, when the virtual object is viewed from the observation position OP for identifying the occluded area, if a part or all of the three-dimensional real space model exists in front of it (on the OP side), the processing unit 14 first performs a perspective projection of the virtual object onto the virtual surface S and superimposes it on the virtual surface S, and then performs a process of making the occluded area identified in the processing of step S106A transparent (including deleting, erasing, or making it invisible). More specifically, when the distance from the observation position OP for identifying the area in the virtual space to the virtual object is greater than the distance from the observation position OP to the three-dimensional real space model, a virtual object that occludes a part corresponding to the occluded area occluded by the three-dimensional real space model is perspectively projected onto the virtual surface S, and a superimposed overlapping virtual surface is generated. As a result, when viewed from the observation position OP for identifying the occluded area, the virtual object appears to overlap with the actual image of the virtual surface behind it, as if the occluded area portion had been cut out. In other words, a single overlapping virtual surface is generated by perspectively projecting onto a virtual surface all virtual objects in the virtual world observed from the observation position OP for identifying an occluded area, including virtual objects whose portions overlapping with the occluded area have disappeared. Here, the overlapping virtual surface is overlaid on the two-dimensional live-action image that was originally applied as texture to the virtual surface, with the virtual objects being perspectively projected onto the virtual surface. Therefore, the overlapping virtual surface created in this way exists as a three-dimensional object with textures applied in multiple layers in the virtual space.
なお、上述したように、三次元CGの仮想オブジェクトの仮想空間内における位置に関する情報が当該三次元CG画像のデータに紐づく形で記憶部12に存在するので、処理部14は、その位置情報に基づいて、仮想空間内における仮想オブジェクトの位置と、上記遮蔽領域を成す三次元実空間モデルの位置との関係を考慮し、当該仮想オブジェクトの一部又は全部のうち、当該三次元実空間モデルよりも手前側(遮蔽領域特定用観察位置OPに近い方の側)に位置する部分は、遮蔽領域であっても透明化せずに残す処理を行うことが可能である。
As described above, information regarding the position of a 3D CG virtual object in virtual space is stored in the memory unit 12 in a form linked to the data of the 3D CG image. Based on this position information, the processing unit 14 takes into consideration the relationship between the position of the virtual object in virtual space and the position of the 3D real space model that forms the occlusion area, and can perform processing to leave a part or all of the virtual object that is located in front of the 3D real space model (the side closer to the observation position OP for identifying the occlusion area) without making it transparent, even if it is an occlusion area.
ステップS108Aにおいて、処理部14は次に、重仮想面が仮想空間に存在する前提で、その三次元オブジェクトをユーザ2の視点位置2Aと表示装置の位置及び形状に応じてディスプレイ装置30に表示する表示画像を生成する処理を行う。
In step S108A, the processing unit 14 then performs processing to generate a display image for displaying the three-dimensional object on the display device 30 according to the viewpoint position 2A of the user 2 and the position and shape of the display device, on the assumption that the overlapping virtual surface exists in the virtual space.
ステップS108Aにおいて、処理部14は、仮想空間に存在する上記ステップS107Aにより生成された重仮想面に対して、ディスプレイ装置30を通してユーザ2の視点位置2Aから見える画像を生成する。より具体的には、処理部14は、測定装置20のセンサ22によって撮像された画像(深度画像等)に基づいて基準座標系におけるユーザ2の視点位置2Aを算出し、その視点位置2Aからディスプレイ装置30を介して仮想空間を見たときの見え方を疑似する表示画像を生成する。本実施形態のようにディスプレイ装置30が複数のディスプレイ装置30A~30Dによって構成されている場合には、処理部14は各々のディスプレイ装置30A~30Dに表示する表示画像を生成する。
In step S108A, the processing unit 14 generates an image that can be seen from the viewpoint position 2A of the user 2 through the display device 30 for the overlapping virtual surface generated in step S107A that exists in the virtual space. More specifically, the processing unit 14 calculates the viewpoint position 2A of the user 2 in the reference coordinate system based on an image (depth image, etc.) captured by the sensor 22 of the measurement device 20, and generates a display image that simulates how the virtual space appears when viewed from the viewpoint position 2A through the display device 30. When the display device 30 is composed of multiple display devices 30A to 30D as in this embodiment, the processing unit 14 generates a display image to be displayed on each of the display devices 30A to 30D.
一例として、処理部14は、例えば重仮想面(二次元実写画像及びそれに重ね合わせる形で存在している二次元化した仮想オブジェクト(元三次元CG)がテクスチャとして貼り付けられた状態)をディスプレイ装置30の画面にユーザ2の視点位置2Aをもとに射影変換することにより、ユーザ2の視点位置2Aからディスプレイ装置30の画面を通して見える表示画像を生成することが可能である。このような射影変換により、重仮想面がディスプレイ装置30の画面に対してユーザの視点位置2Aを考慮して数学的に相関関係を持って投影されるので、ユーザ2がディスプレイ装置30の画面に対し斜め方向から覗き込むように見た場合であっても、二次元実写画像内の現実オブジェクト(例えば、ビル等の建物)及び三次元CG(例えば、仮想オブジェクトとしての象)がその視点位置2Aからその画面を通して見たような確からしい自然な画像としてディスプレイ装置30に提示する表示画像が生成される。ここで行われる処理は射影変換のみに限定されない。透視投影変換の方法でもよいし、経験則に従った特定の行列や数値の四則演算処理を用いてもよい。
As an example, the processing unit 14 can generate a display image that can be seen through the screen of the display device 30 from the viewpoint 2A of the user 2 by performing projective transformation on the screen of the display device 30 of a overlapping virtual surface (a state in which a two-dimensional real-life image and a two-dimensional virtual object (original three-dimensional CG) that exists in a form superimposed on it are pasted as textures) based on the viewpoint 2A of the user 2. By such projective transformation, the overlapping virtual surface is projected onto the screen of the display device 30 in a mathematically correlated manner taking into account the viewpoint 2A of the user, so that even if the user 2 looks into the screen of the display device 30 from an oblique direction, a display image is generated that is presented on the display device 30 as a realistic and natural image of a real object (e.g., a building or other structure) in the two-dimensional real-life image and a three-dimensional CG (e.g., an elephant as a virtual object) as if seen through the screen from the viewpoint 2A. The processing performed here is not limited to projective transformation only. A perspective projection transformation method may be used, or a specific matrix or numerical arithmetic operation according to empirical rules may be used.
ステップS109における処理は、図5の方法と図5Aの方法とで変わらない。
The process in step S109 is the same in the method of FIG. 5 and the method of FIG. 5A.
二次元実写画像が時系列的に連続的に撮像された複数のフレーム画像からなる動画像である場合、例えばその動画像のフレーム毎に処理を行い表示する。このとき、図5や図5Aに示すステップを全て毎フレームごとに行っても良いし、共通処理もしくは初回一回だけの処理とする任意のステップをスキップしても良い。また部分的に各ステップの順番を変更したり、並列で処理しても良い。簡易法として前述した通り特定のステップをスキップしてもよい。
If the two-dimensional real-life image is a moving image made up of multiple frame images captured successively in time series, then for example each frame of the moving image is processed and displayed. In this case, all of the steps shown in FIG. 5 and FIG. 5A may be performed for each frame, or any step that is a common process or a process that is performed only once the first time may be skipped. The order of each step may also be partially changed, or the steps may be processed in parallel. As a simplified method, certain steps may be skipped as described above.
またS104においては、遮蔽領域特定用観察位置OPの位置(X,Y,Z座標上で定義される)と、仮想面Sにおける二次元実写画像のテクスチャが貼られる位置の回転角(Y軸を中心としての回転角Yaw)はどちらも試行錯誤もしくはプログラムによる自動化によって特定していたが、前述するような動画像である場合で、特に撮影カメラのレンズの方向と動画の撮像方向がロックされている状況を前提とした場合は、前記Yawは最初のフレームにおいて確定した後は原則として変更しない形をとってもよい。
In addition, in S104, the position of the observation position OP for identifying the occluded area (defined on the X, Y, Z coordinates) and the rotation angle (rotation angle Yaw around the Y axis) of the position on the virtual surface S where the texture of the two-dimensional real-life image is applied are both determined by trial and error or by automation using a program, but in the case of a moving image as described above, particularly when the direction of the lens of the shooting camera and the shooting direction of the video are locked, the Yaw may in principle not be changed after it has been determined in the first frame.
このように各ステップの処理を動画像のフレーム画像ごとに行うことにより、仮想面の上に三次元CGで表示される仮想オブジェクトが重畳された画像がユーザ2の視点位置2Aの変化に追従して連続的に生成され、二次元実写画像で表現される実空間内(本例では、車両の外の都市部)に三次元CGで表示される仮想オブジェクト(本例では象)が存在するかのような拡張現実的な動画像がディスプレイ装置30を介してユーザ2に提供される。そのため、ディスプレイ装置30上に表示される画像を見たユーザ2には、あたかも表示画面が現実の車窓であるかのように錯覚を生じさせ、さらに表示画面上で現実的な風景に対して三次元CGの仮想オブジェクトが奥行き情報も含めて重畳されて表現されることで、リアル(実空間)とバーチャル(仮想空間)とが混然一体となった同一の世界の中に表現されているように感じさせることができる。
By carrying out the processing of each step for each frame image of the video in this way, images in which a virtual object displayed in 3D CG is superimposed on a virtual surface are continuously generated following changes in the viewpoint position 2A of the user 2, and an augmented reality video is provided to the user 2 via the display device 30, in which the virtual object displayed in 3D CG (in this example, an elephant) is present in a real space (in this example, an urban area outside the vehicle) represented by a two-dimensional live-action image. This creates an illusion for the user 2 who sees the image displayed on the display device 30 as if the display screen were a real car window, and furthermore, the 3D CG virtual object is superimposed on a realistic landscape on the display screen, including depth information, making it feel as if the real (real space) and virtual (virtual space) are being represented in a single world that is amalgamated together.
本実施形態に係るシステム1の一つの適用例として、グラフィックス生成装置10が自動車の車窓から見える景色をユーザ2の視点位置に応じて生成してディスプレイ装置30に表示させるドライブシミュレータの例を示したが、システム1の適用対象はこの例に限られない。例えば、フィットネスバイクを設置した個室の壁面3面に大きくプロジェクションを行って360度カメラで事前に撮影された実写コンテンツを投影している例にも用いることができる。利用者にとっては個室でのフィットネスバイクを用いた運動をしながら、実際に街並みや風景の中で自転車を進ませているかのような体験を感じることができる。ここで用いられる360°動画において、利用者をさらに楽しませるために追加でCGをオクルージョンさせることを考えた場合、ベースとなる360°動画の風景を中心とした単純な二次元のイメージ映像にCGをオクルージョンさせることができる。こうした要求は、様々なエンターテインメントの分野において応用可能であるが、それのみならずエンタメ以外の分野における他の種類の乗物のシミュレータとして、飛行機、船舶、潜水艇、宇宙船等の窓から見える風景に仮想オブジェクトを重畳して表示するシミュレータを構成することもできる。その他にも、例えば、患者の口から消化器内に挿入する内視鏡で撮像した画像に仮想オブジェクトを重畳して表示するようにシステム1を構成することで、あたかも自分が人体内に入り込んで人体内を観察するというような、今までにない世界観のユーザ体験を提供することが可能である。
As an application example of the system 1 according to the present embodiment, a driving simulator in which the graphics generating device 10 generates the scenery seen from the window of a car according to the viewpoint position of the user 2 and displays it on the display device 30 has been shown, but the application of the system 1 is not limited to this example. For example, it can also be used in an example in which live-action content previously captured by a 360-degree camera is projected on three walls of a private room in which a fitness bike is installed. While exercising on the fitness bike in a private room, the user can feel the experience of actually riding the bike through a cityscape or landscape. In the 360-degree video used here, if additional CG is occluded to further entertain the user, the CG can be occluded in a simple two-dimensional image video centered on the scenery of the base 360-degree video. Such a requirement can be applied in various entertainment fields, but it is also possible to configure a simulator that displays virtual objects superimposed on the scenery seen from the window of an airplane, ship, submarine, spaceship, etc. as a simulator of other types of vehicles in fields other than entertainment. In addition, for example, by configuring system 1 to display virtual objects superimposed on images captured by an endoscope inserted into the patient's digestive tract through the mouth, it is possible to provide a user experience with an unprecedented worldview, in which the user feels as if they are inside the human body and observing its interior.
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。また、実施形態の説明において射影変換の具体的な演算式など詳細を明記していない部分があるが、当業者であれば既知の射影変換の演算式を適宜用いて実施形態を実施できることは言うまでもない。
The above-described embodiments of the present invention are illustrative examples for the purpose of explaining the present invention, and are not intended to limit the scope of the present invention to only these embodiments. Those skilled in the art can implement the present invention in various other forms without departing from the gist of the present invention. Furthermore, although the description of the embodiments does not specify details such as specific arithmetic expressions for projective transformation, it goes without saying that those skilled in the art can implement the embodiments by appropriately using known arithmetic expressions for projective transformation.
1…画像表示システム、2…ユーザ、2A…視点位置、3…筐体、4A~4H…仮想オブジェクト、10…グラフィックス生成装置、20…測定装置、30,30A~30D…ディスプレイ装置、S…仮想面
1...image display system, 2...user, 2A...viewpoint position, 3...housing, 4A-4H...virtual object, 10...graphics generation device, 20...measuring device, 30, 30A-30D...display device, S...virtual surface
Claims (22)
- 記憶部と処理部とを有するグラフィックス生成装置であって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記処理部は、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記二次元実写画像を撮像した際の現実世界における撮影位置に対応する前記仮想空間上の観察位置、前記仮想面、前記三次元実空間モデルに基づいて、前記仮想オブジェクトにおいて遮蔽される遮蔽領域を特定することと、
前記遮蔽領域を遮蔽した前記仮想オブジェクトを生成することと、を実行するように構成されている、グラフィックス生成装置。 1. A graphics generation device having a storage unit and a processing unit,
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The processing unit includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
Identifying an occluded area in the virtual object based on an observation position in the virtual space corresponding to a shooting position in the real world when the two-dimensional real-world image is captured, the virtual surface, and the three-dimensional real space model;
generating the virtual object occluding the occlusion region. - 記憶部と処理部とを有するグラフィックス生成装置であって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記処理部は、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記二次元実写画像を撮像した際の現実世界における撮影位置に対応する前記仮想空間上の観察位置から前記仮想オブジェクトまでの距離が前記観察位置から前記三次元実空間モデルまでの距離よりも遠い場合に、前記三次元実空間モデルによって遮蔽される遮蔽領域に応じた部分を遮蔽した前記仮想オブジェクトを、前記観察位置を起点とした透視投影により前記仮想面へ二次元変換したテクスチャを前記テクスチャの上に重ねて貼り付けた重仮想面をさらに生成することと、
を実行するように構成されている、グラフィックス生成装置。 1. A graphics generation device having a storage unit and a processing unit,
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The processing unit includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
when a distance from an observation position in the virtual space corresponding to a shooting position in the real world when the two-dimensional real-world image was captured to the virtual object is longer than a distance from the observation position to the three-dimensional real space model, the virtual object occluding a portion corresponding to a occluded area occluded by the three-dimensional real space model is subjected to a perspective projection starting from the observation position, and a overlapped virtual surface is further generated by pasting a texture obtained by two-dimensionally converting the virtual object onto the virtual surface by superimposing the texture on the texture;
13. A graphics generation device configured to execute: - 記憶部と処理部とを有するグラフィックス生成装置であって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記処理部は、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記仮想面以外の前記仮想オブジェクトにおける遮蔽領域を計算するための遮蔽物として前記三次元実空間モデルを設定することと、
前記遮蔽領域を遮蔽した前記仮想オブジェクトを生成することと、
を実行するように構成されている、グラフィックス生成装置。 1. A graphics generation device having a storage unit and a processing unit,
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The processing unit includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
setting the three-dimensional real space model as an obstruction for calculating an obstruction region in the virtual object other than the virtual surface;
generating the virtual object occluding the occlusion region;
13. A graphics generation device configured to execute: - 前記処理部は、
前記仮想空間内において、前記仮想面に貼り付けられた前記二次元実写画像に映っている実空間における前記現実オブジェクトと、当該現実オブジェクトに対応する前記三次元実空間モデルとが一致するように見える前記観察位置を特定することをさらに実行するように構成されている、
請求項1から3のいずれか一項に記載のグラフィックス生成装置。 The processing unit includes:
and further configured to specify, in the virtual space, the observation position at which the real object in the real space shown in the two-dimensional real-life image pasted on the virtual surface appears to match the three-dimensional real-space model corresponding to the real object.
A graphics generation device according to any one of claims 1 to 3. - 前記観察位置を特定することは、
前記仮想空間内の複数の前記観察位置の候補から見たときの、前記仮想空間における前記仮想面に貼り付けられた前記二次元実写画像に映っている実空間における前記現実オブジェクトに関する特徴と、前記観察位置の候補から前記三次元実空間モデルを前記仮想面に透視投影した投影画像における特徴とに基づき、前記複数の観察位置の候補を用いて前記観察位置を決定することを含む、請求項4に記載のグラフィックス生成装置。 The identifying the observation position includes:
5. The graphics generating device according to claim 4, further comprising: determining the observation position using a plurality of candidate observation positions based on features of the real object in the real space reflected in the two-dimensional real-life image pasted on the virtual surface in the virtual space when viewed from the plurality of candidate observation positions in the virtual space, and features in a projected image obtained by perspectively projecting the three-dimensional real space model onto the virtual surface from the candidate observation positions. - 前記処理部は、
前記二次元実写画像に現れた視覚的特徴に基づいて前記観察位置および前記観察位置からの観察方向を特定することを含む、
請求項1から3のいずれか一項に記載のグラフィックス生成装置。 The processing unit includes:
identifying the observation position and the observation direction from the observation position based on visual features appearing in the two-dimensional real-life image;
A graphics generation device according to any one of claims 1 to 3. - 前記重仮想面を生成することは、前記観察位置から見たときに前記三次元実空間モデルによって遮蔽される前記遮蔽領域を特定することを含む、請求項2に記載のグラフィックス生成装置。 The graphics generating device of claim 2, wherein generating the overlapping virtual surface includes identifying the occluded area that is occluded by the three-dimensional real space model when viewed from the observation position.
- 前記二次元実写画像は、前記実空間内の経路上を移動しながら該経路上の複数の位置で連続的に撮像された複数のフレーム画像を含み、
前記処理部は、各々の前記フレーム画像について、同一の前記仮想空間上の前記観察位置を決定することと、前記遮蔽領域を特定することと、を実行するように構成されている、
請求項1に記載のグラフィックス生成装置。 the two-dimensional real-life image includes a plurality of frame images captured successively at a plurality of positions on a path while moving on the path in the real space;
The processing unit is configured to execute, for each of the frame images, determining the observation position in the same virtual space and identifying the occlusion area.
2. The graphics generation device of claim 1. - 前記二次元実写画像は、前記実空間内の経路上を移動しながら該経路上の複数の位置で連続的に撮像された複数のフレーム画像を含み、
前記処理部は、各々の前記フレーム画像について、同一の前記仮想空間上の前記観察位置を決定することと、前記重仮想面を生成することと、を実行するように構成されている、
請求項2に記載のグラフィックス生成装置。 the two-dimensional real-life image includes a plurality of frame images captured successively at a plurality of positions on a path while moving on the path in the real space;
the processing unit is configured to execute, for each of the frame images, determining the observation position in the same virtual space and generating the overlapping virtual surface.
3. The graphics generation device of claim 2. - 前記二次元実写画像は、前記実空間内の経路上を移動しながら該経路上の複数の位置で連続的に撮像された複数のフレーム画像を含み、
前記処理部は、各々の前記フレーム画像について、同一の前記仮想空間上の前記観察位置を決定することと、前記遮蔽物を設定することと、を実行するように構成されている、
請求項3に記載のグラフィックス生成装置。 the two-dimensional real-life image includes a plurality of frame images captured successively at a plurality of positions on a path while moving on the path in the real space;
the processing unit is configured to execute, for each of the frame images, determining the observation position in the same virtual space and setting the obstruction.
4. The graphics generation device of claim 3. - 前記処理部は、
所定の基準座標空間におけるディスプレイが有する、画像を表示可能な画面の配置データと、前記基準座標空間におけるユーザ視点位置とに基づいて、前記ユーザ視点位置から前記画面を介して前記仮想空間を見たときの見え方を疑似する表示画像を、射影変換または透視投影変換を行って生成し、該表示映像を前記画面に表示することをさらに実行するように構成されている、
請求項1から10のいずれか1項に記載のグラフィックス生成装置。 The processing unit includes:
The display device is further configured to perform projective transformation or perspective projection transformation to generate a display image that simulates an appearance when the virtual space is viewed from the user's viewpoint position through the screen, based on layout data of a screen capable of displaying an image, the screen having a display in a predetermined reference coordinate space, and a user's viewpoint position in the reference coordinate space, and to display the display image on the screen.
A graphics generation device according to any one of claims 1 to 10. - 前記処理部は、
所定の基準座標空間におけるディスプレイが有する、画像を表示可能な画面の配置データと、測定装置によって測定された前記基準座標空間におけるユーザ視点位置に基づいて、前記ユーザ視点位置から前記画面を介して前記仮想空間を見たときの見え方を疑似する表示画像を、射影変換または透視投影変換を行って生成し、該表示映像を前記画面に表示することをさらに実行するように構成されている、
請求項11に記載のグラフィックス生成装置。 The processing unit includes:
and generating a display image that simulates an appearance when the virtual space is viewed from the user's viewpoint position through the screen, by performing projective transformation or perspective projection transformation, based on layout data of a screen capable of displaying an image, the screen having a display in a predetermined reference coordinate space, and a user's viewpoint position in the reference coordinate space measured by a measurement device, and displaying the display image on the screen.
12. The graphics generation device of claim 11. - 前記ユーザ視点位置は前記測定装置によって継続的に測定され、
前記表示画像を前記画面に表示することは、前記表示画像を前記ユーザ視点位置に追従して生成し、前記画面に表示することを含む、
請求項12に記載のグラフィックス生成装置。 the user's gaze position is continuously measured by the measurement device;
Displaying the display image on the screen includes generating the display image so as to follow the user's viewpoint position and displaying the display image on the screen.
13. The graphics generation device of claim 12. - 前記画面は、前記ユーザの正面を含み前記ユーザの周囲の少なくとも一部を囲むように構成されており、
前記表示画像を前記画面に表示することは、前記画面の各部分を介して前記仮想空間を見たときの見え方を疑似する前記表示画像を、前記画面の配置データと前記ユーザ視点位置に基づいて生成し、前記表示画像を前記画面の前記各部分に表示することを含む、
請求項1から13のいずれか1項に記載のグラフィックス生成装置。 The screen is configured to surround at least a portion of the user's periphery, including in front of the user;
Displaying the display image on the screen includes generating the display image that simulates the appearance when the virtual space is viewed through each part of the screen based on the layout data of the screen and the user's viewpoint position, and displaying the display image on each part of the screen.
A graphics generation device according to any preceding claim. - 記憶部と処理部とを有するグラフィックス生成装置により実行されるグラフィックス生成方法であって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記画像生成方法は、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記二次元実写画像を撮像した際の現実世界における撮影位置に対応する前記仮想空間上の観察位置、前記仮想面、前記三次元実空間モデルに基づいて、前記仮想オブジェクトにおいて遮蔽される遮蔽領域を特定することと、
前記遮蔽領域を遮蔽した前記仮想オブジェクトを生成することと、
を含む、グラフィックス生成方法。 1. A graphics generation method performed by a graphics generation device having a storage unit and a processing unit, the method comprising:
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The image generating method includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
identifying an occluded area in the virtual object based on an observation position in the virtual space corresponding to a shooting position in the real world when the two-dimensional real image is captured, the virtual surface, and the three-dimensional real space model;
generating the virtual object occluding the occlusion region;
A method for generating graphics, comprising: - 記憶部と処理部とを有するグラフィックス生成装置により実行されるグラフィックス生成方法であって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記画像生成方法は、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
遮蔽領域特定用の前記観察位置から前記仮想オブジェクトまでの距離が前記観察位置から前記三次元実空間モデルまでの距離よりも遠い場合に、前記三次元実空間モデルによって遮蔽される遮蔽領域に応じた部分を遮蔽した前記仮想オブジェクトを透視投影により前記仮想面へ二次元変換したテクスチャを前記テクスチャの上に重ねて貼り付けた重仮想面をさらに生成することと、
を含む、グラフィックス生成方法。 1. A graphics generation method performed by a graphics generation device having a storage unit and a processing unit, the method comprising:
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The image generating method includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
when a distance from the observation position for identifying an occluded area to the virtual object is greater than a distance from the observation position to the three-dimensional real space model, further generating a overlapped virtual surface by pasting a texture obtained by two-dimensionally converting the virtual object occluding a portion corresponding to the occluded area occluded by the three-dimensional real space model onto the virtual surface by perspective projection, on the texture;
A method for generating graphics, comprising: - 記憶部と処理部とを有するグラフィックス生成装置により実行されるグラフィックス生成方法であって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記画像生成方法は、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記仮想面以外の前記仮想オブジェクトにおける遮蔽領域を計算するための遮蔽物として前記三次元実空間モデルを設定することと、
前記遮蔽領域を遮蔽した前記仮想オブジェクトを生成することと、
を含む、グラフィックス生成方法。 1. A graphics generation method performed by a graphics generation device having a storage unit and a processing unit, the method comprising:
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The image generating method includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
setting the three-dimensional real space model as an obstruction for calculating an obstruction region in the virtual object other than the virtual surface;
generating the virtual object occluding the occlusion region;
A method for generating graphics, comprising: - 前記二次元実写画像に現れた視覚特徴に基づいて前記観察位置および前記観察位置からの観察方向を特定することを含む、
請求項15から17のいずれか1項に記載のグラフィックス生成方法。 identifying the observation position and the observation direction from the observation position based on visual features appearing in the two-dimensional real-life image;
A method for generating graphics according to any one of claims 15 to 17. - 記憶部と処理部とを有するコンピュータにグラフィックス生成処理を実行させるプログラムであって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記プログラムは、前記処理部に、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得させることと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記二次元実写画像を撮像した際の現実世界における撮影位置に対応する前記仮想空間上の観察位置、前記仮想面、前記三次元実空間モデルに基づいて、前記仮想オブジェクトにおいて遮蔽される遮蔽領域を特定することと、
前記遮蔽領域を遮蔽した前記仮想オブジェクトを生成することと、
を実行させる、プログラム。 A program for causing a computer having a storage unit and a processing unit to execute a graphics generation process,
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The program causes the processing unit to
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
identifying an occluded area in the virtual object based on an observation position in the virtual space corresponding to a shooting position in the real world when the two-dimensional real image is captured, the virtual surface, and the three-dimensional real space model;
generating the virtual object occluding the occlusion region;
A program to execute. - 記憶部と処理部とを有するコンピュータにグラフィックス生成処理を実行させるプログラムであって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記プログラムは、前記処理部に、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得させることと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
遮蔽領域特定用の前記観察位置から前記仮想オブジェクトまでの距離が前記観察位置から前記三次元実空間モデルまでの距離よりも遠い場合に、前記三次元実空間モデルによって遮蔽される遮蔽領域に応じた部分を遮蔽した前記仮想オブジェクトを透視投影により前記仮想面へ二次元変換したテクスチャを前記テクスチャの上に重ねて貼り付けた重仮想面をさらに生成することと、
を実行させる、プログラム。 A program for causing a computer having a storage unit and a processing unit to execute a graphics generation process,
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The program causes the processing unit to
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
when a distance from the observation position for identifying an occluded area to the virtual object is greater than a distance from the observation position to the three-dimensional real space model, further generating a overlapped virtual surface by pasting a texture obtained by two-dimensionally converting the virtual object occluding a portion corresponding to the occluded area occluded by the three-dimensional real space model onto the virtual surface by perspective projection, on the texture;
A program to execute. - 記憶部と処理部とを有するコンピュータにグラフィックス生成処理を実行されるプログラムであって、
前記記憶部には、
実空間を撮像した二次元実写画像のデータと、
前記二次元実写画像上に重畳する仮想オブジェクトを表す三次元CGのデータと、
が記憶されており、
前記プログラムは、前期処理部に、
前記実空間に存在する現実オブジェクトをモデル化した三次元実空間モデルのデータを取得することと、
前記二次元実写画像がテクスチャとして貼り付けられた仮想面と、前記三次元実空間モデル及び前記仮想オブジェクトとを含む仮想空間を生成することと、
前記仮想面以外の前記仮想オブジェクトにおける遮蔽領域を計算するための遮蔽物として前記三次元実空間モデルを設定することと、
前記遮蔽領域を遮蔽した前記仮想オブジェクトを生成することと、
を実行させる、プログラム。 A program for causing a computer having a storage unit and a processing unit to execute a graphics generation process,
The storage unit includes:
Two-dimensional real-world image data of a real space;
3D CG data representing a virtual object to be superimposed on the 2D real-life image;
is stored,
The program includes:
acquiring data of a three-dimensional real space model that models a real object existing in the real space;
generating a virtual space including a virtual surface onto which the two-dimensional real-life image is pasted as a texture, the three-dimensional real space model, and the virtual object;
setting the three-dimensional real space model as an obstruction for calculating an obstruction region in the virtual object other than the virtual surface;
generating the virtual object occluding the occlusion region;
A program to execute. - 前記二次元実写画像に現れた視覚的特徴に基づいて前記観察位置および前記観察位置からの観察方向を特定することを含む、
請求項19から21のいずれか1項に記載のプログラム。 identifying the observation position and the observation direction from the observation position based on visual features appearing in the two-dimensional real-life image;
22. The program according to any one of claims 19 to 21.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/040852 WO2024095356A1 (en) | 2022-11-01 | 2022-11-01 | Graphics generation device, graphics generation method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/040852 WO2024095356A1 (en) | 2022-11-01 | 2022-11-01 | Graphics generation device, graphics generation method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024095356A1 true WO2024095356A1 (en) | 2024-05-10 |
Family
ID=90930046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/040852 WO2024095356A1 (en) | 2022-11-01 | 2022-11-01 | Graphics generation device, graphics generation method, and program |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024095356A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08153213A (en) * | 1994-09-29 | 1996-06-11 | Hitachi Ltd | Picture compositing and displaying method |
JP2003141569A (en) * | 2001-10-31 | 2003-05-16 | Canon Inc | Method of processing information and image synthesis device |
JP2003143477A (en) * | 2001-10-31 | 2003-05-16 | Canon Inc | Image compositing device and method |
JP2004234549A (en) * | 2003-01-31 | 2004-08-19 | Canon Inc | Actual object model preparation method |
JP2013254338A (en) * | 2012-06-06 | 2013-12-19 | Nippon Telegr & Teleph Corp <Ntt> | Video generation system, video generation device, video generation method, and computer program |
JP2018142090A (en) * | 2017-02-27 | 2018-09-13 | Kddi株式会社 | Character image generating device, character image generating method, program, recording medium and character image generating system |
JP2019086961A (en) * | 2017-11-06 | 2019-06-06 | 株式会社タイトー | Apparatus and program for image processing |
WO2019171557A1 (en) * | 2018-03-08 | 2019-09-12 | 塁 佐藤 | Image display system |
-
2022
- 2022-11-01 WO PCT/JP2022/040852 patent/WO2024095356A1/en unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08153213A (en) * | 1994-09-29 | 1996-06-11 | Hitachi Ltd | Picture compositing and displaying method |
JP2003141569A (en) * | 2001-10-31 | 2003-05-16 | Canon Inc | Method of processing information and image synthesis device |
JP2003143477A (en) * | 2001-10-31 | 2003-05-16 | Canon Inc | Image compositing device and method |
JP2004234549A (en) * | 2003-01-31 | 2004-08-19 | Canon Inc | Actual object model preparation method |
JP2013254338A (en) * | 2012-06-06 | 2013-12-19 | Nippon Telegr & Teleph Corp <Ntt> | Video generation system, video generation device, video generation method, and computer program |
JP2018142090A (en) * | 2017-02-27 | 2018-09-13 | Kddi株式会社 | Character image generating device, character image generating method, program, recording medium and character image generating system |
JP2019086961A (en) * | 2017-11-06 | 2019-06-06 | 株式会社タイトー | Apparatus and program for image processing |
WO2019171557A1 (en) * | 2018-03-08 | 2019-09-12 | 塁 佐藤 | Image display system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4401727B2 (en) | Image display apparatus and method | |
CN103337095B (en) | The tridimensional virtual display methods of the three-dimensional geographical entity of a kind of real space | |
JP2023113618A (en) | racing simulation | |
WO2018116790A1 (en) | Inconsistency detection system, mixed reality system, program, and inconsistency detection method | |
JP3991020B2 (en) | Image display method and image display system | |
CN103080983A (en) | Vehicle system | |
CN106408515A (en) | Augmented reality-based vision synthesis system | |
JPH05174129A (en) | Modeling apparatus for imaging three-dimensional model | |
CN104331929A (en) | Crime scene reduction method based on video map and augmented reality | |
US11257390B2 (en) | Evaluation of a simulated vehicle-related feature | |
JPH07311857A (en) | Picture compositing and display device and simulation system | |
US20130135310A1 (en) | Method and device for representing synthetic environments | |
US20110181711A1 (en) | Sequential image generation | |
Ienaga et al. | First deployment of diminished reality for anatomy education | |
JPH09138637A (en) | Pseudo visibility device | |
JP6723533B2 (en) | Driving simulator | |
US6149435A (en) | Simulation method of a radio-controlled model airplane and its system | |
JP6345381B2 (en) | Augmented reality system | |
WO2024095356A1 (en) | Graphics generation device, graphics generation method, and program | |
JP5883673B2 (en) | Point designation system in 3D map | |
JP4366165B2 (en) | Image display apparatus and method, and storage medium | |
JP4530214B2 (en) | Simulated field of view generator | |
CN109840943B (en) | Three-dimensional visual analysis method and system | |
JP2005258792A (en) | Apparatus, method and program for generating image | |
Alfakhori et al. | Occlusion screening using 3d city models as a reference database for mobile ar-applications |
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: 22964378 Country of ref document: EP Kind code of ref document: A1 |