WO2018021067A1 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
WO2018021067A1
WO2018021067A1 PCT/JP2017/025723 JP2017025723W WO2018021067A1 WO 2018021067 A1 WO2018021067 A1 WO 2018021067A1 JP 2017025723 W JP2017025723 W JP 2017025723W WO 2018021067 A1 WO2018021067 A1 WO 2018021067A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
layer
viewpoint
virtual viewpoint
texture
Prior art date
Application number
PCT/JP2017/025723
Other languages
English (en)
French (fr)
Inventor
権大 古川
田中 潤一
宏 押領司
長谷川 雄一
剛也 小林
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US16/318,431 priority Critical patent/US10887571B2/en
Priority to JP2018529779A priority patent/JPWO2018021067A1/ja
Priority to EP17834075.8A priority patent/EP3493164B1/en
Priority to CN201780045397.8A priority patent/CN109564705B/zh
Publication of WO2018021067A1 publication Critical patent/WO2018021067A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Definitions

  • the present disclosure relates to an image processing device and an image processing method, and more particularly, to an image processing device and an image processing method capable of generating a high-quality texture image of a predetermined viewpoint using an omnidirectional image.
  • a storage device that generates an omnidirectional image obtained by mapping a 360-degree image taken by a multi-camera and a 180-degree image taken in the horizontal direction to a 2D image (planar image), and encodes and stores the image (for example, see Patent Document 1).
  • a playback device that decodes the encoded stream of the omnidirectional image stored in the storage device and displays the texture image in the viewer's visual field range using the omnidirectional image obtained as a result.
  • Such a playback device pastes the omnidirectional image on the surface of a 3D model such as a sphere or a cube, and from the viewpoint that is one point inside the 3D model, the surface of the 3D model in the viewer's line-of-sight direction.
  • a texture image of the viewer's visual field range when viewed is displayed. As a result, a photographed image in the visual field range of the viewer at a predetermined viewpoint is reproduced.
  • the viewpoint at the time of generation of the omnidirectional image is different from the viewpoint at the time of playback, the texture image in the visual field range of the viewer at the time of playback generated is reproduced from the image from the viewpoint at the time of generation. Is limited in the expression of texture and three-dimensionality.
  • the present disclosure has been made in view of such a situation, and makes it possible to generate a high-quality texture image of a predetermined viewpoint using a plurality of omnidirectional images.
  • the image processing device is configured to convert a virtual viewpoint image captured at a virtual viewpoint including a virtual viewpoint position and a line-of-sight direction into a plurality of reference images captured at a plurality of viewpoint positions and line-of-sight directions.
  • This is an image processing apparatus including a virtual viewpoint image generation unit that generates more images.
  • the virtual viewpoint image generation unit generates the virtual viewpoint image by mixing the plurality of reference images based on the line-of-sight direction of the virtual viewpoint and the line-of-sight directions obtained by capturing the plurality of reference images. Can be.
  • the virtual viewpoint image generation unit weights each of the plurality of reference images according to the similarity between the line-of-sight direction of the virtual viewpoint and each line-of-sight direction of the plurality of reference images.
  • the virtual viewpoint image can be generated by averaging.
  • the virtual viewpoint image generation unit according to the similarity between the line-of-sight direction of the virtual viewpoint and the line-of-sight direction of each of the plurality of reference images, the higher the similarity is to each of the plurality of reference images,
  • the virtual viewpoint image can be generated by assigning a large weight and averaging the weights.
  • the similarity between the line-of-sight direction of the virtual viewpoint and the line-of-sight direction of each of the plurality of reference images is an angle formed by the line-of-sight direction of the virtual viewpoint and each line-of-sight direction of the plurality of reference images, or The distance between the virtual viewpoint and each viewpoint position of the plurality of reference images can be set.
  • the virtual viewpoint image generation unit obtains metadata including information for specifying the plurality of reference images, weights each of the plurality of reference images specified by the metadata, and calculates a weighted average. Thus, the virtual viewpoint image can be generated.
  • the plurality of reference images specified by the metadata is in accordance with the degree of similarity with the line-of-sight direction of the plurality of reference images for each of a plurality of micro-parallax virtual viewpoints that generate different micro-parallaxes with respect to the virtual viewpoint.
  • a higher weight is assigned, and when the weight average is taken, the reference image having the maximum weight can be obtained.
  • the reference image corresponding to the virtual viewpoint and the plurality of reference images of a plurality of minute parallax virtual viewpoints that generate minute parallax with the virtual viewpoint can constitute a stereo image.
  • the reference image is an omnidirectional image
  • the virtual viewpoint image generation unit is photographed at a virtual viewpoint including the virtual viewpoint position and the line-of-sight direction for each surface constituting the omnidirectional image.
  • the virtual viewpoint image can be generated from the plurality of reference images.
  • the reference image may include a first layer image composed of a texture image and a depth image of an omnidirectional image.
  • the reference image may further include a second layer image composed of a texture image and a depth image of an occlusion area at the viewpoint of the first layer image.
  • the virtual viewpoint can be detected by a head mounted display, and the virtual viewpoint image can be displayed by the head mounted display.
  • a virtual viewpoint image captured at a virtual viewpoint including a virtual viewpoint position and a line-of-sight direction is converted into a plurality of reference images captured at a plurality of viewpoint positions and line-of-sight directions.
  • An image processing method includes a step of generating from a plurality of reference images.
  • the image processing apparatus uses a plurality of reference images photographed at a plurality of viewpoint positions and line-of-sight directions, and uses a virtual viewpoint photographed at a virtual viewpoint composed of a virtual viewpoint position and a line-of-sight direction.
  • An image processing apparatus includes a metadata generation unit that generates metadata for generating a viewpoint image.
  • the metadata generation unit includes metadata for generating the virtual viewpoint image by mixing the plurality of reference images based on the virtual viewpoint and the respective gaze directions in which the plurality of reference images are captured. Can be generated.
  • the metadata generation unit is configured to set a weight for each of the plurality of reference images based on a similarity between the virtual viewpoint and each line-of-sight direction in which the plurality of reference images are captured.
  • the plurality of reference images can be mixed to generate the virtual viewpoint image, and information specifying the reference image having the largest weight can be generated as metadata.
  • the metadata generation unit includes each of the plurality of reference images based on a similarity between the virtual parallax virtual viewpoint having the virtual viewpoint and the minute parallax and the respective line-of-sight directions obtained by capturing the plurality of reference images.
  • the weight is set, and the weighted average is used to mix the plurality of reference images, to generate the virtual viewpoint image, and to specify the reference image having the largest weight, the virtual viewpoint, and the plurality of reference images Based on the degree of similarity with each of the line-of-sight directions, the weights are set for each of the plurality of reference images, and the plurality of reference images are mixed by weighted average to generate the virtual viewpoint image. Further, it is possible to generate metadata including information specifying the reference image having the largest weight.
  • the reference image may include a first layer image composed of a texture image and a depth image of an omnidirectional image.
  • the reference image may further include a second layer image composed of a texture image and a depth image of the occlusion area at the viewpoint of the first layer image.
  • the image processing method uses a plurality of reference images photographed at a plurality of viewpoint positions and line-of-sight directions, and a virtual image captured at a virtual viewpoint composed of a virtual viewpoint position and a line-of-sight direction.
  • An image processing method includes a step of generating metadata for generating a viewpoint image.
  • a virtual viewpoint image captured at a virtual viewpoint including a virtual viewpoint position and a line-of-sight direction using a plurality of reference images captured at a plurality of viewpoint positions and line-of-sight directions. Metadata for generating is generated.
  • FIG. 32 is a block diagram illustrating a configuration example of a high resolution image processing unit of the content server in FIG. 31.
  • FIG. 32 is a block diagram illustrating a configuration example of a home server in FIG. 31. It is a block diagram explaining the structural example of the ML3D model production
  • FIG. 1 is a block diagram illustrating a configuration example of a first embodiment of an image display system to which the present disclosure is applied.
  • the image display system 10 generates an omnidirectional image from a captured image that is a YCbCr image (YUV image) captured by the multi-camera 11 and displays an image in the visual field range of the viewer in the omnidirectional image.
  • a captured image that is a YCbCr image (YUV image) captured by the multi-camera 11 and displays an image in the visual field range of the viewer in the omnidirectional image.
  • YCbCr image YUV image
  • the multi-camera 11 of the image display system 10 has a plurality of (six in the example of FIG. 1) arranged outward with a horizontal circumference of 360 degrees and a vertical circumference of 180 degrees as shooting ranges. Consists of a camera. Each camera captures images and generates captured images in units of frames. The multi-camera 11 supplies the captured image of each camera to the content server 12.
  • the content server 12 (image processing apparatus) generates a texture image and a depth image of an omnidirectional image at a predetermined viewpoint from the captured images of the cameras supplied from the multi-camera 11.
  • the depth image is an image having a pixel value of the reciprocal 1 / r of the distance r as an 8-bit value indicating the distance r of a straight line from a predetermined viewpoint to the subject at each pixel.
  • the content server 12 lowers the resolution of the texture image and depth image of the omnidirectional image, and generates a low resolution texture image and a low resolution depth image.
  • the content server 12 compresses and encodes the low-resolution texture image and the low-resolution depth image by an encoding method such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding) /H.265.
  • the content server 12 stores an encoded stream of a low resolution texture image (hereinafter referred to as a low resolution texture stream) and an encoded stream of a low resolution depth image (hereinafter referred to as a low resolution depth stream) obtained as a result.
  • the content server 12 generates texture images and depth images corresponding to the six surfaces constituting the cube centering on the viewpoint in the omnidirectional image using the captured images of the respective cameras. Specifically, the content server 12 generates texture images and depth images of the first and second layers of six surfaces. Note that the viewpoint in the omnidirectional image and the center of the cube may be different.
  • the content server 12 converts the first layer image including the first layer texture image and the depth image on each surface, and the second layer image including the second layer texture image and the depth image on each surface into the surface and image type. For each layer, compression encoding is performed using an encoding method such as AVC or HEVC.
  • the content server 12 obtains an encoded stream of a first layer texture image (hereinafter referred to as a first layer texture stream), an encoded stream of a depth image of a first layer (hereinafter referred to as a first layer depth) obtained as a result.
  • a second layer texture image encoded stream hereinafter referred to as a second layer texture stream
  • a second layer depth image encoded stream hereinafter referred to as a second layer depth stream
  • the encoding method of the first layer image and the second layer image may be an MVC (Multiview Video Coding) method, a 3D-HEVC method, or the like.
  • the content server 12 generates and stores information on each surface of the first layer and the second layer as metadata.
  • the content server 12 stores the low-resolution texture stream and the low-resolution depth stream, the six-layer first layer texture stream, the first layer depth stream, the second layer texture stream, the second layer depth stream, and the meta Data is transmitted to the home server 13 via a network (not shown).
  • the content server 12 can also reconfigure the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream of the six surfaces (details will be described later).
  • the content server 12 transmits the reconstructed first layer texture stream, first layer depth stream, second layer texture stream, and second layer depth stream and corresponding metadata to the home server 13.
  • the layer depth stream is transmitted to the content server 12.
  • the home server 13 (image processing apparatus) transmits a low-resolution texture stream and a low-resolution depth stream, a six-layer first layer texture stream, a first layer depth stream, and a second layer texture stream transmitted from the content server 12. , And the second layer depth stream and metadata.
  • the home server 13 has a built-in camera 13A and photographs the marker 15A attached to the head mounted display 15 attached to the viewer's head. Then, the home server 13 detects the viewing position based on the captured image of the marker 15A. Further, the home server 13 receives the detection result of the gyro sensor 15 ⁇ / b> B of the head mounted display 15 from the head mounted display 15 via the conversion device 14. The home server 13 determines the viewing direction of the viewer based on the detection result of the gyro sensor 15B, and determines the viewing range of the viewer based on the viewing position and the viewing direction.
  • the home server 13 selects three surfaces corresponding to the viewing direction of the viewer among the six surfaces of the first layer. Then, the home server 13 decodes the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream corresponding to the three selected faces. Thereby, the home server 13 generates texture images and depth images of the first layer and the second layer corresponding to the selected three surfaces.
  • the home server 13 decodes the low resolution texture stream and the low resolution depth stream, and generates a low resolution texture image and a low resolution depth image.
  • the home server 13 uses the first layer and second layer texture images and depth images corresponding to the three selected faces, and the image of the viewer's visual field range using the low resolution texture image and the low resolution depth image. Is generated as a display image.
  • the home server 13 transmits the display image to the conversion device 14 via an HDMI (registered trademark) (High-Definition Multimedia Interface) cable (not shown).
  • the conversion device 14 converts coordinates in the display image transmitted from the home server 13 into coordinates in the head mounted display 15.
  • the conversion device 14 supplies the display image after the coordinate conversion to the head mounted display 15.
  • the head mounted display 15 has a marker 15A and a gyro sensor 15B, and is mounted on the viewer's head.
  • the head mounted display 15 displays a display image supplied from the conversion device 14.
  • the gyro sensor 15B built in the head mounted display 15 detects the tilt of the head mounted display 15 and transmits the detection result to the home server 13 via the conversion device 14.
  • FIG. 2 is a block diagram illustrating a configuration example of the content server 12 of FIG.
  • the 2 includes a depth detection unit 31, a quantization unit 32, a low resolution image processing unit 33, and a high resolution image processing unit 34.
  • the depth detection unit 31 of the content server 12 has, for each pixel of the captured image of each camera supplied from the multi-camera 11 of FIG. 1, a depth direction between the depth plane perpendicular to the depth direction including the subject in the pixel and the camera. Reciprocal 1 / z of distance z is detected.
  • the depth detection unit 31 supplies the quantization unit 32 with the inverse 1 / z of each pixel of the captured image of each camera obtained as a result.
  • the quantization unit 32 uses the reciprocal 1 / z of each pixel of the captured image of each camera supplied from the depth detection unit 31 as a three-dimensional coordinate system of the multi-camera 11 (hereinafter referred to as a camera). It is converted to the reciprocal 1 / r when a predetermined three-dimensional position in the coordinate system is regarded as the viewpoint. Then, the quantization unit 32 performs 8-bit quantization on the reciprocal 1 / r by the following equation (1).
  • I d (r) is a value after 8-bit quantization of the reciprocal 1 / r of the distance r.
  • r max and r min are the maximum value and the minimum value of the distance r in the captured images of all the cameras, respectively.
  • the quantization unit 32 generates a depth image of each camera by using the 8-bit quantized value of the inverse 1 / r of each pixel of the captured image of each camera as a pixel value, and generates a low-resolution image processing unit 33. And supplied to the high-resolution image processing unit 34.
  • the low-resolution image processing unit 33 maps (perspective projection) a captured image of each camera supplied from the multi-camera 11 to a regular octahedron centered on the viewpoint with a predetermined three-dimensional position in the camera coordinate system as the viewpoint. Thus, a texture image of the omnidirectional image is generated. In addition, the low-resolution image processing unit 33 generates a depth image of the omnidirectional image by mapping the depth image of each camera supplied from the quantization unit 32 to a regular octahedron like the captured image.
  • the low resolution image processing unit 33 lowers the resolution of the texture image and depth image of the omnidirectional image, and generates a low resolution texture image and a low resolution depth image.
  • the low resolution image processing unit 33 compresses and encodes the low resolution texture image and the low resolution depth image, and stores the resulting low resolution texture stream and low resolution depth stream.
  • the low resolution image processing unit 33 transmits the stored low resolution texture stream and low resolution depth stream to the home server 13 of FIG.
  • the high-resolution image processing unit 34 uses the captured images of each camera supplied from the multi-camera 11 and corresponds to six planes that form a cube having the same center as the regular octahedron in the low-resolution image processing unit 33. A texture image of the first layer and the second layer is generated.
  • the high-resolution image processing unit 34 uses the depth images of the cameras supplied from the quantization unit 32 to generate the first layer and second layer depth images corresponding to the six surfaces in the same manner as the captured image.
  • the high-resolution image processing unit 34 compresses and encodes the texture image and depth image of the first layer and the second layer of each surface for each surface, image type, and layer.
  • the content server 12 stores the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream obtained as a result.
  • the high resolution image processing unit 34 generates and stores metadata.
  • the content server 12 stores the first-layer texture stream, the first-layer depth stream, the second-layer texture stream, the second-layer depth stream, and the metadata of the six planes stored therein via a network (not shown). Transmit to the home server 13.
  • FIG. 3 is a block diagram illustrating a configuration example of the high resolution image processing unit 34 of FIG.
  • the transmission unit 60 is configured.
  • the first layer generation unit 52 receives from the setting unit 56 3 of the viewpoint of the first layer in the three-dimensional coordinate system (hereinafter referred to as the 3D model coordinate system) with the viewpoint of the omnidirectional image in the camera coordinate system as the origin. Viewpoint position information indicating the origin is supplied as a dimension position. Further, the first layer generation unit 52 includes surfaces indicating the three-dimensional position and size in the 3D model coordinate system of each of the six surfaces including the six surfaces that form the cube centered on the origin in the 3D model coordinate system. Information is supplied.
  • the first layer generation unit 52 sets the origin indicated by the viewpoint position information as the first layer viewpoint (first viewpoint).
  • the first layer generation unit 52 (image generation unit) uses six viewpoints of the omnidirectional image in the camera coordinate system as the origin, and takes six captured images supplied from the multi-camera 11 of FIG. 1 from the viewpoint of the first layer. Each surface information is mapped to each surface having a three-dimensional position and size. Thereby, the 1st layer production
  • the first layer generation unit 52 uses the viewpoint of the omnidirectional image in the camera coordinate system as the origin, and the depth image supplied from the quantization unit 32 of FIG. 2 from the viewpoint of the first layer. , Mapping to each of the three-dimensional position and size planes indicated by the six pieces of plane information. Thereby, the 1st layer production
  • the texture images of the six faces of the first layer are 6 spherical images mapped to the 3D model centered on the viewpoint of the first layer. It can be said that it is an image obtained by mapping on one surface.
  • the depth image of the six surfaces of the first layer is an image obtained by mapping the depth image of the omnidirectional image mapped to the 3D model centered on the viewpoint of the first layer on the six surfaces. You can say that.
  • the first layer generation unit 52 supplies the texture images and depth images of the six surfaces of the first layer to the encoder 53.
  • the encoder 53 compresses and encodes the texture image and depth image of the six surfaces of the first layer supplied from the first layer generation unit 52 for each surface and each image type, and the first layer texture stream and the first image A one-layer depth stream is generated.
  • the encoder 53 supplies the first layer texture stream and the first layer depth stream to the storage 58.
  • the second layer generation unit 54 receives viewpoint position information of a viewpoint (second viewpoint) different from the viewpoint of the first layer on each face of the second layer corresponding to each face of the first layer. And surface information of each surface of the second layer corresponding to each surface of the first layer. For each surface of the second layer, the second layer generation unit 54 sets the three-dimensional position indicated by the viewpoint position information corresponding to the surface as the viewpoint of the second layer.
  • the second layer generation unit 54 (image generation unit), for each surface of the second layer, from the viewpoint of the second layer corresponding to the surface, the viewpoint of the first layer of the captured images supplied from the multicamera 11
  • the occlusion area at is mapped onto the surface of the second layer.
  • generation part 54 produces
  • the second layer generation unit 54 (image generation unit) for each surface of the second layer, the first of the depth images supplied from the quantization unit 32 from the viewpoint of the second layer corresponding to the surface.
  • the occlusion area at the layer viewpoint is mapped to the surface of the second layer.
  • the captured image since the positions of the cameras of the multi-camera 11 are different, when one 3D position in the camera coordinate system is taken as a viewpoint, the captured image includes an occlusion area at the viewpoint.
  • the texture image of the first layer is generated by mapping the omnidirectional image of one viewpoint, the captured image of the occlusion area at the viewpoint is not included in the texture image of the first layer. Therefore, the second layer generation unit 54 includes the captured image of the occlusion area as a texture image of the second layer. The same applies to the depth image.
  • the encoder 55 compresses and encodes the second-layer texture images and depth images of the six surfaces supplied from the second-layer generation unit 54 for each surface and each image type, and for the second layer texture stream and the second image. A two-layer depth stream is generated.
  • the encoder 55 supplies the second layer texture stream and the second layer depth stream to the storage 58.
  • the setting unit 56 sets the origin in the 3D model coordinate system as the viewpoint of the first layer.
  • the setting unit 56 sets six faces each including six rectangular faces that form a cube centered on the viewpoint of the first layer as the faces of the first layer.
  • the setting unit 56 sets the viewpoint of the second layer and the rectangular surface for each surface of the first layer.
  • the setting unit 56 supplies one viewpoint position information and six surface information of the first layer to the first layer generation unit 52 and the metadata generation unit 57.
  • the setting unit 56 also supplies the second layer six viewpoint position information and the six surface information corresponding to the six surfaces of the first layer to the second layer generation unit 54 and the metadata generation unit 57.
  • the metadata generation unit 57 generates a table including the first-layer viewpoint position information and surface information and the second-layer viewpoint position information and surface information supplied from the setting unit 56 as metadata, and stores it in the storage 58. Supply.
  • the storage 58 stores the first layer texture stream and the first layer depth stream supplied from the encoder 53, and the second layer texture stream and the second layer depth stream supplied from the encoder 55. Further, the storage 58 stores metadata supplied from the metadata generation unit 57.
  • the storage 58 also stores the reconstructed first layer texture stream, first layer depth stream, second layer texture stream, second layer depth stream, and metadata supplied from the reconstruction unit 59. .
  • the reconstruction unit 59 reads the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream of the six surfaces stored in the storage 58 as necessary, Constitute.
  • the reconstruction unit 59 uses the first layer texture stream before reconstruction to change the number of angles and the angle of view corresponding to the first layer texture stream, and the first layer depth stream before reconstruction. Is used to change the number of planes and the angle of view corresponding to the first layer depth stream. For example, the reconstruction unit 59 changes the surface of the first layer from six surfaces each including six surfaces constituting the cube, and each of the twelve cubes whose normals pass through the centers of the surfaces to the six surfaces. It is changed to 18 planes including 12 planes that are lines passing through the midpoint of the side and the viewpoint.
  • the reconstruction unit 59 uses the first layer texture stream before reconstruction to change the spacing (density) between faces corresponding to the first layer texture stream, and uses the first layer depth stream before reconstruction.
  • the interval between the planes corresponding to the first layer depth stream is changed.
  • the reconstruction unit 59 determines that the first layer surface has a normal interval that passes through the center from six surfaces that each include six surfaces that form a cube, and the normal interval that passes through the center is 90 degrees. Change to 18 faces with 45 degrees.
  • a display image can be generated using the depth image. As a result, a high-resolution area generated using the texture image and depth image of the first layer or the second layer in the display image increases, and the image quality of the display image is improved.
  • the reconstruction unit 59 changes the position of the surface corresponding to the first layer texture stream using the first layer texture stream before reconstruction, and uses the first layer depth stream before reconstruction for the first layer.
  • Reconfiguration may be performed by changing the position of the surface corresponding to the depth stream.
  • the reconstruction unit 59 is configured so that the main subject is present at a position other than the boundary of the first layer surface (for example, the center). Then, reconstruction is performed by rotating a cube corresponding to the six surfaces of the first layer.
  • the reconstruction unit 59 changes the slope of the surface corresponding to the first layer texture stream using the first layer texture stream before reconstruction, and uses the first layer depth stream before reconstruction for the first layer.
  • the reconstruction may be performed by changing the inclination of the surface corresponding to the depth stream. In this case, for example, when the main subject in the texture image of the first layer is tilted, the reconstruction unit 59 rotates the cube corresponding to the six surfaces of the first layer so that the tilt disappears. Reconfigure.
  • the reconstruction unit 59 sets the viewpoint and surface of the second layer after reconstruction for each surface of the first layer changed as described above. Then, the reconstruction unit 59 uses the second layer texture stream before reconstruction to change the viewpoint and surface corresponding to the second layer texture stream to the set second layer viewpoint and surface after reconstruction. To do. Also, the reconstruction unit 59 uses the second layer depth stream before reconstruction to change the viewpoint and plane corresponding to the second layer depth stream to the set second layer viewpoint and plane after reconstruction. To do.
  • the reconstruction unit 59 supplies the reconstructed first layer texture stream, first layer depth stream, second layer texture stream, and second layer depth stream to the storage 58. Further, the reconstruction unit 59 generates a table including the viewpoint position information and surface information of the first layer after the reconstruction and the viewpoint position information and surface information of the second layer as metadata, and supplies the metadata to the storage 58. .
  • the transmission unit 60 reads the six layers of the first layer texture stream, the first layer depth stream, the second layer texture stream, the second layer depth stream, and the metadata from the storage 58, and sends them to the home server 13 in FIG. Send.
  • the high resolution image processing unit 34 in FIG. 3 generates the first layer image and the second layer image by perspective projection. Therefore, the home server 13 can perform normal image processing on the first layer image and the second layer image.
  • the high-resolution image processing unit 34 transmits the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream by a transmission method of a normal image encoded stream. Can do.
  • FIG. 4 is a diagram for explaining the distance z and the distance r
  • FIG. 5 is a diagram for explaining the minimum value zmin of the distance z and the minimum value rmin of the distance r.
  • 4 and 5 are views of a predetermined surface of the cube corresponding to the first layer as seen from above.
  • the distance z is the distance in the depth direction from the viewpoint to the depth plane perpendicular to the depth direction including the subject in each pixel.
  • the depth direction of each surface of the first layer is a direction perpendicular to each surface of the first layer. Therefore, each surface of the first layer is parallel to the depth plane. Therefore, the shape of the equidistant z plane, which is a depth plane having the same distance z on each plane of the first layer, is a cube centered on the viewpoint O of the first layer. Therefore, the shape of the equidistant z plane viewed from above the predetermined plane of the cube corresponding to the first layer is a square as shown by the dotted line A in FIG.
  • the minimum value zmin of the distance z on all surfaces changes as shown in FIG.
  • FIG. 5A when the angle of view in the horizontal direction (vertical direction in FIG. 5) of each surface of the first layer is changed from 90 degrees to 120 degrees, the texture image of each surface after the change Includes texture images of two surfaces that are adjacent to each surface before the change in the horizontal direction and have different depth directions from the surface. Therefore, the minimum value zmin when the horizontal angle of view of each surface of the first layer is 120 degrees corresponds to the two surfaces adjacent to the horizontal direction included in the angle of view.
  • the maximum value zmax of the distance z is the same as the minimum value zmin.
  • the depth direction of the surface before the change is different from p. Therefore, the minimum value zmin and the maximum value zmax of the distance z change.
  • the dotted line indicates the equidistant z plane of the surface before the change
  • the alternate long and short dash line indicates the equidistant z surface of the surface after the change.
  • the minimum value zmin And the maximum value zmax varies.
  • the minimum value zmin and the maximum value zmax of the distance z change. Accordingly, when the reciprocal 1 / z of the distance z is used as the y value (luminance value) of each pixel of the depth image of the first layer, it is necessary to redo 8-bit quantization of the depth image at the time of reconstruction by the reconstruction unit 59. There is.
  • the distance r is a straight line distance from the viewpoint to the subject at each pixel.
  • the direction of the straight line from the viewpoint O to the subject on each surface of the first layer is the radial direction of the circle centered on the viewpoint O regardless of the surface. Therefore, the shape of the equidistant r surface having the same distance r on each surface of the first layer is a sphere centered on the viewpoint O of the first layer. Therefore, the shape of the equidistant r-plane viewed from above the predetermined plane of the cube corresponding to the first layer is circular as shown by the dotted line B in FIG.
  • the direction of the straight line from the viewpoint O to the subject of each surface of the first layer in the two surfaces adjacent in the lateral direction (vertical direction in FIG. 5) with each surface before the change is the same. Therefore, as shown in FIG. 5B, the horizontal angle of view of each surface of the first layer is changed from 90 degrees to 120 degrees. Even when texture images of two surfaces adjacent in the direction are included, the minimum value rmin does not change.
  • the maximum value rmax of the distance r is the same as the minimum value rmin.
  • each surface of the first layer is changed in the same manner as when the angle of view of each surface of the first layer is changed. Since the direction of the straight line from the viewpoint O to the subject does not change, the minimum value rmin and the maximum value rmax do not change.
  • the quantizing unit 32 in FIG. 2 uses the quantized value of the reciprocal 1 / r instead of the reciprocal 1 / z as the y value of each pixel of the first layer depth image. It is possible to reduce the process of redoing the 8-bit quantization of the depth image at the time of reconstruction.
  • the low resolution texture stream and the low resolution depth stream are not reconstructed, but may be reconstructed. Also in this case, since the y value of each pixel of the low resolution depth image is a quantized value of the reciprocal 1 / r, similarly to the reconstruction of the depth image of the first layer, 8 of the low resolution depth image is obtained at the time of reconstruction. Processing to redo bit quantization can be reduced.
  • FIG. 7 is a diagram illustrating an example of the position of each pixel on the sphere when the depth images of the six surfaces of the first layer are mapped to the sphere.
  • the positions of the pixels on the sphere when the depth images of the six surfaces of the first layer are mapped to the sphere are represented by dots.
  • the interval between the positions of the pixels of the depth image of each surface of the first layer on the depth image is an equal interval.
  • the intervals between the positions of the pixels on the sphere when the depth images of the six surfaces of the first layer are mapped onto the sphere are not equal. That is, the density of the position of each pixel on the sphere when the depth images of the six surfaces of the first layer are mapped onto the sphere is not constant.
  • FIG. 8 is a diagram illustrating an example of the surface of the first layer.
  • FIG. 8A is a perspective view of the first-layer cube 80
  • FIG. 8B is a view of the first-layer cube 80 as viewed in the negative direction of the Y-axis.
  • one surface 91 of the first layer is a surface including the + Y surface 83 among the six surfaces 81 to 86 constituting the cube 80 with the viewpoint O as the center. More specifically, the surface 91 is set at the same position as the + Y surface 83, and the angle of view in the horizontal direction and the vertical direction is larger than 90 degrees that is the angle of view of the + Y surface 83 and smaller than 180 degrees. .
  • the texture image of the surface 91 is not only the texture image mapped to the + Y surface 83, but also the + X surface 81, ⁇ X surface 82, + Z surface 85 adjacent to the + Y surface 83, And a portion of the texture image mapped to the ⁇ Z plane 86.
  • the depth image of the surface 91 is the same as the texture image.
  • FIG. 8 only one surface 91 of the first layer is shown, but the other five surfaces, like the surface 91, are the + X surface 81, the ⁇ X surface 82, the ⁇ Y surface 84, the + Z surface 85, respectively.
  • the plane is set at the same position as the ⁇ Z plane 86, and the angle of view in the horizontal and vertical directions is larger than 90 degrees and smaller than 180 degrees.
  • each of the six surfaces of the first layer is configured to include each of the six surfaces 81 to 86 constituting the cube.
  • a spherical image is mapped. Therefore, if the home server 13 uses at most three of the six surfaces of the first layer, the home server 13 can arbitrarily set 360 ° in the horizontal direction and 180 ° in the vertical direction with the viewpoint O as the viewing position. A display image in the direction can be generated.
  • FIG. 9 is a diagram illustrating a configuration example of the first layer viewpoint position information and surface information table of the metadata generated by the metadata generation unit 57 of FIG. 3.
  • information indicating the three-dimensional position of the surface in the 3D model coordinate system is an azimuth angle, an elevation angle, a rotation angle, and a line-of-sight vector, and information indicating the size is a horizontal angle of view.
  • Vertical angle of view is an azimuth angle, an elevation angle, a rotation angle, and a line-of-sight vector, and information indicating the size.
  • the azimuth is an angle in the XZ plane direction formed by the line connecting the viewpoint and the center of each surface and the Z axis
  • the elevation angle is an angle formed by the line connecting the viewpoint and the center of each surface and the XZ plane.
  • the azimuth angle is clockwise in the positive direction
  • the elevation angle is counterclockwise in the positive direction.
  • a line obtained by horizontally rotating the Z-axis direction line extending from the viewpoint on the XZ plane by the azimuth angle and then vertically rotating it by the elevation angle in the Y-axis direction is a normal passing through the center of the surface.
  • the rotation angle is an angle in the rotation direction of each surface when a line connecting the viewpoint and the center of each surface is used as an axis.
  • the rotation angle is clockwise in the positive direction.
  • the line-of-sight vector is a vector having a length of 1 from the viewpoint to the center of each surface, that is, a normal vector passing through the center of each surface.
  • the horizontal angle of view is the angle formed by the line connecting the two horizontal ends of each surface and the viewpoint, and the vertical angle of view is the angle between the two vertical ends of each surface and the viewpoint. This is the angle between the lines.
  • the file name of the file storing the first layer texture stream and the first layer depth stream of each surface in the storage 58 of FIG. The common part of is registered.
  • the names are posZ_texture, negZ_texture, posX_texture, negX_texture, posY_texture, negY_texture.
  • the file names of the first depth streams of the surfaces including the + Z surface 85, the ⁇ Z surface 86, the + X surface 81, the ⁇ X surface 82, the + Y surface 83, and the ⁇ Y surface 84 are posZ_depth, negZ_depth, and posX_depth, respectively.
  • posZ, negZ, posX, negX, posY, negY are registered in the table of FIG. 9 as common parts of the file names of the first layer.
  • the surface information corresponding to the common part of the file name, the viewpoint position information, the texture image, and the depth image are associated with the common part of the file name.
  • the number of horizontal pixels and the number of vertical pixels are registered.
  • a line connecting the center of each surface of the first layer including the + Z surface 85, the ⁇ Z surface 86, the + X surface 81, the ⁇ X surface 82, the + Y surface 83, and the ⁇ Y surface 84 and the viewpoint O The angles in the XZ plane direction with the Z axis are 0 degree, ⁇ 180 degrees, 90 degrees, ⁇ 90 degrees, 0 degrees, and 0 degrees, respectively, and the angles with the XZ plane are 0 degrees and 0 degrees, respectively. Degrees, 0 degrees, 0 degrees, 90 degrees, and -90 degrees.
  • the common parts “posZ”, “negZ”, “posX”, “negX”, “posY”, “negY” of the file names are associated with the azimuth angles “0 degrees”, “ ⁇ 180 degrees”, “90 degrees”, “ ⁇ 90 degrees”, “0 degrees”, “0 degrees” are registered, and elevation angles “0 degrees”, “0 degrees”, “0 degrees”, “0 degrees”, “90 degrees” ”And“ ⁇ 90 degrees ”are registered.
  • the rotation angles of all the surfaces of the first layer are 0 degrees. Accordingly, the rotation angle “0 degree” is registered in association with each of the common parts “posZ”, “negZ”, “posX”, “negX”, “posY”, “negY” of the file name. Furthermore, the coordinates of the origin (0,0,0) are used as the viewpoint position information in association with the common parts of the file name “posZ”, “negZ”, “posX”, “negX”, “posY”, “negY”. ) Is registered.
  • the line-of-sight vector of each surface of the first layer including the + Z surface 85, the ⁇ Z surface 86, the + X surface 81, the ⁇ X surface 82, the + Y surface 83, and the ⁇ Y surface 84 is (0,0 , 1), (0,0, -1), (1,0,0) (-1,0,0), (0,1,0), (0, -1,0).
  • the line-of-sight vectors (0,0,1), (0,0) are associated with the common parts ⁇ posZ '', ⁇ negZ '', ⁇ posX '', ⁇ negX '', ⁇ posY '', ⁇ negY '', 0, -1), (1,0,0) (-1,0,0), (0,1,0), (0, -1,0) are registered.
  • the horizontal angle and the vertical angle of view of all surfaces of the first layer are 100 degrees that is greater than 90 degrees, and the number of horizontal pixels that is the number of pixels in the horizontal direction of the texture image and the depth image
  • the number of vertical pixels, which is the number of pixels in the vertical direction is 1024. Therefore, the horizontal angle of view “100 degrees” and the vertical angle of view “100” are associated with the common parts “posZ”, “negZ”, “posX”, “negX”, “posY”, “negY” of the file name. "Degree”, the number of horizontal pixels "1024", and the number of vertical pixels "1024" are registered.
  • FIG. 10 is a diagram showing the position of the subject in the depth direction corresponding to a predetermined surface of the first layer
  • FIG. 11 is a diagram of the subject of FIG. 10 when the viewpoints of the first layer and the second layer are the same. It is a figure which shows the structural example of the texture image of a 1st layer and a 2nd layer.
  • FIG. 10 is a view of the first layer viewpoint O and the subject as viewed from above, and the vertical direction in FIG. 10 is the depth direction of a predetermined surface of the first layer including the subject in the angle of view.
  • the horizontal direction and the vertical direction represent the horizontal direction and the depth direction of the texture image, respectively.
  • the downward direction in FIGS. 10 and 11 is the front side, and the upward direction is the back side.
  • the subjects included in the angle of view of the predetermined surface of the first layer are the center foreground 111 and the background 112 behind the foreground.
  • the texture image of the predetermined surface of the first layer is composed of the captured image 121 of the foreground 111 and the captured image 122A of the area 112A of the background 112 that is not hidden by the foreground 111.
  • the texture image of the surface of the second layer corresponding to the predetermined surface of the first layer is a multi-camera in the occlusion region 112B shielded by the foreground 111 of the background 112, as shown in FIG. 11 includes a photographed image 122C of the photographed occlusion area 112C photographed according to No. 11 as an effective area.
  • Any area other than the effective area in the texture image of the surface of the second layer may be arranged.
  • a special value such as an invalid value
  • the value of the special value is changed by compression encoding.
  • the area other than the effective area of the texture image on the surface of the second layer includes an unnecessary area (background area) corresponding to the area 112A and an imaginary area corresponding to an area other than the captured occlusion area 112C in the occlusion area 112B. And divided.
  • the captured image 122A is arranged similarly to the first layer, or a flat image whose edge portion is not steep is arranged.
  • the texture images of the first layer and the second layer in the unnecessary area are the same. Therefore, the MVC method is referred to the texture image of the first layer with reference to the texture image of the second layer.
  • the compression rate can be improved.
  • the compression rate of the second layer image can be improved as compared with a case where an image having a steep edge portion is arranged.
  • the captured image 122A may be arranged in a part of the unnecessary area and a flat image may be arranged in the other part.
  • the imaginary area is an area corresponding to an area other than the captured occlusion area 112C in the occlusion area 112B that is not captured by the multi-camera 11 although there is an occlusion area. Therefore, in the imaginary area, an inpainting image estimated (inpainted) using the captured image 122C of the captured occlusion area 112C is disposed, or the captured image 121 is disposed as in the first layer. Is done.
  • the home server 13 can handle the imaginary area in the same manner as the effective area.
  • the content server 12 performs inpainting before reproduction, it is possible to perform inpainting that requires a lot of time and a high processing load.
  • the captured image 121 when the captured image 121 is arranged in the imaginary area, the imaginary area can be easily generated even when the imaginary area is scattered or inpainting is difficult.
  • the in-painting image may be arranged in a part of the imaginary area, and the captured image 121 may be arranged in the other part.
  • the configuration of the depth images of the first layer and the second layer is the same as the configuration of the texture images of the first layer and the second layer, except that the captured image is replaced with the depth image, and thus the description thereof is omitted. .
  • a captured image or a depth image similar to the first layer is arranged in the unnecessary area and the imaginary area of the second layer will be described.
  • FIG. 12 is a diagram illustrating texture images of the first layer and the second layer corresponding to a predetermined surface of the first layer when the viewpoints of the first layer and the second layer are the same.
  • FIG. 13 is a diagram illustrating texture images of the first layer and the second layer corresponding to a predetermined surface of the first layer when the viewpoints of the first layer and the second layer are different.
  • FIGS. 12A and 13A are views of the first layer viewpoint O and the subject as viewed from above.
  • the vertical direction of FIGS. 12A and 13A includes the subject in the angle of view. This is the depth direction of a predetermined surface of one layer.
  • the rod-shaped subject 141 extending to the viewpoint O within the angle of view of the predetermined surface 131 of the first layer is It becomes a point in both the texture image 151 of the layer and the texture image 152 of the second layer.
  • the subject 141 is reduced to one point in both the texture image 151 of the first layer and the texture image 152 of the second layer. Resulting in. Therefore, the texture image 151 and the texture image 152 cannot represent the length of the subject 141 in the direction extending to the viewpoint O.
  • the viewpoint of the second layer is a viewpoint O ′ different from the viewpoint O of the first layer
  • the subject 141 included in the angle of view of the surface 131 of the first layer and the surface 161 of the second layer is It becomes a straight line in the texture image 172 of the second layer.
  • the direction from the first layer viewpoint O toward the surface 131 is different from the direction from the second layer viewpoint O ′ toward the surface 161. Therefore, even if the subject 141 is reduced to one point in the texture image 151 of the first layer, the subject 141 is not reduced to one point in the texture image 172 of the second layer. Therefore, the texture image 172 can represent the length of the subject 141 in the direction extending to the viewpoint O.
  • the content server 12 is set so that the viewpoints of the first layer and the second layer are different.
  • FIG. 14 is a diagram illustrating a first example of the viewpoint of the second layer.
  • FIG. 14A is a perspective view of the first-layer cube 80
  • FIG. 14B is a view of the cube 80 viewed in the negative direction of the Y axis. This also applies to FIG.
  • the viewpoint 191 of the surface of the second layer corresponding to the surface including the + X surface 81 of the first layer is from the viewpoint O of the first layer in the positive direction of the Y axis. It is set to a position moved by half the length a. As indicated by the arrow attached to the viewpoint 191 in FIG. 14, the line-of-sight vector of the second layer corresponding to the surface including the + X surface 81 of the first layer is (1,0, 0).
  • the viewpoint 192 of the surface of the second layer corresponding to the surface including the -X surface 82 of the first layer is set to a position moved from the viewpoint O by the length a in the negative direction of the Y axis.
  • the line-of-sight vector of the second layer corresponding to the plane including the ⁇ X plane 82 of the first layer is ( ⁇ 1, as in the first layer. 0,0).
  • the viewpoint 193 of the second layer corresponding to the plane 91 including the + Y plane 83 of the first layer and the viewpoint 194 of the second layer corresponding to the plane including the ⁇ Y plane 84 are respectively from the viewpoint O. It is set at a position moved by a length a in the positive and negative directions of the Z-axis. As shown by the arrows attached to the viewpoint 193 and the viewpoint 194 in FIG. 14, the line-of-sight vector of the second layer corresponding to the first layer plane 91 and the second layer corresponding to the plane including the ⁇ Y plane 84.
  • the line-of-sight vectors of the surface are (0,1,0) and (0, -1,0), respectively, as in the first layer.
  • the viewpoint 195 of the second layer corresponding to the plane including the + Z plane 85 of the first layer and the viewpoint 196 of the second layer corresponding to the plane including the ⁇ Z plane 86 are respectively It is set at a position moved from the viewpoint O by the length a in the positive and negative directions of the X axis.
  • the line-of-sight vector of the second layer corresponding to the plane including the + Z plane 85 of the first layer corresponds to the plane including the ⁇ Z plane 86.
  • the line-of-sight vectors of the surface of the second layer are (0,0,1) and (0,0, -1), respectively, similarly to the first layer.
  • the viewpoints 191 to 196 of each surface of the second layer are set to positions moved from the viewpoint O of the first layer by a length a in one direction perpendicular to the line-of-sight vector. .
  • the line-of-sight vector of each surface of the second layer is the same as the line-of-sight vector of the corresponding first layer surface.
  • the shift directions of the viewpoints 191 to 196 of the respective surfaces of the second layer with respect to the viewpoint O are different for each surface.
  • the distance between the viewpoints 191 to 196 and the viewpoint O of each surface of the second layer in the X-axis direction, the Y-axis direction, or the Z-axis direction is not limited to the length a that is half of each side of the cube 80.
  • Second configuration example of second layer viewpoint position information and surface information table 15 shows the viewpoint of the second layer among the metadata generated by the metadata generation unit 57 of FIG. 3 when the viewpoints 191 to 196 of FIG. 14 are set as the viewpoints of the respective faces of the second layer. It is a figure which shows the structural example of the table of position information and surface information.
  • the first layer corresponding to each surface of the first layer including the + Z surface 85, the ⁇ Z surface 86, the + X surface 81, the ⁇ X surface 82, the + Y surface 83, and the ⁇ Y surface 84, respectively.
  • the file names of the texture images of the two layers are posZ2_texture, negZ2_texture, posX2_texture, negX2_texture, posY2_texture, negY2_texture, respectively.
  • each surface of the second layer corresponding to each surface of the first layer including the + Z surface 85, the ⁇ Z surface 86, the + X surface 81, the ⁇ X surface 82, the + Y surface 83, and the ⁇ Y surface 84, respectively.
  • the file names are posZ2_depth, negZ2_depth, posX2_depth, negX2_depth, posY2_depth, negY2_depth, respectively. Therefore, posZ2, negZ2, posX2, negX2, posY2, negY2 are registered in the table of FIG. 15 as common parts of the file names of the respective surfaces of the second layer.
  • viewpoints 191 to 196 when the viewpoint O is the origin are associated with the common parts “posZ2”, “negZ2”, “posX2”, “negX2”, “posY2”, and “negY2” of the file name. Coordinates (a, 0,0), (-a, 0,0), (0, a, 0) (0, -a, 0), (0,0, a), (0,0, -a) Is registered.
  • FIG. 16 is a diagram illustrating a second example of the viewpoint of the second layer.
  • the viewpoint 211 of the second layer corresponding to the plane including the + X plane 81 of the first layer and the viewpoint 212 of the second layer corresponding to the plane including the ⁇ X plane 82 are respectively From the viewpoint O of the first layer, the position is moved by a length a in the positive direction of the Y axis and the negative direction of the Z axis, and in the negative direction of the Y axis and the positive direction of the Z axis.
  • the line-of-sight vector of the second layer corresponding to the plane including the + X plane 81 of the first layer and the ⁇ X plane 82 of the first layer are included.
  • the line-of-sight vectors of the second layer corresponding to the surface are (1,0,0) and ( ⁇ 1,0,0), respectively, as in the first layer.
  • the viewpoint 213 of the second layer corresponding to the plane 91 including the + Y plane 83 of the first layer and the viewpoint 214 of the plane of the second layer corresponding to the plane including the ⁇ Y plane 84 are respectively from the viewpoint O.
  • the line-of-sight vector of the second layer corresponding to the first layer plane 91 and the second layer corresponding to the plane including the ⁇ Y plane 84 are shown.
  • the line-of-sight vectors of the surface are (0,1,0) and (0, -1,0), respectively, as in the first layer.
  • the viewpoint 215 of the second layer corresponding to the plane including the + Z plane 85 of the first layer and the viewpoint 216 of the second layer corresponding to the plane including the ⁇ Z plane 86 are respectively from the viewpoint O. It is set at a position moved by a length a in the positive direction of the X axis and the negative direction of the Y axis, and in the negative direction of the X axis and the positive direction of the Y axis.
  • the line-of-sight vector of the second layer corresponding to the plane including the + Z plane 85 of the first layer and the plane including the ⁇ Z plane 86 correspond.
  • the line-of-sight vectors of the surface of the second layer are (0,0,1) and (0,0, -1), respectively, similarly to the first layer.
  • the viewpoints 211 to 216 of each surface of the second layer are set to positions moved from the viewpoint O of the first layer by the length a in two directions perpendicular to the line-of-sight vector. .
  • the line-of-sight vector of each surface of the second layer is the same as the line-of-sight vector of the corresponding first layer surface.
  • the shift directions of the viewpoints 211 to 216 of each surface of the second layer with respect to the viewpoint O are different for each surface.
  • the viewpoints 211 to 216 are symmetric with respect to the viewpoint O.
  • the distance between the viewpoints 191 to 196 and the viewpoint O of each surface of the second layer in the X-axis direction, the Y-axis direction, and the Z-axis direction is half the length of each side of the cube 80. It is not limited to a.
  • FIG. 17 shows the viewpoint of the second layer among the metadata generated by the metadata generation unit 57 of FIG. 3 when the viewpoints 211 to 216 of FIG. 16 are set as the viewpoints of the respective faces of the second layer. It is a figure which shows the structural example of the table of position information and surface information.
  • the table in FIG. 17 is the same as the table in FIG. 15 except for the viewpoint position information.
  • the viewpoint O is associated with each of the common parts “posZ2”, “negZ2”, “posX2”, “negX2”, “posY2”, “negY2” of the file name.
  • the coordinates (a, -a, 0), (-a, a, 0), (0, a, -a), (0, -a, a), (-a , 0, a), (a, 0, -a) are registered.
  • FIG. 18 is a flowchart for explaining the stream generation processing of the content server 12 of FIG. This stream generation process is started when a captured image of each camera is supplied in units of frames from the multi-camera 11 in FIG.
  • step S10 of FIG. 18 the depth detection unit 31 of the content server 12 detects the reciprocal 1 / z of each pixel of the captured image of each camera from the captured image of each camera supplied from the multi-camera 11, and performs quantization. To the unit 32.
  • the quantization unit 32 uses the reciprocal 1 / z of each pixel of the captured image of each camera as the viewpoint when the viewpoint is a predetermined three-dimensional position in the camera coordinate system that is the viewpoint in the omnidirectional image. Convert to 1 / r and perform 8-bit quantization on the inverse 1 / r.
  • the quantization unit 32 generates a depth image of each camera by using the 8-bit quantized value of the inverse 1 / r of each pixel of the captured image of each camera as a pixel value, and generates a low-resolution image processing unit 33. And supplied to the high-resolution image processing unit 34.
  • step S12 the low-resolution image processing unit 33 generates a texture image of the omnidirectional image from the captured images of each camera supplied from the multi-camera 11 with a predetermined three-dimensional position in the camera coordinate system as a viewpoint. Make resolution.
  • step S13 the low resolution image processing unit 33 generates a depth image of the omnidirectional image from the depth image of each camera supplied from the quantization unit 32 in the same manner as the texture image of the omnidirectional image. Turn into.
  • step S14 the low resolution image processing unit 33 compresses and stores the low resolution texture image generated by the process of step S12 and the low resolution depth image generated by the process of step S13.
  • step S15 the low resolution image processing unit 33 transmits the stored low resolution texture stream and low resolution depth stream to the home server 13 of FIG.
  • step S16 the setting unit 56 (FIG. 3) of the high-resolution image processing unit 34 sets the origin in the 3D model coordinate system as one viewpoint common to the first layer, and a cube centered on the viewpoint of the first layer. Are set as the surfaces of the first layer.
  • the setting unit 56 sets six viewpoints and six surfaces of the second layer corresponding to the surfaces of the first layer.
  • the setting unit 56 supplies one viewpoint position information of the first layer and surface information of the six surfaces to the first layer generation unit 52 and the metadata generation unit 57.
  • the setting unit 56 supplies six viewpoint position information and six surface information of the second layer to the second layer generation unit 54 and the metadata generation unit 57.
  • step S ⁇ b> 17 the first layer generation unit 52 uses the first layer from the captured image of each camera using the viewpoint of the omnidirectional image in the camera coordinate system as the origin and the origin indicated by the viewpoint position information of the first layer as the viewpoint. A texture image of each surface corresponding to each surface information is generated. Moreover, the 1st layer production
  • step S ⁇ b> 18 the second layer generation unit 54 uses the viewpoint of the omnidirectional image in the camera coordinate system as the origin for each surface corresponding to the surface information of the second layer, and the three-dimensional information indicated by the position information of the second layer. Using the position as a viewpoint, a texture image is generated from an image captured by each camera. Further, the second layer generation unit 54 generates a depth image of the second layer from the depth image of each camera, for each surface corresponding to the surface information of the second layer, similarly to the texture image.
  • step S ⁇ b> 19 the encoder 53 compresses and encodes the texture image and the depth image of each surface of the first layer supplied from the first layer generation unit 52 for each surface and each image type, and supplies the compression image to the storage 58. And memorize it.
  • step S ⁇ b> 20 the encoder 55 compresses and encodes the texture image and the depth image of each surface of the second layer supplied from the second layer generation unit 54 for each surface and each image type, and supplies the compression image to the storage 58. And memorize it.
  • step S21 the metadata generation unit 57 generates, as metadata, a table including the viewpoint position information and surface information of the first layer and the viewpoint position information and surface information of the second layer supplied from the setting unit 56. And supplied to the storage 58 for storage.
  • step S22 the reconstruction unit 59 determines whether reconstruction of the texture image and the depth image of the first layer is necessary. For example, the reconstruction unit 59 reconstructs the texture image and the depth image of the first layer when the user instructs to change the number of first layer surfaces, the angle of view, the space between the surfaces, the position, or the inclination. Is determined to be necessary.
  • step S22 If it is determined in step S22 that the first layer texture image and depth image need to be reconstructed, the process proceeds to step S23.
  • step S23 the reconstruction unit 59 sets the first layer surface after reconstruction and the viewpoint and surface of the second layer corresponding to the first layer surface after reconstruction.
  • step S ⁇ b> 24 the reconstruction unit 59 generates, as metadata, a table including the first-layer viewpoint position information and surface information after the reconstruction, and the second-layer viewpoint position information and surface information as metadata. Supply.
  • step S25 the reconstruction unit 59 reconstructs the first layer texture stream of each surface stored in the storage 58 into the texture stream of the first layer surface after the reconstruction set in step S23, The data is supplied to the storage 58 and stored. Further, the reconstruction unit 59 reconstructs the first layer depth stream stored in the storage 58 into the first layer depth stream of the first layer surface after the reconstruction set in step S23, and the storage 58 To be stored.
  • the reconstruction unit 59 reconstructs the second layer texture stream of each surface stored in the storage 58 into the second layer viewpoint and surface second layer texture stream after the reconstruction set in step S23. Configure and supply to storage 58 for storage. The reconstruction unit 59 reconstructs the second layer depth stream stored in the storage 58 into the second layer depth stream of the second layer viewpoint and plane after the reconstruction set in step S23. To be stored. Then, the process proceeds to step S26.
  • step S22 when it is determined in step S22 that the first layer texture image and depth image need not be reconstructed, the process proceeds to step S26.
  • step S ⁇ b> 26 the transmission unit 60 reads the first layer texture stream, the first layer depth stream, the second layer texture stream, the second layer depth stream, and the metadata of the six surfaces before reconstruction from the storage 58. To the home server 13.
  • the content server 12 generates the texture image and depth image of the occlusion area at the viewpoint of the first layer as the texture image and depth image of the second layer. Therefore, when the viewing position is different from the viewpoint O, the home server 13 can generate the occlusion area of the viewpoint O included in the display image by using the texture image and the depth image of the second layer. Therefore, the home server 13 can generate a high-quality display image.
  • the content server 12 sets the viewpoint of the second layer to a three-dimensional position different from the viewpoint O of the first layer. Accordingly, in the second layer, the length of the subject extending to the viewpoint O in the direction extending to the viewpoint O can be expressed.
  • the content server 12 sets the y value of each pixel of the depth image to a value obtained by quantizing the inverse 1 / r by 8 bits. Therefore, the content server 12 does not need to redo 8-bit quantization of the depth image at the time of reconstruction.
  • FIG. 19 is a block diagram illustrating a configuration example of the home server 13 of FIG.
  • the home server 13 in FIG. 19 includes a camera 13A, a receiving unit 231, a storage 232, a receiving unit 233, a line-of-sight detection unit 234, an ML3D model generation unit 235, an ML3D model generation unit 236, an ML3D model generation unit 237, and a 3D model generation unit 238. And a drawing unit 239.
  • the receiving unit 231 of the home server 13 includes a low-resolution texture stream and a low-resolution depth stream transmitted from the content server 12, a first-layer texture stream of six surfaces, a first-layer depth stream, a second-layer texture stream, and The second layer depth stream and the metadata are received and supplied to the storage 232.
  • the storage 232 includes a low-resolution texture stream and a low-resolution depth stream supplied from the receiving unit 231, a six-layer first layer texture stream, a first layer depth stream, a second layer texture stream, and a second layer depth stream, As well as metadata.
  • the receiving unit 233 receives the detection result of the gyro sensor 15 ⁇ / b> B of FIG. 1 from the head mounted display 15 and supplies it to the line-of-sight detection unit 234.
  • the line-of-sight detection unit 234 determines the line-of-sight direction of the viewer in the 3D model coordinate system based on the detection result of the gyro sensor 15B supplied from the reception unit 233.
  • the line-of-sight detection unit 234 acquires a captured image of the marker 15A from the camera 13A, and detects a viewing position in the 3D model coordinate system based on the captured image.
  • the line-of-sight detection unit 234 reads the first layer table of the metadata from the storage 232.
  • the line-of-sight detection unit 234 corresponds to the line-of-sight vector closest to the line of sight extending from the viewing position to the line-of-sight direction among the six surfaces based on the viewing position and line-of-sight direction in the 3D model coordinate system and the first layer table.
  • the three surfaces to be selected are determined as the selection surface.
  • the line-of-sight detection unit 234 includes a plane including any of the + X plane 81 and the ⁇ X plane 82, a plane including any of the + Y plane 83 and the ⁇ Y plane 84, and the + Z plane 85 and the ⁇ Z plane.
  • a surface including any one of 86 is determined as a selected surface.
  • the selection plane When the selection plane is determined as described above, high resolution in the display image generated by using the texture image and the depth image of the first layer and the second layer corresponding to the selection plane by the drawing unit 239 described later.
  • the area ratio is the highest. Also, by determining the three selection planes, the ratio of the high-resolution area in the display image is increased when the line of sight is directed to the vicinity of the vertex of the cube 80 as compared to the case where one selection plane is selected. Can do.
  • the line-of-sight detection unit 234 reads the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream corresponding to the three selection planes from the storage 232.
  • the line-of-sight detection unit 234 supplies the read first layer texture stream, first layer depth stream, second layer texture stream, and second layer depth stream to the ML3D model generation units 235 to 237 for each surface.
  • the line-of-sight detection unit 234 reads the low-resolution texture stream and the low-resolution depth stream from the storage 232 and supplies them to the 3D model generation unit 238.
  • the line-of-sight detection unit 234 determines the viewing range of the viewer in the 3D model coordinate system based on the viewing position and the line-of-sight direction in the 3D model coordinate system.
  • the line-of-sight detection unit 234 supplies the viewer's visual field range and viewing position to the drawing unit 239.
  • the line-of-sight detection unit 234 supplies the drawing unit 239 with viewpoint position information and surface information of the three selection surfaces and the three surfaces of the second layer corresponding to the three selection surfaces.
  • the ML3D model generation units 235 to 237 use the first layer texture stream and the first layer depth stream, respectively, and the three-dimensional positions (in the texture image coordinate system) of the sampling points corresponding to the pixels of the texture image of the first layer ( u, v, z), connection information, and RGB values as color information are generated.
  • the connection information of each sampling point is information indicating the connection between the sampling point (vertex) and another sampling point.
  • the texture image coordinate system is a coordinate system in which the horizontal direction of the texture image is the u axis, the vertical direction is the v axis, and the depth direction is the z axis.
  • the ML3D model generation units 235 to 237 use the second layer texture stream and the second layer depth stream supplied from the line-of-sight detection unit 234, respectively, and sampling points corresponding to the respective pixels of the second layer texture image.
  • the three-dimensional data is generated.
  • the ML3D model generation units 235 to 237 supply the three-dimensional data of the first layer and the second layer to the drawing unit 239.
  • the 3D model generation unit 238 decodes the low resolution texture stream and the low resolution depth stream supplied from the line-of-sight detection unit 234, and generates a low resolution texture image and a low resolution depth image.
  • the 3D model generation unit 238 converts the YCbCr value as the pixel value of each pixel of the low-resolution texture image into an RGB value, and sets the RGB value of the sampling point corresponding to each pixel.
  • the 3D model generation unit 238 performs 8-bit inverse quantization on the pixel value of each pixel of the low resolution depth image to obtain the inverse 1 / r.
  • the 3D model generation unit 238 then converts the three-dimensional position (u, v, z) of each pixel to the three-dimensional position of the sampling point corresponding to each pixel based on the inverse 1 / r of each pixel of the low-resolution depth image. Calculate as (u, v, z).
  • the 3D model generation unit 238 generates connection information of each sampling point based on the three-dimensional position (u, v, z) of each sampling point so that three adjacent sampling points are connected to each other.
  • the 3D model generation unit 238 supplies the three-dimensional position (u, v, z) of each sampling point, connection information, and RGB values to the drawing unit 239 as three-dimensional data of a low-resolution texture image.
  • the drawing unit 239 performs triangular patch drawing (point cloud drawing) of the low-resolution texture image in the 3D model coordinate system based on the three-dimensional data of the low-resolution texture image supplied from the 3D model generation unit 238. Thereafter, the drawing unit 239 is based on the first and second layer three-dimensional data supplied from each of the ML3D model generation units 235 to 237 and the viewpoint position information and surface information supplied from the line-of-sight detection unit 234. In the 3D model coordinate system, the triangular patch drawing of the texture images of the first layer and the second layer is performed.
  • the viewpoint of the low-resolution texture image is the origin in the 3D model coordinate system, and the position and size of each surface of the regular octahedron as the 3D model are determined in advance. Therefore, the drawing unit 239 can obtain the internal parameters and external parameters of each camera corresponding to each surface of the regular octahedron. Therefore, the drawing unit 239 uses the internal parameters and the external parameters to calculate the position (u, v, z) of each sampling point from the three-dimensional position (u, v, z) of each sampling point of the low-resolution texture image. ) And the three-dimensional position (X, Y, Z) in the 3D model coordinate system. As a result, triangular patch drawing can be performed using the position (u, v) and three-dimensional position (X, Y, Z) on the screen of each sampling point of the low-resolution texture image, the connection information, and the RGB value. .
  • the drawing unit 239 obtains internal parameters and external parameters of each camera corresponding to each surface of the first layer and the second layer based on the viewpoint position information and surface information of the first layer and the second layer. it can. Therefore, the drawing unit 239 uses the internal parameter and the external parameter to calculate the position of each sampling point on the screen from the three-dimensional position (u, v, z) of each sampling point of the first layer and the second layer ( u, v) and 3D position (X, Y, Z) can be recognized. As a result, the drawing unit 239 uses the position (u, v) and the three-dimensional position (X, Y, Z) on the screen of each sampling point of the first layer and the second layer, the connection information, and the RGB value. Triangular patch drawing can be performed.
  • the drawing unit 239 (image generation unit) performs a perspective projection (mapping) of the triangular patch drawn in the 3D model coordinate system onto the visual field range with the viewing position supplied from the line-of-sight detection unit 234 as a viewpoint, thereby displaying the display image. Generate.
  • the drawing unit 239 transmits the display image to the conversion device 14 in FIG.
  • FIG. 20 is a block diagram illustrating a configuration example of the ML3D model generation unit 235 of FIG.
  • a conversion unit 260, an occlusion processing unit 261, and a 3D model generation unit 262 are configured.
  • the decoder 251 of the ML3D model generation unit 235 decodes the first layer texture stream supplied from the line-of-sight detection unit 234 in FIG. 19 to generate a first layer texture image.
  • the decoder 251 supplies the texture image of the first layer to the RGB converter 252.
  • the RGB conversion unit 252 converts the YCbCr value as the pixel value of each pixel of the texture image of the first layer into an RGB value, and sets the RGB value of the sampling point corresponding to each pixel. Then, the RGB conversion unit 252 supplies the RGB value of each sampling point to the 3D model generation unit 256.
  • the decoder 253 decodes the first layer depth stream supplied from the line-of-sight detection unit 234, and generates a first layer depth image.
  • the decoder 253 supplies the depth image of the first layer to the depth conversion unit 254.
  • the depth conversion unit 254 performs 8-bit inverse quantization on the pixel value of each pixel of the depth image of the first layer supplied from the decoder 253 to obtain an inverse 1 / r. Then, based on the inverse 1 / r of each pixel of the first layer depth image, the depth conversion unit 254 converts the three-dimensional position (u, v, z) of each pixel to the three-dimensional sampling point corresponding to each pixel. Obtained as position (u, v, z). The depth conversion unit 254 supplies the three-dimensional position (u, v, z) of each sampling point to the discontinuity detection unit 255 and the 3D model generation unit 256.
  • the discontinuity detection unit 255 Based on the three-dimensional position (u, v, z) of each sampling point supplied from the depth conversion unit 254, the discontinuity detection unit 255 includes adjacent sampling points among the pixels of the depth image of the first layer. Discontinuous pixels that are pixels corresponding to sampling points whose z coordinate difference is equal to or greater than the threshold are detected. The discontinuity detection unit 255 supplies the 3D position (u, v, z) of the sampling points corresponding to the discontinuous pixels to the 3D model generation unit 256.
  • the 3D model generation unit 256 (connection information generation unit), based on the three-dimensional position (u, v, z) of each sampling point supplied from the depth conversion unit 254, three adjacent samplings among the sampling points.
  • the connection information of each sampling point is generated so that the points are connected. That is, for each sampling point, the 3D model generation unit 256 generates connection information representing the connection between the three vertices of the triangular patch having the sampling point as a vertex. Then, the 3D model generation unit 256 generates connection information of each sampling point generated based on the three-dimensional position (u, v, z) of the sampling point corresponding to the discontinuous pixel supplied from the discontinuity detection unit 255. The connection information indicating the connection with the sampling points corresponding to the discontinuous pixels is deleted.
  • the 3D model generation unit 256 generates the three-dimensional position (u, v, z) of each sampling point of the first layer, the RGB value, and the connection information after deletion as three-dimensional data of the first layer. To the drawing unit 239.
  • the processes of the decoder 257, the RGB conversion unit 258, the decoder 259, and the depth conversion unit 260 are the same except that the processing target layer is changed from the first layer to the second layer, the decoder 251, the RGB conversion unit 252, the decoder 253, Since it is the same as that of the depth conversion unit 254, description thereof is omitted.
  • the occlusion processing unit 261 detects discontinuous pixels among the pixels of the second layer depth image based on the three-dimensional position (u, v, z) of each sampling point supplied from the depth conversion unit 260.
  • the occlusion processing unit 261 corrects the three-dimensional position (u, v, z) of the sampling point corresponding to the discontinuous pixel based on the three-dimensional position (u, v, z) of each sampling point of the second layer. Perform occlusion processing.
  • the occlusion processing unit 261 determines the two-dimensional position (u, v) of the sampling point corresponding to the discontinuous pixel as the two-dimensional position (u, v) of the sampling point near and near the sampling point. Correct to v).
  • the occlusion processing unit 261 supplies the 3D position (u, v, z) after the occlusion processing of each sampling point of the second layer to the 3D model generation unit 262.
  • the 3D model generation unit 262 calculates, for each sampling point, the sampling point and two adjacent sampling points. Generate connection information representing a connection.
  • the 3D model generation unit 262 generates the three-dimensional position (u, v, z) and connection information of each sampling point, and the RGB value supplied from the RGB conversion unit 258 as the three-dimensional data of the second layer.
  • the 3D model generation unit 256 supplies the 3D data of the second layer to the drawing unit 239 of FIG.
  • generation part 237 are comprised similarly to the ML3D model production
  • FIG. 21 is a diagram for explaining connection information when connection information indicating connection with sampling points corresponding to discontinuous pixels in the connection information of the first layer is not deleted, and FIG. It is a figure explaining connection information.
  • the left-right direction represents the horizontal direction of the texture image
  • the vertical direction represents the depth direction of the texture image.
  • 21 and 22 is the front side
  • the lower direction is the back side.
  • the solid line represents the three-dimensional position (u, v, z) of each sampling point in the first layer
  • the dotted line represents the three-dimensional position (u, v) of each sampling point in the second layer. v, z).
  • the subject is the foreground 111 and the background 112 of FIG.
  • connection information indicating the connection with the sampling points corresponding to the discontinuous pixels is not deleted in both the first layer and the second layer, as shown in FIG. 21A, the first layer and the second layer are not connected.
  • a sampling point corresponding to a continuous pixel is connected to two adjacent sampling points.
  • a triangular patch having the sampling points corresponding to the discontinuous pixels of the first layer and two adjacent sampling points as vertices is generated, and the captured image 122C in the effective area is filled with the triangular patches. Therefore, when generating a display image including the captured occlusion area 112C corresponding to the line of sight V from the lower right to the upper left in the drawing, the effective area of the second layer in which the captured image 122C of the captured occlusion area 112C is arranged. Cannot be used.
  • connection information indicating connection with sampling points corresponding to discontinuous pixels is not deleted, but when occlusion processing is performed, as shown in FIG.
  • the two-dimensional position of the sampling point corresponding to the discontinuous pixels of the first layer and the second layer is corrected to the two-dimensional position of the sampling point near and near the sampling point.
  • the captured image 122A of the first layer region 112A can be used as the display image of the captured occlusion region 112C.
  • the image quality of the display image is improved.
  • the sampling points corresponding to the discontinuous pixels of the first layer after the occlusion processing are connected to two adjacent sampling points, and a triangular patch is generated. Therefore, as in the case of A in FIG. 21, when generating a display image corresponding to the line of sight V, the effective region of the second layer in which the captured image 122C of the captured occlusion region 112C cannot be used.
  • the 3D model generation unit 256 deletes the connection information representing the connection with the discontinuous pixels in the first layer. Therefore, a triangular patch having a sampling point corresponding to the discontinuous pixel in the first layer as a vertex is not generated. Therefore, when generating a display image corresponding to the line of sight V, the effective region of the second layer in which the captured image 122C of the captured occlusion region 112C is arranged can be used. Since the connection information is not deleted in the second layer, the triangle patch of the second layer always exists in the area where the triangle patch of the first layer does not exist.
  • the occlusion processing unit 261 performs an occlusion process on the second layer. Therefore, as shown in FIG. 22, the two-dimensional position of the back sampling point among the sampling points corresponding to the discontinuous pixels at the boundary between the effective area and the imaginary area of the second layer is near and in front of the sampling point. It is corrected to the two-dimensional position of the sampling point on the side. Accordingly, the occlusion area is reduced in the second layer. Therefore, the image quality of the second layer used when generating the display image corresponding to the line of sight V is improved, and as a result, the image quality of the display image is improved.
  • FIG. 23 and FIG. 24 are diagrams for explaining sampling points when the angle of view of each surface of the first layer is 90 degrees and 100 degrees, respectively.
  • the resolution of the texture image and the depth image of the first layer when the angle of view of each surface of the first layer is 90 degrees and 100 degrees is 4 ⁇ 4 pixels, respectively. Assume 6x6 pixels.
  • the position (u, v) of the sampling point 291 on the texture image 280 of the -Z plane 86 of the first layer that is, from the viewpoint O in the 3D model coordinate system toward the sampling point 291.
  • the position where the line intersects the ⁇ Z plane 86 is the center of each pixel 281.
  • the positions (u, v) of the sampling points on the other surfaces 81 to 85 are also the centers of the respective pixels similarly to the ⁇ Z surface 86.
  • the u-direction and v-direction sizes of 283 are smaller than the respective surfaces 81 to 86 by half the size of the pixels. Therefore, a triangular patch corresponding to the boundary between the surfaces 81 to 86 is not generated, and as a result, it becomes difficult to generate a display image of a line of sight that passes through the boundary between the surfaces 81 to 86 with high image quality.
  • the size of the texture image 310 of the surface of the first layer including the ⁇ Z surface 86 is as shown in FIG. It becomes 6 ⁇ 6 pixels larger than the size of the 23 texture images 280.
  • the size of the texture image on each surface of the first layer including the other surfaces 81 to 85 is 6 ⁇ 6 pixels.
  • the size in the u direction and the v direction is larger by half the size of the pixel than the ⁇ Z plane 86.
  • the u-direction and v-direction sizes of the triangular patch regions on each surface of the first layer including the other surfaces 81 to 85 are similar to those of the surfaces 311 in the u-direction and v-direction sizes. Only half the size is larger. Therefore, a triangular patch corresponding to the boundary between the surfaces 81 to 86 is generated. As a result, a display image of an arbitrary line of sight including the line of sight passing through the boundary between the surfaces 81 to 86 can be generated with high image quality.
  • FIG. 25 is a diagram for explaining occlusion processing when the angle of view of each surface of the second layer is 90 degrees and 100 degrees.
  • the horizontal axis represents the u axis
  • the vertical axis represents the z axis.
  • a circle represents a sampling point.
  • the z coordinate is larger as the position in the depth direction is the far side.
  • the sampling point is mapped to only one surface of the second layer. Therefore, as shown in FIG. 25A, the sampling point 332 adjacent to the sampling point 331 that is mapped to the end in the u direction of the processing target surface is not mapped to the processing target surface, but the processing target surface.
  • the position of the sampling point 332 on the z-axis is not known during the occlusion process.
  • the pixel corresponding to the sampling point 331 is not detected as a discontinuous pixel.
  • the surface to which the sampling point 332 is mapped is the processing target surface, the pixel corresponding to the sampling point 332 is not detected as a discontinuous pixel. Therefore, the occlusion process cannot be performed on the sampling point 331 and the sampling point 332. That is, in order to perform the occlusion processing on the sampling point 331 and the sampling point 332, it is necessary to use a depth image of a surface adjacent to the processing target surface in addition to the depth image of the processing target surface.
  • sampling points that are mapped to areas other than the edge of the surface adjacent to that surface are margins.
  • Duplicate mapping For example, the sampling point 332 mapped to an area other than the end of the surface adjacent to the processing target surface is mapped to the end of the processing target surface to which the sampling point 331 is mapped.
  • the pixels corresponding to the sampling point 331 and the sampling point 332 are detected as discontinuous pixels. Therefore, as shown in B of FIG. 25, the occlusion process can be performed on the sampling point 331 and the sampling point 332. As a result, the u coordinate of the sampling point 332 corresponding to the discontinuous pixel is corrected to the u coordinate of the sampling point 333 in front of the sampling point 332 in the vicinity of the sampling point 332 (z coordinate is small).
  • the sampling point 334 corresponds to the sampling point 335.
  • the pixels to be detected are also detected as discontinuous pixels.
  • the u coordinate of the sampling point 334 is corrected to the u coordinate of the sampling point 336 on the near side of the sampling point 334 near the sampling point 334.
  • the sampling point 337 at the end where the u coordinate of the surface to be processed is the largest is mapped to a region other than the end of the surface adjacent to the surface to be processed. Accordingly, when this surface is the surface to be processed, it is determined whether or not the pixel corresponding to the sampling point 337 is a discontinuous pixel, and when it is determined that the pixel is a discontinuous pixel, the occlusion for the sampling point 337 is determined. Processing can be performed.
  • each surface of the second layer when the angle of view of each surface of the second layer is 100 degrees, only the sampling point of each surface is used, and the sampling point 331 mapped to the end of the region other than the end of each surface is used.
  • the occlusion process can also be performed. As a result, the occlusion area of the second layer is reduced, and the image quality of the display image can be improved.
  • FIG. 25 illustrates the effect when the angle of view of each surface of the second layer is 100 degrees. However, if the angle of view of each surface of the second layer is greater than 90 degrees, the angle of view is not 100 degrees. However, the same effect occurs.
  • the ML3D model generation units 235 to 237 may perform image processing such as filter processing using peripheral pixels on the texture image or depth image obtained as a result of decoding.
  • image processing such as filter processing using peripheral pixels on the texture image or depth image obtained as a result of decoding.
  • the angle of view of each surface of the first layer and the second layer is larger than 90 degrees, the image processing can be performed at the end of the region other than the end of each surface as in the occlusion processing. The effect that can be obtained.
  • FIG. 26 is a flowchart for explaining the reproduction process of the home server 13 of FIG.
  • This reproduction processing is performed by, for example, a low-resolution texture stream and a low-resolution depth stream transmitted from the content server 12, a six-layer first layer texture stream, a first layer depth stream, a second layer texture stream, and a second layer. It is started when a layer depth stream and metadata are transmitted.
  • step S41 of FIG. 26 the receiving unit 231 of the home server 13 receives from the content server 12 a low resolution texture stream and a low resolution depth stream, a six-layer first layer texture stream, a first layer depth stream, and a second layer.
  • the texture stream, the second layer depth stream, and the metadata are received and supplied to the storage 232.
  • step S42 the storage 232 stores the low-resolution texture stream and the low-resolution depth stream, the six-layer first layer texture stream, the first layer depth stream, the second layer texture stream, the second layer depth stream, and the metadata.
  • step S43 the receiving unit 233 receives the detection result of the gyro sensor 15B of FIG. 1 from the head mounted display 15 and supplies it to the line-of-sight detection unit 234.
  • step S44 the line-of-sight detection unit 234 determines the line-of-sight direction of the viewer in the 3D model coordinate system based on the detection result of the gyro sensor 15B supplied from the reception unit 233.
  • step S ⁇ b> 45 the camera 13 ⁇ / b> A images the marker 15 ⁇ / b> A attached to the head mounted display 15 and supplies a captured image obtained as a result to the line-of-sight detection unit 234.
  • step S46 the line-of-sight detection unit 234 detects the viewing position in the 3D model coordinate system based on the captured image of the marker 15A supplied from the camera 13A and supplies the detected viewing position to the drawing unit 239.
  • step S ⁇ b> 47 the line-of-sight detection unit 234 selects one of the six surfaces based on the first layer table of the metadata stored in the storage 232 and the viewing position and line-of-sight direction in the 3D model coordinate system. Three planes corresponding to the line-of-sight vector closest to the line of sight are determined as selection planes.
  • step S48 the line-of-sight detection unit 234 determines the viewing field range of the viewer in the 3D model coordinate system based on the viewing position and the line-of-sight direction in the 3D model coordinate system, and supplies them to the drawing unit 239.
  • step S49 the line-of-sight detection unit 234 reads the low-resolution texture stream and the low-resolution depth stream from the storage 232, and supplies them to the 3D model generation unit 238. Further, the line-of-sight detection unit 234 reads out the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream corresponding to the three selection planes from the storage 232. The line-of-sight detection unit 234 supplies the read first layer texture stream, first layer depth stream, second layer texture stream, and second layer depth stream to the ML3D model generation units 235 to 237 for each surface. In addition, the line-of-sight detection unit 234 reads viewpoint position information and surface information corresponding to the three selection surfaces from the storage 232, and supplies them to the drawing unit 239.
  • step S50 the ML3D model generation units 235 to 237 perform three-dimensional data generation processing for generating three-dimensional data of the sampling points of the first layer and the second layer for each surface. Details of the three-dimensional data generation processing will be described later with reference to FIG.
  • step S51 the 3D model generation unit 238 generates three-dimensional data of each sampling point of the low-resolution texture image from the low-resolution texture stream and the low-resolution depth stream supplied from the line-of-sight detection unit 234, and sends them to the drawing unit 239. Supply.
  • step S52 the drawing unit 239 performs triangular patch drawing of the low-resolution texture image in the 3D model coordinate system based on the three-dimensional data of the low-resolution texture image supplied from the 3D model generation unit 238. Thereafter, the drawing unit 239 is based on the first and second layer three-dimensional data supplied from each of the ML3D model generation units 235 to 237 and the viewpoint position information and surface information supplied from the line-of-sight detection unit 234. In the 3D model coordinate system, the triangular patch drawing of the texture images of the first layer and the second layer is performed.
  • step S53 the drawing unit 239 generates a display image by perspectively projecting the triangular patch drawn in the 3D model coordinate system into the visual field range with the viewing position supplied from the line-of-sight detection unit 234 as a viewpoint.
  • step S54 the drawing unit 239 transmits the display image to the conversion device 14 in FIG.
  • FIG. 27 is a flowchart for explaining details of the three-dimensional data generation process performed by the ML3D model generation unit 235 in step S50 of FIG.
  • step S71 of FIG. 27 the decoder 251 (FIG. 20) of the ML3D model generation unit 235 decodes the first layer texture stream supplied from the line-of-sight detection unit 234 of FIG. 19, and generates a texture image of the first layer. .
  • the decoder 251 supplies the texture image of the first layer to the RGB converter 252.
  • step S72 the RGB conversion unit 252 converts the YCbCr value as the pixel value of each pixel of the texture image of the first layer into an RGB value, and sets the RGB value of the sampling point corresponding to each pixel. Then, the RGB conversion unit 252 supplies the RGB value of each sampling point to the 3D model generation unit 256.
  • step S73 the decoder 253 decodes the first layer depth stream supplied from the line-of-sight detection unit 234, and generates a first layer depth image.
  • the decoder 253 supplies the depth image of the first layer to the depth conversion unit 254.
  • step S74 the depth conversion unit 254 performs 8-bit inverse quantization on the pixel value of each pixel of the first layer depth image supplied from the decoder 253, and the inverse of each pixel of the first layer depth image. Get 1 / r.
  • step S75 the depth conversion unit 254 calculates the three-dimensional position (u, v, z) of each pixel of the first layer depth image based on the inverse 1 / r of each pixel of the first layer depth image.
  • the three-dimensional position (u, v, z) of the sampling point corresponding to each pixel is obtained.
  • the depth conversion unit 254 supplies the three-dimensional position (u, v, z) of each sampling point to the discontinuity detection unit 255 and the 3D model generation unit 256.
  • step S76 the discontinuity detection unit 255 determines the error of each pixel of the depth image of the first layer based on the three-dimensional position (u, v, z) of each sampling point supplied from the depth conversion unit 254. Detect continuous pixels.
  • the discontinuity detection unit 255 supplies the 3D position (u, v, z) of the sampling points corresponding to the discontinuous pixels to the 3D model generation unit 256.
  • step S77 the 3D model generation unit 256 uses the three sampling points adjacent to each other among the sampling points based on the three-dimensional position (u, v, z) of each sampling point supplied from the depth conversion unit 254. So that connection information of each sampling point of the first layer is generated.
  • step S78 the 3D model generation unit 256 generates each of the points generated in step S77 based on the three-dimensional position (u, v, z) of the sampling points corresponding to the discontinuous pixels supplied from the discontinuity detection unit 255.
  • the connection information of the sampling points the connection information indicating the connection with the sampling points corresponding to the discontinuous pixels is deleted.
  • step S79 the 3D model generation unit 256 uses the three-dimensional position (u, v, z) of each sampling point of the first layer, the RGB value, and the connection information after deletion by the processing in step S78 as the first layer. Is generated as three-dimensional data.
  • the 3D model generation unit 256 supplies the three-dimensional data of the first layer to the drawing unit 239 in FIG.
  • step S80 the decoder 257 decodes the second layer texture stream supplied from the line-of-sight detection unit 234 to generate a second layer texture image.
  • the decoder 257 supplies the texture image of the second layer to the RGB conversion unit 258.
  • step S81 the RGB conversion unit 258 converts the YCbCr value as the pixel value of each pixel of the texture image of the second layer into an RGB value, and sets the RGB value of the sampling point corresponding to each pixel. Then, the RGB conversion unit 258 supplies the RGB value of each sampling point to the 3D model generation unit 262.
  • step S82 the decoder 259 decodes the second layer depth stream supplied from the line-of-sight detection unit 234, and generates a second layer depth image.
  • the decoder 259 supplies the depth image of the second layer to the depth conversion unit 260.
  • step S83 the depth conversion unit 260 performs 8-bit inverse quantization on the pixel value of each pixel of the second layer depth image supplied from the decoder 259, and the inverse of each pixel of the second layer depth image. Get 1 / r.
  • step S84 the depth conversion unit 260 calculates the three-dimensional position (u, v, z) of each pixel of the second layer depth image based on the inverse 1 / r of each pixel of the second layer depth image.
  • the three-dimensional position (u, v, z) of the sampling point corresponding to each pixel is obtained.
  • the depth conversion unit 260 supplies the three-dimensional position (u, v, z) of each sampling point to the occlusion processing unit 261 and the 3D model generation unit 262.
  • step S85 the occlusion processing unit 261 performs discontinuity among the pixels of the depth image of the second layer based on the three-dimensional position (u, v, z) of each sampling point supplied from the depth conversion unit 260. Detect a pixel.
  • step S86 the occlusion processing unit 261, based on the three-dimensional position (u, v, z) of each sampling point of the second layer, the three-dimensional position (u, v, z) of the sampling point corresponding to the discontinuous pixel. ) To correct the occlusion.
  • the occlusion processing unit 261 supplies the 3D position (u, v, z) after the occlusion processing of each sampling point of the second layer to the 3D model generation unit 262.
  • step S87 the 3D model generation unit 262 uses the three sampling points adjacent to each other among the sampling points based on the three-dimensional position (u, v, z) of each sampling point supplied from the occlusion processing unit 261. So that connection information of each sampling point of the second layer is generated.
  • step S88 the 3D model generation unit 262 converts the three-dimensional position (u, v, z) and connection information of each sampling point and the RGB values supplied from the RGB conversion unit 258 into the three-dimensional data of the second layer.
  • Generate as The 3D model generation unit 256 supplies the 3D data of the second layer to the drawing unit 239 of FIG.
  • the home server 13 generates a display image using the first layer and the second layer. Therefore, when the viewing position is different from the viewpoint O, the occlusion area of the viewpoint O included in the display image can be generated by using the second layer. Therefore, a high-quality display image can be generated.
  • the home server 13 generates a display image using not only the texture image but also the depth image. Therefore, a texture image can be mapped to a triangular patch having a three-dimensional shape according to the subject by drawing a triangular patch, and a display image can be generated using the triangular patch. Therefore, a high-quality display image can be generated as compared with a case where a display image is generated by mapping the texture image to a predetermined surface using only the texture image.
  • the texture image and depth image of the first layer are a texture image and a depth image obtained by mapping the texture image and depth image of the omnidirectional image on a predetermined plane. Accordingly, in the playback device that plays back only the texture image and the depth image obtained by mapping the texture image and the depth image of the omnidirectional image to a predetermined plane, the texture image and the depth image of the first layer can be played back. it can.
  • the format of the texture image and depth image of the first layer and the second layer generated by the content server 12 is a texture image obtained by mapping the texture image and depth image of the omnidirectional image to a predetermined plane, Compatible with depth image format.
  • the playback method by the home server 13 is compatible with the playback method of the playback device that plays back only the texture image and depth image obtained by mapping the texture image and depth image of the omnidirectional image to a predetermined plane. .
  • the home server 13 may generate a display image using only the texture image and the depth image of the first layer. In this case, an occlusion process is performed on the first layer instead of deleting the connection information.
  • the 3D model generation unit 256 deletes the connection information indicating the connection with the sampling points corresponding to the discontinuous pixels detected by the discontinuity detection unit 255, but is transmitted from the content server 12.
  • the connection information may be deleted based on the coming triangle patch valid / invalid information (details will be described later). In this case, the discontinuity detection unit 255 is not provided.
  • FIG. 28 is a diagram for explaining the triangular patch valid / invalid information transmitted from the content server 12 in such a case.
  • the number of sampling points 351 in the first layer is twelve. Therefore, the number of triangular patches 352 having three adjacent sampling points 351 as vertices is twelve.
  • the content server 12 detects discontinuous pixels in the same manner as the discontinuity detection unit 255. Then, the content server 12 sets the triangular patch 352 whose vertex is the sampling point corresponding to the discontinuous pixel to invalid (OFF), and enables the triangular patch 352 not including the sampling point corresponding to the discontinuous pixel (ON). ).
  • the content server 12 (generation unit) generates triangle patch validity / invalidity information indicating validity / invalidity of each triangle patch 352 and includes it in the metadata.
  • the 3D model generation unit 256 of the home server 13 deletes the connection information indicating the connection between the sampling points constituting the vertices of the invalid triangle patch based on the triangle patch valid / invalid information. As a result, a triangular patch whose invalidity information is invalid is not drawn.
  • the triangle patch valid / invalid information is 1-bit information indicating validity or invalidity of the triangle patch. Therefore, the number of bits of the triangle patch valid / invalid information of all the triangle patches is (width-1) * () where the horizontal number of pixels of the texture image of the first layer is width and the vertical number of pixels is height. height-1) * 2 bits.
  • the triangle patch valid / invalid information is transmitted from the content server 12 to the home server 13 with lossless compression or non-compression.
  • the triangular patch valid / invalid information may be arranged as Cb and Cr values of the depth image.
  • FIG. 29 is a block diagram illustrating a configuration example of the second embodiment of the image display system to which the present disclosure is applied.
  • the 29 includes the multi-camera 11, the content server 12, the conversion device 14, the head mounted display 15, the distribution server 401, the network 402, and the playback device 403.
  • the image display system 400 only the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream of one of the six surfaces corresponding to the line of sight are played back by the playback device 403. Delivered to and played.
  • the distribution server 401 of the image display system 400 includes a low-resolution texture stream and a low-resolution depth stream, a six-layer first-layer texture stream, a first-layer depth stream, and a first-layer depth stream transmitted from the content server 12.
  • a two-layer texture stream, a second layer depth stream, and metadata are received and stored.
  • the distribution server 401 is connected to the playback device 403 via the network 402.
  • the distribution server 401 stores a low-resolution texture stream and a low-resolution depth stream, a first layer texture stream of one surface, a first layer depth stream, and a second layer texture stream.
  • the second layer depth stream and metadata are transmitted to the playback apparatus 403 via the network 402.
  • the playback device 403 (image processing device) requests a low resolution texture stream, a low resolution depth stream, and metadata from the distribution server 401 via the network 402, and is transmitted in response to the request. Receive low-resolution depth streams and metadata.
  • the playback device 403 includes a camera 13A. Similar to the home server 13, the playback device 403 detects the viewing position in the 3D model coordinate system, and determines the viewing direction and the visual field range of the viewer in the 3D model coordinate system.
  • the playback device 403 has the line of sight closest to the line of sight among the six surfaces of the first layer. One surface corresponding to the vector is determined as the selected surface.
  • the playback device 403 requests the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream corresponding to one selection surface via the network 402.
  • the playback device 403 receives a first layer texture stream, a first layer depth stream, a second layer texture stream, and a second layer depth stream corresponding to one selected surface transmitted in response to the request.
  • the playback device 403 uses the low-resolution texture stream and the low-resolution depth stream, and the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream corresponding to one selected plane. To generate a display image.
  • the processing for generating the display image of the playback device 403 is the same as the processing of the home server 13 except that the number of selection planes is one, and thus description thereof is omitted.
  • the playback device 403 transmits the display image to the conversion device 14 via an HDMI cable (not shown).
  • FIG. 30 is a diagram illustrating another example of the texture image of the first layer.
  • the texture image of each surface of the first layer is the texture image of one viewpoint O, but the left eye viewpoint texture image and the right eye viewpoint texture image corresponding to the viewpoint O are synthesized. It may be.
  • the texture image of each surface of the first layer includes, for example, the texture image 421 of each surface of the first layer of the viewpoint for the left eye corresponding to the viewpoint O, and the right eye.
  • the texture image 422 of each surface of the first layer of the viewpoint for use may be a packed image 420 packed in the horizontal direction (horizontal direction).
  • the texture image of each surface of the first layer may be, for example, a packed image 440 in which the texture image 421 and the texture image 422 are packed in the vertical direction (vertical direction). Good.
  • the texture image of each face of the second layer includes the texture image of the second layer of the viewpoint for the left eye corresponding to the viewpoint of one second layer of the face, and the texture of the second layer of the viewpoint for the right eye.
  • a packing image in which images are packed in the horizontal direction or the vertical direction may be used.
  • the texture image of each surface of the first layer and the second layer is a texture image in which images of the left eye viewpoint and the right eye viewpoint are packed
  • the texture image obtained as a result of decoding is for the left eye
  • the viewpoint texture image and the right-eye viewpoint texture image are separated.
  • three-dimensional data for the left eye and three-dimensional data for the right eye are generated for the first layer and the second layer.
  • a display image for the left eye is generated from the three-dimensional data for the left eye.
  • a display image for the right eye is generated from the three-dimensional data for the right eye.
  • the omnidirectional image is generated by mapping the captured image to the regular octahedron, but the 3D model to which the captured image is mapped is not limited to the regular octahedron, It can be a cube.
  • the omnidirectional image is, for example, an image obtained by equirectangular projection of a sphere to which the captured image is mapped.
  • the low resolution texture stream and the low resolution depth stream may not be generated.
  • the depth images of the first layer and the second layer may not be generated.
  • the texture image and depth image of the second layer may be generated only for a part of the surface onto which the captured image of the important subject is mapped.
  • the low-resolution texture image and the low-resolution depth image may be generated in a layered manner, similarly to the high-resolution texture image and the depth image.
  • the texture image and depth image and metadata format in the multi-camera 11 described above the texture image and depth image photographed by the multiple multi-cameras 11 or photographed by the multiple multi-cameras.
  • the texture image and the depth image rendered from the rendered texture image and the depth image even when the viewpoint position moves, the expressiveness of the texture and the stereoscopic effect may be enhanced.
  • FIG. 31 is a block diagram illustrating a configuration example of an image display system according to a third embodiment in which a plurality of multi-cameras 11 are used to enhance the expressiveness of texture and stereoscopic effect even when the viewpoint position is moved. It is.
  • components having the same functions as those in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • a plurality of multi-cameras 11 are provided, and instead of the content server 12 and the home server 13, a content server 501 and a home server 502 are newly provided.
  • the content server 501 is the same as the content server 12 in basic functions, but from the captured images of the cameras supplied from the multiple cameras 11-1 to 11-n, A texture image and a depth image of the first layer and the second layer constituting the spherical image are generated. Further, the content server 501 uses a virtual viewpoint (capturing position) where the multi-cameras 11-1 to 11-n do not exist based on the texture image and the depth image of the omnidirectional image of each predetermined viewpoint of each multi-camera 11. ) And metadata (viewpoint information metadata) that can generate texture images and depth images of the first and second layers of the omnidirectional image for each virtual viewpoint specified by the virtual line-of-sight direction (shooting direction). Data) is generated and supplied to the home server 502.
  • the home server 502 is similar to the home server 13 in basic functions, but determines a corresponding virtual viewpoint from the viewer's visual field range based on the viewing position and the viewing direction, and is identified by the virtual viewpoint. Based on the information metadata, a texture image and a depth image are generated and displayed on the head mounted display 15 via the conversion device 14.
  • a decoder 511 differs from the high resolution image processing unit 34 in FIG. 3 in that a decoder 511, a viewpoint information metadata generation unit 512, and an encoder 513 are newly provided.
  • the decoder 511 is the same as the decoders 251 and 257 of the ML3D model generation unit 235 of FIG.
  • the encoder 513 is the same as the encoder 53.
  • the viewpoint information metadata generation unit 512 controls the decoder 511 to generate multi-cameras 11-1 to 11- stored in the storage 58, which are generated by the stream generation processing described with reference to the flowchart of FIG. n first layer texture streams and first layer depth streams, and second layer texture streams and second layer depth streams are obtained.
  • the viewpoint information metadata generation unit 512 uses the acquired first layer texture stream and first layer depth stream, and second layer texture stream and second layer depth stream of the multi-cameras 11-1 to 11-n.
  • the first layer texture stream, the first layer depth stream, and the second layer texture stream at various virtual viewpoints when the multi camera 11 is virtually installed in a space where the multi camera 11 is actually set.
  • the second layer depth stream is generated, and the viewpoint information metadata is generated from the generation result.
  • the viewpoint information metadata generation unit 512 generates viewpoint information for generating the first layer texture stream and the first layer depth stream, and the second layer texture stream and the second layer depth stream in the generated various virtual viewpoints.
  • the metadata is stored in the storage 58 via the encoder 513.
  • the viewpoint information metadata generation unit 512 includes a viewpoint drawing unit 521 and a viewpoint information generation unit 522.
  • the viewpoint drawing unit 521 has real camera parameters including a shooting position and a line-of-sight direction in the real space of the multi-camera 11 actually installed, and a shooting position and a line-of-sight direction in which the multi-camera 11 is virtually installed in the real space.
  • the layer texture stream and the second layer depth stream are converted into the first layer texture stream and the first layer depth stream, and the second layer texture stream and the second layer depth captured by the actual multi-cameras 11-1 to 11-n. Draw using a stream.
  • the viewpoint information generation unit 522 includes, on a part of the image drawn by the viewpoint drawing unit 521, the first layer texture stream and the first layer depth of the multi-cameras 11-1 to 11-n at the virtual viewpoint that is the virtual camera parameter.
  • Stream, and second layer texture stream and second layer depth stream, first layer texture stream and first layer depth stream captured by actual multi-cameras 11-1 to 11-n, and second layer texture A viewpoint information parameter required for generating from the stream and the second layer depth stream is generated and output.
  • the virtual viewpoint V1 shown in the lower center portion of FIG.
  • the line-of-sight direction similar to the angle facing the subject A as in the virtual viewpoint V1
  • the higher the weight is set for the camera the higher the degree of similarity
  • the vertex T viewed from the virtual viewpoint V1 is drawn on a vertex basis by the weighted average using the set weight.
  • a virtual viewpoint is used on the basis of output images using images P0 to P2 photographed by real cameras Cam0 to Cam2 from viewpoints in three directions.
  • the image Pv photographed in step S3 is set, and ray tracing using the pixel values of the pixels T0 to T2 corresponding to the respective vertices T is performed, depending on the position of the virtual viewpoint V1 shown in the right part of FIG.
  • a method of drawing the vertex T viewed from V1 can be considered.
  • FIG. 34 the drawing method that does not depend on the viewpoint direction (View Independent) is shown in the left part, and the drawing method that depends on the viewpoint direction (View Dependent) is shown in the center part and the right part.
  • a drawing method that takes into account the viewpoint direction, that is, depends on the viewpoint direction (View ⁇ Dependent) is desirable.
  • the viewpoint drawing unit 521 of the present disclosure draws an image at the virtual viewpoint by a drawing method (View Dependent) that depends on the viewpoint direction.
  • the viewpoint drawing unit 521 draws the vertex T of the subject A with the camera of the virtual viewpoint V1, among the images photographed by the cameras Cam0 to Cam2.
  • the pixels of the virtual viewpoint are drawn by weighted average in the order close to the virtual viewpoint V1, that is, in the order of the cameras Cam1, Cam0, and Cam2.
  • the viewpoint information generation unit 522 determines the viewpoint of the line-of-sight direction (Rotation) and viewpoint position (Translation) of the texture image and the depth image captured by the actual camera Cam1 having the largest weight when obtaining the weighted average. Register as information metadata.
  • a micro parallax virtual viewpoint that becomes a micro parallax with the virtual viewpoint is set.
  • a plurality of minute parallax virtual viewpoints can be set for one virtual viewpoint.
  • the viewpoint drawing unit 521 draws a minute parallax virtual viewpoint image, which is a minute parallax virtual viewpoint image that is a minute parallax with respect to each virtual viewpoint, by weighted averaging as in the case of drawing a virtual viewpoint image.
  • the viewpoint information generation unit 522 obtains the weighted average for drawing the minute parallax virtual viewpoint image, and the line-of-sight direction (Rotation) of the texture image and the depth image captured by the actual multi-camera 11 having the largest weight. , And viewpoint position (Translation) are registered as viewpoint information metadata.
  • the first layer and second layer texture images and depth images for the virtual viewpoint are obtained, and viewpoint information metadata is generated. Furthermore, the viewpoint information metadata of the texture image and the depth image of the first layer and the second layer for the minute parallax virtual viewpoint based on the virtual viewpoint is generated, and the viewpoint information metadata is generated based on the generation result. .
  • the viewpoint drawing unit 521 draws pixels Pixv corresponding to the vertex C in the virtual viewpoint image Pv as shown in FIG. Among these, as images including pixels corresponding to the vertex C, for example, images P0 to P2 are extracted.
  • the viewpoint drawing unit 521 has larger weights w0, w1, and the closer to the visual line direction Vt of the camera that captures the virtual viewpoint image Pv among the visual line directions V0 to V2 of the actual camera that captured the images P0 to P2.
  • the line-of-sight direction V1 is the closest to the line-of-sight direction Vt
  • the line-of-sight direction V0 is next
  • the line-of-sight direction V2 is the farthest, so that w1> w0> w2.
  • “the direction of the line of sight is close” means that the smaller the angle formed with each direction, the closer the line of sight is.
  • the present invention is not limited to this. Good.
  • the viewpoint information generation unit 522 selects the image P0 having the maximum weight and the virtual viewpoint image Pv among the images P0 to P2 related to the generation of the pixel Tv of the virtual viewpoint image Pv drawn by the viewpoint drawing unit 521.
  • viewpoint information metadata including the line-of-sight direction (Rotation) and viewpoint position (Translation) of the image P0 is generated.
  • the viewpoint drawing unit 521 draws an image of a minute parallax virtual viewpoint that is a minute parallax with respect to the same virtual viewpoint, even for a minute parallax virtual viewpoint that is a minute parallax with respect to each virtual viewpoint.
  • the viewpoint information generation unit 522 also generates viewpoint information metadata necessary for constructing a minute parallax virtual viewpoint image together with the minute parallax virtual viewpoint image drawn by the viewpoint drawing unit 521.
  • the viewpoint information generation unit 522 uses the viewpoint information metadata of the texture image and depth image of the first layer and the second layer for each minute parallax virtual viewpoint, and the textures of the first layer and the second layer of the reference virtual viewpoint.
  • the viewpoint information metadata for images and depth images is managed using the concept of layers.
  • the viewpoint information metadata of the texture image and the depth image of the first layer and the second layer corresponding to one virtual viewpoint is the same as the first layer and the first layer described with reference to FIG. It is set for each of the six surfaces 81 to 86 constituting a cube centered on the origin in the two-layer 3D model coordinate system.
  • the viewpoint information metadata of each plane for the virtual viewpoint is shown in FIG. It is set for each of the surfaces GL01 to GL06 set as the global layer GL0.
  • the viewpoint information metadata of each of the six surfaces of the texture image and the depth image of the first layer and the second layer of the minute parallax virtual viewpoint that is the first minute parallax with respect to the reference virtual viewpoint It is set on each of the surfaces GL11 to GL16 set as the global layer GL1.
  • the first layer of the micro parallax virtual viewpoint that is the second micro parallax different from the first micro parallax with respect to the reference virtual viewpoint, and each of the six surfaces of the texture image and the depth image of the second layer
  • the viewpoint information metadata is set in each of the planes GL21 to GL26 set as the global layer GL2.
  • the viewpoint information metadata set in each of the six surfaces 81 to 86 for one reference virtual viewpoint is set as the global layer GL0, and the minute information for one reference virtual viewpoint is set. It is shown that the planes 81 to 86 for the parallax virtual viewpoint are set as the global layers GL1 and GL2.
  • the first layer and the second layer described with reference to FIGS. 10 and 11 are layers that mainly distinguish the foreground and the background, whereas the global layer described with reference to FIG. Virtual viewpoint and minute parallax set for each of the six surfaces 81 to 86 that are texture images and depth images of the first layer and the second layer set for the virtual viewpoint and minute parallax.
  • This is a layer that distinguishes viewpoint information metadata of a virtual viewpoint.
  • the texture images and depth images of the first layer and the second layer are a plurality of images captured by a plurality of real cameras existing in the vicinity of the virtual viewpoint.
  • An image (including an image generated by rendering an image photographed by a real camera) is obtained by setting a large weight in order from the closest to the visual line direction of the virtual viewpoint and performing weighted averaging.
  • the viewpoint information metadata in the lower part of FIG. 37 includes Global ⁇ ⁇ Layer ID, Rotation, and Translation that identify the global layer from the left.
  • viewpoint information metadata in the lower part of FIG. 37 one virtual viewpoint and viewpoint information metadata for the minute parallax virtual viewpoint are shown, and the global layers GL0 to GL0 to GL0 shown in FIG.
  • the viewpoint information metadata has a configuration as shown in FIG. 37 and is set for each of the six surfaces.
  • the texture image and depth image of the six planes for one virtual viewpoint shown in FIG. 37 and the minute parallax virtual viewpoint, and the viewpoint information metadata are obtained by any of the multi-cameras 11 that actually exist.
  • the captured image is specified, but it may be the texture information and depth image viewpoint information metadata of any of the six surfaces set to any other virtual viewpoint.
  • each layer is an image captured by a virtual camera that is set by virtually providing a multi-camera 11 at a virtual viewpoint or a minute parallax virtual viewpoint.
  • the example of setting has been described, but as described above, when combining images, a weighted average according to whether or not a plurality of images including a common subject are close to the line-of-sight direction is obtained. . For this reason, the number of layers in the global layer does not have to be the same for the six surfaces. For example, as shown in the upper right part of FIG. A plurality of global layers may be set, and a single global layer may be set on the other surfaces.
  • viewpoint information metadata for setting Layer num indicating the number of global layers is added in association with Panel ID for identifying each surface.
  • the fact that the number of layers that are the global layers of the viewpoint information metadata required for each of the virtual viewpoint and the plurality of micro-parallax virtual viewpoints is small even if the visual line direction is changed in the vicinity of the virtual viewpoint. It shows that there is no big change in the image.
  • the number of global layers is large between the virtual viewpoint and the plurality of micro-parallax virtual viewpoints, the viewing image changes greatly when the line-of-sight direction is changed as much as possible.
  • virtual viewpoint image generation processing is a process executed after the stream generation process described with reference to the flowchart of FIG. 18 is executed. Moreover, the following processes are processes performed on each of the six surfaces.
  • step S101 the decoder 511 sets an unprocessed virtual viewpoint as a processing target virtual viewpoint.
  • the virtual viewpoint is arbitrarily set for a space in which a plurality of multi-cameras 11 are set, and the interval between the positions and the line-of-sight direction can be arbitrarily set.
  • an unprocessed one of the plurality of virtual viewpoints set as the processing target virtual viewpoint.
  • step S102 the decoder 511 reads the texture image and the depth image of each surface of the first layer and the second layer of the multi-camera 11 in the vicinity of the virtual viewpoint stored in the storage 58.
  • step S103 the decoder 511 decodes the read texture images and depth images of the first and second layers of the multi-camera 11 near the virtual viewpoint, and supplies the decoded texture images and depth images to the viewpoint information metadata generation unit 512.
  • step S ⁇ b> 104 the viewpoint drawing unit 521 of the viewpoint information metadata generation unit 512 uses the method described with reference to FIG. 35, and the first layer and second layer texture images captured by the multi-camera 11 near the virtual viewpoint. And the depth image, the texture image and the depth image of the first layer and the second layer for the virtual viewpoint are drawn for each, and the texture information and the depth image of the drawn first layer and the second layer are drawn as the viewpoint information generation unit 522. To supply.
  • step S105 the viewpoint information generation unit 522, based on the first layer and second layer texture images and depth images for the virtual viewpoint supplied from the viewpoint drawing unit 521, respectively, the first and second layers of the virtual viewpoint.
  • the viewpoint information metadata necessary for generating the texture image and the depth image of the layer is generated and supplied to the encoder 513.
  • step S106 the encoder 513 encodes the viewpoint information metadata and stores it in the storage 58.
  • the metadata read from the storage 58 includes viewpoint information metadata.
  • step S107 the viewpoint drawing unit 521 sets an unprocessed micro parallax virtual viewpoint for the processing target virtual viewpoint as the processing target micro parallax virtual viewpoint.
  • the minute parallax virtual viewpoint is a virtual viewpoint in which minute parallax occurs with respect to the processing target virtual viewpoint, and the minute parallax virtual viewpoint can be arbitrarily set with respect to the processing target virtual viewpoint.
  • an unprocessed one of the set minute parallax virtual viewpoints is set as a processing target minute parallax virtual viewpoint.
  • the viewpoint drawing unit 521 uses the first and second layer texture images and depth images captured by the multi-camera 11 near the processing target minute parallax virtual viewpoint by the method described with reference to FIG.
  • the first layer and second layer texture images and depth images for the processing-target minute parallax virtual viewpoint are drawn, and the drawn first layer and second layer texture images and depth images are supplied to the viewpoint information generation unit 522. To do.
  • step S109 the viewpoint information generation unit 522 performs the processing target minute parallax virtual viewpoint based on the texture image and the depth image of the first layer and the second layer with respect to the processing target minute parallax virtual viewpoint supplied from the viewpoint drawing unit 521.
  • the viewpoint information metadata required for generating the texture image and the depth image of the first layer and the second layer is generated and supplied to the encoder 513.
  • step S110 the encoder 513 causes the storage 58 to store the first layer and second layer texture images and the depth image viewpoint information metadata.
  • step S111 the viewpoint drawing unit 521 determines whether or not an unprocessed minute parallax virtual viewpoint exists, and when there is a minute parallax virtual viewpoint, the process returns to step S107.
  • the processes in steps S107 to S111 are repeated to set the unprocessed micro-parallax virtual viewpoint as the processing target micro-parallax virtual viewpoint, and sequentially the first of each surface.
  • the process of generating viewpoint information metadata for the texture image and depth image of the layer and the second layer and storing them in the storage 58 is repeated. If it is determined in step S111 that there is no unprocessed minute parallax virtual viewpoint, the process proceeds to step S112.
  • step S112 the encoder 513 determines whether or not there is an unprocessed virtual viewpoint. If there is, the process returns to step S101. That is, as long as there is an unprocessed virtual viewpoint, the processing of steps S101 to S112 is repeated to sequentially set the unprocessed virtual viewpoint as the processing target virtual viewpoint, and sequentially with the minute parallax virtual viewpoint. The process of generating the first layer texture stream, the first layer depth stream, and the viewpoint information metadata for each surface and storing them in the storage 58 is repeated. When it is determined in step S112 that there is no unprocessed virtual viewpoint, the process proceeds to step S113.
  • step S113 the transmission unit 60 reads the viewpoint information metadata of the six planes related to the virtual viewpoint together with the information related to the viewpoint position and the line-of-sight direction of the virtual viewpoint from the storage 58, and transmits the information to the home server 13.
  • the content server 12 has a virtual line-of-sight direction at an arbitrarily settable virtual position where the multi-camera 11 does not actually exist based on images taken by the multiple multi-cameras 11. It is possible to generate viewpoint information metadata of six surfaces that are shot when the multi-camera 11 is provided in the virtual viewpoint. Further, in each virtual viewpoint, it is possible to realize multi-layering by a plurality of global layers by the viewpoint information metadata of the minute parallax virtual viewpoint that is a virtual viewpoint that becomes minute parallax with respect to the set virtual viewpoint.
  • the number of global layers on each side is not necessarily the same.
  • the virtual viewpoint may be a position where the multi-camera 11 is actually provided, and thereby, the first layer of the six planes generated by the multi-camera 11 actually provided.
  • the viewpoint position metadata of the texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream can be handled in multiple layers as a global layer.
  • a plurality of multi-cameras 11 are provided, but the viewpoint information of the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream for each of the six surfaces.
  • the metadata is assumed to be multi-layered by a plurality of global layers corresponding to minute parallax for each virtual viewpoint.
  • the viewpoint information metadata of the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream of the six planes set by one multi-camera 11 is set.
  • Each virtual viewpoint is set in a multi-layered state by a global layer set by a minute parallax virtual viewpoint.
  • the home server 13 identifies the virtual viewpoint that has the closest viewing position and viewing direction of the viewer, and the first layer texture stream, the first layer depth stream, and the second layer of the six surfaces of the corresponding virtual viewpoint.
  • the reproduction process using the texture stream, the second layer depth stream, and the metadata is performed.
  • the high-resolution image processing unit 34 in FIG. 40 differs from the high-resolution image processing unit 34 in FIG. 19 in that the visual line detection unit 531 and ML3D are replaced with the visual line detection unit 234 and ML3D model generation units 235 to 237. The point is that model generation units 532 to 534 are provided.
  • the receiving unit 231 In addition to the viewpoint information metadata of the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream of the six surfaces transmitted from the content server 12, the receiving unit 231 Thus, information on the viewpoint position and the line-of-sight direction of the virtual viewpoint is received and supplied to the storage 232.
  • the line-of-sight detection unit 531 basically has the same function as the line-of-sight detection unit 234, but further, based on the detection result of the gyro sensor 15B supplied from the reception unit 233, the viewer's eye in the 3D model coordinate system The viewing position and line-of-sight direction are determined, and the closest virtual viewpoint is obtained.
  • the viewing position and line-of-sight direction of the viewer, the viewpoint position and line-of-sight direction of the virtual viewpoint, and the coordinate system in which the multi-camera 11 in the real space is arranged have a corresponding 3D model coordinate system set in advance. To do.
  • the line-of-sight detection unit 531 corresponds to the line-of-sight vector closest to the line of sight extending from the viewing position to the line-of-sight direction among the six surfaces of the virtual viewpoint closest to the viewing position and line-of-sight direction in the 3D model coordinate system from the storage 232.
  • One plane is determined as the selection plane.
  • the line-of-sight detection unit 531 corresponds to the three selection planes, and is stored in association with the virtual viewpoint by the viewpoint information metadata, and is stored in the first layer texture stream, the first layer depth stream, the second layer texture stream, and the first layer texture stream.
  • a two-layer depth stream is read from the storage 232.
  • the line-of-sight detection unit 531 is configured to globally consider the read first layer texture stream, first layer depth stream, second layer texture stream, and second layer depth stream in consideration of a minute parallax virtual viewpoint for each surface.
  • the layers including a plurality of layers set as layers are supplied to the ML3D model generation units 532 to 534.
  • the ML3D model generation units 532 to 534 basically have the same functions as the ML3D model generation units 235 to 237, but further, a plurality of layers as global layers are associated with a plurality of minute parallaxes for each virtual viewpoint. For each of the first layer texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream, the first layer texture image, the first layer depth image, and the second layer texture image And the second layer depth image are synthesized in association with the viewing direction of the viewer.
  • the ML3D model generation unit 532 in FIG. 41 is different from the ML3D model generation unit 235 in FIG. 20 in that synthesis units 541 to 544 are provided.
  • the synthesizing unit 541 considers the micro parallax virtual viewpoint with respect to the virtual viewpoint by the RGB conversion unit 252, thereby allowing a plurality of images to be set for each plane set as a global layer, and a micro parallax virtual viewpoint corresponding to each of the images. As the line of sight direction is closer to the viewer's viewpoint direction, a larger weight is set, and a weighted sum is obtained to synthesize an image set for each global layer.
  • the line-of-sight directions of the virtual viewpoint and the micro-parallax virtual viewpoint set in each of the global layers GL0, GL1, and GL2 of the viewpoint information metadata are the line-of-sight directions V0, V1, and V1, respectively. It is assumed that the viewing direction of the viewer is the viewing direction Vt. In this case, in FIG. 42, since the line-of-sight direction V1 and the line-of-sight direction Vt in the global layer GL1 are the closest (the angle formed is the smallest), the synthesis unit 541 sets the largest weight for the global layer GL1. .
  • the line-of-sight direction V0 and the line-of-sight direction Vt of the global layer GL0 are next to each other, and the line-of-sight direction V2 and the line-of-sight direction Vt of the global layer GL2 are different from each other.
  • the synthesis unit 541 sets large weights (high, medium, and low ratios) in the order of the global layers GL1, GL0, and GL2, and performs a fine parallax by product sum using the set weights.
  • the images set in each of the global layers GL0, GL1, and GL2 in which is considered are combined.
  • the first layer texture image in which minute parallax is taken into consideration is generated, so that it is possible to further enhance the texture and stereoscopic expression of the reproduced image.
  • the synthesizing units 542 to 544 each generate a plurality of images in consideration of the minute parallax, the minute parallax virtual viewpoint, and the viewer's It is possible to appropriately combine and express the information according to the change in the line-of-sight direction.
  • the receiving unit 231 of the home server 13 receives all low resolution texture streams and low resolution depth streams, six-layer first layer texture streams, first layer depth streams, The two-layer texture stream, the second layer depth stream, and metadata including viewpoint information metadata for each virtual viewpoint are received and supplied to the storage 232.
  • step S142 the storage 232 stores the low-resolution texture stream and the low-resolution depth stream, the six-layer first layer texture stream, the first layer depth stream, the second layer texture stream, the second layer depth stream, and viewpoint information.
  • step S143 the receiving unit 233 receives the detection result of the gyro sensor 15B of FIG. 1 from the head mounted display 15 and supplies it to the line-of-sight detection unit 234.
  • step S144 the gaze detection unit 531 determines the gaze direction of the viewer in the 3D model coordinate system based on the detection result of the gyro sensor 15B supplied from the reception unit 233.
  • step S145 the camera 13A images the marker 15A attached to the head mounted display 15, and supplies a captured image obtained as a result to the line-of-sight detection unit 531.
  • step S146 the line-of-sight detection unit 531 detects the viewing position in the 3D model coordinate system based on the captured image of the marker 15A supplied from the camera 13A, and supplies the detected viewing position to the drawing unit 239.
  • step S147 the line-of-sight detection unit 531 determines the viewing position and line-of-sight direction of the viewer in the 3D model coordinate system based on the detection result of the gyro sensor 15B supplied from the reception unit 233, and determines the closest virtual viewpoint. To do.
  • step S148 three surfaces corresponding to the line-of-sight vector closest to the line of sight among the six surfaces of the virtual viewpoint closest to the viewing position and line-of-sight direction in the 3D model coordinate system are determined from the storage 232 as selection surfaces.
  • step S149 the line-of-sight detection unit 531 determines the viewer's visual field range in the 3D model coordinate system based on the viewing position and the line-of-sight direction in the 3D model coordinate system, and supplies them to the drawing unit 239.
  • step S150 the line-of-sight detection unit 531 reads all the low-resolution texture streams and the low-resolution depth streams from the storage 232, and supplies them to the 3D model generation unit 238.
  • the line-of-sight detection unit 531 is a first layer in which a plurality of global layers are set with a minute parallax virtual viewpoint based on viewpoint information metadata corresponding to the determined virtual viewpoint corresponding to the three selection planes.
  • the texture stream, the first layer depth stream, the second layer texture stream, and the second layer depth stream are read from the storage 232.
  • the line-of-sight detection unit 531 supplies the read first layer texture stream, first layer depth stream, second layer texture stream, and second layer depth stream to the ML3D model generation units 532 to 534 for each surface.
  • the line-of-sight detection unit 531 reads viewpoint position information and surface information corresponding to the three selection surfaces from the storage 232 and supplies them to the drawing unit 239.
  • step S151 the ML3D model generation units 532 to 534 perform three-dimensional data generation processing for generating three-dimensional data of the sampling points of the first layer and the second layer for each surface. Details of the three-dimensional data generation processing will be described later with reference to FIG.
  • step S152 the 3D model generation unit 238 generates three-dimensional data of each sampling point of the low resolution texture image from the low resolution texture stream and the low resolution depth stream supplied from the line-of-sight detection unit 234, and the drawing unit 239. To supply.
  • step S153 the drawing unit 239 performs triangular patch drawing of the low-resolution texture image in the 3D model coordinate system based on the three-dimensional data of the low-resolution texture image supplied from the 3D model generation unit 238. Thereafter, the drawing unit 239 is based on the first and second layer three-dimensional data supplied from each of the ML3D model generation units 532 to 534 and the viewpoint position information and surface information supplied from the line-of-sight detection unit 531. In the 3D model coordinate system, the triangular patch drawing of the texture images of the first layer and the second layer is performed.
  • step S154 the drawing unit 239 generates a display image by perspectively projecting the triangular patch drawn in the 3D model coordinate system onto the visual field range with the viewing position supplied from the line-of-sight detection unit 531 as a viewpoint.
  • step S155 the drawing unit 239 transmits the display image to the conversion device 14 in FIG.
  • step S203 the synthesizing unit 541 responds to the minute parallax virtual viewpoint in which minute parallax is considered based on the viewpoint information metadata of the identified virtual viewpoint, similarly to the process described with reference to FIG.
  • the synthesizing unit 541 responds to the minute parallax virtual viewpoint in which minute parallax is considered based on the viewpoint information metadata of the identified virtual viewpoint, similarly to the process described with reference to FIG.
  • step S206 the synthesizing unit 542 responds to the minute parallax virtual viewpoint in which minute parallax is considered based on the viewpoint information metadata of the identified virtual viewpoint, similarly to the processing described with reference to FIG.
  • the synthesizing unit 542 responds to the minute parallax virtual viewpoint in which minute parallax is considered based on the viewpoint information metadata of the identified virtual viewpoint, similarly to the processing described with reference to FIG.
  • micro parallax is considered. It is possible to generate the first layer depth image.
  • step S214 the synthesizing unit 543 responds to the minute parallax virtual viewpoint in which minute parallax is considered based on the viewpoint information metadata of the identified virtual viewpoint, similarly to the processing described with reference to FIG.
  • the synthesizing unit 543 By calculating the second layer texture image set in each of the plurality of global layers set by the weighted average according to the relationship between the micro parallax virtual viewpoint and the viewing direction of the viewer, It is possible to generate a considered first layer texture image.
  • step S217 the synthesizing unit 544 responds to the minute parallax virtual viewpoint in which minute parallax is considered based on the viewpoint information metadata of the identified virtual viewpoint, similarly to the processing described with reference to FIG.
  • the second layer depth image set in each of the plurality of global layers set in the above is obtained by calculating the weighted average according to the relationship between the virtual parallax virtual viewpoint and the viewing direction of the viewer, thereby taking into account the micro parallax. It is possible to generate the second layer depth image.
  • the home server 13 in FIG. 31 has texture images and depth images of a plurality of layers set as global layers for each of a plurality of micro parallax virtual viewpoints that generate micro parallax with respect to one virtual viewpoint. Therefore, it is possible to reproduce texture images and depth images that are rich in changes with a slight movement with respect to the virtual viewpoint, improving the texture and stereoscopic effect. It becomes possible. In addition, since texture images and depth images that are rich in changes can be reproduced even with minute movements, even if the accuracy of the depth image is somewhat low, it can be displayed as an image that gives a stereoscopic effect.
  • a low-resolution texture stream, a low-resolution depth stream, a first layer texture stream, a first layer depth stream, and a second layer texture stream are used for each virtual viewpoint using images captured by a plurality of multi-cameras 11.
  • the second layer depth stream are set using a plurality of global layers in consideration of the minute parallax virtual viewpoint based on the viewpoint information metadata, and the second layer depth stream is minutely determined from the relationship between the viewing direction of the viewer and the virtual viewpoint.
  • a PvR is generated as a texture image and a depth image of the first layer and the second layer of the right eye, and an image PvL at the minute parallax virtual viewpoint set as the global layer described above of the minute parallax virtual viewpoint with respect to the virtual viewpoint is obtained.
  • ⁇ Fourth embodiment> (Description of computer to which the present disclosure is applied)
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • FIG. 46 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • an input / output interface 1005 is connected to the bus 1004.
  • An input unit 1006, an output unit 1007, a storage unit 1008, a communication unit 1009, and a drive 1010 are connected to the input / output interface 1005.
  • the input unit 1006 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 1007 includes a display, a speaker, and the like.
  • the storage unit 1008 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 1009 includes a network interface.
  • the drive 1010 drives a removable medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 1001 loads the program stored in the storage unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004 and executes the program, for example. A series of processing is performed.
  • the program executed by the computer (CPU 1001) can be provided by being recorded on the removable medium 1011 as a package medium, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 1008 via the input / output interface 1005 by attaching the removable medium 1011 to the drive 1010. Further, the program can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the storage unit 1008. In addition, the program can be installed in advance in the ROM 1002 or the storage unit 1008.
  • the program executed by the computer in FIG. 46 may be a program that is processed in time series in the order described in this specification, or is necessary in parallel or when a call is made. It may be a program that performs processing at various timings.
  • the technology according to the present disclosure can be applied to various products.
  • the technology according to the present disclosure may be any type of movement such as an automobile, an electric vehicle, a hybrid electric vehicle, a motorcycle, a bicycle, personal mobility, an airplane, a drone, a ship, a robot, a construction machine, and an agricultural machine (tractor). You may implement
  • FIG. 47 is a block diagram illustrating a schematic configuration example of a vehicle control system 7000 that is an example of a mobile control system to which the technology according to the present disclosure can be applied.
  • the vehicle control system 7000 includes a plurality of electronic control units connected via a communication network 7010.
  • the vehicle control system 7000 includes a drive system control unit 7100, a body system control unit 7200, a battery control unit 7300, a vehicle exterior information detection unit 7400, a vehicle interior information detection unit 7500, and an integrated control unit 7600. .
  • the communication network 7010 for connecting the plurality of control units conforms to an arbitrary standard such as CAN (Controller Area Network), LIN (Local Interconnect Network), LAN (Local Area Network), or FlexRay (registered trademark). It may be an in-vehicle communication network.
  • Each control unit includes a microcomputer that performs arithmetic processing according to various programs, a storage unit that stores programs executed by the microcomputer or parameters used for various calculations, and a drive circuit that drives various devices to be controlled. Is provided.
  • Each control unit includes a network I / F for communicating with other control units via a communication network 7010, and is connected to devices or sensors inside and outside the vehicle by wired communication or wireless communication. A communication I / F for performing communication is provided. In FIG.
  • a microcomputer 7610 As the functional configuration of the integrated control unit 7600, a microcomputer 7610, a general-purpose communication I / F 7620, a dedicated communication I / F 7630, a positioning unit 7640, a beacon receiving unit 7650, an in-vehicle device I / F 7660, an audio image output unit 7670, An in-vehicle network I / F 7680 and a storage unit 7690 are illustrated.
  • other control units include a microcomputer, a communication I / F, a storage unit, and the like.
  • the drive system control unit 7100 controls the operation of the device related to the drive system of the vehicle according to various programs.
  • the drive system control unit 7100 includes a driving force generator for generating a driving force of a vehicle such as an internal combustion engine or a driving motor, a driving force transmission mechanism for transmitting the driving force to wheels, and a steering angle of the vehicle. It functions as a control device such as a steering mechanism that adjusts and a braking device that generates a braking force of the vehicle.
  • the drive system control unit 7100 may have a function as a control device such as ABS (Antilock Brake System) or ESC (Electronic Stability Control).
  • a vehicle state detection unit 7110 is connected to the drive system control unit 7100.
  • the vehicle state detection unit 7110 includes, for example, a gyro sensor that detects the angular velocity of the rotational movement of the vehicle body, an acceleration sensor that detects the acceleration of the vehicle, an operation amount of an accelerator pedal, an operation amount of a brake pedal, and steering of a steering wheel. At least one of sensors for detecting an angle, an engine speed, a rotational speed of a wheel, or the like is included.
  • the drive system control unit 7100 performs arithmetic processing using a signal input from the vehicle state detection unit 7110, and controls an internal combustion engine, a drive motor, an electric power steering device, a brake device, or the like.
  • the body system control unit 7200 controls the operation of various devices mounted on the vehicle body according to various programs.
  • the body system control unit 7200 functions as a keyless entry system, a smart key system, a power window device, or a control device for various lamps such as a headlamp, a back lamp, a brake lamp, a blinker, or a fog lamp.
  • the body control unit 7200 can be input with radio waves or various switch signals transmitted from a portable device that substitutes for a key.
  • the body system control unit 7200 receives input of these radio waves or signals, and controls a door lock device, a power window device, a lamp, and the like of the vehicle.
  • the battery control unit 7300 controls the secondary battery 7310 that is a power supply source of the drive motor according to various programs. For example, information such as battery temperature, battery output voltage, or remaining battery capacity is input to the battery control unit 7300 from a battery device including the secondary battery 7310. The battery control unit 7300 performs arithmetic processing using these signals, and controls the temperature adjustment of the secondary battery 7310 or the cooling device provided in the battery device.
  • the outside information detection unit 7400 detects information outside the vehicle on which the vehicle control system 7000 is mounted.
  • the outside information detection unit 7400 is connected to at least one of the imaging unit 7410 and the outside information detection unit 7420.
  • the imaging unit 7410 includes at least one of a ToF (Time Of Flight) camera, a stereo camera, a monocular camera, an infrared camera, and other cameras.
  • the outside information detection unit 7420 detects, for example, current weather or an environmental sensor for detecting weather, or other vehicles, obstacles, pedestrians, etc. around the vehicle equipped with the vehicle control system 7000. At least one of the surrounding information detection sensors.
  • the environmental sensor may be, for example, at least one of a raindrop sensor that detects rainy weather, a fog sensor that detects fog, a sunshine sensor that detects sunlight intensity, and a snow sensor that detects snowfall.
  • the ambient information detection sensor may be at least one of an ultrasonic sensor, a radar device, and a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) device.
  • the imaging unit 7410 and the outside information detection unit 7420 may be provided as independent sensors or devices, or may be provided as a device in which a plurality of sensors or devices are integrated.
  • FIG. 48 shows an example of installation positions of the imaging unit 7410 and the vehicle outside information detection unit 7420.
  • the imaging units 7910, 7912, 7914, 7916, and 7918 are provided at, for example, at least one of the front nose, the side mirror, the rear bumper, the back door, and the upper part of the windshield in the vehicle interior of the vehicle 7900.
  • An imaging unit 7910 provided in the front nose and an imaging unit 7918 provided in the upper part of the windshield in the vehicle interior mainly acquire an image in front of the vehicle 7900.
  • Imaging units 7912 and 7914 provided in the side mirror mainly acquire an image of the side of the vehicle 7900.
  • An imaging unit 7916 provided in the rear bumper or the back door mainly acquires an image behind the vehicle 7900.
  • the imaging unit 7918 provided on the upper part of the windshield in the passenger compartment is mainly used for detecting a preceding vehicle or a pedestrian, an obstacle, a traffic light, a traffic sign, a lane, or
  • FIG. 48 shows an example of shooting ranges of the respective imaging units 7910, 7912, 7914, and 7916.
  • the imaging range a indicates the imaging range of the imaging unit 7910 provided in the front nose
  • the imaging ranges b and c indicate the imaging ranges of the imaging units 7912 and 7914 provided in the side mirrors, respectively
  • the imaging range d The imaging range of the imaging part 7916 provided in the rear bumper or the back door is shown. For example, by superimposing the image data captured by the imaging units 7910, 7912, 7914, and 7916, an overhead image when the vehicle 7900 is viewed from above is obtained.
  • the vehicle outside information detection units 7920, 7922, 7924, 7926, 7928, and 7930 provided on the front, rear, sides, corners of the vehicle 7900 and the upper part of the windshield in the vehicle interior may be, for example, an ultrasonic sensor or a radar device.
  • the vehicle outside information detection units 7920, 7926, and 7930 provided on the front nose, the rear bumper, the back door, and the windshield in the vehicle interior of the vehicle 7900 may be, for example, LIDAR devices.
  • These outside information detection units 7920 to 7930 are mainly used for detecting a preceding vehicle, a pedestrian, an obstacle, and the like.
  • the vehicle exterior information detection unit 7400 causes the imaging unit 7410 to capture an image outside the vehicle and receives the captured image data. Further, the vehicle exterior information detection unit 7400 receives detection information from the vehicle exterior information detection unit 7420 connected thereto. When the vehicle exterior information detection unit 7420 is an ultrasonic sensor, a radar device, or a LIDAR device, the vehicle exterior information detection unit 7400 transmits ultrasonic waves, electromagnetic waves, or the like, and receives received reflected wave information.
  • the outside information detection unit 7400 may perform an object detection process or a distance detection process such as a person, a car, an obstacle, a sign, or a character on a road surface based on the received information.
  • the vehicle exterior information detection unit 7400 may perform environment recognition processing for recognizing rainfall, fog, road surface conditions, or the like based on the received information.
  • the vehicle outside information detection unit 7400 may calculate a distance to an object outside the vehicle based on the received information.
  • the outside information detection unit 7400 may perform image recognition processing or distance detection processing for recognizing a person, a car, an obstacle, a sign, a character on a road surface, or the like based on the received image data.
  • the vehicle exterior information detection unit 7400 performs processing such as distortion correction or alignment on the received image data, and combines the image data captured by the different imaging units 7410 to generate an overhead image or a panoramic image. Also good.
  • the vehicle exterior information detection unit 7400 may perform viewpoint conversion processing using image data captured by different imaging units 7410.
  • the vehicle interior information detection unit 7500 detects vehicle interior information.
  • a driver state detection unit 7510 that detects the driver's state is connected to the in-vehicle information detection unit 7500.
  • Driver state detection unit 7510 may include a camera that captures an image of the driver, a biosensor that detects biometric information of the driver, a microphone that collects sound in the passenger compartment, and the like.
  • the biometric sensor is provided, for example, on a seat surface or a steering wheel, and detects biometric information of an occupant sitting on the seat or a driver holding the steering wheel.
  • the vehicle interior information detection unit 7500 may calculate the degree of fatigue or concentration of the driver based on the detection information input from the driver state detection unit 7510, and determines whether the driver is asleep. May be.
  • the vehicle interior information detection unit 7500 may perform a process such as a noise canceling process on the collected audio signal.
  • the integrated control unit 7600 controls the overall operation in the vehicle control system 7000 according to various programs.
  • An input unit 7800 is connected to the integrated control unit 7600.
  • the input unit 7800 is realized by a device that can be input by a passenger, such as a touch panel, a button, a microphone, a switch, or a lever.
  • the integrated control unit 7600 may be input with data obtained by recognizing voice input through a microphone.
  • the input unit 7800 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device such as a mobile phone or a PDA (Personal Digital Assistant) that supports the operation of the vehicle control system 7000. May be.
  • the input unit 7800 may be, for example, a camera.
  • the passenger can input information using a gesture.
  • data obtained by detecting the movement of the wearable device worn by the passenger may be input.
  • the input unit 7800 may include, for example, an input control circuit that generates an input signal based on information input by a passenger or the like using the input unit 7800 and outputs the input signal to the integrated control unit 7600.
  • a passenger or the like operates the input unit 7800 to input various data or instruct a processing operation to the vehicle control system 7000.
  • the storage unit 7690 may include a ROM (Read Only Memory) that stores various programs executed by the microcomputer, and a RAM (Random Access Memory) that stores various parameters, calculation results, sensor values, and the like.
  • the storage unit 7690 may be realized by a magnetic storage device such as an HDD (Hard Disc Drive), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
  • General-purpose communication I / F 7620 is a general-purpose communication I / F that mediates communication with various devices existing in the external environment 7750.
  • General-purpose communication I / F7620 is a cellular communication protocol such as GSM (Global System of Mobile communications), WiMAX, LTE (Long Term Evolution) or LTE-A (LTE-Advanced), or wireless LAN (Wi-Fi (registered trademark)). Other wireless communication protocols such as Bluetooth (registered trademark) may also be implemented.
  • the general-purpose communication I / F 7620 is connected to a device (for example, an application server or a control server) existing on an external network (for example, the Internet, a cloud network, or an operator-specific network) via, for example, a base station or an access point.
  • the general-purpose communication I / F 7620 is a terminal (for example, a driver, a pedestrian or a store terminal, or an MTC (Machine Type Communication) terminal) that exists in the vicinity of the vehicle using, for example, P2P (Peer To Peer) technology. You may connect with.
  • a terminal for example, a driver, a pedestrian or a store terminal, or an MTC (Machine Type Communication) terminal
  • P2P Peer To Peer
  • the dedicated communication I / F 7630 is a communication I / F that supports a communication protocol formulated for use in vehicles.
  • the dedicated communication I / F 7630 is a standard protocol such as WAVE (Wireless Access in Vehicle Environment), DSRC (Dedicated Short Range Communications), or cellular communication protocol, which is a combination of the lower layer IEEE 802.11p and the upper layer IEEE 1609. May be implemented.
  • the dedicated communication I / F 7630 typically includes vehicle-to-vehicle communication, vehicle-to-infrastructure communication, vehicle-to-home communication, and vehicle-to-pedestrian communication. ) Perform V2X communication, which is a concept that includes one or more of the communications.
  • the positioning unit 7640 receives, for example, a GNSS signal from a GNSS (Global Navigation Satellite System) satellite (for example, a GPS signal from a GPS (Global Positioning System) satellite), performs positioning, and performs latitude, longitude, and altitude of the vehicle.
  • the position information including is generated.
  • the positioning unit 7640 may specify the current position by exchanging signals with the wireless access point, or may acquire position information from a terminal such as a mobile phone, PHS, or smartphone having a positioning function.
  • the beacon receiving unit 7650 receives, for example, radio waves or electromagnetic waves transmitted from a radio station installed on the road, and acquires information such as the current position, traffic jam, closed road, or required time. Note that the function of the beacon receiving unit 7650 may be included in the dedicated communication I / F 7630 described above.
  • the in-vehicle device I / F 7660 is a communication interface that mediates the connection between the microcomputer 7610 and various in-vehicle devices 7760 present in the vehicle.
  • the in-vehicle device I / F 7660 may establish a wireless connection using a wireless communication protocol such as a wireless LAN, Bluetooth (registered trademark), NFC (Near Field Communication), or WUSB (Wireless USB).
  • the in-vehicle device I / F 7660 is connected to a USB (Universal Serial Bus), HDMI (High-Definition Multimedia Interface), or MHL (Mobile High-definition Link) via a connection terminal (and a cable if necessary). ) Etc. may be established.
  • the in-vehicle device 7760 may include, for example, at least one of a mobile device or a wearable device that a passenger has, or an information device that is carried into or attached to the vehicle.
  • In-vehicle device 7760 may include a navigation device that searches for a route to an arbitrary destination.
  • In-vehicle device I / F 7660 exchanges control signals or data signals with these in-vehicle devices 7760.
  • the in-vehicle network I / F 7680 is an interface that mediates communication between the microcomputer 7610 and the communication network 7010.
  • the in-vehicle network I / F 7680 transmits and receives signals and the like in accordance with a predetermined protocol supported by the communication network 7010.
  • the microcomputer 7610 of the integrated control unit 7600 is connected via at least one of a general-purpose communication I / F 7620, a dedicated communication I / F 7630, a positioning unit 7640, a beacon receiving unit 7650, an in-vehicle device I / F 7660, and an in-vehicle network I / F 7680.
  • the vehicle control system 7000 is controlled according to various programs based on the acquired information. For example, the microcomputer 7610 calculates a control target value of the driving force generation device, the steering mechanism, or the braking device based on the acquired information inside and outside the vehicle, and outputs a control command to the drive system control unit 7100. Also good.
  • the microcomputer 7610 realizes ADAS (Advanced Driver Assistance System) functions including vehicle collision avoidance or impact mitigation, following traveling based on inter-vehicle distance, vehicle speed maintaining traveling, vehicle collision warning, or vehicle lane departure warning. You may perform the cooperative control for the purpose. Further, the microcomputer 7610 controls the driving force generator, the steering mechanism, the braking device, or the like based on the acquired information on the surroundings of the vehicle, so that the microcomputer 7610 automatically travels independently of the driver's operation. You may perform the cooperative control for the purpose of driving.
  • ADAS Advanced Driver Assistance System
  • the microcomputer 7610 is information acquired via at least one of the general-purpose communication I / F 7620, the dedicated communication I / F 7630, the positioning unit 7640, the beacon receiving unit 7650, the in-vehicle device I / F 7660, and the in-vehicle network I / F 7680.
  • the three-dimensional distance information between the vehicle and the surrounding structure or an object such as a person may be generated based on the above and local map information including the peripheral information of the current position of the vehicle may be created.
  • the microcomputer 7610 may generate a warning signal by predicting a danger such as a collision of a vehicle, approach of a pedestrian or the like or an approach to a closed road based on the acquired information.
  • the warning signal may be, for example, a signal for generating a warning sound or lighting a warning lamp.
  • the audio image output unit 7670 transmits an output signal of at least one of audio and image to an output device capable of visually or audibly notifying information to a vehicle occupant or the outside of the vehicle.
  • an audio speaker 7710, a display unit 7720, and an instrument panel 7730 are illustrated as output devices.
  • Display unit 7720 may include at least one of an on-board display and a head-up display, for example.
  • the display portion 7720 may have an AR (Augmented Reality) display function.
  • the output device may be other devices such as headphones, wearable devices such as glasses-type displays worn by passengers, projectors, and lamps.
  • the display device can display the results obtained by various processes performed by the microcomputer 7610 or information received from other control units in various formats such as text, images, tables, and graphs. Display visually. Further, when the output device is an audio output device, the audio output device converts an audio signal made up of reproduced audio data or acoustic data into an analog signal and outputs it aurally.
  • At least two control units connected via the communication network 7010 may be integrated as one control unit.
  • each control unit may be configured by a plurality of control units.
  • the vehicle control system 7000 may include another control unit not shown.
  • some or all of the functions of any of the control units may be given to other control units. That is, as long as information is transmitted and received via the communication network 7010, the predetermined arithmetic processing may be performed by any one of the control units.
  • a sensor or device connected to one of the control units may be connected to another control unit, and a plurality of control units may transmit / receive detection information to / from each other via the communication network 7010. .
  • a computer program for realizing each function of the image display system 10 (400) according to the present embodiment described with reference to FIGS. 1 to 30 can be installed in any control unit or the like. It is also possible to provide a computer-readable recording medium in which such a computer program is stored.
  • the recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, or the like. Further, the above computer program may be distributed via a network, for example, without using a recording medium.
  • the image display system 10 (400) according to the present embodiment described with reference to FIGS. 1 to 30 can be applied to the vehicle control system 7000 of the application example illustrated in FIG. it can.
  • the multi-camera 11 of the image display system 10 (400) corresponds to at least a part of the imaging unit 7410.
  • the content server 12, the home server 13 (the distribution server 401, the network 402, the playback device 403), and the conversion device 14 are integrated and correspond to the microcomputer 7610 and the storage unit 7690 of the integrated control unit 7600.
  • the head mounted display 15 corresponds to the display unit 7720.
  • the image display system 10 (400) When the image display system 10 (400) is applied to the vehicle control system 7000, the camera 13A, the marker 15A, and the gyro sensor 15B are not provided. A line-of-sight direction and a viewing position are input. As described above, by applying the image display system 10 (400) to the vehicle control system 7000 of the application example shown in FIG. 47, a high-quality display image can be generated using the omnidirectional image. it can.
  • the components of the image display system 10 (400) described with reference to FIGS. 1 to 30 is a module (for example, one die) for the integrated control unit 7600 shown in FIG. Integrated circuit module).
  • the image display system 10 (400) described with reference to FIGS. 1 to 30 may be realized by a plurality of control units of the vehicle control system 7000 illustrated in FIG.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the present disclosure can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is processed jointly.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • this indication can also take the following structures.
  • a virtual viewpoint image generation unit that generates a virtual viewpoint image captured at a virtual viewpoint including a virtual viewpoint position and a line-of-sight direction from a plurality of reference images captured at a plurality of viewpoint positions and line-of-sight directions.
  • Image processing device ⁇ 2>
  • the virtual viewpoint image generation unit mixes the plurality of reference images based on the line-of-sight direction of the virtual viewpoint and the line-of-sight directions obtained by capturing the plurality of reference images, and the virtual viewpoint image
  • the image processing device according to ⁇ 1>.
  • the virtual viewpoint image generation unit weights each of the plurality of reference images according to the degree of similarity between the line-of-sight direction of the virtual viewpoint and each line-of-sight direction of the plurality of reference images.
  • the image processing device according to ⁇ 1> or ⁇ 2>, wherein the virtual viewpoint image is generated by weighted average.
  • the virtual viewpoint image generation unit has a high degree of similarity for each of the plurality of reference images according to the degree of similarity between the line-of-sight direction of the virtual viewpoint and the line-of-sight directions of the plurality of reference images.
  • the image processing apparatus according to ⁇ 3>, wherein the virtual viewpoint image is generated by weighted average with a greater weight.
  • the similarity between the line-of-sight direction of the virtual viewpoint and the line-of-sight direction of each of the plurality of reference images is an angle formed by the line-of-sight direction of the virtual viewpoint and each line-of-sight direction of the plurality of reference images.
  • the image processing device according to ⁇ 4> which is a distance between the virtual viewpoint and each viewpoint position of the plurality of reference images.
  • the virtual viewpoint image generation unit acquires metadata including information for specifying the plurality of reference images, weights each of the plurality of reference images specified by the metadata, The image processing device according to any one of ⁇ 1> to ⁇ 5>, wherein the virtual viewpoint image is generated by weighted average.
  • the plurality of reference images specified in the metadata are similar to the line-of-sight direction of the plurality of reference images for each of the plurality of minute parallax virtual viewpoints that generate different minute parallaxes with respect to the virtual viewpoint.
  • Processing equipment ⁇ 8>
  • the reference image corresponding to the virtual viewpoint and the plurality of reference images of a plurality of minute parallax virtual viewpoints that generate minute parallax with the virtual viewpoint constitute a stereo image.
  • ⁇ 1> to ⁇ 7> The image processing apparatus according to any one of the above.
  • the reference image is an omnidirectional image
  • the virtual viewpoint image generator generates a virtual viewpoint image captured at a virtual viewpoint composed of the virtual viewpoint position and the line-of-sight direction for each surface constituting the omnidirectional image from the plurality of reference images.
  • the image processing device according to any one of ⁇ 1> to ⁇ 8>.
  • ⁇ 10> The image processing device according to any one of ⁇ 1> to ⁇ 9>, wherein the reference image includes a first layer image including a texture image and a depth image of an omnidirectional image.
  • the reference image further includes a second layer image including a texture image and a depth image of an occlusion area at the viewpoint of the first layer image.
  • the virtual viewpoint is detected by a head mounted display, The image processing apparatus according to ⁇ 1>, wherein the virtual viewpoint image is displayed by the head mounted display.
  • An image processing method including a step of generating a virtual viewpoint image photographed at a virtual viewpoint composed of a virtual viewpoint position and a line-of-sight direction from a plurality of reference images photographed at a plurality of viewpoint positions and line-of-sight directions.
  • An image processing apparatus including a metadata generation unit for generating.
  • the metadata generation unit is configured to generate the virtual viewpoint image by mixing the plurality of reference images based on the virtual viewpoint and respective gaze directions obtained by capturing the plurality of reference images.
  • the image processing device according to ⁇ 14>, wherein metadata is generated.
  • the metadata generation unit sets a weight for each of the plurality of reference images based on a similarity between the virtual viewpoint and each line-of-sight direction in which the plurality of reference images are captured.
  • the image processing apparatus according to ⁇ 14>, wherein the plurality of reference images are mixed by averaging, the virtual viewpoint image is generated, and information specifying the reference image having the largest weight is generated as metadata.
  • the metadata generation unit may be configured to use the plurality of reference images based on a similarity between a virtual parallax viewpoint having a minute parallax with the virtual viewpoint and respective line-of-sight directions obtained by capturing the plurality of reference images.
  • a weight is set for each of the plurality of reference images, the plurality of reference images are mixed by weighted average, the virtual viewpoint image is generated, and information specifying the reference image with the largest weight is specified.
  • a weight is set for each of the plurality of reference images based on the similarity between the virtual viewpoint and each line-of-sight direction in which the plurality of reference images are captured, and the plurality of reference images are mixed by weighted averaging.
  • the image processing device wherein the virtual viewpoint image is generated, and metadata including information specifying a reference image having the largest weight is generated.
  • the reference image includes a first layer image including a texture image and a depth image of an omnidirectional image.
  • the reference image further includes a second layer image including a texture image and a depth image of an occlusion area at the viewpoint of the first layer image.
  • An image processing method including the step of generating.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Generation (AREA)

