WO2020188932A1 - 情報処理装置および情報生成方法 - Google Patents

情報処理装置および情報生成方法 Download PDF

Info

Publication number
WO2020188932A1
WO2020188932A1 PCT/JP2019/050472 JP2019050472W WO2020188932A1 WO 2020188932 A1 WO2020188932 A1 WO 2020188932A1 JP 2019050472 W JP2019050472 W JP 2019050472W WO 2020188932 A1 WO2020188932 A1 WO 2020188932A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
occupancy map
unit
projected image
points
Prior art date
Application number
PCT/JP2019/050472
Other languages
English (en)
French (fr)
Inventor
智 隈
央二 中神
加藤 毅
幸司 矢野
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US17/437,051 priority Critical patent/US11917201B2/en
Publication of WO2020188932A1 publication Critical patent/WO2020188932A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • 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

Definitions

  • the present disclosure relates to an information processing device and an information generation method, and more particularly to an information processing device and an information generation method capable of suppressing a decrease in the subjective quality of a point cloud.
  • Non-Patent Document 1 Standardization of coding / decoding of point cloud data (Point cloud data) that expresses a three-dimensional object as a set of points is being promoted by MPEG (Moving Picture Experts Group) (for example, Non-Patent Document 1 and See Non-Patent Document 2).
  • MPEG Motion Picture Experts Group
  • the position information and attribute information of the point cloud are projected on a two-dimensional plane for each small area, the image (patch) projected on the two-dimensional plane is arranged in the frame image, and the frame image is placed on the two-dimensional image.
  • a method of encoding with a coding method for (hereinafter, also referred to as a video-based approach) has been proposed (see, for example, Non-Patent Documents 3 to 6).
  • Non-Patent Document 7 A method of filtering the OccupancyMap used in the video-based approach so as not to generate a large remainder has been proposed (see, for example, Non-Patent Document 7).
  • Non-Patent Document 7 there is a risk of dropping points that are not originally desired to be dropped, and there is a risk of reducing the subjective quality of the point cloud.
  • This disclosure was made in view of such a situation, and makes it possible to suppress the reduction of the subjective quality of the point cloud.
  • the information processing device on one side of the present technology displays a three-dimensional occupancy map that shows the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional object as a set of points for each local frame image. It is an image processing apparatus including a generation unit that generates a generation unit according to the positional relationship of the points in space.
  • the information generation method of one aspect of the present technology is a three-dimensional occupancy map that shows the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional object as a set of points for each local frame image. This is an information generation method that is generated according to the positional relationship of the points in space.
  • the information processing device on the other side of the present technology is a two-dimensional plane of the point cloud generated according to the positional relationship of the points in the three-dimensional space of the point cloud that expresses a three-dimensional object as a set of points.
  • An extraction unit that extracts the projection image of the geometry data of the point cloud and the projection image of the attribute data from the frame image by using an occupancy map showing the presence or absence of the projection image on the frame image for each region, and the extraction It is an image processing apparatus including a generation unit that generates the point cloud using the projected image of the geometry data extracted by the unit and the projected image of the attribute data.
  • the information generation method of the other aspect of the present technology is a two-dimensional plane of the point cloud generated according to the positional relationship of the points in the three-dimensional space of the point cloud that expresses a three-dimensional object as a set of points.
  • an occupancy map showing the presence or absence of a projected image on the frame image for each region of the frame image
  • the projected image of the geometry data of the point cloud and the projected image of the attribute data are extracted from the frame image, and the extracted geometry is extracted.
  • This is an information generation method for generating the point cloud using a projected image of data and a projected image of the attribute data.
  • an occupancy that indicates the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional object as a set of points for each local frame image.
  • a map is generated according to the positional relationship of the points in the three-dimensional space.
  • the points generated according to the positional relationship of the points in the three-dimensional space of the point cloud that expresses the object of the three-dimensional shape as a set of points An occupancy map showing the presence or absence of a projected image on the two-dimensional plane of the cloud for each region of the frame image is used, and the projected image of the geometry data of the point cloud and the projected image of the attribute data are extracted from the frame image.
  • the point cloud is generated using the projected image of the extracted geometry data and the projected image of the attribute data.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Non-Patent Document 4 (above)
  • Non-Patent Document 5 (above)
  • Non-Patent Document 6 (above)
  • Non-Patent Document 7 (above)
  • ⁇ Point cloud> Conventionally, there has been 3D data such as a point cloud that represents a three-dimensional structure based on point position information, attribute information, and the like.
  • Point cloud data (also referred to as point cloud data) is composed of position information (also referred to as geometry data) and attribute information (also referred to as attribute data) at each point.
  • Geometry data is information indicating the position of a point in three-dimensional space, and is composed of, for example, orthogonal coordinates (x, y, z). Of course, any coordinate system other than the Cartesian coordinate system can be applied to the geometry data.
  • the attribute data is information other than the position information about the point, and can include arbitrary information. For example, the color information, reflectance information, normal information, etc. of each point may be included in the attribute data.
  • the point cloud data has a relatively simple data structure, and by using a sufficiently large number of points, an arbitrary three-dimensional structure can be expressed with sufficient accuracy.
  • such a point cloud is divided into a plurality of small areas, and each point is projected on a two-dimensional plane (also referred to as a projection plane) for each small area.
  • This projection is done for each of the geometry data and the attribute data.
  • the image projected on this projection surface is also referred to as a projected image.
  • the projected image for each small area is also referred to as a patch.
  • each patch generated in this way is placed in the frame image.
  • a frame image in which a patch of geometry data is arranged is also referred to as a geometry video frame (Geometry video frame).
  • a frame image in which a patch of attribute data is arranged is also referred to as a color video frame.
  • each pixel value of the geometry video frame indicates position information (depth value (Depth)) in the vertical direction (depth direction) with respect to the projection plane of the point corresponding to the pixel.
  • Each video frame generated in this way is encoded by a coding method for a two-dimensional image such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding).
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • this coding method is arbitrary and is not limited to AVC or HEVC.
  • the coded data generated in this way is transmitted to the decoding side and decoded on the decoding side to generate a frame image. Then, each patch is extracted from the frame image, and 3D data such as a point cloud is constructed from each patch.
  • an OccupancyMap can also be used.
  • the occupancy map is map information indicating the presence or absence of a projected image (patch) of a geometry video frame with a predetermined pixel accuracy.
  • the occupancy map shows NxN pixel accuracy, that is, the presence or absence of patches for each region of NxN pixels.
  • the occupancy map can be said to be binary mask information (Binary mask).
  • Such an occupancy map is encoded as data separate from the geometry video frame and the color video frame, and transmitted to the decoding side.
  • the decoder can grasp whether or not the patch exists in the region, so that the influence of noise or the like generated by coding / decoding can be suppressed. For example, even if the depth value changes due to coding / decoding, the decoder can ignore the pixel value in the region where the patch does not exist by referring to the occupancy map. Therefore, for example, even if the pixel value indicating that the point does not exist is changed to the pixel value indicating that the point exists in the pixel in the region where the patch does not exist due to encoding / decoding, the decoder still performs the occupancy. By referring to the map, it is possible to prevent the pixel values of such pixels from being processed as the position information of the 3D data.
  • FIG. 1 shows an example of an occupancy map with 1x1 pixel accuracy.
  • each small square indicates a pixel (pixel 11) of the frame image. That is, FIG. 1 shows a part or all of the frame image.
  • the gray or black pixel 11 indicates a pixel corresponding to a point.
  • the area 10 surrounded by the thick line is a 4x4 pixel area.
  • the occupancy map can accurately express the presence or absence of its existence in point units as shown in FIG.
  • the amount of information required for the occupancy map is equivalent to the number of pixels. Therefore, there is a risk that the coding efficiency will be reduced.
  • the occupancy map is not the information that constitutes the point cloud, it is preferable that the amount of information is small.
  • the amount of information of the occupancy map is 16 when the accuracy is 1x1 pixel. It can be reduced to one-third.
  • the coding efficiency can be improved by setting the value of N to 2 or more.
  • the pixel 11 shown in black in FIG. 1 indicates a pixel in which only one or two pixels exist in one region 10 among the pixels in which points exist.
  • the values in regions 10-1 to 10-3 and regions 10-5 are values in which patches exist (for example,). It becomes "1"). That is, a region such as region 10-1 or region 10-3 in which a large proportion of non-patches is not present also has a value in which a patch is present (for example, "1").
  • a patch is extracted from the frame image larger than it actually is at the time of decoding, and a decrease occurs such that the frame image includes points of other adjacent patches, and when constructing 3D data. There was a risk that points that were not originally created would be generated. This could reduce the subjective quality of the point cloud.
  • Non-Patent Document 7 a method of filtering the occupancy map as described in Non-Patent Document 7 to set the value of the region where the ratio of the number of points is small to the value in which the patch does not exist (for example, "0") is considered.
  • Non-Patent Document 7 proposes a method of filtering an occupancy map using a predetermined filter (also referred to as a fixed filter).
  • a predetermined filter also referred to as a fixed filter.
  • an occupancy map as shown in FIG. 2 is generated.
  • the area 10 indicated by the diagonal pattern indicates the area where the patch exists (for example, “1”)
  • the area 10 shown in white indicates the value where the patch does not exist (for example, “1”).
  • the area of "0" is shown.
  • the fixed filter sets the value of the area 10 in which the pixel corresponding to the point is 2 pixels or less to the value in which the patch does not exist (for example, "0"). Therefore, the region 10 including the pixel 11 shown in black in FIG. 1 is set to a value in which no patch exists (for example, “0”).
  • the points corresponding to the pixel 11 shown in black in FIG. 1 disappear by this filtering. Therefore, there is a risk of dropping points that are not originally desired to be dropped, and there is a risk of reducing the subjective quality of the point cloud.
  • the disappearance of points can cause holes to appear to be created or holes to appear to be enlarged.
  • the points that disappear by this filtering are also referred to as disappearance points.
  • disappearance points on the frame image, that is, in two dimensions, it is difficult to consider the relationship between such disappearance points and points included in other patches.
  • an occupancy map showing the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional object as a set of points is displayed for each local part of the frame image. It is provided with a generation unit that is generated according to the positional relationship.
  • an occupancy map showing the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional shaped object as a set of points is provided for each local part of the frame image. It is generated according to the positional relationship.
  • the points are set using the occupancy map according to the positional relationship with the neighboring points in the three-dimensional space. It may be determined whether or not it is a vanishing point, which is a point that disappears when the projected image is extracted from the frame image, and a local value of the occupancy map may be set based on the determination result. That is, the value of each locality in the occupancy map may be set according to whether or not the locality includes a vanishing point.
  • the local value including the point determined to be the disappearance point in the occupancy map may be set to a value indicating the presence of the projected image. That is, the value of the occupancy map for the region where the points disappear may be set to a value indicating the presence of the projected image.
  • the disappearance point can be determined in consideration of the overlap of the boundaries of a plurality of patches. Therefore, the occupancy map can be generated so as to suppress the increase in the disappearance of points in the point cloud. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • the application of the filter processing that sets the value of the local area where the ratio of the projected image of the occupancy map is small to the value indicating that there is no projected image is prohibited. It may be. That is, the area including the point that becomes the disappearance point by applying the filtering process may not be subjected to the filtering process.
  • the disappearance point due to the filtering process can be determined in consideration of the overlap of the boundaries of a plurality of patches. Therefore, the occupancy map can be generated so as to suppress the increase in the loss of points due to the filtering in the point cloud. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • a value indicating that there is a projected image is set in the unfiltered occupancy map that sets a local value in which the ratio of the projected image of the occupancy map is small to a value indicating that there is no projected image.
  • Fig. 4 shows an example of the comparison result of the occupancy map before and after applying the filtering process by the conventional fixed filter.
  • the example of FIG. 4 shows a comparison result between the 4x4 pixel accuracy occupancy map of the example of FIG. 1 and the occupancy map of the example of FIG. 2 in which a fixed filter is applied to the occupancy map.
  • the region 10 shown in gray is a difference portion, that is, an region set to a value at which no patch exists due to the filtering process.
  • regions 10-1 to 10-5 regions 10-1 and 10-3 are shown in gray.
  • Points that disappear due to filtering can exist in this gray area 10. That is, the points in the gray area 10 can be candidates for disappearance points due to filtering. Therefore, the disappearance point may be determined for the gray area 10.
  • the occupancy map can be generated based on the distance between the points, so that the occupancy map can be generated in consideration of the overlap of the boundaries of a plurality of patches, and the subjectivity of the point cloud can be generated. It is possible to suppress the reduction of target quality.
  • filter control is performed based on whether or not a point exists within the distance r from the disappearance point by filtering.
  • a predetermined threshold value for example, r
  • filter control is performed according to the distance between the disappearance point and a nearby point in the three-dimensional space. It may be done to generate an occupancy map. For example, when it is determined that the distance between the point to be processed and the point in the vicinity thereof in the three-dimensional space is equal to or less than a predetermined threshold value, it may be determined that the point is not the disappearance point. In other words, if the distance between the point to be processed and the point in the vicinity thereof in the three-dimensional space is larger than the threshold value, it may be determined that the point is the disappearance point.
  • the determination level of the presence / absence of a point in the vicinity thereof can be controlled by the threshold value of the distance in the three-dimensional space. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • filter control is performed according to the distance between the disappearance point and a nearby point on the projection plane.
  • the determination level of the presence / absence of a point in the vicinity thereof can be controlled by the threshold value of the distance on the projection surface. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • a filter is applied according to the distance between the disappearance point and a nearby point in the normal direction of the projection plane.
  • Control may be performed to generate an occupancy map. For example, when it is determined that the distance between the point to be processed and the point in the vicinity thereof in the normal direction of the projection plane is equal to or less than a predetermined threshold value, it may be determined that the point is not the disappearance point. In other words, if the distance in the normal direction of the projection plane between the point to be processed and the point in the vicinity thereof is larger than the threshold value, it may be determined that the point is the disappearance point.
  • the determination level of the presence / absence of a point in the vicinity thereof can be controlled by the threshold value of the distance in the normal direction of the projection surface. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • filter control is performed according to the number of points within the distance r from the disappearance point by filtering, and the occupancy is performed.
  • a predetermined threshold value for example, r
  • m a predetermined threshold value
  • the determination level of the disappearance point can be controlled by the threshold value of the distance and the threshold value of the number of points. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • the filtering condition is controlled according to the position of the disappearance point by filtering, and an occupancy map is generated. You may do so.
  • the filtering conditions applied to the area near the boundary of the patch and the filtering conditions applied to the area inside the patch may be different from each other.
  • filtering is applied only when another patch point exists at the same position as the point in that area, and the area inside the patch (the area not near the patch boundary) is filtered.
  • filtering may be applied if the point exists in the vicinity of the point in the region. That is, for example, it may be determined whether or not it is a disappearance point by using a threshold value according to the position of the point.
  • the determination level of the disappearance point can be controlled according to the position of the point. Therefore, the occupancy map can be generated with more appropriate accuracy so that the disappearance points do not increase, and the decrease in the subjective quality of the point cloud can be suppressed.
  • the patch is extracted from the frame image by unpacking using the occupancy map before and after applying the filtering.
  • the coordinates of each point of the extracted patch may be converted from the two-dimensional coordinates to the three-dimensional coordinates, and the reconstruction process for generating the point cloud may be performed.
  • a projected image is extracted from the frame image, and each point included in the extracted projected image is used. Convert the 2D coordinates to 3D coordinates, and use the unfiltered occupancy map to extract the 3D coordinates of each point in the projected image and the filtered occupancy map.
  • a value indicating that there is a projected image in the unfiltered occupancy map is set and filtered.
  • a local area in which a value indicating that there is no projected image is set may be detected, and it may be determined whether or not each point of the detected local area is a disappearance point.
  • the point cloud derived by the reconstruction process is subjected to smoothing processing (Smoothing) to obtain points.
  • the position may be corrected.
  • the occupancy map may be filtered by a fixed filter. Then, the projected image is extracted from the frame image using the occupancy map that has not been filtered, the two-dimensional coordinates of each point included in the extracted projected image are converted into three-dimensional coordinates, and the filter is further obtained.
  • a projected image may be extracted from the frame image using the processed occupancy map, and the two-dimensional coordinates of each point included in the extracted projected image may be converted into three-dimensional coordinates.
  • the local can be made less accurate than the resolution of the point. That is, the pixel accuracy of the occupancy map may be lower than that of 1x1 pixels.
  • the local may be 4x4 accuracy of the point resolution. That is, the pixel accuracy of the occupancy map may be 4x4 pixel accuracy. By doing so, it is possible to suppress an increase in the amount of information in the occupancy map and suppress a decrease in coding efficiency.
  • the moving image composed of the frame image including the occupancy map considering the overlap of the boundaries of a plurality of patches generated as described above is encoded, and the encoded data of the occupancy map is generated. May be good.
  • a moving image composed of a frame image in which a projected image of the geometry data of the point cloud is arranged may be encoded to generate encoded data of the geometry data.
  • the moving image consisting of the frame image in which the projected image of the attribute data of the point cloud is arranged may be encoded to generate the encoded data of the attribute data.
  • the encoded data of the occupancy map, the encoded data of the geometry data, and the encoded data of the attribute data may be multiplexed.
  • a projected image of the point cloud on a two-dimensional plane generated according to the positional relationship of points in the three-dimensional space of the point cloud that expresses a three-dimensional object as a set of points.
  • An extraction unit that extracts the projected image of the geometry data of the point cloud and the projected image of the attribute data from the frame image using an occupancy map that indicates the presence or absence of each region of the frame image, and the extraction unit extracts the image. It is provided with a generation unit that generates a point cloud using the projected image of the geometry data and the projected image of the attribute data.
  • an information generation method there is a projection image of the point cloud on a two-dimensional plane generated according to the positional relationship of points in the three-dimensional space of the point cloud that expresses a three-dimensional object as a set of points.
  • an occupancy map that shows each region of the frame image
  • the projected image of the geometry data of the point cloud and the projected image of the attribute data are extracted from the frame image, and the projected image and attributes of the extracted geometry data are extracted.
  • unpacking can be performed using an occupancy map filtered in consideration of overlapping boundaries of a plurality of patches. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • FIG. 5 is a block diagram showing an example of a configuration of a coding device, which is an aspect of an image processing device to which the present technology is applied.
  • the coding device 100 shown in FIG. 5 is a device (a coding device to which a video-based approach is applied) that projects 3D data such as a point cloud onto a two-dimensional plane and encodes it by a coding method for a two-dimensional image. ).
  • FIG. 5 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the coding apparatus 100, there may be a processing unit that is not shown as a block in FIG. 5, or there may be a processing or data flow that is not shown as an arrow or the like in FIG. This also applies to other figures for explaining the processing unit and the like in the coding apparatus 100.
  • the coding apparatus 100 includes a patch decomposition unit 111, a packing unit 112, an auxiliary patch information coding unit 113, a video coding unit 114, a video coding unit 115, an OMap coding unit 116, and a multiplexer. You can have 117.
  • the patch disassembly unit 111 performs processing related to disassembly of 3D data.
  • the patch decomposition unit 111 can acquire 3D data (for example, a point cloud) representing a three-dimensional structure input to the coding apparatus 100. Further, the patch decomposition unit 111 decomposes the acquired 3D data into a plurality of small areas (also referred to as connection components), projects the 3D data into each small area on a projection plane which is a two-dimensional plane, and obtains position information. It can generate patches and patches for attribute information.
  • the patch disassembling unit 111 can supply information about each generated patch to the packing unit 112. Further, the patch disassembly unit 111 may supply the auxiliary patch information, which is information related to the disassembly, to the auxiliary patch information coding unit 113.
  • the packing unit 112 performs processing related to data packing.
  • the packing unit 112 may acquire information about the patch supplied from the patch disassembling unit 111. Further, the packing unit 112 can arrange each acquired patch on a two-dimensional image and pack it as a video frame.
  • the packing unit 112 may pack a patch of geometry data as a video frame to generate a geometry video frame (s). Further, the packing unit 112 can pack a patch of attribute data as a video frame to generate a color video frame (s). Further, the packing unit 112 can generate an occupancy map showing the presence or absence of patches.
  • the packing unit 112 supplies them to the processing unit in the subsequent stage.
  • the packing unit 112 supplies geometry video frames to the video coding unit 114 and the OMap coding unit 116, supplies color video frames to the video coding unit 115, and supplies the occupancy map to the OMap coding unit 116. Can be done. This occupancy map may be less accurate than the point resolution. Further, the packing unit 112 may supply control information regarding the packing to the multiplexer 117.
  • Auxiliary patch information coding unit 113 performs processing related to coding of auxiliary patch information.
  • the auxiliary patch information coding unit 113 can acquire the auxiliary patch information supplied from the patch decomposition unit 111. Further, the auxiliary patch information coding unit 113 can encode the acquired auxiliary patch information and generate the encoded data of the auxiliary patch information.
  • the auxiliary patch information coding unit 113 may supply the generated auxiliary patch information encoded data to the multiplexer 117.
  • the video coding unit 114 performs processing related to encoding the geometry video frame. For example, the video coding unit 114 may acquire the geometry video frame supplied by the packing unit 112. Further, the video coding unit 114 can encode the acquired geometry video frame by an encoding method for an arbitrary two-dimensional image such as AVC or HEVC to generate encoded data of the geometry video frame. The video coding unit 114 may supply the coded data of the generated geometry video frame to the multiplexer 117.
  • the video coding unit 115 performs processing related to coding of a color video frame.
  • the video coding unit 115 may acquire a color video frame supplied from the packing unit 112. Further, the video coding unit 115 can encode the acquired color video frame by a coding method for an arbitrary two-dimensional image such as AVC or HEVC to generate coded data of the color video frame.
  • the video coding unit 114 may decode the coded data of the geometry video frame and supply the generated (restored) geometry video frame to the video coding unit 115. Then, the video coding unit 115 may acquire the geometry video frame, recolor the color video frame using the acquired geometry video frame, and make the attribute data correspond to the geometry data. That is, the video coding unit 115 can make the attribute data correspond to the geometry data updated by the smoothing process in the coding. In that case, the video coding unit 115 can encode the recolored color video frame by a coding method for an arbitrary two-dimensional image such as AVC or HEVC to generate coded data of the color video frame. ..
  • the video coding unit 115 can supply the coded data of the color video frame generated as described above to the multiplexer 117.
  • the OMap coding unit 116 performs processing related to coding the video frame of the occupancy map. For example, the OMap encoding unit 116 may acquire the occupancy map and geometry video frames supplied by the packing unit 112.
  • the OMap coding unit 116 encodes the acquired occupancy map by an arbitrary coding method such as arithmetic coding, and generates the occupancy map coding data. At that time, the OMap coding unit 116 updates the occupancy map using the geometry video frame to generate an occupancy map according to the positional relationship of the points in the three-dimensional space. By doing so, the OMap coding unit 116 can generate an occupancy map in consideration of the overlap of the boundaries of a plurality of patches, and can suppress the reduction of the subjective quality of the point cloud.
  • an coding method such as arithmetic coding
  • the OMap coding unit 116 can supply the generated occupancy map coding data to the multiplexer 117.
  • the multiplexer 117 performs processing related to multiplexing. For example, the multiplexer 117 may acquire the encoded data of the auxiliary patch information supplied from the auxiliary patch information coding unit 113. In addition, the multiplexer 117 may acquire control information regarding packing supplied from the packing unit 112. Further, the multiplexer 117 may acquire the coded data of the geometry video frame supplied from the video coding unit 114. Further, the multiplexer 117 can acquire the coded data of the color video frame supplied from the video coding unit 115. Further, the multiplexer 117 can acquire the encoded data of the occupancy map supplied from the OMap coding unit 116. Further, the multiplexer 117 may multiplex the acquired information to generate a bit stream. Further, the multiplexer 117 may output the generated bit stream to the outside of the encoding device 100.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and the above-mentioned processing is realized by executing a program using them. You may do so.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • FIG. 6 is a block diagram showing a main configuration example of the OMap coding unit 116. As shown in FIG. 6, the OMap coding unit 116 has a filtering processing unit 131 and a coding unit 132.
  • the filtering processing unit 131 performs processing related to filtering of the occupancy map. For example, the filtering processing unit 131 may acquire the occupancy map and the geometry video frame supplied from the packing unit 112.
  • the filtering processing unit 131 performs filtering (filter processing) in which the value of the region where the ratio of points (patches) is small is set to the value where no patch exists (for example, “0”) with respect to the acquired occupancy map. ..
  • the filtering processing unit 131 uses the acquired geometry data to perform filtering based on the position (3D position) of the point in the three-dimensional space. That is, the filtering processing unit 131 generates an occupancy map according to the 3D position of the point.
  • the filtering processing unit 131 can generate the occupancy map in consideration of the overlap of the boundaries of a plurality of patches, and the point cloud It is possible to suppress the reduction of subjective quality.
  • the filtering processing unit 131 can supply the generated occupancy map (filtered occupancy map) to the coding unit 132.
  • the coding unit 132 performs processing related to coding of the occupancy map. For example, the coding unit 132 may acquire the occupancy map supplied from the filtering processing unit 131. Further, the coding unit 132 can encode the acquired occupancy map by an arbitrary coding method such as arithmetic coding to generate the coding data of the occupancy map. Further, the coding unit 132 may supply the generated occupancy map coding data to the multiplexer 117.
  • FIG. 7 is a block diagram showing a main configuration example of the filtering processing unit 131.
  • the filtering processing unit 131 includes an OMap filtering application unit 151, a 2Dto3D conversion unit 152, a 2Dto3D conversion unit 153, a vanishing point determination unit 154, and an OMap update unit 155.
  • the OMap filtering application unit 151 performs processing related to filtering processing for the occupancy map.
  • the OMap filtering application unit 151 may acquire the occupancy map supplied from the packing unit 112.
  • the OMap filtering application unit 151 can perform filtering processing using a fixed filter on the acquired occupancy map. This process is performed in the same manner as the method described in Non-Patent Document 7, for example. That is, by this filtering process, the value of the region where the patch ratio is smaller than the predetermined threshold value in the occupancy map is updated (set) to the "value indicating that there is no patch". For example, by applying this filter processing to an occupancy map with 4x4 pixel accuracy as shown in FIG. 1, the occupancy map with 4x4 pixel accuracy as shown in FIG.
  • An occupancy map is generated in which the value of the area 10 of is set to "a value indicating that there is no patch". Further, the OMap filtering application unit 151 may supply the occupancy map subjected to such filtering to the 2Dto3D conversion unit 152.
  • the 2Dto3D conversion unit 152 performs processing related to conversion of point geometry data from 2D coordinates to 3D coordinates. For example, the 2Dto3D conversion unit 152 may acquire a filtered occupancy map supplied from the OMap filtering application unit 151. In addition, the 2Dto3D conversion unit 152 can acquire the updated occupancy map supplied from the OMap update unit 155. Further, the 2Dto3D conversion unit 152 may acquire the geometry video frame supplied from the packing unit 112.
  • the 2Dto3D conversion unit 152 extracts a patch from the geometry video frame using the filtered occupancy map or the updated occupancy map, and the two-dimensional coordinates (2D coordinates) of the points included in each patch ( For example, (x, y)) can be converted to three-dimensional coordinates (eg (x, y, z)).
  • the extraction method of this patch and the conversion method of the coordinate system are arbitrary.
  • the 2Dto3D conversion unit 152 can extract a region in the occupancy map where the patch is supposed to exist as a patch from the geometry video frame.
  • the 2Dto3D conversion unit 152 adds pixel values to the coordinates (two-dimensional coordinates (x, y)) on the geometry video frame of the points included in the extracted patch to obtain the two-dimensional coordinates. It can be converted to 3D coordinates (x, y, z).
  • the 2Dto3D conversion unit 152 may perform smoothing processing on the point cloud of the converted three-dimensional coordinates, that is, the geometry data of the point cloud. By doing so, it is possible to suppress an increase in the frequency and amount of misalignment of points due to coding / decoding. Of course, this smoothing process may not be performed.
  • the 2Dto3D conversion unit 152 can supply the filtered occupancy map to the vanishing point determination unit 154. Further, the 2Dto3D conversion unit 152 can also supply the point cloud of the converted three-dimensional coordinate point cloud, that is, the geometry data of the point cloud corresponding to the filtered occupancy map to the vanishing point determination unit 154.
  • the 2Dto3D conversion unit 153 performs processing related to conversion of point geometry data from 2D coordinates to 3D coordinates.
  • the 2Dto3D conversion unit 153 may acquire the occupancy map and geometry video frame supplied from the packing unit 112.
  • the 2Dto3D conversion unit 152 extracts a patch from the geometry video frame using the occupancy map, that is, the unfiltered occupancy map, and the two-dimensional coordinates of the points included in each patch ( For example, (x, y)) can be converted to three-dimensional coordinates (eg (x, y, z)).
  • the patch extraction method and the coordinate system conversion method are the same as in the case of the 2Dto3D conversion unit 152.
  • the 2Dto3D conversion unit 153 may perform smoothing processing on the point cloud of the converted three-dimensional coordinates, that is, the geometry data of the point cloud. By doing so, it is possible to suppress an increase in the frequency and amount of misalignment of points due to coding / decoding. Of course, this smoothing process may not be performed.
  • the 2Dto3D conversion unit 153 can supply the unfiltered occupancy map to the vanishing point determination unit 154. Further, the 2Dto3D conversion unit 153 can also supply the conversion point cloud of the three-dimensional coordinates, that is, the geometry data of the point cloud corresponding to the unfiltered occupancy map to the vanishing point determination unit 154.
  • the vanishing point determination unit 154 performs processing related to the determination of the vanishing point. For example, the vanishing point determination unit 154 can acquire a filtered occupancy map supplied from the 2Dto3D conversion unit 152. Further, the vanishing point determination unit 154 can acquire the geometry data of the point cloud corresponding to the filtered occupancy map supplied from the 2Dto3D conversion unit 152. Further, the vanishing point determination unit 154 can acquire the unfiltered occupancy map supplied from the 2Dto3D conversion unit 153. Further, the vanishing point determination unit 154 can acquire the geometry data of the point cloud corresponding to the unfiltered occupancy map supplied from the 2Dto3D conversion unit 153.
  • the vanishing point determination unit 154 can obtain the vanishing point that disappears when the patch is extracted from the geometry video frame by using the acquired information. For example, the vanishing point determination unit 154 determines whether or not the point to be processed is a vanishing point according to the positional relationship between the point to be processed and a nearby point in the three-dimensional space of the point to be processed. Can be. For example, even if the point to be processed disappears, if the point exists in the vicinity, the point replaces the point to be processed, and the influence on the quality of the point cloud is reduced. In other words, such a point can be regarded as not substantially disappearing as a point cloud, and it can be said that it is not a disappearing point.
  • the point to be processed is the disappearance point.
  • the positional relationship between the points can be obtained by using the geometry data, for example, the geometry data of the point cloud corresponding to the unfiltered occupancy map supplied from the 2Dto3D conversion unit 153.
  • the vanishing point determination unit 154 can determine, for example, whether or not the vanishing point is a vanishing point based on the positional relationship between the points in the three-dimensional space. That is, the disappearance point can be determined in consideration of the overlap of the boundaries of a plurality of patches. Therefore, the occupancy map can be generated so as to suppress the increase in the disappearance of points in the point cloud. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • the vanishing point determination unit 154 can determine whether or not the point is a vanishing point according to the distance between the point to be processed and a point in the vicinity thereof. That is, the vanishing point determination unit 154 can determine whether or not the vanishing point is a vanishing point depending on how far the points in the vicinity from the point to be processed are.
  • the vanishing point determination unit 154 can determine that the processing coping point is not the vanishing point when the distance between the point to be processed and the point in the vicinity thereof is equal to or less than a predetermined threshold value. That is, the vanishing point determination unit 154 determines that when a nearby point is sufficiently close to the processing target point, the nearby point can substitute for the processing target point, and the processing target point is determined to be the processing target point. It can be determined that it is not a vanishing point. On the contrary, when a nearby point is separated from the processing target point by a certain amount or more, the vanishing point determination unit 154 determines that the nearby point cannot replace the processing target point, and the processing target point disappears. It can be determined that it is a point.
  • This distance may be, for example, a distance in a three-dimensional space. It may also be, for example, a distance on the projection plane. Further, for example, it may be the distance in the normal direction of the projection plane.
  • the vanishing point determination unit 154 may determine that the point is not a vanishing point when the number of points whose distance from the processing target point is equal to or less than a predetermined threshold value is equal to or greater than a predetermined threshold value. That is, for example, the point to be processed may be determined not to be a disappearance point only when a plurality of points exist at a distance sufficiently close to the point to be processed.
  • the threshold value of the number of points may be changed according to the distance from the point to be processed. For example, if one or more points exist at the same position as the point to be processed, the point to be processed can be substituted, and it may be determined that the point to be processed is not a disappearance point. On the other hand, when the position is not the same as the point to be processed (when it is within a predetermined range in the vicinity), the point to be processed can be replaced only when there are multiple points, and the point to be processed is not a disappearance point. It may be possible to determine that. In this way, the farther the processing target point is, the more points may be required to determine that the processing target point is not a disappearance point.
  • a threshold value for the number of points that can be determined that the processing target point is not a disappearance point may be set. For example, as described above, in order to determine that the processing target point is not a disappearance point, such as 1 when the distance is 0, 2 when the distance is a little, and 3 when the distance is a little further away, the number according to the distance is used. A nearby point may be needed.
  • the vanishing point determination unit 154 may determine whether or not it is a vanishing point by using a threshold value according to the position of the point to be processed. That is, the above-mentioned distance and number threshold values may be made variable according to the position of the processing target point. For example, points inside the patch (not near the boundary) disappear under relatively strict conditions (conditions that are less likely to be determined as vanishing points, such as a relatively large distance threshold and a relatively small number threshold). The points are determined so that the points near the boundary of the patch are relatively loose conditions (conditions that are more likely to be determined as disappearance points, for example, the distance threshold is relatively small and the number threshold is relatively large). The disappearance point may be determined by.
  • the conditions for determining the disappearance point may be other than the above-mentioned distance and number.
  • the direction (orientation) may be included in the condition. That is, for example, the conditions of distance and number may not be uniform in all directions (directions) from the point to be processed, and those conditions may be biased depending on the direction (direction). For example, for one direction, it may be determined to be a vanishing point if there are no more points closer than in the other direction. And vice versa.
  • any other information may be taken into consideration in determining the disappearance point.
  • the texture (attribute data) of the point cloud may be considered.
  • the conditions for determining the disappearance point for example, the threshold value of the distance or the number
  • the disappearance point may be controlled according to the color, the pattern, or the like. For example, when the points of the striped pattern portion are to be processed, it is determined that the points in the longitudinal direction of the pattern are disappearance points if there are fewer points farther than in other directions. It may not be done. And vice versa.
  • the vanishing point determination unit 154 uses a filter process (that is, a fixed filter) to set the value of the region where the patch ratio of the occupancy map is small to the value indicating that there is no patch. Each point in the area where a value indicating that there is a patch is set in the unfiltered occupancy map, and a value indicating that there is no patch is set in the filtered occupancy map. It may be determined whether or not the point is a vanishing point.
  • a filter process that is, a fixed filter
  • the vanishing point determination unit 154 compares the occupancy map supplied from the 2Dto3D conversion unit 152 with the occupancy map supplied from the 2Dto3D conversion unit 153, and uses a region in which the values are different from each other, that is, a fixed filter.
  • the above-mentioned vanishing point may be determined only in the area in which the value indicating that there is no patch is set by the existing filtering process.
  • the disappearance point is generated by applying a filtering process using a fixed filter to the occupancy map.
  • the patch extracted using this unfiltered occupancy map contains all the recoverable points of the point cloud, and the area whose value has changed due to this filtering, that is, the patch.
  • the disappearance point exists only in the area updated from the value indicating that there is a value to the value indicating that there is no patch. Therefore, the above-mentioned determination of the disappearance point may be performed only for the points in such a region. By doing so, it is possible to suppress an increase in the processing load related to the determination of the disappearance point, as compared with the case where the processing is performed on all the regions.
  • the 2Dto3D conversion unit 153 supplies an occupancy map (occupancy map with 4x4 pixel accuracy) for each area 10 in FIG.
  • the 2Dto3D conversion unit 152 supplies an occupancy map as shown in FIG. 2 (a 4x4 pixel-accuracy occupancy map that has been filtered using a fixed filter). Comparing these occupancy maps, as shown in FIG. 4, the gray region 10 is detected as a difference (region 10 having a different value).
  • the vanishing point determination unit 154 determines the vanishing point as described above for the gray area 10.
  • B be the region 10 of this difference (gray region 10), and let b be the point of that region.
  • C be a region 10 of a value indicating that there is an occupancy map patch that has been filtered using a fixed filter.
  • r be the threshold value of the distance from the point to be processed and m be the threshold value of the number of points used for determining whether or not the point is a disappearance point. Then, the disappearance point is determined depending on whether or not the following equation is satisfied.
  • the judgment result of the area B is derived based on the statistical value. May be good.
  • the one with more true and false may be the determination result of the area B.
  • the determination result may be weighted for each point. For example, such weighting may be performed based on the position of a point, attribute data, or the like.
  • the vanishing point determination unit 154 can supply the vanishing point determination result as described above to the OMap update unit 155. Further, the vanishing point determination unit 154 can supply the filtered occupancy map, that is, the occupancy map supplied from the 2Dto3D conversion unit 152 to the OMap update unit 155.
  • the OMap update unit 155 performs processing related to updating the occupancy map. For example, the OMap update unit 155 can acquire the vanishing point determination result and the occupancy map supplied from the vanishing point determination unit 154. In addition, the OMap update unit 155 can update the acquired occupancy map based on the acquired determination result. That is, the OMap update unit 155 can generate an occupancy map according to the positional relationship of points in the three-dimensional space.
  • the OMap update unit 155 sets the value of the area 10 of the occupancy map determined to include the disappearance point in the determination result to a value indicating that there is a patch. That is, the OMap update unit 155 updates the value of the region 10 of the occupancy map that has been filtered using the fixed filter.
  • the OMap update unit 155 sets the region 10 of the occupancy map that is determined to include the disappearance point in the determination result so as not to apply the filter processing using the fixed filter. That is, the OMap update unit 155 updates the value of the region 10 of the occupancy map that has been filtered using the fixed filter.
  • the OMap update unit 155 sets a value indicating that there is no patch in this area B. For example, the OMap update unit 155 makes it possible to apply a filter process using a fixed filter to this area B. In other words, for this region B, an occupancy map that has been filtered using a fixed filter is adopted, and its update is not performed.
  • the OMap update unit 155 sets a value indicating that there is a patch in this area B. For example, the OMap update unit 155 does not apply the filter processing using the fixed filter to this area B. In other words, for this region B, the occupancy map that has been filtered using a fixed filter is updated.
  • the disappearance points can be determined in consideration of the overlap of the boundaries of a plurality of patches, so that the occupancy map can be generated so as to suppress the increase in the disappearance of points in the point cloud. it can. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • the OMap update unit 155 can supply the occupancy map updated as described above to the 2Dto3D conversion unit 152.
  • the 2Dto3D conversion unit 152 acquires the updated occupancy map
  • the 2Dto3D conversion unit 152 performs the above-mentioned conversion process using the updated occupancy map.
  • the occupancy map is recursively updated, and finally the vanishing point determination unit 154 does not detect the vanishing point. That is, it is not necessary for the OMap update unit 155 to update the occupancy map supplied from the vanishing point determination unit 154. That is, the OMap update unit 155 can generate an occupancy map that can suppress the reduction of the subjective quality of the point cloud.
  • the OMap update unit 155 can supply the occupancy map as a filtered occupancy map to the coding unit 132 (FIG. 6).
  • This occupancy map can be encoded by the coding unit 132, multiplexed with other coded data by the multiplexer 117, and output as a bit stream to the outside of the coding device 100.
  • the patch decomposition unit 111 of the coding apparatus 100 decomposes 3D data (for example, a point cloud) into small areas (connection components) in step S101, and the data in each small area is two-dimensional. Projects onto a plane (projection plane) to generate geometry data patches and attribute data patches.
  • 3D data for example, a point cloud
  • step S102 the auxiliary patch information coding unit 113 encodes the auxiliary patch information obtained by the process of step S101.
  • the packing unit 112 packs each patch generated by the process of step S101 to generate a geometry video frame and a color video frame. Further, in this process, the packing unit 112 generates an occupancy map.
  • step S104 the video coding unit 114 encodes the geometry video frame obtained by the process of step S103 by the coding method for the two-dimensional image.
  • step S105 the video coding unit 115 encodes the color video frame obtained by the process of step S103 by the coding method for the two-dimensional image.
  • step S106 the OMap coding unit 116 executes the occupancy map coding process and encodes the occupancy map obtained by the process of step S103.
  • step S107 the multiplexer 117 multiplexes the various information generated as described above and generates a bit stream including the information.
  • step S108 the multiplexer 117 outputs the bit stream generated by the process of step S107 to the outside of the encoding device 100.
  • the process of step S108 is completed, the coding process is completed.
  • the filtering processing unit 131 of the OMap coding unit 116 executes the occupancy map filtering process in step S131, and filters the occupancy map using a fixed filter.
  • step S132 the coding unit 132 encodes the occupancy map filtered by using the fixed filter in step S131, and generates the encoded data of the occupancy map.
  • the 2Dto3D conversion unit 153 of the filtering processing unit 131 extracts a patch from the geometry video frame using the occupancy map before filtering in step S161, and each of the patches included in the patch. Convert the 2D coordinates of the point to 3D coordinates and restore the geometry data of the point cloud.
  • step S162 the OMap filtering application unit 151 performs a filter process using a fixed filter on the occupancy map.
  • the 2Dto3D conversion unit 152 uses the occupancy map generated by the process of step S162 and subjected to the filter processing using the fixed filter, or the occupancy map updated by the process of step S166 described later. It is used to extract a patch from a geometry video frame, convert the 2D coordinates of each point contained in the patch to 3D coordinates, and restore the geometry data of the point cloud.
  • step S164 a candidate for a disappearance point (a region for determining the disappearance point) is detected by using the occupancy map before filtering and the occupancy map filtered by the process of step S162.
  • step S165 the vanishing point determination unit 154 uses the restored geometry data to detect vanishing points (that is, vanishing points for each candidate) based on points in the vicinity of the processing target points that are candidates for vanishing points. Determine if it is a point).
  • step S166 the OMap update unit 155 determines whether or not the filtered occupancy map (including the updated occupancy map) generated by the process of step S162 is a disappearance point obtained by the process of step S165. Is updated based on the judgment result.
  • step S167 the OMap update unit 155 determines whether or not the occupancy map has been updated by the process of step S166. If it is determined that the update has been performed, the process returns to step S163. That is, after that, the processing after step S163 is executed using the updated occupancy map.
  • each process of steps S163 to S167 is repeatedly executed as necessary. Then, when it is determined in step S167 that the occupancy map has not been updated, the occupancy map filtering process ends, and the process returns to FIG.
  • the encoding device 100 By executing each process as described above, the encoding device 100 generates (updates) an occupancy map while considering the configuration of the point cloud in the three-dimensional space and considering the overlap with other patches. can do. As a result, the coding device 100 can generate (update) the occupancy map and apply it so as to suppress the occurrence of the disappearance point. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • Second Embodiment> ⁇ Decryption of bitstream>
  • unpacking may be performed using the occupancy map included in the bitstream, and 3D data may be generated (constructed). By doing so, unpacking can be performed using the occupancy map filtered in consideration of the overlap of the boundaries of a plurality of patches. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
  • FIG. 11 is a block diagram showing an example of a configuration of a decoding device, which is an aspect of an image processing device to which the present technology is applied.
  • the decoding device 200 shown in FIG. 11 decodes the coded data obtained by projecting 3D data such as a point cloud onto a two-dimensional plane and encoding it by a decoding method for a two-dimensional image, and constructs the 3D data.
  • a device (a decoding device that applies a video-based approach).
  • the decoding device 200 is a decoding device corresponding to the coding device 100 of FIG. 5, and can decode the bit stream generated by the coding device 100 to construct 3D data. That is, the decoding device 200 can construct a point cloud using an occupancy map generated so as to suppress the occurrence of lost points.
  • FIG. 11 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the decoding device 200, there may be a processing unit that is not shown as a block in FIG. 11, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the decoding device 200 includes a demultiplexer 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 construction unit 217.
  • the demultiplexer 211 performs processing related to data demultiplexing. For example, the demultiplexer 211 can acquire a bitstream input to the decoding device 200. This bit stream is supplied by, for example, the encoding device 100.
  • the demultiplexer 211 can demultiplex this bit stream. For example, the demultiplexer 211 can extract the coded data of the auxiliary patch information from the bitstream by demultiplexing. The demultiplexer 211 can also extract the coded data of the geometry video frame from the bitstream by demultiplexing. Further, the demultiplexer 211 can extract the coded data of the color video frame from the bitstream by demultiplexing. In addition, the demultiplexer 211 can extract the encoded data of the occupancy map from the bit stream by demultiplexing.
  • the demultiplexer 211 can supply the extracted data to the subsequent processing unit.
  • the demultiplexer 211 can supply the extracted auxiliary patch information encoded data to the auxiliary patch information decoding unit 212.
  • the demultiplexer 211 can supply the coded data of the extracted geometry video frame to the video decoding unit 213.
  • the demultiplexer 211 can supply the coded data of the extracted color video frame to the video decoding unit 214.
  • the demultiplexer 211 can supply the extracted occupancy map encoded data to the OMap decoding unit 215.
  • the demultiplexer 211 can extract control information related to packing from the bit stream by demultiplexing and supply it to the unpacking unit 216.
  • Auxiliary patch information decoding unit 212 performs processing related to decoding of encoded data of auxiliary patch information.
  • the auxiliary patch information decoding unit 212 can acquire the encoded data of the auxiliary patch information supplied from the demultiplexer 211. Further, the auxiliary patch information decoding unit 212 can decode the encoded data and generate auxiliary patch information. Further, the auxiliary patch information decoding unit 212 can supply the auxiliary patch information to the construction unit 217.
  • the video decoding unit 213 performs processing related to decoding the coded data of the geometry video frame. For example, the video decoding unit 213 can acquire the coded data of the geometry video frame supplied from the demultiplexer 211. In addition, the video decoding unit 213 can decode the coded data and generate a geometry video frame. Further, the video decoding unit 213 can supply the geometry video frame to the unpacking unit 216.
  • the video decoding unit 214 performs processing related to decoding the coded data of the color video frame. For example, the video decoding unit 214 can acquire the coded data of the color video frame supplied from the demultiplexer 211. In addition, the video decoding unit 214 can decode the encoded data and generate a color video frame. Further, the video decoding unit 214 can supply the color video frame to the unpacking unit 216.
  • the OMap decoding unit 215 performs processing related to decoding the encoded data of the occupancy map. For example, the OMap decoding unit 215 can acquire the encoded data of the occupancy map supplied from the demultiplexer 211. In addition, the OMap decoding unit 215 can decode the encoded data and generate an occupancy map. Further, the OMap decoding unit 215 can supply the occupancy map to the unpacking unit 216. This occupancy map is updated in the coding device 100 as necessary as described in the first embodiment.
  • the unpacking unit 216 performs processing related to unpacking. For example, the unpacking unit 216 can acquire control information regarding packing supplied from the demultiplexer 211. In addition, the unpacking unit 216 can acquire the geometry video frame supplied from the video decoding unit 213. Further, the unpacking unit 216 can acquire the color video frame supplied from the video decoding unit 214. In addition, the unpacking unit 216 can acquire the occupancy map supplied from the OMap decoding unit 215.
  • the unpacking unit 216 can unpack the geometry video frame and the color video frame based on the acquired control information and the occupancy map, and extract patches of geometry data and attribute data. As described above, this occupancy map is updated as necessary as described in the first embodiment. That is, this occupancy map is generated (updated) so as to suppress the occurrence of disappearance points. Further, the unpacking unit 216 can supply the geometry data, the patch of the attribute data, and the like to the 3D reconstruction unit 217.
  • the construction unit 217 performs processing related to the construction of 3D data.
  • the construction unit 217 can acquire the auxiliary patch information supplied from the auxiliary patch information decoding unit 212.
  • the construction unit 217 can acquire patches and the like of geometry data supplied from the unpacking unit 216.
  • the construction unit 217 can acquire a patch or the like of attribute data supplied from the unpacking unit 216.
  • the construction unit 217 can acquire the occupancy map supplied from the unpacking unit 216.
  • the construction unit 217 constructs 3D data (for example, Point Cloud) using the information.
  • the construction unit 217 outputs the 3D data obtained by such processing to the outside of the decoding device 200.
  • This 3D data is, for example, supplied to a display unit to display the image, recorded on a recording medium, or supplied to another device via communication.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • the unpacking unit 216 can perform unpacking so as to suppress the occurrence of disappearance points by extracting the patch using the occupancy map supplied from the coding device 100. Therefore, the decoding device 200 can construct the point cloud so as to suppress the reduction of the subjective quality.
  • the demultiplexer 211 of the decoding device 200 demultiplexes the bit stream in step S201.
  • the auxiliary patch information decoding unit 212 decodes the encoded data of the auxiliary patch information extracted from the bit stream by the process of step S201.
  • step S203 the video decoding unit 213 decodes the encoded data of the geometry video frame extracted from the bit stream by the process of step S201.
  • step S204 the video decoding unit 214 decodes the coded data of the color video frame extracted from the bit stream by the process of step S201.
  • step S205 the OMap decoding unit 215 decodes the encoded data of the occupancy map extracted from the bit stream by the process of step S201.
  • step S206 the unpacking unit 216 unpacks the geometry video frame and the color video frame, respectively, based on the control information regarding packing and the occupancy map.
  • step S207 the construction unit 217 constructs 3D data such as a point cloud based on the auxiliary patch information generated by the process of step S202 and various information generated by the process of step S206.
  • the decoding process is completed.
  • the decoding device 200 can perform unpacking so as to suppress the occurrence of the disappearance point, and construct the point cloud so as to suppress the reduction of the subjective quality. be able to.
  • Addendum> ⁇ Computer> The series of processes described above can be executed by hardware or by software.
  • the programs constituting the software are installed on the computer.
  • the computer includes a computer embedded in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • FIG. 13 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-described series. Is processed.
  • the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in advance in ROM 902 or storage unit 913.
  • the coding device 100 and the decoding device 200 have been described as application examples of the present technology, but the present technology can be applied to any configuration.
  • the present technology can be used for transmitters and receivers (for example, television receivers and mobile phones) for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • transmitters and receivers for example, television receivers and mobile phones
  • cable broadcasting such as cable TV
  • distribution on the Internet distribution on the Internet
  • terminals by cellular communication or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • a processor as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors (for example, a video module), a unit using a plurality of modules (for example, a video unit)
  • a processor as a system LSI (Large Scale Integration) or the like
  • a module using a plurality of processors for example, a video module
  • a unit using a plurality of modules for example, a video unit
  • it can be implemented as a configuration of a part of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing units, point clouds, etc. to which this technology is applied include, for example, games, augmented reality (AR (Augmented Reality)), virtual reality (VR (Virtual Reality)), automatic driving, traffic monitoring, medical care, and crime prevention.
  • AR Augmented Reality
  • VR Virtual Reality
  • Automatic driving traffic monitoring
  • medical care Medical care
  • crime prevention e.g., a crime prevention system
  • Agriculture livestock industry, mining, beauty, factory, home appliances, weather, nature monitoring, etc.
  • the use in each field is arbitrary. For example, it can be used for the production of Volumetric Video and 6DoF (Degree of Freedom) media.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information (including the flag) is assumed to include not only the identification information in the bitstream but also the difference information of the identification information with respect to a certain reference information in the bitstream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • various information (metadata, etc.) regarding the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). Good.
  • this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
  • composite means combining a plurality of objects into one, for example, combining encoded data and metadata into one data, and means one method of "associating" described above.
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, or may be executed in parallel or in calls. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • An occupancy map showing the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional shaped object as a set of points is used for the positional relationship of the points in the three-dimensional space.
  • the point is a vanishing point that disappears when the projected image is extracted from the frame image using the occupancy map according to the positional relationship with the neighboring points in the three-dimensional space. Further equipped with a judgment unit for determining whether or not The information processing device according to (1), wherein the generation unit sets the local value of the occupancy map based on the determination result by the determination unit.
  • the point For each local point where a value indicating the presence of an image is set and a value indicating the absence of the projected image is set in the filtered occupancy map, the point is a vanishing point.
  • the information processing apparatus according to any one of (2) to (4).
  • (6) The information processing according to any one of (2) to (5), wherein the determination unit determines whether or not the point is a disappearance point according to the distance between the point and the nearby point. apparatus.
  • the determination unit determines that the point is not a disappearance point when the distance between the point and a nearby point is equal to or less than a predetermined threshold value.
  • the determination unit determines that the point is not a disappearance point when the number of points whose distance from the point is equal to or less than the predetermined threshold value is equal to or greater than the predetermined threshold value, any of (6) to (10).
  • the information processing device described in. (12) The information processing apparatus according to (11), wherein the determination unit determines whether or not it is the disappearance point by using the threshold value according to the position of the point.
  • the projected image is extracted from the frame image using each of the unfiltered occupancy map and the filtered occupancy map, and the extracted projected image. Further equipped with a conversion unit that converts the two-dimensional coordinates of each point included in the above into three-dimensional coordinates.
  • the determination unit is subjected to the three-dimensional coordinates of each point included in the projected image extracted by using the unfiltered occupancy map derived by the conversion unit, and the filter processing.
  • the filter processing By comparing with the three-dimensional coordinates of each point included in the projected image extracted using the occupancy map, the projected image is present in the unfiltered occupancy map.
  • the filtered occupancy map a value indicating that there is no projected image is set.
  • the local area is detected, and for each point of the detected local area, the disappearance point is set.
  • the information processing apparatus according to any one of (5) to (12).
  • (14) The information processing apparatus according to (13), wherein the conversion unit performs a smoothing process on the point cloud.
  • a filter processing unit for performing the filter processing on the occupancy map.
  • the conversion unit extracts the projected image from the frame image using the occupancy map that has not been filtered, and converts the two-dimensional coordinates of each point included in the extracted projected image into three-dimensional coordinates.
  • the projected image is extracted from the frame image using the occupancy map that has been converted and further filtered by the filtering unit, and the two-dimensional coordinates of each point included in the extracted projected image are obtained.
  • the information processing apparatus according to (13) or (14), which converts to three-dimensional coordinates.
  • (16) The information processing apparatus according to any one of (1) to (15), wherein the local area has a lower accuracy than the resolution of the point.
  • (17) Further includes an occupancy map coding unit that encodes a moving image including a frame image including the occupancy map generated by the generation unit and generates encoded data of the occupancy map (1) to The information processing apparatus according to any one of (16).
  • An occupancy map showing the presence or absence of a projected image on a two-dimensional plane of a point cloud that expresses a three-dimensional object as a set of points is used for the positional relationship of the points in the three-dimensional space. Information generation method to be generated accordingly.
  • An extraction unit that extracts the projected image of the geometry data of the point cloud and the projected image of the attribute data from the frame image using the occupancy map shown for each local area.
  • An information processing device including a generation unit that generates a point cloud using a projection image of the geometry data extracted by the extraction unit and a projection image of the attribute data.
  • the projected image of the geometry data of the point cloud and the projected image of the attribute data are extracted from the frame image.

