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

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

Info

Publication number
WO2021193088A1
WO2021193088A1 PCT/JP2021/009735 JP2021009735W WO2021193088A1 WO 2021193088 A1 WO2021193088 A1 WO 2021193088A1 JP 2021009735 W JP2021009735 W JP 2021009735W WO 2021193088 A1 WO2021193088 A1 WO 2021193088A1
Authority
WO
WIPO (PCT)
Prior art keywords
patch
additional
base
information
video frame
Prior art date
Application number
PCT/JP2021/009735
Other languages
English (en)
French (fr)
Inventor
華央 林
央二 中神
智 隈
幸司 矢野
加藤 毅
弘幸 安田
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202180012148.5A priority Critical patent/CN115066902A/zh
Priority to US17/910,679 priority patent/US20230179797A1/en
Priority to JP2022509904A priority patent/JPWO2021193088A1/ja
Publication of WO2021193088A1 publication Critical patent/WO2021193088A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/349Multi-view displays for displaying three or more geometrical viewpoints without viewer tracking
    • H04N13/351Multi-view displays for displaying three or more geometrical viewpoints without viewer tracking for displaying simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Definitions

  • the present disclosure relates to an image processing device and a method, and more particularly to an image processing device and a method capable of suppressing a reduction in image quality.
  • the geometry data and attribute data of the point cloud are projected onto a two-dimensional plane for each small area, the image (patch) projected on the two-dimensional plane is placed in the frame image, and the frame image is placed on the two-dimensional image.
  • a method of encoding with a coding method for (hereinafter, also referred to as a video-based approach) has been proposed (see, for example, Non-Patent Documents 2 to 4).
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress a decrease in the image quality of a two-dimensional image for displaying 3D data.
  • the image processing device on one side of the present technology includes a base video frame in which a base patch in which a point cloud representing a three-dimensional object as a set of points is projected onto a two-dimensional plane for each subregion is arranged, and the point cloud.
  • a partial region including at least a part of the partial region corresponding to the base patch was projected onto the same two-dimensional plane as in the case of the base patch, with at least a part of the parameters changed from the case of the base patch.
  • a video frame generator that generates an additional video frame on which an additional patch is arranged, and a coding unit that encodes the base video frame and the additional video frame generated by the video frame generator and generates encoded data. It is an image processing apparatus including.
  • the image processing method of one aspect of the present technology includes a base video frame in which a base patch that projects a point cloud that expresses a three-dimensional shaped object as a set of points on a two-dimensional plane for each subregion is arranged, and the point cloud.
  • a partial region including at least a part of the partial region corresponding to the base patch was projected onto the same two-dimensional plane as in the case of the base patch, with at least a part of the parameters changed from the case of the base patch.
  • This is an image processing method that generates an additional video frame in which an additional patch is arranged, encodes the generated base video frame and the additional video frame, and generates encoded data.
  • the image processing device on the other side of the present technology has a base patch that decodes the coded data and projects a point cloud that expresses a three-dimensional shaped object as a set of points on a two-dimensional plane for each subregion.
  • the base video frame and the partial area including at least a part of the partial area corresponding to the base patch of the point cloud are placed on the same two-dimensional plane as in the case of the base patch, and at least a part of the parameters are placed on the base.
  • the point cloud is created by using a decoding unit that generates an additional video frame in which an additional patch projected is arranged instead of the case of a patch, the base video frame generated by the decoding unit, and the additional video frame. It is an image processing device including a reconstruction unit for reconstruction.
  • a base patch in which the coded data is decoded and a point cloud representing a three-dimensional object as a set of points is projected on a two-dimensional plane for each subregion is arranged.
  • the base video frame and the partial area including at least a part of the partial area corresponding to the base patch of the point cloud are placed on the same two-dimensional plane as in the case of the base patch, and at least a part of the parameters are placed on the base.
  • the image processing device on the other side of the present technology is information about a patch in which a point cloud that expresses a three-dimensional shaped object as a set of points is projected onto a two-dimensional plane for each subregion, and corresponds to the point cloud.
  • Auxiliary patch information generation unit that generates auxiliary patch information including an additional patch flag indicating whether it is an additional patch that is not essential for rebuilding the subregion to be processed, and the auxiliary patch information generated by the auxiliary patch information generation unit.
  • the image processing method of yet another aspect of the present technology is information on a patch in which a point cloud that expresses a three-dimensional shaped object as a set of points is projected onto a two-dimensional plane for each subregion, and corresponds to the point cloud.
  • An image processing method that generates auxiliary patch information including an additional patch flag indicating whether it is an additional patch that is not essential for the reconstruction of the subregion to be generated, encodes the generated auxiliary patch information, and generates encoded data.
  • the image processing device on the other side of the present technology is information about a patch in which a point cloud that decodes coded data and expresses a three-dimensional shaped object as a set of points is projected onto a two-dimensional plane for each subregion. It is an additional patch that is included in the auxiliary patch information decoding unit that generates the auxiliary patch information and the auxiliary patch information generated by the auxiliary patch information decoding unit, and is not essential for reconstructing the corresponding partial area of the point cloud. It is an image processing apparatus including a reconstruction unit that reconstructs the point cloud using the additional patch based on the additional patch flag indicating the above.
  • Another aspect of the image processing method of the present technology is information on a patch in which coded data is decoded and a point cloud representing a three-dimensional shaped object as a set of points is projected onto a two-dimensional plane for each subregion.
  • the additional patch is generated based on the additional patch flag that is included in the generated auxiliary patch information and indicates whether the additional patch is not essential for rebuilding the corresponding subregion of the point cloud.
  • a base video frame in which a base patch in which a point cloud representing a three-dimensional object as a set of points is projected on a two-dimensional plane for each subregion is arranged.
  • a subregion containing at least a part of the subregion corresponding to the base patch of the point cloud was projected onto the same two-dimensional plane as in the case of the base patch, with at least some parameters changed from the case of the base patch.
  • An additional video frame in which an additional patch is placed is generated, the generated base video frame and the additional video frame are encoded, and encoded data is generated.
  • a base patch in which coded data is decoded and a point cloud representing a three-dimensional object as a set of points is projected onto a two-dimensional plane for each subregion is provided.
  • the placed base video frame and the partial area containing at least a part of the partial area corresponding to the base patch of the point cloud are placed in the same two-dimensional plane as in the case of the base patch, and at least some parameters are based on the same two-dimensional plane.
  • An additional video frame in which the projected additional patch is placed is generated instead of the case of the patch, and the point cloud is reconstructed using the generated base video frame and the additional video frame.
  • auxiliary patch information is generated, including additional patch flags that indicate if it is an additional patch that is not required to rebuild the corresponding subregion of the cloud, the generated auxiliary patch information is encoded, and encoded data is generated.
  • the patch relates to a patch in which coded data is decoded and a point cloud representing a three-dimensional object as a set of points is projected onto a two-dimensional plane for each subregion. Based on the additional patch flag that indicates whether the auxiliary patch information, which is information, is generated and is included in the generated auxiliary patch information and is not essential for rebuilding the corresponding subregion of the point cloud. The point cloud will be rebuilt using the additional patch.
  • Non-Patent Document 1 (described above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Non-Patent Document 4 (above)
  • ⁇ Point cloud> Conventionally, there has been 3D data such as a point cloud that represents a three-dimensional structure based on point position information, attribute information, and the like.
  • Point cloud data (also referred to as point cloud data) is composed of position information (also referred to as geometry data) and attribute information (also referred to as attribute data) at each point.
  • Attribute data can contain arbitrary information. For example, the color information, reflectance information, normal information, etc. of each point may be included in the attribute data.
  • the point cloud data has a relatively simple data structure, and by using a sufficiently large number of points, an arbitrary three-dimensional structure can be expressed with sufficient accuracy.
  • a voxel is a three-dimensional area for quantizing geometry data (position information).
  • the three-dimensional area containing the point cloud (also referred to as the Bounding box) is divided into small three-dimensional areas called voxels, and each voxel indicates whether or not the points are included. By doing so, the position of each point is quantized in voxel units. Therefore, by converting the point cloud data into such voxel data (also referred to as voxel data), the increase in the amount of information is suppressed (typically, the amount of information is reduced). Can be done.
  • each patch generated in this way is placed in the frame image.
  • a frame image in which a patch of geometry data is arranged is also called a geometry video frame.
  • a frame image in which a patch of attribute data is arranged is also referred to as a color video frame.
  • each pixel value of a geometry video frame indicates the depth value described above.
  • these video frames are encoded by a coding method for a two-dimensional image such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding). That is, point cloud data, which is 3D data representing a three-dimensional structure, can be encoded by using a codec for a two-dimensional image.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • an occupancy map can also be used.
  • the occupancy map is map information indicating the presence or absence of a projected image (patch) for each NxN pixel of the geometry video frame. For example, in the occupancy map, a patch-existing region (NxN pixels) of a geometry video frame or a color video frame is indicated by a value of "1", and a patch-free region (NxN pixels) is indicated by a value of "0".
  • Such an occupancy map is encoded as data separate from the geometry video frame and the color video frame, and transmitted to the decoding side.
  • the decoder can grasp whether or not it is in the region where the patch exists, so that it is possible to suppress the influence of noise and the like generated by coding / decoding, and it is more accurate. 3D data can be restored. For example, even if the depth value changes due to coding / decoding, the decoder ignores the depth value of the area where the patch does not exist by referring to the occupancy map (do not process it as the position information of 3D data). )be able to.
  • this occupancy map can also be transmitted as a video frame in the same way as a geometry video frame or a color video frame.
  • the geometry video frame 11 in which the patch 11A of the geometry data is arranged as shown in A of FIG. 1 the color video frame 12 in which the patch 12A of the attribute data is arranged, and the patch of the occupancy map.
  • the occupancy map 13 in which the 13A is arranged is transmitted.
  • auxiliary patch information 14 information about the patch (also referred to as auxiliary patch information) is transmitted as metadata.
  • the auxiliary patch information 14 shown in B of FIG. 1 shows an example of this auxiliary patch information.
  • Auxiliary patch information 14 includes information about each patch. For example, as shown in B of FIG.
  • the patch identification information (patchIndex) and the position of the patch on the 2D projection plane (the two-dimensional plane on which the connection component (small area) of the point cloud is projected) (u0, Information such as v0), the position of the projection plane in the three-dimensional space (u, v, d), the width of the patch (width), the height of the patch (Height), and the projection direction (Axis) of the patch is included.
  • the point cloud (object) can change in the time direction like a moving image of a two-dimensional image. That is, the geometry data and the attribute data have a concept in the time direction, and are data sampled at predetermined time intervals like a moving image of a two-dimensional image. Note that data at each sampling time is referred to as a frame, such as a video frame of a two-dimensional image. That is, the point cloud data (geometry data and attribute data) is composed of a plurality of frames like a moving image of a two-dimensional image.
  • the accuracy of the occupancy map is coarse, burrs may occur at the boundaries of the patch, and the quality of the reconstructed point cloud may decrease. It is conceivable to improve the accuracy in order to suppress the occurrence of this burr, but in that case, it is difficult to control the accuracy locally, so it is necessary to improve the accuracy of the entire occupancy map. Therefore, the amount of information may be unnecessarily increased and the coding efficiency may be reduced.
  • the patch in the video-based approach described in Non-Patent Document 2 to Non-Patent Document 4 is referred to as a base patch.
  • This base patch is a patch that is always used to reconstruct a partial area of the point cloud including a small area corresponding to the base patch.
  • patches other than the base patch are called additional patches.
  • This additional patch is an optional patch and is not essential for rebuilding a partial area of the point cloud that contains a small area corresponding to the additional patch.
  • the point cloud can be rebuilt with only the base patch, or it can be rebuilt with both the base patch and additional patches.
  • the base patch 30 and the additional patch 40 are transmitted.
  • the base patch 30 is arranged in the geometry data patch 31A arranged in the geometry video frame 31, the attribute data patch 32A arranged in the color video frame 32, and the occupancy map 33 as in the case of FIG. It is composed of patch 33A of the occupancy map.
  • the additional patch 40 may consist of the geometry data patch 41A, the attribute data patch 42A, and the occupancy map patch 43A, some of which may be omitted.
  • the additional patch 40 may be composed of any of the geometry data patch 41A, the attribute data patch 42A, and the occupancy map patch 43A, or the geometry data patch 41A, the attribute data patch. Either 42A, or patch 43A of the Occupancy map may be omitted.
  • the small area of the point cloud corresponding to the additional patch 40 is arbitrary, and may include at least a part of the small area of the point cloud corresponding to the base patch 30, or the point cloud corresponding to the base patch 30. It may include an area other than the small area of.
  • the small area corresponding to the additional patch 40 may completely coincide with the small area corresponding to the base patch 30, or may not overlap with the small area corresponding to the base patch 30.
  • the base patch 30 and the additional patch 40 may be arranged in the same video frame, but in the following, for convenience of explanation, the base patch 30 and the additional patch 40 are arranged in different video frames. And.
  • a video frame in which an additional patch is placed is also referred to as an additional video frame.
  • the additional video frame in which the patch 41A is placed is also referred to as an additional geometry video frame 41.
  • the additional video frame in which the patch 42A is arranged is also referred to as an additional color video frame 42.
  • the additional video frame (occupancy map) on which the patch 43A is arranged is also referred to as an additional occupancy map 43.
  • This additional patch may be used to update the information of the base patch.
  • the additional patch may consist of information used to update the information in the base patch.
  • this additional patch may be used for local control (partial control) of the accuracy of the information of the base patch.
  • the additional patch may consist of information used to locally control the accuracy of the information in the base patch.
  • an additional patch composed of information with higher accuracy than the base patch is transmitted together with the base patch, and the receiving side updates the base patch information using the additional patch to locally adjust the accuracy of the base patch information. It may be possible to improve it. By doing so, the quality of the point cloud reconstructed using the base patch whose information has been updated can be locally improved.
  • the parameter for controlling the accuracy in this way is arbitrary, and may be, for example, a resolution or a bit depth.
  • this additional patch may be an occupancy map patch. That is, the additional video frame may be an additional occupancy map.
  • this additional patch may be a patch of geometry data. That is, the additional video frame may be an additional geometry video frame.
  • this additional patch may be a patch of attribute data. That is, the additional video frame may be an additional color video frame.
  • these "method 1-1" to method "1-3” can be applied in combination in any combination.
  • this additional patch may be used as a substitute for smoothing.
  • the additional patch may consist of information corresponding to the smoothing result.
  • such an additional patch may be transmitted together with the base patch, and the receiving side may update the information of the base patch by using the additional patch so that the base patch after the smoothing process can be obtained.
  • this additional patch may be used to specify the range of processing performed on the base patch.
  • the additional patch may consist of information that specifies the scope of processing performed on the base patch.
  • This processing content is arbitrary.
  • the scope of smoothing may be specified by this additional patch.
  • such an additional patch and a base patch may be transmitted, and the receiving side may perform smoothing processing on the range specified by the additional patch of the base patch. By doing so, it becomes unnecessary to search for an area to be smoothed, and an increase in load can be suppressed.
  • the additional patch differs from the base patch in at least some parameters such as the accuracy of information and the corresponding small area.
  • the additional patch may be composed of geometry data or attribute data projected on the same projection plane as the projection plane of the base patch, or an occupancy map corresponding thereto.
  • this additional patch may be used for rebuilding the point cloud in the same manner as the base patch.
  • the additional patch may consist of the information used to rebuild the point cloud as well as the base patch.
  • such an additional patch is transmitted together with the base patch, and the receiving side selects whether to rebuild the point cloud using only the base patch or the point cloud using the base patch and the additional patch. You may be able to do it. By doing so, the quality of the point cloud can be controlled according to various conditions.
  • the attribute data may be omitted for the additional patch. That is, the additional patch may be composed of a patch of geometry data and a patch of occupancy map. That is, the additional video frame may be composed of a geometry video frame and an occupancy map.
  • information on additional patches may be transmitted as auxiliary patch information.
  • the receiving side can more accurately grasp the characteristics of the additional patch.
  • the content of the information regarding this additional patch is optional.
  • flag information indicating whether the patch is an additional patch may be transmitted as auxiliary patch information. By referring to this flag information, the receiving side can more easily distinguish between the additional patch and the base patch.
  • This "method 5" can be applied in combination with each of the above-mentioned “method 1" to “method 4".
  • the information about the base patch included in the auxiliary patch information may be applied to the additional patch. In that case, the information about this additional patch can be omitted.
  • Table 50 shown in FIG. 4 summarizes the target of action and the method of action of each of the above-mentioned methods.
  • the additional patch is a patch of the occupancy map and has coarser pixels than the additional patch ( (Resolution) works on the base patch of the Occupancy map.
  • the information of the base patch is updated by performing a logical operation (for example, logical sum (OR) or logical product (AND)) bit by bit with the additional patch.
  • a logical operation for example, logical sum (OR) or logical product (AND)
  • the area indicated by the additional patch is added to the area indicated by the base patch, or the area indicated by the additional patch is deleted from the area indicated by the base patch. That is, this logical operation can locally improve the accuracy (resolution) of the occupancy map.
  • the additional patch is a patch of the geometry data and has a coarser value (bit depth) than the additional patch.
  • the additional patch is a patch of the geometry data and has a coarser value (bit depth) than the additional patch.
  • the information is updated. That is, the accuracy (bit depth) of the geometry data can be locally improved by such calculation or replacement.
  • the additional patch is a patch of the attribute data and has a coarser value (bit depth) than the additional patch.
  • Acts on the base patch of the attribute data For example, by adding the value of the base patch to the value of the additional patch, subtracting the value of the additional patch from the value of the base patch, or replacing the value of the base patch with the value of the additional patch, The information is updated. That is, the accuracy (bit depth) of the attribute data can be locally improved by such calculation or replacement.
  • the additional patch is an occupancy map patch, and is the occupancy map base patch having the same pixel (resolution) as the additional patch. Or it works on the base patch of the Occupancy map with coarser pixels (resolution) than the additional patch.
  • the information of the base patch is updated by performing a logical operation (for example, logical sum (OR) or logical product (AND)) bit by bit with the additional patch.
  • a logical operation for example, logical sum (OR) or logical product (AND)
  • the area indicated by the additional patch is added to the area indicated by the base patch, or the area indicated by the additional patch is deleted from the area indicated by the base patch, whereby the smoothed base patch can be obtained. As a result, an increase in load can be suppressed.
  • the additional patch is an occupancy map patch, and is it a base patch of the occupancy map having the same pixel (resolution) as the additional patch?
  • the additional patch sets a flag in the processing target range (for example, the smoothing processing target range), and the smoothing processing is applied to the range indicated in the additional patch of the base patch.
  • the additional patch is a patch used for reconstructing the point cloud like the base patch, and is reconstructed using the base patch. It works on the point cloud.
  • an additional patch consists of an occupancy map patch and a geometry data patch, and in order to reconstruct its attribute data, a recoloring process is performed using the point cloud reconstructed by the base patch. ..
  • a patch of a low-precision occupancy map as shown in B of FIG. 5 is generated.
  • This patch is used as the base patch.
  • the coding efficiency can be improved.
  • the accuracy of the range of geometry data indicated by the occupancy map is reduced.
  • the difference between the patch shown in D in FIG. 5 and the base patch shown in C in FIG. 5 is derived (E in FIG. 5), and this is used as an additional patch. That is, the base patch shown in B of FIG. 5 and the additional patch shown in E of FIG. 5 are transmitted.
  • patches as shown in D of FIG. 5 can be obtained from these patches. That is, the accuracy of the base patch can be improved. That is, the accuracy of the point cloud can be locally improved by transmitting the additional patch.
  • This difference may be an area to be deleted from the area indicated by the base patch, or an area to be added to the area indicated by the base patch.
  • the additional patch indicates the area to be deleted from the area indicated by the base patch, for example, as shown in FIG. 6, the bit-by-bit logic of the occupancy map 71 of the base patch and the occupancy map 72 of the additional patch.
  • the product (AND) By performing the product (AND), the area in which the area indicated by the additional patch is deleted is derived from the area indicated by the base patch.
  • the occupancy map 81 of the base patch and the occupancy map 82 of the additional patch are bit by bit.
  • the occupancy map 81 of the base patch and the occupancy map 82 of the additional patch are bit by bit.
  • the occupancy map 91 when the bit of "0" or the bit of "1" is locally present in the occupancy map 91 as shown in A of FIG. 8, all the bits are shown in B of FIG.
  • An occupancy map with "1” or an occupancy map 92 with all bits of "0” may be used as the occupancy map of the base patch.
  • the occupancy map 93 (B in FIG. 8) of bits having locally different values in the occupancy map 91 may be used as the occupancy map of the additional patch.
  • the occupancy map 92 of the base patch (B in FIG. 8) may be known on the receiving side, and its transmission may be omitted. That is, only the occupancy map 93 shown in B of FIG. 8 may be transmitted. By doing so, it is possible to suppress an increase in the code amount of the occupancy map.
  • FIG. 9 is a block diagram showing an example of the configuration of a coding device to which the present technology is applied.
  • the coding device 100 shown in FIG. 9 is a device (a coding device to which a video-based approach is applied) that projects 3D data such as a point cloud onto a two-dimensional plane and encodes it by a coding method for a two-dimensional image. ).
  • the coding apparatus 100 performs such a process by applying the “method 1-1” shown in Table 20 of FIG.
  • FIG. 9 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the coding apparatus 100, there may be a processing unit that is not shown as a block in FIG. 9, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the coding device 100 includes a patch disassembling unit 101, a packing coding unit 102, and a multiplexer 103.
  • the patch disassembly unit 101 performs processing related to disassembly of 3D data. For example, the patch decomposition unit 101 acquires 3D data (for example, a point cloud) representing a three-dimensional structure input to the coding apparatus 100. Further, the patch decomposition unit 101 decomposes the acquired 3D data into a plurality of small areas (connection components), projects the 3D data on each small area on a two-dimensional plane, and patches the geometry data and the attribute data. To generate.
  • 3D data for example, a point cloud
  • connection components projects the 3D data on each small area on a two-dimensional plane
  • patches the geometry data and the attribute data To generate.
  • the patch disassembly unit 101 generates an Occupancy Map corresponding to the generated patches.
  • the patch disassembling unit 101 applies the above-mentioned "method 1-1" to generate a base patch and an additional patch of the occupancy map. That is, the patch decomposition unit 101 generates an additional patch that locally improves the accuracy (resolution) of the base patch of the occupancy map.
  • the patch decomposition unit 101 supplies each generated patch (base patch of geometry data and attribute data, base patch of occupancy map and additional patch) to the packing coding unit 102.
  • the packing coding unit 102 performs processing related to data packing and coding. For example, the packing coding unit 102 acquires a base patch or an additional patch supplied from the patch decomposition unit 101, arranges each patch on a two-dimensional image, and packs it as a video frame. For example, the packing coding unit 102 packs a base patch of geometry data as a video frame and generates a geometry video frame (Geometry video frame (s)). Further, the packing coding unit 102 packs the base patch of the attribute data as a video frame to generate a color video frame (s). Further, the packing coding unit 102 generates an occupancy map in which the base patch is arranged and an additional occupancy map in which the additional patch is arranged corresponding to those video frames.
  • the packing coding unit 102 generates an occupancy map in which the base patch is arranged and an additional occupancy map in which the additional patch is arranged corresponding to those video frames.
  • the packing coding unit 102 encodes the generated video frames (geometry video frame, color video frame, occupancy map, additional occupancy map), respectively, and generates encoded data.
  • the packing coding unit 102 generates auxiliary patch information which is information about the patch, encodes (compresses) it, and generates coded data.
  • the packing coding unit 102 supplies the generated coded data to the multiplexer 103.
  • the multiplexer 103 performs processing related to multiplexing. For example, the multiplexer 103 acquires various coded data supplied from the packing coding unit 102 and multiplexes them to generate a bit stream. The multiplexer 103 outputs the generated bit stream to the outside of the coding apparatus 100.
  • FIG. 10 is a block diagram showing a main configuration example of the packing coding unit 102. It should be noted that FIG. 10 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the packing coding unit 102, there may be a processing unit that is not shown as a block in FIG. 10, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the packing coding unit 102 includes an occupancy map generation unit 121, a geometry video frame generation unit 122, an OMap coding unit 123, a video coding unit 124, a geometry video frame decoding unit 125, and geometry data. It has a reconstruction unit 126, a geometry smoothing processing unit 127, a color video frame generation unit 128, a video coding unit 129, an auxiliary patch information generation unit 130, and an auxiliary patch information coding unit 131.
  • the occupancy map generation unit 121 generates an occupancy map corresponding to the video frame in which the base patch supplied from the patch disassembly unit 111 is arranged. Further, the occupancy map generation unit 121 generates an additional occupancy map corresponding to the additional video frame in which the additional patch supplied from the patch decomposition unit 111 is similarly arranged.
  • the occupancy map generation unit 121 supplies the generated occupancy map and the additional occupancy map to the OMap coding unit 123. Further, the occupancy map generation unit 121 supplies the generated occupancy map to the geometry video frame generation unit 122. Further, the occupancy map generation unit 121 supplies information on the base patch and the additional patch to the auxiliary patch information generation unit 130.
  • the geometry video frame generation unit 122 generates a geometry video frame which is a video frame in which the base patch of the geometry data supplied from the patch decomposition unit 111 is arranged.
  • the geometry video frame generation unit 122 supplies the generated geometry video frame to the video coding unit 124.
  • the OMap coding unit 123 encodes the occupancy map supplied from the occupancy map generation unit 121 by a coding method for a two-dimensional image, and generates the coded data. Further, the OMap coding unit 123 encodes the additional occupancy map supplied from the occupancy map generation unit 121 by a coding method for a two-dimensional image, and generates the coded data. The OMap coding unit 123 supplies the coded data to the multiplexer 103.
  • the video coding unit 124 encodes the geometry video frame supplied from the geometry video frame generation unit 122 by a coding method for a two-dimensional image, and generates the coded data.
  • the video coding unit 124 supplies the generated coded data to the multiplexer 103.
  • the video coding unit 124 also supplies the generated coded data to the geometry video frame decoding unit 125.
  • the geometry video frame decoding unit 125 decodes the coded data supplied from the video coding unit 124 by a decoding method for a two-dimensional image corresponding to the coding method applied by the video coding unit 124, and decodes the geometry video frame. Is generated (restored). The geometry video frame decoding unit 125 supplies the generated (restored) geometry video frame to the geometry data reconstruction unit 126.
  • the geometry data reconstruction unit 126 extracts a base patch of geometry data from the geometry video frame supplied from the geometry video frame decoding unit 125, and reconstructs the geometry data of the point cloud using the base patch. That is, each point is arranged in the three-dimensional space.
  • the geometry data reconstruction unit 126 supplies the reconstructed geometry data to the geometry smoothing processing unit 127.
  • the geometry smoothing processing unit 127 performs smoothing processing on the geometry data supplied from the geometry data reconstruction unit 126 to reduce burrs and the like at the patch boundary.
  • the geometry smoothing processing unit 127 supplies the geometry data after the smoothing processing to the color video frame generation unit 128.
  • the color video frame generation unit 128 makes the base patch of the attribute data supplied from the patch decomposition unit 111 correspond to the geometry data supplied from the geometry smoothing processing unit 127 by performing recolor processing or the like, and sets the base patch. Generate a color video frame, which is the placed video frame. The color video frame generation unit 128 supplies the generated color video frame to the video coding unit 129.
  • the video coding unit 129 encodes the color video frame supplied from the color video frame generation unit 128 by a coding method for a two-dimensional image, and generates the coded data.
  • the video coding unit 129 supplies the generated coded data to the multiplexer 103.
  • the auxiliary patch information generation unit 130 generates auxiliary patch information using information on the base patch and additional patches of the occupancy map supplied from the occupancy map generation unit 121.
  • the auxiliary patch information generation unit 130 supplies the generated auxiliary patch information to the auxiliary patch information coding unit 131.
  • the auxiliary patch information coding unit 131 encodes the auxiliary patch information supplied from the auxiliary patch information generation unit 130 by an arbitrary coding method, and generates the coded data.
  • the auxiliary patch information coding unit 131 supplies the generated coded data to the multiplexer 103.
  • the patch disassembling unit 101 of the coding device 100 When the coding process is started, the patch disassembling unit 101 of the coding device 100 generates a base patch in step S101. Further, in step S102, the patch disassembling unit 101 generates an additional patch.
  • the coding device 100 applies “Method 1-1” in Table 20 of FIG. 2, so that it generates a base patch and an additional patch of the occupancy map.
  • step S103 the packing coding unit 102 executes the packing coding process, packs the base patch and the additional patch, and encodes the generated video frame.
  • step S104 the multiplexer 103 multiplexes the various coded data generated in step S102 to generate a bit stream.
  • step S105 the multiplexer 103 outputs the bit stream to the outside of the coding device 100. When the process of step S105 is completed, the coding process is completed.
  • the occupancy map generation unit 121 When the packing coding process is started, the occupancy map generation unit 121 generates an occupancy map in step S121 using the base patch generated in step S101 of FIG. Further, in step S122, the occupancy map generation unit 121 generates an additional occupancy map by using the additional patch generated in step S102 of FIG. Further, in step S123, the geometry video frame generation unit 122 generates a geometry video frame using the base patch generated in step S101 of FIG.
  • step S124 the OMap coding unit 123 encodes the occupancy map generated in step S121 by a coding method for a two-dimensional image, and generates the coded data. Further, in step S125, the OMap coding unit 123 encodes the additional occupancy map generated in step S122 by a coding method for a two-dimensional image, and generates the coded data.
  • step S126 the video coding unit 124 encodes the geometry video frame generated in step S123 by a coding method for a two-dimensional image, and generates the coded data. Further, in step S127, the geometry video frame decoding unit 125 decodes the coded data generated in step S126 by a decoding method for a two-dimensional image corresponding to the coding method, and generates (restores) a geometry video frame. )do.
  • step S128 the geometry data reconstruction unit 126 unpacks the geometry video frame generated (restored) in step S127 and reconstructs the geometry data.
  • step S129 the geometry smoothing processing unit 127 performs smoothing processing on the geometry data reconstructed in step S128 to suppress burrs and the like at the patch boundary.
  • step S130 the color video frame generation unit 128 makes the attribute data correspond to the geometry smoothing processing result by recolor processing or the like, and generates a color video frame in which the base patch is arranged. Further, in step S131, the video coding unit 129 encodes the color video frame by a coding method for a two-dimensional image and generates the coded data.
  • step S132 the auxiliary patch information generation unit 130 generates auxiliary patch information using the information regarding the base patch and the additional patch of the occupancy map.
  • step S133 the auxiliary patch information coding unit 131 encodes the generated auxiliary patch information by an arbitrary coding method, and generates the coded data.
  • step S133 When the process of step S133 is completed, the packing coding process is completed, and the process returns to FIG.
  • the encoding device 100 can generate an occupancy map and an additional occupancy map for improving the accuracy of the occupancy map. Therefore, the coding device 100 can locally improve the accuracy of the occupancy map. As a result, it is possible to suppress the reduction in the coding efficiency and the increase in the load while suppressing the reduction in the quality of the reconstructed point cloud. That is, it is possible to suppress a decrease in the image quality of the two-dimensional image for displaying 3D data.
  • FIG. 13 is a block diagram showing an example of a configuration of a decoding device, which is an aspect of an image processing device to which the present technology is applied.
  • the decoding device 200 shown in FIG. 13 decodes the encoded data obtained by projecting 3D data such as a point cloud onto a two-dimensional plane by a decoding method for a two-dimensional image, and reconstructs the 3D data. (Decoding device to which a video-based approach is applied).
  • the decoding device 200 is a decoding device corresponding to the coding device 100 of FIG. 9, and can decode the bit stream generated by the coding device 100 to reconstruct the 3D data. That is, the decoding device 200 performs such a process by applying the “method 1-1” shown in Table 20 of FIG.
  • FIG. 13 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the decoding device 200, there may be a processing unit that is not shown as a block in FIG. 13, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the decoding device 200 includes a demultiplexer 201, an auxiliary patch information decoding unit 202, an OMap decoding unit 203, a video decoding unit 204, a video decoding unit 205, and a 3D reconstruction unit 206.
  • the demultiplexer 201 performs processing related to data demultiplexing. For example, the demultiplexer 201 can acquire a bitstream input to the decoding device 200. This bit stream is supplied from, for example, the encoding device 100.
  • the demultiplexer 201 can demultiplex this bit stream. For example, the demultiplexer 201 can extract the coded data of the auxiliary patch information from the bit stream by demultiplexing. The demultiplexer 201 can also extract the coded data of the geometry video frame from the bitstream by demultiplexing. Further, the demultiplexer 201 can extract the coded data of the color video frame from the bit stream by demultiplexing. Further, the demultiplexer 201 can extract the coded data of the occupancy map and the coded data of the additional occupancy map from the bit stream by demultiplexing.
  • the demultiplexer 201 can supply the extracted data to the subsequent processing unit.
  • the demultiplexer 201 can supply the coded data of the extracted auxiliary patch information to the auxiliary patch information decoding unit 202.
  • the demultiplexer 201 can supply the coded data of the extracted geometry video frame to the video decoding unit 204.
  • the demultiplexer 201 can supply the coded data of the extracted color video frame to the video decoding unit 205.
  • the demultiplexer 201 can supply the coded data of the extracted occupancy map and the coded data of the additional occupancy map to the OMap decoding unit 203.
  • the auxiliary patch information decoding unit 202 performs processing related to decoding the coded data of the auxiliary patch information.
  • the auxiliary patch information decoding unit 202 can acquire the encoded data of the auxiliary patch information supplied from the demultiplexer 201. Further, the auxiliary patch information decoding unit 202 can decode the coded data and generate auxiliary patch information.
  • This decoding method is arbitrary as long as it corresponds to the coding method applied at the time of coding (for example, the coding method applied by the auxiliary patch information coding unit 131). Further, the auxiliary patch information decoding unit 202 supplies the generated auxiliary patch information to the 3D reconstruction unit 206.
  • the OMap decoding unit 203 performs processing related to decoding the coded data of the occupancy map and the coded data of the additional occupancy map. For example, the OMap decoding unit 203 can acquire the coded data of the occupancy map supplied from the demultiplexer 201 and the coded data of the additional occupancy map. In addition, the OMap decoding unit 203 can decode the encoded data and generate an occupancy map or an additional occupancy map. Further, the OMap decoding unit 203 can supply the occupancy map and the additional occupancy map to the 3D reconstruction unit 206.
  • the video decoding unit 204 performs processing related to decoding the coded data of the geometry video frame. For example, the video decoding unit 204 can acquire the coded data of the geometry video frame supplied from the demultiplexer 201. Further, the video decoding unit 204 can decode the coded data and generate a geometry video frame. This decoding method is arbitrary as long as it is a decoding method for a two-dimensional image corresponding to the coding method applied at the time of coding (for example, the coding method applied by the video coding unit 124). Further, the video decoding unit 204 can supply the geometry video frame to the 3D reconstruction unit 206.
  • the video decoding unit 205 performs processing related to decoding the coded data of the color video frame. For example, the video decoding unit 205 can acquire the coded data of the color video frame supplied from the demultiplexer 201. Further, the video decoding unit 205 can decode the coded data and generate a color video frame. This decoding method is arbitrary as long as it is a decoding method for a two-dimensional image corresponding to the coding method applied at the time of coding (for example, the coding method applied by the video coding unit 129). Further, the video decoding unit 205 can supply the color video frame to the 3D reconstruction unit 206.
  • the 3D reconstruction unit 206 performs processing related to unpacking of video frames and reconstruction of 3D data.
  • the 3D reconstruction unit 206 can acquire the auxiliary patch information supplied from the auxiliary patch information decoding unit 202. Further, the 3D reconstruction unit 206 can acquire the occupancy map supplied from the OMap decoding unit 203. Further, the 3D reconstruction unit 206 can acquire the geometry video frame supplied from the video decoding unit 204. Further, the 3D reconstruction unit 206 can acquire a color video frame supplied from the video decoding unit 205. Further, the 3D reconstruction unit 206 can unpack those video frames and reconstruct the 3D data (for example, Point Cloud).
  • the 3D reconstruction unit 206 outputs the 3D data obtained by such processing to the outside of the decoding device 200. This 3D data is, for example, supplied to a display unit to display the image, recorded on a recording medium, or supplied to another device via communication.
  • FIG. 14 is a block diagram showing a main configuration example of the 3D reconstruction unit 206. It should be noted that FIG. 14 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the 3D reconstruction unit 206, there may be a processing unit that is not shown as a block in FIG. 14, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the 3D reconstruction unit 206 includes an occupancy map reconstruction unit 221, a geometry data reconstruction unit 222, an attribute data reconstruction unit 223, a geometry smoothing processing unit 224, and a recolor processing unit 225. ..
  • the occupancy map reconstruction unit 221 logically performs a bit-by-bit operation on the occupancy map supplied from the OMap decoding unit 203 and the additional occupancy map using the auxiliary patch information supplied from the auxiliary patch information decoding unit 202. By doing so (by deriving the logical sum or AND), a synthetic occupancy map is generated by synthesizing the occupancy map and the additional occupancy map.
  • the occupancy map generation unit 121 supplies the composite occupancy map to the geometry data reconstruction unit 222.
  • the geometry data reconstruction unit 222 uses the auxiliary patch information supplied from the auxiliary patch information decoding unit 202 and the synthetic occupancy map supplied from the occupancy map reconstruction unit 221 to use the video decoding unit 204 (FIG. 13). ) Unpacks the geometry video frame supplied from) to extract the base patch of the geometry data. Further, the geometry data reconstruction unit 222 further reconstructs the geometry data by using the base patch and the auxiliary patch information. Further, the geometry data reconstruction unit 222 supplies the reconstructed geometry data and the synthetic occupancy map to the attribute data reconstruction unit 223.
  • the attribute data reconstruction unit 223 uses the auxiliary patch information supplied from the auxiliary patch information decoding unit 202 and the synthetic occupancy map supplied from the occupancy map reconstruction unit 221 to use the video decoding unit 205 (FIG. 13). ) Unpack the color video frame supplied from) to extract the base patch of the attribute data. Further, the attribute data reconstruction unit 223 further reconstructs the attribute data by using the base patch and the auxiliary patch information.
  • the attribute data reconstruction unit 223 supplies various information such as geometry data, a synthetic occupancy map, and the reconstructed attribute data to the geometry smoothing processing unit 224.
  • the geometry smoothing processing unit 224 performs smoothing processing on the geometry data supplied from the attribute data reconstruction unit 223.
  • the geometry smoothing processing unit 224 supplies the smoothed geometry data and attribute data to the recolor processing unit 225.
  • the recolor processing unit 225 acquires the geometry data and attribute data supplied from the geometry smoothing processing unit 224, performs recolor processing using them, and generates a point cloud by associating the attribute data with the geometry data (re-coloring). To construct.
  • the recolor processing unit 225 outputs the point cloud to the outside of the decoding device 200.
  • the demultiplexer 201 of the decoding device 200 demultiplexes the bitstream in step S201, and the auxiliary patch information, the occupancy map, the additional occupancy map, the geometry video frame, the color video frame, etc. From the bitstream.
  • step S202 the auxiliary patch information decoding unit 202 decodes the encoded data of the auxiliary patch information extracted from the bit stream by the process of step S201.
  • step S203 the OMap decoding unit 203 decodes the encoded data of the occupancy map extracted from the bit stream by the process of step S201.
  • step S204 the OMap decoding unit 203 decodes the coded data of the additional occupancy map extracted from the bit stream by the process of step S201.
  • step S205 the video decoding unit 204 decodes the coded data of the geometry video frame extracted from the bit stream by the process of step S201.
  • step S206 the video decoding unit 205 decodes the coded data of the color video frame extracted from the bit stream by the process of step S201.
  • step S207 the 3D reconstruction unit 206 performs a 3D reconstruction process using the information obtained by the above processing, and reconstructs the 3D data.
  • the decoding process is completed.
  • the occupancy map reconstruction unit 221 uses the auxiliary patch information in step S221 to perform a bit-by-bit logical operation (for example, logical sum) between the occupancy map and the additional occupancy map. Perform a logical product) to generate a synthetic occupancy map.
  • a bit-by-bit logical operation for example, logical sum
  • step S222 the geometry data reconstruction unit 222 unpacks the geometry video frame and reconstructs the geometry data using the auxiliary patch information and the generated synthetic occupancy map.
  • step S223 the attribute data reconstruction unit 223 unpacks the color video frame and reconstructs the attribute data using the auxiliary patch information and the generated synthetic occupancy map.
  • step S224 the geometry smoothing processing unit 224 smoothes the geometry data obtained in step S222.
  • step S225 the recolor processing unit 225 performs recolor processing, associates the attribute data reconstructed in step S223 with the geometry data smoothed in step S224, and reconstructs the point cloud.
  • step S225 When the process of step S225 is completed, the 3D reconstruction process is completed, and the process returns to FIG.
  • the decoding device 200 can reconstruct the 3D data using the occupancy map and the additional occupancy map for improving the accuracy of the occupancy map. can. Therefore, the decoding device 200 can locally improve the accuracy of the occupancy map. As a result, the decoding device 200 can suppress the reduction in the coding efficiency and the reduction in the quality of the reconstructed point cloud while suppressing the increase in the load. That is, it is possible to suppress a decrease in the image quality of the two-dimensional image for displaying 3D data.
  • Method 1-2 can be realized in the same manner.
  • an additional patch of geometry data is generated. That is, in this case, the geometry video frame generation unit 122 (FIG. 10) generates a geometry video frame in which the base patch of the geometry data is arranged and an additional geometry video frame in which the additional patch of the geometry data is arranged.
  • the video coding unit 124 encodes the geometry video frame and the additional geometry video frame, respectively, and generates encoded data.
  • information on the base patch and information on the additional patch are supplied from the geometry video frame generation unit 122 to the auxiliary patch information generation unit 130, and the auxiliary patch information generation unit 130 generates auxiliary patch information based on the information. do.
  • the geometry data reconstruction unit 222 of the decoding device 200 reconstructs the geometry data corresponding to the geometry video frame and the geometry data corresponding to the additional geometry video frame, and reconstructs them.
  • the geometry data reconstruction unit 222 may generate the composite geometry data by replacing the value of the geometry data corresponding to the base patch with the value of the geometry data corresponding to the additional patch.
  • the geometry data reconstruction unit 222 may add or subtract the value of the geometry data corresponding to the base patch and the value of the geometry data corresponding to the additional patch to generate the composite geometry data. ..
  • the accuracy of the geometry data can be improved locally.
  • reconstructing the point cloud using such synthetic geometry data it is possible to reduce the quality of the reconstructed point cloud while suppressing the decrease in coding efficiency and the increase in load. It can be suppressed. That is, it is possible to suppress a decrease in the image quality of the two-dimensional image for displaying 3D data.
  • Method 1-3 can be realized in the same manner.
  • an additional patch of attribute data is generated.
  • the value of the attribute data corresponding to the base patch and the value of the attribute data corresponding to the additional patch are added, subtracted, or replaced, and the composite attribute is synthesized. Data can be generated.
  • information about the base patch and information about the additional patch are supplied from the color video frame generation unit 128 to the auxiliary patch information generation unit 130, and the auxiliary patch information generation unit 130 uses the information as the auxiliary patch. Generate information.
  • the accuracy of the attribute data can be improved locally.
  • reconstructing the point cloud using such synthetic attribute data it is possible to reduce the quality of the reconstructed point cloud while suppressing the decrease in coding efficiency and the increase in load. It can be suppressed. That is, it is possible to suppress a decrease in the image quality of the two-dimensional image for displaying 3D data.
  • the above-mentioned "method 2" will be described.
  • an additional occupancy map (additional patch) is generated so that the synthetic occupancy map corresponds to the smoothing processing result.
  • the base patch of the occupancy map having a lower accuracy than the geometry data as shown in A of FIG. 17 is represented by the accuracy of the geometry data, it will be as shown in B of FIG.
  • the patch has a shape as shown in FIG. 17C.
  • the shaded area represents an area to which points are added with reference to B of FIG.
  • the gray area represents an area where points are deleted when B in FIG. 17 is used as a reference.
  • the occupancy map is as shown in D in FIG. In this case, the range of the geometry data can be accurately represented, but the sign amount of the occupancy map increases.
  • an occupancy map for adding points as shown in E of FIG. 17 and an occupancy map for deleting points as shown in F of FIG. 17 are generated as additional occupancy maps.
  • an additional occupancy map By transmitting such an additional occupancy map, it is possible to generate an occupancy map that reflects the smoothing process on the decoding side. That is, the result of the smoothing process of the geometry data can be obtained without performing the smoothing process. That is, since the smoothing process can be omitted, it is possible to suppress an increase in the load due to the smoothing process.
  • the coding apparatus 100 has basically the same configuration as in the case of “Method 1-1” (FIG. 9).
  • FIG. 18 shows a main configuration example of the packing coding unit 102 in this case.
  • the packing coding unit 102 in this case has basically the same configuration as in the case of “Method 1-1” (FIG. 10).
  • the geometry smoothing processing unit 127 supplies the smoothed geometry data to the occupancy map generation unit 121.
  • the occupancy map generation unit 121 generates an occupancy map corresponding to the base patch, and also generates an additional occupancy map based on the smoothed geometry data.
  • the occupancy map generation unit 121 supplies the generated occupancy map and the additional occupancy map to the OMap coding unit 123.
  • the OMap coding unit 123 encodes them and generates the coded data thereof.
  • the occupancy map generation unit 121 supplies information on the occupancy map and the additional occupancy map to the auxiliary patch information generation unit 130.
  • the auxiliary patch information generation unit 130 generates auxiliary patch information including information on the occupancy map and the additional occupancy map based on the information.
  • the auxiliary patch information coding unit 131 encodes the auxiliary patch information generated in this world.
  • each process of step S301 to step S307 is executed in the same manner as each process of step S121, step S123, step S124, and step S126 to S129 of FIG.
  • step S308 the occupancy map generation unit 121 generates an additional occupancy map based on the smoothing processing result of step S307. That is, the occupancy map generation unit 121 deletes the area to be added to the occupancy map so that the shape of the patch of the geometry data after the smoothing process can be shown more accurately, for example, as shown in FIG. Generate an additional occupancy map showing the area.
  • the OMap coding unit 123 encodes the additional occupancy map.
  • the receiving side reconstructs the geometry data using the additional occupancy map and the occupancy map, thereby smoothing.
  • the processed geometry data can be reconstructed. That is, since the point cloud in which the smoothing process is reflected can be reconstructed without performing the smoothing process on the receiving side, it is possible to suppress an increase in the load due to the smoothing process.
  • the decoding device 200 has basically the same configuration as in the case of “Method 1-1” (FIG. 13).
  • FIG. 20 shows a main configuration example of the 3D reconstruction unit 206 in this case.
  • the 3D reconstruction unit 206 in this case has basically the same configuration as in the case of “Method 1-1” (FIG. 10).
  • the geometry smoothing processing unit 224 is omitted.
  • the geometry smoothing processing unit 224 can be omitted.
  • each process of steps S331 to S334 is executed in the same manner as each process of steps S221 to S225 of FIG. That is, in this case, the geometry data to which the smoothing process has been performed can be obtained by the process of step S332. Therefore, the process of step S224 is omitted.
  • the coding device 100 has the same configuration as in the case of "Method 2" (FIGS. 9 and 18). Then, the coding process executed by the coding apparatus 100 is also executed in the same flow as in the case of "Method 1-1" (FIG. 11).
  • each process of steps S351 to S357 is executed in the same manner as each process of steps S301 to S307 of FIG. 19 (in the case of "method 2").
  • step S358 the occupancy map generation unit 121 generates an additional occupancy map indicating the position where the smoothing process is performed, based on the smoothing process result of step S307. That is, the occupancy map generation unit 121 generates an additional occupancy map so as to set a flag in the area where the smoothing process is performed.
  • the decoding device 200 (and the 3D reconstruction unit 206) has basically the same configuration as in the case of "Method 1-1" (FIGS. 13 and 14). Further, the decoding process in this case is executed by the decoding device 200 in the same flow as the flowchart of FIG. Then, an example of the flow of the 3D reconstruction process executed in step S207 (FIG. 15) of the decoding process in this case will be described with reference to the flowchart of FIG. 22.
  • the geometry data reconstruction unit 222 unpacks the geometry video frame and reconstructs the geometry data in step S381 using the auxiliary patch information and the occupancy map. do.
  • step S382 the attribute data reconstruction unit 223 unpacks the color video frame and reconstructs the attribute data using the auxiliary patch information and the occupancy map.
  • step S383 the geometry smoothing processing unit 224 smoothes the geometry data based on the additional occupancy map. That is, the geometry smoothing processing unit 224 performs the smoothing processing on the range specified by the additional occupancy map.
  • step S384 the recolor processing unit 225 performs recolor processing, associates the attribute data reconstructed in step S382 with the geometry data smoothed in step S383, and reconstructs the point cloud.
  • step S384 When the process of step S384 is completed, the 3D reconstruction process is completed, and the process returns to FIG.
  • the smoothing process can be performed more easily to an appropriate range. That is, since it is not necessary to search the range to which the smoothing process is applied on the receiving side, it is possible to suppress an increase in the load.
  • the coding apparatus 100 has basically the same configuration as in the case of “Method 1-1” (FIG. 9).
  • FIG. 24 shows a main configuration example of the packing coding unit 102 in this case.
  • the packing coding unit 102 in this case has basically the same configuration as in the case of “Method 1-1” (FIG. 10).
  • the patch decomposition unit 101 generates an additional patch of the occupancy map and the geometry data. That is, the patch decomposition unit 101 generates a base patch and an additional patch for the occupancy map and the geometry data.
  • the occupancy map generation unit 121 of the packing coding unit 102 generates the occupancy map corresponding to the base patch and the additional occupancy map corresponding to the additional patch, and the geometry video frame generation unit 122 generates the base patch. Generates a geometry video frame with an additional patch and an additional geometry video frame with additional patches.
  • the auxiliary patch information generation unit 130 acquires information on the base patch and information on the additional patch from each of the occupancy map generation unit 121 and the geometry video frame generation unit 122, and generates auxiliary patch information including them.
  • the OMap coding unit 123 encodes the occupancy map generated by the occupancy map generation unit 121 and the additional occupancy map. Further, the video coding unit 124 encodes the geometry video frame generated by the geometry video frame generation unit 122 and the additional geometry video frame. The auxiliary patch information coding unit 131 encodes the auxiliary patch information and generates coded data.
  • An additional patch may be generated for the attribute data as well, but as in this example, the attribute data is omitted in the additional patch, and the attribute data corresponding to the additional patch is obtained by the recoloring process on the receiving side. You may be able to do it.
  • each process of steps S401 to S403 is executed in the same manner as each process of steps S121 to S123 of FIG.
  • step S404 the geometry video frame generation unit 122 generates an additional geometry video frame in which the additional patch is arranged.
  • step S408 the video coding unit 124 encodes the additional geometry video frame.
  • FIG. 26 shows a main configuration example of the 3D reconstruction unit 206 in this case.
  • the 3D reconstruction unit 206 in this case includes a base patch 3D reconstruction unit 451, a geometry smoothing processing unit 452, a recolor processing unit 453, an additional patch 3D reconstruction unit 454, and a geometry smoothing processing unit 455. , And a recolor processing unit 456.
  • the base patch 3D reconstruction unit 451 and the geometry smoothing processing unit 452, and the recolor processing unit 453 perform processing related to the base patch.
  • the base patch 3D reconstruction unit 451 uses the auxiliary patch information, the occupancy map corresponding to the base patch, the base patch of the geometry video frame, and the base patch of the color video frame to the point cloud (small area corresponding to the base patch). ) Is reconstructed.
  • the geometry smoothing processing unit 452 performs smoothing processing on the geometry data corresponding to the base patch.
  • the recolor processing unit 453 performs recolor processing so that the attribute data corresponds to the geometry data to which the smoothing processing has been performed.
  • the additional patch 3D reconstruction unit 454, the geometry smoothing processing unit 455, and the recolor processing unit 456 perform processing related to the additional patch.
  • the additional patch 3D reconstruction unit 454 reconstructs the point cloud (the small area corresponding to the additional patch) using the auxiliary patch information, the additional occupancy map, and the additional geometry video frame (that is, with the additional patch). ..
  • the geometry smoothing processing unit 455 performs smoothing processing on the geometry data corresponding to the base patch.
  • the recolor processing unit 456 performs the recolor processing using the recolor processing result by the recolor processing unit 453, that is, the attribute data of the base patch. As a result, the recolor processing unit 456 synthesizes the point cloud corresponding to the base patch and the point cloud corresponding to the additional patch, generates the base patch and the point cloud corresponding to the additional patch, and outputs the point cloud.
  • the decoding process is executed by the decoding device 200 in the same flow as the flowchart of FIG.
  • An example of the flow of the 3D reconstruction process executed in step S207 (FIG. 15) of the decoding process in this case will be described with reference to the flowchart of FIG. 27.
  • the base patch 3D reconstruction unit 451 ununforms the geometry video frame and the color video frame for the base patch using the auxiliary patch information and the occupancy map in step S451. Pack and rebuild the point cloud for the base patch.
  • step S452 the geometry smoothing processing unit 452 smoothes the geometry data of the base patch. That is, the geometry smoothing processing unit 452 performs the smoothing processing on the geometry data of the point cloud corresponding to the base patch obtained in step S451.
  • step S453 the recolor processing unit 453 performs recolor processing on the base patch. That is, the recolor processing unit 453 performs the recolor processing so that the point cloud attribute data corresponding to the base patch obtained in step S451 corresponds to the geometry data.
  • step S454 the additional patch 3D reconstruction unit 454 determines whether or not to decode the additional patch based on, for example, auxiliary patch information or the like. For example, if an additional patch exists and it is determined to decrypt the additional patch, the process proceeds to step S455.
  • step S455 the additional patch 3D reconstruction unit 454 unpacks the additional geometry video frame for the additional patch using the auxiliary patch information and the additional occupancy map, and reconstructs the geometry data corresponding to the additional patch.
  • step S456 the geometry smoothing processing unit 455 smoothes the geometry data for the additional patch. That is, the geometry smoothing processing unit 455 performs the smoothing processing on the geometry data of the point cloud corresponding to the additional patch obtained in step S455.
  • step S457 the recolor processing unit 456 recolors the additional patch using the attribute data of the base patch. That is, the recolor processing unit 456 associates the attribute data of the base patch with the geometry data obtained by the smoothing process of step S456.
  • step S457 the 3D reconstruction process is completed. If it is determined in step S454 that the additional patch is not decrypted, the 3D reconstruction process ends. In other words, the point cloud corresponding to the base patch is output.
  • the point cloud can be reconstructed using additional patches, so the point cloud can be reconstructed in a wider variety of ways.
  • This additional patch flag is flag information indicating whether or not the corresponding patch is an additional patch. For example, when this additional patch flag is "true (1)", it indicates that the corresponding patch is an additional patch. By referring to this flag information, the additional patch and the base patch can be more easily distinguished.
  • the value of the parameter is "5", it indicates that the target of action of the additional patch is the additional patch of the attribute data. Further, when the value of the parameter is "6", it indicates that the target of action of the additional patch is the additional patch of the geometry data and the attribute data.
  • Information on the use of the additional patch for example, "2-2-2.
  • Information indicating the processing content using the additional patch” may be included. This "2-2-2.
  • Information indicating the processing content using the additional patch” indicates, for example, as shown in Table 503 of FIG. 30, what kind of processing the additional patch is used for depending on the value of the parameter.
  • Target patch ID is the identification information (patchIndex) of the target patch.
  • Position information of the additional patch is information indicating the position of the additional patch on the occupancy map, and is indicated by two-dimensional plane coordinates such as (u0', v0'). ..
  • the additional patch corresponding to the base patch 511 is the additional patch 512.
  • the coordinates of the upper left point 513 of the additional patch 512 are "2-3-2. Position information of the additional patch”.
  • Position shift information of additional patch is the amount of position shift due to size change.
  • arrow 514 corresponds to "2-3-3.
  • Position shift information of additional patch That is, this "2-3-3.
  • Position shift information of the additional patch” is represented by ( ⁇ u0, ⁇ v0).
  • the accuracy of the additional occupancy map may be expressed by "2-4-1. Occupancy Precision” as in the conventional case, or by "2-4-2. Image size". It may be expressed by "2-4-3. Ratio for each patch”.
  • Ratio for each patch is information that specifies the ratio for each patch. For example, as shown in C of FIG. 32, information indicating the respective ratios of patch 531 and patch 532, and patch 533 can be transmitted. By doing so, the size of each patch can be controlled more flexibly. For example, the accuracy can be improved only for the necessary patches.
  • Table 551 of FIG. 33 An example of information to be transmitted in each of the above “methods 1" to “method 4" is shown in Table 551 of FIG. 33. As shown in Table 551, various information can be transmitted in each method.
  • the object can be reconstructed with an accuracy according to the distance from the viewpoint position. For example, by controlling whether or not to use an additional patch according to the distance from the viewpoint position, objects far from the viewpoint position are reconstructed with the coarse accuracy of the base patch, and objects near the viewpoint position are added.
  • the patch can be rebuilt with high precision.
  • the quality of the point cloud reconstructed based on the user's authority or the like control the subjective image quality of the display image well.
  • the entire point cloud is provided with the original quality (high resolution), but for users who have paid a low usage fee or users with guest privileges.
  • FIG. 34 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-described series. Is processed.
  • the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in advance in ROM 902 or storage unit 913.
  • the coding device 100, the decoding device 200, and the like have been described as application examples of the present technology, but the present technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) for satellite broadcasting, wired broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • devices for example, hard disk recorders and cameras
  • a processor as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors (for example, a video module), a unit using a plurality of modules (for example, a video unit)
  • a processor as a system LSI (Large Scale Integration) or the like
  • a module using a plurality of processors for example, a video module
  • a unit using a plurality of modules for example, a video unit
  • it can be implemented as a configuration of a part of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • 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. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing departments, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. Moreover, the use is arbitrary.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information (including the flag) is assumed to include not only the identification information in the bit stream but also the difference information of the identification information with respect to a certain reference information in the bit stream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • various information (metadata, etc.) regarding the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). good.
  • this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and the calls may be made in parallel or in parallel. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • a base video frame in which a base patch in which a point cloud representing a three-dimensional object as a set of points is projected on a two-dimensional plane for each subregion is arranged, and the base patch corresponding to the base patch of the point cloud.
  • An additional video in which an additional patch is arranged by projecting a partial area including at least a part of the partial area on the same two-dimensional plane as in the case of the base patch, with at least a part of the parameters changed from the case of the base patch.
  • a video frame generator that generates frames
  • An image processing apparatus including a coding unit that encodes the base video frame generated by the video frame generation unit and the additional video frame to generate encoded data.
  • the additional video frame is an occupancy map.
  • the additional video frame is a geometry video frame or a color video frame.
  • the image processing apparatus according to (2), wherein the additional patch is composed of a value added to the value of the base patch or a value replaced with the value of the base patch.
  • An additional video in which an additional patch is arranged by projecting a partial area including at least a part of the partial area on the same two-dimensional plane as in the case of the base patch, with at least a part of the parameters changed from the case of the base patch.
  • An image processing device including the base video frame generated by the decoding unit and a reconstruction unit that reconstructs the point cloud using the additional video frame.
  • Auxiliary patch information generator that generates auxiliary patch information including an additional patch flag indicating whether it is an additional patch
  • An image processing apparatus including an auxiliary patch information coding unit that encodes the auxiliary patch information generated by the auxiliary patch information generation unit and generates encoded data.
  • An additional video frame generation unit that generates an additional video frame in which the additional patch corresponding to the auxiliary patch information generated by the auxiliary patch information generation unit is arranged, and an additional video frame generation unit.
  • the image processing apparatus further comprising an additional video frame coding unit that encodes the additional video frame generated by the additional video frame generation unit.
  • the image processing apparatus wherein the additional video frame is an occupancy map and a geometry video frame.
  • the auxiliary patch information further includes information indicating an action target of the additional patch.
  • the auxiliary patch information further includes information indicating the processing content performed by using the additional patch.
  • the auxiliary patch information further includes information regarding the alignment of the additional patch.
  • the auxiliary patch information further includes information regarding the size setting of the additional patch.
  • auxiliary patch information decoding that decodes coded data and generates auxiliary patch information that is information about a patch in which a point cloud that expresses a three-dimensional shaped object as a set of points is projected onto a two-dimensional plane for each subregion.
  • Department and The additional patch is based on an additional patch flag included in the auxiliary patch information generated by the auxiliary patch information decoding unit, which indicates whether the additional patch is not essential for rebuilding the corresponding partial area of the point cloud.
  • An image processing device including a reconstruction unit that reconstructs the point cloud using the above.
  • Auxiliary patch information which is information about a patch obtained by decoding coded data and projecting a point cloud representing a three-dimensional object as a set of points on a two-dimensional plane for each subregion, is generated. Based on the additional patch flag included in the generated auxiliary patch information, which indicates whether the additional patch is not essential for rebuilding the corresponding subregion of the point cloud, the point cloud using the additional patch Image processing method for reconstruction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