Abstract

本開示は、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるようにする画像処理装置および画像処理方法に関する。 複数の実カメラが複数の視点位置および視線方向で複数の基準画像を撮影する。ヘッドマウントディスプレイの動きに応じて特定される、仮想的な視点位置と視線方向とからなる仮想視点において、仮想視点に近い視線方向の基準画像に大きな重みを付して重み平均により仮想視点画像を生成し、ヘッドマウントディスプレイで表示する。本開示は、例えば、全天球画像から所定の視点の表示画像を生成するホームサーバ等に適用することができる。

Description

画像処理装置および画像処理方法
 本開示は、画像処理装置および画像処理方法に関し、特に、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるようにした画像処理装置および画像処理方法に関する。
 マルチカメラにより撮影された水平方向の周囲360度および垂直方向の周囲180度の撮影画像を2D画像(平面画像)にマッピングした全天球画像を生成し、符号化して記憶する記憶装置がある(例えば、特許文献1参照)。
 また、記憶装置により記憶された全天球画像の符号化ストリームを復号し、その結果得られる全天球画像を用いて視聴者の視野範囲のテクスチャ画像を表示させる再生装置がある。このような再生装置は、全天球画像を球や立方体などの3Dモデルの表面上に貼り付け、その3Dモデルの内部の1点である視点から、視聴者の視線方向の3Dモデルの表面を見たときの視聴者の視野範囲のテクスチャ画像を表示させる。これにより、所定の視点の視聴者の視野範囲の撮影画像が再現される。
