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

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

Info

Publication number
WO2020012967A1
WO2020012967A1 PCT/JP2019/025557 JP2019025557W WO2020012967A1 WO 2020012967 A1 WO2020012967 A1 WO 2020012967A1 JP 2019025557 W JP2019025557 W JP 2019025557W WO 2020012967 A1 WO2020012967 A1 WO 2020012967A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
unit
cloud data
processing
dimensional
Prior art date
Application number
PCT/JP2019/025557
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
Priority to US15/733,894 priority Critical patent/US11741575B2/en
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to BR112021000038-0A priority patent/BR112021000038A2/pt
Priority to EP19834963.1A priority patent/EP3823280A4/en
Priority to CN201980045106.4A priority patent/CN112385217A/zh
Priority to JP2020530095A priority patent/JP7384159B2/ja
Priority to AU2019302074A priority patent/AU2019302074B2/en
Priority to KR1020207036752A priority patent/KR20210028606A/ko
Priority to CA3106233A priority patent/CA3106233A1/en
Priority to MX2020013705A priority patent/MX2020013705A/es
Publication of WO2020012967A1 publication Critical patent/WO2020012967A1/ja
Priority to PH12021550062A priority patent/PH12021550062A1/en
Priority to US18/352,250 priority patent/US20230377100A1/en
Priority to JP2023191707A priority patent/JP2023184727A/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing an increase in processing time of filter processing on point cloud data.
  • the present disclosure has been made in view of such a situation, and it is possible to perform a filtering process on point cloud data faster than a conventional method, and to suppress an increase in the processing time. It is to be.
  • An image processing apparatus includes: a filter processing unit configured to perform a filtering process on point cloud data using a representative value of the point cloud data for each local region obtained by dividing a three-dimensional space; An encoding unit configured to encode a two-dimensional planar image on which the point cloud data subjected to the filtering process by the processing unit is projected and generate a bit stream.
  • An image processing method performs a filtering process on point cloud data using a representative value of the point cloud data for each local region obtained by dividing a three-dimensional space, and the filtering process is performed.
  • An image processing device decodes a bit stream, generates encoded data of a two-dimensional planar image on which point cloud data is projected, and the two-dimensional image generated by the decoding unit.
  • An image processing apparatus comprising: a filter processing unit that performs a filter process on the point cloud data restored from a planar image using a representative value of the point cloud data for each local region obtained by dividing a three-dimensional space. .
  • An image processing method decodes a bit stream, generates encoded data of a two-dimensional planar image on which point cloud data is projected, and restores the encoded data of the two-dimensional planar image.
  • An image processing device includes a filter processing unit that performs a filtering process on some points of the point cloud data, and the point cloud data on which the filtering process is performed by the filtering unit.
  • An encoding unit that encodes the projected two-dimensional planar image and generates a bit stream.
  • An image processing method performs a filtering process on some points of the point cloud data, and encodes a two-dimensional planar image on which the filtered point cloud data is projected. This is an image processing method for generating a bit stream.
  • An image processing device includes a decoding unit that decodes a bit stream and generates encoded data of a two-dimensional planar image on which point cloud data is projected, and the 2nd image generated by the decoding unit.
  • a filter processing unit configured to perform a filter process on some points of the point cloud data restored from the two-dimensional plane image.
  • An image processing method decodes a bit stream, generates encoded data of a two-dimensional planar image on which point cloud data is projected, and restores the encoded data of the generated two-dimensional planar image.
  • a filter process is performed on point cloud data using a representative value of the point cloud data for each local region obtained by dividing the three-dimensional space.
  • a two-dimensional planar image on which the processed point cloud data is projected is encoded, and a bit stream is generated.
  • a bit stream is decoded, encoded data of a two-dimensional plane image onto which point cloud data is projected is generated, and the encoded data is restored from the generated two-dimensional plane image.
  • Filter processing is performed on the obtained point cloud data using a representative value of the point cloud data for each local region obtained by dividing the three-dimensional space.
  • a filter process is performed on some points of the point cloud data, and a two-dimensional plane on which the filtered point cloud data is projected.
  • the image is encoded to generate a bitstream.
  • a bit stream is decoded, encoded data of a two-dimensional planar image on which point cloud data is projected is generated, and the encoded two-dimensional planar image is generated from the generated two-dimensional planar image.
  • Filter processing is performed on some of the points of the restored point cloud data.
  • an image can be processed.
  • it is possible to suppress an increase in the processing time of the filter processing for the point cloud data.
  • FIG. 9 is a diagram illustrating an example of a smoothing process.
  • FIG. 3 is a diagram summarizing main features of the present technology. It is a figure explaining a nearest neighbor search.
  • FIG. 11 is a diagram illustrating an example of an outline of a filter process using the present technology. It is a figure explaining a comparative example of processing time.
  • FIG. 4 is a diagram illustrating an example of a local area division method.
  • FIG. 4 is a diagram for describing parameters related to a local region.
  • FIG. 3 is a diagram illustrating transmission of information.
  • FIG. 9 is a diagram illustrating a target of a filtering process. It is a figure explaining the derivation method of a representative value.
  • FIG. 9 is a diagram for describing an operation of a filter process.
  • FIG. 9 is a diagram illustrating a case where the present invention is applied to a filter process using a nearest neighbor search. It is a figure explaining the case where it applies to the filter processing using the representative value for every local area. It is a figure explaining a comparative example of processing time.
  • FIG. 39 is a block diagram illustrating a main configuration example of an encoding device.
  • FIG. 3 is a diagram illustrating a main configuration example of a patch decomposition unit. It is a figure explaining the main example of composition of a three-dimensional position information smoothing processing part. It is a flowchart explaining the example of the flow of an encoding process.
  • FIG. 15 is a flowchart illustrating an example of the flow of a patch disassembly process. It is a flowchart explaining the example of the flow of a smoothing process. It is a flowchart explaining the example of the flow of a smoothing range setting process. It is a block diagram which shows the main structural examples of a decoding device.
  • FIG. 3 is a diagram for describing a main configuration example of a 3D reconstruction unit. It is a figure explaining the main example of composition of a three-dimensional position information smoothing processing part. It is a flowchart explaining the example of the flow of a decoding process. It is a flowchart explaining the example of the flow of a point cloud reconstruction process. It is a flowchart explaining the example of the flow of a smoothing process.
  • FIG. 21 is a block diagram illustrating a main configuration example of a computer.
  • Non-patent document 1 (described above)
  • Non-patent document 2 (described above)
  • Non-patent document 3 (described above)
  • Non-patent document 4 (described above)
  • Non-Patent Document 5 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
  • Non-Patent Document 6 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
  • Non-Patent Document 7 Jianle Chen, Maria Alshina, Gary J.
  • Non-Patent Document 6 and QTBT (Quad ⁇ Tree ⁇ Binary Tree) ⁇ Block ⁇ Structure described in Non-Patent Document 7 are not directly described in the embodiment, It is within the disclosure range of the present technology and satisfies the support requirements of the claims. Further, for example, similarly, technical terms such as parsing, syntax, and semantics are within the disclosure range of the present technology even if there is no direct description in the embodiment. Satisfy the support requirements of the claims.
  • ⁇ Point Cloud> Conventionally, there existed data such as a point cloud representing a three-dimensional structure based on position information and attribute information of a point cloud, and a mesh composed of vertices, edges, and surfaces and defining a three-dimensional shape using a polygonal representation. .
  • a three-dimensional structure is represented as a set (point group) of many points. That is, the data of the point cloud is composed of position information and attribute information (for example, color) of each point of this point group. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be expressed with sufficient accuracy by using sufficiently many points.
  • a video-based approach has been proposed in which the position and color information of such a point cloud are projected onto a two-dimensional plane for each small area, and are encoded by an encoding method for a two-dimensional image. .
  • an input point cloud (Point @ cloud) is divided into a plurality of segmentations (also referred to as regions) and projected onto a two-dimensional plane for each region.
  • data for each position of the point cloud (that is, data for each point) is composed of position information (Geometry (also referred to as Depth)) and attribute information (Texture) as described above. Projected onto a dimensional plane.
  • Each segmentation (also referred to as a patch) projected on the two-dimensional plane is arranged in a two-dimensional image.
  • two-dimensional plane images such as AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding). Is encoded by the following encoding method.
  • ⁇ Occupancy Map> When projecting 3D data on a two-dimensional plane by the video-based approach, a two-dimensional plane image (also referred to as a geometry image) on which positional information is projected as described above and a two-dimensional plane on which attribute information is projected
  • An occupancy map is generated in addition to an image (also referred to as a texture image).
  • the occupancy map is map information indicating the presence or absence of position information and attribute information at each position on the two-dimensional plane. More specifically, in the occupancy map, the presence / absence of the position information and the attribute information is indicated for each region called Precision.
  • the point cloud (each point of the point cloud) is restored in units of blocks defined by the precision of the occupancy map, the larger the size of this block, the lower the resolution of the points. Therefore, when the size of the precision is large, there is a possibility that the subjective image quality when the point cloud encoded / decoded by the video-based approach is imaged is reduced.
  • a method was considered in which points around the processing target point were acquired by nearest neighbor search (also called NN (Nearest Neighbor)), and a three-dimensional smoothing filter was applied to the processing target point using the acquired points.
  • NN Nearest Neighbor
  • NN nearest neighbor search
  • the three-dimensional space is divided into local regions, and a representative value ( ⁇ ) of the point cloud is derived for each of the local regions as shown by the rectangle in FIG. Point (black point) is smoothed.
  • the pseudo code is shown in FIG. In this case, first, an average value (AveragePoint) of points in the local region is derived as a representative value for each local region (grid). Then, a peripheral grid (near grid) located around the grid to which the processing point belongs (processing grid) is specified.
  • a grid having a predetermined positional relationship with respect to the processing target grid is selected as the surrounding grid.
  • a grid adjacent to the processing target grid may be set as a peripheral grid.
  • eight surrounding grids are set as peripheral grids.
  • FIG. 5 shows a comparative example of the processing time of the three-dimensional smoothing filter (NN) when the nearest neighbor search is used and the processing time of the three-dimensional smoothing filter (trilinear) to which the present technology is applied. That is, by applying the present technology, the processing time taken as shown in the graph on the left side of FIG. 5 can be reduced as shown in the graph on the right side of FIG.
  • the method of dividing the three-dimensional space is arbitrary.
  • the three-dimensional space may be uniformly divided into N ⁇ N ⁇ N cubic regions as in the row of “1” in the ID column of the table in FIG. By doing so, the three-dimensional space can be easily divided into local regions, so that an increase in the processing time of the filter processing can be suppressed (the filter processing can be made faster).
  • the three-dimensional space may be uniformly divided into M ⁇ N ⁇ L rectangular parallelepiped regions, for example, as shown in the row of “2” in the ID column of the table in FIG.
  • the three-dimensional space can be easily divided into local regions, so that an increase in the processing time of the filter processing can be suppressed (the filter processing can be made faster).
  • the degree of freedom of the shape of the local area is improved as compared with the case where the three-dimensional space is divided into cubic areas, the processing load of each local area can be smoothed more. Can be).
  • the three-dimensional space may be divided so that the number of points in each local region is constant, for example, as in the row of the table in FIG. By doing so, it is possible to smooth the processing weight and resource usage of each local area as compared to the case where the three-dimensional space is divided into a cubic area or a rectangular parallelepiped area. it can).
  • a local area having an arbitrary shape and size may be set at an arbitrary position in a three-dimensional space, such as a row in which the ID column of the table in FIG.
  • each method in which the above-mentioned ID is “1” to “4” may be selected.
  • smooth processing smooth processing
  • How to make this selection is arbitrary.
  • information indicating which method is selected may be transmitted from the encoding side to the decoding side (signal of method selection information).
  • the setting method and the contents of such parameters of the local region are arbitrary.
  • the shape and size (for example, L, M, N, and the like in FIG. 6) of the local region that divides the three-dimensional space may be fixed values, such as the row in which the ID column of the table in FIG. 7 is “1”. For example, this value may be set in advance according to a standard or the like. By doing so, the setting of the shape and size of the local region can be omitted, so that the speed of the filtering process can be further increased.
  • the shape and size of the local area may be set according to the point cloud and the situation, for example, as in the row in which the ID column of the table in FIG. 7 is “2”. That is, the parameter of the local area may be variable. By doing so, a more appropriate local region can be formed according to the situation, so that the filtering process can be performed more appropriately. For example, it is possible to speed up the processing, suppress the bias of the processing, and smooth the processing.
  • the size of the local area (for example, L, M, N, etc. in FIG. 6) may be made variable, as in the row of “2-1” in the ID column of the table in FIG. Further, for example, the number of points included in the local area may be made variable, such as a row in which the ID column is “2-2”. Furthermore, for example, the shape and position of the local area may be made variable, as in the row of “2-3” in the ID column. Further, for example, a user or the like may be able to select a setting method of a local area as in a row of “2-4” in the ID column. For example, the user or the like may be able to determine which of the methods of IDs “1” to “4” in the table of FIG. 6 is to be selected.
  • information about the filtering process may or may not be transmitted from the encoding side to the decoding side.
  • information about the filtering process may or may not be transmitted from the encoding side to the decoding side.
  • all the parameters related to the filter processing are set in advance according to the standard or the like, and the information about the filter processing is not transmitted. Good. By doing so, the amount of information to be transmitted is reduced, so that coding efficiency can be improved.
  • the load of the filter processing can be reduced, and the speed of the filter processing can be further increased.
  • information on the filtering process may be transmitted in the header of the bit stream, for example, as shown in the row of “3” in the ID column of the table in FIG.
  • the parameter has a fixed value in the bit stream.
  • the amount of information to be transmitted can be relatively small, so that a decrease in coding efficiency can be suppressed.
  • the parameter since the parameter has a fixed value in the bit stream, it is possible to suppress an increase in the load of the filtering process.
  • ⁇ Circle around (4) ⁇ for example, information on the filtering process may be transmitted in the header of the frame as in the row of “4” in the ID column of the table in FIG. In that case, the parameters can be made variable for each frame. Therefore, it is possible to set a local area more suitable for the situation.
  • the target of the filtering process is arbitrary.
  • the location information of the point cloud may be targeted, as in the row in which the ID column of the table in FIG. 9 is “1”. That is, three-dimensional smoothing filter processing is performed on the position information of the processing target point. By doing so, the position of each point in the point cloud can be smoothed.
  • the attribute information (color and the like) of the point cloud may be targeted, for example, as in the row of “2” in the ID column of the table in FIG. That is, three-dimensional smoothing filter processing is performed on the attribute information of the processing target point. By doing so, it is possible to realize smoothing of the color and the like of each point of the point cloud.
  • the method of deriving the representative value of each local region is arbitrary.
  • the average value (average) of the data of points in the local area (including the local area) may be set as the representative value, as in the row of the table in FIG. 10 where the ID column is “1”. Since the calculation of the average can be performed by a simple calculation, the representative value can be calculated at a higher speed in this manner. That is, the speed of the filtering process can be further increased.
  • the median value (median) of the data of the points in the local area may be set as the representative value. . Since the median (median) is hardly affected by peculiar data, more stable results can be obtained even when there is noise. That is, a more stable filter processing result is obtained.
  • the method of deriving the representative value may be other than these examples.
  • a representative value may be derived by a plurality of methods, and a more suitable value may be selected.
  • the derivation method may be changed for each local region.
  • the derivation method may be selected according to the characteristics of the three-dimensional structure represented by the point cloud.
  • a representative value is derived by a median (median) for a portion having a fine shape and a lot of noise such as hair, and a representative value is represented by an average (average) for a portion having a clear boundary such as clothes. The value may be derived.
  • the operation of the filter processing is optional.
  • trilinear interpolation may be used as in the row in which the ID column of the table in FIG. 11 is “1”. Trilinear interpolation has a good balance between the processing speed and the quality of the processing result.
  • Tricubic interpolation may be used as in the row in which the ID column of the table in FIG. 11 is “2”. Tricubic interpolation can obtain higher quality processing results than trilinear interpolation.
  • the nearest neighbor search (NN) may be used, for example, as in the row in which the ID column of the table in FIG. 11 is “3”. This method can obtain processing results faster than trilinear interpolation.
  • a three-dimensional smoothing filter may be realized by any other operation.
  • FIG. 12 is a diagram illustrating an example of the occupancy map.
  • the white portion represents data in a geometry image in which the position information of the point cloud is projected on a two-dimensional plane or in a texture image in which the attribute information of the point cloud is projected on a two-dimensional plane.
  • a black portion indicates a region where no data exists in the geometry image or the texture image. That is, a white portion indicates a region where the point cloud patch is projected, and a black portion indicates a region where the point cloud patch is not projected.
  • a three-dimensional smoothing filter process is performed only on points corresponding to such a boundary portion of the patch (the end of the patch in the occupancy map). It may be performed. That is, the end of the patch in the occupancy map may be a partial area for performing three-dimensional smoothing filter processing.
  • three-dimensional smoothing filter processing can be performed only on a part of the region. That is, since the area where the three-dimensional smoothing filter processing is performed can be reduced, the speed of the three-dimensional smoothing filter processing can be further increased.
  • This method can be combined with a conventional nearest neighbor search as shown in FIG. In other words, only when the position of the processing target point corresponds to the end of the patch (if (is_Boundary (curPos))) as in the pseudo code shown in FIG. 13B, the nearest neighbor search (k-NearestNeighbor) is included. Dimensional smoothing filter processing may be performed.
  • FIG. 14A it may be used in combination with the filter processing to which the present technology described above is applied in # 1. That is, only when the position of the processing target point corresponds to the end of the patch (if (is_Boundary (curPos))) as in the pseudo code shown in FIG. 14B, trilinear interpolation using the representative value of the local area is performed. Three-dimensional smoothing filter processing may be performed.
  • FIG. 15 shows a comparative example of the processing time of each method.
  • the first graph from the left shows the processing time of the conventional smoothing filter processing using the nearest neighbor search.
  • the second graph from the left shows the processing time of the three-dimensional smoothing filter processing by trilinear interpolation using the representative value of the local area.
  • the third graph from the left shows the processing time when the conventional smoothing filter processing using the nearest neighbor search is performed only on points corresponding to the ends of patches in the occupancy map.
  • the fourth graph from the left shows the processing time when the three-dimensional smoothing filter processing by trilinear interpolation using the representative value of the local region is performed only on the points corresponding to the ends of the patches in the occupancy map. Show. As described above, by performing the three-dimensional smoothing filter only on a part of the region, the processing time can be reduced regardless of the filtering method.
  • FIG. 16 is a block diagram illustrating an example of a configuration of an encoding device that is an aspect of an image processing device to which the present technology is applied.
  • An encoding apparatus 100 shown in FIG. 16 is an apparatus that projects 3D data such as a point cloud onto a two-dimensional plane and performs encoding by an encoding method for a two-dimensional image (an encoding apparatus to which a video-based approach is applied). ).
  • FIG. 16 shows main components such as the processing unit and the flow of data, and the components shown in FIG. 16 are not necessarily all. That is, in the encoding device 100, a processing unit not illustrated as a block in FIG. 16 may exist, or a process or data flow not illustrated as an arrow or the like in FIG. 16 may exist. This is the same in other drawings for explaining the processing unit and the like in the encoding device 100.
  • the encoding apparatus 100 includes a patch decomposition unit 111, a packing unit 112, an OMap generation unit 113, an auxiliary patch information compression unit 114, a video encoding unit 115, a video encoding unit 116, and an OMap encoding unit. 117, and a multiplexer 118.
  • the patch decomposing unit 111 performs a process related to decomposing the 3D data. For example, the patch decomposition unit 111 acquires 3D data (for example, a point cloud (Point @ Cloud)) representing a three-dimensional structure, which is input to the encoding device 100. Further, the patch decomposition unit 111 decomposes the acquired 3D data into a plurality of segmentations, projects the 3D data on a two-dimensional plane for each of the segmentations, and generates position information patches and attribute information patches.
  • 3D data for example, a point cloud (Point @ Cloud)
  • the patch decomposition unit 111 decomposes the acquired 3D data into a plurality of segmentations, projects the 3D data on a two-dimensional plane for each of the segmentations, and generates position information patches and attribute information patches.
  • the patch decomposing unit 111 supplies the generated information on each patch to the packing unit 112. Further, the patch disassembly unit 111 supplies the auxiliary patch information, which is information regarding the disassembly, to the auxiliary patch information compression unit 114.
  • the packing unit 112 performs processing related to data packing. For example, the packing unit 112 acquires data (patch) of a two-dimensional plane on which 3D data is projected for each area supplied from the patch decomposition unit 111. Further, the packing unit 112 arranges the acquired patches in a two-dimensional image and packs them as a video frame. For example, the packing unit 112 packs a patch of position information (Geometry) indicating a position of a point and a patch of attribute information (Texture) such as color information added to the position information as a video frame.
  • Geometry position information
  • Texture patch of attribute information
  • the packing unit 112 supplies the generated video frame to the OMap generation unit 113.
  • the packing unit 112 supplies control information related to the packing to the multiplexer 118.
  • the OMap generation unit 113 performs a process related to generation of an occupancy map. For example, the OMap generation unit 113 acquires data supplied from the packing unit 112. Further, the OMap generation unit 113 generates an occupancy map corresponding to the position information and the attribute information. The OMap generation unit 113 supplies the generated occupancy map and various types of information acquired from the packing unit 112 to a subsequent processing unit. For example, the OMap generation unit 113 supplies a video frame of position information (Geometry) to the video encoding unit 115. Further, for example, the OMap generation unit 113 supplies the video frame of the attribute information (Texture) to the video encoding unit 116. Further, for example, the OMap generation unit 113 supplies the occupancy map to the OMap encoding unit 117.
  • the OMap generation unit 113 supplies a video frame of position information (Geometry) to the video encoding unit 115.
  • the OMap generation unit 113 supplies the video frame of the attribute information (Texture) to the video encoding unit 116
  • the auxiliary patch information compression unit 114 performs processing related to compression of the auxiliary patch information. For example, the auxiliary patch information compression unit 114 acquires data supplied from the patch decomposition unit 111. The auxiliary patch information compression unit 114 encodes (compresses) the auxiliary patch information included in the acquired data. The auxiliary patch information compression unit 114 supplies the encoded data of the obtained auxiliary patch information to the multiplexer 118.
  • the video encoding unit 115 performs a process related to encoding of a video frame of position information (Geometry). For example, the video encoding unit 115 acquires a video frame of the position information (Geometry) supplied from the OMap generation unit 113. In addition, the video encoding unit 115 encodes the obtained video frame of the position information (Geometry) by an encoding method for an arbitrary two-dimensional image such as AVC or HEVC. The video encoding unit 115 supplies encoded data (encoded data of a video frame of position information (Geometry)) obtained by the encoding to the multiplexer 118.
  • encoded data encoded data of a video frame of position information (Geometry)
  • the video encoding unit 116 performs a process related to encoding of a video frame of attribute information (Texture). For example, the video encoding unit 116 acquires a video frame of the attribute information (Texture) supplied from the OMap generation unit 113. Further, the video encoding unit 116 encodes the acquired video frame of the attribute information (Texture) by using an encoding method for an arbitrary two-dimensional image such as AVC or HEVC. The video encoding unit 116 supplies the encoded data (encoded data of the video frame of the attribute information (Texture)) obtained by the encoding to the multiplexer 118.
  • the encoded data encoded data of the video frame of the attribute information (Texture)
  • the OMap encoding unit 117 performs a process related to encoding an occupancy map. For example, the OMap encoding unit 117 acquires the occupancy map supplied from the OMap generation unit 113. Further, the OMap encoding unit 117 encodes the obtained occupancy map by an arbitrary encoding method such as arithmetic encoding. The OMap encoding unit 117 supplies the encoded data (encoded data of the occupancy map) obtained by the encoding to the multiplexer 118.
  • the multiplexer 118 performs processing related to multiplexing. For example, the multiplexer 118 acquires encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 114. Further, the multiplexer 118 acquires control information on packing supplied from the packing unit 112. Further, the multiplexer 118 acquires encoded data of a video frame of position information (Geometry) supplied from the video encoding unit 115. The multiplexer 118 acquires encoded data of the video frame of the attribute information (Texture) supplied from the video encoding unit 116. Further, the multiplexer 118 acquires the encoded data of the occupancy map supplied from the OMap encoding unit 117.
  • the multiplexer 118 acquires encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 114. Further, the multiplexer 118 acquires control information on packing supplied from the packing unit 112. Further, the multiplexer 118 acquires encoded data of a video frame of position information (Geometry) supplied from the video
  • the multiplexer 118 multiplexes the acquired information to generate a bitstream.
  • the multiplexer 118 outputs the generated bit stream to the outside of the encoding device 100.
  • the patch decomposition unit 111 acquires the occupancy map generated by the OMap generation unit 113 from the OMap generation unit 113. In addition, the patch decomposition unit 111 acquires, from the video encoding unit 115, encoded data of a video frame (also referred to as a geometry image) of the position information (Geometry) generated by the video encoding unit 115.
  • a video frame also referred to as a geometry image
  • the patch decomposition unit 111 performs a three-dimensional smoothing filter process on the point cloud using the data. That is, the patch disassembly unit 111 projects the 3D data that has been subjected to the three-dimensional smoothing filter processing onto a two-dimensional plane, and generates position information patches and attribute information patches.
  • FIG. 17 is a block diagram showing a main configuration example of the patch decomposition unit 111 of FIG.
  • the patch decomposition unit 111 includes a patch decomposition processing unit 131, a geometry decoding unit 132, a three-dimensional position information smoothing processing unit 133, and a texture correction unit 134.
  • the patch decomposition processing unit 131 acquires a point cloud (Point @ Cloud), decomposes it into a plurality of segmentations, projects the point cloud on a two-dimensional plane for each of the segmentations, and obtains patches (geometry patches) and attributes of position information. Generate a patch of information (texture patch).
  • the patch decomposition processing unit 131 supplies the generated geometry patch to the packing unit 112. Further, the patch decomposition processing unit 131 supplies the generated texture patch to the texture correction unit 134.
  • the geometry decoding unit 132 acquires encoded data (geometry encoded data) of the geometry image.
  • the encoded data of the geometry image is obtained by packing the geometry patch generated by the patch decomposition processing unit 131 into a video frame in the packing unit 112 and encoding the video frame in the video encoding unit 115.
  • the geometry decoding unit 132 decodes the encoded geometry data using a decoding method corresponding to the encoding method of the video encoding unit 115. Further, the geometry decoding unit 132 reconstructs (point information of) the point cloud from the geometry image obtained by decoding the encoded geometry data.
  • the geometry decoding unit 132 supplies the obtained position information of the point cloud (geometry point cloud) to the three-dimensional position information smoothing processing unit 133.
  • the three-dimensional position information smoothing processing unit 133 acquires the position information of the point cloud supplied from the geometry decoding unit 132. In addition, the three-dimensional position information smoothing processing unit 133 acquires an occupancy map. This occupancy map is generated by the OMap generation unit 113.
  • the three-dimensional position information smoothing processing unit 133 performs a three-dimensional smoothing filter process on the position information (geometry point cloud) of the point cloud. At this time, the three-dimensional position information smoothing processing unit 133 performs the three-dimensional smoothing filter process using the representative value for each local region obtained by dividing the three-dimensional space, as described above. Further, the three-dimensional position information smoothing processing unit 133 uses the acquired occupancy map to perform three-dimensional smoothing filter processing only on points in a partial area corresponding to the end of the patch in the occupancy map. Do. By doing so, the three-dimensional position information smoothing processing unit 133 can perform the filter processing at higher speed.
  • the three-dimensional position information smoothing processing unit 133 supplies the filtered geometry point cloud (also referred to as a smoothed geometry point cloud) to the patch decomposition processing unit 131.
  • the patch decomposition processing unit 131 decomposes the smoothed geometry point cloud into a plurality of segmentations, projects the point cloud on a two-dimensional plane for each of the segmentations, and generates position information patches (smoothed geometry patches). And supplies it to the packing unit 112.
  • the three-dimensional position information smoothing processing unit 133 also supplies the smoothed geometry point cloud to the texture correction unit 134.
  • the texture correction unit 134 acquires the texture patch supplied from the patch decomposition processing unit 131. Further, the texture correction unit 134 acquires the smoothed geometry point cloud supplied from the three-dimensional position information smoothing processing unit 133. The texture correction unit 134 corrects the texture patch using the smoothed geometry point cloud. When the position information of the point cloud changes due to the three-dimensional smoothing, the shape of the patch projected on the two-dimensional plane may also change. That is, the texture correction unit 134 reflects the change in the position information of the point cloud due to the three-dimensional smoothing on the attribute information patch (texture patch).
  • the texture correction unit 134 supplies the texture patch after the correction to the packing unit 112.
  • the packing unit 112 packs each of the smoothed geometry patch and the corrected texture patch supplied from the patch decomposition unit 111 into a video frame, and generates a video frame of position information and a video frame of attribute information.
  • FIG. 18 is a block diagram illustrating a main configuration example of the three-dimensional position information smoothing processing unit 133 in FIG.
  • the three-dimensional position information smoothing processing unit 133 includes a region dividing unit 141, an intra-region representative value deriving unit 142, a processing target region setting unit 143, a smoothing processing unit 144, and a transmission information generating unit 145.
  • the region dividing unit 141 acquires the position information (geometry point cloud) of the point cloud supplied from the geometry decoding unit 132.
  • the region dividing unit 141 divides a region in the three-dimensional space including the geometry point cloud, and sets a local region (grid). At this time, the region dividing unit 141 determines that the ⁇ # 1. Speeding Up Using Representative Value for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set.
  • the region dividing unit 141 supplies the information on the set local region (for example, information on the shape and size of the local region) and the geometry point cloud to the in-region representative value deriving unit 142.
  • the region dividing unit 141 supplies the information on the local region to the transmission information generating unit 145.
  • the in-region representative value deriving unit 142 acquires the information on the local region and the geometry point cloud supplied from the region dividing unit 141.
  • the in-region representative value deriving unit 142 derives a representative value of the geometry point cloud in each local region set by the region dividing unit 141 based on the information.
  • the intra-region representative value deriving unit 142 determines that ⁇ # 1. Speeding Up Using Representative Values for Each Local Area>, the representative values are derived by the method described above.
  • the in-region representative value deriving unit 142 supplies the information on the local region, the geometry point cloud, and the derived representative value for each local region to the smoothing processing unit 144.
  • the information indicating the representative value for each local region is supplied to the transmission information generating unit 145.
  • the processing target area setting unit 143 acquires an occupancy map.
  • the processing target area setting unit 143 sets an area to be subjected to the filter processing based on the occupancy map.
  • the processing target area setting unit 143 sets an area by the method described above in ⁇ # 2.3 Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 143 sets the partial area corresponding to the end of the patch in the occupancy map as the processing target area of the filter processing.
  • the processing target area setting unit 143 supplies information indicating the set processing target area to the smoothing processing unit 144.
  • the processing target area setting unit 143 supplies the information indicating the processing target area to the transmission information generating unit 145.
  • the smoothing processing unit 144 acquires the information on the local area, the geometry point cloud, and the representative value for each local area supplied from the in-area representative value deriving unit 142. Further, the smoothing processing unit 144 acquires information indicating the processing target area supplied from the processing target area setting unit 143.
  • the smoothing processing unit 144 performs a three-dimensional smoothing filter process based on the information. That is, as described above in ⁇ Speeding up of three-dimensional filter processing>, the smoothing processing unit 144 uses the representative value of each local area as a reference value for a point in the processing target area of the geometry point cloud. To perform a three-dimensional smoothing filter process. Therefore, the smoothing processing unit 144 can perform three-dimensional smoothing filter processing at higher speed.
  • the smoothing processing unit 144 supplies the geometry point cloud (smoothed geometry point cloud) that has been subjected to the three-dimensional smoothing filter processing to the patch decomposition processing unit 131 and the texture correction unit 134.
  • the transmission information generating unit 145 includes information on the local area supplied from the area dividing unit 141, information indicating the representative value for each local area supplied from the in-area representative value deriving unit 142, and information from the processing target area setting unit 143. The information indicating the supplied processing target area is acquired. The transmission information generation unit 145 generates transmission information including such information. The transmission information generation unit 145 supplies the generated transmission information to, for example, the auxiliary patch information compression unit 114, and transmits the transmission information as auxiliary patch information to the decoding side.
  • step S101 the patch decomposition unit 111 of the encoding device 100 projects the point cloud on a two-dimensional plane and decomposes the point cloud into patches.
  • step S102 the auxiliary patch information compression unit 114 compresses the auxiliary patch information generated in step S101.
  • step S103 the packing unit 112 packs each of the position information and attribute information patches generated in step S101 as a video frame. Further, the OMap generation unit 113 generates an occupancy map corresponding to the video frame of the position information and the attribute information.
  • step S104 the video encoding unit 115 encodes the geometry video frame, which is the video frame of the position information generated in step S103, by a two-dimensional image encoding method.
  • step S105 the video encoding unit 116 encodes the color video frame, which is the video frame of the attribute information generated in step S103, by a two-dimensional image encoding method.
  • step S106 the OMap encoding unit 117 encodes the occupancy map generated in step S103 by a predetermined encoding method.
  • step S107 the multiplexer 118 multiplexes various information generated as described above, and generates a bit stream including the information.
  • step S108 the multiplexer 118 outputs the bit stream generated in step S107 to the outside of the encoding device 100.
  • step S108 ends, the encoding process ends.
  • step S121 the patch disassembly processing unit 131 disassembles the point cloud into patches, and generates a geometry patch and a texture patch.
  • step S122 the geometry decoding unit 132 decodes the encoded geometry data encoded by packing the geometry patch generated in step S121 into a video frame, reconstructs a point cloud, and generates a point cloud of the geometry. Generate.
  • step S123 the three-dimensional position information smoothing processing unit 133 performs a smoothing process, and performs a three-dimensional smoothing filter process on the point cloud of the geometry generated in step S122.
  • step S124 the texture correction unit 134 corrects the texture patch generated in step S121 using the smoothed geometry point cloud obtained by the processing in step S123.
  • step S125 the patch decomposition processing unit 131 decomposes the smoothed geometry point cloud obtained by the processing in step S123 into patches, and generates a smoothed geometry patch.
  • step S125 ends, the patch disassembly processing ends, and the processing returns to FIG.
  • the region dividing unit 141 divides the three-dimensional space including the point cloud into local regions in step S141.
  • the region dividing unit 141 determines whether ⁇ # 1. Speeding Up Using Representative Value for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set.
  • step S142 the intra-region representative value deriving unit 142 derives a representative value of the point cloud for each local region set in step S141.
  • the in-region representative value deriving unit 142 determines the value of ⁇ # 1. Speeding Up Using Representative Values for Each Local Area>, the representative values are derived by the method described above.
  • step S143 the processing target area setting unit 143 sets a range in which the smoothing process is performed.
  • the processing target area setting unit 143 sets an area by the method described above in ⁇ # 2.3. Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 143 sets the partial area corresponding to the end of the patch in the occupancy map as the processing target area of the filter processing.
  • step S144 the smoothing processing unit 144 performs a smoothing process on the processing target range set in step S143 with reference to the representative value of each region.
  • the smoothing processing unit 144 uses a representative value for each local area as a reference value for a point in the processing target area of the geometry point cloud. Perform dimensional smoothing filter processing. Therefore, the smoothing processing unit 144 can perform three-dimensional smoothing filter processing at higher speed.
  • step S145 the transmission information generation unit 145 generates transmission information related to smoothing, supplies it to, for example, the auxiliary patch information compression unit 114, and causes it to be transmitted as auxiliary patch information.
  • step S145 ends, the smoothing processing ends, and the processing returns to FIG.
  • step S162 If the determination is true, that is, if it is determined that the current position is not at the end of the occupancy map, the process proceeds to step S162.
  • step S162 the processing target area setting unit 143 determines whether or not all the values of the occupancy map in the peripheral portion of the current location are “1”.
  • the values of the occupancy map of the peripheral part of the current location are all 1, that is, the position information and the attribute information exist in all the peripheral parts, and the vicinity of the boundary between the part where the position information and the attribute information exists and the part that does not exist is If it is determined that there is not, the process proceeds to step S163.
  • step S163 the processing target area setting unit 143 determines whether all the patches to which the peripheral part of the current location belongs are the same as the patches to which the current location belongs.
  • portions where the value of the occupancy map is 1 are continuous. Therefore, even if it is determined in step S162 that data is present in all peripheral parts of the current location, there is a possibility that a plurality of patches are adjacent parts, and the possibility that the current location is the end of the patch remains. .
  • images are basically not continuous between different patches, a notch as shown in FIG. 1A can be formed even in a portion where a plurality of patches are adjacent due to a large precision size of the occupancy map. There is. Therefore, as described above, it is determined whether or not all the patches to which the peripheral portion of the current location belongs are the same as the patches to which the current location belongs.
  • step S164 If it is determined that all the peripheral portions and the current location belong to the same patch, that is, the current location is not a part where a plurality of patches are adjacent to each other and is not an end of the patch, the process proceeds to step S164.
  • step S164 the processing target area setting unit 143 determines a three-dimensional point (point in the point cloud corresponding to the processing target block) restored from the current position (x, y) as a point not subjected to the smoothing filter processing. That is, the current location is excluded from the processing range for smoothing.
  • step S166 the process proceeds to step S166.
  • step S161 if the above determination is false, that is, if it is determined that the current location is at the end of the occupancy map, the process proceeds to step S165.
  • step S162 If it is determined in step S162 that there is a peripheral portion where the value of the occupancy map is not 1, that is, there is a peripheral portion where no position information or attribute information exists and it is determined that the current location is the end of the patch, Goes to step S165.
  • step S163 if it is determined that there is a peripheral portion belonging to a patch different from the patch to which the current location belongs, that is, if the current location is determined to be a portion where a plurality of patches are adjacent, the process proceeds to step S165.
  • step S165 the processing target area setting unit 143 determines a three-dimensional point (point in the point cloud corresponding to the processing target block) restored from the current position (x, y) as a point to be subjected to smoothing filter processing. That is, the current position is set as the smoothing processing range.
  • step S166 the processing target area setting unit 143 determines whether or not processing has been performed on all positions (blocks) of the occupancy map. If it is determined that there is an unprocessed position (block), the process returns to step S161, the target block is changed to an unprocessed block, and the subsequent processes are repeated. That is, the processing of steps S161 to S166 is repeated for each block.
  • step S166 If it is determined in step S166 that all positions (blocks) of the occupancy map have been processed, the smoothing range setting process ends, and the process returns to FIG.
  • FIG. 23 is a block diagram illustrating an example of a configuration of a decoding device that is an aspect of an image processing device to which the present technology is applied.
  • the decoding device 200 illustrated in FIG. 23 decodes encoded data obtained by projecting and encoding 3D data such as a point cloud on a two-dimensional plane by a decoding method for a two-dimensional image, and projecting the encoded data on a three-dimensional space.
  • a decoding device to which a video-based approach is applied For example, the decoding device 200 decodes a bitstream generated by encoding the point cloud by the encoding device 100 (FIG. 16), and reconstructs the point cloud.
  • FIG. 23 shows main components such as the processing unit and the flow of data, and the components shown in FIG. 23 are not necessarily all. That is, in the decoding device 200, there may be a processing unit not shown as a block in FIG. 23, or a process or data flow not shown as an arrow or the like in FIG. This is the same in other drawings for explaining the processing unit and the like in the decoding device 200.
  • the decoding device 200 includes a demultiplexer 211, an auxiliary patch information decoding unit 212, a video decoding unit 213, a video decoding unit 214, an OMap decoding unit 215, an unpacking unit 216, and a 3D reconstruction unit 217.
  • a demultiplexer 211 the demultiplexer 211
  • an auxiliary patch information decoding unit 212 the decoding device 200
  • a video decoding unit 213, a video decoding unit 214 includes a video decoding unit 214, an OMap decoding unit 215, an unpacking unit 216, and a 3D reconstruction unit 217.
  • the demultiplexer 211 performs processing relating to demultiplexing of data. For example, the demultiplexer 211 acquires a bit stream input to the decoding device 200. This bit stream is supplied from the encoding device 100, for example. The demultiplexer 211 demultiplexes this bit stream, extracts encoded data of the auxiliary patch information, and supplies it to the auxiliary patch information decoding unit 212. In addition, the demultiplexer 211 extracts encoded data of a video frame of position information (Geometry) from the bit stream by demultiplexing, and supplies the extracted data to the video decoding unit 213.
  • a video frame of position information Gaometry
  • the demultiplexer 211 extracts coded data of the video frame of the attribute information (Texture) from the bit stream by demultiplexing, and supplies the extracted data to the video decoding unit 214. Further, the demultiplexer 211 extracts encoded data of the occupancy map from the bit stream by demultiplexing, and supplies the extracted data to the OMap decoding unit 215. Further, the demultiplexer 211 extracts control information related to packing from the bit stream by demultiplexing, and supplies the extracted control information to the unpacking unit 216.
  • the attribute information Texture
  • the auxiliary patch information decoding unit 212 performs a process related to decoding of encoded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 212 acquires the encoded data of the auxiliary patch information supplied from the demultiplexer 211. Further, the auxiliary patch information decoding unit 212 decodes (decompresses) the coded data of the auxiliary patch information included in the obtained data. The auxiliary patch information decoding unit 212 supplies the auxiliary patch information obtained by decoding to the 3D reconstruction unit 217.
  • the video decoding unit 213 performs a process related to decoding encoded data of a video frame of position information (Geometry). For example, the video decoding unit 213 acquires encoded data of a video frame of position information (Geometry) supplied from the demultiplexer 211. Further, the video decoding unit 213 decodes the encoded data by a decoding method for an arbitrary two-dimensional image such as AVC or HEVC, and obtains a video frame of position information (Geometry). The video decoding unit 213 supplies the video frame of the position information (Geometry) to the unpacking unit 216.
  • a decoding method for an arbitrary two-dimensional image such as AVC or HEVC
  • the video decoding unit 214 performs a process related to decoding of encoded data of a video frame of attribute information (Texture). For example, the video decoding unit 214 acquires encoded data of a video frame of attribute information (Texture) supplied from the demultiplexer 211. Further, the video decoding unit 214 decodes the encoded data by a decoding method for an arbitrary two-dimensional image such as AVC or HEVC, and obtains a video frame of attribute information (Texture). The video decoding unit 214 supplies the video frame of the attribute information (Texture) to the unpacking unit 216.
  • a decoding method for an arbitrary two-dimensional image such as AVC or HEVC
  • the OMap decoding unit 215 performs a process related to decoding encoded data of an occupancy map. For example, the OMap decoding unit 215 acquires the encoded data of the occupancy map supplied from the demultiplexer 211. Also, the OMap decoding unit 215 decodes the encoded data by an arbitrary decoding method such as arithmetic decoding corresponding to arithmetic coding, and obtains an occupancy map. The OMap decoding unit 215 supplies the occupancy map to the unpacking unit 216.
  • the unpacking unit 216 performs a process related to unpacking. For example, the unpacking unit 216 obtains a video frame of position information (Geometry) from the video decoding unit 213, obtains a video frame of attribute information (Texture) from the video decoding unit 214, and obtains an occupancy map from the OMap decoding unit 215. To get. The unpacking unit 216 unpacks a video frame of position information (Geometry) and a video frame of attribute information (Texture) based on the control information on packing.
  • a video frame of position information (Geometry) from the video decoding unit 213
  • Texture video frame of attribute information
  • the unpacking unit 216 unpacks a video frame of position information (Geometry) and a video frame of attribute information (Texture) based on the control information on packing.
  • the unpacking unit 216 converts the position information (Geometry) data (geometry patches and the like) and the attribute information (Texture) data (texture patches and the like) obtained by unpacking and the occupancy map and the like into a 3D reconstruction unit. 217.
  • the 3D reconstruction unit 217 performs a process related to the reconstruction of the point cloud.
  • the 3D reconstruction unit 217 supplies the auxiliary patch information supplied from the auxiliary patch information decoding unit 212, the position information (Geometry) data (geometry patch and the like) supplied from the unpacking unit 216, and the attribute information (Texture). ) Is reconstructed based on the data (texture patches and the like) and the occupancy map.
  • the 3D reconstruction unit 217 outputs the reconstructed point cloud to the outside of the decoding device 200.
  • the point cloud is supplied to, for example, a display unit to be imaged, and the image is displayed, recorded on a recording medium, or supplied to another device via communication.
  • the 3D reconstruction unit 217 performs a three-dimensional smoothing filter process on the reconstructed point cloud.
  • FIG. 24 is a block diagram illustrating a main configuration example of the 3D reconstruction unit 217 in FIG. 24, the 3D reconstruction unit 217 includes a geometry point cloud (PointCloud) generation unit 231, a three-dimensional position information smoothing processing unit 232, and a texture synthesis unit 233.
  • a geometry point cloud (PointCloud) generation unit 231 the 3D reconstruction unit 217 includes a geometry point cloud (PointCloud) generation unit 231, a three-dimensional position information smoothing processing unit 232, and a texture synthesis unit 233.
  • PointCloud geometry point cloud
  • the geometry point cloud generation unit 231 performs a process related to generation of a geometry point cloud. For example, the geometry point cloud generation unit 231 acquires a geometry patch supplied from the unpacking unit 216. The geometry point cloud generation unit 231 reconstructs a geometry point cloud (point cloud position information) using the acquired geometry patches and other information such as auxiliary patch information. The geometry point cloud generation unit 231 supplies the generated geometry point cloud to the three-dimensional position information smoothing processing unit 232.
  • the three-dimensional position information smoothing processing unit 232 performs a process related to a three-dimensional smoothing filter process. For example, the three-dimensional position information smoothing processing unit 232 acquires the geometry point cloud supplied from the geometry point cloud generation unit 231. Also, the three-dimensional position information smoothing processing unit 232 acquires the occupancy map supplied from the unpacking unit 216.
  • the three-dimensional position information smoothing processing unit 232 performs a three-dimensional smoothing filter process on the acquired geometry point cloud. At that time, the three-dimensional position information smoothing processing unit 232 performs the three-dimensional smoothing filter processing using the representative value for each local region obtained by dividing the three-dimensional space, as described above. In addition, the three-dimensional position information smoothing processing unit 232 uses the acquired occupancy map to perform three-dimensional smoothing filter processing only on points in a partial area corresponding to the end of the patch in the occupancy map. Do. By doing so, the three-dimensional position information smoothing processing unit 232 can perform the filter processing at higher speed.
  • the three-dimensional position information smoothing processing unit 232 supplies the filtered geometry point cloud (the smoothed geometry point cloud) to the texture synthesis unit 233.
  • the texture synthesizing unit 233 performs a process related to synthesizing the geometry and the texture. For example, the texture synthesis unit 233 acquires the smoothed geometry point cloud supplied from the three-dimensional position information smoothing processing unit 232. Further, the texture synthesizing unit 233 acquires the texture patch supplied from the unpacking unit 216. The texture synthesizing unit 233 synthesizes a texture patch (that is, attribute information) with the smoothed geometry point cloud, and reconstructs the point cloud. The position information of the post-smoothing geometry point cloud is changed by three-dimensional smoothing. That is, strictly speaking, there is a possibility that there is a part where the position information and the attribute information do not correspond. Therefore, the texture synthesizing unit 233 synthesizes the attribute information obtained from the texture patch with the smoothed geometry point cloud while reflecting the change in the position information of the three-dimensionally smoothed portion.
  • the texture synthesizing unit 233 outputs the reconstructed point cloud to the outside of the decoding device 200.
  • FIG. 25 is a block diagram illustrating a main configuration example of the three-dimensional position information smoothing processing unit 232 in FIG.
  • the three-dimensional position information smoothing processing unit 232 includes a transmission information acquiring unit 251, an area dividing unit 252, an intra-region representative value deriving unit 253, a processing target area setting unit 254, and a smoothing processing unit. 255.
  • the transmission information acquisition unit 251 acquires transmission information supplied as auxiliary patch information or the like when transmission information transmitted from the encoding side exists.
  • the transmission information acquisition unit 251 supplies the transmission information to the region division unit 252, the intra-region representative value derivation unit 253, and the processing target region setting unit 254 as necessary.
  • the transmission information acquisition unit 251 supplies information on the local region to the region division unit 252.
  • the transmission information acquisition unit 251 supplies information indicating the representative value for each local region to the intra-region representative value deriving unit 253.
  • the transmission information acquiring unit 251 supplies the information indicating the processing target area to the processing target area setting unit 254.
  • the region division unit 252 acquires the position information (geometry point cloud) of the point cloud supplied from the geometry point cloud generation unit 231.
  • the region dividing unit 252 divides a region in the three-dimensional space including the geometry point cloud, and sets a local region (grid). At this time, the region dividing unit 141 determines that the ⁇ # 1. Speeding Up Using Representative Value for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set.
  • the region dividing unit 252 sets the local region indicated by the information (for example, the shape and size of the local region). Etc.).
  • the ⁇ region division unit 252 supplies the information on the set local region (for example, information on the shape and size of the local region) and the geometry point cloud to the in-region representative value derivation unit 253.
  • the in-region representative value deriving unit 253 acquires information on the local region and the geometry point cloud supplied from the region dividing unit 252.
  • the in-region representative value deriving unit 253 derives a representative value of the geometry point cloud in each local region set by the region dividing unit 252 based on the information.
  • the intra-region representative value deriving unit 253 determines that ⁇ # 1. Speeding Up Using Representative Values for Each Local Area>, the representative values are derived by the method described above.
  • the intra-region representative value derivation unit 253 determines the representative value for each local region indicated by the information. Adopt the value.
  • the in-region representative value deriving unit 142 supplies the information on the local region, the geometry point cloud, and the derived representative value for each local region to the smoothing processing unit 255.
  • the processing target area setting unit 254 acquires an occupancy map.
  • the processing target area setting unit 254 sets an area to be subjected to the filter processing based on the occupancy map.
  • the processing target region setting unit 254 sets a region by the method described above in ⁇ # 2.3 Simplification of three-dimensional filter processing>. That is, the processing target region setting unit 254 sets a partial region corresponding to the end of the patch in the occupancy map as a processing target region of the filter processing.
  • the processing target area setting unit 254 adopts the processing target area indicated by the information.
  • the processing target area setting unit 254 supplies information indicating the set processing target area to the smoothing processing unit 255.
  • the smoothing processing unit 255 acquires the information on the local region, the geometry point cloud, and the representative value for each local region, which are supplied from the in-region representative value deriving unit 253. Further, the smoothing processing unit 255 acquires information indicating the processing target area supplied from the processing target area setting unit 254.
  • the smoothing processing unit 255 performs a three-dimensional smoothing filter process based on the information. That is, as described above in ⁇ Speeding up of three-dimensional filter processing>, the smoothing processing unit 255 uses the representative value of each local area as a reference value for a point in the processing target area of the geometry point cloud. To perform a three-dimensional smoothing filter process. Therefore, the smoothing processing unit 255 can perform three-dimensional smoothing filter processing at higher speed.
  • the smoothing processing unit 255 supplies the texture point cloud (the post-smoothed geometry point cloud) that has been subjected to the three-dimensional smoothing filter processing to the texture synthesis unit 233.
  • the demultiplexer 211 of the decoding device 200 demultiplexes the bit stream in step S201.
  • step S202 the auxiliary patch information decoding unit 212 decodes the auxiliary patch information extracted from the bit stream in step S201.
  • step S203 the video decoding unit 213 decodes the encoded data of the geometry video frame (the video frame of the position information) extracted from the bit stream in step S201.
  • step S204 the video decoding unit 214 decodes the encoded data of the color video frame (the video frame of the attribute information) extracted from the bit stream in step S201.
  • step S205 the OMap decoding unit 215 decodes the encoded data of the occupancy map extracted from the bit stream in step S201.
  • step S206 the unpacking unit 216 unpacks the geometry video frame obtained by decoding the encoded data in step S203, and generates a geometry patch. Further, the unpacking unit 216 unpacks the color video frame obtained by decoding the encoded data in step S204, and generates a texture patch. Further, the unpacking unit 216 unpacks the occupancy map obtained by decoding the encoded data in step S205, and extracts an occupancy map corresponding to a geometry patch or a texture patch.
  • step S207 the 3D reconstruction unit 217 reconstructs a point cloud based on the auxiliary patch information obtained in step S202, the geometry patch, the texture patch, the occupancy map, and the like obtained in step S206. .
  • step S207 ends, the decoding processing ends.
  • the geometry point cloud generation unit 231 of the 3D reconstruction unit 217 reconstructs the geometry point cloud in step S221.
  • step S222 the three-dimensional position information smoothing processing unit 232 performs a smoothing process, and performs a three-dimensional smoothing filter process on the geometry point cloud generated in step S221.
  • step S223 the texture synthesizing unit 233 synthesizes a texture patch with the smoothed geometry point cloud.
  • step S223 ends, the point cloud reconstruction process ends, and the process returns to FIG.
  • the transmission information acquisition unit 251 acquires transmission information related to smoothing in step S241. If there is no transmission information, this processing is omitted.
  • the region dividing unit 252 divides the three-dimensional space including the point cloud into local regions.
  • the region dividing unit 252 determines whether ⁇ # 1. Speeding Up Using Representative Value for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set.
  • the area dividing unit 252 adopts the setting of the local area (shape and size of the local area) indicated by the information.
  • step S243 the intra-region representative value deriving unit 253 derives a representative value of the point cloud for each local region set in step S242.
  • the in-region representative value deriving unit 253 determines whether ⁇ # 1. Speeding Up Using Representative Values for Each Local Area>, the representative values are derived by the method described above.
  • the intra-region representative value deriving unit 253 adopts the representative value for each local region indicated by the information.
  • step S244 the processing target area setting unit 254 sets a range in which the smoothing process is performed.
  • the processing target area setting unit 254 sets an area by the method described above in ⁇ # 2.3 Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 254 executes the smoothing range setting processing described with reference to the flowchart of FIG. 22 to set the processing target range of the filter processing. If information indicating the processing target area is acquired as the transmission information in step S241, the processing target area setting unit 254 adopts the setting of the processing target area indicated by the information.
  • step S245 the smoothing processing unit 255 performs a smoothing process on the processing target range set in step S244 with reference to the representative value of each region.
  • the smoothing processing unit 255 uses the representative value of each local area as a reference value for a point in the processing target area of the geometry point cloud. Perform dimensional smoothing filter processing. Therefore, the smoothing processing unit 255 can perform three-dimensional smoothing filter processing at higher speed.
  • step S245 When the process of step S245 is completed, the smoothing process is completed, and the process returns to FIG.
  • a smoothing processing unit for example, three-dimensional attribute information smoothing that performs a smoothing process on the texture patch supplied to the texture correcting unit 134 (Processing unit) may be provided.
  • the 3D reconstruction unit 217 (FIG. 24) performs a smoothing process on the texture patch supplied to the texture synthesis unit 233 (for example, the three-dimensional attribute information A smoothing section).
  • control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
  • control information for example, enabled_flag
  • control for designating a range for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, and the like
  • Information may be transmitted.
  • ⁇ Computer> The above-described series of processes can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer that can execute various functions by installing various programs, and the like.
  • FIG. 29 is a block diagram showing a configuration example of hardware of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • 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 nonvolatile memory, and 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, for example, a program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904, and executes the program. Is performed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be applied, for example, by recording it on a removable medium 921 as a package medium or the like.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable medium 921 to the drive 915.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in the ROM 902 or the storage unit 913 in advance.
  • the present technology can be applied to any configuration.
  • the present technology is applicable to a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to a terminal by cellular communication, or
  • the present invention can be applied to various electronic devices such as an apparatus (for example, a hard disk recorder or a camera) that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, and reproduces an image from the storage medium.
  • the present technology is applicable to a processor (eg, a video processor) as a system LSI (Large Scale Integration), a module using a plurality of processors (eg, a video module), a unit using a plurality of modules (eg, a video unit).
  • a processor eg, a video processor
  • the present invention can be implemented as a part of the configuration of a device such as a set (for example, a video set) in which other functions are added to the unit.
  • the present technology can be applied to a network system including a plurality of devices.
  • the present technology may be implemented as cloud computing in which a plurality of devices share and process in a shared manner via a network.
  • the present technology is implemented in a cloud service that provides a service relating to an image (moving image) to an arbitrary terminal such as a computer, an AV (Audio Visual) device, a portable information processing terminal, and an IoT (Internet of Things) device. You may make it.
  • a system refers to a set of a plurality of components (devices, modules (parts), and the like), and it does not matter whether all components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network and one device housing a plurality of modules in one housing are all systems. .
  • the system, device, processing unit, and the like to which the present technology is applied can be used in any field such as, for example, transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, and nature monitoring. . Further, its use is arbitrary.
  • “flag” is information for identifying a plurality of states, and is not limited to information used for identifying two states of true (1) or false (0), as well as three or more. Information that can identify the state is also included. Therefore, the value that the “flag” can take may be, for example, a binary value of 1/0, or may be a ternary value or more. That is, the number of bits constituting the "flag” is arbitrary, and may be 1 bit or a plurality of bits. Further, the identification information (including the flag) may include not only a form in which the identification information is included in the bit stream but also a form in which the difference information of the identification information with respect to certain reference information is included in the bit stream. In, "flag” and “identification information” include not only the information but also difference information with respect to reference information.
  • association means, for example, that one data can be used (linked) when one data is processed. That is, the data associated with each other may be collected as one data or may be individual data. For example, the information associated with the encoded data (image) may be transmitted on a different transmission path from the encoded data (image). Further, for example, information associated with encoded data (image) may be recorded on a recording medium different from the encoded data (image) (or another recording area of the same recording medium). Good. Note that this “association” may be a part of the data instead of 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 of the frame.
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications 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 configuration described above as a plurality of devices (or processing units) may be configured as one device (or processing unit).
  • a configuration other than those described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit).
  • the above-described program may be executed by an arbitrary device.
  • the device only has to have necessary functions (functional blocks and the like) and be able to obtain necessary information.
  • each step of one flowchart may be executed by one device, or a plurality of devices may share and execute the steps.
  • 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 may be executed as a plurality of steps.
  • the processing described as a plurality of steps may be collectively executed as one step.
  • a program executed by a computer may be configured so that processing of steps for describing a program is executed in chronological order according to the order described in this specification, or may be executed in parallel or when calls are executed. It may be executed individually at a necessary timing such as when it is touched. That is, as long as no inconsistency arises, the processing of each step may be performed in an order different from the order described above. Further, the processing of the steps for describing 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 the present technology can be independently and independently implemented unless there is a contradiction.
  • some or all of the present technology described in any of the embodiments may be combined with some or all of the present technology described in other embodiments.
  • some or all of the above-described arbitrary technology may be implemented in combination with another technology that is not described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本開示は、ポイントクラウドデータに対するフィルタ処理の処理時間の増大を抑制することができるようにする画像処理装置および方法に関する。 ポイントクラウドデータに対して、3次元空間を分割した局所領域毎のそのポイントクラウドデータの代表値を用いて、フィルタ処理を行い、そのフィルタ処理が行われたポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する。本開示は、例えば、情報処理装置、画像処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、ポイントクラウドデータに対するフィルタ処理の処理時間の増大を抑制することができるようにした画像処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法として、例えばOctree等のような、ボクセル(Voxel)を用いた符号化があった(例えば非特許文献1参照)。
 近年、その他の符号化方法として、例えば、ポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するアプローチ(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案されている(例えば、非特許文献2乃至非特許文献4参照)。
 このような符号化において、復号された2次元画像から復元されたポイントクラウドを画像化した場合の主観的な画質の低減を抑制するために、最近傍探索(Nearest Neighbor)により周辺のポイントを取得して3次元の平滑化フィルタをかける方法が考えられた。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf 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
 しかしながら、一般的にポイントクラウドのポイント数は多く、最近傍探索の処理の負荷が非常に大きくなってしまっていた。そのため、この方法では処理時間が増大するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドデータに対するフィルタ処理を従来の方法よりも高速に行うことができるようにし、その処理時間の増大を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行うフィルタ処理部と、前記フィルタ処理部により前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する符号化部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行い、前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する画像処理方法である。
 本技術の他の側面の画像処理装置は、ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成する復号部と、前記復号部により生成された前記2次元平面画像より復元された前記ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行うフィルタ処理部とを備える画像処理装置である。
 本技術の他の側面の画像処理方法は、ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成し、生成された前記2次元平面画像より復元された前記ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行う画像処理方法である。
 本技術のさらに他の側面の画像処理装置は、ポイントクラウドデータの一部のポイントに対してフィルタ処理を行うフィルタ処理部と、前記フィルタ処理部により前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する符号化部とを備える画像処理装置である。
 本技術のさらに他の側面の画像処理方法は、ポイントクラウドデータの一部のポイントに対してフィルタ処理を行い、前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する画像処理方法である。
 本技術のさらに他の側面の画像処理装置は、ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成する復号部と、前記復号部により生成された前記2次元平面画像より復元された前記ポイントクラウドデータの一部のポイントに対してフィルタ処理を行うフィルタ処理部とを備える画像処理装置である。
 本技術のさらに他の側面の画像処理方法は、ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成し、生成された前記2次元平面画像より復元された前記ポイントクラウドデータの一部のポイントに対してフィルタ処理を行う画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、ポイントクラウドデータに対して、3次元空間を分割した局所領域毎のそのポイントクラウドデータの代表値を用いて、フィルタ処理が行われ、そのフィルタ処理が行われたポイントクラウドデータが投影された2次元平面画像が符号化され、ビットストリームが生成される。
 本技術の他の側面の画像処理装置および方法においては、ビットストリームが復号され、ポイントクラウドデータが投影された2次元平面画像の符号化データが生成され、その生成された2次元平面画像より復元されたポイントクラウドデータに対して、3次元空間を分割した局所領域毎のそのポイントクラウドデータの代表値を用いて、フィルタ処理が行われる。
 本技術のさらに他の側面の画像処理装置および方法においては、ポイントクラウドデータの一部のポイントに対してフィルタ処理が行われ、そのフィルタ処理が行われたポイントクラウドデータが投影された2次元平面画像が符号化され、ビットストリームが生成される。
 本技術のさらに他の側面の画像処理装置および方法においては、ビットストリームが復号され、ポイントクラウドデータが投影された2次元平面画像の符号化データが生成され、その生成された2次元平面画像より復元されたポイントクラウドデータの一部のポイントに対してフィルタ処理が行われる。
 本開示によれば、画像を処理することができる。特に、ポイントクラウドデータに対するフィルタ処理の処理時間の増大を抑制することができる。
平滑化処理の例を説明する図である。 本技術に関する主な特徴をまとめた図である。 最近傍探索について説明する図である。 本技術を用いたフィルタ処理の概要の一例を説明する図である。 処理時間の比較例を説明する図である。 局所領域分割方式の例を説明する図である。 局所領域に関するパラメータについて説明する図である。 情報の伝送について説明する図である。 フィルタ処理の対象について説明する図である。 代表値の導出方法について説明する図である。 フィルタ処理の演算について説明する図である。 フィルタ処理の対象範囲について説明する図である。 最近傍探索を用いたフィルタ処理に適用する場合について説明する図である。 局所領域毎の代表値を用いたフィルタ処理に適用する場合について説明する図である。 処理時間の比較例を説明する図である。 符号化装置の主な構成例を示すブロック図である。 パッチ分解部の主な構成例を説明する図である。 3次元位置情報平滑化処理部の主な構成例を説明する図である。 符号化処理の流れの例を説明するフローチャートである。 パッチ分解処理の流れの例を説明するフローチャートである。 平滑化処理の流れの例を説明するフローチャートである。 平滑化範囲設定処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 3D再構築部の主な構成例を説明する図である。 3次元位置情報平滑化処理部の主な構成例を説明する図である。 復号処理の流れの例を説明するフローチャートである。 ポイントクラウド再構築処理の流れの例を説明するフローチャートである。 平滑化処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.フィルタ処理の高速化
 2.第1の実施の形態(符号化装置)
 3.第2の実施の形態(復号装置)
 4.変形例
 5.付記
 <1.フィルタ処理の高速化>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 非特許文献5:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
 非特許文献6:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
 非特許文献7:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献6に記載されているQuad-Tree Block Structure、非特許文献7に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
  <ポイントクラウド>
 従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ等のデータが存在した。
 例えばポイントクラウドの場合、立体構造物を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータは、この点群の各点の位置情報や属性情報(例えば色等)により構成される。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造を十分な精度で表現することができる。
  <ビデオベースドアプローチの概要>
 このようなポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案されている。
 このビデオベースドアプローチでは、入力されたポイントクラウド(Point cloud)が複数のセグメンテーション(領域とも称する)に分割され、領域毎に2次元平面に投影される。なお、ポイントクラウドの位置毎のデータ(すなわち、各ポイントのデータ)は、上述のように位置情報(Geometry(Depthとも称する))と属性情報(Texture)とにより構成され、それぞれ、領域毎に2次元平面に投影される。
 そして、この2次元平面に投影された各セグメンテーション(パッチとも称する)は、2次元画像に配置され、例えば、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった、2次元平面画像用の符号化方式により符号化される。
  <オキュパンシーマップ>
 ビデオベースドアプローチにより、3Dデータを2次元平面に投影する場合、上述のように位置情報が投影された2次元平面画像(ジオメトリ(Geometry)画像とも称する)と、属性情報が投影された2次元平面画像(テクスチャ(Texture)画像とも称する)との他に、オキュパンシーマップが生成される。オキュパンシーマップは、2次元平面の各位置における、位置情報および属性情報の有無を示すマップ情報である。より具体的には、オキュパンシーマップでは、その位置情報および属性情報の有無が、プレシジョン(Precision)と称する領域毎に示される。
 ポイントクラウド(の各ポイント)は、このオキュパンシーマップのプレシジョンで定義されるブロック単位で復元されるため、このブロックのサイズが大きい程、ポイントの解像度が粗くなる。そのため、このプレシジョンのサイズが大きいことにより、ビデオベースドアプローチにより符号化・復号したポイントクラウドを画像化する場合の主観的な画質が低減してしまうおそれがあった。
 例えば、ビデオベースドアプローチにより符号化・復号したポイントクラウドを画像化した場合に、プレシジョンのサイズが大きいと、図1のAのように、白の部分と黒の部分との境界において、鋸の歯のような細かい刻み目が形成され、主観的な画質が低減してしまうおそれがあった。
 そこで、最近傍探索(NN(NearestNeighbor)とも称する)により処理対象のポイントの周辺のポイントを取得し、それらを用いて処理対象のポイントに3次元の平滑化フィルタをかける方法が考えられた。このような3次元の平滑化フィルタをかけることにより、図1のBのように、白の部分と黒の部分との境界の刻み目が抑制されて滑らかな線状となり、主観的な画質の低減を抑制することができる。
 しかしながら、一般的にポイントクラウドのポイント数は多く、最近傍探索の処理の負荷が非常に大きくなってしまっていた。そのため、この方法では処理時間が増大するおそれがあった。
 この処理時間の増大により、例えば、上述のようなビデオベースドアプローチを即時的(リアルタイム)に行う(例えば毎秒60フレームの動画像として符号化する)ことが困難であった。
 一般的なNNの高速化手法として、近似で探す方法(Approximate NN)や、より高速な処理が可能なハードウエアを用いる方法等が考えられているが、それらを用いても即時的な処理は現実的に困難であった。
  <3次元のフィルタ処理の高速化>
   <#1.局所領域毎の代表値を用いた高速化>
 そこで3次元の平滑化フィルタ処理を高速化する。例えば図2の#1の段に示されるように、3次元空間を局所領域に分割し、その局所領域毎にポイントクラウドの代表値を求め、フィルタ処理における参照値としてその局所領域毎の代表値を用いるようにする。
 例えば、図3のAに示されるようにポイントが分布しており、中央の黒色のポイント(curPoint)に対して3次元の平滑化フィルタをかける場合、その周辺のグレーのポイント(nearPoint)のデータを参照して(参照値として用いて)平滑化が行われる。
 従来の方法の疑似コードを図3のBに示す。従来の場合、処理対象ポイント(curPoint)の周辺ポイント(nearPoint)は、最近傍探索(NN)を用いて決定し(nearPoint = NN(curPoint))、全ての周辺ポイントが互いに同一のパッチに属さない場合(if(! all same patch(nearPoints)))、すなわち、処理対象ポイントがパッチの端部に位置する場合、周辺ポイントのデータの平均を用いて処理対象ポイントの平滑化が行われた(curPoint = average(nearPoints))。
 これに対して、図4のAの四角形のように、3次元空間を局所領域に分割し、その局所領域毎にポイントクラウドの代表値(×)を導出し、その代表値を用いて処理対象ポイント(黒点)の平滑化を行うようにする。その疑似コードを図4のBに示す。この場合、まず、局所領域(グリッド)毎の代表値として、局所領域内のポイントの平均値(AveragePoint)を導出する。そして、処理対象ポイントが属するグリッド(処理対象グリッド)の周辺に位置する周辺グリッド(near grid)を特定する。
 周辺グリッドには、処理対象グリッドに対して予め定められた所定の位置関係にあるグリッドが選択される。例えば、処理対象グリッドに隣接するグリッドを周辺グリッドとするようにしてもよい。例えば、図4のAの例の場合、中央の四角を処理対象グリッドとすると、その周囲の8個のグリッドが周辺グリッドとされる。
 そして、全ての周辺ポイントが互いに同一のパッチに属さない場合(if(! all same patch(nearPoints)))、すなわち、処理対象ポイントがパッチの端部に位置する場合、それらの周辺グリッドの代表値の集合(averagePoints = AveragePoint(near grid))を用いたトリリニアフィルタリングにより処理対象ポイントに対して3次元の平滑化フィルタ処理を行う(curPoint = trilinear(averagePoints))。
 このようにすることにより、負荷の大きい最近傍探索(NN)を行わずにフィルタ処理(3次元の平滑化フィルタ処理)を実現することができる。したがって、従来の3次元の平滑化フィルタと同等の平滑化効果を実現することができるとともに、その処理時間を大幅に削減することができる。図5に最近傍探索を用いる場合の3次元の平滑化フィルタ(NN)の処理時間と、本技術を適用した3次元の平滑化フィルタ(trilinear)の処理時間との比較例を示す。つまり、本技術を適用することにより、図5の左側のグラフのようにかかっていた処理時間を、図5の右側のグラフのように短縮することができる。
 以下、図6乃至図15を参照して、図2の各段について説明する。
    <#1-1.局所領域分割方式>
 3次元空間の分割の仕方(局所領域の分割方式)は、任意である。例えば図6の表のID欄が「1」の行のように、3次元空間を一様にN×N×Nの立方体領域に分割するようにしてもよい。このようにすることにより、3次元空間を容易に局所領域に分割することができるので、フィルタ処理の処理時間の増大を抑制する(フィルタ処理をより高速化する)ことができる。
 また、例えば図6の表のID欄が「2」の行のように、3次元空間を一様にM×N×Lの直方体領域に分割するようにしてもよい。このようにすることにより、3次元空間を容易に局所領域に分割することができるので、フィルタ処理の処理時間の増大を抑制する(フィルタ処理をより高速化する)ことができる。また、3次元空間を立方体領域に分割する場合よりも、局所領域の形状の自由度が向上するので、各局所領域の処理の負荷をより平滑化することができる(負荷の偏りを抑制することができる)。
 さらに、例えば図6の表のID欄が「3」の行のように、3次元空間を、各局所領域内のポイント数が一定となるように分割するようにしてもよい。このようにすることにより、3次元空間を立方体領域や直方体領域に分割する場合よりも、各局所領域の処理の重さやリソース使用量を平滑化することができる(負荷の偏りを抑制することができる)。
 また、例えば図6の表のID欄が「4」の行のように、3次元空間の任意の位置に、任意の形状およびサイズの局所領域を設定するようにしてもよい。このようにすることにより、上述の各方法の場合よりも、複雑な3次元形状のものに対しても、よりその形状に適した平滑化処理(smooth処理)を行うことができ、より平滑化することができる。
 さらに、例えば図6の表のID欄が「5」の行のように、上述のIDが「1」乃至「4」の各方法を選択することができるようにしてもよい。このようにすることにより、より多様な状況に対して、より適切な平滑化処理(smooth処理)を行うことができ、より平滑化することができる。なお、この選択をどのように行うか(何に基づいて選択するか)は、任意である。また、いずれの方法を選択したかを示す情報を、符号化側から復号側に伝送するようにしてもよい(方法選択情報のシグナル)。
    <#1-2.局所領域パラメータ設定>
 また、このような局所領域のパラメータの設定方法および内容は、任意である。例えば図7の表のID欄が「1」の行のように、3次元空間を分割する局所領域の形状やサイズ(例えば、図6のL、M、N等)を固定値としてもよい。例えば、規格等によりこの値を予め設定するようにしてもよい。このようにすることにより、局所領域の形状やサイズの設定を省略することができるので、フィルタ処理をより高速化することができる。
 また、例えば図7の表のID欄が「2」の行のように、ポイントクラウドや状況に応じて局所領域の形状やサイズを設定することができるようにしてもよい。すなわち、局所領域のパラメータを可変としてもよい。このようにすることにより、状況に応じてより適切な局所領域を形成することができるので、フィルタ処理をより適切に行うことができる。例えば、処理をより高速化したり、処理の偏りを抑制したり、より平滑化したりすることができる。
 例えば、図7の表のID欄が「2-1」の行のように、局所領域のサイズ(例えば、図6のL、M、N等)を可変とするようにしてもよい。また、例えば、ID欄が「2-2」の行のように、局所領域が包含するポイント数を可変とするようにしてもよい。さらに、例えば、ID欄が「2-3」の行のように、局所領域の形状や位置を可変とするようにしてもよい。また、例えば、ID欄が「2-4」の行のように、局所領域の設定方法の選択をユーザ等が行うことができるようにしてもよい。例えば図6の表のIDが「1」乃至「4」のいずれの方法を選択するかをユーザ等が決定することができるようにしてもよい。
    <#1-3.シグナル>
 また、フィルタ処理についての情報は、符号化側から復号側に伝送するようにしてもよいし、伝送しなくてもよい。例えば図8の表のID欄が「1」の行のように、フィルタ処理に関する全てのパラメータが規格等により予め設定されているようにし、フィルタ処理についての情報の伝送は行わないようにしてもよい。このようにすることにより、伝送する情報量が低減するので、符号化効率を向上させることができる。また、パラメータの導出がふようであるので、フィルタ処理の負荷を軽減させることができ、フィルタ処理をより高速化することができる。
 また、例えば図8の表のID欄が「2」の行のように、フィルタ処理に関する全てのパラメータについて、内部の他のパラメータ(例えばオキュパンシーマップのプレシジョン等)から最適な値を導出可能とし、フィルタ処理についての情報の伝送は行わないようにしてもよい。このようにすることにより、伝送する情報量が低減するので、符号化効率を向上させることができる。また、状況により適した局所領域の設定が可能になる。
 さらに、例えば図8の表のID欄が「3」の行のように、フィルタ処理に関する情報をビットストリームのヘッダで伝送するようにしてもよい。その場合、そのビットストリーム内でパラメータは固定値となる。このようにすることにより、伝送する情報量は比較的少なくて済むので、符号化効率の低減を抑制することができる。また、ビットストリーム内でパラメータが固定値となるので、フィルタ処理の負荷の増大を抑制することができる。
 また、例えば図8の表のID欄が「4」の行のように、フィルタ処理に関する情報をフレームのヘッダで伝送するようにしてもよい。その場合、フレーム毎にパラメータを可変とすることができる。したがって、状況により適した局所領域の設定が可能になる。
    <#1-4.フィルタ処理対象>
 フィルタ処理の対象は任意である。例えば図9の表のID欄が「1」の行のように、ポイントクラウドの位置情報を対象としてもよい。つまり、処理対象ポイントの位置情報に対して3次元の平滑化フィルタ処理を行うようにする。このようにすることにより、ポイントクラウドの各ポイントの位置の平滑化を実現することができる。
 また、例えば、例えば図9の表のID欄が「2」の行のように、ポイントクラウドの属性情報(色等)を対象としてもよい。つまり、処理対象ポイントの属性情報に対して3次元の平滑化フィルタ処理を行うようにする。このようにすることにより、ポイントクラウドの各ポイントの色等の平滑化を実現することができる。
    <#1-5.代表値導出方法>
 各局所領域の代表値の導出方法は任意である。例えば図10の表のID欄が「1」の行のように、局所領域内部の(局所領域が包含する)ポイントのデータの平均値(average)を代表値とするようにしてもよい。平均(average)の算出は容易な演算により可能であるので、このようにすることにより、より高速に代表値を算出することができる。すなわち、フィルタ処理をより高速化することができる。
 また、例えば図10の表のID欄が「2」の行のように、局所領域内部の(局所領域が包含する)ポイントのデータの中央値(median)を代表値とするようにしてもよい。中央値(median)は、特異なデータの影響を受けにくいので、ノイズがある場合であってもより安定した結果を得ることができる。すなわち、より安定したフィルタ処理結果が得られる。
 もちろん、代表値の導出方法は、これらの例以外であってもよい。また、例えば、複数の方法で代表値を導出し、より好適な値の方を選択するようにしてもよい。さらに、例えば、局所領域毎に導出方法を変えることができるようにしてもよい。例えば、ポイントクラウドが表す3次元構造体の特徴に応じて導出方法を選択するようにしてもよい。例えば、髪の毛のように形状が細かくノイズを多く含む部分に対しては中央値(median)により代表値を導出し、洋服のように境界が明確な部分に対しては平均値(average)により代表値を導出するようにしてもよい。
    <#1-6.フィルタ処理演算>
 フィルタ処理(3次元の平滑化フィルタ)の演算は任意である。例えば図11の表のID欄が「1」の行のように、トリリニア(Trilinear)補間を用いるようにしてもよい。トリリニア補間は、処理速度と処理結果の質のバランスが良い。また、例えば図11の表のID欄が「2」の行のように、トリキュービック(Tricubic)補間を用いるようにしてもよい。トリキュービック補間は、トリリニア補間よりも質の高い処理結果を得ることができる。さらに、例えば図11の表のID欄が「3」の行のように、最近傍探索(NN)を用いるようにしてもよい。この方法は、トリリニア補間よりも高速に処理結果を得ることができる。もちろん、これら以外の任意の演算により3次元の平滑化フィルタを実現するようにしてもよい。
   <#2.3次元のフィルタ処理の簡略化>
 また、図2の#2の段に示されるように、部分領域に限定してフィルタ処理を行うようにしてもよい。図12はオキュパンシーマップの例を示す図である。図12に示されるオキュパンシーマップ51において、白色の部分が、ポイントクラウドの位置情報を2次元平面に投影したジオメトリ画像や、ポイントクラウドの属性情報を2次元平面に投影したテクスチャ画像におけるデータが存在する領域(プレシジョン)を示し、黒色の部分が、ジオメトリ画像やテクスチャ画像におけるデータが存在しない領域を示す。つまり、白色の部分が、ポイントクラウドのパッチが投影された領域を示し、黒色の部分が、ポイントクラウドのパッチが投影されていない領域を示す。
 図1のAに示されるような刻み目は、図12の矢印52が指し示すような、パッチの境界部分において発生する。そこで、図2の#2-1の段に示されるように、そのようなパッチの境界部分(オキュパンシーマップにおけるパッチの端)に対応するポイントに対してのみ、3次元の平滑化フィルタ処理を行うようにしてもよい。つまり、オキュパンシーマップにおけるパッチの端部を、3次元の平滑化フィルタ処理を行う部分領域としてもよい。
 このようにすることにより、一部の領域に対してのみ3次元の平滑化フィルタ処理を行うようにすることができる。つまり、3次元の平滑化フィルタ処理を行う領域を低減させることができるので、3次元の平滑化フィルタ処理をより高速化することができる。
 この方法は、図13のAに示されるような従来の最近傍探索と組み合わせることができる。つまり、図13のBに示される疑似コードのように、処理対象ポイントの位置がパッチの端に対応する場合(if(is_Boundary(curPos)))のみ、最近傍探索(k-NearestNeighbor)を含む3次元の平滑化フィルタ処理を行うようにしてもよい。
 また、図14のAに示されるように、#1において上述した本技術を適用したフィルタ処理と組み合わせて用いるようにしてもよい。つまり、図14のBに示される疑似コードのように、処理対象ポイントの位置がパッチの端に対応する場合(if(is_Boundary(curPos)))のみ、局所領域の代表値を用いたトリリニア補間による3次元の平滑化フィルタ処理を行うようにしてもよい。
 各方法の処理時間の比較例を図15に示す。左から1番目のグラフは、従来の最近傍探索を用いた平滑化フィルタ処理の処理時間を示す。左から2番目のグラフは、局所領域の代表値を用いたトリリニア補間による3次元の平滑化フィルタ処理の処理時間を示す。左から3番目のグラフは、従来の最近傍探索を用いた平滑化フィルタ処理を、オキュパンシーマップにおけるパッチの端部に対応するポイントに対してのみ行う場合の処理時間を示す。左から4番目のグラフは、局所領域の代表値を用いたトリリニア補間による3次元の平滑化フィルタ処理を、オキュパンシーマップにおけるパッチの端部に対応するポイントに対してのみ行う場合の処理時間を示す。このように、3次元の平滑化フィルタを一部の領域に対してのみ行うようにすることにより、そのフィルタ処理の方法に関わらず、処理時間を低減させることができる。
 <2.第1の実施の形態>
  <符号化装置>
 次に、以上のような各手法を実現する構成について説明する。図16は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図16に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
 なお、図16においては、処理部やデータの流れ等の主なものを示しており、図16に示されるものが全てとは限らない。つまり、符号化装置100において、図16においてブロックとして示されていない処理部が存在したり、図16において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置100内の処理部等を説明する他の図においても同様である。
 図16に示されるように符号化装置100は、パッチ分解部111、パッキング部112、OMap生成部113、補助パッチ情報圧縮部114、ビデオ符号化部115、ビデオ符号化部116、OMap符号化部117、およびマルチプレクサ118を有する。
 パッチ分解部111は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部111は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド(Point Cloud))を取得する。また、パッチ分解部111は、取得したその3Dデータを複数のセグメンテーションに分解し、そのセグメンテーション毎に3Dデータを2次元平面に投影し、位置情報のパッチや属性情報のパッチを生成する。
 パッチ分解部111は、生成した各パッチに関する情報をパッキング部112に供給する。また、パッチ分解部111は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部114に供給する。
 パッキング部112は、データのパッキングに関する処理を行う。例えば、パッキング部112は、パッチ分解部111から供給される領域毎に3Dデータが投影された2次元平面のデータ(パッチ)を取得する。また、パッキング部112は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング部112は、ポイントの位置を示す位置情報(Geometry)のパッチや、その位置情報に付加される色情報等の属性情報(Texture)のパッチを、それぞれ、ビデオフレームとしてパッキングする。
 パッキング部112は、生成したビデオフレームをOMap生成部113に供給する。また、パッキング部112は、そのパッキングに関する制御情報をマルチプレクサ118に供給する。
 OMap生成部113は、オキュパンシーマップの生成に関する処理を行う。例えば、OMap生成部113は、パッキング部112から供給されるデータを取得する。また、OMap生成部113は、位置情報や属性情報に対応するオキュパンシーマップを生成する。OMap生成部113は、生成したオキュパンシーマップや、パッキング部112から取得した各種情報を後段の処理部に供給する。例えば、OMap生成部113は、位置情報(Geometry)のビデオフレームをビデオ符号化部115に供給する。また、例えば、OMap生成部113は、属性情報(Texture)のビデオフレームをビデオ符号化部116に供給する。さらに、例えば、OMap生成部113は、オキュパンシーマップをOMap符号化部117に供給する。
 補助パッチ情報圧縮部114は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部114は、パッチ分解部111から供給されるデータを取得する。補助パッチ情報圧縮部114は、取得したデータに含まれる補助パッチ情報を符号化(圧縮)する。補助パッチ情報圧縮部114は、得られた補助パッチ情報の符号化データをマルチプレクサ118に供給する。
 ビデオ符号化部115は、位置情報(Geometry)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部115は、OMap生成部113から供給される位置情報(Geometry)のビデオフレームを取得する。また、ビデオ符号化部115は、その取得した位置情報(Geometry)のビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部115は、その符号化により得られた符号化データ(位置情報(Geometry)のビデオフレームの符号化データ)をマルチプレクサ118に供給する。
 ビデオ符号化部116は、属性情報(Texture)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部116は、OMap生成部113から供給される属性情報(Texture)のビデオフレームを取得する。また、ビデオ符号化部116は、その取得した属性情報(Texture)のビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部116は、その符号化により得られた符号化データ(属性情報(Texture)のビデオフレームの符号化データ)をマルチプレクサ118に供給する。
 OMap符号化部117は、オキュパンシーマップの符号化に関する処理を行う。例えば、OMap符号化部117は、OMap生成部113から供給されるオキュパンシーマップを取得する。また、OMap符号化部117は、その取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化する。OMap符号化部117は、その符号化により得られた符号化データ(オキュパンシーマップの符号化データ)をマルチプレクサ118に供給する。
 マルチプレクサ118は、多重化に関する処理を行う。例えば、マルチプレクサ118は、補助パッチ情報圧縮部114から供給される補助パッチ情報の符号化データを取得する。また、マルチプレクサ118は、パッキング部112から供給されるパッキングに関する制御情報を取得する。また、マルチプレクサ118は、ビデオ符号化部115から供給される位置情報(Geometry)のビデオフレームの符号化データを取得する。また、マルチプレクサ118は、ビデオ符号化部116から供給される属性情報(Texture)のビデオフレームの符号化データを取得する。また、マルチプレクサ118は、OMap符号化部117から供給されるオキュパンシーマップの符号化データを取得する。
 マルチプレクサ118は、取得したそれらの情報を多重化して、ビットストリーム(Bitstream)を生成する。マルチプレクサ118は、その生成したビットストリームを符号化装置100の外部に出力する。
 このような符号化装置100において、パッチ分解部111は、OMap生成部113から、OMap生成部113により生成されたオキュパンシーマップを取得する。また、パッチ分解部111は、ビデオ符号化部115から、ビデオ符号化部115により生成された位置情報(Geometry)のビデオフレーム(ジオメトリ画像とも称する)の符号化データを取得する。
 そして、パッチ分解部111は、それらのデータを用いて、ポイントクラウドに対する3次元の平滑化フィルタ処理を行う。つまり、パッチ分解部111は、3次元の平滑化フィルタ処理を行った3Dデータを2次元平面に投影し、位置情報のパッチや属性情報のパッチを生成する。
  <パッチ分解部>
 図17は、図16のパッチ分解部111の主な構成例を示すブロック図である。図17に示されるように、パッチ分解部111は、パッチ分解処理部131、ジオメトリ復号部132、3次元位置情報平滑化処理部133、およびテクスチャ補正部134を有する。
 パッチ分解処理部131は、ポイントクラウド(Point Cloud)を取得し、それを複数のセグメンテーションに分解し、そのセグメンテーション毎にポイントクラウドを2次元平面に投影し、位置情報のパッチ(ジオメトリパッチ)や属性情報のパッチ(テクスチャパッチ)を生成する。パッチ分解処理部131は、生成したジオメトリパッチをパッキング部112に供給する。また、パッチ分解処理部131は、生成したテクスチャパッチをテクスチャ補正部134に供給する。
 ジオメトリ復号部132は、ジオメトリ画像の符号化データ(ジオメトリ符号化データ)を取得する。このジオメトリ画像の符号化データは、パッチ分解処理部131が生成したジオメトリパッチが、パッキング部112においてビデオフレームにパッキングされ、ビデオ符号化部115において符号化されたものである。ジオメトリ復号部132は、ビデオ符号化部115の符号化方式に対応する復号方式により、そのジオメトリ符号化データを復号する。さらに、ジオメトリ復号部132は、ジオメトリ符号化データを復号して得られたジオメトリ画像からポイントクラウド(の位置情報)を再構築する。ジオメトリ復号部132は、得られたポイントクラウドの位置情報(ジオメトリポイントクラウド)を、3次元位置情報平滑化処理部133に供給する。
 3次元位置情報平滑化処理部133は、ジオメトリ復号部132から供給されるポイントクラウドの位置情報を取得する。また、3次元位置情報平滑化処理部133は、オキュパンシーマップを取得する。このオキュパンシーマップは、OMap生成部113において生成されたものである。
 3次元位置情報平滑化処理部133は、ポイントクラウドの位置情報(ジオメトリポイントクラウド)に対して3次元の平滑化フィルタ処理を行う。その際、3次元位置情報平滑化処理部133は、上述したように、3次元空間を分割した局所領域毎の代表値を用いて3次元の平滑化フィルタ処理を行う。また、3次元位置情報平滑化処理部133は、取得したオキュパンシーマップを用いて、そのオキュパンシーマップにおけるパッチの端に対応する部分領域のポイントに対してのみ、3次元の平滑化フィルタ処理を行う。このようにすることにより、3次元位置情報平滑化処理部133は、より高速にフィルタ処理を行うことができる。
 3次元位置情報平滑化処理部133は、フィルタ処理を行ったジオメトリポイントクラウド(平滑化後ジオメトリポイントクラウドとも称する)をパッチ分解処理部131に供給する。パッチ分解処理部131は、その平滑化後ジオメトリポイントクラウドを複数のセグメンテーションに分解し、そのセグメンテーション毎にポイントクラウドを2次元平面に投影し、位置情報のパッチ(平滑化後ジオメトリパッチ)を生成し、それをパッキング部112に供給する。
 また、3次元位置情報平滑化処理部133は、平滑化後ジオメトリポイントクラウドをテクスチャ補正部134にも供給する。
 テクスチャ補正部134は、パッチ分解処理部131から供給されるテクスチャパッチを取得する。また、テクスチャ補正部134は、3次元位置情報平滑化処理部133から供給される平滑化後ジオメトリポイントクラウドを取得する。テクスチャ補正部134は、その平滑化後ジオメトリポイントクラウドを用いて、テクスチャパッチの補正を行う。3次元の平滑化によりポイントクラウドの位置情報が変化すると、2次元平面に投影されたパッチの形状も変化しうる。つまり、テクスチャ補正部134は、3次元の平滑化によるポイントクラウドの位置情報の変化を属性情報のパッチ(テクスチャパッチ)に反映させる。
 テクスチャ補正部134は、その補正後のテクスチャパッチをパッキング部112に供給する。
 パッキング部112は、パッチ分解部111から供給される平滑化後ジオメトリパッチおよび補正後テクスチャパッチをそれぞれビデオフレームにパッキングし、位置情報のビデオフレームや属性情報のビデオフレームを生成する。
  <3次元位置情報平滑化処理部>
 図18は、図17の3次元位置情報平滑化処理部133の主な構成例を示すブロック図である。図18に示されるように、3次元位置情報平滑化処理部133は、領域分割部141、領域内代表値導出部142、処理対象領域設定部143、平滑化処理部144、および伝送情報生成部145を有する。
 領域分割部141は、ジオメトリ復号部132から供給されるポイントクラウドの位置情報(ジオメトリポイントクラウド)を取得する。領域分割部141は、そのジオメトリポイントクラウドを含む3次元空間の領域を分割し、局所領域(グリッド)を設定する。その際、領域分割部141は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法により3次元空間を分割し、局所領域を設定する。
 領域分割部141は、その設定した局所領域に関する情報(例えば、局所領域の形状やサイズに関する情報等)と、ジオメトリポイントクラウドを領域内代表値導出部142に供給する。また、領域分割部141は、局所領域に関する情報を復号側に伝送する場合、その局所領域に関する情報を伝送情報生成部145に供給する。
 領域内代表値導出部142は、領域分割部141から供給される局所領域に関する情報やジオメトリポイントクラウドを取得する。領域内代表値導出部142は、それらの情報に基づいて、領域分割部141により設定された各局所領域内のジオメトリポイントクラウドの代表値を導出する。その際、領域内代表値導出部142は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法によりその代表値を導出する。
 領域内代表値導出部142は、局所領域に関する情報、ジオメトリポイントクラウド、および、導出した局所領域毎の代表値を平滑化処理部144に供給する。また、導出した局所領域毎の代表値を復号側に伝送する場合、その局所領域毎の代表値を示す情報を伝送情報生成部145に供給する。
 処理対象領域設定部143は、オキュパンシーマップを取得する。処理対象領域設定部143は、そのオキュパンシーマップに基づいて、フィルタ処理をかける領域を設定する。その際、処理対象領域設定部143は、<#2.3次元のフィルタ処理の簡略化>において上述したような方法により領域を設定する。つまり、処理対象領域設定部143は、オキュパンシーマップにおけるパッチの端に対応する部分領域を、フィルタ処理の処理対象領域として設定する。
 処理対象領域設定部143は、その設定した処理対象領域を示す情報を平滑化処理部144に供給する。また、処理対象領域設定部143は、その処理対象領域を示す情報を復号側に伝送する場合、その処理対象領域を示す情報を伝送情報生成部145に供給する。
 平滑化処理部144は、領域内代表値導出部142から供給される局所領域に関する情報、ジオメトリポイントクラウド、および局所領域毎の代表値を取得する。また、平滑化処理部144は、処理対象領域設定部143から供給される処理対象領域を示す情報を取得する。
 平滑化処理部144は、それらの情報に基づいて、3次元の平滑化フィルタ処理を行う。つまり、平滑化処理部144は、<3次元のフィルタ処理の高速化>において上述したように、ジオメトリポイントクラウドの処理対象領域内のポイントに対して、局所領域毎の代表値を参照値として用いて3次元の平滑化フィルタ処理を行う。したがって、平滑化処理部144は、より高速に3次元の平滑化フィルタ処理を行うことができる。
 平滑化処理部144は、3次元の平滑化フィルタ処理を行ったジオメトリポイントクラウド(平滑化後ジオメトリポイントクラウド)を、パッチ分解処理部131やテクスチャ補正部134に供給する。
 伝送情報生成部145は、領域分割部141から供給される局所領域に関する情報、領域内代表値導出部142から供給される局所領域毎の代表値を示す情報、および、処理対象領域設定部143から供給される処理対象領域を示す情報を取得する。伝送情報生成部145は、それらの情報を含む伝送情報を生成する。伝送情報生成部145は、生成した伝送情報を、例えば補助パッチ情報圧縮部114に供給し、補助パッチ情報として復号側に伝送させる。
  <符号化処理の流れ>
 次に、符号化装置100により実行される符号化処理の流れの例を、図19のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100のパッチ分解部111は、ステップS101において、ポイントクラウドを2次元平面に投影し、パッチに分解する。
 ステップS102において、補助パッチ情報圧縮部114は、ステップS101において生成された補助パッチ情報を圧縮する。
 ステップS103において、パッキング部112は、ステップS101において生成された位置情報や属性情報の各パッチをビデオフレームとしてパッキングする。また、OMap生成部113は、その位置情報や属性情報のビデオフレームに対応するオキュパンシーマップを生成する。
 ステップS104において、ビデオ符号化部115は、ステップS103において生成された位置情報のビデオフレームであるジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。
 ステップS105において、ビデオ符号化部116は、ステップS103において生成された属性情報のビデオフレームであるカラービデオフレームを、2次元画像用の符号化方法により符号化する。
 ステップS106において、OMap符号化部117は、ステップS103において生成されたオキュパンシーマップを、所定の符号化方法により符号化する。
 ステップS107において、マルチプレクサ118は、以上のように生成された各種情報を多重化し、これらの情報を含むビットストリームを生成する。
 ステップS108において、マルチプレクサ118は、ステップS107において生成したビットストリームを符号化装置100の外部に出力する。
 ステップS108の処理が終了すると、符号化処理が終了する。
  <パッチ分解処理の流れ>
 次に、図20のフローチャートを参照して、図19のステップS101において実行されるパッチ分解処理の流れの例を説明する。
 パッチ分解処理が開始されると、パッチ分解処理部131は、ステップS121において、ポイントクラウドをパッチに分解し、ジオメトリパッチとテクスチャパッチを生成する。
 ステップS122において、ジオメトリ復号部132は、ステップS121において生成されたジオメトリパッチがビデオフレームにパッキングされて符号化されたジオメトリ符号化データを復号し、ポイントクラウドを再構築して、ジオメトリのポイントクラウドを生成する。
 ステップS123において、3次元位置情報平滑化処理部133は、平滑化処理を実行し、ステップS122において生成されたジオメトリのポイントクラウドに対して、3次元の平滑化フィルタ処理を行う。
 ステップS124において、テクスチャ補正部134は、ステップS123の処理により得られた平滑化後ジオメトリポイントクラウドを用いて、ステップS121において生成されたテクスチャパッチを補正する。
 ステップS125において、パッチ分解処理部131は、ステップS123の処理により得られた平滑化後ジオメトリポイントクラウドをパッチに分解し、平滑化後ジオメトリパッチを生成する。
 ステップS125の処理が終了するとパッチ分解処理が終了し、処理は図19に戻る。
  <平滑化処理の流れ>
 次に、図21のフローチャートを参照して、図20のステップS123において実行される平滑化処理の流れの例を説明する。
 平滑化処理が開始されると、領域分割部141は、ステップS141において、ポイントクラウドを含む3次元空間を局所領域に分割する。領域分割部141は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法により3次元空間を分割し、局所領域を設定する。
 ステップS142において、領域内代表値導出部142は、ステップS141において設定された局所領域毎のポイントクラウドの代表値を導出する。領域内代表値導出部142は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法によりその代表値を導出する。
 ステップS143において、処理対象領域設定部143は、平滑化処理を行う範囲を設定する。処理対象領域設定部143は、<#2.3次元のフィルタ処理の簡略化>において上述したような方法により領域を設定する。つまり、処理対象領域設定部143は、オキュパンシーマップにおけるパッチの端に対応する部分領域を、フィルタ処理の処理対象領域として設定する。
 ステップS144において、平滑化処理部144は、ステップS143において設定された処理対象範囲に対して、各領域の代表値を参照して平滑化処理を行う。平滑化処理部144は、<3次元のフィルタ処理の高速化>において上述したように、ジオメトリポイントクラウドの処理対象領域内のポイントに対して、局所領域毎の代表値を参照値として用いて3次元の平滑化フィルタ処理を行う。したがって、平滑化処理部144は、より高速に3次元の平滑化フィルタ処理を行うことができる。
 ステップS145において、伝送情報生成部145は、平滑化に関する伝送情報を生成し、それを例えば補助パッチ情報圧縮部114に供給し、補助パッチ情報として伝送させる。
 ステップS145の処理が終了すると平滑化処理が終了し、処理は図20に戻る。
  <平滑化範囲設定処理の流れ>
 次に図22のフローチャートを参照して、図21のステップS143において実行される平滑化範囲設定処理の流れの例を説明する。
 平滑化範囲設定処理が開始されると、処理対象領域設定部143は、ステップS161において、オキュパンシーマップの現在地(x,y)(処理対象ブロック)がオキュパンシーマップの端であるか否かを判定する。例えば、オキュパンシーマップの横幅をwidthとし、縦幅をheightとすると、以下のような判定が行われる。
 x!=0 & y!=0 & x!=width-1 & y!=height-1
 この判定が真である、すなわち、現在地がオキュパンシーマップの端ではないと判定された場合、処理はステップS162に進む。
 ステップS162において、処理対象領域設定部143は、現在地の周辺部のオキュパンシーマップの値が全て1であるか否かを判定する。現在地の周辺部のオキュパンシーマップの値が全て1である、すなわち、全ての周辺部に位置情報や属性情報が存在し、位置情報や属性情報が存在する部分と存在しない部分との境界付近ではないと判定された場合、処理はステップS163に進む。
 ステップS163において、処理対象領域設定部143は、現在地の周辺部の属するパッチが全て、現在地が属するパッチと同一であるか否かを判定する。パッチ同士が隣り合うと、オキュパンシーマップの値が1である部分が連続する。したがって、ステップS162において現在地の全ての周辺部にデータが存在すると判定された場合であっても、複数のパッチが隣接する部分である可能性があり、現在地がパッチの端である可能性が残る。そして、異なるパッチ同士では基本的に画像が連続しないので、複数のパッチが隣接する部分においても、オキュパンシーマップのプレシジョンのサイズが大きいことによって、図1のAのような刻み目が形成される可能性がある。そこで、上述のように、現在地の周辺部の属するパッチが全て、現在地が属するパッチと同一であるか否かを判定する。
 全ての周辺部と現在地とが互いに同一のパッチに属する、すなわち、現在地が、複数のパッチが隣接する部分ではなく、パッチの端部ではないと判定された場合、処理はステップS164に進む。
 ステップS164において、処理対象領域設定部143は、現在地(x,y)から復元される3次元の点(処理対象ブロックに対応するポイントクラウドのポイント)を、平滑化フィルタ処理しないポイントとして判定する。つまり、現在地を平滑化の処理対処範囲から除外する。ステップS164の処理が終了すると処理はステップS166に進む。
 また、ステップS161において、上述の判定が偽である、すなわち、現在地がオキュパンシーマップの端であると判定された場合、処理はステップS165に進む。
 また、ステップS162において、オキュパンシーマップの値が1ではない周辺部が存在する、すなわち、位置情報や属性情報が存在しない周辺部があり、現在地がパッチの端であると判定された場合、処理はステップS165に進む。
 また、ステップS163において、現在地が属するパッチと異なるパッチに属する周辺部が存在する、すなわち、現在地が複数のパッチが隣接する部分であると判定された場合、処理はステップS165に進む。
 ステップS165において、処理対象領域設定部143は、現在地(x,y)から復元される3次元の点(処理対象ブロックに対応するポイントクラウドのポイント)を、平滑化フィルタ処理するポイントとして判定する。つまり、現在地を平滑化の処理対処範囲として設定する。ステップS165の処理が終了すると処理はステップS166に進む。
 ステップS166において、処理対象領域設定部143は、オキュパンシーマップの全ての位置(ブロック)に対して処理を行ったか否かを判定する。未処理の位置(ブロック)が存在すると判定された場合、処理はステップS161に戻り、処理対象ブロックを未処理のブロックに変えて、それ以降の処理が繰り返される。つまり、各ブロックに対してステップS161乃至ステップS166の処理を繰り返す。
 そして、ステップS166において、オキュパンシーマップの全ての位置(ブロック)を処理したと判定された場合、平滑化範囲設定処理が終了し、処理は図21に戻る。
 以上のように各処理を実行することにより、ポイントクラウドデータに対するフィルタ処理の処理時間の増大を抑制することができる(フィルタ処理をより高速に行うことができる)。
 <3.第2の実施の形態>
  <復号装置>
 次に、以上のような各手法を実現する構成について説明する。図23は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図23に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3次元空間に投影する装置(ビデオベースドアプローチを適用した復号装置)である。例えば、復号装置200は、符号化装置100(図16)がポイントクラウドを符号化して生成したビットストリームを復号し、ポイントクラウドを再構築する。
 なお、図23においては、処理部やデータの流れ等の主なものを示しており、図23に示されるものが全てとは限らない。つまり、復号装置200において、図23においてブロックとして示されていない処理部が存在したり、図23において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、復号装置200内の処理部等を説明する他の図においても同様である。
 図23に示されるように復号装置200は、デマルチプレクサ211、補助パッチ情報復号部212、ビデオ復号部213、ビデオ復号部214、OMap復号部215、アンパッキング部216、および3D再構築部217を有する。
 デマルチプレクサ211は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ211は、復号装置200に入力されるビットストリームを取得する。このビットストリームは、例えば、符号化装置100より供給される。デマルチプレクサ211は、このビットストリームを逆多重化し、補助パッチ情報の符号化データを抽出し、それを補助パッチ情報復号部212に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、位置情報(Geometry)のビデオフレームの符号化データを抽出し、それをビデオ復号部213に供給する。さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、属性情報(Texture)のビデオフレームの符号化データを抽出し、それをビデオ復号部214に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、オキュパンシーマップの符号化データを抽出し、それをOMap復号部215に供給する。さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、パッキングに関する制御情報を抽出し、それをアンパッキング部216に供給する。
 補助パッチ情報復号部212は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部212は、デマルチプレクサ211から供給される補助パッチ情報の符号化データを取得する。また、補助パッチ情報復号部212は、その取得したデータに含まれる補助パッチ情報の符号化データを復号(伸長)する。補助パッチ情報復号部212は、復号して得られた補助パッチ情報を3D再構築部217に供給する。
 ビデオ復号部213は、位置情報(Geometry)のビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部213は、デマルチプレクサ211から供給される位置情報(Geometry)のビデオフレームの符号化データを取得する。また、ビデオ復号部213は、その符号化データを例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号し、位置情報(Geometry)のビデオフレームを得る。ビデオ復号部213は、その位置情報(Geometry)のビデオフレームを、アンパッキング部216に供給する。
 ビデオ復号部214は、属性情報(Texture)のビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部214は、デマルチプレクサ211から供給される属性情報(Texture)のビデオフレームの符号化データを取得する。また、ビデオ復号部214は、その符号化データを例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号し、属性情報(Texture)のビデオフレームを得る。ビデオ復号部214は、その属性情報(Texture)のビデオフレームを、アンパッキング部216に供給する。
 OMap復号部215は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部215は、デマルチプレクサ211から供給されるオキュパンシーマップの符号化データを取得する。また、OMap復号部215は、その符号化データを例えば算術符号化に対応する算術復号等の任意の復号方法により復号し、オキュパンシーマップを得る。OMap復号部215は、そのオキュパンシーマップを、アンパッキング部216に供給する。
 アンパッキング部216は、アンパッキングに関する処理を行う。例えば、アンパッキング部216は、ビデオ復号部213から位置情報(Geometry)のビデオフレームを取得し、ビデオ復号部214から属性情報(Texture)のビデオフレームを取得し、OMap復号部215からオキュパンシーマップを取得する。また、アンパッキング部216は、パッキングに関する制御情報に基づいて、位置情報(Geometry)のビデオフレームや属性情報(Texture)のビデオフレームをアンパッキングする。アンパッキング部216は、アンパッキングして得られた位置情報(Geometry)のデータ(ジオメトリパッチ等)や属性情報(Texture)のデータ(テクスチャパッチ等)、並びにオキュパンシーマップ等を、3D再構築部217に供給する。
 3D再構築部217は、ポイントクラウドの再構築に関する処理を行う。例えば、3D再構築部217は、補助パッチ情報復号部212から供給される補助パッチ情報、並びに、アンパッキング部216から供給される位置情報(Geometry)のデータ(ジオメトリパッチ等)、属性情報(Texture)のデータ(テクスチャパッチ等)、およびオキュパンシーマップ等に基づいて、ポイントクラウドを再構築する。3D再構築部217は、再構築したポイントクラウドを復号装置200の外部に出力する。
 このポイントクラウドは、例えば、表示部に供給されて画像化され、その画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
 このような復号装置200において、3D再構築部217は、再構築したポイントクラウドに対する3次元の平滑化フィルタ処理を行う。
  <3D再構築部>
 図24は、図23の3D再構築部217の主な構成例を示すブロック図である。図24に示されるように、3D再構築部217は、ジオメトリポイントクラウド(PointCloud)生成部231、3次元位置情報平滑化処理部232、およびテクスチャ合成部233を有する。
 ジオメトリポイントクラウド生成部231は、ジオメトリポイントクラウドの生成に関する処理を行う。例えば、ジオメトリポイントクラウド生成部231は、アンパッキング部216から供給されるジオメトリパッチを取得する。また、ジオメトリポイントクラウド生成部231は、その取得したジオメトリパッチや、補助パッチ情報等のその他の情報を用いて、ジオメトリポイントクラウド(ポイントクラウドの位置情報)を再構築する。ジオメトリポイントクラウド生成部231は、生成したジオメトリポイントクラウドを3次元位置情報平滑化処理部232に供給する。
 3次元位置情報平滑化処理部232は、3次元の平滑化フィルタ処理に関する処理を行う。例えば、3次元位置情報平滑化処理部232は、ジオメトリポイントクラウド生成部231から供給されるジオメトリポイントクラウドを取得する。また、3次元位置情報平滑化処理部232は、アンパッキング部216から供給されるオキュパンシーマップを取得する。
 3次元位置情報平滑化処理部232は、取得したジオメトリポイントクラウドに対して3次元の平滑化フィルタ処理を行う。その際、3次元位置情報平滑化処理部232は、上述したように、3次元空間を分割した局所領域毎の代表値を用いて3次元の平滑化フィルタ処理を行う。また、3次元位置情報平滑化処理部232は、取得したオキュパンシーマップを用いて、そのオキュパンシーマップにおけるパッチの端に対応する部分領域のポイントに対してのみ、3次元の平滑化フィルタ処理を行う。このようにすることにより、3次元位置情報平滑化処理部232は、より高速にフィルタ処理を行うことができる。
 3次元位置情報平滑化処理部232は、フィルタ処理を行ったジオメトリポイントクラウド(平滑化後ジオメトリポイントクラウド)をテクスチャ合成部233に供給する。
 テクスチャ合成部233は、ジオメトリとテクスチャの合成に関する処理を行う。例えば、テクスチャ合成部233は、3次元位置情報平滑化処理部232から供給される平滑化後ジオメトリポイントクラウドを取得する。また、テクスチャ合成部233は、アンパッキング部216から供給されるテクスチャパッチを取得する。テクスチャ合成部233は、平滑化後ジオメトリポイントクラウドに、テクスチャパッチ(すなわち属性情報)を合成し、ポイントクラウドを再構築する。平滑化後ジオメトリポイントクラウドは、3次元の平滑化により位置情報が変化している。つまり、厳密には、位置情報と属性情報とが対応しない部分が存在する可能性がある。そこで、テクスチャ合成部233は、テクスチャパッチから得られる属性情報を、3次元の平滑化を行った部分の位置情報の変化を反映させながら、平滑化後ジオメトリポイントクラウドに合成する。
 テクスチャ合成部233は、再構築したポイントクラウドを復号装置200の外部に出力する。
  <3次元位置情報平滑化処理部>
 図25は、図24の3次元位置情報平滑化処理部232の主な構成例を示すブロック図である。図25に示されるように、3次元位置情報平滑化処理部232は、伝送情報取得部251、領域分割部252、領域内代表値導出部253、処理対象領域設定部254、および平滑化処理部255を有する。
 伝送情報取得部251は、符号化側から伝送される伝送情報が存在する場合、補助パッチ情報等として供給される伝送情報を取得する。伝送情報取得部251は、必要に応じて、その伝送情報を、領域分割部252、領域内代表値導出部253、および処理対象領域設定部254に供給する。例えば、伝送情報として局所領域に関する情報が供給された場合、伝送情報取得部251は、その局所領域に関する情報を領域分割部252に供給する。また、伝送情報として局所領域毎の代表値を示す情報が供給された場合、伝送情報取得部251は、その局所領域毎の代表値を示す情報を領域内代表値導出部253に供給する。さらに、伝送情報として処理対象領域を示す情報が供給された場合、伝送情報取得部251は、その処理対象領域を示す情報を処理対象領域設定部254に供給する。
 領域分割部252は、ジオメトリポイントクラウド生成部231から供給されるポイントクラウドの位置情報(ジオメトリポイントクラウド)を取得する。領域分割部252は、そのジオメトリポイントクラウドを含む3次元空間の領域を分割し、局所領域(グリッド)を設定する。その際、領域分割部141は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法により3次元空間を分割し、局所領域を設定する。なお、伝送情報取得部251から、符号化側から伝送された局所領域に関する情報が供給される場合、領域分割部252は、その情報により示される局所領域の設定(例えば、局所領域の形状やサイズ等)を採用する。
 領域分割部252は、その設定した局所領域に関する情報(例えば、局所領域の形状やサイズに関する情報等)とジオメトリポイントクラウドとを領域内代表値導出部253に供給する。
 領域内代表値導出部253は、領域分割部252から供給される局所領域に関する情報やジオメトリポイントクラウドを取得する。領域内代表値導出部253は、それらの情報に基づいて、領域分割部252により設定された各局所領域内のジオメトリポイントクラウドの代表値を導出する。その際、領域内代表値導出部253は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法によりその代表値を導出する。なお、伝送情報取得部251から、符号化側から伝送された局所領域毎の代表値を示す情報が供給される場合、領域内代表値導出部253は、その情報により示される局所領域毎の代表値を採用する。
 領域内代表値導出部142は、局所領域に関する情報、ジオメトリポイントクラウド、および、導出した局所領域毎の代表値を平滑化処理部255に供給する。
 処理対象領域設定部254は、オキュパンシーマップを取得する。処理対象領域設定部254は、そのオキュパンシーマップに基づいて、フィルタ処理をかける領域を設定する。その際、処理対象領域設定部254は、<#2.3次元のフィルタ処理の簡略化>において上述したような方法により領域を設定する。つまり、処理対象領域設定部254は、オキュパンシーマップにおけるパッチの端に対応する部分領域を、フィルタ処理の処理対象領域として設定する。なお、伝送情報取得部251から、符号化側から伝送された処理対象領域を示す情報が供給される場合、処理対象領域設定部254は、その情報により示される処理対象領域を採用する。
 処理対象領域設定部254は、その設定した処理対象領域を示す情報を平滑化処理部255に供給する。
 平滑化処理部255は、領域内代表値導出部253から供給される局所領域に関する情報、ジオメトリポイントクラウド、および局所領域毎の代表値を取得する。また、平滑化処理部255は、処理対象領域設定部254から供給される処理対象領域を示す情報を取得する。
 平滑化処理部255は、それらの情報に基づいて、3次元の平滑化フィルタ処理を行う。つまり、平滑化処理部255は、<3次元のフィルタ処理の高速化>において上述したように、ジオメトリポイントクラウドの処理対象領域内のポイントに対して、局所領域毎の代表値を参照値として用いて3次元の平滑化フィルタ処理を行う。したがって、平滑化処理部255は、より高速に3次元の平滑化フィルタ処理を行うことができる。
 平滑化処理部255は、3次元の平滑化フィルタ処理を行ったジオメトリポイントクラウド(平滑化後ジオメトリポイントクラウド)を、テクスチャ合成部233に供給する。
  <復号処理の流れ>
 次に、復号装置200により実行される復号処理の流れの例を、図26のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200のデマルチプレクサ211は、ステップS201において、ビットストリームを逆多重化する。
 ステップS202において、補助パッチ情報復号部212は、ステップS201においてビットストリームから抽出された補助パッチ情報を復号する。
 ステップS203において、ビデオ復号部213は、ステップS201においてビットストリームから抽出されたジオメトリビデオフレーム(位置情報のビデオフレーム)の符号化データを復号する。
 ステップS204において、ビデオ復号部214は、ステップS201においてビットストリームから抽出されたカラービデオフレーム(属性情報のビデオフレーム)の符号化データを復号する。
 ステップS205において、OMap復号部215は、ステップS201においてビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。
 ステップS206において、アンパッキング部216は、ステップS203において符号化データが復号されて得られたジオメトリビデオフレームをアンパッキングし、ジオメトリパッチを生成する。また、アンパッキング部216は、ステップS204において符号化データが復号されて得られたカラービデオフレームをアンパッキングし、テクスチャパッチを生成する。さらに、アンパッキング部216は、およびステップS205において符号化データが復号されて得られたオキュパンシーマップをアンパッキングし、ジオメトリパッチやテクスチャパッチに対応するオキュパンシーマップを抽出する。
 ステップS207において、3D再構築部217は、ステップS202において得られた補助パッチ情報、並びに、ステップS206において得られたジオメトリパッチ、テクスチャパッチ、およびオキュパンシーマップ等に基づいて、ポイントクラウドを再構築する。
 ステップS207の処理が終了すると復号処理が終了する。
  <ポイントクラウド再構築処理の流れ>
 次に、図26のステップS207において実行されるポイントクラウド再構築処理の流れの例を、図27のフローチャートを参照して説明する。
 ポイントクラウド再構築処理が開始されると、3D再構築部217のジオメトリポイントクラウド生成部231は、ステップS221において、ジオメトリポイントクラウドを再構築する。
 ステップS222において、3次元位置情報平滑化処理部232は、平滑化処理を実行し、ステップS221において生成されたジオメトリポイントクラウドに対して、3次元の平滑化フィルタ処理を行う。
 ステップS223において、テクスチャ合成部233は、平滑化後ジオメトリポイントクラウドにテクスチャパッチを合成する。
 ステップS223の処理が終了するとポイントクラウド再構築処理が終了し、処理は図26に戻る。
  <平滑化処理の流れ>
 次に、図28のフローチャートを参照して、図27のステップS222において実行される平滑化処理の流れの例を説明する。
 平滑化処理が開始されると、伝送情報取得部251は、ステップS241において、平滑化に関する伝送情報を取得する。なお、伝送情報が存在しない場合、この処理は省略される。
 ステップS242において、領域分割部252は、ポイントクラウドを含む3次元空間を局所領域に分割する。領域分割部252は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法により3次元空間を分割し、局所領域を設定する。なお、ステップS241において、伝送情報として局所領域に関する情報が取得された場合、領域分割部252は、その情報により示される局所領域の設定(局所領域の形状やサイズ等)を採用する。
 ステップS243において、領域内代表値導出部253は、ステップS242において設定された局所領域毎のポイントクラウドの代表値を導出する。領域内代表値導出部253は、<#1.局所領域毎の代表値を用いた高速化>において上述した方法によりその代表値を導出する。なお、ステップS241において、伝送情報として局所領域毎の代表値を示す情報が取得された場合、領域内代表値導出部253は、その情報により示される局所領域毎の代表値を採用する。
 ステップS244において、処理対象領域設定部254は、平滑化処理を行う範囲を設定する。処理対象領域設定部254は、<#2.3次元のフィルタ処理の簡略化>において上述したような方法により領域を設定する。つまり、処理対象領域設定部254は、図22のフローチャートを参照して説明した平滑化範囲設定処理を実行して、フィルタ処理の処理対象範囲を設定する。なお、ステップS241において、伝送情報として処理対象領域を示す情報が取得された場合、処理対象領域設定部254は、その情報により示される処理対象領域の設定を採用する。
 ステップS245において、平滑化処理部255は、ステップS244において設定された処理対象範囲に対して、各領域の代表値を参照して平滑化処理を行う。平滑化処理部255は、<3次元のフィルタ処理の高速化>において上述したように、ジオメトリポイントクラウドの処理対象領域内のポイントに対して、局所領域毎の代表値を参照値として用いて3次元の平滑化フィルタ処理を行う。したがって、平滑化処理部255は、より高速に3次元の平滑化フィルタ処理を行うことができる。
 ステップS245の処理が終了すると平滑化処理が終了し、処理は図27に戻る。
 以上のように各処理を実行することにより、ポイントクラウドデータに対するフィルタ処理の処理時間の増大を抑制することができる(フィルタ処理をより高速に行うことができる)。
 <4.変形例>
 第1の実施の形態および第2の実施の形態においては、3次元の平滑化フィルタ処理をポイントクラウドの位置情報に対して行うように説明したが、3次元の平滑化フィルタ処理は、ポイントクラウドの属性情報に対しても行うことができる。この場合、属性情報が平滑化されるので、例えば、ポイントの色等が変化する。
 例えば、符号化装置100の場合、パッチ分解部111(図17)において、テクスチャ補正部134に供給されるテクスチャパッチに対して平滑化処理を行う平滑化処理部(例えば、3次元属性情報平滑化処理部)を設けるようにすればよい。
 また、例えば、復号装置200の場合、3D再構築部217(図24)において、テクスチャ合成部233に供給されるテクスチャパッチに対して平滑化処理を行う平滑化処理部(例えば、3次元属性情報平滑化処理部)を設けるようにすればよい。
 <5.付記>
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図29は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図29に示されるコンピュータ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が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブル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つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 100 符号化装置, 111 パッチ分解部, 112 パッキング部, 113 OMap生成部, 114 補助パッチ情報圧縮部, 115 ビデオ符号化部, 116 ビデオ符号化部, 117 OMap符号化部, 118 マルチプレクサ, 131 パッチ分解処理部, 132 ジオメトリ復号部, 133 3次元位置情報平滑化処理部, 134 テクスチャ補正部, 141 領域分割部, 142 領域内代表値導出部, 143 処理対象領域設定部, 144 平滑化処理部, 145 伝送情報生成部, 200 復号装置, 211 デマルチプレクサ, 212 補助パッチ情報復号部, 213 ビデオ復号部, 214 ビデオ復号部, 215 OMap復号部, 216 アンパッキング部, 217 3D再構築部, 231 ジオメトリポイントクラウド生成部, 232 3次元位置情報平滑化処理部, 233 テクスチャ合成部, 251 伝送情報取得部, 252 領域分割部, 253 領域内代表値導出部, 254 処理対象領域設定部, 255 平滑化処理部

Claims (20)

  1.  ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行うフィルタ処理部と、
     前記フィルタ処理部により前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する符号化部と
     を備える画像処理装置。
  2.  前記局所領域は、所定のサイズの立方体の領域である
     請求項1に記載の画像処理装置。
  3.  前記局所領域は、所定のサイズの直方体の領域である
     請求項1に記載の画像処理装置。
  4.  前記局所領域は、それぞれが前記ポイントクラウドデータの所定数のポイントを包含するように、前記3次元空間を分割した領域である
     請求項1に記載の画像処理装置。
  5.  前記符号化部は、前記局所領域に関する情報を含む前記ビットストリームを生成する
     請求項1に記載の画像処理装置。
  6.  前記局所領域に関する情報は、前記局所領域のサイズもしくは形状、または両方に関する情報を含む
     請求項5に記載の画像処理装置。
  7.  前記代表値は、前記局所領域が包含する前記ポイントクラウドデータの平均である
     請求項1に記載の画像処理装置。
  8.  前記代表値は、前記局所領域が包含する前記ポイントクラウドデータの中央値である
     請求項1に記載の画像処理装置。
  9.  前記フィルタ処理は、前記ポイントクラウドデータの処理対象ポイントのデータを、前記処理対象ポイントの周辺の前記局所領域の前記代表値を用いて平滑化する平滑化処理である
     請求項1に記載の画像処理装置。
  10.  前記フィルタ処理部は、前記ポイントクラウドデータのポイントの位置情報に対して前記フィルタ処理を行う
     請求項1に記載の画像処理装置。
  11.  前記フィルタ処理部は、前記ポイントクラウドデータのポイントの属性情報に対して前記フィルタ処理を行う
     請求項1に記載の画像処理装置。
  12.  ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行い、
     前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する
     画像処理方法。
  13.  ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成する復号部と、
     前記復号部により生成された前記2次元平面画像より復元された前記ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行うフィルタ処理部と
     を備える画像処理装置。
  14.  ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成し、
     生成された前記2次元平面画像より復元された前記ポイントクラウドデータに対して、3次元空間を分割した局所領域毎の前記ポイントクラウドデータの代表値を用いて、フィルタ処理を行う
     画像処理方法。
  15.  ポイントクラウドデータの一部のポイントに対してフィルタ処理を行うフィルタ処理部と、
     前記フィルタ処理部により前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する符号化部と
     備える画像処理装置。
  16.  前記フィルタ処理部は、前記ポイントクラウドデータの、前記2次元平面画像に含まれるパッチの端部に対応するポイントに対して前記フィルタ処理を行う
     請求項15に記載の画像処理装置。
  17.  前記フィルタ処理は、前記ポイントクラウドデータの処理対象ポイントのデータを、前記処理対象ポイントの周辺のpointのデータを用いて平滑化する平滑化処理である
     請求項15に記載の画像処理装置。
  18.  ポイントクラウドデータの一部のポイントに対してフィルタ処理を行い、
     前記フィルタ処理が行われた前記ポイントクラウドデータが投影された2次元平面画像を符号化し、ビットストリームを生成する
     画像処理方法。
  19.  ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成する復号部と、
     前記復号部により生成された前記2次元平面画像より復元された前記ポイントクラウドデータの一部のポイントに対してフィルタ処理を行うフィルタ処理部と
     を備える画像処理装置。
  20.  ビットストリームを復号し、ポイントクラウドデータが投影された2次元平面画像の符号化データを生成し、
     生成された前記2次元平面画像より復元された前記ポイントクラウドデータの一部のポイントに対してフィルタ処理を行う
     画像処理方法。
PCT/JP2019/025557 2018-07-11 2019-06-27 画像処理装置および方法 WO2020012967A1 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
AU2019302074A AU2019302074B2 (en) 2018-07-11 2019-06-27 Image processing device and method
BR112021000038-0A BR112021000038A2 (pt) 2018-07-11 2019-06-27 Aparelho e método de processamento de imagem
EP19834963.1A EP3823280A4 (en) 2018-07-11 2019-06-27 IMAGE PROCESSING DEVICE AND METHOD
CN201980045106.4A CN112385217A (zh) 2018-07-11 2019-06-27 图像处理装置和图像处理方法
JP2020530095A JP7384159B2 (ja) 2018-07-11 2019-06-27 画像処理装置および方法
US15/733,894 US11741575B2 (en) 2018-07-11 2019-06-27 Image processing apparatus and image processing method
KR1020207036752A KR20210028606A (ko) 2018-07-11 2019-06-27 화상 처리 장치 및 방법
CA3106233A CA3106233A1 (en) 2018-07-11 2019-06-27 Image processing apparatus and image processing method
MX2020013705A MX2020013705A (es) 2018-07-11 2019-06-27 Aparato de procesamiento de imagen y metodo de procesamiento de imagen.
PH12021550062A PH12021550062A1 (en) 2018-07-11 2021-01-10 Image processing apparatus and image processing method
US18/352,250 US20230377100A1 (en) 2018-07-11 2023-07-14 Image processing apparatus and image processing method
JP2023191707A JP2023184727A (ja) 2018-07-11 2023-11-09 画像処理装置および方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-131295 2018-07-11
JP2018131295 2018-07-11

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/733,894 A-371-Of-International US11741575B2 (en) 2018-07-11 2019-06-27 Image processing apparatus and image processing method
US18/352,250 Continuation US20230377100A1 (en) 2018-07-11 2023-07-14 Image processing apparatus and image processing method