本開示は、画質の低減を抑制することができるようにする画像処理装置および方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、そのポイントクラウドのベースパッチに対応する部分領域の少なくとも一部を含む部分領域を、そのベースパッチの場合と同一の2次元平面に、少なくとも一部のパラメータをベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、その生成されたベースビデオフレームおよび追加ビデオフレームを符号化し、符号化データを生成する。本開示は、例えば、画像処理装置、電子機器、画像処理方法、またはプログラム等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、画質の低減を抑制することができるようにした画像処理装置および方法に関する。
 従来、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドデータ(Point cloud data)の符号化・復号の標準化がMPEG(Moving Picture Experts Group)で進められている(例えば、非特許文献1参照)。
 また、ポイントクラウドのジオメトリデータとアトリビュートデータとを小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化する方法(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案された(例えば、非特許文献2乃至非特許文献4参照)。
"Information technology - MPEG-I (Coded Representation of Immersive Media) - Part 9: Geometry-based Point Cloud Compression", ISO/IEC 23090-9:2019(E) Tim Golla and Reinhard Klein, "Real-time Point Cloud Compression ," IEEE, 2015 K. Mammou, "Video-based and Hierarchical Approaches Point Cloud Compression" , MPEG m41649, Oct. 2017 K. Mammou,"PCC Test Model Category 2 v0," N17248 MPEG output document, October 2017
 しかしながら、非特許文献2乃至非特許文献4に記載のビデオベースドアプローチの場合、情報の精度が全てのパッチについて一様に設定された。つまり、情報の精度を局所的に変化させることができない。そのため、情報の精度を局所的に変化させることができる場合に比べて、同一情報量におけるポイントクラウドの品質が低減するおそれがあった。そのため、このビデオベースドアプローチにより生成した符号化データを復号して再構築したポイントクラウドを2次元平面に投影した表示用画像の主観画質が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、3Dデータの表示用2次元画像の画質の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成するビデオフレーム生成部と、前記ビデオフレーム生成部により生成された前記ベースビデオフレームおよび前記追加ビデオフレームを符号化し、符号化データを生成する符号化部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、生成された前記ベースビデオフレームおよび前記追加ビデオフレームを符号化し、符号化データを生成する画像処理方法である。
 本技術の他の側面の画像処理装置は、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成する復号部と、前記復号部により生成された前記ベースビデオフレームと、前記追加ビデオフレームとを用いて前記ポイントクラウドを再構築する再構築部とを備える画像処理装置である。
 本技術の他の側面の画像処理方法は、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、生成された前記ベースビデオフレームと、前記追加ビデオフレームとを用いて前記ポイントクラウドを再構築する画像処理方法である。
 本技術のさらに他の側面の画像処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報を生成する補助パッチ情報生成部と、前記補助パッチ情報生成部により生成された前記補助パッチ情報を符号化し、符号化データを生成する補助パッチ情報符号化部とを備える画像処理装置である。
 本技術のさらに他の側面の画像処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報を生成し、生成された前記補助パッチ情報を符号化し、符号化データを生成する画像処理方法である。
 本技術のさらに他の側面の画像処理装置は、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報を生成する補助パッチ情報復号部と、前記補助パッチ情報復号部により生成された前記補助パッチ情報に含まれる、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、前記追加パッチを用いた前記ポイントクラウドの再構築を行う再構築部とを備える画像処理装置である。
 本技術のさらに他の側面の画像処理方法は、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報を生成し、生成された前記補助パッチ情報に含まれる、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、前記追加パッチを用いた前記ポイントクラウドの再構築を行う画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、そのポイントクラウドのベースパッチに対応する部分領域の少なくとも一部を含む部分領域を、そのベースパッチの場合と同一の2次元平面に、少なくとも一部のパラメータをそのベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとが生成され、その生成されたベースビデオフレームおよび追加ビデオフレームが符号化され、符号化データが生成される。
 本技術の他の側面の画像処理装置および方法においては、符号化データが復号され、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、そのポイントクラウドのベースパッチに対応する部分領域の少なくとも一部を含む部分領域を、そのベースパッチの場合と同一の2次元平面に、少なくとも一部のパラメータをそのベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとが生成され、その生成されたベースビデオフレームと、その追加ビデオフレームとを用いてポイントクラウドが再構築される。
 本技術のさらに他の側面の画像処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、そのポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報が生成され、その生成された補助パッチ情報が符号化され、符号化データが生成される。
 本技術のさらに他の側面の画像処理装置および方法においては、符号化データが復号され、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報が生成され、その生成された補助パッチ情報に含まれる、そのポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、その追加パッチを用いたポイントクラウドの再構築が行われる。
ビデオベースドアプローチのデータについて説明する図である。 追加パッチの伝送について説明する図である。 追加パッチについて説明する図である。 各方法の作用対象と作用の仕方について説明する図である。 追加パッチの生成について説明する図である。 追加パッチの作用例について説明する図である。 追加パッチの作用例について説明する図である。 パッチの構成例を示す図である。 符号化装置の主な構成例を示すブロック図である。 パッキング符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 パッキング符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 3D再構築部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 3D再構築処理の流れの例を説明するフローチャートである。 追加パッチの生成について説明する図である。 パッキング符号化部の主な構成例を示すブロック図である。 パッキング符号化処理の流れの例を説明するフローチャートである。 3D再構築部の主な構成例を示すブロック図である。 3D再構築処理の流れの例を説明するフローチャートである。 パッキング符号化処理の流れの例を説明するフローチャートである。 3D再構築処理の流れの例を説明するフローチャートである。 パッキング符号化部の主な構成例を示すブロック図である。 パッキング符号化処理の流れの例を説明するフローチャートである。 3D再構築部の主な構成例を示すブロック図である。 3D再構築処理の流れの例を説明するフローチャートである。 補助パッチ情報の構成について説明する図である。 追加パッチの作用対象を示す情報について説明する図である。 追加パッチを用いた処理内容を示す情報について説明する図である。 追加パッチの位置合わせに関する情報について説明する図である。 追加オキュパンシーマップのサイズ設定情報について説明する図である。 各方法の伝送情報について説明する図である。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.追加パッチの伝送
 2.第1の実施の形態(方法1)
 3.第2の実施の形態(方法2)
 4.第3の実施の形態(方法3)
 5.第4の実施の形態(方法4)
 6.第5の実施の形態(方法5)
 7.付記
 <1.追加パッチの伝送>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、点の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合として表現する。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点の位置情報(ジオメトリデータとも称する)と属性情報(アトリビュートデータとも称する)とにより構成される。アトリビュートデータは任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。このようにポイントクラウドデータは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <ボクセルを用いた位置情報の量子化>
 このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリデータ(位置情報)を量子化するための3次元領域である。
 つまり、ポイントクラウドを内包する3次元領域(バウンディングボックス(Bounding box)とも称する)をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
  <ビデオベースドアプローチの概要>
 ビデオベースドアプローチ(Video-based approach)では、このようなポイントクラウドのジオメトリデータやアトリビュートデータが、小領域(コネクションコンポーネント)毎に2次元平面に投影される。このジオメトリデータやアトリビュートデータが2次元平面に投影された画像を投影画像とも称する。また、小領域毎の投影画像をパッチと称する。例えば、ジオメトリデータの投影画像(パッチ)において、ポイントの位置情報は、投影面に対して垂直方向(奥行方向)の位置情報(デプス値(Depth))として表現される。
 そして、このように生成された各パッチがフレーム画像内に配置される。ジオメトリデータのパッチが配置されたフレーム画像をジオメトリビデオフレーム(Geometry video frame)とも称する。また、アトリビュートデータのパッチが配置されたフレーム画像をカラービデオフレーム(Color video frame)とも称する。例えば、ジオメトリビデオフレームの各画素値は、上述のデプス値を示す。
 そして、これらのビデオフレームが、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった2次元画像用の符号化方法で符号化される。つまり、3次元構造を表す3Dデータであるポイントクラウドデータを、2次元画像用のコーデックを用いて符号化することができる。
  <オキュパンシーマップ>
 なお、このようなビデオベースドアプローチの場合、オキュパンシーマップを用いることもできる。オキュパンシーマップは、ジオメトリビデオフレームのNxN画素毎に、投影画像(パッチ)の有無を示すマップ情報である。例えば、オキュパンシーマップは、ジオメトリビデオフレームやカラービデオフレームの、パッチが存在する領域(NxN画素)を値「1」で示し、パッチが存在しない領域(NxN画素)を値「0」で示す。
 このようなオキュパンシーマップが、ジオメトリビデオフレームやカラービデオフレームとは別のデータとして符号化され、復号側に伝送される。デコーダは、このオキュパンシーマップを参照することにより、パッチが存在する領域であるか否かを把握することができるので、符号化・復号により生じるノイズ等の影響を抑制することができ、より正確に3Dデータを復元することができる。例えば、符号化・復号によりデプス値が変化しても、デコーダは、オキュパンシーマップを参照することにより、パッチが存在しない領域のデプス値を無視する(3Dデータの位置情報として処理しないようにする)ことができる。
 なお、このオキュパンシーマップも、ジオメトリビデオフレームやカラービデオフレーム等と同様に、ビデオフレームとして伝送することができる。
 つまり、ビデオベースドアプローチの場合、図1のAに示されるようなジオメトリデータのパッチ11Aが配置されたジオメトリビデオフレーム11、アトリビュートデータのパッチ12Aが配置されたカラービデオフレーム12、オキュパンシーマップのパッチ13Aが配置されたオキュパンシーマップ13が伝送される。
  <補助パッチ情報>
 さらに、ビデオベースドアプローチの場合、パッチに関する情報(補助パッチ情報とも称する)がメタデータとして伝送される。図1のBに示される補助パッチ情報14は、この補助パッチ情報の例を示す。補助パッチ情報14には、各パッチに関する情報が含まれる。例えば、図1のBに示されるように、パッチの識別情報(patchIndex)、2D投影面(ポイントクラウドのコネクションコンポーネント(小領域)が投影される2次元平面)上でのパッチの位置(u0,v0)、その投影面の3次元空間における位置(u,v,d)、パッチの幅(width)、パッチの高さ(Height)、パッチの投影方向(Axis)等の情報が含まれる。
  <動画像>
 なお、以下において、ポイントクラウド(のオブジェクト)は、2次元画像の動画像のように、時間方向に変化し得るものとする。つまり、ジオメトリデータやアトリビュートデータは、時間方向の概念を有し、2次元画像の動画像のように、所定の時間毎にサンプリングされたデータとする。なお、2次元画像のビデオフレームのように、各サンプリング時刻のデータをフレームと称する。つまり、ポイントクラウドデータ(ジオメトリデータやアトリビュートデータ)は、2次元画像の動画像のように、複数フレームにより構成されるものとする。
  <ビデオベースドアプローチによる品質の低減>
 しかしながら、このビデオベースドアプローチの場合、ポイントクラウド(小領域)の投影やスムーシング処理等によりポイントの損失(ロス)が発生するおそれがあった。例えば、小領域3次元形状に対して投影方向が好ましくない角度となると、その投影によりポイントの損失(ロス)が発生する場合がある。また、スムーシング処理等によってパッチの形状が変化することによりポイントのロスが発生する場合がある。そのため、このビデオベースドアプローチにより生成した符号化データを復号して再構築した3Dデータを2次元平面に投影した表示用画像の主観画質が低減するおそれがあった。
 しかしながら、非特許文献2乃至非特許文献4に記載のビデオベースドアプローチの場合、情報の精度が全てのパッチについて一様に設定された。そのため、例えばパッチの一部の精度を向上させようとすると、全パッチのパッチ全体の精度を向上させる必要があり、不要に情報量が増大し、符号化効率が低減するおそれがあった。
 換言するに、情報の精度を局所的に変化させることができないため、情報の精度を局所的に変化させることができる場合に比べて、同一情報量におけるポイントクラウドの品質が低減するおそれがあった。そのため、このようなビデオベースドアプローチにより生成した符号化データを復号して再構築したポイントクラウドを2次元平面に投影した表示用画像の主観画質が低減するおそれがあった。
 例えば、オキュパンシーマップの精度が粗いと、パッチの境界にバリが発生し、再構築されたポイントクラウドの品質が低減するおそれがあった。このバリの発生を抑制するために精度を向上させることが考えられるが、その場合、局所的に精度を制御することが困難であるため、オキュパンシーマップ全体の精度を向上させる必要があった。そのため、不要に情報量が増大し、符号化効率が低減するおそれがあった。
 なお、このようなバリを低減させる方法、すなわち、再構築されたポイントクラウドの品質の低減を抑制する方法として、ジオメトリデータに対してスムーシング処理を行うことが考えられた。しかしながら、このスムーシング処理は処理量が多く、負荷が増大するおそれがあった。また、このスムーシング処理を行うべき箇所の探索も処理量が多く、負荷が増大するおそれがあった。
 また、局所的に情報の精度を制御することが困難であるため、例えば、視点位置に対して遠方のオブジェクトと近方のオブジェクトとを同一の精度(解像度)で再構築する必要があった。例えば、遠方のオブジェクトの精度(解像度)を近方のオブジェクトの精度(解像度)に合わせる場合、遠方のオブジェクトの情報量が不要に増大するおそれがあった。逆に、近方のオブジェクトの精度(解像度)を遠方のオブジェクトの精度(解像度)に合わせる場合、近方のオブジェクトの品質が低減し、表示用画像の主観画質が低減するおそれがあった。
 さらに、例えばユーザの権限等に基づいて再構築されたポイントクラウドの品質を局所的に制御する(表示用画像の主観画質をよく所的に制御する)ことが困難であった。例えば、高額の利用料を支払ったユーザや管理者権限のユーザには、ポイントクラウド全体がオリジナルの品質(高解像度)で提供するが、低額の利用料を支払ったユーザやゲスト権限のユーザには、一部が低品質(低解像度)化されて提供される(つまり、2次元画像において一部の領域にモザイク処理がかけられたような状態で提供される)といった制御を行うことが困難であった。そのため多様なサービスを実現することが困難であった。
  <追加パッチの伝送>
 そこで、上述のビデオベースドアプローチにおいて、図2の表20に示されるように、追加パッチを伝送するようにする。非特許文献2乃至非特許文献4に記載のビデオベースドアプローチにおけるパッチのことをベースパッチと称する。このベースパッチは、そのベースパッチに対応する小領域を含むポイントクラウドの部分領域の再構築に必ず用いられるパッチである。
 これに対して、ベースパッチ以外のパッチを追加パッチと称する。この追加パッチは、オプションのパッチであり、その追加パッチに対応する小領域を含むポイントクラウドの部分領域の再構築に必須ではないパッチである。つまり、ポイントクラウドは、ベースパッチのみで再構築することもできるし、ベースパッチと追加パッチの両方を用いて再構築することもできる。
 つまり、図3に示されるように、ベースパッチ30および追加パッチ40を伝送するようにする。ベースパッチ30は、図1の場合と同様に、ジオメトリビデオフレーム31に配置されたジオメトリデータのパッチ31A、カラービデオフレーム32に配置されたアトリビュートデータのパッチ32A、および、オキュパンシーマップ33に配置されたオキュパンシーマップのパッチ33Aにより構成される。
 同様に、追加パッチ40は、ジオメトリデータのパッチ41A、アトリビュートデータのパッチ42A、およびオキュパンシーマップのパッチ43Aにより構成されうるが、これらの内の一部が省略されてもよい。例えば、追加パッチ40が、ジオメトリデータのパッチ41A、アトリビュートデータのパッチ42A、およびオキュパンシーマップのパッチ43Aのいずれかにより構成されるようにしてもよいし、ジオメトリデータのパッチ41A、アトリビュートデータのパッチ42A、およびオキュパンシーマップのパッチ43Aのいずれかが省略されてもよい。なお、追加パッチ40に対応するポイントクラウドの小領域は、任意であり、ベースパッチ30に対応するポイントクラウドの小領域の少なくとも一部を含んでいてもよいし、ベースパッチ30に対応するポイントクラウドの小領域以外の領域を含んでいてもよい。もちろん、追加パッチ40に対応する小領域が、ベースパッチ30に対応する小領域と完全に一致してもよいし、ベースパッチ30に対応する小領域と重畳しなくてもよい。
 なお、ベースパッチ30と追加パッチ40とを互いに同一のビデオフレームに配置することもできるが、以下においては、説明の便宜上、ベースパッチ30および追加パッチ40が、互いに異なるビデオフレームに配置されるものとする。また、追加パッチが配置されるビデオフレームを追加ビデオフレームとも称する。例えば、パッチ41Aが配置される追加ビデオフレームを追加ジオメトリビデオフレーム41とも称する。また、パッチ42Aが配置される追加ビデオフレームを追加カラービデオフレーム42とも称する。さらに、パッチ43Aが配置される追加ビデオフレーム(オキュパンシーマップ)を追加オキュパンシーマップ43とも称する。
 この追加パッチは、ベースパッチの情報の更新に用いられるようにしてもよい。換言するに、追加パッチは、ベースパッチの情報の更新に用いられる情報により構成されるようにしてもよい。
 例えば、図2の表20に示される「方法1」のように、この追加パッチが、ベースパッチの情報の精度の局所的な制御(部分制御)に用いられるようにしてもよい。換言するに、追加パッチが、ベースパッチの情報の精度の局所的な制御に用いられる情報により構成されてもよい。例えば、ベースパッチよりも高精度の情報により構成される追加パッチをベースパッチとともに伝送し、受信側において、その追加パッチを用いてベースパッチの情報を更新し、ベースパッチの情報の精度を局所的に向上させることができるようにしてもよい。このようにすることにより、その情報が更新されたベースパッチを用いて再構築されたポイントクラウドの品質を局所的に向上させることができる。
 なお、このように精度を制御するパラメータは任意であり、例えば、解像度であってもよいし、ビット深度であってもよい。また、図2の表20に示される「方法1-1」のように、この追加パッチは、オキュパンシーマップのパッチであってもよい。つまり、追加ビデオフレームは、追加オキュパンシーマップであってもよい。さらに、図2の表20に示される「方法1-2」のように、この追加パッチは、ジオメトリデータのパッチであってもよい。つまり、追加ビデオフレームは、追加ジオメトリビデオフレームであってもよい。また、図2の表20に示される「方法1-3」のように、この追加パッチは、アトリビュートデータのパッチであってもよい。つまり、追加ビデオフレームは、追加カラービデオフレームであってもよい。なお、これらの「方法1-1」乃至方法「1-3」は、任意の組み合わせで組み合わせて適用することもできる。
 また例えば、図2の表20に示される「方法2」のように、この追加パッチが、スムーシング処理(smoothing)の代用として用いられるようにしてもよい。換言するに、追加パッチが、スムーシング処理(smoothing)結果に対応する情報により構成されてもよい。例えば、このような追加パッチをベースパッチとともに伝送し、受信側において、その追加パッチを用いてベースパッチの情報を更新し、スムーシング処理後のベースパッチが得られるようにしてもよい。このようにすることにより、受信側においてスムーシング処理を行わずに、スムーシング処理が反映されたポイントクラウドを再構築することができる。つまり、スムーシング処理による負荷の増大を抑制することができる。
 さらに例えば、図2の表20に示される「方法3」のように、この追加パッチが、ベースパッチに対して行われる処理の範囲の指定に用いられるようにしてもよい。換言するに、追加パッチが、ベースパッチに対して行われる処理の範囲を指定する情報により構成されるようにしてもよい。この処理内容は任意である。例えば、スムーシング処理の範囲がこの追加パッチにより指定されるようにしてもよい。例えば、このような追加パッチとベースパッチとを伝送し、受信側において、ベースパッチの、追加パッチにより指定される範囲に対して、スムーシング処理が施されるようにしてもよい。このようにすることにより、スムーシング処理を行う領域の探索が不要になり、負荷の増大を抑制することができる。
 以上の「方法1」乃至「方法3」の各方法の場合、追加パッチは、例えば、情報の精度や対応する小領域等、少なくとも一部のパラメータがベースパッチと異なる。また、追加パッチは、ベースパッチの投影面と同一の投影面に投影されたジオメトリデータやアトリビュートデータ、またはそれらに対応するオキュパンシーマップにより構成されるようにしてもよい。
 また例えば、図2の表20に示される「方法4」のように、この追加パッチが、ベースパッチと同様にポイントクラウドの再構築に用いられるようにしてもよい。換言するに、追加パッチが、ベースパッチと同様にポイントクラウドの再構築に用いられる情報により構成されてもよい。例えば、このような追加パッチをベースパッチとともに伝送し、受信側において、ベースパッチのみを用いてポイントクラウドを再構築するか、ベースパッチおよび追加パッチを用いてポイントクラウドを再構築するかを選択することができるようにしてもよい。このようにすることにより、諸条件に応じて、ポイントクラウドの品質を制御することができる。なお、この場合、追加パッチは、アトリビュートデータを省略してもよい。つまり、追加パッチが、ジオメトリデータのパッチとオキュパンシーマップのパッチとにより構成されるようにしてもよい。つまり、追加ビデオフレームが、ジオメトリビデオフレームとオキュパンシーマップとにより構成されるようにしてもよい。
 さらに例えば、図2の表20に示される「方法5」のように、補助パッチ情報として、追加パッチに関する情報を伝送するようにしてもよい。この情報を参照することにより、受信側において、追加パッチの特徴をより正確に把握することができる。この追加パッチに関する情報の内容は任意である。例えば、追加パッチに関する情報として、追加パッチであるかを示すフラグ情報を、補助パッチ情報として伝送するようにしてもよい。このフラグ情報を参照することにより、受信側において、追加パッチとベースパッチとをより容易に識別することができる。
 この「方法5」は、上述の「方法1」乃至「方法4」の各方法と組み合わせて適用することができる。なお、「方法1」乃至「方法3」の各方法の場合、補助パッチ情報に含まれるベースパッチに関する情報を追加パッチにも適用するようにしてもよい。その場合、この追加パッチに関する情報を省略することもできる。
  <追加パッチの作用>
 図4に示される表50は、上述の各方法の作用対象と作用の仕方をまとめたものである。例えば、追加パッチを用いてオキュパンシーマップの精度(解像度)を局所的に向上させる「方法1-1」の場合、追加パッチは、オキュパンシーマップのパッチであり、その追加パッチよりも粗いピクセル(解像度)のオキュパンシーマップのベースパッチに対して作用する。例えば、ベースパッチは、追加パッチとビット毎に論理演算(例えば、論理和(OR)や論理積(AND))が行われることにより、その情報が更新される。例えば、ベースパッチが示す領域に追加パッチが示す領域が追加されたり、ベースパッチが示す領域から追加パッチが示す領域が削除されたりする。つまり、この論理演算により、オキュパンシーマップの精度(解像度)を局所的に向上させることができる。
 また、追加パッチを用いてジオメトリデータの精度(解像度)を局所的に向上させる「方法1-2」の場合、追加パッチは、ジオメトリデータのパッチであり、その追加パッチよりも粗い値(ビット深度)のジオメトリデータのベースパッチに対して作用する。例えば、ベースパッチの値と追加パッチの値とを加算したり、ベースパッチの値から追加パッチの値を減算したり、ベースパッチの値を追加パッチの値に置き換えたりすることにより、ベースパッチの情報が更新される。つまり、このような演算や置き換えにより、ジオメトリデータの精度(ビット深度)を局所的に向上させることができる。
 さらに、追加パッチを用いてアトリビュートデータの精度(解像度)を局所的に向上させる「方法1-3」の場合、追加パッチは、アトリビュートデータのパッチであり、その追加パッチよりも粗い値(ビット深度)のアトリビュートデータのベースパッチに対して作用する。例えば、ベースパッチの値と追加パッチの値とを加算したり、ベースパッチの値から追加パッチの値を減算したり、ベースパッチの値を追加パッチの値に置き換えたりすることにより、ベースパッチの情報が更新される。つまり、このような演算や置き換えにより、アトリビュートデータの精度(ビット深度)を局所的に向上させることができる。
 また、追加パッチを用いてスムーシング処理結果を得る「方法2」の場合、追加パッチは、オキュパンシーマップのパッチであり、その追加パッチと同一のピクセル(解像度)のオキュパンシーマップのベースパッチか、またはその追加パッチよりも粗いピクセル(解像度)のオキュパンシーマップのベースパッチに対して作用する。例えば、ベースパッチは、追加パッチとビット毎に論理演算(例えば、論理和(OR)や論理積(AND))が行われることにより、その情報が更新される。例えば、ベースパッチが示す領域に追加パッチが示す領域が追加されたり、ベースパッチが示す領域から追加パッチが示す領域が削除されたりすることにより、スムーシング処理が行われたベースパッチが得られる。これにより、負荷の増大を抑制することができる。
 さらに、追加パッチを用いて処理範囲の指定を行う「方法3」の場合、追加パッチは、オキュパンシーマップのパッチであり、その追加パッチと同一のピクセル(解像度)のオキュパンシーマップのベースパッチか、またはその追加パッチよりも粗いピクセル(解像度)のオキュパンシーマップのベースパッチに対して作用する。例えば、追加パッチは、処理対象範囲(例えばスムーシング処理対象範囲)にフラグを立てており、ベースパッチの、その追加パッチに示される範囲に対してスムーシング処理が施される。これにより、負荷の増大を抑制することができる。
 また、追加パッチを用いてポイントクラウドの再構築を行う「方法4」の場合、追加パッチは、ベースパッチと同様、ポイントクラウドの再構築に用いられるパッチであり、ベースパッチを用いて再構築されたポイントクラウドに対して作用する。例えば、追加パッチが、オキュパンシーマップのパッチとジオメトリデータのパッチとにより構成されており、そのアトリビュートデータを再構築するために、ベースパッチにより再構築されたポイントクラウドを用いてリカラー処理が行われる。
 <2.第1の実施の形態(方法1)>
  <方法1-1>
 本実施の形態においては、上述の「方法1」について説明する。まず、「方法1-1」について説明する。この「方法1-1」の場合、ジオメトリデータのパッチから複数種類の精度のオキュパンシーマップのパッチが生成される。
 例えば、図5のAに示されるようなジオメトリデータのパッチから、図5のBに示されるような、低精度のオキュパンシーマップのパッチを生成する。このパッチをベースパッチとする。このようにすることにより符号化効率を向上させることができる。ただし、この場合、オキュパンシーマップが示すジオメトリデータの範囲の正確性が低減する。なお、このベースパッチを、ジオメトリデータのパッチの精度で表すと、図5のCのようになる。
 ところで、図5のAに示されるジオメトリデータのパッチから、そのジオメトリデータと同精度(同一の解像度)でオキュパンシーマップを生成すると、図5のDのようになる。この場合、オキュパンシーマップがジオメトリデータの範囲をより正確に表すことができるが、オキュパンシーマップの情報量が増大する。
 そこで、この図5のDに示されるパッチと図5のCに示されるベースパッチとの差分を導出し(図5のE)、それを追加パッチとする。つまり、図5のBに示されるベースパッチと、図5のEに示される追加パッチとを伝送するようにする。受信側においては、これらのパッチから、図5のDに示されるようなパッチを得ることができる。つまり、ベースパッチの精度を向上させることができる。すなわち、追加パッチを伝送することにより、ポイントクラウドの精度を局所的に向上させることができる。
 この差分(追加パッチが示す領域)は、ベースパッチが示す領域から削除する領域であってもよいし、ベースパッチが示す領域に追加する領域であってもよい。追加パッチが、ベースパッチが示す領域から削除する領域を示す場合、例えば、図6に示されるように、ベースパッチのオキュパンシーマップ71と、追加パッチのオキュパンシーマップ72との、ビット毎の論理積(AND)を行うことにより、そのベースパッチが示す領域から追加パッチが示す領域を削除した領域が導出される。また、追加パッチが、ベースパッチが示す領域に追加する領域を示す場合、例えば、図7に示されるように、ベースパッチのオキュパンシーマップ81と、追加パッチのオキュパンシーマップ82との、ビット毎の論理和(OR)を行うことにより、そのベースパッチが示す領域に追加パッチが示す領域を追加した領域が導出される。
 なお、例えば、図8のAに示されるように、オキュパンシーマップ91において局所的に「0」のビットや「1」のビットが存在する場合、図8のBに示されるように、全ビットが「1」のオキュパンシーマップや全ビットが「0」のオキュパンシーマップ92を、ベースパッチのオキュパンシーマップとしてもよい。そして、オキュパンシーマップ91において局所的に値が異なるビットのオキュパンシーマップ93(図8のB)を追加パッチのオキュパンシーマップとしてもよい。この場合、ベースパッチのオキュパンシーマップ92(図8のB)は、受信側においても既知とし、その伝送を省略してもよい。すなわち、図8のBに示されるオキュパンシーマップ93のみを伝送するようにしてもよい。このようにすることにより、オキュパンシーマップの符号量の増大を抑制することができる。
  <符号化装置>
 次に、このような「方法1-1」を行う符号化装置について説明する。図9は、本技術を適用した符号化装置の構成の一例を示すブロック図である。図9に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。符号化装置100は、図2の表20に示される「方法1-1」を適用してこのような処理を行う。
 なお、図9においては、処理部やデータの流れ等の主なものを示しており、図9に示されるものが全てとは限らない。つまり、符号化装置100において、図9においてブロックとして示されていない処理部が存在したり、図9において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図9に示されるように符号化装置100は、パッチ分解部101、パッキング符号化部102、およびマルチプレクサ103を有する。
 パッチ分解部101は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部101は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド)を取得する。また、パッチ分解部101は、取得したその3Dデータを複数の小領域(コネクションコンポーネント)に分解し、その小領域毎に3Dデータを2次元平面に投影し、ジオメトリデータのパッチやアトリビュートデータのパッチを生成する。
 また、パッチ分解部101は、生成したそれらのパッチ対応するオキュパンシーマップ(Occupancy Map)を生成する。その際、パッチ分解部101は、上述した「方法1-1」を適用して、オキュパンシーマップのベースパッチおよび追加パッチを生成する。つまり、パッチ分解部101は、オキュパンシーマップのベースパッチの精度(解像度)を局所的に向上させる追加パッチを生成する。
 パッチ分解部101は、生成した各パッチ(ジオメトリデータやアトリビュートデータのベースパッチ、オキュパンシーマップのベースパッチや追加パッチ)をパッキング符号化部102に供給する。
 パッキング符号化部102は、データのパッキングや符号化に関する処理を行う。例えば、パッキング符号化部102は、パッチ分解部101から供給されるベースパッチや追加パッチを取得し、各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング符号化部102は、ジオメトリデータのベースパッチをビデオフレームとしてパッキングし、ジオメトリビデオフレーム(Geometry video frame(s))を生成する。また、パッキング符号化部102は、アトリビュートデータのベースパッチを、ビデオフレームとしてパッキングし、カラービデオフレーム(Color video frame(s))を生成する。さらに、パッキング符号化部102は、それらのビデオフレームに対応する、ベースパッチを配置したオキュパンシーマップと追加パッチを配置した追加オキュパンシーマップとを生成する。
 また、パッキング符号化部102は、その生成したビデオフレーム(ジオメトリビデオフレーム、カラービデオフレーム、オキュパンシーマップ、追加オキュパンシーマップ)をそれぞれ符号化し、符号化データを生成する。
 さらに、パッキング符号化部102は、パッチに関する情報である補助パッチ情報を生成し、符号化(圧縮)し、符号化データを生成する。パッキング符号化部102は、生成したそれらの符号化データをマルチプレクサ103に供給する。
 マルチプレクサ103は、多重化に関する処理を行う。例えば、マルチプレクサ103は、パッキング符号化部102から供給される各種符号化データを取得し、それらを多重化してビットストリームを生成する。マルチプレクサ103は、その生成したビットストリームを符号化装置100の外部に出力する。
  <パッキング符号化部>
 図10は、パッキング符号化部102の主な構成例を示すブロック図である。なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、パッキング符号化部102において、図10においてブロックとして示されていない処理部が存在したり、図10において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図10に示されるように、パッキング符号化部102は、オキュパンシーマップ生成部121、ジオメトリビデオフレーム生成部122、OMap符号化部123、ビデオ符号化部124、ジオメトリビデオフレーム復号部125、ジオメトリデータ再構築部126、ジオメトリスムーシング処理部127、カラービデオフレーム生成部128、ビデオ符号化部129、補助パッチ情報生成部130、および補助パッチ情報符号化部131を有する。
 オキュパンシーマップ生成部121は、パッチ分解部111から供給されるベースパッチを配置した、ビデオフレームに対応するオキュパンシーマップを生成する。また、オキュパンシーマップ生成部121は、同様にパッチ分解部111から供給される追加パッチを配置した、追加ビデオフレームに対応する追加オキュパンシーマップを生成する。
 オキュパンシーマップ生成部121は、生成したオキュパンシーマップおよび追加オキュパンシーマップをOMap符号化部123に供給する。また、オキュパンシーマップ生成部121は、生成したオキュパンシーマップをジオメトリビデオフレーム生成部122に供給する。さらに、オキュパンシーマップ生成部121は、ベースパッチや追加パッチに関する情報を補助パッチ情報生成部130に供給する。
 ジオメトリビデオフレーム生成部122は、パッチ分解部111から供給されるジオメトリデータのベースパッチを配置したビデオフレームであるジオメトリビデオフレームを生成する。ジオメトリビデオフレーム生成部122は、生成したジオメトリビデオフレームをビデオ符号化部124に供給する。
 OMap符号化部123は、オキュパンシーマップ生成部121から供給されるオキュパンシーマップを2次元画像用の符号化方式により符号化し、その符号化データを生成する。また、OMap符号化部123は、オキュパンシーマップ生成部121から供給される追加オキュパンシーマップを2次元画像用の符号化方式により符号化し、その符号化データを生成する。OMap符号化部123は、それらの符号化データをマルチプレクサ103に供給する。
 ビデオ符号化部124は、ジオメトリビデオフレーム生成部122から供給されるジオメトリビデオフレームを2次元画像用の符号化方式により符号化し、その符号化データを生成する。ビデオ符号化部124は、生成した符号化データをマルチプレクサ103に供給する。また、ビデオ符号化部124は、生成した符号化データをジオメトリビデオフレーム復号部125にも供給する。
 ジオメトリビデオフレーム復号部125は、ビデオ符号化部124から供給される符号化データを、ビデオ符号化部124が適用した符号化方式に対応する2次元画像用の復号方式により復号し、ジオメトリビデオフレームを生成(復元)する。ジオメトリビデオフレーム復号部125は、生成(復元)したジオメトリビデオフレームをジオメトリデータ再構築部126に供給する。
 ジオメトリデータ再構築部126は、ジオメトリビデオフレーム復号部125から供給されるジオメトリビデオフレームからジオメトリデータのベースパッチを抽出し、そのベースパッチを用いてポイントクラウドのジオメトリデータを再構築する。つまり、各ポイントが3次元空間に配置される。ジオメトリデータ再構築部126は、再構築したジオメトリデータをジオメトリスムーシング処理部127に供給する。
 ジオメトリスムーシング処理部127は、ジオメトリデータ再構築部126から供給されるジオメトリデータに対してスムーシング処理を行い、パッチ境界のバリ等を低減させる。ジオメトリスムーシング処理部127は、そのスムーシング処理後のジオメトリデータをカラービデオフレーム生成部128に供給する。
 カラービデオフレーム生成部128は、リカラー処理を行う等して、パッチ分解部111から供給されるアトリビュートデータのベースパッチを、ジオメトリスムーシング処理部127から供給されるジオメトリデータに対応させ、そのベースパッチを配置したビデオフレームであるカラービデオフレームを生成する。カラービデオフレーム生成部128は、生成したカラービデオフレームをビデオ符号化部129に供給する。
 ビデオ符号化部129は、カラービデオフレーム生成部128から供給されるカラービデオフレームを2次元画像用の符号化方式により符号化し、その符号化データを生成する。ビデオ符号化部129は、生成した符号化データをマルチプレクサ103に供給する。
 補助パッチ情報生成部130は、オキュパンシーマップ生成部121から供給されるオキュパンシーマップのベースパッチや追加パッチに関する情報を用いて補助パッチ情報を生成する。補助パッチ情報生成部130は、生成した補助パッチ情報を補助パッチ情報符号化部131に供給する。
 補助パッチ情報符号化部131は、補助パッチ情報生成部130から供給される補助パッチ情報を任意の符号化方式により符号化し、その符号化データを生成する。補助パッチ情報符号化部131は、生成した符号化データをマルチプレクサ103に供給する。
  <符号化処理の流れ>
 このような構成の符号化装置100により実行される符号化処理の流れの例を、図11のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100のパッチ分解部101は、ステップS101において、ベースパッチを生成する。また、ステップS102において、パッチ分解部101は、追加パッチを生成する。この場合、符号化装置100は、図2の表20の「方法1-1」を適用するので、オキュパンシーマップのベースパッチおよび追加パッチを生成する。
 ステップS103において、パッキング符号化部102は、パッキング符号化処理を実行し、ベースパッチや追加パッチをパッキングし、生成したビデオフレームを符号化する。
 ステップS104において、マルチプレクサ103は、ステップS102において生成された各種符号化データを多重化し、ビットストリームを生成する。ステップS105において、マルチプレクサ103は、そのビットストリームを符号化装置100の外部に出力する。ステップS105の処理が終了すると、符号化処理が終了する。
  <パッキング符号化処理の流れ>
 次に、図12のフローチャートを参照して、図11のステップS103において実行されるパッキング符号化処理の流れの例を説明する。
 パッキング符号化処理が開始されると、オキュパンシーマップ生成部121は、ステップS121において、図11のステップS101において生成されたベースパッチを用いて、オキュパンシーマップを生成する。また、ステップS122において、オキュパンシーマップ生成部121は、図11のステップS102において生成された追加パッチを用いて、追加オキュパンシーマップを生成する。さらに、ステップS123において、ジオメトリビデオフレーム生成部122は、図11のステップS101において生成されたベースパッチを用いて、ジオメトリビデオフレームを生成する。
 ステップS124において、OMap符号化部123は、ステップS121において生成されたオキュパンシーマップを2次元画像用の符号化方式により符号化し、その符号化データを生成する。また、ステップS125において、OMap符号化部123は、ステップS122において生成された追加オキュパンシーマップを2次元画像用の符号化方式により符号化し、その符号化データを生成する。
 ステップS126において、ビデオ符号化部124は、ステップS123において生成されたジオメトリビデオフレームを2次元画像用の符号化方式により符号化し、その符号化データを生成する。また、ステップS127において、ジオメトリビデオフレーム復号部125は、ステップS126において生成された符号化データを、その符号化方式に対応する2次元画像用の復号方式により復号し、ジオメトリビデオフレームを生成(復元)する。
 ステップS128において、ジオメトリデータ再構築部126は、ステップS127において生成(復元)されたジオメトリビデオフレームをアンパッキングし、ジオメトリデータを再構築する。
 ステップS129において、ジオメトリスムーシング処理部127は、ステップS128において再構築されたジオメトリデータに対してスムーシング処理を施し、パッチ境界のバリ等を抑制させる。
 ステップS130において、カラービデオフレーム生成部128は、リカラー処理等により、アトリビュートデータをジオメトリスムーシング処理結果に対応させ、そのベースパッチを配置したカラービデオフレームを生成する。また、ステップS131において、ビデオ符号化部129は、そのカラービデオフレームを2次元画像用の符号化方式により符号化し、その符号化データを生成する。
 ステップS132において、補助パッチ情報生成部130は、オキュパンシーマップのベースパッチや追加パッチに関する情報を用いて、補助パッチ情報を生成する。ステップS133において、補助パッチ情報符号化部131は、生成された補助パッチ情報を、任意の符号化方式により符号化し、その符号化データを生成する。
 ステップS133の処理が終了するとパッキング符号化処理が終了し、処理は図11に戻る。
 以上のように各処理を実行することにより、符号化装置100は、オキュパンシーマップと、そのオキュパンシーマップの精度を向上させるための、追加オキュパンシーマップを生成することができる。したがって、符号化装置100は、オキュパンシーマップの精度を局所的に向上させることができる。これにより、符号化効率の低減を抑制し、かつ、負荷の増大を抑制しながら、再構築されたポイントクラウドの品質の低減を抑制することができる。つまり、3Dデータの表示用2次元画像の画質の低減を抑制することができる。
  <復号装置>
 図13は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図13に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3Dデータを再構築する装置(ビデオベースドアプローチを適用した復号装置)である。この復号装置200は、図9の符号化装置100に対応する復号装置であり、符号化装置100により生成されたビットストリームを復号して3Dデータを再構築することができる。つまり、この復号装置200は、図2の表20に示される「方法1-1」を適用してこのような処理を行う。
 なお、図13においては、処理部やデータの流れ等の主なものを示しており、図13に示されるものが全てとは限らない。つまり、復号装置200において、図13においてブロックとして示されていない処理部が存在したり、図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図13に示されるように復号装置200は、デマルチプレクサ201、補助パッチ情報復号部202、OMap復号部203、ビデオ復号部204、ビデオ復号部205、および3D再構築部206を有する。
 デマルチプレクサ201は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ201は、復号装置200に入力されるビットストリームを取得することができる。このビットストリームは、例えば、符号化装置100より供給される。
 また、デマルチプレクサ201は、このビットストリームを逆多重化することができる。例えば、デマルチプレクサ201は、逆多重化によりビットストリームから補助パッチ情報の符号化データを抽出することができる。また、デマルチプレクサ201は、逆多重化によりビットストリームからジオメトリビデオフレームの符号化データを抽出することができる。さらに、デマルチプレクサ201は、逆多重化によりビットストリームからカラービデオフレームの符号化データを抽出することができる。また、デマルチプレクサ201は、逆多重化によりビットストリームから、オキュパンシーマップの符号化データや追加オキュパンシーマップの符号化データを抽出することができる。
 さらに、デマルチプレクサ201は、抽出したデータを後段の処理部に供給することができる。例えば、デマルチプレクサ201は、抽出した補助パッチ情報の符号化データを補助パッチ情報復号部202に供給することができる。また、デマルチプレクサ201は、抽出したジオメトリビデオフレームの符号化データをビデオ復号部204に供給することができる。さらに、デマルチプレクサ201は、抽出したカラービデオフレームの符号化データをビデオ復号部205に供給することができる。また、デマルチプレクサ201は、抽出したオキュパンシーマップの符号化データや追加オキュパンシーマップの符号化データをOMap復号部203に供給することができる。
 補助パッチ情報復号部202は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部202は、デマルチプレクサ201から供給される補助パッチ情報の符号化データを取得することができる。また、補助パッチ情報復号部202は、その符号化データを復号し、補助パッチ情報を生成することができる。この復号方法は、符号化の際に適用された符号化方法(例えば、補助パッチ情報符号化部131が適用した符号化方法)に対応する復号方法であれば任意である。さらに、補助パッチ情報復号部202は、その生成した補助パッチ情報を3D再構築部206に供給する。
 OMap復号部203は、オキュパンシーマップの符号化データや追加オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部203は、デマルチプレクサ201から供給されるオキュパンシーマップの符号化データや追加オキュパンシーマップの符号化データを取得することができる。また、OMap復号部203は、それらの符号化データを復号し、オキュパンシーマップや追加オキュパンシーマップを生成することができる。さらに、OMap復号部203は、そのオキュパンシーマップや追加オキュパンシーマップを、3D再構築部206に供給することができる。
 ビデオ復号部204は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部204は、デマルチプレクサ201から供給されるジオメトリビデオフレームの符号化データを取得することができる。また、ビデオ復号部204は、その符号化データを復号し、ジオメトリビデオフレームを生成することができる。この復号方法は、符号化の際に適用された符号化方法(例えば、ビデオ符号化部124が適用した符号化方法)に対応する2次元画像用の復号方法であれば任意である。さらに、ビデオ復号部204は、そのジオメトリビデオフレームを、3D再構築部206に供給することができる。
 ビデオ復号部205は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部205は、デマルチプレクサ201から供給されるカラービデオフレームの符号化データを取得することができる。また、ビデオ復号部205は、その符号化データを復号し、カラービデオフレームを生成することができる。この復号方法は、符号化の際に適用された符号化方法(例えば、ビデオ符号化部129が適用した符号化方法)に対応する2次元画像用の復号方法であれば任意である。さらに、ビデオ復号部205は、そのカラービデオフレームを、3D再構築部206に供給することができる。
 3D再構築部206は、ビデオフレームのアンパッキングや3Dデータの再構築に関する処理を行う。例えば、3D再構築部206は、補助パッチ情報復号部202から供給される補助パッチ情報を取得することができる。また、3D再構築部206は、OMap復号部203から供給されるオキュパンシーマップを取得することができる。さらに、3D再構築部206は、ビデオ復号部204から供給されるジオメトリビデオフレームを取得することができる。また、3D再構築部206は、ビデオ復号部205から供給されるカラービデオフレームを取得することができる。さらに、3D再構築部206は、それらのビデオフレームをアンパッキングし、3Dデータ(例えばポイントクラウド(Point Cloud))を再構築することができる。3D再構築部206は、このような処理により得られた3Dデータを復号装置200の外部に出力する。この3Dデータは、例えば、表示部に供給されてその画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
  <3D再構築部>
 図14は、3D再構築部206の主な構成例を示すブロック図である。なお、図14においては、処理部やデータの流れ等の主なものを示しており、図14に示されるものが全てとは限らない。つまり、3D再構築部206において、図14においてブロックとして示されていない処理部が存在したり、図14において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図14に示されるように、3D再構築部206は、オキュパンシーマップ再構築部221、ジオメトリデータ再構築部222、アトリビュートデータ再構築部223、ジオメトリスムーシング処理部224、およびリカラー処理部225を有する。
 オキュパンシーマップ再構築部221は、補助パッチ情報復号部202から供給される補助パッチ情報を用いて、OMap復号部203から供給されるオキュパンシーマップと追加オキュパンシーマップとをビット毎に論理演算することにより(論理和や論理積を導出することにより)、そのオキュパンシーマップおよび追加オキュパンシーマップを合成した合成オキュパンシーマップを生成する。オキュパンシーマップ生成部121は、その合成オキュパンシーマップをジオメトリデータ再構築部222に供給する。
 ジオメトリデータ再構築部222は、補助パッチ情報復号部202から供給される補助パッチ情報と、オキュパンシーマップ再構築部221から供給される合成オキュパンシーマップとを用いて、ビデオ復号部204(図13)から供給されるジオメトリビデオフレームをアンパッキングしてジオメトリデータのベースパッチを抽出する。また、ジオメトリデータ再構築部222は、さらにそのベースパッチや補助パッチ情報を用いてジオメトリデータを再構築する。さらに、ジオメトリデータ再構築部222は、再構築したジオメトリデータや合成オキュパンシーマップをアトリビュートデータ再構築部223に供給する。
 アトリビュートデータ再構築部223は、補助パッチ情報復号部202から供給される補助パッチ情報と、オキュパンシーマップ再構築部221から供給される合成オキュパンシーマップとを用いて、ビデオ復号部205(図13)から供給されるカラービデオフレームをアンパッキングしてアトリビュートデータのベースパッチを抽出する。また、アトリビュートデータ再構築部223は、さらにそのベースパッチや補助パッチ情報を用いてアトリビュートデータを再構築する。アトリビュートデータ再構築部223は、ジオメトリデータ、合成オキュパンシーマップ、再構築したアトリビュートデータ等の各種情報をジオメトリスムーシング処理部224に供給する。
 ジオメトリスムーシング処理部224は、アトリビュートデータ再構築部223から供給されるジオメトリデータに対してスムーシング処理を行う。ジオメトリスムーシング処理部224は、スムーシング処理されたジオメトリデータやアトリビュートデータをリカラー処理部225に供給する。
 リカラー処理部225は、ジオメトリスムーシング処理部224から供給されるジオメトリデータやアトリビュートデータを取得し、それらを用いてリカラー処理を行い、アトリビュートデータをジオメトリデータに対応させることにより、ポイントクラウドを生成(再構築)する。リカラー処理部225は、そのポイントクラウドを復号装置200の外部に出力する。
  <復号処理の流れ>
 このような構成の復号装置200により実行される復号処理の流れの例を、図15のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200のデマルチプレクサ201は、ステップS201において、ビットストリームを逆多重化し、補助パッチ情報、オキュパンシーマップ、追加オキュパンシーマップ、ジオメトリビデオフレーム、およびカラービデオフレーム等をビットストリームから抽出する。
 ステップS202において、補助パッチ情報復号部202は、ステップS201の処理によりビットストリームから抽出された補助パッチ情報の符号化データを復号する。ステップS203において、OMap復号部203は、ステップS201の処理によりビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。また、ステップS204において、OMap復号部203は、ステップS201の処理によりビットストリームから抽出された追加オキュパンシーマップの符号化データを復号する。
 ステップS205において、ビデオ復号部204は、ステップS201の処理によりビットストリームから抽出されたジオメトリビデオフレームの符号化データを復号する。ステップS206において、ビデオ復号部205は、ステップS201の処理によりビットストリームから抽出されたカラービデオフレームの符号化データを復号する。
 ステップS207において、3D再構築部206は、以上の処理により得られた情報を用いて3D再構築処理を行い、3Dデータを再構築する。ステップS207の処理が終了すると、復号処理が終了する。
  <3D再構築処理の流れ>
 次に、図15のステップS207において実行される3D再構築処理の流れの例を、図16のフローチャートを参照して説明する。
 3D再構築処理が開始されると、オキュパンシーマップ再構築部221は、ステップS221において、補助パッチ情報を用いてオキュパンシーマップと追加オキュパンシーマップとのビット毎の論理演算(例えば、論理和や論理積を含む)を行い、合成オキュパンシーマップを生成する。
 ステップS222において、ジオメトリデータ再構築部222は、補助パッチ情報と生成した合成オキュパンシーマップとを用いて、ジオメトリビデオフレームをアンパッキングし、ジオメトリデータを再構築する。
 ステップS223において、アトリビュートデータ再構築部223は、補助パッチ情報と生成した合成オキュパンシーマップとを用いて、カラービデオフレームをアンパッキングし、アトリビュートデータを再構築する。
 ステップS224において、ジオメトリスムーシング処理部224は、ステップS222において得られたジオメトリデータをスムーシング処理する。
 ステップS225において、リカラー処理部225は、リカラー処理を行い、ステップS223において再構築されたアトリビュートデータを、ステップS224においてスムーシング処理されたジオメトリデータに対応させ、ポイントクラウドを再構築する。
 ステップS225の処理が終了すると、3D再構築処理が終了し、処理は図15に戻る。
 以上のように各処理を実行することにより、復号装置200は、オキュパンシーマップと、そのオキュパンシーマップの精度を向上させるための、追加オキュパンシーマップとを用いて3Dデータを再構築することができる。したがって、復号装置200は、オキュパンシーマップの精度を局所的に向上させることができる。これにより、復号装置200は、符号化効率の低減を抑制し、かつ、負荷の増大を抑制しながら、再構築されたポイントクラウドの品質の低減を抑制することができる。つまり、3Dデータの表示用2次元画像の画質の低減を抑制することができる。
  <方法1-2>
 以上においては「方法1-1」について説明したが、「方法1-2」も同様に実現することができる。「方法1-2」の場合、ジオメトリデータの追加パッチが生成される。つまり、この場合、ジオメトリビデオフレーム生成部122(図10)は、ジオメトリデータのベースパッチを配置したジオメトリビデオフレームと、ジオメトリデータの追加パッチを配置した追加ジオメトリビデオフレームとを生成する。ビデオ符号化部124は、そのジオメトリビデオフレームおよび追加ジオメトリビデオフレームをそれぞれ符号化し、符号化データを生成する。
 また、ベースパッチに関する情報と、追加パッチに関する情報が、ジオメトリビデオフレーム生成部122から補助パッチ情報生成部130に供給され、補助パッチ情報生成部130は、それらの情報に基づいて補助パッチ情報を生成する。
 また、この「方法1-2」の場合、復号装置200のジオメトリデータ再構築部222は、ジオメトリビデオフレームに対応するジオメトリデータと、追加ジオメトリビデオフレームに対応するジオメトリデータとを再構築し、それらを合成して合成ジオメトリデータを生成する。例えば、ジオメトリデータ再構築部222が、ベースパッチに対応するジオメトリデータの値を、追加パッチに対応するジオメトリデータの値に置き換えることにより、合成ジオメトリデータを生成してもよい。また、ジオメトリデータ再構築部222が、ベースパッチに対応するジオメトリデータの値と追加パッチに対応するジオメトリデータの値とを加算したり、減算したりして、合成ジオメトリデータを生成してもよい。
 このようにすることにより、ジオメトリデータの精度を局所的に向上させることができる。そして、このような合成ジオメトリデータを用いてポイントクラウドを再構築することにより、符号化効率の低減を抑制し、かつ、負荷の増大を抑制しながら、再構築されたポイントクラウドの品質の低減を抑制することができる。つまり、3Dデータの表示用2次元画像の画質の低減を抑制することができる。
  <方法1-3>
 もちろん、「方法1-3」も同様に実現することができる。「方法1-3」の場合、アトリビュートデータの追加パッチが生成される。つまり、ジオメトリデータの場合と同様に、ベースパッチに対応するアトリビュートデータの値と追加パッチに対応するアトリビュートデータの値とを加算したり、減算したり、置き換えたりして、それらを合成した合成アトリビュートデータを生成することができる。
 なお、この場合、ベースパッチに関する情報と、追加パッチに関する情報が、カラービデオフレーム生成部128から補助パッチ情報生成部130に供給され、補助パッチ情報生成部130は、それらの情報に基づいて補助パッチ情報を生成する。
 このようにすることにより、アトリビュートデータの精度を局所的に向上させることができる。そして、このような合成アトリビュートデータを用いてポイントクラウドを再構築することにより、符号化効率の低減を抑制し、かつ、負荷の増大を抑制しながら、再構築されたポイントクラウドの品質の低減を抑制することができる。つまり、3Dデータの表示用2次元画像の画質の低減を抑制することができる。
  <組み合わせ>
 なお、上述の「方法1」乃至「方法3」は、任意のペアで組み合わせて用いることもできる。さらに、上述の「方法1」乃至「方法3」を全て適用することもできる。
 <3.第2の実施の形態(方法2)>
  <スムーシング処理の代用>
 本実施の形態においては、上述の「方法2」について説明する。この「方法2」の場合、合成オキュパンシーマップがスムーシング処理結果に対応するように、追加オキュパンシーマップ(追加パッチ)が生成される。
 例えば、図17のAに示されるような、ジオメトリデータよりも低精度のオキュパンシーマップのベースパッチをジオメトリデータの精度で表すと図17のBのようになる。ジオメトリデータにスムーシング処理を施すと、パッチが図17のCに示されるような形状となるとする。図17のCにおいて斜線模様の領域は、図17のBを基準とした場合に点が追加される領域を表す。また、グレーの領域は、図17のBを基準とした場合に点が削除される領域を表す。このパッチをジオメトリデータと同精度で表現するとオキュパンシーマップは、図17のDのようになる。この場合、ジオメトリデータの範囲を正確に表すことができるが、オキュパンシーマップの符号量が増大してしまう。
 そこで、図17のEに示されるような点追加用のオキュパンシーマップと、図17のFに示されるような点削除用のオキュパンシーマップとを追加オキュパンシーマップとして生成する。このような追加オキュパンシーマップを伝送することにより、復号側においてスムーシング処理を反映したオキュパンシーマップを生成することができる。すなわち、スムーシング処理を行わずに、ジオメトリデータのスムーシング処理結果が得られる。つまり、スムーシング処理を省略することができるので、スムーシング処理による負荷の増大を抑制することができる。
  <パッキング符号化部>
 この場合も、符号化装置100は、「方法1-1」の場合(図9)と基本的に同様の構成を有する。また、この場合のパッキング符号化部102の主な構成例を図18に示す。図18に示されるように、この場合のパッキング符号化部102は、「方法1-1」の場合(図10)と基本的に同様の構成を有する。ただし、この場合、ジオメトリスムーシング処理部127がスムーシング処理されたジオメトリデータをオキュパンシーマップ生成部121に供給する。オキュパンシーマップ生成部121は、ベースパッチに対応するオキュパンシーマップを生成するとともに、そのスムーシング処理されたジオメトリデータに基づいて、追加オキュパンシーマップを生成する。
 オキュパンシーマップ生成部121は、生成したオキュパンシーマップおよび追加オキュパンシーマップをOMap符号化部123に供給する。OMap符号化部123は、それらを符号化し、それらの符号化データを生成する。
 また、オキュパンシーマップ生成部121は、そのオキュパンシーマップや追加オキュパンシーマップに関する情報を、補助パッチ情報生成部130に供給する。補助パッチ情報生成部130は、それらの情報に基づいて、オキュパンシーマップや追加オキュパンシーマップに関する情報を含む補助パッチ情報を生成する。補助パッチ情報符号化部131は、この世に生成された補助パッチ情報を符号化する。
  <パッキング符号化処理の流れ>
 この場合も符号化処理は、符号化装置100により、図11のフローチャートと同様の流れで実行される。この場合の符号化処理のステップS103(図11)において実行されるパッキング符号化処理の流れの例を、図19のフローチャートを参照して説明する。
 この場合、パッキング符号化処理が開始されると、ステップS301乃至ステップS307の各処理が、図12のステップS121、ステップS123、ステップS124、ステップS126乃至ステップS129の各処理と同様に実行される。
 ステップS308において、オキュパンシーマップ生成部121は、ステップS307のスムーシング処理結果に基づいて追加オキュパンシーマップを生成する。つまり、オキュパンシーマップ生成部121は、例えば図17のように、スムーシング処理後のジオメトリデータのパッチの形状をより正確に示すことができるように、オキュパンシーマップに対して追加する領域と削除する領域を示す追加オキュパンシーマップを生成する。ステップS309において、OMap符号化部123は、その追加オキュパンシーマップを符号化する。
 ステップS310乃至ステップS313の各処理は、図12のステップS130乃至ステップS133の各処理と同様に実行される。
 以上のように、スムーシング処理結果に基づいて追加オキュパンシーマップを生成し、伝送することにより、受信側において、その追加オキュパンシーマップとオキュパンシーマップを用いてジオメトリデータを再構築することにより、スムーシング処理が施されたジオメトリデータを再構築することができる。つまり、受信側においてスムーシング処理を行わずに、スムーシング処理が反映されたポイントクラウドを再構築することができるので、スムーシング処理による負荷の増大を抑制することができる。
  <3D再構築部>
 次に、受信側について説明する。この場合も、復号装置200は、「方法1-1」の場合(図13)と基本的に同様の構成を有する。また、この場合の3D再構築部206の主な構成例を図20に示す。図20に示されるように、この場合の3D再構築部206は、「方法1-1」の場合(図10)と基本的に同様の構成を有する。ただし、この場合、ジオメトリスムーシング処理部224が省略される。
 オキュパンシーマップ再構築部221が、オキュパンシーマップと追加オキュパンシーマップとから合成オキュパンシーマップを生成し、ジオメトリデータ再構築部222がその合成オキュパンシーマップを用いてジオメトリデータを再構築すると、スムーシング処理が施されたジオメトリデータが得られる。そのため、この場合、ジオメトリスムーシング処理部224は省略することができる。
  <3D再構築処理の流れ>
 この場合も復号処理は、復号装置200により、図15のフローチャートと同様の流れで実行される。この場合の復号処理のステップS207(図15)において実行される3D再構築処理の流れの例を、図21のフローチャートを参照して説明する。
 この場合、3D再構築処理が開始されると、ステップS331乃至ステップS334の各処理が、図16のステップS221乃至ステップS225の各処理と同様に実行される。つまり、この場合、ステップS332の処理により、スムーシング処理が施されたジオメトリデータが得られる。したがってステップS224の処理が省略される。
 以上のように、受信側においてスムーシング処理が不要になるので、負荷の増大を抑制することができる。
 <4.第3の実施の形態(方法3)>
  <処理範囲の指定>
 本実施の形態においては、上述の「方法3」について説明する。この「方法3」の場合、例えばスムーシング処理等のような、ジオメトリデータやアトリビュートデータに対して施される処理の対象となる範囲が追加オキュパンシーマップにより指定される。
  <パッキング符号化処理の流れ>
 この場合、符号化装置100は、「方法2」の場合(図9、図18)と同様の構成を有する。そして、その符号化装置100により実行される符号化処理も「方法1-1」の場合(図11)と同様の流れで実行される。
 この場合のパッキング符号化処理の流れの例を、図22のフローチャートを参照して説明する。
 パッキング符号化処理が開始されると、ステップS351乃至ステップS357の各処理が、図19のステップS301乃至ステップS307の各処理(「方法2」の場合)と同様に実行される。
 ステップS358において、オキュパンシーマップ生成部121は、ステップS307のスムーシング処理結果に基づいて、スムーシング処理が施される位置を示す追加オキュパンシーマップを生成する。つまり、オキュパンシーマップ生成部121は、スムーシング処理が行われる領域にフラグを立てるように、追加オキュパンシーマップを生成する。
 そして、ステップS359乃至ステップS363の各処理が、図19のステップS309乃至ステップS313の各処理と同様に実行される。
 以上のように、スムーシング処理結果に基づいて、スムーシング処理が行われる範囲を示す追加オキュパンシーマップを生成し、伝送することにより、受信側において、その追加オキュパンシーマップに基づいて、より容易に適切な範囲にスムーシング処理を行うことができる。つまり、受信側において、スムーシング処理をかける範囲の探索が不要になるので、負荷の増大を抑制することができる。
  <3D再構築処理の流れ>
 次に、受信側について説明する。この場合、復号装置200(および3D再構築部206)は、「方法1-1」の場合(図13、図14)と基本的に同様の構成を有する。また、この場合の復号処理は、復号装置200により、図15のフローチャートと同様の流れで実行される。そして、この場合の復号処理のステップS207(図15)において実行される3D再構築処理の流れの例を、図22のフローチャートを参照して説明する。
 この場合、3D再構築処理が開始されると、ジオメトリデータ再構築部222は、ステップS381において、補助パッチ情報とオキュパンシーマップとを用いて、ジオメトリビデオフレームをアンパッキングし、ジオメトリデータを再構築する。
 ステップS382において、アトリビュートデータ再構築部223は、補助パッチ情報とオキュパンシーマップとを用いて、カラービデオフレームをアンパッキングし、アトリビュートデータを再構築する。
 ステップS383において、ジオメトリスムーシング処理部224は、追加オキュパンシーマップに基づいて、ジオメトリデータをスムーシング処理する。つまり、ジオメトリスムーシング処理部224は、追加オキュパンシーマップにより指定される範囲に対して、スムーシング処理を行う。
 ステップS384において、リカラー処理部225は、リカラー処理を行い、ステップS382において再構築されたアトリビュートデータを、ステップS383においてスムーシング処理されたジオメトリデータに対応させ、ポイントクラウドを再構築する。
 ステップS384の処理が終了すると、3D再構築処理が終了し、処理は図15に戻る。
 このように、追加オキュパンシーマップが示すスムーシング処理を行う範囲に対してスムーシング処理を行うことにより、より容易に適切な範囲にスムーシング処理を行うことができる。つまり、受信側において、スムーシング処理をかける範囲の探索が不要になるので、負荷の増大を抑制することができる。
 <5.第4の実施の形態(方法4)>
  <再構築>
 本実施の形態においては、上述の「方法4」について説明する。この「方法4」の場合、ベースパッチと同様に、ポイントクラウドの再構築に用いられる追加パッチが生成される。ただし、追加パッチはオプションであり、再構築に用いなくてもよい(追加パッチを省略してベースパッチのみでポイントクラウドの再構築を行うことができる)。
  <パッキング符号化部>
 この場合も、符号化装置100は、「方法1-1」の場合(図9)と基本的に同様の構成を有する。また、この場合のパッキング符号化部102の主な構成例を図24に示す。図24に示されるように、この場合のパッキング符号化部102は、「方法1-1」の場合(図10)と基本的に同様の構成を有する。ただし、この場合、パッチ分解部101は、オキュパンシーマップとジオメトリデータの追加パッチを生成する。つまり、パッチ分解部101は、オキュパンシーマップとジオメトリデータについて、ベースパッチと追加パッチを生成する。
 したがって、パッキング符号化部102のオキュパンシーマップ生成部121は、ベースパッチに対応するオキュパンシーマップと、追加パッチに対応する追加オキュパンシーマップとを生成し、ジオメトリビデオフレーム生成部122は、ベースパッチを配置したジオメトリビデオフレームと、追加パッチを配置した追加ジオメトリビデオフレームとを生成する。
 補助パッチ情報生成部130は、オキュパンシーマップ生成部121およびジオメトリビデオフレーム生成部122のそれぞれから、ベースパッチに関する情報と追加パッチに関する情報とを取得し、それらを含む補助パッチ情報を生成する。
 OMap符号化部123は、オキュパンシーマップ生成部121において生成されたオキュパンシーマップと追加オキュパンシーマップとを符号化する。また、ビデオ符号化部124は、ジオメトリビデオフレーム生成部122において生成されたジオメトリビデオフレームと追加ジオメトリビデオフレームとを符号化する。補助パッチ情報符号化部131は、その補助パッチ情報を符号化し、符号化データを生成する。
 なお、アトリビュートデータについても追加パッチが生成されるようにしてもよいが、本例のように、追加パッチにおいてはアトリビュートデータを省略し、受信側のリカラー処理により追加パッチに対応するアトリビュートデータが得られるようにしてもよい。
  <パッキング符号化処理>
 この場合も符号化処理は、符号化装置100により、図11のフローチャートと同様の流れで実行される。この場合の符号化処理のステップS103(図11)において実行されるパッキング符号化処理の流れの例を、図25のフローチャートを参照して説明する。
 この場合、パッキング符号化処理が開始されると、ステップS401乃至ステップS403の各処理は、図12のステップS121乃至ステップS123の各処理と同様に実行される。
 ステップS404において、ジオメトリビデオフレーム生成部122は、追加パッチを配置した追加ジオメトリビデオフレームを生成する。
 ステップS405乃至ステップS407の各処理は、図12のステップS124乃至ステップS126の各処理と同様に実行される。
 ステップS408において、ビデオ符号化部124は、追加ジオメトリビデオフレームを符号化する。
 ステップS409乃至ステップS415の各処理は、図12のステップS127乃至ステップS133の各処理と同様に実行される。
 つまり、この場合、少なくともジオメトリデータとオキュパンシーマップの追加パッチが生成される。これにより、追加パッチをポイントクラウドの再構築に用いることができる。
  <3D再構築部>
 次に、受信側について説明する。この場合も、復号装置200は、「方法1-1」の場合(図13)と基本的に同様の構成を有する。また、この場合の3D再構築部206の主な構成例を図26に示す。図26に示されるように、この場合の3D再構築部206は、ベースパッチ3D再構築部451、ジオメトリスムーシング処理部452、リカラー処理部453、追加パッチ3D再構築部454、ジオメトリスムーシング処理部455、およびリカラー処理部456を有する。
 ベースパッチ3D再構築部451、ジオメトリスムーシング処理部452、およびリカラー処理部453は、ベースパッチに関する処理を行う。ベースパッチ3D再構築部451は、補助パッチ情報、ベースパッチに対応するオキュパンシーマップ、ジオメトリビデオフレームのベースパッチ、およびカラービデオフレームのベースパッチを用いて、ポイントクラウド(ベースパッチに対応する小領域)を再構築する。ジオメトリスムーシング処理部452は、そのベースパッチに対応するジオメトリデータに対してスムーシング処理を行う。リカラー処理部453は、スムーシング処理が行われたジオメトリデータにアトリビュートデータを対応させるようにリカラー処理を行う。
 追加パッチ3D再構築部454、ジオメトリスムーシング処理部455、およびリカラー処理部456は、追加パッチに関する処理を行う。追加パッチ3D再構築部454は、補助パッチ情報、追加オキュパンシーマップ、および追加ジオメトリビデオフレームを用いて(つまり追加パッチを用いて)、ポイントクラウド(追加パッチに対応する小領域)を再構築する。ジオメトリスムーシング処理部455は、そのベースパッチに対応するジオメトリデータに対してスムーシング処理を行う。リカラー処理部456は、リカラー処理部453によるリカラー処理結果、すなわち、ベースパッチのアトリビュートデータを用いてリカラー処理を行う。これにより、リカラー処理部456は、ベースパッチに対応するポイントクラウドと、追加パッチに対応するポイントクラウドとを合成し、ベースパッチおよび追加パッチに対応するポイントクラウドを生成し、出力する。
  <3D再構築処理の流れ>
 この場合も復号処理は、復号装置200により、図15のフローチャートと同様の流れで実行される。この場合の復号処理のステップS207(図15)において実行される3D再構築処理の流れの例を、図27のフローチャートを参照して説明する。
 この場合、3D再構築処理が開始されると、ベースパッチ3D再構築部451は、ステップS451において、ベースパッチについて、補助パッチ情報とオキュパンシーマップを用いて、ジオメトリビデオフレームとカラービデオフレームをアンパッキングし、ベースパッチに対応するポイントクラウドを再構築する。
 ステップS452において、ジオメトリスムーシング処理部452は、ベースパッチについて、ジオメトリデータをスムーシング処理する。つまり、ジオメトリスムーシング処理部452は、ステップS451において得られた、ベースパッチに対応するポイントクラウドのジオメトリデータに対してスムーシング処理を行う。
 ステップS453において、リカラー処理部453は、ベースパッチについてリカラー処理を行う。つまり、リカラー処理部453は、ステップS451において得られた、ベースパッチに対応するポイントクラウドのアトリビュートデータを、そのジオメトリデータに対応させるようにリカラー処理を行う。
 ステップS454において、追加パッチ3D再構築部454は、例えば、補助パッチ情報等に基づいて、追加パッチを復号するか否かを判定する。例えば、追加パッチが存在し、その追加パッチを復号すると判定された場合、処理はステップS455に進む。
 ステップS455において、追加パッチ3D再構築部454は、追加パッチについて、補助パッチ情報と追加オキュパンシーマップを用いて、追加ジオメトリビデオフレームをアンパッキングし、追加パッチに対応するジオメトリデータを再構築する。
 ステップS456において、ジオメトリスムーシング処理部455は、その追加パッチについて、ジオメトリデータをスムーシング処理する。つまり、ジオメトリスムーシング処理部455は、ステップS455において得られた、追加パッチに対応するポイントクラウドのジオメトリデータに対してスムーシング処理を行う。
 ステップS457において、リカラー処理部456は、ベースパッチのアトリビュートデータを用いて追加パッチのリカラー処理を行う。つまり、リカラー処理部456は、ベースパッチのアトリビュートデータを、ステップS456のスムーシング処理により得られたジオメトリデータに対応させる。
 このように各処理を実行することにより、ベースパッチと追加パッチに対応するポイントクラウドが再構築される。ステップS457の処理が終了すると、3D再構築処理が終了する。また、ステップS454において、追加パッチを復号しないと判定された場合、3D再構築処理が終了する。つまり、ベースパッチに対応するポイントクラウドが出力される。
 以上のように、追加パッチを用いてポイントクラウドの再構築を行うことができるので、より多様な方法でポイントクラウドを再構築することができる。
 <6.第5の実施の形態(方法5)>
  <補助パッチ情報>
 以上のように、追加パッチを適用する場合、例えば、図28に示される表501のように、補助パッチ情報において、「1.ベースパッチに関する情報」の他に、「2.追加パッチに関する情報」を伝送するようしてもよい。
 この「2.追加パッチに関する情報」の内容は任意である。例えば、「2-1.追加パッチフラグ」が含まれていてもよい。この追加パッチフラグは、対応するパッチが追加パッチであるか否かを示すフラグ情報である。例えば、この追加パッチフラグが「真(1)」の場合、対応するパッチが追加パッチであることを示す。このフラグ情報を参照することにより、追加パッチとベースパッチとをより容易に識別することができる。
 また、「2-2.追加パッチの用途に関する情報」が「2.追加パッチに関する情報」に含まれていてもよい。この「2-2.追加パッチの用途に関する情報」として、例えば、「2-2-1.追加パッチの作用対象を示す情報」が含まれていてもよい。この「2-2-1.追加パッチの作用対象を示す情報」は、例えば、図29の表502のように、パラメータの値によって追加パッチがどのようなデータに影響を及ぼすかを示す。
 図29の例の場合、パラメータの値が「0」のとき、追加パッチの作用対象がベースパッチに対応するオキュパンシーマップであることを示す。また、パラメータの値が「1」のとき、追加パッチの作用対象がジオメトリデータのベースパッチであることを示す。さらに、パラメータの値が「2」のとき、追加パッチの作用対象がアトリビュートデータのベースパッチであることを示す。また、パラメータの値が「3」のとき、追加パッチの作用対象が追加パッチに対応するオキュパンシーマップであることを示す。さらに、パラメータの値が「4」のとき、追加パッチの作用対象がジオメトリデータの追加パッチであることを示す。また、パラメータの値が「5」のとき、追加パッチの作用対象がアトリビュートデータの追加パッチであることを示す。さらに、パラメータの値が「6」のとき、追加パッチの作用対象がジオメトリデータとアトリビュートデータの追加パッチであることを示す。
 また、図28に戻り、「2-2.追加パッチの用途に関する情報」として、例えば、「2-2-2.追加パッチを用いた処理内容を示す情報」が含まれていてもよい。この「2-2-2.追加パッチを用いた処理内容を示す情報」は、例えば、図30の表503のように、パラメータの値によって追加パッチがどのような処理に用いられるかを示す。
 図30の例の場合、パラメータの値が「0」のとき、追加パッチがポイントクラウドの再構築に用いられることを示す。また、パラメータの値が「1」のとき、追加パッチがポイントの追加に用いられることを示す。つまり、この場合、ベースパッチと追加パッチとでビット毎の論理積(OR)が導出される。さらに、パラメータの値が「2」のとき、追加パッチがポイントの削除に用いられることを示す。つまり、この場合、ベースパッチと追加パッチとでビット毎の論理和(AND)が導出される。
 また、パラメータの値が「3」のとき、追加パッチの値とベースパッチの値とを足し合わせることを示す。さらに、パラメータの値が「4」のとき、ベースパッチの値を追加パッチの値に置き換えることを示す。
 また、パラメータの値が「5」のとき、対象点にフラグを立てスムーシング処理を行うことを示す。さらに、パラメータの値が「6」のとき、ベースパッチに対応する再構築されたポイントクラウドからリカラー処理を行うことを示す。また、パラメータの値が「7」のとき、追加パッチが視点からの距離に応じて復号されることを示す。
 図28に戻り、「2-3.追加パッチの位置合わせに関する情報」が「2.追加パッチに関する情報」に含まれていてもよい。この「2-3.追加パッチの位置合わせに関する情報」として、例えば、「2-3-1.対象パッチID」、「2-3-2.追加パッチの位置情報」、「2-3-3.追加パッチの位置シフト情報」、「2-3-4.追加パッチのサイズ情報」等の情報が含まれていてもよい。
 例えば、ベースパッチと追加パッチとで位置が異なる場合、「2-3-1.対象パッチID」と「2-3-2.追加パッチの位置情報」とが「2.追加パッチに関する情報」に含まれていてもよい。
 「2-3-1.対象パッチID」は、対象となるパッチの識別情報(patchIndex)である。「2-3-2.追加パッチの位置情報」は、追加パッチのオキュパンシーマップ上の位置を示す情報であり、例えば、(u0', v0')等のように2次元平面座標により示される。例えば、図31において、ベースパッチ511に対応する追加パッチが追加パッチ512であるとする。このとき、追加パッチ512の左上の点513の座標が「2-3-2.追加パッチの位置情報」である。なお、この「2-3-2.追加パッチの位置情報」は、図31の矢印514のように、ベースパッチの位置(u0, v0)からのシフト量(Δu0, Δv0)で表すようにしてもよい。なお、Δu0=u0-u0', Δv0=v0-v0'である。
 また、例えば、ベースパッチと追加パッチとでサイズが異なる場合、「2-3-3.追加パッチの位置シフト情報」と、「2-3-4.追加パッチのサイズ情報」とが「2.追加パッチに関する情報」に含まれていてもよい。
 「2-3-3.追加パッチの位置シフト情報」は、サイズ変更による位置のシフト量である。図31の例の場合、矢印514が「2-3-3.追加パッチの位置シフト情報」に相当する。つまり、この「2-3-3.追加パッチの位置シフト情報」は、(Δu0, Δv0)で表す。
 「2-3-4.追加パッチのサイズ情報」は、変更後のパッチのサイズを示す。つまり、図31において点線で示される追加パッチ512のサイズを示す情報であり、例えば、w', h'等のように幅と高さにより示される。なお、この「2-3-4.追加パッチのサイズ情報」は、ベースパッチとの差分Δw、Δhで表すようにしてもよい。なお、Δw=w-w', Δh=h-h'である。
 なお、ベースパッチとパッチ情報を共有することで、位置合わせの情報の伝送を省略することもできる。
 また、図28に戻り、「2-4.追加オキュパンシーマップのサイズ設定情報」が「2.追加パッチに関する情報」に含まれていてもよい。その「2-4.追加オキュパンシーマップのサイズ設定情報」として、オキュパンシーマップの精度を示す「2-4-1.オキュパンシープレシジョン(Occupancy Precision)」、「2-4-2.画サイズ」、「2-4-3.パッチ毎の比率」等が含まれていてもよい。
 つまり、追加オキュパンシーマップの精度を従来のように、「2-4-1.オキュパンシープレシジョン(Occupancy Precision)」により表すようにしてもよいし、「2-4-2.画サイズ」により表すようにしてもよいし、「2-4-3.パッチ毎の比率」により表すようにしてもよい。
 「2-4-2.画サイズ」は、オキュパンシーマップの大きさを示す情報であり、例えば、オキュパンシーマップの幅(width)と高さ(height)により示す。つまり、図32のAに示されるベースのオキュパンシーマップ521に対して、図32のBに示される追加オキュパンシーマップ522の高さが1倍であり、幅が2倍であるとすると、width=2、height=1と指定される。このようにすることにより、オキュパンシーマップ内のパッチをまとめて制御することができる。これにより補助パッチ情報についての符号化効率の低減を抑制することができる。
 「2-4-3.パッチ毎の比率」は、パッチ毎にその比率を指定する情報である。たとえば、図32のCに示されるように、パッチ531、パッチ532、およびパッチ533のそれぞれの比率を示す情報を伝送することができる。このようにすることにより、より柔軟に各パッチのサイズを制御することができる。例えば、必要なパッチのみ精度を向上させることができる。
 なお、以上のような「方法1」乃至「方法4」の各方法において伝送する情報の例を図33の表551に示す。この表551に示されるように、各方法において多様な情報を伝送することができる。
 以上のように、ベースパッチに対して追加パッチを設けることにより、局所的な情報精度の制御が可能になる。これにより、符号化効率の低減を抑制したり、負荷の増大を抑制したり、再構築したポイントクラウドの品質の低減を抑制したりすることができる。
 また、例えば、視点位置からの距離に応じた精度でオブジェクトの再構築を行うこともできる。例えば、視点位置からの距離に応じて追加パッチを利用するか否かを制御することにより、視点位置から遠方のオブジェクトはベースパッチの粗い精度で再構築し、視点位置から近方のオブジェクトは追加パッチの高精度で再構築することができる。
 さらに、例えば、ユーザの権限等に基づいて再構築されたポイントクラウドの品質を局所的に制御する(表示用画像の主観画質をよく所的に制御する)ことができる。例えば、高額の利用料を支払ったユーザや管理者権限のユーザには、ポイントクラウド全体がオリジナルの品質(高解像度)で提供するが、低額の利用料を支払ったユーザやゲスト権限のユーザには、一部が低品質(低解像度)化されて提供される(つまり、2次元画像において一部の領域にモザイク処理がかけられたような状態で提供される)といった制御を行うことができる。したがって、多様なサービスを実現することができる。
 <7.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図34は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図34に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 また、以上においては、本技術の適用例として符号化装置100および復号装置200等について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連付けられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成するビデオフレーム生成部と、
 前記ビデオフレーム生成部により生成された前記ベースビデオフレームおよび前記追加ビデオフレームを符号化し、符号化データを生成する符号化部と
 を備える画像処理装置。
 (2) 前記追加パッチは、前記ベースパッチよりも高精度な情報により構成される
 (1)に記載の画像処理装置。
 (3) 前記追加ビデオフレームはオキュパンシーマップであり、
 前記追加パッチは、前記ベースパッチが示す領域に追加する領域、または、前記ベースパッチが示す領域から削除する領域を示す
 (2)に記載の画像処理装置。
 (4) 前記追加パッチは、前記ベースパッチのスムーシング処理結果を示す
 (3)に記載の画像処理装置。
 (5) 前記追加ビデオフレームはジオメトリビデオフレームまたはカラービデオフレームであり、
 前記追加パッチは、前記ベースパッチの値に加算される値、または、前記ベースパッチの値に置き換えられる値により構成される
 (2)に記載の画像処理装置。
 (6) 前記追加パッチは、前記ベースパッチが示す領域の、所定の処理が施される範囲を示す
 (1)に記載の画像処理装置。
 (7) 前記追加パッチは、前記ベースパッチが示す領域の、スムーシング処理が行われる範囲を示す
 (6)に記載の画像処理装置。
 (8) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、
 生成された前記ベースビデオフレームおよび前記追加ビデオフレームを符号化し、符号化データを生成する
 画像処理方法。
 (9) 符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成する復号部と、
 前記復号部により生成された前記ベースビデオフレームと、前記追加ビデオフレームとを用いて前記ポイントクラウドを再構築する再構築部と
 を備える画像処理装置。
 (10) 符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、
 生成された前記ベースビデオフレームと、前記追加ビデオフレームとを用いて前記ポイントクラウドを再構築する
 画像処理方法。
 (11) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報を生成する補助パッチ情報生成部と、
 前記補助パッチ情報生成部により生成された前記補助パッチ情報を符号化し、符号化データを生成する補助パッチ情報符号化部と
 を備える画像処理装置。
 (12) 前記補助パッチ情報生成部により生成された前記補助パッチ情報に対応する前記追加パッチが配置された追加ビデオフレームを生成する追加ビデオフレーム生成部と、
 前記追加ビデオフレーム生成部により生成された前記追加ビデオフレームを符号化する追加ビデオフレーム符号化部と
 をさらに備える
 (11)に記載の画像処理装置。
 (13) 前記追加ビデオフレームは、オキュパンシーマップおよびジオメトリビデオフレームである
 (12)に記載の画像処理装置。
 (14) 前記補助パッチ情報は、前記追加パッチの作用対象を示す情報をさらに含む
 (11)に記載の画像処理装置。
 (15) 前記補助パッチ情報は、前記追加パッチを用いて行われる処理内容を示す情報をさらに含む
 (11)に記載の画像処理装置。
 (16) 前記補助パッチ情報は、前記追加パッチの位置合わせに関する情報をさらに含む
 (11)に記載の画像処理装置。
 (17) 前記補助パッチ情報は、前記追加パッチのサイズ設定に関する情報をさらに含む
 (11)に記載の画像処理装置。
 (18) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報を生成し、
 生成された前記補助パッチ情報を符号化し、符号化データを生成する
 画像処理方法。
 (19) 符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報を生成する補助パッチ情報復号部と、
 前記補助パッチ情報復号部により生成された前記補助パッチ情報に含まれる、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、前記追加パッチを用いた前記ポイントクラウドの再構築を行う再構築部と
 を備える画像処理装置。
 (20) 符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報を生成し、
 生成された前記補助パッチ情報に含まれる、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、前記追加パッチを用いた前記ポイントクラウドの再構築を行う
 画像処理方法。
 100 符号化装置, 101パッチ分解部, 102 パッキング符号化部, 103 マルチプレクサ, 121 オキュパンシーマップ生成部, 122 ジオメトリビデオフレーム生成部, 123 OMap符号化部, 124 ビデオ符号化部, 125 ジオメトリビデオフレーム復号部, 126 ジオメトリデータ再構築部, 127 ジオメトリスムーシング処理部, 128 カラービデオフレーム生成部, 129 ビデオ符号化部, 130 補助パッチ情報生成部, 131 補助パッチ情報符号化部, 200 復号装置, 201 デマルチプレクサ, 202 補助パッチ情報復号部, 203 OMap復号部, 204および205 ビデオ復号部, 206 3D再構築部, 221 オキュパンシーマップ再構築部, 222 ジオメトリデータ再構築部, 223 アトリビュートデータ再構築部, 224 ジオメトリスムーシング処理部, 225 リカラー処理部, 451 ベースパッチ3D再構築部, 452 ジオメトリスムーシング処理部, 453 リカラー処理部, 454 追加パッチ3D再構築部, 455 ジオメトリスムーシング処理部, 456 リカラー処理部

Claims (20)

  1.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成するビデオフレーム生成部と、
     前記ビデオフレーム生成部により生成された前記ベースビデオフレームおよび前記追加ビデオフレームを符号化し、符号化データを生成する符号化部と
     を備える画像処理装置。
  2.  前記追加パッチは、前記ベースパッチよりも高精度な情報により構成される
     請求項1に記載の画像処理装置。
  3.  前記追加ビデオフレームはオキュパンシーマップであり、
     前記追加パッチは、前記ベースパッチが示す領域に追加する領域、または、前記ベースパッチが示す領域から削除する領域を示す
     請求項2に記載の画像処理装置。
  4.  前記追加パッチは、前記ベースパッチのスムーシング処理結果を示す
     請求項3に記載の画像処理装置。
  5.  前記追加ビデオフレームはジオメトリビデオフレームまたはカラービデオフレームであり、
     前記追加パッチは、前記ベースパッチの値に加算される値、または、前記ベースパッチの値に置き換えられる値により構成される
     請求項2に記載の画像処理装置。
  6.  前記追加パッチは、前記ベースパッチが示す領域の、所定の処理が施される範囲を示す
     請求項1に記載の画像処理装置。
  7.  前記追加パッチは、前記ベースパッチが示す領域の、スムーシング処理が行われる範囲を示す
     請求項6に記載の画像処理装置。
  8.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、
     生成された前記ベースビデオフレームおよび前記追加ビデオフレームを符号化し、符号化データを生成する
     画像処理方法。
  9.  符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成する復号部と、
     前記復号部により生成された前記ベースビデオフレームと、前記追加ビデオフレームとを用いて前記ポイントクラウドを再構築する再構築部と
     を備える画像処理装置。
  10.  符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したベースパッチが配置されたベースビデオフレームと、前記ポイントクラウドの前記ベースパッチに対応する前記部分領域の少なくとも一部を含む部分領域を、前記ベースパッチの場合と同一の前記2次元平面に、少なくとも一部のパラメータを前記ベースパッチの場合と変えて投影した追加パッチが配置された追加ビデオフレームとを生成し、
     生成された前記ベースビデオフレームと、前記追加ビデオフレームとを用いて前記ポイントクラウドを再構築する
     画像処理方法。
  11.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報を生成する補助パッチ情報生成部と、
     前記補助パッチ情報生成部により生成された前記補助パッチ情報を符号化し、符号化データを生成する補助パッチ情報符号化部と
     を備える画像処理装置。
  12.  前記補助パッチ情報生成部により生成された前記補助パッチ情報に対応する前記追加パッチが配置された追加ビデオフレームを生成する追加ビデオフレーム生成部と、
     前記追加ビデオフレーム生成部により生成された前記追加ビデオフレームを符号化する追加ビデオフレーム符号化部と
     をさらに備える
     請求項11に記載の画像処理装置。
  13.  前記追加ビデオフレームは、オキュパンシーマップおよびジオメトリビデオフレームである
     請求項12に記載の画像処理装置。
  14.  前記補助パッチ情報は、前記追加パッチの作用対象を示す情報をさらに含む
     請求項11に記載の画像処理装置。
  15.  前記補助パッチ情報は、前記追加パッチを用いて行われる処理内容を示す情報をさらに含む
     請求項11に記載の画像処理装置。
  16.  前記補助パッチ情報は、前記追加パッチの位置合わせに関する情報をさらに含む
     請求項11に記載の画像処理装置。
  17.  前記補助パッチ情報は、前記追加パッチのサイズ設定に関する情報をさらに含む
     請求項11に記載の画像処理装置。
  18.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報であって、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグを含む補助パッチ情報を生成し、
     生成された前記補助パッチ情報を符号化し、符号化データを生成する
     画像処理方法。
  19.  符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報を生成する補助パッチ情報復号部と、
     前記補助パッチ情報復号部により生成された前記補助パッチ情報に含まれる、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、前記追加パッチを用いた前記ポイントクラウドの再構築を行う再構築部と
     を備える画像処理装置。
  20.  符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドを部分領域毎に2次元平面に投影したパッチに関する情報である補助パッチ情報を生成し、
     生成された前記補助パッチ情報に含まれる、前記ポイントクラウドの対応する部分領域の再構築に必須ではない追加パッチであるかを示す追加パッチフラグに基づいて、前記追加パッチを用いた前記ポイントクラウドの再構築を行う
     画像処理方法。
