WO2020147379A1 - Point cloud filtering method and device and storage medium - Google Patents

Point cloud filtering method and device and storage medium Download PDF

Info

Publication number
WO2020147379A1
WO2020147379A1 PCT/CN2019/115778 CN2019115778W WO2020147379A1 WO 2020147379 A1 WO2020147379 A1 WO 2020147379A1 CN 2019115778 W CN2019115778 W CN 2019115778W WO 2020147379 A1 WO2020147379 A1 WO 2020147379A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
point
current
adjacent
points
Prior art date
Application number
PCT/CN2019/115778
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Publication of WO2020147379A1 publication Critical patent/WO2020147379A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Definitions

  • This application relates to the field of data processing technology, and in particular to a point cloud filtering method, device and storage medium.
  • the collection of point clouds has become more and more convenient, and the quality of the collected point clouds has become higher and higher, and the scale has become larger.
  • the collected point cloud needs to be segmented to obtain multiple point cloud blocks, and a point cloud occupancy map is generated from the multiple point cloud blocks, and the point cloud occupancy map is down-sampled.
  • the point cloud geometry is reconstructed through the point cloud occupancy map after down-sampling processing to obtain the reconstructed point cloud.
  • the point cloud geometry is reconstructed through the point cloud occupancy map after down-sampling processing to obtain the reconstructed point cloud.
  • each point cloud block will have reconstruction error, so it will increase the distance between two adjacent point cloud blocks in the reconstructed point cloud, so that the two adjacent point cloud There are gaps between the blocks. Since defects such as noise points and gaps will reduce the quality of the reconstructed point cloud, it is necessary to filter the reconstructed point cloud to remove the defects such as noise points and gaps to improve the quality of the reconstructed point cloud.
  • a point cloud filtering method including: determining the boundary point of each point cloud block in the reconstructed point cloud through the point cloud occupancy map, and dividing the bounding box of the reconstructed point cloud into multiple three-dimensional grids , And determine the reconstruction points that fall into each three-dimensional grid, so as to determine the centroid position of each three-dimensional grid according to the reconstruction points that fall into each three-dimensional grid. For any boundary point in each point cloud block, determine the three-dimensional grid into which the boundary point falls, and determine at least one three-dimensional grid adjacent to the three-dimensional grid into which the boundary point falls.
  • centroid position of the at least one three-dimensional grid and use the centroid position of the at least one three-dimensional network as the neighborhood of the boundary point to reconstruct the centroid position of the point to determine the location of the boundary point and the neighborhood of the boundary point
  • the distance between the centroid positions of the reconstructed points If the distance is greater than the distance threshold, the position of the boundary point is updated with the centroid position of the at least one three-dimensional grid.
  • the steps of dividing the three-dimensional grid and determining at least one adjacent three-dimensional grid are all implemented in three-dimensional space, and the above process needs to determine the centroid position of each three-dimensional grid, but the centroid of most three-dimensional grids The position will not be used later, so the above process is more complicated, and additional memory is needed to store the centroid position of each three-dimensional grid.
  • the present application provides a point cloud filtering method, device, and storage medium, which help improve the efficiency of point cloud filtering.
  • a point cloud filtering method which includes: determining the neighboring point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud; Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block; filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
  • the execution subject in the first aspect or any possible design of the first aspect may be an encoder or a decoder.
  • the reconstructed point cloud may be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 113 in the encoder 100 as shown in FIG. 2.
  • the reconstructed point cloud may also be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 206 in the decoder 200 as shown in FIG. 6.
  • the one or more point cloud blocks may be all the point cloud blocks in the reconstructed point cloud. Of course, the one or more point cloud blocks may also be part of the point cloud blocks in the reconstructed point cloud.
  • the current point cloud block may be any one of the one or more point cloud blocks included in the reconstructed point cloud.
  • the current point cloud block may also be one of the one or more point cloud blocks included in the reconstructed point cloud.
  • the adjacent point cloud block of the current point cloud block is a point cloud block that has an adjacent relationship with the current point cloud block in a three-dimensional space.
  • the current boundary point can be any boundary point in the current point cloud block, and the current boundary point can also be a specified boundary point in the current point cloud block.
  • the current projection plane can be determined by the adjacent point cloud block.
  • the current point cloud block is filtered according to one or more adjacent reconstruction points of the current boundary point to obtain a smooth reconstructed point cloud. Since the point cloud filtering method can determine the adjacent reconstruction points of the current boundary point in the three-dimensional space through the projection plane of the two-dimensional space, the process of determining the adjacent reconstruction points of the current boundary point is simpler, thereby reducing The complexity of filtering improves coding efficiency.
  • the current point cloud block may have adjacent reconstructed points of the current boundary point, and the adjacent point cloud blocks of the current point cloud block may also have adjacent reconstructed points of the current boundary point.
  • the neighboring reconstruction points of the current boundary point may be determined only from the neighboring point cloud blocks of the current point cloud block.
  • one or more adjacent reconstruction points of the current boundary point in the current point cloud block are determined through the projection plane corresponding to the adjacent point cloud block, including: In the projection plane corresponding to the block, determine M neighboring pixels of the current pixel, where the current boundary point corresponds to the current pixel in the projection plane corresponding to the neighboring point cloud block, and M is a positive integer; according to the current pixel Determine the L adjacent reconstruction points of the current boundary point, and L is a positive integer.
  • the correspondence between the current boundary point and the current pixel point is a correspondence in a projection relationship.
  • the current pixel point is to correspond to the current boundary point to indicate that the current pixel point is the pixel point corresponding to the current boundary point on the projection plane corresponding to the adjacent point cloud block.
  • the L adjacent reconstruction points of the current boundary point are one or more adjacent reconstruction points of the current boundary point. That is, L is an integer greater than or equal to 1.
  • the projection plane corresponding to the adjacent point cloud block determines the M adjacent pixel points of the current pixel, including: when the current boundary point is on the projection plane corresponding to the adjacent point cloud block
  • the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection plane corresponding to the projected adjacent point cloud block includes: a current pixel point corresponding to the current boundary point and the adjacent point cloud
  • the Q pixels corresponding to the P reconstructed points in the point cloud block, P and Q are positive integers; the M adjacent pixels of the current pixel are determined from the projection plane corresponding to the adjacent point cloud block that has been projected , M adjacent pixel points are included in the Q pixel points corresponding to the P reconstructed points included in the adjacent point cloud block.
  • multiple points in the three-dimensional space may correspond to the same point on the two-dimensional plane, that is, multiple reconstructed points in the reconstructed point cloud may correspond to the same pixel on the two-dimensional plane.
  • P reconstructed points in the adjacent point cloud block, and the P reconstructed points may correspond to Q pixel points on the projection plane corresponding to the adjacent point cloud block.
  • Q may be equal to P or less than P.
  • determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixels of the current pixel point includes: determining the corresponding first reconstruction point from the N first candidate reconstruction points A first candidate reconstruction point with a depth difference less than a depth threshold is an adjacent reconstruction point of the current boundary point, where the first depth difference is the first depth and each of the N first candidate reconstruction points.
  • the depth difference between the depth of a candidate reconstruction point relative to the projection plane corresponding to the adjacent point cloud block, the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block
  • N first Candidate reconstruction points are the reconstruction points corresponding to M adjacent pixels in the reconstruction point cloud, and N is a positive integer.
  • the N first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixels in the reconstructed point cloud, and based on the above description, Multiple reconstructed points in the point cloud may correspond to the same pixel on the two-dimensional plane. At this time, the multiple reconstructed points corresponding to the same pixel have different depths relative to the projection plane corresponding to the adjacent point cloud block. Therefore, in order to improve the accuracy of determining the neighboring reconstruction points of the current boundary point, one or more neighboring reconstruction points of the current boundary point can be selected from N first candidate reconstruction points through the first depth difference. .
  • determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixels of the current pixel point includes: determining the corresponding first reconstruction point from the N first candidate reconstruction points A first candidate reconstruction point with a distance less than the first distance threshold is the adjacent reconstruction point of the current boundary point, where the first distance is the current boundary point and each of the N first candidate reconstruction points.
  • the N first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixel points in the reconstruction point cloud, and N is a positive integer.
  • the N first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixels in the reconstructed point cloud, and based on the above description, Multiple reconstructed points in the point cloud may correspond to the same pixel on the two-dimensional plane. At this time, the multiple reconstructed points corresponding to the same pixel have different depths relative to the projection plane corresponding to the adjacent point cloud block.
  • the two-dimensional coordinates of the current pixel point and the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and M adjacent pixels are used to determine the first distance, and then through the first distance, from Select one or more adjacent reconstruction points of the current boundary point among the N first candidate reconstruction points.
  • it can also be calculated in three-dimensional space. Specifically, it can be based on the three-dimensional coordinates of the current boundary point and the three-dimensional coordinates of each of the N first candidate reconstruction points, The first distance is determined, and then through the first distance, one or more adjacent reconstruction points of the current boundary point are selected from the N first candidate reconstruction points.
  • the N first candidate reconstruction points can be directly determined as the L neighboring reconstruction points of the current boundary point, and the N first candidate reconstruction points are the corresponding reconstruction points of the M neighboring pixels in the reconstructed point cloud. Construct a point where N and L are equal.
  • both the current point cloud block and the adjacent point cloud block may have adjacent reconstruction points of the current boundary point. Therefore, in a possible situation, the adjacent reconstruction point of the current boundary point can be determined from the current point cloud block and the adjacent point cloud block.
  • one or more adjacent reconstruction points of the current boundary point in the current point cloud block are determined through the projection plane corresponding to the adjacent point cloud block, including: In the corresponding projection plane and the projection plane corresponding to the adjacent point cloud block, determine S adjacent pixel points of the current pixel point, where the current boundary point corresponds to the current pixel point in the projection plane corresponding to the adjacent point cloud block, S is a positive integer; according to S adjacent pixels, U adjacent reconstruction points of the current boundary point are determined, and U is a positive integer.
  • U adjacent reconstruction points of the current boundary point are one or more adjacent reconstruction points of the current boundary point. That is, U is an integer greater than or equal to 1.
  • the projection plane corresponding to the current point cloud block determines the S adjacent pixels of the current pixel, including: when the current boundary point is adjacent
  • the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection plane corresponding to the adjacent point cloud block includes: a current pixel corresponding to the current boundary point Point and Q pixel points corresponding to P reconstructed points in the adjacent point cloud block, P and Q are positive integers; from the projection plane corresponding to the current point cloud block, determine the projection of the current boundary point to the current point cloud block T adjacent pixel points of the current pixel point i on the corresponding projection plane, from the projection plane corresponding to the adjacent point cloud block that has been projected, determine that the current boundary point is projected onto the projection plane corresponding to the adjacent point cloud block M adjacent pixels of the current pixel j, T adjacent pixels are included in the Y pixels corresponding to the X reconstruction points included in the current
  • the current boundary point needs to be projected on the projection plane corresponding to the current point cloud block, and the current boundary point needs to be projected on the projection plane corresponding to the adjacent point cloud block of the current point cloud block. That is, the current boundary point has a current pixel point on the projection plane corresponding to the current point cloud block, and there is also a current pixel point on the projection plane corresponding to the adjacent point cloud block of the current point cloud block.
  • the current pixel point that projects the current boundary point onto the projection plane corresponding to the current point cloud block is called the current pixel point i
  • the current boundary point is projected onto the projection plane corresponding to the adjacent point cloud block of the current point cloud block
  • the current pixel on above is called the current pixel j.
  • determining U adjacent reconstruction points of the current boundary point according to S adjacent pixel points includes: determining the corresponding first depth difference from the N first candidate reconstruction points The first candidate reconstruction point smaller than the depth threshold is the adjacent reconstruction point of the current boundary point; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold Is the adjacent reconstruction point of the current boundary point, where the first depth difference is the difference between the first depth and each of the N first candidate reconstruction points relative to the adjacent point cloud block The depth difference between the depths of the projection planes.
  • the second depth difference is the difference between the second depth and each of the E second candidate reconstruction points with respect to the projection plane corresponding to the current point cloud block.
  • the depth difference between the depths, the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the second depth is the depth of the current boundary point relative to the projection plane corresponding to the current point cloud block, N
  • the first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixels in the reconstructed point cloud
  • the E second candidate reconstruction points are the corresponding reconstruction points of the T neighboring pixels in the reconstructed point cloud.
  • Structure point, N and T are positive integers
  • determining U adjacent reconstruction points of the current boundary point according to S adjacent pixel points includes: from the N first candidate reconstruction points, determining that the corresponding first distance is less than the first The first candidate reconstruction point with a distance threshold is the adjacent reconstruction point of the current boundary point; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second distance is less than the first distance threshold Is the adjacent reconstruction point of the current boundary point, where the first distance is the distance between the current boundary point and each of the N first candidate reconstruction points, and the second distance is the current boundary point
  • the distance from each second candidate reconstruction point in the E second candidate reconstruction points, N first candidate reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstruction point cloud,
  • the E second candidate reconstructed points are the reconstructed points corresponding to T adjacent pixels in the reconstructed point cloud, and N and T are positive integers.
  • the reconstruction points corresponding to the S neighboring pixels in the reconstructed point cloud may be directly determined as U neighboring reconstruction points of the current boundary point.
  • the S adjacent pixels include the current boundary point projected to the current pixel point i on the projection plane corresponding to the current point cloud block, and the current boundary point projected to the adjacent point cloud block corresponding to the current pixel point i
  • the M adjacent pixels of the current pixel j on the projection plane therefore, in this case, the T adjacent pixels correspond to the E second candidate reconstruction points and M phases in the reconstructed point cloud.
  • the N first candidate reconstruction points corresponding to the neighboring pixel points in the reconstruction point cloud are U neighboring reconstruction points of the current boundary point. That is, in this case, the sum of E and N is U.
  • determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The bounding box of the cloud block; from one or more point cloud blocks, it is determined that the point cloud block whose bounding box overlaps with the bounding box of the current point cloud block is the adjacent point cloud block of the current point cloud block.
  • the bounding box is a geometric body with a volume slightly larger than a point cloud block and simple characteristics.
  • the bounding box can enclose all the reconstructed points included in the point cloud block.
  • the bounding box may be a geometric body including multiple planes, which is not specifically limited in the embodiment of the present application.
  • the bounding box may be a hexahedron or the like.
  • each point cloud block can be composed of one or more reconstructed points in three-dimensional space
  • the one or more reconstructed points are usually discretely distributed points in three-dimensional space, so first determine each point cloud block
  • the bounding box of each point cloud block can be divided into three-dimensional space.
  • two point cloud blocks with overlapping bounding boxes can be regarded as adjacent point cloud blocks. Therefore, under such conditions, it can be determined that the point cloud block that overlaps the bounding box of the current point cloud block is the adjacent point cloud block of the current point cloud block, so that the adjacent point cloud block of the current point cloud block is determined
  • the process is more convenient.
  • determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The expanded bounding box of the cloud block.
  • the expanded bounding box is obtained by expanding the bounding box of each point cloud block in one or more point cloud blocks; from one or more point cloud blocks, determine the expanded bounding box and the current point
  • the point cloud block with the overlapping part of the extended bounding box of the cloud block is the adjacent point cloud block of the current point cloud block.
  • the expanded bounding box is a bounding box obtained by expanding the bounding box of the point cloud block.
  • the expanded bounding box can be obtained by divergently expanding the volume of the bounding box by a preset ratio with the geometric center of the bounding box as the expanded center.
  • the preset ratio can be set according to the use requirements, which is not specifically limited in the embodiment of the application.
  • the preset ratio may be 5%, etc., that is, the expanded bounding box is obtained by divergently expanding the volume of the bounding box by 5% with the geometric center of the bounding box as the expansion center.
  • the expansion of the bounding box can also be implemented in other ways.
  • determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The bounding box of the cloud block and the three-dimensional volume corresponding to the current boundary point, where the three-dimensional volume is the spatial volume where the adjacent reconstruction point of the current boundary point is located; from one or more point cloud blocks, select the surrounding The point cloud block in which the box and the bounding box of the current point cloud block and the three-dimensional space corresponding to the current boundary point all have overlapping parts are adjacent point cloud blocks of the current point cloud block.
  • the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Therefore, in order to reduce the computational complexity, it is necessary to select a bounding box from one or more point cloud blocks. Not only does it overlap with the bounding box of the current point cloud block, but also needs to overlap with the three-dimensional space corresponding to the current boundary point.
  • the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
  • determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The expanded bounding box of the cloud block and the three-dimensional space volume corresponding to the current boundary point.
  • the expanded bounding box is obtained by expanding the bounding box of each point cloud block in one or more point cloud blocks, and the three-dimensional space volume is the The space volume where the adjacent reconstruction point of the current boundary point is located; from one or more point cloud blocks, select the extended bounding box and the extended bounding box of the current point cloud block and the three-dimensional space volume corresponding to the current boundary point overlap Part of the point cloud blocks are adjacent point cloud blocks of the current point cloud block.
  • the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Therefore, in order to reduce the computational complexity, it is necessary to select the expanded bounding box from one or more point cloud blocks. Not only does it overlap with the expanded bounding box of the current point cloud block, but also the three-dimensional space corresponding to the current boundary point exists. For the overlapping point cloud blocks, the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
  • filtering the current point cloud block according to one or more adjacent reconstruction points of the current boundary point including: determining the centroid position of one or more adjacent reconstruction points of the current boundary point ; If the distance between the position of the centroid and the position of the current boundary point is greater than the second distance threshold, the position of the current boundary point is updated, where the updated position of the current boundary point corresponds to the position of the centroid.
  • the current boundary point is a boundary point in the current point cloud block, and the filtering of the current boundary point can be applied to each boundary point in the current point cloud block.
  • the point filtering will not be repeated.
  • the filtering of the current point cloud block is completed.
  • the filtering of the current point cloud block is also applicable to the filtering of other point cloud blocks in the reconstructed point cloud. After the filtering of all the point cloud blocks in the reconstructed point cloud is completed, the reconstructed point cloud is completed ⁇ filtering.
  • the present application uses the current boundary point of the current point cloud block as an object to explain the technical solution of the present application, and the filtering process of other boundary points of the current point cloud block will not be repeated.
  • this application can reduce the complexity of point cloud filtering and improve the coding and decoding efficiency for the entire filtering process of the reconstructed point cloud, that is, it can traverse the entire reconstructed point cloud, and analyze multiple/all point cloud blocks in the reconstructed point cloud. Multiple/all boundary points in the filter are filtered. Once the point cloud data scale is larger, the complexity reduction effect of the technical solution provided by this application is better.
  • a point cloud coding method including: determining indication information for indicating whether to process the reconstructed point cloud of the point cloud to be coded according to the target filtering method.
  • the target filtering method includes: Any point cloud filtering method provided on the one hand; encode the instruction information into the code stream.
  • a point cloud decoding method including: parsing a code stream to obtain indication information, the indication information being used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, and the target filtering method It includes any one of the point cloud filtering methods provided in the first aspect; when the indication information is used to indicate that the reconstructed point cloud of the point cloud to be decoded is processed according to the target filtering method, the reconstruction of the point cloud to be decoded is performed according to the target filtering method. Construct a point cloud for filtering.
  • a point cloud filtering device including: a point set determining unit, configured to determine adjacent point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud; Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block; the filtering processing unit is used to reconstruct one or more adjacent reconstruction points of the current boundary point Point, filter the current point cloud block.
  • an encoder including: a point cloud filtering module for filtering the reconstructed point cloud of the point cloud to be encoded according to the target filtering method; an auxiliary information encoding module for determining indication information, and, The instruction information is compiled into the code stream, and the instruction information is used to indicate whether to process the reconstructed point cloud of the to-be-coded point cloud according to the target filtering method.
  • the target filtering method includes the point cloud filtering method provided in the first aspect described above.
  • a decoder including: an auxiliary information decoding module, used to parse the code stream to obtain indication information, the indication information is used to indicate whether to perform the reconstruction of the point cloud to be decoded according to the target filtering method Processing, the target filtering method includes any of the point cloud filtering methods provided in the first aspect; the point cloud filtering module is used when the indication information is used to instruct to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method At the time, the reconstructed point cloud of the point cloud to be decoded is filtered according to the target filtering method.
  • an encoder including: a point cloud filtering module, the point cloud filtering module is the point cloud filtering device provided in the fourth aspect; a texture map generating module, used to reconstruct the point cloud after filtering Generate a texture map of the point cloud to be encoded.
  • the point cloud filtering module is used to determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be encoded, and pass the neighboring point cloud blocks Corresponding projection plane, determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point; texture map
  • the generating module is used to generate a texture image of the point cloud to be coded according to the reconstructed point cloud after the filtering process.
  • a decoder including: a point cloud filtering module, the point cloud filtering module is the point cloud filtering device provided in the fourth aspect; the texture information reconstruction module is used to reconstruct points after filtering processing The texture information of the cloud is reconstructed.
  • the point cloud filtering module is used to determine the adjacent point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be decoded, and pass the adjacent point cloud block
  • the corresponding projection plane determines one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filters the current point cloud block according to the set of adjacent reconstruction points of the current boundary point
  • texture information reconstruction module Used to reconstruct the texture information of the reconstructed point cloud after filtering processing.
  • the present application also provides a computer-readable storage medium, including program code, when the program code runs on a computer, the computer executes any point cloud provided in the first aspect and its possible designs. Decoding method.
  • the present application also provides a computer-readable storage medium, including program code, when the program code runs on a computer, the computer executes the point cloud coding method provided in the second aspect.
  • the present application also provides a computer-readable storage medium, including program code, when the program code runs on a computer, the computer executes the point cloud coding method provided in the third aspect.
  • FIG. 1 is a schematic block diagram of a point cloud decoding system provided by an embodiment of this application;
  • Fig. 2 is a schematic block diagram of an encoder that can be used in an embodiment of the present application
  • Fig. 3 is a schematic diagram of a point cloud applicable to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a point cloud patch applicable to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an occupancy map of a point cloud applicable to an embodiment of the present application.
  • Fig. 6 is a schematic block diagram of a decoder that can be used in an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a point cloud filtering method provided by an embodiment of this application.
  • FIG. 8 is a two-dimensional schematic diagram of an implementation manner for determining adjacent point cloud blocks of a current point cloud block and a summary table of corresponding description information provided by an embodiment of the application;
  • FIG. 9 is a schematic diagram of determining M adjacent pixels of a current pixel provided by an embodiment of the application.
  • FIG. 10 is the first schematic diagram of determining the adjacent reconstruction points of the current boundary point according to an embodiment of this application.
  • FIG. 11 is a second schematic diagram of determining adjacent reconstruction points of the current boundary point according to an embodiment of this application.
  • FIG. 12 is a third schematic diagram of determining adjacent reconstruction points of current boundary points according to an embodiment of this application.
  • FIG. 13 is a fourth schematic diagram of determining adjacent reconstruction points of a current boundary point according to an embodiment of this application.
  • FIG. 14 is a schematic flowchart of a point cloud encoding method provided by an embodiment of this application.
  • 15 is a schematic flowchart of a point cloud decoding method provided by an embodiment of this application.
  • FIG. 16 is a schematic block diagram of a point cloud filtering device provided by an embodiment of the application.
  • FIG. 17 is a schematic block diagram of a first encoder provided by an embodiment of this application.
  • FIG. 18 is a schematic block diagram of a first decoder provided by an embodiment of this application.
  • FIG. 19 is a schematic block diagram of a second encoder provided by an embodiment of this application.
  • FIG. 20 is a schematic block diagram of a second decoder provided by an embodiment of this application.
  • FIG. 21 is a schematic block diagram of an implementation manner of a decoding device used in an embodiment of the present application.
  • FIG. 1 is a schematic block diagram of a point cloud decoding system provided by an embodiment of the application.
  • the term "point cloud decoding” or “decoding” may generally refer to point cloud encoding or point cloud decoding.
  • the point cloud decoding system includes a source device 10, a destination device 20, a link 30 and a storage device 40.
  • the source device 10 can generate coded point cloud data. Therefore, the source device 10 may also be referred to as a point cloud encoding device.
  • the destination device 20 may decode the encoded point cloud data generated by the source device 10. Therefore, the destination device 20 may also be referred to as a point cloud decoding device.
  • the link 30 can receive the coded point cloud data generated by the source device 10 and can transmit the coded point cloud data to the destination device 20.
  • the storage device 40 can receive the coded point cloud data generated by the source device 10, and can store the coded point cloud data, so that the destination device 20 can directly obtain the coded point cloud data from the storage device 40 data.
  • the storage device 40 may correspond to a file server or another intermediate storage device that can store the encoded point cloud data generated by the source device 10, so that the destination device 20 may stream or download the stored data stored in the storage device 40 Coded point cloud data.
  • Both the source device 10 and the destination device 20 may include one or more processors and a memory coupled to the one or more processors.
  • the memory may include random access memory (RAM) and read-only memory ( read-only memory, ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, which can be used to store the desired program in the form of instructions or data structures accessed by the computer Any other media of the code, etc.
  • RAM random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory which can be used to store the desired program in the form of instructions or data structures accessed by the computer Any other media of the code, etc.
  • both the source device 10 and the destination device 20 may include desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, telephone handsets such as so-called "smart" phones, Televisions, cameras, display devices, digital media players, video game consoles, onboard computers, or the like.
  • the link 30 may include one or more media or devices capable of transmitting the encoded point cloud data from the source device 10 to the destination device 20.
  • the link 30 may include one or more communication media that enable the source device 10 to directly send the encoded point cloud data to the destination device 20 in real time.
  • the source device 10 may modulate the coded point cloud data according to a communication standard, which may be a wireless communication protocol or the like, and may send the modulated point cloud data to the destination device 20.
  • the one or more communication media may include wireless and/or wired communication media.
  • the one or more communication media may include a radio frequency (RF) spectrum or one or more physical transmission lines.
  • RF radio frequency
  • the one or more communication media may form part of a packet-based network, and the packet-based network may be a local area network, a wide area network, or a global network (for example, the Internet).
  • the one or more communication media may include routers, switches, base stations, or other devices that facilitate communication from the source device 10 to the destination device 20, etc., which are not specifically limited in the embodiment of the present application.
  • the storage device 40 may store the received coded point cloud data sent by the source device 10, and the destination device 20 may directly obtain the coded point cloud data from the storage device 40 .
  • the storage device 40 may include any of a variety of distributed or locally accessed data storage media, for example, any of the multiple distributed or locally accessed data storage media may be a hard disk drive, Blu-ray disc, digital versatile disc (DVD), compact disc read-only memory (CD-ROM), flash memory, volatile or non-volatile memory, or used to store Any other suitable digital storage media for encoding point cloud data, etc.
  • the storage device 40 may correspond to a file server or another intermediate storage device that can store the encoded point cloud data generated by the source device 10, and the destination device 20 may be stored via streaming or downloading.
  • the file server may be any type of server capable of storing the coded point cloud data and transmitting the coded point cloud data to the destination device 20.
  • the file server may include a network server, a file transfer protocol (FTP) server, a network attached storage (NAS) device, or a local disk drive.
  • FTP file transfer protocol
  • NAS network attached storage
  • the destination device 20 can obtain the coded point cloud data through any standard data connection (including an Internet connection).
  • Any standard data connection can include a wireless channel (e.g., Wi-Fi connection), a wired connection (e.g., digital subscriber line (DSL), cable modem, etc.), or is suitable for obtaining encoded data stored on a file server The combination of the two point cloud data.
  • the transmission of the encoded point cloud data from the storage device 40 may be a streaming transmission, a download transmission, or a combination of both.
  • the point cloud decoding system shown in FIG. 1 is only one possible implementation, and the technology of the present application is not only applicable to the source device 10 shown in FIG. 1 that can encode the point cloud, but also The destination device 20 for decoding point cloud data may also be applicable to other devices that can encode point clouds and decode encoded point cloud data, which is not specifically limited in the embodiment of the present application.
  • the source device 10 includes a data source 120, an encoder 100 and an output interface 140.
  • the output interface 140 may include a regulator/demodulator (modem) and/or a transmitter, where the transmitter may also be referred to as a transmitter.
  • the data source 120 may include a point cloud capture device (for example, a camera, etc.), a point cloud archive containing previously captured point cloud data, a point cloud feed interface for receiving point cloud data from a point cloud content provider, and/or A computer graphics system used to generate point cloud data, or a combination of these sources of point cloud data.
  • the data source 120 may send a point cloud to the encoder 100, and the encoder 100 may encode the point cloud received from the data source 120 to obtain encoded point cloud data.
  • the encoder can send the encoded point cloud data to the output interface.
  • the source device 10 directly transmits the encoded point cloud data to the destination device 20 via the output interface 140.
  • the encoded point cloud data may also be stored on the storage device 40 for later acquisition by the destination device 20 and used for decoding and/or playback.
  • the destination device 20 includes an input interface 240, a decoder 200 and a display device 220.
  • the input interface 240 includes a receiver and/or a modem.
  • the input interface 240 can receive the encoded point cloud data via the link 30 and/or from the storage device 40, and then send it to the decoder 200.
  • the decoder 200 can decode the received encoded point cloud data to obtain the Decoded point cloud data.
  • the decoder may send the decoded point cloud data to the display device 220.
  • the display device 220 may be integrated with the destination device 20 or may be external to the destination device 20. Generally, the display device 220 displays the decoded point cloud data.
  • the display device 220 may be any one of various types of display devices.
  • the display device 220 may be a liquid crystal display (LCD), a plasma display, or an organic light-emitting diode (OLED). Display or other type of display device.
  • LCD liquid crystal display
  • OLED organic light-emitting
  • the encoder 100 and the decoder 200 may each be integrated with an audio encoder and decoder, and may include an appropriate multiplexer-demultiplexer (multiplexer- The demultiplexer (MUX-DEMUX) unit or other hardware and software is used to encode both audio and video in a common data stream or separate data streams.
  • MUX-DEMUX multiplexer-Demultiplexer
  • the MUX-DEMUX unit may conform to the ITU H.223 multiplexer protocol, or other protocols such as the user datagram protocol (UDP).
  • Each of the encoder 100 and the decoder 200 may be any of the following circuits: one or more microprocessors, digital signal processing (DSP), application specific integrated circuits, ASICs ), field-programmable gate array (FPGA), discrete logic, hardware, or any combination thereof.
  • DSP digital signal processing
  • ASICs application specific integrated circuits
  • FPGA field-programmable gate array
  • the device may store instructions for the software in a suitable non-volatile computer-readable storage medium, and may use one or more processors to execute the instructions in hardware So as to implement the technology of this application. Any of the foregoing (including hardware, software, a combination of hardware and software, etc.) can be regarded as one or more processors.
  • Each of the encoder 100 and the decoder 200 may be included in one or more encoders or decoders, and any one of the encoders or the decoders may be integrated as a combined encoding in the corresponding device Part of the decoder/decoder (codec).
  • This application may generally refer to the encoder 100 as another device that “signals” or “sends” certain information to, for example, the decoder 200.
  • the term “signaling” or “sending” may generally refer to the transmission of syntax elements and/or other data used to decode the encoded point cloud data. This transfer can occur in real time or almost real time. Alternatively, this communication may occur after a period of time, for example, when the syntax element is stored in a computer-readable storage medium in the encoded bitstream during encoding, and the decoding device may then store the syntax element on this medium. retrieve the syntax element at any time.
  • FIG. 2 is a schematic block diagram of an encoder 100 provided by an embodiment of the application.
  • Figure 2 illustrates the MPEG (Moving Picture Expert Group) Point Cloud Compression (PCC) coding framework as an example.
  • the encoder 100 may include a point cloud block (patch) information generation module 101, a packing module 102, a depth map generation module 103, a texture map generation module 104, a depth map filling module 105, a texture map filling module 106, and image-based Or video encoding module 107, occupancy map encoding module 108, auxiliary information encoding module 109, multiplexing module 110, point cloud occupancy map down-sampling module 111, point cloud occupancy map filling module 112, point cloud reconstruction module 113, and point cloud Filtering module 114.
  • PCC Point Cloud Compression
  • the patch information generation module 101 may receive one or more frames of point clouds sent by the data source 120.
  • the current frame point cloud will be unified for description in the following.
  • the patch information generation module 101 can determine the three-dimensional coordinates of each point included in the point cloud of the current frame in the three-dimensional space coordinate system, and the normal direction vector of each point in the three-dimensional space, and determine the three-dimensional coordinates of each point in the three-dimensional space.
  • the normal direction vector in the space and the predefined projection plane divide the current frame point cloud into multiple patches, each patch includes one or more points in the current frame point cloud, and each patch is a connected region.
  • the predefined projection plane can be the plane in the bounding box of the point cloud of the current frame, that is, the plane included in the bounding box of the point cloud of the current frame can be used as the projection plane of multiple patches, and each patch has one The corresponding projection plane.
  • the patch information generating module 101 projects each patch of the multiple patches from the three-dimensional space onto a corresponding projection plane, and the projection plane corresponding to each patch corresponds to an index.
  • the occupancy map of each patch and the depth map of each patch can be obtained.
  • the occupancy map of any patch may be a map composed of pixels corresponding to points included in the patch obtained by projecting the patch onto the corresponding projection plane.
  • the patch information generating module 101 may also determine the depth of each point included in each patch relative to the corresponding projection plane, and the two-dimensional coordinates of each point included in each patch to the two-dimensional projection plane.
  • the pixel points in the occupancy map of any patch are determined by converting the three-dimensional coordinates of the points included in the patch to the two-dimensional coordinates on the corresponding projection plane.
  • the patch information generation module can store or not store the occupancy map of each patch.
  • the patch information generation module 101 can also project the normal direction vector of each point in the current frame point cloud in the three-dimensional space, the coordinates of each patch in the three-dimensional space coordinate system, and the projection of each point included in each patch.
  • the spatial information of each patch such as the two-dimensional coordinates to the corresponding projection plane, the depth of each point included in each patch relative to the corresponding projection plane, and the index corresponding to the projection plane corresponding to each patch are sent as auxiliary information to
  • the auxiliary information encoding module 109 performs encoding, which may also be referred to as performing compression encoding.
  • the patch information generating module 101 may also send the occupancy map of each patch and the space information of each patch to the packaging module 102.
  • the patch information generating module 101 may also send the depth map of each patch to the depth map generating module 103.
  • the packing module 102 may pack the received occupancy map of each patch and the space information of each patch sent by the patch information generating module 101 to obtain the occupancy map of the point cloud of the current frame.
  • the packaging module 102 may arrange each patch in a specific order, for example, in descending order (or ascending order) of the width/height of each patch's occupancy map, and then, in order of each patch after the arrangement, Insert the occupancy map of each patch into the available area of the occupancy map of the current frame point cloud to obtain the occupancy map of the current frame point cloud and patch packaging information of the current frame point cloud.
  • the packing module 102 may send the occupancy map of the point cloud of the current frame to the point cloud occupancy map down-sampling module 111, and the packing module 102 may also send the patch packing information of the point cloud of the current frame to the depth map generating module 103 and the auxiliary information encoding module 109 .
  • FIG. 3 A schematic diagram of a frame of point cloud
  • Figure 4 is a schematic diagram of the patch of the point cloud of the frame
  • Figure 5 is the projection of each patch of the point cloud of the frame shown in Figure 4 onto the corresponding projection plane.
  • the occupancy map is a schematic diagram of the occupancy map of the point cloud of the frame obtained by the packing module 102.
  • the point cloud shown in FIG. 3 may be the point cloud of the current frame in the embodiment of the present application, and the patch of the point cloud shown in FIG.
  • the cloud occupancy map may be the occupancy map of the point cloud of the current frame in the embodiment of the present application.
  • the depth map generation module 103 may receive the patch packaging information of the point cloud of the current frame sent by the packaging module 102 and the depth map of each patch sent by the patch information generation module 101, and then pack it according to the patch of the current frame point cloud Information and the depth map of each patch generate a depth map of the point cloud of the current frame. Then the generated depth map of the current frame point cloud is sent to the depth map filling module 105 to fill the blank pixels in the depth map of the current frame point cloud to obtain the filled depth map of the current frame point cloud.
  • the depth map filling module 105 may send the obtained filled depth map of the current frame point cloud to the image or video-based encoding module 107 to perform image or video-based encoding on the filled depth map of the current frame point cloud, Obtain the reconstructed depth map of the current frame point cloud and the code stream including the encoded depth map of the current frame point cloud, and can send the obtained reconstructed current frame point cloud depth map to the point cloud reconstruction module 113. Send the code stream including the encoded depth map of the current frame point cloud to the multiplexing module 110.
  • the point cloud occupancy map down-sampling module 111 may perform down-sampling processing on the received occupancy map of the current frame point cloud sent by the packing module 102 to obtain a low-resolution occupancy map of the current frame point cloud. Among them, the downsampling process can improve the efficiency of processing the current frame point cloud occupancy map and reduce the sampling points of the current frame point cloud occupancy map. The resolution of the current frame point cloud occupancy map obtained after downsampling is usually lower than that before downsampling. small. Afterwards, the point cloud occupancy map down-sampling module 111 may also send the low-resolution current frame point cloud occupancy map to the occupancy map encoding module 108 and the point cloud occupancy map filling module 112.
  • the occupancy map encoding module 108 can encode the received low-resolution occupancy map of the current frame point cloud to obtain a code stream including the encoded low-resolution occupancy map of the current frame point cloud, and the occupancy map encoding module 108 also The code stream including the coded low-resolution occupancy map of the current frame point cloud may be sent to the multiplexing module 110.
  • the point cloud occupancy map filling module 112 fills the occupancy map of the current frame point cloud with the original resolution according to the received low-resolution current frame point cloud occupancy map to obtain the filled current frame point cloud occupancy map, The filled occupancy map of the current frame point cloud has the original resolution.
  • one pixel block of the occupancy map of the current frame point cloud with the original resolution is filled with the same value as the value of the corresponding pixel block in the occupancy map of the current frame point cloud of the low resolution to obtain the The filled occupancy map of the point cloud of the current frame.
  • the point cloud occupancy map filling module 112 may also send the filled occupancy map of the point cloud of the current frame to the point cloud reconstruction module 113.
  • the point cloud reconstruction module 113 may be based on the received occupancy map of the current frame point cloud sent by the point cloud occupancy map filling module 112, and the reconstructed current frame point cloud sent by the image or video-based encoding module 107.
  • the depth map and auxiliary information (patch packing information and patch space information) reconstruct the geometry of the current frame point cloud to output the reconstructed point cloud.
  • the point cloud reconstruction module 113 can also output the reconstructed point cloud Correspondence between reconstruction points and patches, and the packaging position of reconstruction points in the reconstruction point cloud.
  • the point cloud reconstruction module 113 may send the reconstructed point cloud, the corresponding relationship between the reconstructed points in the reconstructed point cloud and the patch to the point cloud filtering module 114, and the point cloud reconstruction module 113 may also reconstruct the reconstructed point cloud.
  • the packing positions of the points are sent to the texture generation module 104.
  • the point cloud filtering module 114 may filter the reconstructed point cloud after receiving the reconstructed point cloud sent by the point cloud reconstruction module 113 and the corresponding relationship between the reconstructed point in the reconstructed point cloud and the patch. Specifically, defects such as obvious noise points and gaps in the reconstructed point cloud can be removed to obtain a filtered reconstructed point cloud, which can also be referred to as a smooth reconstructed point cloud. Or it can be said that the point cloud filtering block 114 can smooth the reconstructed point cloud. Specifically, the point cloud filtering module 114 may determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud. Then through the projection plane corresponding to the adjacent point cloud block, determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and finally according to one or more adjacent reconstruction points of the current boundary point, The current point cloud block is filtered.
  • the texture map generation module 104 receives the smooth reconstructed point cloud sent by the point cloud filtering module 114, the packaged position of the reconstructed point in the reconstructed point cloud sent by the point cloud reconstruction module 113, and is sent by the data source 120 After the current frame point cloud, the texture map of the current frame point cloud can be generated according to the smooth reconstructed point cloud, the packaging position of the reconstructed point in the reconstructed point cloud and the current frame point cloud, and the generated current frame point
  • the cloud texture map is sent to the texture map filling module 106 to fill the blank pixels in the texture map of the current frame point cloud to obtain the filled texture map of the current frame point cloud.
  • the texture map filling module 106 can send the obtained filled texture map of the current frame point cloud to the image or video-based encoding module 107 to perform image or video-based encoding on the filled texture map of the current frame point cloud, Obtain the code stream including the texture map of the reconstructed current frame point cloud.
  • the image or video-based encoding module 107 may also send the obtained code stream including the reconstructed texture map of the current frame point cloud to the multiplexing module 110.
  • the image or video-based encoding module 107, the occupancy map encoding module 108, and the auxiliary information encoding module 109 can send the obtained code streams to the multiplexing module 110, and the multiplexing module 110 can combine the received code streams
  • the combined code stream is formed, and the combined code stream is sent to the output interface 140.
  • the output interface 140 may send the combined code stream to the decoder 200.
  • the encoder 100 shown in FIG. 2 is only an embodiment provided by the present application. In a specific implementation manner, the encoder 100 may include more or less modules than those shown in FIG. 2 Module. The embodiment of the application does not specifically limit this.
  • FIG. 6 is a schematic block diagram of a decoder 200 provided by an embodiment of the application.
  • Figure 6 illustrates the MPEG PCC decoding framework as an example.
  • the decoder 200 may include a demultiplexing module 201, an image or video-based decoding module 202, an occupancy map decoding module 203, an auxiliary information decoding module 204, a point cloud occupancy map filling module 205, and a point cloud reconstruction module 206 , Point cloud filtering module 207 and point cloud texture information reconstruction module 208.
  • the demultiplexing module 201 may receive the combined code stream sent by the output interface 140 of the encoder 100 through the input interface 204, and send the combined code stream to the corresponding decoding module. Specifically, the demultiplexing module 201 sends the code stream of the coded current frame point cloud texture map and the coded current frame point cloud depth map to the image or video-based decoding module 202, and The code stream including the encoded low-resolution occupancy map of the current frame point cloud is sent to the occupancy map decoding module 203, and the code stream including the encoded auxiliary information is sent to the auxiliary information decoding module 204.
  • the image or video-based decoding module 202 can decode the received bitstream including the texture map of the encoded current frame point cloud and the bitstream including the encoded depth map of the current frame point cloud to obtain the reconstructed current frame.
  • the texture map information of the frame point cloud and the reconstructed depth map information of the current frame point cloud, and the reconstructed texture map information of the current frame point cloud can be sent to the point cloud texture information reconstruction module 208,
  • the constructed depth map information of the current frame point cloud is sent to the point cloud reconstruction module 206.
  • the occupancy map decoding module 203 can decode the received bitstream including the occupancy map of the low-resolution current frame point cloud that has been coded to obtain the reconstructed low-resolution occupancy map information of the current frame point cloud, and The reconstructed low-resolution current frame point cloud occupancy map information is sent to the point cloud occupancy map filling module 205.
  • the point cloud occupancy map filling module 205 can obtain the reconstructed occupancy map information of the current frame point cloud with the original resolution according to the reconstructed low-resolution occupancy map information of the current frame point cloud, and then the reconstructed has The occupancy map information of the point cloud of the current frame with the original resolution is sent to the point cloud reconstruction module 206.
  • the auxiliary information decoding module 204 may decode the received code stream including the encoded auxiliary information to obtain auxiliary information, and may send the auxiliary information to the point cloud reconstruction module 206.
  • the point cloud reconstruction module 206 can be based on the received depth map information of the reconstructed current frame point cloud sent by the image or video-based decoding module 202, and the reconstructed current frame point sent by the point cloud occupancy map filling module 205.
  • the occupancy map information of the cloud and the auxiliary information sent by the auxiliary information decoding module 204 reconstruct the geometry of the point cloud of the current frame to obtain the reconstructed point cloud.
  • the reconstructed point cloud is similar to the reconstructed point cloud obtained by the point cloud reconstruction module 112 in the encoder 100, and the specific reconstruction process can refer to the reconstruction process of the point cloud reconstruction module 112 in the encoder 100. I won't repeat it here.
  • the point cloud reconstruction module 206 may also send the reconstructed point cloud to the point cloud filtering module 207.
  • the point cloud filtering module 207 can filter the reconstructed point cloud according to the received reconstructed point cloud to obtain a smooth reconstructed point cloud.
  • the specific filtering process can refer to the filtering process of the point cloud filtering module 114 in the encoder 100 , I won’t repeat it here.
  • the point cloud filtering module 207 may send the smooth reconstructed point cloud to the texture information reconstruction module 208 of the point cloud.
  • the point cloud texture information reconstruction module 208 receives the smooth reconstructed point cloud sent by the point cloud filtering module 207 and the reconstructed current frame point cloud texture map information sent by the image or video-based decoding module 202 Afterwards, the texture information of the reconstructed point cloud can be reconstructed to obtain the reconstructed point cloud reconstructed by the texture information.
  • the decoder 200 shown in FIG. 6 is only an example. In a specific implementation, the decoder 200 may include more or fewer modules than those shown in FIG. 6. This embodiment of the present application does not limit this.
  • point cloud filtering method may be executed by the encoder 100 in the point cloud decoding system, and more specifically, may be executed by the point cloud filtering module 114 in the encoder 100; any of the following point cloud filtering methods may also be used. It is executed by the decoder 200 in the point cloud decoding system, and more specifically, executed by the point cloud filtering module 207 in the decoder 200.
  • FIG. 7 is a flowchart of a point cloud filtering method provided by an embodiment of the present application, and the method is applied to a point cloud decoding system. Referring to Figure 7, the method includes:
  • S701 Determine adjacent point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud.
  • the reconstructed point cloud may be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 113 in the encoder 100 as shown in FIG. 2.
  • the reconstructed point cloud may also be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 206 in the decoder 200 as shown in FIG. 6.
  • the point cloud reconstruction module 113 in the encoder 100 shown in FIG. 2 reconstructs the geometry of the point cloud of the current frame, and the obtained reconstructed point cloud is used as an example for description.
  • the reconstructed point cloud includes one or more reconstructed points, the one or more reconstructed points are points that make up the reconstructed point cloud, and the one or more reconstructed points are points in a three-dimensional space.
  • Each of the one or more point cloud blocks included in the reconstructed point cloud may consist of one or more reconstructed points, and each of the one or more point cloud blocks is A connected area.
  • the one or more point cloud blocks may be all point cloud blocks in the reconstructed point cloud.
  • the one or more point cloud blocks may also be part of the point cloud blocks in the reconstructed point cloud.
  • the current point cloud block may be any one of the one or more point cloud blocks included in the reconstructed point cloud.
  • the current point cloud block may also be one or more point cloud blocks included in the reconstructed point cloud.
  • the adjacent point cloud block of the current point cloud block is a point cloud block that has an adjacent relationship with the current point cloud block in a three-dimensional space.
  • the implementation of S701 can be any one of the following four implementations. Among them, refer to FIG. 8, which is a two-dimensional schematic diagram of the following four implementation manners and a summary table of corresponding description information.
  • S701 may include: determining the bounding box of each point cloud block in one or more point cloud blocks, and from the one or more point cloud blocks, determining the difference between the bounding box and the current point cloud block The point cloud blocks with overlapping parts of the bounding boxes are adjacent point cloud blocks of the current point cloud block.
  • the bounding box is a geometric body with a volume slightly larger than a point cloud block and simple characteristics.
  • the bounding box can enclose all the reconstructed points included in the point cloud block.
  • the bounding box may be a geometric body including multiple planes, which is not specifically limited in the embodiment of the present application.
  • the bounding box may be a hexahedron or the like.
  • each point cloud block can be composed of one or more reconstructed points in three-dimensional space
  • the one or more reconstructed points are usually discretely distributed points in three-dimensional space, so first determine each point cloud block
  • the bounding box of each point cloud block can be divided into three-dimensional space.
  • two point cloud blocks with overlapping bounding boxes can be regarded as adjacent point cloud blocks. Therefore, it can be determined that the point cloud block in which the bounding box and the bounding box of the current point cloud block overlap is the adjacent point cloud block of the current point cloud block, so that the process of determining the adjacent point cloud block of the current point cloud block is more convenient.
  • the bounding box of one or more point cloud blocks included in the reconstructed point cloud can be input as a piece of data to the point cloud filtering module 114, similarly, in the decoder 200 as shown in FIG. 6, the bounding box of one or more point cloud blocks included in the reconstructed point cloud may be input to the point cloud filtering module 207 as a piece of data.
  • S701 may include: determining the extended bounding box of each point cloud block in one or more point cloud blocks, and determining the extended bounding box and the current point cloud from the one or more point cloud blocks The point cloud block with overlapping parts of the extended bounding box of the block is the adjacent point cloud block of the current point cloud block.
  • the expanded bounding box is a bounding box obtained by expanding the bounding box of the point cloud block.
  • the expanded bounding box can be obtained by divergently expanding the volume of the bounding box by a preset ratio with the geometric center of the bounding box as the expanded center.
  • the preset ratio can be set according to the use requirements, which is not specifically limited in the embodiment of the application.
  • the preset ratio may be 5%, etc., that is, the expanded bounding box is obtained by divergently expanding the volume of the bounding box by 5% with the geometric center of the bounding box as the expansion center.
  • the expansion of the bounding box can also be implemented in other ways.
  • the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud can be input as a piece of data to the point cloud filtering module 114, similarly
  • the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud may be input to the point cloud filtering module 207 as a piece of data.
  • S701 may include: determining the bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, where the three-dimensional volume is the adjacent weight of the current boundary point.
  • the spatial volume where the construction point is located from one or more point cloud blocks, select the point cloud block where the bounding box and the bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point have overlapping parts as the current point cloud The adjacent point cloud block of the block.
  • the current boundary point may be any boundary point in the current point cloud block, and the current boundary point may also be a specified boundary point in the current point cloud block. Since the current point cloud block is composed of one or more reconstructed points, the one or more reconstructed points are all points located in the three-dimensional space, and the boundary points in the current point cloud block are the one or more reconstructed points. Constructed points are reconstructed points located at the boundary of the current point cloud block. Therefore, the boundary points in the current point cloud block are also points in the three-dimensional space, and the current boundary points are also points in the three-dimensional space.
  • the embodiment of the present application determines the boundary point of the current point cloud block on a two-dimensional plane. Specifically, for any reconstructed point in the current point cloud block, it can be judged according to whether the neighboring pixels of the pixel corresponding to any reconstructed point in the current point cloud block are all valid pixels. That is, when the neighboring pixels of any reconstructed point corresponding to the pixel in the occupancy map of the current point cloud block are not all valid pixels, it can be determined that any reconstructed point is the boundary point of the current point cloud block .
  • the effective pixel point means that its corresponding reconstructed point belongs to the same point cloud block as any reconstructed point, that is, the current point cloud block.
  • the boundary points of other point cloud blocks are also determined according to this method.
  • the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point.
  • the three-dimensional volume corresponding to the current boundary point is the spatial volume where the adjacent reconstruction point of the current boundary point is located. Therefore, in order to reduce the computational complexity, it is necessary to select the bounding box from one or more point cloud blocks. There is an overlap with the bounding box of the current point cloud block, and a point cloud block with an overlapping part in the three-dimensional space corresponding to the current boundary point is also required, and the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
  • the three-dimensional volume corresponding to the current boundary point can be a sphere with the current boundary point as the center and the second distance threshold as the radius. Of course, it can also refer to the current boundary point as the center and the second distance. A cube with two times the side length.
  • the bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be input to the point as a piece of data.
  • the cloud filtering module 114 similarly, in the decoder 200 as shown in FIG. 6, the bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be used as one item
  • the data is input into the point cloud filtering module 207.
  • S701 may include: determining the extended bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, from the one or more point cloud blocks, Select the point cloud block in which the extended bounding box and the extended bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point have overlapping parts as the adjacent point cloud block of the current point cloud block.
  • the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Therefore, in order to reduce the computational complexity, it is necessary to select the expanded bounding box from one or more point cloud blocks. Not only does it overlap with the expanded bounding box of the current point cloud block, but also the three-dimensional space corresponding to the current boundary point exists. For the overlapping point cloud blocks, the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
  • the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be input as a piece of data
  • the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be used as One item of data is input into the point cloud filtering module 207.
  • S702 Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block of the current point cloud block.
  • the projection plane corresponding to the adjacent point cloud block refers to a two-dimensional plane that has a projection relationship with the adjacent point cloud block
  • the projection plane corresponding to the adjacent point cloud block may be in the bounding box of the adjacent point cloud block Of a plane.
  • the angle between the normal direction vector of the reconstructed point in the adjacent point cloud block and the normal direction vector of the projection plane corresponding to the adjacent point cloud block is smaller than the preset angle, and the preset angle can be set Smaller.
  • projecting the adjacent point cloud blocks onto the corresponding projection plane may be to convert the three-dimensional coordinates of the reconstructed points in the adjacent point cloud blocks into two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud blocks.
  • the three-dimensional coordinates of the reconstructed point can be determined according to the preset three-dimensional space coordinate system, and the reconstructed point can be converted into the two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud block according to the projection corresponding to the adjacent point cloud block.
  • the two-dimensional coordinate system on the plane is determined.
  • the directions of the two coordinate axes of the two-dimensional coordinate system can be aligned with the The directions of two coordinate axes of the three coordinate axes of the three-dimensional coordinate system are the same, so that the rotation and translation matrix between the three-dimensional plane and the two-dimensional plane can be determined relatively simply and quickly, so that the adjacent The three-dimensional coordinates of the reconstructed point in the point cloud block are converted into two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud block.
  • one or more adjacent reconstruction points of the current boundary point are reconstruction points that have an adjacent relationship with the current boundary point.
  • the current point cloud block can be filtered only according to the adjacent reconstruction points of the current boundary point in the adjacent point cloud block.
  • the current point cloud block can also be filtered according to the current point cloud block and the adjacent point cloud.
  • the adjacent reconstruction points of the current boundary point in the block filter the current point cloud block. Therefore, the following describes how to determine one or more adjacent reconstruction points of the current boundary point through two possible situations.
  • S702 may include the following steps (1)-(2).
  • the current pixel point can be the pixel point corresponding to the two-dimensional coordinate on the projection plane corresponding to the adjacent point cloud block by converting the three-dimensional coordinates of the current boundary point. It should be understood that the current boundary point is the same as the current pixel point.
  • the correspondence of is a correspondence in the projection relationship.
  • the current pixel point is to correspond to the current boundary point to indicate that the current pixel point is the pixel point corresponding to the current boundary point on the projection plane corresponding to the adjacent point cloud block.
  • step (1) can be implemented through the following steps (1-1)-(1-2).
  • the projection plane corresponding to the projected adjacent point cloud block is obtained, where the adjacent point cloud block that has been projected
  • the corresponding projection plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, and P and Q are positive integers.
  • the original point cloud corresponding to the reconstructed point cloud can be divided into one or more original point cloud blocks, and then Project each of the one or more original point cloud blocks onto the corresponding projection plane, that is, for any one of the one or more original point cloud blocks, the original point cloud block
  • the three-dimensional coordinates of the points in the point cloud block are converted to the two-dimensional coordinates on the projection plane corresponding to the original point cloud block.
  • the points corresponding to the two-dimensional coordinates are the points in the original point cloud block on the corresponding projection plane.
  • the patch information generating module 101 may store the projection plane projected by each original point cloud block, or not store it. It should be understood that the projection plane projected by each original point cloud block can be considered as the occupancy map of each original point cloud block.
  • the obtained projection plane corresponding to the projected adjacent point cloud block may include: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstructed points in adjacent point cloud blocks.
  • the projection plane corresponding to the adjacent point cloud block is a projection that does not contain any pixel corresponding to the reconstructed point. flat.
  • the P reconstruction points in the neighboring point cloud block can be projected onto the corresponding projection plane to obtain the P reconstruction points The projection plane of the corresponding Q pixels.
  • the obtained projection plane corresponding to the projected adjacent point cloud block may include: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstructed points in adjacent point cloud blocks.
  • multiple points in the three-dimensional space may correspond to the same point on the two-dimensional plane, that is, multiple reconstructed points in the reconstructed point cloud may correspond to the same pixel on the two-dimensional plane.
  • P reconstructed points in the adjacent point cloud block, and the P reconstructed points may correspond to Q pixel points on the projection plane corresponding to the adjacent point cloud block.
  • Q may be equal to P or less than P.
  • the projection corresponding to the projected adjacent point cloud block can be determined The distance between the pixel on the plane and the current pixel, and the pixel whose distance from the current pixel is less than the third distance threshold is regarded as the M adjacent pixels of the current pixel.
  • a circular area is drawn with the current pixel as the center and the radius of the first preset threshold, and the pixels included in the circular area M adjacent pixels as the current pixel.
  • a square area is drawn with the current pixel as the center and the second preset threshold is the side length, and the pixels included in the square area are taken as M adjacent pixels of the current pixel.
  • the M adjacent pixels of the current pixel can also be determined in other ways, which is not specifically limited in the embodiment of the present application. For example, referring to FIG. 9, determining the M adjacent pixels of the current pixel may be the pixels included in a circle with the current pixel as the center and R as the radius. Or the M adjacent pixels that determine the current pixel point may be pixels included in a square with the current pixel point as the center and 2R as the side length.
  • step (2) can be implemented by any one of the following two possible implementations.
  • the first possible implementation manner from the N first candidate reconstruction points, determine the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold as the adjacent reconstruction point of the current boundary point, and N
  • the first candidate reconstructed point is a reconstructed point corresponding to M adjacent pixel points in the reconstructed point cloud, and N is a positive integer.
  • the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block
  • the first depth difference is the first depth and each of the N first candidate reconstruction points.
  • the first depth is the distance of the current boundary point in the projection direction relative to the projection plane corresponding to the adjacent point cloud block
  • the first depth difference is the difference between the first depth and the N first candidate reconstruction points.
  • the distance between the M neighboring pixels and the current pixel is certain Within range.
  • the N first candidate reconstruction points corresponding to M adjacent pixel points are points in the three-dimensional space. Since multiple points in the three-dimensional space may correspond to the same point on the two-dimensional plane, that is, the reconstruction Multiple reconstructed points in the point cloud may correspond to the same pixel on the two-dimensional plane.
  • the depths of the multiple reconstruction points corresponding to the same pixel point relative to the projection plane corresponding to the adjacent point cloud block are different, that is, each of the N first candidate reconstruction points is relatively
  • the depth of the projection plane corresponding to the adjacent point cloud block may be different, that is, the depth between each first candidate reconstruction point in the N first candidate reconstruction points and the projection plane corresponding to the adjacent point cloud block
  • the distance may be different. Therefore, there may be a case where the difference between the first depth and the depth of some first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block is greater than the depth threshold. It should be understood that there is no adjacent relationship between these first candidate reconstruction points and the current boundary point, and therefore cannot be regarded as adjacent reconstruction points of the current boundary point.
  • the depth threshold can be set in advance according to usage requirements, which is not specifically limited in the embodiment of the present application.
  • the first candidate reconstruction point corresponding to the neighboring pixel point a'of the M neighboring pixels in FIG. 10 is the first candidate reconstruction point a
  • the first depth and the first candidate The depth difference between the reconstruction point a and the depth of the projection plane corresponding to the adjacent point cloud block is obviously greater than the depth threshold, so the first candidate reconstruction point a cannot be used as the neighboring reconstruction point of the current boundary point.
  • the second possible implementation manner from the N first candidate reconstruction points, determine that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point, and N
  • the first candidate reconstructed point is a reconstructed point corresponding to M adjacent pixel points in the reconstructed point cloud, and N is a positive integer.
  • the first distance is the distance between the current boundary point and each of the N first candidate reconstruction points.
  • the N first candidate reconstruction points corresponding to M adjacent pixels are points in three-dimensional space, based on the description of determining the M adjacent pixels of the current pixel in the above step (1), On the projection plane corresponding to the point cloud block, the distance between the M adjacent pixels and the current pixel is within a certain range. It can also be understood that the distance between the M adjacent pixels and the current pixel is relatively close.
  • the N first candidate reconstruction points corresponding to M adjacent pixels are points in three-dimensional space, and based on the above description, multiple reconstruction points in the reconstructed point cloud may correspond to the same one on the two-dimensional plane Pixel points, so there may be a first candidate reconstruction point with a first distance greater than the first distance threshold, that is, there may be a first candidate reconstruction point with a longer distance from the current boundary point.
  • the first candidate reconstruction point that is far from the current boundary point has no adjacent relationship with the current boundary point, and therefore cannot be regarded as the adjacent reconstruction point of the current boundary point. Therefore, it can be determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point.
  • the first distance threshold may be preset according to usage requirements, which is not specifically limited in the embodiment of the present application.
  • the first distance threshold is set to R
  • the first candidate reconstruction point corresponding to the adjacent pixel point b′ among the M adjacent pixels in FIG. 11 is the first candidate reconstruction point b
  • the first distance between the first candidate reconstruction point b and the current boundary point is significantly greater than the first distance threshold R, so the first candidate reconstruction point b cannot be used as the adjacent reconstruction point of the current boundary point.
  • the depth of each reconstructed point relative to the projection plane can be recorded, and after projection, the second pixel point corresponding to the reconstructed point can also be determined.
  • Dimensional coordinates In this way, when determining the distance between the current boundary point and each of the N first candidate reconstruction points, it can be based on the two-dimensional coordinates of the current pixel point and the current boundary point relative to the adjacent point cloud. The depth of the projection plane corresponding to the block, and the two-dimensional coordinates of M adjacent pixel points and the depth of each first candidate reconstruction point in the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block to make sure.
  • it can also be calculated in three-dimensional space. Specifically, it can be calculated based on the three-dimensional coordinates of the current boundary point and the three-dimensional value of each of the N first candidate reconstruction points. The coordinates are used to determine the distance between the current boundary point and each of the N first candidate reconstruction points.
  • N first candidate reconstruction points can be directly determined as L adjacent reconstruction points of the current boundary point, and N first candidate reconstruction points are M adjacent pixels. The point corresponds to the reconstructed point in the reconstructed point cloud, where N and L are equal.
  • S702 may include the following steps (3)-(4).
  • the S of the current pixel can also be determined from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block. Adjacent pixels.
  • step (3) can be implemented through the following steps (3-1)-step (3-2).
  • the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection corresponding to the adjacent point cloud block
  • the plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, and P and Q are positive integers.
  • step (3-1) is similar to the above step (1-1), so it will not be repeated here.
  • the current boundary point needs to be projected on the projection plane corresponding to the current point cloud block, and the current boundary point needs to be projected on the projection plane corresponding to the adjacent point cloud block of the current point cloud block. That is, the current boundary point has a current pixel point on the projection plane corresponding to the current point cloud block, and there is also a current pixel point on the projection plane corresponding to the adjacent point cloud block of the current point cloud block.
  • the current pixel point that projects the current boundary point onto the projection plane corresponding to the current point cloud block is called the current pixel point i
  • the current boundary point is projected onto the projection plane corresponding to the adjacent point cloud block of the current point cloud block
  • the current pixel on above is called the current pixel j.
  • the method of determining the current boundary point to be projected to the M neighboring pixels of the current pixel j on the projection plane corresponding to the neighboring point cloud block is the same as in the above step (1-2)
  • the methods for determining the M adjacent pixels of the current pixel are the same or similar, and will not be repeated here.
  • step (4) can be implemented in any one of the following two possible implementation ways.
  • step (4) may include: from the N first candidate reconstruction points, determining that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the phase of the current boundary point. Neighbor reconstruction points; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold as the neighbor reconstruction point of the current boundary point, and N first candidates
  • the reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstructed point cloud
  • the E second candidate reconstruction points are the corresponding reconstruction points of T adjacent pixels in the reconstructed point cloud
  • N And T are positive integers.
  • the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block
  • the second depth is the depth of the current boundary point relative to the projection plane corresponding to the current point cloud block.
  • the first depth difference is the depth difference between the first depth and the depth of each of the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block
  • the second The depth difference is the depth difference between the second depth and the depth of each of the E second candidate reconstruction points with respect to the projection plane corresponding to the current point cloud block.
  • the second depth is similar to the first depth
  • the second depth difference is similar to the first depth. Both the first depth and the first depth difference have been done in the first possible implementation of step (2) above Explanation, so the difference between the second depth and the second depth will not be repeated here.
  • the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold is the neighbor reconstruction point of the current boundary point.
  • the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold is determined as the neighbor reconstruction point of the current boundary point.
  • the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is determined to be the adjacent reconstruction point of the current boundary point in a similar manner.
  • the first method of step (2) please refer to the first method of step (2) above. The possible implementation methods are not repeated here. The following uses an example to illustrate this implementation.
  • the first candidate reconstruction point corresponding to the adjacent pixel point a'of the M adjacent pixels in FIG. 12 is the first candidate reconstruction point a
  • the first depth and the first candidate The depth difference between the reconstruction point a and the depth of the projection plane corresponding to the adjacent point cloud block is obviously greater than the depth threshold, so the first candidate reconstruction point a cannot be used as the neighboring reconstruction point of the current boundary point.
  • the second candidate reconstruction point corresponding to the adjacent pixel point c′ among the T adjacent pixels is the second candidate reconstruction point c, and the second depth corresponds to the second candidate reconstruction point c relative to the current point cloud block
  • the depth difference between the depths of the projection planes is obviously greater than the depth threshold, so the second candidate reconstruction point c cannot be used as the adjacent reconstruction point of the current boundary point.
  • step (4) may include: from the N first candidate reconstruction points, determining that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the phase of the current boundary point. Neighbor reconstruction points; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second distance is less than the first distance threshold as the neighbor reconstruction point of the current boundary point, and N first candidates
  • the reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstructed point cloud
  • the E second candidate reconstruction points are the corresponding reconstruction points of T adjacent pixels in the reconstructed point cloud
  • N And T are positive integers.
  • the first distance is the distance between the current boundary point and each of the N first candidate reconstruction points
  • the second distance is the current boundary point and the E second candidate reconstruction points. The distance between each second candidate reconstruction point in the points.
  • the second distance is similar to the first distance, and the first distance has been described in the second possible implementation manner of step (2) above, so the second distance will not be repeated here. The following uses an example to illustrate this implementation.
  • the first distance threshold is set to R in FIG.
  • the first candidate reconstruction point corresponding to the neighboring pixel point b′ among the M neighboring pixels is the first candidate reconstruction point b
  • the first candidate reconstruction point b between the first candidate reconstruction point b and the current boundary point A distance is obviously greater than the first distance threshold R, so the first candidate reconstruction point b cannot be used as the adjacent reconstruction point of the current boundary point.
  • the second candidate reconstruction point corresponding to the neighboring pixel point d'among the T neighboring pixels is the second candidate reconstruction point d, and the second distance between the second candidate reconstruction point d and the current boundary point is obvious It is greater than the first distance threshold R, so the second candidate reconstruction point d cannot be used as the adjacent reconstruction point of the current boundary point.
  • the reconstructed point has an adjacent relationship with the current boundary point, in addition to the reconstructed point in the adjacent point cloud block of the current point cloud block, it can also be the current point cloud block except the current point cloud block. Other reconstruction points outside the boundary point. Therefore, in the second possible situation, not only determine the adjacent reconstruction point of the current boundary point from the adjacent point cloud block of the current point cloud block, but also determine the adjacent reconstruction point of the current boundary point from the current point cloud block Point, making the determined result of the adjacent reconstruction point of the current boundary point more accurate.
  • the U adjacent reconstruction points of the current boundary point be determined according to the above two possible implementation manners and the S adjacent pixel points, but also other methods can be used To determine, for example, the reconstruction points corresponding to the S neighboring pixels of the current pixel in the reconstructed point cloud can be directly determined as U neighboring reconstruction points of the current boundary point.
  • the S adjacent pixels include the current boundary point projected to the current pixel point i on the projection plane corresponding to the current point cloud block, and the current boundary point projected to the adjacent point cloud block corresponding to the current pixel point i
  • the M adjacent pixels of the current pixel j on the projection plane therefore, in this case, the T adjacent pixels correspond to the E second candidate reconstruction points and M phases in the reconstructed point cloud.
  • the N first candidate reconstruction points corresponding to the neighboring pixel points in the reconstruction point cloud are U neighboring reconstruction points of the current boundary point. That is, in this case, the sum of E and N is U.
  • S702 So far, the description of S702 has been completed, that is, one or more adjacent reconstruction points of the current boundary point in the current point cloud block are determined through S702.
  • S703 is used to describe the filtering of the current point cloud block.
  • S703 Filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
  • filtering is an operation to remove defects such as noise points and gaps from the current point cloud block.
  • the filtering can be performed by the point cloud filtering module 114 in the encoder 100.
  • the filtering may be performed by the point cloud filtering module 207 in the decoder 200.
  • the implementation process of filtering the current point cloud block includes: determining the centroid position of one or more adjacent reconstruction points of the current boundary point. If the distance between the position of the centroid and the position of the current boundary point is greater than the second distance threshold, the position of the current boundary point is updated, where the updated position of the current boundary point corresponds to the position of the centroid.
  • the centroid position of one or more adjacent reconstruction points can be determined by the three-dimensional coordinates of one or more adjacent reconstruction points. Specifically, the sum of x coordinates in the three-dimensional coordinates of one or more adjacent reconstruction points can be determined, and the sum of x coordinates can be divided by the total number of one or more adjacent reconstruction points to obtain one or more The x-coordinates of the centroids of adjacent reconstruction points.
  • the sum of y coordinates in the three-dimensional coordinates of one or more adjacent reconstruction points can be determined, and the sum of y coordinates can be divided by the total number of one or more adjacent reconstruction points to obtain one or more The y-coordinates of the centroids of two adjacent reconstructed points; the sum of z-coordinates in the three-dimensional coordinates of one or more adjacent reconstructed points can be determined, and the sum of z-coordinates can be divided by one or more adjacent reconstructed points Get the z coordinate of the centroid of one or more adjacent reconstruction points.
  • the three-dimensional coordinates of the center of mass can be obtained, that is, the position of the center of mass.
  • updating the position of the current boundary point refers to updating the position of the current boundary point with the centroid position.
  • the centroid position of the one or more adjacent reconstruction points can be used to update the position of the current boundary point to remove the current boundary point, that is, to remove the noise point of the current point cloud block.
  • the filtering of the current point cloud block is completed.
  • the filtering of the current point cloud block is completed.
  • the current boundary point is a boundary point in the current point cloud block. The above filtering of the current boundary point can be applied to each boundary point in the current point cloud block. Filtering will not be repeated.
  • the filtering of the current point cloud block is completed.
  • the filtering of the reconstructed point cloud is completed.
  • the filtering of the current point cloud block is also applicable to the filtering of other point cloud blocks in the reconstructed point cloud, and the filtering of other point cloud blocks in the reconstructed point cloud will not be repeated here.
  • the present application uses the current boundary point of the current point cloud block as an object to explain the technical solution of the present application, and the filtering process of other boundary points of the current point cloud block will not be repeated.
  • this application can reduce the complexity of point cloud filtering and improve the coding and decoding efficiency for the entire filtering process of the reconstructed point cloud, that is, it can traverse the entire reconstructed point cloud, and analyze multiple/all point cloud blocks in the reconstructed point cloud. Multiple/all boundary points in the filter are filtered. Once the point cloud data scale is larger, the complexity reduction effect of the technical solution provided by this application is better.
  • the neighboring point cloud blocks of the current point cloud block are first determined from one or more point cloud blocks included in the reconstructed point cloud. Since the pixel points of the adjacent point cloud block projected on the corresponding projection plane correspond to the reconstructed point in the adjacent point cloud block, the current point cloud block can be determined by the projection plane corresponding to the adjacent point cloud block. One or more adjacent reconstruction points of the boundary point. Finally, the current point cloud block is filtered according to one or more adjacent reconstruction points of the current boundary point to obtain a smooth reconstructed point cloud.
  • the point cloud filtering method can determine the adjacent reconstruction points of the current boundary point in the three-dimensional space through the projection plane of the two-dimensional space, the process of determining the adjacent reconstruction points of the current boundary point is simpler, thereby reducing The complexity of filtering improves coding efficiency.
  • FIG. 14 is a schematic flowchart of a point cloud encoding method provided by an embodiment of this application.
  • the execution subject of this embodiment may be an encoder. As shown in Figure 14, the method may include:
  • the target filtering method includes any point cloud filtering method provided in the embodiments of the present application. For example, it may be the point cloud filtering method shown in FIG. 7.
  • At least two filtering methods there may be at least two filtering methods.
  • One of the at least two filtering methods may be any point cloud filtering method provided in the embodiments of this application, and the other may be points provided in the prior art or in the future. Cloud filtering method.
  • the indication information may specifically be the index of the target filtering method.
  • the encoder can pre-appoint the indexes of at least two point cloud filtering methods supported by the encoder, and then, after the encoder determines the target filtering method, the index of the target filtering method is included as the indication information into the code stream .
  • the embodiment of the present application does not limit how the encoder determines which of the at least two filtering methods supported by the encoder is the target filtering method.
  • S1401 Compile the instruction information into the code stream.
  • the indication information is frame-level information.
  • FIG. 15 is a schematic flowchart of a point cloud decoding method provided by an embodiment of this application.
  • the execution subject of this embodiment may be a decoder. As shown in Figure 15, the method may include:
  • S1501 Parse the code stream to obtain indication information, which is used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method; the target filtering method includes any point cloud filtering provided in the embodiments of this application method. For example, it may be the point cloud filtering method shown in FIG. 7.
  • the indication information is frame-level information.
  • the point cloud decoding method provided in this embodiment corresponds to the point cloud encoding method provided in FIG. 14.
  • the above mainly introduces the solutions provided by the embodiments of the present application from the perspective of a method.
  • it includes hardware structures and/or software modules corresponding to performing each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software driven hardware depends on the specific application of the technical solution and design constraints. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
  • the embodiments of the present application may divide the encoder/decoder function modules according to the above method examples, for example, each function module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules can be implemented in the form of hardware or software function modules. It should be noted that the division of the modules in the embodiments of the present application is schematic, and is only a division of logical functions. In actual implementation, there may be another division manner.
  • FIG. 16 is a schematic block diagram of a point cloud filtering device 1600 according to an embodiment of the application.
  • the point cloud filtering device 1600 may include a point set determining unit 1601 and a filtering processing unit 1602.
  • the point cloud filtering device 1600 may be the point cloud filtering module 114 in FIG. 2, and the point cloud filtering device 1600 may be the point cloud filtering module 207 in FIG. 6.
  • the point set determining unit 1601 is configured to determine the adjacent point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud;
  • the projection plane corresponding to the block determines one or more adjacent reconstruction points of the current boundary point in the current point cloud block.
  • the filtering processing unit 1602 is configured to filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point. For example, in conjunction with FIG. 7, the point set determining unit 1601 may be used to perform S701 and S702, and the filtering processing unit 1602 may be used to perform S703.
  • the point set determining unit 1601 is specifically configured to: determine M adjacent pixel points of the current pixel point from the projection plane corresponding to the adjacent point cloud block, where the current boundary point corresponds to the phase
  • M is a positive integer. According to the M adjacent pixel points, determine the L adjacent reconstruction points of the current boundary point.
  • the point set determining unit 1601 is specifically configured to: when the current boundary point is After the projection is performed on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection plane corresponding to the adjacent point cloud block includes: one corresponding to the current boundary point
  • the current pixel and Q pixels corresponding to P reconstructed points in the adjacent point cloud block, P and Q are positive integers. Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block that has been projected, and the M adjacent pixel points are included in the adjacent point cloud block and correspond to the P reconstructed points included Of Q pixels.
  • the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, where the first depth difference is the first depth and the N first candidates respectively The depth difference between the depth of each first candidate reconstruction point in the reconstruction point relative to the projection plane corresponding to the adjacent point cloud block, the first depth is the projection plane corresponding to the current boundary point relative to the adjacent point cloud block
  • the N first candidate reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstruction point cloud, and N is a positive integer.
  • the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point, where the first distance is the current boundary point and the N first candidate reconstruction points
  • the distance between each first candidate reconstruction point in, N first candidate reconstruction points are the reconstruction points corresponding to M adjacent pixels in the reconstruction point cloud, and N is a positive integer.
  • the point set determining unit 1601 is specifically configured to: determine S adjacent pixel points of the current pixel point from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block , Where the current boundary point corresponds to the current pixel point in the projection plane corresponding to the adjacent point cloud block, and S is a positive integer; U adjacent reconstruction points of the current boundary point are determined according to the S adjacent pixel points.
  • the point set determining unit 1601 when the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the adjacent point cloud block corresponds to the projection plane Including: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, P and Q are positive integers; from the projection plane corresponding to the current point cloud block Determine the current boundary point to be projected to the current pixel point i on the projection plane corresponding to the current point cloud block corresponding to the current pixel point i on the projection plane to determine the current boundary point projection to the phase
  • the adjacent point cloud block corresponds to the M adjacent pixels of the current pixel j on the projection plane, and the T adjacent pixels are included in the Y pixels corresponding to the
  • the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, and from the E second candidate reconstruction points, the corresponding second depth difference is determined
  • the second candidate reconstruction point whose value is less than the depth threshold is the adjacent reconstruction point of the current boundary point, where the first depth difference is the first depth difference with each of the N first candidate reconstruction points.
  • the second depth difference is the second depth and each of the E second candidate reconstruction points.
  • the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block
  • the second depth is the current boundary point relative to the current
  • the N first candidate reconstruction points are the corresponding reconstruction points of the M neighboring pixels in the reconstruction point cloud
  • the E second candidate reconstruction points are T neighbors
  • the pixel point corresponds to the reconstructed point in the reconstructed point cloud
  • N and T are positive integers.
  • the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point. From the E second candidate reconstruction points, it is determined that the corresponding second distance is less than The second candidate reconstruction point of the first distance threshold is the adjacent reconstruction point of the current boundary point, where the first distance is the difference between the current boundary point and each of the N first candidate reconstruction points The second distance is the distance between the current boundary point and each second candidate reconstruction point in the E second candidate reconstruction points.
  • the N first candidate reconstruction points are M adjacent pixel points.
  • the corresponding reconstructed points in the reconstructed point cloud are reconstructed.
  • the E second candidate reconstructed points are the reconstructed points corresponding to the T adjacent pixel points in the reconstructed point cloud, and N and T are positive integers.
  • the point set determining unit 1601 is specifically configured to: determine The bounding box of each point cloud block in one or more point cloud blocks; from one or more point cloud blocks, determine the point cloud block whose bounding box overlaps with the bounding box of the current point cloud block as the current point cloud block Adjacent point cloud block.
  • the point set determining unit 1601 is specifically configured to: determine The expanded bounding box of each point cloud block in one or more point cloud blocks.
  • the expanded bounding box is obtained by expanding the bounding box of each point cloud block in one or more point cloud blocks; from one or more points Among cloud blocks, it is determined that the point cloud block in which the extended bounding box and the extended bounding box of the current point cloud block overlap are the adjacent point cloud blocks of the current point cloud block.
  • the point set determining unit 1601 is specifically configured to: determine The bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, and the three-dimensional volume corresponding to the current boundary point is the spatial volume where the adjacent reconstruction point of the current boundary point is located; From one or more point cloud blocks, select a point cloud block in which the bounding box, the bounding box of the current point cloud block and the three-dimensional space corresponding to the current boundary point have overlapping parts as the adjacent point cloud block of the current point cloud block.
  • the point set determining unit 1601 is specifically configured to: determine The expanded bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional space corresponding to the current boundary point.
  • the expanded bounding box is the expansion of the bounding box of each point cloud block in one or more point cloud blocks Obtained, the three-dimensional volume corresponding to the current boundary point is the spatial volume where the adjacent reconstruction point of the current boundary point is located; from one or more point cloud blocks, select the extended bounding box and the extended bounding box of the current point cloud block.
  • the point cloud blocks that have overlapping parts in the three-dimensional space corresponding to the current boundary point are adjacent point cloud blocks of the current point cloud block.
  • the filtering processing unit 1602 is specifically configured to: determine the centroid position of one or more adjacent reconstruction points of the current boundary point; if the distance between the centroid position and the position of the current boundary point is greater than The second distance threshold is to update the position of the current boundary point, where the updated position of the current boundary point corresponds to the centroid position.
  • the units in the point cloud filtering device 1600 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they have the ability to fully implement the point cloud of the present application.
  • the functional main body of the expansion and deformation of these steps please refer to the introduction of the corresponding method above for details. For the sake of brevity, this article will not repeat them.
  • FIG. 17 is a schematic block diagram of an encoder 1700 according to an embodiment of the application.
  • the encoder 1700 may include a point cloud filtering module 1701 and an auxiliary information encoding module 1702.
  • the encoder 1700 may be the encoder 100 in FIG. 1.
  • the point cloud filtering module 1701 may be the point cloud filtering module 114 in FIG. 2
  • the auxiliary information encoding module 1702 may be the auxiliary information encoding in FIG. Module 109.
  • the point cloud filtering module 1701 is configured to perform filtering processing on the reconstructed point cloud of the point cloud to be coded according to the target filtering method.
  • the auxiliary information encoding module 1702 is used to determine the instruction information, and to encode the instruction information into the code stream.
  • the indication information is used to indicate whether to process the reconstructed point cloud of the to-be-coded point cloud according to the target filtering method; the target filtering method may be the point cloud filtering method shown in FIG. 7 provided above.
  • the point cloud filtering module 1701 further includes a point set determining unit 1703 and a filtering processing unit 1704 for processing the reconstructed point cloud of the point cloud to be coded according to the target filtering method.
  • the steps performed by the point set determining unit 1703 can refer to the steps performed by the aforementioned point set determining unit 1601
  • the steps performed by the filter processing unit 1704 can refer to the steps performed by the aforementioned filter processing unit 1602, which will not be repeated here.
  • modules in the encoder 1700 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they are capable of fully implementing the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for details of each step and the main function of the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
  • FIG. 18 is a schematic block diagram of a decoder 1800 according to an embodiment of the application.
  • the decoder 1800 may include: an auxiliary information decoding module 1801 and a point cloud filtering module 1802.
  • the decoder 1800 may be the decoder 200 in FIG. 1.
  • the auxiliary information decoding module 1801 may be the auxiliary information decoding module 204 in FIG. 6, and the point cloud filter module 1802 may be the point cloud filter in FIG. 6.
  • Module 207 may be the point cloud filter in FIG. 6.
  • the auxiliary information decoding module 1801 is used to parse the code stream to obtain indication information, which is used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method; the target filtering method may be provided above The point cloud filtering method shown in Figure 7.
  • the point cloud filtering module 1802 is configured to perform filtering processing on the reconstructed point cloud of the point cloud to be decoded according to the target filtering method when the instruction information is used to indicate that the reconstructed point cloud of the point cloud to be decoded is processed according to the target filtering method.
  • the steps performed by the auxiliary information decoding module 1801 may refer to the steps performed by the above-mentioned auxiliary information decoding module 1702, which will not be repeated here.
  • modules in the decoder 1800 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they are capable of fully implementing the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for details of each step and the main function of the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
  • FIG. 19 is a schematic block diagram of an encoder 1900 according to an embodiment of the application.
  • the encoder 1900 may include a point cloud filtering module 1901 and a texture map generating module 1902.
  • the encoder 1900 may be the encoder 100 in FIG. 1.
  • the point cloud filtering module 1901 may be the point cloud filtering module 114 in FIG. 2
  • the texture map generation module 1902 may be the texture map generation in FIG. 2.
  • the point cloud filtering module 1901 is the aforementioned point cloud filtering device 1600.
  • the texture map generating module 1902 is configured to generate a texture map of the point cloud to be encoded according to the reconstructed point cloud after the filtering process.
  • the point cloud filtering module 1901 is used to determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be coded, and pass the neighboring point cloud blocks.
  • the projection plane corresponding to the block determines one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filters the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
  • the texture map generating module 1902 is configured to generate a texture map of the point cloud to be encoded according to the reconstructed point cloud after the filtering process.
  • the point cloud filtering module 1901 also includes a point set determining unit 1903 (not shown in the figure) and a filtering processing unit 1904 (not shown in the figure), which are used to treat according to the target filtering method.
  • the reconstructed point cloud of the coded point cloud is processed.
  • the steps performed by the point set determining unit 1903 can refer to the steps performed by the aforementioned point set determining unit 1601
  • the steps performed by the filter processing unit 1904 can refer to the steps performed by the aforementioned filter processing unit 1602, which will not be repeated here.
  • the various modules in the encoder 1900 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they have the ability to fully implement the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for the details of the steps in the steps and the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
  • FIG. 20 is a schematic block diagram of a decoder 2000 provided by an embodiment of this application.
  • the decoder 2000 may include: a point cloud filtering module 2001 and a texture information reconstruction module 2002.
  • the decoder 2000 may be the decoder 200 in FIG. 1.
  • the point cloud filtering module 2001 may be the point cloud filtering module 207 in FIG. 6, and the texture information reconstruction module 2002 may be the texture information in FIG. Refactoring module 208.
  • the point cloud filtering module 2001 is the point cloud filtering device 1600 in FIG. 16; the texture information reconstruction module 2002 is used to reconstruct the texture information of the reconstructed point cloud after the filtering process.
  • the point cloud filtering module 2001 is used to determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be coded, and pass the neighboring point cloud blocks
  • the projection plane corresponding to the block determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point; texture;
  • the information reconstruction module 2002 is used to reconstruct the texture information of the reconstructed point cloud after filtering processing.
  • the point cloud filtering module 2001 also includes a point set determining unit 2003 (not shown in the figure) and a filtering processing unit 2004 (not shown in the figure), which are used to treat according to the target filtering method.
  • the reconstructed point cloud of the coded point cloud is processed.
  • the steps performed by the point set determining unit 2003 can refer to the steps performed by the aforementioned point set determining unit 1601
  • the steps performed by the filtering processing unit 2004 can refer to the steps performed by the aforementioned filtering processing unit 1602, which will not be repeated here.
  • modules in the decoder 2000 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they have the ability to fully implement the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for the details of the steps in the steps and the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
  • FIG. 21 is a schematic block diagram of an implementation manner of an encoding device or a decoding device (referred to as a decoding device 2100 for short) used in an embodiment of the present application.
  • the decoding device 2100 may include a processor 2110, a memory 2130, and a bus system 2150.
  • the processor 2110 and the memory 2130 are connected through a bus system 2150.
  • the memory 2130 is used to store instructions, and the processor 2110 is used to execute instructions stored in the memory 2130 to execute various point cloud filtering methods described in this application. In order to avoid repetition, they are not described in detail here.
  • the processor 2110 may be a central processing unit (CPU), and the processor 2110 may also be other general-purpose processors, DSP, ASIC, FPGA or other programmable logic devices, discrete gates. Or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory 2130 may include a ROM device or a RAM device. Any other suitable type of storage device can also be used as the memory 2130.
  • the memory 2130 may include code and data 2131 accessed by the processor 2110 using the bus 2150.
  • the memory 2130 may further include an operating system 2133 and an application program 2135, the application program 2135 including allowing the processor 2110 to execute the point cloud encoding or decoding method described in this application (especially the method for filtering the current point cloud block described in this application) At least one program.
  • the application program 2135 may include applications 1 to N, which further include a point cloud encoding or decoding application (referred to as a point cloud decoding application) that executes the point cloud encoding or decoding method described in this application.
  • the bus system 2150 may also include a power bus, a control bus, and a status signal bus. However, for clear description, various buses are marked as the bus system 2150 in the figure.
  • the decoding device 2100 may further include one or more output devices, such as a display 2170.
  • the display 2170 may be a touch-sensitive display that merges the display with a touch-sensitive unit operable to sense touch input.
  • the display 2170 may be connected to the processor 2110 via the bus 2150.
  • the computer-readable medium may include a computer-readable storage medium, which corresponds to a tangible medium, such as a data storage medium, or a communication medium that includes any medium that facilitates the transfer of a computer program from one place to another (for example, according to a communication protocol) .
  • computer-readable media may generally correspond to non-transitory tangible computer-readable storage media, or communication media, such as signals or carrier waves.
  • Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the techniques described in this application.
  • the computer program product may include a computer-readable medium.
  • such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or may be used to store instructions or data Any other medium that can be accessed by a computer in the form of a structured program code. And, any connection is properly called a computer-readable medium.
  • any connection is properly called a computer-readable medium.
  • coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, and microwave
  • coaxial cable Wire, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio, and microwave are included in the definition of media.
  • the computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other temporary media, but are actually directed to non-transitory tangible storage media.
  • magnetic disks and optical disks include compact disks (CD), laser disks, optical disks, DVDs, and Blu-ray disks, where disks usually reproduce data magnetically, and optical disks use lasers to reproduce data optically. Combinations of the above should also be included in the scope of computer-readable media.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable logic arrays
  • the term "processor” as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein.
  • the functions described in the various illustrative logical blocks, modules, and steps described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or in combination Into the combined codec.
  • the techniques can be fully implemented in one or more circuits or logic elements. Under one example, various illustrative logical blocks, units, and modules in the encoder 100 and the decoder 200 may be understood as corresponding circuit devices or logic elements.
  • the technology of the present application may be implemented in a variety of devices or equipment, including wireless handsets, integrated circuits (ICs), or a set of ICs (eg, chipsets).
  • ICs integrated circuits
  • a set of ICs eg, chipsets
  • Various components, modules, or units are described in this application to emphasize the functional aspects of the device for performing the disclosed technology, but they do not necessarily need to be implemented by different hardware units.
  • various units can be combined with appropriate software and/or firmware in the codec hardware unit, or by interoperating hardware units (including one or more processors as described above). provide.

Abstract

Disclosed are a point cloud filtering method and device as well as a storage medium, relating to the technical field of data processing. The method comprises the following steps: determining, from one or more point cloud blocks included in a reconstructed point clouds, an point cloud block adjacent to a current point cloud block (S701); determining one or more adjacent reconstructed points of the current boundary point in the current point cloud block by means of a projection plane corresponding to the adjacent point cloud block of the current point cloud block (S702); and filtering the current point cloud block according to the one or more adjacent reconstructed points of the current boundary point (S703). According to the point cloud filtering method, the adjacent reconstructed point of the current boundary point in a three-dimensional space can be determined by the projection plane in a two-dimensional space, thereby simplifying the process of determining the adjacent reconstructed point of the current boundary point, reducing the filtering complexity, and improving the coding efficiency.

Description

点云滤波方法、装置及存储介质Point cloud filtering method, device and storage medium
本申请要求于2019年01月15日提交的申请号为201910037240.1、发明名称为“点云滤波方法、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on January 15, 2019 with the application number 201910037240.1 and the invention title "Point cloud filtering method, device and storage medium", the entire content of which is incorporated into this application by reference.
技术领域Technical field
本申请涉及数据处理技术领域,特别涉及一种点云滤波方法、装置及存储介质。This application relates to the field of data processing technology, and in particular to a point cloud filtering method, device and storage medium.
背景技术Background technique
随着三维传感技术的不断发展,点云的采集越来越便捷,并且采集到的点云的质量也越来越高,规模也越来越大。为了对大规模的点云进行高效的存储和传输,通常需要对点云进行编码和解码。在编码的过程中,需要对采集到的点云进行分割以得到多个点云块,并通过多个点云块生成点云占用图,并对点云占用图进行下采样处理。通过下采样处理后的点云占用图进行点云几何的重构,以得到重构点云。而且在解码的过程中,也会通过下采样处理后的点云占用图进行点云几何的重构,以得到重构点云。然而,由于下采样处理通常会降低点云占用图的分辨率,因此重构点云中每个点云块的边界处会存在噪声点。并且在点云几何的重构过程中,每个点云块都会存在重构误差,因此会增加重构点云中相邻两个点云块之间的距离,从而在两个相邻点云块之间产生缝隙。由于噪声点和缝隙等瑕疵会降低重构点云的质量,因此需要对重构点云进行滤波,以去除噪声点和缝隙等瑕疵来提高重构点云的质量。With the continuous development of 3D sensing technology, the collection of point clouds has become more and more convenient, and the quality of the collected point clouds has become higher and higher, and the scale has become larger. In order to efficiently store and transmit large-scale point clouds, it is usually necessary to encode and decode point clouds. In the encoding process, the collected point cloud needs to be segmented to obtain multiple point cloud blocks, and a point cloud occupancy map is generated from the multiple point cloud blocks, and the point cloud occupancy map is down-sampled. The point cloud geometry is reconstructed through the point cloud occupancy map after down-sampling processing to obtain the reconstructed point cloud. Moreover, in the decoding process, the point cloud geometry is reconstructed through the point cloud occupancy map after down-sampling processing to obtain the reconstructed point cloud. However, since the down-sampling process usually reduces the resolution of the point cloud occupancy map, there will be noise points at the boundary of each point cloud block in the reconstructed point cloud. And in the reconstruction process of point cloud geometry, each point cloud block will have reconstruction error, so it will increase the distance between two adjacent point cloud blocks in the reconstructed point cloud, so that the two adjacent point cloud There are gaps between the blocks. Since defects such as noise points and gaps will reduce the quality of the reconstructed point cloud, it is necessary to filter the reconstructed point cloud to remove the defects such as noise points and gaps to improve the quality of the reconstructed point cloud.
相关技术中,提供了一种点云滤波方法,包括:通过点云占用图确定重构点云中每个点云块的边界点,将重构点云的包围盒划分为多个三维网格,并确定落入每个三维网格中的重构点,从而按照落入每个三维网格中的重构点确定每个三维网格的质心位置。对于每个点云块中的任一边界点,确定这个边界点落入的三维网格,并确定与这个边界点落入的三维网格相邻的至少一个三维网格。确定该至少一个三维网格的质心位置,并将该至少一个三维网络的质心位置作为这个边界点的邻域重构点的质心位置,从而确定这个边界点所处位置与这个边界点的邻域重构点的质心位置之间的距离。如果该距离大于距离阈值,则用该至少一个三维网格的质心位置更新这个边界点的位置。以此类推,直到遍历完重构点云的所有点云块中的所有边界点,以实现重构点云的滤波。In the related art, a point cloud filtering method is provided, including: determining the boundary point of each point cloud block in the reconstructed point cloud through the point cloud occupancy map, and dividing the bounding box of the reconstructed point cloud into multiple three-dimensional grids , And determine the reconstruction points that fall into each three-dimensional grid, so as to determine the centroid position of each three-dimensional grid according to the reconstruction points that fall into each three-dimensional grid. For any boundary point in each point cloud block, determine the three-dimensional grid into which the boundary point falls, and determine at least one three-dimensional grid adjacent to the three-dimensional grid into which the boundary point falls. Determine the centroid position of the at least one three-dimensional grid, and use the centroid position of the at least one three-dimensional network as the neighborhood of the boundary point to reconstruct the centroid position of the point to determine the location of the boundary point and the neighborhood of the boundary point The distance between the centroid positions of the reconstructed points. If the distance is greater than the distance threshold, the position of the boundary point is updated with the centroid position of the at least one three-dimensional grid. By analogy, until all the boundary points in all the point cloud blocks of the reconstructed point cloud have been traversed to achieve the filtering of the reconstructed point cloud.
然而,上述划分三维网格、确定相邻的至少一个三维网格等步骤均是在三维空间中实现,而且上述过程需要确定每个三维网格的质心位置,但大部分的三维网格的质心位置后续不会被用到,因此上述过程较为复杂,而且还需要额外的内存来存储每个三维网格的质心位置。However, the steps of dividing the three-dimensional grid and determining at least one adjacent three-dimensional grid are all implemented in three-dimensional space, and the above process needs to determine the centroid position of each three-dimensional grid, but the centroid of most three-dimensional grids The position will not be used later, so the above process is more complicated, and additional memory is needed to store the centroid position of each three-dimensional grid.
发明内容Summary of the invention
本申请提供了一种点云滤波方法、装置及存储介质,有助于提高点云滤波的效率。The present application provides a point cloud filtering method, device, and storage medium, which help improve the efficiency of point cloud filtering.
第一方面,提供了一种点云滤波方法,包括:从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块;通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点;根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波。In a first aspect, a point cloud filtering method is provided, which includes: determining the neighboring point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud; Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block; filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
如果不加说明,第一方面或第一方面的任意一种可能的设计中的执行主体可以是编码器或者解码器。If no description is given, the execution subject in the first aspect or any possible design of the first aspect may be an encoder or a decoder.
需要说明的是,重构点云可以是由如图2所示的编码器100中的点云重构模块113对当前帧点云的几何进行重构,得到的点云。重构点云也可以是由如图6所示的解码器200中的点云重构模块206对当前帧点云的几何进行重构,得到的点云。一个或多个点云块可以是重构点云中的所有点云块,当然该一个或多个点云块也可以是该重构点云中的部分点云块。当前点云块可以是重构点云包括的一个或多个点云块中的任一点云块,当然当前点云块也可以是重构点云包括的一个或多个点云块中的某一指定的点云块。当前点云块的相邻点云块是与当前点云块在三维空间中具有相邻关系的点云块。另外,当前边界点可以是当前点云块中的任一边界点,当前边界点也可以是当前点云块中某一指定的边界点。It should be noted that the reconstructed point cloud may be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 113 in the encoder 100 as shown in FIG. 2. The reconstructed point cloud may also be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 206 in the decoder 200 as shown in FIG. 6. The one or more point cloud blocks may be all the point cloud blocks in the reconstructed point cloud. Of course, the one or more point cloud blocks may also be part of the point cloud blocks in the reconstructed point cloud. The current point cloud block may be any one of the one or more point cloud blocks included in the reconstructed point cloud. Of course, the current point cloud block may also be one of the one or more point cloud blocks included in the reconstructed point cloud. A designated point cloud block. The adjacent point cloud block of the current point cloud block is a point cloud block that has an adjacent relationship with the current point cloud block in a three-dimensional space. In addition, the current boundary point can be any boundary point in the current point cloud block, and the current boundary point can also be a specified boundary point in the current point cloud block.
本技术方案中,由于相邻点云块投影到对应的投影平面上的像素点与相邻点云块中的重构点对应,因此可以通过该相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点。最后再根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波,得到平滑的重构点云。由于该点云滤波方法通过二维空间的投影平面就可以确定出当前边界点在三维空间中的相邻重构点,使得确定当前边界点的相邻重构点的过程更加简单,进而降低了滤波的复杂度,提高了编码效率。In this technical solution, since the pixel points projected by the adjacent point cloud block onto the corresponding projection plane correspond to the reconstructed point in the adjacent point cloud block, the current projection plane can be determined by the adjacent point cloud block. One or more adjacent reconstruction points of the current boundary point in the point cloud block. Finally, the current point cloud block is filtered according to one or more adjacent reconstruction points of the current boundary point to obtain a smooth reconstructed point cloud. Since the point cloud filtering method can determine the adjacent reconstruction points of the current boundary point in the three-dimensional space through the projection plane of the two-dimensional space, the process of determining the adjacent reconstruction points of the current boundary point is simpler, thereby reducing The complexity of filtering improves coding efficiency.
在本申请中,当前点云块中可能存在当前边界点的相邻重构点,当前点云块的相邻点云块中也可能存在当前边界点的相邻重构点。但是,在一种可能的情况中,可以只从当前点云块的相邻点云块中确定当前边界点的相邻重构点。In this application, the current point cloud block may have adjacent reconstructed points of the current boundary point, and the adjacent point cloud blocks of the current point cloud block may also have adjacent reconstructed points of the current boundary point. However, in a possible situation, the neighboring reconstruction points of the current boundary point may be determined only from the neighboring point cloud blocks of the current point cloud block.
也即是,在一种可能的设计中,通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,包括:从相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,其中,当前边界点对应于相邻点云块对应的投影平面中的当前像素点,M为正整数;根据当前像素点的M个相邻像素点,确定当前边界点的L个相邻重构点,L为正整数。That is, in a possible design, one or more adjacent reconstruction points of the current boundary point in the current point cloud block are determined through the projection plane corresponding to the adjacent point cloud block, including: In the projection plane corresponding to the block, determine M neighboring pixels of the current pixel, where the current boundary point corresponds to the current pixel in the projection plane corresponding to the neighboring point cloud block, and M is a positive integer; according to the current pixel Determine the L adjacent reconstruction points of the current boundary point, and L is a positive integer.
应当理解的是,当前边界点与当前像素点的对应是投影关系上的一种对应。当前像素点的说法是为了与当前边界点对应,以表示当前像素点是当前边界点在相邻点云块对应的投影平面上对应的像素点。另外,当前边界点的L个相邻重构点,即是当前边界点的一个或多个相邻重构点。也就是说,L为大于或等于1的整数。It should be understood that the correspondence between the current boundary point and the current pixel point is a correspondence in a projection relationship. The current pixel point is to correspond to the current boundary point to indicate that the current pixel point is the pixel point corresponding to the current boundary point on the projection plane corresponding to the adjacent point cloud block. In addition, the L adjacent reconstruction points of the current boundary point are one or more adjacent reconstruction points of the current boundary point. That is, L is an integer greater than or equal to 1.
在一种可能的设计中,从相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,包括:当当前边界点在相邻点云块对应的投影平面上进行投影后,获得经投影过的相邻点云块对应的投影平面,其中,经投影过的相邻点云块对应的投影平面上包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点,P和Q为正整数;从经投影过的相邻点云块对应的投影平面上确定当前像素点的M个相邻像素点,M个相邻像素点被包括于相邻点云块包括的P个重构点所对应的Q个像素点中。In a possible design, from the projection plane corresponding to the adjacent point cloud block, determine the M adjacent pixel points of the current pixel, including: when the current boundary point is on the projection plane corresponding to the adjacent point cloud block After projection, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection plane corresponding to the projected adjacent point cloud block includes: a current pixel point corresponding to the current boundary point and the adjacent point cloud The Q pixels corresponding to the P reconstructed points in the point cloud block, P and Q are positive integers; the M adjacent pixels of the current pixel are determined from the projection plane corresponding to the adjacent point cloud block that has been projected , M adjacent pixel points are included in the Q pixel points corresponding to the P reconstructed points included in the adjacent point cloud block.
由于三维空间中的多个点可能对应二维平面上的同一个点,也即是,重构点云中的多个重构点可能对应二维平面上的同一个像素点,因此,对于相邻点云块中的P个重构点,该P个重构点在相邻点云块对应的投影平面上可能对应Q个像素点。其中,Q可能与P相等,也可能小于P。后续,对于M个相邻像素点对应的N个第一候选重构点、S个相邻像素点对应的U个相邻重构点、T个相邻像素点对应的E个第二候选重构点,以及X个重构点对应的Y个像素点是同样的道理,后续不再赘述。Since multiple points in the three-dimensional space may correspond to the same point on the two-dimensional plane, that is, multiple reconstructed points in the reconstructed point cloud may correspond to the same pixel on the two-dimensional plane. P reconstructed points in the adjacent point cloud block, and the P reconstructed points may correspond to Q pixel points on the projection plane corresponding to the adjacent point cloud block. Among them, Q may be equal to P or less than P. Subsequently, for N first candidate reconstruction points corresponding to M adjacent pixels, U adjacent reconstruction points corresponding to S adjacent pixels, and E second candidate reconstruction points corresponding to T adjacent pixels The construction points and the Y pixels corresponding to the X reconstruction points are the same, and will not be repeated in the following.
在一种可能的设计中,根据当前像素点的M个相邻像素点,确定当前边界点的L个相邻重构点,包括:从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点,其中,第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值,第一深度为当前边界点相对于相邻点云块对应的投影平面的深度,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,N为正整数。In a possible design, determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixels of the current pixel point includes: determining the corresponding first reconstruction point from the N first candidate reconstruction points A first candidate reconstruction point with a depth difference less than a depth threshold is an adjacent reconstruction point of the current boundary point, where the first depth difference is the first depth and each of the N first candidate reconstruction points. The depth difference between the depth of a candidate reconstruction point relative to the projection plane corresponding to the adjacent point cloud block, the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, N first Candidate reconstruction points are the reconstruction points corresponding to M adjacent pixels in the reconstruction point cloud, and N is a positive integer.
由于M个相邻像素点与当前像素点存在相邻关系,且N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,而且基于上述描述,重构点云中的多个重构点可能对应二维平面上的同一个像素点,此时,对应同一像素点的多个重构点相对于相邻点云块对应的投影平面的深度不同,因此,为了提高确定当前边界点的相邻重构点的准确性,可以通过第一深度差值,从N个第一候选重构点中选择当前边界点的一个或多个相邻重构点。Since there is an adjacent relationship between the M adjacent pixels and the current pixel, and the N first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixels in the reconstructed point cloud, and based on the above description, Multiple reconstructed points in the point cloud may correspond to the same pixel on the two-dimensional plane. At this time, the multiple reconstructed points corresponding to the same pixel have different depths relative to the projection plane corresponding to the adjacent point cloud block. Therefore, in order to improve the accuracy of determining the neighboring reconstruction points of the current boundary point, one or more neighboring reconstruction points of the current boundary point can be selected from N first candidate reconstruction points through the first depth difference. .
在一种可能的设计中,根据当前像素点的M个相邻像素点,确定当前边界点的L个相邻重构点,包括:从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点,其中,第一距离为当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,N为正整数。In a possible design, determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixels of the current pixel point includes: determining the corresponding first reconstruction point from the N first candidate reconstruction points A first candidate reconstruction point with a distance less than the first distance threshold is the adjacent reconstruction point of the current boundary point, where the first distance is the current boundary point and each of the N first candidate reconstruction points. For the distance between the structure points, the N first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixel points in the reconstruction point cloud, and N is a positive integer.
由于M个相邻像素点与当前像素点存在相邻关系,且N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,而且基于上述描述,重构点云中的多个重构点可能对应二维平面上的同一个像素点,此时,对应同一像素点的多个重构点相对于相邻点云块对应的投影平面的深度不同,因此,为了提高当前边界点的相邻重构点的准确性,可以根据当前像素点的二维坐标和当前边界点相对于相邻点云块对应的投影平面的深度,以及M个相邻像素点的二维坐标和N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度,来确定第一距离,进而通过第一距离,从N个第一候选重构点中选择当前边界点的一个或多个相邻重构点。对于这种情况,可以直接基于当前边界点在相邻点云块对应的投影平面上的投影情况,以及N个第一候选重构点在相邻点云块对应的投影平面上的投影情况,确定当前边界点的一个或多个相邻重构点,而无需返回至三维空间去计算。Since there is an adjacent relationship between the M adjacent pixels and the current pixel, and the N first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixels in the reconstructed point cloud, and based on the above description, Multiple reconstructed points in the point cloud may correspond to the same pixel on the two-dimensional plane. At this time, the multiple reconstructed points corresponding to the same pixel have different depths relative to the projection plane corresponding to the adjacent point cloud block. Therefore, in order to improve the accuracy of the adjacent reconstructed points of the current boundary point, the two-dimensional coordinates of the current pixel point and the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and M adjacent pixels The two-dimensional coordinates of the point and the depth of each of the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block are used to determine the first distance, and then through the first distance, from Select one or more adjacent reconstruction points of the current boundary point among the N first candidate reconstruction points. In this case, it can be directly based on the projection of the current boundary point on the projection plane corresponding to the adjacent point cloud block, and the projection of the N first candidate reconstruction points on the projection plane corresponding to the adjacent point cloud block, Determine one or more adjacent reconstruction points of the current boundary point without returning to the three-dimensional space for calculation.
当然,在本申请中,也可以返回至三维空间中计算,具体地,可以根据当前边界点的三维坐标,以及N个第一候选重构点中每个第一候选重构点的三维坐标,确定第一距离,进而通过第一距离,从N个第一候选重构点中选择当前边界点的一个或多个相邻重构点。Of course, in this application, it can also be calculated in three-dimensional space. Specifically, it can be based on the three-dimensional coordinates of the current boundary point and the three-dimensional coordinates of each of the N first candidate reconstruction points, The first distance is determined, and then through the first distance, one or more adjacent reconstruction points of the current boundary point are selected from the N first candidate reconstruction points.
需要说明的是,不仅可以按照上述两种方式,根据当前像素点的M个相邻像素点,确定所述当前边界点的L个相邻重构点,还可以通过其他的方式来确定,比如,可以直接将N个第一候选重构点确定为当前边界点的L个相邻重构点,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,此时N与L相等。It should be noted that not only can the L adjacent reconstruction points of the current boundary point be determined according to the above two methods and the M adjacent pixels of the current pixel point, but also other methods can be used to determine, for example, , The N first candidate reconstruction points can be directly determined as the L neighboring reconstruction points of the current boundary point, and the N first candidate reconstruction points are the corresponding reconstruction points of the M neighboring pixels in the reconstructed point cloud. Construct a point where N and L are equal.
基于上述描述,当前点云块和相邻点云块中都可能存在当前边界点的相邻重构点。因此,在一种可能的情况中,可以从当前点云块和相邻点云块中确定当前边界点的相邻重构点。Based on the above description, both the current point cloud block and the adjacent point cloud block may have adjacent reconstruction points of the current boundary point. Therefore, in a possible situation, the adjacent reconstruction point of the current boundary point can be determined from the current point cloud block and the adjacent point cloud block.
也即是,在一种可能的设计中,通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,包括:从当前点云块对应的投影平面和相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,其中,当前边界点对应于相邻点云块对应的投影平面中的当前像素点,S为正整数;根据S个相邻像素点,确定当前边界点的U个相邻重构点,U为正整数。That is, in a possible design, one or more adjacent reconstruction points of the current boundary point in the current point cloud block are determined through the projection plane corresponding to the adjacent point cloud block, including: In the corresponding projection plane and the projection plane corresponding to the adjacent point cloud block, determine S adjacent pixel points of the current pixel point, where the current boundary point corresponds to the current pixel point in the projection plane corresponding to the adjacent point cloud block, S is a positive integer; according to S adjacent pixels, U adjacent reconstruction points of the current boundary point are determined, and U is a positive integer.
应当理解的是,当前边界点的U个相邻重构点,即是当前边界点的一个或多个相邻重构点。也就是说,U为大于或等于1的整数。It should be understood that the U adjacent reconstruction points of the current boundary point are one or more adjacent reconstruction points of the current boundary point. That is, U is an integer greater than or equal to 1.
在一种可能的设计中,从当前点云块对应的投影平面和相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,包括:当当前边界点在相邻点云块对应的投影平面上进行投影后,获得经投影过的相邻点云块对应的投影平面,其中,相邻点云块对应的投影平面上包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点,P和Q为正整数;从当前点云块对应的投影平面上,确定当前边界点投影到当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,从经投影过的相邻点云块对应的投影平面上,确定当前边界点投影到相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,T个相邻像素点被包括于当前点云块包括的X个重构点所对应的Y个像素点中,M个相邻像素点被包括于相邻点云块包括的P个重构点所对应的Q个像素点中,T和M之和为S,T、X和Y为正整数。In a possible design, from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block, determine the S adjacent pixels of the current pixel, including: when the current boundary point is adjacent After the projection is performed on the projection plane corresponding to the point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection plane corresponding to the adjacent point cloud block includes: a current pixel corresponding to the current boundary point Point and Q pixel points corresponding to P reconstructed points in the adjacent point cloud block, P and Q are positive integers; from the projection plane corresponding to the current point cloud block, determine the projection of the current boundary point to the current point cloud block T adjacent pixel points of the current pixel point i on the corresponding projection plane, from the projection plane corresponding to the adjacent point cloud block that has been projected, determine that the current boundary point is projected onto the projection plane corresponding to the adjacent point cloud block M adjacent pixels of the current pixel j, T adjacent pixels are included in the Y pixels corresponding to the X reconstruction points included in the current point cloud block, and M adjacent pixels are included Among the Q pixel points corresponding to the P reconstructed points included in the adjacent point cloud block, the sum of T and M is S, and T, X, and Y are positive integers.
由于在这种情况中,不仅需要从当前点云块中确定当前边界点的相邻重构点,还需要从当前点云块的相邻点云块中确定当前边界点的相邻重构点,因此,需要将当前边界点在当前点云块对应的投影平面上进行投影,还需要将当前边界点在当前点云块的相邻点云块对应的投影平面上进行投影。也即是,当前边界点在当前点云块对应的投影平面上存在一个当前像素点,在当前点云块的相邻点云块对应的投影平面上也存在一个当前像素点。为了便于描述,将当前边界点投影到当前点云块对应的投影平面上的当前像素点称为当前像素点i,将当前边界点投影到当前点云块的相邻点云块对应的投影平面上的当前像素点称为当前像素点j。Because in this case, not only need to determine the adjacent reconstruction point of the current boundary point from the current point cloud block, but also need to determine the adjacent reconstruction point of the current boundary point from the adjacent point cloud block of the current point cloud block Therefore, the current boundary point needs to be projected on the projection plane corresponding to the current point cloud block, and the current boundary point needs to be projected on the projection plane corresponding to the adjacent point cloud block of the current point cloud block. That is, the current boundary point has a current pixel point on the projection plane corresponding to the current point cloud block, and there is also a current pixel point on the projection plane corresponding to the adjacent point cloud block of the current point cloud block. For ease of description, the current pixel point that projects the current boundary point onto the projection plane corresponding to the current point cloud block is called the current pixel point i, and the current boundary point is projected onto the projection plane corresponding to the adjacent point cloud block of the current point cloud block The current pixel on above is called the current pixel j.
在一种可能的设计中,根据S个相邻像素点,确定当前边界点的U个相邻重构点,包括:从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二深度差值小于深度阈值的第二候选重构点为当前边界点的相邻重构点,其中,第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值,第二深度差值为第二深度分别与E个第二候选重构点中每个第二候选重构点相对于当前点云块对应的投影平面的深度之间的深度差值,第一深度为当前边界点相对于相邻点云块对应的投影平面的深度,第二深度为当前边界点相对于当前点云块对应的投影平面的深度,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,E个第二候选重构点为T个相邻像素点在重构点云中对应的重构点,N和T为正整数In a possible design, determining U adjacent reconstruction points of the current boundary point according to S adjacent pixel points includes: determining the corresponding first depth difference from the N first candidate reconstruction points The first candidate reconstruction point smaller than the depth threshold is the adjacent reconstruction point of the current boundary point; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold Is the adjacent reconstruction point of the current boundary point, where the first depth difference is the difference between the first depth and each of the N first candidate reconstruction points relative to the adjacent point cloud block The depth difference between the depths of the projection planes. The second depth difference is the difference between the second depth and each of the E second candidate reconstruction points with respect to the projection plane corresponding to the current point cloud block. The depth difference between the depths, the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the second depth is the depth of the current boundary point relative to the projection plane corresponding to the current point cloud block, N The first candidate reconstruction points are the corresponding reconstruction points of the M adjacent pixels in the reconstructed point cloud, and the E second candidate reconstruction points are the corresponding reconstruction points of the T neighboring pixels in the reconstructed point cloud. Structure point, N and T are positive integers
在一种可能的设计中,根据S个相邻像素点,确定当前边界点的U个相邻重构点,包括:从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二距离小于第一距离阈值的第二候选重构点为当前边界点的相邻重构点,其中,第一距离为当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离,第二距离为当前边界点与E个第二候选重构点中每个第二候选重构点之间的距离,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,E个第二候选重构点为T个相邻像素点在重构点云中对应的重构点,N和T为正整数。In a possible design, determining U adjacent reconstruction points of the current boundary point according to S adjacent pixel points includes: from the N first candidate reconstruction points, determining that the corresponding first distance is less than the first The first candidate reconstruction point with a distance threshold is the adjacent reconstruction point of the current boundary point; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second distance is less than the first distance threshold Is the adjacent reconstruction point of the current boundary point, where the first distance is the distance between the current boundary point and each of the N first candidate reconstruction points, and the second distance is the current boundary point The distance from each second candidate reconstruction point in the E second candidate reconstruction points, N first candidate reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstruction point cloud, The E second candidate reconstructed points are the reconstructed points corresponding to T adjacent pixels in the reconstructed point cloud, and N and T are positive integers.
需要说明的是,不仅可以通过上述两种可能的实现方式,根据S个相邻像素点,确定当前边界点的U个相邻重构点。还可以通过其他的方式来确定,比如,可以直接将S个相邻像素点在重构点云中对应的重构点确定为当前边界点的U个相邻重构点。其中,S个相邻像素 点中包括当前边界点投影到当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,以及当前边界点投影到相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,因此,在这种情况下,T个相邻像素点在重构点云中对应的E个第二候选重构点和M个相邻像素点在重构点云中对应的N个第一候选重构点,为当前边界点的U个相邻重构点。也即是,在这种情况下,E和N之和为U。It should be noted that not only can the U adjacent reconstruction points of the current boundary point be determined according to the S adjacent pixel points through the above two possible implementation manners. It may also be determined in other ways. For example, the reconstruction points corresponding to the S neighboring pixels in the reconstructed point cloud may be directly determined as U neighboring reconstruction points of the current boundary point. Among them, the S adjacent pixels include the current boundary point projected to the current pixel point i on the projection plane corresponding to the current point cloud block, and the current boundary point projected to the adjacent point cloud block corresponding to the current pixel point i The M adjacent pixels of the current pixel j on the projection plane, therefore, in this case, the T adjacent pixels correspond to the E second candidate reconstruction points and M phases in the reconstructed point cloud. The N first candidate reconstruction points corresponding to the neighboring pixel points in the reconstruction point cloud are U neighboring reconstruction points of the current boundary point. That is, in this case, the sum of E and N is U.
在一种可能的设计中,从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:确定一个或多个点云块中每个点云块的包围盒;从一个或多个点云块中,确定包围盒与当前点云块的包围盒存在重叠部分的点云块为当前点云块的相邻点云块。In a possible design, from one or more point cloud blocks included in the reconstructed point cloud, determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The bounding box of the cloud block; from one or more point cloud blocks, it is determined that the point cloud block whose bounding box overlaps with the bounding box of the current point cloud block is the adjacent point cloud block of the current point cloud block.
需要说明的是,包围盒是一种体积稍大于点云块且特性简单的几何体。包围盒可以将点云块包括的所有重构点包围在其中。包围盒可以是包括多个平面的几何体,本申请实施例对此不做具体限定。例如,包围盒可以是六面体等。It should be noted that the bounding box is a geometric body with a volume slightly larger than a point cloud block and simple characteristics. The bounding box can enclose all the reconstructed points included in the point cloud block. The bounding box may be a geometric body including multiple planes, which is not specifically limited in the embodiment of the present application. For example, the bounding box may be a hexahedron or the like.
由于在三维空间中,每个点云块都可以由一个或多个重构点组成,该一个或多个重构点通常是在三维空间中离散分布的点,所以先确定每个点云块的包围盒,即可将每个点云块在三维空间中的区域进行了划分。通常情况下,包围盒具有重叠部分的两个点云块可以认为是相邻的点云块。因此这样的条件下,可以确定包围盒与当前点云块的包围盒存在重叠部分的点云块为当前点云块的相邻点云块,使得确定当前点云块的相邻点云块的过程更加便捷。Since each point cloud block can be composed of one or more reconstructed points in three-dimensional space, the one or more reconstructed points are usually discretely distributed points in three-dimensional space, so first determine each point cloud block The bounding box of each point cloud block can be divided into three-dimensional space. Generally, two point cloud blocks with overlapping bounding boxes can be regarded as adjacent point cloud blocks. Therefore, under such conditions, it can be determined that the point cloud block that overlaps the bounding box of the current point cloud block is the adjacent point cloud block of the current point cloud block, so that the adjacent point cloud block of the current point cloud block is determined The process is more convenient.
在一种可能的设计中,从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:确定一个或多个点云块中每个点云块的扩展包围盒,扩展包围盒是对一个或多个点云块中每个点云块的包围盒经扩展得到的;从一个或多个点云块中,确定扩展包围盒与当前点云块的扩展包围盒存在重叠部分的点云块为当前点云块的相邻点云块。In a possible design, from one or more point cloud blocks included in the reconstructed point cloud, determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The expanded bounding box of the cloud block. The expanded bounding box is obtained by expanding the bounding box of each point cloud block in one or more point cloud blocks; from one or more point cloud blocks, determine the expanded bounding box and the current point The point cloud block with the overlapping part of the extended bounding box of the cloud block is the adjacent point cloud block of the current point cloud block.
需要说明的是,扩展包围盒是对点云块的包围盒经扩展得到的包围盒。扩展包围盒可以通过以包围盒的几何中心为扩展中心发散式地将包围盒的体积扩展预设比例而得到,预设比例可以根据使用需求进行设置,本申请实施例对此不做具体限定。例如,预设比例可以为5%等,也即是扩展包围盒通过以包围盒的几何中心为扩展中心发散式地将包围盒的体积扩展5%得到的。当然,对包围盒的扩展还可以是别的实现方式。It should be noted that the expanded bounding box is a bounding box obtained by expanding the bounding box of the point cloud block. The expanded bounding box can be obtained by divergently expanding the volume of the bounding box by a preset ratio with the geometric center of the bounding box as the expanded center. The preset ratio can be set according to the use requirements, which is not specifically limited in the embodiment of the application. For example, the preset ratio may be 5%, etc., that is, the expanded bounding box is obtained by divergently expanding the volume of the bounding box by 5% with the geometric center of the bounding box as the expansion center. Of course, the expansion of the bounding box can also be implemented in other ways.
由于在一种可能的情况中,当前点云块的包围盒和与其相邻的某些点云块的包围盒不存在重叠部分。此时,当确定包围盒与当前点云盒的包围盒存在重叠部分的点云块为当前点云块的相邻点云块时,容易将某些与当前点云块相邻的点云块排除掉,使得确定出来的相邻点云块的结果不准确。因此,这种情况下,可以先确定一个或多个点云块中每个点云块的扩展包围盒,然后再确定扩展包围盒与当前点云块的扩展包围盒存在重叠部分的点云块为当前点云块的相邻点云块,可以使确定出的当前点云块的相邻点云块的结果更加准确。In a possible situation, there is no overlap between the bounding box of the current point cloud block and the bounding boxes of some point cloud blocks adjacent to it. At this time, when it is determined that the point cloud block that overlaps the bounding box of the current point cloud box is the adjacent point cloud block of the current point cloud block, it is easy to divide some point cloud blocks adjacent to the current point cloud block Excluding them makes the result of the determined adjacent point cloud blocks inaccurate. Therefore, in this case, you can first determine the extended bounding box of each point cloud block in one or more point cloud blocks, and then determine the point cloud block where the extended bounding box overlaps with the extended bounding box of the current point cloud block It is the adjacent point cloud block of the current point cloud block, which can make the determined result of the adjacent point cloud block of the current point cloud block more accurate.
在一种可能的设计中,从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:确定一个或多个点云块中每个点云块的包围盒和当前边界点对应的三维空间体,所述三维空间体为所述当前边界点的相邻重构点所处的空间体;从一个或多个点云块中,选择包围盒与当前点云块的包围盒和当前边界点对应的三维空间体均存在重叠部分的点云块为当前点云块的相邻点云块。In a possible design, from one or more point cloud blocks included in the reconstructed point cloud, determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The bounding box of the cloud block and the three-dimensional volume corresponding to the current boundary point, where the three-dimensional volume is the spatial volume where the adjacent reconstruction point of the current boundary point is located; from one or more point cloud blocks, select the surrounding The point cloud block in which the box and the bounding box of the current point cloud block and the three-dimensional space corresponding to the current boundary point all have overlapping parts are adjacent point cloud blocks of the current point cloud block.
由于在一种可能的情况中,当前点云块的相邻点云块的数量较多,而这些相邻点云块中的部分点云块可能明显不存在当前边界点的相邻重构点,因此,为了降低计算复杂度,需要从一个或多个点云块中,选择包围盒不仅与当前点云块的包围盒存在重叠部分,还需要与当前边界点对应的三维空间体存在重叠部分的点云块,将选择的点云块作为当前点云块的相邻 点云块。In a possible situation, the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Therefore, in order to reduce the computational complexity, it is necessary to select a bounding box from one or more point cloud blocks. Not only does it overlap with the bounding box of the current point cloud block, but also needs to overlap with the three-dimensional space corresponding to the current boundary point. The selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
在一种可能的设计中,从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:确定一个或多个点云块中每个点云块的扩展包围盒和当前边界点对应的三维空间体,扩展包围盒是对一个或多个点云块中每个点云块的包围盒经扩展得到的,所述三维空间体为所述当前边界点的相邻重构点所处的空间体;从一个或多个点云块中,选择扩展包围盒与当前点云块的扩展包围盒和当前边界点对应的三维空间体均存在重叠部分的点云块为当前点云块的相邻点云块。In a possible design, from one or more point cloud blocks included in the reconstructed point cloud, determining the adjacent point cloud block of the current point cloud block includes: determining each point in the one or more point cloud blocks The expanded bounding box of the cloud block and the three-dimensional space volume corresponding to the current boundary point. The expanded bounding box is obtained by expanding the bounding box of each point cloud block in one or more point cloud blocks, and the three-dimensional space volume is the The space volume where the adjacent reconstruction point of the current boundary point is located; from one or more point cloud blocks, select the extended bounding box and the extended bounding box of the current point cloud block and the three-dimensional space volume corresponding to the current boundary point overlap Part of the point cloud blocks are adjacent point cloud blocks of the current point cloud block.
由于在一种可能的情况中,当前点云块的相邻点云块的数量较多,而这些相邻点云块中的部分点云块可能明显不存在当前边界点的相邻重构点,因此,为了降低计算复杂度,需要从一个或多个点云块中,选择扩展包围盒不仅与当前点云块的扩展包围盒存在重叠部分,还需要与当前边界点对应的三维空间体存在重叠部分的点云块,将选择的点云块作为当前点云块的相邻点云块。In a possible situation, the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Therefore, in order to reduce the computational complexity, it is necessary to select the expanded bounding box from one or more point cloud blocks. Not only does it overlap with the expanded bounding box of the current point cloud block, but also the three-dimensional space corresponding to the current boundary point exists. For the overlapping point cloud blocks, the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
在一种可能的设计中,根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波,包括:确定当前边界点的一个或多个相邻重构点的质心位置;如果质心位置与当前边界点所处位置之间的距离大于第二距离阈值,则更新当前边界点的位置,其中,当前边界点更新后的位置对应质心位置。In a possible design, filtering the current point cloud block according to one or more adjacent reconstruction points of the current boundary point, including: determining the centroid position of one or more adjacent reconstruction points of the current boundary point ; If the distance between the position of the centroid and the position of the current boundary point is greater than the second distance threshold, the position of the current boundary point is updated, where the updated position of the current boundary point corresponds to the position of the centroid.
应当理解的是,当前边界点是当前点云块中的一个边界点,对当前边界点的滤波可以适用于当前点云块中的每个边界点,此处对当前点云块中的其他边界点的滤波不再赘述,当完成对当前点云块的所有边界点的滤波之后,即完成了对当前点云块的滤波。而且,对当前点云块的滤波也适用于重构点云中的其他点云块的滤波,当完成对重构点云中的所有点云块的滤波之后,即完成了对重构点云的滤波。也即是,本申请以当前点云块的当前边界点为对象对本申请的技术方案进行解释,当前点云块的其它边界点的滤波过程不再赘述。而且本申请针对整个重构点云的滤波过程,能降低点云滤波的复杂度,提高编解码效率,即可以遍历整个重构点云,对重构点云中的多个/所有点云块中的多个/所有边界点完成滤波。一旦点云数据规模越大,本申请提供的技术方案的复杂度降低的效果越好。It should be understood that the current boundary point is a boundary point in the current point cloud block, and the filtering of the current boundary point can be applied to each boundary point in the current point cloud block. Here, for other boundaries in the current point cloud block The point filtering will not be repeated. After the filtering of all boundary points of the current point cloud block is completed, the filtering of the current point cloud block is completed. Moreover, the filtering of the current point cloud block is also applicable to the filtering of other point cloud blocks in the reconstructed point cloud. After the filtering of all the point cloud blocks in the reconstructed point cloud is completed, the reconstructed point cloud is completed的filtering. That is, the present application uses the current boundary point of the current point cloud block as an object to explain the technical solution of the present application, and the filtering process of other boundary points of the current point cloud block will not be repeated. Moreover, this application can reduce the complexity of point cloud filtering and improve the coding and decoding efficiency for the entire filtering process of the reconstructed point cloud, that is, it can traverse the entire reconstructed point cloud, and analyze multiple/all point cloud blocks in the reconstructed point cloud. Multiple/all boundary points in the filter are filtered. Once the point cloud data scale is larger, the complexity reduction effect of the technical solution provided by this application is better.
第二方面,提供了一种点云编码方法,包括:确定指示信息,该指示信息用于指示是否按照目标滤波方法对待编码点云的重构点云进行处理,目标滤波方法包括包括如上述第一方面提供的任一种点云滤波方法;将该指示信息编入码流。In a second aspect, a point cloud coding method is provided, including: determining indication information for indicating whether to process the reconstructed point cloud of the point cloud to be coded according to the target filtering method. The target filtering method includes: Any point cloud filtering method provided on the one hand; encode the instruction information into the code stream.
第三方面,提供了一种点云解码方法,包括:解析码流,以得到指示信息,该指示信息用于指示是否按照目标滤波方法对待解码点云的重构点云进行处理,目标滤波方法包括如上述第一方面提供的任一种点云滤波方法;当该指示信息用于指示按照目标滤波方法对待解码点云的重构点云进行处理时,按照目标滤波方法对待解码点云的重构点云进行滤波处理。In a third aspect, a point cloud decoding method is provided, including: parsing a code stream to obtain indication information, the indication information being used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, and the target filtering method It includes any one of the point cloud filtering methods provided in the first aspect; when the indication information is used to indicate that the reconstructed point cloud of the point cloud to be decoded is processed according to the target filtering method, the reconstruction of the point cloud to be decoded is performed according to the target filtering method. Construct a point cloud for filtering.
第四方面,提供了一种点云滤波装置,包括:点集确定单元,用于从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块;通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点;滤波处理单元,用于根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波。In a fourth aspect, a point cloud filtering device is provided, including: a point set determining unit, configured to determine adjacent point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud; Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block; the filtering processing unit is used to reconstruct one or more adjacent reconstruction points of the current boundary point Point, filter the current point cloud block.
第五方面,提供了一种编码器,包括:点云滤波模块,用于按照目标滤波方法对待编码点云的重构点云进行滤波处理;辅助信息编码模块,用于确定指示信息,以及,将该指示信息编入码流,该指示信息用于指示是否按照目标滤波方法对待编码点云的重构点云进行处理,目标滤波方法包括上述第一方面提供的点云滤波方法。In a fifth aspect, an encoder is provided, including: a point cloud filtering module for filtering the reconstructed point cloud of the point cloud to be encoded according to the target filtering method; an auxiliary information encoding module for determining indication information, and, The instruction information is compiled into the code stream, and the instruction information is used to indicate whether to process the reconstructed point cloud of the to-be-coded point cloud according to the target filtering method. The target filtering method includes the point cloud filtering method provided in the first aspect described above.
第六方面,提供了一种解码器,包括:辅助信息解码模块,用于解析码流,以得到指示信息,该指示信息用于指示是否按照目标滤波方法对待解码点云的重构点云进行处理,目标滤波方法包括如上述第一方面提供的任一种点云滤波方法;点云滤波模块,用于当该指示信息用于指示按照目标滤波方法对待解码点云的重构点云进行处理时,按照目标滤波方法对待解码点云的重构点云进行滤波处理。In a sixth aspect, a decoder is provided, including: an auxiliary information decoding module, used to parse the code stream to obtain indication information, the indication information is used to indicate whether to perform the reconstruction of the point cloud to be decoded according to the target filtering method Processing, the target filtering method includes any of the point cloud filtering methods provided in the first aspect; the point cloud filtering module is used when the indication information is used to instruct to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method At the time, the reconstructed point cloud of the point cloud to be decoded is filtered according to the target filtering method.
第七方面,提供了一种编码器,包括:点云滤波模块,点云滤波模块为上述第四方面提供的点云滤波装置;纹理图生成模块,用于根据滤波处理后的重构点云生成待编码点云的纹理图。In a seventh aspect, an encoder is provided, including: a point cloud filtering module, the point cloud filtering module is the point cloud filtering device provided in the fourth aspect; a texture map generating module, used to reconstruct the point cloud after filtering Generate a texture map of the point cloud to be encoded.
也即是,点云滤波模块,用于从待编码点云的重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波;纹理图生成模块,用于根据滤波处理后的重构点云生成待编码点云的纹理图。That is, the point cloud filtering module is used to determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be encoded, and pass the neighboring point cloud blocks Corresponding projection plane, determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point; texture map The generating module is used to generate a texture image of the point cloud to be coded according to the reconstructed point cloud after the filtering process.
第八方面,提供了一种解码器,包括:点云滤波模块,点云滤波模块为上述第四方面提供的点云滤波装置;纹理信息重构模块,用于对滤波处理后的重构点云的纹理信息进行重构。In an eighth aspect, a decoder is provided, including: a point cloud filtering module, the point cloud filtering module is the point cloud filtering device provided in the fourth aspect; the texture information reconstruction module is used to reconstruct points after filtering processing The texture information of the cloud is reconstructed.
也即是,点云滤波模块,用于从待解码点云的重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,根据当前边界点的相邻重构点集合,对当前点云块进行滤波;纹理信息重构模块,用于对滤波处理后的重构点云的纹理信息进行重构。That is, the point cloud filtering module is used to determine the adjacent point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be decoded, and pass the adjacent point cloud block The corresponding projection plane determines one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filters the current point cloud block according to the set of adjacent reconstruction points of the current boundary point; texture information reconstruction module , Used to reconstruct the texture information of the reconstructed point cloud after filtering processing.
第九方面,本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行如上述第一方面及其可能的设计提供的任一种点云译码方法。In a ninth aspect, the present application also provides a computer-readable storage medium, including program code, when the program code runs on a computer, the computer executes any point cloud provided in the first aspect and its possible designs. Decoding method.
第十方面,本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行上述第二方面提供的点云编码方法。In a tenth aspect, the present application also provides a computer-readable storage medium, including program code, when the program code runs on a computer, the computer executes the point cloud coding method provided in the second aspect.
第十一方面,本申请还提供一种计算机可读存储介质,包括程序代码,该程序代码在计算机上运行时,使得该计算机执行上述第三方面提供的点云编码方法。In an eleventh aspect, the present application also provides a computer-readable storage medium, including program code, when the program code runs on a computer, the computer executes the point cloud coding method provided in the third aspect.
应当理解的是,上述提供的任一种编解码器、处理装置、编解码装置和计算机可读存储介质的有益效果均可以对应参考上文对应方面提供的方法实施例的有益效果,不再赘述。It should be understood that the beneficial effects of any codec, processing device, codec device, and computer-readable storage medium provided above can be referred to the beneficial effects of the method embodiments provided in the corresponding aspects above, and will not be repeated here. .
附图说明BRIEF DESCRIPTION
图1为本申请实施例提供的一种点云译码系统的示意性框图;FIG. 1 is a schematic block diagram of a point cloud decoding system provided by an embodiment of this application;
图2为可用于本申请实施例的一种编码器的示意性框图;Fig. 2 is a schematic block diagram of an encoder that can be used in an embodiment of the present application;
图3为可适用于本申请实施例的一种点云的示意图;Fig. 3 is a schematic diagram of a point cloud applicable to an embodiment of the present application;
图4为可适用于本申请实施例的一种点云的patch的示意图;FIG. 4 is a schematic diagram of a point cloud patch applicable to an embodiment of the present application;
图5为可适用于本申请实施例的一种点云的占用图的示意图;FIG. 5 is a schematic diagram of an occupancy map of a point cloud applicable to an embodiment of the present application;
图6为可用于本申请实施例的一种解码器的示意性框图;Fig. 6 is a schematic block diagram of a decoder that can be used in an embodiment of the present application;
图7为本申请实施例提供的一种点云滤波方法的流程示意图;FIG. 7 is a schematic flowchart of a point cloud filtering method provided by an embodiment of this application;
图8为本申请实施例提供的一种确定当前点云块的相邻点云块的实施方式的二维示意图以及对应的描述信息的的汇总表;8 is a two-dimensional schematic diagram of an implementation manner for determining adjacent point cloud blocks of a current point cloud block and a summary table of corresponding description information provided by an embodiment of the application;
图9为本申请实施例提供的确定当前像素点的M个相邻像素点的示意图;9 is a schematic diagram of determining M adjacent pixels of a current pixel provided by an embodiment of the application;
图10为本申请实施例提供的第一种确定当前边界点的相邻重构点的示意图;FIG. 10 is the first schematic diagram of determining the adjacent reconstruction points of the current boundary point according to an embodiment of this application;
图11为本申请实施例提供的第二种确定当前边界点的相邻重构点的示意图;FIG. 11 is a second schematic diagram of determining adjacent reconstruction points of the current boundary point according to an embodiment of this application;
图12为本申请实施例提供的第三种确定当前边界点的相邻重构点的示意图;FIG. 12 is a third schematic diagram of determining adjacent reconstruction points of current boundary points according to an embodiment of this application;
图13为本申请实施例提供的第四种确定当前边界点的相邻重构点的示意图;FIG. 13 is a fourth schematic diagram of determining adjacent reconstruction points of a current boundary point according to an embodiment of this application;
图14为本申请实施例提供的一种点云编码方法的流程示意图;FIG. 14 is a schematic flowchart of a point cloud encoding method provided by an embodiment of this application;
图15为本申请实施例提供的一种点云解码方法的流程示意图;15 is a schematic flowchart of a point cloud decoding method provided by an embodiment of this application;
图16为本申请实施例提供的一种点云滤波装置的示意性框图;FIG. 16 is a schematic block diagram of a point cloud filtering device provided by an embodiment of the application;
图17为本申请实施例提供的第一种编码器的示意性框图;FIG. 17 is a schematic block diagram of a first encoder provided by an embodiment of this application;
图18为本申请实施例提供的第一种解码器的示意性框图;FIG. 18 is a schematic block diagram of a first decoder provided by an embodiment of this application;
图19为本申请实施例提供的第二种编码器的示意性框图;FIG. 19 is a schematic block diagram of a second encoder provided by an embodiment of this application;
图20为本申请实施例提供的第二种解码器的示意性框图;FIG. 20 is a schematic block diagram of a second decoder provided by an embodiment of this application;
图21为用于本申请实施例的译码设备的一种实现方式的示意性框图。FIG. 21 is a schematic block diagram of an implementation manner of a decoding device used in an embodiment of the present application.
具体实施方式detailed description
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
本申请实施例中的术语“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。The term "plurality" in the embodiments of the present application refers to two or more. In the description of this application, unless otherwise specified, "/" means or, for example, A/B can mean A or B; "and/or" in this document is only an association relationship describing associated objects, It means that there can be three kinds of relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone. In addition, in order to facilitate a clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as “first” and “second” are used to distinguish the same or similar items whose functions and functions are basically the same. Those skilled in the art can understand that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first" and "second" do not limit the difference.
在对本申请实施例进行详细的解释说明之前,先对本申请实施例的实施环境进行介绍:Before explaining the embodiments of the present application in detail, first introduce the implementation environment of the embodiments of the present application:
本申请实施例提供的一种实施环境包括点云译码系统。图1为本申请实施例提供的一种点云译码系统的示意性框图。其中,术语“点云译码”或“译码”可一般地指代点云编码或点云解码。参见图1,点云译码系统包括源装置10、目的地装置20、链路30和存储装置40。其中,源装置10可以产生经编码的点云数据。因此,源装置10也可以被称为点云编码装置。目的地装置20可以对由源装置10所产生的经编码的点云数据进行解码。因此,目的地装置20也可以被称为点云解码装置。链路30可以接收源装置10所产生的经编码的点云数据,并可以将该经编码的点云数据传输给目的地装置20。存储装置40可以接收源装置10所产生的经编码的点云数据,并可以将该经编码的点云数据进行存储,这样,目的地装置20可以直接 从存储装置40中获取经编码的点云数据。或者,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码的点云数据的另一中间存储装置,这样,目的地装置20可以经由流式传输或下载存储装置40存储的经编码的点云数据。An implementation environment provided by an embodiment of the present application includes a point cloud decoding system. FIG. 1 is a schematic block diagram of a point cloud decoding system provided by an embodiment of the application. Among them, the term "point cloud decoding" or "decoding" may generally refer to point cloud encoding or point cloud decoding. Referring to FIG. 1, the point cloud decoding system includes a source device 10, a destination device 20, a link 30 and a storage device 40. Among them, the source device 10 can generate coded point cloud data. Therefore, the source device 10 may also be referred to as a point cloud encoding device. The destination device 20 may decode the encoded point cloud data generated by the source device 10. Therefore, the destination device 20 may also be referred to as a point cloud decoding device. The link 30 can receive the coded point cloud data generated by the source device 10 and can transmit the coded point cloud data to the destination device 20. The storage device 40 can receive the coded point cloud data generated by the source device 10, and can store the coded point cloud data, so that the destination device 20 can directly obtain the coded point cloud data from the storage device 40 data. Alternatively, the storage device 40 may correspond to a file server or another intermediate storage device that can store the encoded point cloud data generated by the source device 10, so that the destination device 20 may stream or download the stored data stored in the storage device 40 Coded point cloud data.
源装置10和目的地装置20均可以包括一个或多个处理器以及耦合到该一个或多个处理器的存储器,该存储器可以包括随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、快闪存储器、可用于以由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体等。例如,源装置10和目的地装置20均可以包括桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。Both the source device 10 and the destination device 20 may include one or more processors and a memory coupled to the one or more processors. The memory may include random access memory (RAM) and read-only memory ( read-only memory, ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, which can be used to store the desired program in the form of instructions or data structures accessed by the computer Any other media of the code, etc. For example, both the source device 10 and the destination device 20 may include desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, telephone handsets such as so-called "smart" phones, Televisions, cameras, display devices, digital media players, video game consoles, onboard computers, or the like.
链路30可以包括能够将经编码的点云数据从源装置10传输到目的地装置20的一个或多个媒体或装置。在一种可能的实现方式中,链路30可以包括能够使源装置10实时地将经编码的点云数据直接发送到目的地装置20的一个或多个通信媒体。在本申请实施例中,源装置10可以根据通信标准来调制经编码的点云数据,该通信标准可以为无线通信协议等,并且可以将经调制的点云数据发送给目的地装置20。该一个或多个通信媒体可以包括无线和/或有线通信媒体,例如该一个或多个通信媒体可以包括射频(radio frequency,RF)频谱或一个或多个物理传输线。该一个或多个通信媒体可以形成基于分组的网络的一部分,基于分组的网络可以为局域网、广域网或全球网络(例如,因特网)等。该一个或多个通信媒体可以包括路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备等,本申请实施例对此不做具体限定。The link 30 may include one or more media or devices capable of transmitting the encoded point cloud data from the source device 10 to the destination device 20. In one possible implementation, the link 30 may include one or more communication media that enable the source device 10 to directly send the encoded point cloud data to the destination device 20 in real time. In the embodiment of the present application, the source device 10 may modulate the coded point cloud data according to a communication standard, which may be a wireless communication protocol or the like, and may send the modulated point cloud data to the destination device 20. The one or more communication media may include wireless and/or wired communication media. For example, the one or more communication media may include a radio frequency (RF) spectrum or one or more physical transmission lines. The one or more communication media may form part of a packet-based network, and the packet-based network may be a local area network, a wide area network, or a global network (for example, the Internet). The one or more communication media may include routers, switches, base stations, or other devices that facilitate communication from the source device 10 to the destination device 20, etc., which are not specifically limited in the embodiment of the present application.
在一种可能的实现方式中,存储装置40可以将接收到的由源装置10发送的经编码的点云数据进行存储,目的地装置20可以直接从存储装置40中获取经编码的点云数据。这样,存储装置40可以包括多种分布式或本地存取的数据存储媒体中的任一者,例如,该多种分布式或本地存取的数据存储媒体中的任一者可以为硬盘驱动器、蓝光光盘、数字多功能光盘(digital versatile disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码点云数据的任何其它合适的数字存储媒体等。In a possible implementation manner, the storage device 40 may store the received coded point cloud data sent by the source device 10, and the destination device 20 may directly obtain the coded point cloud data from the storage device 40 . In this way, the storage device 40 may include any of a variety of distributed or locally accessed data storage media, for example, any of the multiple distributed or locally accessed data storage media may be a hard disk drive, Blu-ray disc, digital versatile disc (DVD), compact disc read-only memory (CD-ROM), flash memory, volatile or non-volatile memory, or used to store Any other suitable digital storage media for encoding point cloud data, etc.
在一种可能的实现方式中,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码点云数据的另一中间存储装置,目的地装置20可经由流式传输或下载存储装置40存储的点云数据。文件服务器可以为能够存储经编码的点云数据并且将经编码的点云数据发送给目的地装置20的任意类型的服务器。在一种可能的实现方式中,文件服务器可以包括网络服务器、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attached storage,NAS)装置或本地磁盘驱动器等。目的地装置20可以通过任意标准数据连接(包括因特网连接)来获取经编码点云数据。任意标准数据连接可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或适合于获取存储在文件服务器上的经编码的点云数据的两者的组合。经编码的点云数据从存储装置40的传输可为流式传输、下载传输或两者的组合。In a possible implementation, the storage device 40 may correspond to a file server or another intermediate storage device that can store the encoded point cloud data generated by the source device 10, and the destination device 20 may be stored via streaming or downloading. Point cloud data stored by the device 40. The file server may be any type of server capable of storing the coded point cloud data and transmitting the coded point cloud data to the destination device 20. In a possible implementation manner, the file server may include a network server, a file transfer protocol (FTP) server, a network attached storage (NAS) device, or a local disk drive. The destination device 20 can obtain the coded point cloud data through any standard data connection (including an Internet connection). Any standard data connection can include a wireless channel (e.g., Wi-Fi connection), a wired connection (e.g., digital subscriber line (DSL), cable modem, etc.), or is suitable for obtaining encoded data stored on a file server The combination of the two point cloud data. The transmission of the encoded point cloud data from the storage device 40 may be a streaming transmission, a download transmission, or a combination of both.
图1所示的点云译码系统仅为一种可能的实现方式,并且本申请的技术不仅可以适用于图1所示的可以对点云进行编码的源装置10,以及可以对经编码的点云数据进行解码的目的 地装置20,还可以适用于其他可以对点云进行编码和对经编码的点云数据进行解码的装置,本申请实施例对此不做具体限定。The point cloud decoding system shown in FIG. 1 is only one possible implementation, and the technology of the present application is not only applicable to the source device 10 shown in FIG. 1 that can encode the point cloud, but also The destination device 20 for decoding point cloud data may also be applicable to other devices that can encode point clouds and decode encoded point cloud data, which is not specifically limited in the embodiment of the present application.
在图1所示的点云译码系统中,源装置10包括数据源120、编码器100和输出接口140。在一些实施例中,输出接口140可以包括调节器/解调器(调制解调器)和/或发送器,其中发送器也可以称为发射器。数据源120可以包括点云捕获装置(例如,摄像机等)、含有先前捕获的点云数据的点云存档、用于从点云内容提供者接收点云数据的点云馈入接口,和/或用于产生点云数据的计算机图形系统,或点云数据的这些来源的组合。In the point cloud decoding system shown in FIG. 1, the source device 10 includes a data source 120, an encoder 100 and an output interface 140. In some embodiments, the output interface 140 may include a regulator/demodulator (modem) and/or a transmitter, where the transmitter may also be referred to as a transmitter. The data source 120 may include a point cloud capture device (for example, a camera, etc.), a point cloud archive containing previously captured point cloud data, a point cloud feed interface for receiving point cloud data from a point cloud content provider, and/or A computer graphics system used to generate point cloud data, or a combination of these sources of point cloud data.
数据源120可以向编码器100发送点云,编码器100可以对接收到由数据源120发送的点云进行编码,得到经编码的点云数据。编码器可以将经编码的点云数据发送给输出接口。在一些实施例中,源装置10经由输出接口140将经编码的点云数据直接发送到目的地装置20。在其它实施例中,经编码的点云数据还可存储到存储装置40上,供目的地装置20以后获取并用于解码和/或播放。The data source 120 may send a point cloud to the encoder 100, and the encoder 100 may encode the point cloud received from the data source 120 to obtain encoded point cloud data. The encoder can send the encoded point cloud data to the output interface. In some embodiments, the source device 10 directly transmits the encoded point cloud data to the destination device 20 via the output interface 140. In other embodiments, the encoded point cloud data may also be stored on the storage device 40 for later acquisition by the destination device 20 and used for decoding and/or playback.
在图1的实施例中,目的地装置20包括输入接口240、解码器200和显示装置220。在一些实施例中,输入接口240包括接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码的点云数据,然后再发送给解码器200,解码器200可以对接收到的经编码的点云数据进行解码,得到经解码的点云数据。解码器可以将经解码的点云数据发送给显示装置220。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置220显示经解码的点云数据。显示装置220可以为多种类型中的任一种类型的显示装置,例如,显示装置220可以为液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。In the embodiment of FIG. 1, the destination device 20 includes an input interface 240, a decoder 200 and a display device 220. In some embodiments, the input interface 240 includes a receiver and/or a modem. The input interface 240 can receive the encoded point cloud data via the link 30 and/or from the storage device 40, and then send it to the decoder 200. The decoder 200 can decode the received encoded point cloud data to obtain the Decoded point cloud data. The decoder may send the decoded point cloud data to the display device 220. The display device 220 may be integrated with the destination device 20 or may be external to the destination device 20. Generally, the display device 220 displays the decoded point cloud data. The display device 220 may be any one of various types of display devices. For example, the display device 220 may be a liquid crystal display (LCD), a plasma display, or an organic light-emitting diode (OLED). Display or other type of display device.
尽管图1中未示出,但在一些方面,编码器100和解码器200可各自与音频编码器和解码器集成,且可以包括适当的多路复用器-多路分用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,用于共同数据流或单独数据流中的音频和视频两者的编码。在一些实施例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(user datagram protocol,UDP)等其它协议。Although not shown in FIG. 1, in some aspects, the encoder 100 and the decoder 200 may each be integrated with an audio encoder and decoder, and may include an appropriate multiplexer-demultiplexer (multiplexer- The demultiplexer (MUX-DEMUX) unit or other hardware and software is used to encode both audio and video in a common data stream or separate data streams. In some embodiments, if applicable, the MUX-DEMUX unit may conform to the ITU H.223 multiplexer protocol, or other protocols such as the user datagram protocol (UDP).
编码器100和解码器200各自可为以下各项电路中的任一者:一个或多个微处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包括硬件、软件、硬件与软件的组合等)中的任一者可被视为一个或多个处理器。编码器100和解码器200中的每一者都可以包括在一个或多个编码器或解码器中,所述编码器或所述解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。Each of the encoder 100 and the decoder 200 may be any of the following circuits: one or more microprocessors, digital signal processing (DSP), application specific integrated circuits, ASICs ), field-programmable gate array (FPGA), discrete logic, hardware, or any combination thereof. If the application is partially implemented in software, the device may store instructions for the software in a suitable non-volatile computer-readable storage medium, and may use one or more processors to execute the instructions in hardware So as to implement the technology of this application. Any of the foregoing (including hardware, software, a combination of hardware and software, etc.) can be regarded as one or more processors. Each of the encoder 100 and the decoder 200 may be included in one or more encoders or decoders, and any one of the encoders or the decoders may be integrated as a combined encoding in the corresponding device Part of the decoder/decoder (codec).
本申请可大体上将编码器100称为将某些信息“发信号通知”或“发送”到例如解码器200的另一装置。术语“发信号通知”或“发送”可大体上指代用于对经编码的点云数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。This application may generally refer to the encoder 100 as another device that “signals” or “sends” certain information to, for example, the decoder 200. The term "signaling" or "sending" may generally refer to the transmission of syntax elements and/or other data used to decode the encoded point cloud data. This transfer can occur in real time or almost real time. Alternatively, this communication may occur after a period of time, for example, when the syntax element is stored in a computer-readable storage medium in the encoded bitstream during encoding, and the decoding device may then store the syntax element on this medium. Retrieve the syntax element at any time.
图2为本申请实施例提供的一种编码器100的示意性框图。图2是以MPEG(Moving Picture Expert Group)点云压缩(Point Cloud Compression,PCC)编码框架为例进行说明的。参见图2,编码器100可以包括点云块(patch)信息生成模块101、打包模块102、深度图生成模块103、纹理图生成模块104、深度图填充模块105、纹理图填充模块106、基于图像或视频的编码模块107、占用图编码模块108、辅助信息编码模块109、复用模块110、点云占用图下采样模块111、点云占用图填充模块112、点云重构模块113和点云滤波模块114。FIG. 2 is a schematic block diagram of an encoder 100 provided by an embodiment of the application. Figure 2 illustrates the MPEG (Moving Picture Expert Group) Point Cloud Compression (PCC) coding framework as an example. 2, the encoder 100 may include a point cloud block (patch) information generation module 101, a packing module 102, a depth map generation module 103, a texture map generation module 104, a depth map filling module 105, a texture map filling module 106, and image-based Or video encoding module 107, occupancy map encoding module 108, auxiliary information encoding module 109, multiplexing module 110, point cloud occupancy map down-sampling module 111, point cloud occupancy map filling module 112, point cloud reconstruction module 113, and point cloud Filtering module 114.
patch信息生成模块101可以接收由数据源120发送的一帧或多帧点云,为了方便描述,后续统一以当前帧点云进行说明。patch信息生成模块101可以确定当前帧点云包括的每个点在三维空间坐标系中的三维坐标,以及每个点在三维空间中的法线方向矢量,并根据确定出的每个点在三维空间中的法线方向矢量和预定义的投影平面将当前帧点云分割为多个patch,每个patch包括当前帧点云中的一个或多个点,且每个patch是一个连通区域。其中,预定义的投影平面可以是当前帧点云的包围盒中的平面,也即是,当前帧点云的包围盒包括的平面可以作为多个patch的投影平面,且每个patch都有一个对应的投影平面。然后patch信息生成模块101将该多个patch中的每个patch从三维空间投影到对应的投影平面上,每个patch对应的投影平面都对应着一个索引。在将每个patch从三维空间投影到对应的投影平面上之后,可以得到每个patch的占用图和每个patch的深度图。其中,任一patch的占用图可以是由将该patch投影到对应的投影平面上得到的与该patch包括的点对应的像素点组成的图。patch信息生成模块101还可以确定每个patch包括的每个点相对于对应的投影平面的深度,以及每个patch包括的每个点投影到二维投影平面的二维坐标等。在一种可能的实现方式中,任一patch的占用图中的像素点是将该patch包括的点的三维坐标转换到对应的投影平面上的二维坐标来确定的。patch信息生成模块可以将每个patch的占用图进行存储,或者不存储。另外,patch信息生成模块101还可以将当前帧点云中的每个点在三维空间中的法线方向矢量、每个patch在三维空间坐标系中的坐标、每个patch包括的每个点投影到对应的投影平面的二维坐标、每个patch包括的每个点相对于对应的投影平面的深度、以及每个patch对应的投影平面对应的索引等每个patch的空间信息作为辅助信息发送给辅助信息编码模块109,以进行编码,也可以称为进行压缩编码。patch信息生成模块101还可以将每个patch的占用图和每个patch的空间信息发送给打包模块102。另外,patch信息生成模块101还可以将每个patch的深度图发送给深度图生成模块103。The patch information generation module 101 may receive one or more frames of point clouds sent by the data source 120. For the convenience of description, the current frame point cloud will be unified for description in the following. The patch information generation module 101 can determine the three-dimensional coordinates of each point included in the point cloud of the current frame in the three-dimensional space coordinate system, and the normal direction vector of each point in the three-dimensional space, and determine the three-dimensional coordinates of each point in the three-dimensional space. The normal direction vector in the space and the predefined projection plane divide the current frame point cloud into multiple patches, each patch includes one or more points in the current frame point cloud, and each patch is a connected region. Among them, the predefined projection plane can be the plane in the bounding box of the point cloud of the current frame, that is, the plane included in the bounding box of the point cloud of the current frame can be used as the projection plane of multiple patches, and each patch has one The corresponding projection plane. Then the patch information generating module 101 projects each patch of the multiple patches from the three-dimensional space onto a corresponding projection plane, and the projection plane corresponding to each patch corresponds to an index. After projecting each patch from the three-dimensional space onto the corresponding projection plane, the occupancy map of each patch and the depth map of each patch can be obtained. Wherein, the occupancy map of any patch may be a map composed of pixels corresponding to points included in the patch obtained by projecting the patch onto the corresponding projection plane. The patch information generating module 101 may also determine the depth of each point included in each patch relative to the corresponding projection plane, and the two-dimensional coordinates of each point included in each patch to the two-dimensional projection plane. In a possible implementation manner, the pixel points in the occupancy map of any patch are determined by converting the three-dimensional coordinates of the points included in the patch to the two-dimensional coordinates on the corresponding projection plane. The patch information generation module can store or not store the occupancy map of each patch. In addition, the patch information generation module 101 can also project the normal direction vector of each point in the current frame point cloud in the three-dimensional space, the coordinates of each patch in the three-dimensional space coordinate system, and the projection of each point included in each patch. The spatial information of each patch such as the two-dimensional coordinates to the corresponding projection plane, the depth of each point included in each patch relative to the corresponding projection plane, and the index corresponding to the projection plane corresponding to each patch are sent as auxiliary information to The auxiliary information encoding module 109 performs encoding, which may also be referred to as performing compression encoding. The patch information generating module 101 may also send the occupancy map of each patch and the space information of each patch to the packaging module 102. In addition, the patch information generating module 101 may also send the depth map of each patch to the depth map generating module 103.
打包模块102可以将接收到的由patch信息生成模块101发送的每个patch的占用图和每个patch的空间信息进行打包,得到当前帧点云的占用图。具体地,打包模块102可以将每个patch按照特定的顺序进行排列,例如按照每个patch的占用图的宽/高降序(或升序)排列,然后,按照排列后的每个patch的顺序,依次将每个patch的占用图插入当前帧点云的占用图的可用区域中,得到当前帧点云的占用图以及当前帧点云的patch打包信息。打包模块102可以将当前帧点云的占用图发送给点云占用图下采样模块111,打包模块102还可以将当前帧点云的patch打包信息发送给深度图生成模块103和辅助信息编码模块109。The packing module 102 may pack the received occupancy map of each patch and the space information of each patch sent by the patch information generating module 101 to obtain the occupancy map of the point cloud of the current frame. Specifically, the packaging module 102 may arrange each patch in a specific order, for example, in descending order (or ascending order) of the width/height of each patch's occupancy map, and then, in order of each patch after the arrangement, Insert the occupancy map of each patch into the available area of the occupancy map of the current frame point cloud to obtain the occupancy map of the current frame point cloud and patch packaging information of the current frame point cloud. The packing module 102 may send the occupancy map of the point cloud of the current frame to the point cloud occupancy map down-sampling module 111, and the packing module 102 may also send the patch packing information of the point cloud of the current frame to the depth map generating module 103 and the auxiliary information encoding module 109 .
需要说明的是,为了更加直观地了解本申请技术中涉及的点云、点云的patch以及点云的占用图,参见图3、图4和图5,图3为可适用于本申请实施例的一帧点云的示意图,图4为该帧点云的patch的示意图,图5为图4所示的该帧点云的每个patch投影到对应的投影平面上所得到的每个patch的占用图,经打包模块102打包得到的该帧点云的占用图的示意图。图3所示的点云可以是本申请实施例中的当前帧点云,图4所示的点云的patch可以是本申 请实施例中的当前帧点云的patch,图5所示的点云的占用图可以是本申请实施例中的当前帧点云的占用图。辅助信息编码模块109在接收到由打包模块102发送的当前帧点云的打包信息,以及由patch信息生成模块101发送的每个patch的空间信息之后,可以将当前帧点云的打包信息和每个patch的空间信息进行编码,得到包括经编码的辅助信息的码流,然后将得到的包括经编码的辅助信息的码流发送给复用模块110。It should be noted that, in order to more intuitively understand the point cloud, the patch of the point cloud, and the occupancy map of the point cloud involved in the technology of this application, see Figures 3, 4, and 5, and Figure 3 is an embodiment applicable to the application. A schematic diagram of a frame of point cloud, Figure 4 is a schematic diagram of the patch of the point cloud of the frame, and Figure 5 is the projection of each patch of the point cloud of the frame shown in Figure 4 onto the corresponding projection plane. The occupancy map is a schematic diagram of the occupancy map of the point cloud of the frame obtained by the packing module 102. The point cloud shown in FIG. 3 may be the point cloud of the current frame in the embodiment of the present application, and the patch of the point cloud shown in FIG. 4 may be the patch of the point cloud of the current frame in the embodiment of the present application. The points shown in FIG. 5 The cloud occupancy map may be the occupancy map of the point cloud of the current frame in the embodiment of the present application. After the auxiliary information encoding module 109 receives the packaging information of the point cloud of the current frame sent by the packaging module 102 and the spatial information of each patch sent by the patch information generating module 101, it can combine the packaging information of the point cloud of the current frame with each The spatial information of each patch is encoded to obtain a code stream including the encoded auxiliary information, and then the obtained code stream including the encoded auxiliary information is sent to the multiplexing module 110.
深度图生成模块103可以在接收到由打包模块102发送的当前帧点云的patch打包信息,以及由patch信息生成模块101发送的每个patch的深度图打包之后,根据当前帧点云的patch打包信息和每个patch的深度图生成当前帧点云的深度图。然后将所生成的当前帧点云的深度图发送给深度图填充模块105,以对当前帧点云的深度图中的空白像素点进行填充,得到经填充的当前帧点云的深度图。深度图填充模块105可以将得到的经填充的当前帧点云的深度图发送给基于图像或视频的编码模块107,以对经填充的当前帧点云的深度图进行基于图像或视频的编码,得到重构的当前帧点云的深度图,以及包括经编码的当前帧点云的深度图的码流,并可以将得到的重构的当前帧点云的深度图发送给点云重构模块113,将包括经编码的当前帧点云的深度图的码流发送给复用模块110。The depth map generation module 103 may receive the patch packaging information of the point cloud of the current frame sent by the packaging module 102 and the depth map of each patch sent by the patch information generation module 101, and then pack it according to the patch of the current frame point cloud Information and the depth map of each patch generate a depth map of the point cloud of the current frame. Then the generated depth map of the current frame point cloud is sent to the depth map filling module 105 to fill the blank pixels in the depth map of the current frame point cloud to obtain the filled depth map of the current frame point cloud. The depth map filling module 105 may send the obtained filled depth map of the current frame point cloud to the image or video-based encoding module 107 to perform image or video-based encoding on the filled depth map of the current frame point cloud, Obtain the reconstructed depth map of the current frame point cloud and the code stream including the encoded depth map of the current frame point cloud, and can send the obtained reconstructed current frame point cloud depth map to the point cloud reconstruction module 113. Send the code stream including the encoded depth map of the current frame point cloud to the multiplexing module 110.
点云占用图下采样模块111可以将接收到的由打包模块102发送的当前帧点云的占用图进行下采样处理,以得到低分辨率的当前帧点云的占用图。其中,下采样处理可以提高处理当前帧点云占用图的效率而减少当前帧点云占用图的采样点,下采样处理后得到的当前帧点云占用图的分辨率通常会比下采样处理前小。之后点云占用图下采样模块111还可以将该低分辨率的当前帧点云的占用图发送给占用图编码模块108和点云占用图填充模块112。占用图编码模块108可以对接收到的低分辨率的当前帧点云的占用图进行编码,得到包括经编码的低分辨率的当前帧点云的占用图的码流,占用图编码模块108还可以将包括经编码的低分辨率的当前帧点云的占用图的码流发送给复用模块110。点云占用图填充模块112根据接收到的低分辨率的当前帧点云的占用图对于具有原始分辨率的当前帧点云的占用图进行填充,得到经填充的当前帧点云的占用图,该经填充的当前帧点云的占用图具有原始分辨率。具体地,将具有原始分辨率的当前帧点云的占用图的一个像素块,全部填充为和该低分辨率的当前帧点云的占用图中对应的像素块的值相同的值,得到经填充的当前帧点云的占用图。点云占用图填充模块112还可以将经填充的当前帧点云的占用图发送给点云重构模块113。The point cloud occupancy map down-sampling module 111 may perform down-sampling processing on the received occupancy map of the current frame point cloud sent by the packing module 102 to obtain a low-resolution occupancy map of the current frame point cloud. Among them, the downsampling process can improve the efficiency of processing the current frame point cloud occupancy map and reduce the sampling points of the current frame point cloud occupancy map. The resolution of the current frame point cloud occupancy map obtained after downsampling is usually lower than that before downsampling. small. Afterwards, the point cloud occupancy map down-sampling module 111 may also send the low-resolution current frame point cloud occupancy map to the occupancy map encoding module 108 and the point cloud occupancy map filling module 112. The occupancy map encoding module 108 can encode the received low-resolution occupancy map of the current frame point cloud to obtain a code stream including the encoded low-resolution occupancy map of the current frame point cloud, and the occupancy map encoding module 108 also The code stream including the coded low-resolution occupancy map of the current frame point cloud may be sent to the multiplexing module 110. The point cloud occupancy map filling module 112 fills the occupancy map of the current frame point cloud with the original resolution according to the received low-resolution current frame point cloud occupancy map to obtain the filled current frame point cloud occupancy map, The filled occupancy map of the current frame point cloud has the original resolution. Specifically, one pixel block of the occupancy map of the current frame point cloud with the original resolution is filled with the same value as the value of the corresponding pixel block in the occupancy map of the current frame point cloud of the low resolution to obtain the The filled occupancy map of the point cloud of the current frame. The point cloud occupancy map filling module 112 may also send the filled occupancy map of the point cloud of the current frame to the point cloud reconstruction module 113.
点云重构模块113可以根据接收到的由点云占用图填充模块112发送的经填充的当前帧点云的占用图、由基于图像或视频的编码模块107发送的重构的当前帧点云的深度图、以及辅助信息(patch打包信息和patch空间信息)对当前帧点云的几何进行重构,以输出重构点云,另外,点云重构模块113还可以输出重构点云中重构点和patch的对应关系,以及重构点云中重构点的打包位置。点云重构模块113可以将重构点云、重构点云中重构点和patch的对应关系发送给点云滤波模块114,点云重构模块113还可以将重构点云中重构点的打包位置发送给纹理生成模块104。The point cloud reconstruction module 113 may be based on the received occupancy map of the current frame point cloud sent by the point cloud occupancy map filling module 112, and the reconstructed current frame point cloud sent by the image or video-based encoding module 107. The depth map and auxiliary information (patch packing information and patch space information) reconstruct the geometry of the current frame point cloud to output the reconstructed point cloud. In addition, the point cloud reconstruction module 113 can also output the reconstructed point cloud Correspondence between reconstruction points and patches, and the packaging position of reconstruction points in the reconstruction point cloud. The point cloud reconstruction module 113 may send the reconstructed point cloud, the corresponding relationship between the reconstructed points in the reconstructed point cloud and the patch to the point cloud filtering module 114, and the point cloud reconstruction module 113 may also reconstruct the reconstructed point cloud. The packing positions of the points are sent to the texture generation module 104.
点云滤波模块114在接收到由点云重构模块113发送的重构点云、重构点云中重构点和patch的对应关系之后,可以对重构点云进行滤波。具体地,可以是去除重构点云中明显的噪声点和缝隙等瑕疵以得到经滤波的重构点云,也可以称为平滑的重构点云。或者也可以说,点云滤波块114可以对重构点云进行平滑处理。具体地,点云滤波模块114可以从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块。然后通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,最后再根据当前边界点的 一个或多个相邻重构点,对当前点云块进行滤波。The point cloud filtering module 114 may filter the reconstructed point cloud after receiving the reconstructed point cloud sent by the point cloud reconstruction module 113 and the corresponding relationship between the reconstructed point in the reconstructed point cloud and the patch. Specifically, defects such as obvious noise points and gaps in the reconstructed point cloud can be removed to obtain a filtered reconstructed point cloud, which can also be referred to as a smooth reconstructed point cloud. Or it can be said that the point cloud filtering block 114 can smooth the reconstructed point cloud. Specifically, the point cloud filtering module 114 may determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud. Then through the projection plane corresponding to the adjacent point cloud block, determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and finally according to one or more adjacent reconstruction points of the current boundary point, The current point cloud block is filtered.
纹理图生成模块104在接收到由点云滤波模块114发送的平滑的重构点云、由点云重构模块113发送的重构点云中重构点的打包位置,以及由数据源120发送的当前帧点云之后,可以根据平滑的重构点云、重构点云中重构点的打包位置和当前帧点云生成当前帧点云的纹理图,并可以将所生成的当前帧点云的纹理图发送给纹理图填充模块106,以对当前帧点云的纹理图中的空白像素点进行填充,得到经填充的当前帧点云的纹理图。纹理图填充模块106可以将得到的经填充的当前帧点云的纹理图发送给基于图像或视频的编码模块107,以对经填充的当前帧点云的纹理图进行基于图像或视频的编码,得到包括重构的当前帧点云的纹理图的码流。基于图像或视频的编码模块107还可以将得到的包括重构的当前帧点云的纹理图的码流发送给复用模块110。The texture map generation module 104 receives the smooth reconstructed point cloud sent by the point cloud filtering module 114, the packaged position of the reconstructed point in the reconstructed point cloud sent by the point cloud reconstruction module 113, and is sent by the data source 120 After the current frame point cloud, the texture map of the current frame point cloud can be generated according to the smooth reconstructed point cloud, the packaging position of the reconstructed point in the reconstructed point cloud and the current frame point cloud, and the generated current frame point The cloud texture map is sent to the texture map filling module 106 to fill the blank pixels in the texture map of the current frame point cloud to obtain the filled texture map of the current frame point cloud. The texture map filling module 106 can send the obtained filled texture map of the current frame point cloud to the image or video-based encoding module 107 to perform image or video-based encoding on the filled texture map of the current frame point cloud, Obtain the code stream including the texture map of the reconstructed current frame point cloud. The image or video-based encoding module 107 may also send the obtained code stream including the reconstructed texture map of the current frame point cloud to the multiplexing module 110.
通过上述描述,基于图像或视频的编码模块107、占用图编码模块108、辅助信息编码模块109可以将得到的码流发送给复用模块110,复用模块110可以将接收到的这些码流合并成一个合并的码流,并将该合并的码流发送给输出接口140。输出接口140可以将该合并的码流发送给解码器200。Through the above description, the image or video-based encoding module 107, the occupancy map encoding module 108, and the auxiliary information encoding module 109 can send the obtained code streams to the multiplexing module 110, and the multiplexing module 110 can combine the received code streams The combined code stream is formed, and the combined code stream is sent to the output interface 140. The output interface 140 may send the combined code stream to the decoder 200.
应当理解的是,图2所示的编码器100仅为本申请提供的一种实施例,在具体的实现方式中,编码器100可以包括比图2中所示的模块更多或更少的模块。本申请实施例对此不做具体限定。It should be understood that the encoder 100 shown in FIG. 2 is only an embodiment provided by the present application. In a specific implementation manner, the encoder 100 may include more or less modules than those shown in FIG. 2 Module. The embodiment of the application does not specifically limit this.
图6为本申请实施例提供的一种解码器200的示意性框图。图6是以MPEG PCC解码框架为例进行说明的。参见图6,解码器200可以包括解复用模块201、基于图像或视频的解码模块202、占用图解码模块203、辅助信息解码模块204、点云占用图填充模块205、点云重构模块206、点云滤波模块207和点云的纹理信息重构模块208。FIG. 6 is a schematic block diagram of a decoder 200 provided by an embodiment of the application. Figure 6 illustrates the MPEG PCC decoding framework as an example. Referring to FIG. 6, the decoder 200 may include a demultiplexing module 201, an image or video-based decoding module 202, an occupancy map decoding module 203, an auxiliary information decoding module 204, a point cloud occupancy map filling module 205, and a point cloud reconstruction module 206 , Point cloud filtering module 207 and point cloud texture information reconstruction module 208.
解复用模块201可以通过输入接口204接收由编码器100的输出接口140发送的合并的码流,并将该合并的码流发送到相应解码模块。具体地,解复用模块201将包括经编码的当前帧点云的纹理图的码流和经编码的当前帧点云的深度图的码流,发送给基于图像或视频的解码模块202,将包括经编码的低分辨率的当前帧点云的占用图的码流发送给占用图解码模块203,将包括经编码的辅助信息的码流发送给辅助信息解码模块204。The demultiplexing module 201 may receive the combined code stream sent by the output interface 140 of the encoder 100 through the input interface 204, and send the combined code stream to the corresponding decoding module. Specifically, the demultiplexing module 201 sends the code stream of the coded current frame point cloud texture map and the coded current frame point cloud depth map to the image or video-based decoding module 202, and The code stream including the encoded low-resolution occupancy map of the current frame point cloud is sent to the occupancy map decoding module 203, and the code stream including the encoded auxiliary information is sent to the auxiliary information decoding module 204.
基于图像或视频的解码模块202可以对接收到的包括经编码的当前帧点云的纹理图的码流和包括经编码的当前帧点云的深度图的码流进行解码,得到重构的当前帧点云的纹理图信息和重构的当前帧点云的深度图信息,并可以将该重构的当前帧点云的纹理图信息发送给点云的纹理信息重构模块208,将该重构的当前帧点云的深度图信息发送给点云重构模块206。占用图解码模块203可以对接收到的包括经编码的低分辨率的当前帧点云的占用图的码流进行解码,得到重构的低分辨率的当前帧点云的占用图信息,并将该重构的低分辨率的当前帧点云的占用图信息发送给点云占用图填充模块205。点云占用图填充模块205根据重构的低分辨率的当前帧点云的占用图信息,可以得到重构的具有原始分辨率的当前帧点云的占用图信息,然后将该重构的具有原始分辨率的当前帧点云的占用图信息发送给点云重构模块206。为了方便描述,后续统一将重构的具有原始分辨率的当前帧点云的占用图信息,简称为重构的当前帧点云的占用图信息。辅助信息解码模块204可以对接收到的包括经编码的辅助信息的码流进行解码,得到辅助信息,并可以将该辅助信息发送给点云重构模块206。The image or video-based decoding module 202 can decode the received bitstream including the texture map of the encoded current frame point cloud and the bitstream including the encoded depth map of the current frame point cloud to obtain the reconstructed current frame. The texture map information of the frame point cloud and the reconstructed depth map information of the current frame point cloud, and the reconstructed texture map information of the current frame point cloud can be sent to the point cloud texture information reconstruction module 208, The constructed depth map information of the current frame point cloud is sent to the point cloud reconstruction module 206. The occupancy map decoding module 203 can decode the received bitstream including the occupancy map of the low-resolution current frame point cloud that has been coded to obtain the reconstructed low-resolution occupancy map information of the current frame point cloud, and The reconstructed low-resolution current frame point cloud occupancy map information is sent to the point cloud occupancy map filling module 205. The point cloud occupancy map filling module 205 can obtain the reconstructed occupancy map information of the current frame point cloud with the original resolution according to the reconstructed low-resolution occupancy map information of the current frame point cloud, and then the reconstructed has The occupancy map information of the point cloud of the current frame with the original resolution is sent to the point cloud reconstruction module 206. For the convenience of description, the reconstructed occupancy map information of the current frame point cloud with the original resolution will be referred to as the occupancy map information of the reconstructed current frame point cloud in a unified manner. The auxiliary information decoding module 204 may decode the received code stream including the encoded auxiliary information to obtain auxiliary information, and may send the auxiliary information to the point cloud reconstruction module 206.
点云重构模块206可以根据接收到的由基于图像或视频的解码模块202发送的重构的当前帧点云的深度图信息、由点云占用图填充模块205发送的重构的当前帧点云的占用图信息, 以及由辅助信息解码模块204发送的辅助信息对当前帧点云的几何进行重构,得到重构点云。该重构点云与编码器100中的点云重构模块112得到的重构点云类似,且具体的重构过程可以参考编码器100中的点云重构模块112的重构过程,此处不再赘述。点云重构模块206还可以将该重构点云发送给点云滤波模块207。点云滤波模块207可以根据接收到的重构点云,对重构点云进行滤波,得到平滑的重构点云,具体的滤波过程可以参考编码器100中的点云滤波模块114的滤波过程,此处不再赘述。点云滤波模块207可以将该平滑的重构点云发送给点云的纹理信息重构模块208。点云的纹理信息重构模块208在接收到由点云滤波模块207发送的平滑的重构点云,以及由基于图像或视频的解码模块202发送的重构的当前帧点云的纹理图信息之后,可以对重构点云的纹理信息进行重构,得到经纹理信息重构的重构点云。The point cloud reconstruction module 206 can be based on the received depth map information of the reconstructed current frame point cloud sent by the image or video-based decoding module 202, and the reconstructed current frame point sent by the point cloud occupancy map filling module 205. The occupancy map information of the cloud and the auxiliary information sent by the auxiliary information decoding module 204 reconstruct the geometry of the point cloud of the current frame to obtain the reconstructed point cloud. The reconstructed point cloud is similar to the reconstructed point cloud obtained by the point cloud reconstruction module 112 in the encoder 100, and the specific reconstruction process can refer to the reconstruction process of the point cloud reconstruction module 112 in the encoder 100. I won't repeat it here. The point cloud reconstruction module 206 may also send the reconstructed point cloud to the point cloud filtering module 207. The point cloud filtering module 207 can filter the reconstructed point cloud according to the received reconstructed point cloud to obtain a smooth reconstructed point cloud. The specific filtering process can refer to the filtering process of the point cloud filtering module 114 in the encoder 100 , I won’t repeat it here. The point cloud filtering module 207 may send the smooth reconstructed point cloud to the texture information reconstruction module 208 of the point cloud. The point cloud texture information reconstruction module 208 receives the smooth reconstructed point cloud sent by the point cloud filtering module 207 and the reconstructed current frame point cloud texture map information sent by the image or video-based decoding module 202 Afterwards, the texture information of the reconstructed point cloud can be reconstructed to obtain the reconstructed point cloud reconstructed by the texture information.
应当理解的是,图6所示的解码器200仅为示例,具体实现时,解码器200可以包括比图6中所示的更多或更少的模块。本申请实施例对此不进行限定。It should be understood that the decoder 200 shown in FIG. 6 is only an example. In a specific implementation, the decoder 200 may include more or fewer modules than those shown in FIG. 6. This embodiment of the present application does not limit this.
以下,对本申请实施例提供的点云滤波方法进行说明。需要说明的是,结合图1所示的点云译码系统、图2所示的编码器100的示意性框图,以及图6所示的解码器200的示意性框图,下文中的任一种点云滤波方法可以是点云译码系统中的编码器100执行的,更具体地,可以是编码器100中的点云滤波模块114执行的;下文中的任一种点云滤波方法也可以是点云译码系统中的解码器200执行的,更具体地,是解码器200中的点云滤波模块207执行的。Hereinafter, the point cloud filtering method provided by the embodiment of the present application will be described. It should be noted that, in combination with the point cloud decoding system shown in FIG. 1, the schematic block diagram of the encoder 100 shown in FIG. 2, and the schematic block diagram of the decoder 200 shown in FIG. 6, any of the following The point cloud filtering method may be executed by the encoder 100 in the point cloud decoding system, and more specifically, may be executed by the point cloud filtering module 114 in the encoder 100; any of the following point cloud filtering methods may also be used. It is executed by the decoder 200 in the point cloud decoding system, and more specifically, executed by the point cloud filtering module 207 in the decoder 200.
图7是本申请实施例提供的一种点云滤波方法的流程图,该方法应用于点云译码系统。参见图7,该方法包括:FIG. 7 is a flowchart of a point cloud filtering method provided by an embodiment of the present application, and the method is applied to a point cloud decoding system. Referring to Figure 7, the method includes:
S701:从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块。S701: Determine adjacent point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud.
需要说明的是,重构点云可以是由如图2所示的编码器100中的点云重构模块113对当前帧点云的几何进行重构,得到的点云。重构点云也可以是由如图6所示的解码器200中的点云重构模块206对当前帧点云的几何进行重构,得到的点云。为了方便描述,后续统一以由如图2所示的编码器100中的点云重构模块113对当前帧点云的几何进行重构,得到的重构点云为例进行说明。重构点云包括一个或多个重构点,该一个或多个重构点是组成该重构点云的点,且该一个或多个重构点为三维空间中的点。重构点云包括的一个或多个点云块中的每个点云块都可以由一个或多个重构点组成,且该一个或多个点云块中的每个点云块都是一个连通区域。另外,该一个或多个点云块可以是重构点云中的所有点云块,当然该一个或多个点云块也可以是该重构点云中的部分点云块。It should be noted that the reconstructed point cloud may be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 113 in the encoder 100 as shown in FIG. 2. The reconstructed point cloud may also be a point cloud obtained by reconstructing the geometry of the point cloud of the current frame by the point cloud reconstruction module 206 in the decoder 200 as shown in FIG. 6. For the convenience of description, in the following, the point cloud reconstruction module 113 in the encoder 100 shown in FIG. 2 reconstructs the geometry of the point cloud of the current frame, and the obtained reconstructed point cloud is used as an example for description. The reconstructed point cloud includes one or more reconstructed points, the one or more reconstructed points are points that make up the reconstructed point cloud, and the one or more reconstructed points are points in a three-dimensional space. Each of the one or more point cloud blocks included in the reconstructed point cloud may consist of one or more reconstructed points, and each of the one or more point cloud blocks is A connected area. In addition, the one or more point cloud blocks may be all point cloud blocks in the reconstructed point cloud. Of course, the one or more point cloud blocks may also be part of the point cloud blocks in the reconstructed point cloud.
另外,当前点云块可以是重构点云包括的一个或多个点云块中的任一点云块,当然当前点云块也可以是重构点云包括的一个或多个点云块中的某一指定的点云块。当前点云块的相邻点云块是与当前点云块在三维空间中具有相邻关系的点云块。In addition, the current point cloud block may be any one of the one or more point cloud blocks included in the reconstructed point cloud. Of course, the current point cloud block may also be one or more point cloud blocks included in the reconstructed point cloud. A specified point cloud block. The adjacent point cloud block of the current point cloud block is a point cloud block that has an adjacent relationship with the current point cloud block in a three-dimensional space.
其中,S701的实现方式可以是以下四种实现方式中的任意一种。其中,可以参见图8,图8为以下四种实现方式的二维示意图以及对应的描述信息的汇总表。Wherein, the implementation of S701 can be any one of the following four implementations. Among them, refer to FIG. 8, which is a two-dimensional schematic diagram of the following four implementation manners and a summary table of corresponding description information.
第一种可能的实现方式,S701可以包括:确定一个或多个点云块中每个点云块的包围盒,从该一个或多个点云块中,确定包围盒与当前点云块的包围盒存在重叠部分的点云块为当前点云块的相邻点云块。In the first possible implementation manner, S701 may include: determining the bounding box of each point cloud block in one or more point cloud blocks, and from the one or more point cloud blocks, determining the difference between the bounding box and the current point cloud block The point cloud blocks with overlapping parts of the bounding boxes are adjacent point cloud blocks of the current point cloud block.
需要说明的是,包围盒是一种体积稍大于点云块且特性简单的几何体。包围盒可以将点云块包括的所有重构点包围在其中。包围盒可以是包括多个平面的几何体,本申请实施例对此不做具体限定。例如,包围盒可以是六面体等。It should be noted that the bounding box is a geometric body with a volume slightly larger than a point cloud block and simple characteristics. The bounding box can enclose all the reconstructed points included in the point cloud block. The bounding box may be a geometric body including multiple planes, which is not specifically limited in the embodiment of the present application. For example, the bounding box may be a hexahedron or the like.
由于在三维空间中,每个点云块都可以由一个或多个重构点组成,该一个或多个重构点通常是在三维空间中离散分布的点,所以先确定每个点云块的包围盒,即可将每个点云块在三维空间中的区域进行了划分。通常情况下,包围盒具有重叠部分的两个点云块可以认为是相邻的点云块。因此,可以确定包围盒与当前点云块的包围盒存在重叠部分的点云块为当前点云块的相邻点云块,使得确定当前点云块的相邻点云块的过程更加便捷。Since each point cloud block can be composed of one or more reconstructed points in three-dimensional space, the one or more reconstructed points are usually discretely distributed points in three-dimensional space, so first determine each point cloud block The bounding box of each point cloud block can be divided into three-dimensional space. Generally, two point cloud blocks with overlapping bounding boxes can be regarded as adjacent point cloud blocks. Therefore, it can be determined that the point cloud block in which the bounding box and the bounding box of the current point cloud block overlap is the adjacent point cloud block of the current point cloud block, so that the process of determining the adjacent point cloud block of the current point cloud block is more convenient.
应当理解的是,在如图2所示的编码器100中,重构点云包括的一个或多个点云块的包围盒可以作为一项数据输入到点云滤波模块114中,类似地,在如图6所示的解码器200中,重构点云包括的一个或多个点云块的包围盒可以作为一项数据输入到点云滤波模块207中。It should be understood that, in the encoder 100 shown in FIG. 2, the bounding box of one or more point cloud blocks included in the reconstructed point cloud can be input as a piece of data to the point cloud filtering module 114, similarly, In the decoder 200 as shown in FIG. 6, the bounding box of one or more point cloud blocks included in the reconstructed point cloud may be input to the point cloud filtering module 207 as a piece of data.
第二种可能的实现方式,S701可以包括:确定一个或多个点云块中每个点云块的扩展包围盒,从该一个或多个点云块中,确定扩展包围盒与当前点云块的扩展包围盒存在重叠部分的点云块为当前点云块的相邻点云块。In the second possible implementation manner, S701 may include: determining the extended bounding box of each point cloud block in one or more point cloud blocks, and determining the extended bounding box and the current point cloud from the one or more point cloud blocks The point cloud block with overlapping parts of the extended bounding box of the block is the adjacent point cloud block of the current point cloud block.
需要说明的是,扩展包围盒是对点云块的包围盒经扩展得到的包围盒。扩展包围盒可以通过以包围盒的几何中心为扩展中心发散式地将包围盒的体积扩展预设比例而得到,预设比例可以根据使用需求进行设置,本申请实施例对此不做具体限定。例如,预设比例可以为5%等,也即是扩展包围盒通过以包围盒的几何中心为扩展中心发散式地将包围盒的体积扩展5%得到的。当然,对包围盒的扩展还可以是别的实现方式。It should be noted that the expanded bounding box is a bounding box obtained by expanding the bounding box of the point cloud block. The expanded bounding box can be obtained by divergently expanding the volume of the bounding box by a preset ratio with the geometric center of the bounding box as the expanded center. The preset ratio can be set according to the use requirements, which is not specifically limited in the embodiment of the application. For example, the preset ratio may be 5%, etc., that is, the expanded bounding box is obtained by divergently expanding the volume of the bounding box by 5% with the geometric center of the bounding box as the expansion center. Of course, the expansion of the bounding box can also be implemented in other ways.
由于在一种可能的情况中,当前点云块的包围盒和与其相邻的某些点云块的包围盒不存在重叠部分。此时,当确定包围盒与当前点云盒的包围盒存在重叠部分的点云块为当前点云块的相邻点云块时,容易将某些与当前点云块相邻的点云块排除掉,使得确定出来的相邻点云块的结果不准确。因此,这种情况下,可以先确定一个或多个点云块中每个点云块的扩展包围盒,然后再确定扩展包围盒与当前点云块的扩展包围盒存在重叠部分的点云块为当前点云块的相邻点云块,可以使确定出的当前点云块的相邻点云块的结果更加准确。In a possible situation, there is no overlap between the bounding box of the current point cloud block and the bounding boxes of some point cloud blocks adjacent to it. At this time, when it is determined that the point cloud block that overlaps the bounding box of the current point cloud box is the adjacent point cloud block of the current point cloud block, it is easy to divide some point cloud blocks adjacent to the current point cloud block Excluding them makes the result of the determined adjacent point cloud blocks inaccurate. Therefore, in this case, you can first determine the extended bounding box of each point cloud block in one or more point cloud blocks, and then determine the point cloud block where the extended bounding box overlaps with the extended bounding box of the current point cloud block It is the adjacent point cloud block of the current point cloud block, which can make the determined result of the adjacent point cloud block of the current point cloud block more accurate.
应当理解的是,在如图2所示的编码器100中,重构点云包括的一个或多个点云块的扩展包围盒可以作为一项数据输入到点云滤波模块114中,类似地,在如图6所示的解码器200中,重构点云包括的一个或多个点云块的扩展包围盒可以作为一项数据输入到点云滤波模块207中。It should be understood that, in the encoder 100 shown in FIG. 2, the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud can be input as a piece of data to the point cloud filtering module 114, similarly In the decoder 200 shown in FIG. 6, the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud may be input to the point cloud filtering module 207 as a piece of data.
第三种可能的实现方式,S701可以包括:确定一个或多个点云块中每个点云块的包围盒和当前边界点对应的三维空间体,三维空间体为当前边界点的相邻重构点所处的空间体,从一个或多个点云块中,选择包围盒与当前点云块的包围盒和当前边界点对应的三维空间体均存在重叠部分的点云块为当前点云块的相邻点云块。In a third possible implementation manner, S701 may include: determining the bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, where the three-dimensional volume is the adjacent weight of the current boundary point. The spatial volume where the construction point is located, from one or more point cloud blocks, select the point cloud block where the bounding box and the bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point have overlapping parts as the current point cloud The adjacent point cloud block of the block.
需要说明的是,当前边界点可以是当前点云块中的任一边界点,当前边界点也可以是当前点云块中某一指定的边界点。由于当前点云块是由一个或多个重构点组成的,该一个或多个重构点都是位于三维空间中的点,而当前点云块中的边界点是该一个或多个重构点中位于当前点云块的边界位置的重构点,因此当前点云块中的边界点也是三维空间中的点,当前边界点也即是三维空间中的点。It should be noted that the current boundary point may be any boundary point in the current point cloud block, and the current boundary point may also be a specified boundary point in the current point cloud block. Since the current point cloud block is composed of one or more reconstructed points, the one or more reconstructed points are all points located in the three-dimensional space, and the boundary points in the current point cloud block are the one or more reconstructed points. Constructed points are reconstructed points located at the boundary of the current point cloud block. Therefore, the boundary points in the current point cloud block are also points in the three-dimensional space, and the current boundary points are also points in the three-dimensional space.
另外,本申请实施例是在二维平面上确定当前点云块的边界点。具体地,对于当前点云块中的任一重构点,可以根据当前点云块的占用图中该任一重构点对应的像素点的相邻像素点是否全部为有效像素点来判断,即是当该任一重构点在当前点云块的占用图中对应的像素点的相邻像素点不全为有效像素点时,可以确定该任一重构点为当前点云块的边界点。其中,有效像素点是指其对应的重构点与该任一重构点属于同一点云块,即当前点云块。对于其他 点云块的边界点也是按照这个方法来确定。In addition, the embodiment of the present application determines the boundary point of the current point cloud block on a two-dimensional plane. Specifically, for any reconstructed point in the current point cloud block, it can be judged according to whether the neighboring pixels of the pixel corresponding to any reconstructed point in the current point cloud block are all valid pixels. That is, when the neighboring pixels of any reconstructed point corresponding to the pixel in the occupancy map of the current point cloud block are not all valid pixels, it can be determined that any reconstructed point is the boundary point of the current point cloud block . Among them, the effective pixel point means that its corresponding reconstructed point belongs to the same point cloud block as any reconstructed point, that is, the current point cloud block. The boundary points of other point cloud blocks are also determined according to this method.
由于在一种可能的情况中,当前点云块的相邻点云块的数量较多,而这些相邻点云块中的部分点云块可能明显不存在当前边界点的相邻重构点,而且,当前边界点对应的三维空间体为当前边界点的相邻重构点所处的空间体,因此,为了降低计算复杂度,需要从一个或多个点云块中,选择包围盒不仅与当前点云块的包围盒存在重叠部分,还需要与当前边界点对应的三维空间体存在重叠部分的点云块,将选择的点云块作为当前点云块的相邻点云块。In a possible situation, the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Moreover, the three-dimensional volume corresponding to the current boundary point is the spatial volume where the adjacent reconstruction point of the current boundary point is located. Therefore, in order to reduce the computational complexity, it is necessary to select the bounding box from one or more point cloud blocks. There is an overlap with the bounding box of the current point cloud block, and a point cloud block with an overlapping part in the three-dimensional space corresponding to the current boundary point is also required, and the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
需要说明的是,当前边界点对应的三维空间体可以是以当前边界点为圆心,以第二距离阈值为半径的球体,当然,也可以是指以当前边界点为圆心,以第二距离的二倍为边长的正方体。It should be noted that the three-dimensional volume corresponding to the current boundary point can be a sphere with the current boundary point as the center and the second distance threshold as the radius. Of course, it can also refer to the current boundary point as the center and the second distance. A cube with two times the side length.
应当理解的是,在如图2所示的编码器100中,重构点云包括的一个或多个点云块的包围盒和当前边界点对应的三维空间体可以作为一项数据输入到点云滤波模块114中,类似地,在如图6所示的解码器200中,重构点云包括的一个或多个点云块的包围盒和当前边界点对应的三维空间体可以作为一项数据输入到点云滤波模块207中。It should be understood that in the encoder 100 shown in FIG. 2, the bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be input to the point as a piece of data. In the cloud filtering module 114, similarly, in the decoder 200 as shown in FIG. 6, the bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be used as one item The data is input into the point cloud filtering module 207.
第四种可能的实现方式,S701可以包括:确定一个或多个点云块中每个点云块的扩展包围盒和当前边界点对应的三维空间体,从一个或多个点云块中,选择扩展包围盒与当前点云块的扩展包围盒和当前边界点对应的三维空间体均存在重叠部分的点云块为当前点云块的相邻点云块。In a fourth possible implementation manner, S701 may include: determining the extended bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, from the one or more point cloud blocks, Select the point cloud block in which the extended bounding box and the extended bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point have overlapping parts as the adjacent point cloud block of the current point cloud block.
由于在一种可能的情况中,当前点云块的相邻点云块的数量较多,而这些相邻点云块中的部分点云块可能明显不存在当前边界点的相邻重构点,因此,为了降低计算复杂度,需要从一个或多个点云块中,选择扩展包围盒不仅与当前点云块的扩展包围盒存在重叠部分,还需要与当前边界点对应的三维空间体存在重叠部分的点云块,将选择的点云块作为当前点云块的相邻点云块。In a possible situation, the number of adjacent point cloud blocks of the current point cloud block is large, and some of these adjacent point cloud blocks may obviously not have adjacent reconstruction points of the current boundary point. Therefore, in order to reduce the computational complexity, it is necessary to select the expanded bounding box from one or more point cloud blocks. Not only does it overlap with the expanded bounding box of the current point cloud block, but also the three-dimensional space corresponding to the current boundary point exists. For the overlapping point cloud blocks, the selected point cloud block is regarded as the adjacent point cloud block of the current point cloud block.
应当理解的是,在如图2所示的编码器100中,重构点云包括的一个或多个点云块的扩展包围盒和当前边界点对应的三维空间体可以作为一项数据输入到点云滤波模块114中,类似地,在如图6所示的解码器200中,重构点云包括的一个或多个点云块的扩展包围盒和当前边界点对应的三维空间体可以作为一项数据输入到点云滤波模块207中。It should be understood that in the encoder 100 shown in FIG. 2, the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be input as a piece of data In the point cloud filtering module 114, similarly, in the decoder 200 shown in FIG. 6, the extended bounding box of one or more point cloud blocks included in the reconstructed point cloud and the three-dimensional volume corresponding to the current boundary point can be used as One item of data is input into the point cloud filtering module 207.
S702:通过当前点云块的相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点。S702: Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block of the current point cloud block.
需要说明的是,相邻点云块对应的投影平面是指与相邻点云块存在投影关系的二维平面,相邻点云块对应的投影平面可以是相邻点云块的包围盒中的一个平面。相邻点云块中的重构点的法线方向矢量与相邻点云块对应的投影平面的法线方向矢量之间的夹角小于预设夹角,且该预设夹角可以设置的较小。另外,相邻点云块投影到对应的投影平面上可以是,将相邻点云块中的重构点的三维坐标转换为相邻点云块对应的投影平面上的二维坐标。其中重构点的三维坐标可以根据预先设置的三维空间坐标系来确定,重构点转换为相邻点云块对应的投影平面上的二维坐标可以根据设置在相邻点云块对应的投影平面上的二维坐标系来确定,三维空间坐标系和相邻点云块对应的投影平面上的二维坐标系之间存在旋转平移关系,该旋转平移关系可以通过旋转平移矩阵来表示。为了较为方便地将相邻点云块中的重构点的三维坐标转换为相邻点云块对应的投影平面上的二维坐标,该二维坐标系的两个坐标轴的方向可以与该三维坐标系的三个坐标轴中的两个坐标轴的方向相同,这样,可以较为简单快速地确定出该三维平面与该二维平面之间的旋转平移矩阵,从而可以较为简便地将相邻点云块中的重 构点的三维坐标转换为相邻点云块对应的投影平面上的二维坐标。It should be noted that the projection plane corresponding to the adjacent point cloud block refers to a two-dimensional plane that has a projection relationship with the adjacent point cloud block, and the projection plane corresponding to the adjacent point cloud block may be in the bounding box of the adjacent point cloud block Of a plane. The angle between the normal direction vector of the reconstructed point in the adjacent point cloud block and the normal direction vector of the projection plane corresponding to the adjacent point cloud block is smaller than the preset angle, and the preset angle can be set Smaller. In addition, projecting the adjacent point cloud blocks onto the corresponding projection plane may be to convert the three-dimensional coordinates of the reconstructed points in the adjacent point cloud blocks into two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud blocks. The three-dimensional coordinates of the reconstructed point can be determined according to the preset three-dimensional space coordinate system, and the reconstructed point can be converted into the two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud block according to the projection corresponding to the adjacent point cloud block. The two-dimensional coordinate system on the plane is determined. There is a rotation-translation relationship between the three-dimensional space coordinate system and the two-dimensional coordinate system on the projection plane corresponding to the adjacent point cloud block, and the rotation-translation relationship can be represented by a rotation-translation matrix. In order to conveniently convert the three-dimensional coordinates of the reconstructed points in the adjacent point cloud blocks into the two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud blocks, the directions of the two coordinate axes of the two-dimensional coordinate system can be aligned with the The directions of two coordinate axes of the three coordinate axes of the three-dimensional coordinate system are the same, so that the rotation and translation matrix between the three-dimensional plane and the two-dimensional plane can be determined relatively simply and quickly, so that the adjacent The three-dimensional coordinates of the reconstructed point in the point cloud block are converted into two-dimensional coordinates on the projection plane corresponding to the adjacent point cloud block.
另外,当前边界点的一个或多个相邻重构点是与当前边界点具有相邻关系的重构点。而且,在本申请实施例中,可以只根据相邻点云块中当前边界点的相邻重构点,对当前点云块进行滤波,当然,也可以根据当前点云块和相邻点云块中当前边界点的相邻重构点,对当前点云块进行滤波。因此,接下来通过两种可能的情况对当前边界点的一个或多个相邻重构点的确定方式进行说明。In addition, one or more adjacent reconstruction points of the current boundary point are reconstruction points that have an adjacent relationship with the current boundary point. Moreover, in the embodiments of the present application, the current point cloud block can be filtered only according to the adjacent reconstruction points of the current boundary point in the adjacent point cloud block. Of course, the current point cloud block can also be filtered according to the current point cloud block and the adjacent point cloud. The adjacent reconstruction points of the current boundary point in the block filter the current point cloud block. Therefore, the following describes how to determine one or more adjacent reconstruction points of the current boundary point through two possible situations.
第一种可能的情况,S702可以包括如下步骤(1)-(2)。In the first possible case, S702 may include the following steps (1)-(2).
(1):从相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,其中,当前边界点对应于相邻点云块对应的投影平面中的当前像素点,M为正整数。(1): Determine M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block, where the current boundary point corresponds to the current pixel point in the projection plane corresponding to the adjacent point cloud block, M is a positive integer.
需要说明的是,当前像素点可以是将当前边界点的三维坐标转换为相邻点云块对应的投影平面上的二维坐标对应的像素点,应当理解的是,当前边界点与当前像素点的对应是投影关系上的一种对应。当前像素点的说法是为了与当前边界点对应,以表示当前像素点是当前边界点在相邻点云块对应的投影平面上对应的像素点。It should be noted that the current pixel point can be the pixel point corresponding to the two-dimensional coordinate on the projection plane corresponding to the adjacent point cloud block by converting the three-dimensional coordinates of the current boundary point. It should be understood that the current boundary point is the same as the current pixel point. The correspondence of is a correspondence in the projection relationship. The current pixel point is to correspond to the current boundary point to indicate that the current pixel point is the pixel point corresponding to the current boundary point on the projection plane corresponding to the adjacent point cloud block.
其中,步骤(1)可以通过如下步骤(1-1)-(1-2)来实现。Among them, step (1) can be implemented through the following steps (1-1)-(1-2).
(1-1):当前边界点在相邻点云块对应的投影平面上进行投影后,获得经投影过的相邻点云块对应的投影平面,其中,经投影过的相邻点云块对应的投影平面上包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点,P和Q为正整数。(1-1): After the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the adjacent point cloud block that has been projected The corresponding projection plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, and P and Q are positive integers.
需要说明的是,由于图2所示的编码器100中的patch(点云块)信息生成模块101,可以将重构点云对应的原始点云分割为一个或多个原始点云块,然后将该一个或多个原始点云块中的每个原始点云块投影到对应的投影平面上,也即对于该一个或多个原始点云块中的任一原始点云块,将该原始点云块中的点的三维坐标转换为该原始点云块对应的投影平面上的二维坐标,该二维坐标对应的点即为该原始点云块中的点在对应的投影平面上的像素点。patch信息生成模块101可以将每个原始点云块投影过的投影平面进行存储,或者不存储。应当理解的是,每个原始点云块投影过的投影平面可以认为是每个原始点云块的占用图。It should be noted that due to the patch (point cloud block) information generation module 101 in the encoder 100 shown in FIG. 2, the original point cloud corresponding to the reconstructed point cloud can be divided into one or more original point cloud blocks, and then Project each of the one or more original point cloud blocks onto the corresponding projection plane, that is, for any one of the one or more original point cloud blocks, the original point cloud block The three-dimensional coordinates of the points in the point cloud block are converted to the two-dimensional coordinates on the projection plane corresponding to the original point cloud block. The points corresponding to the two-dimensional coordinates are the points in the original point cloud block on the corresponding projection plane. pixel. The patch information generating module 101 may store the projection plane projected by each original point cloud block, or not store it. It should be understood that the projection plane projected by each original point cloud block can be considered as the occupancy map of each original point cloud block.
那么当前边界点在相邻点云块对应的投影平面上进行投影后,获得的经投影过的相邻点云块对应的投影平面上可以包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点。另外,在patch信息生成模块101没有将每个原始点云块投影过的投影平面进行存储的条件下,相邻点云块对应的投影平面是一个不包含任何重构点对应的像素点的投影平面。那么在当前边界点在相邻点云块对应的投影平面上进行投影之前,可以先将相邻点云块中的P个重构点投影到对应的投影平面上,得到与P个重构点对应的Q个像素点的投影平面。这样,当前边界点在相邻点云块对应的投影平面上进行投影后,获得的经投影过的相邻点云块对应的投影平面上可以包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点。Then, after the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the obtained projection plane corresponding to the projected adjacent point cloud block may include: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstructed points in adjacent point cloud blocks. In addition, under the condition that the patch information generation module 101 does not store the projection plane projected by each original point cloud block, the projection plane corresponding to the adjacent point cloud block is a projection that does not contain any pixel corresponding to the reconstructed point. flat. Then, before the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the P reconstruction points in the neighboring point cloud block can be projected onto the corresponding projection plane to obtain the P reconstruction points The projection plane of the corresponding Q pixels. In this way, after the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the obtained projection plane corresponding to the projected adjacent point cloud block may include: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstructed points in adjacent point cloud blocks.
由于三维空间中的多个点可能对应二维平面上的同一个点,也即是,重构点云中的多个重构点可能对应二维平面上的同一个像素点,因此,对于相邻点云块中的P个重构点,该P个重构点在相邻点云块对应的投影平面上可能对应Q个像素点。其中,Q可能与P相等,也可能小于P。后续,对于M个相邻像素点对应的N个第一候选重构点、S个相邻像素点对应的U个相邻重构点、T个相邻像素点对应的E个第二候选重构点,以及X个重构点对应的Y个像素点是同样的道理,后续不再赘述。Since multiple points in the three-dimensional space may correspond to the same point on the two-dimensional plane, that is, multiple reconstructed points in the reconstructed point cloud may correspond to the same pixel on the two-dimensional plane. P reconstructed points in the adjacent point cloud block, and the P reconstructed points may correspond to Q pixel points on the projection plane corresponding to the adjacent point cloud block. Among them, Q may be equal to P or less than P. Subsequently, for N first candidate reconstruction points corresponding to M adjacent pixels, U adjacent reconstruction points corresponding to S adjacent pixels, and E second candidate reconstruction points corresponding to T adjacent pixels The construction points and the Y pixels corresponding to the X reconstruction points are the same, and will not be repeated in the following.
(1-2):从经投影过的相邻点云块对应的投影平面上确定当前像素点的M个相邻像素点,M个相邻像素点被包括于相邻点云块包括的P个重构点所对应的Q个像素点中。(1-2): Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block that has been projected, and the M adjacent pixel points are included in the P included in the adjacent point cloud block Q pixel points corresponding to each reconstruction point.
从经投影过的相邻点云块对应的投影平面上确定当前像素点的M个相邻像素点的实现方式可以包括多种,比如,可以确定经投影过的相邻点云块对应的投影平面上的像素点与当前像素点之间的距离,将与当前像素点之间的距离小于第三距离阈值的像素点作为当前像素点的M个相邻像素点。又比如,在经投影过的相邻点云块对应的投影平面上,以当前像素点为圆心,以第一预设阈值为半径绘制圆形区域,将该圆形区域内所包括的像素点作为当前像素点的M个相邻像素点。再比如,在经投影过的相邻点云块对应的投影平面上,以当前像素点为中心,以第二预设阈值为边长绘制正方形区域,将该正方形区域内所包括的像素点作为当前像素点的M个相邻像素点。当然也可以通过其他方式确定当前像素点的M个相邻像素点,本申请实施例对此不做具体限定。例如,参见图9,确定当前像素点的M个相邻像素点可以是以当前像素点为圆心,以R为半径的圆所包括的像素点。或者确定当前像素点的M个相邻像素点可以是以当前像素点为中心,以2R为边长的正方形所包括的像素点。There are many ways to determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the projected adjacent point cloud block, for example, the projection corresponding to the projected adjacent point cloud block can be determined The distance between the pixel on the plane and the current pixel, and the pixel whose distance from the current pixel is less than the third distance threshold is regarded as the M adjacent pixels of the current pixel. For another example, on the projection plane corresponding to the adjacent point cloud blocks that have been projected, a circular area is drawn with the current pixel as the center and the radius of the first preset threshold, and the pixels included in the circular area M adjacent pixels as the current pixel. For another example, on the projection plane corresponding to the adjacent point cloud blocks that have been projected, a square area is drawn with the current pixel as the center and the second preset threshold is the side length, and the pixels included in the square area are taken as M adjacent pixels of the current pixel. Of course, the M adjacent pixels of the current pixel can also be determined in other ways, which is not specifically limited in the embodiment of the present application. For example, referring to FIG. 9, determining the M adjacent pixels of the current pixel may be the pixels included in a circle with the current pixel as the center and R as the radius. Or the M adjacent pixels that determine the current pixel point may be pixels included in a square with the current pixel point as the center and 2R as the side length.
(2):根据当前像素点的M个相邻像素点,确定当前边界点的L个相邻重构点。(2): Determine the L adjacent reconstruction points of the current boundary point according to the M adjacent pixels of the current pixel point.
其中,步骤(2)可以通过如下两种可能的实现方式中的任意一种可能的实现方式来实现。Wherein, step (2) can be implemented by any one of the following two possible implementations.
第一种可能的实现方式:从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,N为正整数。The first possible implementation manner: from the N first candidate reconstruction points, determine the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold as the adjacent reconstruction point of the current boundary point, and N The first candidate reconstructed point is a reconstructed point corresponding to M adjacent pixel points in the reconstructed point cloud, and N is a positive integer.
需要说明的是,第一深度为当前边界点相对于相邻点云块对应的投影平面的深度,第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值。应当理解的是,第一深度为当前边界点沿投影方向上相对于相邻点云块对应的投影平面的距离,第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值的绝对值。It should be noted that the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the first depth difference is the first depth and each of the N first candidate reconstruction points. The depth difference between the candidate reconstruction points and the depths of the projection planes corresponding to adjacent point cloud blocks. It should be understood that the first depth is the distance of the current boundary point in the projection direction relative to the projection plane corresponding to the adjacent point cloud block, and the first depth difference is the difference between the first depth and the N first candidate reconstruction points. The absolute value of the depth difference between each first candidate reconstruction point and the depth of the projection plane corresponding to the adjacent point cloud block.
基于上述步骤(1)中对确定当前像素点的M个相邻像素点的说明,在相邻点云块对应的投影平面上,M个相邻像素点与当前像素点之间的距离在一定范围内。但是与M个相邻像素点对应的N个第一候选重构点是三维空间中的点,由于三维空间中的多个点可能对应二维平面上的同一个点,也即是,重构点云中的多个重构点可能对应二维平面上的同一个像素点。此时,对应同一像素点的多个重构点相对于相邻点云块对应的投影平面的深度不同,也就是说,N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度可能是不相同的,也即N个第一候选重构点中每个第一候选重构点与相邻点云块对应的投影平面之间的距离可能是不相同的。所以可能存在第一深度与某些第一候选重构点相对于相邻点云块对应的投影平面的深度之间的差值大于深度阈值的情况。应当理解的是,这些第一候选重构点与当前边界点之间没有相邻关系,因此不能作为当前边界点的相邻重构点。所以可以确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点,使得确定出的当前边界点的相邻重构点更准确。其中,深度阈值可以根据使用需求预先进行设置,本申请实施例对此不做具体限定。Based on the description of determining the M neighboring pixels of the current pixel in the above step (1), on the projection plane corresponding to the neighboring point cloud block, the distance between the M neighboring pixels and the current pixel is certain Within range. However, the N first candidate reconstruction points corresponding to M adjacent pixel points are points in the three-dimensional space. Since multiple points in the three-dimensional space may correspond to the same point on the two-dimensional plane, that is, the reconstruction Multiple reconstructed points in the point cloud may correspond to the same pixel on the two-dimensional plane. At this time, the depths of the multiple reconstruction points corresponding to the same pixel point relative to the projection plane corresponding to the adjacent point cloud block are different, that is, each of the N first candidate reconstruction points is relatively The depth of the projection plane corresponding to the adjacent point cloud block may be different, that is, the depth between each first candidate reconstruction point in the N first candidate reconstruction points and the projection plane corresponding to the adjacent point cloud block The distance may be different. Therefore, there may be a case where the difference between the first depth and the depth of some first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block is greater than the depth threshold. It should be understood that there is no adjacent relationship between these first candidate reconstruction points and the current boundary point, and therefore cannot be regarded as adjacent reconstruction points of the current boundary point. Therefore, it can be determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, so that the determined adjacent reconstruction point of the current boundary point is more accurate. Wherein, the depth threshold can be set in advance according to usage requirements, which is not specifically limited in the embodiment of the present application.
例如,如图10所示,图10中与M个相邻像素点中的相邻像素点a’对应的第一候选重构点为第一候选重构点a,第一深度与第一候选重构点a相对于相邻点云块对应的投影平面的深度之间的深度差值明显大于深度阈值,所以第一候选重构点a不能作为当前边界点的相邻重 构点。For example, as shown in FIG. 10, the first candidate reconstruction point corresponding to the neighboring pixel point a'of the M neighboring pixels in FIG. 10 is the first candidate reconstruction point a, and the first depth and the first candidate The depth difference between the reconstruction point a and the depth of the projection plane corresponding to the adjacent point cloud block is obviously greater than the depth threshold, so the first candidate reconstruction point a cannot be used as the neighboring reconstruction point of the current boundary point.
第二种可能的实现方式:从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,N为正整数。The second possible implementation manner: from the N first candidate reconstruction points, determine that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point, and N The first candidate reconstructed point is a reconstructed point corresponding to M adjacent pixel points in the reconstructed point cloud, and N is a positive integer.
需要说明的是,第一距离为当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离。It should be noted that the first distance is the distance between the current boundary point and each of the N first candidate reconstruction points.
由于与M个相邻像素点对应的N个第一候选重构点是三维空间中的点,基于上述步骤(1)中对确定当前像素点的M个相邻像素点的说明,在相邻点云块对应的投影平面上,M个相邻像素点与当前像素点之间的距离在一定范围内。也可以理解为M个相邻像素点与当前像素点之间的距离比较近。但是与M个相邻像素点对应的N个第一候选重构点是三维空间中的点,而且基于上述描述,重构点云中的多个重构点可能对应二维平面上的同一个像素点,所以可能存在第一距离大于第一距离阈值的第一候选重构点,也即可能存在与当前边界点之间距离较远的第一候选重构点。应当理解的是,与当前边界点之间的距离较远的第一候选重构点与当前边界点之间没有相邻关系,因此不能作为当前边界点的相邻重构点。所以可以确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点。其中第一距离阈值可以可以根据使用需求预先进行设置,本申请实施例对此不做具体限定。Since the N first candidate reconstruction points corresponding to M adjacent pixels are points in three-dimensional space, based on the description of determining the M adjacent pixels of the current pixel in the above step (1), On the projection plane corresponding to the point cloud block, the distance between the M adjacent pixels and the current pixel is within a certain range. It can also be understood that the distance between the M adjacent pixels and the current pixel is relatively close. However, the N first candidate reconstruction points corresponding to M adjacent pixels are points in three-dimensional space, and based on the above description, multiple reconstruction points in the reconstructed point cloud may correspond to the same one on the two-dimensional plane Pixel points, so there may be a first candidate reconstruction point with a first distance greater than the first distance threshold, that is, there may be a first candidate reconstruction point with a longer distance from the current boundary point. It should be understood that the first candidate reconstruction point that is far from the current boundary point has no adjacent relationship with the current boundary point, and therefore cannot be regarded as the adjacent reconstruction point of the current boundary point. Therefore, it can be determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point. The first distance threshold may be preset according to usage requirements, which is not specifically limited in the embodiment of the present application.
例如,如图11所示,设置第一距离阈值为R,图11中与M个相邻像素点中的相邻像素点b’对应的第一候选重构点为第一候选重构点b,第一候选重构点b与当前边界点之间的第一距离明显大于第一距离阈值R,所以第一候选重构点b不能作为当前边界点的相邻重构点。For example, as shown in FIG. 11, the first distance threshold is set to R, and the first candidate reconstruction point corresponding to the adjacent pixel point b′ among the M adjacent pixels in FIG. 11 is the first candidate reconstruction point b , The first distance between the first candidate reconstruction point b and the current boundary point is significantly greater than the first distance threshold R, so the first candidate reconstruction point b cannot be used as the adjacent reconstruction point of the current boundary point.
其中,将重构点云中的重构点投影到二维平面时,可以记录每个重构点相对于投影平面的深度,而且在投影之后,还可以确定重构点对应的像素点的二维坐标。这样,当确定当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离时,可以根据当前像素点的二维坐标和当前边界点相对于相邻点云块对应的投影平面的深度,以及M个相邻像素点的二维坐标和N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度来确定。也即是,可以直接基于当前边界点在相邻点云块对应的投影平面上的投影情况,以及N个第一候选重构点在相邻点云块对应的投影平面上的投影情况,确定当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离,而无需返回至三维空间去计算。Among them, when the reconstructed point in the reconstructed point cloud is projected to a two-dimensional plane, the depth of each reconstructed point relative to the projection plane can be recorded, and after projection, the second pixel point corresponding to the reconstructed point can also be determined. Dimensional coordinates. In this way, when determining the distance between the current boundary point and each of the N first candidate reconstruction points, it can be based on the two-dimensional coordinates of the current pixel point and the current boundary point relative to the adjacent point cloud The depth of the projection plane corresponding to the block, and the two-dimensional coordinates of M adjacent pixel points and the depth of each first candidate reconstruction point in the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block to make sure. That is, it can be determined directly based on the projection of the current boundary point on the projection plane corresponding to the adjacent point cloud block, and the projection of the N first candidate reconstruction points on the projection plane corresponding to the adjacent point cloud block The distance between the current boundary point and each of the N first candidate reconstruction points without returning to the three-dimensional space for calculation.
当然,在本申请实施例中,也可以返回至三维空间中计算,具体地,可以根据当前边界点的三维坐标,以及N个第一候选重构点中每个第一候选重构点的三维坐标,确定当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离。Of course, in the embodiment of this application, it can also be calculated in three-dimensional space. Specifically, it can be calculated based on the three-dimensional coordinates of the current boundary point and the three-dimensional value of each of the N first candidate reconstruction points. The coordinates are used to determine the distance between the current boundary point and each of the N first candidate reconstruction points.
需要说明的是,在本申请实施例中,不仅可以按照上述两种可能的实现方式,根据当前像素点的M个相邻像素点,确定所述当前边界点的L个相邻重构点,还可以通过其他的方式来确定,比如,可以直接将N个第一候选重构点确定为当前边界点的L个相邻重构点,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,此时N与L相等。It should be noted that, in the embodiment of the present application, not only can the L adjacent reconstruction points of the current boundary point be determined according to the above two possible implementation manners and the M adjacent pixel points of the current pixel point, It can also be determined in other ways. For example, N first candidate reconstruction points can be directly determined as L adjacent reconstruction points of the current boundary point, and N first candidate reconstruction points are M adjacent pixels. The point corresponds to the reconstructed point in the reconstructed point cloud, where N and L are equal.
至此,已完成对上述S702的第一种可能的情况的说明,接下来对S702的第二种可能的情况进行说明。So far, the description of the first possible situation of S702 has been completed, and the second possible situation of S702 will be described next.
第二种可能的情况,S702可以包括如下步骤(3)-(4)。In the second possible situation, S702 may include the following steps (3)-(4).
(3):从当前点云块对应的投影平面和相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,其中,当前边界点对应于相邻点云块对应的投影平面中的当前像素点,所述S为正整数。(3): From the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block, determine the S adjacent pixel points of the current pixel point, where the current boundary point corresponds to the adjacent point cloud block For the current pixel in the projection plane of, the S is a positive integer.
由于在三维空间中,与当前边界点相邻的重构点除过当前点云块的相邻点云块中的重构点之外,还有当前点云块中的除过当前边界点之外的重构点。所以为了使确定出的当前边界点的相邻重构点的精确度更高,还可以从当前点云块对应的投影平面和相邻点云块对应的投影平面共同来确定当前像素点的S个相邻像素点。Because in the three-dimensional space, the reconstructed points adjacent to the current boundary point in addition to the reconstructed points in the adjacent point cloud block of the current point cloud block, and the current point cloud block except the current boundary point Outside the reconstruction point. Therefore, in order to make the determined adjacent reconstruction points of the current boundary point more accurate, the S of the current pixel can also be determined from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block. Adjacent pixels.
其中,步骤(3)可以通过如下步骤(3-1)-步骤(3-2)来实现。Among them, step (3) can be implemented through the following steps (3-1)-step (3-2).
(3-1):当当前边界点在相邻点云块对应的投影平面上进行投影后,获得经投影过的相邻点云块对应的投影平面,其中,相邻点云块对应的投影平面上包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点,P和Q为正整数。(3-1): When the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection corresponding to the adjacent point cloud block The plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, and P and Q are positive integers.
需要说明的是,步骤(3-1)与上述步骤(1-1)类似,所以此处不再赘述。It should be noted that step (3-1) is similar to the above step (1-1), so it will not be repeated here.
(3-2):从当前点云块对应的投影平面上,确定当前边界点投影到当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,从经投影过的相邻点云块对应的投影平面上,确定当前边界点投影到相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,T个相邻像素点被包括于当前点云块包括的X个重构点所对应的Y个像素点中,M个相邻像素点被包括于相邻点云块包括的P个重构点所对应的Q个像素点中,T和M之和为S,T、X和Y为正整数。(3-2): From the projection plane corresponding to the current point cloud block, determine the current boundary point to be projected to the current pixel point i on the projection plane corresponding to the current point cloud block. On the projection plane corresponding to the adjacent point cloud block, determine that the current boundary point is projected to the M adjacent pixels of the current pixel j on the projection plane corresponding to the adjacent point cloud block, and the T adjacent pixels are included in the current Among the Y pixels corresponding to the X reconstructed points included in the point cloud block, M adjacent pixels are included in the Q pixel points corresponding to the P reconstructed points included in the adjacent point cloud block, T The sum of M and M is S, and T, X and Y are positive integers.
由于第二种可能的情况中,不仅需要从当前点云块中确定当前边界点的相邻重构点,还需要从当前点云块的相邻点云块中确定当前边界点的相邻重构点,因此,需要将当前边界点在当前点云块对应的投影平面上进行投影,还需要将当前边界点在当前点云块的相邻点云块对应的投影平面上进行投影。也即是,当前边界点在当前点云块对应的投影平面上存在一个当前像素点,在当前点云块的相邻点云块对应的投影平面上也存在一个当前像素点。为了便于描述,将当前边界点投影到当前点云块对应的投影平面上的当前像素点称为当前像素点i,将当前边界点投影到当前点云块的相邻点云块对应的投影平面上的当前像素点称为当前像素点j。Because in the second possible situation, not only need to determine the adjacent reconstruction point of the current boundary point from the current point cloud block, but also need to determine the adjacent reconstruction point of the current boundary point from the adjacent point cloud block of the current point cloud block. Therefore, the current boundary point needs to be projected on the projection plane corresponding to the current point cloud block, and the current boundary point needs to be projected on the projection plane corresponding to the adjacent point cloud block of the current point cloud block. That is, the current boundary point has a current pixel point on the projection plane corresponding to the current point cloud block, and there is also a current pixel point on the projection plane corresponding to the adjacent point cloud block of the current point cloud block. For ease of description, the current pixel point that projects the current boundary point onto the projection plane corresponding to the current point cloud block is called the current pixel point i, and the current boundary point is projected onto the projection plane corresponding to the adjacent point cloud block of the current point cloud block The current pixel on above is called the current pixel j.
另外,从当前点云块对应的投影平面上,确定当前边界点投影到当前点云块对应的投影平面上的当前像素点i的T个相邻像素点的方式,以及从经投影过的相邻点云块对应的投影平面上,确定当前边界点投影到相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点的方式,与上述步骤(1-2)中确定当前像素点的M个相邻像素点的方式相同或相似,此处不再赘述。In addition, from the projection plane corresponding to the current point cloud block, determine the method of projecting the current boundary point to the T adjacent pixel points of the current pixel point i on the projection plane corresponding to the current point cloud block, and the projected phase On the projection plane corresponding to the neighboring point cloud block, the method of determining the current boundary point to be projected to the M neighboring pixels of the current pixel j on the projection plane corresponding to the neighboring point cloud block is the same as in the above step (1-2) The methods for determining the M adjacent pixels of the current pixel are the same or similar, and will not be repeated here.
(4):根据当前像素点的S个相邻像素点,确定当前边界点的U个相邻重构点。(4): Determine U adjacent reconstruction points of the current boundary point according to the S adjacent pixel points of the current pixel point.
其中,步骤(4)可以通过如下两种可能实现方式中的任意一种可能实现方式来实现。Wherein, step (4) can be implemented in any one of the following two possible implementation ways.
第一种可能的实现方式,步骤(4)可以包括:从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二深度差值小于深度阈值的第二候选重构点为当前边界点的相邻重构点,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,E个第二候选重构点为T个相邻像素点在重构点云中对应的重构点,N和T为正整数。In the first possible implementation manner, step (4) may include: from the N first candidate reconstruction points, determining that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the phase of the current boundary point. Neighbor reconstruction points; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold as the neighbor reconstruction point of the current boundary point, and N first candidates The reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstructed point cloud, the E second candidate reconstruction points are the corresponding reconstruction points of T adjacent pixels in the reconstructed point cloud, N And T are positive integers.
需要说明的是,第一深度为当前边界点相对于相邻点云块对应的投影平面的深度,第二深度为当前边界点相对于当前点云块对应的投影平面的深度。第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值,第二深度差值为第二深度分别与E个第二候选重构点中每个第二候选重构点相对于当前点云块对应的投影平面的深度之间的深度差值。第二深度与第一深度类似,第二深 度差值与第一深度差值类似,第一深度和第一深度差值均已在上述步骤(2)的第一种可能的实现方式中做过说明,所以此处对第二深度和第二深度差值不再赘述。It should be noted that the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the second depth is the depth of the current boundary point relative to the projection plane corresponding to the current point cloud block. The first depth difference is the depth difference between the first depth and the depth of each of the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block, and the second The depth difference is the depth difference between the second depth and the depth of each of the E second candidate reconstruction points with respect to the projection plane corresponding to the current point cloud block. The second depth is similar to the first depth, and the second depth difference is similar to the first depth difference. Both the first depth and the first depth difference have been done in the first possible implementation of step (2) above Explanation, so the difference between the second depth and the second depth will not be repeated here.
由于第二种可能的情况中,不仅需要从当前点云块的相邻点云块中确定当前边界点的相邻重构点,还需要从当前点云块中确定当前边界点的相邻重构点。因此,需要确定当前边界点在当前点云块的相邻点云块中的相邻重构点,还需要确定当前边界点在当前点云块中的相邻重构点。也即是需要从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点,还需要从E个第二候选重构点中,确定对应的第二深度差值小于深度阈值的第二候选重构点为当前边界点的相邻重构点。其中,从E个第二候选重构点中,确定对应的第二深度差值小于深度阈值的第二候选重构点为当前边界点的相邻重构点的方式,与从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点的方式类似,具体可以参考上述步骤(2)的第一种可能的实现方式,此处不再赘述。下面通过举例来对此实现方式进行说明。Because in the second possible situation, not only need to determine the adjacent reconstruction point of the current boundary point from the adjacent point cloud block of the current point cloud block, but also need to determine the adjacent reconstruction point of the current boundary point from the current point cloud block. Construct point. Therefore, it is necessary to determine the adjacent reconstruction point of the current boundary point in the adjacent point cloud block of the current point cloud block, and it is also necessary to determine the adjacent reconstruction point of the current boundary point in the current point cloud block. That is, it is necessary to determine the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold from the N first candidate reconstruction points as the adjacent reconstruction point of the current boundary point, and also need to start from the Eth reconstruction point. Among the two candidate reconstruction points, it is determined that the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold is the neighbor reconstruction point of the current boundary point. Among them, from the E second candidate reconstruction points, the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold is determined as the neighbor reconstruction point of the current boundary point. Among the candidate reconstruction points, the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is determined to be the adjacent reconstruction point of the current boundary point in a similar manner. For details, please refer to the first method of step (2) above. The possible implementation methods are not repeated here. The following uses an example to illustrate this implementation.
例如,如图12所示,图12中与M个相邻像素点中的相邻像素点a’对应的第一候选重构点为第一候选重构点a,第一深度与第一候选重构点a相对于相邻点云块对应的投影平面的深度之间的深度差值明显大于深度阈值,所以第一候选重构点a不能作为当前边界点的相邻重构点。与T个相邻像素点中的相邻像素点c’对应的第二候选重构点为第二候选重构点c,第二深度与第二候选重构点c相对于当前点云块对应的投影平面的深度之间的深度差值明显大于深度阈值,所以第二候选重构点c不能作为当前边界点的相邻重构点。For example, as shown in FIG. 12, the first candidate reconstruction point corresponding to the adjacent pixel point a'of the M adjacent pixels in FIG. 12 is the first candidate reconstruction point a, and the first depth and the first candidate The depth difference between the reconstruction point a and the depth of the projection plane corresponding to the adjacent point cloud block is obviously greater than the depth threshold, so the first candidate reconstruction point a cannot be used as the neighboring reconstruction point of the current boundary point. The second candidate reconstruction point corresponding to the adjacent pixel point c′ among the T adjacent pixels is the second candidate reconstruction point c, and the second depth corresponds to the second candidate reconstruction point c relative to the current point cloud block The depth difference between the depths of the projection planes is obviously greater than the depth threshold, so the second candidate reconstruction point c cannot be used as the adjacent reconstruction point of the current boundary point.
第二种可能的实现方式,步骤(4)可以包括:从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二距离小于第一距离阈值的第二候选重构点为当前边界点的相邻重构点,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,E个第二候选重构点为T个相邻像素点在重构点云中对应的重构点,N和T为正整数。In the second possible implementation manner, step (4) may include: from the N first candidate reconstruction points, determining that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the phase of the current boundary point. Neighbor reconstruction points; from the E second candidate reconstruction points, determine the second candidate reconstruction point whose corresponding second distance is less than the first distance threshold as the neighbor reconstruction point of the current boundary point, and N first candidates The reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstructed point cloud, the E second candidate reconstruction points are the corresponding reconstruction points of T adjacent pixels in the reconstructed point cloud, N And T are positive integers.
需要说明的是,第一距离为当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离,第二距离为当前边界点与E个第二候选重构点中每个第二候选重构点之间的距离。第二距离与第一距离类似,第一距离已在上述步骤(2)的第二种可能的实施方式中做过说明,所以此处对第二距离不再赘述。下面通过举例来对此实现方式进行说明。It should be noted that the first distance is the distance between the current boundary point and each of the N first candidate reconstruction points, and the second distance is the current boundary point and the E second candidate reconstruction points. The distance between each second candidate reconstruction point in the points. The second distance is similar to the first distance, and the first distance has been described in the second possible implementation manner of step (2) above, so the second distance will not be repeated here. The following uses an example to illustrate this implementation.
例如,如图13所示,图13中设置第一距离阈值为R。图13中与M个相邻像素点中的相邻像素点b’对应的第一候选重构点为第一候选重构点b,第一候选重构点b与当前边界点之间的第一距离明显大于第一距离阈值R,所以第一候选重构点b不能作为当前边界点的相邻重构点。与T个相邻像素点中的相邻像素点d’对应的第二候选重构点为第二候选重构点d,第二候选重构点d与当前边界点之间的第二距离明显大于第一距离阈值R,所以第二候选重构点d不能作为当前边界点的相邻重构点。For example, as shown in FIG. 13, the first distance threshold is set to R in FIG. In FIG. 13, the first candidate reconstruction point corresponding to the neighboring pixel point b′ among the M neighboring pixels is the first candidate reconstruction point b, and the first candidate reconstruction point b between the first candidate reconstruction point b and the current boundary point A distance is obviously greater than the first distance threshold R, so the first candidate reconstruction point b cannot be used as the adjacent reconstruction point of the current boundary point. The second candidate reconstruction point corresponding to the neighboring pixel point d'among the T neighboring pixels is the second candidate reconstruction point d, and the second distance between the second candidate reconstruction point d and the current boundary point is obvious It is greater than the first distance threshold R, so the second candidate reconstruction point d cannot be used as the adjacent reconstruction point of the current boundary point.
值得说明的是,由于与当前边界点具有相邻关系的重构点,除过当前点云块的相邻点云块中的重构点之外,还可以是当前点云块中除过当前边界点之外的其他重构点。因此,第二种可能的情况中,不仅从当前点云块的相邻点云块中确定当前边界点的相邻重构点,而且从当前点云块中确定当前边界点的相邻重构点,使得确定出的当前边界点的相邻重构点的结果更加精确。It is worth noting that, because the reconstructed point has an adjacent relationship with the current boundary point, in addition to the reconstructed point in the adjacent point cloud block of the current point cloud block, it can also be the current point cloud block except the current point cloud block. Other reconstruction points outside the boundary point. Therefore, in the second possible situation, not only determine the adjacent reconstruction point of the current boundary point from the adjacent point cloud block of the current point cloud block, but also determine the adjacent reconstruction point of the current boundary point from the current point cloud block Point, making the determined result of the adjacent reconstruction point of the current boundary point more accurate.
需要说明的是,在本申请实施例中,不仅可以按照上述两种可能的实现方式,根据S个相邻像素点,确定当前边界点的U个相邻重构点,还可以通过其他的方式来确定,比如,可 以直接将当前像素点的S相邻像素点在重构点云中对应的重构点确定为当前边界点的U个相邻重构点。其中,S个相邻像素点中包括当前边界点投影到当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,以及当前边界点投影到相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,因此,在这种情况下,T个相邻像素点在重构点云中对应的E个第二候选重构点和M个相邻像素点在重构点云中对应的N个第一候选重构点,为当前边界点的U个相邻重构点。也即是,在这种情况下,E和N之和为U。It should be noted that in the embodiment of the present application, not only can the U adjacent reconstruction points of the current boundary point be determined according to the above two possible implementation manners and the S adjacent pixel points, but also other methods can be used To determine, for example, the reconstruction points corresponding to the S neighboring pixels of the current pixel in the reconstructed point cloud can be directly determined as U neighboring reconstruction points of the current boundary point. Among them, the S adjacent pixels include the current boundary point projected to the current pixel point i on the projection plane corresponding to the current point cloud block, and the current boundary point projected to the adjacent point cloud block corresponding to the current pixel point i The M adjacent pixels of the current pixel j on the projection plane, therefore, in this case, the T adjacent pixels correspond to the E second candidate reconstruction points and M phases in the reconstructed point cloud. The N first candidate reconstruction points corresponding to the neighboring pixel points in the reconstruction point cloud are U neighboring reconstruction points of the current boundary point. That is, in this case, the sum of E and N is U.
至此,已完成对S702的说明,也即通过S702确定出了当前点云块中当前边界点的一个或多个相邻重构点。接下来通过S703来对当前点云块的滤波进行说明。So far, the description of S702 has been completed, that is, one or more adjacent reconstruction points of the current boundary point in the current point cloud block are determined through S702. Next, S703 is used to describe the filtering of the current point cloud block.
S703:根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波。S703: Filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
需要说明的是,滤波是对当前点云块去除噪声点和缝隙等瑕疵的操作,本申请实施例中,当重构点云是由如图2所示的编码器100中的点云重构模块113得到的,那么滤波就可以是编码器100中的点云滤波模块114来执行。当重构点云是由如图6所示的解码器200中的点云重构模块206得到的,那么滤波就可以是解码器200中的点云滤波模块207来执行。It should be noted that filtering is an operation to remove defects such as noise points and gaps from the current point cloud block. In the embodiment of the present application, when the reconstructed point cloud is reconstructed from the point cloud in the encoder 100 as shown in FIG. 2 The filtering can be performed by the point cloud filtering module 114 in the encoder 100. When the reconstructed point cloud is obtained by the point cloud reconstruction module 206 in the decoder 200 as shown in FIG. 6, the filtering may be performed by the point cloud filtering module 207 in the decoder 200.
其中,根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波的实现过程包括:确定当前边界点的一个或多个相邻重构点的质心位置。如果质心位置与当前边界点所处位置之间的距离大于第二距离阈值,则更新当前边界点的位置,其中,当前边界点更新后的位置对应该质心位置。Wherein, according to one or more adjacent reconstruction points of the current boundary point, the implementation process of filtering the current point cloud block includes: determining the centroid position of one or more adjacent reconstruction points of the current boundary point. If the distance between the position of the centroid and the position of the current boundary point is greater than the second distance threshold, the position of the current boundary point is updated, where the updated position of the current boundary point corresponds to the position of the centroid.
其中,一个或多个相邻重构点的质心位置可以通过一个或多个相邻重构点的三维坐标来确定。具体地,可以确定一个或多个相邻重构点的三维坐标中的x坐标之和,并将x坐标之和除以一个或多个相邻重构点的总个数,得到一个或多个相邻重构点的质心的x坐标。同理,可以确定一个或多个相邻重构点的三维坐标中的y坐标之和,并将y坐标之和除以一个或多个相邻重构点的总个数,得到一个或多个相邻重构点的质心的y坐标;可以确定一个或多个相邻重构点的三维坐标中的z坐标之和,并将z坐标之和除以一个或多个相邻重构点的总个数,得到一个或多个相邻重构点的质心的z坐标。这样,即可得到质心的三维坐标,即质心位置。Wherein, the centroid position of one or more adjacent reconstruction points can be determined by the three-dimensional coordinates of one or more adjacent reconstruction points. Specifically, the sum of x coordinates in the three-dimensional coordinates of one or more adjacent reconstruction points can be determined, and the sum of x coordinates can be divided by the total number of one or more adjacent reconstruction points to obtain one or more The x-coordinates of the centroids of adjacent reconstruction points. In the same way, the sum of y coordinates in the three-dimensional coordinates of one or more adjacent reconstruction points can be determined, and the sum of y coordinates can be divided by the total number of one or more adjacent reconstruction points to obtain one or more The y-coordinates of the centroids of two adjacent reconstructed points; the sum of z-coordinates in the three-dimensional coordinates of one or more adjacent reconstructed points can be determined, and the sum of z-coordinates can be divided by one or more adjacent reconstructed points Get the z coordinate of the centroid of one or more adjacent reconstruction points. In this way, the three-dimensional coordinates of the center of mass can be obtained, that is, the position of the center of mass.
在一种可能的实现方式中,更新当前边界点的位置,即是指用质心位置更新当前边界点的位置。In a possible implementation manner, updating the position of the current boundary point refers to updating the position of the current boundary point with the centroid position.
需要说明的是,当一个或多个相邻重构点的质心位置与当前边界点所处的位置之间的距离大于第二距离阈值时,表明该当前边界点为当前点云块的噪声点,因此,可以用于该一个或多个相邻重构点的质心位置更新当前边界点的位置,来去除当前边界点,也即去除当前点云块的噪声点。It should be noted that when the distance between the centroid position of one or more adjacent reconstruction points and the position of the current boundary point is greater than the second distance threshold, it indicates that the current boundary point is the noise point of the current point cloud block Therefore, the centroid position of the one or more adjacent reconstruction points can be used to update the position of the current boundary point to remove the current boundary point, that is, to remove the noise point of the current point cloud block.
应当理解的是,在一种可能的实现方式中,当对当前点云块中的部分边界点进行滤波之后,可以认为完成了对当前点云块的滤波。比如,当对当前点云块中的当前边界点进行滤波之后,可以认为完成了对当前点云块的滤波。当然,为了达到更好的滤波效果,当对当前点云块的所有边界点进行滤波之后,可以认为完成了对当前点云块的滤波。其中,当前边界点是当前点云块中的一个边界点,上述对当前边界点的滤波可以适用于当前点云块中的每个边界点,此处对当前点云块中的其他边界点的滤波不再赘述。同理,在一种可能的实现方式中,当对重构点云中的部分点云块进行滤波之后,可以认为完成了对当前点云块的滤波。比如,对当前点云块进行滤波之后,可以认为完成了对重构点云的滤波。当然,为了达到更好的滤波效果,当对重构点云中的所有点云块进行滤波之后,可以认为完成了对重构点云的滤波。 其中,对当前点云块的滤波也适用于重构点云中的其他点云块的滤波,此处对重构点云中的其他点云块的滤波不再赘述。也即是,本申请以当前点云块的当前边界点为对象对本申请的技术方案进行解释,当前点云块的其它边界点的滤波过程不再赘述。而且本申请针对整个重构点云的滤波过程,能降低点云滤波的复杂度,提高编解码效率,即可以遍历整个重构点云,对重构点云中的多个/所有点云块中的多个/所有边界点完成滤波。一旦点云数据规模越大,本申请提供的技术方案的复杂度降低的效果越好。It should be understood that, in a possible implementation manner, after filtering some boundary points in the current point cloud block, it can be considered that the filtering of the current point cloud block is completed. For example, after filtering the current boundary points in the current point cloud block, it can be considered that the filtering of the current point cloud block is completed. Of course, in order to achieve a better filtering effect, after filtering all the boundary points of the current point cloud block, it can be considered that the filtering of the current point cloud block is completed. Among them, the current boundary point is a boundary point in the current point cloud block. The above filtering of the current boundary point can be applied to each boundary point in the current point cloud block. Filtering will not be repeated. Similarly, in a possible implementation manner, after filtering some point cloud blocks in the reconstructed point cloud, it can be considered that the filtering of the current point cloud block is completed. For example, after filtering the current point cloud block, it can be considered that the filtering of the reconstructed point cloud is completed. Of course, in order to achieve a better filtering effect, after filtering all the point cloud blocks in the reconstructed point cloud, it can be considered that the filtering of the reconstructed point cloud is completed. Among them, the filtering of the current point cloud block is also applicable to the filtering of other point cloud blocks in the reconstructed point cloud, and the filtering of other point cloud blocks in the reconstructed point cloud will not be repeated here. That is, the present application uses the current boundary point of the current point cloud block as an object to explain the technical solution of the present application, and the filtering process of other boundary points of the current point cloud block will not be repeated. Moreover, this application can reduce the complexity of point cloud filtering and improve the coding and decoding efficiency for the entire filtering process of the reconstructed point cloud, that is, it can traverse the entire reconstructed point cloud, and analyze multiple/all point cloud blocks in the reconstructed point cloud. Multiple/all boundary points in the filter are filtered. Once the point cloud data scale is larger, the complexity reduction effect of the technical solution provided by this application is better.
本实施例提供的点云滤波方法中,先从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块。由于相邻点云块投影到对应的投影平面上的像素点与相邻点云块中的重构点对应,因此可以通过该相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点。最后再根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波,得到平滑的重构点云。由于该点云滤波方法通过二维空间的投影平面就可以确定出当前边界点在三维空间中的相邻重构点,使得确定当前边界点的相邻重构点的过程更加简单,进而降低了滤波的复杂度,提高了编码效率。In the point cloud filtering method provided in this embodiment, the neighboring point cloud blocks of the current point cloud block are first determined from one or more point cloud blocks included in the reconstructed point cloud. Since the pixel points of the adjacent point cloud block projected on the corresponding projection plane correspond to the reconstructed point in the adjacent point cloud block, the current point cloud block can be determined by the projection plane corresponding to the adjacent point cloud block. One or more adjacent reconstruction points of the boundary point. Finally, the current point cloud block is filtered according to one or more adjacent reconstruction points of the current boundary point to obtain a smooth reconstructed point cloud. Since the point cloud filtering method can determine the adjacent reconstruction points of the current boundary point in the three-dimensional space through the projection plane of the two-dimensional space, the process of determining the adjacent reconstruction points of the current boundary point is simpler, thereby reducing The complexity of filtering improves coding efficiency.
图14为本申请实施例提供的一种点云编码方法的流程示意图。本实施例的执行主体可以是编码器。如图14所示,该方法可以包括:FIG. 14 is a schematic flowchart of a point cloud encoding method provided by an embodiment of this application. The execution subject of this embodiment may be an encoder. As shown in Figure 14, the method may include:
S1401:确定指示信息,该指示信息用于指示是否按照目标滤波方法对待编码点云的重构点云进行处理;目标滤波方法包括本申请实施例提供的任一种点云滤波方法。例如可以是图7所示的点云滤波方法。S1401: Determine indication information, which is used to indicate whether to process the reconstructed point cloud of the point cloud to be coded according to the target filtering method; the target filtering method includes any point cloud filtering method provided in the embodiments of the present application. For example, it may be the point cloud filtering method shown in FIG. 7.
具体实现的过程中,滤波方法可以有至少两种,该至少两种的其中一种可以是本申请实施例提供的任一种点云滤波方法,其他种可以是现有技术或未来提供的点云滤波方法。In the process of specific implementation, there may be at least two filtering methods. One of the at least two filtering methods may be any point cloud filtering method provided in the embodiments of this application, and the other may be points provided in the prior art or in the future. Cloud filtering method.
可选地,该指示信息具体可以是目标滤波方法的索引。具体实现的过程中,编码器可以预先约定编码器所支持的至少两种点云滤波方法的索引,然后,在编码器确定目标滤波方法之后,将目标滤波方法的索引作为指示信息编入码流。本申请实施例对编码器如何确定目标滤波方法是编码器所支持的至少两种滤波方法中的哪一种不进行限定。Optionally, the indication information may specifically be the index of the target filtering method. In the specific implementation process, the encoder can pre-appoint the indexes of at least two point cloud filtering methods supported by the encoder, and then, after the encoder determines the target filtering method, the index of the target filtering method is included as the indication information into the code stream . The embodiment of the present application does not limit how the encoder determines which of the at least two filtering methods supported by the encoder is the target filtering method.
S1401:将该指示信息编入码流。其中,该指示信息是帧级别的信息。S1401: Compile the instruction information into the code stream. Wherein, the indication information is frame-level information.
图15为本申请实施例提供的一种点云解码方法的流程示意图。本实施例的执行主体可以是解码器。如图15所示,该方法可以包括:FIG. 15 is a schematic flowchart of a point cloud decoding method provided by an embodiment of this application. The execution subject of this embodiment may be a decoder. As shown in Figure 15, the method may include:
S1501:解析码流,以得到指示信息,该指示信息用于指示是否按照目标滤波方法对待解码点云的重构点云进行处理;目标滤波方法包括本申请实施例提供的任一种点云滤波方法。例如可以是图7所示的点云滤波方法。该指示信息是帧级别的信息。S1501: Parse the code stream to obtain indication information, which is used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method; the target filtering method includes any point cloud filtering provided in the embodiments of this application method. For example, it may be the point cloud filtering method shown in FIG. 7. The indication information is frame-level information.
S1502:当该指示信息用于指示按照目标滤波方法对待解码点云的重构点云进行处理时,按照目标滤波方法对待解码点云的重构点云进行滤波处理。S1502: When the instruction information is used to instruct to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, perform filtering processing on the reconstructed point cloud of the point cloud to be decoded according to the target filtering method.
本实施例提供的点云解码方法与图14提供的点云编码方法相对应。The point cloud decoding method provided in this embodiment corresponds to the point cloud encoding method provided in FIG. 14.
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。The above mainly introduces the solutions provided by the embodiments of the present application from the perspective of a method. In order to realize the above-mentioned functions, it includes hardware structures and/or software modules corresponding to performing each function. Those skilled in the art should easily realize that in combination with the steps of the examples described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software driven hardware depends on the specific application of the technical solution and design constraints. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
本申请实施例可以根据上述方法示例对编码器/解码器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiments of the present application may divide the encoder/decoder function modules according to the above method examples, for example, each function module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or software function modules. It should be noted that the division of the modules in the embodiments of the present application is schematic, and is only a division of logical functions. In actual implementation, there may be another division manner.
图16为本申请实施例提供的一种点云滤波装置1600的示意性框图。如图16所示,点云滤波装置1600可以包括点集确定单元1601和滤波处理单元1602。点云滤波装置1600可以是图2中的点云滤波模块114,点云滤波装置1600可以是图6中的点云滤波模块207。FIG. 16 is a schematic block diagram of a point cloud filtering device 1600 according to an embodiment of the application. As shown in FIG. 16, the point cloud filtering device 1600 may include a point set determining unit 1601 and a filtering processing unit 1602. The point cloud filtering device 1600 may be the point cloud filtering module 114 in FIG. 2, and the point cloud filtering device 1600 may be the point cloud filtering module 207 in FIG. 6.
在一些实施例中:In some embodiments:
在一种可行的实施方式中,点集确定单元1601,用于从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块;通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点。滤波处理单元1602,用于根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波。例如,结合图7,点集确定单元1601可以用于执行S701和S702,滤波处理单元1602可以用于执行S703。In a feasible implementation, the point set determining unit 1601 is configured to determine the adjacent point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud; The projection plane corresponding to the block determines one or more adjacent reconstruction points of the current boundary point in the current point cloud block. The filtering processing unit 1602 is configured to filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point. For example, in conjunction with FIG. 7, the point set determining unit 1601 may be used to perform S701 and S702, and the filtering processing unit 1602 may be used to perform S703.
在一种可行的实施方式中,点集确定单元1601具体用于:从相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,其中,当前边界点对应于相邻点云块对应的投影平面中的当前像素点,M为正整数。根据M个相邻像素点,确定当前边界点的L个相邻重构点。In a feasible implementation, the point set determining unit 1601 is specifically configured to: determine M adjacent pixel points of the current pixel point from the projection plane corresponding to the adjacent point cloud block, where the current boundary point corresponds to the phase The current pixel in the projection plane corresponding to the adjacent point cloud block, M is a positive integer. According to the M adjacent pixel points, determine the L adjacent reconstruction points of the current boundary point.
在一种可行的实施方式中,在从相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点的方面,点集确定单元1601具体用于:当当前边界点在相邻点云块对应的投影平面上进行投影后,获得经投影过的相邻点云块对应的投影平面,其中,相邻点云块对应的投影平面上包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点,P和Q为正整数。从经投影过的相邻点云块对应的投影平面上确定当前像素点的M个相邻像素点,M个相邻像素点被包括于相邻点云块包括的P个重构点所对应的Q个像素点中。In a feasible implementation manner, in the aspect of determining M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block, the point set determining unit 1601 is specifically configured to: when the current boundary point is After the projection is performed on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the projection plane corresponding to the adjacent point cloud block includes: one corresponding to the current boundary point The current pixel and Q pixels corresponding to P reconstructed points in the adjacent point cloud block, P and Q are positive integers. Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block that has been projected, and the M adjacent pixel points are included in the adjacent point cloud block and correspond to the P reconstructed points included Of Q pixels.
在一种可行的实施方式中,在根据M个相邻像素点,确定当前边界点的L个相邻重构点的方面,点集确定单元1601具体用于:从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点,其中,第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值,第一深度为当前边界点相对于相邻点云块对应的投影平面的深度,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,N为正整数。In a feasible implementation manner, in terms of determining L adjacent reconstruction points of the current boundary point according to the M adjacent pixel points, the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, where the first depth difference is the first depth and the N first candidates respectively The depth difference between the depth of each first candidate reconstruction point in the reconstruction point relative to the projection plane corresponding to the adjacent point cloud block, the first depth is the projection plane corresponding to the current boundary point relative to the adjacent point cloud block The N first candidate reconstruction points are the corresponding reconstruction points of M adjacent pixels in the reconstruction point cloud, and N is a positive integer.
在一种可行的实施方式中,在根据M个相邻像素点,确定当前边界点的L个相邻重构点的方面,点集确定单元1601具体用于:从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点,其中,第一距离为当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,N为正整数。In a feasible implementation manner, in terms of determining L adjacent reconstruction points of the current boundary point according to the M adjacent pixel points, the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point, where the first distance is the current boundary point and the N first candidate reconstruction points The distance between each first candidate reconstruction point in, N first candidate reconstruction points are the reconstruction points corresponding to M adjacent pixels in the reconstruction point cloud, and N is a positive integer.
在一种可行的实施方式中,点集确定单元1601具体用于:从当前点云块对应的投影平面和相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,其中,当前边界点对应于相邻点云块对应的投影平面中的当前像素点,S为正整数;根据S个相邻像素点,确定当前边界点的U个相邻重构点。In a feasible implementation manner, the point set determining unit 1601 is specifically configured to: determine S adjacent pixel points of the current pixel point from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block , Where the current boundary point corresponds to the current pixel point in the projection plane corresponding to the adjacent point cloud block, and S is a positive integer; U adjacent reconstruction points of the current boundary point are determined according to the S adjacent pixel points.
在一种可行的实施方式中,在从当前点云块对应的投影平面和相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点的方面,点集确定单元1601具体用于:当当前边界点在相邻点云块对应的投影平面上进行投影后,获得经投影过的相邻点云块对应的投影平面,其中,相邻点云块对应的投影平面上包括:与当前边界点对应的一个当前像素点和与相邻点云块中的P个重构点对应的Q个像素点,P和Q为正整数;从当前点云块对应的投影平面上确定当前边界点投影到当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,从经投影过的相邻点云块对应的投影平面上确定当前边界点投影到相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,T个相邻像素点被包括于当前点云块包括的X个重构点所对应的Y个像素点中,M个相邻像素点被包括于相邻点云块包括的P个重构点所对应的Q个像素点中,T和M之和为S,T、X和Y为正整数。In a feasible implementation manner, in the aspect of determining S adjacent pixel points of the current pixel point from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block, the point set determining unit 1601 Specifically used: when the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, where the adjacent point cloud block corresponds to the projection plane Including: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, P and Q are positive integers; from the projection plane corresponding to the current point cloud block Determine the current boundary point to be projected to the current pixel point i on the projection plane corresponding to the current point cloud block corresponding to the current pixel point i on the projection plane to determine the current boundary point projection to the phase The adjacent point cloud block corresponds to the M adjacent pixels of the current pixel j on the projection plane, and the T adjacent pixels are included in the Y pixels corresponding to the X reconstructed points included in the current point cloud block , M adjacent pixels are included in the Q pixels corresponding to the P reconstructed points included in the adjacent point cloud block, the sum of T and M is S, and T, X and Y are positive integers.
在一种可行的实施方式中,在根据S个相邻像素点,确定当前边界点的U个相邻重构点的方面,点集确定单元1601具体用于:从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为当前边界点的相邻重构点,从E个第二候选重构点中,确定对应的第二深度差值小于深度阈值的第二候选重构点为当前边界点的相邻重构点,其中,第一深度差值为第一深度分别与N个第一候选重构点中每个第一候选重构点相对于相邻点云块对应的投影平面的深度之间的深度差值,第二深度差值为第二深度分别与E个第二候选重构点中每个第二候选重构点相对于当前点云块对应的投影平面的深度之间的深度差值,第一深度为当前边界点相对于相邻点云块对应的投影平面的深度,第二深度为当前边界点相对于当前点云块对应的投影平面的深度,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,E个第二候选重构点为T个相邻像素点在重构点云中对应的重构点,N和T为正整数。In a feasible implementation manner, in terms of determining U adjacent reconstruction points of the current boundary point according to the S adjacent pixels, the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, and from the E second candidate reconstruction points, the corresponding second depth difference is determined The second candidate reconstruction point whose value is less than the depth threshold is the adjacent reconstruction point of the current boundary point, where the first depth difference is the first depth difference with each of the N first candidate reconstruction points. The depth difference between the structure point and the depth of the projection plane corresponding to the adjacent point cloud block. The second depth difference is the second depth and each of the E second candidate reconstruction points. Relative to the depth difference between the depth of the projection plane corresponding to the current point cloud block, the first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the second depth is the current boundary point relative to the current The depth of the projection plane corresponding to the point cloud block, the N first candidate reconstruction points are the corresponding reconstruction points of the M neighboring pixels in the reconstruction point cloud, and the E second candidate reconstruction points are T neighbors The pixel point corresponds to the reconstructed point in the reconstructed point cloud, and N and T are positive integers.
在一种可行的实施方式中,在根据S个相邻像素点,确定当前边界点的U个相邻重构点的方面,点集确定单元1601具体用于:从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为当前边界点的相邻重构点,从E个第二候选重构点中,确定对应的第二距离小于第一距离阈值的第二候选重构点为当前边界点的相邻重构点,其中,第一距离为当前边界点与N个第一候选重构点中每个第一候选重构点之间的距离,第二距离为当前边界点与E个第二候选重构点中每个第二候选重构点之间的距离,N个第一候选重构点为M个相邻像素点在重构点云中对应的重构点,E个第二候选重构点为T个相邻像素点在重构点云中对应的重构点,N和T为正整数。In a feasible implementation manner, in terms of determining U adjacent reconstruction points of the current boundary point according to the S adjacent pixels, the point set determining unit 1601 is specifically configured to: reconstruct from the N first candidates Among the points, it is determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point. From the E second candidate reconstruction points, it is determined that the corresponding second distance is less than The second candidate reconstruction point of the first distance threshold is the adjacent reconstruction point of the current boundary point, where the first distance is the difference between the current boundary point and each of the N first candidate reconstruction points The second distance is the distance between the current boundary point and each second candidate reconstruction point in the E second candidate reconstruction points. The N first candidate reconstruction points are M adjacent pixel points. The corresponding reconstructed points in the reconstructed point cloud are reconstructed. The E second candidate reconstructed points are the reconstructed points corresponding to the T adjacent pixel points in the reconstructed point cloud, and N and T are positive integers.
在一种可行的实施方式中,在从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,点集确定单元1601具体用于:确定一个或多个点云块中每个点云块的包围盒;从一个或多个点云块中,确定包围盒与当前点云块的包围盒存在重叠部分的点云块为当前点云块的相邻点云块。In a feasible implementation manner, in terms of determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud, the point set determining unit 1601 is specifically configured to: determine The bounding box of each point cloud block in one or more point cloud blocks; from one or more point cloud blocks, determine the point cloud block whose bounding box overlaps with the bounding box of the current point cloud block as the current point cloud block Adjacent point cloud block.
在一种可行的实施方式中,在从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,点集确定单元1601具体用于:确定一个或多个点云块中每个点云块的扩展包围盒,扩展包围盒是对一个或多个点云块中每个点云块的包围盒经扩展得到的;从一个或多个点云块中,确定扩展包围盒与当前点云块的扩展包围盒存在重叠部分的点云块为当前点云块的相邻点云块。In a feasible implementation manner, in terms of determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud, the point set determining unit 1601 is specifically configured to: determine The expanded bounding box of each point cloud block in one or more point cloud blocks. The expanded bounding box is obtained by expanding the bounding box of each point cloud block in one or more point cloud blocks; from one or more points Among cloud blocks, it is determined that the point cloud block in which the extended bounding box and the extended bounding box of the current point cloud block overlap are the adjacent point cloud blocks of the current point cloud block.
在一种可行的实施方式中,在从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,点集确定单元1601具体用于:确定一个或多个点云块中每个点云块的 包围盒和当前边界点对应的三维空间体,当前边界点对应的三维空间体为当前边界点的相邻重构点所处的空间体;从一个或多个点云块中,选择包围盒与当前点云块的包围盒和当前边界点对应的三维空间体均存在重叠部分的点云块为当前点云块的相邻点云块。In a feasible implementation manner, in terms of determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud, the point set determining unit 1601 is specifically configured to: determine The bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, and the three-dimensional volume corresponding to the current boundary point is the spatial volume where the adjacent reconstruction point of the current boundary point is located; From one or more point cloud blocks, select a point cloud block in which the bounding box, the bounding box of the current point cloud block and the three-dimensional space corresponding to the current boundary point have overlapping parts as the adjacent point cloud block of the current point cloud block.
在一种可行的实施方式中,在从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,点集确定单元1601具体用于:确定一个或多个点云块中每个点云块的扩展包围盒和当前边界点对应的三维空间体,扩展包围盒是对一个或多个点云块中每个点云块的包围盒经扩展得到的,当前边界点对应的三维空间体为当前边界点的相邻重构点所处的空间体;从一个或多个点云块中,选择扩展包围盒与当前点云块的扩展包围盒和当前边界点对应的三维空间体均存在重叠部分的点云块为当前点云块的相邻点云块。In a feasible implementation manner, in terms of determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud, the point set determining unit 1601 is specifically configured to: determine The expanded bounding box of each point cloud block in one or more point cloud blocks and the three-dimensional space corresponding to the current boundary point. The expanded bounding box is the expansion of the bounding box of each point cloud block in one or more point cloud blocks Obtained, the three-dimensional volume corresponding to the current boundary point is the spatial volume where the adjacent reconstruction point of the current boundary point is located; from one or more point cloud blocks, select the extended bounding box and the extended bounding box of the current point cloud block The point cloud blocks that have overlapping parts in the three-dimensional space corresponding to the current boundary point are adjacent point cloud blocks of the current point cloud block.
在一种可行的实施方式中,滤波处理单元1602具体用于:确定当前边界点的一个或多个相邻重构点的质心位置;如果质心位置与当前边界点所处位置之间的距离大于第二距离阈值,则更新当前边界点的位置,其中,当前边界点更新后的位置对应质心位置。In a feasible implementation manner, the filtering processing unit 1602 is specifically configured to: determine the centroid position of one or more adjacent reconstruction points of the current boundary point; if the distance between the centroid position and the position of the current boundary point is greater than The second distance threshold is to update the position of the current boundary point, where the updated position of the current boundary point corresponds to the centroid position.
应当理解的是,本申请实施例提供的点云滤波装置1600中的各单元为实现上文提供的相应的方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请点云滤波方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见上文中相应方法的介绍,为简洁起见,本文将不再赘述。It should be understood that the units in the point cloud filtering device 1600 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they have the ability to fully implement the point cloud of the present application. For each step in the filtering method and the functional main body of the expansion and deformation of these steps, please refer to the introduction of the corresponding method above for details. For the sake of brevity, this article will not repeat them.
图17为本申请实施例提供的一种编码器1700的示意性框图。如图17所示,编码器1700可以包括点云滤波模块1701和辅助信息编码模块1702。例如,编码器1700可以是图1中的编码器100,该情况下,点云滤波模块1701可以是图2中的点云滤波模块114,辅助信息编码模块1702可以是图2中的辅助信息编码模块109。其中,点云滤波模块1701,用于按照目标滤波方法对待编码点云的重构点云进行滤波处理。辅助信息编码模块1702,用于确定指示信息,以及,将该指示信息编入码流。该指示信息用于指示是否按照目标滤波方法对待编码点云的重构点云进行处理;目标滤波方法可以是上文提供的如图7所示的点云滤波方法。FIG. 17 is a schematic block diagram of an encoder 1700 according to an embodiment of the application. As shown in FIG. 17, the encoder 1700 may include a point cloud filtering module 1701 and an auxiliary information encoding module 1702. For example, the encoder 1700 may be the encoder 100 in FIG. 1. In this case, the point cloud filtering module 1701 may be the point cloud filtering module 114 in FIG. 2, and the auxiliary information encoding module 1702 may be the auxiliary information encoding in FIG. Module 109. Among them, the point cloud filtering module 1701 is configured to perform filtering processing on the reconstructed point cloud of the point cloud to be coded according to the target filtering method. The auxiliary information encoding module 1702 is used to determine the instruction information, and to encode the instruction information into the code stream. The indication information is used to indicate whether to process the reconstructed point cloud of the to-be-coded point cloud according to the target filtering method; the target filtering method may be the point cloud filtering method shown in FIG. 7 provided above.
应当理解的是,具体实现的过程中,点云滤波模块1701还包括点集确定单元1703和滤波处理单元1704,用于按照目标滤波方法对待编码点云的重构点云进行处理。其中,点集确定单元1703所执行的步骤可以参考上述点集确定单元1601所执行的步骤,滤波处理单元1704所执行的步骤可以参考上述滤波处理单元1602所执行的步骤,此处不再赘述。It should be understood that, in a specific implementation process, the point cloud filtering module 1701 further includes a point set determining unit 1703 and a filtering processing unit 1704 for processing the reconstructed point cloud of the point cloud to be coded according to the target filtering method. The steps performed by the point set determining unit 1703 can refer to the steps performed by the aforementioned point set determining unit 1601, and the steps performed by the filter processing unit 1704 can refer to the steps performed by the aforementioned filter processing unit 1602, which will not be repeated here.
应当理解的是,本申请实施例提供的编码器1700中的模块为实现上文提供的相应的方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请点云滤波方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见上文中相应方法的介绍,为简洁起见,本文将不再赘述。It should be understood that the modules in the encoder 1700 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they are capable of fully implementing the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for details of each step and the main function of the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
图18为本申请实施例提供的一种解码器1800的示意性框图。如图18所示,解码器1800可以包括:辅助信息解码模块1801和点云滤波模块1802。例如,解码器1800可以是图1中的解码器200,该情况下,辅助信息解码模块1801可以是图6中的辅助信息解码模块204,点云滤波模块1802可以是图6中的点云滤波模块207。其中,辅助信息解码模块1801,用于解析码流,以得到指示信息,该指示信息用于指示是否按照目标滤波方法对待解码点云的重构点云进行处理;目标滤波方法可以是上文提供的如图7所示的点云滤波方法。点云滤波模块1802,用于当指示信息用于指示按照目标滤波方法对待解码点云的重构点云进行处理时, 按照目标滤波方法对待解码点云的重构点云进行滤波处理。具体的处理过程可以参考上文,此处不再赘述。其中,辅助信息解码模块1801所执行的步骤可以参考上述辅助信息解码模块1702所执行的步骤,此处不再赘述。FIG. 18 is a schematic block diagram of a decoder 1800 according to an embodiment of the application. As shown in FIG. 18, the decoder 1800 may include: an auxiliary information decoding module 1801 and a point cloud filtering module 1802. For example, the decoder 1800 may be the decoder 200 in FIG. 1. In this case, the auxiliary information decoding module 1801 may be the auxiliary information decoding module 204 in FIG. 6, and the point cloud filter module 1802 may be the point cloud filter in FIG. 6. Module 207. Among them, the auxiliary information decoding module 1801 is used to parse the code stream to obtain indication information, which is used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method; the target filtering method may be provided above The point cloud filtering method shown in Figure 7. The point cloud filtering module 1802 is configured to perform filtering processing on the reconstructed point cloud of the point cloud to be decoded according to the target filtering method when the instruction information is used to indicate that the reconstructed point cloud of the point cloud to be decoded is processed according to the target filtering method. For the specific processing procedure, please refer to the above, which will not be repeated here. Among them, the steps performed by the auxiliary information decoding module 1801 may refer to the steps performed by the above-mentioned auxiliary information decoding module 1702, which will not be repeated here.
应当理解的是,本申请实施例提供的解码器1800中的模块为实现上文提供的相应的方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请点云滤波方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见上文中相应方法的介绍,为简洁起见,本文将不再赘述。It should be understood that the modules in the decoder 1800 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they are capable of fully implementing the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for details of each step and the main function of the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
图19为本申请实施例提供的一种编码器1900的示意性框图。如图19所示,编码器1900可以包括点云滤波模块1901和纹理图生成模块1902。例如,编码器1900可以是图1中的编码器100,该情况下,点云滤波模块1901可以是图2中的点云滤波模块114,纹理图生成模块1902可以是图2中的纹理图生成模块104。其中,点云滤波模块1901为上述点云滤波装置1600。纹理图生成模块1902,用于根据滤波处理后的重构点云生成待编码点云的纹理图。FIG. 19 is a schematic block diagram of an encoder 1900 according to an embodiment of the application. As shown in FIG. 19, the encoder 1900 may include a point cloud filtering module 1901 and a texture map generating module 1902. For example, the encoder 1900 may be the encoder 100 in FIG. 1. In this case, the point cloud filtering module 1901 may be the point cloud filtering module 114 in FIG. 2, and the texture map generation module 1902 may be the texture map generation in FIG. 2. Module 104. The point cloud filtering module 1901 is the aforementioned point cloud filtering device 1600. The texture map generating module 1902 is configured to generate a texture map of the point cloud to be encoded according to the reconstructed point cloud after the filtering process.
也即是,点云滤波模块1901,用于从待编码点云的重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波。纹理图生成模块1902,用于根据滤波处理后的重构点云生成待编码点云的纹理图。That is, the point cloud filtering module 1901 is used to determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be coded, and pass the neighboring point cloud blocks. The projection plane corresponding to the block determines one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filters the current point cloud block according to one or more adjacent reconstruction points of the current boundary point. The texture map generating module 1902 is configured to generate a texture map of the point cloud to be encoded according to the reconstructed point cloud after the filtering process.
应当理解的是,具体实现的过程中,点云滤波模块1901还包括点集确定单元1903(图中未示出)和滤波处理单元1904(图中未示出),用于按照目标滤波方法对待编码点云的重构点云进行处理。其中,点集确定单元1903所执行的步骤可以参考上述点集确定单元1601所执行的步骤,滤波处理单元1904所执行的步骤可以参考上述滤波处理单元1602所执行的步骤,此处不再赘述。It should be understood that in the specific implementation process, the point cloud filtering module 1901 also includes a point set determining unit 1903 (not shown in the figure) and a filtering processing unit 1904 (not shown in the figure), which are used to treat according to the target filtering method. The reconstructed point cloud of the coded point cloud is processed. The steps performed by the point set determining unit 1903 can refer to the steps performed by the aforementioned point set determining unit 1601, and the steps performed by the filter processing unit 1904 can refer to the steps performed by the aforementioned filter processing unit 1602, which will not be repeated here.
应当理解的是,本申请实施例提供的编码器1900中的各模块为实现上文提供的相应的方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请点云滤波方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见上文中相应方法的介绍,为简洁起见,本文将不再赘述。It should be understood that the various modules in the encoder 1900 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they have the ability to fully implement the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for the details of the steps in the steps and the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
图20为本申请实施例提供的一种解码器2000的示意性框图。如图20所示,解码器2000可以包括:点云滤波模块2001和纹理信息重构模块2002。例如,解码器2000可以是图1中的解码器200,该情况下,点云滤波模块2001可以是图6中的点云滤波模块207,纹理信息重构模块2002可以是图6中的纹理信息重构模块208。其中,点云滤波模块2001为上述图16中的点云滤波装置1600;纹理信息重构模块2002,用于对滤波处理后的重构点云的纹理信息进行重构。FIG. 20 is a schematic block diagram of a decoder 2000 provided by an embodiment of this application. As shown in FIG. 20, the decoder 2000 may include: a point cloud filtering module 2001 and a texture information reconstruction module 2002. For example, the decoder 2000 may be the decoder 200 in FIG. 1. In this case, the point cloud filtering module 2001 may be the point cloud filtering module 207 in FIG. 6, and the texture information reconstruction module 2002 may be the texture information in FIG. Refactoring module 208. Among them, the point cloud filtering module 2001 is the point cloud filtering device 1600 in FIG. 16; the texture information reconstruction module 2002 is used to reconstruct the texture information of the reconstructed point cloud after the filtering process.
也即是,点云滤波模块2001,用于从待编码点云的重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,通过相邻点云块对应的投影平面,确定当前点云块中当前边界点的一个或多个相邻重构点,根据当前边界点的一个或多个相邻重构点,对当前点云块进行滤波;纹理信息重构模块2002,用于对滤波处理后的重构点云的纹理信息进行重构。That is, the point cloud filtering module 2001 is used to determine the neighboring point cloud blocks of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud of the point cloud to be coded, and pass the neighboring point cloud blocks The projection plane corresponding to the block, determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block, and filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point; texture; The information reconstruction module 2002 is used to reconstruct the texture information of the reconstructed point cloud after filtering processing.
应当理解的是,具体实现的过程中,点云滤波模块2001还包括点集确定单元2003(图中未示出)和滤波处理单元2004(图中未示出),用于按照目标滤波方法对待编码点云的重构点云进行处理。其中,点集确定单元2003所执行的步骤可以参考上述点集确定单元1601 所执行的步骤,滤波处理单元2004所执行的步骤可以参考上述滤波处理单元1602所执行的步骤,此处不再赘述。It should be understood that in the specific implementation process, the point cloud filtering module 2001 also includes a point set determining unit 2003 (not shown in the figure) and a filtering processing unit 2004 (not shown in the figure), which are used to treat according to the target filtering method. The reconstructed point cloud of the coded point cloud is processed. The steps performed by the point set determining unit 2003 can refer to the steps performed by the aforementioned point set determining unit 1601, and the steps performed by the filtering processing unit 2004 can refer to the steps performed by the aforementioned filtering processing unit 1602, which will not be repeated here.
应当理解的是,本申请实施例提供的解码器2000中的各模块为实现上文提供的相应的方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请点云滤波方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见上文中相应方法的介绍,为简洁起见,本文将不再赘述。It should be understood that the modules in the decoder 2000 provided in the embodiments of the present application are functional entities that implement the various execution steps included in the corresponding methods provided above, that is, they have the ability to fully implement the point cloud filtering method of the present application. Please refer to the introduction of the corresponding method above for the details of the steps in the steps and the expansion and deformation of these steps. For the sake of brevity, this article will not repeat them.
图21为用于本申请实施例的编码设备或解码设备(简称为译码设备2100)的一种实现方式的示意性框图。其中,译码设备2100可以包括处理器2110、存储器2130和总线系统2150。其中,处理器2110和存储器2130通过总线系统2150相连,该存储器2130用于存储指令,该处理器2110用于执行该存储器2130存储的指令,以执行本申请描述的各种点云滤波方法。为避免重复,这里不再详细描述。FIG. 21 is a schematic block diagram of an implementation manner of an encoding device or a decoding device (referred to as a decoding device 2100 for short) used in an embodiment of the present application. The decoding device 2100 may include a processor 2110, a memory 2130, and a bus system 2150. The processor 2110 and the memory 2130 are connected through a bus system 2150. The memory 2130 is used to store instructions, and the processor 2110 is used to execute instructions stored in the memory 2130 to execute various point cloud filtering methods described in this application. In order to avoid repetition, they are not described in detail here.
在本申请实施例中,该处理器2110可以是中央处理单元(central processing unit,CPU),该处理器2110还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。In the embodiment of the present application, the processor 2110 may be a central processing unit (CPU), and the processor 2110 may also be other general-purpose processors, DSP, ASIC, FPGA or other programmable logic devices, discrete gates. Or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
该存储器2130可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器2130。存储器2130可以包括由处理器2110使用总线2150访问的代码和数据2131。存储器2130可以进一步包括操作系统2133和应用程序2135,该应用程序2135包括允许处理器2110执行本申请描述的点云编码或解码方法(尤其是本申请描述的对当前点云块进行滤波的方法)的至少一个程序。例如,应用程序2135可以包括应用1至N,其进一步包括执行在本申请描述的点云编码或解码方法的点云编码或解码应用(简称点云译码应用)。The memory 2130 may include a ROM device or a RAM device. Any other suitable type of storage device can also be used as the memory 2130. The memory 2130 may include code and data 2131 accessed by the processor 2110 using the bus 2150. The memory 2130 may further include an operating system 2133 and an application program 2135, the application program 2135 including allowing the processor 2110 to execute the point cloud encoding or decoding method described in this application (especially the method for filtering the current point cloud block described in this application) At least one program. For example, the application program 2135 may include applications 1 to N, which further include a point cloud encoding or decoding application (referred to as a point cloud decoding application) that executes the point cloud encoding or decoding method described in this application.
该总线系统2150除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统2150。In addition to the data bus, the bus system 2150 may also include a power bus, a control bus, and a status signal bus. However, for clear description, various buses are marked as the bus system 2150 in the figure.
可选地,译码设备2100还可以包括一个或多个输出设备,诸如显示器2170。在一个示例中,显示器2170可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器2170可以经由总线2150连接到处理器2110。Optionally, the decoding device 2100 may further include one or more output devices, such as a display 2170. In one example, the display 2170 may be a touch-sensitive display that merges the display with a touch-sensitive unit operable to sense touch input. The display 2170 may be connected to the processor 2110 via the bus 2150.
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于非暂时性的有形计算机可读存储媒体,或通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。Those skilled in the art can understand that the functions described in conjunction with the various illustrative logical blocks, modules, and steps disclosed herein can be implemented by hardware, software, firmware, or any combination thereof. If implemented in software, the functions described by various illustrative logical blocks, modules, and steps may be stored or transmitted as one or more instructions or codes on a computer-readable medium, and executed by a hardware-based processing unit. The computer-readable medium may include a computer-readable storage medium, which corresponds to a tangible medium, such as a data storage medium, or a communication medium that includes any medium that facilitates the transfer of a computer program from one place to another (for example, according to a communication protocol) . In this manner, computer-readable media may generally correspond to non-transitory tangible computer-readable storage media, or communication media, such as signals or carrier waves. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the techniques described in this application. The computer program product may include a computer-readable medium.
作为实施例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线 (DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、DVD和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。As an example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or may be used to store instructions or data Any other medium that can be accessed by a computer in the form of a structured program code. And, any connection is properly called a computer-readable medium. For example, if you use coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, and microwave to transmit instructions from a website, server, or other remote source, then the coaxial cable Wire, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio, and microwave are included in the definition of media. However, it should be understood that the computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other temporary media, but are actually directed to non-transitory tangible storage media. As used herein, magnetic disks and optical disks include compact disks (CD), laser disks, optical disks, DVDs, and Blu-ray disks, where disks usually reproduce data magnetically, and optical disks use lasers to reproduce data optically. Combinations of the above should also be included in the scope of computer-readable media.
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。One or more processes such as one or more digital signal processors (DSPs), general-purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits To execute instructions. Accordingly, the term "processor" as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein. Additionally, in some aspects, the functions described in the various illustrative logical blocks, modules, and steps described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or in combination Into the combined codec. Moreover, the techniques can be fully implemented in one or more circuits or logic elements. Under one example, various illustrative logical blocks, units, and modules in the encoder 100 and the decoder 200 may be understood as corresponding circuit devices or logic elements.
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。The technology of the present application may be implemented in a variety of devices or equipment, including wireless handsets, integrated circuits (ICs), or a set of ICs (eg, chipsets). Various components, modules, or units are described in this application to emphasize the functional aspects of the device for performing the disclosed technology, but they do not necessarily need to be implemented by different hardware units. In fact, as described above, various units can be combined with appropriate software and/or firmware in the codec hardware unit, or by interoperating hardware units (including one or more processors as described above). provide.
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。The above are only exemplary specific implementations of the present application, but the scope of protection of the present application is not limited to this, any person skilled in the art may easily think of changes or changes within the technical scope disclosed in the present application. Replacement should be covered within the scope of protection of this application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (37)

  1. 一种点云滤波方法,其特征在于,所述方法包括:A point cloud filtering method, characterized in that the method includes:
    从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块;Determine the adjacent point cloud block of the current point cloud block from one or more point cloud blocks included in the reconstructed point cloud;
    通过所述相邻点云块对应的投影平面,确定所述当前点云块中当前边界点的一个或多个相邻重构点;Determine one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block;
    根据所述当前边界点的一个或多个相邻重构点,对所述当前点云块进行滤波。Filtering the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
  2. 如权利要求1所述的方法,其特征在于,所述通过所述相邻点云块对应的投影平面,确定所述当前点云块中当前边界点的一个或多个相邻重构点,包括:The method according to claim 1, wherein the determining one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block, include:
    从所述相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,其中,所述当前边界点对应于所述相邻点云块对应的投影平面中的所述当前像素点,所述M为正整数;Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block, where the current boundary point corresponds to the projection plane corresponding to the adjacent point cloud block For the current pixel, the M is a positive integer;
    根据所述M个相邻像素点,确定所述当前边界点的L个相邻重构点,所述L为正整数。According to the M adjacent pixel points, L adjacent reconstruction points of the current boundary point are determined, and the L is a positive integer.
  3. 如权利要求2所述的方法,其特征在于,所述从所述相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,包括:The method according to claim 2, wherein the determining the M neighboring pixels of the current pixel from the projection plane corresponding to the neighboring point cloud block comprises:
    当所述当前边界点在所述相邻点云块对应的投影平面上进行投影后,获得经投影过的所述相邻点云块对应的投影平面,其中,所述经投影过的相邻点云块对应的投影平面上包括:与所述当前边界点对应的一个当前像素点和与所述相邻点云块中的P个重构点对应的Q个像素点,所述P和所述Q为正整数;After the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, wherein the projected adjacent point cloud block The projection plane corresponding to the point cloud block includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstructed points in the adjacent point cloud block. Said Q is a positive integer;
    从经投影过的所述相邻点云块对应的投影平面上确定所述当前像素点的M个相邻像素点,所述M个相邻像素点被包括于所述相邻点云块包括的P个重构点所对应的Q个像素点中。Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block that has been projected, and the M adjacent pixel points are included in the adjacent point cloud block including Among the Q pixels corresponding to the P reconstruction points.
  4. 如权利要求2或3所述的方法,其特征在于,所述根据所述M个相邻像素点,确定所述当前边界点的L个相邻重构点,包括:The method according to claim 2 or 3, wherein the determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixel points comprises:
    从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为所述当前边界点的相邻重构点,其中,所述第一深度差值为第一深度分别与所述N个第一候选重构点中每个第一候选重构点相对于所述相邻点云块对应的投影平面的深度之间的深度差值,所述第一深度为所述当前边界点相对于所述相邻点云块对应的投影平面的深度,所述N个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述N为正整数。From the N first candidate reconstruction points, it is determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the neighbor reconstruction point of the current boundary point, wherein the first depth difference The value is the depth difference between the first depth and the depth of each of the N first candidate reconstruction points with respect to the projection plane corresponding to the adjacent point cloud block, the The first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the N first candidate reconstruction points are the M adjacent pixel points at the reconstruction point For the corresponding reconstruction point in the cloud, the N is a positive integer.
  5. 如权利要求2或3所述的方法,其特征在于,所述根据所述M个相邻像素点,确定所述当前边界点的L个相邻重构点,包括:The method according to claim 2 or 3, wherein the determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixel points comprises:
    从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为所述当前边界点的相邻重构点,其中,所述第一距离为所述当前边界点与所述N个第一候选重构点中每个第一候选重构点之间的距离,所述N个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述N为正整数。From the N first candidate reconstruction points, it is determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the neighboring reconstruction point of the current boundary point, where the first distance is The distance between the current boundary point and each of the N first candidate reconstruction points, where the N first candidate reconstruction points are between the M adjacent pixel points For the corresponding reconstructed point in the reconstructed point cloud, the N is a positive integer.
  6. 如权利要求1所述的方法,其特征在于,所述通过所述相邻点云块对应的投影平面,确定所述当前点云块中当前边界点的一个或多个相邻重构点,包括:The method according to claim 1, wherein the determining one or more adjacent reconstruction points of the current boundary point in the current point cloud block through the projection plane corresponding to the adjacent point cloud block, include:
    从所述当前点云块对应的投影平面和所述相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,其中,所述当前边界点对应于所述相邻点云块对应的投影平面中的所述当前像素点,所述S为正整数;From the projection plane corresponding to the current point cloud block and the projection plane corresponding to the neighboring point cloud block, determine S neighboring pixel points of the current pixel, where the current boundary point corresponds to the neighboring For the current pixel in the projection plane corresponding to the point cloud block, the S is a positive integer;
    根据所述S个相邻像素点,确定所述当前边界点的U个相邻重构点,所述U为正整数。According to the S adjacent pixel points, U adjacent reconstruction points of the current boundary point are determined, and the U is a positive integer.
  7. 如权利要求6所述的方法,其特征在于,所述从所述当前点云块对应的投影平面和所述相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,包括:The method according to claim 6, wherein said determining the S adjacent pixels of the current pixel point from the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block Points, including:
    当所述当前边界点在所述相邻点云块对应的投影平面上进行投影后,获得经投影过的所述相邻点云块对应的投影平面,其中,所述相邻点云块对应的投影平面上包括:与所述当前边界点对应的一个当前像素点和与所述相邻点云块中的P个重构点对应的Q个像素点,所述P和所述Q为正整数;When the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, wherein the adjacent point cloud block corresponds to The projection plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, where P and Q are positive Integer
    从所述当前点云块对应的投影平面上,确定所述当前边界点投影到所述当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,从经投影过的所述相邻点云块对应的投影平面上,确定所述当前边界点投影到所述相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,所述T个相邻像素点被包括于所述当前点云块包括的X个重构点所对应的Y个像素点中,所述M个相邻像素点被包括于所述相邻点云块包括的P个重构点所对应的Q个像素点中,所述T和所述M之和为所述S,所述T、所述X和所述Y为正整数。From the projection plane corresponding to the current point cloud block, it is determined that the current boundary point is projected to the T adjacent pixel points of the current pixel point i on the projection plane corresponding to the current point cloud block, from the projected On the projection plane corresponding to the adjacent point cloud block, it is determined that the current boundary point is projected to the M adjacent pixel points of the current pixel point j on the projection plane corresponding to the adjacent point cloud block, and the T Adjacent pixels are included in the Y pixels corresponding to the X reconstruction points included in the current point cloud block, and the M adjacent pixels are included in the P included in the adjacent point cloud block Among the Q pixel points corresponding to each reconstruction point, the sum of the T and the M is the S, and the T, the X, and the Y are positive integers.
  8. 如权利要求7所述的方法,其特征在于,所述根据所述S个相邻像素点,确定所述当前边界点的一个或多个相邻重构点,包括:The method according to claim 7, wherein the determining one or more adjacent reconstruction points of the current boundary point according to the S adjacent pixel points comprises:
    从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为所述当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二深度差值小于所述深度阈值的第二候选重构点为所述当前边界点的相邻重构点,其中,所述第一深度差值为第一深度分别与所述N个第一候选重构点中每个第一候选重构点相对于所述相邻点云块对应的投影平面的深度之间的深度差值,所述第二深度差值为第二深度分别与所述E个第二候选重构点中每个第二候选重构点相对于所述当前点云块对应的投影平面的深度之间的深度差值,所述第一深度为所述当前边界点相对于所述相邻点云块对应的投影平面的深度,所述第二深度为所述当前边界点相对于所述当前点云块对应的投影平面的深度,所述N个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述E个第二候选重构点为所述T个相邻像素点在所述重构点云中对应的重构点,所述N和所述T为正整数。From the N first candidate reconstruction points, determine that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point; reconstruct from the E second candidate reconstruction points In the points, it is determined that the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, wherein the first depth difference is the first depth respectively And the depth difference between the depth of each of the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block, and the second depth difference is The depth difference between the second depth and the depth of each of the E second candidate reconstruction points relative to the projection plane corresponding to the current point cloud block, the first depth Is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the second depth is the depth of the current boundary point relative to the projection plane corresponding to the current point cloud block, and The N first candidate reconstruction points are the corresponding reconstruction points of the M neighboring pixels in the reconstruction point cloud, and the E second candidate reconstruction points are the T neighboring pixels In the corresponding reconstruction point in the reconstruction point cloud, the N and the T are positive integers.
  9. 如权利要求7所述的方法,其特征在于,所述根据所述S个相邻像素点,确定所述当前边界点的一个或多个相邻重构点,包括:The method according to claim 7, wherein the determining one or more adjacent reconstruction points of the current boundary point according to the S adjacent pixel points comprises:
    从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为所述当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二距离小于所述第一距离阈值的第二候选重构点为所述当前边界点的相邻重构点,其中,所述第一距离为所述当前边界点与所述N个第一候选重构点中每个第一候选重构点之间的距离,所述第二距离为 所述当前边界点与所述E个第二候选重构点中每个第二候选重构点之间的距离,所述N个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述E个第二候选重构点为所述T个相邻像素点在所述重构点云中对应的重构点,所述N和所述T为正整数。From the N first candidate reconstruction points, determine that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point; reconstruct from the E second candidate reconstruction points Among the points, it is determined that the second candidate reconstruction point whose corresponding second distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point, wherein the first distance is the current boundary point and The distance between each of the N first candidate reconstruction points, and the second distance is the current boundary point and each of the E second candidate reconstruction points. The distance between two candidate reconstruction points, the N first candidate reconstruction points are the reconstruction points corresponding to the M adjacent pixel points in the reconstruction point cloud, and the E second candidates The reconstructed point is the reconstructed point corresponding to the T adjacent pixel points in the reconstructed point cloud, and the N and the T are positive integers.
  10. 如权利要求1-9任一所述的方法,其特征在于,所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:The method according to any one of claims 1-9, wherein the determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud comprises:
    确定所述一个或多个点云块中每个点云块的包围盒;Determining the bounding box of each point cloud block in the one or more point cloud blocks;
    从所述一个或多个点云块中,确定包围盒与所述当前点云块的包围盒存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, it is determined that a point cloud block whose bounding box overlaps with the bounding box of the current point cloud block is an adjacent point cloud block of the current point cloud block.
  11. 如权利要求1-9任一所述的方法,其特征在于,所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:The method according to any one of claims 1-9, wherein the determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud comprises:
    确定所述一个或多个点云块中每个点云块的扩展包围盒,所述扩展包围盒是对所述一个或多个点云块中每个点云块的包围盒经扩展得到的;Determine an extended bounding box of each point cloud block in the one or more point cloud blocks, where the extended bounding box is obtained by expanding the bounding box of each point cloud block in the one or more point cloud blocks ;
    从所述一个或多个点云块中,确定扩展包围盒与所述当前点云块的扩展包围盒存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, it is determined that the extended bounding box and the extended bounding box of the current point cloud block overlap the point cloud block as the adjacent point cloud block of the current point cloud block.
  12. 如权利要求1-9任一所述的方法,其特征在于,所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:The method according to any one of claims 1-9, wherein the determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud comprises:
    确定所述一个或多个点云块中每个点云块的包围盒和所述当前边界点对应的三维空间体,所述三维空间体为所述当前边界点的相邻重构点所处的空间体;Determine the bounding box of each point cloud block in the one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, where the three-dimensional volume is the adjacent reconstruction point of the current boundary point Space body
    从所述一个或多个点云块中,选择包围盒与所述当前点云块的包围盒和所述当前边界点对应的三维空间体均存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, select a point cloud block whose bounding box, the bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point all have overlapping parts as the current point cloud The adjacent point cloud block of the block.
  13. 如权利要求1-9任一所述的方法,其特征在于,所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块,包括:The method according to any one of claims 1-9, wherein the determining the neighboring point cloud blocks of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud comprises:
    确定所述一个或多个点云块中每个点云块的扩展包围盒和所述当前边界点对应的三维空间体,所述扩展包围盒是对所述一个或多个点云块中每个点云块的包围盒经扩展得到的,所述三维空间体为所述当前边界点的相邻重构点所处的空间体;Determine the expanded bounding box of each point cloud block in the one or more point cloud blocks and the three-dimensional space corresponding to the current boundary point, where the expanded bounding box is a reference to each point cloud block in the one or more point cloud blocks. Obtained by expanding the bounding box of each point cloud block, the three-dimensional space volume is the space volume where the adjacent reconstruction points of the current boundary point are located;
    从所述一个或多个点云块中,选择扩展包围盒与所述当前点云块的扩展包围盒和所述当前边界点对应的三维空间体均存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, select the point cloud block in which the extended bounding box and the extended bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point have overlapping parts as the current The adjacent point cloud block of the point cloud block.
  14. 如权利要求1-13任一所述的方法,其特征在于,所述根据所述当前边界点的一个或多个相邻重构点,对所述当前点云块进行滤波,包括:The method according to any one of claims 1-13, wherein the filtering the current point cloud block according to one or more adjacent reconstruction points of the current boundary point comprises:
    确定所述当前边界点的一个或多个相邻重构点的质心位置;Determining the centroid positions of one or more adjacent reconstruction points of the current boundary point;
    如果所述质心位置与所述当前边界点所处位置之间的距离大于第二距离阈值,则更新所述当前边界点的位置,其中,所述当前边界点更新后的位置对应所述质心位置。If the distance between the position of the centroid and the position of the current boundary point is greater than a second distance threshold, the position of the current boundary point is updated, wherein the updated position of the current boundary point corresponds to the position of the centroid .
  15. 一种点云编码方法,其特征在于,所述方法包括:A point cloud coding method, characterized in that the method includes:
    确定指示信息,所述指示信息用于指示是否按照目标滤波方法对待编码点云的重构点云进行处理,所述目标滤波方法包括如权利要求1~14任一项所述的点云滤波方法;Determine indication information, the indication information is used to indicate whether to process the reconstructed point cloud of the point cloud to be coded according to the target filtering method, the target filtering method comprising the point cloud filtering method according to any one of claims 1-14 ;
    将所述指示信息编入码流。Code the instruction information into the code stream.
  16. 一种点云解码方法,其特征在于,所述方法包括:A point cloud decoding method, characterized in that the method includes:
    解析码流,以得到指示信息,所述指示信息用于指示是否按照目标滤波方法对待解码点云的重构点云进行处理,所述目标滤波方法包括如权利要求1~14任一项所述的点云滤波方法;The code stream is parsed to obtain indication information, the indication information is used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, and the target filtering method includes any one of claims 1 to 14 Point cloud filtering method;
    当所述指示信息用于指示按照所述目标滤波方法对所述待解码点云的重构点云进行处理时,按照所述目标滤波方法对所述待解码点云的重构点云进行滤波处理。When the indication information is used to instruct to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, filter the reconstructed point cloud of the point cloud to be decoded according to the target filtering method deal with.
  17. 一种点云滤波装置,其特征在于,所述装置包括:A point cloud filtering device, characterized in that the device comprises:
    点集确定单元,用于从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块;通过所述相邻点云块对应的投影平面,确定所述当前点云块中当前边界点的一个或多个相邻重构点;The point set determining unit is used to determine the adjacent point cloud block of the current point cloud block from the one or more point cloud blocks included in the reconstructed point cloud; determine all the adjacent point cloud blocks through the projection plane corresponding to the adjacent point cloud block One or more adjacent reconstruction points of the current boundary point in the current point cloud block;
    滤波处理单元,用于根据所述当前边界点的一个或多个相邻重构点,对所述当前点云块进行滤波。The filtering processing unit is configured to filter the current point cloud block according to one or more adjacent reconstruction points of the current boundary point.
  18. 如权利要求17所述的装置,其特征在于,所述点集确定单元具体用于:The device according to claim 17, wherein the point set determining unit is specifically configured to:
    从所述相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点,其中,所述当前边界点对应于所述相邻点云块对应的投影平面中的所述当前像素点,所述M为正整数;Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block, where the current boundary point corresponds to the projection plane corresponding to the adjacent point cloud block For the current pixel, the M is a positive integer;
    根据所述M个相邻像素点,确定所述当前边界点的L个相邻重构点,所述L为正整数。According to the M adjacent pixel points, L adjacent reconstruction points of the current boundary point are determined, and the L is a positive integer.
  19. 如权利要求18所述的装置,其特征在于,在所述从所述相邻点云块对应的投影平面中,确定当前像素点的M个相邻像素点的方面,所述点集确定单元具体用于:The device according to claim 18, wherein, in the aspect of determining the M adjacent pixel points of the current pixel in the projection plane corresponding to the adjacent point cloud block, the point set determining unit Specifically used for:
    当所述当前边界点在所述相邻点云块对应的投影平面上进行投影后,获得经投影过的所述相邻点云块对应的投影平面,其中,所述相邻点云块对应的投影平面上包括:与所述当前边界点对应的一个当前像素点和与所述相邻点云块中的P个重构点对应的Q个像素点,所述P和所述Q为正整数;When the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, wherein the adjacent point cloud block corresponds to The projection plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, where P and Q are positive Integer
    从经投影过的所述相邻点云块对应的投影平面上确定所述当前像素点的M个相邻像素点,所述M个相邻像素点被包括于所述相邻点云块包括的P个重构点所对应的Q个像素点中。Determine the M adjacent pixel points of the current pixel from the projection plane corresponding to the adjacent point cloud block that has been projected, and the M adjacent pixel points are included in the adjacent point cloud block including Among the Q pixels corresponding to the P reconstruction points.
  20. 如权利要求18或19所述的装置,其特征在于,在所述根据所述M个相邻像素点,确定所述当前边界点的L个相邻重构点的方面,所述点集确定单元具体用于:The device according to claim 18 or 19, wherein, in the aspect of determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixel points, the point set determines The unit is specifically used for:
    从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为所述当前边界点的相邻重构点,其中,所述第一深度差值为第一深度分别与所述N个第一候选重构点中每个第一候选重构点相对于所述相邻点云块对应的投影平面的深度之间的深度差值,所述第一深度为所述当前边界点相对于所述相邻点云块对应的投影平面的深度,所述N 个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述N为正整数。From the N first candidate reconstruction points, it is determined that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the neighbor reconstruction point of the current boundary point, wherein the first depth difference The value is the depth difference between the first depth and the depth of each of the N first candidate reconstruction points with respect to the projection plane corresponding to the adjacent point cloud block, the The first depth is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the N first candidate reconstruction points are the M adjacent pixel points at the reconstruction point For the corresponding reconstruction point in the cloud, the N is a positive integer.
  21. 如权利要求18或19所述的装置,其特征在于,在所述根据所述M个相邻像素点,确定所述当前边界点的L个相邻重构点的方面,所述点集确定单元具体用于:The device according to claim 18 or 19, wherein, in the aspect of determining the L adjacent reconstruction points of the current boundary point according to the M adjacent pixel points, the point set determines The unit is specifically used for:
    从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为所述当前边界点的相邻重构点,其中,所述第一距离为所述当前边界点与所述N个第一候选重构点中每个第一候选重构点之间的距离,所述N个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述N为正整数。From the N first candidate reconstruction points, it is determined that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the neighboring reconstruction point of the current boundary point, where the first distance is The distance between the current boundary point and each of the N first candidate reconstruction points, where the N first candidate reconstruction points are between the M adjacent pixel points For the corresponding reconstructed point in the reconstructed point cloud, the N is a positive integer.
  22. 如权利要求17所述的装置,其特征在于,所述点集确定单元具体用于:The device according to claim 17, wherein the point set determining unit is specifically configured to:
    从所述当前点云块对应的投影平面和所述相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点,其中,所述当前边界点对应于所述相邻点云块对应的投影平面中的所述当前像素点,所述S为正整数;From the projection plane corresponding to the current point cloud block and the projection plane corresponding to the neighboring point cloud block, determine S neighboring pixel points of the current pixel, where the current boundary point corresponds to the neighboring For the current pixel in the projection plane corresponding to the point cloud block, the S is a positive integer;
    根据所述S个相邻像素点,确定所述当前边界点的U个相邻重构点,所述U为正整数。According to the S adjacent pixel points, U adjacent reconstruction points of the current boundary point are determined, and the U is a positive integer.
  23. 如权利要求22所述的装置,其特征在于,在所述从所述当前点云块对应的投影平面和所述相邻点云块对应的投影平面中,确定当前像素点的S个相邻像素点的方面,所述点集确定单元具体用于:The device according to claim 22, wherein, in the projection plane corresponding to the current point cloud block and the projection plane corresponding to the adjacent point cloud block, the S adjacent points of the current pixel are determined In terms of pixels, the point set determining unit is specifically configured to:
    当所述当前边界点在所述相邻点云块对应的投影平面上进行投影后,获得经投影过的所述相邻点云块对应的投影平面,其中,所述相邻点云块对应的投影平面上包括:与所述当前边界点对应的一个当前像素点和与所述相邻点云块中的P个重构点对应的Q个像素点,所述P和所述Q为正整数;When the current boundary point is projected on the projection plane corresponding to the adjacent point cloud block, the projection plane corresponding to the projected adjacent point cloud block is obtained, wherein the adjacent point cloud block corresponds to The projection plane includes: a current pixel point corresponding to the current boundary point and Q pixel points corresponding to P reconstruction points in the adjacent point cloud block, where P and Q are positive Integer
    从所述当前点云块对应的投影平面上确定所述当前边界点投影到所述当前点云块对应的投影平面上的当前像素点i的T个相邻像素点,从经投影过的所述相邻点云块对应的投影平面上确定所述当前边界点投影到所述相邻点云块对应的投影平面上的当前像素点j的M个相邻像素点,所述T个相邻像素点被包括于所述当前点云块包括的X个重构点所对应的Y个像素点中,所述M个相邻像素点被包括于所述相邻点云块包括的P个重构点所对应的Q个像素点中,所述T和所述M之和为所述S,所述T、所述X和所述Y为正整数。It is determined from the projection plane corresponding to the current point cloud block that the current boundary point is projected to the T neighboring pixel points of the current pixel point i on the projection plane corresponding to the current point cloud block. On the projection plane corresponding to the adjacent point cloud block, it is determined that the current boundary point is projected to the M adjacent pixel points of the current pixel point j on the projection plane corresponding to the adjacent point cloud block, and the T adjacent pixel points are The pixel points are included in the Y pixel points corresponding to the X reconstruction points included in the current point cloud block, and the M adjacent pixel points are included in the P overlap points included in the adjacent point cloud block. Among the Q pixels corresponding to the frame points, the sum of the T and the M is the S, and the T, the X and the Y are positive integers.
  24. 如权利要求23所述的装置,其特征在于,在所述根据所述S个相邻像素点,确定所述当前边界点的U个相邻重构点的方面,所述点集确定单元具体用于:The apparatus according to claim 23, wherein, in the aspect of determining U adjacent reconstruction points of the current boundary point according to the S adjacent pixel points, the point set determining unit specifically Used for:
    从N个第一候选重构点中,确定对应的第一深度差值小于深度阈值的第一候选重构点为所述当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二深度差值小于所述深度阈值的第二候选重构点为所述当前边界点的相邻重构点,其中,所述第一深度差值为第一深度分别与所述N个第一候选重构点中每个第一候选重构点相对于所述相邻点云块对应的投影平面的深度之间的深度差值,所述第二深度差值为第二深度分别与所述E个第二候选重构点中每个第二候选重构点相对于所述当前点云块对应的投影平面的深度之间的深度差值,所述第一深度为所述当前边界点相对于所述相邻点云块对应的投影平面的深度,所述第二深度为所述当前边界点相对于所述当前点云块对应的投影平面的深度,所述N个第一候选 重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述E个第二候选重构点为所述T个相邻像素点在所述重构点云中对应的重构点,所述N和所述T为正整数。From the N first candidate reconstruction points, determine that the first candidate reconstruction point whose corresponding first depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point; reconstruct from the E second candidate reconstruction points In the points, it is determined that the second candidate reconstruction point whose corresponding second depth difference is less than the depth threshold is the adjacent reconstruction point of the current boundary point, wherein the first depth difference is the first depth respectively And the depth difference between the depth of each of the N first candidate reconstruction points relative to the projection plane corresponding to the adjacent point cloud block, and the second depth difference is The depth difference between the second depth and the depth of each of the E second candidate reconstruction points relative to the projection plane corresponding to the current point cloud block, the first depth Is the depth of the current boundary point relative to the projection plane corresponding to the adjacent point cloud block, and the second depth is the depth of the current boundary point relative to the projection plane corresponding to the current point cloud block, and The N first candidate reconstruction points are the corresponding reconstruction points of the M neighboring pixels in the reconstruction point cloud, and the E second candidate reconstruction points are the T neighboring pixels In the corresponding reconstruction point in the reconstruction point cloud, the N and the T are positive integers.
  25. 如权利要求23所述的装置,其特征在于,在所述根据所述S个相邻像素点,确定所述当前边界点的U个相邻重构点的方面,所述点集确定单元具体用于:The apparatus according to claim 23, wherein, in the aspect of determining U adjacent reconstruction points of the current boundary point according to the S adjacent pixel points, the point set determining unit specifically Used for:
    从N个第一候选重构点中,确定对应的第一距离小于第一距离阈值的第一候选重构点为所述当前边界点的相邻重构点;从E个第二候选重构点中,确定对应的第二距离小于所述第一距离阈值的第二候选重构点为所述当前边界点的相邻重构点,其中,所述第一距离为所述当前边界点与所述N个第一候选重构点中每个第一候选重构点之间的距离,所述第二距离为所述当前边界点与所述E个第二候选重构点中每个第二候选重构点之间的距离,所述N个第一候选重构点为所述M个相邻像素点在所述重构点云中对应的重构点,所述E个第二候选重构点为所述T个相邻像素点在所述重构点云中对应的重构点,所述N和所述T为正整数。From the N first candidate reconstruction points, determine that the first candidate reconstruction point whose corresponding first distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point; reconstruct from the E second candidate reconstruction points Among the points, it is determined that the second candidate reconstruction point whose corresponding second distance is less than the first distance threshold is the adjacent reconstruction point of the current boundary point, wherein the first distance is the current boundary point and The distance between each of the N first candidate reconstruction points, and the second distance is the current boundary point and each of the E second candidate reconstruction points. The distance between two candidate reconstruction points, the N first candidate reconstruction points are the reconstruction points corresponding to the M adjacent pixel points in the reconstruction point cloud, and the E second candidates The reconstructed point is the reconstructed point corresponding to the T adjacent pixel points in the reconstructed point cloud, and the N and the T are positive integers.
  26. 如权利要求17-25任一所述的装置,其特征在于,在所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,所述点集确定单元具体用于:The apparatus according to any one of claims 17-25, wherein, among the one or more point cloud blocks included in the reconstructed point cloud, the aspect of determining the neighboring point cloud blocks of the current point cloud block, The point set determining unit is specifically used for:
    确定所述一个或多个点云块中每个点云块的包围盒;Determining the bounding box of each point cloud block in the one or more point cloud blocks;
    从所述一个或多个点云块中,确定包围盒与所述当前点云块的包围盒存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, it is determined that a point cloud block whose bounding box overlaps with the bounding box of the current point cloud block is an adjacent point cloud block of the current point cloud block.
  27. 如权利要求17-25任一所述的装置,其特征在于,在所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,所述点集确定单元具体用于:The apparatus according to any one of claims 17-25, wherein, among the one or more point cloud blocks included in the reconstructed point cloud, the aspect of determining the neighboring point cloud blocks of the current point cloud block, The point set determining unit is specifically used for:
    确定所述一个或多个点云块中每个点云块的扩展包围盒,所述扩展包围盒是对所述一个或多个点云块中每个点云块的包围盒经扩展得到的;Determine an extended bounding box of each point cloud block in the one or more point cloud blocks, where the extended bounding box is obtained by expanding the bounding box of each point cloud block in the one or more point cloud blocks ;
    从所述一个或多个点云块中,确定扩展包围盒与所述当前点云块的扩展包围盒存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, it is determined that the extended bounding box and the extended bounding box of the current point cloud block overlap the point cloud block as the adjacent point cloud block of the current point cloud block.
  28. 如权利要求17-25任一所述的装置,其特征在于,在所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,所述点集确定单元具体用于:The apparatus according to any one of claims 17-25, wherein, among the one or more point cloud blocks included in the reconstructed point cloud, the aspect of determining the neighboring point cloud blocks of the current point cloud block, The point set determining unit is specifically used for:
    确定所述一个或多个点云块中每个点云块的包围盒和所述当前边界点对应的三维空间体,所述三维空间体为所述当前边界点的相邻重构点所处的空间体;Determine the bounding box of each point cloud block in the one or more point cloud blocks and the three-dimensional volume corresponding to the current boundary point, where the three-dimensional volume is the adjacent reconstruction point of the current boundary point Space body
    从所述一个或多个点云块中,选择包围盒与所述当前点云块的包围盒和所述当前边界点对应的三维空间体均存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, select a point cloud block whose bounding box, the bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point all have overlapping parts as the current point cloud The adjacent point cloud block of the block.
  29. 如权利要求17-25任一所述的装置,其特征在于,在所述从重构点云包括的一个或多个点云块中,确定当前点云块的相邻点云块的方面,所述点集确定单元具体用于:The apparatus according to any one of claims 17-25, wherein, among the one or more point cloud blocks included in the reconstructed point cloud, the aspect of determining the neighboring point cloud blocks of the current point cloud block, The point set determining unit is specifically used for:
    确定所述一个或多个点云块中每个点云块的扩展包围盒和所述当前边界点对应的三维空间体,,所述扩展包围盒是对所述一个或多个点云块中每个点云块的包围盒经扩展得到的,所述三维空间体为所述当前边界点的相邻重构点所处的空间体;Determine the expanded bounding box of each point cloud block in the one or more point cloud blocks and the three-dimensional space corresponding to the current boundary point, where the expanded bounding box is a reference to the one or more point cloud blocks Obtained by expanding the bounding box of each point cloud block, the three-dimensional space volume is the space volume where the adjacent reconstruction point of the current boundary point is located;
    从所述一个或多个点云块中,选择扩展包围盒与所述当前点云块的扩展包围盒和所述当 前边界点对应的三维空间体均存在重叠部分的点云块为所述当前点云块的相邻点云块。From the one or more point cloud blocks, select the point cloud block in which the extended bounding box and the extended bounding box of the current point cloud block and the three-dimensional volume corresponding to the current boundary point have overlapping parts as the current The adjacent point cloud block of the point cloud block.
  30. 如权利要求17-29任一所述的装置,其特征在于,所述滤波处理单元具体用于:The device according to any one of claims 17-29, wherein the filter processing unit is specifically configured to:
    确定所述当前边界点的一个或多个相邻重构点的质心位置;Determining the centroid positions of one or more adjacent reconstruction points of the current boundary point;
    如果所述质心位置与所述当前边界点所处位置之间的距离大于第二距离阈值,则更新所述当前边界点的位置,其中,所述当前边界点更新后的位置对应所述质心位置。If the distance between the position of the centroid and the position of the current boundary point is greater than a second distance threshold, the position of the current boundary point is updated, wherein the updated position of the current boundary point corresponds to the position of the centroid .
  31. 一种编码器,其特征在于,所述编码器包括:An encoder, characterized in that the encoder includes:
    点云滤波模块,用于按照目标滤波方法对待编码点云的重构点云进行滤波处理;The point cloud filtering module is used for filtering the reconstructed point cloud of the point cloud to be coded according to the target filtering method;
    辅助信息编码模块,用于确定指示信息,以及,将所述指示信息编入码流,所述指示信息用于指示是否按照所述目标滤波方法所述对待编码点云的重构点云进行处理,所述目标滤波方法包括如权利要求1~14任一项所述的点云滤波方法。Auxiliary information encoding module, configured to determine instruction information, and to encode the instruction information into a code stream, where the instruction information is used to indicate whether to process the reconstructed point cloud of the point cloud to be encoded according to the target filtering method The target filtering method includes the point cloud filtering method according to any one of claims 1-14.
  32. 一种解码器,其特征在于,所述解码器包括:A decoder, characterized in that the decoder includes:
    辅助信息解码模块,用于解析码流,以得到指示信息,所述指示信息用于指示是否按照目标滤波方法对待解码点云的重构点云进行处理,所述目标滤波方法包括如权利要求1~14任一项所述的点云滤波方法;The auxiliary information decoding module is used to parse the code stream to obtain indication information. The indication information is used to indicate whether to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, and the target filtering method includes as claimed in claim 1. The point cloud filtering method of any one of ~14;
    点云滤波模块,用于当所述指示信息用于指示按照所述目标滤波方法对所述待解码点云的重构点云进行处理时,按照所述目标滤波方法对所述待解码点云的重构点云进行滤波处理。The point cloud filtering module is configured to: when the indication information is used to instruct to process the reconstructed point cloud of the point cloud to be decoded according to the target filtering method, perform processing on the point cloud to be decoded according to the target filtering method The reconstructed point cloud is filtered.
  33. 一种编码器,其特征在于,所述编码器包括:An encoder, characterized in that the encoder includes:
    点云滤波模块,所述点云滤波模块为如权利要求17至30任一项所述的点云滤波装置;A point cloud filtering module, wherein the point cloud filtering module is the point cloud filtering device according to any one of claims 17 to 30;
    纹理图生成模块,用于根据滤波处理后的重构点云生成待编码点云的纹理图。The texture map generating module is used to generate a texture map of the point cloud to be encoded according to the reconstructed point cloud after the filtering process.
  34. 一种解码器,其特征在于,所述解码器包括:A decoder, characterized in that the decoder includes:
    点云滤波模块,所述点云滤波模块为如权利要求17至30任一项所述的点云滤波装置;A point cloud filtering module, wherein the point cloud filtering module is the point cloud filtering device according to any one of claims 17 to 30;
    纹理信息重构模块,用于对滤波处理后的重构点云的纹理信息进行重构。The texture information reconstruction module is used to reconstruct the texture information of the reconstructed point cloud after filtering processing.
  35. 一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求1至14任一项所述的点云滤波方法。A computer-readable storage medium, characterized by comprising program code, which when running on a computer, causes the computer to execute the point cloud filtering method according to any one of claims 1 to 14.
  36. 一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求15所述的点云编码方法。A computer-readable storage medium, characterized by comprising program code, which when running on a computer, causes the computer to execute the point cloud coding method according to claim 15.
  37. 一种计算机可读存储介质,其特征在于,包括程序代码,所述程序代码在计算机上运行时,使得所述计算机执行如权利要求16所述的点云解码方法。A computer-readable storage medium, characterized by comprising a program code, when the program code runs on a computer, the computer executes the point cloud decoding method according to claim 16.
PCT/CN2019/115778 2019-01-15 2019-11-05 Point cloud filtering method and device and storage medium WO2020147379A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910037240.1A CN111435551B (en) 2019-01-15 2019-01-15 Point cloud filtering method and device and storage medium
CN201910037240.1 2019-01-15

Publications (1)

Publication Number Publication Date
WO2020147379A1 true WO2020147379A1 (en) 2020-07-23

Family

ID=71580051

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/115778 WO2020147379A1 (en) 2019-01-15 2019-11-05 Point cloud filtering method and device and storage medium

Country Status (2)

Country Link
CN (1) CN111435551B (en)
WO (1) WO2020147379A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116310227A (en) * 2023-05-18 2023-06-23 海纳云物联科技有限公司 Three-dimensional dense reconstruction method, three-dimensional dense reconstruction device, electronic equipment and medium
CN116681767A (en) * 2023-08-03 2023-09-01 长沙智能驾驶研究院有限公司 Point cloud searching method and device and terminal equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117223031A (en) * 2021-05-06 2023-12-12 Oppo广东移动通信有限公司 Point cloud encoding and decoding method, encoder, decoder and computer storage medium
WO2023123471A1 (en) * 2021-12-31 2023-07-06 Oppo广东移动通信有限公司 Encoding and decoding method, code stream, encoder, decoder, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369313A (en) * 2007-08-17 2009-02-18 鸿富锦精密工业(深圳)有限公司 Point cloud noise spot filtration system and method
CN103679807A (en) * 2013-12-24 2014-03-26 焦点科技股份有限公司 Method for reconstructing scattered point cloud with boundary constraint
CN105630905A (en) * 2015-12-14 2016-06-01 西安科技大学 Scattered-point cloud data based hierarchical compression method and apparatus
US9472022B2 (en) * 2012-10-05 2016-10-18 University Of Southern California Three-dimensional point processing and model generation
CN107845073A (en) * 2017-10-19 2018-03-27 华中科技大学 A kind of local auto-adaptive three-dimensional point cloud denoising method based on depth map

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110187704A1 (en) * 2010-02-04 2011-08-04 Microsoft Corporation Generating and displaying top-down maps of reconstructed 3-d scenes
KR101079475B1 (en) * 2011-06-28 2011-11-03 (주)태일아이엔지 A system for generating 3-dimensional urban spatial information using point cloud filtering
CN104427291B (en) * 2013-08-19 2018-09-28 华为技术有限公司 A kind of image processing method and equipment
US9547901B2 (en) * 2013-11-05 2017-01-17 Samsung Electronics Co., Ltd. Method and apparatus for detecting point of interest (POI) in three-dimensional (3D) point clouds
GB2528669B (en) * 2014-07-25 2017-05-24 Toshiba Res Europe Ltd Image Analysis Method
CN104240300B (en) * 2014-08-29 2017-07-14 电子科技大学 Large-scale point cloud complex space curved surfaces reconstructing method based on distributed parallel
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
CN106548520A (en) * 2016-11-16 2017-03-29 湖南拓视觉信息技术有限公司 A kind of method and system of cloud data denoising
CN107123164B (en) * 2017-03-14 2020-04-28 华南理工大学 Three-dimensional reconstruction method and system for keeping sharp features
CN106960470B (en) * 2017-04-05 2022-04-22 未来科技(襄阳)有限公司 Three-dimensional point cloud curved surface reconstruction method and device
CN108986024B (en) * 2017-06-03 2024-01-23 西南大学 Grid-based laser point cloud rule arrangement processing method
CN107274376A (en) * 2017-07-10 2017-10-20 南京埃斯顿机器人工程有限公司 A kind of workpiece three dimensional point cloud smooth filtering method
CN107767453B (en) * 2017-11-01 2021-02-26 中北大学 Building LIDAR point cloud reconstruction optimization method based on rule constraint
CN109118574A (en) * 2018-07-04 2019-01-01 北京航空航天大学 A kind of fast reverse modeling method extracted based on three-dimensional feature

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369313A (en) * 2007-08-17 2009-02-18 鸿富锦精密工业(深圳)有限公司 Point cloud noise spot filtration system and method
US9472022B2 (en) * 2012-10-05 2016-10-18 University Of Southern California Three-dimensional point processing and model generation
CN103679807A (en) * 2013-12-24 2014-03-26 焦点科技股份有限公司 Method for reconstructing scattered point cloud with boundary constraint
CN105630905A (en) * 2015-12-14 2016-06-01 西安科技大学 Scattered-point cloud data based hierarchical compression method and apparatus
CN107845073A (en) * 2017-10-19 2018-03-27 华中科技大学 A kind of local auto-adaptive three-dimensional point cloud denoising method based on depth map

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116310227A (en) * 2023-05-18 2023-06-23 海纳云物联科技有限公司 Three-dimensional dense reconstruction method, three-dimensional dense reconstruction device, electronic equipment and medium
CN116310227B (en) * 2023-05-18 2023-09-12 海纳云物联科技有限公司 Three-dimensional dense reconstruction method, three-dimensional dense reconstruction device, electronic equipment and medium
CN116681767A (en) * 2023-08-03 2023-09-01 长沙智能驾驶研究院有限公司 Point cloud searching method and device and terminal equipment
CN116681767B (en) * 2023-08-03 2023-12-29 长沙智能驾驶研究院有限公司 Point cloud searching method and device and terminal equipment

Also Published As

Publication number Publication date
CN111435551B (en) 2023-01-13
CN111435551A (en) 2020-07-21

Similar Documents

Publication Publication Date Title
WO2020147379A1 (en) Point cloud filtering method and device and storage medium
US11704837B2 (en) Point cloud encoding method, point cloud decoding method, encoder, and decoder
US11388442B2 (en) Point cloud encoding method, point cloud decoding method, encoder, and decoder
US20210183110A1 (en) Point Cloud Encoding Method, Point Cloud Decoding Method, Encoder, and Decoder
US11875538B2 (en) Point cloud encoding method and encoder
US11961265B2 (en) Point cloud encoding and decoding method and apparatus
WO2020151496A1 (en) Point cloud encoding/decoding method and apparatus
WO2020063294A1 (en) Point cloud encoding and decoding method and encoder/decoder
US20220007037A1 (en) Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and storage medium
WO2020063718A1 (en) Point cloud encoding/decoding method and encoder/decoder
WO2020143725A1 (en) Point cloud decoding method and decoder
WO2020015517A1 (en) Point cloud encoding method, point cloud decoding method, encoder and decoder
JP2022513484A (en) Point cloud coding method and encoder
WO2020187283A1 (en) Point cloud encoding method, point cloud decoding method, apparatus, and storage medium
WO2020057338A1 (en) Point cloud coding method and encoder
WO2020220941A1 (en) Point cloud encoding method, point cloud decoding method, apparatuses, and storage medium

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

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

Country of ref document: EP

Kind code of ref document: A1