Publications (1)

Publication Number Publication Date
WO2020012967A1 true WO2020012967A1 (ja) 2020-01-16

Family

ID=69141440

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025557 WO2020012967A1 (ja) 2018-07-11 2019-06-27 画像処理装置および方法

Country Status (11)

Country Link
US (2) US11741575B2 (ja)
EP (1) EP3823280A4 (ja)
JP (2) JP7384159B2 (ja)
KR (1) KR20210028606A (ja)
CN (1) CN112385217A (ja)
AU (1) AU2019302074B2 (ja)
BR (1) BR112021000038A2 (ja)
CA (1) CA3106233A1 (ja)
MX (1) MX2020013705A (ja)
PH (1) PH12021550062A1 (ja)
WO (1) WO2020012967A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022068672A1 (zh) * 2020-09-30 2022-04-07 中兴通讯股份有限公司 点云数据处理方法、装置、存储介质及电子装置
WO2022067775A1 (zh) * 2020-09-30 2022-04-07 Oppo广东移动通信有限公司 点云的编码、解码方法、编码器、解码器以及编解码系统
WO2023095625A1 (ja) * 2021-11-24 2023-06-01 ソニーグループ株式会社 情報処理装置および方法
JP7477528B2 (ja) 2019-03-22 2024-05-01 インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ 点群の処理

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
CN113261297A (zh) * 2019-01-07 2021-08-13 索尼集团公司 图像处理装置和方法
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
US11627314B2 (en) * 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
WO2023123471A1 (zh) * 2021-12-31 2023-07-06 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
WO2023123467A1 (zh) * 2021-12-31 2023-07-06 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008283540A (ja) * 2007-05-11 2008-11-20 Mitsubishi Electric Corp 画像処理装置および画像処理方法
CN107578391A (zh) * 2017-09-20 2018-01-12 广东电网有限责任公司机巡作业中心 一种基于二维二值图像处理进行三维点云降噪的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5343042B2 (ja) * 2010-06-25 2013-11-13 株式会社トプコン 点群データ処理装置および点群データ処理プログラム
US20170214943A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
EP3408848A4 (en) * 2016-01-29 2019-08-28 Pointivo Inc. SYSTEMS AND METHOD FOR EXTRACTING INFORMATION ON OBJECTS FROM SCENE INFORMATION
US10066925B2 (en) * 2016-02-02 2018-09-04 The Boeing Company Point cloud processing apparatus and method
KR101666937B1 (ko) * 2016-05-13 2016-10-17 한국건설기술연구원 3차원 포인트 클라우드의 대용량 데이터를 처리하기 위한 장치 및 그 방법
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10223810B2 (en) * 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US10474524B2 (en) * 2017-07-12 2019-11-12 Topcon Positioning Systems, Inc. Point cloud filter method and apparatus
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10699444B2 (en) * 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
US10939129B2 (en) * 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10909726B2 (en) * 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US11367224B2 (en) * 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11348284B2 (en) * 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11182612B2 (en) * 2019-10-28 2021-11-23 The Chinese University Of Hong Kong Systems and methods for place recognition based on 3D point cloud

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008283540A (ja) * 2007-05-11 2008-11-20 Mitsubishi Electric Corp 画像処理装置および画像処理方法
CN107578391A (zh) * 2017-09-20 2018-01-12 广东电网有限责任公司机巡作业中心 一种基于二维二值图像处理进行三维点云降噪的方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
HE, LANYI: "Best-Effort Projection Based Attribute Compression for 3D Point Cloud", 2017 23RD ASIA- PACIFIC CONFERENCE ON COMMUNICATIONS (APCC, December 2017 (2017-12-01), pages 1 - 6, XP033324865, DOI: 10.23919/APCC.2017.8304078 *
JIANLE CHENELENA ALSHINAGARY J. SULLIVANJENS-RAINERJILL BOYCE: "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001 V1, JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 7TH MEETING: TORINO, IT, July 2017 (2017-07-01), pages 13 - 21
K. MAMMOU: "PCC Test Model Category 2 vO", N17248 MPEG, October 2017 (2017-10-01)
K. MAMMOU: "Video-based and Hierarchical Approaches Point Cloud Compression", MPEG M41649, October 2017 (2017-10-01)
R. MEKURIAK. BLOMP. CESAR.: "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video", 2015, IEEE
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, ADVANCED VIDEO CODING FOR GENERIC AUDIOVISUAL SERVICES, April 2017 (2017-04-01)
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, HIGH EFFICIENCY VIDEO CODING, December 2016 (2016-12-01)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7477528B2 (ja) 2019-03-22 2024-05-01 インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ 点群の処理
WO2022068672A1 (zh) * 2020-09-30 2022-04-07 中兴通讯股份有限公司 点云数据处理方法、装置、存储介质及电子装置
WO2022067775A1 (zh) * 2020-09-30 2022-04-07 Oppo广东移动通信有限公司 点云的编码、解码方法、编码器、解码器以及编解码系统
WO2023095625A1 (ja) * 2021-11-24 2023-06-01 ソニーグループ株式会社 情報処理装置および方法

Also Published As

Publication number Publication date
MX2020013705A (es) 2021-03-02
JP7384159B2 (ja) 2023-11-21
AU2019302074B2 (en) 2023-01-12
US20210217139A1 (en) 2021-07-15
JPWO2020012967A1 (ja) 2021-08-05
US20230377100A1 (en) 2023-11-23
EP3823280A1 (en) 2021-05-19
BR112021000038A2 (pt) 2021-06-22
US11741575B2 (en) 2023-08-29
KR20210028606A (ko) 2021-03-12
JP2023184727A (ja) 2023-12-28
CA3106233A1 (en) 2020-01-16
AU2019302074A1 (en) 2021-01-28
EP3823280A4 (en) 2021-05-19
PH12021550062A1 (en) 2021-12-06
CN112385217A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
WO2020012967A1 (ja) 画像処理装置および方法
JP7327166B2 (ja) 画像処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
US11699248B2 (en) Image processing apparatus and method
KR20200140256A (ko) 화상 처리 장치 및 방법
US11399189B2 (en) Image processing apparatus and method
WO2020026846A1 (ja) 画像処理装置および方法
JP7396302B2 (ja) 画像処理装置および方法
WO2021010200A1 (ja) 情報処理装置および方法
WO2020145143A1 (ja) 情報処理装置および方法
WO2020071101A1 (ja) 画像処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2021002214A1 (ja) 情報処理装置および方法
JPWO2020071116A1 (ja) 画像処理装置および方法
WO2023127513A1 (ja) 情報処理装置および方法
WO2020262020A1 (ja) 情報処理装置および方法

Legal Events

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

Ref document number: 19834963

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020530095

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 3106233

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021000038

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2019302074

Country of ref document: AU

Date of ref document: 20190627

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112021000038

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210104

ENP Entry into the national phase

Ref document number: 112021000038

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210104