WO2018021065A1 - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- WO2018021065A1 WO2018021065A1 PCT/JP2017/025721 JP2017025721W WO2018021065A1 WO 2018021065 A1 WO2018021065 A1 WO 2018021065A1 JP 2017025721 W JP2017025721 W JP 2017025721W WO 2018021065 A1 WO2018021065 A1 WO 2018021065A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- layer
- image
- depth
- texture
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/15—Processing image signals for colour aspects of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects relating to the "2D+depth" image format
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 occlusion of the viewpoint at the time of generating the omnidirectional image is added to the texture image of the viewer's visual field range of the generated viewpoint at the time of reproduction.
- An area is included. Therefore, the quality of the texture image in the visual field range of the viewer at the time of reproduction deteriorates.
- the occlusion area is the area of the back subject that is hidden by the front subject.
- 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 an omnidirectional image.
- the image processing apparatus receives transmission information in which auxiliary information is added to at least one of texture information and depth information of the first layer and texture information and depth information of the second layer. And an auxiliary information utilization unit that executes predetermined image processing using the auxiliary information for at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer Is provided.
- the image processing apparatus adds auxiliary information to at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer. Receiving transmission information and performing predetermined image processing using the auxiliary information on at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer .
- transmission information in which auxiliary information is added to at least one of texture information and depth information of the first layer and texture information and depth information of the second layer is received.
- Predetermined image processing using the auxiliary information is performed on at least one of the texture information and depth information of one layer and the texture information and depth information of the second layer.
- An image processing apparatus includes a texture information and depth information of a first layer, an image generation unit that generates texture information and depth information of a second layer, and texture information and depth information of the first layer. And an auxiliary information generating unit that generates auxiliary information added to at least one of the texture information and the depth information of the second layer.
- the image processing apparatus generates texture information and depth information of the first layer, texture information and depth information of the second layer, and texture information and depth of the first layer. Generating auxiliary information to be added to the information and at least one of the texture information and depth information of the second layer.
- texture information and depth information of the first layer, texture information and depth information of the second layer are generated, and the texture information and depth information of the first layer and the texture of the second layer are generated.
- Auxiliary information added to at least one of the information and the depth information is generated.
- the image processing apparatus may be an independent apparatus or an internal block constituting one apparatus.
- image processing apparatuses according to the first and second aspects of the present disclosure can be realized by causing a computer to execute a program.
- a program to be executed by a computer is provided by being transmitted through a transmission medium or by being recorded on a recording medium. be able to.
- the first aspect of the present disclosure it is possible to generate a high-quality texture image of a predetermined viewpoint using the omnidirectional image.
- an image can be generated so that a high-quality texture image of a predetermined viewpoint can be generated using the omnidirectional image.
- FIG. 43 is a block diagram illustrating a configuration example of a transmission information generation unit in FIG. 42.
- FIG. It is a flowchart explaining an element information generation process. It is a flowchart explaining a transmission information generation process. It is a flowchart explaining the detail of an element header information setting process. It is a flowchart explaining the detail of auxiliary header information setting processing. It is a flowchart explaining the detail of a YUV auxiliary header information setting process. It is a flowchart explaining the detail of an element information preservation
- auxiliary information is polygon front and back information. It is a figure explaining the example of image processing in case auxiliary information is polygon front and back information. It is a figure explaining the example of an image process in case auxiliary information is area
- 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.
- 10 and 11 is the front side, and the lower 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 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 262 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.
- the content server 12 compresses and encodes the first layer texture stream obtained by compressing and encoding the texture image that is the texture information of the first layer and the depth image that is the depth information of the first layer.
- the first layer depth stream is generated and transmitted to the home server 13.
- the content server 12 compresses and encodes the texture image that is the texture information of the second layer, and the second layer depth stream that compresses and encodes the depth image that is the depth information of the second layer. Is transmitted to the home server 13.
- the content server 12 transmits texture information and depth information for each layer, but there are cases where it is desired to transmit additional auxiliary information in addition to the texture information and depth information of each layer. Therefore, in the second embodiment, a configuration will be described in which auxiliary information is added to the texture information and depth information of each layer for transmission.
- the auxiliary information can generate a display image without the information, but the display image generated using the texture information and the depth information can have high image quality, Or it is auxiliary information for making it highly functional.
- the content server 12 adds 2 bits to each of the Cb component and the Cr component.
- the high frequency component of the color is generated as auxiliary information.
- an HDR (High Dynamic Range) image in which color information is expressed by 10 bits can be generated.
- the texture image of the second layer is divided into an effective area, an unnecessary area, and an imaginary area, but the content server 12 assists information for identifying this area. Generate and transmit as information.
- the home server 13 can control the second layer texture image to use only pixels in the effective area for rendering.
- auxiliary information is information from the same viewpoint as the texture information to be added.
- auxiliary information is not necessarily provided for texture information and depth information of each layer, and there is also texture information and depth information to which auxiliary information is not added.
- the two-layer hierarchical structure of the first layer and the second layer has been described.
- a hierarchical structure of three or more layers is also possible, in the following, it is generalized to the N layer.
- the layer is described as a hierarchy, and the first layer, the second layer,... Are described as the first layer, the second layer,. There is.
- FIG. 29 shows a first additional form of auxiliary information.
- the first additional form of auxiliary information is a form in which auxiliary information is stored in the same layer as the texture information and depth information to be added to the texture information and depth information of each layer.
- the number of auxiliary information to be stored may be different for each hierarchy. Further, the resolution of the auxiliary information may be different from the resolution of the texture information.
- auxiliary information A and auxiliary information B are stored in the first layer
- one auxiliary information is stored in the second layer
- the third layer has Auxiliary information is not stored.
- One of the two auxiliary information stored in the first layer has the same resolution as the texture information, and the other one has a lower resolution than the resolution of the texture information.
- FIG. 30 shows a second additional form of auxiliary information.
- auxiliary information is a form in which auxiliary information is stored in a layer different from the layer storing the texture information and depth information to be added.
- the reference layer number defines which hierarchy information and depth information the auxiliary information corresponds to.
- the auxiliary information stored in the third layer is auxiliary information corresponding to the texture information and depth information of the first layer
- the auxiliary information stored in the fourth layer is the second layer.
- the reference layer number stipulates that the auxiliary information corresponds to the texture information and the depth information.
- the number of pieces of information packaged in the hierarchy is two pieces of texture information and depth information, whereas the third layer and the fourth layer In this case, the number of pieces of information packaged in the hierarchy is only one piece of auxiliary information, and the number and size of data differ depending on the layer.
- the same depth information as the addition target is stored in the same layer, and each layer
- the number of pieces of information packaged in (2) may be auxiliary information and depth information, and the number and size of data in each layer may be unified.
- FIG. 30A has an advantage that redundant depth information can be reduced as compared with the configuration of FIG. 30B.
- the configuration of B in FIG. 30 has an advantage that the number and size of data in each layer can be handled in a unified manner as compared with the configuration of A in FIG.
- FIG. 31 shows a third additional form of auxiliary information.
- the third additional form of auxiliary information is an additional form that can be used when the depth information is transmitted in a 4: 2: 0 format that can be decoded by a general-purpose decoder.
- the depth information When the depth information is transmitted in a 4: 2: 0 YUV format that can be decoded by a general-purpose decoder, the depth information can be transmitted using only the Y component. Therefore, the third additional form of auxiliary information is a form in which auxiliary information is stored in the remaining CbCr components. Therefore, also in this case, the auxiliary information is stored in the same layer as the corresponding texture information and depth information, as in the first additional mode. This storage form is effective in that the transmission band can be reduced when the resolution of the auxiliary information is low.
- FIG. 31A shows an example in which depth information is stored in the Y component, auxiliary information is stored in the remaining CbCr component, and auxiliary information is not stored in the third layer in each of the first and second layers. Is shown.
- the auxiliary information of each of the first and second layers may be the same type or different types.
- FIG. 31B shows an example in which the CbCr component is divided into a Cb component and a Cr component, and different auxiliary information is stored in each.
- one type of auxiliary information is stored in the CbCr component.
- the CbCr component is divided into a Cb component and a Cr component, and different types of auxiliary information are stored in them.
- the CbCr component is divided into a Cb component and a Cr component, and auxiliary information is stored only in the Cb component.
- the content server 12 has an element as shown in FIG.
- Various types of header information such as header information, layer header information, and transmission header information are defined.
- element header information is added as header information for each element information that is a minimum unit.
- Element transmission information is configured by combining this element header information and element information.
- Hierarchy header information is added as header information for one hierarchy in which one or more element transmission information is stored.
- the hierarchical transmission information is configured by combining the hierarchical header information stored in one hierarchy and the one or more element transmission information.
- Transmission header information is added as header information for N (N> 1) hierarchical transmission information.
- the transmission information is composed of the transmission header information and the N pieces of hierarchical transmission information.
- the content server 12 transmits N layers of texture information, depth information, and auxiliary information to the home server 13 in units of transmission information.
- FIG. 33 is a diagram for explaining parameters stored in the transmission header information.
- MaxLayerNum that is a parameter indicating the number of layers included in the transmission information is stored in the transmission header information.
- MaxLayerNum 4 as shown in B of FIG.
- FIG. 34 is a diagram for explaining parameters stored in the hierarchy header information.
- each parameter of ThisLayerID, MaxTexInfoNum, MaxDepInfoNum, and MaxAuxInfoNum is stored in the layer header information.
- ThisLayerID is a layer index indicating the number of layers of layer transmission information. With ThisLayerID, it is possible to confirm which layer of information is required without confirming a parameter (LayerID) in element header information described later.
- MaxTexInfoNum represents the number of texture information transmitted in the layer.
- MaxDepInfoNum represents the number of depth information transmitted in the hierarchy.
- MaxAuxInfoNum represents the number of auxiliary information transmitted in the hierarchy.
- 34B shows the values of the parameters of the layer header information of each layer when the transmission information has the structure shown in FIG.
- FIG. 35 shows a structure of predetermined transmission information for explaining parameters stored in the element header information.
- Element header information is divided into common element header information having parameters common to texture information, depth information, and auxiliary information, and auxiliary header information added only when the element information is auxiliary information.
- the auxiliary header information includes the same layer auxiliary header information, the different layer auxiliary header information, and the YUV auxiliary header information.
- the element information is texture information or only depth information
- only common element header information is stored in the element header information of the element information.
- the element header information of the element information has the same hierarchy as the common element header information.
- Auxiliary header information is stored.
- the element header information of the element information includes the common element header information and the different layer auxiliary. Header information is stored.
- the element information is depth information and auxiliary information
- common element header information and YUV auxiliary header information are stored in the element header information of the element information.
- FIG. 36 is a diagram for explaining parameters stored in the element header information.
- 36A shows parameters stored in the common element header information.
- parameters of Width, Height, LayerID, InfoID, and InfoType are stored.
- Width represents the horizontal resolution of element information. Height represents the vertical resolution of the element information.
- LayerID is a hierarchical index indicating what layer information the element information is.
- InfoID is an index indicating the number of element information in the hierarchy from the top (left side in FIG. 35) in the hierarchy. LayerID and InfoID start from "0" as indicated by the numbers in parentheses in FIG.
- InfoType is an identifier indicating whether the element information is “Tex”, “Dep”, “SameLayerAux”, “DiffLayerAux”, or “DepAux”. “Tex” represents texture information, “Dep” represents depth information, “SameLayerAux” represents auxiliary information in the same layer as the addition target, and “DiffLayerAux” represents auxiliary information in a different layer from the addition target. “DepAux” represents information in which depth information and auxiliary information are mixed using the YUV format.
- AuxInfoType and AuxInfoID parameters are stored.
- AuxInfoType is an identifier indicating what kind of information the auxiliary information is and the information type of the auxiliary information.
- AuxInfoID is an index indicating what number of auxiliary information the auxiliary information is in the hierarchy.
- 36C shows parameters stored in the different hierarchy auxiliary header information.
- AuxInfoType is an identifier indicating what kind of information the auxiliary information is and the information type of the auxiliary information.
- AuxDepLayerID is a hierarchy index indicating a hierarchy in which depth information corresponding to auxiliary information is stored, and is the reference layer information described above.
- AuxInfoID is an index indicating what number of auxiliary information the auxiliary information is in the hierarchy.
- 36D shows parameters stored in the YUV auxiliary header information.
- AuxInfoNum represents the number of auxiliary information included in the element information.
- AuxInfoType is an identifier indicating what kind of information the auxiliary information is and the information type of the auxiliary information.
- AuxInfoID is an index indicating what number of auxiliary information the auxiliary information is in the hierarchy.
- DepthAuxType indicates the location of the YUV format where the auxiliary information is stored. When stored in the CbCr component, “CbCr” is stored. When stored in the Cb component, “Cb” is stored in the Cr component. If it is, it will be “Cr”.
- FIG. 37 shows a first setting example when auxiliary information is stored in a layer different from the layer storing the texture information and depth information to be added.
- the element header information of each of the eight pieces of element information I 0 to I 7 is Defined as shown in B.
- element information I 0 is texture information
- element information I 1 is depth information, only common element header information is defined in element information I 1 .
- InfoType stores “Dep” representing depth information.
- the element information I 2 is texture information, only common element header information is defined in the element information I 2 .
- InfoType stores “Tex” representing texture information.
- element information I 3 is depth information, only common element header information is defined in element information I 3 .
- InfoType stores “Dep” representing depth information.
- element information I 4 is auxiliary information, common element header information and different hierarchy auxiliary header information are defined in the element information I 4 .
- AuxInfoType indicating the information type of the auxiliary information
- element information I 5 is depth information, only common element header information is defined in element information I 5 .
- InfoType stores “Dep” representing depth information.
- the element information I 6 is auxiliary information, common element header information and different hierarchy auxiliary header information are defined in the element information I 6 .
- AuxInfoType indicating the information type of the auxiliary information
- element information I 7 is depth information, only common element header information is defined in element information I 7 .
- InfoType stores “Dep” representing depth information.
- FIG. 38 shows a second setting example when auxiliary information is stored in a layer different from the layer storing the texture information and depth information to be added.
- the difference between the first setting example shown in FIG. 37 and the second setting example shown in FIG. 38 is that the corresponding depth information is copied to the hierarchy in which the first setting example stores auxiliary information. On the other hand, in the second setting example, the corresponding depth information is not copied.
- the element header information of each of the six pieces of element information I 0 to I 5 is as shown in FIG. Defined as shown in B.
- the element header information of each of the six pieces of element information I 0 to I 5 shown in B of FIG. 38 is stored by copying the depth information in the element header information of the first setting example shown in B of FIG.
- the element information I 5 and I 7 is omitted.
- FIG. 39 shows a setting example when auxiliary information is stored in the same layer as the layer storing the texture information and depth information to be added.
- the element header information of each of the eight pieces of element information I 0 to I 7 is Defined as shown in B.
- the element header information in the case where the element information I is texture information or depth information is the same as in the above-described example, so that the description thereof will be omitted and only the case where the element information I is auxiliary information will be described. .
- the element information I 2 is auxiliary information
- the common element header information and the same layer auxiliary header information are defined in the element information I 2 .
- AuxInfoType indicating the information type of auxiliary information
- AuxInfoID 0 is stored because element information I 2 is the first auxiliary information in the first layer. ing.
- the element information I 3 is auxiliary information
- the common element header information and the same layer auxiliary header information are defined in the element information I 3 .
- AuxInfoType indicating the information type of auxiliary information
- the element information I 6 is auxiliary information
- the element information I 6 the hierarchical auxiliary header information and common elements header information is defined.
- the horizontal resolution of the element information I 6 is 1920 and the vertical resolution is 1080, and the element information I 6 is the third element information of the second layer.
- AuxInfoType indicating the information type of auxiliary information
- AuxInfoID 0 is stored because element information I 6 is the first auxiliary information in the first layer. ing.
- FIG. 40 shows a first setting example when auxiliary information is stored in the CbCr component of the depth information to be added.
- the element header information of each of the six pieces of element information I 0 to I 5 is Defined as shown in B.
- the element information I 1 Since the CbCr component element information I 1 auxiliary information is stored, the element information I 1, common elements header information and YUV auxiliary header information is defined.
- A is stored in the AuxInfoType indicating the information type of the auxiliary information
- the element information I 3 Since the CbCr component element information I 3 auxiliary information is stored, the element information I 3, common elements header information and YUV auxiliary header information is defined.
- A is stored in AuxInfoType indicating the information type of auxiliary information
- FIG. 41 shows a second setting example when auxiliary information is stored in the CbCr component of the depth information to be added.
- the difference between the first setting example shown in FIG. 40 and the second setting example in FIG. 41 is only when the first setting example stores one auxiliary information in the CbCr component.
- the second setting example includes a case where two types of auxiliary information are stored separately for the Cb component and the Cr component.
- the element header information of each of the six pieces of element information I 0 to I 5 is Defined as shown in B.
- auxiliary information Since one type of auxiliary information is stored in the CbCr component element information I 1, the element information I 1, common elements header information and YUV auxiliary header information is defined.
- A is stored in the AuxInfoType indicating the information type of the auxiliary information
- the common element header information and the YUV auxiliary header information are defined in the element information I 3. Yes.
- two AuxInfoNum, AuxInfoType, AuxInfoID, and DepthAuxType parameters correspond to two types of auxiliary information divided into Cb component and Cr component, that is, AuxInfoNum [0] and [ 1], AuxInfoType [0] and [1], AuxInfoID [0] and [1], and DepthAuxType [0] and [1] are defined.
- AuxInfoNum 2 is stored.
- FIG. 42 is a block diagram illustrating a configuration example of the high-resolution image processing unit 34 in the second embodiment of the image display system.
- portions corresponding to those of the configuration of the high resolution image processing unit 34 in the first embodiment illustrated in FIG. 3 are denoted by the same reference numerals, and description thereof is omitted as appropriate.
- the high-resolution image processing unit 34 in the second embodiment includes an auxiliary information generation unit 601 and a transmission information generation unit 602, and an encoder 53. And 55 are omitted.
- the transmission information generation unit 602 includes an encoder 602A having the same function as the encoders 53 and 55.
- the first layer generation unit 52 generates texture images and depth images of the six surfaces of the first layer, and supplies them to the transmission information generation unit 602.
- the second layer generation unit 54 generates texture images and depth images of the second layer of the six surfaces corresponding to the surfaces of the first layer, and supplies them to the transmission information generation unit 602. Therefore, the first layer generation unit 52 and the second layer generation unit 54 are image generation units that generate texture information and depth information of the first layer and texture information and depth information of the second layer.
- the auxiliary information generation unit 601 generates auxiliary information to be added to the texture information (texture image) and depth information (depth image) of each layer based on the control by the setting unit 56. What kind of auxiliary information is generated is instructed from the setting unit 56. For example, the setting unit 56 supplies auxiliary information identification information for identifying auxiliary information to be created to the auxiliary information generation unit 601 based on a user operation.
- the auxiliary information generation unit 601 uses the auxiliary information to be created, the captured image of each camera generated by the multi-camera 11, the texture image and depth image of the first layer of each surface generated by the first layer generation unit 52, The texture image and depth image of the second layer of each surface generated by the second layer generation unit 54 are used as necessary.
- the auxiliary information generated by the auxiliary information generation unit 601 is supplied to the transmission information generation unit 602.
- the transmission information generation unit 602 generates the transmission information described with reference to FIGS. 29 to 31 and supplies it to the storage 58 for storage.
- the transmission information generation unit 602 is supplied with control information from the setting unit 56 regarding which structure is described with reference to FIGS. 29 to 31 when generating transmission information.
- (Configuration example of transmission information generator) 43 is a block diagram illustrating a configuration example of the transmission information generation unit 602 in FIG.
- the transmission information generation unit 602 includes a transmission header information setting unit 621, a layer header information setting unit 622, an element header information setting unit 623, an element information setting unit 624, and an element information encoding unit 625.
- the transmission header information setting unit 621 sets transmission header information that is header information of a transmission information unit. Specifically, the transmission header information setting unit 621 sets MaxLayerNum indicating the number of layers included in the transmission information.
- the layer header information setting unit 622 sets layer header information that is header information of a layer transmission information unit. Specifically, the layer header information setting unit 622 displays ThisLayerID indicating the number of layers of layer transmission information, MaxTexInfoNum indicating the number of texture information transmitted in the layer, and depth information transmitted in the layer. MaxDepInfoNum representing the number and MaxAuxInfoNum representing the number of auxiliary information transmitted in the hierarchy are set.
- the element header information setting unit 623 sets element header information that is header information in element information units. Specifically, the element header information setting unit 623 sets the common element header information, the same layer auxiliary header information, the different layer auxiliary header information, and the YUV auxiliary header information.
- Width indicating the horizontal resolution of the element information
- Height indicating the vertical resolution of the element information
- LayerID indicating the number of layers of the element information, from the top in the hierarchy
- An InfoID that indicates the number of element information in the hierarchy
- an InfoType that indicates which information is “Tex”, “Dep”, “SameLayerAux”, “DiffLayerAux”, or “DepAux” are included.
- the same layer auxiliary header information includes an AuxInfoType indicating the information type of the auxiliary information and an AuxInfoID indicating the number of auxiliary information in the hierarchy.
- AuxInfoType indicating the information type of the auxiliary information
- AuxDepLayerID indicating the hierarchy in which the depth information corresponding to the auxiliary information is stored
- what auxiliary information is the auxiliary information in the hierarchy
- AuxInfoNum indicating the number of auxiliary information included in the element information
- AuxInfoType indicating the information type of the auxiliary information
- AuxInfoID indicating which auxiliary information is the auxiliary information in the hierarchy
- DepthAuxType indicating the location of the YUV format where the auxiliary information is stored
- the element information setting unit 624 sets (saves) texture information, depth information, or auxiliary information stored in the transmission information as element information in the encoding buffer.
- Element information encoding section 625 corresponds to encoder 602A in FIG. 42, and compresses and encodes texture information, depth information, or auxiliary information stored in the encoding buffer as element information.
- the element information encoding unit 625 compresses and encodes each of the plurality of element information included in the transmission information, and stores the transmission information packaged in any structure described with reference to FIGS. 29 to 31 in the storage 58. .
- FIG. 44 is a flowchart illustrating element information generation processing for generating element information to be supplied to the transmission information generation unit 602 in the high resolution image processing unit 34. This process is executed after step S16 of the stream generation process shown in FIG.
- step S101 the first layer generation unit 52 obtains the texture image and the depth image of the first layer on each surface corresponding to the six surface information from the captured images obtained by the cameras of the multi-camera 11. Generate. This process is the same as the process of step S17 of the stream generation process of FIG. The generated texture image and depth image of the first layer of each surface are supplied to the transmission information generation unit 602.
- step S102 the second layer generation unit 54 generates a texture image and a depth image of the second layer of each surface corresponding to each surface of the first layer. This process is the same as the process of step S18 of the stream generation process of FIG. The generated texture image and depth image of the second layer of each surface are supplied to the transmission information generation unit 602.
- step S103 the auxiliary information generation unit 601 generates auxiliary information added to the texture image and the depth image of each layer.
- the auxiliary information may be created at all levels or only at a predetermined level.
- the generated auxiliary information is supplied to the transmission information generation unit 602.
- texture information, depth information, or auxiliary information stored as element information in the transmission information generated by the transmission information generation unit 602 is generated.
- FIG. 45 is a flowchart for explaining transmission information generation processing by the transmission information generation unit 602 of FIG.
- step S ⁇ b> 121 the transmission information generation unit 602 acquires packaging control information from the setting unit 56. That is, when generating the transmission information, the transmission information generation unit 602 acquires control information regarding which structure is described with reference to FIGS. 29 to 31 from the setting unit 56. Thereby, for example, the number of transmission information layers, the number of element information of each layer, and the like are determined.
- step S122 the transmission information generation unit 602 sets a variable n for counting the number of layers to 0.
- step S123 the transmission header information setting unit 621 sets transmission header information. Specifically, the transmission header information setting unit 621 sets MaxLayerNum indicating the number of layers included in the transmission information.
- the layer header information setting unit 622 sets layer header information of the nth layer. Specifically, the layer header information setting unit 622, for the nth layer, ThisLayerID indicating the number of layers of layer transmission information, MaxTexInfoNum indicating the number of texture information transmitted in that layer, and transmission in that layer MaxDepInfoNum indicating the number of depth information to be transmitted and MaxAuxInfoNum indicating the number of auxiliary information transmitted in the hierarchy are set.
- step S125 the element header information setting unit 623 sets a variable m for counting element information included in the nth layer to 0.
- step S126 the element header information setting unit 623 executes element header information setting processing for setting element header information of the mth element information included in the nth layer. Details of this processing will be described later with reference to the flowchart of FIG.
- step S127 the element information setting unit 624 executes element information storage processing for storing the m-th element information included in the nth layer in the encoding buffer. Details of this processing will be described later with reference to the flowchart of FIG.
- step S128 the element information encoding unit 625 selects any of the m-th element information included in the nth layer stored in the encoding buffer by the process of step S127, that is, any of texture information, depth information, or auxiliary information. Is compressed and encoded.
- step S129 the transmission information generation unit 602 determines whether the variable m for counting the element information is equal to the number of element information scheduled to be transmitted in the nth layer, that is, the value of (MaxTexInfoNum + MaxDepInfoNum + MaxAuxInfoNum-1).
- step S129 If it is determined in step S129 that the variable m is not equal to the number of element information scheduled to be transmitted in the nth layer, the process proceeds to step S130, after the variable m for counting element information is incremented by 1. The process is returned to step S126. Thereafter, steps S126 to S129 are executed again.
- step S129 if it is determined in step S129 that the variable m is equal to the number of element information scheduled to be transmitted in the nth layer, the process proceeds to step S131, and the transmission information generation unit 602 determines the number of layers to be counted. It is determined whether n is equal to the planned number of layers included in the transmission information, that is, (MaxLayerNum-1).
- step S131 If it is determined in step S131 that the variable n is not equal to the planned number of layers included in the transmission information, the process proceeds to step S132, and after the variable n is incremented by 1, the process returns to step S124. Thereafter, steps S124 to S131 are executed again.
- step S131 if it is determined in step S131 that the variable n is equal to the number of layers scheduled to be included in the transmission information, the process proceeds to step S133, and the element information encoding unit 625 stores the generated transmission information in the storage 58.
- FIG. 46 is a flowchart for explaining the details of the element header information setting process executed in step S126 of FIG.
- the element header information setting unit 623 sets common element header information. That is, the element header information setting unit 623 has a Width that represents the horizontal resolution of the element information, a Height that represents the vertical resolution of the element information, a LayerID that indicates the number of layers of the element information, From the top (left side in FIG. 35), the InfoID indicating what element information is in that hierarchy, and the information of “Tex”, “Dep”, “SameLayerAux”, “DiffLayerAux”, “DepAux” Set InfoType that indicates whether or not there is.
- step S152 the element header information setting unit 623 determines whether the element information includes auxiliary information, that is, whether the InfoType is “SameLayerAux”, “DiffLayerAux”, or “DepAux”.
- step S152 If it is determined in step S152 that the element information includes auxiliary information, the process proceeds to step S153, and the element header information setting unit 623 executes auxiliary header information setting processing for setting auxiliary header information.
- step S152 if it is determined in step S152 that the element information does not include auxiliary information, that is, the element information is texture information or depth information, the process proceeds to step S154, where the element header information setting unit 623 It is determined whether the element information is texture information, that is, whether InfoType is “Tex”.
- step S154 If it is determined in step S154 that the element information is texture information, the process proceeds to step S155, and the element header information setting unit 623 responds to the resolution difference between the depth information and the texture information.
- step S154 if it is determined in step S154 that the element information is not texture information (depth information), the element header information setting process ends, and the process returns to FIG.
- FIG. 47 is a flowchart for explaining the details of the auxiliary header information setting process executed in step S153 of FIG.
- step S171 the element header information setting unit 623 determines whether the InfoType is “DiffLayerAux”.
- step S171 If it is determined in step S171 that the InfoType is “DiffLayerAux”, the process proceeds to step S172, and the element header information setting unit 623 sets the different layer auxiliary header information.
- the element header information setting unit 623 has an AuxInfoType indicating the information type of the auxiliary information, an AuxDepLayerID indicating the hierarchy in which the depth information corresponding to the auxiliary information is stored, and what number the auxiliary information is in that hierarchy.
- Set AuxInfoID indicating auxiliary information.
- step S171 determines whether the InfoType is “DiffLayerAux”.
- step S174 If it is determined in step S174 that InfoType is “SameLayerAux”, the process proceeds to step S175, and the element header information setting unit 623 sets the same layer auxiliary header information. Specifically, the element header information setting unit 623 sets the AuxInfoType indicating the information type of the auxiliary information and the AuxInfoID indicating the number of auxiliary information in the hierarchy of the auxiliary information.
- the process of step S176 ends the process returns to FIG.
- step S174 determines whether the InfoType is “SameLayerAux”.
- step S177 If it is determined in step S177 that InfoType is not “DepAux”, the process returns to the element header information setting process of FIG.
- step S177 if it is determined in step S177 that InfoType is “DepAux”, the process proceeds to step S178, and the element header information setting unit 623 executes YUV auxiliary header information setting processing for setting YUV auxiliary header information. Then, it returns to FIG.
- FIG. 48 is a flowchart for explaining the details of the YUV auxiliary header information setting process executed in step S178 of FIG.
- step S191 the element header information setting unit 623 sets AuxInfoNum indicating the number of auxiliary information included in the mth element information of the nth layer.
- step S192 the element header information setting unit 623 sets a variable i for counting the number of auxiliary information to 0.
- step S193 the element header information setting unit 623 displays the AuxInfoType indicating the information type of the auxiliary information, the AuxInfoID indicating which auxiliary information is the auxiliary information in the hierarchy, and the YUV format in which the auxiliary information is stored.
- Set DepthAuxType to indicate the location of
- step S194 the element header information setting unit 623 determines whether DepthAuxType is “CbCr”.
- step S197 the element header information setting unit 623 determines whether the variable i for counting the number of auxiliary information is equal to (AuxInfoNum-1).
- step S197 If it is determined in step S197 that the variable i is not equal to (AuxInfoNum-1), the process proceeds to step S198, and after the variable i is incremented by 1, the process returns to step S193. Thereafter, steps S193 to S197 are executed again.
- step S197 if it is determined in step S197 that the variable i is equal to (AuxInfoNum-1), the processing returns to FIG.
- FIG. 49 is a flowchart illustrating details of the element information storage process executed in step S127 of FIG.
- step S211 the element information setting unit 624 determines whether the InfoType is “Tex”.
- step S211 If it is determined in step S211 that the InfoType is “Tex”, the process proceeds to step S212, and the element information setting unit 624 stores the texture image as element information in the encoding buffer.
- step S211 determines whether the InfoType is “Tex”.
- step S213 If it is determined in step S213 that InfoType is “Dep”, the process proceeds to step S214, and the element information setting unit 624 stores a depth image as element information in the encoding buffer.
- step S213 determines whether the InfoType is “SameLayerAux” or “DiffLayerAux”.
- step S215 When it is determined in step S215 that InfoType is “SameLayerAux” or “DiffLayerAux”, the process proceeds to step S216, and the element information setting unit 624 stores auxiliary information as element information in the encoding buffer.
- step S215 determines whether the InfoType is “DepAux”.
- step S217 If it is determined in step S217 that InfoType is not “DepAux”, the process returns to FIG.
- step S217 determines whether InfoType is “DepAux”. If it is determined in step S217 that InfoType is “DepAux”, the process proceeds to step S218, and the element information setting unit 624 stores the depth image in the Y component of the encoding buffer.
- step S219 the element information setting unit 624 sets a variable c that counts the number of auxiliary information included in the depth image to 0.
- step S220 the element information setting unit 624 stores the c-th auxiliary information in the DepthAuxType component of the encoding buffer.
- step S221 the element information setting unit 624 determines whether the variable c for counting the number of auxiliary information is equal to (AuxInfoNum-1).
- step S221 If it is determined in step S221 that the variable c is not equal to (AuxInfoNum-1), the process proceeds to step S222. After the variable c is incremented by 1, the process returns to step S220. Thereafter, steps S220 and S221 are executed again.
- step S221 if it is determined in step S221 that the variable c is equal to (AuxInfoNum-1), the processing returns to FIG.
- the content server 12 can generate and transmit transmission information with auxiliary information added to texture information and depth information of each layer.
- the apparatus on the transmission information receiving side can use the auxiliary information to generate a display image with improved image quality or improved function.
- the receiving unit 231 of the home server 13 in FIG. 19 receives the transmission information and metadata of the six surfaces transmitted from the content server 12 and stores them in the storage 232.
- the transmission information includes at least two layers of texture information and depth information of the first layer and the second layer, and auxiliary information for at least one layer of texture information and depth information.
- the line-of-sight detection unit 234 of the home server 13 in FIG. 19 determines three planes as selection planes from the six planes according to the viewing position and the line-of-sight direction, and transmits transmission information corresponding to the three planes from the storage 232. Read and supply to the ML3D model generation unit 235 to 237.
- FIG. 50 is a block diagram illustrating a configuration example of the ML3D model generation unit 235 in the second embodiment of the image display system.
- the ML3D model generation unit 235 in the second embodiment has a transmission information analysis unit 651 newly added and decoders 251, 253, 257, and 259.
- the configuration is omitted.
- the transmission information analysis unit 651 includes a decoder 651A having the same functions as the decoders 251, 253, 257, and 259.
- the transmission information analysis unit 651 is supplied with transmission information of a predetermined surface determined as a selection surface from among the six surfaces from the line-of-sight detection unit 234 of FIG.
- the transmission information analysis unit 651 analyzes the transmission header information, the layer header information, and the element header information included in the supplied transmission information, decodes the element information, and acquires texture information, depth information, or auxiliary information. .
- the transmission information analysis unit 651 supplies the texture image of the first layer to the RGB conversion unit 252.
- the transmission information analysis unit 651 supplies the first layer depth image to the depth conversion unit 254.
- the transmission information analysis unit 651 supplies the texture image of the second layer to the RGB conversion unit 258.
- the transmission information analysis unit 651 supplies the second layer depth image to the depth conversion unit 260.
- the transmission information analysis unit 651 converts the auxiliary information into an RGB conversion unit 252, a depth conversion unit 254, an RGB conversion unit 258, a depth conversion unit 260, and a 3D model generation unit 256. This is supplied to the 3D model generation unit 262 or the drawing unit 239 (FIG. 19).
- the transmission information analysis unit 651 converts the auxiliary information into the 3D model generation unit 256 or 3D model generation unit 262 of the corresponding layer. To supply. If the auxiliary information is information used for generating a display image, the transmission information analysis unit 651 supplies the auxiliary information to the drawing unit 239 (FIG. 19). Alternatively, when the auxiliary information is information about the texture image, the auxiliary information is supplied to one or both of the RGB conversion unit 252 and the RGB conversion unit 258, and when the auxiliary information is information about the depth image, The auxiliary information is supplied to one or both of the depth conversion unit 254 and the depth conversion unit 260.
- the configurations of the ML3D model generation units 236 and 237 are the same as the configuration of the ML3D model generation unit 235.
- FIG. 51 is a block diagram illustrating a configuration example of the transmission information analysis unit 651 in FIG.
- the transmission information analysis unit 651 includes a transmission header information analysis unit 671, a layer header information analysis unit 672, an element header information analysis unit 673, an element information decoding unit 674, and an element information distribution unit 675.
- the transmission header information analysis unit 671 analyzes transmission header information that is header information of a transmission information unit. Specifically, the transmission header information analysis unit 671 extracts MaxLayerNum representing the number of layers included in the transmission information.
- the layer header information analysis unit 672 analyzes layer header information that is header information of a layer transmission information unit. Specifically, the layer header information analysis unit 672 displays ThisLayerID indicating the number of layers of layer transmission information, MaxTexInfoNum indicating the number of texture information transmitted in the layer, and depth information transmitted in the layer. MaxDepInfoNum representing the number and MaxAuxInfoNum representing the number of auxiliary information transmitted in the hierarchy are extracted.
- the element header information analysis unit 673 analyzes element header information that is header information in element information units. Specifically, the element header information analysis unit 673 extracts common element header information. In addition, when the InfoType is “SameLayerAux”, “DiffLayerAux”, or “DepAux”, the element header information analysis unit 673 has the same layer auxiliary header information, different layer auxiliary header information corresponding to the InfoType, or Also extract YUV auxiliary header information.
- the element information decoding unit 674 corresponds to the decoder 651A of FIG. 50, decodes element information stored in a state encoded in transmission information, and obtains texture information, depth information, or auxiliary information obtained as a result. This is supplied to the element information distribution unit 675.
- the element information distribution unit 675 converts the texture information, depth information, or auxiliary information as element information supplied from the element information decoding unit 674 into an RGB conversion unit 252, a depth conversion unit 254, an RGB conversion unit 258, and a depth conversion unit. 260, a 3D model generation unit 256, a 3D model generation unit 262, a drawing unit 239, and the like are supplied to a predetermined supply destination.
- FIG. 52 is a flowchart for explaining transmission information analysis processing by the transmission information analysis unit 651 in FIG.
- step S321 the transmission information analysis unit 651 acquires transmission information of a predetermined surface determined as a selection surface from among the six surfaces supplied from the line-of-sight detection unit 234.
- the acquired transmission information is packaged in any of the structures described with reference to FIGS.
- step S322 the transmission information analysis unit 651 sets a variable n for counting the number of layers to 0.
- the transmission header information analysis unit 671 analyzes the transmission header information. Specifically, the transmission header information analysis unit 671 extracts MaxLayerNum representing the number of layers included in the transmission information.
- the layer header information analysis unit 672 analyzes the layer header information of the nth layer. Specifically, the layer header information analysis unit 672, for the nth layer, ThisLayerID indicating the number of layers of transmission information, MaxTexInfoNum indicating the number of texture information transmitted in that layer, and transmission in that layer MaxDepInfoNum representing the number of depth information to be processed and MaxAuxInfoNum representing the number of auxiliary information transmitted in the hierarchy are extracted.
- step S325 the element header information analysis unit 673 sets a variable m for counting element information included in the nth layer to 0.
- step S326 the element header information analysis unit 673 executes element header information analysis processing for analyzing the element header information of the mth element information included in the nth layer. Details of this processing will be described later with reference to the flowchart of FIG.
- step S327 the element information decoding unit 674 decodes the element information stored in a compressed and encoded state as the m-th element information included in the nth layer.
- step S328 the element information distribution unit 675 executes element information distribution processing for supplying texture information, depth information, or auxiliary information obtained by decoding in step S327 to a predetermined supply destination. Details of this processing will be described later with reference to the flowchart of FIG.
- step S329 the transmission information analysis unit 651 determines whether the variable m for counting element information is equal to the number of element information transmitted in the nth layer, that is, the value of (MaxTexInfoNum + MaxDepInfoNum + MaxAuxInfoNum-1).
- step S329 If it is determined in step S329 that the variable m is not equal to the number of element information transmitted in the nth layer, the process proceeds to step S330, and after the variable m for counting element information is incremented by 1, The process returns to step S326. Thereafter, steps S326 to S329 are executed again.
- step S329 if it is determined in step S329 that the variable m is equal to the number of element information transmitted in the nth layer, the process proceeds to step S331, and the transmission information analysis unit 651 determines the variable n for counting the number of layers. Is equal to the number of layers included in the transmission information, that is, (MaxLayerNum-1).
- step S331 If it is determined in step S331 that the variable n is not equal to the number of layers included in the transmission information, the process proceeds to step S332, and after the variable n is incremented by 1, the process returns to step S324. Thereafter, steps S324 to S331 are executed again.
- step S331 when it is determined in step S331 that the variable n is equal to the number of layers included in the transmission information, the transmission information generation process by the transmission information generation unit 602 ends.
- FIG. 53 is a flowchart for explaining the details of the element header information analysis processing executed in step S326 of FIG.
- the element header information analysis unit 673 extracts the common element header information. That is, the element header information analysis unit 673 has a Width that represents the horizontal resolution of the element information, a Height that represents the vertical resolution of the element information, a LayerID that indicates the number of layers of the element information, From the top, extract the InfoID that indicates the element information in the hierarchy and the InfoType that indicates which information is “Tex”, “Dep”, “SameLayerAux”, “DiffLayerAux”, or “DepAux” .
- step S352 the element header information analysis unit 673 determines whether the element information includes auxiliary information, that is, whether the InfoType is “SameLayerAux”, “DiffLayerAux”, or “DepAux”.
- step S352 If it is determined in step S352 that the element information includes auxiliary information, the process proceeds to step S353, and the element header information analysis unit 673 executes auxiliary header information analysis processing for analyzing the auxiliary header information.
- step S352 if it is determined in step S352 that the element information does not include auxiliary information, that is, the element information is texture information or depth information, the process proceeds to step S354, where the element header information analysis unit 673 It is determined whether the element information is texture information, that is, whether InfoType is “Tex”.
- step S354 If it is determined in step S354 that the element information is texture information, the process proceeds to step S355, and the element header information analysis unit 673 corresponds to the resolution difference between the depth information and the texture information.
- step S354 if it is determined in step S354 that the element information is not texture information (depth information), the element header information analysis process ends, and the process returns to FIG.
- FIG. 54 is a flowchart for explaining the details of the auxiliary header information analysis processing executed in step S353 of FIG.
- step S371 the element header information analysis unit 673 determines whether the InfoType is “DiffLayerAux”.
- step S371 If it is determined in step S371 that InfoType is “DiffLayerAux”, the process proceeds to step S372, and the element header information analysis unit 673 analyzes the different hierarchy auxiliary header information. Specifically, the element header information analysis unit 673 has an AuxInfoType that indicates the information type of the auxiliary information, an AuxDepLayerID that indicates the hierarchy in which the depth information corresponding to the auxiliary information is stored, and what number the auxiliary information is in that hierarchy. AuxInfoID indicating whether it is auxiliary information is extracted.
- step S373 the element header information analysis unit 673 sets the resolution of the auxiliary information to cope with the difference in resolution between the depth information and the auxiliary information.
- step S371 determines whether the InfoType is “DiffLayerAux”.
- step S374 If it is determined in step S374 that InfoType is “SameLayerAux”, the process proceeds to step S375, and the element header information analysis unit 673 analyzes the same layer auxiliary header information. Specifically, the element header information analysis unit 673 extracts AuxInfoType indicating the information type of the auxiliary information and AuxInfoID indicating the number of auxiliary information in the hierarchy of the auxiliary information.
- step S376 the element header information analysis unit 673 sets the resolution of the auxiliary information to cope with the difference in resolution between the depth information and the auxiliary information.
- step S374 determines whether the InfoType is “SameLayerAux”.
- step S377 If it is determined in step S377 that InfoType is not “DepAux”, the process returns to the element header information analysis process of FIG.
- step S377 if it is determined in step S377 that InfoType is “DepAux”, the process proceeds to step S378, and the element header information analysis unit 673 executes a YUV auxiliary header information analysis process for analyzing the YUV auxiliary header information. Then, the process returns to FIG.
- FIG. 55 is a flowchart for explaining the details of the YUV auxiliary header information analysis processing executed in step S378 of FIG.
- step S391 the element header information analysis unit 673 extracts AuxInfoNum representing the number of auxiliary information included in the mth element information in the nth layer.
- step S392 the element header information analysis unit 673 sets a variable i for counting the number of auxiliary information to 0.
- step S393 the element header information analysis unit 673, the AuxInfoType indicating the information type of the auxiliary information, the AuxInfoID indicating the auxiliary information in the hierarchy of the auxiliary information, and the YUV format in which the auxiliary information is stored retrieves DepthAuxType indicating the location of
- step S394 the element header information analysis unit 673 determines whether DepthAuxType is “CbCr”.
- step S397 the element header information analysis unit 673 determines whether the variable i for counting the number of auxiliary information is equal to (AuxInfoNum-1).
- step S397 If it is determined in step S397 that the variable i is not equal to (AuxInfoNum-1), the process proceeds to step S398, and after the variable i is incremented by 1, the process returns to step S393. Thereafter, steps S393 to S397 are executed again.
- step S397 if it is determined in step S397 that the variable i is equal to (AuxInfoNum-1), the process returns to FIG.
- FIG. 56 is a flowchart for explaining the details of the element information distribution processing executed in step S328 of FIG.
- step S411 the element information distribution unit 675 determines whether the InfoType is “Tex”.
- step S411 If it is determined in step S411 that the InfoType is “Tex”, the process proceeds to step S412 and the element information distribution unit 675 converts the texture image obtained as a result of the decoding into one or both of the RGB conversion units 252 and 258. To supply.
- step S411 determines whether the InfoType is “Tex”. If it is determined in step S411 that the InfoType is not “Tex”, the process proceeds to step S413, and the element information distribution unit 675 determines whether the InfoType is “Dep”.
- step S413 When it is determined in step S413 that InfoType is “Dep”, the process proceeds to step S414, and the element information distribution unit 675 converts the depth image obtained as a result of decoding into one or both of the depth conversion units 254 and 260. To supply.
- step S413 determines whether the InfoType is “SameLayerAux” or “DiffLayerAux”.
- step S415 If it is determined in step S415 that InfoType is “SameLayerAux” or “DiffLayerAux”, the element information distribution unit 675 supplies the auxiliary information obtained as a result of decoding to a predetermined supply destination.
- step S415 determines whether the InfoType is “DepAux”.
- step S417 If it is determined in step S417 that InfoType is not “DepAux”, the process returns to FIG.
- step S417 determines whether InfoType is “DepAux”. If it is determined in step S417 that InfoType is “DepAux”, the process proceeds to step S418, and the element information distribution unit 675 performs depth conversion on the depth image obtained by decoding the Y component in the YUV format. Supply to one or both of sections 254 or 260.
- step S419 the element information distribution unit 675 sets a variable c that counts the number of auxiliary information included in the depth image to 0.
- step S420 the element information distribution unit 675 supplies auxiliary information obtained by decoding the DepthAuxType component in the YUV format to a predetermined supply destination.
- step S421 the element information distribution unit 675 determines whether the variable c for counting the number of auxiliary information is equal to (AuxInfoNum-1).
- step S421 If it is determined in step S421 that the variable c is not equal to (AuxInfoNum-1), the process proceeds to step S422, and after the variable c is incremented by 1, the process returns to step S420. Thereafter, steps S420 and S421 are executed again.
- step S421 if it is determined in step S421 that the variable c is equal to (AuxInfoNum-1), the processing returns to FIG.
- the home server 13 can receive transmission information in which auxiliary information is added to texture information and depth information of each layer, and can supply the transmission information to a predetermined supply destination that requires the auxiliary information. Thereby, the home server 13 can generate a display image with improved image quality or improved function using the auxiliary information.
- auxiliary information (Specific examples of auxiliary information) Next, a specific example of auxiliary information will be described.
- FIG. 57 is a functional block diagram related to the use of auxiliary information.
- the auxiliary information utilization unit 701 includes a first layer texture image obtained by decoding the first layer texture stream, a first layer depth image obtained by decoding the first layer depth stream, and a second layer texture. A texture image of the second layer obtained by decoding the stream and a depth image of the second layer obtained by decoding the second layer depth stream are supplied. The auxiliary information utilization unit 701 is also supplied with auxiliary information obtained by decoding the compression-encoded auxiliary information. When the auxiliary information is stored in the CbCr component in the YUV format, the auxiliary information can be obtained by decoding the depth stream.
- the auxiliary information using unit 701 is provided for at least one of the texture image (texture information) and depth image (depth information) of the first layer and the texture image (texture information) and depth image (depth information) of the second layer. Predetermined image processing using auxiliary information is executed.
- the auxiliary information using unit 701 is configured to transmit the transmission information analyzing unit 651, the RGB converting unit 252, the depth converting unit 254, the RGB converting unit 258, the depth converting unit 260, the 3D model generating unit 256, according to the type of auxiliary information. This corresponds to either the 3D model generation unit 262 or the drawing unit 239.
- FIG. 58 shows a specific example of auxiliary information and the contents of image processing using the auxiliary information.
- the auxiliary information can be high frequency information of a color representing a high frequency component than the color information included in the texture data (texture image).
- the auxiliary information using unit 701 can generate and display high quality data using the texture data and the color information of the high frequency component of the auxiliary information.
- the texture data is expressed in YUV format with 8 bits for each of the Cb component and Cr component
- the auxiliary information indicates the high frequency component for each of the Cb component and Cr component with 2 bits
- the auxiliary information using unit 701 can express each of the Cb component and the Cr component by 10-bit color information.
- the auxiliary information can be polygon front / back information expressing the front / back of the polygon.
- the auxiliary information using unit 701 can display only the texture on the front side of the viewpoint being viewed using the auxiliary information indicating the front and back sides.
- the auxiliary information can be area identification information for identifying “effective area”, “unnecessary area”, and “imaginary area”.
- This auxiliary information exists only for the texture data of the second and subsequent layers.
- the auxiliary information utilization unit 701 can change the processing content of the texture data in accordance with the “effective area”, “unnecessary area”, and “imaginary area” flags indicated by the auxiliary information.
- the auxiliary information can be transmittance information representing the transmittance.
- the auxiliary information using unit 701 can generate a display image representing a translucent object using auxiliary information indicating the transmittance with respect to the texture data and the depth data.
- the auxiliary information can be texture information representing the state of gloss or reflection.
- the auxiliary information using unit 701 can generate and display texture data after relighting using the texture information indicated by the auxiliary information and correcting the texture data using data calculated from the reflection model.
- the auxiliary information can be priority information indicating a high priority area in the texture data.
- the auxiliary information using unit 701 can use the auxiliary information to guide and guide the user to the area that the user wants to watch.
- the auxiliary information can be temperature information indicating the temperature within the visual field range of the texture data.
- the auxiliary information using unit 701 can visualize the temperature data on the texture image.
- FIG. 59 is a flowchart for explaining auxiliary information utilization processing by the auxiliary information utilization unit 701 when the auxiliary information is high frequency information.
- step S441 the auxiliary information utilization unit 701 determines whether there is high frequency information added as auxiliary information.
- step S441 If it is determined in step S441 that there is no high frequency information added as auxiliary information, the process of step S442 is skipped and the process using auxiliary information is not performed.
- the auxiliary information using unit 701 uses the auxiliary information to transmit the 8-bit Cb component transmitted as texture data and the auxiliary data.
- the Cr component color information is converted into 10-bit Cb component and Cr component color information and output.
- FIG. 60 is a diagram illustrating changes in pixel values when the viewpoint is moved from the first viewpoint to the second viewpoint in the omnidirectional image.
- the horizontal axis represents the display viewpoint
- the vertical axis represents the pixel value of the omnidirectional image at each display viewpoint.
- the range of the minimum value and the maximum value of the pixel value of the omnidirectional image of the display viewpoint V11 is a range D1.
- the range of the minimum value and the maximum value of the pixel values of the omnidirectional image of the display viewpoint V12 is a range D2 (D1 ⁇ D2).
- the range of the minimum value and the maximum value of the display image pixel value is gradually shifted from the range D1 to the range D2.
- the range of the minimum value and the maximum value of the display image pixel value is gradually shifted from the range D2 to the range D1.
- auxiliary information is high frequency information
- bit extension (high frequency extension) processing is performed on the YCbCr value as the pixel value of each pixel of the texture image after decoding, so the auxiliary information using unit 701 transmits the transmission information This corresponds to the portion 651.
- 61 and 62 are diagrams illustrating an example of image processing when auxiliary information is polygon front / back information.
- the polygon has front and back (normal lines), but as shown in FIG. 61A, the front or back of the first layer texture image and depth image, and the second layer texture image and depth image are different. Expressed with auxiliary information. By performing the culling process using this auxiliary information, as shown in FIG. 61B, it is possible to prevent the object on the back of the second layer that is not originally visible from the direction of the arrow from being displayed, and to connect the front and back. Incorrect polygon display is correct. None strange happens when displaying the second layer.
- Polygon front / back information as auxiliary information can be stored and transmitted in Cb component and Cr component of YUV format, for example, and can be transmitted even by a general-purpose decoder.
- Polygon front / back information can be represented by a 1-bit signal where “0” represents the front and “1” represents the back.
- the polygon front and back information represents the front and back of the two triangular patches 722 positioned at the lower right for each point 721 that is a sampling point of the texture image.
- (number of vertices ⁇ number of sides + number of faces) 2 so the number of faces (triangular patches 722) is approximately twice the number of vertices (points 721).
- the number of auxiliary information becomes the same as the number of pixels, and is stored in the Cb component and Cr component of the YUV format. Can be transmitted.
- the auxiliary information utilization unit 701 corresponds to the drawing unit 239 that performs triangular patch drawing using the texture image and depth image of the first layer and the texture image and depth image of the second layer. To do.
- 63 and 64 are diagrams for explaining an image processing example in the case where the auxiliary information is region identification information.
- the texture image of the second layer can be divided into three areas: an effective area, an unnecessary area, and an imaginary area.
- the area identification information for identifying these three areas can be set and added as auxiliary information.
- the unnecessary area is an area where no occlusion occurs in the first place
- the texture image of the first layer may be used preferentially. Therefore, by identifying the unnecessary area of the second layer based on the area identification information, it becomes possible to know which of the first layer and the second layer should be used with priority.
- the area identification information as auxiliary information only needs to be able to express three areas, that is, an effective area, an unnecessary area, and an imaginary area.
- the 2-bit auxiliary information may be transmitted while being stored in the Cb component and Cr component of the YUV format, or may be transmitted as auxiliary information of the same layer or different layers.
- the auxiliary information utilization unit 701 corresponds to a drawing unit 239 that performs triangular patch drawing using the texture image and depth image of the first layer and the texture image and depth image of the second layer. To do.
- header information is transmitted separately from the first and second layer texture images and the depth image bit stream.
- the header information may be transmitted by being included in the bit stream, for example, stored in User data unregistered SEI (Supplemental Enhancement Information) of the bit stream encoded by the HEVC (High Efficiency Video Coding) method.
- SEI Supplemental Enhancement Information
- FIG. 65 is a block diagram illustrating a configuration example of the third embodiment of the image display system to which the present disclosure is applied.
- the 65 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. 66 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 left eye viewpoint 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 a texture image 421 and a 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.
- FIG. 67 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 505 is further connected to the bus 504.
- An input unit 506, an output unit 507, a storage unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
- the input unit 506 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 507 includes a display, a speaker, and the like.
- the storage unit 508 includes a hard disk, a nonvolatile memory, and the like.
- the communication unit 509 includes a network interface or the like.
- the drive 510 drives a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 501 loads the program stored in the storage unit 508 to the RAM 503 via the input / output interface 505 and the bus 504 and executes the program. A series of processing is performed.
- the program executed by the computer 500 can be provided by being recorded on a removable medium 511 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 508 via the input / output interface 505 by installing the removable medium 511 in the drive 510. Further, the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the storage unit 508. In addition, the program can be installed in the ROM 502 or the storage unit 508 in advance.
- the program executed by the computer 500 may be a program that is processed in time series in the order described in this specification, or a necessary timing such as in parallel or when a call is made. It may be a program in which processing is performed.
- 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. 68 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.
- control unit 7600 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. 69 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 the like.
- FIG. 69 shows an example of the shooting range of each of the 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.
- 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 66 can be implemented 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) can be applied to the vehicle control system 7000 of the application example shown 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. 68, 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 66 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 66 may be realized by a plurality of control units of the vehicle control system 7000 shown 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 receiving unit that receives transmission information in which auxiliary information is added to at least one of texture information and depth information of the first layer, and texture information and depth information of the second layer;
- An auxiliary information utilization unit that executes predetermined image processing using the auxiliary information for at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer.
- Processing equipment (2)
- the texture information and depth information of the first layer is composed of a texture image and a depth image of the omnidirectional image, The image processing apparatus according to (1), wherein the texture information and depth information of the second layer are configured from a texture image and a depth image of an occlusion area at the viewpoint of the texture image of the first layer.
- auxiliary information is stored in the same hierarchy as the texture information and depth information to be added.
- auxiliary information is stored in a layer different from a layer in which texture information and depth information to be added are stored.
- the hierarchy storing texture information and depth information to which the auxiliary information is added is identified by reference layer information.
- depth information that is the same as depth information to be added is also stored in the hierarchy in which the auxiliary information is stored.
- the depth information is stored in the Y component of the 4: 2: 0 YUV format
- the auxiliary information is high frequency information of a color that represents a high frequency component than color information of texture information.
- the auxiliary information is polygon front / back information representing a front / back of a polygon.
- auxiliary information is area identification information that identifies “effective area”, “unnecessary area”, and “imaginary area” of texture information.
- the image processing device Receiving transmission information in which auxiliary information is added to at least one of texture information and depth information of the first layer and texture information and depth information of the second layer; An image processing method comprising: executing predetermined image processing using the auxiliary information on at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer.
- An image generation unit for generating texture information and depth information of the first layer and texture information and depth information of the second layer; An auxiliary information generation unit that generates auxiliary information added to at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer.
- the texture information and depth information of the first layer is composed of a texture image and a depth image of the omnidirectional image,
- the image processing apparatus according to (12) wherein the texture information and depth information of the second layer are configured from a texture image and a depth image of an occlusion area at the viewpoint of the texture image of the first layer.
- the image processing apparatus according to (12) or (13), wherein the auxiliary information is stored in the same hierarchy as the texture information and depth information to be added.
- auxiliary information is stored in a layer different from a layer in which texture information and depth information to be added are stored.
- the hierarchy storing texture information and depth information to which the auxiliary information is added is identified by reference layer information.
- the same depth information as the depth information to be added is also stored in the hierarchy in which the auxiliary information is stored.
- the depth information is stored in the Y component of the 4: 2: 0 YUV format
- the image processing apparatus according to any one of (12) to (14), wherein the auxiliary information is stored in at least one of a Cb component or a Cr component in a 4: 2: 0 YUV format.
- the image processing device Generating texture information and depth information of the first layer and texture information and depth information of the second layer; An image processing method comprising: generating auxiliary information added to at least one of the texture information and depth information of the first layer and the texture information and depth information of the second layer.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本開示は、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるようにする画像処理装置および画像処理方法に関する。 ML3Dモデル生成部は、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取り、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、補助情報を用いた所定の画像処理を実行する。本開示は、例えば、全天球画像から所定の視点の表示画像を生成するホームサーバ等に適用できる。
Description
本開示は、画像処理装置および画像処理方法に関し、特に、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるようにした画像処理装置および画像処理方法に関する。
マルチカメラにより撮影された水平方向の周囲360度および垂直方向の周囲180度の撮影画像を2D画像(平面画像)にマッピングした全天球画像を生成し、符号化して記憶する記憶装置がある(例えば、特許文献1参照)。
また、記憶装置により記憶された全天球画像の符号化ストリームを復号し、その結果得られる全天球画像を用いて視聴者の視野範囲のテクスチャ画像を表示させる再生装置がある。このような再生装置は、全天球画像を球や立方体などの3Dモデルの表面上に貼り付け、その3Dモデルの内部の1点である視点から、視聴者の視線方向の3Dモデルの表面を見たときの視聴者の視野範囲のテクスチャ画像を表示させる。これにより、所定の視点の視聴者の視野範囲の撮影画像が再現される。
しかしながら、全天球画像の生成時の視点と再生時の視点とが異なる場合、生成された再生時の視点の視聴者の視野範囲のテクスチャ画像に、全天球画像の生成時の視点のオクルージョン領域が含まれる。従って、再生時の視点の視聴者の視野範囲のテクスチャ画像の画質が劣化する。オクルージョン領域とは、手前の被写体によって隠蔽された奥の被写体の領域である。
本開示は、このような状況に鑑みてなされたものであり、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるようにするものである。
本開示の第1の側面の画像処理装置は、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取る受け取り部と、前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する補助情報利用部とを備える。
本開示の第1の側面の画像処理方法は、画像処理装置が、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取り、前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行するステップを含む。
本開示の第1の側面においては、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報が受け取られ、前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理が実行される。
本開示の第2の側面の画像処理装置は、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成する画像生成部と、前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する補助情報生成部とを備える。
本開示の第2の側面の画像処理方法は、画像処理装置が、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成し、前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成するステップを含む。
本開示の第2の側面においては、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報が生成され、前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報が生成される。
画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
なお、本開示の第1および第2の側面の画像処理装置は、コンピュータにプログラムを実行させることにより実現することができる。
また、本開示の第1および第2の側面の画像処理装置を実現するために、コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本開示の第1の側面によれば、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができる。
本開示の第2の側面によれば、全天球画像を用いて所定の視点の高画質のテクスチャ画像を生成することができるように画像を生成することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:画像表示システム(図1乃至図28)
2.第2実施の形態:画像表示システム(図29乃至図64)
3.第3実施の形態:画像表示システム(図65)
4.テクスチャ画像の他の例(図66)
5.第4実施の形態:コンピュータ(図67)
6.応用例(図68および図69)
1.第1実施の形態:画像表示システム(図1乃至図28)
2.第2実施の形態:画像表示システム(図29乃至図64)
3.第3実施の形態:画像表示システム(図65)
4.テクスチャ画像の他の例(図66)
5.第4実施の形態:コンピュータ(図67)
6.応用例(図68および図69)
<1.第1実施の形態>
(画像表示システムの第1実施の形態の構成例)
図1は、本開示を適用した画像表示システムの第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は、図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ビット量子化を行う。
なお、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は、図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は、距離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つの面のデプス画像を球にマッピングした際の各画素の球上の位置の例を示す図である。
なお、図7では、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置が点で表されている。
第1レイヤの各面のデプス画像の各画素のデプス画像上の位置の間隔は等間隔である。しかしながら、図7に示すように、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の間隔は等間隔ではない。即ち、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の密度は、一定ではない。
(第1レイヤの面の例)
図8は、第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は、図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レイヤの所定の面に対応する被写体の奥行き方向の位置を示す図であり、図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は、第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は、第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は、第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は、第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は、第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は、図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は、図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は、図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は、第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度である場合のサンプリング点を説明する図である。
図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は、第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は、図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モデル生成部262は、第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は、このような場合にコンテンツサーバ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実施の形態>
次に、画像表示システムの第2実施の形態について説明する。
次に、画像表示システムの第2実施の形態について説明する。
なお、第2実施の形態の説明では、上述した第1の実施の形態と重複する部分についての説明は適宜省略し、異なる部分について説明する。
第1の実施の形態において、コンテンツサーバ12は、第1レイヤのテクスチャ情報であるテクスチャ画像を圧縮符号化した第1レイヤテクスチャストリームと、第1レイヤのデプス情報であるデプス画像を圧縮符号化した第1レイヤデプスストリームとを生成し、ホームサーバ13に伝送する。
また、コンテンツサーバ12は、第2レイヤのテクスチャ情報であるテクスチャ画像を圧縮符号化した第2レイヤテクスチャストリームと、第2レイヤのデプス情報であるデプス画像を圧縮符号化した第2レイヤデプスストリームとを生成し、ホームサーバ13に伝送する。
従って、コンテンツサーバ12はレイヤごとにテクスチャ情報とデプス情報を伝送するが、各レイヤのテクスチャ情報とデプス情報の他に、付加的な補助情報も伝送したい場合がある。そこで、第2実施の形態では、各レイヤのテクスチャ情報とデプス情報に対して、補助情報を付加して伝送することができるようにした構成について説明する。
補助情報の詳細については後述するが、補助情報とは、その情報がなくても表示画像を生成することはできるが、テクスチャ情報とデプス情報を用いて生成される表示画像を高画質にしたり、または、高機能にするための補助的な情報である。
例えば、コンテンツサーバ12は、第1レイヤのテクスチャ画像がYUVフォーマットを用いてY成分、Cb成分、及びCr成分それぞれ8ビットで表現されている場合、Cb成分及びCr成分それぞれに付加される2ビットの色の高域成分を、補助情報として生成する。これにより、ホームサーバ13側において、色情報を10ビットで表現したHDR(High Dynamic Range)画像を生成することができる。
また例えば、図11を参照して説明したように、第2レイヤのテクスチャ画像は、有効領域、不要領域、及び、想像領域に分けられるが、コンテンツサーバ12は、この領域を識別する情報を補助情報として生成し、伝送する。これにより、ホームサーバ13は、第2レイヤのテクスチャ画像については、描画には有効領域の画素のみを使うように制御することができる。
補助情報は、付加対象のテクスチャ情報と同じ視点での情報であることが前提である。また、補助情報は、各レイヤのテクスチャ情報とデプス情報に対して必ずあるとは限らず、補助情報が付加されないテクスチャ情報とデプス情報もある。
なお、上述した第1実施の形態では、第1レイヤと第2レイヤの2層の階層構造について説明したが、3層以上の階層構造も可能であるため、以下では、N層に一般化して説明する。第2実施の形態の説明及び図面では、レイヤを階層と記述し、第1レイヤ、第2レイヤ、・・・を第1層、第2層、・・・のように記述して説明する場合がある。
(補助情報の付加形態)
初めに、図29乃至図31を参照して、補助情報の付加形態について説明する。
初めに、図29乃至図31を参照して、補助情報の付加形態について説明する。
図29は、補助情報の第1の付加形態を示している。
補助情報の第1の付加形態は、各階層のテクスチャ情報とデプス情報に対して、補助情報を、付加対象のテクスチャ情報及びデプス情報と同一階層に格納する形態である。
階層ごとに、格納する補助情報の個数は異なってよい。また、補助情報の解像度は、テクスチャ情報の解像度と異なってもよい。
図29の例では、第1レイヤに、異なる2つの補助情報(例えば、補助情報Aと補助情報B)が格納され、第2レイヤに、1つの補助情報が格納され、第3レイヤには、補助情報が格納されていない。第1レイヤに、格納されている2つの補助情報の一つは、テクスチャ情報と同一の解像度であり、他の一つは、テクスチャ情報の解像度よりも低解像度である。
図30は、補助情報の第2の付加形態を示している。
補助情報の第2の付加形態は、補助情報を、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納する形態である。補助情報のみが格納された階層では、参照レイヤ番号(参照レイヤ情報)によって、その補助情報が、どの階層のテクスチャ情報とデプス情報に対応するものであるかが規定される。
図30のAの例では、第3レイヤに格納された補助情報が、第1レイヤのテクスチャ情報とデプス情報に対応する補助情報であり、第4レイヤに格納された補助情報が、第2レイヤのテクスチャ情報とデプス情報に対応する補助情報であることが参照レイヤ番号によって規定されている。
図30のAの例では、第1レイヤと第2レイヤでは、その階層でパッケージされる情報の個数が、テクスチャ情報とデプス情報の2個であるのに対して、第3レイヤと第4レイヤでは、その階層でパッケージされる情報の個数が、補助情報のみの1個となっており、データの個数及びサイズが、レイヤによって異なる。
そこで、図30のBに示されるように、第3レイヤと第4レイヤにおいて、付加対象であるデプス情報をコピーすることにより、付加対象と同一のデプス情報を同一レイヤに格納して、各階層でパッケージされる情報の個数を補助情報とデプス情報の2個として、各階層のデータの個数及びサイズを統一してもよい。
図30のAの構成では、図30のBの構成と比較して、冗長なデプス情報を削減することができるというメリットがある。一方、図30のBの構成には、図30のAの構成と比較して、各階層のデータの個数及びサイズを統一して扱うことができるというメリットがある。
図31は、補助情報の第3の付加形態を示している。
補助情報の第3の付加形態は、デプス情報が、汎用的なデコーダがデコード可能な4:2:0フォーマットで伝送される場合に利用可能な付加形態である。
デプス情報が汎用的なデコーダがデコード可能な4:2:0のYUVフォーマットで伝送される場合、デプス情報はY成分だけを用いて伝送することができる。そのため、補助情報の第3の付加形態は、補助情報を、残りのCbCr成分に格納する形態である。したがって、この場合も、第1の付加形態と同様に、補助情報は、対応するテクスチャ情報とデプス情報と同一レイヤに格納される。この格納形態は、補助情報の解像度が低い場合に伝送帯域を削減できる点で有効である。
図31のAは、第1及び第2レイヤのそれぞれにおいて、Y成分にデプス情報を格納し、残りのCbCr成分に補助情報を格納し、第3レイヤには、補助情報が格納されていない例を示している。第1及び第2レイヤそれぞれの補助情報は、同じ種類でもよいし、異なる種類でもよい。
図31のBは、CbCr成分を、Cb成分とCr成分に分けて、それぞれに異なる補助情報を格納した例を示している。
第1レイヤでは、CbCr成分に、1種類の補助情報が格納されている。
第2レイヤでは、CbCr成分がCb成分とCr成分に分けられ、それらに異なる種類の補助情報が格納されている。
第3レイヤでは、CbCr成分がCb成分とCr成分に分けられ、Cb成分だけに補助情報が格納されている。
(ヘッダ情報の定義)
上述した補助情報の第1乃至第3の付加形態を任意に選択して、テクスチャ情報とデプス情報とともに補助情報を伝送できるようにするため、コンテンツサーバ12では、図32に示されるように、要素ヘッダ情報、階層ヘッダ情報、及び伝送ヘッダ情報の各種のヘッダ情報が定義される。
上述した補助情報の第1乃至第3の付加形態を任意に選択して、テクスチャ情報とデプス情報とともに補助情報を伝送できるようにするため、コンテンツサーバ12では、図32に示されるように、要素ヘッダ情報、階層ヘッダ情報、及び伝送ヘッダ情報の各種のヘッダ情報が定義される。
テクスチャ情報、デプス情報、及び、補助情報を総称して、要素情報ということにすると、最小単位である各要素情報に対するヘッダ情報として、要素ヘッダ情報が付加される。この要素ヘッダ情報と要素情報とを合わせて、要素伝送情報が構成される。
1以上の要素伝送情報が格納された1つの階層に対するヘッダ情報として、階層ヘッダ情報が付加される。1つの階層に格納された、階層ヘッダ情報と、1以上の要素伝送情報とを合わせて、階層伝送情報が構成される。
N個(N>1)の階層伝送情報に対するヘッダ情報として、伝送ヘッダ情報が付加される。この伝送ヘッダ情報とN個の階層伝送情報とを合わせて、伝送情報が構成される。
コンテンツサーバ12は、伝送情報を単位として、N個の階層のテクスチャ情報、デプス情報、及び、補助情報をホームサーバ13に伝送する。
(各ヘッダ情報の詳細)
次に、各ヘッダ情報に格納されるパラメータについて説明する。
次に、各ヘッダ情報に格納されるパラメータについて説明する。
図33は、伝送ヘッダ情報に格納されるパラメータを説明する図である。
図33のAに示されるように、伝送ヘッダ情報には、伝送情報に含まれる階層の数を表すパラメータであるMaxLayerNumが格納される。
例えば、伝送情報が図32に示した構造である場合、図33のBに示されるように、MaxLayerNum=4となる。
図34は、階層ヘッダ情報に格納されるパラメータを説明する図である。
図34のAに示されるように、階層ヘッダ情報には、ThisLayerID、MaxTexInfoNum、MaxDepInfoNum、及び、MaxAuxInfoNumの各パラメータが格納される。ThisLayerIDは、第何層の階層伝送情報であるかを示す階層インデックスである。ThisLayerIDにより、後述する要素ヘッダ情報内のパラメータ(LayerID)を確認しなくても、どの階層の情報であるのかを確認することができる。
MaxTexInfoNumは、その階層で伝送されるテクスチャ情報の数を表す。MaxDepInfoNumは、その階層で伝送されるデプス情報の数を表す。MaxAuxInfoNumは、その階層で伝送される補助情報の数を表す。
図34のBは、伝送情報が図32に示した構造である場合の、各階層の階層ヘッダ情報の各パラメータの値を示している。
図32の伝送情報では、第1レイヤには、テクスチャ情報とデプス情報の2つの要素情報が格納されているので、その階層ヘッダ情報の各パラメータの値は、ThisLayerID=0、MaxTexInfoNum=1、MaxDepInfoNum=1、及び、MaxAuxInfoNum=0となる。
図32の伝送情報では、第2レイヤには、テクスチャ情報とデプス情報の2つの要素情報が格納されているので、その階層ヘッダ情報の各パラメータの値は、ThisLayerID=1、MaxTexInfoNum=1、MaxDepInfoNum=1、及び、MaxAuxInfoNum=0となる。
図32の伝送情報では、第3レイヤには、補助情報とデプス情報の2つの要素情報が格納されているので、その階層ヘッダ情報の各パラメータの値は、ThisLayerID=2、MaxTexInfoNum=0、MaxDepInfoNum=1、及び、MaxAuxInfoNum=1となる。
図32の伝送情報では、第3レイヤには、テクスチャ情報とデプス情報の2つの要素情報が存在し、さらにデプス情報には補助情報が格納されているので、その階層ヘッダ情報の各パラメータの値は、ThisLayerID=3、MaxTexInfoNum=1、MaxDepInfoNum=1、及び、MaxAuxInfoNum=1となる。
図35は、要素ヘッダ情報に格納されるパラメータを説明するための所定の伝送情報の構造を示している。
なお、図35では、既に説明を行った伝送ヘッダ情報と階層ヘッダ情報については省略されている。
要素ヘッダ情報は、テクスチャ情報、デプス情報、及び、補助情報に共通なパラメータを有する共通要素ヘッダ情報と、要素情報が補助情報である場合にのみ付加される補助ヘッダ情報とに分けられる。補助ヘッダ情報には、同階層補助ヘッダ情報、異階層補助ヘッダ情報、及び、YUV補助ヘッダ情報がある。
要素情報がテクスチャ情報かまたはデプス情報のみである場合、その要素情報の要素ヘッダ情報には、共通要素ヘッダ情報のみが格納される。
要素情報が補助情報であり、かつ、その補助情報が、付加対象のテクスチャ情報及びデプス情報と同一階層に格納されている場合、その要素情報の要素ヘッダ情報には、共通要素ヘッダ情報と同階層補助ヘッダ情報が格納される。
要素情報が補助であり、かつ、その補助情報が、付加対象のテクスチャ情報及びデプス情報と異なる階層に格納されている場合、その要素情報の要素ヘッダ情報には、共通要素ヘッダ情報と異階層補助ヘッダ情報が格納される。
要素情報がデプス情報と補助情報である場合、その要素情報の要素ヘッダ情報には、共通要素ヘッダ情報とYUV補助ヘッダ情報が格納される。
図36は、要素ヘッダ情報に格納されるパラメータを説明する図である。
図36のAは、共通要素ヘッダ情報に格納されるパラメータを示している。
共通要素ヘッダ情報には、Width、Height、LayerID、InfoID、及び、InfoTypeの各パラメータが格納される。
Widthは、要素情報の水平方向の解像度を表す。Heightは要素情報の垂直方向の解像度を表す。LayerIDは、要素情報が第何層の情報であるかを示す階層インデックスである。InfoIDは、階層内の先頭(図35の左側)から、その階層で何番目の要素情報であるかを示すインデックスである。LayerIDとInfoIDは、図35においてカッコ内の数字で示されるように、値は“0”からスタートする。
InfoTypeは、要素情報が、”Tex”,”Dep”,”SameLayerAux”,”DiffLayerAux”,”DepAux”のどの情報であるかを示す識別子である。”Tex”は、テクスチャ情報を表し、”Dep”は、デプス情報を表し、”SameLayerAux”は、付加対象と同階層の補助情報を表し、”DiffLayerAux”は、付加対象と異階層の補助情報を表し、”DepAux”は、YUVフォーマットを用いてデプス情報と補助情報が混合されている情報を表す。
図36のBは、同階層補助ヘッダ情報に格納されるパラメータを示している。
同階層補助ヘッダ情報には、AuxInfoType及びAuxInfoIDの各パラメータが格納される。
AuxInfoTypeは、補助情報がどのような情報であるか、補助情報の情報種別を示す識別子である。AuxInfoIDは、補助情報がその階層で何番目の補助情報であるかを示すインデックスである。
図36のCは、異階層補助ヘッダ情報に格納されるパラメータを示している。
異階層補助ヘッダ情報には、AuxInfoType、AuxDepLayerID、及びAuxInfoIDの各パラメータが格納される。
AuxInfoTypeは、補助情報がどのような情報であるか、補助情報の情報種別を示す識別子である。AuxDepLayerIDは、補助情報に対応するデプス情報が格納されている階層を示す階層インデックスであり、上述した参照レイヤ情報である。AuxInfoIDは、補助情報がその階層で何番目の補助情報であるかを示すインデックスである。
図36のDは、YUV補助ヘッダ情報に格納されるパラメータを示している。
YUV補助ヘッダ情報には、AuxInfoNum、AuxInfoType、AuxInfoID、及びDepthAuxTypeの各パラメータが格納される。
AuxInfoNumは、要素情報に含まれている補助情報の数を表す。AuxInfoTypeは、補助情報がどのような情報であるか、補助情報の情報種別を示す識別子である。AuxInfoIDは、補助情報がその階層で何番目の補助情報であるかを示すインデックスである。DepthAuxTypeは、補助情報が格納されているYUVフォーマットの場所を示し、CbCr成分に格納されている場合には“CbCr”、Cb成分に格納されている場合には“Cb”、Cr成分に格納されている場合には“Cr”となる。
(ヘッダ情報の設定例)
次に、第1乃至第3の付加形態それぞれに対するヘッダ情報の具体的な設定例について説明する。
次に、第1乃至第3の付加形態それぞれに対するヘッダ情報の具体的な設定例について説明する。
図37は、付加対象のテクスチャ情報及びデプス情報を格納した階層と異なる階層に補助情報を格納した場合の第1の設定例を示している。
例えば、図37のAに示されるように8個の要素情報I0乃至I7が4階層で伝送される場合、8個の要素情報I0乃至I7それぞれの要素ヘッダ情報は、図37のBに示されるように定義される。
要素情報I0はテクスチャ情報であるため、要素情報I0には、共通要素ヘッダ情報のみが定義されている。要素情報I0の水平方向の解像度が1920であり、垂直方向の解像度が1080である。要素情報I0は第1層の1番目の要素情報であるので、LayerID=0、InfoID=0が格納されている。InfoTypeには、テクスチャ情報を表す”Tex”が格納されている。
要素情報I1はデプス情報であるため、要素情報I1には、共通要素ヘッダ情報のみが定義されている。要素情報I1の水平方向の解像度が1920であり、垂直方向の解像度が1080である。要素情報I1は第1層の2番目の要素情報であるので、LayerID=0、InfoID=1が格納されている。InfoTypeには、デプス情報を表す”Dep”が格納されている。
要素情報I2はテクスチャ情報であるため、要素情報I2には、共通要素ヘッダ情報のみが定義されている。要素情報I2の水平方向の解像度が1920であり、垂直方向の解像度が1080である。要素情報I2は第2層の1番目の要素情報であるので、LayerID=1、InfoID=0が格納されている。InfoTypeには、テクスチャ情報を表す”Tex”が格納されている。
要素情報I3はデプス情報であるため、要素情報I3には、共通要素ヘッダ情報のみが定義されている。要素情報I3の水平方向の解像度が1920であり、垂直方向の解像度が1080である。要素情報I3は第2層の2番目の要素情報であるので、LayerID=1、InfoID=1が格納されている。InfoTypeには、デプス情報を表す”Dep”が格納されている。
要素情報I4は補助情報であるため、要素情報I4には、共通要素ヘッダ情報と異階層補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I4の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I4は第3層の1番目の要素情報であるので、LayerID=2、InfoID=0、InfoTypeには、付加対象と異階層の補助情報を表す” DiffLayerAux”が格納されている。
異階層補助ヘッダ情報としては、補助情報の情報種別を示すAuxInfoTypeには、“A”が格納され、補助情報に対応するデプス情報は要素情報I1であるので、AuxDepLayerID=0が格納され、要素情報I4は第3層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
要素情報I5はデプス情報であるため、要素情報I5には、共通要素ヘッダ情報のみが定義されている。要素情報I5の水平方向の解像度が1920であり、垂直方向の解像度が1080である。要素情報I5は第3層の2番目の要素情報であるので、LayerID=2、InfoID=1が格納されている。InfoTypeには、デプス情報を表す”Dep”が格納されている。
要素情報I6は補助情報であるため、要素情報I6には、共通要素ヘッダ情報と異階層補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I6の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I6は第4層の1番目の要素情報であるので、LayerID=3、InfoID=0、InfoTypeには、付加対象と異階層の補助情報を表す” DiffLayerAux”が格納されている。
異階層補助ヘッダ情報としては、補助情報の情報種別を示すAuxInfoTypeには、“A”が格納され、補助情報に対応するデプス情報は要素情報I3であるので、AuxDepLayerID=1が格納され、要素情報I6は第4層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
要素情報I7はデプス情報であるため、要素情報I7には、共通要素ヘッダ情報のみが定義されている。要素情報I7の水平方向の解像度が1920であり、垂直方向の解像度が1080である。要素情報I7は第4層の2番目の要素情報であるので、LayerID=3、InfoID=1が格納されている。InfoTypeには、デプス情報を表す”Dep”が格納されている。
図38は、付加対象のテクスチャ情報及びデプス情報を格納した階層と異なる階層に補助情報を格納した場合の第2の設定例を示している。
図37に示した第1の設定例と、図38の第2の設定例との違いは、第1の設定例が補助情報を格納した階層に、対応するデプス情報がコピーされていたのに対して、第2の設定例では、対応するデプス情報がコピーされていない点である。
例えば、図38のAに示されるように6個の要素情報I0乃至I5が4階層で伝送される場合、6個の要素情報I0乃至I5それぞれの要素ヘッダ情報は、図38のBに示されるように定義される。
図38のBに示される6個の要素情報I0乃至I5それぞれの要素ヘッダ情報は、図37のBに示した第1の設定例の要素ヘッダ情報における、デプス情報がコピーされて格納された要素情報I5及びI7を省略した形となっている。
図39は、付加対象のテクスチャ情報及びデプス情報を格納した階層と同一階層に補助情報を格納した場合の設定例を示している。
例えば、図39のAに示されるように8個の要素情報I0乃至I7が3階層で伝送される場合、8個の要素情報I0乃至I7それぞれの要素ヘッダ情報は、図39のBに示されるように定義される。
図39においては、要素情報Iがテクスチャ情報またはデプス情報である場合の要素ヘッダ情報は上述した例と同様であるので、その説明を省略し、要素情報Iが補助情報である場合についてのみ説明する。図40及び図41についても同様とする。
要素情報I2は補助情報であるため、要素情報I2には、共通要素ヘッダ情報と同階層補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I2の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I2は第1層の3番目の要素情報であるので、LayerID=0、InfoID=2、InfoTypeには、付加対象と同階層の補助情報を表す” SameLayerAux”が格納されている。
同階層補助ヘッダ情報としては、補助情報の情報種別を示すAuxInfoTypeには、“A”が格納され、要素情報I2は第1層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
要素情報I3は補助情報であるため、要素情報I3には、共通要素ヘッダ情報と同階層補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I3の水平方向の解像度が960であり、垂直方向の解像度が540であること、要素情報I3は第1層の4番目の要素情報であるので、LayerID=0、InfoID=3、InfoTypeには、付加対象と同階層の補助情報を表す” SameLayerAux”が格納されている。
同階層補助ヘッダ情報としては、補助情報の情報種別を示すAuxInfoTypeには、“B”が格納され、要素情報I3は第1層で2番目の補助情報であるので、AuxInfoID=1が格納されている。
要素情報I6は補助情報であるため、要素情報I6には、共通要素ヘッダ情報と同階層補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I6の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I6は第2層の3番目の要素情報であるので、LayerID=1、InfoID=2、InfoTypeには、付加対象と同階層の補助情報を表す” SameLayerAux”が格納されている。
同階層補助ヘッダ情報としては、補助情報の情報種別を示すAuxInfoTypeには、“A”が格納され、要素情報I6は第1層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
図40は、付加対象のデプス情報のCbCr成分に補助情報を格納した場合の第1の設定例を示している。
例えば、図40のAに示されるように6個の要素情報I0乃至I5が3階層で伝送される場合、6個の要素情報I0乃至I5それぞれの要素ヘッダ情報は、図40のBに示されるように定義される。
要素情報I1のCbCr成分には補助情報が格納されているため、要素情報I1には、共通要素ヘッダ情報とYUV補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I1の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I1は第1層の2番目の要素情報であるので、LayerID=0、InfoID=1、InfoTypeには、デプス情報と混合されている補助情報を表す” DepAux”が格納されている。
YUV補助ヘッダ情報としては、要素情報I1には1個の補助情報がCbCr成分を使って格納されているので、AuxInfoNum=1、DepthAuxType=“CbCr”が格納されている。また、補助情報の情報種別を示すAuxInfoTypeには、“A”が格納され、要素情報I1は第1層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
要素情報I3のCbCr成分には補助情報が格納されているため、要素情報I3には、共通要素ヘッダ情報とYUV補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I3の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I3は第2層の2番目の要素情報であるので、LayerID=1、InfoID=1、InfoTypeには、デプス情報と混合されている補助情報を表す” DepAux”が格納されている。
YUV補助ヘッダ情報としては、要素情報I3には1個の補助情報がCbCr成分を使って格納されているので、AuxInfoNum=1、DepthAuxType=“CbCr”が格納されている。また、補助情報の情報種別を示すAuxInfoTypeには、“B”が格納され、要素情報I3は第2層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
図41は、付加対象のデプス情報のCbCr成分に補助情報を格納した場合の第2の設定例を示している。
図40に示した第1の設定例と、図41の第2の設定例との違いは、第1の設定例がCbCr成分に1つの補助情報を格納した場合のみであるのに対して、第2の設定例では、Cb成分とCr成分に分けて2種類の補助情報を格納した場合が含まれる点である。
例えば、図41のAに示されるように6個の要素情報I0乃至I5が3階層で伝送される場合、6個の要素情報I0乃至I5それぞれの要素ヘッダ情報は、図41のBに示されるように定義される。
要素情報I1のCbCr成分には1種類の補助情報が格納されているため、要素情報I1には、共通要素ヘッダ情報とYUV補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I1の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I1は第1層の2番目の要素情報であるので、LayerID=0、InfoID=1、InfoTypeには、デプス情報と混合されている補助情報を表す” DepAux”が格納されている。
YUV補助ヘッダ情報としては、要素情報I1には1個の補助情報がCbCr成分を使って格納されているので、AuxInfoNum=1、DepthAuxType=“CbCr”が格納されている。また、補助情報の情報種別を示すAuxInfoTypeには、“A”が格納され、要素情報I1は第1層で1番目の補助情報であるので、AuxInfoID=0が格納されている。
要素情報I3のCbCr成分には、Cb成分とCr成分に分けて2種類の補助情報が格納されているため、要素情報I3には、共通要素ヘッダ情報とYUV補助ヘッダ情報が定義されている。
共通要素ヘッダ情報としては、要素情報I3の水平方向の解像度が1920であり、垂直方向の解像度が1080であること、要素情報I3は第2層の2番目の要素情報であるので、LayerID=1、InfoID=1、InfoTypeには、デプス情報と混合されている補助情報を表す” DepAux”が格納されている。
YUV補助ヘッダ情報では、Cb成分とCr成分に分けられた2種類の補助情報に対応して、AuxInfoNum、AuxInfoType、AuxInfoID、及びDepthAuxTypeの各パラメータが、それぞれ2個、即ち、AuxInfoNum[0]及び[1]、AuxInfoType[0]及び[1]、AuxInfoID[0]及び[1]、及びDepthAuxType[0]及び[1]が定義されている。
要素情報I1には2個の補助情報がCb成分とCr成分を使って格納されているので、AuxInfoNum=2が格納されている。また、Cb成分を使った1個目の補助情報Aに対して、AuxInfoType=“A”、AuxInfoID=0、DepthAuxType=“Cb”が格納されている。また、Cr成分を使った2個目の補助情報Bに対して、AuxInfoType=“B”、AuxInfoID=1、DepthAuxType=“Cr”が格納されている。
(高解像度画像処理部の構成例)
図42は、画像表示システムの第2実施の形態における高解像度画像処理部34の構成例を示すブロック図である。
図42は、画像表示システムの第2実施の形態における高解像度画像処理部34の構成例を示すブロック図である。
図42において、図3で示した第1の実施の形態における高解像度画像処理部34の構成と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
図3で示した第1の実施の形態と比較すると、第2実施の形態における高解像度画像処理部34は、補助情報生成部601と伝送情報生成部602が新たに追加されるとともに、エンコーダ53及び55が省略された構成を有している。ただし、エンコーダ53及び55と同様の機能を有するエンコーダ602Aが、伝送情報生成部602に含まれている。
第1レイヤ生成部52は、第1レイヤの6つの面のテクスチャ画像とデプス画像を生成し、伝送情報生成部602に供給する。第2レイヤ生成部54は、第1レイヤの各面に対応する6つの面の第2レイヤのテクスチャ画像とデプス画像を生成し、伝送情報生成部602に供給する。したがって、第1レイヤ生成部52及び第2レイヤ生成部54は、第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成する画像生成部である。
補助情報生成部601は、設定部56による制御に基づいて、各階層のテクスチャ情報(テクスチャ画像)及びデプス情報(デプス画像)に付加される補助情報を生成する。どのような補助情報を生成するかは、設定部56から指示される。設定部56は、例えば、ユーザの操作に基づいて、作成する補助情報を識別する補助情報識別情報を、補助情報生成部601に供給する。
補助情報生成部601は、作成する補助情報によって、マルチカメラ11によって生成された各カメラの撮影画像や、第1レイヤ生成部52によって生成された各面の第1レイヤのテクスチャ画像及びデプス画像、第2レイヤ生成部54によって生成された各面の第2レイヤのテクスチャ画像及びデプス画像などを、必要に応じて利用する。補助情報生成部601によって生成された補助情報は、伝送情報生成部602に供給される。
伝送情報生成部602は、図29乃至図31を参照して説明した伝送情報を生成して、ストレージ58に供給して記憶させる。なお、伝送情報生成部602には、伝送情報を生成する際、図29乃至図31を参照して説明したいずれの構造でパッケージ化するかについての制御情報が設定部56から供給される。
(伝送情報生成部の構成例)
図43は、図42の伝送情報生成部602の構成例を示すブロック図である。
図43は、図42の伝送情報生成部602の構成例を示すブロック図である。
伝送情報生成部602は、伝送ヘッダ情報設定部621、階層ヘッダ情報設定部622、要素ヘッダ情報設定部623、要素情報設定部624、及び要素情報符号化部625により構成される。
伝送ヘッダ情報設定部621は、伝送情報単位のヘッダ情報である伝送ヘッダ情報を設定する。具体的には、伝送ヘッダ情報設定部621は、伝送情報に含まれる階層の数を表すMaxLayerNumを設定する。
階層ヘッダ情報設定部622は、階層伝送情報単位のヘッダ情報である階層ヘッダ情報を設定する。具体的には、階層ヘッダ情報設定部622は、第何層の階層伝送情報であるかを示すThisLayerID、その階層で伝送されるテクスチャ情報の数を表すMaxTexInfoNum、その階層で伝送されるデプス情報の数を表すMaxDepInfoNum、及び、その階層で伝送される補助情報の数を表すMaxAuxInfoNumを設定する。
要素ヘッダ情報設定部623は、要素情報単位のヘッダ情報である要素ヘッダ情報を設定する。具体的には、要素ヘッダ情報設定部623は、共通要素ヘッダ情報と、同階層補助ヘッダ情報、異階層補助ヘッダ情報、及び、YUV補助ヘッダ情報とを設定する。
共通要素ヘッダ情報には、要素情報の水平方向の解像度を表すWidth、要素情報の垂直方向の解像度を表すHeight、要素情報が第何層の情報であるかを示すLayerID、階層内の先頭から、その階層で何番目の要素情報であるかを示すInfoID、及び、”Tex”,”Dep”,”SameLayerAux”,”DiffLayerAux”,”DepAux”のどの情報であるかを示すInfoTypeが含まれる。
同階層補助ヘッダ情報には、補助情報の情報種別を示すAuxInfoType、及び、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoIDが含まれる。
異階層補助ヘッダ情報には、補助情報の情報種別を示すAuxInfoType、補助情報に対応するデプス情報が格納されている階層を示すAuxDepLayerID、及び、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoIDが含まれる。
YUV補助ヘッダ情報には、要素情報に含まれている補助情報の数を表すAuxInfoNum、補助情報の情報種別を示すAuxInfoType、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoID、及び、補助情報が格納されているYUVフォーマットの場所を示すDepthAuxTypeが含まれる。
要素情報設定部624は、伝送情報に要素情報として格納される、テクスチャ情報、デプス情報、または、補助情報を、符号化バッファに設定(保存)する。
要素情報符号化部625は、図42のエンコーダ602Aに対応し、要素情報として符号化バッファに保存されたテクスチャ情報、デプス情報、または、補助情報を、圧縮符号化する。要素情報符号化部625は、伝送情報に含まれる複数の要素情報それぞれについて圧縮符号化し、図29乃至図31を参照して説明したいずれかの構造でパッケージ化した伝送情報をストレージ58に記憶させる。
(要素情報生成処理の説明)
図44は、高解像度画像処理部34において、伝送情報生成部602に供給するための要素情報を生成する要素情報生成処理を説明するフローチャートである。この処理は、図18に示したストリーム生成処理のステップS16の後に実行される。
図44は、高解像度画像処理部34において、伝送情報生成部602に供給するための要素情報を生成する要素情報生成処理を説明するフローチャートである。この処理は、図18に示したストリーム生成処理のステップS16の後に実行される。
初めに、ステップS101において、第1レイヤ生成部52は、マルチカメラ11の各カメラによって得られた撮影画像から、6つの各面情報に対応する各面の第1レイヤのテクスチャ画像とデプス画像を生成する。この処理は、図18のストリーム生成処理のステップS17の処理と同様である。生成された各面の第1レイヤのテクスチャ画像とデプス画像は、伝送情報生成部602に供給される。
ステップS102において、第2レイヤ生成部54は、第1レイヤの各面に対応する各面の第2レイヤのテクスチャ画像とデプス画像を生成する。この処理は、図18のストリーム生成処理のステップS18の処理と同様である。生成された各面の第2レイヤのテクスチャ画像とデプス画像は、伝送情報生成部602に供給される。
ステップS103において、補助情報生成部601は、各階層のテクスチャ画像及びデプス画像に付加される補助情報を生成する。補助情報は、全ての階層で作られる場合もあるし、所定の階層のみでつくられる場合もある。生成された補助情報は、伝送情報生成部602に供給される。
以上の処理により、伝送情報生成部602によって生成される伝送情報において要素情報として格納されるテクスチャ情報、デプス情報、または、補助情報が生成される。
以上の要素情報生成処理は、図18に示した第1の実施の形態におけるストリーム生成処理のステップS17乃至S20の処理と置き換えられる。
そして、図44の要素情報生成処理が終了した後、次の図45に示される伝送情報生成処理が実行される。
(伝送情報生成処理の説明)
図45は、図42の伝送情報生成部602による伝送情報生成処理を説明するフローチャートである。
図45は、図42の伝送情報生成部602による伝送情報生成処理を説明するフローチャートである。
初めに、ステップS121において、伝送情報生成部602は、設定部56からパッケージ化制御情報を取得する。即ち、伝送情報生成部602は、伝送情報を生成する際、図29乃至図31を参照して説明したいずれの構造でパッケージ化するかについての制御情報を設定部56から取得する。これにより、例えば、伝送情報の階層数をいくつにするかや、各階層の要素情報をいくつにするかなどが決定される。
ステップS122において、伝送情報生成部602は、階層数をカウントする変数nを0に設定する。
ステップS123において、伝送ヘッダ情報設定部621は、伝送ヘッダ情報を設定する。具体的には、伝送ヘッダ情報設定部621は、伝送情報に含まれる階層の数を表すMaxLayerNumを設定する。
ステップS124において、階層ヘッダ情報設定部622は、第n階層の階層ヘッダ情報を設定する。具体的には、階層ヘッダ情報設定部622は、第n階層について、第何層の階層伝送情報であるかを示すThisLayerID、その階層で伝送されるテクスチャ情報の数を表すMaxTexInfoNum、その階層で伝送されるデプス情報の数を表すMaxDepInfoNum、及び、その階層で伝送される補助情報の数を表すMaxAuxInfoNumを設定する。
ステップS125において、要素ヘッダ情報設定部623は、第n階層に含まれる要素情報をカウントする変数mを0に設定する。
ステップS126において、要素ヘッダ情報設定部623は、第n階層に含まれるm番目の要素情報の要素ヘッダ情報を設定する要素ヘッダ情報設定処理を実行する。この処理の詳細は、図46のフローチャートを参照して後述する。
ステップS127において、要素情報設定部624は、第n階層に含まれるm番目の要素情報を符号化バッファに保存する要素情報保存処理を実行する。この処理の詳細は、図49のフローチャートを参照して後述する。
ステップS128において、要素情報符号化部625は、ステップS127の処理によって符号化バッファに保存された第n階層に含まれるm番目の要素情報、即ち、テクスチャ情報、デプス情報、または、補助情報のいずれかを圧縮符号化する。
ステップS129において、伝送情報生成部602は、要素情報をカウントする変数mが、第n階層で伝送される予定の要素情報の個数、即ち、(MaxTexInfoNum+MaxDepInfoNum+MaxAuxInfoNum-1)の値と等しいかを判定する。
ステップS129で、変数mが第n階層で伝送される予定の要素情報の個数と等しくないと判定された場合、処理はステップS130に進み、要素情報をカウントする変数mが1だけインクリメントされた後、処理がステップS126に戻される。その後、ステップS126乃至S129が再度実行される。
一方、ステップS129で、変数mが第n階層で伝送される予定の要素情報の個数と等しいと判定された場合、処理はステップS131に進み、伝送情報生成部602は、階層数をカウントする変数nが、伝送情報に含まれる予定の階層数、即ち、(MaxLayerNum-1)と等しいかを判定する。
ステップS131で、変数nが伝送情報に含まれる予定の階層数と等しくないと判定された場合、処理はステップS132に進み、変数nが1だけインクリメントされた後、処理がステップS124に戻される。その後、ステップS124乃至S131が再度実行される。
一方、ステップS131で、変数nが伝送情報に含まれる予定の階層数と等しいと判定された場合、処理はステップS133に進み、要素情報符号化部625は、生成した伝送情報をストレージ58に記憶させる。
以上で、伝送情報生成部602による伝送情報生成処理が終了する。
(要素ヘッダ情報設定処理の説明)
図46は、図45のステップS126で実行される要素ヘッダ情報設定処理の詳細を説明するフローチャートである。
図46は、図45のステップS126で実行される要素ヘッダ情報設定処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS151において、要素ヘッダ情報設定部623は、共通要素ヘッダ情報を設定する。即ち、要素ヘッダ情報設定部623は、要素情報の水平方向の解像度を表すWidth、要素情報の垂直方向の解像度を表すHeight、要素情報が第何層の情報であるかを示すLayerID、階層内の先頭(図35中の左側)から、その階層で何番目の要素情報であるかを示すInfoID、及び、”Tex”,”Dep”,”SameLayerAux”,”DiffLayerAux”,”DepAux”のどの情報であるかを示すInfoTypeを設定する。
ステップS152において、要素ヘッダ情報設定部623は、要素情報が補助情報を含むものであるか、即ち、InfoTypeが”SameLayerAux”,”DiffLayerAux”、または、”DepAux”であるかを判定する。
ステップS152で、要素情報が補助情報を含むものであると判定された場合、処理はステップS153に進み、要素ヘッダ情報設定部623は、補助ヘッダ情報を設定する補助ヘッダ情報設定処理を実行する。
一方、ステップS152で、要素情報が補助情報を含むものではない、即ち、要素情報がテクスチャ情報かまたはデプス情報であると判定された場合、処理はステップS154に進み、要素ヘッダ情報設定部623は、要素情報がテクスチャ情報であるか、即ち、InfoTypeが”Tex”であるかを判定する。
ステップS154で、要素情報がテクスチャ情報であると判定された場合、処理はステップS155に進み、要素ヘッダ情報設定部623は、デプス情報とテクスチャ情報の解像度違いに対応するため、テクスチャ情報の解像度を設定する。具体的には、要素ヘッダ情報設定部623は、テクスチャ情報の水平方向の解像度tex_div_x=(同じ階層のデプス情報のwidth/テクスチャ情報のwidth)と、垂直方向の解像度tex_div_y=(同じ階層のデプス情報のheight/テクスチャ情報のheight)とを算出する。
一方、ステップS154で、要素情報がテクスチャ情報ではない(デプス情報である)と判定された場合、要素ヘッダ情報設定処理は終了し、図45に戻る。
(補助ヘッダ情報設定処理の説明)
図47は、図46のステップS153で実行される補助ヘッダ情報設定処理の詳細を説明するフローチャートである。
図47は、図46のステップS153で実行される補助ヘッダ情報設定処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS171において、要素ヘッダ情報設定部623は、InfoTypeが”DiffLayerAux”であるかを判定する。
ステップS171で、InfoTypeが”DiffLayerAux”であると判定された場合、処理はステップS172に進み、要素ヘッダ情報設定部623は、異階層補助ヘッダ情報を設定する。具体的には、要素ヘッダ情報設定部623は、補助情報の情報種別を示すAuxInfoType、補助情報に対応するデプス情報が格納されている階層を示すAuxDepLayerID、及び、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoIDを設定する。
そして、ステップS173において、要素ヘッダ情報設定部623は、デプス情報と補助情報の解像度違いに対応するため、補助情報の解像度を設定する。具体的には、要素ヘッダ情報設定部623は、補助情報の水平方向の解像度aux_div_x=(デプス情報のwidth/補助情報のwidth)と、垂直方向の解像度aux_div_y=(デプス情報のheight/補助情報のheight)とを算出する。ステップS173の処理が終了すると、処理は図46に戻る。
一方、ステップS171で、InfoTypeが”DiffLayerAux”ではないと判定された場合、処理はステップS174に進み、要素ヘッダ情報設定部623は、InfoTypeが” SameLayerAux”であるかを判定する。
ステップS174で、InfoTypeが” SameLayerAux”であると判定された場合、処理はステップS175に進み、要素ヘッダ情報設定部623は、同階層補助ヘッダ情報を設定する。具体的には、要素ヘッダ情報設定部623は、補助情報の情報種別を示すAuxInfoType、及び、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoIDを設定する。
そして、ステップS176において、要素ヘッダ情報設定部623は、デプス情報と補助情報の解像度違いに対応するため、補助情報の解像度を設定する。具体的には、要素ヘッダ情報設定部623は、補助情報の水平方向の解像度aux_div_x=(デプス情報のwidth/補助情報のwidth)と、垂直方向の解像度aux_div_y=(デプス情報のheight/補助情報のheight)とを算出する。ステップS176の処理が終了すると、処理は図46に戻る。
一方、ステップS174で、InfoTypeが” SameLayerAux”ではないと判定された場合、処理はステップS177に進み、要素ヘッダ情報設定部623は、InfoTypeが”DepAux”であるかを判定する。
ステップS177で、InfoTypeが”DepAux”ではないと判定された場合、処理は図46の要素ヘッダ情報設定処理に戻る。
一方、ステップS177で、InfoTypeが”DepAux”であると判定された場合、処理はステップS178に進み、要素ヘッダ情報設定部623は、YUV補助ヘッダ情報を設定するYUV補助ヘッダ情報設定処理を実行し、その後、図46に戻る。
(YUV補助ヘッダ情報設定処理の説明)
図48は、図47のステップS178で実行されるYUV補助ヘッダ情報設定処理の詳細を説明するフローチャートである。
図48は、図47のステップS178で実行されるYUV補助ヘッダ情報設定処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS191において、要素ヘッダ情報設定部623は、第n階層のm番目の要素情報に含まれる補助情報の数を表すAuxInfoNumを設定する。
ステップS192において、要素ヘッダ情報設定部623は、補助情報の数をカウントする変数iを0に設定する。
ステップS193において、要素ヘッダ情報設定部623は、補助情報の情報種別を示すAuxInfoType、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoID、及び、補助情報が格納されているYUVフォーマットの場所を示すDepthAuxTypeを設定する。
ステップS194において、要素ヘッダ情報設定部623は、DepthAuxTypeが“CbCr”であるかを判定する。
ステップS194で、DepthAuxTypeが“CbCr”であると判定された場合、処理はステップS195に進み、要素ヘッダ情報設定部623は、“CbCr”成分への格納に対応する補助情報の解像度を設定する。具体的には、要素ヘッダ情報設定部623は、水平方向の解像度aux_div_x=2、垂直方向の解像度aux_div_y=1を設定する。
一方、ステップS194で、DepthAuxTypeが“CbCr”ではない、即ち、DepthAuxTypeが“Cb”または“Cr”であると判定された場合、処理はステップS196に進み、要素ヘッダ情報設定部623は、“Cb”または“Cr”成分への格納に対応する補助情報の解像度を設定する。具体的には、要素ヘッダ情報設定部623は、水平方向の解像度aux_div_x=2、垂直方向の解像度aux_div_y=2を設定する。
そして、ステップS195またはS196の後、ステップS197において、要素ヘッダ情報設定部623は、補助情報の数をカウントする変数iが(AuxInfoNum-1)と等しいかを判定する。
ステップS197で、変数iが(AuxInfoNum-1)と等しくないと判定された場合、処理はステップS198に進み、変数iが1だけインクリメントされた後、処理がステップS193に戻される。その後、ステップS193乃至S197が再度実行される。
一方、ステップS197で、変数iが(AuxInfoNum-1)と等しいと判定された場合、処理は図47に戻る。
(要素情報保存処理の説明)
図49は、図45のステップS127で実行される要素情報保存処理の詳細を説明するフローチャートである。
図49は、図45のステップS127で実行される要素情報保存処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS211において、要素情報設定部624は、InfoTypeが”Tex”であるかを判定する。
ステップS211で、InfoTypeが”Tex”であると判定された場合、処理はステップS212に進み、要素情報設定部624は、符号化バッファに要素情報としてのテクスチャ画像を保存する。
一方、ステップS211で、InfoTypeが”Tex”ではないと判定された場合、処理はステップS213に進み、要素情報設定部624は、InfoTypeが”Dep”であるかを判定する。
ステップS213で、InfoTypeが”Dep”であると判定された場合、処理はステップS214に進み、要素情報設定部624は、符号化バッファに要素情報としてのデプス画像を保存する。
一方、ステップS213で、InfoTypeが”Dep”ではないと判定された場合、処理はステップS215に進み、要素情報設定部624は、InfoTypeが”SameLayerAux”かまたは”DiffLayerAux”であるかを判定する。
ステップS215で、InfoTypeが”SameLayerAux”かまたは”DiffLayerAux”であると判定された場合、処理はステップS216に進み、要素情報設定部624は、符号化バッファに要素情報としての補助情報を保存する。
一方、ステップS215で、InfoTypeが”SameLayerAux”及び”DiffLayerAux”のいずれでもないと判定された場合、処理はステップS217に進み、要素情報設定部624は、InfoTypeが” DepAux”であるかを判定する。
ステップS217で、InfoTypeが”DepAux”ではないと判定された場合、処理は図45に戻る。
一方、ステップS217で、InfoTypeが”DepAux”であると判定された場合、処理はステップS218に進み、要素情報設定部624は、符号化バッファのY成分に、デプス画像を保存する。
ステップS219において、要素情報設定部624は、デプス画像に含まれる補助情報の個数をカウントする変数cを0に設定する。
ステップS220において、要素情報設定部624は、符号化バッファのDepthAuxType成分に、c番目の補助情報を保存する。
ステップS221において、要素情報設定部624は、補助情報の個数をカウントする変数cが、(AuxInfoNum-1)と等しいかを判定する。
ステップS221で、変数cが(AuxInfoNum-1)と等しくないと判定された場合、処理はステップS222に進み、変数cが1だけインクリメントされた後、処理がステップS220に戻される。その後、ステップS220及びS221が再度実行される。
一方、ステップS221で、変数cが(AuxInfoNum-1)と等しいと判定された場合、処理は図45に戻る。
以上のようにして、コンテンツサーバ12は、各階層のテクスチャ情報とデプス情報に対して、補助情報を付加した伝送情報を生成し、伝送することができる。これにより、伝送情報を受け取る側の装置では、補助情報を用いて、画質を向上させたり、機能を向上させた表示画像の生成が可能となる。
(ホームサーバ)
次に、画像表示システムの第2実施の形態におけるホームサーバ13側の構成について説明する。
次に、画像表示システムの第2実施の形態におけるホームサーバ13側の構成について説明する。
第2実施の形態においては、図19のホームサーバ13の受け取り部231は、コンテンツサーバ12から伝送されてくる6つの面の伝送情報とメタデータを受け取り、ストレージ232に記憶させる。伝送情報には、少なくとも第1レイヤと第2レイヤの2層のテクスチャ情報及びデプス情報と、少なくとも1層のテクスチャ情報及びデプス情報に対する補助情報が含まれる。
図19のホームサーバ13の視線検出部234は、視聴位置および視線方向に応じて、6つの面のなかから選択面として3つの面を決定し、3つの面に対応する伝送情報をストレージ232から読み出し、ML3Dモデル生成部235乃至237に供給する。
(ML3Dモデル生成部の構成例)
図50は、画像表示システムの第2実施の形態におけるML3Dモデル生成部235の構成例を示すブロック図である。
図50は、画像表示システムの第2実施の形態におけるML3Dモデル生成部235の構成例を示すブロック図である。
図19で示した第1の実施の形態と比較すると、第2実施の形態におけるML3Dモデル生成部235は、伝送情報解析部651が新たに追加されるとともに、デコーダ251、253、257及び259が省略された構成を有している。ただし、デコーダ251、253、257及び259と同様の機能を有するデコーダ651Aが、伝送情報解析部651に含まれている。
伝送情報解析部651には、図19の視線検出部234から、6つの面のなかから選択面に決定された所定の面の伝送情報が供給される。
伝送情報解析部651は、供給された伝送情報に含まれる伝送ヘッダ情報、階層ヘッダ情報、及び要素ヘッダ情報を解析するとともに、要素情報を復号し、テクスチャ情報、デプス情報、または補助情報を取得する。
復号された要素情報が第1レイヤのテクスチャ画像である場合には、伝送情報解析部651は、その第1レイヤのテクスチャ画像をRGB変換部252に供給する。復号された要素情報が第1レイヤのデプス画像である場合には、伝送情報解析部651は、その第1レイヤのデプス画像をデプス変換部254に供給する。
復号された要素情報が第2レイヤのテクスチャ画像である場合には、伝送情報解析部651は、その第2レイヤのテクスチャ画像をRGB変換部258に供給する。復号された要素情報が第2レイヤのデプス画像である場合には、伝送情報解析部651は、その第2レイヤのデプス画像をデプス変換部260に供給する。
復号された要素情報が補助情報である場合には、伝送情報解析部651は、その補助情報をRGB変換部252、デプス変換部254、RGB変換部258、デプス変換部260、3Dモデル生成部256、3Dモデル生成部262、または、描画部239(図19)に供給する。
即ち、伝送情報解析部651は、補助情報が各レイヤの3次元データの生成に用いられる情報である場合には、その補助情報を、対応するレイヤの3Dモデル生成部256または3Dモデル生成部262に供給する。また、補助情報が表示画像の生成に用いられる情報である場合には、伝送情報解析部651は、その補助情報を描画部239(図19)に供給する。あるいはまた、補助情報がテクスチャ画像に関する情報である場合には、その補助情報がRGB変換部252若しくはRGB変換部258の一方または両方に供給され、補助情報がデプス画像に関する情報である場合には、その補助情報がデプス変換部254若しくはデプス変換部260の一方または両方に供給される。
ML3Dモデル生成部236及び237の構成も、ML3Dモデル生成部235の構成と同様である。
(伝送情報解析部の構成例)
図51は、図50の伝送情報解析部651の構成例を示すブロック図である。
図51は、図50の伝送情報解析部651の構成例を示すブロック図である。
伝送情報解析部651は、伝送ヘッダ情報解析部671、階層ヘッダ情報解析部672、要素ヘッダ情報解析部673、要素情報復号部674、及び要素情報分配部675により構成される。
伝送ヘッダ情報解析部671は、伝送情報単位のヘッダ情報である伝送ヘッダ情報を解析する。具体的には、伝送ヘッダ情報解析部671は、伝送情報に含まれる階層の数を表すMaxLayerNumを取り出す。
階層ヘッダ情報解析部672は、階層伝送情報単位のヘッダ情報である階層ヘッダ情報を解析する。具体的には、階層ヘッダ情報解析部672は、第何層の階層伝送情報であるかを示すThisLayerID、その階層で伝送されるテクスチャ情報の数を表すMaxTexInfoNum、その階層で伝送されるデプス情報の数を表すMaxDepInfoNum、及び、その階層で伝送される補助情報の数を表すMaxAuxInfoNumを取り出す。
要素ヘッダ情報解析部673は、要素情報単位のヘッダ情報である要素ヘッダ情報を解析する。具体的には、要素ヘッダ情報解析部673は、共通要素ヘッダ情報を取り出す。また、要素ヘッダ情報解析部673は、InfoTypeが”SameLayerAux”,”DiffLayerAux”、または、”DepAux”である場合には、そのInfoTypeに対応する同階層補助ヘッダ情報、異階層補助ヘッダ情報、または、YUV補助ヘッダ情報も取り出す。
要素情報復号部674は、図50のデコーダ651Aに対応し、伝送情報に符号化された状態で格納されている要素情報を復号し、その結果得られるテクスチャ情報、デプス情報、または、補助情報を要素情報分配部675に供給する。
要素情報分配部675は、要素情報復号部674から供給された要素情報としてのテクスチャ情報、デプス情報、または、補助情報を、RGB変換部252、デプス変換部254、RGB変換部258、デプス変換部260、3Dモデル生成部256、3Dモデル生成部262、描画部239など、所定の供給先に供給する。
(伝送情報解析処理の説明)
図52は、図50の伝送情報解析部651による伝送情報解析処理を説明するフローチャートである。
図52は、図50の伝送情報解析部651による伝送情報解析処理を説明するフローチャートである。
初めに、ステップS321において、伝送情報解析部651は、視線検出部234から供給される、6つの面のなかから選択面に決定された所定の面の伝送情報を取得する。取得された伝送情報は、図29乃至図31を参照して説明したいずれかの構造でパッケージ化されている。
ステップS322において、伝送情報解析部651は、階層数をカウントする変数nを0に設定する。
ステップS323において、伝送ヘッダ情報解析部671は、伝送ヘッダ情報を解析する。具体的には、伝送ヘッダ情報解析部671は、伝送情報に含まれる階層の数を表すMaxLayerNumを取り出す。
ステップS324において、階層ヘッダ情報解析部672は、第n階層の階層ヘッダ情報を解析する。具体的には、階層ヘッダ情報解析部672は、第n階層について、第何層の階層伝送情報であるかを示すThisLayerID、その階層で伝送されるテクスチャ情報の数を表すMaxTexInfoNum、その階層で伝送されるデプス情報の数を表すMaxDepInfoNum、及び、その階層で伝送される補助情報の数を表すMaxAuxInfoNumを取り出す。
ステップS325において、要素ヘッダ情報解析部673は、第n階層に含まれる要素情報をカウントする変数mを0に設定する。
ステップS326において、要素ヘッダ情報解析部673は、第n階層に含まれるm番目の要素情報の要素ヘッダ情報を解析する要素ヘッダ情報解析処理を実行する。この処理の詳細は、図53のフローチャートを参照して後述する。
ステップS327において、要素情報復号部674は、第n階層に含まれるm番目の要素情報として圧縮符号化された状態で格納されている要素情報を復号する。
ステップS328において、要素情報分配部675は、ステップS327の処理によって復号して得られたテクスチャ情報、デプス情報、または、補助情報を所定の供給先に供給する要素情報分配処理を実行する。この処理の詳細は、図56のフローチャートを参照して後述する。
ステップS329において、伝送情報解析部651は、要素情報をカウントする変数mが、第n階層で伝送されてきた要素情報の個数、即ち、(MaxTexInfoNum+MaxDepInfoNum+MaxAuxInfoNum-1)の値と等しいかを判定する。
ステップS329で、変数mが第n階層で伝送されてきた要素情報の個数と等しくないと判定された場合、処理はステップS330に進み、要素情報をカウントする変数mが1だけインクリメントされた後、処理がステップS326に戻される。その後、ステップS326乃至S329が再度実行される。
一方、ステップS329で、変数mが第n階層で伝送されてきた要素情報の個数と等しいと判定された場合、処理はステップS331に進み、伝送情報解析部651は、階層数をカウントする変数nが、伝送情報に含まれる階層数、即ち、(MaxLayerNum-1)と等しいかを判定する。
ステップS331で、変数nが伝送情報に含まれる階層数と等しくないと判定された場合、処理はステップS332に進み、変数nが1だけインクリメントされた後、処理がステップS324に戻される。その後、ステップS324乃至S331が再度実行される。
一方、ステップS331で、変数nが伝送情報に含まれる階層数と等しいと判定された場合、伝送情報生成部602による伝送情報生成処理が終了する。
(要素ヘッダ情報解析処理の説明)
図53は、図52のステップS326で実行される要素ヘッダ情報解析処理の詳細を説明するフローチャートである。
図53は、図52のステップS326で実行される要素ヘッダ情報解析処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS351において、要素ヘッダ情報解析部673は、共通要素ヘッダ情報を取り出す。即ち、要素ヘッダ情報解析部673は、要素情報の水平方向の解像度を表すWidth、要素情報の垂直方向の解像度を表すHeight、要素情報が第何層の情報であるかを示すLayerID、階層内の先頭から、その階層で何番目の要素情報であるかを示すInfoID、及び、”Tex”,”Dep”,”SameLayerAux”,”DiffLayerAux”,”DepAux”のどの情報であるかを示すInfoTypeを取り出す。
ステップS352において、要素ヘッダ情報解析部673は、要素情報が補助情報を含むものであるか、即ち、InfoTypeが”SameLayerAux”,”DiffLayerAux”、または、”DepAux”であるかを判定する。
ステップS352で、要素情報が補助情報を含むものであると判定された場合、処理はステップS353に進み、要素ヘッダ情報解析部673は、補助ヘッダ情報を解析する補助ヘッダ情報解析処理を実行する。
一方、ステップS352で、要素情報が補助情報を含むものではない、即ち、要素情報がテクスチャ情報かまたはデプス情報であると判定された場合、処理はステップS354に進み、要素ヘッダ情報解析部673は、要素情報がテクスチャ情報であるか、即ち、InfoTypeが”Tex”であるかを判定する。
ステップS354で、要素情報がテクスチャ情報であると判定された場合、処理はステップS355に進み、要素ヘッダ情報解析部673は、デプス情報とテクスチャ情報の解像度違いに対応するため、テクスチャ情報の解像度を設定する。具体的には、要素ヘッダ情報解析部673は、テクスチャ情報の水平方向の解像度tex_div_x=(同じ階層のデプス情報のwidth/テクスチャ情報のwidth)と、垂直方向の解像度tex_div_y=(同じ階層のデプス情報のheight/テクスチャ情報のheight)とを算出する。
一方、ステップS354で、要素情報がテクスチャ情報ではない(デプス情報である)と判定された場合、要素ヘッダ情報解析処理は終了し、図52に戻る。
(補助ヘッダ情報解析処理の説明)
図54は、図53のステップS353で実行される補助ヘッダ情報解析処理の詳細を説明するフローチャートである。
図54は、図53のステップS353で実行される補助ヘッダ情報解析処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS371において、要素ヘッダ情報解析部673は、InfoTypeが”DiffLayerAux”であるかを判定する。
ステップS371で、InfoTypeが”DiffLayerAux”であると判定された場合、処理はステップS372に進み、要素ヘッダ情報解析部673は、異階層補助ヘッダ情報を解析する。具体的には、要素ヘッダ情報解析部673は、補助情報の情報種別を示すAuxInfoType、補助情報に対応するデプス情報が格納されている階層を示すAuxDepLayerID、及び、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoIDを取り出す。
そして、ステップS373において、要素ヘッダ情報解析部673は、デプス情報と補助情報の解像度違いに対応するため、補助情報の解像度を設定する。具体的には、要素ヘッダ情報解析部673は、補助情報の水平方向の解像度aux_div_x=(デプス情報のwidth/補助情報のwidth)と、垂直方向の解像度aux_div_y=(デプス情報のheight/補助情報のheight)とを算出する。ステップS373の処理が終了すると、処理は図53に戻る。
一方、ステップS371で、InfoTypeが”DiffLayerAux”ではないと判定された場合、処理はステップS374に進み、要素ヘッダ情報解析部673は、InfoTypeが” SameLayerAux”であるかを判定する。
ステップS374で、InfoTypeが” SameLayerAux”であると判定された場合、処理はステップS375に進み、要素ヘッダ情報解析部673は、同階層補助ヘッダ情報を解析する。具体的には、要素ヘッダ情報解析部673は、補助情報の情報種別を示すAuxInfoType、及び、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoIDを取り出す。
そして、ステップS376において、要素ヘッダ情報解析部673は、デプス情報と補助情報の解像度違いに対応するため、補助情報の解像度を設定する。具体的には、要素ヘッダ情報解析部673は、補助情報の水平方向の解像度aux_div_x=(デプス情報のwidth/補助情報のwidth)と、垂直方向の解像度aux_div_y=(デプス情報のheight/補助情報のheight)とを算出する。ステップS376の処理が終了すると、処理は図53に戻る。
一方、ステップS374で、InfoTypeが” SameLayerAux”ではないと判定された場合、処理はステップS377に進み、要素ヘッダ情報解析部673は、InfoTypeが”DepAux”であるかを判定する。
ステップS377で、InfoTypeが”DepAux”ではないと判定された場合、処理は図53の要素ヘッダ情報解析処理に戻る。
一方、ステップS377で、InfoTypeが”DepAux”であると判定された場合、処理はステップS378に進み、要素ヘッダ情報解析部673は、YUV補助ヘッダ情報を解析するYUV補助ヘッダ情報解析処理を実行し、その後、図53に戻る。
(YUV補助ヘッダ情報解析処理の説明)
図55は、図54のステップS378で実行されるYUV補助ヘッダ情報解析処理の詳細を説明するフローチャートである。
図55は、図54のステップS378で実行されるYUV補助ヘッダ情報解析処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS391において、要素ヘッダ情報解析部673は、第n階層のm番目の要素情報に含まれる補助情報の数を表すAuxInfoNumを取り出す。
ステップS392において、要素ヘッダ情報解析部673は、補助情報の数をカウントする変数iを0に設定する。
ステップS393において、要素ヘッダ情報解析部673は、補助情報の情報種別を示すAuxInfoType、補助情報がその階層で何番目の補助情報であるかを示すAuxInfoID、及び、補助情報が格納されているYUVフォーマットの場所を示すDepthAuxTypeを取り出す。
ステップS394において、要素ヘッダ情報解析部673は、DepthAuxTypeが“CbCr”であるかを判定する。
ステップS394で、DepthAuxTypeが“CbCr”であると判定された場合、処理はステップS395に進み、要素ヘッダ情報解析部673は、“CbCr”成分への格納に対応する補助情報の解像度を設定する。具体的には、要素ヘッダ情報解析部673は、水平方向の解像度aux_div_x=2、垂直方向の解像度aux_div_y=1を設定する。
一方、ステップS394で、DepthAuxTypeが“CbCr”ではない、即ち、DepthAuxTypeが“Cb”または“Cr”であると判定された場合、処理はステップS396に進み、要素ヘッダ情報解析部673は、“Cb”または“Cr”成分への格納に対応する補助情報の解像度を設定する。具体的には、要素ヘッダ情報解析部673は、水平方向の解像度aux_div_x=2、垂直方向の解像度aux_div_y=2を設定する。
そして、ステップS395またはS396の後、ステップS397において、要素ヘッダ情報解析部673は、補助情報の数をカウントする変数iが(AuxInfoNum-1)と等しいかを判定する。
ステップS397で、変数iが(AuxInfoNum-1)と等しくないと判定された場合、処理はステップS398に進み、変数iが1だけインクリメントされた後、処理がステップS393に戻される。その後、ステップS393乃至S397が再度実行される。
一方、ステップS397で、変数iが(AuxInfoNum-1)と等しいと判定された場合、処理は図54に戻る。
(要素情報分配処理の説明)
図56は、図52のステップS328で実行される要素情報分配処理の詳細を説明するフローチャートである。
図56は、図52のステップS328で実行される要素情報分配処理の詳細を説明するフローチャートである。
この処理では、初めに、ステップS411において、要素情報分配部675は、InfoTypeが”Tex”であるかを判定する。
ステップS411で、InfoTypeが”Tex”であると判定された場合、処理はステップS412に進み、要素情報分配部675は、復号の結果得られたテクスチャ画像をRGB変換部252若しくは258の一方または両方に供給する。
一方、ステップS411で、InfoTypeが”Tex”ではないと判定された場合、処理はステップS413に進み、要素情報分配部675は、InfoTypeが”Dep”であるかを判定する。
ステップS413で、InfoTypeが”Dep”であると判定された場合、処理はステップS414に進み、要素情報分配部675は、復号の結果得られたデプス画像をデプス変換部254若しくは260の一方または両方に供給する。
一方、ステップS413で、InfoTypeが”Dep”ではないと判定された場合、処理はステップS415に進み、要素情報分配部675は、InfoTypeが”SameLayerAux”かまたは”DiffLayerAux”であるかを判定する。
ステップS415で、InfoTypeが”SameLayerAux”かまたは”DiffLayerAux”であると判定された場合、要素情報分配部675は、復号の結果得られた補助情報を所定の供給先に供給する。
一方、ステップS415で、InfoTypeが”SameLayerAux”及び”DiffLayerAux”のいずれでもないと判定された場合、処理はステップS417に進み、要素情報分配部675は、InfoTypeが”DepAux”であるかを判定する。
ステップS417で、InfoTypeが”DepAux”ではないと判定された場合、処理は図52に戻る。
一方、ステップS417で、InfoTypeが”DepAux”であると判定された場合、処理はステップS418に進み、要素情報分配部675は、YUVフォーマットのY成分を復号して得られたデプス画像をデプス変換部254若しくは260の一方または両方に供給する。
ステップS419において、要素情報分配部675は、デプス画像に含まれる補助情報の個数をカウントする変数cを0に設定する。
ステップS420において、要素情報分配部675は、YUVフォーマットのDepthAuxType成分を復号して得られた補助情報を、所定の供給先に供給する。
ステップS421において、要素情報分配部675は、補助情報の個数をカウントする変数cが、(AuxInfoNum-1)と等しいかを判定する。
ステップS421で、変数cが(AuxInfoNum-1)と等しくないと判定された場合、処理はステップS422に進み、変数cが1だけインクリメントされた後、処理がステップS420に戻される。その後、ステップS420及びS421が再度実行される。
一方、ステップS421で、変数cが(AuxInfoNum-1)と等しいと判定された場合、処理は図52に戻る。
以上のようにして、ホームサーバ13は、各階層のテクスチャ情報とデプス情報に対して補助情報が付加された伝送情報を受け取り、補助情報を必要とする所定の供給先へ供給することができる。これにより、ホームサーバ13は、補助情報を用いて、画質を向上させたり、機能を向上させた表示画像の生成が可能となる。
(補助情報の具体例)
次に、補助情報の具体例について説明する。
次に、補助情報の具体例について説明する。
図57は、補助情報の利用に関する機能ブロック図である。
補助情報利用部701には、第1レイヤテクスチャストリームを復号して得られた第1レイヤのテクスチャ画像、第1レイヤデプスストリームを復号して得られた第1レイヤのデプス画像、第2レイヤテクスチャストリームを復号して得られた第2レイヤのテクスチャ画像、及び、第2レイヤデプスストリームを復号して得られた第2レイヤのデプス画像が供給される。また、補助情報利用部701には、圧縮符号化された補助情報を復号して得られた補助情報も供給される。なお、補助情報がYUVフォーマットのCbCr成分に格納されている場合には、デプスストリームを復号することによって、補助情報が得られる。
補助情報利用部701は、第1レイヤのテクスチャ画像(テクスチャ情報)とデプス画像(デプス情報)及び第2レイヤのテクスチャ画像(テクスチャ情報)とデプス画像(デプス情報)の少なくとも1つに対して、補助情報を用いた所定の画像処理を実行する。
この補助情報利用部701は、補助情報の種類に応じて、上述した伝送情報解析部651、RGB変換部252、デプス変換部254、RGB変換部258、デプス変換部260、3Dモデル生成部256、3Dモデル生成部262、または、描画部239のいずれかに相当する。
図58は、補助情報の具体的な例と、その補助情報を用いた画像処理の内容を示している。
例えば、補助情報は、テクスチャデータ(テクスチャ画像)が有する色情報よりも高域成分を表す色の高域情報とすることができる。この場合、補助情報利用部701は、テクスチャデータと補助情報の高域成分の色情報を用いて高画質なデータを生成して表示することができる。例えば、テクスチャデータが、YUVフォーマットでCb成分及びCr成分それぞれ8ビットで表現されており、補助情報が、Cb成分及びCr成分それぞれに対する高域成分を2ビットで表している場合、補助情報利用部701は、Cb成分及びCr成分それぞれを10ビットの色情報で表現することができる。
例えば、補助情報は、ポリゴンの表裏を表現するポリゴン表裏情報とすることができる。この場合、補助情報利用部701は、カリング処理を実行する際に、表裏を表す補助情報を用いて、見ている視点の表側のテクスチャだけを表示することができる。
例えば、補助情報は、「有効領域」、「不要領域」、及び「想像領域」を識別する領域識別情報とすることができる。この補助情報は、第2レイヤ以降のレイヤのテクスチャデータに対してのみ存在する。この場合、補助情報利用部701は、補助情報が示す「有効領域」、「不要領域」、「想像領域」のフラグに応じてテクスチャデータの処理の内容を変えることができる。
例えば、補助情報は、透過率を表す透過率情報とすることができる。この場合、補助情報利用部701は、テクスチャデータとデプスデータに対して透過率を表す補助情報を用いて、半透明な物体を表現する表示画像を生成することができる。
例えば、補助情報は、光沢や反射の状態を表す質感情報とすることができる。この場合、補助情報利用部701は、補助情報が示す質感情報を用いて、反射モデルから計算したデータによってテクスチャデータを補正したリライティング後のテクスチャデータを生成して表示することができる。
例えば、補助情報は、テクスチャデータのなかで優先度の高い領域を示す優先度情報とすることができる。この場合、補助情報利用部701は、補助情報を用いて、ユーザに注視して欲しい領域をユーザに提示して誘導することができる。
例えば、補助情報は、テクスチャデータの視野範囲内の温度を示す温度情報とすることができる。この場合、補助情報利用部701は、テクスチャ画像に、温度データを重ねて可視化表示することができる。
(補助情報が高域情報である場合の例)
図59は、補助情報が高域情報である場合の補助情報利用部701による補助情報利用処理を説明するフローチャートである。
図59は、補助情報が高域情報である場合の補助情報利用部701による補助情報利用処理を説明するフローチャートである。
初めに、ステップS441において、補助情報利用部701は、補助情報として付加されてきた高域情報があるかを判定する。
ステップS441で、補助情報として付加されてきた高域情報がないと判定された場合、ステップS442の処理はスキップされ、補助情報を用いた処理は行われない。
一方、ステップS441で、補助情報として付加されてきた高域情報があると判定された場合、補助情報利用部701は、補助情報を用いて、テクスチャデータとして伝送されてきた8ビットのCb成分及びCr成分の色情報を、10ビットのCb成分及びCr成分の色情報に変換して出力する。
これにより、8ビットの色情報表現ではつぶれて表現できない色の変化を表現することができるようになる。
図60は、全天球画像の第1の視点から第2の視点に視点を移動したときの画素値の変化を示す図である。
図60に示される全天球画像に対して、視野範囲T1を有する表示視点V11と視野範囲T2を有する表示視点V12とがある。
全天球画像の下段のグラフにおいて、横軸は表示視点を表し、縦軸は各表示視点の全天球画像の画素値を表す。
図60の例では、表示視点V11の全天球画像の画素値の最小値と最大値の範囲は、範囲D1である。また、表示視点V12の全天球画像の画素値の最小値と最大値の範囲は、範囲D2(D1<D2)である。
この場合、表示視点が表示視点V11から表示視点V12に変更されるとき、表示画像画素値の最小値と最大値の範囲は、範囲D1から範囲D2へ段階的に移行される。一方、表示視点が表示視点V12から表示視点V11に変更されるとき、表示画像画素値の最小値と最大値の範囲は、範囲D2から範囲D1へ段階的に移行される。
従って、時間の経過とともに最適な値域に変更するので、表示画像の画素値の最小値と最大値の範囲が、範囲D1から範囲D2に急激に変化する場合に比べて、視聴者は、眼を徐々に順応させることができる。
補助情報として高域情報があると、特に表示画像画素値の最小値と最大値の範囲が広い範囲D2であるような場合に、より微細な変化を表現することができ、高画質な表示が可能となる。
補助情報が高域情報である場合、復号後のテクスチャ画像の各画素の画素値としてのYCbCr値に対してビット拡張(高域拡張)処理を行うので、補助情報利用部701は、伝送情報解析部651に相当する。
(補助情報がポリゴン表裏情報である場合の例)
図61及び図62は、補助情報がポリゴン表裏情報である場合の画像処理例を説明する図である。
図61及び図62は、補助情報がポリゴン表裏情報である場合の画像処理例を説明する図である。
ポリゴンには表裏(法線)が存在するが、図61のAに示されるように、第1レイヤのテクスチャ画像及びデプス画像、第2レイヤのテクスチャ画像及びデプス画像に対して、表または裏が補助情報で表現される。この補助情報を用いてカリング処理を行うことで、図61のBに示されるように、矢印の方向から本来見えない第2レイヤの裏のオブジェクトを表示させないようにすることができ、表裏で繋がっていないポリゴンの表示が正しくなる。第2レイヤの表示を行う場合にもおかしいことが起きなくなる。
補助情報としてのポリゴン表裏情報は、例えば、YUVフォーマットのCb成分及びCr成分に格納して伝送することができるので、汎用的なデコーダでも伝送可能である。
ポリゴン表裏情報は、“0”が表を表し、“1”が裏を表す1ビットの信号で表現することができる。ポリゴン表裏情報は、図62に示されるように、テクスチャ画像のサンプリング点である各点721に対して、右下に位置する2つの三角形パッチ722の表裏を表現するものとする。オイラーの公式によれば、(頂点の数-辺の数+面の数)=2となるので、面(三角形パッチ722)の数は、頂点(点721)の数のおよそ2倍になる。従って、上述のように、1つの点721に対して、2つの三角形パッチ722の表裏を割り当てることで、補助情報の数は画素数と同じとなり、YUVフォーマットのCb成分及びCr成分に格納して伝送することができる。
補助情報がポリゴン表裏情報である場合、補助情報利用部701は、第1レイヤのテクスチャ画像及びデプス画像と第2レイヤのテクスチャ画像及びデプス画像とを用いて三角形パッチ描画を行う描画部239に相当する。
(補助情報が領域識別情報である場合の例)
図63及び図64は、補助情報が領域識別情報である場合の画像処理例を説明する図である。
図63及び図64は、補助情報が領域識別情報である場合の画像処理例を説明する図である。
図11を参照して説明したように、第2レイヤのテクスチャ画像は、有効領域、不要領域、想像領域の3つの領域に区分することができる。この3つの領域を識別する領域識別情報を、補助情報として設定し、付加することができる。
描画部239が、第1レイヤのテクスチャ画像及び第2レイヤのテクスチャ画像を用いて、第1レイヤの視点から少しずれた視点から、透視投影(マッピング)を行う場合、図63に示されるように、想像領域が見えてしまう。
従って、補助情報としての領域識別情報がない場合には、第2レイヤのテクスチャ画像において、有効領域と想像領域の識別ができないので、想像領域のデータが使用されてしまうことになる。
一方、補助情報としての領域識別情報がある場合、第2レイヤのテクスチャ画像において、図64に示されるように、その領域が想像領域であることが分かるので、隣接する有効領域の画素値を利用することで、より確かな表示を行うことができる。
また、不要領域はオクルージョンがそもそも発生しない領域であるので、第1レイヤのテクスチャ画像を優先的に使用すればよい。従って、領域識別情報によって、第2のレイヤの不要領域が識別できることで、第1レイヤと第2レイヤのどちらを優先して使用すればよいかが分かるようになる。
補助情報としての領域識別情報は、有効領域、不要領域、想像領域の3つを表現できればよいので、ビット数は2ビットあればよい。2ビットの補助情報は、YUVフォーマットのCb成分及びCr成分に格納して伝送してもよいし、同一階層または異階層の補助情報として付加して伝送してもよい。
補助情報が領域識別情報である場合、補助情報利用部701は、第1レイヤのテクスチャ画像及びデプス画像と第2レイヤのテクスチャ画像及びデプス画像とを用いて三角形パッチ描画を行う描画部239に相当する。
(ヘッダ情報の他の格納例)
第2実施の形態における上述した説明においては、ヘッダ情報が第1及び第2レイヤのテクスチャ画像及びデプス画像のビットストリームとは別に伝送される場合について説明した。
第2実施の形態における上述した説明においては、ヘッダ情報が第1及び第2レイヤのテクスチャ画像及びデプス画像のビットストリームとは別に伝送される場合について説明した。
しかしながら、ヘッダ情報は、例えば、HEVC(High Efficiency Video Coding)方式で符号化したビットストリームのUser data unregistered SEI (Supplemental Enhancement Information)に格納するなど、ビットストリームに含めて伝送してもよい。
<3.第3実施の形態>
(画像表示システムの第3実施の形態の構成例)
図65は、本開示を適用した画像表示システムの第3実施の形態の構成例を示すブロック図である。
(画像表示システムの第3実施の形態の構成例)
図65は、本開示を適用した画像表示システムの第3実施の形態の構成例を示すブロック図である。
図65に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図65の画像表示システム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に伝送する。
<4.テクスチャ画像の他の例>
図66は、第1レイヤのテクスチャ画像の他の例を示す図である。
図66は、第1レイヤのテクスチャ画像の他の例を示す図である。
上述した説明では、第1レイヤの各面のテクスチャ画像は、1つの視点Oのテクスチャ画像であったが、視点Oに対応する左目用の視点と右目用の視点のテクスチャ画像が合成されたものであってもよい。
具体的には、図66のAに示すように、第1レイヤの各面のテクスチャ画像は、例えば、視点Oに対応する左目用の視点の第1レイヤの各面のテクスチャ画像421と、右目用の視点の第1レイヤの各面のテクスチャ画像422が、横方向(水平方向)にパッキングされたパッキング画像420であってもよい。
また、図66のBに示すように、第1レイヤの各面のテクスチャ画像は、例えば、テクスチャ画像421とテクスチャ画像422が、縦方向(垂直方向)にパッキングされたパッキング画像440であってもよい。
同様に、第2レイヤの各面のテクスチャ画像は、その面の1つの第2レイヤの視点に対応する左目用の視点の第2レイヤのテクスチャ画像と、右目用の視点の第2レイヤのテクスチャ画像が横方向または縦方向にパッキングされたパッキン画像であってもよい。
以上のように、第1レイヤおよび第2レイヤの各面のテクスチャ画像が左目用の視点と右目用の視点の画像をパッキングしたテクスチャ画像である場合、復号の結果得られるテクスチャ画像が、左目用の視点のテクスチャ画像と右目用の視点のテクスチャ画像に分離される。そして、第1レイヤおよび第2レイヤについて、左目用の3次元データと右目用の3次元データが生成される。
そして、視聴者の視聴方向および視聴位置に対応する左目の視聴方向および視聴位置基づいて、左目用の3次元データから左目用の表示画像が生成される。また、視聴者の視聴方向および視聴位置に対応する右目の視聴方向および視聴位置に基づいて、右目用の3次元データから右目用の表示画像が生成される。そして、ヘッドマウントディスプレイ15が3D表示可能である場合、ヘッドマウントディスプレイ15は、左目用の表示画像を左目用の画像として表示し、右目用の表示画像を右目用の画像として表示することにより、表示画像を3D表示する。
なお、第1乃至第3実施の形態では、撮影画像が正八面体にマッピングされることにより全天球画像が生成されたが、撮影画像がマッピングされる3Dモデルは、正八面体のほか、球や立方体などにすることができる。撮影画像が球にマッピングされる場合、全天球画像は、例えば、撮影画像がマッピングされた球の正距円筒図法による画像である。
また、低解像度テクスチャストリームと低解像度デプスストリームは生成されなくてもよい。第1レイヤおよび第2レイヤのデプス画像は生成されなくてもよい。また、第2レイヤのテクスチャ画像とデプス画像は、重要な被写体の撮影画像がマッピングされる一部の面に対してのみ生成されるようにしてもよい。
さらに、低解像度テクスチャ画像および低解像度デプス画像も、高解像度のテクスチャ画像およびデプス画像と同様に、階層化して生成されてもよい。
<5.第4実施の形態>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図67は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ500において、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、入力部506、出力部507、記憶部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロフォンなどよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記憶部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインタフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータ500では、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ500(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータ500では、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
なお、コンピュータ500が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<6.応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図68は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図68に示した例では、車両制御システム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を備える。図68では、統合制御ユニット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は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図69は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図69には、それぞれの撮像部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は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図68に戻って説明を続ける。車外情報検出ユニット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は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図68の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図68に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図1乃至図66を用いて説明した本実施形態に係る画像表示システム10(400)の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、図1乃至図66を用いて説明した本実施形態に係る画像表示システム10(400)は、図68に示した応用例の車両制御システム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)を、図68に示した応用例の車両制御システム7000に適用することにより、全天球画像を用いて高画質の表示画像を生成することができる。
また、図1乃至図66を用いて説明した画像表示システム10(400)の少なくとも一部の構成要素は、図68に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1乃至図66を用いて説明した画像表示システム10(400)が、図68に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本開示は以下のような構成も取ることができる。
(1)
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取る受け取り部と、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する補助情報利用部と
を備える画像処理装置。
(2)
前記第1レイヤのテクスチャ情報とデプス情報は、全天球画像のテクスチャ画像とデプス画像から構成され、
前記第2レイヤのテクスチャ情報とデプス情報は、前記第1レイヤのテクスチャ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される
前記(1)に記載の画像処理装置。
(3)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報と同一の階層に格納されている
前記(1)または(2)に記載の画像処理装置。
(4)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納されている
前記(1)または(2)に記載の画像処理装置。
(5)
前記補助情報の付加対象であるテクスチャ情報及びデプス情報を格納した階層は、参照レイヤ情報によって識別される
前記(4)に記載の画像処理装置。
(6)
前記補助情報が格納された階層には、付加対象であるデプス情報と同一のデプス情報も格納されている
前記(4)に記載の画像処理装置。
(7)
前記デプス情報は、4:2:0のYUVフォーマットのY成分に格納され、
前記補助情報は、4:2:0のYUVフォーマットのCb成分またはCr成分の少なくとも一方に格納される
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(8)
前記補助情報は、テクスチャ情報の色情報よりも高域成分を表す色の高域情報である
前記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)
前記補助情報は、ポリゴンの表裏を表現するポリゴン表裏情報である
前記(1)乃至(8)のいずれかに記載の画像処理装置。
(10)
前記補助情報は、テクスチャ情報の「有効領域」、「不要領域」、及び「想像領域」を識別する領域識別情報である
前記(1)乃至(9)のいずれかに記載の画像処理装置。
(11)
画像処理装置が、
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取り、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する
ステップを含む画像処理方法。
(12)
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成する画像生成部と、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する補助情報生成部と
を備える画像処理装置。
(13)
前記第1レイヤのテクスチャ情報とデプス情報は、全天球画像のテクスチャ画像とデプス画像から構成され、
前記第2レイヤのテクスチャ情報とデプス情報は、前記第1レイヤのテクスチャ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される
前記(12)に記載の画像処理装置。
(14)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報と同一の階層に格納されている
前記(12)または(13)に記載の画像処理装置。
(15)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納されている
前記(12)または(13)に記載の画像処理装置。
(16)
前記補助情報の付加対象であるテクスチャ情報及びデプス情報を格納した階層は、参照レイヤ情報によって識別される
前記(15)に記載の画像処理装置。
(17)
前記補助情報が格納された階層には、付加対象であるデプス情報と同一のデプス情報も格納されている
前記(15)に記載の画像処理装置。
(18)
前記デプス情報は、4:2:0のYUVフォーマットのY成分に格納され、
前記補助情報は、4:2:0のYUVフォーマットのCb成分またはCr成分の少なくとも一方に格納される
前記(12)乃至(14)のいずれかに記載の画像処理装置。
(19)
画像処理装置が、
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成し、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する
ステップを含む画像処理方法。
(1)
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取る受け取り部と、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する補助情報利用部と
を備える画像処理装置。
(2)
前記第1レイヤのテクスチャ情報とデプス情報は、全天球画像のテクスチャ画像とデプス画像から構成され、
前記第2レイヤのテクスチャ情報とデプス情報は、前記第1レイヤのテクスチャ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される
前記(1)に記載の画像処理装置。
(3)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報と同一の階層に格納されている
前記(1)または(2)に記載の画像処理装置。
(4)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納されている
前記(1)または(2)に記載の画像処理装置。
(5)
前記補助情報の付加対象であるテクスチャ情報及びデプス情報を格納した階層は、参照レイヤ情報によって識別される
前記(4)に記載の画像処理装置。
(6)
前記補助情報が格納された階層には、付加対象であるデプス情報と同一のデプス情報も格納されている
前記(4)に記載の画像処理装置。
(7)
前記デプス情報は、4:2:0のYUVフォーマットのY成分に格納され、
前記補助情報は、4:2:0のYUVフォーマットのCb成分またはCr成分の少なくとも一方に格納される
前記(1)乃至(3)のいずれかに記載の画像処理装置。
(8)
前記補助情報は、テクスチャ情報の色情報よりも高域成分を表す色の高域情報である
前記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)
前記補助情報は、ポリゴンの表裏を表現するポリゴン表裏情報である
前記(1)乃至(8)のいずれかに記載の画像処理装置。
(10)
前記補助情報は、テクスチャ情報の「有効領域」、「不要領域」、及び「想像領域」を識別する領域識別情報である
前記(1)乃至(9)のいずれかに記載の画像処理装置。
(11)
画像処理装置が、
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取り、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する
ステップを含む画像処理方法。
(12)
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成する画像生成部と、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する補助情報生成部と
を備える画像処理装置。
(13)
前記第1レイヤのテクスチャ情報とデプス情報は、全天球画像のテクスチャ画像とデプス画像から構成され、
前記第2レイヤのテクスチャ情報とデプス情報は、前記第1レイヤのテクスチャ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される
前記(12)に記載の画像処理装置。
(14)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報と同一の階層に格納されている
前記(12)または(13)に記載の画像処理装置。
(15)
前記補助情報は、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納されている
前記(12)または(13)に記載の画像処理装置。
(16)
前記補助情報の付加対象であるテクスチャ情報及びデプス情報を格納した階層は、参照レイヤ情報によって識別される
前記(15)に記載の画像処理装置。
(17)
前記補助情報が格納された階層には、付加対象であるデプス情報と同一のデプス情報も格納されている
前記(15)に記載の画像処理装置。
(18)
前記デプス情報は、4:2:0のYUVフォーマットのY成分に格納され、
前記補助情報は、4:2:0のYUVフォーマットのCb成分またはCr成分の少なくとも一方に格納される
前記(12)乃至(14)のいずれかに記載の画像処理装置。
(19)
画像処理装置が、
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成し、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する
ステップを含む画像処理方法。
12 コンテンツサーバ, 13 ホームサーバ, 34 高解像度画像処理部, 52 第1レイヤ生成部, 54 第2レイヤ生成部, 231 受け取り部, 235乃至237 ML3Dモデル生成部, 239 描画部, 262 3Dモデル生成部, 601 補助情報生成部, 602 伝送情報生成部, 621 伝送ヘッダ情報設定部, 622 階層ヘッダ情報設定部, 623 要素ヘッダ情報設定部, 624 要素情報設定部, 625 要素情報符号化部, 651 伝送情報解析部, 651A デコーダ, 671 伝送ヘッダ情報解析部, 672 階層ヘッダ情報解析部, 673 要素ヘッダ情報解析部, 674 要素情報復号部, 675 要素情報分配部, 701 補助情報利用部, 501 CPU, 502 ROM, 503 RAM, 506 入力部, 507 出力部, 508 記憶部, 509 通信部, 510 ドライブ
Claims (19)
- 第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取る受け取り部と、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する補助情報利用部と
を備える画像処理装置。 - 前記第1レイヤのテクスチャ情報とデプス情報は、全天球画像のテクスチャ画像とデプス画像から構成され、
前記第2レイヤのテクスチャ情報とデプス情報は、前記第1レイヤのテクスチャ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される
請求項1に記載の画像処理装置。 - 前記補助情報は、付加対象のテクスチャ情報及びデプス情報と同一の階層に格納されている
請求項1に記載の画像処理装置。 - 前記補助情報は、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納されている
請求項1に記載の画像処理装置。 - 前記補助情報の付加対象であるテクスチャ情報及びデプス情報を格納した階層は、参照レイヤ情報によって識別される
請求項4に記載の画像処理装置。 - 前記補助情報が格納された階層には、付加対象であるデプス情報と同一のデプス情報も格納されている
請求項4に記載の画像処理装置。 - 前記デプス情報は、4:2:0のYUVフォーマットのY成分に格納され、
前記補助情報は、4:2:0のYUVフォーマットのCb成分またはCr成分の少なくとも一方に格納される
請求項1に記載の画像処理装置。 - 前記補助情報は、テクスチャ情報の色情報よりも高域成分を表す色の高域情報である
請求項1に記載の画像処理装置。 - 前記補助情報は、ポリゴンの表裏を表現するポリゴン表裏情報である
請求項1に記載の画像処理装置。 - 前記補助情報は、テクスチャ情報の「有効領域」、「不要領域」、及び「想像領域」を識別する領域識別情報である
請求項1に記載の画像処理装置。 - 画像処理装置が、
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して補助情報が付加された伝送情報を受け取り、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに対して、前記補助情報を用いた所定の画像処理を実行する
ステップを含む画像処理方法。 - 第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成する画像生成部と、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する補助情報生成部と
を備える画像処理装置。 - 前記第1レイヤのテクスチャ情報とデプス情報は、全天球画像のテクスチャ画像とデプス画像から構成され、
前記第2レイヤのテクスチャ情報とデプス情報は、前記第1レイヤのテクスチャ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される
請求項12に記載の画像処理装置。 - 前記補助情報は、付加対象のテクスチャ情報及びデプス情報と同一の階層に格納されている
請求項12に記載の画像処理装置。 - 前記補助情報は、付加対象のテクスチャ情報及びデプス情報を格納した階層とは異なる階層に格納されている
請求項12に記載の画像処理装置。 - 前記補助情報の付加対象であるテクスチャ情報及びデプス情報を格納した階層は、参照レイヤ情報によって識別される
請求項15に記載の画像処理装置。 - 前記補助情報が格納された階層には、付加対象であるデプス情報と同一のデプス情報も格納されている
請求項15に記載の画像処理装置。 - 前記デプス情報は、4:2:0のYUVフォーマットのY成分に格納され、
前記補助情報は、4:2:0のYUVフォーマットのCb成分またはCr成分の少なくとも一方に格納される
請求項12に記載の画像処理装置。 - 画像処理装置が、
第1レイヤのテクスチャ情報とデプス情報及び第2レイヤのテクスチャ情報とデプス情報を生成し、
前記第1レイヤのテクスチャ情報とデプス情報及び前記第2レイヤのテクスチャ情報とデプス情報の少なくとも1つに付加される補助情報を生成する
ステップを含む画像処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17834073.3A EP3493160A4 (en) | 2016-07-29 | 2017-07-14 | IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD |
US16/318,189 US10991144B2 (en) | 2016-07-29 | 2017-07-14 | Image processing apparatus and image processing method |
CN201780045393.XA CN109588055A (zh) | 2016-07-29 | 2017-07-14 | 图像处理设备和图像处理方法 |
JP2018529777A JP6944134B2 (ja) | 2016-07-29 | 2017-07-14 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-149880 | 2016-07-29 | ||
JP2016149880 | 2016-07-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018021065A1 true WO2018021065A1 (ja) | 2018-02-01 |
Family
ID=61016022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/025721 WO2018021065A1 (ja) | 2016-07-29 | 2017-07-14 | 画像処理装置および画像処理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10991144B2 (ja) |
EP (1) | EP3493160A4 (ja) |
JP (1) | JP6944134B2 (ja) |
CN (1) | CN109588055A (ja) |
WO (1) | WO2018021065A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629288A1 (en) * | 2018-09-25 | 2020-04-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for detecting flying spot on edge of depth image, electronic device, and computer readable storage medium |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3493147B1 (en) * | 2016-07-29 | 2021-04-07 | Sony Corporation | Image processing device and image processing method |
WO2018025642A1 (ja) * | 2016-08-03 | 2018-02-08 | ソニー株式会社 | 画像処理装置および画像処理方法 |
JP6946963B2 (ja) * | 2017-11-17 | 2021-10-13 | 株式会社アイシン | 重畳画像表示装置及びコンピュータプログラム |
CN113076383B (zh) * | 2020-01-06 | 2023-03-21 | 阿里巴巴集团控股有限公司 | 道路数据采集车及其数据采集系统 |
WO2024179971A1 (en) * | 2023-02-27 | 2024-09-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Payload protocol for holographic communication |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010049850A1 (en) * | 2008-10-28 | 2010-05-06 | Koninklijke Philips Electronics N.V. | Generation of occlusion data for image properties |
WO2014181220A1 (en) * | 2013-05-10 | 2014-11-13 | Koninklijke Philips N.V. | Method of encoding a video data signal for use with a multi-view rendering device |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609088B1 (en) * | 1998-07-24 | 2003-08-19 | Interuniversitaire Micro-Elektronica Centrum | Method for determining an optimized memory organization of a digital device |
JP4475643B2 (ja) | 2004-06-29 | 2010-06-09 | キヤノン株式会社 | 画像符号化装置及び方法 |
US8068644B2 (en) * | 2006-03-07 | 2011-11-29 | Peter Thomas Tkacik | System for seeing using auditory feedback |
JP4759614B2 (ja) * | 2006-05-11 | 2011-08-31 | パナソニック株式会社 | 処理装置 |
CN100555334C (zh) * | 2007-06-26 | 2009-10-28 | 腾讯科技(深圳)有限公司 | 阴影绘制方法及装置 |
US8805110B2 (en) * | 2008-08-19 | 2014-08-12 | Digimarc Corporation | Methods and systems for content processing |
EP2329653B1 (en) * | 2008-08-20 | 2014-10-29 | Thomson Licensing | Refined depth map |
US8929877B2 (en) * | 2008-09-12 | 2015-01-06 | Digimarc Corporation | Methods and systems for content processing |
CA2692110C (en) * | 2009-02-11 | 2015-10-27 | Certusview Technologies, Llc | Providing a process guide to a locate technician |
KR101346982B1 (ko) * | 2010-11-08 | 2014-01-02 | 한국전자통신연구원 | 텍스쳐 영상과 깊이 영상을 추출하는 장치 및 방법 |
EP2666296A4 (en) | 2011-01-19 | 2013-12-25 | Ericsson Telefon Ab L M | INDICATION OF BITS FLOW SUBASSEMBLIES |
US9565449B2 (en) * | 2011-03-10 | 2017-02-07 | Qualcomm Incorporated | Coding multiview video plus depth content |
US8831290B2 (en) * | 2012-08-01 | 2014-09-09 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for determining poses of vehicle-mounted cameras for in-road obstacle detection |
US9978156B2 (en) * | 2012-10-03 | 2018-05-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | High-throughput image and video compression |
KR102156402B1 (ko) * | 2013-11-05 | 2020-09-16 | 삼성전자주식회사 | 영상 처리 방법 및 장치 |
US10244223B2 (en) * | 2014-01-10 | 2019-03-26 | Ostendo Technologies, Inc. | Methods for full parallax compressed light field 3D imaging systems |
BR112016029335A2 (pt) | 2014-06-19 | 2017-08-22 | Koninklijke Philips Nv | aparelho para gerar uma imagem tridimensional de saída, monitor tridimensional autoestereoscópico, método para gerar uma imagem tridimensional de saída, e produto de programa de computador |
KR101871728B1 (ko) * | 2014-07-08 | 2018-06-27 | 엘지전자 주식회사 | 3d 방송 서비스를 위한 방송 신호 송수신 방법 및 장치 |
US20160150219A1 (en) * | 2014-11-20 | 2016-05-26 | Mantisvision Ltd. | Methods Circuits Devices Assemblies Systems and Functionally Associated Computer Executable Code for Image Acquisition With Depth Estimation |
DE102015011674A1 (de) * | 2015-09-11 | 2016-03-17 | Daimler Ag | Verfahren zur Tiefenfilterung von Tiefenbildern |
JP6743894B2 (ja) * | 2016-08-10 | 2020-08-19 | ソニー株式会社 | 画像処理装置および画像処理方法 |
JP6721631B2 (ja) * | 2017-07-07 | 2020-07-15 | ノキア テクノロジーズ オーユー | ビデオの符号化・復号の方法、装置、およびコンピュータプログラムプロダクト |
US11010658B2 (en) * | 2017-12-22 | 2021-05-18 | Intel Corporation | System and method for learning the structure of deep convolutional neural networks |
-
2017
- 2017-07-14 CN CN201780045393.XA patent/CN109588055A/zh active Pending
- 2017-07-14 WO PCT/JP2017/025721 patent/WO2018021065A1/ja unknown
- 2017-07-14 JP JP2018529777A patent/JP6944134B2/ja active Active
- 2017-07-14 EP EP17834073.3A patent/EP3493160A4/en not_active Withdrawn
- 2017-07-14 US US16/318,189 patent/US10991144B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010049850A1 (en) * | 2008-10-28 | 2010-05-06 | Koninklijke Philips Electronics N.V. | Generation of occlusion data for image properties |
WO2014181220A1 (en) * | 2013-05-10 | 2014-11-13 | Koninklijke Philips N.V. | Method of encoding a video data signal for use with a multi-view rendering device |
Non-Patent Citations (1)
Title |
---|
See also references of EP3493160A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629288A1 (en) * | 2018-09-25 | 2020-04-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for detecting flying spot on edge of depth image, electronic device, and computer readable storage medium |
US11170510B2 (en) | 2018-09-25 | 2021-11-09 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for detecting flying spot on edge of depth image, electronic device, and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
US10991144B2 (en) | 2021-04-27 |
EP3493160A1 (en) | 2019-06-05 |
EP3493160A4 (en) | 2019-06-05 |
CN109588055A (zh) | 2019-04-05 |
US20190287289A1 (en) | 2019-09-19 |
JPWO2018021065A1 (ja) | 2019-05-09 |
JP6944134B2 (ja) | 2021-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6944136B2 (ja) | 画像処理装置および画像処理方法 | |
WO2018021067A1 (ja) | 画像処理装置および画像処理方法 | |
JP7127539B2 (ja) | 画像処理装置および画像処理方法 | |
WO2018147123A1 (ja) | 画像処理装置および画像処理方法 | |
JP6944137B2 (ja) | 画像処理装置および画像処理方法 | |
WO2018021065A1 (ja) | 画像処理装置および画像処理方法 | |
EP3493147B1 (en) | Image processing device and image processing method | |
WO2018021068A1 (ja) | 画像処理装置および画像処理方法 | |
JP7028168B2 (ja) | 画像処理装置および画像処理方法 | |
WO2018030169A1 (ja) | 画像処理装置および画像処理方法 | |
JP6977725B2 (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018529777 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: 17834073 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: 2017834073 Country of ref document: EP Effective date: 20190228 |