Abstract

本開示は、ポイントクラウドの主観的品質の低減を抑制することができるようにする情報処理装置および情報生成方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間におけるそのポイントの位置関係に応じて生成する。本開示は、例えば、情報処理装置、符号化装置、または復号装置等に適用することができる。

Description

情報処理装置および情報生成方法
 本開示は、情報処理装置および情報生成方法に関し、特に、ポイントクラウドの主観的品質の低減を抑制することができるようにした情報処理装置および情報生成方法に関する。
 従来、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドデータ(Point cloud data)の符号化・復号の標準化がMPEG(Moving Picture Experts Group)で進められている(例えば、非特許文献1および非特許文献2参照)。
 また、ポイントクラウドの位置情報と属性情報とを小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化する方法(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案された(例えば、非特許文献3乃至非特許文献6参照)。
 そのビデオベースドアプローチにおいて用いられるオキュパンシーマップ(OccupancyMap)について、大きな余りを生じさせないようにフィルタリングを行う方法が提案された(例えば非特許文献7参照)。
"Information technology - MPEG-I (Coded Representation of Immersive Media) - Part 9: Geometry-based Point Cloud Compression", ISO/IEC 23090-9:2019(E) 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 Vladyslav Zakharchenko, V-PCC Codec description, ISO/IEC JTC1/SC29/WG11 MPEG2019/N18190, Marrakech, MA, January 2019 C. Guede, J.Ricard, J. Llach, J-C. Chevet, Y. Olivier, D. Gendron, "[PCC] new proposal: Improve point cloud compression through occupancy map refinement", ISO/IEC JTC1/SC29 WG11 Doc. m44779, Macao, China, Oct.2018
 しかしながら、非特許文献7に記載の固定フィルタを用いる方法では、本来落としてほしくないポイントを落とすおそれがあり、ポイントクラウドの主観的品質が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドの主観的品質の低減を抑制することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間における前記ポイントの位置関係に応じて生成する生成部を備える画像処理装置である。
 本技術の一側面の情報生成方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間における前記ポイントの位置関係に応じて生成する情報生成方法である。
 本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間における前記ポイントの位置関係に応じて生成された、前記ポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像から前記ポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出する抽出部と、前記抽出部により抽出された前記ジオメトリデータの投影画像および前記アトリビュートデータの投影画像を用いて前記ポイントクラウドを生成する生成部とを備える画像処理装置である。
 本技術の他の側面の情報生成方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間における前記ポイントの位置関係に応じて生成された、前記ポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像から前記ポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出し、抽出された前記ジオメトリデータの投影画像および前記アトリビュートデータの投影画像を用いて前記ポイントクラウドを生成する情報生成方法である。
 本技術の一側面の情報処理装置および情報生成方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップが、3次元空間におけるそのポイントの位置関係に応じて生成される。
 本技術の他の側面の情報処理装置および情報生成方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間におけるそのポイントの位置関係に応じて生成された、そのポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップが用いられて、フレーム画像からそのポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とが抽出され、その抽出されたジオメトリデータの投影画像およびアトリビュートデータの投影画像が用いられてポイントクラウドが生成される。
1x1精度のオキュパンシーマップの例を示す図である。 固定フィルタ適用後の4x4精度のオキュパンシーマップの例を示す図である。 オキュパンシーマップの生成方法について説明する図である。 固定フィルタ適用前後のオキュパンシーマップの比較の例を示す図である。 符号化装置の主な構成例を示すブロック図である。 OMap符号化部の主な構成例を示すブロック図である。 フィルタリング処理部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 オキュパンシーマップ符号化処理の流れの例を説明するフローチャートである。 オキュパンシーマップフィルタリング処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.3次元位置情報を考慮したオキュパンシーマップのフィルタリング
 2.第1の実施の形態(符号化装置)
 3.第2の実施の形態(復号装置)
 4.付記
 <1.3次元位置情報を考慮したオキュパンシーマップのフィルタリング>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 非特許文献5:(上述)
 非特許文献6:(上述)
 非特許文献7:(上述)
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、点の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合として表現する。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各ポイントの位置情報(ジオメトリデータとも称する)と属性情報(アトリビュートデータとも称する)とにより構成される。ジオメトリデータは、ポイントの3次元空間の位置を示す情報であり、例えば、直交座標(x,y,z)等により構成される。もちろん、ジオメトリデータには、直交座標系以外にもの任意の座標系を適用することができる。アトリビュートデータは、ポイントに関する位置情報以外の情報であり、任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。このようにポイントクラウドデータは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <ポイントクラウドの符号化>
 このようなポイントクラウドデータはそのデータ量が比較的大きいので、例えば、非特許文献1や非特許文献2に記載のように、ポイントクラウドデータの符号化・復号方法が提案された。
  <ビデオベースドアプローチの概要>
 例えば、非特許文献3乃至非特許文献6に記載のように、このようなポイントクラウドのジオメトリデータやアトリビュートデータを小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案された。
 このビデオベースドアプローチでは、このようなポイントクラウドが複数の小領域に分割され、その小領域毎に各ポイントが2次元平面(投影面とも称する)に投影される。この投影は、ジオメトリデータとアトリビュートデータのそれぞれについて行われる。この投影面に投影された画像を投影画像とも称する。また、小領域毎の投影画像をパッチとも称する。
 そして、このように生成された各パッチがフレーム画像内に配置される。ジオメトリデータのパッチが配置されたフレーム画像をジオメトリビデオフレーム(Geometry video frame)とも称する。また、アトリビュートデータのパッチが配置されたフレーム画像をカラービデオフレーム(Color video frame)とも称する。例えば、ジオメトリビデオフレームの各画素値は、その画素に対応するポイントの投影面に対して垂直方向(奥行方向)の位置情報(デプス値(Depth))を示す。
 このように生成された各ビデオフレームは、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった2次元画像用の符号化方法で符号化される。もちろんこの符号化方法は任意であり、AVCやHEVCに限定されない。
 このように生成された符号化データは、復号側に伝送され、その復号側において復号されてフレーム画像が生成され。そして、そのフレーム画像から各パッチが抽出され、各パッチからポイントクラウド等の3Dデータが構築される。
  <オキュパンシーマップ>
 このようなビデオベースドアプローチの場合、さらに、オキュパンシーマップ(OccupancyMap)を用いることができる。オキュパンシーマップは、所定の画素精度でジオメトリビデオフレームの投影画像(パッチ)の有無を示すマップ情報である。例えば、オキュパンシーマップは、NxN画素精度、すなわちNxN画素の領域毎に、パッチの有無を示す。例えば、オキュパンシーマップは、パッチが存在するNxN画素の領域を値「1」で示し、パッチが存在しないNxN画素の領域を値「0」で示す。すなわち、オキュパンシーマップは、2値のマスク情報(Binary mask)とも言える。
 このようなオキュパンシーマップが、ジオメトリビデオフレームやカラービデオフレームとは別のデータとして符号化され、復号側に伝送される。デコーダは、このオキュパンシーマップを参照することにより、パッチが存在する領域であるか否かを把握することができるので、符号化・復号により生じるノイズ等の影響を抑制することができる。例えば、符号化・復号によりデプス値が変化しても、デコーダは、オキュパンシーマップを参照することにより、パッチが存在しない領域の画素値を無視することができる。したがって、例えば、符号化・復号により、パッチが存在しない領域の画素において、ポイントが存在しないことを示す画素値が、ポイントが存在することを示す画素値に変化したとしても、デコーダは、オキュパンシーマップを参照することにより、このような画素の画素値を3Dデータの位置情報として処理しないようにすることができる。
 図1に1x1画素精度のオキュパンシーマップの例を示す。図1において小さな各四角はフレーム画像の画素(画素11)を示す。つまり、図1は、フレーム画像の一部または全部が示されている。グレーまたは黒色の画素11は、ポイントに対応する画素を示す。また、太線で囲まれる領域10は、4x4画素の領域である。
 1x1画素精度の場合、オキュパンシーマップは、図1のように、ポイント単位でその存在の有無を正確に表現することができる。ただし、この場合、オキュパンシーマップに画素数分の情報量が必要になる。そのため、符号化効率が低減するおそれがあった。特にオキュパンシーマップはポイントクラウドを構成する情報ではないため、その情報量は少ない程好ましい。
 そこで、オキュパンシーマップを用いる場合、オキュパンシーマップの解像度をジオメトリビデオフレームの解像度よりも低減させる(精度を低減させる)方法が考えられた。このようにすることにより、その情報量を低減させることができ、符号化効率を向上させることができる。
 例えば、オキュパンシーマップの画素精度を4x4画素精度とし、図1の領域10(4x4画素)毎にパッチの有無を示すようにすることにより、オキュパンシーマップの情報量を1x1画素精度の場合の16分の1にすることができる。このように、NxN画素精度のオキュパンシーマップについて、Nの値を2以上とすることにより、符号化効率を向上させることができる。
  <オキュパンシーマップのフィルタリング>
 しかしながら、オキュパンシーマップの解像度を低減させることにより、ポイントが1つでも存在する領域に対してパッチが存在する値が設定されてしまい、符号化効率が低減するおそれがあった。
 例えば、図1において黒色で示される画素11は、ポイントが存在する画素の内、1つの領域10内に1つまたは2つしか存在しない画素を示している。例えば、ポイントが存在する画素は、領域10-1および領域10-3に1つずつ、領域10-2には7つ、領域10-4には0、領域10-5には、4つある。このように、各領域10のポイント数は、バラバラであっても、オキュパンシーマップでは、領域10-1乃至領域10-3、並びに、領域10-5の値は、パッチが存在する値(例えば「1」)となる。つまり、領域10-1や領域10-3のようにパッチが存在しない割合が大きい領域も、パッチが存在する値(例えば「1」)となる。
 そのため、復号の際にフレーム画像からパッチが実際よりも大きく抽出されてしまい、例えば、フレーム画像において隣接する他のパッチのポイントが含まれてしまう等の減少が発生し、3Dデータを構築する際に本来ない点が生成されてしまうおそれがあった。これにより、ポイントクラウドの主観的品質が低減するおそれがあった。
 そこで、例えば、非特許文献7に記載のような、オキュパンシーマップをフィルタリングすることにより、ポイント数の割合が少ない領域の値を、パッチが存在しない値(例えば「0」)とする方法が考えられた。
 非特許文献7においては、所定のフィルタ(固定フィルタとも称する)を用いて、オキュパンシーマップをフィルタリングする方法が提案されている。図1のオキュパンシーマップに対してこのような固定フィルタによるフィルタリングを施すことにより、例えば図2に示されるようなオキュパンシーマップが生成される。図2に示されるオキュパンシーマップにおいて、斜線模様で示される領域10は、パッチが存在する値(例えば「1」)の領域を示し、白色で示される領域10は、パッチが存在しない値(例えば「0」)の領域を示す。
 この例の場合、固定フィルタは、ポイントに対応する画素が2画素以下の領域10の値を、パッチが存在しない値(例えば「0」)に設定する。したがって、図1において黒色で示される画素11を含む領域10は、パッチが存在しない値(例えば「0」)に設定されている。
 換言するに、図1において黒色で示される画素11に対応するポイントは、このフィルタリングにより消失する。そのため、本来落としてほしくないポイントを落とすおそれがあり、ポイントクラウドの主観的品質が低減するおそれがあった。特に、密で層状のポイントクラウドの場合、ポイントが消失することで、穴が生じたように見えたり、穴が拡大したように見えたりすることが起こり得る。なお、このフィルタリングにより消失するポイントを消失ポイントとも称する。しかしながら、フレーム画像上、つまり、2次元上では、このような消失ポイントと他のパッチに含まれるポイントとの関係を考慮することが困難であった。
  <3次元位置情報の考慮>
 そこで、図3の表の一番上の行に示される方法1のように、ポイントの3次元空間における位置(3D位置)に応じたオキュパンシーマップを生成するようにする。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間におけるポイントの位置関係に応じて生成する生成部を備えるようにする。
 例えば、情報生成方法として、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間におけるポイントの位置関係に応じて生成するようにする。
 このようにすることにより、複数のパッチの境界の重なりを考慮してオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から2番目の行に示される方法1-1のように、3次元空間における近傍のポイントとの位置関係に応じて、ポイントが、オキュパンシーマップを用いてフレーム画像より投影画像を抽出する際に消失するポイントである消失ポイントであるか否かを判定し、その判定結果に基づいて、オキュパンシーマップの局所の値を設定するようにしてもよい。つまり、オキュパンシーマップの各局所の値が、その局所が消失ポイントを含むか否かに応じて設定されるようにしてもよい。
 例えば、オキュパンシーマップの、消失ポイントであると判定されたポイントを含む局所の値を、投影画像が有ることを示す値に設定するようにしてもよい。つまり、ポイントが消失する領域に対するオキュパンシーマップの値を、投影画像が有ることを示す値に設定してもよい。
 このようにすることにより、例えば、複数のパッチの境界の重なりを考慮して、消失ポイントを判定することができる。したがって、ポイントクラウドにおけるポイントの消失の増大を抑制するようにオキュパンシーマップを生成することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、消失ポイントであると判定されたポイントを含む局所について、オキュパンシーマップの投影画像の割合が少ない局所の値を投影画像が無いことを示す値にするフィルタ処理の適用を禁止するようにしてもよい。つまり、フィルタ処理を施すことによって消失ポイントとなるポイントを含む領域に対して、そのフィルタ処理を施さないようにしてもよい。
 このようにすることにより、例えば、複数のパッチの境界の重なりを考慮して、フィルタ処理による消失ポイントを判定することができる。したがって、ポイントクラウドにおけるフィルタ処理によるポイントの消失の増大を抑制するようにオキュパンシーマップを生成することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 さらに、例えば、オキュパンシーマップの投影画像の割合が少ない局所の値を投影画像が無いことを示す値にするフィルタ処理が施されていないオキュパンシーマップにおいて投影画像が有ることを示す値が設定され、そのフィルタ処理が施されたオキュパンシーマップにおいて投影画像が無いことを示す値が設定される局所の各ポイントについて、そのポイントが消失ポイントであるか否かを判定してもよい。
 例えば、従来の固定フィルタによるフィルタ処理の適用前後のオキュパンシーマップの比較結果の例を図4に示す。図4の例は、図1の例の4x4画素精度のオキュパンシーマップと、そのオキュパンシーマップに対して固定フィルタを適用した図2の例のオキュパンシーマップとの比較結果を示す。図4において、グレーで示される領域10が、差異部、すなわち、フィルタ処理が施されることによりパッチが存在しない値に設定された領域である。例えば領域10-1乃至領域10-5の中では、領域10-1および領域10-3がグレーで示されている。
 フィルタ処理により消失するポイントは、このグレーの領域10に存在し得る。つまり、このグレーの領域10のポイントがフィルタ処理による消失ポイントの候補となり得る。そこで、このグレーの領域10について、消失ポイントの判定が行われるようにしてもよい。
 このようにすることにより、全ての領域10について消失ポイントの判定を行う場合よりも、処理の負荷の増大を抑制することができる。
 また、例えば、処理対象のポイントとその近傍のポイントとの距離に応じて、そのポイントが消失ポイントであるか否かを判定してもよい。
 このようにすることにより、ポイント間の距離に基づいてオキュパンシーマップを生成することができるので、複数のパッチの境界の重なりを考慮してオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から3番目の行に示される方法1-1-1のように、フィルタリングによる消失ポイントから距離r内にポイントが存在するかに基づいてフィルタ制御を行い、オキュパンシーマップを生成するようにしてもよい。例えば、処理対象のポイントとその近傍のポイントとの距離が所定の閾値(例えばr)以下である場合、そのポイントが消失ポイントでないと判定してもよい。換言するに、処理対象のポイントとその近傍のポイントとの距離がその閾値より大きい場合、そのポイントが消失ポイントであると判定してもよい。
 このようにすることにより、近傍のポイントが存在しないポイントが消失しないようにオキュパンシーマップを生成することができる。また、その近傍のポイントの有無の判定レベルを、距離の閾値によって制御することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から4番目の行に示される方法1-1-1-1のように、消失ポイントと近傍のポイントとの3次元空間上の距離に応じてフィルタ制御を行い、オキュパンシーマップを生成するようにしてもよい。例えば、処理対象のポイントとその近傍のポイントとの3次元空間における距離が所定の閾値以下であると判定された場合、そのポイントが消失ポイントでないと判定してもよい。換言するに、処理対象のポイントとその近傍のポイントとの3次元空間における距離がその閾値より大きい場合、そのポイントが消失ポイントであると判定してもよい。
 このようにすることにより、近傍のポイントが存在しないポイントが消失しないようにオキュパンシーマップを生成することができる。また、その近傍のポイントの有無の判定レベルを、3次元空間上の距離の閾値によって制御することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から5番目の行に示される方法1-1-1-2のように、消失ポイントと近傍のポイントとの投影面上の距離に応じてフィルタ制御を行い、オキュパンシーマップを生成するようにしてもよい。例えば、処理対象のポイントとその近傍のポイントとの投影面における距離が所定の閾値以下であると判定された場合、そのポイントが消失ポイントでないと判定してもよい。換言するに、処理対象のポイントとその近傍のポイントとの投影面における距離がその閾値より大きい場合、そのポイントが消失ポイントであると判定してもよい。
 このようにすることにより、近傍のポイントが存在しないポイントが消失しないようにオキュパンシーマップを生成することができる。また、その近傍のポイントの有無の判定レベルを、投影面上の距離の閾値によって制御することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から6番目の行に示される方法1-1-1-3のように、消失ポイントと近傍のポイントとの投影面の法線方向の距離に応じてフィルタ制御を行い、オキュパンシーマップを生成するようにしてもよい。例えば、処理対象のポイントとその近傍のポイントとの投影面の法線方向における距離が所定の閾値以下であると判定された場合、そのポイントが消失ポイントでないと判定してもよい。換言するに、処理対象のポイントとその近傍のポイントとの投影面の法線方向における距離がその閾値より大きい場合、そのポイントが消失ポイントであると判定してもよい。
 このようにすることにより、近傍のポイントが存在しないポイントが消失しないようにオキュパンシーマップを生成することができる。また、その近傍のポイントの有無の判定レベルを、投影面の法線方向の距離の閾値によって制御することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から7番目の行に示される方法1-1-2のように、フィルタリングによる消失ポイントから距離r内のポイントの数に応じてフィルタ制御を行い、オキュパンシーマップを生成するようにしてもよい。例えば、処理対象のポイントからの距離が所定の閾値(例えばr)以下のポイントの数が所定の閾値(例えばm)以上である場合、そのポイントが消失ポイントでないと判定してもよい。換言するに、処理対象のポイントからの距離がその閾値(例えばr)以下のポイントの数がその閾値(例えばm)より少ない場合、そのポイントが消失ポイントであると判定してもよい。
 このようにすることにより、近傍のポイントの数が少ないポイントが消失しないようにオキュパンシーマップを生成することができる。また、消失ポイントの判定レベルを、距離の閾値やポイントの数の閾値によって制御することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から8番目の行に示される方法1-1-3のように、フィルタリングによる消失ポイントの位置に応じてフィルタリングの条件を制御し、オキュパンシーマップを生成するようにしてもよい。例えば、パッチの境界付近の領域に対して適用するフィルタリングの条件と、パッチの内側の領域に対して適用するフィルタリングの条件とを互いに異なる内容にしてもよい。例えば、パッチの境界付近の領域に対しては、その領域のポイントと同位置に他のパッチのポイントが存在する場合のみフィルタリングを適用し、パッチの内側の領域(パッチの境界付近でない領域)に対しては、その領域のポイントの近傍にポイントが存在すればフィルタリングを適用することができるようにしてもよい。つまり、例えば、ポイントの位置に応じた閾値を用いて、消失ポイントであるか否かを判定するようにしてもよい。
 このようにすることにより、処理対象のポイントの位置に応じた条件を用いて、そのポイントが消失ポイントであるか否かを判定することができる。つまり、消失ポイントの判定レベルを、ポイントの位置に応じて制御することができる。したがって、より適切な精度で消失ポイントが増大しないようにオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、図3の表の上から9番目の行に示される方法1-2のように、フィルタリングの適用前後のオキュパンシーマップを用いて、アンパッキングを行ってフレーム画像からパッチを抽出し、その抽出したパッチの各ポイントの座標を2次元座標から3次元座標に変換し、ポイントクラウドを生成する再構成処理を行うようにしてもよい。例えば、フィルタ処理が施されていないオキュパンシーマップ、および、フィルタ処理が施されたオキュパンシーマップのそれぞれを用いて、フレーム画像より投影画像を抽出し、その抽出した投影画像に含まれる各ポイントの2次元座標を3次元座標に変換し、フィルタ処理が施されていないオキュパンシーマップを用いて抽出された投影画像に含まれる各ポイントの3次元座標と、フィルタ処理が施されたオキュパンシーマップを用いて抽出された投影画像に含まれる各ポイントの3次元座標とを比較することにより、フィルタ処理が施されていないオキュパンシーマップにおいて投影画像が有ることを示す値が設定され、フィルタ処理が施されたオキュパンシーマップにおいて投影画像が無いことを示す値が設定される局所を検出し、その検出した局所の各ポイントについて、消失ポイントであるか否かを判定してもよい。
 このようにすることにより、パッキングされたデータを用いて、複数のパッチの境界の重なりを考慮したオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 その際、例えば、図3の表の上から10番目の行に示される方法1-2-1のように、再構成処理により導出したポイントクラウドに対してスムーシング処理(Smoothing)を行ってポイントの位置を補正するようにしてもよい。このようにすることにより、符号化・復号によるポイントの位置ずれの発生頻度やずれ量の増大を抑制することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 もちろん、図3の表の上から11番目の行に示される方法1-2-2のように、再構成処理により導出したポイントクラウドに対してスムーシング処理(Smoothing)を行わないようにしてもよい。
 なお、例えば、オキュパンシーマップに対して固定フィルタによるフィルタ処理を施すようにしてもよい。そして、そのフィルタ処理が施されていないオキュパンシーマップを用いて投影画像をフレーム画像より抽出し、抽出した投影画像に含まれる各ポイントの2次元座標を3次元座標に変換し、さらに、そのフィルタ処理が施されたオキュパンシーマップを用いて投影画像をフレーム画像より抽出し、その抽出した投影画像に含まれる各ポイントの2次元座標を3次元座標に変換するようにしてもよい。
 このようにすることにより、オキュパンシーマップに対して従来の固定フィルタを用いたフィルタ処理を行って、複数のパッチの境界の重なりを考慮したオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、例えば、局所は、ポイントの解像度よりも低精度であるようにすることができる。つまり、オキュパンシーマップの画素精度を1x1画素よりも低精度としてもよい。例えば、局所を、ポイントの解像度の4x4精度であるようにしてもよい。つまり、オキュパンシーマップの画素精度を4x4画素精度としてもよい。このようにすることにより、オキュパンシーマップの情報量の増大を抑制し、符号化効率の低減を抑制することができる。
 さらに、例えば、以上のように生成された、複数のパッチの境界の重なりを考慮したオキュパンシーマップを含むフレーム画像からなる動画像を符号化し、オキュパンシーマップの符号化データを生成するようにしてもよい。
 また、例えば、ポイントクラウドのジオメトリデータの投影画像が配置されたフレーム画像からなる動画像を符号化し、ジオメトリデータの符号化データを生成するようにしてもよい。ポイントクラウドのアトリビュートデータの投影画像が配置されたフレーム画像からなる動画像を符号化し、アトリビュートデータの符号化データを生成するようにしてもよい。
 さらに、例えば、オキュパンシーマップの符号化データ、ジオメトリデータの符号化データ、および、アトリビュートデータの符号化データを多重化するようにしてもよい。
 このようにすることにより、ポイントクラウドデータの伝送や記録の際の情報量の増大を抑制することができる。
 また、例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間におけるポイントの位置関係に応じて生成された、そのポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像からそのポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出する抽出部と、その抽出部により抽出されたジオメトリデータの投影画像およびアトリビュートデータの投影画像を用いてポイントクラウドを生成する生成部とを備えるようにする。
 例えば、情報生成方法として、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間におけるポイントの位置関係に応じて生成された、そのポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像からそのポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出し、その抽出されたジオメトリデータの投影画像およびアトリビュートデータの投影画像を用いてポイントクラウドを生成するようにする。
 このようにすることにより、複数のパッチの境界の重なりを考慮してフィルタリングされたオキュパンシーマップを用いてアンパッキングを行うことができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 <2.第1の実施の形態>
  <符号化装置>
 図5は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図5に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
 なお、図5においては、処理部やデータの流れ等の主なものを示しており、図5に示されるものが全てとは限らない。つまり、符号化装置100において、図5においてブロックとして示されていない処理部が存在したり、図5において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置100内の処理部等を説明する他の図においても同様である。
 図5に示されるように符号化装置100は、パッチ分解部111、パッキング部112、補助パッチ情報符号化部113、ビデオ符号化部114、ビデオ符号化部115、OMap符号化部116、およびマルチプレクサ117を有することができる。
 パッチ分解部111は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部111は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド)を取得し得る。また、パッチ分解部111は、取得したその3Dデータを複数の小領域(コネクションコンポーネントとも称する)に分解し、その小領域毎に3Dデータを2次元平面である投影面に投影し、位置情報のパッチや属性情報のパッチを生成し得る。
 パッチ分解部111は、生成した各パッチに関する情報をパッキング部112に供給し得る。また、パッチ分解部111は、その分解に関する情報である補助パッチ情報を、補助パッチ情報符号化部113に供給し得る。
 パッキング部112は、データのパッキングに関する処理を行う。例えば、パッキング部112は、パッチ分解部111から供給されるパッチに関する情報を取得し得る。また、パッキング部112は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングし得る。例えば、パッキング部112は、ジオメトリデータのパッチをビデオフレームとしてパッキングし、ジオメトリビデオフレーム(Geometry video frame(s))を生成し得る。また、パッキング部112は、アトリビュートデータのパッチをビデオフレームとしてパッキングし、カラービデオフレーム(Color video frame(s))を生成し得る。さらに、パッキング部112は、パッチの有無を示すオキュパンシーマップを生成し得る。
 パッキング部112は、それらを後段の処理部に供給する。例えば、パッキング部112は、ジオメトリビデオフレームをビデオ符号化部114およびOMap符号化部116に供給し、カラービデオフレームをビデオ符号化部115に供給し、オキュパンシーマップをOMap符号化部116に供給し得る。このオキュパンシーマップは、ポイントの解像度よりも低精度であってもよい。また、パッキング部112は、そのパッキングに関する制御情報をマルチプレクサ117に供給し得る。
 補助パッチ情報符号化部113は、補助パッチ情報の符号化に関する処理を行う。例えば、補助パッチ情報符号化部113は、パッチ分解部111から供給される補助パッチ情報を取得し得る。また、補助パッチ情報符号化部113は、取得した補助パッチ情報を符号化し、補助パッチ情報の符号化データを生成し得る。補助パッチ情報符号化部113は、生成した補助パッチ情報の符号化データをマルチプレクサ117に供給し得る。
 ビデオ符号化部114は、ジオメトリビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部114は、パッキング部112から供給されるジオメトリビデオフレームを取得し得る。また、ビデオ符号化部114は、その取得したジオメトリビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化し、ジオメトリビデオフレームの符号化データを生成し得る。ビデオ符号化部114は、生成したジオメトリビデオフレームの符号化データをマルチプレクサ117に供給し得る。
 ビデオ符号化部115は、カラービデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部115は、パッキング部112から供給されるカラービデオフレームを取得し得る。また、ビデオ符号化部115は、その取得したカラービデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化し、カラービデオフレームの符号化データを生成し得る。
 なお、ビデオ符号化部114が、ジオメトリビデオフレームの符号化データを復号し、生成(復元)したジオメトリビデオフレームをビデオ符号化部115に供給してもよい。そして、ビデオ符号化部115は、そのジオメトリビデオフレームを取得し、取得したジオメトリビデオフレームを用いて、カラービデオフレームをリカラーし、アトリビュートデータをジオメトリデータに対応させてもよい。つまり、ビデオ符号化部115は、符号化におけるスムーシング処理により更新されたジオメトリデータにアトリビュートデータを対応させることができる。その場合、ビデオ符号化部115は、リカラーしたカラービデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化し、カラービデオフレームの符号化データを生成することができる。
 さらに、ビデオ符号化部115は、以上のように生成したカラービデオフレームの符号化データをマルチプレクサ117に供給し得る。
 OMap符号化部116は、オキュパンシーマップのビデオフレームの符号化に関する処理を行う。例えば、OMap符号化部116は、パッキング部112から供給されるオキュパンシーマップおよびジオメトリビデオフレームを取得し得る。
 また、OMap符号化部116は、取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化し、オキュパンシーマップの符号化データを生成する。その際、OMap符号化部116は、ジオメトリビデオフレームを用いてオキュパンシーマップを更新することにより、3次元空間における前記ポイントの位置関係に応じたオキュパンシーマップを生成する。このようにすることにより、OMap符号化部116は、複数のパッチの境界の重なりを考慮してオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 さらに、OMap符号化部116は、生成したオキュパンシーマップの符号化データを、マルチプレクサ117に供給し得る。
 マルチプレクサ117は、多重化に関する処理を行う。例えば、マルチプレクサ117は、補助パッチ情報符号化部113から供給される補助パッチ情報の符号化データを取得し得る。また、マルチプレクサ117は、パッキング部112から供給されるパッキングに関する制御情報を取得し得る。さらに、マルチプレクサ117は、ビデオ符号化部114から供給されるジオメトリビデオフレームの符号化データを取得し得る。また、マルチプレクサ117は、ビデオ符号化部115から供給されるカラービデオフレームの符号化データを取得し得る。さらに、マルチプレクサ117は、OMap符号化部116から供給されるオキュパンシーマップの符号化データを取得し得る。また、マルチプレクサ117は、取得したそれらの情報を多重化して、ビットストリームを生成し得る。さらに、マルチプレクサ117は、その生成したビットストリームを符号化装置100の外部に出力し得る。
 なお、これらの処理部(パッチ分解部111乃至マルチプレクサ117)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <OMap符号化部>
 図6は、OMap符号化部116の主な構成例を示すブロック図である。図6に示されるように、OMap符号化部116は、フィルタリング処理部131および符号化部132を有する。
 フィルタリング処理部131は、オキュパンシーマップのフィルタリングに関する処理を行う。例えば、フィルタリング処理部131は、パッキング部112から供給されるオキュパンシーマップおよびジオメトリビデオフレームを取得し得る。
 また、フィルタリング処理部131は、取得したオキュパンシーマップに対して、ポイント(パッチ)の割合が少ない領域の値を、パッチが存在しない値(例えば「0」)とするフィルタリング(フィルタ処理)を行う。その際、フィルタリング処理部131は、取得したジオメトリデータを用い、ポイントの3次元空間における位置(3D位置)に基づいてフィルタリングを行う。つまり、フィルタリング処理部131は、ポイントの3D位置に応じたオキュパンシーマップを生成する。このようにポイントの3D位置を考慮してオキュパンシーマップを生成することにより、フィルタリング処理部131は、複数のパッチの境界の重なりを考慮してオキュパンシーマップを生成することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
 さらに、フィルタリング処理部131は、生成したオキュパンシーマップ(フィルタ処理を施したオキュパンシーマップ)を符号化部132に供給し得る。
 符号化部132は、オキュパンシーマップの符号化に関する処理を行う。例えば、符号化部132は、フィルタリング処理部131から供給されるオキュパンシーマップを取得し得る。また、符号化部132は、取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化し、オキュパンシーマップの符号化データを生成し得る。さらに、符号化部132は、生成したオキュパンシーマップの符号化データを、マルチプレクサ117に供給し得る。
  <フィルタリング処理部>
 図7は、フィルタリング処理部131の主な構成例を示すブロック図である。図7に示されるように、フィルタリング処理部131は、OMapフィルタリング適用部151、2Dto3D変換部152、2Dto3D変換部153、消失点判定部154、およびOMap更新部155を有する。
 OMapフィルタリング適用部151は、オキュパンシーマップに対するフィルタ処理に関する処理を行う。例えば、OMapフィルタリング適用部151は、パッキング部112から供給されるオキュパンシーマップを取得し得る。また、OMapフィルタリング適用部151は、取得したオキュパンシーマップに対して固定フィルタを用いたフィルタ処理を行い得る。この処理は、例えば、非特許文献7に記載の方法と同様に行われる。つまり、このフィルタ処理により、オキュパンシーマップの、パッチの割合が予め定められた所定の閾値よりも少ない領域の値が、「パッチが無いことを示す値」に更新(設定)される。例えば、図1のような4x4画素精度のオキュパンシーマップに対してこのフィルタ処理が施されることにより、図2のような4x4画素精度のオキュパンシーマップ、すなわち、ポイントに対応する画素が2以下の領域10の値が「パッチが無いことを示す値」に設定されたオキュパンシーマップが生成される。さらに、OMapフィルタリング適用部151は、このようなフィルタ処理が施されたオキュパンシーマップを2Dto3D変換部152に供給し得る。
 2Dto3D変換部152は、ポイントのジオメトリデータの、2次元座標から3次元座標への変換に関する処理を行う。例えば、2Dto3D変換部152は、OMapフィルタリング適用部151から供給される、フィルタ処理が施されたオキュパンシーマップを取得し得る。また、2Dto3D変換部152は、OMap更新部155から供給される、更新されたオキュパンシーマップを取得し得る。さらに、2Dto3D変換部152は、パッキング部112から供給されるジオメトリビデオフレームを取得し得る。また、2Dto3D変換部152は、そのフィルタ処理が施されたオキュパンシーマップまたは更新されたオキュパンシーマップを用いて、ジオメトリビデオフレームからパッチを抽出し、その各パッチに含まれるポイントの2次元座標(例えば(x,y))を3次元座標(例えば(x,y,z))に変換し得る。このパッチの抽出方法や座標系の変換方法は任意である。例えば、2Dto3D変換部152は、ジオメトリビデオフレームから、オキュパンシーマップにおいてパッチが存在するとされている領域をパッチとして抽出し得る。また、2Dto3D変換部152は、その抽出されたパッチに含まれるポイントのジオメトリビデオフレーム上の座標(2次元座標(x,y))に対して画素値を追加することにより、その2次元座標を3次元座標(x,y,z)に変換し得る。
 その際、2Dto3D変換部152は、変換後の3次元座標のポイント群、すなわち、ポイントクラウドのジオメトリデータに対してスムーシング処理を行うようにしてもよい。このようにすることにより、符号化・復号によるポイントの位置ずれの発生頻度やずれ量の増大を抑制することができる。なお、もちろん、このスムーシング処理を行わないようにしてもよい。
 さらに、2Dto3D変換部152は、フィルタ処理が施されたオキュパンシーマップを、消失点判定部154に供給し得る。また、2Dto3D変換部152は、変換後の3次元座標のポイント群、すなわち、フィルタ処理が施されたオキュパンシーマップに対応するポイントクラウドのジオメトリデータも消失点判定部154に供給し得る。
 2Dto3D変換部153は、ポイントのジオメトリデータの、2次元座標から3次元座標への変換に関する処理を行う。例えば、2Dto3D変換部153は、パッキング部112から供給されるオキュパンシーマップおよびジオメトリビデオフレームを取得し得る。また、2Dto3D変換部152は、そのオキュパンシーマップ、つまり、フィルタ処理が施されていないオキュパンシーマップを用いて、ジオメトリビデオフレームからパッチを抽出し、その各パッチに含まれるポイントの2次元座標(例えば(x,y))を3次元座標(例えば(x,y,z))に変換し得る。このパッチの抽出方法や座標系の変換方法は、2Dto3D変換部152の場合と同様である。
 その際、2Dto3D変換部153は、変換後の3次元座標のポイント群、すなわち、ポイントクラウドのジオメトリデータに対してスムーシング処理を行うようにしてもよい。このようにすることにより、符号化・復号によるポイントの位置ずれの発生頻度やずれ量の増大を抑制することができる。なお、もちろん、このスムーシング処理を行わないようにしてもよい。
 さらに、2Dto3D変換部153は、フィルタ処理が施されていないオキュパンシーマップを消失点判定部154に供給し得る。また、2Dto3D変換部153は、変換後の3次元座標のポイント群、すなわち、フィルタ処理が施されていないオキュパンシーマップに対応するポイントクラウドのジオメトリデータも消失点判定部154に供給し得る。
 消失点判定部154は、消失点の判定に関する処理を行う。例えば、消失点判定部154は、2Dto3D変換部152から供給されるフィルタ処理が施されたオキュパンシーマップを取得し得る。また、消失点判定部154は、2Dto3D変換部152から供給される、そのフィルタ処理が施されたオキュパンシーマップに対応するポイントクラウドのジオメトリデータを取得し得る。さらに、消失点判定部154は、2Dto3D変換部153から供給されるフィルタ処理が施されていないオキュパンシーマップを取得し得る。また、消失点判定部154は、2Dto3D変換部153から供給される、そのフィルタ処理が施されていないオキュパンシーマップに対応するポイントクラウドのジオメトリデータを取得し得る。
 また、消失点判定部154は、取得したこれらの情報を用いてジオメトリビデオフレームからパッチを抽出する際に消失する消失ポイントを求め得る。例えば、消失点判定部154は、処理対象のポイントとその処理対象のポイントの3次元空間における近傍のポイントとの位置関係に応じて、その処理対象のポイントが消失ポイントであるか否かを判定し得る。例えば、処理対象のポイントが消失したとしても、近傍にポイントが存在すればそのポイントが処理対象のポイントの代わりとなり、ポイントクラウドの品質に与える影響は少なくなる。つまり、このようなポイントはポイントクラウドとしては実質的に消失していないとみなすことができ、消失ポイントではないと言える。逆に、その処理対象のポイントの代わりになる他のポイントが存在しない場合、処理対象のポイントが消失することによるポイントクラウドの品質に与える影響は大きくなる。このような場合、処理対象のポイントは消失ポイントであると言える。このポイント同士の位置関係は、ジオメトリデータ、例えば、2Dto3D変換部153から供給される、フィルタ処理が施されていないオキュパンシーマップに対応するポイントクラウドのジオメトリデータを用いて求めることができる。
 このようにすることにより、消失点判定部154は、例えば、3次元空間におけるポイント同士の位置関係に基づいて消失ポイントであるか否かを判定することができる。つまり、複数のパッチの境界の重なりを考慮して、消失ポイントを判定することができる。したがって、ポイントクラウドにおけるポイントの消失の増大を抑制するようにオキュパンシーマップを生成することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 例えば、消失点判定部154は、処理対象のポイントとその近傍のポイントとの距離に応じて、そのポイントが消失ポイントであるか否かを判定し得る。つまり、消失点判定部154は、処理対象のポイントからの近傍のポイントがどの程度離れているかによって消失ポイントか否かの判定を行うことができる。
 例えば、消失点判定部154は、処理対象のポイントとその近傍のポイントとの距離が所定の閾値以下である場合、処理対処のポイントが消失ポイントでないと判定し得る。つまり、消失点判定部154は、近傍のポイントが処理対象のポイントに対して十分に近くに位置する場合、その近傍のポイントが処理対象のポイントの代わりとなり得ると判定し、処理対象のポイントが消失ポイントでないと判定することができる。逆に、近傍のポイントが処理対象のポイントからある程度以上離れている場合、消失点判定部154は、その近傍のポイントでは処理対象のポイントの代わりとなり得ないと判定し、処理対象のポイントを消失ポイントであると判定することができる。
 この距離は、例えば、3次元空間における距離であってもよい。また例えば、投影面上の距離であってもよい。さらに、例えば、投影面の法線方向の距離であってもよい。
 また、消失ポイントの判定において、近傍のポイントまでの距離だけでなく、近傍のポイントの数も考慮するようにしてもよい。例えば、消失点判定部154が、処理対象のポイントからの距離が所定の閾値以下のポイントの数が所定の閾値以上である場合、そのポイントが消失ポイントでないと判定するようにしてもよい。つまり、例えば、処理対象のポイントに対して十分に近い距離に複数のポイントが存在する場合のみ処理対象のポイントを消失ポイントでないと判定するようにしてもよい。
 また、例えば、処理対象のポイントからの距離に応じて、ポイント数の閾値を変えるようにしてもよい。例えば、処理対象のポイントと同位置にポイントが1つ以上存在すれば、処理対象ポイントを代替可能であり、処理対象のポイントが消失ポイントでないと判定することができるとしてもよい。これに対して、処理対象のポイントと同位置でない場合(近傍の所定の範囲内の場合)、複数のポイントが存在する場合のみ、処理対象ポイントが代替可能で、処理対象のポイントが消失ポイントでないと判定することができるとしてもよい。このように、処理対象ポイントから遠ければ遠い程、処理対象ポイントが消失ポイントでないと判定するのに多くのポイントが必要であるようにしてもよい。
 また、このような条件を複数適用するようにしてもよい。つまり、複数の距離に対して、それぞれ、処理対象ポイントが消失ポイントでないと判定することができるポイント数の閾値を設定するようにしてもよい。例えば、上述のように、距離0の場合、1個、少し離れると2個、さらに離れると3個、といったように、処理対象ポイントが消失ポイントでないと判定するために、距離に応じた数の近傍のポイントが必要になるようにしてもよい。
 このようにすることにより、より3次元空間上の構成に応じた条件で消失ポイントの判定を行い、オキュパンシーマップを生成することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 さらに、例えば、消失点判定部154は、処理対象のポイントの位置に応じた閾値を用いて、消失ポイントであるか否か判定するようにしてもよい。つまり、上述の距離や数の閾値が、処理対象ポイントの位置に応じて可変であるようにしてもよい。例えば、パッチの内側の(境界付近でない)ポイントについては、比較的厳しい条件(より消失ポイントと判定されにくい条件、例えば、距離の閾値が比較的大きく、数の閾値が比較的小さい等)により消失ポイントの判定が行われるようにし、パッチの境界付近のポイントについては、比較的緩い条件(より消失ポイントと判定されやすい条件、例えば、距離の閾値が比較的小さく、数の閾値が比較的大きい)により消失ポイントの判定が行われるようにしてもよい。
 このようにすることにより、よりポイントクラウドの構成に応じた条件で消失ポイントの判定を行い、オキュパンシーマップを生成することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 また、消失ポイントの判定の条件は、上述した距離と数以外であってもよい。例えば、方向(向き)も条件に含まれるようにしてもよい。つまり、例えば処理対象のポイントからの全て方向(向き)において距離や数の条件が均一でなく、方向(向き)によってそれらの条件に偏りがあるようにしてもよい。例えば、ある方向に対しては、他の方向の場合と比べて、より近くにより多くのポイントが存在しないと消失ポイントであると判定されるようにしてもよい。また、その逆でもよい。
 また、消失ポイントの判定において、その他の任意の情報を考慮してもよい。例えば、ポイントクラウドのテクスチャ(アトリビュートデータ)を考慮してもよい。例えば、色や模様等に応じて、消失ポイントの判定の条件(例えば距離や数の閾値等)を制御するようにしてもよい。例えば、ストライプ状の模様の部分のポイントを処理対象とする場合、その模様の長手方向に対しては、その他の方向に比べて、より遠くにより少ないのポイントが存在すれば消失ポイントであると判定されないようにしてもよい。また、その逆でもよい。
 以上のような消失ポイントの判定において、例えば、消失点判定部154は、オキュパンシーマップのパッチの割合が少ない領域の値をパッチが無いことを示す値にするフィルタ処理(つまり、固定フィルタを用いたフィルタ処理)が施されていないオキュパンシーマップにおいてパッチが有ることを示す値が設定され、そのフィルタ処理が施されたオキュパンシーマップにおいてパッチが無いことを示す値が設定される領域の各ポイントについて、そのポイントが消失ポイントであるか否かを判定するようにしてもよい。つまり、消失点判定部154が、2Dto3D変換部152から供給されるオキュパンシーマップと、2Dto3D変換部153から供給されるオキュパンシーマップとを比較し、値が互いに異なる領域、すなわち、固定フィルタを用いたフィルタ処理によりパッチが無いことを示す値が設定された領域についてのみ、上述の消失ポイントの判定を行うようにしてもよい。
 消失ポイントは、オキュパンシーマップに対して固定フィルタを用いたフィルタ処理を施すことにより生じる。つまり、このフィルタ処理が施されていないオキュパンシーマップを用いて抽出されたパッチには、ポイントクラウドの復元可能なポイントが全て含まれており、このフィルタ処理により値が変化した領域、すなわち、パッチがあることを示す値からパッチが無いことを示す値に更新された領域にのみ消失ポイントが存在する。したがって、このような領域のポイントについてのみ上述の消失ポイントの判定を行えば良い。このようにすることにより、全ての領域に対して処理を行う場合と比較して、消失ポイントの判定に関する処理の負荷の増大を抑制することができる。
 例えば、2Dto3D変換部153から図1の領域10毎のオキュパンシーマップ(4x4画素精度のオキュパンシーマップ)が供給されるとする。これに対して、2Dto3D変換部152からは、図2のようなオキュパンシーマップ(固定フィルタを用いたフィルタ処理が行われた4x4画素精度のオキュパンシーマップ)が供給されるとする。これらのオキュパンシーマップを比較すると、図4のように、グレーの領域10が差分(値が異なる領域10)として検出される。消失点判定部154は、このグレーの領域10について、上述のような消失ポイントの判定を行う。
 例えば、この差分の領域10(グレーの領域10)をBとし、その領域のポイントをbとする。また、固定フィルタを用いたフィルタ処理が施されたオキュパンシーマップのパッチがあることを示す値の領域10をCとする。消失ポイントであるか否かの判定に用いられる、処理対象のポイントからの距離の閾値をrとし、ポイント数の閾値をmとする。そして、以下の式を満たすか否かによって消失ポイントの判定を行う。
 true or false = f(b,C,r,m,dist_mode)
 関数f()は、ポイントbからの距離r以下の範囲にCのポイントがm個移行存在する場合true(例えば「1」)を返し、それ以外の場合false(例えば「0」)を返す。例えば、r=0かつm=1の場合、ポイントbと同位置に1個以上のポイントが存在するときtrueが返される。
 なお、処理対象の領域Bに複数のポイントが存在する場合、各ポイントについて関数f()を用いた判定が行われ、その統計値に基づいて、領域Bの判定結果が導出されるようにしてもよい。例えば、trueとfalseの多い方が領域Bの判定結果とされてもよい。また、このような統計値導出の際に、ポイント毎に判定結果に重み付けが行われてもよい。例えば、ポイントの位置やアトリビュートデータ等に基づいてこのような重み付けが行われてもよい。
 消失点判定部154は、以上のような消失ポイントの判定結果をOMap更新部155に供給し得る。また、消失点判定部154は、フィルタ処理が施されたオキュパンシーマップ、すなわち、2Dto3D変換部152から供給されるオキュパンシーマップをOMap更新部155に供給し得る。
 OMap更新部155は、オキュパンシーマップの更新に関する処理を行う。例えば、OMap更新部155は、消失点判定部154から供給される消失ポイントの判定結果とオキュパンシーマップを取得し得る。また、OMap更新部155は、その取得した判定結果に基づいて、その取得したオキュパンシーマップを更新し得る。つまり、OMap更新部155は、3次元空間におけるポイントの位置関係に応じてオキュパンシーマップを生成することができる。
 例えば、OMap更新部155は、オキュパンシーマップの、判定結果において消失ポイントを含むと判定された領域10の値を、パッチがあることを示す値にセットする。つまり、OMap更新部155は、固定フィルタを用いたフィルタ処理が施されたオキュパンシーマップのその領域10の値を更新する。
 また、例えば、OMap更新部155は、オキュパンシーマップの、判定結果において消失ポイントを含むと判定された領域10について、固定フィルタを用いたフィルタ処理を適用しないようにセットする。つまり、OMap更新部155は、固定フィルタを用いたフィルタ処理が施されたオキュパンシーマップのその領域10の値を更新する。
 例えば、上述の式を用いた判定において、その判定結果がtrueの場合、処理対象のポイントの代わりとなる他のポイントがCに存在するので、処理対象のポイントは消失してもポイントクラウドの品質に与える影響は少ない。そのため、OMap更新部155は、この領域Bに対して、パッチが無いことを示す値を設定する。例えば、OMap更新部155は、この領域Bに対して、固定フィルタを用いたフィルタ処理が適用されるようにする。換言するに、この領域Bについては、固定フィルタを用いたフィルタ処理が施されたオキュパンシーマップが採用され、その更新が行われない。
 これに対して、falseの場合、処理対象のポイントの代わりとなる他のポイントがCに存在しないので、処理対象のポイントが消失するとポイントクラウドの品質に与える影響は大きいおそれがある。そのため、OMap更新部155は、この領域Bに対して、パッチがあることを示す値を設定する。例えば、OMap更新部155は、この領域Bに対して、固定フィルタを用いたフィルタ処理が適用外とする。換言するに、この領域Bについては、固定フィルタを用いたフィルタ処理が施されたオキュパンシーマップの更新が行われる。
 このようにすることにより、複数のパッチの境界の重なりを考慮して、消失ポイントを判定することができるので、ポイントクラウドにおけるポイントの消失の増大を抑制するようにオキュパンシーマップを生成することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 OMap更新部155は、以上のように更新したオキュパンシーマップを2Dto3D変換部152に供給し得る。2Dto3D変換部152は、この更新されたオキュパンシーマップを取得すると、その更新されたオキュパンシーマップを用いて上述の変換処理を行う。
 このように更新結果をフィードバックすることにより、オキュパンシーマップが再帰的に更新され、最終的に消失点判定部154において消失ポイントが検出されなくなる。つまり、OMap更新部155が消失点判定部154から供給されるオキュパンシーマップを更新する必要が無くなる。つまり、OMap更新部155は、ポイントクラウドの主観的品質の低減を抑制することができるオキュパンシーマップを生成することができる。
 OMap更新部155は、このようにオキュパンシーマップの更新が終了すると、そのオキュパンシーマップをフィルタリングされたオキュパンシーマップとして符号化部132(図6)に供給し得る。このオキュパンシーマップは、符号化部132において符号化され、マルチプレクサ117において他の符号化データと多重化され、ビットストリームとして符号化装置100の外部に出力され得る。
  <符号化処理の流れ>
 この符号化装置100により実行される符号化処理の流れの例を、図8のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100のパッチ分解部111は、ステップS101において、3Dデータ(例えばポイントクラウド)を小領域(コネクションコンポーネント)に分解し、各小領域のデータを2次元平面(投影面)に投影し、ジオメトリデータのパッチやアトリビュートデータのパッチを生成する。
 ステップS102において、補助パッチ情報符号化部113は、ステップS101の処理により得られた補助パッチ情報を符号化する。ステップS103において、パッキング部112は、ステップS101の処理により生成された各パッチをパッキングし、ジオメトリビデオフレームやカラービデオフレームを生成する。また、この処理において、パッキング部112は、オキュパンシーマップを生成する。
 ステップS104において、ビデオ符号化部114は、ステップS103の処理により得られたジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。ステップS105において、ビデオ符号化部115は、ステップS103の処理により得られたカラービデオフレームを、2次元画像用の符号化方法により符号化する。ステップS106において、OMap符号化部116は、オキュパンシーマップ符号化処理を実行し、ステップS103の処理により得られたオキュパンシーマップを符号化する。
 ステップS107において、マルチプレクサ117は、以上のように生成された各種情報を多重化し、これらの情報を含むビットストリームを生成する。ステップS108において、マルチプレクサ117は、ステップS107の処理により生成したビットストリームを符号化装置100の外部に出力する。ステップS108の処理が終了すると、符号化処理が終了する。
  <オキュパンシーマップ符号化処理の流れ>
 次に、図8のステップS106において実行されるオキュパンシーマップ符号化処理の流れの例を、図9のフローチャートを参照して説明する。
 オキュパンシーマップ符号化処理が開始されると、OMap符号化部116のフィルタリング処理部131は、ステップS131において、オキュパンシーマップフィルタリング処理を実行し、固定フィルタを用いてオキュパンシーマップをフィルタリングする。
 ステップS132において、符号化部132は、ステップS131において固定フィルタを用いてフィルタリングされたオキュパンシーマップを符号化し、オキュパンシーマップの符号化データを生成する。ステップS132の処理が終了すると、処理は図8に戻る。
  <オキュパンシーマップフィルタリング処理の流れ>
 次に、図9のステップS131において実行されるオキュパンシーマップフィルタリング処理の流れの例を、図10のフローチャートを参照して説明する。
 オキュパンシーマップフィルタリング処理が開始されると、フィルタリング処理部131の2Dto3D変換部153は、ステップS161において、フィルタリング前のオキュパンシーマップを用いてジオメトリビデオフレームからパッチを抽出し、そのパッチに含まれる各ポイントの2次元座標を3次元座標に変換し、ポイントクラウドのジオメトリデータを復元する。
 ステップS162において、OMapフィルタリング適用部151は、そのオキュパンシーマップに対して固定フィルタを用いたフィルタ処理を行う。
 ステップS163において、2Dto3D変換部152は、ステップS162の処理により生成された、固定フィルタを用いたフィルタ処理が施されたオキュパンシーマップ、または、後述するステップS166の処理により更新されたオキュパンシーマップを用いて、ジオメトリビデオフレームからパッチを抽出し、そのパッチに含まれる各ポイントの2次元座標を3次元座標に変換し、ポイントクラウドのジオメトリデータを復元する。
 ステップS164において、フィルタリング前のオキュパンシーマップとステップS162の処理によりフィルタリングされたオキュパンシーマップとを用いて、消失ポイントの候補(消失ポイントの判定を行う領域)を検出する。
 ステップS165において、消失点判定部154は、復元されたジオメトリデータを用いて、消失ポイントの候補となる処理対象のポイントの近傍のポイントに基づいて、消失ポイントを検出する(つまり、各候補について消失ポイントであるか否かを判定する)。
 ステップS166において、OMap更新部155は、ステップS162の処理により生成されたフィルタリングされたオキュパンシーマップ(更新されたオキュパンシーマップも含む)について、ステップS165の処理により得られる消失ポイントであるか否かを判定結果に基づいて更新する。
 ステップS167において、OMap更新部155は、ステップS166の処理によりオキュパンシーマップが更新されたか否かを判定する。更新されたと判定された場合、処理はステップS163に戻る。つまり、その後、その更新されたオキュパンシーマップを用いて、ステップS163以降の処理が実行される。
 以上のようにステップS163乃至ステップS167の各処理が必要に応じて繰り返し実行される。そして、ステップS167においてオキュパンシーマップが更新されなかったと判定された場合、オキュパンシーマップフィルタリング処理が終了し、処理は図9に戻る。
 以上のように各処理を実行することにより、符号化装置100は、ポイントクラウドの3次元空間上の構成を考慮して、他のパッチとの重なりを考慮しながらオキュパンシーマップを生成(更新)することができる。これにより、符号化装置100は、消失ポイントの発生を抑制するようにオキュパンシーマップを生成(更新)し、適用することができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
 <3.第2の実施の形態>
  <ビットストリームの復号>
 以上のように生成されたビットストリームを復号する際は、そのビットストリームに含まれるオキュパンシーマップを用いてアンパッキングを行い、3Dデータを生成(構築)すればよい。このようにすることにより、複数のパッチの境界の重なりを考慮してフィルタリングされたオキュパンシーマップを用いてアンパッキングを行うことができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
  <復号装置>
 図11は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図11に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3Dデータを構築する装置(ビデオベースドアプローチを適用した復号装置)である。この復号装置200は、図5の符号化装置100に対応する復号装置であり、符号化装置100により生成されたビットストリームを復号して3Dデータを構築することができる。つまり、復号装置200は、消失ポイントの発生を抑制するように生成されたオキュパンシーマップを用いてポイントクラウドを構築することができる。
 なお、図11においては、処理部やデータの流れ等の主なものを示しており、図11に示されるものが全てとは限らない。つまり、復号装置200において、図11においてブロックとして示されていない処理部が存在したり、図11において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図11に示されるように復号装置200は、デマルチプレクサ211、補助パッチ情報復号部212、ビデオ復号部213、ビデオ復号部214、OMap復号部215、アンパッキング部216、および構築部217を有する。
 デマルチプレクサ211は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ211は、復号装置200に入力されるビットストリームを取得することができる。このビットストリームは、例えば、符号化装置100より供給される。
 また、デマルチプレクサ211は、このビットストリームを逆多重化することができる。例えば、デマルチプレクサ211は、逆多重化によりビットストリームから補助パッチ情報の符号化データを抽出することができる。また、デマルチプレクサ211は、逆多重化によりビットストリームからジオメトリビデオフレームの符号化データを抽出することができる。さらに、デマルチプレクサ211は、逆多重化によりビットストリームからカラービデオフレームの符号化データを抽出することができる。また、デマルチプレクサ211は、逆多重化によりビットストリームからオキュパンシーマップの符号化データを抽出することができる。
 さらに、デマルチプレクサ211は、抽出したデータを後段の処理部に供給することができる。例えば、デマルチプレクサ211は、抽出した補助パッチ情報の符号化データを補助パッチ情報復号部212に供給することができる。また、デマルチプレクサ211は、抽出したジオメトリビデオフレームの符号化データをビデオ復号部213に供給することができる。さらに、デマルチプレクサ211は、抽出したカラービデオフレームの符号化データをビデオ復号部214に供給することができる。また、デマルチプレクサ211は、抽出したオキュパンシーマップの符号化データをOMap復号部215に供給することができる。
 また、デマルチプレクサ211は、逆多重化により、ビットストリームからパッキングに関する制御情報を抽出し、それをアンパッキング部216に供給することができる。
 補助パッチ情報復号部212は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部212は、デマルチプレクサ211から供給される補助パッチ情報の符号化データを取得することができる。また、補助パッチ情報復号部212は、その符号化データを復号し、補助パッチ情報を生成することができる。さらに、補助パッチ情報復号部212は、その補助パッチ情報を構築部217に供給することができる。
 ビデオ復号部213は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部213は、デマルチプレクサ211から供給されるジオメトリビデオフレームの符号化データを取得することができる。また、ビデオ復号部213は、その符号化データを復号し、ジオメトリビデオフレームを生成することができる。さらに、ビデオ復号部213は、そのジオメトリビデオフレームを、アンパッキング部216に供給することができる。
 ビデオ復号部214は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部214は、デマルチプレクサ211から供給されるカラービデオフレームの符号化データを取得することができる。また、ビデオ復号部214は、その符号化データを復号し、カラービデオフレームを生成することができる。さらに、ビデオ復号部214は、そのカラービデオフレームを、アンパッキング部216に供給することができる。
 OMap復号部215は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部215は、デマルチプレクサ211から供給されるオキュパンシーマップの符号化データを取得することができる。また、OMap復号部215は、その符号化データを復号し、オキュパンシーマップを生成することができる。さらに、OMap復号部215は、そのオキュパンシーマップを、アンパッキング部216に供給することができる。このオキュパンシーマップは、符号化装置100において、必要に応じて、第1の実施の形態において説明したように更新されている。
 アンパッキング部216は、アンパッキングに関する処理を行う。例えば、アンパッキング部216は、デマルチプレクサ211から供給されるパッキングに関する制御情報を取得することができる。また、アンパッキング部216は、ビデオ復号部213から供給されるジオメトリビデオフレームを取得することができる。さらに、アンパッキング部216は、ビデオ復号部214から供給されるカラービデオフレームを取得することができる。また、アンパッキング部216は、OMap復号部215から供給されるオキュパンシーマップを取得することができる。
 さらに、アンパッキング部216は、これらの取得した制御情報やオキュパンシーマップに基づいてジオメトリビデオフレームやカラービデオフレームをアンパッキングし、ジオメトリデータやアトリビュートデータのパッチ等を抽出することができる。なお、このオキュパンシーマップは、上述したように、必要に応じて、第1の実施の形態において説明したように更新されている。つまり、このオキュパンシーマップは、消失ポイントの発生を抑制するように生成(更新)されている。また、アンパッキング部216は、そのジオメトリデータやアトリビュートデータのパッチ等を3D再構築部217に供給することができる。
 構築部217は、3Dデータの構築に関する処理を行う。例えば、構築部217は、補助パッチ情報復号部212から供給される補助パッチ情報を取得することができる。また、構築部217は、アンパッキング部216から供給されるジオメトリデータのパッチ等を取得することができる。さらに、構築部217は、アンパッキング部216から供給されるアトリビュートデータのパッチ等を取得することができる。また、構築部217は、アンパッキング部216から供給されるオキュパンシーマップを取得することができる。
 さらに、構築部217は、それらの情報を用いて3Dデータ(例えばポイントクラウド(Point Cloud))を構築する。構築部217は、このような処理により得られた3Dデータを復号装置200の外部に出力する。この3Dデータは、例えば、表示部に供給されてその画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
 なお、これらの処理部(デマルチプレクサ211乃至構築部217)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
 以上のように、アンパッキング部216は、符号化装置100から供給されたオキュパンシーマップを用いてパッチを抽出することにより、消失ポイントの発生を抑制するようにアンパッキングを行うことができる。したがって、復号装置200は、主観的品質の低減を抑制するようにポイントクラウドを構築することができる。
  <復号処理の流れ>
 このような復号装置200により実行される復号処理の流れの例を、図12のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200のデマルチプレクサ211は、ステップS201において、ビットストリームを逆多重化する。ステップS202において、補助パッチ情報復号部212は、ステップS201の処理によりビットストリームから抽出された補助パッチ情報の符号化データを復号する。
 ステップS203において、ビデオ復号部213は、ステップS201の処理によりビットストリームから抽出されたジオメトリビデオフレームの符号化データを復号する。ステップS204において、ビデオ復号部214は、ステップS201の処理によりビットストリームから抽出されたカラービデオフレームの符号化データを復号する。ステップS205において、OMap復号部215は、ステップS201の処理によりビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。
 ステップS206において、アンパッキング部216は、パッキングに関する制御情報やオキュパンシーマップに基づいて、ジオメトリビデオフレームやカラービデオフレームをそれぞれアンパッキングする。
 ステップS207において、構築部217は、ステップS202の処理により生成された補助パッチ情報と、ステップS206の処理により生成された各種情報とに基づいて、例えばポイントクラウド等の3Dデータを構築する。ステップS207の処理が終了すると復号処理が終了する。
 以上のように、各処理を実行することにより、復号装置200は、消失ポイントの発生を抑制するようにアンパッキングを行うことができ、主観的品質の低減を抑制するようにポイントクラウドを構築することができる。
 <4.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図13は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図13に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 また、以上においては、本技術の適用例として符号化装置100および復号装置200について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部、ポイントクラウド等は、例えば、ゲーム、拡張現実(AR(Augmented Reality))、仮想現実(VR(Virtual Reality))、自動運転、交通監視、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、各分野における用途も任意である。例えば、Volumetric Videoや6DoF(Degree of Freedom)メディア等の制作にも利用され得る。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連付けられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間における前記ポイントの位置関係に応じて生成する生成部
 を備える情報処理装置。
 (2) 3次元空間における近傍のポイントとの位置関係に応じて、前記ポイントが、前記オキュパンシーマップを用いて前記フレーム画像より前記投影画像を抽出する際に消失するポイントである消失ポイントであるか否かを判定する判定部をさらに備え、
 前記生成部は、前記判定部による判定結果に基づいて、前記オキュパンシーマップの前記局所の値を設定する
 (1)に記載の情報処理装置。
 (3) 前記生成部は、前記判定部により前記消失ポイントであると判定された前記ポイントを含む前記局所の値を、前記投影画像が有ることを示す値に設定する
 (2)に記載の情報処理装置。
 (4) 前記生成部は、前記判定部により前記消失ポイントであると判定された前記ポイントを含む前記局所について、前記オキュパンシーマップの前記投影画像の割合が少ない前記局所の値を前記投影画像が無いことを示す値にするフィルタ処理の適用を禁止する
 (2)または(3)に記載の情報処理装置。
 (5) 前記判定部は、前記オキュパンシーマップの前記投影画像の割合が少ない前記局所の値を前記投影画像が無いことを示す値にするフィルタ処理が施されていない前記オキュパンシーマップにおいて前記投影画像が有ることを示す値が設定され、前記フィルタ処理が施された前記オキュパンシーマップにおいて前記投影画像が無いことを示す値が設定される前記局所の各ポイントについて、前記ポイントが消失ポイントであるか否かを判定する
 (2)乃至(4)のいずれかに記載の情報処理装置。
 (6) 前記判定部は、前記ポイントと前記近傍のポイントとの距離に応じて、前記ポイントが消失ポイントであるか否かを判定する
 (2)乃至(5)のいずれかに記載の情報処理装置。
 (7) 前記判定部は、前記ポイントと前記近傍のポイントとの距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
 (6)に記載の情報処理装置。
 (8) 前記判定部は、前記ポイントと前記近傍のポイントとの3次元空間における距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
 (7)に記載の情報処理装置。
 (9) 前記判定部は、前記ポイントと前記近傍のポイントとの投影面における距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
 (7)または(8)に記載の情報処理装置。
 (10) 前記判定部は、前記ポイントと前記近傍のポイントとの投影面の法線方向における距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
 (7)乃至(9)のいずれかに記載の情報処理装置。
 (11) 前記判定部は、前記ポイントからの距離が所定の閾値以下のポイントの数が所定の閾値以上である場合、前記ポイントが消失ポイントでないと判定する
 (6)乃至(10)のいずれかに記載の情報処理装置。
 (12) 前記判定部は、前記ポイントの位置に応じた前記閾値を用いて、前記消失ポイントであるか否か判定する
 (11)に記載の情報処理装置。
 (13) 前記フィルタ処理が施されていない前記オキュパンシーマップ、および、前記フィルタ処理が施された前記オキュパンシーマップのそれぞれを用いて、フレーム画像より前記投影画像を抽出し、抽出した前記投影画像に含まれる各ポイントの2次元座標を3次元座標に変換する変換部をさらに備え、
 前記判定部は、前記変換部により導出された、前記フィルタ処理が施されていない前記オキュパンシーマップを用いて抽出された前記投影画像に含まれる各ポイントの3次元座標と、前記フィルタ処理が施された前記オキュパンシーマップを用いて抽出された前記投影画像に含まれる各ポイントの3次元座標とを比較することにより、前記フィルタ処理が施されていない前記オキュパンシーマップにおいて前記投影画像が有ることを示す値が設定され、前記フィルタ処理が施された前記オキュパンシーマップにおいて前記投影画像が無いことを示す値が設定される前記局所を検出し、検出した前記局所の各ポイントについて、前記消失ポイントであるか否かを判定する
 (5)乃至(12)のいずれかに記載の情報処理装置。
 (14) 前記変換部は、前記ポイントクラウドに対してスムーシング処理を行う
 (13)に記載の情報処理装置。
 (15) 前記オキュパンシーマップに対して前記フィルタ処理を施すフィルタ処理部をさらに備え、
 前記変換部は、前記フィルタ処理が施されていない前記オキュパンシーマップを用いて前記投影画像を前記フレーム画像より抽出し、抽出した前記投影画像に含まれる各ポイントの2次元座標を3次元座標に変換し、さらに、前記フィルタ処理部により前記フィルタ処理が施された前記オキュパンシーマップを用いて前記投影画像を前記フレーム画像より抽出し、抽出した前記投影画像に含まれる各ポイントの2次元座標を3次元座標に変換する
 (13)または(14)に記載の情報処理装置。
 (16) 前記局所は、前記ポイントの解像度よりも低精度である
 (1)乃至(15)のいずれかに記載の情報処理装置。
 (17) 前記生成部により生成された前記オキュパンシーマップを含むフレーム画像からなる動画像を符号化し、前記オキュパンシーマップの符号化データを生成するオキュパンシーマップ符号化部をさらに備える
 (1)乃至(16)のいずれかに記載の情報処理装置。
 (18) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間における前記ポイントの位置関係に応じて生成する
 情報生成方法。
 (19) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間における前記ポイントの位置関係に応じて生成された、前記ポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像から前記ポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出する抽出部と、
 前記抽出部により抽出された前記ジオメトリデータの投影画像および前記アトリビュートデータの投影画像を用いて前記ポイントクラウドを生成する生成部と
 を備える情報処理装置。
 (20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間における前記ポイントの位置関係に応じて生成された、前記ポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像から前記ポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出し、
 抽出された前記ジオメトリデータの投影画像および前記アトリビュートデータの投影画像を用いて前記ポイントクラウドを生成する
 情報生成方法。
 100 符号化装置, 111 パッチ分解部, 112 パッキング部, 113 補助パッチ情報符号化部, 114 ビデオ符号化部, 115 ビデオ符号化部, 116 OMap符号化部, 117 マルチプレクサ, 131 フィルタリング処理部, 132 符号化部, 151 OMapフィルタリング適用部, 152 2Dto3D変換部, 153 2Dto3D変換部, 154 消失点判定部, 155 OMap更新部, 200 復号装置, 211 デマルチプレクサ, 212 補助パッチ情報復号部, 213 ビデオ復号部, 214 ビデオ復号部, 215 OMap復号部, 216 アンパッキング部, 217 構築部

Claims (20)

  1.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間における前記ポイントの位置関係に応じて生成する生成部
     を備える情報処理装置。
  2.  3次元空間における近傍のポイントとの位置関係に応じて、前記ポイントが、前記オキュパンシーマップを用いて前記フレーム画像より前記投影画像を抽出する際に消失するポイントである消失ポイントであるか否かを判定する判定部をさらに備え、
     前記生成部は、前記判定部による判定結果に基づいて、前記オキュパンシーマップの前記局所の値を設定する
     請求項1に記載の情報処理装置。
  3.  前記生成部は、前記判定部により前記消失ポイントであると判定された前記ポイントを含む前記局所の値を、前記投影画像が有ることを示す値に設定する
     請求項2に記載の情報処理装置。
  4.  前記生成部は、前記判定部により前記消失ポイントであると判定された前記ポイントを含む前記局所について、前記オキュパンシーマップの前記投影画像の割合が少ない前記局所の値を前記投影画像が無いことを示す値にするフィルタ処理の適用を禁止する
     請求項2に記載の情報処理装置。
  5.  前記判定部は、前記オキュパンシーマップの前記投影画像の割合が少ない前記局所の値を前記投影画像が無いことを示す値にするフィルタ処理が施されていない前記オキュパンシーマップにおいて前記投影画像が有ることを示す値が設定され、前記フィルタ処理が施された前記オキュパンシーマップにおいて前記投影画像が無いことを示す値が設定される前記局所の各ポイントについて、前記ポイントが消失ポイントであるか否かを判定する
     請求項2に記載の情報処理装置。
  6.  前記判定部は、前記ポイントと前記近傍のポイントとの距離に応じて、前記ポイントが消失ポイントであるか否かを判定する
     請求項2に記載の情報処理装置。
  7.  前記判定部は、前記ポイントと前記近傍のポイントとの距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
     請求項6に記載の情報処理装置。
  8.  前記判定部は、前記ポイントと前記近傍のポイントとの3次元空間における距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
     請求項7に記載の情報処理装置。
  9.  前記判定部は、前記ポイントと前記近傍のポイントとの投影面における距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
     請求項7に記載の情報処理装置。
  10.  前記判定部は、前記ポイントと前記近傍のポイントとの投影面の法線方向における距離が所定の閾値以下である場合、前記ポイントが消失ポイントでないと判定する
     請求項7に記載の情報処理装置。
  11.  前記判定部は、前記ポイントからの距離が所定の閾値以下のポイントの数が所定の閾値以上である場合、前記ポイントが消失ポイントでないと判定する
     請求項6に記載の情報処理装置。
  12.  前記判定部は、前記ポイントの位置に応じた前記閾値を用いて、前記消失ポイントであるか否か判定する
     請求項11に記載の情報処理装置。
  13.  前記フィルタ処理が施されていない前記オキュパンシーマップ、および、前記フィルタ処理が施された前記オキュパンシーマップのそれぞれを用いて、フレーム画像より前記投影画像を抽出し、抽出した前記投影画像に含まれる各ポイントの2次元座標を3次元座標に変換する変換部をさらに備え、
     前記判定部は、前記変換部により導出された、前記フィルタ処理が施されていない前記オキュパンシーマップを用いて抽出された前記投影画像に含まれる各ポイントの3次元座標と、前記フィルタ処理が施された前記オキュパンシーマップを用いて抽出された前記投影画像に含まれる各ポイントの3次元座標とを比較することにより、前記フィルタ処理が施されていない前記オキュパンシーマップにおいて前記投影画像が有ることを示す値が設定され、前記フィルタ処理が施された前記オキュパンシーマップにおいて前記投影画像が無いことを示す値が設定される前記局所を検出し、検出した前記局所の各ポイントについて、前記消失ポイントであるか否かを判定する
     請求項5に記載の情報処理装置。
  14.  前記変換部は、前記ポイントクラウドに対してスムーシング処理を行う
     請求項13に記載の情報処理装置。
  15.  前記オキュパンシーマップに対して前記フィルタ処理を施すフィルタ処理部をさらに備え、
     前記変換部は、前記フィルタ処理が施されていない前記オキュパンシーマップを用いて前記投影画像を前記フレーム画像より抽出し、抽出した前記投影画像に含まれる各ポイントの2次元座標を3次元座標に変換し、さらに、前記フィルタ処理部により前記フィルタ処理が施された前記オキュパンシーマップを用いて前記投影画像を前記フレーム画像より抽出し、抽出した前記投影画像に含まれる各ポイントの2次元座標を3次元座標に変換する
     請求項13に記載の情報処理装置。
  16.  前記局所は、前記ポイントの解像度よりも低精度である
     請求項1に記載の情報処理装置。
  17.  前記生成部により生成された前記オキュパンシーマップを含むフレーム画像からなる動画像を符号化し、前記オキュパンシーマップの符号化データを生成するオキュパンシーマップ符号化部をさらに備える
     請求項1に記載の情報処理装置。
  18.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを、3次元空間における前記ポイントの位置関係に応じて生成する
     情報生成方法。
  19.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間における前記ポイントの位置関係に応じて生成された、前記ポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像から前記ポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出する抽出部と、
     前記抽出部により抽出された前記ジオメトリデータの投影画像および前記アトリビュートデータの投影画像を用いて前記ポイントクラウドを生成する生成部と
     を備える情報処理装置。
  20.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの3次元空間における前記ポイントの位置関係に応じて生成された、前記ポイントクラウドの2次元平面への投影画像の有無をフレーム画像の局所毎に示すオキュパンシーマップを用いて、フレーム画像から前記ポイントクラウドのジオメトリデータの投影画像と、アトリビュートデータの投影画像とを抽出し、
     抽出された前記ジオメトリデータの投影画像および前記アトリビュートデータの投影画像を用いて前記ポイントクラウドを生成する
     情報生成方法。
PCT/JP2019/050472 2019-03-15 2019-12-24 情報処理装置および情報生成方法 WO2020188932A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/437,051 US11917201B2 (en) 2019-03-15 2019-12-24 Information processing apparatus and information generation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962819149P 2019-03-15 2019-03-15
US62/819,149 2019-03-15

Publications (1)

Publication Number Publication Date
WO2020188932A1 true WO2020188932A1 (ja) 2020-09-24

Family

ID=72519079

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/050472 WO2020188932A1 (ja) 2019-03-15 2019-12-24 情報処理装置および情報生成方法

Country Status (2)

Country Link
US (1) US11917201B2 (ja)
WO (1) WO2020188932A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114097247A (zh) * 2019-07-04 2022-02-25 Lg 电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备、以及点云数据接收方法
US20210211703A1 (en) * 2020-01-07 2021-07-08 Apple Inc. Geometry information signaling for occluded points in an occupancy map video
WO2021186103A1 (en) * 2020-03-19 2021-09-23 Nokia Technologies Oy A method, an apparatus and a computer program product for volumetric video encoding and video decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422565B1 (en) * 2017-08-18 2022-08-23 Amazon Technologies, Inc. System for robot movement that is informed by cultural conventions
US10807236B2 (en) * 2018-04-30 2020-10-20 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for multimodal mapping and localization
US20210281880A1 (en) * 2018-07-11 2021-09-09 Telefonaktiebolaget Lm Ericsson (Publ) Video Based Point Cloud Codec Bitstream Specification
US11367224B2 (en) * 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
CN113302663A (zh) * 2019-01-14 2021-08-24 华为技术有限公司 点云译码中的有效patch旋转

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAO, KEMING ET AL.: "PATCH-AWARE AVERAGING FILTER FOR SCALING IN POINT CLOUD COMPRESSION", 2018 IEEE GLOBAL CONFERENCE ON SIGNAL AND INFORMATION PROCESSING (GLOBALSIP, 26 November 2018 (2018-11-26), pages 390 - 394, XP033520649 *
SCHWARZ, SEBASTIAN ET AL.: "Emerging MPEG Standards for Point Cloud Compression", IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS, vol. 9, no. 1, 10 December 2018 (2018-12-10), pages 133 - 148, XP011714044, DOI: 10.1109/JETCAS.2018.2885981 *

Also Published As

Publication number Publication date
US11917201B2 (en) 2024-02-27
US20220182670A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
JP7327166B2 (ja) 画像処理装置および方法
JP7384159B2 (ja) 画像処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
US11699248B2 (en) Image processing apparatus and method
WO2019198521A1 (ja) 画像処理装置および方法
WO2020188932A1 (ja) 情報処理装置および情報生成方法
JP7331852B2 (ja) 画像処理装置および方法
CN112425175A (zh) 图像处理装置和方法
JP7396302B2 (ja) 画像処理装置および方法
JP2022003716A (ja) 画像処理装置および方法
JP2022527882A (ja) ポイントクラウドの処理
US20220303578A1 (en) Image processing apparatus and method
WO2022201787A1 (ja) 画像処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
CN112673635A (zh) 处理点云
JP2022036353A (ja) 画像処理装置および方法
CN114341941A (zh) 编解码点云的传递格式
CN113906477A (zh) 信息处理装置和方法

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: 19919647

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19919647

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP