WO2024065272A1 - Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage - Google Patents

Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage Download PDF

Info

Publication number
WO2024065272A1
WO2024065272A1 PCT/CN2022/122117 CN2022122117W WO2024065272A1 WO 2024065272 A1 WO2024065272 A1 WO 2024065272A1 CN 2022122117 W CN2022122117 W CN 2022122117W WO 2024065272 A1 WO2024065272 A1 WO 2024065272A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
zero
points
point cloud
child node
Prior art date
Application number
PCT/CN2022/122117
Other languages
English (en)
Chinese (zh)
Inventor
孙泽星
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2022/122117 priority Critical patent/WO2024065272A1/fr
Publication of WO2024065272A1 publication Critical patent/WO2024065272A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties

Definitions

  • the present application relates to the field of point cloud technology, and in particular to a point cloud encoding and decoding method, device, equipment and storage medium.
  • the surface of the object is collected by the acquisition device to form point cloud data, which includes hundreds of thousands or even more points.
  • the point cloud data is transmitted between the point cloud encoding device and the point cloud decoding device in the form of point cloud media files.
  • the point cloud encoding device needs to compress the point cloud data before transmission.
  • the compression of point clouds is also called the encoding of point clouds.
  • different encoding models are used to correspond the points in the point cloud to nodes and encode the nodes, some of which include duplicate points.
  • the current encoding and decoding methods such as the Audio Video Standard (AVS) of point clouds, need to encode and decode the duplicate point information of each non-zero leaf node in the leaf node of the octree, thereby reducing the encoding and decoding efficiency of the point cloud.
  • AVS Audio Video Standard
  • the embodiments of the present application provide a point cloud encoding and decoding method, apparatus, device and storage medium, which reduce the complexity of point cloud encoding and decoding, save encoding and decoding time, and thus improve the encoding and decoding efficiency of point cloud.
  • an embodiment of the present application provides a point cloud decoding method, comprising:
  • a first parameter corresponding to a current node where the first parameter is used to determine whether at least one non-zero child node of the current node includes a duplicate point, where the current node is a non-zero node in the N-1th layer of an octree of the point cloud, where the octree is obtained by node division of the point cloud, where N is the total number of layers of the octree, and where N is a positive integer greater than 1;
  • geometric decoding is performed on the current node.
  • the present application provides a point cloud encoding method, comprising:
  • a first parameter corresponding to a current node where the first parameter is used to determine whether at least one child node of the current node includes a duplicate point, where the current node is a node in the N-1th layer of an octree of the point cloud, where the octree is obtained by node division of the point cloud, where N is the total number of layers of the octree, and where N is a positive integer greater than 1;
  • geometric encoding is performed on the current node.
  • the present application provides a point cloud decoding device for executing the method in the first aspect or its respective implementations.
  • the device includes a functional unit for executing the method in the first aspect or its respective implementations.
  • the present application provides a point cloud encoding device for executing the method in the second aspect or its respective implementations.
  • the device includes a functional unit for executing the method in the second aspect or its respective implementations.
  • a point cloud decoder comprising a processor and a memory.
  • the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute the method in the first aspect or its implementation manners.
  • a point cloud encoder comprising a processor and a memory.
  • the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute the method in the second aspect or its respective implementations.
  • a point cloud encoding and decoding system comprising a point cloud encoder and a point cloud decoder.
  • the point cloud decoder is used to execute the method in the first aspect or its respective implementations
  • the point cloud encoder is used to execute the method in the second aspect or its respective implementations.
  • a chip for implementing the method in any one of the first to second aspects or their respective implementations.
  • the chip includes: a processor for calling and running a computer program from a memory, so that a device equipped with the chip executes the method in any one of the first to second aspects or their respective implementations.
  • a computer-readable storage medium for storing a computer program, wherein the computer program enables a computer to execute the method of any one of the first to second aspects or any of their implementations.
  • a computer program product comprising computer program instructions, which enable a computer to execute the method in any one of the first to second aspects or their respective implementations.
  • a computer program which, when executed on a computer, enables the computer to execute the method in any one of the first to second aspects or in each of their implementations.
  • a code stream is provided, which is generated based on the method of the second aspect.
  • the code stream includes at least one of the first parameter and the second parameter.
  • point cloud decoding for example, in point cloud decoding based on AVS
  • first determine the first parameter corresponding to the current node the first parameter is used to determine whether at least one non-zero child node of the current node includes duplicate points
  • the current node is a non-zero node of the N-1th layer in the octree of the point cloud
  • N is the total number of layers of the octree
  • the decoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the decoding complexity of the point cloud, saving decoding time, and improving decoding efficiency.
  • FIG1A is a schematic diagram of a point cloud
  • Figure 1B is a partial enlarged view of the point cloud
  • FIG2 is a schematic diagram of six viewing angles of a point cloud image
  • FIG3 is a schematic block diagram of a point cloud encoding and decoding system according to an embodiment of the present application.
  • FIG4A is a schematic block diagram of a point cloud encoder provided in an embodiment of the present application.
  • FIG4B is a schematic block diagram of a point cloud decoder provided in an embodiment of the present application.
  • FIG5 is a schematic diagram of a point cloud decoding method flow chart provided by an embodiment of the present application.
  • FIG6 is a schematic diagram of an octree partition
  • FIG7 is a schematic diagram of an octree and a prediction tree partition
  • FIG8 is a schematic diagram of an octree involved in an embodiment of the present application.
  • FIG9 is a schematic diagram of a point cloud encoding method flow chart provided by an embodiment of the present application.
  • FIG10 is a schematic block diagram of a point cloud decoding device provided in an embodiment of the present application.
  • FIG11 is a schematic block diagram of a point cloud encoding device provided in an embodiment of the present application.
  • FIG12 is a schematic block diagram of an electronic device provided in an embodiment of the present application.
  • FIG. 13 is a schematic block diagram of a point cloud encoding and decoding system provided in an embodiment of the present application.
  • the present application can be applied to the field of point cloud upsampling technology, for example, can be applied to the field of point cloud compression technology.
  • Point cloud refers to a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or three-dimensional scene.
  • Figure 1A is a schematic diagram of a three-dimensional point cloud image
  • Figure 1B is a partial enlarged view of Figure 1A. It can be seen from Figures 1A and 1B that the point cloud surface is composed of densely distributed points.
  • Two-dimensional images have information expressed at each pixel point, and the distribution is regular, so there is no need to record its position information; however, the distribution of points in the point cloud in three-dimensional space is random and irregular, so it is necessary to record the position of each point in space to fully express a point cloud. Similar to two-dimensional images, each position has corresponding attribute information during the acquisition process.
  • Point cloud data is a specific record form of point cloud.
  • Points in the point cloud may include the location information of the point and the attribute information of the point.
  • the location information of the point may be the three-dimensional coordinate information of the point.
  • the location information of the point may also be called the geometric information of the point.
  • the attribute information of the point may include color information, reflectance information, normal vector information, etc.
  • Color information reflects the color of an object, and reflectance information reflects the surface material of an object.
  • the color information may be information in any color space.
  • the color information may be (RGB).
  • the color information may be information about brightness and chromaticity (YcbCr, YUV).
  • Y represents brightness (Luma)
  • Cb (U) represents blue color difference
  • Cr (V) represents red
  • U and V represent chromaticity (Chroma) for describing color difference information.
  • the points in the point cloud may include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point.
  • the points in the point cloud may include the three-dimensional coordinate information of the point and the color information of the point.
  • a point cloud is obtained by combining the principles of laser measurement and photogrammetry.
  • the points in the point cloud may include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point, and the color information of the point.
  • FIG2 shows a point cloud image, where FIG2 shows six viewing angles of the point cloud image.
  • Table 1 shows the point cloud data storage format composed of a file header information part and a data part:
  • the header information includes the data format, data representation type, the total number of point cloud points, and the content represented by the point cloud.
  • the point cloud in this example is in the ".ply" format, represented by ASCII code, with a total number of 207242 points, and each point has three-dimensional position information XYZ and three-dimensional color information RGB.
  • Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Point clouds are obtained by directly sampling real objects, so they can provide a strong sense of reality while ensuring accuracy. Therefore, they are widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs.
  • Point cloud data can be obtained by at least one of the following ways: (1) computer equipment generation. Computer equipment can generate point cloud data based on virtual three-dimensional objects and virtual three-dimensional scenes. (2) 3D (3-Dimension) laser scanning acquisition. 3D laser scanning can be used to obtain point cloud data of static real-world three-dimensional objects or three-dimensional scenes, and millions of point cloud data can be obtained per second; (3) 3D photogrammetry acquisition. The visual scene of the real world is collected by 3D photography equipment (i.e., a group of cameras or camera equipment with multiple lenses and sensors) to obtain point cloud data of the visual scene of the real world. 3D photography can be used to obtain point cloud data of dynamic real-world three-dimensional objects or three-dimensional scenes. (4) Point cloud data of biological tissues and organs can be obtained by medical equipment. In the medical field, point cloud data of biological tissues and organs can be obtained by medical equipment such as magnetic resonance imaging (MRI), computed tomography (CT), and electromagnetic positioning information.
  • MRI magnetic resonance imaging
  • CT computed tomography
  • Point clouds can be divided into dense point clouds and sparse point clouds according to the way they are acquired.
  • Point clouds are divided into the following types according to the time series of the data:
  • the first type of static point cloud the object is stationary, and the device that obtains the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
  • the third type of dynamic point cloud acquisition the device that acquires the point cloud is moving.
  • Point clouds can be divided into two categories according to their uses:
  • Category 1 Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.
  • Category 2 Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • the above point cloud acquisition technology reduces the cost and time of point cloud data acquisition and improves the accuracy of data.
  • the change in the point cloud data acquisition method makes it possible to acquire a large amount of point cloud data.
  • the processing of massive 3D point cloud data encounters bottlenecks of storage space and transmission bandwidth.
  • a point cloud video with a frame rate of 30fps frames per second
  • the number of points in each point cloud frame is 700,000
  • each point has coordinate information xyz (float) and color information RGB (uchar).
  • the YUV sampling format is 4:2:0
  • the frame rate is 24fps.
  • the 10s data volume of a 1280 720 two-dimensional video is approximately 1280 720 12bit 24frames 10s ⁇ 0.33GB
  • point cloud compression has become a key issue in promoting the development of the point cloud industry.
  • FIG3 is a schematic block diagram of a point cloud encoding and decoding system involved in an embodiment of the present application. It should be noted that FIG3 is only an example, and the point cloud encoding and decoding system of the embodiment of the present application includes but is not limited to that shown in FIG3.
  • the point cloud encoding and decoding system 100 includes an encoding device 110 and a decoding device 120.
  • the encoding device is used to encode (which can be understood as compression) the point cloud data to generate a code stream, and transmit the code stream to the decoding device.
  • the decoding device decodes the code stream generated by the encoding device to obtain decoded point cloud data.
  • the encoding device 110 of the embodiment of the present application can be understood as a device with a point cloud encoding function
  • the decoding device 120 can be understood as a device with a point cloud decoding function, that is, the embodiment of the present application includes a wider range of devices for the encoding device 110 and the decoding device 120, such as smartphones, desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, point cloud game consoles, vehicle-mounted computers, etc.
  • the encoding device 110 may transmit the encoded point cloud data (such as a code stream) to the decoding device 120 via the channel 130.
  • the channel 130 may include one or more media and/or devices capable of transmitting the encoded point cloud data from the encoding device 110 to the decoding device 120.
  • the channel 130 includes one or more communication media that enable the encoding device 110 to transmit the encoded point cloud data directly to the decoding device 120 in real time.
  • the encoding device 110 can modulate the encoded point cloud data according to the communication standard and transmit the modulated point cloud data to the decoding device 120.
  • the communication medium includes a wireless communication medium, such as a radio frequency spectrum, and optionally, the communication medium may also include a wired communication medium, such as one or more physical transmission lines.
  • the channel 130 includes a storage medium, which can store the point cloud data encoded by the encoding device 110.
  • the storage medium includes a variety of locally accessible data storage media, such as optical disks, DVDs, flash memories, etc.
  • the decoding device 120 can obtain the encoded point cloud data from the storage medium.
  • the channel 130 may include a storage server that can store the point cloud data encoded by the encoding device 110.
  • the decoding device 120 can download the stored encoded point cloud data from the storage server.
  • the storage server can store the encoded point cloud data and transmit the encoded point cloud data to the decoding device 120, such as a web server (e.g., for a website), a file transfer protocol (FTP) server, etc.
  • FTP file transfer protocol
  • the encoding device 110 includes a point cloud encoder 112 and an output interface 113.
  • the output interface 113 may include a modulator/demodulator (modem) and/or a transmitter.
  • the encoding device 110 may further include a point cloud source 111 in addition to the point cloud encoder 112 and the input interface 113 .
  • the point cloud source 111 may include at least one of a point cloud acquisition device (e.g., a scanner), a point cloud archive, a point cloud input interface, and a computer graphics system, wherein the point cloud input interface is used to receive point cloud data from a point cloud content provider, and the computer graphics system is used to generate point cloud data.
  • a point cloud acquisition device e.g., a scanner
  • a point cloud archive e.g., a point cloud archive
  • a point cloud input interface e.g., a point cloud input interface
  • the computer graphics system is used to generate point cloud data.
  • the point cloud encoder 112 encodes the point cloud data from the point cloud source 111 to generate a code stream.
  • the point cloud encoder 112 transmits the encoded point cloud data directly to the decoding device 120 via the output interface 113.
  • the encoded point cloud data can also be stored in a storage medium or a storage server for subsequent reading by the decoding device 120.
  • the decoding device 120 includes an input interface 121 and a point cloud decoder 122 .
  • the decoding device 120 may further include a display device 123 in addition to the input interface 121 and the point cloud decoder 122 .
  • the input interface 121 includes a receiver and/or a modem.
  • the input interface 121 can receive the encoded point cloud data through the channel 130 .
  • the point cloud decoder 122 is used to decode the encoded point cloud data to obtain decoded point cloud data, and transmit the decoded point cloud data to the display device 123.
  • the decoded point cloud data is displayed on the display device 123.
  • the display device 123 may be integrated with the decoding device 120 or may be external to the decoding device 120.
  • the display device 123 may include a variety of display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.
  • Figure 3 is only an example, and the technical solution of the embodiment of the present application is not limited to Figure 3.
  • the technology of the present application can also be applied to unilateral point cloud encoding or unilateral point cloud decoding.
  • the current point cloud encoder can use the geometry point cloud compression (G-PCC) codec framework or the video point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG) of the International Standards Organization, or the AVS-PCC codec framework provided by the Audio Video Standard (AVS).
  • G-PCC geometry point cloud compression
  • V-PCC video point cloud compression
  • MPEG Moving Picture Experts Group
  • AVS-PCC codec framework provided by the Audio Video Standard (AVS).
  • G-PCC and AVS-PCC are aimed at static sparse point clouds, and their coding frameworks are roughly the same.
  • the following uses the AVS-PCC encoding and decoding framework as an example to explain the point cloud encoder and point cloud decoder applicable to the embodiments of the present application.
  • FIG. 4A is a schematic block diagram of a point cloud encoder provided in an embodiment of the present application.
  • the points in the point cloud can include the location information of the points and the attribute information of the points. Therefore, the encoding of the points in the point cloud mainly includes location encoding and attribute encoding.
  • the location information of the points in the point cloud is also called geometric information, and the corresponding location encoding of the points in the point cloud can also be called geometric encoding.
  • the geometric information of the point cloud and the corresponding attribute information are encoded separately.
  • the process of position encoding includes: preprocessing the points in the point cloud, such as coordinate transformation, quantization, and removal of duplicate points; then, geometric encoding the preprocessed point cloud, such as constructing an octree, and geometric encoding based on the constructed octree to form a geometric code stream. At the same time, based on the position information output by the constructed octree, the position information of each point in the point cloud data is reconstructed to obtain the reconstructed value of the position information of each point.
  • the attribute encoding process includes: given the reconstruction information of the input point cloud position information and the original value of the attribute information, selecting one of the two prediction modes to predict the point cloud attributes, quantizing the predicted results, and performing arithmetic coding to form an attribute code stream.
  • position encoding can be achieved by the following units:
  • the coordinate translation and coordinate quantization unit 201 can be used to transform the world coordinates of points in the point cloud into relative coordinates. For example, the geometric coordinates of the point are respectively subtracted from the minimum value of the xyz coordinate axis, which is equivalent to a DC removal operation to achieve the conversion of the coordinates of the points in the point cloud from world coordinates to relative coordinates.
  • it will be decided whether to divide the entire point cloud sequence into multiple slices (point cloud slices) based on the parameter configuration, and each divided slice will be treated as a single independent point cloud serial processing. Next, the point cloud is quantized and duplicate points are removed.
  • the number of coordinates can be reduced by quantization; after quantization, originally different points may be assigned the same coordinates, based on which, duplicate points can be deleted by deduplication operations; for example, multiple clouds with the same quantized position and different attribute information can be merged into one cloud through attribute conversion.
  • quantization and removal of duplicate points are optional steps.
  • quantization and removal of duplicate points are also referred to as voxelization.
  • the octree construction unit 202 can use the octree encoding method to encode the position information of the quantized points.
  • the point cloud is contained in a bounding box
  • the bounding box of the point cloud is divided in the form of an octree
  • the placeholder code of each node is encoded.
  • the bounding box is divided into sub-cubes in sequence, and the non-empty (including the points in the point cloud) sub-cubes are continued to be divided until the leaf node obtained by the division is a 1x1x1 unit cube.
  • the division is stopped.
  • the position of the point can correspond to the position of the octree one by one, and the position of the point in the octree is counted and its flag is recorded as 1 for geometric encoding.
  • the octree reconstruction unit 203 can perform position reconstruction based on the position information output by the octree construction unit 202 to obtain the reconstruction value of the position information of each point in the point cloud data.
  • the placeholder code of each node is obtained by continuous parsing in the order of breadth-first traversal, and the nodes are continuously divided in turn until the division is stopped when a 1x1x1 unit cube is obtained, and the number of points contained in each leaf node is obtained by parsing, and finally the geometric reconstruction value of the point cloud is restored.
  • the first entropy coding unit 204 can use entropy coding to perform arithmetical coding on the position information output by the octree analysis unit 203 to generate a geometric code stream; the geometric code stream can also be called a geometry bitstream.
  • Attribute encoding can be achieved through the following units:
  • a spatial conversion unit 210 a property difference unit 211 , a property prediction unit 212 , a property transformation unit 213 , a quantization unit 214 and a second entropy coding unit 214 .
  • point cloud encoder 200 may include more, fewer or different functional components than those shown in FIG. 4A .
  • the space conversion unit 210 can be used to convert the RGB color space of the point in the point cloud into a YUV color space or other formats. At present, attribute encoding is mainly performed on color and reflectivity information. First, it is determined whether to perform color space conversion. If color space conversion is performed, the space conversion unit 210 converts the color information from the RGB color space to the YUV color space.
  • the attribute difference unit 211 also called a recoloring unit, uses the reconstructed geometric information to recolor the color information so that the uncoded attribute information corresponds to the reconstructed geometric information.
  • the attribute prediction unit 212 is used to reorder the point cloud and then perform differential prediction.
  • Hilbert reordering is performed for the cat1A sequence and the cat2 sequence; for the cat1B sequence and the cat3 sequence, Morton reordering is performed.
  • the attribute of the sorted point cloud is predicted using a differential method, and the attribute residual of the point is obtained based on the attribute prediction of the point and the original value of the attribute.
  • the quantization unit 214 quantizes the attribute residual of the point to obtain the quantized attribute residual.
  • the second entropy coding unit 215 performs entropy coding on the attribute residual quantized by the quantization unit 214 to obtain a binary attribute code stream.
  • the attribute transformation unit 213 is used to perform wavelet transformation on the point cloud attributes to obtain transformation coefficients.
  • the quantization unit 214 quantizes the transformation coefficients to obtain quantized transformation coefficients.
  • the attribute transformation unit 213 performs inverse quantization and inverse wavelet transformation on the quantized transformation coefficients to obtain attribute reconstruction values.
  • the attribute transformation unit 213 calculates the difference between the original attribute of the point and the attribute reconstruction value of the point to obtain the attribute residual of the point.
  • the quantization unit 214 quantizes the attribute residual of the point to obtain the quantized attribute residual of the point.
  • the second entropy coding unit 215 performs entropy coding on the attribute residual quantized by the quantization unit 214 and the quantized transformation coefficient to obtain a binary attribute code stream.
  • FIG4B is a schematic block diagram of a point cloud decoder provided in an embodiment of the present application.
  • the decoder 300 can obtain the point cloud code stream from the encoding device, and obtain the position information and attribute information of the points in the point cloud by parsing the code.
  • the decoding of the point cloud includes position decoding and attribute decoding.
  • the process of position decoding includes: performing arithmetic decoding on the geometric code stream; merging after building the octree, reconstructing the position information of the point to obtain the reconstructed information of the point's position information; performing coordinate transformation on the reconstructed information of the point's position information to obtain the point's position information.
  • the point's position information can also be called the point's geometric information.
  • the attribute decoding process includes: obtaining the residual value of the attribute information of the point in the point cloud by parsing the attribute code stream; obtaining the residual value of the attribute information of the point after dequantization by dequantizing the residual value of the attribute information of the point; based on the reconstruction information of the point position information obtained in the position decoding process, selecting one of attribute prediction compensation and attribute inverse transformation to perform point cloud processing to obtain the reconstructed value of the attribute information of the point; performing color space inverse conversion on the reconstructed value of the attribute information of the point to obtain a decoded point cloud.
  • position decoding can be achieved by the following units:
  • the first entropy decoding unit 301 may decode the geometric code stream by using an entropy decoding method to obtain the placeholder information of each node in the octree.
  • the octree reconstruction unit 301 reconstructs the octree based on the placeholder information of each node in the octree decoded by the first entropy decoding unit 301.
  • the placeholder code of each node is obtained by continuous parsing in the order of breadth-first traversal, and the nodes are continuously divided in turn until a 1x1x1 unit cube is obtained, and the division is stopped when the division obtains the number of points contained in each leaf node, and finally the geometric reconstruction value of the point cloud is restored.
  • the inverse coordinate quantization and inverse coordinate translation unit 303 performs inverse coordinate translation and inverse quantization operations on the geometric reconstruction value of the point cloud reconstructed by the octree reconstruction unit 302 to obtain the geometric reconstruction value of the midpoint of the point cloud in the world coordinate.
  • Attribute encoding can be achieved through the following units:
  • the second entropy decoding unit 310 decodes the attribute code stream to obtain the quantized attribute residual, and the inverse quantization unit 313 inversely quantizes the quantized attribute residual to obtain the attribute residual value.
  • the attribute prediction compensation unit 312 obtains the attribute prediction value of the point in the point cloud based on the reconstructed geometric information of the point cloud, and then adds the attribute prediction value to the attribute residual value to obtain the attribute reconstruction value of the point.
  • the inverse space conversion unit 314 performs color space inverse conversion on the attribute reconstruction value of the point, for example, from the YUV color space to the RGB color space, to obtain the reconstructed attribute information of the point cloud.
  • the second entropy decoding unit 310 decodes the attribute code stream to obtain the quantized attribute residual and the quantized transformation coefficient.
  • the inverse quantization unit 313 inversely quantizes the quantized attribute residual and the quantized transformation coefficient to obtain the attribute residual and the transformation coefficient of the point.
  • the attribute inverse transformation unit 313 performs an inverse wavelet transform on the transformation coefficient of the point in the point cloud based on the reconstructed geometric information of the point cloud to obtain the attribute reconstruction value of the point in the point cloud, and then adds the attribute reconstruction value to the attribute residual value to obtain the reconstructed attribute value of the point.
  • the inverse space conversion unit 314 performs an inverse color space conversion on the reconstructed attribute value of the point, for example, from the YUV color space to the RGB color space, to obtain the reconstructed attribute information of the point cloud.
  • each unit in the decoder 300 can refer to the functions of the corresponding units in the encoder 200.
  • the point cloud decoder 300 may include more, fewer or different functional components than those in FIG. 4B.
  • Condition 1 The geometric position is limitedly lossy and the attributes are lossy;
  • Condition 3 The geometric position is lossless, and the attributes are limitedly lossy
  • Condition 4 The geometric position and attributes are lossless.
  • the universal test sequence includes five categories, namely Cat1A, Cat1B, Cat1C, Cat2-frame and Cat3, wherein Cat1A and Cat2-frame point clouds only contain reflectivity attribute information, Cat1B and Cat3 point clouds only contain color attribute information, and Cat1B point cloud contains both color and reflectivity attribute information.
  • point cloud attribute compression methods include but are not limited to the following:
  • the first one is that attribute compression adopts an intra-frame prediction-based method.
  • the points in the point cloud are processed in a certain order, such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc., and the prediction algorithm is first used to obtain the attribute prediction value, and the attribute residual is obtained according to the attribute value and the attribute prediction value. Then, the attribute residual is quantized to generate a quantized residual, and finally the quantized residual is encoded.
  • a certain order such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.
  • the points in the point cloud are processed in a certain order, such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc., and the prediction algorithm is first used to obtain the attribute prediction value. Then, the decoding obtains the quantized residual, and then the quantized residual is dequantized. Finally, the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized residual.
  • the second is a resource-constrained attribute compression method based on intra-frame prediction and DCT transform.
  • this method when encoding the quantized transform coefficients, there is a limit of a maximum number of points X (such as 4096), that is, at most every X points are encoded as a group.
  • the points in the point cloud are processed in a certain order, such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc., and the entire point cloud is first divided into a number of small groups with a maximum length of Y (such as 2), and then the small groups are combined into a number of large groups (the number of points in each large group does not exceed X, such as 4096). Then, the prediction algorithm is used to obtain the attribute prediction value, and the attribute residual is obtained according to the attribute value and the attribute prediction value. The attribute residual is subjected to DCT transformation in small groups to generate transformation coefficients, and then the transformation coefficients are quantized to generate quantized transformation coefficients, and finally the quantized transformation coefficients are encoded in large groups.
  • the points in the point cloud are processed in a certain order, such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.
  • the entire point cloud is divided into several small groups with a maximum length of Y (such as 2), and then these small groups are combined into several large groups (the number of points in each large group does not exceed X, such as 4096), and the quantized transformation coefficients are decoded in large groups.
  • the prediction algorithm is used to obtain the attribute prediction value, and then the quantized transformation coefficients are dequantized and inversely transformed in small groups.
  • the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
  • the third is a resource-infinite attribute compression method based on intra-frame prediction and DCT transformation.
  • this method when encoding the quantized transformation coefficients, there is no limit on the maximum number of points X, that is, all coefficients are encoded together.
  • the points in the point cloud are processed in a certain order, such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc., and the entire point cloud is first divided into a number of small groups with a maximum length of Y (such as 2). Then, a prediction algorithm is used to obtain attribute prediction values, and attribute residuals are obtained according to the attribute values and the attribute prediction values. The attribute residuals are subjected to DCT transformation in small groups to generate transformation coefficients, and then the transformation coefficients are quantized to generate quantized transformation coefficients. Finally, the quantized transformation coefficients of the entire point cloud are encoded.
  • a prediction algorithm is used to obtain attribute prediction values, and attribute residuals are obtained according to the attribute values and the attribute prediction values.
  • the attribute residuals are subjected to DCT transformation in small groups to generate transformation coefficients, and then the transformation coefficients are quantized to generate quantized transformation coefficients.
  • the quantized transformation coefficients of the entire point cloud are encoded.
  • the points in the point cloud are processed in a certain order, such as the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.
  • the entire point cloud is first divided into several small groups with a maximum length of Y (such as 2), and the quantized transformation coefficients of the entire point cloud are obtained by decoding.
  • the prediction algorithm is used to obtain the attribute prediction value, and the quantized transformation coefficients are dequantized and inversely transformed in small groups.
  • the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
  • the fourth one is that attribute compression adopts a method based on multi-layer wavelet transform.
  • a multi-layer wavelet transform is performed on the entire point cloud to generate transform coefficients, and then the transform coefficients are quantized to generate quantized transform coefficients, and finally the quantized transform coefficients of the entire point cloud are encoded.
  • decoding obtains the quantized transform coefficients of the entire point cloud, and then dequantizes and inversely transforms the quantized transform coefficients to obtain attribute reconstruction values.
  • the following introduces octree-based geometric coding and prediction tree-based geometric coding.
  • Octree-based geometric encoding includes: first, coordinate transformation of geometric information so that all point clouds are contained in a bounding box. Then quantization is performed. This step of quantization mainly plays a role of scaling. Due to quantization rounding, the geometric information of some points is the same. Whether to remove duplicate points is determined based on parameters. The process of quantization and removal of duplicate points is also called voxelization. Next, the bounding box is continuously divided into trees (octree/quadtree/binary tree) in the order of breadth-first traversal, and the placeholder code of each node is encoded. In an implicit geometric division method, the bounding box of the point cloud is first calculated.
  • K and M In the process of binary tree/quadtree/octree partitioning, two parameters are introduced: K and M.
  • K indicates the maximum number of binary tree/quadtree partitioning before octree partitioning;
  • parameter M is used to indicate that the minimum block side length corresponding to binary tree/quadtree partitioning is 2M .
  • the current node has only one occupied child node, and the parent node of the current node's parent node has only two occupied child nodes, that is, the current node has at most one neighbor node.
  • the parent node of the current node has only one child node, the current node.
  • the six neighbor nodes that share a face with the current node are also empty nodes.
  • the current node does not have the DCM coding qualification, it will be divided into octrees. If it has the DCM coding qualification, the number of points contained in the node will be further determined. When the number of points is less than the threshold 2, the node will be DCM-encoded, otherwise the octree division will continue.
  • the DCM coding mode is applied, the geometric coordinates X, Y, and Z components of the points contained in the current node will be directly encoded independently.
  • the side length of a node is 2d , d bits are required to encode each component of the geometric coordinates of the node, and the bit information is directly encoded into the bit stream.
  • G-PCC currently introduces a plane coding mode. In the process of geometric division, it will determine whether the child nodes of the current node are in the same plane. If the child nodes of the current node meet the conditions of the same plane, the child nodes of the current node will be represented by the plane.
  • the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in turn until a 1X1X1 unit cube is obtained. The number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.
  • the geometric coding based on the prediction tree includes: first, sorting the input point cloud.
  • the currently used sorting methods include unordered, Morton order, azimuth order and radial distance order.
  • the prediction tree structure is established by using two different methods, including: KD-Tree (high-latency slow mode) and using the laser radar calibration information to divide each point into different Lasers, and establish a prediction structure according to different Lasers (low-latency fast mode).
  • KD-Tree high-latency slow mode
  • Lasers low-latency fast mode
  • traverse each node in the prediction tree predict the geometric position information of the node by selecting different prediction modes to obtain the prediction residual, and quantize the geometric prediction residual using the quantization parameter.
  • the prediction residual of the prediction tree node position information, the prediction tree structure and the quantization parameters are encoded to generate a binary code stream.
  • the decoding end Based on the geometric decoding of the prediction tree, the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream, and then obtains the geometric position prediction residual information and quantization parameters of each prediction node through parsing, and dequantizes the prediction residual to recover the reconstructed geometric position information of each node, and finally completes the geometric reconstruction of the decoding end.
  • the geometric information is reconstructed.
  • attribute encoding is mainly performed on color information.
  • the color information is converted from the RGB color space to the YUV color space.
  • the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
  • the first parameter corresponding to the current node is first determined, and the first parameter is used to determine whether at least one non-zero child node of the current node includes duplicate points.
  • the current node is a non-zero node of the N-1th layer in the octree of the point cloud, and N is the total number of layers of the octree. Then, based on the first parameter, the current node is geometrically decoded.
  • the encoding and decoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the encoding and decoding complexity of the point cloud, saving encoding and decoding time, and improving the encoding and decoding efficiency.
  • the point cloud decoding method provided in the embodiment of the present application is introduced.
  • Fig. 5 is a schematic diagram of a point cloud decoding method according to an embodiment of the present application.
  • the point cloud decoding method according to the embodiment of the present application can be implemented by the point cloud decoding device shown in Fig. 3 or Fig. 4B.
  • the point cloud decoding method of the embodiment of the present application includes:
  • the first parameter is used to determine whether at least one non-zero child node of the current node includes duplicate points.
  • the current node is a non-zero node in the N-1th layer of the octree of the point cloud.
  • the octree is obtained by node division of the point cloud.
  • N is the total number of layers of the octree, and N is a positive integer greater than 1.
  • the point cloud decoding method proposed in the embodiment of the present application can be applied to a variety of point cloud decoding scenarios.
  • the point cloud decoding method of the embodiment of the present application is applied to AVS, the above octree is obtained by dividing the point cloud into nodes based on the AVS method.
  • the point cloud of the embodiment of the present application can be understood as a point cloud block or point cloud slice that can be decoded individually.
  • the point cloud in the embodiment of the present application is the entire point cloud sequence that has not been divided.
  • the point cloud of the embodiment of the present application can be understood as a point cloud slice in at least one slice into which the entire point cloud sequence is divided.
  • the point cloud includes geometric information and attribute information
  • the decoding of the point cloud includes geometric decoding and attribute decoding.
  • the embodiments of the present application relate to geometric decoding of the point cloud. That is, the decoded points involved in the embodiments of the present application refer to points in the point cloud whose geometric information has been decoded, and the undecoded points refer to points in the point cloud whose geometric information has not been decoded.
  • the geometric information of the point cloud is also referred to as the position information of the point cloud. Therefore, the geometric decoding of the point cloud is also referred to as the position decoding of the point cloud.
  • the encoding end constructs the octree structure of the point cloud based on the octree coding method. For example, as shown in Figure 6, the point cloud is surrounded by the smallest cuboid, and the bounding box is first divided into octrees to obtain 8 nodes. The occupied nodes among these 8 nodes, that is, the nodes including the points, continue to be divided into octrees, and so on, until they are divided into voxel-level positions, for example, into 1X1X1 cubes.
  • the point cloud octree structure obtained by such division includes multiple layers of nodes, for example, including N layers.
  • the placeholder information of each layer is encoded layer by layer until the voxel-level leaf nodes of the last layer are encoded. That is to say, in octree coding, the point cloud is divided through the octree, and finally the points in the point cloud are divided into the voxel-level leaf nodes of the octree.
  • the encoding of the point cloud is realized.
  • the decoding end first decodes the geometric code stream of the point cloud to obtain the occupancy information of the root node of the octree of the point cloud, and based on the occupancy information of the root node, determines the child nodes included in the root node, that is, the nodes included in the second layer of the octree. Then, the geometric code stream is decoded to obtain the occupancy information of each node in the second layer, and based on the occupancy information of each node, determines the nodes included in the third layer of the octree, and so on.
  • the coding end can use prediction tree coding while using octree coding, that is, the prediction tree coding algorithm is turned off.
  • the octree is first used to perform octree division on the bounding box of the point cloud, and the division is divided to a preset depth. For example, after division to 3 layers, for each non-zero node obtained by the division, it is determined whether the node is encoded by prediction tree or octree. If it is determined that the node is encoded by prediction tree, the prediction tree coding method is used to perform prediction tree coding on the geometric information of the points included in the node.
  • the points included in the node are sorted, and the preset prediction tree coding method is used to construct a prediction tree for the sorted points, such as constructing an L3C2 single chain. Then, based on the structure of the prediction tree, each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometric prediction residual is quantized using the quantization parameter. Finally, through continuous iteration, the prediction residual, prediction tree structure and quantization parameter of the prediction tree node position information are encoded.
  • the octree partitioning method is used to divide the node until it is divided into leaf nodes at the voxel level, and the occupancy information of each node in the octree is encoded to form a geometric code stream.
  • the gray nodes in Figure 7 are non-empty nodes.
  • the encoding end indicates that the node is encoded using the prediction tree encoding method through a parameter.
  • the parameter may be a first flag
  • the encoding end indicates that the node is encoded using the prediction tree encoding method by setting the first flag to true, for example, setting the first flag to 1.
  • the decoding end determines that the node is encoded using the prediction tree encoding method by decoding the first flag, and correspondingly, performs geometric decoding on the node using the prediction tree decoding method to obtain the geometric reconstruction values of the points included in the node.
  • the decoding end decodes the geometric code stream of the point cloud, obtains the placeholder information of the nodes in the octree, and reconstructs the octree based on the placeholder information.
  • the decoding end uses the prediction tree decoding method to perform geometric decoding on the node and obtains the geometric reconstruction value of the point included in the node. If it is determined that the node adopts octree coding, the octree is reconstructed on the node based on the placeholder information of the node until the leaf node at the voxel level.
  • these points with the same coordinates are divided into the same leaf node of the octree, so that the leaf node includes repeated points.
  • the encoder when encoding the node of the N-1th layer of the octree (i.e., the second to last layer of the octree), the encoder not only encodes the placeholder information of the node, but also encodes the repeated point information of the non-zero child nodes (i.e., leaf nodes) of the node.
  • the decoder when decoding the node of the N-1th layer of the octree, the decoder not only decodes the placeholder information of the node, but also decodes the repeated point information of the non-zero child nodes of the node. This will increase the complexity of decoding, waste decoding time, and reduce decoding efficiency.
  • the first parameter corresponding to the current node is first determined.
  • the first parameter is used to determine whether at least one non-zero child node (i.e., leaf node) of the current node includes duplicate points, and then based on the first parameter, the current node is decoded.
  • the decoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the decoding complexity of the point cloud, saving decoding time, and improving decoding efficiency.
  • the embodiments of the present application mainly relate to the decoding process of the nodes in the N-1th layer of the point cloud octree.
  • the N-1th layer can also be understood as the second to last layer of the octree of the point cloud.
  • the non-zero child nodes of the non-zero nodes in the N-1th layer are the voxel-level leaf nodes of the octree, that is, the last layer nodes.
  • the decoding process for each non-zero node in the N-1th layer of the octree is basically the same.
  • the decoding process of the embodiment of the present application is introduced by taking the current node in the N-1th layer of the octree as an example.
  • the current node can be understood as any non-zero node in the N-1th layer of the octree, and the non-zero node is also called a non-empty node, or an occupied node.
  • the non-zero node can be understood as a node including at least one non-zero child node, or a node including at least one point in the point cloud.
  • the current node may be understood as a non-zero node in the N-1th layer of the octree that is currently waiting to be decoded.
  • the first parameter corresponding to the current node is first determined, and then the current node is decoded based on the first parameter.
  • the method for determining the first parameter corresponding to the current node is different, and the corresponding method for decoding the current node based on the first parameter is also different. The following is a detailed introduction to several methods for determining the first parameter corresponding to the current node and the process for decoding the current node based on the first parameter involved in the embodiment of the present application.
  • the above S101 includes the following steps S101-A1 to S101-A2:
  • S101-A1 determine the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer;
  • S101-A2 Determine a first parameter based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer.
  • the encoding end encodes the nodes in the octree based on the breadth-first traversal method.
  • the decoding end decodes the nodes in the octree based on the breadth-first traversal method.
  • the first parameter corresponding to the current node is determined based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer of the octree of the point cloud.
  • the first parameter can be understood as the number of points in the current point cloud whose geometric information cannot be determined.
  • the current node is decoded. For example, based on the first parameter, it is determined whether the non-zero child nodes of the current node include duplicate points.
  • the duplicate point information of the non-zero child nodes of the current node is skipped to reduce the decoding complexity of the point cloud, save decoding time, and thus improve decoding efficiency.
  • the embodiment of the present application does not limit the specific method in which the decoding end obtains the total number of points in the point cloud.
  • the encoding end writes the total number of points of the point cloud into the geometric code stream, so that the decoding end obtains the total number of points of the point cloud by decoding the geometric code stream.
  • the encoder writes the total number of points of the point cloud into the geometry brick header (gbh) of the point cloud. In this way, the decoder obtains the total number of points of the point cloud by decoding the geometry brick header of the point cloud.
  • the encoder divides the number of points in the point cloud into the low-order part num_points_lower of the number of points contained in the slice and the high-order part num_points_upper of the number of points contained in the slice, and writes num_points_lower and num_points_upper into the geometry unit header.
  • the decoder decodes the geometry unit header to obtain num_points_lower and num_points_upper, and then adds num_points_upper and um_points_lower to obtain the total number of points in the point cloud.
  • the parameters of the geometry unit head are specifically shown in Table 2:
  • num_points_upper and num_points_lower are used to specify the total number of points in the point cloud.
  • the decoding end obtains the total number of points of the point cloud by decoding num_points_upper and num_points_lower shown in Table 2.
  • num_points_upper an unsigned integer
  • num_points_lower an unsigned integer
  • the decoder determines the total number of points in the point cloud based on the following formula (1):
  • num_points ((num_points_upper ⁇ 16)+num_points_lower) (1)
  • num_points is the total number of points in the point cloud.
  • the embodiment of the present application does not limit the method for determining the number of non-zero nodes in the N-1th layer of the octree of the point cloud.
  • the encoder may write the number of non-zero nodes included in the N-1th layer in the octree into the geometry bitstream. In this way, the decoder may obtain the number of non-zero nodes in the N-1th layer by decoding the geometry bitstream.
  • the encoding end encodes the placeholder information of the nodes of each layer of the octree in a breadth-first traversal manner, for example, based on the non-zero child nodes included in each non-zero node in the N-2th layer, determines the placeholder information of each non-zero node in the N-2th layer, and then writes the placeholder information of each non-zero node in the N-2th layer into the geometry code stream.
  • the decoding end decodes the placeholder information of each non-zero node in the N-2th layer and can determine the number of non-zero nodes included in the N-1th layer.
  • the decoding end can determine the number of non-zero nodes in the N-1 layer based on the placeholder information of the N-2 layer of the octree of the point cloud. For example, if the placeholder information of the N-2 layer is 01010101, it means that the N-1 layer includes 4 nodes, and these 4 nodes are occupied nodes, that is, non-zero nodes.
  • the first parameter corresponding to the current node is determined based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer.
  • the embodiment of the present application does not limit the specific method of determining the first parameter corresponding to the current node based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer.
  • the decoding end determines the difference between the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer as the first parameter.
  • the decoding end determines the difference between the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer as the first parameter.
  • the point cloud includes 10 points
  • the first parameter is determined based on the following formula (4):
  • resPointCount is the first parameter corresponding to the current node
  • num_points is the total number of points in the point cloud
  • nodeCount is the number of nodes included in the N-1th layer of the octree of the point cloud.
  • the N-1th layer of the octree can be expressed as occtree_depth_minus1, that is, the octree depth occtree_depth minus 1, where the octree depth occtree_depth is N.
  • step S102 is executed to decode the current node based on the first parameter.
  • the first parameter corresponding to the current node is determined to be 0, for example, the total number of points in the point cloud is a, and the N-1th layer of the octree of the point cloud includes a nodes
  • the first parameter is determined to be 0, which means that each non-zero node in the N-1th layer includes a non-zero child node, and the non-zero child node includes a point in the point cloud, and no duplicate points are included.
  • the duplicate point information of the non-zero child nodes of each non-zero node is skipped, thereby reducing the decoding complexity and saving decoding time.
  • the above S102 is as shown in the following situation 1.
  • the above S102 includes the following steps S102-A1 to S102-A2:
  • S102-A2 Determine whether to decode the repeated point information of the i-th non-zero child node based on the first parameter and the second parameter.
  • the current node includes at least one non-zero child node.
  • the specific process of determining whether to decode the repeated point information of each non-zero child node included in the current node is the same.
  • the i-th non-zero child node of the current node is taken as an example for explanation.
  • the decoding end determines the first parameter corresponding to the current node based on the above steps S102-A1 to S102-A2.
  • the first parameter can be understood as the number of points in the point cloud whose current position information is not determined.
  • the second parameter corresponding to the i-th non-zero child node of the current node is determined.
  • the second parameter is used to indicate the number of points whose geometric positions in the point cloud have been decoded when decoding the i-th non-zero child node.
  • the embodiment of the present application does not limit the specific method of determining the second parameter corresponding to the current i-th non-zero child node.
  • the decoding end records in real time the number of points whose geometric positions have been decoded in the current point cloud, and then when decoding the current node, determines the number of points determined by the geometric position information that has been determined before decoding the repeated point information of the i-th non-zero child node.
  • determining the second parameter corresponding to the i-th non-zero child node in the above S102-A1 includes the following steps S102-A11 and S102-A12:
  • S102-A11 Determine the number of first decoded points corresponding to the i-th non-zero child node in the point cloud.
  • the decoding end determines the second parameter corresponding to the i-th non-zero subnode by determining the first number of decoded points corresponding to the i-th non-zero subnode in the point cloud and based on the first number of decoded points corresponding to the i-th non-zero subnode in the point cloud. For example, the first number of decoded points corresponding to the i-th non-zero subnode in the point cloud is determined as the second parameter corresponding to the i-th non-zero subnode.
  • the first number of decoded points corresponding to the i-th non-zero child node can be understood as the total number of points currently decoded by the decoding end when determining whether to decode the repeated point information of the i-th non-zero child node of the current node.
  • the decoding end starts a counter during decoding, and the counter is used to record the number of decoded points in real time, so that when decoding the i-th non-zero child node, the first decoded point number corresponding to the i-th non-zero child node can be obtained from the counter.
  • the decoding end when decoding the i-th non-zero child node, determines the number of first decoded points corresponding to the i-th non-zero child node through the following steps:
  • S102-A11-2 Determine the number of first decoded points based on the number of third decoded points.
  • the third decoded point can be understood as a decoded point in the leaf node of the octree.
  • the decoding end determines the number of first decoded points corresponding to the i-th non-zero child node by determining the number of points included in the decoded leaf node before the i-th non-zero child node.
  • the implementation methods for determining the number of the third decoded points corresponding to the i-th non-zero child node in the above S102-A11-1 include but are not limited to the following:
  • Method 1 if the current node is the first non-zero node in the N-1th layer, the above S102-A11-1 includes the following steps S102-A11-1-a1 and S102-A11-1-a2:
  • S102-A11-1-a determine the number of non-zero child nodes of the current node
  • S102-A11-1-a2 Determine the number of third decoded points corresponding to the i-th non-zero child node based on the number of non-zero child nodes of the current node.
  • method 1 if the current node is the first non-zero node in the N-1th layer of the octree, the number of non-zero child nodes included in the current node is determined, and based on the number of non-zero child nodes of the current node, the number of third decoded points corresponding to the i-th non-zero child node is determined.
  • the method of determining the number of non-zero child nodes of the current node includes at least the following examples:
  • Example 1 The encoder writes the number of non-zero child nodes of each non-zero node in the N-1th layer of the octree into the geometry bitstream. In this way, the decoder can obtain the number of non-zero child nodes of each non-zero node in the N-1th layer by decoding the geometry bitstream, and further obtain the number of non-zero child nodes of the current node.
  • Example 2 The encoder writes the placeholder information of each non-zero node in the N-1th layer into the decoded code stream.
  • the encoder determines the placeholder information of the current node based on the occupancy of each non-zero child node of the current node in the N-1th layer. Assuming that among the 8 child nodes of the current node, the 2nd child node, the 4th child node, the 6th child node and the 8th child node are occupied, the placeholder information of the current node is determined to be 01010101, and the placeholder information is written into the geometric code stream. In this way, when the decoder decodes the current node in the N-1th layer, the placeholder information of the current node obtained by decoding is 01010101, and it can be determined that the current node includes 4 non-zero child nodes.
  • the number of third decoded points corresponding to the i-th non-zero child node is determined based on the number of non-zero child nodes of the current node.
  • the methods for determining the number of third decoded points corresponding to the i-th non-zero child node based on the number of non-zero child nodes of the current node in S102-A11-1-a2 include but are not limited to the following:
  • Method 1 If the i-th non-zero child node is the first non-zero child node of the current node, the number of non-zero child nodes included in the current node is reduced by 1 to determine the third number of decoded points corresponding to the i-th non-zero child node.
  • the current node is the first non-zero node in the third layer in FIG8 , and the placeholder information of the current node is 01010101, it can be determined that the current node includes 4 non-zero child nodes.
  • the geometric position information of the 4 non-zero child nodes of the current node can be determined, so the geometric position information of the 4 non-zero child nodes included in the current node has been decoded, that is, the 4 non-zero child nodes included in the current node are decoded points for the first non-zero child node in the current node.
  • Method 2 If the i-th non-zero child node is not the first non-zero child node of the current node, obtain the sum of the first number of repeated points included in the non-zero child nodes of the current node that are located before the i-th non-zero child node; subtract 1 from the number of non-zero child nodes included in the current node, and then add it to the sum of the first number of repeated points to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the decoded non-zero child nodes may include duplicate points. Therefore, when determining the third number of decoded points corresponding to the i-th child node, the number of decoded duplicate points needs to be considered.
  • the current node is the first non-zero node in the N-1th layer, and the i-th non-zero child node of the current node is not the first non-zero child node of the current node, then obtain the sum of the first number of repeated points included in the non-zero child nodes of the current node that are located before the i-th non-zero child node; subtract 1 from the number of non-zero child nodes included in the current node, and then add it to the sum of the first number of repeated points to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the current node is the first non-zero node in the third layer in Figure 8
  • the placeholder information of the current node is 01010101
  • the first child node of the current node includes 1 repeated point
  • the i-th non-zero child node is the second non-zero child node of the current node.
  • the decoding end records the number of the third decoded points corresponding to the i-th non-zero child node in the current node through the following instructions:
  • codedCount is the number of the third decoded points corresponding to the i-th non-zero child node in the current node
  • codedCount is initialized to 0
  • nodeCount is the number of nodes in the N-1th layer of the octree
  • childCount is the number of non-zero child nodes included in the nodes in the N-1th layer
  • dupPointNum is the number of duplicate points included in the non-zero child nodes.
  • Method 2 If the current node is not the first non-zero node in the N-1th layer, the above S102-A11-1 includes the following steps S102-A11-1-b1 to S102-A11-1-b3:
  • S102-A11-1-b1 determine the number of decoded points corresponding to each non-zero node before the current node in the N-1th layer;
  • S102-A11-1-b2 determine the number of non-zero child nodes of the current node
  • the current node is not the first non-zero node in the N-1th layer of the octree, it means that before decoding the current node, at least one non-zero node in the N-1th layer of the octree has been decoded.
  • the number of non-zero child nodes included in each non-zero node before the current node is first determined, and then the number of non-zero child nodes included in each non-zero node is added to obtain a value of 1.
  • the total number of decoded duplicate points corresponding to each non-zero node is determined, and then the value 1 is added to the total number of duplicate points to obtain a value of 2, and the number of non-zero nodes before the current node in the N-1 layer is subtracted from the value 2 to obtain the number of decoded points corresponding to each non-zero node before the current node in the N-1 layer.
  • the decoding end can record the number of non-zero child nodes of each non-zero node in the N-1 layer, and at the same time, separately record the number of decoded duplicate points. Finally, based on the separately recorded number of non-zero child nodes and the number of duplicate points, the number of decoded points corresponding to each non-zero node before the current node in the N-1 layer is determined.
  • the current node is the third non-zero node in the third layer of the octree shown in FIG8 .
  • the first non-zero node and the second non-zero node in the N-1th layer before the third non-zero node have been decoded.
  • the placeholder information of the first non-zero node is 01010101
  • the first non-zero child node of the first non-zero node includes 1 repeated point
  • the placeholder information of the second non-zero node is 01010100.
  • the decoding end obtains the number of non-zero child nodes of a non-zero node and the number of second repeated points included in the non-zero child nodes of the non-zero node for a non-zero node among the non-zero nodes; subtracts 1 from the number of non-zero child nodes of the non-zero node, and adds the sum of the number of second repeated points included in the non-zero child nodes of the non-zero node to obtain the number of decoded points corresponding to the non-zero node.
  • the decoding end determines the number of decoded points corresponding to each non-zero node before the current node in the N-1th layer of the octree in the same manner, that is, the decoding end determines the number of decoded points corresponding to each non-zero node before the current node, and finally sums the number of decoded points corresponding to each non-zero node.
  • the number of decoded points corresponding to each non-zero node located before the current node in the N-1th layer can be determined.
  • the current node is the third non-zero node in the third layer of the octree shown in Figure 8.
  • the first non-zero node and the second non-zero node in the N-1th layer before the third non-zero node have been decoded.
  • the placeholder information of the first non-zero node is 01010101
  • the first non-zero child node of the first non-zero node includes 1 repeated point
  • the placeholder information of the second non-zero node is 01010100.
  • the first non-zero node includes 4 non-zero child nodes
  • the second non-zero node includes 3 non-zero child nodes
  • the number of decoded points corresponding to each non-zero node located before the current node in the N-1th layer is determined, and at the same time, the number of non-zero child nodes of the current node is determined.
  • the method for determining the number of non-zero child nodes of the current node can refer to the description of S102-A11-a1 above, and will not be repeated here.
  • the decoding end determines the third number of decoded points corresponding to the i-th non-zero child node based on the number of decoded points corresponding to each non-zero node before the current node in the N-1th layer and the number of non-zero child nodes of the current node.
  • the embodiment of the present application does not limit the specific implementation method of determining the third number of decoded points corresponding to the i-th non-zero child node in the above S102-A11-b3 based on the number of decoded points corresponding to each non-zero node located before the current node in the N-1th layer and the number of non-zero child nodes of the current node.
  • the above S102-A11-1-b3 includes the following steps S102-A11-1-b31 and S102-A11-1-b32:
  • S102-A11-1-b32 Determine the number of third decoded points corresponding to the i-th non-zero child node based on the first sum and the number of non-zero child nodes of the current node.
  • the decoding end determines the number of decoded points corresponding to each non-zero node located before the current node in the N-1th layer of the octree based on the above method. Then, the decoding end adds the number of decoded points corresponding to each non-zero node located before the current node in the N-1th layer to obtain a first sum value, and determines the third number of decoded points corresponding to the i-th non-zero child node based on the first sum value and the number of non-zero child nodes of the current node, thereby accurately determining the third number of decoded points corresponding to the i-th non-zero child node.
  • the implementation method of determining the number of third decoded points corresponding to the i-th non-zero child node based on the first sum and the number of non-zero child nodes of the current node in the above S102-A11-1-b32 includes at least the following two methods:
  • Method 1 If the i-th non-zero child node is the first non-zero child node of the current node, then add the first sum value to the number of non-zero child nodes included in the current node to obtain the second sum value; subtract 1 from the second sum value to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the geometric position information of each child node of the current node can be determined, so each child node of the current node is determined as a decoded point, and then the first sum value is added to the number of child nodes of the current node to obtain a second sum value.
  • the determined second sum value is subtracted by 1 to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the current node is the second non-zero node in the third layer in FIG8 , and the placeholder information of the current node is 01010100, it can be determined that the current node includes 3 non-zero child nodes.
  • the i-th non-zero child node is the first non-zero child node of the current node
  • the placeholder information of the current node since the placeholder information of the current node is known, the geometric position information of the three non-zero child nodes of the current node can be determined, so the geometric position information of the three non-zero child nodes included in the current node has been decoded.
  • each non-zero node located before the current node in the third layer is the first non-zero node in the third layer.
  • the placeholder information of the first non-zero node is 01010101
  • the first non-zero child node of the first non-zero node includes a repeated point
  • it can be determined that the number of decoded points corresponding to the first non-zero node is 4-1+1, that is, the first sum value is 4.
  • Method 2 If the i-th non-zero child node is not the first non-zero child node of the current node, then add the first sum value to the number of non-zero child nodes included in the current node to obtain a second sum value; subtract 1 from the second sum value to obtain a third sum value; obtain the sum of the first number of repeated points included in the non-zero child nodes before the i-th non-zero child node in the current node, and add the third sum value to the sum of the first number of repeated points to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the geometric position information of each child node of the current node can be determined, so each child node of the current node is determined as a decoded point, and then the first sum value is added to the number of child nodes of the current node to obtain a second sum value.
  • the determined second sum value is subtracted by 1 to obtain a third sum value.
  • the i-th child node is not the first child node of the current node, and the child node before the i-th child node in the current node may include repeated points, it is necessary to obtain the sum of the first number of repeated points included in the non-zero child nodes before the i-th non-zero child node in the current node, and finally add the third sum value to the sum of the first number of repeated points to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the current node is the second non-zero node in the third layer in FIG8, and the placeholder information of the current node is 01010100, it can be determined that the current node includes 3 non-zero child nodes.
  • the i-th non-zero child node is the second non-zero child node of the current node
  • the placeholder information of the current node since the placeholder information of the current node is known, the geometric position information of the three non-zero child nodes of the current node can be determined, so the geometric position information of the three non-zero child nodes included in the current node has been decoded.
  • each non-zero node located before the current node in the third layer is the first non-zero node in the third layer.
  • the placeholder information of the first non-zero node is 01010101
  • the first sum value is 3.
  • the repeated point is recorded as the first repeated point.
  • step S102-A11-2 After determining the third number of decoded points corresponding to the i-th non-zero child node based on the above steps, execute step S102-A11-2 to determine the first number of decoded points based on the third number of decoded points.
  • DCM Direct Coding Model
  • IDCM Inter Direct Coding Model
  • the point cloud when the point cloud adopts IDCM and does not adopt IDCM, it has an impact on the number of first decoded points corresponding to the i-th non-zero child node in the point cloud.
  • the following describes the impact process of the number of first decoded points corresponding to the i-th non-zero child node when the point cloud adopts DCM and does not adopt IDCM.
  • the third number of decoded points corresponding to the i-th non-zero child node is determined as the first number of decoded points corresponding to the i-th non-zero child node.
  • the point cloud does not use IDCM, that is, IDCM is turned off, it means that when encoding the octree, each node in the octree does not use direct encoding. Therefore, when decoding the current node, the octree does not include other first decoded points except the third decoded point corresponding to the i-th non-zero child node determined above.
  • the first decoded point can be understood as a point whose geometric position has been decoded in the leaf node of the octree. At this time, the number of the third decoded points corresponding to the i-th non-zero child node determined above is directly determined as the number of the first decoded points corresponding to the i-th non-zero child node.
  • the point cloud adopts IDCM
  • the number of points included in the second node using IDCM that has been decoded in the octree is determined; the number of points included in the second node using IDCM and the third number of decoded points corresponding to the i-th non-zero child node determined above are added to obtain a new first number of decoded points corresponding to the i-th non-zero child node.
  • the point cloud adopts IDCM, that is, IDCM is turned on, then it means that at least one node in the octree of the point cloud may adopt direct coding to directly encode the geometric information of the points included in the node.
  • the geometric information of the points included in the node is directly decoded.
  • it is necessary to add the number of points included in the decoded node (i.e., the second node) using IDCM in the octree to the number of the third decoded points corresponding to the i-th non-zero child node determined above.
  • the decoding end determines the second parameter corresponding to the i-th non-zero child node through the following instruction:
  • pointCountIDCM represents the number of points included in the decoded node using IDCM in the octree.
  • childCount based on the number of non-zero child nodes included in the current node, childCount, and the number of repeated points decoded before the i-th child node in the current node, dupPointNum, after determining the third number of decoded points codedCount corresponding to the i-th non-zero child node, the number of points pointCountIDCM included in the decoded node using IDCM in the octree is added to codedCount to obtain the first number of decoded points corresponding to the i-th non-zero child node.
  • step S102-A12 After the decoding end determines the number of first decoded points corresponding to the i-th non-zero child node of the current node based on the above step S102-A11, it executes the following step S102-A12.
  • S102-A12. Determine a second parameter corresponding to the ith non-zero child node based on the number of first decoded points corresponding to the ith non-zero child node in the point cloud.
  • the decoding end when decoding the current node, before the decoding end determines whether to decode the repeated point information of the i-th non-zero child node of the current node, it first determines the first number of decoded points corresponding to the i-th non-zero child node based on the above steps, and then determines the second parameter corresponding to the i-th non-zero child node based on the first number of decoded points corresponding to the i-th non-zero child node, so that the second parameter determined in this way can reflect the number of points that have been decoded at the geometric position in the point cloud when decoding the i-th non-zero child node.
  • octree in AVS geometric coding, octree can be used for coding, and octree and prediction tree can be combined for coding.
  • the method of determining the second parameter corresponding to the i-th non-zero subnode based on the number of first decoded points corresponding to the i-th non-zero subnode in the point cloud is different.
  • the specific process of determining the second parameter corresponding to the i-th non-zero subnode when the point cloud adopts prediction tree coding and when the prediction tree coding is not adopted is introduced below.
  • determining the second parameter corresponding to the i-th non-zero sub-node includes at least the following methods:
  • Method 1 The number of first decoded points is determined as the second parameter.
  • the point cloud adopts the prediction tree coding method, that is, the prediction tree coding method is turned off, then, among the decoded points corresponding to the i-th non-zero child node in the point cloud, except for the first decoded point corresponding to the i-th non-zero child node determined in the above embodiment, no other decoded points are included.
  • the number of the first decoded points corresponding to the i-th non-zero child node is determined, and the number of the first decoded points corresponding to the i-th non-zero child node is determined as the second parameter corresponding to the i-th non-zero child node.
  • the above S102-A12 includes the following steps S102-A121 and S102-A122:
  • S102-A122 Determine the sum of the first number of decoded points and the second number of decoded points as a second parameter.
  • the point cloud adopts the prediction tree coding method, that is, the prediction tree coding method is turned on, at this time, it means that there may be at least one node in the octree of the point cloud that adopts the prediction tree coding method, and the points included in the node are encoded using the prediction tree coding method.
  • the prediction tree coding method is adopted for the first node of the third layer in the point cloud octree, for example, the points included in the node are sorted, and the preset prediction tree coding method is adopted to construct a prediction tree for the sorted points, for example, an L3C2 single chain is constructed.
  • each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometric prediction residual is quantized and encoded using the quantization parameter to form a geometric code stream.
  • the decoding end uses the prediction tree decoding method to geometrically decode the node to obtain the geometric reconstruction value of the point included in the node. That is to say, in the embodiment of the present application, since the octree is traversed by the breadth-first principle, the position of the node encoded by the prediction tree in the octree is before the current node, that is, when decoding the current node, the node encoded by the prediction tree has been decoded.
  • the second parameter corresponding to the i-th non-zero child node of the current node it is necessary not only to determine the first number of decoded points corresponding to the above-mentioned i-th non-zero child node, but also to determine the number of decoded points included in the first node encoded by the prediction tree in the octree.
  • the number of decoded points included in the first node encoded by the prediction tree is recorded as the second number of decoded points.
  • the first number of decoded points corresponding to the i-th non-zero child node is added to the second number of decoded points included in the first node encoded by the prediction tree in the octree, and the result of the addition is determined as the second parameter corresponding to the i-th non-zero child node.
  • the decoder determines the second parameter corresponding to the i-th non-zero child node through the following instruction:
  • pointCountPred represents the number of points included in the decoded first node encoded by the prediction tree in the octree, that is, the second number of decoded points.
  • the second number of decoded points pointCountIDCM in the octree is added to codedCount to obtain the second parameter corresponding to the i-th non-zero child node.
  • the implementation of determining whether to decode the repeated point information of the i-th non-zero child node based on the first parameter and the second parameter in S102-A2 includes but is not limited to the following methods:
  • Method 1 If the first parameter is equal to the second parameter, skip decoding the repeated point information of the i-th non-zero child node.
  • the first parameter corresponding to the current node can be understood as the number of points with uncertain geometric position information in the point cloud when decoding the current node, or it can be understood as the number of undecoded points.
  • the second parameter corresponding to the i-th non-zero child node of the current node can be understood as the number of currently decoded points.
  • method 1 if the first parameter corresponding to the determined current node is equal to the second parameter corresponding to the i-th non-zero child node in the current node, it means that the i-th non-zero child node and subsequent undecoded leaf nodes do not include duplicate points. Therefore, the decoding of the duplicate point information of the i-th non-zero child node is skipped to save decoding time.
  • the point cloud includes 10 points
  • the current node is the second non-zero node in the third layer in Figure 8
  • the N-1th layer of the octree where the current node is located includes 4 non-zero nodes
  • the placeholder information of the current node is 01010100
  • the current node includes 3 non-zero child nodes.
  • the i-th non-zero child node is the second non-zero child node of the current node
  • the geometric position information of the three non-zero child nodes of the current node can be determined, so the geometric position information of the three non-zero child nodes included in the current node has been decoded.
  • each non-zero node located before the current node in the third layer is the first non-zero node in the third layer.
  • the point cloud does not use prediction tree encoding
  • the first number of decoded points corresponding to the i-th non-zero child node, 6, is determined as the second parameter corresponding to the i-th non-zero child node.
  • the first parameter 6 corresponding to the current node is equal to the second parameter 6 corresponding to the i-th non-zero child node, and therefore, decoding of the repeated point information of the i-th non-zero child node is skipped.
  • Method 2 if the first parameter is greater than the second parameter and the i-th non-zero child node is the last voxel node of the octree, then the decoding of the duplicate point information of the i-th non-zero child node is skipped, and the difference between the first parameter and the second parameter is determined as the number of duplicate points included in the i-th non-zero child node.
  • the i-th non-zero child node if the first parameter corresponding to the determined current node is equal to the second parameter corresponding to the i-th non-zero child node in the current node, it means that the i-th non-zero child node and subsequent undecoded leaf nodes may include duplicate points.
  • the i-th non-zero child node since the i-th non-zero child node is the last non-zero voxel node of the octree, it means that the i-th non-zero child node must include duplicate points, and the number of duplicate points included in the i-th non-zero child node is the difference between the first parameter and the second parameter.
  • the current node is the fourth non-zero node in the third layer in Figure 8
  • the current node includes 1 non-zero child node.
  • the i-th non-zero child node is the only non-zero child node of the current node, since the placeholder information of the current node is known, the geometric position information of 1 non-zero child node of the current node can be determined, so the geometric position information of 1 non-zero child node included in the current node has been decoded.
  • the non-zero nodes before the current node in the third layer are the first non-zero node, the second non-zero node, and the third non-zero node in the third layer.
  • the first number of decoded points 5 corresponding to the i-th non-zero child node is determined as the second parameter corresponding to the i-th non-zero child node.
  • the repeated point information of the i-th non-zero child node is skipped for decoding, thereby saving decoding time and improving decoding efficiency.
  • Mode 3 If the first parameter is greater than the second parameter and the i-th non-zero child node is not the last voxel node of the octree, the duplicate point information of the i-th non-zero child node is decoded.
  • the duplicate point information of the i-th non-zero child node is decoded.
  • the point cloud includes 10 points
  • the current node is the second non-zero node in the third layer in Figure 8
  • the N-1th layer of the octree where the current node is located includes 4 non-zero nodes
  • the placeholder information of the current node is 01010100
  • the current node includes 3 non-zero child nodes.
  • the i-th non-zero child node is the second non-zero child node of the current node
  • the geometric position information of the three non-zero child nodes of the current node can be determined, so the geometric position information of the three non-zero child nodes included in the current node has been decoded.
  • each non-zero node located before the current node in the third layer is the first non-zero node in the third layer.
  • the point cloud does not use prediction tree encoding
  • the first number of decoded points corresponding to the i-th non-zero child node, 5 is determined as the second parameter corresponding to the i-th non-zero child node.
  • the duplicate point information of the i-th non-zero child node is decoded.
  • the first parameter corresponding to the current node is determined, and the second parameter corresponding to the i-th non-zero child node of the current node is determined. Based on the first parameter and the second parameter, it is determined whether to decode the duplicate point information of the i-th non-zero child node. For example, if the first parameter is equal to the second parameter, the decoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the decoding complexity of the point cloud, saving decoding time, and improving decoding efficiency.
  • the following introduces the process of determining the first parameter corresponding to the current node in situation 2 and performing geometric decoding of the current node based on the first parameter.
  • the above S101 includes the following steps:
  • S101-B2. Determine the total number of decoded repeated points corresponding to the i-th non-zero child node as the first parameter.
  • the number of decoded repeated points corresponding to the i-th non-zero child node is first determined, where the decoded repeated points corresponding to the i-th non-zero child node can be understood as the repeated points that have been decoded by the decoding end before decoding the repeated point information of the i-th non-zero child node.
  • the decoding end uses dupCount to record the number of duplicate points that have been decoded, where dupCount is initialized to 0.
  • the decoding end uses the following instruction to record the number of decoded repeated points:
  • dupPointNum represents the number of duplicate points included in a leaf node of the octree.
  • the decoding end determines the total number of decoded repeated points corresponding to the i-th non-zero child node, and determines the total number of decoded repeated points corresponding to the i-th non-zero child node as the first parameter, and then performs geometric decoding on the current node based on the first parameter.
  • determining the total number of decoded repeated points corresponding to the i-th non-zero child node in the above S101-B1 includes:
  • S101-B12. Determine the total number of decoded repeated points corresponding to the i-th non-zero child node based on the sum of the third number of decoded repeated points.
  • the decoded point is recorded as the third decoding point.
  • the placeholder information of the current node is 010101010
  • the i-th non-zero child node is the third non-zero child node in the current node
  • the total number of decoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of decoded repeated points.
  • the implementation methods of determining the total number of decoded repeated points corresponding to the i-th non-zero child node based on the sum of the third number of decoded repeated points in the above S101-B12 include at least the following two methods:
  • Method 1 If the point cloud adopts the prediction tree encoding method, the sum of the fourth number of decoded repeated points included in the first node in the octree that adopts the prediction tree encoding method is determined; based on the sum of the third number of decoded repeated points and the sum of the fourth number of decoded repeated points, the total number of decoded repeated points corresponding to the i-th non-zero child node is determined.
  • the decoding end completes the node in the octree that adopts the predictive tree coding method before decoding the current node.
  • the sum of the fourth number of decoded repeated points included in the first node in the octree that adopts the predictive tree coding method can be obtained, and then based on the sum of the third number of decoded repeated points and the sum of the fourth number of decoded repeated points, the total number of decoded repeated points corresponding to the i-th non-zero child node is determined.
  • the sum of the third number of decoded duplicate points and the sum of the fourth number of decoded duplicate points are used to determine the total number of decoded duplicate points corresponding to the i-th non-zero child node.
  • the total number of decoded duplicate points corresponding to the i-th non-zero child node is determined based on the sum of the third number of decoded duplicate points and the sum of the fourth number of decoded duplicate points, including: determining the sum of the fifth number of decoded duplicate points included in the second node using IDCM in the octree; and determining the total number of decoded duplicate points corresponding to the i-th non-zero child node by adding the sum of the third number of decoded duplicate points, the sum of the fourth number of decoded duplicate points, and the sum of the fifth number of decoded duplicate points.
  • Method 2 If the point cloud does not adopt the prediction tree encoding method, the total number of decoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of decoded repeated points.
  • the total number of decoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of decoded repeated points.
  • method 2 if the point cloud does not use the prediction tree encoding method and uses the IDCM encoding method, then the sum of the fifth decoded duplicate points included in the second node using IDCM in the octree is determined, and the sum of the fifth decoded duplicate points is added to the sum of the third decoded duplicate points to obtain the total number of decoded duplicate points corresponding to the i-th non-zero child node.
  • the total number of decoded repeated points corresponding to the i-th non-zero child node is determined, the total number of decoded repeated points corresponding to the i-th non-zero child node is determined as the first parameter.
  • the geometric decoding of the current node based on the first parameter in S102 includes the following steps S102-B1 and S102-B2:
  • S102-B2 Determine whether to decode the duplicate point information of the i-th non-zero child node based on the total number of duplicate points in the point cloud and the total number of decoded duplicate points corresponding to the i-th non-zero child node.
  • the decoding end determines whether to decode the repeated point information of the i-th non-zero child node of the current node, based on the above steps, the number of decoded repeated points corresponding to the i-th non-zero child node is determined as the first parameter. Then, the total number of repeated points in the point cloud is determined, and the number of decoded repeated points corresponding to the i-th non-zero child node is compared with the number of repeated points in the point cloud to determine whether the i-th non-zero child node includes repeated points, and then determine whether to decode the repeated point information of the i-th non-zero child node.
  • the methods for determining the total number of repeated points in the point cloud in S102-B1 include but are not limited to the following:
  • the encoder writes the total number of repeated points of the point cloud into the geometry stream, so that the decoder obtains the total number of repeated points of the point cloud by decoding the geometry stream.
  • Method 2 The decoding end determines the total number of points in the point cloud and the total number of non-zero voxel nodes in the octree; the difference between the total number of points in the point cloud and the total number of non-zero voxel nodes in the octree is determined as the total number of repeated points in the point cloud.
  • the voxel-level nodes of the octree can be understood as the leaf nodes of the last voxel level of the octree.
  • the non-zero voxel-level nodes of the octree include at least one point in the point cloud. Therefore, in method 2, the difference between the total number of points in the point cloud and the total number of voxel nodes in the octree is determined as the total number of repeated points in the point cloud.
  • the method for the decoding end to determine the total number of points of the point cloud can refer to the description of the above embodiment, and will not be repeated here.
  • the decoding end determines the number of non-zero voxel nodes in the last layer of the octree through the placeholder information of each non-zero node in the N-1th layer of the octree.
  • the decoding end determines the total number of duplicate points in the point cloud based on the above method 1 or method 2, it determines whether to decode the duplicate point information of the i-th non-zero child node based on the total number of duplicate points in the point cloud and the total number of decoded duplicate points corresponding to the i-th non-zero child node.
  • the total number of decoded duplicate points corresponding to the i-th non-zero child node is equal to the total number of duplicate points in the point cloud, it means that the duplicate points in the point cloud have been decoded, and the i-th non-zero child node and the leaf nodes after the i-th non-zero child node do not include duplicate points. Therefore, the decoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the decoding complexity of the point cloud, saving decoding time, and improving decoding efficiency.
  • the i-th non-zero child node includes duplicate points.
  • decoding the duplicate point information of the i-th non-zero child node is skipped, and the difference between the total number of duplicate points in the point cloud and the total number of decoded duplicate points corresponding to the i-th non-zero child node is determined as the number of duplicate points included in the i-th non-zero child node.
  • the decoding end decodes the duplicate point information of the i-th non-zero child node.
  • the decoding end determines the first parameter corresponding to the current node in the octree-based point cloud decoding based on the above situation 1 and situation 2, and decodes the current node based on the first parameter.
  • the point cloud decoding method provided by the embodiment of the present application, in point cloud decoding, for example, in point cloud decoding based on AVS, when decoding the current node of the N-1th layer in the octree, first determine the first parameter corresponding to the current node, the first parameter is used to determine whether at least one non-zero child node of the current node includes duplicate points, the current node is a non-zero node of the N-1th layer in the octree of the point cloud, N is the total number of layers of the octree, and then based on the first parameter, the current node is geometrically decoded.
  • the decoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the decoding complexity of the point cloud, saving decoding time, and improving decoding efficiency.
  • the above takes the decoding end as an example to introduce in detail the point cloud decoding method provided in the embodiment of the present application.
  • the following takes the encoding end as an example to introduce the point cloud encoding method provided in the embodiment of the present application.
  • Fig. 9 is a schematic diagram of a point cloud coding method according to an embodiment of the present application.
  • the point cloud coding method according to the embodiment of the present application can be implemented by the point cloud coding device shown in Fig. 3 or Fig. 4 above.
  • the point cloud encoding method of the embodiment of the present application includes:
  • the first parameter is used to determine whether at least one non-zero child node of the current node includes duplicate points.
  • the current node is a non-zero node in the N-1th layer of the octree of the point cloud.
  • the octree is obtained based on node division of the point cloud.
  • N is the total number of layers of the octree, and N is a positive integer greater than 1.
  • the point cloud coding method proposed in the embodiment of the present application can be applied to a variety of point cloud coding scenarios.
  • the above octree is obtained by dividing the point cloud into nodes based on the AVS method.
  • the point cloud of the embodiment of the present application can be understood as a point cloud block or point cloud slice that can be encoded individually.
  • the point cloud in the embodiment of the present application is the entire point cloud sequence that has not been divided.
  • the point cloud of the embodiment of the present application can be understood as a point cloud slice in at least one slice into which the entire point cloud sequence is divided.
  • the point cloud includes geometric information and attribute information
  • the encoding of the point cloud includes geometric encoding and attribute encoding.
  • the embodiments of the present application relate to geometric encoding of point clouds. That is, the encoded points involved in the embodiments of the present application refer to points in the point cloud whose geometric information has been encoded, and the unencoded points refer to points in the point cloud whose geometric information has not been encoded.
  • the geometric information of the point cloud is also referred to as the position information of the point cloud, and therefore, the geometric encoding of the point cloud is also referred to as the position encoding of the point cloud.
  • the encoding end constructs the octree structure of the point cloud based on the octree coding method. For example, as shown in Figure 6, the point cloud is surrounded by the smallest cuboid, and the bounding box is first divided into octrees to obtain 8 nodes. The occupied nodes among these 8 nodes, that is, the nodes including the points, continue to be divided into octrees, and so on, until they are divided into voxel-level positions, for example, into 1X1X1 cubes.
  • the point cloud octree structure obtained by such division includes multiple layers of nodes, for example, including N layers.
  • the placeholder information of each layer is encoded layer by layer until the voxel-level leaf nodes of the last layer are encoded. That is to say, in octree coding, the point cloud is divided through the octree, and finally the points in the point cloud are divided into the voxel-level leaf nodes of the octree.
  • the encoding of the point cloud is realized.
  • the coding end can use prediction tree coding while using octree coding, that is, the prediction tree coding algorithm is turned off.
  • the octree is first used to perform octree division on the bounding box of the point cloud, and the division is divided to a preset depth. For example, after division to 3 layers, for each non-zero node obtained by the division, it is determined whether the node is encoded by prediction tree or octree. If it is determined that the node is encoded by prediction tree, the prediction tree coding method is used to perform prediction tree coding on the geometric information of the points included in the node.
  • the points included in the node are sorted, and the preset prediction tree coding method is used to construct a prediction tree for the sorted points, such as constructing an L3C2 single chain. Then, based on the structure of the prediction tree, each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometric prediction residual is quantized using the quantization parameter. Finally, through continuous iteration, the prediction residual, prediction tree structure and quantization parameter of the prediction tree node position information are encoded.
  • the octree division method is used to divide the node until it is divided into leaf nodes at the voxel level, and the placeholder information of each node in the octree is encoded to form a geometric code stream.
  • the encoding end indicates that the node is encoded using the prediction tree encoding method through a parameter.
  • the parameter may be a first flag
  • the encoding end indicates that the node is encoded using the prediction tree encoding method by setting the first flag to true, for example, setting the first flag to 1.
  • the decoding end determines that the node is encoded using the prediction tree encoding method by decoding the first flag, and correspondingly, performs geometric decoding on the node using the prediction tree decoding method to obtain the geometric reconstruction values of the points included in the node.
  • these points with the same coordinates are divided into the same leaf node of the octree, so that the leaf node includes repeated points.
  • the encoder when encoding the node of the N-1th layer of the octree, the encoder not only encodes the placeholder information of the node, but also encodes the repeated point information of the child nodes (i.e., leaf nodes) of the node.
  • the encoder when encoding the node of the N-1th layer of the octree, the encoder not only encodes the placeholder information of the node, but also encodes the repeated point information of the child nodes of the node. This will increase the complexity of encoding, waste encoding time, and reduce encoding efficiency.
  • the first parameter corresponding to the current node is first determined.
  • the first parameter is used to determine whether at least one child node (i.e., leaf node) of the current node includes duplicate points, and then based on the first parameter, the current node is encoded.
  • the encoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the encoding complexity of the point cloud, saving encoding time, and improving encoding efficiency.
  • the embodiments of the present application mainly relate to the encoding process of the nodes in the N-1th layer of the point cloud octree.
  • the N-1th layer can also be understood as the second to last layer of the octree of the point cloud.
  • the child nodes of the N-1th layer of the node are the voxel-level leaf nodes of the octree, that is, the last layer of nodes.
  • the encoding process for each node in the N-1th layer of the octree is basically the same.
  • the encoding process of the embodiment of the present application is introduced by taking the current node in the N-1th layer of the octree as an example.
  • the current node can be understood as any non-zero node (also called a non-empty node) in the N-1th layer of the octree, where the non-zero node can be understood as a node including at least one child node, or a node including at least one point in the point cloud.
  • non-zero node also called a non-empty node
  • the non-zero node can be understood as a node including at least one child node, or a node including at least one point in the point cloud.
  • the current node may be understood as a non-zero node in the N-1th layer of the octree that is currently waiting to be encoded.
  • the first parameter corresponding to the current node is first determined, and then the current node is encoded based on the first parameter.
  • the method of determining the first parameter corresponding to the current node is different, and the corresponding method of encoding the current node based on the first parameter is also different. The following is a detailed introduction to several methods of determining the first parameter corresponding to the current node and the process of encoding the current node based on the first parameter involved in the embodiment of the present application.
  • the above S201 includes the following steps S201-A1 to S201-A2:
  • S201-A1 determine the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer;
  • S201-A2 Determine a first parameter based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer.
  • the encoding end encodes the nodes in the octree based on a breadth-first traversal method.
  • the first parameter corresponding to the current node is determined based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer of the octree of the point cloud.
  • the first parameter can be understood as the number of points whose geometric information cannot be determined in the current point cloud.
  • the current node is encoded. For example, based on the first parameter, it is determined whether the child nodes of the current node include duplicate points.
  • the duplicate point information of the child nodes of the current node is skipped to reduce the encoding complexity of the point cloud, save encoding time, and thus improve encoding efficiency.
  • the encoding end writes the total number of points of the point cloud into the geometric code stream, so that the decoding end obtains the total number of points of the point cloud by decoding the geometric code stream.
  • the encoder writes the total number of points of the point cloud into the geometry brick header (gbh) of the point cloud. In this way, the decoder obtains the total number of points of the point cloud by decoding the geometry brick header (gbh) of the point cloud.
  • the encoding end divides the number of points of the point cloud into the low-order part num_points_lower of the points contained in the slice and the high-order part num_points_upper of the points contained in the slice when encoding the total number of points in the point cloud, and writes num_points_lower and num_points_upper into the geometry unit header.
  • the parameters of the geometry unit head are specifically as shown in Table 2 above.
  • the encoder encodes the placeholder information of the nodes at each layer of the octree in a breadth-first traversal manner. For example, based on the child nodes included in each node in the N-2th layer, the placeholder information of each node in the N-2th layer is determined, and then the placeholder information of each node in the N-2th layer is written into the geometry stream. In this way, the decoder decodes the placeholder information of each node in the N-2th layer and can determine the number of nodes included in the N-1th layer.
  • the encoder determines the first parameter corresponding to the current node based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer.
  • the embodiment of the present application does not limit the specific method of determining the first parameter corresponding to the current node based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer.
  • the encoding end determines the difference between the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer as the first parameter.
  • the occupied nodes include at least one non-zero child node, that is, the occupied nodes in the N-1th layer correspond to at least one point. Therefore, the difference between the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer of the octree is determined as the number of points with uncertain geometric information in the point cloud, that is, the first parameter.
  • the point cloud includes 10 points
  • the first parameter is determined based on the above formula (4).
  • the above step S202 is performed to encode the current node based on the first parameter.
  • the first parameter corresponding to the current node is determined to be 0, for example, the total number of points in the point cloud is a, and the N-1th layer of the octree of the point cloud includes a nodes
  • the first parameter is determined to be 0, which means that each non-zero node in the N-1th layer includes a non-zero child node, and the non-zero child node includes a point in the point cloud, and no duplicate points are included.
  • the encoding of the duplicate point information of the non-zero child nodes of each non-zero node is skipped, thereby reducing the encoding complexity and saving encoding time.
  • the above S202 is as shown in the following situation 1.
  • the above S202 includes the following steps S202-A1 to S202-A2:
  • S202-A2 Determine whether to encode the repeated point information of the i-th non-zero child node based on the first parameter and the second parameter.
  • the current node includes at least one non-zero child node.
  • the specific process of determining whether to encode the repeated point information of each non-zero child node included in the current node is the same.
  • the i-th non-zero child node of the current node is taken as an example for explanation.
  • the encoding end determines the first parameter corresponding to the current node based on the above steps S202-A1 to S202-A2.
  • the first parameter can be understood as the number of points whose current position information is not determined in the point cloud.
  • the second parameter corresponding to the i-th non-zero child node of the current node is determined.
  • the second parameter is used to indicate the number of points whose geometric positions in the point cloud have been encoded when encoding the i-th non-zero child node.
  • the embodiment of the present application does not limit the specific method of determining the second parameter corresponding to the current i-th non-zero child node.
  • the encoding end records in real time the number of points whose geometric positions have been encoded in the current point cloud, and then, when encoding the current node, determines the number of points determined by the geometric position information that has been determined before encoding the repeated point information of the i-th non-zero child node.
  • determining the second parameter corresponding to the i-th non-zero child node in the above S202-A1 includes the following steps S202-A11 and S202-A12:
  • S202-A11 Determine the number of first encoded points corresponding to the i-th non-zero child node in the point cloud.
  • the encoder determines the number of first encoded points corresponding to the i-th non-zero child node in the point cloud, and determines the second parameter corresponding to the i-th non-zero child node based on the number of first encoded points corresponding to the i-th non-zero child node in the point cloud. For example, the number of first encoded points corresponding to the i-th non-zero child node in the point cloud is determined as the second parameter corresponding to the i-th non-zero child node.
  • the number of first encoded points corresponding to the i-th non-zero child node can be understood as the total number of points currently encoded by the encoding end when determining whether to encode repeated point information of the i-th non-zero child node of the current node.
  • the encoding end starts a counter during encoding, and the counter is used to record the number of encoded points in real time, so that when encoding the i-th non-zero child node, the first number of encoded points corresponding to the i-th non-zero child node can be obtained from the counter.
  • the encoder determines the number of first encoded points corresponding to the i-th non-zero child node through the following steps:
  • S202-A11-1 Determine the number of first encoded points based on the number of third encoded points.
  • the third encoded point can be understood as an encoded point in the leaf node of the octree.
  • the encoder determines the number of first encoded points corresponding to the i-th non-zero child node by determining the number of points included in the encoded leaf node before the i-th non-zero child node.
  • the implementation methods of determining the number of third encoded points corresponding to the i-th non-zero child node in the above S202-A11-1 include but are not limited to the following:
  • Method 1 if the current node is the first non-zero node in the N-1th layer, the above S202-A11-1 includes the following steps S202-A11-1-a1 and S202-A11-1-a2:
  • S202-A11-1-a1 determine the number of non-zero child nodes of the current node
  • the number of non-zero child nodes included in the current node is determined, and based on the number of non-zero child nodes of the current node, the number of third encoded points corresponding to the i-th non-zero child node is determined.
  • the encoding end determines the placeholder information of the current node based on the occupancy of each child node of the current node in the N-1th layer. Assuming that among the 8 child nodes of the current node, the 2nd child node, the 4th child node, the 6th child node and the 8th child node are occupied, the placeholder information of the current node is determined to be 01010101. In this way, it can be determined that the current node includes 4 non-zero child nodes.
  • the encoder After determining the number of non-zero child nodes of the current node, the encoder determines the number of third encoded points corresponding to the i-th non-zero child node based on the number of non-zero child nodes of the current node.
  • the manner of determining the number of third encoded points corresponding to the i-th non-zero child node based on the number of non-zero child nodes of the current node in S202-A11-a2 includes but is not limited to the following:
  • Method 1 If the i-th non-zero child node is the first non-zero child node of the current node, the number of non-zero child nodes included in the current node is reduced by 1 to determine the third number of encoded points corresponding to the i-th non-zero child node.
  • the current node is the first non-zero node in the third layer in FIG8 , and the placeholder information of the current node is 01010101, it can be determined that the current node includes 4 non-zero child nodes.
  • the geometric position information of the 4 non-zero child nodes of the current node can be determined, so the geometric position information of the 4 non-zero child nodes included in the current node has been encoded, that is, the 4 non-zero child nodes included in the current node are encoded points for the first non-zero child node in the current node.
  • Method 2 If the i-th non-zero child node is not the first non-zero child node of the current node, obtain the sum of the first number of repeated points included in the non-zero child nodes of the current node that are located before the i-th non-zero child node; subtract 1 from the number of non-zero child nodes included in the current node, and then add it to the sum of the first number of repeated points to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • the encoded non-zero child nodes may include repeated points. Therefore, when determining the third number of encoded points corresponding to the i-th child node, the number of encoded repeated points needs to be considered.
  • the current node is the first non-zero node in the N-1th layer, and the i-th non-zero child node of the current node is not the first non-zero child node of the current node, then obtain the sum of the first number of repeated points included in the non-zero child nodes of the current node that are located before the i-th non-zero child node; subtract 1 from the number of non-zero child nodes included in the current node, and then add it to the sum of the first number of repeated points to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • the current node is the first non-zero node in the third layer in Figure 8
  • the placeholder information of the current node is 01010101
  • the first child node of the current node includes 1 repeated point
  • the i-th non-zero child node is the second non-zero child node of the current node.
  • Method 2 If the current node is not the first non-zero node in the N-1th layer, the above S202-A11-1 includes the following steps S202-A11-1-b1 to S202-A11-1-b3:
  • S202-A11-1-b1 determine the number of encoded points corresponding to each non-zero node before the current node in the N-1th layer;
  • S202-A11-1-b2 determine the number of non-zero child nodes of the current node
  • the current node is not the first non-zero node in the N-1th layer of the octree, it means that before encoding the current node, at least one non-zero node in the N-1th layer of the octree has been encoded.
  • the number of non-zero child nodes included in each non-zero node before the current node is first determined, and then the number of non-zero child nodes included in each non-zero node is added to obtain a value of 1.
  • the total number of encoded repeated points corresponding to each non-zero node is determined, and then the value 1 is added to the total number of repeated points to obtain a value of 2, and the number of non-zero nodes before the current node in the N-1th layer is subtracted from the value 2 to obtain the number of encoded points corresponding to each non-zero node before the current node in the N-1th layer.
  • the encoding end can record the number of non-zero child nodes of each non-zero node in the N-1th layer, and at the same time, separately record the number of encoded repeated points. Finally, based on the separately recorded number of non-zero child nodes and the number of repeated points, the number of encoded points corresponding to each non-zero node before the current node in the N-1th layer is determined.
  • the current node is the third non-zero node in the third layer of the octree shown in FIG8 .
  • the first non-zero node and the second non-zero node in the N-1th layer before the third non-zero node have been encoded.
  • the placeholder information of the first non-zero node is 01010101
  • the first non-zero child node of the first non-zero node includes 1 repeated point
  • the placeholder information of the second non-zero node is 01010100.
  • the encoding end obtains the number of non-zero child nodes of a non-zero node and the number of second repeated points included in the non-zero child nodes of the non-zero node for a non-zero node among the non-zero nodes; subtracts 1 from the number of non-zero child nodes of the non-zero node, and then adds the sum of the number of second repeated points included in the non-zero child nodes of the non-zero node to obtain the number of encoded points corresponding to the non-zero node.
  • the encoding end determines the number of encoded points corresponding to each non-zero node before the current node in the N-1th layer of the octree in the same manner, that is, the encoding end determines the number of encoded points corresponding to each non-zero node before the current node, and finally sums the number of encoded points corresponding to each non-zero node.
  • the number of non-zero child nodes included in the non-zero node based on the placeholder information of the non-zero node, subtract 1 from the number of non-zero child nodes of the non-zero node, and obtain the value a.
  • determine the sum of the number of second repeated points included in the non-zero child nodes of the non-zero node and record it as the value b.
  • add the value a and the value b to obtain the number of encoded points corresponding to the non-zero node.
  • the number of encoded points corresponding to each non-zero node located before the current node in the N-1th layer can be determined.
  • the current node is the third non-zero node in the third layer of the octree shown in Figure 8.
  • the first non-zero node and the second non-zero node in the N-1th layer before the third non-zero node have been encoded.
  • the placeholder information of the first non-zero node is 01010101
  • the first non-zero child node of the first non-zero node includes 1 repeated point
  • the placeholder information of the second non-zero node is 01010100.
  • the first non-zero node includes 4 non-zero child nodes
  • the second non-zero node includes 3 non-zero child nodes
  • the number of encoded points corresponding to each non-zero node located before the current node in the N-1th layer is determined, and at the same time, the number of non-zero child nodes of the current node is determined.
  • the method for determining the number of non-zero child nodes of the current node can refer to the description of S202-A11-a1 above, and will not be repeated here.
  • the encoder determines the third number of encoded points corresponding to the i-th non-zero child node based on the number of encoded points corresponding to each non-zero node before the current node in the N-1th layer and the number of non-zero child nodes of the current node.
  • the embodiment of the present application does not limit the specific implementation method of determining the third number of encoded points corresponding to the i-th non-zero child node in the above S202-A11-1-b3 based on the number of encoded points corresponding to each non-zero node located before the current node in the N-1th layer and the number of non-zero child nodes of the current node.
  • the above S202-A11-b3 includes the following steps S202-A11-1-b31 and S202-A11-1-b32:
  • S202-A11-1-b32 Determine the number of third encoded points corresponding to the i-th non-zero child node based on the first sum and the number of non-zero child nodes of the current node.
  • the encoding end determines the number of encoded points corresponding to each non-zero node located before the current node in the N-1th layer of the octree based on the above method. Then, the encoding end adds the number of encoded points corresponding to each non-zero node located before the current node in the N-1th layer to obtain a first sum value, and determines the third number of encoded points corresponding to the i-th non-zero child node based on the first sum value and the number of non-zero child nodes of the current node, thereby accurately determining the third number of encoded points corresponding to the i-th non-zero child node.
  • the implementation method of determining the first number of encoded points corresponding to the i-th non-zero child node based on the first sum value and the number of non-zero child nodes of the current node in the above S202-A11-1-b32 includes at least the following two methods:
  • Method 1 If the i-th non-zero child node is the first non-zero child node of the current node, then add the first sum value to the number of non-zero child nodes included in the current node to obtain the second sum value; subtract 1 from the second sum value to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • the current node is not the first non-zero node in the N-1th layer, and the i-th non-zero child node of the current node is the first non-zero child node of the current node, then based on the above steps, the number of encoded points of each encoded non-zero node located before the current node in the N-1th layer is added to obtain a first sum value.
  • the placeholder information of the current node since the placeholder information of the current node has been encoded, the geometric position information of each child node of the current node can be determined, so each child node of the current node is determined as an encoded point, and then the first sum value is added to the number of child nodes of the current node to obtain a second sum value.
  • the determined second sum value is subtracted by 1 to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • Method 2 If the i-th non-zero child node is not the first non-zero child node of the current node, then add the first sum value to the number of non-zero child nodes included in the current node to obtain a second sum value; subtract 1 from the second sum value to obtain a third sum value; obtain the sum of the first number of repeated points included in the non-zero child nodes before the i-th non-zero child node in the current node, and add the third sum value to the sum of the first number of repeated points to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • the current node is not the first non-zero node in the N-1th layer, and the i-th non-zero child node of the current node is not the first non-zero child node of the current node, then based on the above steps, the number of encoded points of each encoded non-zero node before the current node in the N-1th layer is added to obtain a first sum.
  • the placeholder information of the current node since the placeholder information of the current node has been encoded, the geometric position information of each child node of the current node can be determined, so each child node of the current node is determined as an encoded point, and then the first sum is added to the number of child nodes of the current node to obtain a second sum.
  • the determined second sum is subtracted by 1 to obtain a third sum.
  • the i-th child node is not the first child node of the current node, and the child node before the i-th child node in the current node may include repeated points, it is necessary to obtain the sum of the first number of repeated points included in the non-zero child nodes before the i-th non-zero child node in the current node, and finally add the third sum value to the sum of the first number of repeated points to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • step S202-A11-2 After determining the third number of decoded points corresponding to the i-th non-zero child node based on the above steps, execute step S202-A11-2 to determine the first number of decoded points based on the third number of decoded points.
  • directly compressing its coordinates is more efficient than using an octree method to compress.
  • This process of directly encoding the coordinates of a point in a node is called a direct coding model (DCM). Whether the current node uses DCM can be inferred based on the information of neighboring nodes. This method is called an inferred direct coding model (IDCM).
  • DCM direct coding model
  • the number of first encoded points corresponding to the i-th non-zero child node in the point cloud is affected.
  • the following describes the process of affecting the number of first encoded points corresponding to the i-th non-zero child node when the point cloud adopts DCM and does not adopt IDCM.
  • the third number of encoded points corresponding to the i-th non-zero child node is determined as the first number of encoded points corresponding to the i-th non-zero child node.
  • the point cloud does not use IDCM, that is, IDCM is turned off, it means that when encoding the octree, each node in the octree does not use direct encoding. Therefore, when encoding the current node, the octree does not include other first encoded points except the third encoded point corresponding to the i-th non-zero child node determined above.
  • the first encoded point can be understood as a point whose geometric position has been encoded in the leaf node of the octree. At this time, the number of the third encoded points corresponding to the i-th non-zero child node determined above is directly determined as the number of the first encoded points corresponding to the i-th non-zero child node.
  • the point cloud adopts IDCM
  • the number of points included in the second node encoded using IDCM in the octree is determined; the number of points included in the second node using IDCM and the third number of encoded points corresponding to the i-th non-zero child node determined above are added to obtain a new first number of encoded points corresponding to the i-th non-zero child node.
  • the point cloud adopts IDCM, that is, IDCM is turned on, then it means that at least one node in the octree of the point cloud may adopt direct coding to directly encode the geometric information of the points included in the node.
  • the geometric information of the points included in the node is directly encoded.
  • the encoder After the encoder determines the number of first encoded points corresponding to the i-th non-zero child node of the current node based on the above step S202-A11, it executes the following step S202-A12.
  • S202-A12. Determine a second parameter corresponding to the ith non-zero child node based on the number of first encoded points corresponding to the ith non-zero child node in the point cloud.
  • the encoding end when encoding the current node, first determines the number of first encoded points corresponding to the i-th non-zero child node based on the above steps before determining whether to encode the repeated point information of the i-th non-zero child node of the current node, and then determines the second parameter corresponding to the i-th non-zero child node based on the first number of encoded points corresponding to the i-th non-zero child node, so that the second parameter determined in this way can reflect the number of points encoded at the geometric position in the point cloud when encoding the i-th non-zero child node.
  • octree in AVS geometric coding, octree can be used for coding, and octree and prediction tree can be combined for coding.
  • the method of determining the second parameter corresponding to the i-th non-zero child node based on the number of first encoded points corresponding to the i-th non-zero child node in the point cloud is different.
  • the following introduces the specific process of determining the second parameter corresponding to the i-th non-zero child node when the point cloud adopts prediction tree coding and when the prediction tree coding is not adopted.
  • determining the second parameter corresponding to the i-th non-zero child node includes at least the following methods:
  • Method 1 The number of first encoded points is determined as the second parameter.
  • the point cloud adopts the prediction tree coding method, that is, the prediction tree coding method is turned off, then, among the encoded points corresponding to the i-th non-zero child node in the point cloud, except for the first encoded point corresponding to the i-th non-zero child node determined in the above embodiment, no other encoded points are included.
  • the number of first encoded points corresponding to the i-th non-zero child node is determined, and the number of first encoded points corresponding to the i-th non-zero child node is determined as the second parameter corresponding to the i-th non-zero child node.
  • the above S202-A12 includes the following steps S202-A121 and S202-A122:
  • S202-A122 Determine the sum of the first number of encoded points and the second number of encoded points as the second parameter.
  • the point cloud adopts the prediction tree coding method, that is, the prediction tree coding method is turned on, at this time, it means that there may be at least one node in the octree of the point cloud that adopts the prediction tree coding method, and the points included in the node are encoded using the prediction tree coding method.
  • the prediction tree coding method is adopted for the first node of the third layer in the point cloud octree, for example, the points included in the node are sorted, and the preset prediction tree coding method is adopted to construct a prediction tree for the sorted points, for example, an L3C2 single chain is constructed.
  • each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometric prediction residual is quantized and encoded using the quantization parameter to form a geometric code stream.
  • the encoding end uses the prediction tree encoding method to geometrically encode the node to obtain the geometric reconstruction value of the point included in the node. That is to say, in the embodiment of the present application, since the octree is traversed by the breadth-first principle, the position of the node encoded by the prediction tree in the octree is before the current node, that is, when encoding the current node, the node encoded by the prediction tree has been encoded.
  • the second parameter corresponding to the i-th non-zero child node of the current node it is necessary not only to determine the first number of encoded points corresponding to the above-mentioned i-th non-zero child node, but also to determine the number of encoded points included in the first node encoded by the prediction tree in the octree.
  • the number of encoded points included in the first node encoded by the prediction tree is recorded as the second number of encoded points.
  • the first number of encoded points corresponding to the i-th non-zero child node is added to the second number of encoded points included in the first node encoded by the prediction tree in the octree, and the result of the addition is determined as the second parameter corresponding to the i-th non-zero child node.
  • the implementation of determining whether to encode the repeated point information of the i-th non-zero child node based on the first parameter and the second parameter in S202-A2 includes but is not limited to the following methods:
  • Method 1 If the first parameter is equal to the second parameter, skip decoding the repeated point information of the i-th non-zero child node.
  • the first parameter corresponding to the current node can be understood as the number of points with uncertain geometric position information in the point cloud when encoding the current node, or can be understood as the number of unencoded points.
  • the second parameter corresponding to the i-th non-zero child node of the current node can be understood as the number of currently encoded points.
  • method 1 if the first parameter corresponding to the determined current node is equal to the second parameter corresponding to the i-th non-zero child node in the current node, it means that the i-th non-zero child node and subsequent uncoded leaf nodes do not include duplicate points. Therefore, the encoding of the duplicate point information of the i-th non-zero child node is skipped to save encoding time.
  • the point cloud includes 10 points
  • the current node is the second non-zero node in the third layer in Figure 8
  • the N-1th layer of the octree where the current node is located includes 4 non-zero nodes
  • the placeholder information of the current node is 01010100
  • the current node includes 3 non-zero child nodes.
  • the i-th non-zero child node is the second non-zero child node of the current node
  • the geometric position information of the three non-zero child nodes of the current node can be determined, so the geometric position information of the three non-zero child nodes included in the current node has been encoded.
  • each non-zero node located before the current node in the third layer is the first non-zero node in the third layer.
  • the point cloud does not use prediction tree encoding
  • the first number of encoded points corresponding to the i-th non-zero child node, 6, is determined as the second parameter corresponding to the i-th non-zero child node.
  • the first parameter 6 corresponding to the current node is equal to the second parameter 6 corresponding to the i-th non-zero child node, and therefore, the encoding of the repeated point information of the i-th non-zero child node is skipped.
  • Method 2 if the first parameter is greater than the second parameter and the i-th non-zero child node is the last voxel node of the octree, then the encoding of the duplicate point information of the i-th non-zero child node is skipped, and the difference between the first parameter and the second parameter is determined as the number of duplicate points included in the i-th non-zero child node.
  • the i-th non-zero child node if the first parameter corresponding to the determined current node is equal to the second parameter corresponding to the i-th non-zero child node in the current node, it means that the i-th non-zero child node and subsequent unencoded leaf nodes may include duplicate points.
  • the i-th non-zero child node since the i-th non-zero child node is the last non-zero voxel node of the octree, it means that the i-th non-zero child node must include duplicate points, and the number of duplicate points included in the i-th non-zero child node is the difference between the first parameter and the second parameter.
  • the current node is the fourth non-zero node in the third layer in Figure 8
  • the current node includes 1 non-zero child node.
  • the i-th non-zero child node is the only non-zero child node of the current node, since the placeholder information of the current node is known, the geometric position information of 1 non-zero child node of the current node can be determined, so the geometric position information of 1 non-zero child node included in the current node has been encoded.
  • the non-zero nodes before the current node in the third layer are the first non-zero node, the second non-zero node, and the third non-zero node in the third layer.
  • the non-zero child nodes of the first three non-zero nodes do not include duplicate points.
  • the number of first encoded points 5 corresponding to the i-th non-zero child node is determined as the second parameter corresponding to the i-th non-zero child node.
  • Mode 3 If the first parameter is greater than the second parameter and the i-th non-zero child node is not the last voxel node of the octree, the duplicate point information of the i-th non-zero child node is encoded.
  • the duplicate point information of the i-th non-zero child node is encoded.
  • the point cloud includes 10 points
  • the current node is the second non-zero node in the third layer in Figure 8
  • the N-1th layer of the octree where the current node is located includes 4 non-zero nodes
  • the placeholder information of the current node is 01010100
  • the current node includes 3 non-zero child nodes.
  • the i-th non-zero child node is the second non-zero child node of the current node
  • the geometric position information of the three non-zero child nodes of the current node can be determined, so the geometric position information of the three non-zero child nodes included in the current node has been encoded.
  • each non-zero node located before the current node in the third layer is the first non-zero node in the third layer.
  • the point cloud does not use prediction tree encoding
  • the first number of encoded points corresponding to the i-th non-zero child node, 5 is determined as the second parameter corresponding to the i-th non-zero child node.
  • the duplicate point information of the i-th non-zero child node is encoded.
  • the first parameter corresponding to the current node is determined, and the second parameter corresponding to the i-th non-zero child node of the current node is determined. Based on the first parameter and the second parameter, it is determined whether to encode the repeated point information of the i-th non-zero child node. For example, if the first parameter is equal to the second parameter, the repeated point information of the i-th non-zero child node is skipped, thereby reducing the encoding complexity of the point cloud, saving encoding time, and improving the encoding efficiency.
  • the following introduces the process of determining the first parameter corresponding to the current node in situation 2 and the geometric encoding process of the current node based on the first parameter.
  • the above S201 includes the following steps:
  • the number of encoded repeated points corresponding to the i-th non-zero child node is first determined, where the encoded repeated points corresponding to the i-th non-zero child node can be understood as the repeated points that have been encoded by the encoding end before encoding the repeated point information of the i-th non-zero child node.
  • the encoder uses dupCount to record the number of repeated points that have been encoded, where dupCount is initialized to 0.
  • the encoding end determines the total number of encoded repeated points corresponding to the i-th non-zero child node, and determines the total number of encoded repeated points corresponding to the i-th non-zero child node as the first parameter, and then performs geometric encoding on the current node based on the first parameter.
  • determining the total number of encoded repeated points corresponding to the i-th non-zero child node in S201-B1 includes:
  • S201-B12. Determine the total number of encoded repeated points corresponding to the i-th non-zero child node based on the sum of the third number of encoded repeated points.
  • the encoded point is recorded as the third encoded point.
  • the placeholder information of the current node is 010101010
  • the i-th non-zero child node is the third non-zero child node in the current node
  • one of the two non-zero child nodes includes two repeated points and the other non-zero child node includes one repeated point
  • the total number of encoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of encoded repeated points.
  • the implementation methods of determining the total number of encoded repeated points corresponding to the i-th non-zero child node based on the sum of the third number of encoded repeated points in the above S201-B12 include at least the following two methods:
  • Method 1 If the point cloud adopts the prediction tree coding method, the sum of the fourth number of encoded repeated points included in the first node in the octree using the prediction tree coding method is determined; based on the sum of the third number of encoded repeated points and the sum of the fourth number of encoded repeated points, the total number of encoded repeated points corresponding to the i-th non-zero child node is determined.
  • the encoder completes the node in the octree that adopts the predictive tree coding before encoding the current node.
  • the sum of the fourth number of encoded repeated points included in the first node in the octree that adopts the predictive tree coding method can be obtained, and then based on the sum of the third number of encoded repeated points and the sum of the fourth number of encoded repeated points, the total number of encoded repeated points corresponding to the i-th non-zero child node is determined.
  • the sum of the third number of encoded duplicate points and the sum of the fourth number of encoded duplicate points are used to determine the total number of encoded duplicate points corresponding to the i-th non-zero child node.
  • the total number of encoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of encoded repeated points and the sum of the fourth number of encoded repeated points, including: determining the sum of the fifth number of encoded repeated points included in the second node using IDCM in the octree; adding the sum of the third number of encoded repeated points, the sum of the fourth number of encoded repeated points, and the sum of the fifth number of encoded repeated points to obtain the total number of encoded repeated points corresponding to the i-th non-zero child node.
  • Method 2 If the point cloud does not adopt the prediction tree encoding method, the total number of encoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of encoded repeated points.
  • the total number of encoded repeated points corresponding to the i-th non-zero child node is determined based on the sum of the third number of encoded repeated points.
  • method 2 if the point cloud does not adopt the prediction tree encoding method and adopts the IDCM encoding method, then the sum of the fifth number of encoded repeated points included in the second node using IDCM in the octree is determined, and the sum of the fifth number of encoded repeated points is added to the sum of the third number of encoded repeated points to obtain the total number of encoded repeated points corresponding to the i-th non-zero child node.
  • the total number of encoded repeated points corresponding to the i-th non-zero child node is determined, the total number of encoded repeated points corresponding to the i-th non-zero child node is determined as the first parameter.
  • the geometric encoding of the current node based on the first parameter in S202 includes the following steps S202-B1 and S202-B2:
  • S202-B2 Determine whether to encode the duplicate point information of the i-th non-zero child node based on the total number of duplicate points in the point cloud and the total number of encoded duplicate points corresponding to the i-th non-zero child node.
  • the encoder determines whether to encode the repeated point information of the i-th non-zero child node of the current node, based on the above steps, the number of encoded repeated points corresponding to the i-th non-zero child node is determined as the first parameter. Then, the total number of repeated points in the point cloud is determined, and the number of encoded repeated points corresponding to the i-th non-zero child node is compared with the number of repeated points in the point cloud to determine whether the i-th non-zero child node includes repeated points, and then determine whether to encode the repeated point information of the i-th non-zero child node.
  • the encoder determines the number of non-zero voxel nodes in the last layer of the octree through the placeholder information of each non-zero node in the N-1th layer of the octree.
  • the encoding end determines the total number of duplicate points in the point cloud based on the above method 1 or method 2, it determines whether to encode the duplicate point information of the i-th non-zero child node based on the total number of duplicate points in the point cloud and the total number of encoded duplicate points corresponding to the i-th non-zero child node.
  • the total number of encoded duplicate points corresponding to the i-th non-zero child node is equal to the total number of duplicate points in the point cloud, it means that the duplicate points in the point cloud have been encoded, and at this time, the i-th non-zero child node and the leaf nodes after the i-th non-zero child node do not include duplicate points. Therefore, the encoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the encoding complexity of the point cloud, saving encoding time, and improving encoding efficiency.
  • the i-th non-zero child node includes duplicate points.
  • the encoding of the duplicate point information of the i-th non-zero child node is skipped, and the difference between the total number of duplicate points in the point cloud and the total number of encoded duplicate points corresponding to the i-th non-zero child node is determined as the number of duplicate points included in the i-th non-zero child node.
  • the encoding end encodes the duplicate point information of the i-th non-zero child node.
  • the encoding end determines the first parameter corresponding to the current node in the octree-based point cloud encoding based on the above situation 1 and situation 2, and encodes the current node based on the first parameter.
  • the point cloud geometry encoding method provided by the embodiment of the present application, in point cloud encoding, for example, in point cloud encoding based on AVS, when encoding the current node of the N-1th layer in the octree, first determine the first parameter corresponding to the current node, the first parameter is used to determine whether at least one non-zero child node of the current node includes duplicate points, the current node is a non-zero node of the N-1th layer in the octree of the point cloud, N is the total number of layers of the octree, and then based on the first parameter, the current node is geometrically encoded.
  • the encoding of the duplicate point information of the i-th non-zero child node is skipped, thereby reducing the encoding complexity of the point cloud, saving encoding time, and thus improving encoding efficiency.
  • FIGS. 6 to 9 are merely examples of the present application and should not be construed as limiting the present application.
  • the size of the sequence number of each process does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
  • the term "and/or” is merely a description of the association relationship of associated objects, indicating that three relationships may exist. Specifically, A and/or B can represent: A exists alone, A and B exist at the same time, and B exists alone.
  • the character "/" in this article generally indicates that the objects associated before and after are in an "or" relationship.
  • FIG. 10 is a schematic block diagram of a point cloud decoding device provided in an embodiment of the present application.
  • the point cloud decoding device 10 may include:
  • a determination unit 11 is used to determine a first parameter corresponding to a current node, where the first parameter is used to determine whether at least one non-zero child node of the current node includes a duplicate point, where the current node is a non-zero node in the N-1th layer of an octree of the point cloud, where the octree is obtained by node division of the point cloud, where N is a total number of layers of the octree, and where N is a positive integer greater than 1;
  • the decoding unit 12 is used to perform geometric decoding on the current node based on the first parameter.
  • the determination unit 11 is specifically used to determine the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer; based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer, the first parameter is determined.
  • the determination unit 11 is specifically configured to determine the difference between the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer as the first parameter.
  • the decoding unit 12 is specifically used to determine, for the i-th non-zero child node of the current node, a second parameter corresponding to the i-th non-zero child node, wherein the second parameter is used to indicate the number of points whose geometric positions in the point cloud have been decoded when decoding the i-th non-zero child node, and i is a positive integer; based on the first parameter and the second parameter, determine whether to decode the duplicate point information of the i-th non-zero child node.
  • the decoding unit 12 is specifically used to determine the first number of decoded points corresponding to the i-th non-zero subnode in the point cloud; based on the first number of decoded points corresponding to the i-th non-zero subnode in the point cloud, determine the second parameter corresponding to the i-th non-zero subnode.
  • the decoding unit 12 is specifically used to determine the first number of decoded points as the second parameter.
  • the decoding unit 12 is specifically used to determine the number of second decoded points included in the first node in the octree that adopts the prediction tree encoding method; and the sum of the first number of decoded points and the second number of decoded points is determined as the second parameter.
  • the decoding unit 12 is specifically configured to determine the third number of decoded points corresponding to the i-th non-zero child node; and determine the first number of decoded points based on the third number of decoded points.
  • the decoding unit 12 is specifically used to determine the number of non-zero child nodes of the current node if the current node is the first non-zero node in the N-1th layer; based on the number of non-zero child nodes of the current node, determine the number of third decoded points corresponding to the i-th non-zero child node.
  • the decoding unit 12 is specifically used to determine the number of decoded points corresponding to the i-th non-zero child node as the value obtained by subtracting 1 from the number of non-zero child nodes included in the current node if the i-th non-zero child node is the first non-zero child node of the current node.
  • the decoding unit 12 is specifically used to obtain the sum of the first number of repeated points included in the non-zero child nodes of the current node that are located before the i-th non-zero child node if the i-th non-zero child node is not the first non-zero child node of the current node; subtract 1 from the number of non-zero child nodes included in the current node, and then add the result to the sum of the first number of repeated points to obtain the third number of decoded points.
  • the decoding unit 12 is specifically used to determine the number of decoded points corresponding to each non-zero node in the N-1 layer before the current node if the current node is not the first non-zero node in the N-1 layer; determine the number of non-zero child nodes of the current node; and determine the third number of decoded points corresponding to the i-th non-zero child node based on the number of decoded points corresponding to each non-zero node in the N-1 layer before the current node and the number of non-zero child nodes of the current node.
  • the decoding unit 12 is specifically used to obtain, for any non-zero node among the non-zero nodes, the number of non-zero child nodes of the non-zero node and the sum of the second number of repeated points included in the non-zero child nodes of the non-zero node; subtract 1 from the number of non-zero child nodes of the non-zero node, and add the result to the sum of the second number of repeated points to obtain the number of decoded points corresponding to the non-zero node.
  • the decoding unit 12 is specifically used to add the number of decoded points corresponding to each non-zero node in the N-1th layer that is located before the current node to obtain a first sum; based on the first sum and the number of non-zero child nodes of the current node, determine the third number of decoded points corresponding to the i-th non-zero child node.
  • the decoding unit 12 is specifically used to add the first sum value and the number of non-zero child nodes included in the current node to obtain a second sum value if the i-th non-zero child node is the first non-zero child node of the current node; and subtract 1 from the second sum value to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the decoding unit 12 is specifically used to add the first sum value and the number of non-zero child nodes included in the current node to obtain a second sum value if the i-th non-zero child node is not the first non-zero child node of the current node; subtract 1 from the second sum value to obtain a third sum value; obtain the sum of the first number of repeated points included in the non-zero child nodes in the current node that are located before the i-th non-zero child node, and add the third sum value to the sum of the first number of repeated points to obtain the third number of decoded points corresponding to the i-th non-zero child node.
  • the decoding unit 12 is specifically configured to determine the third number of decoded points as the first number of decoded points.
  • the decoding unit 12 is specifically used to determine the number of points included in the second node of the octree adopting IDCM; and the sum of the third number of decoded points and the number of points included in the second node is determined as the first number of decoded points.
  • the decoding unit 12 is specifically configured to skip decoding the repeated point information of the i-th non-zero child node if the first parameter is equal to the second parameter.
  • the decoding unit 12 is specifically used to skip decoding the repeated point information of the i-th non-zero child node if the first parameter is greater than the second parameter and the i-th non-zero child node is the last voxel node of the octree, and determine the difference between the first parameter and the second parameter as the number of repeated points included in the i-th non-zero child node.
  • the decoding unit 12 is specifically used to decode the duplicate point information of the i-th non-zero child node if the first parameter is greater than the second parameter and the i-th non-zero child node is not the last voxel node of the octree.
  • the determination unit 11 is specifically used to determine the total number of decoded repeated points corresponding to the i-th non-zero child node in the current node, where i is a positive integer; and determine the total number of decoded repeated points corresponding to the i-th non-zero child node as the first parameter.
  • the determination unit 11 is specifically used to determine the sum of the third number of decoded repeated points included in each non-zero child node located before the i-th non-zero child node in the octree; based on the sum of the third number of decoded repeated points, determine the total number of decoded repeated points corresponding to the i-th non-zero child node.
  • the determination unit 11 is specifically used to determine the sum of the fourth number of decoded repeated points included in the first node in the octree that adopts the prediction tree encoding method; based on the sum of the third number of decoded repeated points and the sum of the fourth number of decoded repeated points, determine the total number of decoded repeated points corresponding to the i-th non-zero child node.
  • the determination unit 11 is specifically used to determine the sum of the fifth number of decoded repeated points included in the second node using IDCM in the octree; the sum of the third number of decoded repeated points, the sum of the fourth number of decoded repeated points, and the sum of the fifth number of decoded repeated points are added to obtain the total number of decoded repeated points corresponding to the i-th non-zero child node.
  • the decoding unit 12 is specifically used to determine the total number of repeated points in the point cloud; based on the total number of repeated points in the point cloud and the total number of decoded repeated points corresponding to the i-th non-zero child node, determine whether to decode the repeated point information of the i-th non-zero child node.
  • the decoding unit 12 is specifically used to determine the total number of points in the point cloud and the total number of non-zero voxel nodes in the octree; and the difference between the total number of points in the point cloud and the total number of non-zero voxel nodes in the octree is determined as the total number of repeated points in the point cloud.
  • the decoding unit 12 is specifically configured to skip decoding the repeated point information of the i-th non-zero child node if the total number of decoded repeated points corresponding to the i-th non-zero child node is equal to the total number of repeated points of the point cloud.
  • the decoding unit 12 is specifically used to skip decoding the duplicate point information of the i-th non-zero child node if the total number of decoded duplicate points corresponding to the i-th non-zero child node is less than the total number of duplicate points of the point cloud, and the i-th non-zero child node is the last voxel node of the octree, and determine the difference between the total number of duplicate points of the point cloud and the total number of decoded duplicate points corresponding to the i-th non-zero child node as the number of duplicate points included in the i-th non-zero child node.
  • the decoding unit 12 is specifically used to decode the duplicate point information of the i-th non-zero child node if the total number of decoded duplicate points corresponding to the i-th non-zero child node is less than the total number of duplicate points of the point cloud, and the i-th non-zero child node is not the last voxel node of the octree.
  • the repeated point information includes the number of repeated points.
  • the decoding unit 12 is specifically configured to decode the geometric code stream of the point cloud to obtain the total number of points of the point cloud.
  • the decoding unit 12 is specifically configured to decode a geometric unit header of the point cloud to obtain a total number of points of the point cloud.
  • the decoding unit 12 is specifically used to decode the geometric unit header to obtain the low-order part of the number of points contained in the slice corresponding to the point cloud and the high-order part of the number of points contained in the slice; based on the low-order part of the number of points contained in the slice and the high-order part of the number of points contained in the slice, the total number of points in the point cloud is obtained.
  • the decoding unit 12 is specifically used to decode the geometric code stream of the point cloud to obtain the placeholder information of the current node; based on the placeholder information, obtain the number of non-zero child nodes included in the current node.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, no further description is given here.
  • the point cloud decoding device 10 shown in FIG. 10 may correspond to the corresponding subject in the point cloud decoding method of the embodiment of the present application, and the aforementioned and other operations and/or functions of each unit in the point cloud decoding device 10 are respectively for implementing the corresponding processes in the point cloud decoding method, and for the sake of brevity, no further description is given here.
  • FIG. 11 is a schematic block diagram of a point cloud encoding device provided in an embodiment of the present application.
  • the point cloud encoding device 20 includes:
  • a determination unit 21 is used to determine a first parameter corresponding to a current node, where the first parameter is used to determine whether at least one non-zero child node of the current node includes a duplicate point, where the current node is a non-zero node in the N-1th layer of the octree of the point cloud, where the octree is obtained by node division of the point cloud, where N is the total number of layers of the octree, and where N is a positive integer greater than 1;
  • the encoding unit 22 is used to perform geometric encoding on the current node based on the first parameter.
  • the determination unit 21 is specifically used to determine the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer; based on the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer, determine the first parameter.
  • the determination unit 21 is specifically configured to determine the difference between the total number of points in the point cloud and the number of non-zero nodes in the N-1th layer as the first parameter.
  • the encoding unit 22 is specifically used to determine, for the i-th non-zero child node of the current node, a second parameter corresponding to the i-th non-zero child node, wherein the second parameter is used to indicate the number of points whose geometric positions in the point cloud have been encoded when encoding the i-th non-zero child node; based on the first parameter and the second parameter, determine whether to encode the repeated point information of the i-th non-zero child node.
  • the encoding unit 22 is specifically used to determine the number of first encoded points corresponding to the i-th non-zero child node in the point cloud as the second parameter.
  • the encoding unit 22 is specifically used to obtain the second number of encoded points included in the first encoding unit using the prediction tree encoding in the encoding unit of the point cloud, and the encoding unit is a non-zero node obtained by dividing the bounding box of the point cloud by a preset number of times; the sum of the first number of encoded points and the second number of encoded points is determined as the second parameter.
  • the encoding unit 22 is specifically configured to determine the number of third encoded points corresponding to the i-th non-zero child node; and determine the number of first encoded points based on the third number of encoded points.
  • the encoding unit 22 is specifically used to determine the number of non-zero child nodes of the current node if the current node is the first non-zero node in the N-1th layer; based on the number of non-zero child nodes of the current node, determine the number of third encoded points corresponding to the i-th non-zero child node.
  • the encoding unit 22 is specifically used to, if the i-th non-zero child node is the first non-zero child node of the current node, reduce the number of non-zero child nodes included in the current node by 1, and determine the third number of encoded points corresponding to the i-th non-zero child node.
  • the encoding unit 22 is specifically used to obtain the sum of the first number of repeated points included in the child nodes before the i-th non-zero child node in the current node if the i-th non-zero child node is not the first non-zero child node of the current node; subtract 1 from the number of non-zero child nodes included in the current node, and then add the result to the sum of the first number of repeated points to obtain the third number of encoded points corresponding to the i-th non-zero child node.
  • the encoding unit 22 is specifically used to determine the number of encoded points corresponding to each non-zero node in the N-1 layer before the current node if the current node is not the first non-zero node in the N-1 layer; determine the number of non-zero child nodes of the current node; and determine the third number of encoded points based on the number of encoded points corresponding to each non-zero node in the N-1 layer before the current node and the number of non-zero child nodes of the current node.
  • the encoding unit 22 is specifically used to obtain, for any non-zero node among the non-zero nodes, the number of non-zero child nodes of the non-zero node and the sum of the second number of repeated points included in the non-zero child nodes of the non-zero node; subtract 1 from the number of non-zero child nodes of the non-zero node, and add the result to the sum of the second number of repeated points to obtain the number of encoded points corresponding to the non-zero node.
  • the encoding unit 22 is specifically used to add the number of encoded points corresponding to each non-zero node in the N-1th layer that is located before the current node to obtain a first sum; and determine the third number of encoded points based on the first sum and the number of non-zero child nodes of the current node.
  • the encoding unit 22 is specifically used to add the first sum value and the number of non-zero child nodes included in the current node to obtain a second sum value if the i-th non-zero child node is the first non-zero child node of the current node; and subtract 1 from the second sum value to obtain the third number of encoded points.
  • the encoding unit 22 is specifically used to add the first sum value and the number of non-zero child nodes included in the current node to obtain a second sum value if the i-th non-zero child node is not the first non-zero child node of the current node; subtract 1 from the second sum value to obtain a third sum value; obtain the sum of the first number of repeated points included in the non-zero child nodes in the current node that are located before the i-th non-zero child node, and add the third sum value to the sum of the first number of repeated points to obtain the third number of encoded points.
  • the encoding unit 22 is specifically configured to determine the third number of encoded points as the first number of encoded points.
  • the encoding unit 22 is specifically used to determine the number of points included in the second node of the octree adopting IDCM; the sum of the number of encoded points corresponding to the i-th non-zero child node and the number of points included in the second node is determined as the first number of encoded points.
  • the encoding unit 22 is specifically configured to skip encoding repeated point information of the i-th non-zero child node if the first parameter is equal to the second parameter.
  • the encoding unit 22 is specifically used to skip encoding the repeated point information of the i-th non-zero child node if the first parameter is greater than the second parameter and the i-th non-zero child node is the last voxel node of the octree, and determine the difference between the first parameter and the second parameter as the number of repeated points included in the i-th non-zero child node.
  • the encoding unit 22 is specifically used to encode the duplicate point information of the i-th non-zero child node if the first parameter is greater than the second parameter and the i-th non-zero child node is not the last voxel node of the octree.
  • the determination unit 21 is specifically used to determine the total number of encoded repeated points corresponding to the i-th non-zero child node in the current node, where i is a positive integer; and determine the total number of encoded repeated points corresponding to the i-th non-zero child node as the first parameter.
  • the determination unit 21 is specifically used to determine the sum of the third number of encoded repeated points included in each non-zero child node located before the i-th non-zero child node in the octree; based on the sum of the third number of encoded repeated points, determine the total number of encoded repeated points corresponding to the i-th non-zero child node.
  • the determination unit 21 is specifically used to determine the sum of the fourth number of encoded repeated points included in the first node in the octree that adopts the prediction tree encoding method; based on the sum of the third number of encoded repeated points and the sum of the fourth number of encoded repeated points, determine the total number of encoded repeated points corresponding to the i-th non-zero child node.
  • the determination unit 21 is specifically used to determine the sum of the fifth number of encoded repeated points included in the second node using IDCM in the octree; the sum of the third number of encoded repeated points, the sum of the fourth number of encoded repeated points, and the sum of the fifth number of encoded repeated points are added to obtain the total number of encoded repeated points corresponding to the i-th non-zero child node.
  • the encoding unit 22 is specifically used to determine the total number of repeated points in the point cloud; based on the total number of repeated points in the point cloud and the total number of encoded repeated points corresponding to the i-th non-zero child node, determine whether to encode the repeated point information of the i-th non-zero child node.
  • the encoding unit 22 is specifically used to determine the total number of points in the point cloud and the total number of non-zero voxel nodes in the octree; and the difference between the total number of points in the point cloud and the total number of non-zero voxel nodes in the octree is determined as the total number of repeated points in the point cloud.
  • the encoding unit 22 is specifically configured to skip encoding the repeated point information of the i-th non-zero child node if the total number of encoded repeated points corresponding to the i-th non-zero child node is equal to the total number of repeated points of the point cloud.
  • the encoding unit 22 is specifically used to skip encoding the duplicate point information of the i-th non-zero child node if the total number of encoded duplicate points corresponding to the i-th non-zero child node is less than the total number of duplicate points of the point cloud, and the i-th non-zero child node is the last voxel node of the octree, and determine the difference between the total number of duplicate points of the point cloud and the total number of encoded duplicate points corresponding to the i-th non-zero child node as the number of duplicate points included in the i-th non-zero child node.
  • the encoding unit 22 is specifically used to encode the duplicate point information of the i-th non-zero child node if the total number of encoded duplicate points corresponding to the i-th non-zero child node is less than the total number of duplicate points of the point cloud, and the i-th non-zero child node is not the last voxel node of the octree.
  • the repeated point information includes the number of repeated points.
  • the encoding unit 22 is further configured to write the total number of points of the point cloud into the geometric code stream of the point cloud.
  • the encoding unit 22 is specifically configured to write the total number of points of the point cloud into a geometric unit header of the point cloud.
  • the encoding unit 22 is specifically used to determine the low-order part of the number of points contained in the slice corresponding to the point cloud and the high-order part of the number of points contained in the slice based on the total number of points in the point cloud; and write the low-order part of the number of points contained in the slice and the high-order part of the number of points contained in the slice into the header of the geometric unit.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, it will not be repeated here.
  • the point cloud encoding device 20 shown in Figure 11 may correspond to the corresponding subject in the point cloud encoding method of the embodiment of the present application, and the aforementioned and other operations and/or functions of each unit in the point cloud encoding device 20 are respectively for implementing the corresponding processes in the point cloud encoding method. For the sake of brevity, they will not be repeated here.
  • the functional unit can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software units.
  • the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and/or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software units in the decoding processor to perform.
  • the software unit can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
  • FIG. 12 is a schematic block diagram of an electronic device provided in an embodiment of the present application.
  • the electronic device 30 may be a point cloud decoding device or a point cloud encoding device as described in an embodiment of the present application, and the electronic device 30 may include:
  • the memory 33 and the processor 32, the memory 33 is used to store the computer program 34 and transmit the program code 34 to the processor 32.
  • the processor 32 can call and run the computer program 34 from the memory 33 to implement the method in the embodiment of the present application.
  • the processor 32 may be configured to execute the steps in the method 200 according to the instructions in the computer program 34 .
  • the processor 32 may include but is not limited to:
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • the memory 33 includes but is not limited to:
  • Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory.
  • the volatile memory can be random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link DRAM
  • Direct Rambus RAM Direct Rambus RAM, DR RAM
  • the computer program 34 may be divided into one or more units, which are stored in the memory 33 and executed by the processor 32 to complete the method provided by the present application.
  • the one or more units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program 34 in the electronic device 30.
  • the electronic device 30 may further include:
  • the transceiver 33 may be connected to the processor 32 or the memory 33 .
  • the processor 32 may control the transceiver 33 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices.
  • the transceiver 33 may include a transmitter and a receiver.
  • the transceiver 33 may further include an antenna, and the number of antennas may be one or more.
  • bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.
  • FIG. 13 is a schematic block diagram of a point cloud encoding and decoding system provided in an embodiment of the present application.
  • the point cloud encoding and decoding system 40 may include: a point cloud encoder 41 and a point cloud decoder 42, wherein the point cloud encoder 41 is used to execute the point cloud encoding method involved in the embodiment of the present application, and the point cloud decoder 42 is used to execute the point cloud decoding method involved in the embodiment of the present application.
  • the present application also provides a code stream, which is generated according to the above encoding method.
  • the present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment.
  • the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode.
  • the computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated.
  • the available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.
  • a magnetic medium e.g., a floppy disk, a hard disk, a tape
  • an optical medium e.g., a digital video disc (digital video disc, DVD)
  • a semiconductor medium e.g., a solid state drive (solid state disk, SSD)
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the unit is only a logical function division.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