PCT/JP2021/009735 2020-03-25 2021-03-11 画像処理装置および方法 WO2021193088A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180012148.5A CN115066902A (zh) 2020-03-25 2021-03-11 图像处理装置和方法
US17/910,679 US20230179797A1 (en) 2020-03-25 2021-03-11 Image processing apparatus and method
JP2022509904A JPWO2021193088A1 (ja) 2020-03-25 2021-03-11

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-053703 2020-03-25
JP2020053703 2020-03-25

Publications (1)

Publication Number Publication Date
WO2021193088A1 true WO2021193088A1 (ja) 2021-09-30

Family

ID=77891824

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/009735 WO2021193088A1 (ja) 2020-03-25 2021-03-11 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20230179797A1 (ja)
JP (1) JPWO2021193088A1 (ja)
CN (1) CN115066902A (ja)
WO (1) WO2021193088A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230224501A1 (en) * 2020-04-07 2023-07-13 Interdigital Vc Holdings France Different atlas packings for volumetric video

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019055963A1 (en) * 2017-09-18 2019-03-21 Apple Inc. COMPRESSION OF CLOUD OF POINTS
US20190139266A1 (en) * 2017-11-09 2019-05-09 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
WO2019094184A1 (en) * 2017-11-07 2019-05-16 Interdigital Vc Holdings, Inc. Method, apparatus and stream for encoding/decoding volumetric video
WO2019142666A1 (ja) * 2018-01-16 2019-07-25 ソニー株式会社 画像処理装置および方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113845B2 (en) * 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
WO2019215388A2 (en) * 2018-05-09 2019-11-14 Nokia Technologies Oy Method and apparatus for encoding and decoding volumetric video data
US20200013235A1 (en) * 2018-07-03 2020-01-09 Industrial Technology Research Institute Method and apparatus for processing patches of point cloud
CN113016184B (zh) * 2018-09-14 2023-07-07 华为技术有限公司 点云译码中属性支持的改进
KR102537087B1 (ko) * 2018-10-02 2023-05-26 후아웨이 테크놀러지 컴퍼니 리미티드 3d 보조 데이터를 사용한 모션 추정
US11665372B2 (en) * 2019-01-07 2023-05-30 Samsung Electronics Co., Ltd. Fast projection method in video-based point cloud compression codecs
US11348284B2 (en) * 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11284091B2 (en) * 2019-03-25 2022-03-22 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
US11373338B2 (en) * 2019-01-09 2022-06-28 Samsung Electronics Co., Ltd. Image padding in video-based point-cloud compression CODEC
CN115004230A (zh) * 2020-01-14 2022-09-02 华为技术有限公司 用于v-pcc的缩放参数

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019055963A1 (en) * 2017-09-18 2019-03-21 Apple Inc. COMPRESSION OF CLOUD OF POINTS
WO2019094184A1 (en) * 2017-11-07 2019-05-16 Interdigital Vc Holdings, Inc. Method, apparatus and stream for encoding/decoding volumetric video
US20190139266A1 (en) * 2017-11-09 2019-05-09 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
WO2019142666A1 (ja) * 2018-01-16 2019-07-25 ソニー株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
US20230179797A1 (en) 2023-06-08
JPWO2021193088A1 (ja) 2021-09-30
CN115066902A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
WO2019142667A1 (ja) 画像処理装置および方法
JP7327166B2 (ja) 画像処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
JP2023184727A (ja) 画像処理装置および方法
CN113302944B (zh) 信息处理装置和信息处理方法
JPWO2020026846A1 (ja) 画像処理装置および方法
WO2019142665A1 (ja) 情報処理装置および方法
US20230224482A1 (en) Information processing device and method
CN112425175A (zh) 图像处理装置和方法
JP7396302B2 (ja) 画像処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2021193088A1 (ja) 画像処理装置および方法
JP7415937B2 (ja) 画像処理装置および方法
WO2022075074A1 (ja) 画像処理装置および方法
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
WO2022075078A1 (ja) 画像処理装置および方法
WO2021095565A1 (ja) 画像処理装置および方法
US20240129529A1 (en) Image processing device and method
WO2021193087A1 (ja) 画像処理装置および方法
WO2023127513A1 (ja) 情報処理装置および方法
US11606556B2 (en) Fast patch generation for video based point cloud coding
WO2020262020A1 (ja) 情報処理装置および方法
US20240007668A1 (en) Image processing device and method

Legal Events

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

Ref document number: 21776520

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022509904

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21776520

Country of ref document: EP

Kind code of ref document: A1