特開2006-14174号公報
 しかしながら、全天球画像の生成時の視点と再生時の視点とが異なる場合、生成された再生時の視点の視聴者の視野範囲のテクスチャ画像を、生成時の視点からの画像から再現するには質感や立体感の表現に限界がある。
 本開示は、このような状況に鑑みてなされたものであり、複数の全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるようにするものである。
 本開示の第1の側面の画像処理装置は、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、複数の視点位置および視線方向で撮影された複数の基準画像より生成する仮想視点画像生成部を含む画像処理装置である。
 前記仮想視点画像生成部には、前記仮想視点の視線方向と、前記複数の基準画像を撮影したそれぞれの視線方向とに基づいて、前記複数の基準画像を混合させ、前記仮想視点画像を生成させるようにすることができる。
 前記仮想視点画像生成部には、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度に応じて、前記複数の基準画像のそれぞれに重みを付して、重み平均により前記仮想視点画像を生成させるようにすることができる。
 前記仮想視点画像生成部には、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度に応じて、前記複数の基準画像のそれぞれに前記類似度が高いほど、大きな重みを付して、重み平均により前記仮想視点画像を生成させるようにすることができる。
 前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との成す角、または、前記仮想視点と、前記複数の基準画像のそれぞれの視点位置間の距離とすることができる。
 前記仮想視点画像生成部には、前記複数の基準画像を特定する情報からなるメタデータを取得し、前記メタデータで特定されている前記複数の基準画像のそれぞれに重みを付して、重み平均により前記仮想視点画像を生成させるようにすることができる。
 前記メタデータで特定されている前記複数の基準画像は、前記仮想視点に対して、異なる微小視差が生じる複数の微小視差仮想視点毎に、前記複数の基準画像の視線方向との類似度に応じて、前記複数の基準画像のそれぞれに前記類似度が高いほど大きな重みを付して、重み平均をとるとき、前記重みが最大となる前記基準画像とすることができる。
 前記仮想視点に対応する基準画像と、前記仮想視点と微小視差が生じる複数の微小視差仮想視点の、前記複数の基準画像とは、ステレオ画像を構成することができる。
 前記基準画像は、全天球画像であり、前記仮想視点画像生成部は、前記全天球画像を構成する各面毎に、前記仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、前記複数の基準画像より生成することが可能となる。
 前記基準画像は、全天球画像のテクスチャ画像とデプス画像からなる第1レイヤ画像を含ませるようにすることができる。
 前記基準画像は、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像をさらに含ませるようにすることができる。
 前記仮想視点は、ヘッドマウントディスプレイにより検出され、前記ヘッドマウントディスプレイにより前記仮想視点画像が表示されるようにすることができる。
 本開示の第1の側面の画像処理方法は、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、複数の視点位置および視線方向で撮影された複数の基準画像より生成するステップを含む画像処理方法である。
 本開示の第1の側面においては、複数の視点位置および視線方向で撮影された複数の基準画像と、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像が、前記複数の基準画像より生成するステップを含む画像処理方法である。
 本開示の第2の側面の画像処理装置は、複数の視点位置および視線方向で撮影された複数の基準画像を用いて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータを生成するメタデータ生成部とを含む画像処理装置である。
 前記メタデータ生成部には、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向とに基づいて、前記複数の基準画像を混合し、前記仮想視点画像を生成するためのメタデータを生成させるようにすることができる。
 前記メタデータ生成部には、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定させ、重み付平均により、前記複数の基準画像を混合し、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報をメタデータとして生成させるようにすることができる。
 前記メタデータ生成部には、前記仮想視点と微小視差を持つ、微小視差仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定させ、重み付平均により、前記複数の基準画像を混合させ、前記仮想視点画像を生成させ、最も重みが大きな基準画像を特定する情報と、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定させ、重み付平均により、前記複数の基準画像を混合して、前記仮想視点画像を生成させ、最も重みが大きな基準画像を特定する情報とからなるメタデータを生成させるようにすることができる。
 前記基準画像は、全天球画像のテクスチャ画像とデプス画像からなる第1レイヤ画像を含ませるようにすることができる。
 前記基準画像には、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像をさらに含ませるようにすることができる。
 本開示の第2の側面の画像処理方法は、複数の視点位置および視線方向で撮影された複数の基準画像を用いて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータを生成するステップを含む画像処理方法である。
 本開示の第2の側面においては、複数の視点位置および視線方向で撮影された複数の基準画像が用いられて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータが生成される。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本開示を適用した画像表示システムの第1実施の形態の構成例を示すブロック図である。 コンテンツサーバの構成例を示すブロック図である。 高解像度画像処理部の構成例を示すブロック図である。 距離zと距離rを説明する図である。 最小値zminと最小値rminを説明する図である。 奥行き方向の変化を説明する図である。 第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の例を示す図である。 第1レイヤの面の例を示す図である。 第1レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。 第1レイヤの所定の面に対応する被写体の奥行き方向の位置を示す図である。 第1レイヤおよび第2レイヤのテクスチャ画像の構成例を示す図である。 第1レイヤと第2レイヤのテクスチャ画像の例を説明する図である。 第1レイヤと第2レイヤのテクスチャ画像の他の例を説明する図である。 第2レイヤの視点の第1の例を示す図である。 第2レイヤの視点位置情報および面情報のテーブルの第1の構成例を示す図である。 第2レイヤの視点の第2の例を示す図である。 第2レイヤの視点位置情報および面情報のテーブルの第2の構成例を示す図である。 ストリーム生成処理を説明するフローチャートである。 ホームサーバの構成例を示すブロック図である。 ML3Dモデル生成部の構成例を示すブロック図である。 接続情報の例を説明する図である。 接続情報の他の例を説明する図である。 サンプリング点の例を説明する図である。 サンプリング点の他の例を説明する図である。 オクルージョン処理を説明する図である。 再生処理を説明するフローチャートである。 3次元データ生成処理の詳細を説明するフローチャートである。 三角形パッチ有効無効情報を説明する図である。 本開示を適用した画像表示システムの第2実施の形態の構成例を示すブロック図である。 第1レイヤのテクスチャ画像の他の例を示す図である。 本開示を適用した画像表示システムの第3実施の形態の構成例を示すブロック図である。 図31のコンテンツサーバの高解像度画像処理部の構成例を示すブロック図である。 図32の視点情報メタデータ生成部の構成例を示すブロック図である。 画素描画の例を説明する図である。 図34の視点描画部による画素描画の例を説明する図である。 仮想視点と微量視差仮想視点における視点情報メタデータにおけるグローバルレイヤを説明する図である。 視点情報メタデータを説明する図である。 面毎にグローバルレイヤのレイヤ数が異なる視点情報メタデータを説明する図である。 仮想視点画像生成処理を説明するフローチャートである。 図31のホームサーバの構成例を説明するブロック図である。 図40のML3Dモデル生成部の構成例を説明するブロック図である。 合成部の合成処理を説明する図である。 図31のホームサーバの再生処理を説明するフローチャートである。 図31のホームサーバの3次元データ生成処理を説明するフローチャートである。 微小視差をステレオ画像の応用する例を説明する図である。 コンピュータのハードウエアの構成例を示すブロック図である。 車両制御システムの概略的な構成の一例を示すブロック図である。 車外情報検出部及び撮像部の設置位置の一例を示す説明図である。
 以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
 1.第1実施の形態:画像表示システム(図1乃至図28)
 2.第2実施の形態:画像表示システム(図29)
 3.テクスチャ画像の他の例(図30)
 4.第3実施の形態:画像表示システム(図31)
 5.ステレオ画像の応用例(図45)
 6.第4実施の形態:コンピュータ(図46)
 7.応用例(図47および図48)
 <第1実施の形態>
 (画像表示システムの第1実施の形態の構成例)
 図1は、本開示を適用した画像表示システムの第1実施の形態の構成例を示すブロック図である。
 図1の画像表示システム10は、マルチカメラ11、コンテンツサーバ12、ホームサーバ13、変換装置14、およびヘッドマウントディスプレイ15により構成される。画像表示システム10は、マルチカメラ11により撮影されたYCbCr画像(YUV画像)である撮影画像から全天球画像を生成し、全天球画像のうちの視聴者の視野範囲の画像を表示する。
 具体的には、画像表示システム10のマルチカメラ11は、水平方向の周囲360度および垂直方向の周囲180度を撮影範囲として、外向きに配置された複数(図1の例では6個)のカメラにより構成される。各カメラは、撮影を行い、撮影画像をフレーム単位で生成する。マルチカメラ11は、各カメラの撮影画像をコンテンツサーバ12に供給する。
 コンテンツサーバ12(画像処理装置)は、マルチカメラ11から供給される各カメラの撮影画像から、所定の視点の全天球画像のテクスチャ画像とデプス画像を生成する。第1実施の形態では、デプス画像は、所定の視点から各画素における被写体までの直線の距離rを示す8ビットの値としての、距離rの逆数1/rを画素値とする画像である。
 コンテンツサーバ12は、全天球画像のテクスチャ画像とデプス画像を低解像度化し、低解像度テクスチャ画像と低解像度デプス画像とを生成する。コンテンツサーバ12は、低解像度テクスチャ画像と低解像度デプス画像を、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)/H.265等の符号化方式で圧縮符号化する。コンテンツサーバ12は、その結果得られる低解像度テクスチャ画像の符号化ストリーム(以下、低解像度テクスチャストリームという)と低解像度デプス画像の符号化ストリーム(以下、低解像度デプスストリームという)を記憶する。
 また、コンテンツサーバ12は、各カメラの撮影画像を用いて、全天球画像における視点を中心とした立方体を構成する6つの面に対応するテクスチャ画像とデプス画像を階層化して生成する。具体的には、コンテンツサーバ12は、6つの面の第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を生成する。なお、全天球画像における視点と立方体の中心は異なっていていてもよい。
 コンテンツサーバ12は、各面の第1レイヤのテクスチャ画像とデプス画像からなる第1レイヤ画像と、各面の第2レイヤのテクスチャ画像とデプス画像からなる第2レイヤ画像を、面、画像の種類、およびレイヤごとに、AVCやHEVC等の符号化方式で圧縮符号化する。コンテンツサーバ12は、その結果得られる各面の第1レイヤのテクスチャ画像の符号化ストリーム(以下、第1レイヤテクスチャストリームという)、第1レイヤのデプス画像の符号化ストリーム(以下、第1レイヤデプスストリームという)、第2レイヤのテクスチャ画像の符号化ストリーム(以下、第2レイヤテクスチャストリームという)、および第2レイヤのデプス画像の符号化ストリーム(以下、第2レイヤデプスストリームという)を記憶する。なお、第1レイヤ画像と第2レイヤ画像の符号化方式は、MVC(Multiview Video Coding)方式や3D-HEVC方式等であってもよい。
 また、コンテンツサーバ12は、第1レイヤおよび第2レイヤの各面に関する情報等をメタデータとして生成し、記憶する。コンテンツサーバ12は、記憶している低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、図示せぬネットワークを介してホームサーバ13に伝送する。
 なお、コンテンツサーバ12は、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを再構成(詳細は後述する)することもできる。この場合、コンテンツサーバ12は、再構成後の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームと、それらに対応するメタデータをホームサーバ13に伝送することもできる。しかしながら、以下では、説明の便宜上、再構成が行われた場合であっても、再構成前の6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームが、コンテンツサーバ12に伝送されるものとする。
 ホームサーバ13(画像処理装置)は、コンテンツサーバ12から伝送されてくる、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取る。
 また、ホームサーバ13は、カメラ13Aを内蔵し、視聴者の頭部に装着されるヘッドマウントディスプレイ15に付されたマーカ15Aを撮影する。そして、ホームサーバ13は、マーカ15Aの撮影画像に基づいて視聴位置を検出する。さらに、ホームサーバ13は、ヘッドマウントディスプレイ15のジャイロセンサ15Bの検出結果を、ヘッドマウントディスプレイ15から変換装置14を介して受け取る。ホームサーバ13は、ジャイロセンサ15Bの検出結果に基づいて視聴者の視線方向を決定し、視聴位置と視線方向に基づいて視聴者の視野範囲を決定する。
 ホームサーバ13は、第1レイヤの6つの面のうちの、視聴者の視線方向に対応する3つの面を選択する。そして、ホームサーバ13は、選択された3つの面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを復号する。これにより、ホームサーバ13は、選択された3つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を生成する。
 また、ホームサーバ13は、低解像度テクスチャストリームと低解像度デプスストリームを復号し、低解像度テクスチャ画像と低解像度デプス画像を生成する。ホームサーバ13は、選択された3つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像、並びに、低解像度テクスチャ画像と低解像度デプス画像を用いて、視聴者の視野範囲の画像を表示画像として生成する。ホームサーバ13は、図示せぬHDMI(登録商標)(High-Definition Multimedia Interface)ケーブルを介して表示画像を変換装置14に伝送する。
 変換装置14は、ホームサーバ13から伝送されてくる表示画像における座標を、ヘッドマウントディスプレイ15における座標に変換する。変換装置14は、座標変換後の表示画像をヘッドマウントディスプレイ15に供給する。
 ヘッドマウントディスプレイ15は、マーカ15Aとジャイロセンサ15Bを有し、視聴者の頭部に装着される。ヘッドマウントディスプレイ15は、変換装置14から供給される表示画像を表示する。また、ヘッドマウントディスプレイ15に内蔵されるジャイロセンサ15Bは、ヘッドマウントディスプレイ15の傾きを検出し、その検出結果を、変換装置14を介してホームサーバ13に伝送する。
 (コンテンツサーバの構成例)
 図2は、図1のコンテンツサーバ12の構成例を示すブロック図である。
 図2のコンテンツサーバ12は、デプス検出部31、量子化部32、低解像度画像処理部33、および高解像度画像処理部34により構成される。
 コンテンツサーバ12のデプス検出部31は、図1のマルチカメラ11から供給される各カメラの撮影画像の画素ごとに、その画素における被写体を含む奥行き方向に垂直なデプス平面とカメラの間の奥行き方向の距離zの逆数1/zを検出する。デプス検出部31は、その結果得られる各カメラの撮影画像の各画素の逆数1/zを量子化部32に供給する。
 量子化部32は、デプス検出部31から供給される各カメラの撮影画像の各画素の逆数1/zを、全天球画像において視点とされるマルチカメラ11の3次元座標系(以下、カメラ座標系という)における所定の3次元位置を視点としたときの逆数1/rに変換する。そして、量子化部32は、以下の式(1)により、逆数1/rに対して8ビット量子化を行う。
Figure JPOXMLDOC01-appb-M000001
 なお、Id(r)は、距離rの逆数1/rの8ビット量子化後の値である。rmax,rminは、それぞれ、全カメラの撮影画像における距離rの最大値、最小値である。
 量子化部32は、各カメラの撮影画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、各カメラのデプス画像を生成し、低解像度画像処理部33と高解像度画像処理部34に供給する。
 低解像度画像処理部33は、カメラ座標系における所定の3次元位置を視点として、マルチカメラ11から供給される各カメラの撮影画像を、視点を中心とした正八面体にマッピング(透視投影)することにより、全天球画像のテクスチャ画像を生成する。また、低解像度画像処理部33は、量子化部32から供給される各カメラのデプス画像を、撮影画像と同様に正八面体にマッピングすることにより、全天球画像のデプス画像を生成する。
 低解像度画像処理部33は、全天球画像のテクスチャ画像とデプス画像を低解像度化し、低解像度テクスチャ画像と低解像度デプス画像を生成する。低解像度画像処理部33は、低解像度テクスチャ画像と低解像度デプス画像を圧縮符号化し、その結果得られる低解像度テクスチャストリームと低解像度デプスストリームを記憶する。低解像度画像処理部33は、記憶している低解像度テクスチャストリームと低解像度デプスストリームを、図1のホームサーバ13に送信する。
 高解像度画像処理部34は、マルチカメラ11から供給される各カメラの撮影画像を用いて、低解像度画像処理部33における正八面体と中心が同一である立方体を構成する6つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像を生成する。高解像度画像処理部34は、量子化部32から供給される各カメラのデプス画像を用いて、撮影画像と同様に6つの面に対応する第1レイヤおよび第2レイヤのデプス画像を生成する。
 高解像度画像処理部34は、各面の第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を、面、画像の種類、およびレイヤごとに圧縮符号化する。コンテンツサーバ12は、その結果得られる第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを記憶する。
 また、高解像度画像処理部34は、メタデータを生成して記憶する。コンテンツサーバ12は、記憶している6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、図示せぬネットワークを介してホームサーバ13に伝送する。
 (高解像度画像処理部の構成例)
 図3は、図2の高解像度画像処理部34の構成例を示すブロック図である。
 図3の高解像度画像処理部34は、第1レイヤ生成部52、エンコーダ53、第2レイヤ生成部54、エンコーダ55、設定部56、メタデータ生成部57、ストレージ58、再構成部59、および伝送部60により構成される。
 第1レイヤ生成部52には、設定部56から、カメラ座標系における全天球画像の視点を原点とした3次元座標系(以下、3Dモデル座標系という)における、第1レイヤの視点の3次元位置として原点を示す視点位置情報が供給される。また、第1レイヤ生成部52には、3Dモデル座標系における原点を中心とした立方体を構成する6つの面をそれぞれ含む6つの面それぞれの、3Dモデル座標系における3次元位置およびサイズを示す面情報が供給される。
 第1レイヤ生成部52は、視点位置情報が示す原点を第1レイヤの視点(第1の視点)に設定する。第1レイヤ生成部52(画像生成部)は、カメラ座標系における全天球画像の視点を原点として、第1レイヤの視点から、図1のマルチカメラ11から供給される撮影画像を、6つの各面情報が示す3次元位置およびサイズの面のそれぞれにマッピングする。これにより、第1レイヤ生成部52は、第1レイヤの6つの面のテクスチャ画像を生成する。
 また、第1レイヤ生成部52(画像生成部)は、カメラ座標系における全天球画像の視点を原点として、第1レイヤの視点から、図2の量子化部32から供給されるデプス画像を、6つの各面情報が示す3次元位置およびサイズの面のそれぞれにマッピングする。これにより、第1レイヤ生成部52は、第1レイヤの6つの面のデプス画像を生成する。
 第1レイヤの6つの面に対応する視点は同一であるため、第1レイヤの6つの面のテクスチャ画像は、第1レイヤの視点を中心とした3Dモデルにマッピングされた全天球画像を6つの面にマッピングすることにより得られた画像であるといえる。同様に、第1レイヤの6つの面のデプス画像は、第1レイヤの視点を中心とした3Dモデルにマッピングされた全天球画像のデプス画像を6つの面にマッピングすることにより得られた画像であるといえる。第1レイヤ生成部52は、第1レイヤの6つの面のテクスチャ画像とデプス画像をエンコーダ53に供給する。
 エンコーダ53は、第1レイヤ生成部52から供給される第1レイヤの6つの面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化し、第1レイヤテクスチャストリームと第1レイヤデプスストリームを生成する。エンコーダ53は、第1レイヤテクスチャストリームと第1レイヤデプスストリームをストレージ58に供給する。
 第2レイヤ生成部54には、設定部56から、第1レイヤの各面に対応する第2レイヤの各面の、第1レイヤの視点とは異なる視点(第2の視点)の視点位置情報と、第1レイヤの各面に対応する第2レイヤの各面の面情報とが供給される。第2レイヤ生成部54は、第2レイヤの面ごとに、その面に対応する視点位置情報が示す3次元位置を第2レイヤの視点に設定する。
 第2レイヤ生成部54(画像生成部)は、第2レイヤの面ごとに、その面に対応する第2レイヤの視点から、マルチカメラ11から供給される撮影画像のうちの第1レイヤの視点におけるオクルージョン領域を、第2レイヤの面にマッピングする。これにより、第2レイヤ生成部54は、第2レイヤの6つの面のテクスチャ画像を生成する。
 また、第2レイヤ生成部54(画像生成部)は、第2レイヤの面ごとに、その面に対応する第2レイヤの視点から、量子化部32から供給されるデプス画像のうちの第1レイヤの視点におけるオクルージョン領域を、第2レイヤの面にマッピングする。これにより、第2レイヤ生成部54は、第2レイヤの6つの面のデプス画像を生成する。
 即ち、マルチカメラ11の各カメラの位置は異なっているため、カメラ座標系における1つの3次元位置を視点としたとき、撮影画像には、その視点におけるオクルージョン領域が含まれている。しかしながら、第1レイヤのテクスチャ画像は、1つの視点の全天球画像をマッピングすることにより生成されるため、第1レイヤのテクスチャ画像には、その視点におけるオクルージョン領域の撮影画像は含まれない。よって、第2レイヤ生成部54は、そのオクルージョン領域の撮影画像を第2レイヤのテクスチャ画像として含める。デプス画像についても同様である。
 エンコーダ55は、第2レイヤ生成部54から供給される6つの面の第2レイヤのテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化し、第2レイヤテクスチャストリームと第2レイヤデプスストリームを生成する。エンコーダ55は、第2レイヤテクスチャストリームと第2レイヤデプスストリームをストレージ58に供給する。
 設定部56は、3Dモデル座標系における原点を第1レイヤの視点として設定する。設定部56は、第1レイヤの視点を中心とした立方体を構成する6つの矩形の面をそれぞれ含む6つの面を第1レイヤの面として設定する。また、設定部56は、第1レイヤの面ごとに第2レイヤの視点と矩形の面を設定する。
 設定部56は、第1レイヤの1つの視点位置情報と6つの面情報を第1レイヤ生成部52とメタデータ生成部57に供給する。また、設定部56は、第1レイヤの6つの面に対応する第2レイヤの6つの視点位置情報と6つの面情報を、第2レイヤ生成部54とメタデータ生成部57に供給する。
 メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
 ストレージ58は、エンコーダ53から供給される第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、エンコーダ55から供給される第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを記憶する。また、ストレージ58は、メタデータ生成部57から供給されるメタデータを記憶する。
 また、ストレージ58は、再構成部59から供給される再構成後の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに、メタデータを記憶する。
 再構成部59は、必要に応じて、ストレージ58に記憶されている6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを読み出し、再構成する。
 具体的には、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面の数や画角を変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面の数や画角を変更する。例えば、再構成部59は、第1レイヤの面を、立方体を構成する6つの面をそれぞれ含む6つの面から、その6つの面に各面の中心を通る法線が立方体の12本の各辺の中点と視点を通る線である12個の面を加えた18個の面に変更する。
 または、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面どうしの間隔(密度)を変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面どうしの間隔を変更する。例えば、再構成部59は、第1レイヤの面を、中心を通る法線の間隔が90度である、立方体を構成する6つの面をそれぞれ含む6つの面から、中心を通る法線の間隔が45度である18個の面に変更する。
 第1レイヤの面どうしの間隔が狭くなると、面数が増加するため、総データ容量は増加するが、ホームサーバ13において、より視聴者の視野範囲に近い第1レイヤの面に対応するテクスチャ画像およびデプス画像を用いて表示画像を生成することができる。その結果、表示画像内の、第1レイヤまたは第2レイヤのテクスチャ画像およびデプス画像を用いて生成される高解像度領域が増加し、表示画像の画質が向上する。
 なお、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面の位置を変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面の位置を変更することにより、再構成を行ってもよい。この場合、再構成部59は、例えば、主要な被写体が第1レイヤの面の境界に存在するとき、主要な被写体が第1レイヤの面の境界以外の位置(例えば中央)に存在するように、第1レイヤの6つの面に対応する立方体を回転することにより、再構成を行う。
 また、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面の傾きを変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面の傾きを変更することにより、再構成を行ってもよい。この場合、再構成部59は、例えば、第1レイヤのテクスチャ画像内の主要な被写体が傾いているとき、傾きがなくなるように、第1レイヤの6つの面に対応する立方体を回転することにより、再構成を行う。
 再構成部59は、以上のようにして変更された第1レイヤの各面に対して、再構成後の第2レイヤの視点と面を設定する。そして、再構成部59は、再構成前の第2レイヤテクスチャストリームを用いて、第2レイヤテクスチャストリームに対応する視点および面を、設定された再構成後の第2レイヤの視点および面に変更する。また、再構成部59は、再構成前の第2レイヤデプスストリームを用いて、第2レイヤデプスストリームに対応する視点および面を、設定された再構成後の第2レイヤの視点および面に変更する。
 再構成部59は、再構成後の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームをストレージ58に供給する。また、再構成部59は、再構成後の第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
 伝送部60は、ストレージ58から6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを読み出し、図1のホームサーバ13に送信する。
 以上のように、図3の高解像度画像処理部34は、第1レイヤ画像と第2レイヤ画像を透視投影により生成する。従って、ホームサーバ13は、第1レイヤ画像と第2レイヤ画像に対して通常の画像用の処理を行うことができる。また、高解像度画像処理部34は、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、通常の画像の符号化ストリームの送信方法で送信することができる。
 (デプス画像の効果の説明)
 図4は、距離zと距離rを説明する図であり、図5は、距離zの最小値zminと距離rの最小値rminを説明する図である。
 なお、図4および図5は、第1レイヤに対応する立方体の所定の面を上から見た図である。
 距離zは、視点から各画素における被写体を含む奥行き方向に垂直なデプス平面までの奥行き方向の距離である。また、第1レイヤの各面の奥行き方向は、第1レイヤの各面に垂直な方向である。従って、第1レイヤの各面とデプス平面は平行になる。よって、第1レイヤの各面における距離zが同一であるデプス平面である等距離z面の形状は、第1レイヤの視点Oを中心とした立方体状になる。従って、等距離z面を第1レイヤに対応する立方体の所定の面の上から見た形状は、図4のAの点線で示すように正方形となる。
 よって、第1レイヤの各面の画角が変更される場合、図5のAに示すように、全ての面における距離zの最小値zminが変化する。例えば、図5のAに示すように、第1レイヤの各面の横方向(図5中上下方向)の画角が90度から120度に変更される場合、変更後の各面のテクスチャ画像には、変更前の各面と横方向に隣接する、その面とは奥行き方向が異なる2つの面のテクスチャ画像が含まれる。従って、第1レイヤの各面の横方向の画角が120度である場合の最小値zminは、画角に含まれる、横方向に隣接する2つの面に対応する、第1レイヤの各面の横方向の画角が90度である場合の最小値zminの等距離z面61の位置を含むデプス平面と視点Oとの奥行き方向の距離zの最小値になる。距離zの最大値zmaxについても、最小値zminと同様である。
 また、図6に示すように、第1レイヤに対応する立方体80が視点Oを通る線を軸として回転され、第1レイヤの各面の位置が変更される場合、変更前の面の奥行き方向pと変更後の面の奥行き方向qは異なる。従って、距離zの最小値zminと最大値zmaxは変化する。なお、図6において、点線は、変更前の面の等距離z面を示し、一点鎖線は、変更後の面の等距離z面を示している。
 また、図示は省略するが、第1レイヤの面の数や間隔が変更される場合も、第1レイヤの各面の位置が変更される場合と同様に奥行き方向が変化するため、最小値zminと最大値zmaxは変化する。
 以上のように、第1レイヤの面の画角、位置、数、または間隔が変更される場合、距離zの最小値zminと最大値zmaxは変化する。従って、第1レイヤのデプス画像の各画素のy値(輝度値)として、距離zの逆数1/zが用いられると、再構成部59による再構成時にデプス画像の8ビット量子化をやり直す必要がある。
 これに対して、距離rは、視点から各画素における被写体までの直線の距離である。また、第1レイヤの各面の視点Oから被写体までの直線の方向は、面によらず、視点Oを中心とした円の半径方向である。従って、第1レイヤの各面における距離rが同一である等距離r面の形状は、第1レイヤの視点Oを中心とした球状になる。よって、等距離r面を第1レイヤに対応する立方体の所定の面の上から見た形状は、図4のBの点線で示すように円状になる。
 以上のように、第1レイヤの各面の視点Oから被写体までの直線の方向は、面によらず同一であるため、第1レイヤの各面の画角が変更される場合であっても、図5のBに示すように、全ての面における距離rの最小値rminは変更されない。
 例えば、変更前の各面と横方向(図5中上下方向)に隣接する2つの面における第1レイヤの各面の視点Oから被写体までの直線の方向は同一である。従って、図5のBに示すように、第1レイヤの各面の横方向の画角が90度から120度に変更され、変更後の各面のテクスチャ画像に、変更前の各面と横方向に隣接する2つの面のテクスチャ画像が含まれる場合であっても、最小値rminは変化しない。距離rの最大値rmaxについても、最小値rminと同様である。
 また、図示は省略するが、第1レイヤの面の位置、数、または間隔が変更される場合も、第1レイヤの各面の画角が変更される場合と同様に第1レイヤの各面の視点Oから被写体までの直線の方向は変化しないため、最小値rminと最大値rmaxは変化しない。
 従って、図2の量子化部32は、第1レイヤのデプス画像の各画素のy値として、逆数1/zではなく、逆数1/rの量子化値を用いることにより、再構成部59による再構成時にデプス画像の8ビット量子化をやり直す処理を削減することができる。
 なお、上述した説明では、低解像度テクスチャストリームと低解像度デプスストリームは再構成されないようにしたが、再構成されるようにしてもよい。この場合も、低解像度デプス画像の各画素のy値は逆数1/rの量子化値であるので、第1レイヤのデプス画像の再構成時と同様に、再構成時に低解像度デプス画像の8ビット量子化をやり直す処理を削減することができる。
 (第1レイヤの6つの面のデプス画像の各画素の球上の位置の例)
 図7は、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の例を示す図である。
 なお、図7では、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置が点で表されている。
 第1レイヤの各面のデプス画像の各画素のデプス画像上の位置の間隔は等間隔である。しかしながら、図7に示すように、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の間隔は等間隔ではない。即ち、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の密度は、一定ではない。
 (第1レイヤの面の例)
 図8は、第1レイヤの面の例を示す図である。
 なお、以下では、第1レイヤの視点Oと、第1レイヤに対応する立方体80を構成する6つの面81乃至86の中心を通る6つの軸のうちの、互いに直交する3つの軸を、X軸、Y軸、Z軸という。また、視点Oと6つの面81乃至86のそれぞれとの距離をRとしたときのX=Rである面81を、適宜、+X面81ともいい、X=-Rである面82を、適宜、-X面82ともいう。同様に、Y=Rである面83、Y=-rである面84、Z=Rである面85、Z=-Rである面86を、適宜、+Y面83、-Y面84、+Z面85、-Z面86ともいう。
 また、図8のAは、第1レイヤの立方体80の斜視図であり、図8のBは、第1レイヤの立方体80をY軸の負方向に見た図である。
 図8のAに示すように、第1レイヤの1つの面91は、視点Oを中心とした立方体80を構成する6つの面81乃至86のうちの+Y面83を含む面である。より詳細には、面91は、+Y面83と同一の位置に設定され、横方向と縦方向の画角が、+Y面83の画角である90度より大きく、180度より小さい面である。
 従って、図8のBに示すように、面91のテクスチャ画像は、+Y面83にマッピングされたテクスチャ画像だけでなく、+Y面83に隣接する+X面81、-X面82、+Z面85、および-Z面86にマッピングされるテクスチャ画像の一部を含む。面91のデプス画像についても、テクスチャ画像と同様である。
 図8では、第1レイヤの1つの面91のみ図示したが、他の5つの面も、面91と同様に、それぞれ、+X面81、-X面82、-Y面84、+Z面85、-Z面86と同一の位置に設定され、横方向と縦方向の画角が90度より大きく180度より小さい面である。
 以上のように、第1レイヤの6つの面のそれぞれは、立方体を構成する6つの面81乃至86のそれぞれを含むように構成されるので、第1レイヤの6つの面のいずれかに必ず、全天球画像がマッピングされる。従って、ホームサーバ13は、第1レイヤの6つの面のうちの多くとも隣接する3つの面を用いれば、視点Oを視聴位置とした水平方向の周囲360度および垂直方向の周囲180度の任意の方向の表示画像を生成することができる。
 (第1レイヤの視点位置情報および面情報のテーブルの構成例)
 図9は、図3のメタデータ生成部57により生成されるメタデータのうちの、第1レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
 図9の例では、面情報のうちの、面の3Dモデル座標系における3次元位置を示す情報が、方位角、仰角、回転角、および視線ベクトルであり、サイズを示す情報が横画角と縦画角である。
 方位角は、視点と各面の中心を結ぶ線とZ軸とのなすXZ平面方向の角度であり、仰角は、視点と各面の中心を結ぶ線とXZ平面とのなす角度である。ここでは、方位角は、右回りを正方向とし、仰角は、左回りを正方向とする。視点から延びるZ軸方向の線を方位角だけXZ平面上を水平回転した後、仰角だけY軸方向に上下回転した線が、面の中心を通る法線である。
 回転角は、視点と各面の中心を結ぶ線を軸としたときの各面の回転方向の角度である。ここでは、回転角は右回りが正方向とする。視線ベクトルは、視点を起点として各面の中心へ向かう長さが1であるベクトル、即ち各面の中心を通る法線ベクトルである。横画角は、各面の横方向の2つの端部それぞれと視点とを結んだ線のなす角度であり、縦画角は、各面の縦方向の2つの端部それぞれと視点とを結んだ線のなす角度である。
 図9に示すように、第1レイヤの視点位置情報および面情報のテーブルには、図3のストレージ58において各面の第1レイヤテクスチャストリームおよび第1レイヤデプスストリームが格納されるファイルのファイル名の共通部分が登録される。
 具体的には、図9の例では、+Z面85、-Z面86、+X面81、-X面82、+Y面83、-Y面84をそれぞれ含む各面の第1レイヤテクスチャストリームのファイル名が、posZ_texture,negZ_texture,posX_texture,negX_texture,posY_texture,negY_textureである。また、+Z面85、-Z面86、+X面81、-X面82、+Y面83、-Y面84をそれぞれ含む各面の第1デプスストリームのファイル名が、それぞれ、posZ_depth,negZ_depth,posX_depth,negX_depth,posY_depth,negY_depthである。従って、図9のテーブルには、第1レイヤの各面のファイル名の共通部分として、posZ,negZ,posX,negX,posY,negYが登録される。
 また、第1レイヤの視点位置情報および面情報のテーブルには、ファイル名の共通部分に対応付けて、そのファイル名の共通部分に対応する面の面情報、視点位置情報、テクスチャ画像およびデプス画像の横画素数および縦画素数が登録される。
 具体的には、+Z面85、-Z面86、+X面81、-X面82、+Y面83、-Y面84をそれぞれ含む第1レイヤの各面の中心と視点Oを結ぶ線と、Z軸とのなすXZ平面方向の角度は、それぞれ、0度、-180度、90度、-90度、0度、0度であり、XZ平面とのなす角度は、それぞれ、0度、0度、0度、0度、90度、-90度である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、方位角「0度」、「-180度」、「90度」、「-90度」、「0度」、「0度」が登録されるとともに、仰角「0度」、「0度」、「0度」、「0度」、「90度」、「-90度」が登録される。
 また、図9の例では、第1レイヤの全ての面の回転角は0度である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、回転角「0度」が登録される。さらに、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、視点位置情報として原点の座標(0,0,0)が登録される。
 また、視点Oから、+Z面85、-Z面86、+X面81、-X面82、+Y面83、-Y面84をそれぞれ含む第1レイヤの各面の視線ベクトルは、(0,0,1),(0,0,-1),(1,0,0)(-1,0,0),(0,1,0),(0,-1,0)である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、視線ベクトル(0,0,1),(0,0,-1),(1,0,0)(-1,0,0),(0,1,0),(0,-1,0)が登録される。
 さらに、図9の例では、第1レイヤの全ての面の横画角および縦画角は90度より大きい100度であり、テクスチャ画像およびデプス画像の横方向の画素数である横画素数および縦方向の画素数である縦画素数は1024である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、横画角「100度」、縦画角「100度」、横画素数「1024」、および縦画素数「1024」が登録される。
 (階層化の説明)
 図10は、第1レイヤの所定の面に対応する被写体の奥行き方向の位置を示す図であり、図11は、第1レイヤおよび第2レイヤの視点が同一である場合の図10の被写体の第1レイヤおよび第2レイヤのテクスチャ画像の構成例を示す図である。
 なお、図10は、第1レイヤの視点Oと被写体を上から見た図であり、図10の上下方向は、この被写体を画角に含む第1レイヤの所定の面の奥行き方向である。また、図11において、左右方向および上下方向は、それぞれ、テクスチャ画像の横方向、奥行き方向を表す。図10および図11の下方向が手前側、上方向が奥側である。
 図10および図11の例では、第1レイヤの所定の面の画角内に含まれる被写体が、中央の前景111と、前景の奥にある背景112である。この場合、図11に示すように、第1レイヤの所定の面のテクスチャ画像は、前景111の撮影画像121と、背景112のうちの前景111によって隠されない領域112Aの撮影画像122Aとにより構成される。
 一方、この第1レイヤの所定の面に対応する第2レイヤの面のテクスチャ画像は、図11に示すように、背景112のうちの前景111によって遮蔽されたオクルージョン領域112Bのうちの、マルチカメラ11により撮影された撮影済みオクルージョン領域112Cの撮影画像122Cを有効領域として含む。
 第2レイヤの面のテクスチャ画像のうちの有効領域以外の領域には何を配置してもよいが、無効値などの特殊値が配置されると、圧縮符号化により特殊値の値が変化し、ホームサーバ13において復号による特殊値の復元が困難になる。
 従って、第2レイヤの面のテクスチャ画像の有効領域以外の領域は、領域112Aに対応する不要領域(背景領域)と、オクルージョン領域112Bのうちの撮影済みオクルージョン領域112C以外の領域に対応する想像領域とに分割される。
 そして、オクルージョン領域が存在しない領域112Aに対応する不要領域には、第1レイヤと同様に撮影画像122Aが配置されるか、または、エッジ部分が急峻ではない平坦な画像が配置される。不要領域に撮影画像122Aが配置される場合、不要領域における第1レイヤと第2レイヤのテクスチャ画像が同一になるので、第1レイヤのテクスチャ画像を第2レイヤのテクスチャ画像を参照してMVC方式や3D-HEVC方式等で圧縮符号化する場合、圧縮率を向上させることができる。また、不要領域に平坦な画像が配置される場合、エッジ部分が急峻な画像が配置される場合に比べて、第2レイヤ画像の圧縮率を向上させることができる。なお、不要領域の一部に撮影画像122Aが配置され、他部に平坦な画像が配置されるようにしてもよい。
 また、想像領域は、オクルージョン領域が存在するが、マルチカメラ11により撮影されていない、オクルージョン領域112Bのうちの撮影済みオクルージョン領域112C以外の領域に対応する領域である。従って、想像領域には、撮影済みオクルージョン領域112Cの撮影画像122Cを用いて推測(インペインティング)されたインペインティング画像が配置されるか、または、第1レイヤと同様に撮影画像121が配置される。
 なお、インペインティングには、過去の撮影画像が用いられてもよい。コンテンツサーバ12がインペインティングを行うことにより、ホームサーバ13は、想像領域を有効領域と同等に扱うことができる。また、コンテンツサーバ12がインペインティングを再生前に行うことにより、多くの時間を要する処理負荷の高いインペインティングも行うことができる。
 また、想像領域に撮影画像121が配置される場合、想像領域が点在したり、インペインティングが困難であったりするときにも、想像領域を容易に生成することが可能である。想像領域の一部にインペインティング画像が配置され、他部に撮影画像121が配置されるようにしてもよい。
 なお、第1レイヤおよび第2レイヤのデプス画像の構成は、撮影画像がデプス画像に代わる点を除いて、第1レイヤおよび第2レイヤのテクスチャ画像の構成と同様であるので、説明は省略する。また、以下では、第2レイヤの不要領域と想像領域に、第1レイヤと同様の撮影画像またはデプス画像が配置される場合について説明する。
 (第1レイヤと第2レイヤの視点の説明)
 図12は、第1レイヤと第2レイヤの視点が同一である場合の第1レイヤの所定の面に対応する第1レイヤと第2レイヤのテクスチャ画像を説明する図である。図13は、第1レイヤと第2レイヤの視点が異なる場合の第1レイヤの所定の面に対応する第1レイヤと第2レイヤのテクスチャ画像を説明する図である。
 図12のAと図13のAは、第1レイヤの視点Oと被写体を上から見た図であり、図12のAと図13のAの上下方向は、この被写体を画角に含む第1レイヤの所定の面の奥行き方向である。
 図12のAに示すように、第2レイヤの視点が第1レイヤの視点Oである場合、第1レイヤの所定の面131の画角内の視点Oに延びる棒状の被写体141は、第1レイヤのテクスチャ画像151および第2レイヤのテクスチャ画像152の両方において点になる。
 即ち、第1レイヤと第2レイヤにおいて視点Oから面131に向かう方向が同一になるため、第1レイヤのテクスチャ画像151と第2レイヤのテクスチャ画像152の両方において、被写体141が1点に縮退してしまう。従って、テクスチャ画像151とテクスチャ画像152では、被写体141の視点Oに延びる方向の長さを表現することができない。
 これに対して、第2レイヤの視点が第1レイヤの視点Oとは異なる視点O´である場合、第1レイヤの面131と第2レイヤの面161の画角に含まれる被写体141は、第2レイヤのテクスチャ画像172において直線になる。
 即ち、第1レイヤの視点Oから面131に向かう方向と第2レイヤの視点O´から面161に向かう方向は異なる。従って、第1レイヤのテクスチャ画像151において被写体141が1点に縮退してしまっても、第2レイヤのテクスチャ画像172においては被写体141が1点に縮退しない。よって、テクスチャ画像172では、被写体141の視点Oに延びる方向の長さを表現することができる。
 以上により、コンテンツサーバ12では、第1レイヤと第2レイヤの視点が異なるように設定される。
 (第2レイヤの視点の第1の例)
 図14は、第2レイヤの視点の第1の例を示す図である。
 図14のAは、第1レイヤの立方体80の斜視図であり、図14のBは、立方体80をY軸の負方向に見た図である。このことは、図16においても同様である。
 図14の例では、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視点191が、第1レイヤの視点OからY軸の正方向に、立方体80の各辺の半分の長さaだけ移動した位置に設定される。図14において視点191に付された矢印が示すように、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視線ベクトルは、第1レイヤと同様に、(1,0,0)である。
 第1レイヤの-X面82を含む面に対応する第2レイヤの面の視点192は、視点OからY軸の負方向に長さaだけ移動した位置に設定される。図14において視点192に付された矢印が示すように、第1レイヤの-X面82を含む面に対応する第2レイヤの面の視線ベクトルは、第1レイヤと同様に、(-1,0,0)である。
 また、第1レイヤの+Y面83を含む面91に対応する第2レイヤの面の視点193と-Y面84を含む面に対応する第2レイヤの面の視点194は、それぞれ、視点OからZ軸の正方向、負方向に長さaだけ移動した位置に設定される。図14において視点193および視点194に付された矢印が示すように、第1レイヤの面91に対応する第2レイヤの面の視線ベクトルと-Y面84を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,1,0),(0,-1,0)である。
 また、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視点195と-Z面86を含む面に対応する第2レイヤの面の視点196は、それぞれ、第1レイヤの視点OからX軸の正方向、負方向に長さaだけ移動した位置に設定される。図14において視点195および視点196に付された矢印が示すように、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視線ベクトルと-Z面86を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,0,1),(0,0,-1)である。
 以上のように、図14の例では、第2レイヤの各面の視点191乃至196は、第1レイヤの視点Oから視線ベクトルに垂直な1方向に長さaだけ移動した位置に設定される。また、第2レイヤの各面の視線ベクトルは、対応する第1レイヤの面の視線ベクトルと同一である。さらに、第2レイヤの各面の視点191乃至196の視点Oに対するずれ方向は、面ごとに異なる。
 なお、第2レイヤの各面の視点191乃至196と視点Oとの、X軸方向、Y軸方向、またはZ軸方向の距離は、立方体80の各辺の半分の長さaに限定されない。
 (第2レイヤの視点位置情報および面情報のテーブルの第1の構成例)
 図15は、第2レイヤの各面の視点として図14の視点191乃至196が設定される場合に、図3のメタデータ生成部57により生成されるメタデータのうちの、第2レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
 図15のテーブルは、ファイル名の共通部分と視点位置情報を除いて、図9のテーブルと同一である。
 具体的には、図15の例では、+Z面85、-Z面86、+X面81、-X面82、+Y面83、-Y面84をそれぞれ含む第1レイヤの各面に対応する第2レイヤの各面のテクスチャ画像のファイル名が、それぞれ、posZ2_texture,negZ2_texture,posX2_texture,negX2_texture,posY2_texture,negY2_textureである。また、+Z面85、-Z面86、+X面81、-X面82、+Y面83、-Y面84をそれぞれ含む第1レイヤの各面に対応する第2レイヤの各面のデプス画像のファイル名が、それぞれ、posZ2_depth,negZ2_depth,posX2_depth,negX2_depth,posY2_depth,negY2_depthである。従って、図15のテーブルには、第2レイヤの各面のファイル名の共通部分として、posZ2,negZ2,posX2,negX2,posY2,negY2が登録される。
 また、ファイル名の共通部分「posZ2」,「negZ2」,「posX2」,「negX2」,「posY2」,「negY2」のそれぞれに対応付けて、視点Oを原点としたときの視点191乃至196の座標(a,0,0),(-a,0,0),(0,a,0)(0,-a,0),(0,0,a),(0,0,-a)が登録される。
 (第2レイヤの視点の第2の例)
 図16は、第2レイヤの視点の第2の例を示す図である。
 図16の例では、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視点211と-X面82を含む面に対応する第2レイヤの面の視点212は、それぞれ、第1レイヤの視点Oから、Y軸の正方向とZ軸の負方向、Y軸の負方向とZ軸の正方向に長さaだけ移動した位置に設定される。図16において視点211および視点212に付された矢印が示すように、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視線ベクトルと第1レイヤの-X面82を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(1,0,0),(-1,0,0)である。
 また、第1レイヤの+Y面83を含む面91に対応する第2レイヤの面の視点213と-Y面84を含む面に対応する第2レイヤの面の視点214は、それぞれ、視点Oから、X軸の負方向とZ軸の正方向、X軸の正方向とZ軸の負方向に長さaだけ移動した位置に設定される。図16において視点213および視点214に付された矢印が示すように、第1レイヤの面91に対応する第2レイヤの面の視線ベクトルと-Y面84を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,1,0),(0,-1,0)である。
 また、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視点215と-Z面86を含む面に対応する第2レイヤの面の視点216は、それぞれ、視点Oから、X軸の正方向とY軸の負方向、X軸の負方向とY軸の正方向に長さaだけ移動した位置に設定される。図16において視点215および視点216に付された矢印が示すように、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視線ベクトルと-Z面86を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,0,1),(0,0,-1)である。
 以上のように、図16の例では、第2レイヤの各面の視点211乃至216は、第1レイヤの視点Oから視線ベクトルに垂直な2方向に長さaだけ移動した位置に設定される。また、第2レイヤの各面の視線ベクトルは、対応する第1レイヤの面の視線ベクトルと同一である。さらに、第2レイヤの各面の視点211乃至216の視点Oに対するずれ方向は、面ごとに異なる。また、視点211乃至216は、視点Oに対して対称である。
 なお、第2レイヤの各面の視点191乃至196と視点Oとの、X軸方向、Y軸方向、およびZ軸方向のうちの2方向の距離は、立方体80の各辺の半分の長さaに限定されない。
 (第2レイヤの視点位置情報および面情報のテーブルの第2の構成例)
 図17は、第2レイヤの各面の視点として図16の視点211乃至216が設定される場合に、図3のメタデータ生成部57により生成されるメタデータのうちの、第2レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
 図17のテーブルは、視点位置情報を除いて、図15のテーブルと同一である。
 具体的には、図17のテーブルには、ファイル名の共通部分「posZ2」,「negZ2」,「posX2」,「negX2」,「posY2」,「negY2」のそれぞれに対応付けて、視点Oを原点としたときの視点211乃至216の座標(a,-a,0),(-a,a,0),(0,a,-a),(0,-a,a),(-a,0,a),(a,0,-a)が登録される。
 (コンテンツサーバの処理の説明)
 図18は、図2のコンテンツサーバ12のストリーム生成処理を説明するフローチャートである。このストリーム生成処理は、図1のマルチカメラ11から各カメラの撮影画像がフレーム単位で供給されたとき、開始される。
 図18のステップS10において、コンテンツサーバ12のデプス検出部31は、マルチカメラ11から供給される各カメラの撮影画像から、各カメラの撮影画像の各画素の逆数1/zを検出し、量子化部32に供給する。
 ステップS11において、量子化部32は、各カメラの撮影画像の各画素の逆数1/zを、全天球画像において視点とされるカメラ座標系における所定の3次元位置を視点としたときの逆数1/rに変換し、その逆数1/rに対して8ビット量子化を行う。量子化部32は、各カメラの撮影画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、各カメラのデプス画像を生成し、低解像度画像処理部33と高解像度画像処理部34に供給する。
 ステップS12において、低解像度画像処理部33は、カメラ座標系における所定の3次元位置を視点として、マルチカメラ11から供給される各カメラの撮影画像から全天球画像のテクスチャ画像を生成し、低解像度化する。
 ステップS13において、低解像度画像処理部33は、量子化部32から供給される各カメラのデプス画像から、全天球画像のテクスチャ画像と同様に全天球画像のデプス画像を生成し、低解像度化する。
 ステップS14において、低解像度画像処理部33は、ステップS12の処理により生成された低解像度テクスチャ画像とステップS13の処理により生成された低解像度デプス画像とを圧縮符号化して記憶する。
 ステップS15において、低解像度画像処理部33は、記憶している低解像度テクスチャストリームと低解像度デプスストリームを、図1のホームサーバ13に送信する。
 ステップS16において、高解像度画像処理部34の設定部56(図3)は、3Dモデル座標系における原点を第1レイヤに共通の1つの視点として設定し、第1レイヤの視点を中心とした立方体を構成する6つの面をそれぞれ含む6つの面を第1レイヤの面として設定する。また、設定部56は、第1レイヤの各面に対応する第2レイヤの6つの視点と6つの面を設定する。設定部56は、第1レイヤの1つの視点位置情報と6つの面の面情報を第1レイヤ生成部52とメタデータ生成部57に供給する。また、設定部56は、第2レイヤの6つの視点位置情報と6つの面情報を第2レイヤ生成部54とメタデータ生成部57に供給する。
 ステップS17において、第1レイヤ生成部52は、カメラ座標系における全天球画像の視点を原点とし、第1レイヤの視点位置情報が示す原点を視点として、各カメラの撮影画像から、第1レイヤの各面情報に対応する各面のテクスチャ画像を生成する。また、第1レイヤ生成部52は、テクスチャ画像と同様に、各カメラのデプス画像から、第1レイヤの各面情報に対応する各面のデプス画像を生成する。
 ステップS18において、第2レイヤ生成部54は、第2レイヤの面情報に対応する面ごとに、カメラ座標系における全天球画像の視点を原点とし、第2レイヤの視点位置情報が示す3次元位置を視点として、各カメラの撮影画像からテクスチャ画像を生成する。また、第2レイヤ生成部54は、第2レイヤの面情報に対応する面ごとに、テクスチャ画像と同様に、各カメラのデプス画像から第2レイヤのデプス画像を生成する。
 ステップS19において、エンコーダ53は、第1レイヤ生成部52から供給される第1レイヤの各面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化してストレージ58に供給し、記憶させる。
 ステップS20において、エンコーダ55は、第2レイヤ生成部54から供給される第2レイヤの各面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化してストレージ58に供給し、記憶させる。
 ステップS21において、メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給して記憶させる。
 ステップS22において、再構成部59は、第1レイヤのテクスチャ画像とデプス画像の再構成が必要であるかどうかを判定する。例えば、再構成部59は、ユーザから第1レイヤの面の数、画角、面どうしの間隔、位置、または傾きの変更が指示された場合、第1レイヤのテクスチャ画像とデプス画像の再構成が必要であると判定する。
 ステップS22で第1レイヤのテクスチャ画像とデプス画像の再構成が必要であると判定された場合、処理はステップS23に進む。ステップS23において、再構成部59は、再構成後の第1レイヤの面、並びに、再構成後の第1レイヤの面に対応する第2レイヤの視点および面を設定する。
 ステップS24において、再構成部59は、再構成後の第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
 ステップS25において、再構成部59は、ストレージ58に記憶されている各面の第1レイヤテクスチャストリームを、ステップS23で設定された再構成後の第1レイヤの面のテクスチャストリームに再構成し、ストレージ58に供給して記憶させる。また、再構成部59は、ストレージ58に記憶されている第1レイヤデプスストリームを、ステップS23で設定された再構成後の第1レイヤの面の第1レイヤデプスストリームに再構成し、ストレージ58に供給して記憶させる。
 また、再構成部59は、ストレージ58に記憶されている各面の第2レイヤテクスチャストリームを、ステップS23で設定された再構成後の第2レイヤの視点および面の第2レイヤテクスチャストリームに再構成し、ストレージ58に供給して記憶させる。再構成部59は、ストレージ58に記憶されている第2レイヤデプスストリームを、ステップS23で設定された再構成後の第2レイヤの視点および面の第2レイヤデプスストリームに再構成し、ストレージ58に供給して記憶させる。そして、処理はステップS26に進む。
 一方、ステップS22で第1レイヤのテクスチャ画像とデプス画像の再構成が必要ではないと判定された場合、処理はステップS26に進む。
 ステップS26において、伝送部60は、ストレージ58から再構成前の6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを読み出し、ホームサーバ13に送信する。
 以上のように、コンテンツサーバ12は、第1レイヤの視点におけるオクルージョン領域のテクスチャ画像およびデプス画像を第2レイヤのテクスチャ画像およびデプス画像として生成する。従って、ホームサーバ13は、視聴位置が視点Oとは異なる場合に、第2レイヤのテクスチャ画像とデプス画像を用いることにより、表示画像に含まれる視点Oのオクルージョン領域を生成することができる。よって、ホームサーバ13は、高画質の表示画像を生成することができる。
 また、コンテンツサーバ12は、第2レイヤの視点を、第1レイヤの視点Oとは異なる3次元位置に設定する。従って、第2レイヤにおいて、視点Oに延びる被写体の視点Oに延びる方向の長さを表現することができる。
 さらに、コンテンツサーバ12は、デプス画像の各画素のy値を逆数1/rを8ビット量子化した値とする。従って、コンテンツサーバ12は、再構成時にデプス画像の8ビット量子化をやり直す必要がない。
 (ホームサーバの構成例)
 図19は、図1のホームサーバ13の構成例を示すブロック図である。
 図19のホームサーバ13は、カメラ13A、受け取り部231、ストレージ232、受け取り部233、視線検出部234、ML3Dモデル生成部235、ML3Dモデル生成部236、ML3Dモデル生成部237、3Dモデル生成部238、および描画部239により構成される。
 ホームサーバ13の受け取り部231は、コンテンツサーバ12から伝送されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、ストレージ232に供給する。
 ストレージ232は、受け取り部231から供給される低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを記憶する。
 受け取り部233は、図1のジャイロセンサ15Bの検出結果をヘッドマウントディスプレイ15から受け取り、視線検出部234に供給する。
 視線検出部234は、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視線方向を決定する。また、視線検出部234は、カメラ13Aからマーカ15Aの撮影画像を取得し、その撮影画像に基づいて、3Dモデル座標系における視聴位置を検出する。
 視線検出部234は、ストレージ232からメタデータのうちの第1レイヤのテーブルを読み出す。視線検出部234は、3Dモデル座標系における視聴位置および視線方向、並びに、第1レイヤのテーブルに基づいて、6つの面のうちの、視聴位置から視線方向に延びる視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。具体的には、視線検出部234は、+X面81と-X面82のいずれかを含む面、+Y面83と-Y面84のいずれかを含む面、および、+Z面85と-Z面86のいずれかを含む面を選択面に決定する。
 以上のようにして選択面が決定されることにより、後述する描画部239により選択面に対応する第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を用いて生成される表示画像内の高解像度領域の割合が最も高くなる。また、3つの選択面が決定されることにより、1つの選択面が選択される場合に比べて、視線が立方体80の頂点付近に向かう場合に表示画像内の高解像度領域の割合を増加させることができる。
 視線検出部234は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部235乃至237に供給する。また、視線検出部234は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、3Dモデル生成部238に供給する。
 また、視線検出部234は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定する。視線検出部234は、視聴者の視野範囲と視聴位置を描画部239に供給する。視線検出部234は、3つの選択面と、その3つの選択面に対応する第2レイヤの3つの面の視点位置情報および面情報を描画部239に供給する。
 ML3Dモデル生成部235乃至237は、それぞれ、第1レイヤテクスチャストリームと第1レイヤデプスストリームを用いて、第1レイヤのテクスチャ画像の各画素に対応するサンプリング点のテクスチャ画像座標系における3次元位置(u,v,z)および接続情報と、カラー情報としてのRGB値とからなる3次元データを生成する。なお、各サンプリング点の接続情報は、そのサンプリング点(vertex)と他のサンプリング点との接続を表す情報である。テクスチャ画像座標系は、テクスチャ画像の横方向をu軸、縦方向をv軸、奥行き方向をz軸とする座標系である。
 また、ML3Dモデル生成部235乃至237は、それぞれ、視線検出部234から供給される第2レイヤテクスチャストリームと第2レイヤデプスストリームを用いて、第2レイヤのテクスチャ画像の各画素に対応するサンプリング点の3次元データを生成する。ML3Dモデル生成部235乃至237は、第1レイヤおよび第2レイヤの3次元データを描画部239に供給する。
 3Dモデル生成部238は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームを復号し、低解像度テクスチャ画像と低解像度デプス画像を生成する。3Dモデル生成部238は、低解像度テクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。また、3Dモデル生成部238は、低解像度デプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、3Dモデル生成部238は、低解像度デプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。
 また、3Dモデル生成部238は、各サンプリング点の3次元位置(u,v,z)に基づいて、隣接する3つのサンプリング点どうしが接続するように各サンプリング点の接続情報を生成する。3Dモデル生成部238は、各サンプリング点の3次元位置(u,v,z)、接続情報、およびRGB値を、低解像度テクスチャ画像の3次元データとして、描画部239に供給する。
 描画部239は、3Dモデル生成部238から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画(点群描画)を行う。その後、描画部239は、ML3Dモデル生成部235乃至237のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
 即ち、低解像度テクスチャ画像の視点は3Dモデル座標系における原点であり、3Dモデルとしての正八面体の各面の位置およびサイズは予め決まっている。従って、描画部239は、正八面体の各面に対応する各カメラの内部パラメータと外部パラ―メータを求めることができる。よって、描画部239は、この内部パラメータと外部パラメータを用いて、低解像度テクスチャ画像の各サンプリング点の3次元位置(u,v,z)から、各サンプリング点の画面上の位置(u,v)と3Dモデル座標系における3次元位置(X,Y,Z)を認識することができる。その結果、低解像度テクスチャ画像の各サンプリング点の画面上の位置(u,v)および3次元位置(X,Y,Z)と接続情報およびRGB値とを用いて三角形パッチ描画を行うことができる。
 また、描画部239は、第1レイヤおよび第2レイヤの視点位置情報および面情報に基づいて、第1レイヤおよび第2レイヤの各面に対応する各カメラの内部パラメータと外部パラメータを求めることができる。従って、描画部239は、この内部パラメータと外部パラメータを用いて、第1レイヤおよび第2レイヤの各サンプリング点の3次元位置(u,v,z)から、各サンプリング点の画面上の位置(u,v)と3次元位置(X,Y,Z)を認識できる。その結果、描画部239は、第1レイヤおよび第2レイヤの各サンプリング点の画面上の位置(u,v)および3次元位置(X,Y,Z)と接続情報およびRGB値とを用いて三角形パッチ描画を行うことができる。
 描画部239(画像生成部)は、3Dモデル座標系において描画された三角形パッチを、視線検出部234から供給される視聴位置を視点として視野範囲に透視投影(マッピング)することにより、表示画像を生成する。描画部239は、表示画像を図1の変換装置14に送信する。
 (ML3Dモデル生成部の構成例)
 図20は、図19のML3Dモデル生成部235の構成例を示すブロック図である。
 図20のML3Dモデル生成部235は、デコーダ251、RGB変換部252、デコーダ253、デプス変換部254、不連続検出部255、3Dモデル生成部256、デコーダ257、RGB変換部258、デコーダ259、デプス変換部260、オクルージョン処理部261、および3Dモデル生成部262により構成される。
 ML3Dモデル生成部235のデコーダ251は、図19の視線検出部234から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成する。デコーダ251は、第1レイヤのテクスチャ画像をRGB変換部252に供給する。
 RGB変換部252は、第1レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部252は、各サンプリング点のRGB値を3Dモデル生成部256に供給する。
 デコーダ253は、視線検出部234から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成する。デコーダ253は、第1レイヤのデプス画像をデプス変換部254に供給する。
 デプス変換部254は、デコーダ253から供給される第1レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、デプス変換部254は、第1レイヤのデプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部254は、各サンプリング点の3次元位置(u,v,z)を不連続検出部255と3Dモデル生成部256に供給する。
 不連続検出部255は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第1レイヤのデプス画像の画素のうちの、隣接するサンプリング点とのz座標の差分が閾値以上であるサンプリング点に対応する画素である不連続画素を検出する。不連続検出部255は、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を3Dモデル生成部256に供給する。
 3Dモデル生成部256(接続情報生成部)は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、各サンプリング点の接続情報を生成する。即ち、3Dモデル生成部256は、サンプリング点ごとに、そのサンプリング点を頂点とする三角形パッチの3つの頂点どうしの接続を表す接続情報を生成する。そして、3Dモデル生成部256は、不連続検出部255から供給される不連続画素に対応するサンプリング点の3次元位置(u,v,z)に基づいて、生成された各サンプリング点の接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除する。
 3Dモデル生成部256は、第1レイヤの各サンプリング点の3次元位置(u,v,z)、RGB値、および削除後の接続情報を、第1レイヤの3次元データとして生成し、図19の描画部239に供給する。
 デコーダ257、RGB変換部258、デコーダ259、およびデプス変換部260の処理は、処理対象のレイヤが第1レイヤから第2レイヤに代わる点を除いて、デコーダ251、RGB変換部252、デコーダ253、およびデプス変換部254と同様であるので、説明は省略する。
 オクルージョン処理部261は、デプス変換部260から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第2レイヤのデプス画像の画素のうちの不連続画素を検出する。オクルージョン処理部261は、第2レイヤの各サンプリング点の3次元位置(u,v,z)に基づいて、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を補正するオクルージョン処理を行う。
 具体的には、オクルージョン処理部261は、例えば、不連続画素に対応するサンプリング点の2次元位置(u,v)を、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置(u,v)に補正する。オクルージョン処理部261は、第2レイヤの各サンプリング点のオクルージョン処理後の3次元位置(u,v,z)を3Dモデル生成部262に供給する。
 3Dモデル生成部262は、オクルージョン処理部261から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、サンプリング点ごとに、そのサンプリング点と隣接する2つのサンプリング点との接続を表す接続情報を生成する。3Dモデル生成部262は、各サンプリング点の3次元位置(u,v,z)および接続情報、並びに、RGB変換部258から供給されるRGB値を、第2レイヤの3次元データとして生成する。3Dモデル生成部256は、第2レイヤの3次元データを図19の描画部239に供給する。
 なお、図示は省略するが、ML3Dモデル生成部236およびML3Dモデル生成部237は、図20のML3Dモデル生成部235と同様に構成される。
 (接続情報の削除およびオクルージョン処理の効果の説明)
 図21は、第1レイヤの接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除しない場合の接続情報を説明する図であり、図22は、削除した場合の接続情報を説明する図である。
 図21および図22において、左右方向は、テクスチャ画像の横方向を表し、上下方向は、テクスチャ画像の奥行き方向を表す。図21および図22の上方向が手前側、下方向が奥側である。また、図21および図22において、実線は、第1レイヤの各サンプリング点の3次元位置(u,v,z)を表し、点線は、第2レイヤの各サンプリング点の3次元位置(u,v,z)を表す。また、図21および図22の例では、被写体が図10の前景111と背景112である。
 第1レイヤおよび第2レイヤの両方においてオクルージョン処理が行われない場合、図21のAに示すように、第1レイヤの前景111の撮影画像121と背景112の領域112Aの撮影画像122Aの境界の不連続画素に対応するサンプリング点の3次元位置は変更されない。
 また、第1レイヤおよび第2レイヤの両方において不連続画素に対応するサンプリング点との接続を表す接続情報が削除されない場合、図21のAに示すように、第1レイヤおよび第2レイヤの不連続画素に対応するサンプリング点は、隣接する2つのサンプリング点と接続される。
 従って、第1レイヤの不連続画素に対応するサンプリング点と、隣接する2つのサンプリング点とを頂点とする三角形パッチが生成され、その三角形パッチにより、有効領域の撮影画像122Cは塗り潰れされる。よって、図中右下から左上へ向かう視線Vに対応する、撮影済みオクルージョン領域112Cを含む表示画像を生成する場合に、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることはできない。
 また、第1レイヤおよび第2レイヤの両方において、不連続画素に対応するサンプリング点との接続を表す接続情報が削除されないが、オクルージョン処理は行われる場合、図21のBに示すように、第1レイヤおよび第2レイヤの不連続画素に対応するサンプリング点の2次元位置が、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置に補正される。
 従って、視線Vに対応する表示画像を生成する場合、撮影済みオクルージョン領域112Cの表示画像として、第1レイヤの領域112Aの撮影画像122Aを用いることができる。その結果、表示画像の画質は向上する。
 しかしながら、オクルージョン処理後の第1レイヤの不連続画素に対応するサンプリング点は、隣接する2つのサンプリング点と接続され、三角形パッチが生成される。従って、図21のAの場合と同様に、視線Vに対応する表示画像を生成する場合、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることはできない。
 これに対して、3Dモデル生成部256は、図22に示すように、第1レイヤの不連続画素との接続を表す接続情報を削除する。従って、第1レイヤの不連続画素に対応するサンプリング点を頂点とする三角形パッチが生成されない。よって、視線Vに対応する表示画像を生成する場合に、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることができる。第2レイヤにおいては接続情報の削除が行われないので、第1レイヤの三角形パッチが存在しない領域には、必ず第2レイヤの三角形パッチが存在する。
 また、オクルージョン処理部261は、第2レイヤに対してオクルージョン処理を行う。従って、図22に示すように、第2レイヤの有効領域と想像領域の境界の不連続画素に対応するサンプリング点のうちの奥側のサンプリング点の2次元位置が、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置に補正される。従って、第2レイヤにおいてオクルージョン領域が削減される。よって、視線Vに対応する表示画像を生成する際に用いられる第2レイヤの画質が向上し、その結果、表示画像の画質が向上する。
 (第1レイヤの面の画角の効果の説明)
 図23および図24は、それぞれ、第1レイヤの各面の画角が90度、100度である場合のサンプリング点を説明する図である。
 図23および図24の例では、説明の便宜上、第1レイヤの各面の画角が90度、100度である場合の第1レイヤのテクスチャ画像およびデプス画像の解像度が、それぞれ、4x4画素、6x6画素であるものとする。
 図23のBに示すように、第1レイヤの各面の画角が90度である場合、第1レイヤの6つの面は、立方体80を構成する6つの面81乃至86になる。
 しかしながら、図23のAに示すように、第1レイヤの-Z面86のテクスチャ画像280上のサンプリング点291の位置(u,v)、即ち3Dモデル座標系における視点Oからサンプリング点291に向かう線が-Z面86と交差する位置は、各画素281の中心である。また、他の面81乃至85のサンプリング点の位置(u,v)も、-Z面86と同様に各画素の中心である。
 従って、図23のBに示すように、図中黒丸で示すサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより構成される全ての三角形パッチの、各面81乃至86上の領域283のu方向およびv方向サイズは、各面81乃至86に比べて画素の半分のサイズだけ小さい。よって、各面81乃至86の境界に対応する三角形パッチが生成されず、その結果、各面81乃至86の境界を通る視線の表示画像を高画質で生成することが困難になる。
 これに対して、第1レイヤの各面の画角が100度である場合、図24のAに示すように、-Z面86を含む第1レイヤの面のテクスチャ画像310のサイズは、図23のテクスチャ画像280のサイズより大きい6×6画素になる。他の面81乃至85をそれぞれ含む第1レイヤの各面のテクスチャ画像のサイズも同様に6×6画素になる。
 従って、図24のBに示すように、図中黒丸で示すサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより構成される全ての三角形パッチの、-Z面86上の領域311のu方向およびv方向サイズは、-Z面86に比べて画素の半分のサイズだけ大きい。図示は省略するが、他の面81乃至85をそれぞれ含む第1レイヤの各面の三角形パッチの領域のu方向およびv方向サイズも、領域311と同様に、各面81乃至85に比べて画素の半分のサイズだけ大きい。従って、各面81乃至86の境界に対応する三角形パッチが生成され、その結果、各面81乃至86の境界を通る視線を含む任意の視線の表示画像を高画質で生成することができる。
 図23および図24では、第1レイヤの各面の画角が100度である場合の効果について説明したが、第1レイヤの各面の画角が90度より大きければ、画角が100度ではない場合であっても同様の効果が発生する。
 (第2レイヤの面の画角の効果の説明)
 図25は、第2レイヤの各面の画角が90度および100度である場合のオクルージョン処理を説明する図である。
 図25において、横軸はu軸を表し、縦軸はz軸を表す。また、丸はサンプリング点を表す。さらに、図25の例では、奥行き方向の位置が奥側であるほどz座標は大きい。
 第2レイヤの各面の画角が90度である場合、サンプリング点が、第2レイヤのいずれか1つの面にのみマッピングされる。従って、図25のAに示すように、処理対象の面のu方向の端部にマッピングされるサンプリング点331に隣接するサンプリング点332は、処理対象の面にはマッピングされず、処理対象の面のオクルージョン処理時にサンプリング点332のz軸の位置はわからない。
 よって、サンプリング点331とサンプリング点332のz座標の差分が閾値以上である場合であっても、サンプリング点331に対応する画素は不連続画素として検出されない。同様に、サンプリング点332がマッピングされる面が処理対象の面とされる場合にも、サンプリング点332に対応する画素は不連続画素として検出されない。従って、サンプリング点331およびサンプリング点332に対してオクルージョン処理を行うことはできない。即ち、サンプリング点331およびサンプリング点332に対してオクルージョン処理を行うために、処理対象の面のデプス画像以外に、処理対象の面と隣接する面のデプス画像も用いる必要がある。
 これに対して、第2レイヤの各面の画角が100度である場合、各面の端部に、その面と隣接する面の端部以外の領域にマッピングされるサンプリング点が、のりしろとして重複してマッピングされる。例えば、サンプリング点331がマッピングされる処理対象の面の端部に、処理対象の面に隣接する面の端部以外の領域にマッピングされるサンプリング点332がマッピングされる。
 従って、サンプリング点331とサンプリング点332のz座標の差分が閾値以上である場合、サンプリング点331とサンプリング点332に対応する画素は不連続画素として検出される。よって、図25のBに示すように、サンプリング点331とサンプリング点332に対してオクルージョン処理を行うことができる。その結果、不連続画素に対応するサンプリング点332のu座標が、サンプリング点332近傍のサンプリング点332より手前側の(z座標が小さい)サンプリング点333のu座標に補正される。
 なお、図25の例では、処理対象の面の端部以外の領域にマッピングされるサンプリング点334とサンプリング点335のz座標の差分が閾値以上であるため、サンプリング点334とサンプリング点335に対応する画素も不連続画素として検出されている。その結果、図25のBに示すように、サンプリング点334のu座標が、サンプリング点334近傍のサンプリング点334より手前側のサンプリング点336のu座標に補正されている。
 また、処理対象の面のu座標が最も大きい端部のサンプリング点337は、処理対象の面と隣接する面の端部以外の領域にマッピングされる。従って、この面が処理対象の面とされる場合に、サンプリング点337に対応する画素が不連続画素であるかどうかを判定し、不連続画素であると判定した場合に、サンプリング点337に対するオクルージョン処理を行うことができる。
 以上のように、第2レイヤの各面の画角が100度である場合、各面のサンプリング点のみを用いて、各面の端部以外の領域の端部にマッピングされるサンプリング点331に対してもオクルージョン処理を行うことができる。その結果、第2レイヤのオクルージョン領域が削減され、表示画像の画質を向上させることができる。
 図25では、第2レイヤの各面の画角が100度である場合の効果について説明したが、第2レイヤの各面の画角が90度より大きければ、画角が100度ではない場合であっても同様の効果が発生する。
 なお、ML3Dモデル生成部235乃至237は、復号の結果得られるテクスチャ画像やデプス画像に対して、周辺の画素を用いたフィルタ処理等の画像処理を行うようにしてもよい。この場合、第1レイヤおよび第2レイヤの各面の画角が90度より大きいことにより、オクルージョン処理と同様に、各面の端部以外の領域の端部においても画像処理を行うことができるという効果を得ることができる。
 (ホームサーバの処理の説明)
 図26は、図19のホームサーバ13の再生処理を説明するフローチャートである。この再生処理は、例えば、コンテンツサーバ12から伝送されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータが伝送されてきたとき、開始される。
 図26のステップS41において、ホームサーバ13の受け取り部231は、コンテンツサーバ12から、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、ストレージ232に供給する。
 ステップS42において、ストレージ232は、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを記憶する。
 ステップS43において、受け取り部233は、図1のジャイロセンサ15Bの検出結果をヘッドマウントディスプレイ15から受け取り、視線検出部234に供給する。
 ステップS44において、視線検出部234は、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視線方向を決定する。ステップS45において、カメラ13Aは、ヘッドマウントディスプレイ15に付されたマーカ15Aを撮影し、その結果得られる撮影画像を視線検出部234に供給する。
 ステップS46において、視線検出部234は、カメラ13Aから供給されるマーカ15Aの撮影画像に基づいて、3Dモデル座標系における視聴位置を検出し、描画部239に供給する。
 ステップS47において、視線検出部234は、ストレージ232に記憶されているメタデータのうちの第1レイヤのテーブルと、3Dモデル座標系における視聴位置および視線方向とに基づいて、6つの面のうちの視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。
 ステップS48において、視線検出部234は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定し、描画部239に供給する。
 ステップS49において、視線検出部234は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、3Dモデル生成部238に供給する。また、視線検出部234は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部235乃至237に供給する。また、視線検出部234は、3つの選択面に対応する視点位置情報および面情報をストレージ232から読み出し、描画部239に供給する。
 ステップS50において、ML3Dモデル生成部235乃至237は、面ごとに、第1レイヤおよび第2レイヤの各サンプリング点の3次元データを生成する3次元データ生成処理を行う。この3次元データ生成処理の詳細は、図27を参照して後述する。
 ステップS51において、3Dモデル生成部238は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームから、低解像度テクスチャ画像の各サンプリング点の3次元データを生成し、描画部239に供給する。
 ステップS52において、描画部239は、3Dモデル生成部238から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画を行う。その後、描画部239は、ML3Dモデル生成部235乃至237のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
 ステップS53において、描画部239は、3Dモデル座標系において描画された三角形パッチを、視線検出部234から供給される視聴位置を視点として視野範囲に透視投影することにより、表示画像を生成する。ステップS54において、描画部239は、表示画像を図1の変換装置14に伝送する。
 図27は、図26のステップS50においてML3Dモデル生成部235により行われる3次元データ生成処理の詳細を説明するフローチャートである。
 図27のステップS71において、ML3Dモデル生成部235のデコーダ251(図20)は、図19の視線検出部234から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成する。デコーダ251は、第1レイヤのテクスチャ画像をRGB変換部252に供給する。
 ステップS72において、RGB変換部252は、第1レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部252は、各サンプリング点のRGB値を3Dモデル生成部256に供給する。
 ステップS73において、デコーダ253は、視線検出部234から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成する。デコーダ253は、第1レイヤのデプス画像をデプス変換部254に供給する。
 ステップS74において、デプス変換部254は、デコーダ253から供給される第1レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、第1レイヤのデプス画像の各画素の逆数1/rを得る。
 ステップS75において、デプス変換部254は、第1レイヤのデプス画像の各画素の逆数1/rに基づいて、第1レイヤのデプス画像の各画素の3次元位置(u,v,z)を、各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部254は、各サンプリング点の3次元位置(u,v,z)を不連続検出部255と3Dモデル生成部256に供給する。
 ステップS76において、不連続検出部255は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第1レイヤのデプス画像の各画素のうちの不連続画素を検出する。不連続検出部255は、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を3Dモデル生成部256に供給する。
 ステップS77において、3Dモデル生成部256は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、第1レイヤの各サンプリング点の接続情報を生成する。
 ステップS78において、3Dモデル生成部256は、不連続検出部255から供給される不連続画素に対応するサンプリング点の3次元位置(u,v,z)に基づいて、ステップS77で生成された各サンプリング点の接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除する。
 ステップS79において、3Dモデル生成部256は、第1レイヤの各サンプリング点の3次元位置(u,v,z)、RGB値、および、ステップS78の処理による削除後の接続情報を、第1レイヤの3次元データとして生成する。3Dモデル生成部256は、第1レイヤの3次元データを図19の描画部239に供給する。
 ステップS80において、デコーダ257は、視線検出部234から供給される第2レイヤテクスチャストリームを復号し、第2レイヤのテクスチャ画像を生成する。デコーダ257は、第2レイヤのテクスチャ画像をRGB変換部258に供給する。
 ステップS81において、RGB変換部258は、第2レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部258は、各サンプリング点のRGB値を3Dモデル生成部262に供給する。
 ステップS82において、デコーダ259は、視線検出部234から供給される第2レイヤデプスストリームを復号し、第2レイヤのデプス画像を生成する。デコーダ259は、第2レイヤのデプス画像をデプス変換部260に供給する。
 ステップS83において、デプス変換部260は、デコーダ259から供給される第2レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、第2レイヤのデプス画像の各画素の逆数1/rを得る。
 ステップS84において、デプス変換部260は、第2レイヤのデプス画像の各画素の逆数1/rに基づいて、第2レイヤのデプス画像の各画素の3次元位置(u,v,z)を、各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部260は、各サンプリング点の3次元位置(u,v,z)をオクルージョン処理部261と3Dモデル生成部262に供給する。
 ステップS85において、オクルージョン処理部261は、デプス変換部260から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第2レイヤのデプス画像の各画素のうちの不連続画素を検出する。
 ステップS86において、オクルージョン処理部261は、第2レイヤの各サンプリング点の3次元位置(u,v,z)に基づいて、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を補正するオクルージョン処理を行う。オクルージョン処理部261は、第2レイヤの各サンプリング点のオクルージョン処理後の3次元位置(u,v,z)を3Dモデル生成部262に供給する。
 ステップS87において、3Dモデル生成部262は、オクルージョン処理部261から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、第2レイヤの各サンプリング点の接続情報を生成する。
 ステップS88において、3Dモデル生成部262は、各サンプリング点の3次元位置(u,v,z)および接続情報、並びに、RGB変換部258から供給されるRGB値を、第2レイヤの3次元データとして生成する。3Dモデル生成部256は、第2レイヤの3次元データを図19の描画部239に供給する。
 なお、ML3Dモデル生成部236およびML3Dモデル生成部237により行われる3次元データ生成処理は、図27の3次元データ処理と同様に行われる。
 以上のように、ホームサーバ13は、第1レイヤと第2レイヤを用いて、表示画像を生成する。従って、視聴位置が視点Oとは異なる場合に、第2レイヤを用いることにより、表示画像に含まれる視点Oのオクルージョン領域を生成することができる。従って、高画質の表示画像を生成することができる。
 また、ホームサーバ13は、テクスチャ画像だけでなくデプス画像も用いて表示画像を生成する。従って、三角形パッチ描画により、被写体に応じた3次元形状の三角形パッチにテクスチャ画像をマッピングし、その三角形パッチを用いて表示画像を生成することができる。よって、テクスチャ画像のみを用いてテクスチャ画像を所定の面にマッピングすることにより表示画像を生成する場合に比べて、高画質の表示画像を生成することができる。
 さらに、第1レイヤのテクスチャ画像とデプス画像は、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像である。従って、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のみを再生する再生装置において、第1レイヤのテクスチャ画像とデプス画像を再生することができる。
 即ち、コンテンツサーバ12により生成される第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像のフォーマットは、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のフォーマットと互換性を有する。また、ホームサーバ13による再生方法は、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のみを再生する再生装置の再生方法と互換性を有する。
 なお、ホームサーバ13は、第1レイヤのテクスチャ画像とデプス画像のみを用いて表示画像を生成するようにしてもよい。この場合、第1レイヤに対して接続情報の削除の代わりに、オクルージョン処理が行われる。
 また、上述した説明では、3Dモデル生成部256は、不連続検出部255において検出された不連続画素に対応するサンプリング点との接続を表す接続情報を削除したが、コンテンツサーバ12から伝送されてくる三角形パッチ有効無効情報(詳細は後述する)に基づいて接続情報を削除するようにしてもよい。この場合、不連続検出部255は設けられない。
 (三角形パッチ有効無効情報の説明)
 図28は、このような場合にコンテンツサーバ12から伝送されてくる三角形パッチ有効無効情報を説明する図である。
 図28の例では、第1レイヤのサンプリング点351の数が12個である。従って、隣接する3つのサンプリング点351を頂点とする三角形パッチ352の数は、12個である。
 この場合、コンテンツサーバ12は、不連続検出部255と同様に、不連続画素を検出する。そして、コンテンツサーバ12は、その不連続画素に対応するサンプリング点を頂点とする三角形パッチ352を無効(OFF)に設定し、不連続画素に対応するサンプリング点を含まない三角形パッチ352を有効(ON)に設定する。
 コンテンツサーバ12(生成部)は、各三角形パッチ352の有効または無効を示す三角形パッチ有効無効情報を生成し、メタデータに含める。
 ホームサーバ13の3Dモデル生成部256は、三角形パッチ有効無効情報に基づいて、無効の三角形パッチの頂点を構成するサンプリング点どうしの接続を表す接続情報を削除する。その結果、三角形パッチ有効無効情報が無効を示す三角形パッチは、描画されない。
 なお、三角形パッチは、右端および下端のサンプリング点を除いて、各サンプリング点に対して2個ずつ生成される。また、三角形パッチ有効無効情報は、三角形パッチの有効または無効を示す1ビットの情報である。従って、全ての三角形パッチの三角形パッチ有効無効情報のビット数は、第1レイヤのテクスチャ画像の水平方向の画素数をwidthとし、垂直方向の画素数をheightとすると、(width-1)*(height-1)*2ビットである。
 三角形パッチ有効無効情報は、ロスレス圧縮または非圧縮で、コンテンツサーバ12からホームサーバ13に伝送される。なお、三角形パッチ有効無効情報は、デプス画像のCb,Cr値として配置されてもよい。
 <第2実施の形態>
 (画像表示システムの第2実施の形態の構成例)
 図29は、本開示を適用した画像表示システムの第2実施の形態の構成例を示すブロック図である。
 図29に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
 図29の画像表示システム400は、マルチカメラ11、コンテンツサーバ12、変換装置14、ヘッドマウントディスプレイ15、配信サーバ401、ネットワーク402、および再生装置403により構成される。画像表示システム400では、6つの面のうちの、視線に対応する1つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームのみが再生装置403に配信され、再生される。
 具体的には、画像表示システム400の配信サーバ401は、コンテンツサーバ12から送信されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、記憶する。
 また、配信サーバ401は、ネットワーク402を介して再生装置403と接続する。配信サーバ401は、再生装置403からの要求に応じて、記憶している低解像度テクスチャストリームおよび低解像度デプスストリーム、1つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、ネットワーク402を介して再生装置403に伝送する。
 再生装置403(画像処理装置)は、配信サーバ401に低解像度テクスチャストリーム、低解像度デプスストリーム、およびメタデータを、ネットワーク402を介して要求し、その要求に応じて伝送されてくる低解像度テクスチャストリーム、低解像度デプスストリーム、およびメタデータを受け取る。
 また、再生装置403は、カメラ13Aを内蔵する。再生装置403は、ホームサーバ13と同様に、3Dモデル座標系における視聴位置を検出し、3Dモデル座標系における視聴者の視線方向と視野範囲を決定する。
 そして、再生装置403は、3Dモデル座標系における視聴位置および視線方向、並びに、メタデータに含まれる第1レイヤのテーブルに基づいて、第1レイヤの6つの面のうちの、視線に最も近い視線ベクトルに対応する1つの面を選択面に決定する。再生装置403は、1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ネットワーク402を介して要求する。再生装置403は、その要求に応じて伝送されてくる1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを受け取る。
 再生装置403は、低解像度テクスチャストリームおよび低解像度デプスストリーム、並びに、1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを用いて表示画像を生成する。再生装置403の表示画像を生成する処理は、選択面の数が1つである点を除いて、ホームサーバ13の処理と同様であるので、説明は省略する。再生装置403は、図示せぬHDMIケーブルを介して表示画像を変換装置14に伝送する。
 <テクスチャ画像の他の例>
 図30は、第1レイヤのテクスチャ画像の他の例を示す図である。
 上述した説明では、第1レイヤの各面のテクスチャ画像は、1つの視点Oのテクスチャ画像であったが、視点Oに対応する左目用の視点と右目用の視点のテクスチャ画像が合成されたものであってもよい。
 具体的には、図30のAに示すように、第1レイヤの各面のテクスチャ画像は、例えば、視点Oに対応する左目用の視点の第1レイヤの各面のテクスチャ画像421と、右目用の視点の第1レイヤの各面のテクスチャ画像422が、横方向(水平方向)にパッキングされたパッキング画像420であってもよい。
 また、図30のBに示すように、第1レイヤの各面のテクスチャ画像は、例えば、テクスチャ画像421とテクスチャ画像422が、縦方向(垂直方向)にパッキングされたパッキング画像440であってもよい。
 同様に、第2レイヤの各面のテクスチャ画像は、その面の1つの第2レイヤの視点に対応する左目用の視点の第2レイヤのテクスチャ画像と、右目用の視点の第2レイヤのテクスチャ画像が横方向または縦方向にパッキングされたパッキン画像であってもよい。
 以上のように、第1レイヤおよび第2レイヤの各面のテクスチャ画像が左目用の視点と右目用の視点の画像をパッキングしたテクスチャ画像である場合、復号の結果得られるテクスチャ画像が、左目用の視点のテクスチャ画像と右目用の視点のテクスチャ画像に分離される。そして、第1レイヤおよび第2レイヤについて、左目用の3次元データと右目用の3次元データが生成される。
 そして、視聴者の視聴方向および視聴位置に対応する左目の視聴方向および視聴位置基づいて、左目用の3次元データから左目用の表示画像が生成される。また、視聴者の視聴方向および視聴位置に対応する右目の視聴方向および視聴位置に基づいて、右目用の3次元データから右目用の表示画像が生成される。そして、ヘッドマウントディスプレイ15が3D表示可能である場合、ヘッドマウントディスプレイ15は、左目用の表示画像を左目用の画像として表示し、右目用の表示画像を右目用の画像として表示することにより、表示画像を3D表示する。
 なお、第1および第2実施の形態では、撮影画像が正八面体にマッピングされることにより全天球画像が生成されたが、撮影画像がマッピングされる3Dモデルは、正八面体のほか、球や立方体などにすることができる。撮影画像が球にマッピングされる場合、全天球画像は、例えば、撮影画像がマッピングされた球の正距円筒図法による画像である。
 また、低解像度テクスチャストリームと低解像度デプスストリームは生成されなくてもよい。第1レイヤおよび第2レイヤのデプス画像は生成されなくてもよい。また、第2レイヤのテクスチャ画像とデプス画像は、重要な被写体の撮影画像がマッピングされる一部の面に対してのみ生成されるようにしてもよい。
 さらに、低解像度テクスチャ画像および低解像度デプス画像も、高解像度のテクスチャ画像およびデプス画像と同様に、階層化して生成されてもよい。
 <第3実施の形態>
 (複数のマルチカメラにより撮影された画像を用いて再生する例)
 以上においては、1台のマルチカメラ11により撮影される画像を用いて全天球画像を再生する例について説明してきたが、視点が、画像を撮影した位置から移動した状態で再生処理を継続する場合、移動距離が長くなるほど、1台のマルチカメラ11により撮影されたテクスチャ画像やデプス画像に基づいて再生できる画像には、質感や立体感の表現に限界が生じる。
 そこで、上述した、マルチカメラ11における、テクスチャ画像およびデプス画像、並びに、メタデータのフォーマットを利用して、複数のマルチカメラ11により撮影されたテクスチャ画像およびデプス画像、または、複数のマルチカメラにより撮影されたテクスチャ画像およびデプス画像よりレンダリングされたテクスチャ画像およびデプス画像を用いるようにすることで、視点位置が移動する場合でも、質感や立体感の表現力を高めるようにしてもよい。
 図31は、複数のマルチカメラ11を用いて、視点位置が移動しても質感や立体感の表現力を高められるようにした画像表示システムの第3の実施の形態の構成例を示すブロック図である。尚、図31において、図1と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略するものとする。
 すなわち、図31の画像表示システム10においては、マルチカメラ11-1乃至11-nで示されるように、マルチカメラ11が複数に設けられ、コンテンツサーバ12、およびホームサーバ13に代えて、コンテンツサーバ501およびホームサーバ502が新たに設けられている。
 コンテンツサーバ501は、基本的な機能において、コンテンツサーバ12と同様であるが、複数のマルチカメラ11-1乃至11-nより供給される各カメラの撮影画像から、それぞれの所定の視点の全天球画像を構成する第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を生成する。さらに、コンテンツサーバ501は、各マルチカメラ11のそれぞれ所定の視点の全天球画像のテクスチャ画像とデプス画像に基づいて、マルチカメラ11-1乃至11-nが存在しない仮想的な視点(撮影位置)で、かつ、仮想的な視線方向(撮影方向)で特定される仮想視点毎に全天球画像の第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を生成可能なメタデータ(視点情報メタデータ)を生成し、ホームサーバ502に供給する。
 ホームサーバ502は、基本的な機能において、ホームサーバ13と同様であるが、視聴位置と視線方向に基づいた視聴者の視野範囲から、対応する仮想視点を決定し、仮想視点により特定される視点情報メタデータに基づいて、テクスチャ画像とデプス画像とを生成して変換装置14を介してヘッドマウントディスプレイ15に表示させる。
 (図31のコンテンツサーバの高解像度画像処理部の構成例)
 次に、図32を参照して、図31のコンテンツサーバ501の高解像度画像処理部34の構成例について説明する。尚、図31のコンテンツサーバ501の構成において、コンテンツサーバ12と異なるのは、高解像度画像処理部34の構成のみであるので、高解像度画像処理部34の構成についてのみ説明するものとする。
 図32の高解像度画像処理部34において、図3の高解像度画像処理部34と異なる点は、デコーダ511、視点情報メタデータ生成部512、およびエンコーダ513を新たに設けた点である。
 デコーダ511は、図20のML3Dモデル生成部235のデコーダ251,257と同様のものである。また、エンコーダ513は、エンコーダ53と同様のものである。
 視点情報メタデータ生成部512は、デコーダ511を制御して、図18のフローチャートを参照して説明したストリーム生成処理により生成されている、ストレージ58に格納されているマルチカメラ11-1乃至11-nの第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを取得する。
 視点情報メタデータ生成部512は、取得したマルチカメラ11-1乃至11-nの第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを利用して、現実にマルチカメラ11が設定されている空間内に仮想的にマルチカメラ11を設置するときの、様々な仮想視点における第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを生成し、生成結果から視点情報メタデータを生成する。
 そして、視点情報メタデータ生成部512は、生成した様々な仮想視点における第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを生成するための視点情報メタデータを、エンコーダ513を介してストレージ58に格納させる。
 (視点情報メタデータ生成部の構成例)
 次に、図33のブロック図を参照して、視点情報メタデータ生成部512の構成例について説明する。視点情報メタデータ生成部512は、視点描画部521、および視点情報生成部522を備えている。
 視点描画部521は、現実に設置されたマルチカメラ11の現実空間内における撮影位置、および視線方向からなる実カメラパラメータと、現実空間で仮想的にマルチカメラ11が設置される撮影位置と視線方向とからなる仮想カメラパラメータとに基づいて、仮想視点にマルチカメラ11が仮想的に存在するときの、仮想視点毎のマルチカメラ11の第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを、実際のマルチカメラ11-1乃至11-nで撮影された第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを用いて描画する。
 視点情報生成部522は、視点描画部521により描画された画像の一部に、仮想カメラパラメータである仮想視点における、マルチカメラ11-1乃至11-nの第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを、実際のマルチカメラ11-1乃至11-nで撮影された第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリームから生成するのに必要とされる視点情報パラメータを生成し出力する。
 (View Dependent)
 視点描画部521が、仮想視点において、第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、第2レイヤテクスチャストリームおよび第2レイヤデプスストリーム描画する手法としては、例えば、図34で示されるような様々な手法が考えられる。
 第1の手法として、例えば、図34の左上部で示されるように、被写体Aの頂点Tを描画するにあたって、3方向の視点から実際のカメラCam0乃至Cam2で撮影される場合、図34の左下部で示される仮想視点V1とは無関係に、カメラCam0乃至Cam2のそれぞれで撮影される頂点Tに対応する画素位置の画素値の、例えば、単純平均などにより、頂点ベースで、仮想視点V1から視聴した頂点Tを描画することが考えられる。
 また、第2の手法として、例えば、図34の中央上部で示されるように、3方向の視点から実際のカメラCam0乃至Cam2で撮影される場合、図34の中央下部で示される仮想視点V1の位置に依存して、カメラCam0乃至Cam2のそれぞれで撮影される頂点Tに対応する画素位置の画素値に対して、例えば、仮想視点V1と同様に被写体Aと正対する角度に近い視線方向(類似した視線方向)となるカメラ程(類似している度合いが高いほど)大きな重みを設定し、設定した重みを用いた重み付け平均により、頂点ベースで、仮想視点V1から視聴した頂点Tを描画することが考えられる。
 さらに、第3の手法として、例えば、図34の右部で示されるように、3方向の視点から現実のカメラCam0乃至Cam2で撮影された画像P0乃至P2を用いた出力画像ベースで、仮想視点で撮影した画像Pvを設定し、それぞれの頂点Tに対応する画素T0乃至T2の画素値を用いた光線追跡により、図34の右部で示される仮想視点V1の位置に依存して、仮想視点V1から視聴した頂点Tを描画する方法が考えらえる。
 すなわち、図34においては、左部においては、視点方向に依存しない描画方法(View Independent)であり、中央部および右部においては、視点方向に依存する描画方法(View Dependent)である。
 ここで、全天球画像における表現力を向上させる意味では、視点方向が考慮された、すなわち、視点方向に依存する描画方法(View Dependent)が望ましい。
 そこで、本開示の視点描画部521は、視点方向に依存する描画方法(View Dependent)により仮想視点における画像を描画する。
 すなわち、視点描画部521は、例えば、図34の中央部で示されるように、仮想視点V1のカメラで被写体Aの頂点Tを描写するに当たっては、カメラCam0乃至Cam2により撮影された画像のうち、仮想視点V1に近い順に、すなわち、カメラCam1,Cam0,Cam2の順に大きな重みを付して、重み付き平均により仮想視点の画素を描画する。
 そして、視点情報生成部522は、この重み付き平均を求めるにあたって、最も重みが大きかった実際のカメラCam1により撮影されたテクスチャ画像およびデプス画像の視線方向(Rotation)、および視点位置(Translation)を視点情報メタデータとして登録する。
 また、仮想的な位置にカメラを設置したものと仮定して画像を撮影する仮想視点には、その仮想視点と微小視差となる微小視差仮想視点が設定される。微小視差仮想視点は、1個の仮想視点に対して、複数に設定することができる。
 そこで、視点描画部521は、各仮想視点に対して微小視差となる微小視差仮想視点の画像である、微小視差仮想視点画像を、仮想視点画像を描画する場合と同様に重み付け平均により描画する。
 視点情報生成部522は、微小視差仮想視点画像を描画するための、重み付き平均を求めるにあたって、最も重みが大きかった実際のマルチカメラ11により撮影されたテクスチャ画像およびデプス画像の視線方向(Rotation)、および視点位置(Translation)を視点情報メタデータとして登録する。
 すなわち、1個の仮想視点が設定されると、その仮想視点に対する第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像が求められて、視点情報メタデータが生成される。さらに、その仮想視点を基準とした微小視差仮想視点に対する第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像の視点情報メタデータが生成され、生成結果に基づいて視点情報メタデータが生成される。
 より具体的には、視点描画部521は、例えば、図35に示されるように、仮想視点画像Pvにおける頂点Cに対応する画素Pixvを描画するにあたって、複数のマルチカメラ11により撮影された画像のうち、頂点Cに対応する画素を含む画像として、例えば、画像P0乃至P2を抽出する。
 そして、視点描画部521は、画像P0乃至P2を撮影した実在するカメラの視線方向V0乃至V2のうち、仮想視点画像Pvを撮影するカメラの視線方向Vtに近いものほど、大きな重みw0,w1,w2を設定し、画素Pix0乃至Pix2との積和により、重み平均を求めて、仮想視点画像Pvの画素Pixv(=w0×Pix0+w1×Pix1+w2×Pix2)を描画する。
 ここで、図35においては、視線方向Vtには、視線方向V1が最も近く、次に、視線方向V0が近く、視線方向V2が最も遠いので、w1>w0>w2となる。尚、図35において、視線方向が近いとは、それぞれの方向とのなす角が小さいほど近いものとしているが、それに限るものではなく、例えば、空間的な距離が近いものを選択するようにしてもよい。
 視点情報生成部522は、視点描画部521により描画される仮想視点画像Pvの画素Tvの生成に係る画像P0乃至P2のうち、重みの大きさが最大となる画像P0と、仮想視点画像Pvを構成する際の、画像P0の視線方向(Rotation)と視点位置(Translation)よりなる視点情報メタデータを生成する。
 また、視点描画部521は、各仮想視点に対して微小視差となる微小視差仮想視点に対しても、同様の仮想視点に対して微小視差となる微小視差仮想視点の画像を描画する。
 視点情報生成部522は、視点描画部521により描画される微小視差仮想視点画像と共に、微小視差仮想視点画像を構成する際に必要とされる視点情報メタデータも生成する。
 (グローバルレイヤ)
 視点情報生成部522は、微小視差仮想視点毎の第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像の視点情報メタデータを、基準となる仮想視点の第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像の視点情報メタデータに対して、レイヤという概念を用いて管理する。
 より詳細には、1個の仮想視点に対応する、第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像の視点情報メタデータは、図8を参照して説明した、第1レイヤ、および第2レイヤの3Dモデル座標系における原点を中心とした立方体を構成する6つの面81乃至86のそれぞれについて設定される。
 この6つの面を、図36で示される、6面体の展開図(キューブマップ)のように配置したもので表現するものとすると、仮想視点に対する、各面の視点情報メタデータが、図36におけるグローバルレイヤGL0として設定される面GL01乃至GL06のそれぞれに対して設定される。
 そして、基準となる仮想視点に対して第1の微小視差となる微小視差仮想視点の第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像の、6つの面のそれぞれの視点情報メタデータが、グローバルレイヤGL1として設定される面GL11乃至GL16のそれぞれに設定される。
 また、基準となる仮想視点に対して第1の微小視差と異なる第2の微小視差なる微小視差仮想視点の第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像の、6つの面のそれぞれの視点情報メタデータが、グローバルレイヤGL2として設定される面GL21乃至GL26のそれぞれに設定される。
 すなわち、図36においては、基準となる1個の仮想視点に対する6つの面81乃至86のそれぞれに設定される視点情報メタデータがグローバルレイヤGL0として設定され、基準となる1個の仮想視点に対する微小視差仮想視点に対する面81乃至86がグローバルレイヤGL1,2として設定されることが示されている。
 尚、図10,図11を参照して説明した、第1レイヤおよび第2レイヤは、主に前景および背景を区別するレイヤであるのに対して、図36を参照して説明したグローバルレイヤは、仮想視点、および微小視差仮想視点に対して設定される、第1レイヤ、および第2レイヤのテクスチャ画像およびデプス画像である6つの面81乃至86のそれぞれに設定される仮想視点、および微小視差仮想視点の視点情報メタデータを区別するレイヤである。
 そして、1個の仮想視点に仮想的にカメラを設置した場合の第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像は、仮想視点の近傍に存在する複数の現実のカメラにより撮影された複数の画像(現実のカメラにより撮影された画像をレンダリングすることで生成された画像を含む)を、仮想視点の視線方向に近いものから順に大きな重みを設定して、重み付け平均することで求められる。
 従って、1個の仮想視点に対する1つの面の視点情報メタデータは、例えば、図37の上部の点線で囲まれた、図36の面GL06,GL16,GL26(末尾がPanel ID=6)に対応する視点情報メタデータであり、図37の下部で示されるように設定される。図37の下部における視点情報メタデータは、左からグローバルレイヤを識別するGlobal Layer ID、Rotation、およびTranslationより構成される。
 より詳細には、図37の下部の視点情報メタデータにおいては、1個の仮想視点と、その微小視差仮想視点に対する視点情報メタデータが示されており、図36で示されたグローバルレイヤGL0乃至GL2のそれぞれの、現実のマルチカメラ11により撮影された6つの面であり、それぞれの面の視線方向(Rotation)がR1,R2,R3でであり、視点位置(Translation)がT1,T2,T3により設定されることが示されている。視点情報メタデータは、図37で示されるような構成で、6面分、面毎に、設定される。
 尚、図37で示される1個の仮想視点と、その微小視差仮想視点とに対する6つの面のテクスチャ画像およびデプス画像、並びに、視点情報メタデータは、現実に存在するマルチカメラ11のいずれかにより撮影されたものが指定されているが、何れか別の仮想視点に設定された6つの面のいずれかのテクスチャ画像およびデプス画像の視点情報メタデータであってもよい。
 また、以上においては、グローバルレイヤとしては、各レイヤが、仮想視点、または、微小視差仮想視点において仮想的にマルチカメラ11が設けられることで設定される仮想カメラにより撮影される画像が面毎に設定される例について説明してきたが、上述したように、画像を合成するに当たっては、共通の被写体が含まれた複数の画像が視線方向に近いか否かに応じた重み付け平均がなされて求められる。このため、グローバルレイヤのレイヤ数は、6つの面で同一数でなくてもよく、例えば、図38の右上部で示されるように、図中において「1」と記載された特定の面に対して複数のグローバルレイヤが設定されて、その他の面には、単一のグローバルレイヤが設定されるようにしてもよい。
 この場合、図38の左部で示されるように、各面を識別するPanel IDに対応付けて、グローバルレイヤのレイヤ数を示すLayer numを設定する視点情報メタデータを付加する。図38においては、図38の右上部で示される「1」で表されるPanel ID=1の面のグローバルレイヤのレイヤ数が3であり、その他の面のグローバルレイヤのレイヤ数が1であることが示されている。
 また、Panel ID=1に対応する面については、グローバルレイヤGL0乃至GL2が設定されていることが示されている。
 すなわち、仮想視点と複数の微小視差仮想視点とのそれぞれで求められる視点情報メタデータのグローバルレイヤであるレイヤ数が少ないということは、その仮想視点近傍では、視線方向を変化させても、求められる画像には大きな変化がないことを表している。逆に、仮想視点と複数の微小視差仮想視点との間で、グローバルレイヤのレイヤ数が多く、視線方向を少しでも変化させると、視聴する画像が大きく変化することを示している。
 (仮想視点画像生成処理の説明)
 次に、図39のフローチャートを参照して、仮想視点画像生成処理について説明する。尚、仮想視点画像生成処理については、図18のフローチャートを参照して説明したストリーム生成処理が実行された後に実行される処理である。また、以下の処理は、6つの面のそれぞれに実行される処理である。
 ステップS101において、デコーダ511は、未処理の仮想視点を処理対象仮想視点に設定する。尚、仮想視点は、複数のマルチカメラ11が設定されている空間に対して、任意に設定されるものであり、その位置の間隔や視線方向については任意に設定することができる。ここでは、その複数に設定されている仮想視点のうち、未処理のものが処理対象仮想視点として設定される。
 ステップS102において、デコーダ511は、ストレージ58に蓄積されている、仮想視点近傍のマルチカメラ11の第1レイヤおよび第2レイヤの各面のテクスチャ画像およびデプス画像を読み出す。
 ステップS103において、デコーダ511は、読み出した仮想視点近傍のマルチカメラ11の第1レイヤおよび第2レイヤの各面のテクスチャ画像およびデプス画像をデコードし、視点情報メタデータ生成部512に供給する。
 ステップS104において、視点情報メタデータ生成部512の視点描画部521は、図35を参照して説明した手法により、仮想視点近傍のマルチカメラ11により撮影された第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を用いて、それぞれについて仮想視点に対する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を描画し、描画した第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を視点情報生成部522に供給する。
 ステップS105において、視点情報生成部522は、視点描画部521より供給されてきた仮想視点に対する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像に基づいて、それぞれ仮想視点の第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を生成するのに必要とされる視点情報メタデータを、それぞれ生成し、エンコーダ513に供給する。
 ステップS106において、エンコーダ513は、視点情報メタデータをエンコードしてストレージ58に記憶させる。尚、以降においては、ストレージ58より読み出されるメタデータには、視点情報メタデータも含まれるものとする。
 ステップS107において、視点描画部521は、処理対象仮想視点に対する、未処理の微小視差仮想視点を処理対象微小視差仮想視点に設定する。尚、微小視差仮想視点は、処理対象仮想視点に対して微小視差が生じる仮想視点であり、微小視差仮想視点については、処理対象仮想視点に対して、任意に設定することができる。ここでは、設定されている微小視差仮想視点のうち、未処理のものが処理対象微小視差仮想視点として設定される。
 ステップS108において、視点描画部521は、図35を参照して説明した手法により、処理対象微小視差仮想視点近傍のマルチカメラ11により撮影された第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を用いて、処理対象微小視差仮想視点に対する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を描画し、描画した第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を視点情報生成部522に供給する。
 ステップS109において、視点情報生成部522は、視点描画部521より供給されてきた処理対象微小視差仮想視点に対する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像に基づいて、処理対象微小視差仮想視点の第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を生成するのに必要とされる視点情報メタデータを生成し、エンコーダ513に供給する。
 ステップS110において、エンコーダ513は、第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像の視点情報メタデータをストレージ58に記憶させる。
 ステップS111において、視点描画部521は、未処理の微小視差仮想視点が存在するか否かを判定し、微小視差仮想視点が存在する場合、処理は、ステップS107に戻る。すなわち、未処理の微小視差仮想視点が存在する限り、ステップS107乃至S111の処理を繰り返して、未処理の微小視差仮想視点を処理対象微小視差仮想視点に設定して、順次、各面の第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像に対する視点情報メタデータを生成して、ストレージ58に格納する処理を繰り返す。そして、ステップS111において、未処理の微小視差仮想視点が存在しないとみなされた場合、処理は、ステップS112に進む。
 ステップS112において、エンコーダ513は、未処理の仮想視点が存在するか否かを判定し、存在する場合、処理は、ステップS101に戻る。すなわち、未処理の仮想視点が存在する限り、ステップS101乃至S112の処理を繰り返して、順次、未処理の仮想視点を処理対象仮想視点に設定して、その微小視差仮想視点と併せて、順次、各面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、および視点情報メタデータを生成して、ストレージ58に格納する処理を繰り返す。そして、ステップS112において、未処理の仮想視点が存在しないとみなされた場合、処理は、ステップS113に進む。
 ステップS113において、伝送部60は、ストレージ58から仮想視点の視点位置および視線方向に係る情報と共に、仮想視点に係る、6つの面の視点情報メタデータを読み出し、ホームサーバ13に送信する。
 以上のように、コンテンツサーバ12は、複数のマルチカメラ11により撮影された画像に基づいて、実際にマルチカメラ11が存在しない、任意に設定可能な仮想的な位置の仮想的な視線方向である仮想視点にマルチカメラ11が設けられたときに撮影される6つの面の視点情報メタデータを生成することが可能になる。また、各仮想視点においては、設定された仮想視点に対して微小視差となる仮想視点である微小視差仮想視点の視点情報メタデータにより複数のグローバルレイヤによる多層化を実現することが可能になる。
 また、各面におけるグローバルレイヤのレイヤ数は、必ずしも同一ではない。
 さらに、仮想視点は、マルチカメラ11が現実に設けられている位置であってもよいものであり、これにより、現実に設けられているマルチカメラ11により生成される6つの面の、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームの視点位置メタデータを、グローバルレイヤとして多層化して扱うことが可能となる。
 以降においては、複数のマルチカメラ11が設けられているが、6つの面のそれぞれについて、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームの視点情報メタデータは、仮想視点毎に、微小視差に対応する複数のグローバルレイヤにより多層化されているものとして説明を進めるものとする。
 (図31のホームサーバの構成例)
 次に、図40のブロック図を参照して、図31のホームサーバ13の構成例について説明する。尚、図31のホームサーバ13の構成例において、図1のホームサーバ13と異なる点は、高解像度画像処理部34の構成のみであるので、図31のホームサーバ13における高解像度画像処理部34の構成例について説明する。
 上述したように、1個のマルチカメラ11により設定されていた6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームの視点情報メタデータが、微小視差仮想視点により設定されるグローバルレイヤにより多層化された状態で仮想視点毎に設定されている。
 このため、ホームサーバ13は、視聴者の視聴位置、および視線方向が最も近い仮想視点を特定し、対応する仮想視点の6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを用いた再生処理を行うことになる。
 図40の高解像度画像処理部34において、図19の高解像度画像処理部34と異なる点は、視線検出部234、および、ML3Dモデル生成部235乃至237に代えて、視線検出部531、およびML3Dモデル生成部532乃至534を設けた点である。
 また、受け取り部231は、コンテンツサーバ12から伝送されてくる6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームの視点情報メタデータに加えて、仮想視点の視点位置および視線方向の情報を受け取り、ストレージ232に供給する。
 視線検出部531は、基本的に視線検出部234と同様の機能を備えているが、さらに、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視聴位置と視線方向を決定し、最も近い仮想視点を求める。
 尚、視聴者の視聴位置および視線方向、仮想視点の視点位置および視線方向、および現実空間におけるマルチカメラ11が配置される座標系については、対応する3Dモデル座標系が予め設定されているものとする。
 視線検出部531は、ストレージ232から3Dモデル座標系における視聴位置および視線方向に最も近い仮想視点の、6つの面のうちの、視聴位置から視線方向に延びる視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。
 視線検出部531は、3つの選択面に対応する、仮想視点に視点情報メタデータにより対応付けて記憶されている、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部531は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとに、微小視差仮想視点が考慮された、グローバルレイヤとして複数レイヤに設定されているものを含めて、ML3Dモデル生成部532乃至534に供給する。
 ML3Dモデル生成部532乃至534は、基本的に、ML3Dモデル生成部235乃至237と同一の機能を備えているが、さらに、仮想視点毎に複数の微小視差に対応付けてグローバルレイヤとして複数のレイヤに設定されている、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームのそれぞれについて、第1レイヤテクスチャ画像、第1レイヤデプス画像、第2レイヤテクスチャ画像、および第2レイヤデプス画像を視聴者の視線方向に対応付けて合成する。
 (図41のML3Dモデル生成部の構成例)
 次に、図41のブロック図を参照して、図41のML3Dモデル生成部532の構成例について説明する。尚、図41のML3Dモデル生成部532において、図20のML3Dモデル生成部235と同一の機能を備えた構成については、同一の名称、および同一の符号を付しており、その説明は適宜省略するものとする。
 すなわち、図41のML3Dモデル生成部532において、図20のML3Dモデル生成部235と異なる点は、合成部541乃至544を備えている点である。
 合成部541は、RGB変換部252により仮想視点に対して微小視差仮想視点が考慮されることで、グローバルレイヤとして設定される面毎に複数の画像を、画像のそれぞれに対応する微小視差仮想視点の視線方向が、視聴者の視点方向に近いものほど大きな重みを設定し、重み付け関和を求めることで、グローバルレイヤごとに設定される画像を合成する。
 すなわち、例えば、図42で示されるように、視点情報メタデータのグローバルレイヤGL0,GL1,GL2のそれぞれに設定される画像の仮想視点および微小視差仮想視点の視線方向がそれぞれ視線方向V0,V1,V2であり、視聴者の視線方向が視線方向Vtであるものとする。この場合、図42においては、グローバルレイヤGL1における視線方向V1と視線方向Vtとが最も近い(その成す角が最も小さい)ため、合成部541は、グローバルレイヤGL1に対して最も大きな重みを設定する。また、グローバルレイヤGL0の視線方向V0と視線方向Vtとが、その次に近く、グローバルレイヤGL2の視線方向V2と視線方向Vtとが、視線方向が異なる。
 そこで、図42の場合、合成部541は、グローバルレイヤGL1,GL0,GL2の順に大きな重み(高、中、低の比率とする)を設定し、設定した重みを用いた積和により、微小視差が考慮されたグローバルレイヤGL0,GL1,GL2のそれぞれに設定される画像を合成する。
 以上の処理により、微小視差が考慮された第1レイヤテクスチャ画像が生成されるので、再生される画像の質感や立体感の表現をより高めることが可能となる。
 また、合成部542乃至544は、それぞれ第1レイヤデプス画像、第2レイヤテクスチャ画像、および第2レイヤデプス画像を生成するに際して、微小視差が考慮された複数の画像を微小視差仮想視点と、視聴者の視線方向との変化に応じて適切に合成して表現することが可能となる。
 (ホームサーバの処理の説明)
 次に、図43のフローチャートを参照して、図31のホームサーバ13の再生処理を説明する。尚、図26のフローチャートを参照して説明した処理と同一の処理については、適宜省略するものとする。
 図43のステップS141において、ホームサーバ13の受け取り部231は、コンテンツサーバ12から、全ての低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに仮想視点毎の視点情報メタデータを含むメタデータを受け取り、ストレージ232に供給する。
 ステップS142において、ストレージ232は、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに視点情報メタデータを含むメタデータを記憶する。
 ステップS143において、受け取り部233は、図1のジャイロセンサ15Bの検出結果をヘッドマウントディスプレイ15から受け取り、視線検出部234に供給する。
 ステップS144において、視線検出部531は、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視線方向を決定する。
 ステップS145において、カメラ13Aは、ヘッドマウントディスプレイ15に付されたマーカ15Aを撮影し、その結果得られる撮影画像を視線検出部531に供給する。
 ステップS146において、視線検出部531は、カメラ13Aから供給されるマーカ15Aの撮影画像に基づいて、3Dモデル座標系における視聴位置を検出し、描画部239に供給する。
 ステップS147において、視線検出部531は、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視聴位置と視線方向を決定し、最も近い仮想視点を決定する。
 ステップS148において、ストレージ232から3Dモデル座標系における視聴位置および視線方向に最も近い仮想視点の、6つの面のうちの視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。
 ステップS149において、視線検出部531は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定し、描画部239に供給する。
 ステップS150において、視線検出部531は、全ての低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、3Dモデル生成部238に供給する。また、視線検出部531は、3つの選択面に対応する、決定された仮想視点に対応する視点情報メタデータに基づいて、微小視差仮想視点により複数のグローバルレイヤが設定されている、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部531は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部532乃至534に供給する。また、視線検出部531は、3つの選択面に対応する視点位置情報および面情報をストレージ232から読み出し、描画部239に供給する。
 ステップS151において、ML3Dモデル生成部532乃至534は、面ごとに、第1レイヤおよび第2レイヤの各サンプリング点の3次元データを生成する3次元データ生成処理を行う。この3次元データ生成処理の詳細は、図44を参照して後述する。
 ステップS152おいて、3Dモデル生成部238は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームから、低解像度テクスチャ画像の各サンプリング点の3次元データを生成し、描画部239に供給する。
 ステップS153において、描画部239は、3Dモデル生成部238から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画を行う。その後、描画部239は、ML3Dモデル生成部532乃至534のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部531から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
 ステップS154において、描画部239は、3Dモデル座標系において描画された三角形パッチを、視線検出部531から供給される視聴位置を視点として視野範囲に透視投影することにより、表示画像を生成する。ステップS155において、描画部239は、表示画像を図1の変換装置14に伝送する。
 (3次元データ生成処理)
 次に、図44のフローチャートを参照して、図43のステップS151においてML3Dモデル生成部532により行われる3次元データ生成処理の詳細を説明する。尚、図44のフローチャートにおいて、図27のフローチャートを参照して、説明した処理については適宜省略するものとする。すなわち、図44のフローチャートにおいて、図27と異なる点は、ステップS203,S206,S214,S217の処理であり、その他の処理は、ステップS71乃至S88の処理と同様である。
 すなわち、ステップS203において、合成部541は、図42を参照して説明した処理と同様に、特定された仮想視点の視点情報メタデータに基づいて、微小視差が考慮された微小視差仮想視点に応じて設定されたグローバルレイヤの複数のレイヤのそれぞれに設定される第1レイヤテクスチャ画像を、微小視差仮想視点と、視聴者の視線方向との関係に応じた重み付け平均により求めることで、微小視差が考慮された第1レイヤテクスチャ画像を生成することが可能となる。
 また、ステップS206において、合成部542は、図42を参照して説明した処理と同様に、特定された仮想視点の視点情報メタデータに基づいて、微小視差が考慮された微小視差仮想視点に応じて設定されたグローバルレイヤの複数のレイヤのそれぞれに設定される第1レイヤデプス画像を、微小視差仮想視点と、視聴者の視線方向との関係に応じた重み付け平均により求めることで、微小視差が考慮された第1レイヤデプス画像を生成することが可能となる。
 さらに、ステップS214において、合成部543は、図42を参照して説明した処理と同様に、特定された仮想視点の視点情報メタデータに基づいて、微小視差が考慮された微小視差仮想視点に応じて設定されたグローバルレイヤの複数のレイヤのそれぞれに設定される第2レイヤテクスチャ画像を、微小視差仮想視点と、視聴者の視線方向との関係に応じた重み付け平均により求めることで、微小視差が考慮された第1レイヤテクスチャ画像を生成することが可能となる。
 また、ステップS217において、合成部544は、図42を参照して説明した処理と同様に、特定された仮想視点の視点情報メタデータに基づいて、微小視差が考慮された微小視差仮想視点に応じて設定されたグローバルレイヤの複数のレイヤのそれぞれに設定される第2レイヤデプス画像を、微小視差仮想視点と、視聴者の視線方向との関係に応じた重み付け平均により求めることで、微小視差が考慮された第2レイヤデプス画像を生成することが可能となる。
 以上のように、図31のホームサーバ13は、1個の仮想視点に対して、微小視差を生じさせる複数の微小視差仮想視点毎にグローバルレイヤとして設定される複数のレイヤのテクスチャ画像やデプス画像を設定することが可能となるので、仮想視点に対して、僅かでも微小な動きがあるだけで、変化に富んだテクスチャ画像やデプス画像を再生させることが可能となり、質感や立体感を向上させることが可能となる。また、微小な動きでも変化に富んだテクスチャ画像やデプス画像を再生させることができるので、デプス画像の精度が多少低くても、立体感を感じさせる画像として表示することが可能となる。
 <ステレオ画像の応用例>
 以上においては、複数のマルチカメラ11により撮影された画像を用いて、仮想視点毎に、低解像度テクスチャストリーム、低解像度デプスストリーム、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、視点情報メタデータに基づいて、微小視差仮想視点を考慮して、複数のグローバルレイヤを用いて設定し、視聴者の視線方向と、仮想視点との関係から微小視差を考慮して合成して再生するようにする例について説明してきた。
 しかしながら、微小視差を考慮した画像を人間の左右の眼で視聴する際の視差画像とすることにより、視聴者の視線方向に応じたステレオ画像を視聴できるようにすることもできる。
 すなわち、図45で示されるように、被写体Aの頂点Tを視聴するための仮想視点画像を生成する場合、画像P0,P1,P2の重み平均により、仮想視点に対応して設定されている画像PvRを、右眼の第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像として生成し、仮想視点に対する微小視差仮想視点の、上述したグローバルレイヤとして設定されている、微小視差仮想視点における画像PvLを左眼用の第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像として用いるようにしてもよい。
 <第4実施の形態>
 (本開示を適用したコンピュータの説明)
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図46は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図46のコンピュータにおいて、CPU(Central Processing Unit)1001,ROM(Read Only Memory)1002,RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
 バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記憶部1008、通信部1009、及びドライブ1010が接続されている。
 入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記憶部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1011を駆動する。
 以上のように構成されるコンピュータ1000では、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 図46のコンピュータでは、プログラムは、リムーバブルメディア1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
 なお、図46のコンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 <応用例>
 本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
 図47は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図47に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
 各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図47では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
 駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
 駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
 ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
 バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
 車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
 環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
 ここで、図48は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
 なお、図48には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
 車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
 図47に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
 また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
 車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
 統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
 記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
 汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(Global System of Mobile communications)、WiMAX、LTE(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
 専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
 測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
 ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
 車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
 車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
 統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
 マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
 音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図47の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
 なお、図47に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
 なお、図1乃至図30を用いて説明した本実施形態に係る画像表示システム10(400)の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
 以上説明した車両制御システム7000において、図1乃至図30を用いて説明した本実施形態に係る画像表示システム10(400)は、図47に示した応用例の車両制御システム7000に適用することができる。例えば、画像表示システム10(400)のマルチカメラ11は、撮像部7410の少なくとも一部に相当する。また、コンテンツサーバ12、ホームサーバ13(配信サーバ401、ネットワーク402、再生装置403)、および変換装置14は一体化され、統合制御ユニット7600のマイクロコンピュータ7610と記憶部7690に相当する。ヘッドマウントディスプレイ15は、表示部7720に相当する。なお、画像表示システム10(400)を車両制御システム7000に適用する場合、カメラ13A、マーカ15A、およびジャイロセンサ15Bは設けられず、視聴者である搭乗者の入力部7800の操作により視聴者の視線方向および視聴位置が入力される。以上のようにして、画像表示システム10(400)を、図47に示した応用例の車両制御システム7000に適用することにより、全天球画像を用いて高画質の表示画像を生成することができる。
 また、図1乃至図30を用いて説明した画像表示システム10(400)の少なくとも一部の構成要素は、図47に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1乃至図30を用いて説明した画像表示システム10(400)が、図47に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
 本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本開示は、以下のような構成もとることができる。
 <1> 仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、複数の視点位置および視線方向で撮影された複数の基準画像より生成する仮想視点画像生成部
 を含む画像処理装置。
 <2> 前記仮想視点画像生成部は、前記仮想視点の視線方向と、前記複数の基準画像を撮影したそれぞれの視線方向とに基づいて、前記複数の基準画像を混合して、前記仮想視点画像を生成する
 <1>に記載の画像処理装置。
 <3> 前記仮想視点画像生成部は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度に応じて、前記複数の基準画像のそれぞれに重みを付して、重み平均により前記仮想視点画像を生成する
 <1>または<2>に記載の画像処理装置。
<4> 前記仮想視点画像生成部は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度に応じて、前記複数の基準画像のそれぞれに前記類似度が高いほど、大きな重みを付して、重み平均により前記仮想視点画像を生成する
 <3>に記載の画像処理装置。
<5> 前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との成す角、または、前記仮想視点と、前記複数の基準画像のそれぞれの視点位置間の距離である
 <4>に記載の画像処理装置。
<6> 前記仮想視点画像生成部は、前記複数の基準画像を特定する情報からなるメタデータを取得し、前記メタデータで特定されている前記複数の基準画像のそれぞれに重みを付して、重み平均により前記仮想視点画像を生成する
 <1>乃至<5>のいずれかに記載の画像処理装置。
<7> 前記メタデータで特定されている前記複数の基準画像は、前記仮想視点に対して、異なる微小視差が生じる複数の微小視差仮想視点毎に、前記複数の基準画像の視線方向との類似度に応じて、前記複数の基準画像のそれぞれに前記類似度が高いほど大きな重みを付して、重み平均をとるとき、前記重みが最大となる前記基準画像である
 <6>に記載の画像処理装置。
<8> 前記仮想視点に対応する基準画像と、前記仮想視点と微小視差が生じる複数の微小視差仮想視点の、前記複数の基準画像とは、ステレオ画像を構成する
 <1>乃至<7>のいずれかに記載の画像処理装置。
<9> 前記基準画像は、全天球画像であり、
 前記仮想視点画像生成部は、前記全天球画像を構成する各面毎に、前記仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、前記複数の基準画像より生成する
 <1>乃至<8>のいずれかに記載の画像処理装置。
<10> 前記基準画像は、全天球画像のテクスチャ画像とデプス画像からなる第1レイヤ画像を含む
 <1>乃至<9>のいずれかに記載の画像処理装置。
<11> 前記基準画像は、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像をさらに含む
 <10>に記載の画像処理装置。
<12> 前記仮想視点は、ヘッドマウントディスプレイにより検出され、
 前記ヘッドマウントディスプレイにより前記仮想視点画像が表示される
 <1>に記載の画像処理装置。
<13> 仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、複数の視点位置および視線方向で撮影された複数の基準画像より生成するステップを含む
 画像処理方法。
<14> 複数の視点位置および視線方向で撮影された複数の基準画像を用いて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータを生成するメタデータ生成部と
 を含む画像処理装置。
<15> 前記メタデータ生成部は、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向とに基づいて、前記複数の基準画像を混合し、前記仮想視点画像を生成するためのメタデータを生成する
 <14>に記載の画像処理装置。
<16> 前記メタデータ生成部は、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定し、重み付平均により、前記複数の基準画像を混合し、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報をメタデータとして生成する
 <14>に記載の画像処理装置。
<17> 前記メタデータ生成部は、前記仮想視点と微小視差を持つ、微小視差仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定し、重み付平均により、前記複数の基準画像を混合し、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報と、
 前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定し、重み付平均により、前記複数の基準画像を混合して、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報とからなるメタデータを生成する
 <14>に記載の画像処理装置。
<18> 前記基準画像は、全天球画像のテクスチャ画像とデプス画像からなる第1レイヤ画像を含む
 <14>に記載の画像処理装置。
<19> 前記基準画像は、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像をさらに含む
 <18>に記載の画像処理装置。
<20> 複数の視点位置および視線方向で撮影された複数の基準画像を用いて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータを生成するステップ
 を含む画像処理方法。
 12 コンテンツサーバ, 13 ホームサーバ, 52 第1レイヤ生成部, 54 第2レイヤ生成部, 57 メタデータ生成部, 239 描画部, 256 3Dモデル生成部, 261 オクルージョン処理部, 403 再生装置, 501 コンテンツサーバ, 502 ホームサーバ, 512 視点情報メタデータ, 521 視点描画部, 522 視点情報生成部

Claims (20)

  1.  仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、複数の視点位置および視線方向で撮影された複数の基準画像より生成する仮想視点画像生成部
     を含む画像処理装置。
  2.  前記仮想視点画像生成部は、前記仮想視点の視線方向と、前記複数の基準画像を撮影したそれぞれの視線方向とに基づいて、前記複数の基準画像を混合して、前記仮想視点画像を生成する
     請求項1に記載の画像処理装置。
  3.  前記仮想視点画像生成部は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度に応じて、前記複数の基準画像のそれぞれに重みを付して、重み平均により前記仮想視点画像を生成する
     請求項1に記載の画像処理装置。
  4.  前記仮想視点画像生成部は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度に応じて、前記複数の基準画像のそれぞれに前記類似度が高いほど、大きな重みを付して、重み平均により前記仮想視点画像を生成する
     請求項3に記載の画像処理装置。
  5.  前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との類似度は、前記仮想視点の視線方向と、前記複数の基準画像のそれぞれの視線方向との成す角、または、前記仮想視点と、前記複数の基準画像のそれぞれの視点位置間の距離である
     請求項4に記載の画像処理装置。
  6.  前記仮想視点画像生成部は、前記複数の基準画像を特定する情報からなるメタデータを取得し、前記メタデータで特定されている前記複数の基準画像のそれぞれに重みを付して、重み平均により前記仮想視点画像を生成する
     請求項1に記載の画像処理装置。
  7.  前記メタデータで特定されている前記複数の基準画像は、前記仮想視点に対して、異なる微小視差が生じる複数の微小視差仮想視点毎に、前記複数の基準画像の視線方向との類似度に応じて、前記複数の基準画像のそれぞれに前記類似度が高いほど大きな重みを付して、重み平均をとるとき、前記重みが最大となる前記基準画像である
     請求項6に記載の画像処理装置。
  8.  前記仮想視点に対応する基準画像と、前記仮想視点と微小視差が生じる複数の微小視差仮想視点の、前記複数の基準画像とは、ステレオ画像を構成する
     請求項1に記載の画像処理装置。
  9.  前記基準画像は、全天球画像であり、
     前記仮想視点画像生成部は、前記全天球画像を構成する各面毎に、前記仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、前記複数の基準画像より生成する
     請求項1に記載の画像処理装置。
  10.  前記基準画像は、全天球画像のテクスチャ画像とデプス画像からなる第1レイヤ画像を含む
     請求項1に記載の画像処理装置。
  11.  前記基準画像は、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像をさらに含む
     請求項10に記載の画像処理装置。
  12.  前記仮想視点は、ヘッドマウントディスプレイにより検出され、
     前記ヘッドマウントディスプレイにより前記仮想視点画像が表示される
     請求項1に記載の画像処理装置。
  13.  仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を、複数の視点位置および視線方向で撮影された複数の基準画像より生成するステップを含む
     画像処理方法。
  14.  複数の視点位置および視線方向で撮影された複数の基準画像を用いて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータを生成するメタデータ生成部と
     を含む画像処理装置。
  15.  前記メタデータ生成部は、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向とに基づいて、前記複数の基準画像を混合し、前記仮想視点画像を生成するためのメタデータを生成する
     請求項14に記載の画像処理装置。
  16.  前記メタデータ生成部は、前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定し、重み付平均により、前記複数の基準画像を混合し、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報をメタデータとして生成する
     請求項14に記載の画像処理装置。
  17.  前記メタデータ生成部は、前記仮想視点と微小視差を持つ、微小視差仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定し、重み付平均により、前記複数の基準画像を混合し、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報と、
     前記仮想視点と、前記複数の基準画像を撮影したそれぞれの視線方向との類似度に基づいて、前記複数の基準画像のそれぞれに重みを設定し、重み付平均により、前記複数の基準画像を混合して、前記仮想視点画像を生成し、最も重みが大きな基準画像を特定する情報とからなるメタデータを生成する
     請求項14に記載の画像処理装置。
  18.  前記基準画像は、全天球画像のテクスチャ画像とデプス画像からなる第1レイヤ画像を含む
     請求項14に記載の画像処理装置。
  19.  前記基準画像は、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像をさらに含む
     請求項18に記載の画像処理装置。
  20.  複数の視点位置および視線方向で撮影された複数の基準画像を用いて、仮想的な視点位置と視線方向とからなる仮想視点において撮影される仮想視点画像を生成するためのメタデータを生成するステップ
     を含む画像処理方法。
PCT/JP2017/025723 2016-07-29 2017-07-14 画像処理装置および画像処理方法 WO2018021067A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/318,431 US10887571B2 (en) 2016-07-29 2017-07-14 Image processing apparatus and image processing method
JP2018529779A JPWO2018021067A1 (ja) 2016-07-29 2017-07-14 画像処理装置および画像処理方法
EP17834075.8A EP3493164B1 (en) 2016-07-29 2017-07-14 Image processing device and image processing method
CN201780045397.8A CN109564705B (zh) 2016-07-29 2017-07-14 图像处理装置及图像处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-149882 2016-07-29
JP2016149882 2016-07-29

Publications (1)

Publication Number Publication Date
WO2018021067A1 true WO2018021067A1 (ja) 2018-02-01

Family

ID=61016029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/025723 WO2018021067A1 (ja) 2016-07-29 2017-07-14 画像処理装置および画像処理方法

Country Status (5)

Country Link
US (1) US10887571B2 (ja)
EP (1) EP3493164B1 (ja)
JP (1) JPWO2018021067A1 (ja)
CN (1) CN109564705B (ja)
WO (1) WO2018021067A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020068935A1 (en) * 2018-09-27 2020-04-02 Futurewei Technologies, Inc. Virtual reality viewpoint viewport center point correspondence signaling
US10650573B2 (en) 2018-06-29 2020-05-12 Proprio, Inc. Synthesizing an image from a virtual perspective using pixels from a physical imager array weighted based on depth error sensitivity
EP3758370A4 (en) * 2018-04-05 2021-03-31 Samsung Electronics Co., Ltd. PROCESS AND DEVICE FOR TRANSMISSION OF INFORMATION ON THREE-DIMENSIONAL CONTENT INCLUDING MULTIPLE POINTS OF VIEW

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6944133B2 (ja) * 2016-07-29 2021-10-06 ソニーグループ株式会社 画像処理装置および画像処理方法
JP6977725B2 (ja) * 2016-08-03 2021-12-08 ソニーグループ株式会社 画像処理装置および画像処理方法
US11184602B2 (en) * 2017-02-13 2021-11-23 Sony Corporation Image processing apparatus and image processing method
JP6946963B2 (ja) * 2017-11-17 2021-10-13 株式会社アイシン 重畳画像表示装置及びコンピュータプログラム
JP2019103067A (ja) * 2017-12-06 2019-06-24 キヤノン株式会社 情報処理装置、記憶装置、画像処理装置、画像処理システム、制御方法、及びプログラム
JP7132730B2 (ja) * 2018-03-14 2022-09-07 キヤノン株式会社 情報処理装置および情報処理方法
JP7123736B2 (ja) * 2018-10-23 2022-08-23 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US10764553B2 (en) * 2018-11-27 2020-09-01 Number 9, LLC Immersive display system with adjustable perspective
US10937186B2 (en) * 2018-12-19 2021-03-02 Fca Us Llc Techniques for precisely locating landmarks in monocular camera images with deep learning
JP7281923B2 (ja) * 2019-03-01 2023-05-26 キヤノン株式会社 制御装置、画像処理システム、制御方法及びプログラム
JP7366563B2 (ja) * 2019-03-26 2023-10-23 キヤノン株式会社 画像生成装置、画像生成方法、及びプログラム
US20220343583A1 (en) * 2019-10-21 2022-10-27 Sony Group Corporation Information processing apparatus, 3d data generation method, and program
CN111556304B (zh) * 2020-04-22 2021-12-31 浙江未来技术研究院(嘉兴) 一种全景影像处理方法、装置及系统
CN111726619B (zh) * 2020-07-06 2022-06-03 重庆理工大学 一种基于虚拟视点质量模型的多视点视频比特分配方法
US11205310B1 (en) * 2021-03-08 2021-12-21 Htc Corporation Background skybox constructing method and electronic device
CN115134574B (zh) * 2022-06-24 2023-08-01 咪咕视讯科技有限公司 动态元数据生成方法、装置、设备及存储介质
CN115482325B (zh) * 2022-09-29 2023-10-31 北京百度网讯科技有限公司 画面渲染方法、装置、系统、设备及介质
CN115908162B (zh) * 2022-10-28 2023-07-04 中山职业技术学院 一种基于背景纹理识别的虚拟视点生成方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015178217A1 (ja) * 2014-05-21 2015-11-26 ソニー株式会社 画像処理装置および方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4475643B2 (ja) 2004-06-29 2010-06-09 キヤノン株式会社 画像符号化装置及び方法
TWI348120B (en) * 2008-01-21 2011-09-01 Ind Tech Res Inst Method of synthesizing an image with multi-view images
JP5011224B2 (ja) * 2008-07-09 2012-08-29 日本放送協会 任意視点映像生成装置及び任意視点映像生成プログラム
JP2013038602A (ja) * 2011-08-08 2013-02-21 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP5968107B2 (ja) * 2011-09-01 2016-08-10 キヤノン株式会社 画像処理方法、画像処理装置およびプログラム
JP5760999B2 (ja) * 2011-12-02 2015-08-12 トヨタ自動車株式会社 画像処理装置及び画像処理方法
KR101945720B1 (ko) * 2012-01-10 2019-02-08 삼성전자주식회사 다중 뷰를 활용한 영상복원 시스템에서 가상 뷰 생성 장치 및 방법
WO2014077046A1 (ja) * 2012-11-13 2014-05-22 ソニー株式会社 画像表示装置及び画像表示方法、移動体装置、画像表示システム、並びにコンピューター・プログラム
CN103581651B (zh) * 2013-10-28 2015-04-29 西安交通大学 一种用于车载多目摄像机环视系统的虚拟视点合成方法
GB2532003A (en) * 2014-10-31 2016-05-11 Nokia Technologies Oy Method for alignment of low-quality noisy depth map to the high-resolution colour image
US9933855B2 (en) * 2016-03-31 2018-04-03 Intel Corporation Augmented reality in a field of view including a reflection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015178217A1 (ja) * 2014-05-21 2015-11-26 ソニー株式会社 画像処理装置および方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KANAME TOMITE ET AL.: "Arbitrary Viewpoint Rendering from Multiple Omnidirectional Images for Interactive Walkthroughs", ITE TECHNICAL REPORT, vol. 26, no. 9, 30 January 2002 (2002-01-30), pages 65 - 70, XP010613789 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3758370A4 (en) * 2018-04-05 2021-03-31 Samsung Electronics Co., Ltd. PROCESS AND DEVICE FOR TRANSMISSION OF INFORMATION ON THREE-DIMENSIONAL CONTENT INCLUDING MULTIPLE POINTS OF VIEW
US11516454B2 (en) 2018-04-05 2022-11-29 Samsung Electronics Co., Ltd. Method and device for transmitting information on three-dimensional content including multiple view points
US10650573B2 (en) 2018-06-29 2020-05-12 Proprio, Inc. Synthesizing an image from a virtual perspective using pixels from a physical imager array weighted based on depth error sensitivity
US11276225B2 (en) 2018-06-29 2022-03-15 Proprio, Inc. Synthesizing an image from a virtual perspective using pixels from a physical imager array weighted based on depth error sensitivity
US11734876B2 (en) 2018-06-29 2023-08-22 Proprio, Inc. Synthesizing an image from a virtual perspective using pixels from a physical imager array weighted based on depth error sensitivity
WO2020068935A1 (en) * 2018-09-27 2020-04-02 Futurewei Technologies, Inc. Virtual reality viewpoint viewport center point correspondence signaling

Also Published As

Publication number Publication date
CN109564705B (zh) 2023-10-20
JPWO2018021067A1 (ja) 2019-05-09
EP3493164A1 (en) 2019-06-05
EP3493164A4 (en) 2019-07-31
US20190238819A1 (en) 2019-08-01
US10887571B2 (en) 2021-01-05
CN109564705A (zh) 2019-04-02
EP3493164B1 (en) 2024-03-27

Similar Documents

Publication Publication Date Title
WO2018021067A1 (ja) 画像処理装置および画像処理方法
JP6944136B2 (ja) 画像処理装置および画像処理方法
JP7127539B2 (ja) 画像処理装置および画像処理方法
JP7040466B2 (ja) 画像処理装置および画像処理方法
JP6944137B2 (ja) 画像処理装置および画像処理方法
JP6944135B2 (ja) 画像処理装置および画像処理方法
JPWO2017195650A1 (ja) 生成装置および生成方法、並びに、再生装置および再生方法
JP7028168B2 (ja) 画像処理装置および画像処理方法
JP6944133B2 (ja) 画像処理装置および画像処理方法
WO2018021071A1 (ja) 画像処理装置および画像処理方法
JP6944134B2 (ja) 画像処理装置および画像処理方法
JP6743894B2 (ja) 画像処理装置および画像処理方法
JP6977725B2 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018529779

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17834075

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017834075

Country of ref document: EP

Effective date: 20190228