La présente demande concerne un procédé et un appareil de codage de nuage de points, un procédé et un appareil de décodage de nuage de points, un dispositif, et un support de stockage. Le procédé comprend : dans un décodage de nuage de points, par exemple, dans un décodage de nuage de points basé sur AVS, lorsque le nœud courant d'une (N-1)ième couche dans un arbre octaire est décodé, d'abord, la détermination d'un premier paramètre correspondant au nœud courant, le premier paramètre étant utilisé pour déterminer si au moins un sous-nœud non nul du nœud courant comprend un point répété, le nœud courant étant un nœud non nul de la (N-1)ième couche dans l'arbre octaire d'un nuage de points, et N étant le nombre total de couches de l'arbre octaire; puis la réalisation d'un décodage géométrique sur le nœud courant sur la base du premier paramètre. Par exemple, lorsqu'il est déterminé, sur la base d'un premier paramètre, qu'un ième sous-nœud non nul du nœud courant ne comprend pas de point répété, le décodage d'informations de point répété du ième sous-nœud non nul est omis de façon à réduire la complexité de décodage d'un nuage de points, à économiser le temps de décodage et à améliorer ainsi l'efficacité de décodage.
PCT/CN2022/122117 2022-09-28 2022-09-28 Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage WO2024065272A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/122117 WO2024065272A1 (fr) 2022-09-28 2022-09-28 Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/122117 WO2024065272A1 (fr) 2022-09-28 2022-09-28 Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage

Publications (1)

Publication Number Publication Date
WO2024065272A1 true WO2024065272A1 (fr) 2024-04-04

Family

ID=90475235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/122117 WO2024065272A1 (fr) 2022-09-28 2022-09-28 Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage

Country Status (1)

Country Link
WO (1) WO2024065272A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112997498A (zh) * 2018-11-13 2021-06-18 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US20210218994A1 (en) * 2020-01-09 2021-07-15 Apple Inc. Geometry Encoding of Duplicate Points
WO2021196392A1 (fr) * 2020-03-30 2021-10-07 鹏城实验室 Procédé de codage, procédé de décodage, appareil de codage et appareil de décodage de géométrie de nuage de points

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112997498A (zh) * 2018-11-13 2021-06-18 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US20210218994A1 (en) * 2020-01-09 2021-07-15 Apple Inc. Geometry Encoding of Duplicate Points
WO2021196392A1 (fr) * 2020-03-30 2021-10-07 鹏城实验室 Procédé de codage, procédé de décodage, appareil de codage et appareil de décodage de géométrie de nuage de points

Similar Documents

Publication Publication Date Title
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
KR20220164700A (ko) 지오메트리 기반 포인트 클라우드 압축을 위한 트라이수프 신택스 시그널링
WO2022133753A1 (fr) Procédés et systèmes de codage et de décodage de nuage de points, codeur de nuage de points et décodeur de nuage de points
US20230377208A1 (en) Geometry coordinate scaling for ai-based dynamic point cloud coding
WO2024065272A1 (fr) Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage
WO2024065269A1 (fr) Procédé et appareil de codage et de décodage de nuage de points, dispositif, et support de stockage
WO2024065271A1 (fr) Procédé et appareil de codage/décodage de nuage de points, et dispositif et support d'enregistrement
WO2024065270A1 (fr) Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositifs, et support de stockage
WO2022188582A1 (fr) Procédé et appareil de sélection d'un point voisin dans un nuage de points, et codec
WO2023024840A1 (fr) Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage
WO2022257145A1 (fr) Procédé et appareil de prédiction d'attributs de nuage de points, et codec
WO2022257150A1 (fr) Procédés et appareil de codage et de décodage de nuage de points, codec de nuage de points et support de stockage
WO2023024842A1 (fr) Procédé, appareil et dispositif de codage/décodage de nuage de points, et support de stockage
WO2023197337A1 (fr) Procédé et appareil de détermination d'indice, décodeur et codeur
WO2022140937A1 (fr) Procédé et système de codage de nuage de points, procédé et système de décodage de nuage de points, codeur de nuage de points et décodeur de nuage de points
US20240087174A1 (en) Coding and decoding point cloud attribute information
WO2024065406A1 (fr) Procédés de codage et de décodage, train de bits, codeur, décodeur et support de stockage
WO2023197338A1 (fr) Procédé et appareil de détermination d'indice, décodeur et codeur
WO2024103304A1 (fr) Procédé d'encodage de nuage de points, procédé de décodage de nuage de points, encodeur, décodeur, flux de code, et support de stockage
WO2023240455A1 (fr) Procédé et appareil de codage de nuage de points, dispositif de codage, et support de stockage
WO2023240662A1 (fr) Procédé de codage, procédé de décodage, codeur, décodeur, et support de stockage
US20230082456A1 (en) Point cloud attribute prediction method and apparatus, and related device
WO2024011381A1 (fr) Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif et support de stockage
WO2023123284A1 (fr) Procédé de décodage, procédé de codage, décodeur, codeur et support de stockage
WO2024082152A1 (fr) Procédés et appareils de codage et de décodage, codeur et décodeur, flux de code, dispositif et support de stockage

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

Country of ref document: EP

Kind code of ref document: A1