[go: up one dir, main page]

WO2025039125A1 - Encoding method, decoding method, encoder, decoder, and storage medium - Google Patents

Encoding method, decoding method, encoder, decoder, and storage medium Download PDF

Info

Publication number
WO2025039125A1
WO2025039125A1 PCT/CN2023/113839 CN2023113839W WO2025039125A1 WO 2025039125 A1 WO2025039125 A1 WO 2025039125A1 CN 2023113839 W CN2023113839 W CN 2023113839W WO 2025039125 A1 WO2025039125 A1 WO 2025039125A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
attribute
information
current point
point
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/CN2023/113839
Other languages
French (fr)
Chinese (zh)
Inventor
孙泽星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to PCT/CN2023/113839 priority Critical patent/WO2025039125A1/en
Publication of WO2025039125A1 publication Critical patent/WO2025039125A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding

Definitions

  • the present application relates to the technical field of point cloud encoding and decoding, and in particular to an encoding and decoding method, a codec and a storage medium.
  • the encoding end will sort the attribute information of the duplicate points (in ascending order). If the duplicate points have multiple attribute information, the related technology will sort the multiple attribute information of the duplicate points separately, which may cause the attribute coding to be lossy.
  • the embodiments of the present application provide a coding method, a codec and a storage medium, which are helpful to reduce the loss of attribute coding and improve coding performance.
  • a coding method which is applied to an encoder, and the method comprises: determining a set of repeated points of a point cloud to be encoded; wherein the repeated points in the set of repeated points include multiple attribute information; and sorting the repeated points in the set of repeated points according to the multiple attribute information.
  • a decoding method which is applied to a decoder, and the method includes: parsing a bit stream to determine a value of a first parameter; if the value of the first parameter is a first value, performing a repeated point decoding operation; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.
  • a coding method which is applied to an encoder, and the method includes: determining whether to perform a repeated point coding operation; determining a value of a first parameter according to a determination result; encoding the value of the first parameter, and writing the obtained coded bits into a bit stream; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point coding operation is performed, and the second value is used to indicate that the repeated point coding operation is not performed.
  • an encoder comprising: a determination unit configured to determine a set of repeated points in a point cloud to be encoded; wherein the repeated points in the set of repeated points include multiple attribute information; and a sorting unit configured to sort the repeated points in the set of repeated points according to the multiple attribute information.
  • an encoder comprising: a memory for storing a computer program; and a processor for executing the method described in the first aspect when running the computer program.
  • a decoder comprising: a first decoding unit, configured to parse a bitstream and determine a value of a first parameter; a second decoding unit, configured to perform a repeated point decoding operation if the value of the first parameter is a first value; wherein the value of the first parameter comprises a first value and a second value, the first value being used to indicate that the repeated point decoding operation is to be performed, and the second value being used to indicate that the repeated point decoding operation is not to be performed.
  • a decoder comprising: a memory for storing a computer program; and a processor for executing the method described in the second aspect when running the computer program.
  • an encoder comprising: a determination unit, configured to determine whether to perform a repeated point coding operation, and determine a value of a first parameter based on a determination result; an encoding unit, configured to encode the value of the first parameter, and write the obtained coded bits into a bit stream; wherein the value of the first parameter comprises a first value and a second value, the first value is used to indicate that the repeated point coding operation is performed, and the second value is used to indicate that the repeated point coding operation is not performed.
  • a computer-readable storage medium stores a computer program, and when the computer program is executed, the method as described in any one of the first to third aspects is implemented.
  • the related art sorts the multiple attribute information separately, which may destroy the correlation between the multiple attribute information, thereby causing attribute coding loss.
  • the embodiment of the present application uniformly sorts the multiple attribute information of the repeated point based on the first attribute information, thereby avoiding destroying the correlation between the multiple attribute information, reducing the coding loss of the attribute coding, and improving the coding performance.
  • FIG. 1A is a schematic diagram of a three-dimensional point cloud image.
  • FIG. 1B is a partially enlarged view of a three-dimensional point cloud image.
  • FIG. 2A is a schematic diagram of six viewing angles of a point cloud image.
  • FIG. 2B is a schematic diagram of a data storage format corresponding to a point cloud image.
  • FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding.
  • FIG. 4 is a schematic diagram of a reference node of a child node.
  • FIG. 5 is a schematic diagram showing the occupancy of neighbor nodes of the current node layer.
  • FIG. 6 is a schematic diagram showing the positional relationship between a child block and an adjacent parent block.
  • FIG. 7 is a schematic diagram showing the positional relationship between a child block with a Morton sequence number and an adjacent parent block.
  • FIG8 is a schematic diagram of the prediction tree structure.
  • Figure 9 is a diagram of the AVS codec framework.
  • FIG10 is a schematic flowchart of the encoding method provided in the first embodiment of the present application.
  • FIG11 is a schematic flowchart of a decoding method provided in the second embodiment of the present application.
  • FIG12 is a schematic flowchart of the encoding method provided in the second embodiment of the present application.
  • FIG. 13 is a schematic diagram of the structure of an encoder provided in one embodiment of the present application.
  • FIG14 is a schematic diagram of the structure of an encoder provided in another embodiment of the present application.
  • FIG15 is a schematic diagram of the structure of a decoder provided in one embodiment of the present application.
  • FIG16 is a schematic diagram of the structure of a decoder provided in another embodiment of the present application.
  • FIG17 is a schematic diagram of the structure of an encoder provided in another embodiment of the present application.
  • FIG18 is a schematic diagram of the structure of an encoder provided in another embodiment of the present application.
  • FIG. 19 is a schematic diagram of the structure of the encoding and decoding system provided in an embodiment of the present application.
  • first ⁇ second ⁇ third involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that “first ⁇ second ⁇ third” can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
  • Point Cloud is a three-dimensional representation of the surface of an object.
  • Point cloud (data) on the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
  • a point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene.
  • FIG1A shows a three-dimensional point cloud image
  • FIG1B shows a partial magnified view of the three-dimensional point cloud image. It can be seen 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 additionally; however, the distribution of points in point clouds in three-dimensional space is random and irregular, so it is necessary to record the position of each point in space in order to fully express a point cloud.
  • each position in the acquisition process has corresponding attribute information, usually RGB color values, which reflect the color of the object; for point clouds, in addition to color information, the attribute information corresponding to each point is also commonly reflectance (reflectance) value, which reflects the surface material of the object. Therefore, point cloud data usually includes point location information and point attribute information. Among them, point location information can also be called point geometry information.
  • point geometry information can be the three-dimensional coordinate information (x, y, z) of the point.
  • Point attribute information can include color information and/or reflectivity, etc.
  • reflectivity can be one-dimensional reflectivity information (r); color information can be information on any color space, or color information can also be three-dimensional color information, such as RGB information.
  • R represents red (Red, R)
  • G represents green (Green, G)
  • B represents blue (Blue, B).
  • the color information may be luminance and chrominance (YCbCr, YUV) information, where Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.
  • the points in the point cloud may include the three-dimensional coordinate information of the points and the reflectivity value of the points.
  • the points in the point cloud may include the three-dimensional coordinate information of the points and the three-dimensional color information of the points.
  • a point cloud obtained by combining the principles of laser measurement and photogrammetry may include the three-dimensional coordinate information of the points, the reflectivity value of the points and the three-dimensional color information of the points.
  • Figures 2A and 2B a point cloud image and its corresponding data storage format are shown.
  • Six viewing angles, Figure 2B consists 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 is in the ".ply" format, represented by ASCII code,,the total number of points is 207242, and each point has three-dimensional,coordinate information (x,y,z) and three-dimensional color information (r,g,b).
  • Point clouds can be divided into the following categories according to the way they are obtained:
  • Static point cloud the object is stationary, and the device that obtains the point cloud is also stationary;
  • Dynamic point cloud The object is moving, but the device that obtains the point cloud is stationary;
  • Dynamic point cloud acquisition The device used to acquire the point cloud is in motion.
  • point clouds can be divided into two categories according to their usage:
  • Category 1 Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, disaster relief 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.
  • 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 clouds can be collected mainly through the following methods: computer generation, 3D laser scanning, 3D photogrammetry, etc.
  • Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and can obtain millions of point clouds per second; 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
  • 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
  • the number of points in each point cloud frame is 700,000, and each point has coordinate information xyz (float) and color information RGB (uchar).
  • point cloud compression has become a key issue in promoting the development of the point cloud industry.
  • the point cloud coding framework that can compress point clouds can be the geometry-based point cloud compression (G-PCC) codec framework or the video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Coding Standard (AVS).
  • G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, which can be based on the point cloud compression test platform (Test Model Compression 13, TMC13), and the V-PCC codec framework can be used to compress the second type of dynamic point cloud, which can be based on the point cloud compression test platform (Test Model Compression 2, TMC2). Therefore, the G-PCC codec framework is also called point cloud codec TMC13, and the V-PCC codec framework is also called point cloud codec TMC2.
  • An embodiment of the present application provides a network architecture of a point cloud encoding and decoding system including a decoding method and an encoding method.
  • FIG3 is a schematic diagram of a network architecture of a point cloud encoding and decoding system provided by an embodiment of the present application.
  • the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01.
  • the electronic device can be various types of devices with point cloud encoding and decoding functions.
  • the electronic device can include a mobile phone, a tablet computer, a personal computer, a personal digital assistant, a navigator, a digital phone, a video phone, a television, a sensor device, a server, etc., which is not limited by the embodiments of the present application.
  • the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device.
  • the electronic device in the embodiment of the present application has a point cloud encoding and decoding function, generally including a point cloud encoder (i.e., an encoder) and a point cloud decoder (i.e., a decoder).
  • the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately.
  • the geometric information of the point cloud is first transformed so that the point cloud is contained in a bounding box.
  • Each divided point cloud slice is treated as a single independent point cloud serial processing.
  • the preprocessing process includes quantization and removal of duplicate points. Quantization mainly plays a role in scaling. Quantization and rounding make the geometric information of some points the same. For these duplicate points, it can be decided whether to remove the duplicate points according to the parameters.
  • the bounding box can be divided in the order of breadth-first traversal (such as based on octree/quadtree/binary tree), and then the placeholder code of each node is encoded.
  • the bounding box is divided into sub-cubes in sequence, and the non-empty (containing 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.
  • geometric lossless coding the number of points contained in the leaf node is encoded, and the encoding of the geometric octree is finally completed to generate a binary code stream.
  • the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and the nodes are continuously divided in sequence until the division is a 1x1x1 unit cube, and the number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.
  • Context model 1 can be used for cat1-A and cat2 point cloud sequences; context model 2 can be used for cat1-B and cat3 sequences.
  • the context model includes the sub-layer neighbor predictions of the current point and the neighbor predictions of the current point layer.
  • the neighbor information that can be obtained when encoding the child node of the current point includes the neighbor child nodes in the three directions of left, front and bottom.
  • the context model of the child node layer is designed as follows: for the child node layer to be encoded, find the occupancy of the three coplanar, three colinear, and one co-point nodes in the left, front and bottom direction of the same layer as the child node to be encoded, and the node in the negative direction of the dimension with the shortest node side length and the distance of two node side lengths from the current child node to be encoded.
  • the reference node selected by each child node is shown in Figure 4.
  • the dotted box node in Figure 4 is the current node
  • the gray node is the current child node to be encoded
  • the solid box node is the reference node selected by each child node.
  • the context may be determined according to steps 1 and 2 described below.
  • step 2 the distance of the most recently occupied node from the current node is considered.
  • the distance has 3 values.
  • the context model uses a two-layer context reference relationship configuration. As shown in formula (1), the first layer is the occupancy of the parent node of the current sub-block to be encoded (i.e., ctxIdxParent), and the second layer is the occupancy of the adjacent encoded blocks at the same depth as the current sub-block to be encoded (i.e., ctxIdxChild).
  • the first layer is the occupancy of the parent node of the current sub-block to be encoded (i.e., ctxIdxParent)
  • the second layer is the occupancy of the adjacent encoded blocks at the same depth as the current sub-block to be encoded (i.e., ctxIdxChild).
  • each sub-graph shows the relative position relationship of the 6 adjacent parent blocks found by the i-th sub-block, including 3 coplanar parent blocks (P i,0 ,P i,1 ,P i,2 ) and 3 colinear parent blocks (P i,3 ,P i,4 ,P i,5 ).
  • the position relationship between each sub-block and the adjacent parent block can be obtained by the method of Table 2.
  • Table 2 correspond to the Morton sequence in Figure 7.
  • This method takes into account the different sub-block positions and the geometric center rotation symmetry. As can be seen from Figure 7, with the current block as the center, this method has a larger receptive field and can use up to 18 adjacent parent blocks that have been encoded around it.
  • the method used in formula (3) is the combination of the occupancy of the 3 coplanar parent blocks and the sum of the number of occupancy of the 3 colinear parent blocks.
  • prediction tree coding is used, the geometric information of the point cloud is first used at the encoding end to perform Morton code sorting, and then the geometric information of the point cloud is predicted and encoded using KD-Tree.
  • Prediction tree coding is similar to a single chain structure, using the parent node to predict the geometric information of the child node. As shown in Figure 8, the prediction tree adopts a single chain structure: except for the only leaf node, each tree node has only one child node. Except for the root node of the prediction tree, which can be predicted by the default value, other nodes can be provided with geometric prediction values by their parent nodes.
  • the isolated point direct coding mode is effective when the current block satisfies the following three conditions at the same time.
  • Condition 2 The current block contains only one point cloud data point.
  • Condition 3 The sum of the number of Morton code bits to be encoded for the points in the current block is greater than twice the number of directions that have not reached the minimum side length.
  • a flag is introduced to indicate whether the current node uses the isolated point coding mode.
  • the flag can be entropy coded using a context. If the flag is true, the isolated point mode is used to directly encode the geometric coordinates of the point, and the octree division is terminated. If the flag is false, the occupancy code is encoded and the octree division continues.
  • this flag can be inferred to be False and not encoded. If the parent block of the current block already allows the use of isolated point coding mode, and the current block is the only child node of the parent block, then the current block must not contain isolated points. Therefore, under this condition, the bits for encoding the flag can be omitted.
  • attribute encoding is mainly performed on color information and/or reflectivity information.
  • color information encoding it is divided into two modules: attribute prediction and attribute transformation.
  • the attribute prediction process is as follows: first, the point cloud is reordered, and then differential prediction is performed. There are two reordering methods: Morton reordering and Hilbert reordering.
  • Condition 1 The geometric position is limitedly lossy and the attributes are lossy;
  • Condition 3 lossless geometry and limited loss of attributes
  • Condition 4 The geometric position and attributes are lossless.
  • the general test sequences include five categories: Cat1A, Cat1B, Cat1C, Cat2-frame and Cat3.
  • Cat1A and Cat2-frame point clouds only contain reflectance attribute information
  • Cat1B and Cat3 point clouds only contain color attribute information
  • Cat1C point cloud contains both color and reflectance attribute information.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.).
  • 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 the quantized residual, and finally the quantized residual is encoded.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.).
  • the prediction algorithm is first used to obtain the attribute prediction value, then the decoding is performed to obtain the quantized residual, and then the quantized residual is dequantized, and finally the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized residual.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
  • the entire point cloud is first 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).
  • the prediction algorithm is used to obtain the attribute prediction value, and the attribute residual is obtained based on the attribute value and the attribute prediction value.
  • the attribute residual is DCT transformed 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 (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
  • the entire point cloud is first 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).
  • the quantized transform coefficients are decoded in large groups, and then the prediction algorithm is used to obtain the attribute prediction value.
  • the quantized transform coefficients are then 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.
  • attribute compression adopts a method based on intra-frame prediction and DCT transformation, and when encoding the quantized transform coefficients, there is no limit on the maximum number of points X, that is, all coefficients can be encoded together.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
  • the entire point cloud is first divided into several small groups with a maximum length of Y (such as 2), and then the prediction algorithm is used to obtain the attribute prediction
  • the attribute residual is obtained according to the attribute value and the attribute prediction value, the attribute residual is transformed by DCT in small groups to generate transformation coefficients, the transformation coefficients are quantized to generate quantized transformation coefficients, and finally the quantized transformation coefficients of the entire point cloud are encoded.
  • the points in the point cloud are processed in a certain order (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 then the quantized transformation coefficients are dequantized and inversely transformed in groups.
  • the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
  • the decoding obtains the quantized transform coefficients of the entire point cloud. Then, the quantized transform coefficients are dequantized and inversely transformed to obtain the attribute reconstruction value.
  • the encoding end will sort the attribute information of the duplicate points (in ascending order). For example, if the attribute information of the current point cloud is color information, the color information of the duplicate points can be sorted. If the attribute information of the duplicate points only contains reflectivity information, the attribute information of the duplicate points can be sorted. If the above design is adopted, when encoding the attribute information of the duplicate points, it will be assumed that the attribute information of the duplicate points has been sorted in ascending order, so there is no need to encode the sign bit of the attribute residual of the current point, thereby improving the encoding performance of the point cloud attribute information.
  • the related technology will sort the multiple attribute information of the duplicate points separately, and this sorting method may cause attribute encoding loss.
  • the current point cloud includes 3 duplicate points: duplicate point 1, duplicate point 2, and duplicate point 3.
  • the Y component of the color information of duplicate point 1 is 14, and the reflectivity information is 8; the Y component of the color information of duplicate point 2 is 15, and the reflectivity information is 10; the Y component of the color information of duplicate point 1 is 16, and the reflectivity information is 9.
  • the sorting results of the Y component of the color information are 14, 15, 16, and the sorting results of the reflectivity information are 8, 9, 10.
  • related point cloud coding technologies such as AVS-PCC
  • AVS-PCC AVS-PCC
  • the reflectivity information can be encoded based on the reconstructed color information.
  • the sorting scheme of multiple attribute information of repeated points mentioned above will destroy the correlation between attribute information, and therefore will also cause coding loss (or inability to achieve lossless attribute coding) in the coding scheme where multiple attribute information depends on each other.
  • the first embodiment of the present application provides an encoding method, comprising: determining a set of repeated points in a point cloud to be encoded; wherein the repeated points in the repeated point set include multiple attribute information; and sorting the repeated points in the repeated point set according to the multiple attribute information.
  • the embodiment of the present application does not sort the multiple attribute information of the duplicate points separately, but sorts the multiple attribute information of the duplicate points uniformly based on the first attribute information, thereby avoiding destroying the relevance between the multiple attribute information, reducing the loss of attribute encoding, and improving encoding performance.
  • the encoding method provided in the embodiment of the present application can be applied to lossless encoding scenarios, thereby helping to achieve lossless encoding of attribute information.
  • FIG10 is a schematic flow chart of the encoding method provided in the first embodiment of the present application.
  • the method of FIG10 can be applied to an encoder.
  • the encoding method can refer to a method for encoding attribute information (such as color information) of a point cloud. The following is a detailed example of each step of FIG10.
  • step S1010 a set of repeated points of the point cloud to be encoded is determined.
  • the point cloud to be encoded may be all points in the point cloud, or may be part of the points in the point cloud.
  • the point cloud to be encoded may refer to points that are relatively concentrated in space.
  • the above-mentioned determination of the set of repeated points in the point cloud to be encoded may include: determining the set of repeated points in the point cloud to be encoded according to geometric information of the point cloud to be encoded.
  • the repeated points in the repeated point set may include points with the same geometric information in the point cloud to be encoded.
  • the geometric information may be, for example, reconstructed geometric information of the points.
  • the two points may also be determined as duplicate points.
  • the distance between points in the point cloud to be encoded can be determined based on the geometric information of the point cloud to be encoded. Then, based on the distance between points in the point cloud to be encoded, points with the same or similar distance can be determined to form a set of repeated points.
  • the Morton code or Hilbert code of the points in the point cloud to be encoded can be determined; then, the points with the same or similar Morton code or Hilbert code are grouped into a set of repeated points.
  • the repeated points can be determined directly through geometric coordinate information, or the geometric coordinates can be first converted into Morton code or Hilbert code, and then the set of repeated points can be determined based on the Morton code or Hilbert code.
  • the repeated points in the repeated point set may include multiple attribute information, for example, the repeated points may include color information and reflectivity information at the same time.
  • step S1020 the repeated points in the repeated point set are sorted according to various attribute information.
  • the above-mentioned sorting of the repeated points in the repeated point set according to the various attribute information may be replaced by sorting the attribute information of the repeated points in the repeated point set in units of points.
  • the above-mentioned sorting of the repeated points in the repeated point set according to multiple attribute information can be replaced by sorting the repeated points in the repeated point set according to at least one attribute information (such as the first attribute information mentioned later).
  • the above-mentioned sorting of duplicate points in the duplicate point set according to multiple attribute information can be replaced by: sorting the duplicate points in the duplicate point set while keeping the association relationship between the multiple attribute information of the duplicate points in the duplicate point set unchanged; or sorting the duplicate points in the duplicate point set so that the association relationship between the multiple attribute information of the duplicate points in the duplicate point set remains unchanged.
  • the first attribute information may be any one of a plurality of attribute information.
  • the first attribute information may refer to color information or reflectivity information.
  • the first attribute information may be the attribute information that is preferentially encoded among the multiple attribute information.
  • the first attribute information may be the color information.
  • the first attribute information may be the reflectivity information.
  • sorting the duplicate points in the duplicate point set according to the multiple attribute information may include: sorting the duplicate points in the duplicate point set according to the first color component of the first attribute information.
  • the first color component mentioned here may be a color component that is preferentially encoded in the attribute information of the duplicate point.
  • the above-mentioned sorting of the duplicate points in the duplicate point set according to the multiple attribute information may include: sorting the duplicate points in the duplicate point set according to a first sorting method; wherein the first sorting method is to sort according to the first attribute information in the multiple attribute information first, and then sort according to the second attribute information in the multiple attribute information.
  • the duplicate points in the duplicate point set are sorted according to the first attribute information first, and if the duplicate point set includes at least two duplicate points with the same first attribute information, the at least two duplicate points are sorted according to the second attribute information of the at least two duplicate points.
  • the first attribute information may be color information
  • the second attribute information may be reflectivity information. That is, the duplicate points in the duplicate point set may be sorted first according to the color information, and then the duplicate points in the duplicate point set may be sorted according to the reflectivity information (i.e., when the color information is the same, the duplicate points in the duplicate point set may be sorted according to the reflectivity information).
  • the first attribute information may be reflectance information
  • the second attribute information may be color information. That is, the duplicate points in the duplicate point set may be sorted first according to the reflectance information, and then the duplicate points in the duplicate point set may be sorted according to the color information (i.e., when the reflectance information is the same, the duplicate points in the duplicate point set may be sorted according to the color information).
  • a parameter (hereinafter referred to as the first parameter) may be introduced, and the first parameter may be used to indicate whether to perform repeated point encoding.
  • the first parameter is used to control repeated point encoding.
  • the first parameter may be used to indicate whether to perform repeated point encoding when the point cloud has multiple attribute information.
  • the repeated point may be indicated to perform repeated point encoding (because performing repeated point encoding at this time will not introduce attribute encoding loss); if the repeated point contains multiple types of attribute information, it may be indicated not to perform repeated point encoding (because performing repeated point encoding at this time will introduce attribute encoding loss). It can be seen that the introduction of the first parameter helps the attribute encoding to achieve lossless encoding.
  • the first parameter may be a high-level syntax element.
  • the first parameter may be called, for example, eligible_duplicate_pred.
  • the first parameter may include a first value and a second value. If the value of the first parameter is the first value, it is determined that repeated point coding is performed. If the value of the first parameter is the second value (different from the first value), it is determined that repeated point coding is not performed.
  • the above-mentioned repeated point coding may include: sorting based on the attribute information of the repeated points. That is, when the value of the first parameter is the first value, the attribute information of the repeated points may be sorted; when the value of the first parameter is the second value, the attribute information of the repeated points may not be sorted. Sort.
  • the value of the first parameter may be set to the first value. If the repeated point contains multiple kinds of attribute information at the same time, the value of the first parameter may be set to the second value.
  • the first value and the second value may be in parameter form.
  • the first value and the second value may also be in digital form.
  • the first parameter may be a parameter written into the bitstream.
  • the first parameter may be a parameter in an Adaptation Parameter Set (APS).
  • APS Adaptation Parameter Set
  • the first value may be set to 1 and the second value may be set to 0; or, the first value may be set to 0 and the second value may be set to 1; or, the first value may be set to true and the second value may be set to false; or, the first value may be set to false and the second value may be set to true.
  • the first parameter as a parameter written into the bit stream as an example, assuming that the first value of the first parameter is 0 and the second value is 1, if the value of the first parameter is 0, it can be determined that repeated point encoding is not performed, that is, there is no need to execute the encoding method described in the embodiment of the present application; if the value of the first parameter is 1, it can be determined that repeated point encoding is performed, that is, the encoding method described in the embodiment of the present application is executed.
  • the method of Figure 10 may also include: if the current point to be encoded is a repeated point, determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point; wherein the first attribute component and the second attribute component belong to the same attribute information among multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among multiple attribute information.
  • the first attribute component is sorted before the second attribute component.
  • the first attribute component precedes the second attribute component.
  • the first attribute component can be the first color component in the color information
  • the second attribute component can be the second color component in the color information. That is, at the encoding end, the first color component can be encoded to determine the residual of the first color component; then, the encoding method of the sign bit of the residual of the second color component can be determined based on the residual of the first color component (the value thereof).
  • the first attribute component may be an R component
  • the second attribute component may be a G component
  • the first attribute component may be a G component
  • the second attribute component may be an R component
  • the first attribute component may be a Y component
  • the second attribute component may be a U component
  • the first attribute component may be a U component
  • the second attribute component may be a Y component
  • the first attribute component includes all attribute components that precede the second attribute component in coding order.
  • the first attribute component may include the first color component and the second color component in the color information
  • the second attribute component may be the third color component in the color information. That is, at the encoding end, the first color component and the second color component may be encoded to determine the residual of the first color component and the second color component; then, based on the residual of the first color component (the value thereof) and the residual of the second color component (the value thereof), the encoding method of the sign bit of the residual of the third color component may be determined.
  • the first attribute component may include an R component and a G component
  • the second attribute component may be a B component
  • the first attribute component may include a G component and an R component
  • the second attribute component may be a B component
  • the first attribute component may include a Y component and a U component
  • the second attribute component may be a V component
  • the first attribute component may include a U component and a Y component
  • the second attribute component may be a V component
  • one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.
  • the first attribute component may be the attribute component corresponding to the color information
  • the second attribute component may be the attribute component corresponding to the reflectivity information
  • the encoding order of the attribute components of the current point is to encode RGB first and then encode the reflectivity information, so the first attribute component may include RGB, and the second attribute component may be the reflectivity information.
  • the encoding order of the attribute components of the current point is to encode YUV first and then encode reflectivity information.
  • the quantity may include YUV, and the second attribute component may be reflectivity information.
  • the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information
  • the first attribute component may be the attribute component corresponding to the reflectivity information
  • the second attribute component may be the attribute component corresponding to the color information.
  • the encoding order of the attribute components of the current point is to encode the reflectance information first and then encode RGB, so the first attribute component may be the reflectance information, and the second attribute component may include RGB.
  • the encoding order of the attribute components of the current point is to encode the reflectivity information first and then encode the YUV, so the first attribute component may be the reflectivity information, and the second attribute component may include the YUV.
  • the above-mentioned method of determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point may include: if the residual of the first attribute component of the current point is 0, determining not to encode the sign bit of the residual of the second attribute component.
  • the first attribute component can be the R component
  • the second attribute component can be the G component. If the residual of the R component is 0, the sign bit of the residual of the G component may not be encoded (the residual of the R component is 0, which means that there are multiple repeated points with the same R component. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).
  • the first attribute component may include an R component and a G component
  • the second attribute component may be a B component. If the residual of the R component and the residual of the G component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the R component and the residual of the G component are both 0, indicating that there are multiple repeated points with the same R component and G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).
  • the first attribute component can be the G component
  • the second attribute component can be the R component. If the residual of the G component is 0, the sign bit of the residual of the R component may not be encoded (the residual of the G component is 0, which means that there are multiple repeated points with the same G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).
  • the first attribute component may include R component, G component and B component
  • the second attribute component may be the reflectivity information. If the residuals of the R component, G component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the R component, G component and B component are all 0, indicating that there are multiple repeated points with the same R component, G component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).
  • the first attribute component may include G component, R component and B component
  • the second attribute component may be the reflectivity information. If the residuals of the G component, R component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the G component, R component and B component are all 0, indicating that there are multiple repeated points with the same G component, R component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).
  • the first attribute component can be the reflectance information
  • the second attribute component can be the R component. If the residual of the reflectance information is 0, the sign bit of the residual of the R component may not be encoded (the residual of the reflectance information is 0, indicating that there are multiple repeated points with the same reflectance information. At this time, the R components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the R component).
  • the first attribute component can be the reflectivity information
  • the second attribute component can be the G component. If the residual of the reflectivity information is 0, the sign bit of the residual of the G component may not be encoded (the residual of the reflectivity information is 0, indicating that there are multiple repeated points with the same reflectivity information. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).
  • the sign bits of the residuals of the various attribute components of the current point are encoded. If the current point is not a duplicate point, the sign bits of the various components of the color residual of the current point may be positive or negative. In this case, encoding the sign bits of the various components of the color residual of the current point can ensure the accuracy of the encoding.
  • the method of FIG. 10 may further include: determining prediction information of the attribute information of the current point; and determining a color residual of the current point according to the prediction information of the attribute information of the current point.
  • the prediction information of the attribute information of the current point can be determined based on the reconstructed attribute information of the prediction reference point of the current point.
  • the selection method of the prediction reference point of the current point can be determined based on the type of the current point. For example, if the current point is not a repeated point, it can be based on a certain distance (such as Manhattan distance) to determine the K neighboring points of the current point (K is a positive integer), and then use the K neighboring points as prediction reference points to perform weighted prediction on the attribute information of the current point.
  • the first M repeated points of the current point can be determined as prediction reference points, and then the predicted information of the attribute information of the current point is determined based on the reconstructed attribute information of the first M repeated points; where M is a positive integer.
  • M can be 1, that is, the attribute information of the current point can be differentially predicted based on the reconstructed attribute information of the previous repeated point of the current point.
  • the method of FIG. 10 may further include: quantizing the color residual of the current point to determine the quantized residual of the current point; encoding the quantized residual, and writing the obtained coded bits into the bitstream.
  • the second embodiment of the present application provides a coding method, including: determining whether to perform a repeated point coding operation; determining a value of a first parameter based on a determination result; encoding the value of the first parameter, and writing the obtained coded bits into a bit stream; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point coding operation is performed, and the second value is used to indicate that the repeated point coding operation is not performed.
  • the above-mentioned repeated point encoding operation may include: sorting based on the attribute information of the repeated points. That is, when the value of the first parameter is the first value, the attribute information of the repeated points may be sorted; when the value of the first parameter is the second value, the attribute information of the repeated points may not be sorted.
  • the second embodiment of the present application controls whether to perform the repeated point coding operation based on the first parameter, so that the repeated point coding operation can be flexibly turned on or off according to actual conditions.
  • FIG11 is a schematic flow chart of a decoding method provided in the second embodiment of the present application.
  • the method of FIG11 can be applied to a decoder.
  • the decoding method can refer to a method for decoding attribute information (such as color information) of a point cloud.
  • attribute information such as color information
  • step S1110 the code stream is parsed to determine the value of the first parameter.
  • the first parameter may be used to indicate whether to perform repeated point decoding.
  • the first parameter may be used to control repeated point decoding.
  • the first parameter may be used to indicate whether to perform repeated point decoding when the point cloud to be decoded has multiple attribute information.
  • the point cloud to be decoded may be all points in the point cloud, or may be part of the points in the point cloud.
  • the point cloud to be decoded may refer to points that are relatively concentrated in space.
  • the first parameter may be a high-level syntax element.
  • the first parameter may be called, for example, eligible_duplicate_pred.
  • the first parameter may be a parameter written into the bitstream.
  • the first parameter may be a parameter in an Adaptation Parameter Set (APS).
  • APS Adaptation Parameter Set
  • step S1120 if the value of the first parameter is the first value, a repeated point decoding operation is performed.
  • the first parameter may also include a second value. If the value of the first parameter is the second value (different from the first value), it is determined that repeated point decoding is not performed.
  • the value of the first parameter may be set to the first value. If the repeated point contains multiple kinds of attribute information at the same time, the value of the first parameter may be set to the second value.
  • the first value and the second value may be in parameter form.
  • the first value and the second value may also be in digital form.
  • the first value may be set to 1 and the second value may be set to 0; or, the first value may be set to 0 and the second value may be set to 1; or, the first value may be set to true and the second value may be set to false; or, the first value may be set to false and the second value may be set to true.
  • the first parameter as a parameter written into the bitstream as an example, assuming that the first value of the first parameter is 0 and the second value is 1, if the value of the first parameter is 0, it can be determined that the duplicate point decoding operation is not performed; if the value of the first parameter is 1, it can be determined that the duplicate point decoding operation is performed.
  • the method of Figure 11 may also include: if the current point to be decoded is a repeated point, determining the decoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point; wherein the first attribute component and the second attribute component belong to the same attribute information among multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among multiple attribute information.
  • the current point may refer to a point in the point cloud that is currently to be decoded.
  • the first attribute component is sorted before the second attribute component.
  • the first attribute component precedes the second attribute component.
  • the first attribute component can be color information
  • the second attribute component may be the second color component in the color information. That is, at the decoding end, the first color component may be decoded to determine the residual of the first color component; then, the decoding method of the sign bit of the residual of the second color component may be determined based on the residual of the first color component (the value thereof).
  • the first attribute component may be an R component
  • the second attribute component may be a G component
  • the first attribute component may be a G component
  • the second attribute component may be an R component
  • the first attribute component may be a Y component
  • the second attribute component may be a U component
  • the first attribute component may be a U component
  • the second attribute component may be a Y component
  • the first attribute component includes all attribute components that precede the second attribute component in decoding order.
  • the first attribute component may include the first color component and the second color component in the color information
  • the second attribute component may be the third color component in the color information. That is, at the decoding end, the first color component and the second color component may be first decoded to determine the residual of the first color component and the second color component; then, based on the residual of the first color component (the value thereof) and the residual of the second color component (the value thereof), the decoding method of the sign bit of the residual of the third color component may be determined.
  • the first attribute component may include an R component and a G component
  • the second attribute component may be a B component
  • the first attribute component may include a G component and an R component
  • the second attribute component may be a B component
  • the first attribute component may include a Y component and a U component
  • the second attribute component may be a V component
  • the first attribute component may include a U component and a Y component
  • the second attribute component may be a V component
  • one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.
  • the first attribute component may be the attribute component corresponding to the color information and the second attribute component may be the attribute component corresponding to the reflectivity information.
  • the decoding order of the attribute components of the current point is to first decode RGB and then decode the reflectivity information. Then, the first attribute component may include RGB, and the second attribute component may be the reflectivity information.
  • the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the reflectance information and then decode the attribute components corresponding to the color information
  • the first attribute component may be the attribute component corresponding to the reflectance information
  • the second attribute component may be the attribute component corresponding to the color information.
  • the decoding order of the attribute components of the current point is to first decode the reflectivity information and then decode the YUV, so the first attribute component may be the reflectivity information, and the second attribute component may include the YUV.
  • the above-mentioned method of determining the decoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point may include: if the residual of the first attribute component of the current point is 0, determining not to decode the sign bit of the residual of the second attribute component.
  • the first attribute component can be the R component
  • the second attribute component can be the G component. If the residual of the R component is 0, the sign bit of the residual of the G component does not need to be decoded (the residual of the R component is 0, which means that there are multiple repeated points with the same R component. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the G component).
  • the first attribute component may include an R component and a G component
  • the second attribute component may be a B component. If the residual of the R component and the residual of the G component are both 0, the sign bit of the residual of the B component may not be decoded (the residual of the R component and the residual of the G component are both 0, indicating that there are multiple repeated points with the same R component and G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the B component).
  • the first attribute component can be the G component
  • the second attribute component can be the R component. If the residual of the G component is 0, the sign bit of the residual of the R component does not need to be decoded (the residual of the G component is 0, which means that there are multiple repeated points with the same G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the B component).
  • the first attribute component may include a G component and an R component
  • the second attribute component may be a B component. If the residual of the G component and the residual of the R component are both 0, the sign bit of the residual of the B component may not be decoded (the residual of the G component and the residual of the R component are both 0, indicating that there are multiple repeated points with the same G component and R component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the B component).
  • the first attribute component may include R component, G component and B component
  • the second attribute component may be the reflectivity information. If the residuals of the R component, G component and B component are all 0, the sign bit of the residual of the reflectivity information may not be decoded (the residuals of the R component, G component and B component are all 0, indicating that there are multiple repeated points with the same R component, G component and B component. At this time, the reflectivity information of the multiple repeated points is presented in ascending order, so there is no need to decode the sign bit of the residual of the reflectivity information).
  • the first attribute component may include G component, R component and B component
  • the second attribute component may be the reflectivity information. If the residuals of the G component, R component and B component are all 0, the sign bit of the residual of the reflectivity information may not be decoded (the residuals of the G component, R component and B component are all 0, indicating that there are multiple repeated points with the same G component, R component and B component. At this time, the reflectivity information of the multiple repeated points is presented in ascending order, so there is no need to decode the sign bit of the residual of the reflectivity information).
  • the first attribute component may be the reflectance information
  • the second attribute component may be the R component. If the residual of the reflectance information is 0, the sign bit of the residual of the R component may not be decoded (the residual of the reflectance information is 0, indicating that there are multiple repeated points with the same reflectance information. At this time, the R components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the R component).
  • the first attribute component may be the reflectivity information
  • the second attribute component may be the G component. If the residual of the reflectivity information is 0, the sign bit of the residual of the G component may not be decoded (the residual of the reflectivity information is 0, indicating that there are multiple repeated points with the same reflectivity information. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the G component).
  • the sign bits of the residuals of the various attribute components of the current point are decoded. If the current point is not a duplicate point, the sign bits of the various components of the color residual of the current point may be positive or negative. In this case, decoding the sign bits of the various components of the color residual of the current point can ensure the accuracy of decoding.
  • the method of FIG. 11 may further include: determining the reconstructed attribute information of the current point according to the prediction information and the attribute residual of the attribute information of the current point.
  • the prediction information of the attribute information of the current point can be determined based on the reconstructed attribute information of the prediction reference point of the current point.
  • the selection method of the prediction reference point of the current point can be determined based on the type of the current point. For example, if the current point is not a duplicate point, the K neighbor points (K is a positive integer) of the current point can be determined based on a certain distance (such as Manhattan distance), and then the K neighbor points are used as prediction reference points to perform weighted prediction on the attribute information of the current point.
  • the first M duplicate points of the current point can be determined as prediction reference points, and then the prediction information of the attribute information of the current point is determined based on the reconstructed attribute information of the first M duplicate points; wherein M is a positive integer.
  • the value of M can be 1, that is, the attribute information of the current point can be differentially predicted based on the reconstructed attribute information of the previous duplicate point of the current point.
  • FIG12 is a schematic flow chart of the encoding method provided in the second embodiment of the present application.
  • the method of FIG12 can be applied to an encoder.
  • the encoding method can refer to a method for encoding attribute information (such as color information) of a point cloud. The following is a detailed example of each step of FIG12.
  • step S1210 it is determined whether to perform a repeated point encoding operation.
  • step S1220 the value of the first parameter is determined according to the determination result.
  • step S1230 the value of the first parameter is encoded, and the obtained encoded bits are written into the bitstream.
  • the first parameter may be used to indicate whether to perform repeated point coding.
  • the first parameter may be used to control repeated point coding.
  • the first parameter may be used to indicate whether to perform repeated point coding when the point cloud to be coded has multiple attribute information.
  • the point cloud to be encoded may be all points in the point cloud, or may be part of the points in the point cloud.
  • the point cloud to be encoded may refer to points that are relatively concentrated in space.
  • the first parameter may be a high-level syntax element.
  • the first parameter may be called, for example, eligible_duplicate_pred.
  • the first parameter may be a parameter in an Adaptation Parameter Set (APS).
  • APS Adaptation Parameter Set
  • the first parameter may include a first value and a second value. If the value of the first parameter is the first value, it is determined that repeated point coding is performed; if the value of the first parameter is the second value (different from the first value), it is determined that repeated point coding is not performed.
  • the value of the first parameter may be set to the first value. If the repeated point contains multiple kinds of attribute information at the same time, the value of the first parameter may be set to the second value.
  • the first value and the second value may be in parameter form.
  • the first value and the second value may also be in digital form.
  • the first value may be set to 1 and the second value may be set to 0; or, the first value may be set to 0 and the second value may be set to 1; or, the first value may be set to true and the second value may be set to false; or, the first value may be set to false and the second value may be set to true.
  • the first value of the first parameter is 0 and the second value is 1, if the value of the first parameter is 0, it can be determined that the repeated point encoding operation is not performed; if the value of the first parameter is 1, it can be determined that the repeated point encoding operation is performed.
  • the method of Figure 12 may also include: if the current point to be encoded is a repeated point, determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point; wherein the first attribute component and the second attribute component belong to the same attribute information among multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among multiple attribute information.
  • the current point may refer to a point to be encoded currently in the point cloud.
  • the first attribute component is sorted before the second attribute component.
  • the first attribute component precedes the second attribute component.
  • the first attribute component can be the first color component in the color information
  • the second attribute component can be the second color component in the color information. That is, at the encoding end, the first color component can be encoded to determine the residual of the first color component; then, the encoding method of the sign bit of the residual of the second color component can be determined based on the residual of the first color component (the value thereof).
  • the first attribute component may be an R component
  • the second attribute component may be a G component
  • the first attribute component may be a G component
  • the second attribute component may be an R component
  • the first attribute component may be a Y component
  • the second attribute component may be a U component
  • the first attribute component may be a U component
  • the second attribute component may be a Y component
  • the first attribute component includes all attribute components that precede the second attribute component in coding order.
  • the first attribute component may include the first color component and the second color component in the color information
  • the second attribute component may be the third color component in the color information. That is, at the encoding end, the first color component and the second color component may be encoded to determine the residual of the first color component and the second color component; then, based on the residual of the first color component (the value thereof) and the residual of the second color component (the value thereof), the encoding method of the sign bit of the residual of the third color component may be determined.
  • the first attribute component may include an R component and a G component
  • the second attribute component may be a B component
  • the first attribute component may include a G component and an R component
  • the second attribute component may be a B component
  • the first attribute component may include a Y component and a U component
  • the second attribute component may be a V component
  • the first attribute component may include a U component and a Y component
  • the second attribute component may be a V component
  • one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.
  • the first attribute component may be the attribute component corresponding to the color information
  • the second attribute component may be the attribute component corresponding to the reflectivity information
  • the encoding order of the attribute components of the current point is to encode RGB first and then encode the reflectivity information, so the first attribute component may include RGB, and the second attribute component may be the reflectivity information.
  • the encoding order of the attribute components of the current point is to encode YUV first and then encode reflectivity information.
  • the quantity may include YUV, and the second attribute component may be reflectivity information.
  • the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information
  • the first attribute component may be the attribute component corresponding to the reflectivity information
  • the second attribute component may be the attribute component corresponding to the color information.
  • the encoding order of the attribute components of the current point is to encode the reflectance information first and then encode RGB, so the first attribute component may be the reflectance information, and the second attribute component may include RGB.
  • the encoding order of the attribute components of the current point is to encode the reflectivity information first and then encode the YUV, so the first attribute component may be the reflectivity information, and the second attribute component may include the YUV.
  • the above-mentioned method of determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point may include: if the residual of the first attribute component of the current point is 0, determining not to encode the sign bit of the residual of the second attribute component.
  • the first attribute component can be the R component
  • the second attribute component can be the G component. If the residual of the R component is 0, the sign bit of the residual of the G component may not be encoded (the residual of the R component is 0, which means that there are multiple repeated points with the same R component. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).
  • the first attribute component may include an R component and a G component
  • the second attribute component may be a B component. If the residual of the R component and the residual of the G component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the R component and the residual of the G component are both 0, indicating that there are multiple repeated points with the same R component and G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).
  • the first attribute component can be the G component
  • the second attribute component can be the R component. If the residual of the G component is 0, the sign bit of the residual of the R component may not be encoded (the residual of the G component is 0, which means that there are multiple repeated points with the same G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).
  • the first attribute component may include a G component and an R component
  • the second attribute component may be a B component. If the residual of the G component and the residual of the R component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the G component and the residual of the R component are both 0, indicating that there are multiple repeated points with the same G component and R component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).
  • the first attribute component may include R component, G component and B component
  • the second attribute component may be the reflectivity information. If the residuals of the R component, G component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the R component, G component and B component are all 0, indicating that there are multiple repeated points with the same R component, G component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).
  • the first attribute component may include G component, R component and B component
  • the second attribute component may be the reflectivity information. If the residuals of the G component, R component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the G component, R component and B component are all 0, indicating that there are multiple repeated points with the same G component, R component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).
  • the first attribute component can be the reflectance information
  • the second attribute component can be the R component. If the residual of the reflectance information is 0, the sign bit of the residual of the R component may not be encoded (the residual of the reflectance information is 0, indicating that there are multiple repeated points with the same reflectance information. At this time, the R components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the R component).
  • the first attribute component can be the reflectivity information
  • the second attribute component can be the G component. If the residual of the reflectivity information is 0, the sign bit of the residual of the G component may not be encoded (the residual of the reflectivity information is 0, indicating that there are multiple repeated points with the same reflectivity information. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).
  • the sign bits of the residuals of the various attribute components of the current point are encoded. If the current point is not a duplicate point, the sign bits of the various components of the color residual of the current point may be positive or negative. In this case, encoding the sign bits of the various components of the color residual of the current point can ensure the accuracy of the encoding.
  • the method of FIG. 12 may further include: determining prediction information of the attribute information of the current point; and determining a color residual of the current point according to the prediction information of the attribute information of the current point.
  • the prediction information of the attribute information of the current point can be determined based on the reconstructed attribute information of the prediction reference point of the current point.
  • the selection method of the prediction reference point of the current point can be determined based on the type of the current point. For example, if the current point is not a repeated point, it can be based on a certain distance (such as Manhattan distance) to determine the K neighboring points of the current point (K is a positive integer), and then use the K neighboring points as prediction reference points to perform weighted prediction on the attribute information of the current point.
  • the first M repeated points of the current point can be determined as prediction reference points, and then the predicted information of the attribute information of the current point is determined based on the reconstructed attribute information of the first M repeated points; where M is a positive integer.
  • M can be 1, that is, the attribute information of the current point can be differentially predicted based on the reconstructed attribute information of the previous repeated point of the current point.
  • the method of Figure 12 may also include: determining the attribute residual of the current point based on the prediction information of the attribute information of the current point; quantizing the attribute residual of the current point to obtain the quantized residual of the current point; encoding the quantized residual and writing the obtained coded bits into the bit stream.
  • Fig. 13 is a schematic diagram of the structure of an encoder provided by an embodiment of the present application. As shown in Fig. 13 , the encoder 1300 includes: a determination unit 1310 and a sorting unit 1320 .
  • the determination unit 1310 is configured to determine a set of repeated points of the point cloud to be encoded.
  • the repeated points in the set of repeated points include multiple attribute information.
  • the sorting unit 1320 is configured to sort the repeated points in the repeated point set according to the multiple types of attribute information.
  • the sorting unit 1320 is configured to: sort the repeated points in the repeated point set according to a first sorting method; wherein the first sorting method is to first sort according to the first attribute information among the multiple attribute information, and then sort according to the second attribute information among the multiple attribute information.
  • the sorting unit 1320 is configured to: sort the duplicate points in the duplicate point set according to the first attribute information; if the duplicate point set includes at least two duplicate points with the same first attribute information, sort the at least two duplicate points according to the second attribute information of the at least two duplicate points.
  • the first attribute information is color information
  • the second attribute information is reflectivity information
  • the first attribute information is reflectivity information
  • the second attribute information is color information
  • the first attribute information is the attribute information that is preferentially encoded among the multiple attribute information.
  • the determination unit 1310 is further configured to: determine the value of a first parameter; if the value of the first parameter indicates to perform repeated point encoding, determine to perform the step of sorting the repeated points in the repeated point set according to the multiple attribute information.
  • the determination unit 1310 is further configured to: if the value of the first parameter is a first value, determine to perform the repeated point encoding; if the value of the first parameter is a second value, determine not to perform the repeated point encoding.
  • the encoder 1300 further includes an encoding unit configured to encode the value of the first parameter and write the obtained encoded bits into a bit stream.
  • the first parameter is a parameter in an adaptive parameter set.
  • the encoding unit is configured to determine the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point if the current point to be encoded is a repeated point; wherein the first attribute component and the second attribute component belong to the same attribute information among the multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among the multiple attribute information.
  • the encoding unit is configured to determine not to encode a sign bit of the residual of the second attribute component if the residual of the first attribute component of the current point is 0.
  • the first attribute component is ranked higher than the second attribute component.
  • the first attribute component precedes the second attribute component; or, in the encoding order, the first attribute component includes all attribute components that precede the second attribute component.
  • the first attribute component and the second attribute component are different color components of the current point.
  • the encoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, the encoding order of the color components of the current point is RGB, the first attribute component includes the R component and the G component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, the encoding order of the color components of the current point is GRB, the first attribute component includes the G component and the R component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, the encoding order of the color components of the current point is YUV, the first attribute component includes the Y component and the U component, and the second attribute component is the V component; or, the encoding order of the color
  • one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.
  • the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute component is the attribute component corresponding to the color information, and the second attribute component is the attribute component corresponding to the reflectivity information; or, the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information, the first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information.
  • the encoding unit is configured to encode a sign bit of a residual of each attribute component of the current point if the current point is not a repeated point.
  • the encoding unit is configured to determine prediction information of the color information of the current point; and determine the color residual of the current point according to the prediction information of the color information of the current point.
  • the encoding unit is configured to determine the prediction information based on reconstructed color information of M repeated points preceding the current point if the current point is a repeated point; wherein M is a positive integer.
  • the encoding unit is configured to quantize the color residual of the current point to determine the quantized residual of the current point; encode the quantized residual, and write the obtained encoded bits into a bitstream.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular.
  • the components in the present embodiment 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.
  • the above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this embodiment is essentially or the part that contributes to the prior art or the whole or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., which can store program code.
  • an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 1300.
  • the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the decoding method described in any one of the aforementioned embodiments.
  • the encoder 1400 may include: a communication interface 1410, a memory 1420 and a processor 1430; each component is coupled together through a bus system 1440. It can be understood that the bus system 1440 is used to realize the connection and communication between these components.
  • the bus system 1440 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 1440 in Figure 14. Among them,
  • the communication interface 1410 is used to receive and send signals during the process of sending and receiving information with other external network elements;
  • Memory 1420 used for storing computer programs
  • the processor 1430 is configured to, when running the computer program, execute:
  • the repeated points in the repeated point set are sorted according to the multiple types of attribute information.
  • the memory 1420 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
  • the volatile memory can be a random access memory (RAM), which is used as an external cache.
  • RAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate synchronous DRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous link DRAM
  • DRRAM direct RAM bus RAM
  • the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to be executed, or the hardware and software modules in the decoding processor are combined and executed.
  • the software module 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 or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in the memory 1420, and the processor 1430 reads the information in the memory 1420 and completes the steps of the above method in combination with its hardware.
  • the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing devices
  • PLD programmable logic devices
  • FPGA field programmable gate array
  • general processors controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
  • the technology described in this application can be implemented by a module (such as a process, function, etc.) that performs the functions described in this application.
  • the software code can be stored in a memory and executed by a processor.
  • the memory can be implemented in the processor or outside the processor.
  • FIG15 is a schematic diagram of the structure of a decoder provided by another embodiment of the present application.
  • the decoder 1500 of FIG15 includes a first decoding unit 1510 and a second decoding unit 1520 .
  • the first decoding unit 1510 is configured to parse the code stream and determine a value of the first parameter.
  • the second decoding unit 1520 is configured to perform a repeated point decoding operation if the value of the first parameter is a first value; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.
  • the first parameter is a parameter in an adaptive parameter set.
  • the decoder 1500 further includes a third decoding unit configured to determine a decoding method for a sign bit of a residual of a second attribute component of the current point based on a residual of a first attribute component of the current point if the current point to be decoded is a repeated point.
  • the third decoding unit is configured to determine not to decode the sign bit of the residual of the second attribute component if the residual of the first attribute component of the current point is 0.
  • the first attribute component is ranked higher than the second attribute component.
  • the first attribute component precedes the second attribute component; or, in the decoding order, the first attribute component includes all attribute components preceding the second attribute component.
  • the first attribute component and the second attribute component are different color components of the current point.
  • the decoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, the decoding order of the color components of the current point is RGB, the first attribute component includes the R component and the G component, and the second attribute component is the B component; or, the decoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, the decoding order of the color components of the current point is GRB, the first attribute component includes the G component and the R component, and the second attribute component is the B component; or, the decoding order of the color components of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, the decoding order of the color components of the current point is YUV, the first attribute component includes the Y component and the U component, and the second attribute component is the V component; or, the decoding order of the color components of the current point is U
  • one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.
  • the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the color information and then decode the attribute components corresponding to the reflectivity information, the first attribute component is the attribute component corresponding to the color information, and the second attribute component is the attribute component corresponding to the reflectivity information; or, the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the reflectivity information and then decode the attribute components corresponding to the color information, the first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information.
  • the decoder 1500 also includes a fourth decoding unit, which is configured to determine the first M repeated points of the current point if the current point to be decoded is a repeated point; wherein M is a positive integer; and use the first M repeated points as prediction reference points to perform attribute prediction on the current point.
  • the decoder 1500 further includes a fifth decoding unit configured to determine the reconstructed attribute information of the current point based on the prediction information and the attribute residual of the attribute information of the current point.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular.
  • the components in the present embodiment 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.
  • the above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this embodiment is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
  • an embodiment of the present application provides a computer-readable storage medium, which is applied to the decoder 1500.
  • the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the decoding method in the first embodiment is implemented.
  • the decoder 1600 may include: a communication interface 1610, a memory 1620 and a processor 1630; each component is coupled together through a bus system 1640. It can be understood that the bus system 1640 is used to realize the connection and communication between these components.
  • the bus system 1640 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 1640 in Figure 16. Among them,
  • the communication interface 1610 is used to receive and send signals during the process of sending and receiving information with other external network elements;
  • Memory 1620 used for storing computer programs
  • the processor 1630 is configured to, when running the computer program, execute:
  • the value of the first parameter is the first value
  • a repeated point decoding operation is performed; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.
  • the memory 1620 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
  • the volatile memory can be a random access memory (RAM), which is used as an external cache.
  • RAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate synchronous DRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous link DRAM
  • DRRAM direct RAM bus RAM
  • the processor 1630 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 1630 or the instruction in the form of software.
  • the above processor 1630 may be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general processor can be a microprocessor or the processor can also be any conventional processor, etc.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor can be executed.
  • the software module 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 or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in the memory 1620, and the processor 1630 reads the information in the memory 1620 and completes the steps of the above method in combination with its hardware.
  • the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application, or combinations thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing devices
  • PLD programmable logic devices
  • FPGA field programmable gate array
  • general-purpose processors controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application, or combinations thereof.
  • the technology described in the present application can be implemented by modules (such as processes, functions, etc.) that perform the functions described in the present application.
  • the software code can be stored in a memory and executed by a processor.
  • the memory can be implemented in the processor or outside the processor.
  • the processor 1630 is further configured to execute the decoding method described in the aforementioned second embodiment when running the computer program.
  • Fig. 17 is a schematic diagram of the structure of an encoder provided by another embodiment of the present application. As shown in Fig. 17 , the encoder 1700 includes: a determination unit 1710 and an encoding unit 1720 .
  • the determination unit 1710 is configured to determine whether to perform a repeated point encoding operation, and determine a value of the first parameter according to the determination result.
  • the encoding unit 1720 is configured to encode the value of the first parameter and write the obtained coded bits into the bitstream;
  • the value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point encoding operation, and the second value is used to indicate not to perform the repeated point encoding operation.
  • the first parameter is a parameter in an adaptive parameter set.
  • the encoding unit 1720 is further configured to: if the current point to be encoded is a repeated point, determine the encoding method of the sign bit of the residual of the second attribute component of the current point according to the residual of the first attribute component of the current point.
  • the encoding unit 1720 is configured to: if the residual of the first attribute component of the current point is 0, determine not to encode the sign bit of the residual of the second attribute component.
  • the first attribute component is ranked higher than the second attribute component.
  • the first attribute component precedes the second attribute component; or, in the encoding order, the first attribute component includes all attribute components that precede the second attribute component.
  • the first attribute component and the second attribute component are different color components of the current point.
  • the encoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, the encoding order of the color components of the current point is RGB, the first attribute component includes the R component and the G component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, the encoding order of the color components of the current point is GRB, the first attribute component includes the G component and the R component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, the encoding order of the color components of the current point is YUV, the first attribute component includes the Y component and the U component, and the second attribute component is the V component; or, the encoding order of the color
  • one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.
  • the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute component is the attribute component corresponding to the color information, and the second attribute component is the attribute component corresponding to the reflectivity information; or, the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information, the first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information.
  • the determination unit 1710 is configured as follows: if the current point to be encoded is a repeated point, then according to the repeated point order, the first M repeated points of the current point are determined; wherein M is a positive integer; and the first M repeated points are used as prediction reference points to perform attribute prediction on the current point.
  • the encoding unit 1720 is further configured to: determine the attribute residual of the current point based on the prediction information of the attribute information of the current point; quantize the attribute residual of the current point to obtain the quantized residual of the current point; encode the quantized residual and write the obtained encoded bits into the bit stream.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular.
  • the components in the present embodiment 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.
  • the above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in Based on this understanding, the technical solution of this embodiment, or the part that contributes to the prior art, or the whole or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk, etc., which can store program code.
  • an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 1700.
  • the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the decoding method described in any one of the aforementioned embodiments.
  • the encoder 1800 may include: a communication interface 1810, a memory 1820 and a processor 1830; each component is coupled together through a bus system 1840. It can be understood that the bus system 1840 is used to realize the connection and communication between these components.
  • the bus system 1840 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 1840 in Figure 18. Among them,
  • Communication interface 1810 used for receiving and sending signals during the process of sending and receiving information with other external network elements
  • a memory 1820 used for storing computer programs
  • the processor 1830 is configured to, when running the computer program, execute:
  • the value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point encoding operation, and the second value is used to indicate not to perform the repeated point encoding operation.
  • the memory 1820 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
  • the volatile memory can be a random access memory (RAM), which is used as an external cache.
  • RAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate synchronous DRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous link DRAM
  • DRRAM direct RAM bus RAM
  • the processor 1830 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 1830 or the instruction in the form of software.
  • the above processor 1830 can be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general processor can be a microprocessor or the processor can also be any conventional processor, etc.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor can be executed.
  • the software module 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 or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in the memory 1820, and the processor 1830 reads the information in the memory 1820 and completes the steps of the above method in combination with its hardware.
  • the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing devices
  • PLD programmable logic devices
  • FPGA field programmable gate array
  • general processors controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
  • the technology described in this application can be implemented by a module (such as a process, function, etc.) that performs the functions described in this application.
  • the software code can be stored in a memory and executed by a processor.
  • the memory can be implemented in the processor or outside the processor.
  • the processor 1830 is further configured to execute the encoding method described in the aforementioned second embodiment when running the computer program.
  • FIG19 is a schematic diagram of the structure of a coding and decoding system provided in an embodiment of the present application.
  • a coding and decoding system 1900 may include Encoder 1910 and decoder 1920 .
  • the encoder 1910 may be the encoder described in any one of the aforementioned embodiments
  • the decoder 1920 may be the decoder described in any one of the aforementioned embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Embodiments of the present application provide an encoding method, a decoding method, an encoder, a decoder, and a storage medium. The encoding method comprises: determining a repetition point set of a point cloud to be encoded, wherein repetition points in the repetition point set comprise a plurality types of attribute information; and on the basis of the plurality types of attribute information, sorting the repetition points in the repetition point set.

Description

编解码方法、编解码器以及存储介质Coding and decoding method, codec and storage medium 技术领域Technical Field

本申请涉及点云编解码技术领域,尤其涉及一种编解码方法、编解码器以及存储介质。The present application relates to the technical field of point cloud encoding and decoding, and in particular to an encoding and decoding method, a codec and a storage medium.

背景技术Background Art

相关的点云编码技术中,在完成几何编码之后,编码端会对重复点的属性信息进行排序(按照升序进行排序)。如果重复点具有多种属性信息,相关技术会对重复点的多种属性信息进行单独排序,这种排序方式可能会导致属性编码有损。In the related point cloud coding technology, after completing the geometric coding, the encoding end will sort the attribute information of the duplicate points (in ascending order). If the duplicate points have multiple attribute information, the related technology will sort the multiple attribute information of the duplicate points separately, which may cause the attribute coding to be lossy.

发明内容Summary of the invention

本申请实施例提供一种编解码方法、编解码器以及存储介质,有助于降低属性编码的损失,提升编码性能。下面对本申请涉及的各个方面进行介绍。The embodiments of the present application provide a coding method, a codec and a storage medium, which are helpful to reduce the loss of attribute coding and improve coding performance.

第一方面,提供一种编码方法,应用于编码器,所述方法包括:确定待编码点云的重复点集合;其中,所述重复点集合中的重复点包括多种属性信息;根据所述多种属性信息,对所述重复点集合中的重复点进行排序。In a first aspect, a coding method is provided, which is applied to an encoder, and the method comprises: determining a set of repeated points of a point cloud to be encoded; wherein the repeated points in the set of repeated points include multiple attribute information; and sorting the repeated points in the set of repeated points according to the multiple attribute information.

第二方面,提供一种解码方法,应用于解码器,所述方法包括:解析码流,确定第一参数的取值;如果所述第一参数的取值为第一值,则执行重复点解码操作;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。In a second aspect, a decoding method is provided, which is applied to a decoder, and the method includes: parsing a bit stream to determine a value of a first parameter; if the value of the first parameter is a first value, performing a repeated point decoding operation; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.

第三方面,提供一种编码方法,应用于编码器,所述方法包括:确定是否执行重复点编码操作;根据确定结果确定第一参数的取值;对所述第一参数的取值进行编码,将所得到的编码比特写入码流;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作,所述第二值用于指示不执行所述重复点编码操作。According to a third aspect, a coding method is provided, which is applied to an encoder, and the method includes: determining whether to perform a repeated point coding operation; determining a value of a first parameter according to a determination result; encoding the value of the first parameter, and writing the obtained coded bits into a bit stream; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point coding operation is performed, and the second value is used to indicate that the repeated point coding operation is not performed.

第四方面,提供一种编码器,所述编码器包括:确定单元,配置为确定待编码点云的重复点集合;其中,所述重复点集合中的重复点包括多种属性信息;排序单元,配置为根据所述多种属性信息,对所述重复点集合中的重复点进行排序。In a fourth aspect, an encoder is provided, comprising: a determination unit configured to determine a set of repeated points in a point cloud to be encoded; wherein the repeated points in the set of repeated points include multiple attribute information; and a sorting unit configured to sort the repeated points in the set of repeated points according to the multiple attribute information.

第五方面,提供一种编码器,所述编码器包括:存储器,用于存储计算机程序;处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。According to a fifth aspect, an encoder is provided, comprising: a memory for storing a computer program; and a processor for executing the method described in the first aspect when running the computer program.

第六方面,提供一种解码器,所述解码器包括:第一解码单元,配置为解析码流,确定第一参数的取值;第二解码单元,配置为如果所述第一参数的取值为第一值,则执行重复点解码操作;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。In a sixth aspect, a decoder is provided, comprising: a first decoding unit, configured to parse a bitstream and determine a value of a first parameter; a second decoding unit, configured to perform a repeated point decoding operation if the value of the first parameter is a first value; wherein the value of the first parameter comprises a first value and a second value, the first value being used to indicate that the repeated point decoding operation is to be performed, and the second value being used to indicate that the repeated point decoding operation is not to be performed.

第七方面,提供一种解码器,所述解码器包括:存储器,用于存储计算机程序;处理器,用于在运行所述计算机程序时,执行如第二方面所述的方法。According to a seventh aspect, a decoder is provided, comprising: a memory for storing a computer program; and a processor for executing the method described in the second aspect when running the computer program.

第八方面,提供一种编码器,所述编码器包括:确定单元,配置为确定是否执行重复点编码操作,并根据确定结果确定第一参数的取值;编码单元,配置为对所述第一参数的取值进行编码,将所得到的编码比特写入码流;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作,所述第二值用于指示不执行所述重复点编码操作。In an eighth aspect, an encoder is provided, comprising: a determination unit, configured to determine whether to perform a repeated point coding operation, and determine a value of a first parameter based on a determination result; an encoding unit, configured to encode the value of the first parameter, and write the obtained coded bits into a bit stream; wherein the value of the first parameter comprises a first value and a second value, the first value is used to indicate that the repeated point coding operation is performed, and the second value is used to indicate that the repeated point coding operation is not performed.

第九方面,提供一种编码器,所述编码器包括:存储器,用于存储计算机程序;处理器,用于在运行所述计算机程序时,执行如第三方面所述的方法。In a ninth aspect, an encoder is provided, comprising: a memory for storing a computer program; and a processor for executing the method described in the third aspect when running the computer program.

第十方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如第一方面至第三方面中任一项所述的方法。In a tenth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed, the method as described in any one of the first to third aspects is implemented.

重复点包含多种属性信息时,相关技术对多种属性信息进行单独排序,这样可能会破坏多种属性信息之间的关联性,从而导致属性编码有损。不同于相关技术,本申请实施例并基于第一属性信息对重复点的多种属性信息统一进行排序,从而可以避免破坏多种属性信息之间的关联性,降低属性编码的编码损失,提升编码性能。When a repeated point contains multiple attribute information, the related art sorts the multiple attribute information separately, which may destroy the correlation between the multiple attribute information, thereby causing attribute coding loss. Different from the related art, the embodiment of the present application uniformly sorts the multiple attribute information of the repeated point based on the first attribute information, thereby avoiding destroying the correlation between the multiple attribute information, reducing the coding loss of the attribute coding, and improving the coding performance.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1A为一种三维点云图像示意图。 FIG. 1A is a schematic diagram of a three-dimensional point cloud image.

图1B为一种三维点云图像的局部放大图。FIG. 1B is a partially enlarged view of a three-dimensional point cloud image.

图2A为一种点云图像的六个观看角度示意图。FIG. 2A is a schematic diagram of six viewing angles of a point cloud image.

图2B为一种点云图像对应的数据存储格式示意图。FIG. 2B is a schematic diagram of a data storage format corresponding to a point cloud image.

图3为一种点云编解码的网络架构示意图。FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding.

图4为子节点的参考节点的示意图。FIG. 4 is a schematic diagram of a reference node of a child node.

图5为当前节点层的邻居节点的占位情况的示意图。FIG. 5 is a schematic diagram showing the occupancy of neighbor nodes of the current node layer.

图6为子块与相邻父块的位置关系示意图。FIG. 6 is a schematic diagram showing the positional relationship between a child block and an adjacent parent block.

图7为带莫顿序号的子块与相邻父块的位置关系示意图。FIG. 7 is a schematic diagram showing the positional relationship between a child block with a Morton sequence number and an adjacent parent block.

图8为预测树结构示意图。FIG8 is a schematic diagram of the prediction tree structure.

图9为AVS编解码框架图。Figure 9 is a diagram of the AVS codec framework.

图10为本申请第一实施例提供的编码方法的示意性流程图。FIG10 is a schematic flowchart of the encoding method provided in the first embodiment of the present application.

图11为本申请第二实施例提供的解码方法的示意性流程图。FIG11 is a schematic flowchart of a decoding method provided in the second embodiment of the present application.

图12为本申请第二实施例提供的编码方法的示意性流程图。FIG12 is a schematic flowchart of the encoding method provided in the second embodiment of the present application.

图13为本申请一个实施例提供的编码器的结构示意图。FIG. 13 is a schematic diagram of the structure of an encoder provided in one embodiment of the present application.

图14为本申请另一实施例提供的编码器的结构示意图。FIG14 is a schematic diagram of the structure of an encoder provided in another embodiment of the present application.

图15为本申请一个实施例提供的解码器的结构示意图。FIG15 is a schematic diagram of the structure of a decoder provided in one embodiment of the present application.

图16为本申请另一实施例提供的解码器的结构示意图。FIG16 is a schematic diagram of the structure of a decoder provided in another embodiment of the present application.

图17为本申请另一实施例提供的编码器的结构示意图。FIG17 is a schematic diagram of the structure of an encoder provided in another embodiment of the present application.

图18为本申请另一实施例提供的编码器的结构示意图。FIG18 is a schematic diagram of the structure of an encoder provided in another embodiment of the present application.

图19为本申请实施例提供的编解码系统的结构示意图。FIG. 19 is a schematic diagram of the structure of the encoding and decoding system provided in an embodiment of the present application.

具体实施方式DETAILED DESCRIPTION

为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。It should also be pointed out that the terms "first\second\third" involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.

点云(Point Cloud)是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。Point Cloud is a three-dimensional representation of the surface of an object. Point cloud (data) on the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.

点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集,图1A展示了三维点云图像和图1B展示了三维点云图像的局部放大图,可以看到点云表面是由分布稠密的点所组成的。A point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene. FIG1A shows a three-dimensional point cloud image and FIG1B shows a partial magnified view of the three-dimensional point cloud image. It can be seen that the point cloud surface is composed of densely distributed points.

二维图像在每一个像素点均有信息表达,分布规则,因此不需要额外记录其位置信息;然而点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。与二维图像类似,采集过程中每一个位置均有对应的属性信息,通常为RGB颜色值,颜色值反映物体的色彩;对于点云来说,每一个点所对应的属性信息除了颜色信息以外,还有比较常见的是反射率(reflectance)值,反射率值反映物体的表面材质。因此,点云数据通常包括点的位置信息和点的属性信息。其中,点的位置信息也可称为点的几何信息。例如,点的几何信息可以是点的三维坐标信息(x,y,z)。点的属性信息可以包括颜色信息和/或反射率等等。例如,反射率可以是一维反射率信息(r);颜色信息可以是任意一种色彩空间上的信息,或者颜色信息也可以是三维颜色信息,如RGB信息。在这里,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差。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 additionally; however, the distribution of points in point clouds in three-dimensional space is random and irregular, so it is necessary to record the position of each point in space in order to fully express a point cloud. Similar to two-dimensional images, each position in the acquisition process has corresponding attribute information, usually RGB color values, which reflect the color of the object; for point clouds, in addition to color information, the attribute information corresponding to each point is also commonly reflectance (reflectance) value, which reflects the surface material of the object. Therefore, point cloud data usually includes point location information and point attribute information. Among them, point location information can also be called point geometry information. For example, point geometry information can be the three-dimensional coordinate information (x, y, z) of the point. Point attribute information can include color information and/or reflectivity, etc. For example, reflectivity can be one-dimensional reflectivity information (r); color information can be information on any color space, or color information can also be three-dimensional color information, such as RGB information. Here, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B). For another example, the color information may be luminance and chrominance (YCbCr, YUV) information, where Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.

根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的反射率值。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的三维颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的反射率值和点的三维颜色信息。For a point cloud obtained according to the principle of laser measurement, the points in the point cloud may include the three-dimensional coordinate information of the points and the reflectivity value of the points. For another example, for a point cloud obtained according to the principle of photogrammetry, the points in the point cloud may include the three-dimensional coordinate information of the points and the three-dimensional color information of the points. For another example, a point cloud obtained by combining the principles of laser measurement and photogrammetry may include the three-dimensional coordinate information of the points, the reflectivity value of the points and the three-dimensional color information of the points.

如图2A和图2B所示为一幅点云图像及其对应的数据存储格式。其中,图2A提供了点云图像的 六个观看角度,图2B由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容。例如,点云为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维坐标信息(x,y,z)和三维颜色信息(r,g,b)。As shown in Figures 2A and 2B, a point cloud image and its corresponding data storage format are shown. Six viewing angles,Figure 2B consists 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.,For example, the point cloud is in the ".ply" format, represented by ASCII code,,the total number of points is 207242, and each point has three-dimensional,coordinate information (x,y,z) and three-dimensional color information (r,g,b).

点云可以按获取的途径分为:Point clouds can be divided into the following categories according to the way they are obtained:

静态点云:即物体是静止的,获取点云的设备也是静止的;Static point cloud: the object is stationary, and the device that obtains the point cloud is also stationary;

动态点云:物体是运动的,但获取点云的设备是静止的;Dynamic point cloud: The object is moving, but the device that obtains the point cloud is stationary;

动态获取点云:获取点云的设备是运动的。Dynamic point cloud acquisition: The device used to acquire the point cloud is in motion.

例如,按点云的用途分为两大类:For example, point clouds can be divided into two categories according to their usage:

类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;Category 1: Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, disaster relief 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.

点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。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.

点云的采集主要有以下途径:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。Point clouds can be collected mainly through the following methods: computer generation, 3D laser scanning, 3D photogrammetry, etc. Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and can obtain millions of point clouds per second; 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second. These technologies reduce the cost and time cycle of point cloud data acquisition and improve the accuracy of data. The change in the way point cloud data is acquired makes it possible to acquire a large amount of point cloud data. With the growth of application demand, the processing of massive 3D point cloud data encounters bottlenecks in storage space and transmission bandwidth.

示例性地,以帧率为30帧每秒(fps)的点云视频为例,每帧点云的点数为70万,每个点具有坐标信息xyz(float)和颜色信息RGB(uchar),则10s点云视频的数据量大约为0.7million×(4Byte×3+1Byte×3)×30fps×10s=3.15GB,其中,1Byte为10bit;而YUV采样格式为4:2:0,帧率为24fps的1280×720二维视频,其10s的数据量约为1280×720×12bit×24fps×10s≈0.33GB,10s的两视角三维视频的数据量约为0.33×2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。For example, taking a point cloud video with a frame rate of 30 frames per second (fps) as an example, the number of points in each point cloud frame is 700,000, and each point has coordinate information xyz (float) and color information RGB (uchar). The data volume of a 10s point cloud video is about 0.7 million × (4Byte × 3 + 1Byte × 3) × 30fps × 10s = 3.15GB, where 1Byte is 10bit; and a 1280 × 720 two-dimensional video with a YUV sampling format of 4:2:0 and a frame rate of 24fps, the data volume of 10s is about 1280 × 720 × 12bit × 24fps × 10s ≈ 0.33GB, and the data volume of a 10s two-view three-dimensional video is about 0.33 × 2 = 0.66GB. It can be seen that the data volume of a point cloud video far exceeds that of a two-dimensional video and a three-dimensional video of the same length. Therefore, in order to better realize data management, save server storage space, and reduce the transmission traffic and transmission time between the server and the client, point cloud compression has become a key issue in promoting the development of the point cloud industry.

也就是说,由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。That is to say, since the point cloud is a collection of massive points, storing the point cloud will not only consume a lot of memory, but also be inconvenient for transmission. There is also not enough bandwidth to support direct transmission of the point cloud at the network layer without compression. Therefore, the point cloud needs to be compressed.

目前,可对点云进行压缩的点云编码框架可以是运动图像专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)编解码框架,也可以是音视频编解码标准(Audio Video Coding Standard,AVS)提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,其可以是基于点云压缩测试平台(Test Model Compression 13,TMC13),V-PCC编解码框架可用于针对第二类动态点云进行压缩,其可以是基于点云压缩测试平台(Test Model Compression 2,TMC2)。故G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。At present, the point cloud coding framework that can compress point clouds can be the geometry-based point cloud compression (G-PCC) codec framework or the video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Coding Standard (AVS). The G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, which can be based on the point cloud compression test platform (Test Model Compression 13, TMC13), and the V-PCC codec framework can be used to compress the second type of dynamic point cloud, which can be based on the point cloud compression test platform (Test Model Compression 2, TMC2). Therefore, the G-PCC codec framework is also called point cloud codec TMC13, and the V-PCC codec framework is also called point cloud codec TMC2.

本申请实施例提供了一种包含解码方法和编码方法的点云编解码系统的网络架构,图3为本申请实施例提供的一种点云编解码的网络架构示意图。An embodiment of the present application provides a network architecture of a point cloud encoding and decoding system including a decoding method and an encoding method. FIG3 is a schematic diagram of a network architecture of a point cloud encoding and decoding system provided by an embodiment of the present application.

如图3所示,该网络架构包括一个或多个电子设备13至1N和通信网络01,其中,电子设备13至1N可以通过通信网络01进行视频交互。电子设备在实施的过程中可以为各种类型的具有点云编解码功能的设备,例如,所述电子设备可以包括手机、平板电脑、个人计算机、个人数字助理、导航仪、数字电话、视频电话、电视机、传感设备、服务器等,本申请实施例不作限制。本申请实施例中的解码器或编码器可以为上述电子设备。本申请实施例中的电子设备具有点云编解码功能,一般包括点云编码器(即编码器)和点云解码器(即解码器)。As shown in Figure 3, the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01. During the implementation process, the electronic device can be various types of devices with point cloud encoding and decoding functions. For example, the electronic device can include a mobile phone, a tablet computer, a personal computer, a personal digital assistant, a navigator, a digital phone, a video phone, a television, a sensor device, a server, etc., which is not limited by the embodiments of the present application. The decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device. The electronic device in the embodiment of the present application has a point cloud encoding and decoding function, generally including a point cloud encoder (i.e., an encoder) and a point cloud decoder (i.e., a decoder).

下文对AVS的编解码框架进行介绍。The following introduces the AVS encoding and decoding framework.

在点云AVS编码框架中,点云的几何信息和每点所对应的属性信息是分开编码的。在编码过程中,首先对点云的几何信息进行坐标转换,使点云包含在一个包围盒(bounding box)中。在预处理过程之前,会根据参数配置来决定是否要将整个点云序列划分成多个点云片(slice),对于每个划分的点云片将其视为单个独立点云串行处理。预处理过程包含量化和移除重复点。量化主要起到缩放的作用,由于 量化取整,使得一部分点的几何信息相同。针对这部分重复点,可以根据参数来决定是否移除重复点。接下来,可以按照广度优先遍历的顺序对包围盒进行划分(如可以基于八叉树/四叉树/二叉树进行划分),然后对每个节点的占位码进行编码。在基于八叉树的几何编码框架中,将包围盒依次划分得到子立方体,对非空的(包含点云中的点)子立方体继续进行划分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分。在几何无损编码的情况下,对叶子节点中所包含的点数进行编码,最终完成几何八叉树的编码,生成二进制码流。在基于八叉树的几何解码过程中,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1x1x1的单位立方体时停止划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何重构点云信息。In the point cloud AVS encoding framework, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately. During the encoding process, the geometric information of the point cloud is first transformed so that the point cloud is contained in a bounding box. Before the preprocessing process, it is decided whether to divide the entire point cloud sequence into multiple point cloud slices based on the parameter configuration. Each divided point cloud slice is treated as a single independent point cloud serial processing. The preprocessing process includes quantization and removal of duplicate points. Quantization mainly plays a role in scaling. Quantization and rounding make the geometric information of some points the same. For these duplicate points, it can be decided whether to remove the duplicate points according to the parameters. Next, the bounding box can be divided in the order of breadth-first traversal (such as based on octree/quadtree/binary tree), and then the placeholder code of each node is encoded. In the octree-based geometric coding framework, the bounding box is divided into sub-cubes in sequence, and the non-empty (containing 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. In the case of geometric lossless coding, the number of points contained in the leaf node is encoded, and the encoding of the geometric octree is finally completed to generate a binary code stream. In the octree-based geometric decoding process, the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and the nodes are continuously divided in sequence until the division is a 1x1x1 unit cube, and the number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.

目前的AVS几何编码中,存在两种编码方式,一种是八叉树编码,另外一种是预测树编码。下文对两种编码方式分别进行介绍。There are two encoding methods in the current AVS geometric coding, one is octree encoding and the other is prediction tree encoding. The following introduces the two encoding methods respectively.

八叉树编码Octree encoding

如果采用八叉树编码,则存在两种上下文编码模型:上下文模型一和上下文模型二。上下文模型一可用于cat1-A和cat2点云序列;上下文模型二可用于cat1-B和cat3序列。If octree encoding is used, there are two context encoding models: context model 1 and context model 2. Context model 1 can be used for cat1-A and cat2 point cloud sequences; context model 2 can be used for cat1-B and cat3 sequences.

一、上下文模型一1. Context Model 1

该上下文模型包括当前点的子层邻居预测以及当前点层的邻居预测。The context model includes the sub-layer neighbor predictions of the current point and the neighbor predictions of the current point layer.

1)当前点的子层邻居预测1) Sub-layer neighbor prediction of the current point

在八叉树广度优先遍历的划分方式下,编码当前点的子节点时能够获得的邻居信息包括左前下三个方向的邻居子节点。子节点层的上下文模型设计如下:对于待编码子节点层,查找与待编码子节点同层的左前下方向3个共面、3个共线、1个共点节点以及节点边长最短的维度上负方向距离当前待编码子节点两个节点边长处的节点的占位情况。以X维度上的节点边长最短为例,各子节点选择的参考节点如图4所示。图4中的虚线框节点为当前节点,灰色节点为当前待编码子节点,实线框节点为各子节点选取的参考节点。Under the octree breadth-first traversal partitioning method, the neighbor information that can be obtained when encoding the child node of the current point includes the neighbor child nodes in the three directions of left, front and bottom. The context model of the child node layer is designed as follows: for the child node layer to be encoded, find the occupancy of the three coplanar, three colinear, and one co-point nodes in the left, front and bottom direction of the same layer as the child node to be encoded, and the node in the negative direction of the dimension with the shortest node side length and the distance of two node side lengths from the current child node to be encoded. Taking the node with the shortest side length in the X dimension as an example, the reference node selected by each child node is shown in Figure 4. The dotted box node in Figure 4 is the current node, the gray node is the current child node to be encoded, and the solid box node is the reference node selected by each child node.

前文提到的3个共面、3个共线节点以及节点边长最短的维度上负方向距离当前待编码子节点两个节点边长处的节点(共7个节点)的占位情况详细考虑,共有27=128种情况。如果不全为不占据,则共有27-1=127种情况,可以为每种情况分配1个上下文。若该7个节点全为不占据,则考虑共点邻居节点占位情况。该共点邻居节点的占位情况有2种可能:占据或不占据。可以为该共点邻居节点被占据的情况单独分配1个上下文,若该共点邻居为不占据,则考虑接下来要讲述的当前节点层邻居的占位情况。即待编码子节点层邻居一共对应127+2-1=128个上下文。The occupancy of the 3 coplanar and 3 colinear nodes mentioned above and the nodes at the negative direction of the dimension with the shortest node side length and two node side lengths away from the current sub-node to be encoded (a total of 7 nodes) is considered in detail, and there are 2 7 = 128 cases. If not all are unoccupied, there are 2 7 -1 = 127 cases, and 1 context can be allocated for each case. If all 7 nodes are unoccupied, the occupancy of the common neighbor nodes is considered. There are 2 possibilities for the occupancy of the common neighbor nodes: occupied or unoccupied. A separate context can be allocated for the case where the common neighbor node is occupied. If the common neighbor is unoccupied, consider the occupancy of the neighbors at the current node layer to be described next. That is, the neighbors at the sub-node layer to be encoded correspond to a total of 127 + 2-1 = 128 contexts.

2)当前节点层的邻居预测2) Neighbor prediction of the current node layer

如果待编码子节点的8个同层参考节点都未被占据,则考虑如图5所示的当前节点层的四组邻居的占位情况。图5中的虚线框节点为当前节点,实线边框为邻居节点。If the eight reference nodes in the same layer of the subnode to be encoded are not occupied, the occupancy of the four groups of neighbors in the current node layer is considered as shown in Figure 5. The dotted frame node in Figure 5 is the current node, and the solid frame node is the neighbor node.

对于当前节点层,可以按照下文描述的步骤1和步骤2确定上下文。For the current node layer, the context may be determined according to steps 1 and 2 described below.

在步骤1,首先考虑当前节点的右上后3个共面邻居。当前节点右上后共面的3个邻居的占位情况共有23=8种可能,为不全为不占据的情况各分配一个上下文,再考虑待编码子节点位于当前节点的位置,则该组邻居节点共提供(8-1)×8=56个上下文。如果当前点的右上后3个共面的邻居都不占据,那么继续考虑当前节点层其余三组邻居。In step 1, first consider the three coplanar neighbors to the upper right of the current node. There are 2 3 = 8 possible occupancy situations of the three coplanar neighbors to the upper right of the current node. For the cases where all of them are not occupied, a context is assigned to each. Considering that the child node to be encoded is located at the position of the current node, this group of neighbor nodes provides a total of (8-1) × 8 = 56 contexts. If none of the three coplanar neighbors to the upper right of the current point are occupied, then continue to consider the remaining three groups of neighbors at the current node level.

在步骤2,考虑最近被占据的节点与当前节点的距离。In step 2, the distance of the most recently occupied node from the current node is considered.

邻居节点分布与距离的对应关系可以如表1所示。The corresponding relationship between neighbor node distribution and distance can be shown in Table 1.

表1当前节点层占位情况与距离的对应关系
Table 1 Correspondence between the current node layer occupancy and distance

由表1可知,距离共有3个取值。为这3个取值情况各分配1个上下文,再考虑待编码子节点位于当前节点的位置情况,共3×8=24个上下文。As shown in Table 1, the distance has 3 values. One context is allocated to each of the 3 values, and considering the position of the sub-node to be encoded at the current node, there are 3×8=24 contexts in total.

至此,上下文模型一总共分配了128+56+24=208个上下文。So far, context model one has allocated a total of 128+56+24=208 contexts.

二、上下文模型二2. Context Model 2

该上下文模型使用双层上下文参考关系配置。如式(1)所示,第一层是与当前待编码子块的父节点已编码相邻块的占用情况(即ctxIdxParent),第二层是与当前待编码子块同一深度下的相邻已编码块的占用情况(即ctxIdxChild)。 The context model uses a two-layer context reference relationship configuration. As shown in formula (1), the first layer is the occupancy of the parent node of the current sub-block to be encoded (i.e., ctxIdxParent), and the second layer is the occupancy of the adjacent encoded blocks at the same depth as the current sub-block to be encoded (i.e., ctxIdxChild).

首先,对于每一个待编码子块,第二层的ctxIdxChild如式(2)所示,表示与当前子块距离为1的3个已编码子块的占用情况。
idx=LUT[ctxIdxParent][ctxIdxChild]       (1)

First, for each sub-block to be encoded, the ctxIdxChild of the second layer is as shown in formula (2): Indicates that the current sub-block Occupancy of the three coded sub-blocks with a distance of 1.
idx=LUT[ctxIdxParent][ctxIdxChild] (1)

其次,第一层的ctxIdxParent,对于不同子块的相对位置,通过查表方式寻找与其共面和共线的相邻父块,并通过其占用情况根据式(3)计算得到ctxIdxParent。如图6所示,每个子图显示了第i个子块找到的6个相邻父块的相对位置关系,其中包含3个共面父块(Pi,0,Pi,1,Pi,2)和3个共线父块(Pi,3,Pi,4,Pi,5)。每个子块和相邻父块位置关系可以通过表2方式获取。表2中的数字对应图7中的莫顿序号,该方式考虑了不同子块位置以及几何上的中心旋转对称性。从图7可以看出,以当前块为中心,该方法拥有更大的感受野,可以利用周围已编码的最多18个相邻父块。式(3)中采用的方式是3个共面父块占用情况的排列组合以及3个共线父块占用的个数之和。Secondly, for the first layer ctxIdxParent, for the relative positions of different sub-blocks, the adjacent parent blocks that are coplanar and colinear with them are found by table lookup, and the ctxIdxParent is calculated according to the occupancy of the adjacent parent blocks according to formula (3). As shown in Figure 6, each sub-graph shows the relative position relationship of the 6 adjacent parent blocks found by the i-th sub-block, including 3 coplanar parent blocks (P i,0 ,P i,1 ,P i,2 ) and 3 colinear parent blocks (P i,3 ,P i,4 ,P i,5 ). The position relationship between each sub-block and the adjacent parent block can be obtained by the method of Table 2. The numbers in Table 2 correspond to the Morton sequence in Figure 7. This method takes into account the different sub-block positions and the geometric center rotation symmetry. As can be seen from Figure 7, with the current block as the center, this method has a larger receptive field and can use up to 18 adjacent parent blocks that have been encoded around it. The method used in formula (3) is the combination of the occupancy of the 3 coplanar parent blocks and the sum of the number of occupancy of the 3 colinear parent blocks.

因此,该方法中使用的上下文数量最多为23×25=256个。Therefore, the number of contexts used in this method is at most 2 3 ×2 5 =256.

表2子块i和其相邻父块j的关系。
Table 2 Relationship between child block i and its adjacent parent block j.

预测树编码Prediction Tree Encoding

如果采用预测树编码,首先在编码端利用点云的几何信息进行莫顿码排序,其次利用KD-Tree对点云的几何信息进行预测编码。预测树编码类似一个单链结构,利用父节点来对子节点的几何信息进行预测编码。如图8所示,预测树采用单链结构:除了唯一的叶节点外,每个树节点只有一个子节点。除了预测树的根节点可以由缺省值预测外,其他节点可以由其父节点提供几何预测值。If prediction tree coding is used, the geometric information of the point cloud is first used at the encoding end to perform Morton code sorting, and then the geometric information of the point cloud is predicted and encoded using KD-Tree. Prediction tree coding is similar to a single chain structure, using the parent node to predict the geometric information of the child node. As shown in Figure 8, the prediction tree adopts a single chain structure: except for the only leaf node, each tree node has only one child node. Except for the root node of the prediction tree, which can be predicted by the default value, other nodes can be provided with geometric prediction values by their parent nodes.

在进行多叉树几何编码过程中,当当前块同时满足如下三个条件时生效孤立点直接编码模式。During the multitree geometric coding process, the isolated point direct coding mode is effective when the current block satisfies the following three conditions at the same time.

条件1:几何头信息中孤立点直接编码模式标识符为1。Condition 1: The isolated point direct encoding mode identifier in the geometry header information is 1.

条件2:当前块内仅含有一个点云数据点。Condition 2: The current block contains only one point cloud data point.

条件3:当前块内的点的待编码莫顿码位数之和大于未到达最小边长方向的数目的二倍。Condition 3: The sum of the number of Morton code bits to be encoded for the points in the current block is greater than twice the number of directions that have not reached the minimum side length.

当上述三个条件均成立时进入该分支。引入一个标识位(flag)标识当前节点是否使用孤立点编码模式。该flag可以使用一个上下文(context)进行熵编码。如果flag为真(True),则使用孤立点模式,直接编码该点的几何坐标,同时结束八叉树划分。如果flag为假(False),则编码占用码,并继续八叉树划分。This branch is entered when all three conditions above are met. A flag is introduced to indicate whether the current node uses the isolated point coding mode. The flag can be entropy coded using a context. If the flag is true, the isolated point mode is used to directly encode the geometric coordinates of the point, and the octree division is terminated. If the flag is false, the occupancy code is encoded and the octree division continues.

在特定情况下,该flag可以推断为False而不用编码。如果当前块的父块已经可以允许使用孤立点编码模式,并且当前块是父块的唯一个子节点,那么当前块中一定不包含孤立点。因此,在这种条件下可以省去编码flag的比特。In certain cases, this flag can be inferred to be False and not encoded. If the parent block of the current block already allows the use of isolated point coding mode, and the current block is the only child node of the parent block, then the current block must not contain isolated points. Therefore, under this condition, the bits for encoding the flag can be omitted.

在编码了flag标识位之后,由于当前块内仅含有一个点云中的一个点,则直接编码该点的几何坐标对应莫顿码的未编码的比特。After encoding the flag identification bit, since the current block only contains one point in a point cloud, the geometric coordinates of the point corresponding to the uncoded bits of the Morton code are directly encoded.

假设点的剩余编码比特的深度为nodeSizeLog2,则该点的具体编码过程如下:
for(int axisIdx=0;axisIdx<3;++axisIdx)
for(int mask=(1<<nodeSizeLog2[axisIdx])>>1;mask;mask>>1)
    encodePosBit(!!(pointPos[axisIdx]&mask));
Assuming that the depth of the remaining coding bits of a point is nodeSizeLog2, the specific encoding process of the point is as follows:
for(int axisIdx=0; axisIdx<3; ++axisIdx)
for(int mask=(1<<nodeSizeLog2[axisIdx])>>1;mask;mask>>1)
encodePosBit(!!(pointPos[axisIdx]&mask));

几何编码完成后,对几何信息进行重建。目前,属性编码主要针对颜色信息和/或反射率信息进行。首先判断是否进行颜色空间的转换,若进行颜色空间转换,则将颜色信息从RGB颜色空间转换到YUV 颜色空间。然后,利用原始点云对重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中分为两个模块:属性预测与属性变换。属性预测过程如下:首先对点云进行重排序,然后进行差分预测。其中重排序的方法有两种:莫顿重排序和希尔伯特(Hilbert)重排序。对于cat1A序列与cat2序列,对其进行Hilbert重排序;对于cat1B序列与cat3序列,对其进行莫顿重排序。对排序之后的点云使用差分方式进行属性预测,最后对预测残差进行量化并熵编码,生成二进制码流。属性变换过程如下:首先对点云属性做小波变换,对变换系数做量化;其次通过逆量化、逆小波变换得到属性重建值;然后计算原始属性和属性重建值的差得到属性残差并对其量化;最后将量化后的变换系数和属性残差进行熵编码,生成二进制码流。图9所示是AVS编解码器框架图。After the geometric encoding is completed, the geometric information is reconstructed. At present, attribute encoding is mainly performed on color information and/or reflectivity information. First, determine whether to perform color space conversion. If color space conversion is performed, convert the color information from RGB color space to YUV. Color space. Then, the original point cloud is used to recolor the reconstructed point cloud so that the uncoded attribute information corresponds to the reconstructed geometric information. In color information encoding, it is divided into two modules: attribute prediction and attribute transformation. The attribute prediction process is as follows: first, the point cloud is reordered, and then differential prediction is performed. There are two reordering methods: Morton reordering and Hilbert reordering. For cat1A sequence and cat2 sequence, Hilbert reordering is performed; for cat1B sequence and cat3 sequence, Morton reordering is performed. The attribute prediction of the sorted point cloud is performed using a differential method, and finally the prediction residual is quantized and entropy encoded to generate a binary code stream. The attribute transformation process is as follows: first, wavelet transform is performed on the point cloud attributes, and the transform coefficients are quantized; secondly, the attribute reconstruction value is obtained by inverse quantization and inverse wavelet transform; then the difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual and quantize it; finally, the quantized transform coefficients and attribute residuals are entropy encoded to generate a binary code stream. Figure 9 shows the AVS codec framework diagram.

下文对AVS-PCC的通用测试条件进行介绍。The following is an introduction to the general test conditions of AVS-PCC.

测试条件共4种:There are 4 test conditions:

条件1:几何位置有限度有损、属性有损;Condition 1: The geometric position is limitedly lossy and the attributes are lossy;

条件2:几何位置无损、属性有损;Condition 2: The geometric position is lossless, but the attributes are lossy;

条件3:几何位置无损、属性有限度有损;以及Condition 3: lossless geometry and limited loss of attributes; and

条件4:几何位置无损、属性无损。Condition 4: The geometric position and attributes are lossless.

通用测试序列包括Cat1A,Cat1B,Cat1C,Cat2-frame和Cat3共五类,其中Cat1A、Cat2-frame点云只包含反射率属性信息,Cat1B、Cat3点云只包含颜色属性信息,Cat1C点云同时包含颜色和反射率属性信息。The general test sequences include five categories: Cat1A, Cat1B, Cat1C, Cat2-frame and Cat3. Cat1A and Cat2-frame point clouds only contain reflectance attribute information, Cat1B and Cat3 point clouds only contain color attribute information, and Cat1C point cloud contains both color and reflectance attribute information.

属性编码的技术路线有多种,并可以以属性压缩所采用的算法进行区分。下面介绍几种常用的技术路线。There are many technical routes for attribute encoding, and they can be distinguished by the algorithm used for attribute compression. The following introduces several commonly used technical routes.

技术路线1:预测分支,属性压缩采用基于帧内预测的方法Technical route 1: prediction branch, attribute compression adopts intra-frame prediction-based method

在编码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点。在处理过程中,先采用预测算法得到属性预测值,根据属性值和属性预测值得到属性残差,然后对属性残差进行量化,生成量化残差,最后对量化残差进行编码。At the encoding end, the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.). During the processing, 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 the quantized residual, and finally the quantized residual is encoded.

在解码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点。在处理过程中,先采用预测算法得到属性预测值,然后解码获取量化残差,再对量化残差进行反量化,最后根据属性预测值和反量化后的残差,获得属性重建值。At the decoding end, the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.). During the processing, the prediction algorithm is first used to obtain the attribute prediction value, then the decoding is performed to obtain the quantized residual, and then the quantized residual is dequantized, and finally the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized residual.

技术路线2:预测变换分支—资源受限,属性压缩采用基于帧内预测和离散余弦变换(Discrete Cosine Transform,DCT)变换的方法Technical route 2: Prediction transformation branch - limited resources, attribute compression uses a method based on intra-frame prediction and discrete cosine transform (DCT) transformation.

技术路线2中,在编码量化后的变换系数时,有最大点数X(如4096)的限制,即最多每X点为一组进行编码。In technical route 2, when encoding the quantized transform coefficients, there is a limit of a maximum number of points X (eg, 4096), that is, at most every X points is encoded as a group.

在编码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点。在处理过程中,先将整个点云分成长度最大为Y(如2)的若干小组,然后将这若干个小组组合成若干个大组(每个大组中的点数不超过X,如4096)。接着,采用预测算法得到属性预测值,并根据属性值和属性预测值得到属性残差。然后,以小组为单位对属性残差进行DCT变换,生成变换系数,再对变换系数进行量化,生成量化后的变换系数,最后以大组为单位对量化后的变换系数进行编码。At the encoding end, the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.). During the processing, the entire point cloud is first 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). Next, the prediction algorithm is used to obtain the attribute prediction value, and the attribute residual is obtained based on the attribute value and the attribute prediction value. Then, the attribute residual is DCT transformed 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.

在解码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点。在处理过程中,先将整个点云分成长度最大为Y(如2)的若干小组,然后将这若干个小组组合成若干个大组(每个大组中的点数不超过X,如4096)。接着,以大组为单位解码获取量化后的变换系数,然后采用预测算法得到属性预测值,再以小组为单位对量化后的变换系数进行反量化、反变换,最后根据属性预测值和反量化、反变换后的系数,获得属性重建值。At the decoding end, the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.). During the processing, the entire point cloud is first 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). Next, the quantized transform coefficients are decoded in large groups, and then the prediction algorithm is used to obtain the attribute prediction value. The quantized transform coefficients are then dequantized and inversely transformed in small groups. Finally, the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.

技术路线3:预测变换分支—资源不受限Technical route 3: predictive transformation branch - resource-unlimited

在技术路线3中,属性压缩采用基于帧内预测和DCT变换的方法,且在编码量化后的变换系数时,没有最大点数X的限制,即所有系数可以一起进行编码。In technical route 3, attribute compression adopts a method based on intra-frame prediction and DCT transformation, and when encoding the quantized transform coefficients, there is no limit on the maximum number of points X, that is, all coefficients can be encoded together.

在编码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点。在处理过程中,先将整个点云分成长度最大为Y(如2)的若干小组,然后采用预测算法得到属性预测 值,根据属性值和属性预测值得到属性残差,以小组为单位对属性残差进行DCT变换,生成变换系数,再对变换系数进行量化,生成量化后的变换系数,最后对整个点云的量化后的变换系数进行编码。At the encoding end, the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.). During the processing, the entire point cloud is first divided into several small groups with a maximum length of Y (such as 2), and then the prediction algorithm is used to obtain the attribute prediction The attribute residual is obtained according to the attribute value and the attribute prediction value, the attribute residual is transformed by DCT in small groups to generate transformation coefficients, the transformation coefficients are quantized to generate quantized transformation coefficients, and finally the quantized transformation coefficients of the entire point cloud are encoded.

在解码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点。在处理过程中,先将整个点云分成长度最大为Y(如2)的若干小组,解码获取整个点云的量化后的变换系数,然后采用预测算法得到属性预测值,再以小组为单位对量化后的变换系数进行反量化、反变换,最后根据属性预测值和反量化、反变换后的系数,获得属性重建值。At the decoding end, the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.). During the processing, 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. Then, the prediction algorithm is used to obtain the attribute prediction value, and then the quantized transformation coefficients are dequantized and inversely transformed in groups. Finally, the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.

技术路线4:多层变换分支,属性压缩采用基于多层小波变换的方法Technical route 4: Multi-layer transformation branch, attribute compression adopts a method based on multi-layer wavelet transform

在编码端,对整个点云进行多层小波变换,生成变换系数。然后,对变换系数进行量化,生成量化后的变换系数。最后,对整个点云的量化后的变换系数进行编码。At the encoding end, the entire point cloud is subjected to multi-layer wavelet transform to generate transform coefficients. Then, the transform coefficients are quantized to generate quantized transform coefficients. Finally, the quantized transform coefficients of the entire point cloud are encoded.

在解码端,解码获取整个点云的量化后的变换系数。然后,对量化后的变换系数进行反量化、反变换,获得属性重建值。At the decoding end, the decoding obtains the quantized transform coefficients of the entire point cloud. Then, the quantized transform coefficients are dequantized and inversely transformed to obtain the attribute reconstruction value.

相关的点云编码技术(如AVS-PCC)中,在完成几何编码之后,编码端会对重复点的属性信息进行排序(按照升序进行排序)。例如,如果当前点云的属性信息为颜色信息,则可以对重复点的颜色信息进行排序。如果重复点的属性信息仅包含反射率信息,则可以对重复点的属性信息进行排序。如果采用上述设计,在对重复点的属性信息进行编码时,会默认重复点的属性信息已经按照升序进行排序,因此不需要对当前点的属性残差的符号位进行编码,从而可以提升点云属性信息的编码性能。In related point cloud coding technologies (such as AVS-PCC), after completing the geometric coding, the encoding end will sort the attribute information of the duplicate points (in ascending order). For example, if the attribute information of the current point cloud is color information, the color information of the duplicate points can be sorted. If the attribute information of the duplicate points only contains reflectivity information, the attribute information of the duplicate points can be sorted. If the above design is adopted, when encoding the attribute information of the duplicate points, it will be assumed that the attribute information of the duplicate points has been sorted in ascending order, so there is no need to encode the sign bit of the attribute residual of the current point, thereby improving the encoding performance of the point cloud attribute information.

如果点云具有多种属性信息,相关技术会针对重复点的多种属性信息进行单独排序,这种排序方式可能会导致属性编码有损。假设当前点云包括3个重复点:即重复点1、重复点2以及重复点3。重复点1的颜色信息的Y分量为14,反射率信息为8;重复点2的颜色信息的Y分量为15,反射率信息为10;重复点1的颜色信息的Y分量为16,反射率信息为9。按照相关技术提供的单独排序算法进行排序,则颜色信息的Y分量的排序结果为14、15、16,反射率信息的排序结果为8、9、10。通过对比两个排序结果可以发现,原始点云中的多种属性信息之间的对应关系被破坏了,重复点2的Y分量为15,反射率信息为10,在排序后,该重复点2中的15->10的对应关系变成了15->9,这种对应关系的改变会导致后续的属性编码产生损失。由此可见,无论是针对有损编码还是无论编码,相关技术针对重复点的多种属性信息进行单独排序可能会引入额外的损失,从而降低编解码性能。If the point cloud has multiple attribute information, the related technology will sort the multiple attribute information of the duplicate points separately, and this sorting method may cause attribute encoding loss. Assume that the current point cloud includes 3 duplicate points: duplicate point 1, duplicate point 2, and duplicate point 3. The Y component of the color information of duplicate point 1 is 14, and the reflectivity information is 8; the Y component of the color information of duplicate point 2 is 15, and the reflectivity information is 10; the Y component of the color information of duplicate point 1 is 16, and the reflectivity information is 9. According to the separate sorting algorithm provided by the related technology, the sorting results of the Y component of the color information are 14, 15, 16, and the sorting results of the reflectivity information are 8, 9, 10. By comparing the two sorting results, it can be found that the correspondence between the multiple attribute information in the original point cloud is destroyed. The Y component of duplicate point 2 is 15, and the reflectivity information is 10. After sorting, the correspondence of 15->10 in the duplicate point 2 becomes 15->9. This change in correspondence will cause subsequent attribute encoding loss. It can be seen that, whether for lossy coding or no coding, the related technology of separately sorting multiple attribute information of repeated points may introduce additional losses, thereby reducing the encoding and decoding performance.

此外,针对多重属性信息,相关的点云编码技术(如AVS-PCC)在对多重属性进行编码时,为了进一步提升点云属性编码效率,有时会引入不同属性信息之间的相互依赖。例如,如果属性信息包括颜色信息和反射率信息,则可以在重建颜色信息的基础上编码反射率信息。上文提到的重复点的多种属性信息的排序方案会破坏属性信息之间的关联性,因此也会导致多种属性信息相互依赖的编码方案出现编码损失(或无法做到属性无损编码)。In addition, for multiple attribute information, related point cloud coding technologies (such as AVS-PCC) sometimes introduce interdependence between different attribute information when encoding multiple attributes in order to further improve the efficiency of point cloud attribute coding. For example, if the attribute information includes color information and reflectivity information, the reflectivity information can be encoded based on the reconstructed color information. The sorting scheme of multiple attribute information of repeated points mentioned above will destroy the correlation between attribute information, and therefore will also cause coding loss (or inability to achieve lossless attribute coding) in the coding scheme where multiple attribute information depends on each other.

针对上述问题,下文对本申请实施例进行详细介绍。In response to the above problems, the embodiments of the present application are described in detail below.

第一实施例:First embodiment:

本申请第一实施例提供一种编码方法,包括:确定待编码点云的重复点集合;其中,重复点集合中的重复点包括多种属性信息;根据多种属性信息,对重复点集合中的重复点进行排序。The first embodiment of the present application provides an encoding method, comprising: determining a set of repeated points in a point cloud to be encoded; wherein the repeated points in the repeated point set include multiple attribute information; and sorting the repeated points in the repeated point set according to the multiple attribute information.

不同于相关技术,本申请实施例并非对重复点的多种属性信息单独进行排序,而是基于第一属性信息对重复点的多种属性信息统一进行排序,从而可以避免破坏多种属性信息之间的关联性,降低属性编码的损失,提升编码性能。本申请实施例提供的编码方法可应用于无损编码场景,从而有助于实现属性信息的无损编码。Different from the related art, the embodiment of the present application does not sort the multiple attribute information of the duplicate points separately, but sorts the multiple attribute information of the duplicate points uniformly based on the first attribute information, thereby avoiding destroying the relevance between the multiple attribute information, reducing the loss of attribute encoding, and improving encoding performance. The encoding method provided in the embodiment of the present application can be applied to lossless encoding scenarios, thereby helping to achieve lossless encoding of attribute information.

图10为本申请第一实施例提供的编码方法的示意性流程图。图10的方法可应用于编码器。该编码方法可以是指一种点云的属性信息(如颜色信息)的编码方法。下面对图10的各个步骤进行详细地举例说明。FIG10 is a schematic flow chart of the encoding method provided in the first embodiment of the present application. The method of FIG10 can be applied to an encoder. The encoding method can refer to a method for encoding attribute information (such as color information) of a point cloud. The following is a detailed example of each step of FIG10.

在步骤S1010,确定待编码点云的重复点集合。In step S1010, a set of repeated points of the point cloud to be encoded is determined.

该待编码点云可以是点云中的所有点,也可以是点云中的部分点。例如,待编码点云可以指在空间上相对集中的点。The point cloud to be encoded may be all points in the point cloud, or may be part of the points in the point cloud. For example, the point cloud to be encoded may refer to points that are relatively concentrated in space.

在一些实施例中,上述确定待编码点云的重复点集合,可以包括:根据待编码点云的几何信息,确定待编码点云中的重复点集合。In some embodiments, the above-mentioned determination of the set of repeated points in the point cloud to be encoded may include: determining the set of repeated points in the point cloud to be encoded according to geometric information of the point cloud to be encoded.

在一些实施例中,重复点集合中的重复点可以包括待编码点云中的几何信息相同的点。这里提到的 几何信息例如可以是指点的重建几何信息。In some embodiments, the repeated points in the repeated point set may include points with the same geometric information in the point cloud to be encoded. The geometric information may be, for example, reconstructed geometric information of the points.

在一些实施例中,如果两个点的几何信息非常接近,或基于几何信息确定的距离非常接近,则也可以将该两个点判定为重复点。In some embodiments, if the geometric information of two points is very close, or the distance determined based on the geometric information is very close, the two points may also be determined as duplicate points.

在一些实施例中,可以根据待编码点云的几何信息确定待编码点云中的点之间的距离。然后,可以基于待编码点云中的点之间的距离,确定距离相同或相近的点,形成重复点集合。In some embodiments, the distance between points in the point cloud to be encoded can be determined based on the geometric information of the point cloud to be encoded. Then, based on the distance between points in the point cloud to be encoded, points with the same or similar distance can be determined to form a set of repeated points.

例如,可以确定待编码点云中的点的莫顿码(Morton码)或希尔伯特码(Hilbert码);然后,将莫顿码或希尔伯特码相同或相近的点组成重复点集合。也就是说,在确定重复点时,可以直接通过几何坐标信息确定,也可以先将几何坐标转换为莫顿码或希尔伯特码,再基于莫顿码或希尔伯特码确定重复点集合。For example, the Morton code or Hilbert code of the points in the point cloud to be encoded can be determined; then, the points with the same or similar Morton code or Hilbert code are grouped into a set of repeated points. In other words, when determining repeated points, the repeated points can be determined directly through geometric coordinate information, or the geometric coordinates can be first converted into Morton code or Hilbert code, and then the set of repeated points can be determined based on the Morton code or Hilbert code.

重复点集合中的重复点可以包括多种属性信息。例如,重复点可以同时包括颜色信息和反射率信息。The repeated points in the repeated point set may include multiple attribute information, for example, the repeated points may include color information and reflectivity information at the same time.

在步骤S1020,根据多种属性信息,对重复点集合中的重复点进行排序。In step S1020, the repeated points in the repeated point set are sorted according to various attribute information.

在一些实施例中,上述根据多种属性信息,对重复点集合中的重复点进行排序,可以替换为:以点为单位,对重复点集合中的重复点的属性信息进行排序。In some embodiments, the above-mentioned sorting of the repeated points in the repeated point set according to the various attribute information may be replaced by sorting the attribute information of the repeated points in the repeated point set in units of points.

在一些实施例中,上述根据多种属性信息,对重复点集合中的重复点进行排序,可以替换为:根据至少一种属性信息(如后文提到的第一属性信息),对重复点集合中的重复点进行排序。In some embodiments, the above-mentioned sorting of the repeated points in the repeated point set according to multiple attribute information can be replaced by sorting the repeated points in the repeated point set according to at least one attribute information (such as the first attribute information mentioned later).

在一些实施例中,上述根据多种属性信息,对重复点集合中的重复点进行排序,可以替换为:在保持重复点集合中的重复点的多种属性信息之间的关联关系不变的条件下,对重复点集合中的重复点进行排序;或者,对重复点集合中的重复点进行排序,使得重复点集合中的重复点的多种属性信息之间的关联关系保持不变。In some embodiments, the above-mentioned sorting of duplicate points in the duplicate point set according to multiple attribute information can be replaced by: sorting the duplicate points in the duplicate point set while keeping the association relationship between the multiple attribute information of the duplicate points in the duplicate point set unchanged; or sorting the duplicate points in the duplicate point set so that the association relationship between the multiple attribute information of the duplicate points in the duplicate point set remains unchanged.

第一属性信息可以是多种属性信息中的任意一种属性信息。例如,重复点包括颜色信息和反射率信息,则第一属性信息可以是指颜色信息,也可以是指反射率信息。The first attribute information may be any one of a plurality of attribute information. For example, if the repeated point includes color information and reflectivity information, the first attribute information may refer to color information or reflectivity information.

在一些实施例中,第一属性信息可以是多种属性信息中的被优先编码的属性信息。例如,如果重复点的多种属性信息的编码顺序为先编码颜色信息、再编码反射率信息,则第一属性信息可以为颜色信息。又如,如果重复点的多种属性信息的编码顺序为先编码反射率信息、再编码颜色信息,则第一属性信息可以为反射率信息。将第一属性信息设置为多种属性信息中的被优先编码的属性信息,可以使得重复点集合中的重复点的排序方案与跨属性编码方案相适配。In some embodiments, the first attribute information may be the attribute information that is preferentially encoded among the multiple attribute information. For example, if the encoding order of the multiple attribute information of the repeated point is to encode the color information first and then the reflectivity information, the first attribute information may be the color information. For another example, if the encoding order of the multiple attribute information of the repeated point is to encode the reflectivity information first and then the color information, the first attribute information may be the reflectivity information. By setting the first attribute information as the attribute information that is preferentially encoded among the multiple attribute information, the sorting scheme of the repeated points in the repeated point set can be adapted to the cross-attribute encoding scheme.

在一些实施例中,如果第一属性信息为颜色信息,则根据多种属性信息,对重复点集合中的重复点进行排序,可以包括:根据第一属性信息的第一颜色分量,对重复点集合中的重复点进行排序。这里提到的第一颜色分量可以是重复点的属性信息中的被优先编码的颜色分量。In some embodiments, if the first attribute information is color information, sorting the duplicate points in the duplicate point set according to the multiple attribute information may include: sorting the duplicate points in the duplicate point set according to the first color component of the first attribute information. The first color component mentioned here may be a color component that is preferentially encoded in the attribute information of the duplicate point.

在一些实施例中,上述根据多种属性信息,对重复点集合中的重复点进行排序,可以包括:按照第一排序方式对重复点集合中的重复点进行排序;其中,第一排序方式为先根据多种属性信息中的第一属性信息进行排序,再根据多种属性信息中的第二属性信息进行排序。例如,先根据第一属性信息对重复点集合中的重复点进行排序,如果重复点集合包括第一属性信息相同的至少两个重复点,则根据至少两个重复点的第二属性信息对至少两个重复点进行排序。In some embodiments, the above-mentioned sorting of the duplicate points in the duplicate point set according to the multiple attribute information may include: sorting the duplicate points in the duplicate point set according to a first sorting method; wherein the first sorting method is to sort according to the first attribute information in the multiple attribute information first, and then sort according to the second attribute information in the multiple attribute information. For example, the duplicate points in the duplicate point set are sorted according to the first attribute information first, and if the duplicate point set includes at least two duplicate points with the same first attribute information, the at least two duplicate points are sorted according to the second attribute information of the at least two duplicate points.

作为一个示例,第一属性信息可以为颜色信息,第二属性信息可以为反射率信息。也就是说,可以先根据颜色信息对重复点集合中的重复点进行排序,再根据反射率信息对重复点集合中的重复点进行排序(即颜色信息相同时,再根据反射率信息对重复点集合中的重复点进行排序)。As an example, the first attribute information may be color information, and the second attribute information may be reflectivity information. That is, the duplicate points in the duplicate point set may be sorted first according to the color information, and then the duplicate points in the duplicate point set may be sorted according to the reflectivity information (i.e., when the color information is the same, the duplicate points in the duplicate point set may be sorted according to the reflectivity information).

作为另一示例,第一属性信息可以为反射率信息,第二属性信息可以为颜色信息。也就是说,可以先根据反射率信息对重复点集合中的重复点进行排序,再根据颜色信息对重复点集合中的重复点进行排序(即反射率信息相同时,再根据颜色信息对重复点集合中的重复点进行排序)。As another example, the first attribute information may be reflectance information, and the second attribute information may be color information. That is, the duplicate points in the duplicate point set may be sorted first according to the reflectance information, and then the duplicate points in the duplicate point set may be sorted according to the color information (i.e., when the reflectance information is the same, the duplicate points in the duplicate point set may be sorted according to the color information).

在一些实施例中,可以引入一个参数(下称第一参数),该第一参数可用于指示是否执行重复点编码。或者,该第一参数用于控制重复点编码。或者,该第一参数可用于指示在点云具有多种属性信息的情况下,是否执行重复点编码。通过引入第一参数,可以灵活地开启或关闭重复点编码过程。例如,如果重复点仅包含一种属性信息,则可以指示执行重复点编码(因为此时执行重复点编码不会引入属性编码损失);如果重复点包含多种属性信息,则可以指示不执行重复点编码(因为此时执行重复点编码会引入属性编码损失)。由此可见,第一参数的引入有助于属性编码做到无损编码。In some embodiments, a parameter (hereinafter referred to as the first parameter) may be introduced, and the first parameter may be used to indicate whether to perform repeated point encoding. Alternatively, the first parameter is used to control repeated point encoding. Alternatively, the first parameter may be used to indicate whether to perform repeated point encoding when the point cloud has multiple attribute information. By introducing the first parameter, the repeated point encoding process may be flexibly turned on or off. For example, if the repeated point contains only one type of attribute information, it may be indicated to perform repeated point encoding (because performing repeated point encoding at this time will not introduce attribute encoding loss); if the repeated point contains multiple types of attribute information, it may be indicated not to perform repeated point encoding (because performing repeated point encoding at this time will introduce attribute encoding loss). It can be seen that the introduction of the first parameter helps the attribute encoding to achieve lossless encoding.

该第一参数可以为高层语法元素。在一些实施例中,可以将第一参数例如称为eligible_duplicate_pred。The first parameter may be a high-level syntax element. In some embodiments, the first parameter may be called, for example, eligible_duplicate_pred.

在一些实施例中,该第一参数可以包括第一值和第二值。如果第一参数的取值为第一值,则确定执行重复点编码。如果第一参数的取值为第二值(与第一值不同),则确定不执行重复点编码。In some embodiments, the first parameter may include a first value and a second value. If the value of the first parameter is the first value, it is determined that repeated point coding is performed. If the value of the first parameter is the second value (different from the first value), it is determined that repeated point coding is not performed.

上述重复点编码可以包括:基于重复点的属性信息进行排序。也就是说,当第一参数的取值为第一值时,可以对重复点的属性信息进行排序;当第一参数的取值为第二值时,可以不对重复点的属性信息 进行排序。The above-mentioned repeated point coding may include: sorting based on the attribute information of the repeated points. That is, when the value of the first parameter is the first value, the attribute information of the repeated points may be sorted; when the value of the first parameter is the second value, the attribute information of the repeated points may not be sorted. Sort.

在一些实施例中,如果重复点仅包含一种属性信息,则可以将第一参数的取值设置为第一值。如果重复点同时包含多种属性信息,则可以将第一参数的取值设置为第二值。In some embodiments, if the repeated point contains only one kind of attribute information, the value of the first parameter may be set to the first value. If the repeated point contains multiple kinds of attribute information at the same time, the value of the first parameter may be set to the second value.

在一些实施例中,第一值和第二值可以是参数形式。或者,第一值和第二值也可以是数字形式。In some embodiments, the first value and the second value may be in parameter form. Alternatively, the first value and the second value may also be in digital form.

在一些实施例中,第一参数可以是写入码流中的参数。例如,该第一参数可以是自适应参数集(Adaptation Parameter Set,APS)中的参数。In some embodiments, the first parameter may be a parameter written into the bitstream. For example, the first parameter may be a parameter in an Adaptation Parameter Set (APS).

示例性地,第一值可以设置为1,第二值可以设置为0;或者,第一值可以设置为0,第二值可以设置为1;或者,第一值可以设置为true,第二值可以设置为false;或者,第一值可以设置为false,第二值可以设置为true。Exemplarily, the first value may be set to 1 and the second value may be set to 0; or, the first value may be set to 0 and the second value may be set to 1; or, the first value may be set to true and the second value may be set to false; or, the first value may be set to false and the second value may be set to true.

以第一参数为写入码流中的参数为例,假设该第一参数的第一值为0,第二值为1,如果第一参数的取值为0,则可以确定不执行重复点编码,即无需执行本申请实施例所述的编码方法;如果第一参数的取值为1,则可以确定执行重复点编码,即执行本申请实施例所述的编码方法。Taking the first parameter as a parameter written into the bit stream as an example, assuming that the first value of the first parameter is 0 and the second value is 1, if the value of the first parameter is 0, it can be determined that repeated point encoding is not performed, that is, there is no need to execute the encoding method described in the embodiment of the present application; if the value of the first parameter is 1, it can be determined that repeated point encoding is performed, that is, the encoding method described in the embodiment of the present application is executed.

在一些实施例中,图10的方法还可以包括:如果待编码的当前点为重复点,则根据当前点的第一属性分量的残差,确定当前点的第二属性分量的残差的符号位的编码方式;其中,第一属性分量和第二属性分量属于多种属性信息中的同一属性信息;或者,第一属性分量和第二属性分量属于多种属性信息中的不同属性信息。In some embodiments, the method of Figure 10 may also include: if the current point to be encoded is a repeated point, determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point; wherein the first attribute component and the second attribute component belong to the same attribute information among multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among multiple attribute information.

在当前点的属性分量的编码顺序中,第一属性分量在排序上位于第二属性分量之前。In the encoding order of the attribute components of the current point, the first attribute component is sorted before the second attribute component.

在一些实施例中,在编码顺序中,第一属性分量排在第二属性分量的前一位。In some embodiments, in the encoding order, the first attribute component precedes the second attribute component.

以第一属性分量和第二属性分量为当前点的不同颜色分量为例,则第一属性分量可以为颜色信息中的第一个颜色分量,第二属性分量可以为颜色信息中的第二个颜色分量。也就是说,在编码端可以先通过编码第一个颜色分量,确定第一个颜色分量的残差;然后,可以基于第一个颜色分量的残差(的取值)确定第二个颜色分量的残差的符号位的编码方式。Taking the first attribute component and the second attribute component as different color components of the current point as an example, the first attribute component can be the first color component in the color information, and the second attribute component can be the second color component in the color information. That is, at the encoding end, the first color component can be encoded to determine the residual of the first color component; then, the encoding method of the sign bit of the residual of the second color component can be determined based on the residual of the first color component (the value thereof).

例如,如果编码端按照RGB的顺序进行编码,则第一属性分量可以为R分量,第二属性分量可以为G分量。For example, if the encoding end performs encoding in the order of RGB, the first attribute component may be an R component, and the second attribute component may be a G component.

又如,如果编码端按照GRB的顺序进行编码,则第一属性分量可以为G分量,第二属性分量可以为R分量。For another example, if the encoding end performs encoding in the order of GRB, the first attribute component may be a G component, and the second attribute component may be an R component.

又如,如果编码端按照YUV的顺序进行编码,则第一属性分量可以为Y分量,第二属性分量可以为U分量。For another example, if the encoding end performs encoding in the order of YUV, the first attribute component may be a Y component, and the second attribute component may be a U component.

又如,如果编码端按照UYV的顺序进行编码,则第一属性分量可以为U分量,第二属性分量可以为Y分量。For another example, if the encoding end performs encoding in the order of UYV, the first attribute component may be a U component, and the second attribute component may be a Y component.

在一些实施例中,在编码顺序中,第一属性分量包括排在第二属性分量之前的全部属性分量。In some embodiments, the first attribute component includes all attribute components that precede the second attribute component in coding order.

以第一属性分量和第二属性分量为当前点的不同颜色分量为例,则第一属性分量可以包括颜色信息中的第一个颜色分量和第二个颜色分量,第二属性分量可以为颜色信息中的第三个颜色分量。也就是说,在编码端可以先通过编码第一个颜色分量和第二个颜色分量,确定第一个颜色分量和第二个颜色分量的残差;然后,可以基于第一个颜色分量的残差(的取值)和第二个颜色分量的残差(的取值),确定第三个颜色分量的残差的符号位的编码方式。Taking the first attribute component and the second attribute component as different color components of the current point as an example, the first attribute component may include the first color component and the second color component in the color information, and the second attribute component may be the third color component in the color information. That is, at the encoding end, the first color component and the second color component may be encoded to determine the residual of the first color component and the second color component; then, based on the residual of the first color component (the value thereof) and the residual of the second color component (the value thereof), the encoding method of the sign bit of the residual of the third color component may be determined.

例如,如果编码端按照RGB的顺序进行编码,则第一属性分量可以包括R分量和G分量,第二属性分量可以为B分量。For example, if the encoding end performs encoding in the order of RGB, the first attribute component may include an R component and a G component, and the second attribute component may be a B component.

又如,如果编码端按照GRB的顺序进行编码,则第一属性分量可以包括G分量和R分量,第二属性分量可以为B分量。For another example, if the encoding end performs encoding in the order of GRB, the first attribute component may include a G component and an R component, and the second attribute component may be a B component.

又如,如果编码端按照YUV的顺序进行编码,则第一属性分量可以包括Y分量和U分量,第二属性分量可以为V分量。For another example, if the encoding end performs encoding in the order of YUV, the first attribute component may include a Y component and a U component, and the second attribute component may be a V component.

又如,如果编码端按照UYV的顺序进行编码,则第一属性分量可以包括U分量和Y分量,第二属性分量可以为V分量。For another example, if the encoding end performs encoding in the order of UYV, the first attribute component may include a U component and a Y component, and the second attribute component may be a V component.

在一些实施例中,第一属性分量和第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。In some embodiments, one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.

例如,如果当前点的属性分量的编码顺序为先编码颜色信息对应的属性分量、再编码反射率信息对应的属性分量,则第一属性分量可以为颜色信息对应的属性分量,第二属性分量可以为反射率信息对应的属性分量。For example, if the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute component may be the attribute component corresponding to the color information, and the second attribute component may be the attribute component corresponding to the reflectivity information.

作为一个示例,当前点的属性分量的编码顺序为先编码RGB、再编码反射率信息,则第一属性分量可以包括RGB,第二属性分量可以为反射率信息。As an example, the encoding order of the attribute components of the current point is to encode RGB first and then encode the reflectivity information, so the first attribute component may include RGB, and the second attribute component may be the reflectivity information.

作为另一示例,当前点的属性分量的编码顺序为先编码YUV、再编码反射率信息,则第一属性分 量可以包括YUV,第二属性分量可以为反射率信息。As another example, the encoding order of the attribute components of the current point is to encode YUV first and then encode reflectivity information. The quantity may include YUV, and the second attribute component may be reflectivity information.

又如,如果当前点的属性分量的编码顺序为先编码反射率信息对应的属性分量、再编码颜色信息对应的属性分量,则第一属性分量可以为反射率信息对应的属性分量,第二属性分量可以为颜色信息对应的属性分量。For another example, if the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information, then the first attribute component may be the attribute component corresponding to the reflectivity information, and the second attribute component may be the attribute component corresponding to the color information.

作为一个示例,当前点的属性分量的编码顺序为先编码反射率信息、再编码RGB,则第一属性分量可以为反射率信息,第二属性分量可以包括RGB。As an example, the encoding order of the attribute components of the current point is to encode the reflectance information first and then encode RGB, so the first attribute component may be the reflectance information, and the second attribute component may include RGB.

作为另一示例,当前点的属性分量的编码顺序为先编码反射率信息、再编码YUV,则第一属性分量可以为反射率信息,第二属性分量可以包括YUV。As another example, the encoding order of the attribute components of the current point is to encode the reflectivity information first and then encode the YUV, so the first attribute component may be the reflectivity information, and the second attribute component may include the YUV.

在一些实施例中,上述根据当前点的第一属性分量的残差,确定当前点的第二属性分量的残差的符号位的编码方式,可以包括:如果当前点的第一属性分量的残差为0,则确定不对第二属性分量的残差的符号位进行编码。In some embodiments, the above-mentioned method of determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point may include: if the residual of the first attribute component of the current point is 0, determining not to encode the sign bit of the residual of the second attribute component.

以当前点的编码顺序为RGB为例,第一属性分量可以为R分量,第二属性分量可以为G分量,如果R分量的残差为0,则可以不对G分量的残差的符号位进行编码(R分量的残差为0,代表存在R分量相同的多个重复点,此时,该多个重复点的G分量呈现为升序,因此不需要对G分量的残差的符号位进行编码)。Taking the encoding order of the current point as RGB as an example, the first attribute component can be the R component, and the second attribute component can be the G component. If the residual of the R component is 0, the sign bit of the residual of the G component may not be encoded (the residual of the R component is 0, which means that there are multiple repeated points with the same R component. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).

以当前点的编码顺序为RGB为例,第一属性分量可以包括R分量和G分量,第二属性分量可以为B分量,如果R分量的残差和G分量的残差均为0,则可以不对B分量的残差的符号位进行编码(R分量的残差和G分量的残差均为0,代表存在R分量和G分量均相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行编码)。Taking the encoding order of the current point as RGB as an example, the first attribute component may include an R component and a G component, and the second attribute component may be a B component. If the residual of the R component and the residual of the G component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the R component and the residual of the G component are both 0, indicating that there are multiple repeated points with the same R component and G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).

以当前点的编码顺序为GRB为例,第一属性分量可以为G分量,第二属性分量可以为R分量,如果G分量的残差为0,则可以不对R分量的残差的符号位进行编码(G分量的残差为0,代表存在G分量相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行编码)。Taking the encoding order of the current point as GRB as an example, the first attribute component can be the G component, and the second attribute component can be the R component. If the residual of the G component is 0, the sign bit of the residual of the R component may not be encoded (the residual of the G component is 0, which means that there are multiple repeated points with the same G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).

以当前点的编码顺序为GRB为例,第一属性分量可以包括G分量和R分量,第二属性分量可以为B分量,如果G分量的残差和R分量的残差均为0,则可以不对B分量的残差的符号位进行编码(G分量的残差和R分量的残差均为0,代表存在G分量和R分量均相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行编码)。Taking the encoding order of the current point as GRB as an example, the first attribute component may include a G component and an R component, and the second attribute component may be a B component. If the residual of the G component and the residual of the R component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the G component and the residual of the R component are both 0, indicating that there are multiple repeated points with the same G component and R component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).

以当前点的编码顺序为先编码RGB、再编码反射率信息为例,第一属性分量可以包括R分量、G分量和B分量,第二属性分量可以为反射率信息,如果R分量、G分量、B分量的残差均为0,则可以不对反射率信息的残差的符号位进行编码(R分量、G分量、B分量的残差均为0,代表存在R分量、G分量、B分量均相同的多个重复点,此时,该多个重复点的反射率信息呈现为升序,因此不需要对反射率信息的残差的符号位进行编码)。Taking the encoding order of the current point as an example of first encoding RGB and then encoding the reflectivity information, the first attribute component may include R component, G component and B component, and the second attribute component may be the reflectivity information. If the residuals of the R component, G component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the R component, G component and B component are all 0, indicating that there are multiple repeated points with the same R component, G component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).

以当前点的编码顺序为先编码GRB、再编码反射率信息为例,第一属性分量可以包括G分量、R分量和B分量,第二属性分量可以为反射率信息,如果G分量、R分量、B分量的残差均为0,则可以不对反射率信息的残差的符号位进行编码(G分量、R分量、B分量的残差均为0,代表存在G分量、R分量、B分量均相同的多个重复点,此时,该多个重复点的反射率信息呈现为升序,因此不需要对反射率信息的残差的符号位进行编码)。Taking the encoding order of the current point as first encoding GRB and then encoding the reflectivity information as an example, the first attribute component may include G component, R component and B component, and the second attribute component may be the reflectivity information. If the residuals of the G component, R component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the G component, R component and B component are all 0, indicating that there are multiple repeated points with the same G component, R component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).

以当前点的编码顺序为先编码反射率信息、再编码RGB为例,第一属性分量可以为反射率信息,第二属性分量可以为R分量,如果反射率信息的残差为0,则可以不对R分量的残差的符号位进行编码(反射率信息的残差为0,代表存在反射率信息相同的多个重复点,此时,该多个重复点的R分量呈现为升序,因此不需要对R分量的残差的符号位进行编码)。Taking the encoding order of the current point as first encoding the reflectance information and then encoding RGB as an example, the first attribute component can be the reflectance information, and the second attribute component can be the R component. If the residual of the reflectance information is 0, the sign bit of the residual of the R component may not be encoded (the residual of the reflectance information is 0, indicating that there are multiple repeated points with the same reflectance information. At this time, the R components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the R component).

以当前点的编码顺序为先编码反射率信息、再编码GRB为例,第一属性分量可以为反射率信息,第二属性分量可以为G分量,如果反射率信息的残差为0,则可以不对G分量的残差的符号位进行编码(反射率信息的残差为0,代表存在反射率信息相同的多个重复点,此时,该多个重复点的G分量呈现为升序,因此不需要对G分量的残差的符号位进行编码)。Taking the encoding order of the current point as first encoding the reflectivity information and then encoding GRB as an example, the first attribute component can be the reflectivity information, and the second attribute component can be the G component. If the residual of the reflectivity information is 0, the sign bit of the residual of the G component may not be encoded (the residual of the reflectivity information is 0, indicating that there are multiple repeated points with the same reflectivity information. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).

在一些实施例中,如果当前点不为重复点,则对当前点的各个属性分量的残差的符号位进行编码。当前点不为重复点,则当前点的颜色残差的各个分量的符号位可能为正,也可能为负。在这种情况下,对当前点的颜色残差的各个分量的符号位进行编码,可以保证编码的准确性。In some embodiments, if the current point is not a duplicate point, the sign bits of the residuals of the various attribute components of the current point are encoded. If the current point is not a duplicate point, the sign bits of the various components of the color residual of the current point may be positive or negative. In this case, encoding the sign bits of the various components of the color residual of the current point can ensure the accuracy of the encoding.

在一些实施例中,图10的方法还可包括:确定当前点的属性信息的预测信息;根据当前点的属性信息的预测信息,确定当前点的颜色残差。In some embodiments, the method of FIG. 10 may further include: determining prediction information of the attribute information of the current point; and determining a color residual of the current point according to the prediction information of the attribute information of the current point.

当前点的属性信息的预测信息可以基于当前点的预测参考点的重建属性信息确定。当前点的预测参考点的选取方式可以基于当前点的类型确定。例如,如果当前点不为重复点,则可以基于某种距离(如 曼哈顿距离)确定当前点的K个邻居点(K为正整数),然后将该K个邻居点作为预测参考点对当前点的属性信息进行加权预测。又如,如果当前点为重复点,则可以将当前点的前M个重复点确定为预测参考点,然后根据该前M个重复点的重建属性信息,确定当前点的属性信息的预测信息;其中,M为正整数。作为一个示例,M的取值可以为1,也就是说,可以基于当前点的前一重复点的重建属性信息对当前点的属性信息进行差分预测。The prediction information of the attribute information of the current point can be determined based on the reconstructed attribute information of the prediction reference point of the current point. The selection method of the prediction reference point of the current point can be determined based on the type of the current point. For example, if the current point is not a repeated point, it can be based on a certain distance (such as Manhattan distance) to determine the K neighboring points of the current point (K is a positive integer), and then use the K neighboring points as prediction reference points to perform weighted prediction on the attribute information of the current point. For another example, if the current point is a repeated point, the first M repeated points of the current point can be determined as prediction reference points, and then the predicted information of the attribute information of the current point is determined based on the reconstructed attribute information of the first M repeated points; where M is a positive integer. As an example, the value of M can be 1, that is, the attribute information of the current point can be differentially predicted based on the reconstructed attribute information of the previous repeated point of the current point.

在一些实施例中,图10的方法还可包括:对当前点的颜色残差进行量化,确定当前点的量化残差;对量化残差进行编码,将所得到的编码比特写入码流。In some embodiments, the method of FIG. 10 may further include: quantizing the color residual of the current point to determine the quantized residual of the current point; encoding the quantized residual, and writing the obtained coded bits into the bitstream.

第二实施例:Second embodiment:

本申请第二实施例还提供一种解码方法,包括:确定第一参数的取值;如果第一参数的取值为第一值,则执行重复点解码操作;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。The second embodiment of the present application also provides a decoding method, including: determining the value of a first parameter; if the value of the first parameter is a first value, performing a repeated point decoding operation; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.

本申请第二实施例提供一种编码方法,包括:确定是否执行重复点编码操作;根据确定结果确定第一参数的取值;对所述第一参数的取值进行编码,将所得到的编码比特写入码流;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作,所述第二值用于指示不执行所述重复点编码操作。The second embodiment of the present application provides a coding method, including: determining whether to perform a repeated point coding operation; determining a value of a first parameter based on a determination result; encoding the value of the first parameter, and writing the obtained coded bits into a bit stream; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point coding operation is performed, and the second value is used to indicate that the repeated point coding operation is not performed.

上述重复点编码操作可以包括:基于重复点的属性信息进行排序。也就是说,当第一参数的取值为第一值时,可以对重复点的属性信息进行排序;当第一参数的取值为第二值时,可以不对重复点的属性信息进行排序。The above-mentioned repeated point encoding operation may include: sorting based on the attribute information of the repeated points. That is, when the value of the first parameter is the first value, the attribute information of the repeated points may be sorted; when the value of the first parameter is the second value, the attribute information of the repeated points may not be sorted.

本申请第二实施例基于第一参数控制是否执行重复点编码操作,从而可以根据实际情况灵活地开启或关闭重复点编码操作。The second embodiment of the present application controls whether to perform the repeated point coding operation based on the first parameter, so that the repeated point coding operation can be flexibly turned on or off according to actual conditions.

图11为本申请第二实施例提供的解码方法的示意性流程图。图11的方法可应用于解码器。该解码方法可以是指一种点云的属性信息(如颜色信息)的解码方法。下文对图11的各个步骤进行详细地举例说明。FIG11 is a schematic flow chart of a decoding method provided in the second embodiment of the present application. The method of FIG11 can be applied to a decoder. The decoding method can refer to a method for decoding attribute information (such as color information) of a point cloud. The following is a detailed example of each step of FIG11.

在步骤S1110,解析码流,确定第一参数的取值。In step S1110, the code stream is parsed to determine the value of the first parameter.

该第一参数可用于指示是否执行重复点解码。或者,该第一参数用于控制重复点解码。或者,该第一参数可用于指示在待解码点云具有多种属性信息的情况下,是否执行重复点解码。The first parameter may be used to indicate whether to perform repeated point decoding. Alternatively, the first parameter may be used to control repeated point decoding. Alternatively, the first parameter may be used to indicate whether to perform repeated point decoding when the point cloud to be decoded has multiple attribute information.

该待解码点云可以是点云中的所有点,也可以是点云中的部分点。例如,待解码点云可以指在空间上相对集中的点。The point cloud to be decoded may be all points in the point cloud, or may be part of the points in the point cloud. For example, the point cloud to be decoded may refer to points that are relatively concentrated in space.

该第一参数可以为高层语法元素。在一些实施例中,可以将第一参数例如称为eligible_duplicate_pred。The first parameter may be a high-level syntax element. In some embodiments, the first parameter may be called, for example, eligible_duplicate_pred.

在一些实施例中,第一参数可以是写入码流中的参数。例如,该第一参数可以是自适应参数集(Adaptation Parameter Set,APS)中的参数。In some embodiments, the first parameter may be a parameter written into the bitstream. For example, the first parameter may be a parameter in an Adaptation Parameter Set (APS).

在步骤S1120,如果第一参数的取值为第一值,则执行重复点解码操作。In step S1120, if the value of the first parameter is the first value, a repeated point decoding operation is performed.

该第一参数还可以包括第二值。如果第一参数的取值为第二值(与第一值不同),则确定不执行重复点解码。The first parameter may also include a second value. If the value of the first parameter is the second value (different from the first value), it is determined that repeated point decoding is not performed.

在一些实施例中,如果重复点仅包含一种属性信息,则可以将第一参数的取值设置为第一值。如果重复点同时包含多种属性信息,则可以将第一参数的取值设置为第二值。In some embodiments, if the repeated point contains only one kind of attribute information, the value of the first parameter may be set to the first value. If the repeated point contains multiple kinds of attribute information at the same time, the value of the first parameter may be set to the second value.

在一些实施例中,第一值和第二值可以是参数形式。或者,第一值和第二值也可以是数字形式。In some embodiments, the first value and the second value may be in parameter form. Alternatively, the first value and the second value may also be in digital form.

示例性地,第一值可以设置为1,第二值可以设置为0;或者,第一值可以设置为0,第二值可以设置为1;或者,第一值可以设置为true,第二值可以设置为false;或者,第一值可以设置为false,第二值可以设置为true。Exemplarily, the first value may be set to 1 and the second value may be set to 0; or, the first value may be set to 0 and the second value may be set to 1; or, the first value may be set to true and the second value may be set to false; or, the first value may be set to false and the second value may be set to true.

以第一参数为写入码流中的参数为例,假设该第一参数的第一值为0,第二值为1,如果第一参数的取值为0,则可以确定不执行重复点解码操作;如果第一参数的取值为1,则可以确定执行重复点解码。Taking the first parameter as a parameter written into the bitstream as an example, assuming that the first value of the first parameter is 0 and the second value is 1, if the value of the first parameter is 0, it can be determined that the duplicate point decoding operation is not performed; if the value of the first parameter is 1, it can be determined that the duplicate point decoding operation is performed.

在一些实施例中,图11的方法还可以包括:如果待解码的当前点为重复点,则根据当前点的第一属性分量的残差,确定当前点的第二属性分量的残差的符号位的解码方式;其中,第一属性分量和第二属性分量属于多种属性信息中的同一属性信息;或者,第一属性分量和第二属性分量属于多种属性信息中的不同属性信息。In some embodiments, the method of Figure 11 may also include: if the current point to be decoded is a repeated point, determining the decoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point; wherein the first attribute component and the second attribute component belong to the same attribute information among multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among multiple attribute information.

该当前点可以是指点云中当前待解码的点。The current point may refer to a point in the point cloud that is currently to be decoded.

在当前点的属性分量的解码顺序中,第一属性分量在排序上位于第二属性分量之前。In the decoding order of the attribute components at the current point, the first attribute component is sorted before the second attribute component.

在一些实施例中,在解码顺序中,第一属性分量排在第二属性分量的前一位。In some embodiments, in decoding order, the first attribute component precedes the second attribute component.

以第一属性分量和第二属性分量为当前点的不同颜色分量为例,则第一属性分量可以为颜色信息 中的第一个颜色分量,第二属性分量可以为颜色信息中的第二个颜色分量。也就是说,在解码端可以先通过解码第一个颜色分量,确定第一个颜色分量的残差;然后,可以基于第一个颜色分量的残差(的取值)确定第二个颜色分量的残差的符号位的解码方式。Taking the first attribute component and the second attribute component as different color components of the current point as an example, the first attribute component can be color information The first color component in the color information, the second attribute component may be the second color component in the color information. That is, at the decoding end, the first color component may be decoded to determine the residual of the first color component; then, the decoding method of the sign bit of the residual of the second color component may be determined based on the residual of the first color component (the value thereof).

例如,如果解码端按照RGB的顺序进行解码,则第一属性分量可以为R分量,第二属性分量可以为G分量。For example, if the decoding end performs decoding in the order of RGB, the first attribute component may be an R component, and the second attribute component may be a G component.

又如,如果解码端按照GRB的顺序进行解码,则第一属性分量可以为G分量,第二属性分量可以为R分量。For another example, if the decoding end performs decoding in the order of GRB, the first attribute component may be a G component, and the second attribute component may be an R component.

又如,如果解码端按照YUV的顺序进行解码,则第一属性分量可以为Y分量,第二属性分量可以为U分量。For another example, if the decoding end performs decoding according to the order of YUV, the first attribute component may be a Y component, and the second attribute component may be a U component.

又如,如果解码端按照UYV的顺序进行解码,则第一属性分量可以为U分量,第二属性分量可以为Y分量。For another example, if the decoding end performs decoding in the order of UYV, the first attribute component may be a U component, and the second attribute component may be a Y component.

在一些实施例中,在解码顺序中,第一属性分量包括排在第二属性分量之前的全部属性分量。In some embodiments, the first attribute component includes all attribute components that precede the second attribute component in decoding order.

以第一属性分量和第二属性分量为当前点的不同颜色分量为例,则第一属性分量可以包括颜色信息中的第一个颜色分量和第二个颜色分量,第二属性分量可以为颜色信息中的第三个颜色分量。也就是说,在解码端可以先通过解码第一个颜色分量和第二个颜色分量,确定第一个颜色分量和第二个颜色分量的残差;然后,可以基于第一个颜色分量的残差(的取值)和第二个颜色分量的残差(的取值),确定第三个颜色分量的残差的符号位的解码方式。Taking the first attribute component and the second attribute component as different color components of the current point as an example, the first attribute component may include the first color component and the second color component in the color information, and the second attribute component may be the third color component in the color information. That is, at the decoding end, the first color component and the second color component may be first decoded to determine the residual of the first color component and the second color component; then, based on the residual of the first color component (the value thereof) and the residual of the second color component (the value thereof), the decoding method of the sign bit of the residual of the third color component may be determined.

例如,如果解码端按照RGB的顺序进行解码,则第一属性分量可以包括R分量和G分量,第二属性分量可以为B分量。For example, if the decoding end performs decoding in the order of RGB, the first attribute component may include an R component and a G component, and the second attribute component may be a B component.

又如,如果解码端按照GRB的顺序进行解码,则第一属性分量可以包括G分量和R分量,第二属性分量可以为B分量。For another example, if the decoding end performs decoding in the order of GRB, the first attribute component may include a G component and an R component, and the second attribute component may be a B component.

又如,如果解码端按照YUV的顺序进行解码,则第一属性分量可以包括Y分量和U分量,第二属性分量可以为V分量。For another example, if the decoding end performs decoding in the order of YUV, the first attribute component may include a Y component and a U component, and the second attribute component may be a V component.

又如,如果解码端按照UYV的顺序进行解码,则第一属性分量可以包括U分量和Y分量,第二属性分量可以为V分量。For another example, if the decoding end performs decoding in the order of UYV, the first attribute component may include a U component and a Y component, and the second attribute component may be a V component.

在一些实施例中,第一属性分量和第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。In some embodiments, one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.

例如,如果当前点的属性分量的解码顺序为先解码颜色信息对应的属性分量、再解码反射率信息对应的属性分量,则第一属性分量可以为颜色信息对应的属性分量,第二属性分量可以为反射率信息对应的属性分量。For example, if the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the color information and then decode the attribute components corresponding to the reflectivity information, the first attribute component may be the attribute component corresponding to the color information and the second attribute component may be the attribute component corresponding to the reflectivity information.

作为一个示例,当前点的属性分量的解码顺序为先解码RGB、再解码反射率信息,则第一属性分量可以包括RGB,第二属性分量可以为反射率信息。As an example, the decoding order of the attribute components of the current point is to first decode RGB and then decode the reflectivity information. Then, the first attribute component may include RGB, and the second attribute component may be the reflectivity information.

作为另一示例,当前点的属性分量的解码顺序为先解码YUV、再解码反射率信息,则第一属性分量可以包括YUV,第二属性分量可以为反射率信息。As another example, the decoding order of the attribute components of the current point is to first decode YUV and then decode the reflectivity information. Then, the first attribute component may include YUV, and the second attribute component may be the reflectivity information.

又如,如果当前点的属性分量的解码顺序为先解码反射率信息对应的属性分量、再解码颜色信息对应的属性分量,则第一属性分量可以为反射率信息对应的属性分量,第二属性分量可以为颜色信息对应的属性分量。For another example, if the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the reflectance information and then decode the attribute components corresponding to the color information, the first attribute component may be the attribute component corresponding to the reflectance information, and the second attribute component may be the attribute component corresponding to the color information.

作为一个示例,当前点的属性分量的解码顺序为先解码反射率信息、再解码RGB,则第一属性分量可以为反射率信息,第二属性分量可以包括RGB。As an example, the decoding order of the attribute components of the current point is to first decode the reflectance information and then decode RGB, so the first attribute component may be the reflectance information, and the second attribute component may include RGB.

作为另一示例,当前点的属性分量的解码顺序为先解码反射率信息、再解码YUV,则第一属性分量可以为反射率信息,第二属性分量可以包括YUV。As another example, the decoding order of the attribute components of the current point is to first decode the reflectivity information and then decode the YUV, so the first attribute component may be the reflectivity information, and the second attribute component may include the YUV.

在一些实施例中,上述根据当前点的第一属性分量的残差,确定当前点的第二属性分量的残差的符号位的解码方式,可以包括:如果当前点的第一属性分量的残差为0,则确定不对第二属性分量的残差的符号位进行解码。In some embodiments, the above-mentioned method of determining the decoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point may include: if the residual of the first attribute component of the current point is 0, determining not to decode the sign bit of the residual of the second attribute component.

以当前点的解码顺序为RGB为例,第一属性分量可以为R分量,第二属性分量可以为G分量,如果R分量的残差为0,则可以不对G分量的残差的符号位进行解码(R分量的残差为0,代表存在R分量相同的多个重复点,此时,该多个重复点的G分量呈现为升序,因此不需要对G分量的残差的符号位进行解码)。Taking the decoding order of the current point as RGB as an example, the first attribute component can be the R component, and the second attribute component can be the G component. If the residual of the R component is 0, the sign bit of the residual of the G component does not need to be decoded (the residual of the R component is 0, which means that there are multiple repeated points with the same R component. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the G component).

以当前点的解码顺序为RGB为例,第一属性分量可以包括R分量和G分量,第二属性分量可以为B分量,如果R分量的残差和G分量的残差均为0,则可以不对B分量的残差的符号位进行解码(R分量的残差和G分量的残差均为0,代表存在R分量和G分量均相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行解码)。 Taking the decoding order of the current point as RGB as an example, the first attribute component may include an R component and a G component, and the second attribute component may be a B component. If the residual of the R component and the residual of the G component are both 0, the sign bit of the residual of the B component may not be decoded (the residual of the R component and the residual of the G component are both 0, indicating that there are multiple repeated points with the same R component and G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the B component).

以当前点的解码顺序为GRB为例,第一属性分量可以为G分量,第二属性分量可以为R分量,如果G分量的残差为0,则可以不对R分量的残差的符号位进行解码(G分量的残差为0,代表存在G分量相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行解码)。Taking the decoding order of the current point as GRB as an example, the first attribute component can be the G component, and the second attribute component can be the R component. If the residual of the G component is 0, the sign bit of the residual of the R component does not need to be decoded (the residual of the G component is 0, which means that there are multiple repeated points with the same G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the B component).

以当前点的解码顺序为GRB为例,第一属性分量可以包括G分量和R分量,第二属性分量可以为B分量,如果G分量的残差和R分量的残差均为0,则可以不对B分量的残差的符号位进行解码(G分量的残差和R分量的残差均为0,代表存在G分量和R分量均相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行解码)。Taking the decoding order of the current point as GRB as an example, the first attribute component may include a G component and an R component, and the second attribute component may be a B component. If the residual of the G component and the residual of the R component are both 0, the sign bit of the residual of the B component may not be decoded (the residual of the G component and the residual of the R component are both 0, indicating that there are multiple repeated points with the same G component and R component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the B component).

以当前点的解码顺序为先解码RGB、再解码反射率信息为例,第一属性分量可以包括R分量、G分量和B分量,第二属性分量可以为反射率信息,如果R分量、G分量、B分量的残差均为0,则可以不对反射率信息的残差的符号位进行解码(R分量、G分量、B分量的残差均为0,代表存在R分量、G分量、B分量均相同的多个重复点,此时,该多个重复点的反射率信息呈现为升序,因此不需要对反射率信息的残差的符号位进行解码)。Taking the decoding order of the current point as first decoding RGB and then decoding the reflectivity information as an example, the first attribute component may include R component, G component and B component, and the second attribute component may be the reflectivity information. If the residuals of the R component, G component and B component are all 0, the sign bit of the residual of the reflectivity information may not be decoded (the residuals of the R component, G component and B component are all 0, indicating that there are multiple repeated points with the same R component, G component and B component. At this time, the reflectivity information of the multiple repeated points is presented in ascending order, so there is no need to decode the sign bit of the residual of the reflectivity information).

以当前点的解码顺序为先解码GRB、再解码反射率信息为例,第一属性分量可以包括G分量、R分量和B分量,第二属性分量可以为反射率信息,如果G分量、R分量、B分量的残差均为0,则可以不对反射率信息的残差的符号位进行解码(G分量、R分量、B分量的残差均为0,代表存在G分量、R分量、B分量均相同的多个重复点,此时,该多个重复点的反射率信息呈现为升序,因此不需要对反射率信息的残差的符号位进行解码)。Taking the decoding order of the current point as first decoding GRB and then decoding the reflectivity information as an example, the first attribute component may include G component, R component and B component, and the second attribute component may be the reflectivity information. If the residuals of the G component, R component and B component are all 0, the sign bit of the residual of the reflectivity information may not be decoded (the residuals of the G component, R component and B component are all 0, indicating that there are multiple repeated points with the same G component, R component and B component. At this time, the reflectivity information of the multiple repeated points is presented in ascending order, so there is no need to decode the sign bit of the residual of the reflectivity information).

以当前点的解码顺序为先解码反射率信息、再解码RGB为例,第一属性分量可以为反射率信息,第二属性分量可以为R分量,如果反射率信息的残差为0,则可以不对R分量的残差的符号位进行解码(反射率信息的残差为0,代表存在反射率信息相同的多个重复点,此时,该多个重复点的R分量呈现为升序,因此不需要对R分量的残差的符号位进行解码)。Taking the decoding order of the current point as first decoding the reflectance information and then decoding RGB as an example, the first attribute component may be the reflectance information, and the second attribute component may be the R component. If the residual of the reflectance information is 0, the sign bit of the residual of the R component may not be decoded (the residual of the reflectance information is 0, indicating that there are multiple repeated points with the same reflectance information. At this time, the R components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the R component).

以当前点的解码顺序为先解码反射率信息、再解码GRB为例,第一属性分量可以为反射率信息,第二属性分量可以为G分量,如果反射率信息的残差为0,则可以不对G分量的残差的符号位进行解码(反射率信息的残差为0,代表存在反射率信息相同的多个重复点,此时,该多个重复点的G分量呈现为升序,因此不需要对G分量的残差的符号位进行解码)。Taking the decoding order of the current point as first decoding the reflectivity information and then decoding GRB as an example, the first attribute component may be the reflectivity information, and the second attribute component may be the G component. If the residual of the reflectivity information is 0, the sign bit of the residual of the G component may not be decoded (the residual of the reflectivity information is 0, indicating that there are multiple repeated points with the same reflectivity information. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to decode the sign bit of the residual of the G component).

在一些实施例中,如果当前点不为重复点,则对当前点的各个属性分量的残差的符号位进行解码。当前点不为重复点,则当前点的颜色残差的各个分量的符号位可能为正,也可能为负。在这种情况下,对当前点的颜色残差的各个分量的符号位进行解码,可以保证解码的准确性。In some embodiments, if the current point is not a duplicate point, the sign bits of the residuals of the various attribute components of the current point are decoded. If the current point is not a duplicate point, the sign bits of the various components of the color residual of the current point may be positive or negative. In this case, decoding the sign bits of the various components of the color residual of the current point can ensure the accuracy of decoding.

在一些实施例中,图11的方法还可包括:根据当前点的属性信息的预测信息和属性残差,确定当前点的重建属性信息。In some embodiments, the method of FIG. 11 may further include: determining the reconstructed attribute information of the current point according to the prediction information and the attribute residual of the attribute information of the current point.

当前点的属性信息的预测信息可以基于当前点的预测参考点的重建属性信息确定。当前点的预测参考点的选取方式可以基于当前点的类型确定。例如,如果当前点不为重复点,则可以基于某种距离(如曼哈顿距离)确定当前点的K个邻居点(K为正整数),然后将该K个邻居点作为预测参考点对当前点的属性信息进行加权预测。又如,如果当前点为重复点,则可以将当前点的前M个重复点确定为预测参考点,然后根据该前M个重复点的重建属性信息,确定当前点的属性信息的预测信息;其中,M为正整数。作为一个示例,M的取值可以为1,也就是说,可以基于当前点的前一重复点的重建属性信息对当前点的属性信息进行差分预测。The prediction information of the attribute information of the current point can be determined based on the reconstructed attribute information of the prediction reference point of the current point. The selection method of the prediction reference point of the current point can be determined based on the type of the current point. For example, if the current point is not a duplicate point, the K neighbor points (K is a positive integer) of the current point can be determined based on a certain distance (such as Manhattan distance), and then the K neighbor points are used as prediction reference points to perform weighted prediction on the attribute information of the current point. For another example, if the current point is a duplicate point, the first M duplicate points of the current point can be determined as prediction reference points, and then the prediction information of the attribute information of the current point is determined based on the reconstructed attribute information of the first M duplicate points; wherein M is a positive integer. As an example, the value of M can be 1, that is, the attribute information of the current point can be differentially predicted based on the reconstructed attribute information of the previous duplicate point of the current point.

上文结合图11,详细描述了本申请第二实施例提供的解码方法。下面结合图12,详细描述本申请第二实施例提供的编码方法。The decoding method provided by the second embodiment of the present application is described in detail above in conjunction with Figure 11. The encoding method provided by the second embodiment of the present application is described in detail below in conjunction with Figure 12.

图12为本申请第二实施例提供的编码方法的示意性流程图。图12的方法可应用于编码器。该编码方法可以是指一种点云的属性信息(如颜色信息)的编码方法。下文对图12的各个步骤进行详细地举例说明。FIG12 is a schematic flow chart of the encoding method provided in the second embodiment of the present application. The method of FIG12 can be applied to an encoder. The encoding method can refer to a method for encoding attribute information (such as color information) of a point cloud. The following is a detailed example of each step of FIG12.

在步骤S1210,确定是否执行重复点编码操作。In step S1210, it is determined whether to perform a repeated point encoding operation.

在步骤S1220,根据确定结果确定第一参数的取值。In step S1220, the value of the first parameter is determined according to the determination result.

在步骤S1230,对第一参数的取值进行编码,将所得到的编码比特写入码流。In step S1230, the value of the first parameter is encoded, and the obtained encoded bits are written into the bitstream.

该第一参数可用于指示是否执行重复点编码。或者,该第一参数用于控制重复点编码。或者,该第一参数可用于指示在待编码点云具有多种属性信息的情况下,是否执行重复点编码。The first parameter may be used to indicate whether to perform repeated point coding. Alternatively, the first parameter may be used to control repeated point coding. Alternatively, the first parameter may be used to indicate whether to perform repeated point coding when the point cloud to be coded has multiple attribute information.

该待编码点云可以是点云中的所有点,也可以是点云中的部分点。例如,待编码点云可以指在空间上相对集中的点。The point cloud to be encoded may be all points in the point cloud, or may be part of the points in the point cloud. For example, the point cloud to be encoded may refer to points that are relatively concentrated in space.

该第一参数可以为高层语法元素。在一些实施例中,可以将第一参数例如称为eligible_duplicate_pred。 The first parameter may be a high-level syntax element. In some embodiments, the first parameter may be called, for example, eligible_duplicate_pred.

在一些实施例中,第一参数可以是自适应参数集(Adaptation Parameter Set,APS)中的参数。In some embodiments, the first parameter may be a parameter in an Adaptation Parameter Set (APS).

该第一参数可以包括第一值和第二值。如果第一参数的取值为第一值,则确定执行重复点编码;如果第一参数的取值为第二值(与第一值不同),则确定不执行重复点编码。The first parameter may include a first value and a second value. If the value of the first parameter is the first value, it is determined that repeated point coding is performed; if the value of the first parameter is the second value (different from the first value), it is determined that repeated point coding is not performed.

在一些实施例中,如果重复点仅包含一种属性信息,则可以将第一参数的取值设置为第一值。如果重复点同时包含多种属性信息,则可以将第一参数的取值设置为第二值。In some embodiments, if the repeated point contains only one kind of attribute information, the value of the first parameter may be set to the first value. If the repeated point contains multiple kinds of attribute information at the same time, the value of the first parameter may be set to the second value.

在一些实施例中,第一值和第二值可以是参数形式。或者,第一值和第二值也可以是数字形式。In some embodiments, the first value and the second value may be in parameter form. Alternatively, the first value and the second value may also be in digital form.

示例性地,第一值可以设置为1,第二值可以设置为0;或者,第一值可以设置为0,第二值可以设置为1;或者,第一值可以设置为true,第二值可以设置为false;或者,第一值可以设置为false,第二值可以设置为true。Exemplarily, the first value may be set to 1 and the second value may be set to 0; or, the first value may be set to 0 and the second value may be set to 1; or, the first value may be set to true and the second value may be set to false; or, the first value may be set to false and the second value may be set to true.

假设该第一参数的第一值为0,第二值为1,如果第一参数的取值为0,则可以确定不执行重复点编码操作;如果第一参数的取值为1,则可以确定执行重复点编码。Assuming that the first value of the first parameter is 0 and the second value is 1, if the value of the first parameter is 0, it can be determined that the repeated point encoding operation is not performed; if the value of the first parameter is 1, it can be determined that the repeated point encoding operation is performed.

在一些实施例中,图12的方法还可以包括:如果待编码的当前点为重复点,则根据当前点的第一属性分量的残差,确定当前点的第二属性分量的残差的符号位的编码方式;其中,第一属性分量和第二属性分量属于多种属性信息中的同一属性信息;或者,第一属性分量和第二属性分量属于多种属性信息中的不同属性信息。In some embodiments, the method of Figure 12 may also include: if the current point to be encoded is a repeated point, determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point; wherein the first attribute component and the second attribute component belong to the same attribute information among multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among multiple attribute information.

该当前点可以是指点云中当前待编码的点。The current point may refer to a point to be encoded currently in the point cloud.

在当前点的属性分量的编码顺序中,第一属性分量在排序上位于第二属性分量之前。In the encoding order of the attribute components of the current point, the first attribute component is sorted before the second attribute component.

在一些实施例中,在编码顺序中,第一属性分量排在第二属性分量的前一位。In some embodiments, in the encoding order, the first attribute component precedes the second attribute component.

以第一属性分量和第二属性分量为当前点的不同颜色分量为例,则第一属性分量可以为颜色信息中的第一个颜色分量,第二属性分量可以为颜色信息中的第二个颜色分量。也就是说,在编码端可以先通过编码第一个颜色分量,确定第一个颜色分量的残差;然后,可以基于第一个颜色分量的残差(的取值)确定第二个颜色分量的残差的符号位的编码方式。Taking the first attribute component and the second attribute component as different color components of the current point as an example, the first attribute component can be the first color component in the color information, and the second attribute component can be the second color component in the color information. That is, at the encoding end, the first color component can be encoded to determine the residual of the first color component; then, the encoding method of the sign bit of the residual of the second color component can be determined based on the residual of the first color component (the value thereof).

例如,如果编码端按照RGB的顺序进行编码,则第一属性分量可以为R分量,第二属性分量可以为G分量。For example, if the encoding end performs encoding in the order of RGB, the first attribute component may be an R component, and the second attribute component may be a G component.

又如,如果编码端按照GRB的顺序进行编码,则第一属性分量可以为G分量,第二属性分量可以为R分量。For another example, if the encoding end performs encoding in the order of GRB, the first attribute component may be a G component, and the second attribute component may be an R component.

又如,如果编码端按照YUV的顺序进行编码,则第一属性分量可以为Y分量,第二属性分量可以为U分量。For another example, if the encoding end performs encoding in the order of YUV, the first attribute component may be a Y component, and the second attribute component may be a U component.

又如,如果编码端按照UYV的顺序进行编码,则第一属性分量可以为U分量,第二属性分量可以为Y分量。For another example, if the encoding end performs encoding in the order of UYV, the first attribute component may be a U component, and the second attribute component may be a Y component.

在一些实施例中,在编码顺序中,第一属性分量包括排在第二属性分量之前的全部属性分量。In some embodiments, the first attribute component includes all attribute components that precede the second attribute component in coding order.

以第一属性分量和第二属性分量为当前点的不同颜色分量为例,则第一属性分量可以包括颜色信息中的第一个颜色分量和第二个颜色分量,第二属性分量可以为颜色信息中的第三个颜色分量。也就是说,在编码端可以先通过编码第一个颜色分量和第二个颜色分量,确定第一个颜色分量和第二个颜色分量的残差;然后,可以基于第一个颜色分量的残差(的取值)和第二个颜色分量的残差(的取值),确定第三个颜色分量的残差的符号位的编码方式。Taking the first attribute component and the second attribute component as different color components of the current point as an example, the first attribute component may include the first color component and the second color component in the color information, and the second attribute component may be the third color component in the color information. That is, at the encoding end, the first color component and the second color component may be encoded to determine the residual of the first color component and the second color component; then, based on the residual of the first color component (the value thereof) and the residual of the second color component (the value thereof), the encoding method of the sign bit of the residual of the third color component may be determined.

例如,如果编码端按照RGB的顺序进行编码,则第一属性分量可以包括R分量和G分量,第二属性分量可以为B分量。For example, if the encoding end performs encoding in the order of RGB, the first attribute component may include an R component and a G component, and the second attribute component may be a B component.

又如,如果编码端按照GRB的顺序进行编码,则第一属性分量可以包括G分量和R分量,第二属性分量可以为B分量。For another example, if the encoding end performs encoding in the order of GRB, the first attribute component may include a G component and an R component, and the second attribute component may be a B component.

又如,如果编码端按照YUV的顺序进行编码,则第一属性分量可以包括Y分量和U分量,第二属性分量可以为V分量。For another example, if the encoding end performs encoding in the order of YUV, the first attribute component may include a Y component and a U component, and the second attribute component may be a V component.

又如,如果编码端按照UYV的顺序进行编码,则第一属性分量可以包括U分量和Y分量,第二属性分量可以为V分量。For another example, if the encoding end performs encoding in the order of UYV, the first attribute component may include a U component and a Y component, and the second attribute component may be a V component.

在一些实施例中,第一属性分量和第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。In some embodiments, one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.

例如,如果当前点的属性分量的编码顺序为先编码颜色信息对应的属性分量、再编码反射率信息对应的属性分量,则第一属性分量可以为颜色信息对应的属性分量,第二属性分量可以为反射率信息对应的属性分量。For example, if the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute component may be the attribute component corresponding to the color information, and the second attribute component may be the attribute component corresponding to the reflectivity information.

作为一个示例,当前点的属性分量的编码顺序为先编码RGB、再编码反射率信息,则第一属性分量可以包括RGB,第二属性分量可以为反射率信息。As an example, the encoding order of the attribute components of the current point is to encode RGB first and then encode the reflectivity information, so the first attribute component may include RGB, and the second attribute component may be the reflectivity information.

作为另一示例,当前点的属性分量的编码顺序为先编码YUV、再编码反射率信息,则第一属性分 量可以包括YUV,第二属性分量可以为反射率信息。As another example, the encoding order of the attribute components of the current point is to encode YUV first and then encode reflectivity information. The quantity may include YUV, and the second attribute component may be reflectivity information.

又如,如果当前点的属性分量的编码顺序为先编码反射率信息对应的属性分量、再编码颜色信息对应的属性分量,则第一属性分量可以为反射率信息对应的属性分量,第二属性分量可以为颜色信息对应的属性分量。For another example, if the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information, then the first attribute component may be the attribute component corresponding to the reflectivity information, and the second attribute component may be the attribute component corresponding to the color information.

作为一个示例,当前点的属性分量的编码顺序为先编码反射率信息、再编码RGB,则第一属性分量可以为反射率信息,第二属性分量可以包括RGB。As an example, the encoding order of the attribute components of the current point is to encode the reflectance information first and then encode RGB, so the first attribute component may be the reflectance information, and the second attribute component may include RGB.

作为另一示例,当前点的属性分量的编码顺序为先编码反射率信息、再编码YUV,则第一属性分量可以为反射率信息,第二属性分量可以包括YUV。As another example, the encoding order of the attribute components of the current point is to encode the reflectivity information first and then encode the YUV, so the first attribute component may be the reflectivity information, and the second attribute component may include the YUV.

在一些实施例中,上述根据当前点的第一属性分量的残差,确定当前点的第二属性分量的残差的符号位的编码方式,可以包括:如果当前点的第一属性分量的残差为0,则确定不对第二属性分量的残差的符号位进行编码。In some embodiments, the above-mentioned method of determining the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point may include: if the residual of the first attribute component of the current point is 0, determining not to encode the sign bit of the residual of the second attribute component.

以当前点的编码顺序为RGB为例,第一属性分量可以为R分量,第二属性分量可以为G分量,如果R分量的残差为0,则可以不对G分量的残差的符号位进行编码(R分量的残差为0,代表存在R分量相同的多个重复点,此时,该多个重复点的G分量呈现为升序,因此不需要对G分量的残差的符号位进行编码)。Taking the encoding order of the current point as RGB as an example, the first attribute component can be the R component, and the second attribute component can be the G component. If the residual of the R component is 0, the sign bit of the residual of the G component may not be encoded (the residual of the R component is 0, which means that there are multiple repeated points with the same R component. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).

以当前点的编码顺序为RGB为例,第一属性分量可以包括R分量和G分量,第二属性分量可以为B分量,如果R分量的残差和G分量的残差均为0,则可以不对B分量的残差的符号位进行编码(R分量的残差和G分量的残差均为0,代表存在R分量和G分量均相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行编码)。Taking the encoding order of the current point as RGB as an example, the first attribute component may include an R component and a G component, and the second attribute component may be a B component. If the residual of the R component and the residual of the G component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the R component and the residual of the G component are both 0, indicating that there are multiple repeated points with the same R component and G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).

以当前点的编码顺序为GRB为例,第一属性分量可以为G分量,第二属性分量可以为R分量,如果G分量的残差为0,则可以不对R分量的残差的符号位进行编码(G分量的残差为0,代表存在G分量相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行编码)。Taking the encoding order of the current point as GRB as an example, the first attribute component can be the G component, and the second attribute component can be the R component. If the residual of the G component is 0, the sign bit of the residual of the R component may not be encoded (the residual of the G component is 0, which means that there are multiple repeated points with the same G component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).

以当前点的编码顺序为GRB为例,第一属性分量可以包括G分量和R分量,第二属性分量可以为B分量,如果G分量的残差和R分量的残差均为0,则可以不对B分量的残差的符号位进行编码(G分量的残差和R分量的残差均为0,代表存在G分量和R分量均相同的多个重复点,此时,该多个重复点的B分量呈现为升序,因此不需要对B分量的残差的符号位进行编码)。Taking the encoding order of the current point as GRB as an example, the first attribute component may include a G component and an R component, and the second attribute component may be a B component. If the residual of the G component and the residual of the R component are both 0, the sign bit of the residual of the B component may not be encoded (the residual of the G component and the residual of the R component are both 0, indicating that there are multiple repeated points with the same G component and R component. At this time, the B components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the B component).

以当前点的编码顺序为先编码RGB、再编码反射率信息为例,第一属性分量可以包括R分量、G分量和B分量,第二属性分量可以为反射率信息,如果R分量、G分量、B分量的残差均为0,则可以不对反射率信息的残差的符号位进行编码(R分量、G分量、B分量的残差均为0,代表存在R分量、G分量、B分量均相同的多个重复点,此时,该多个重复点的反射率信息呈现为升序,因此不需要对反射率信息的残差的符号位进行编码)。Taking the encoding order of the current point as an example of first encoding RGB and then encoding the reflectivity information, the first attribute component may include R component, G component and B component, and the second attribute component may be the reflectivity information. If the residuals of the R component, G component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the R component, G component and B component are all 0, indicating that there are multiple repeated points with the same R component, G component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).

以当前点的编码顺序为先编码GRB、再编码反射率信息为例,第一属性分量可以包括G分量、R分量和B分量,第二属性分量可以为反射率信息,如果G分量、R分量、B分量的残差均为0,则可以不对反射率信息的残差的符号位进行编码(G分量、R分量、B分量的残差均为0,代表存在G分量、R分量、B分量均相同的多个重复点,此时,该多个重复点的反射率信息呈现为升序,因此不需要对反射率信息的残差的符号位进行编码)。Taking the encoding order of the current point as first encoding GRB and then encoding the reflectivity information as an example, the first attribute component may include G component, R component and B component, and the second attribute component may be the reflectivity information. If the residuals of the G component, R component and B component are all 0, the sign bit of the residual of the reflectivity information may not be encoded (the residuals of the G component, R component and B component are all 0, indicating that there are multiple repeated points with the same G component, R component and B component. At this time, the reflectivity information of the multiple repeated points is in ascending order, so there is no need to encode the sign bit of the residual of the reflectivity information).

以当前点的编码顺序为先编码反射率信息、再编码RGB为例,第一属性分量可以为反射率信息,第二属性分量可以为R分量,如果反射率信息的残差为0,则可以不对R分量的残差的符号位进行编码(反射率信息的残差为0,代表存在反射率信息相同的多个重复点,此时,该多个重复点的R分量呈现为升序,因此不需要对R分量的残差的符号位进行编码)。Taking the encoding order of the current point as first encoding the reflectance information and then encoding RGB as an example, the first attribute component can be the reflectance information, and the second attribute component can be the R component. If the residual of the reflectance information is 0, the sign bit of the residual of the R component may not be encoded (the residual of the reflectance information is 0, indicating that there are multiple repeated points with the same reflectance information. At this time, the R components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the R component).

以当前点的编码顺序为先编码反射率信息、再编码GRB为例,第一属性分量可以为反射率信息,第二属性分量可以为G分量,如果反射率信息的残差为0,则可以不对G分量的残差的符号位进行编码(反射率信息的残差为0,代表存在反射率信息相同的多个重复点,此时,该多个重复点的G分量呈现为升序,因此不需要对G分量的残差的符号位进行编码)。Taking the encoding order of the current point as first encoding the reflectivity information and then encoding GRB as an example, the first attribute component can be the reflectivity information, and the second attribute component can be the G component. If the residual of the reflectivity information is 0, the sign bit of the residual of the G component may not be encoded (the residual of the reflectivity information is 0, indicating that there are multiple repeated points with the same reflectivity information. At this time, the G components of the multiple repeated points are in ascending order, so there is no need to encode the sign bit of the residual of the G component).

在一些实施例中,如果当前点不为重复点,则对当前点的各个属性分量的残差的符号位进行编码。当前点不为重复点,则当前点的颜色残差的各个分量的符号位可能为正,也可能为负。在这种情况下,对当前点的颜色残差的各个分量的符号位进行编码,可以保证编码的准确性。In some embodiments, if the current point is not a duplicate point, the sign bits of the residuals of the various attribute components of the current point are encoded. If the current point is not a duplicate point, the sign bits of the various components of the color residual of the current point may be positive or negative. In this case, encoding the sign bits of the various components of the color residual of the current point can ensure the accuracy of the encoding.

在一些实施例中,图12的方法还可包括:确定当前点的属性信息的预测信息;根据当前点的属性信息的预测信息,确定当前点的颜色残差。In some embodiments, the method of FIG. 12 may further include: determining prediction information of the attribute information of the current point; and determining a color residual of the current point according to the prediction information of the attribute information of the current point.

当前点的属性信息的预测信息可以基于当前点的预测参考点的重建属性信息确定。当前点的预测参考点的选取方式可以基于当前点的类型确定。例如,如果当前点不为重复点,则可以基于某种距离(如 曼哈顿距离)确定当前点的K个邻居点(K为正整数),然后将该K个邻居点作为预测参考点对当前点的属性信息进行加权预测。又如,如果当前点为重复点,则可以将当前点的前M个重复点确定为预测参考点,然后根据该前M个重复点的重建属性信息,确定当前点的属性信息的预测信息;其中,M为正整数。作为一个示例,M的取值可以为1,也就是说,可以基于当前点的前一重复点的重建属性信息对当前点的属性信息进行差分预测。The prediction information of the attribute information of the current point can be determined based on the reconstructed attribute information of the prediction reference point of the current point. The selection method of the prediction reference point of the current point can be determined based on the type of the current point. For example, if the current point is not a repeated point, it can be based on a certain distance (such as Manhattan distance) to determine the K neighboring points of the current point (K is a positive integer), and then use the K neighboring points as prediction reference points to perform weighted prediction on the attribute information of the current point. For another example, if the current point is a repeated point, the first M repeated points of the current point can be determined as prediction reference points, and then the predicted information of the attribute information of the current point is determined based on the reconstructed attribute information of the first M repeated points; where M is a positive integer. As an example, the value of M can be 1, that is, the attribute information of the current point can be differentially predicted based on the reconstructed attribute information of the previous repeated point of the current point.

在一些实施例中,图12的方法还可包括:根据当前点的属性信息的预测信息,确定当前点的属性残差;对当前点的属性残差进行量化,得到当前点的量化残差;对量化残差进行编码,将所得到的编码比特写入码流。In some embodiments, the method of Figure 12 may also include: determining the attribute residual of the current point based on the prediction information of the attribute information of the current point; quantizing the attribute residual of the current point to obtain the quantized residual of the current point; encoding the quantized residual and writing the obtained coded bits into the bit stream.

上文结合图1至图12,详细描述了本申请的方法实施例,下面结合图13至图19,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。The method embodiment of the present application is described in detail above in conjunction with Figures 1 to 12, and the device embodiment of the present application is described in detail below in conjunction with Figures 13 to 19. It should be understood that the description of the method embodiment corresponds to the description of the device embodiment, so the part not described in detail can refer to the previous method embodiment.

图13为本申请一个实施例提供的编码器的结构示意图。如图13所示,所述编码器1300包括:确定单元1310和排序单元1320。Fig. 13 is a schematic diagram of the structure of an encoder provided by an embodiment of the present application. As shown in Fig. 13 , the encoder 1300 includes: a determination unit 1310 and a sorting unit 1320 .

确定单元1310配置为确定待编码点云的重复点集合。所述重复点集合中的重复点包括多种属性信息。The determination unit 1310 is configured to determine a set of repeated points of the point cloud to be encoded. The repeated points in the set of repeated points include multiple attribute information.

排序单元1320配置为根据所述多种属性信息,对所述重复点集合中的重复点进行排序。The sorting unit 1320 is configured to sort the repeated points in the repeated point set according to the multiple types of attribute information.

在一些实施例中,所述排序单元1320配置为:按照第一排序方式对所述重复点集合中的重复点进行排序;其中,所述第一排序方式为先根据所述多种属性信息中的第一属性信息进行排序,再根据所述多种属性信息中的第二属性信息进行排序。In some embodiments, the sorting unit 1320 is configured to: sort the repeated points in the repeated point set according to a first sorting method; wherein the first sorting method is to first sort according to the first attribute information among the multiple attribute information, and then sort according to the second attribute information among the multiple attribute information.

在一些实施例中,所述排序单元1320配置为:根据所述第一属性信息对所述重复点集合中的重复点进行排序;如果所述重复点集合包括第一属性信息相同的至少两个重复点,则根据所述至少两个重复点的第二属性信息对所述至少两个重复点进行排序。In some embodiments, the sorting unit 1320 is configured to: sort the duplicate points in the duplicate point set according to the first attribute information; if the duplicate point set includes at least two duplicate points with the same first attribute information, sort the at least two duplicate points according to the second attribute information of the at least two duplicate points.

在一些实施例中,所述第一属性信息为颜色信息,所述第二属性信息为反射率信息;或者,所述第一属性信息为反射率信息,所述第二属性信息为颜色信息。In some embodiments, the first attribute information is color information, and the second attribute information is reflectivity information; or, the first attribute information is reflectivity information, and the second attribute information is color information.

在一些实施例中,所述第一属性信息为所述多种属性信息中的被优先编码的属性信息。In some embodiments, the first attribute information is the attribute information that is preferentially encoded among the multiple attribute information.

在一些实施例中,所述确定单元1310还配置为:确定第一参数的取值;如果所述第一参数的取值指示执行重复点编码,则确定执行所述根据所述多种属性信息,对所述重复点集合中的重复点进行排序的步骤。In some embodiments, the determination unit 1310 is further configured to: determine the value of a first parameter; if the value of the first parameter indicates to perform repeated point encoding, determine to perform the step of sorting the repeated points in the repeated point set according to the multiple attribute information.

在一些实施例中,所述确定单元1310还配置为:如果所述第一参数的取值为第一值,则确定执行所述重复点编码;如果所述第一参数的取值为第二值,则确定不执行所述重复点编码。In some embodiments, the determination unit 1310 is further configured to: if the value of the first parameter is a first value, determine to perform the repeated point encoding; if the value of the first parameter is a second value, determine not to perform the repeated point encoding.

在一些实施例中,所述编码器1300还包括编码单元,配置为对所述第一参数的取值进行编码,将所得到的编码比特写入码流。In some embodiments, the encoder 1300 further includes an encoding unit configured to encode the value of the first parameter and write the obtained encoded bits into a bit stream.

在一些实施例中,所述第一参数为自适应参数集中的参数。In some embodiments, the first parameter is a parameter in an adaptive parameter set.

在一些实施例中,所述编码单元配置为如果待编码的当前点为重复点,则根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的编码方式;其中,所述第一属性分量和所述第二属性分量属于所述多种属性信息中的同一属性信息;或者,所述第一属性分量和所述第二属性分量属于所述多种属性信息中的不同属性信息。In some embodiments, the encoding unit is configured to determine the encoding method of the sign bit of the residual of the second attribute component of the current point based on the residual of the first attribute component of the current point if the current point to be encoded is a repeated point; wherein the first attribute component and the second attribute component belong to the same attribute information among the multiple attribute information; or, the first attribute component and the second attribute component belong to different attribute information among the multiple attribute information.

在一些实施例中,所述编码单元配置为如果所述当前点的第一属性分量的残差为0,则确定不对所述第二属性分量的残差的符号位进行编码。In some embodiments, the encoding unit is configured to determine not to encode a sign bit of the residual of the second attribute component if the residual of the first attribute component of the current point is 0.

在一些实施例中,在所述当前点的属性分量的编码顺序中,所述第一属性分量的排序高于所述第二属性分量。In some embodiments, in the encoding order of the attribute components of the current point, the first attribute component is ranked higher than the second attribute component.

在一些实施例中,在所述编码顺序中,所述第一属性分量排在所述第二属性分量的前一位;或者,在所述编码顺序中,所述第一属性分量包括排在所述第二属性分量之前的全部属性分量。In some embodiments, in the encoding order, the first attribute component precedes the second attribute component; or, in the encoding order, the first attribute component includes all attribute components that precede the second attribute component.

在一些实施例中,所述第一属性分量和所述第二属性分量为所述当前点的不同颜色分量。In some embodiments, the first attribute component and the second attribute component are different color components of the current point.

在一些实施例中,所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量为R分量,所述第二属性分量为G分量;或者,所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量包括R分量和G分量,所述第二属性分量为B分量;或者,所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量为G分量,所述第二属性分量为R分量;或者,所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量包括G分量和R分量,所述第二属性分量为B分量;或者,所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量为Y分量,所述第二属性分量为U分量;或者,所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量包括Y分量和U分量,所述第二属性分量为V分量;或者,所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量为U分量,所述第二属性分量为 Y分量;或者,所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量包括U分量和Y分量,所述第二属性分量为V分量。In some embodiments, the encoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, the encoding order of the color components of the current point is RGB, the first attribute component includes the R component and the G component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, the encoding order of the color components of the current point is GRB, the first attribute component includes the G component and the R component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, the encoding order of the color components of the current point is YUV, the first attribute component includes the Y component and the U component, and the second attribute component is the V component; or, the encoding order of the color components of the current point is UYV, the first attribute component is the U component, and the second attribute component is Y component; or, the encoding order of the color component of the current point is UYV, the first attribute component includes a U component and a Y component, and the second attribute component is a V component.

在一些实施例中,所述第一属性分量和所述第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。In some embodiments, one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.

在一些实施例中,所述当前点的属性分量的编码顺序为先编码颜色信息对应的属性分量、再编码反射率信息对应的属性分量,所述第一属性分量为颜色信息对应的属性分量,所述第二属性分量为反射率信息对应的属性分量;或者,所述当前点的属性分量的编码顺序为先编码反射率信息对应的属性分量、再编码颜色信息对应的属性分量,所述第一属性分量为反射率信息对应的属性分量,所述第二属性分量为颜色信息对应的属性分量。In some embodiments, the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute component is the attribute component corresponding to the color information, and the second attribute component is the attribute component corresponding to the reflectivity information; or, the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information, the first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information.

在一些实施例中,所述编码单元配置为如果所述当前点不为重复点,则对所述当前点的各个属性分量的残差的符号位进行编码。In some embodiments, the encoding unit is configured to encode a sign bit of a residual of each attribute component of the current point if the current point is not a repeated point.

在一些实施例中,所述编码单元配置为确定所述当前点的颜色信息的预测信息;根据所述当前点的颜色信息的预测信息,确定所述当前点的颜色残差。In some embodiments, the encoding unit is configured to determine prediction information of the color information of the current point; and determine the color residual of the current point according to the prediction information of the color information of the current point.

在一些实施例中,所述编码单元配置为如果所述当前点为重复点,则根据所述当前点的前M个重复点的重建颜色信息,确定所述预测信息;其中,M为正整数。In some embodiments, the encoding unit is configured to determine the prediction information based on reconstructed color information of M repeated points preceding the current point if the current point is a repeated point; wherein M is a positive integer.

在一些实施例中,所述编码单元配置为对所述当前点的颜色残差进行量化,确定所述当前点的量化残差;对所述量化残差进行编码,将所得到的编码比特写入码流。In some embodiments, the encoding unit is configured to quantize the color residual of the current point to determine the quantized residual of the current point; encode the quantized residual, and write the obtained encoded bits into a bitstream.

可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It is understandable that in the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular. Moreover, the components in the present embodiment 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. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment is essentially or the part that contributes to the prior art or the whole or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., which can store program code.

因此,本申请实施例提供了一种计算机可读存储介质,应用于编码器1300,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例中任一项所述的解码方法。Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 1300. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the decoding method described in any one of the aforementioned embodiments.

基于上述编码器1300的组成以及计算机可读存储介质,参见图14,其示出了本申请实施例提供的编码器1300的具体硬件结构示意图。如图14所示,编码器1400可以包括:通信接口1410、存储器1420和处理器1430;各个组件通过总线系统1440耦合在一起。可理解,总线系统1440用于实现这些组件之间的连接通信。总线系统1440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图14中将各种总线都标为总线系统1440。其中,Based on the composition of the above-mentioned encoder 1300 and the computer-readable storage medium, refer to Figure 14, which shows a specific hardware structure diagram of the encoder 1300 provided in an embodiment of the present application. As shown in Figure 14, the encoder 1400 may include: a communication interface 1410, a memory 1420 and a processor 1430; each component is coupled together through a bus system 1440. It can be understood that the bus system 1440 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1440 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 1440 in Figure 14. Among them,

通信接口1410,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;The communication interface 1410 is used to receive and send signals during the process of sending and receiving information with other external network elements;

存储器1420,用于存储计算机程序;Memory 1420, used for storing computer programs;

处理器1430,用于在运行所述计算机程序时,执行:The processor 1430 is configured to, when running the computer program, execute:

确定待编码点云的重复点集合;其中,所述重复点集合中的重复点包括多种属性信息;Determine a set of repeated points of a point cloud to be encoded; wherein the repeated points in the set of repeated points include multiple attribute information;

根据所述多种属性信息,对所述重复点集合中的重复点进行排序。The repeated points in the repeated point set are sorted according to the multiple types of attribute information.

可以理解,本申请实施例中的存储器1420可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的存储器1420旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the memory 1420 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DRRAM). The memory 1420 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

而处理器1430可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步 骤可以通过处理器1430中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1430可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1420,处理器1430读取存储器1420中的信息,结合其硬件完成上述方法的步骤。The processor 1430 may be an integrated circuit chip with signal processing capability. The steps can be completed by the hardware integrated logic circuit or software instructions in the processor 1430. The above-mentioned processor 1430 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The various methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to be executed, or the hardware and software modules in the decoding processor are combined and executed. The software module 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 or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1420, and the processor 1430 reads the information in the memory 1420 and completes the steps of the above method in combination with its hardware.

可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。It is understood that the embodiments described in this application can be implemented in hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof. For software implementation, the technology described in this application can be implemented by a module (such as a process, function, etc.) that performs the functions described in this application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

可选地,作为另一个实施例,处理器1430还配置为在运行所述计算机程序时,执行前述第一实施例中的编码方法。Optionally, as another embodiment, the processor 1430 is further configured to execute the encoding method in the aforementioned first embodiment when running the computer program.

图15为本申请另一实施例提供的解码器的结构示意图。图15的解码器1500包括第一解码单元1510和第二解码单元1520。FIG15 is a schematic diagram of the structure of a decoder provided by another embodiment of the present application. The decoder 1500 of FIG15 includes a first decoding unit 1510 and a second decoding unit 1520 .

第一解码单元1510配置为解析码流,确定第一参数的取值。The first decoding unit 1510 is configured to parse the code stream and determine a value of the first parameter.

第二解码单元1520配置为如果所述第一参数的取值为第一值,则执行重复点解码操作;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。The second decoding unit 1520 is configured to perform a repeated point decoding operation if the value of the first parameter is a first value; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.

在一些实施例中,所述第一参数为自适应参数集中的参数。In some embodiments, the first parameter is a parameter in an adaptive parameter set.

在一些实施例中,所述解码器1500还包括第三解码单元,配置为如果待解码的当前点为重复点,则根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的解码方式。In some embodiments, the decoder 1500 further includes a third decoding unit configured to determine a decoding method for a sign bit of a residual of a second attribute component of the current point based on a residual of a first attribute component of the current point if the current point to be decoded is a repeated point.

在一些实施例中,所述第三解码单元配置为如果所述当前点的第一属性分量的残差为0,则确定不对所述第二属性分量的残差的符号位进行解码。In some embodiments, the third decoding unit is configured to determine not to decode the sign bit of the residual of the second attribute component if the residual of the first attribute component of the current point is 0.

在一些实施例中,在所述当前点的属性分量的解码顺序中,所述第一属性分量的排序高于所述第二属性分量。In some embodiments, in the decoding order of the attribute components of the current point, the first attribute component is ranked higher than the second attribute component.

在一些实施例中,在所述解码顺序中,所述第一属性分量排在所述第二属性分量的前一位;或者,在所述解码顺序中,所述第一属性分量包括排在所述第二属性分量之前的全部属性分量。In some embodiments, in the decoding order, the first attribute component precedes the second attribute component; or, in the decoding order, the first attribute component includes all attribute components preceding the second attribute component.

在一些实施例中,所述第一属性分量和所述第二属性分量为所述当前点的不同颜色分量。In some embodiments, the first attribute component and the second attribute component are different color components of the current point.

在一些实施例中,所述当前点的颜色分量的解码顺序为RGB,所述第一属性分量为R分量,所述第二属性分量为G分量;或者,所述当前点的颜色分量的解码顺序为RGB,所述第一属性分量包括R分量和G分量,所述第二属性分量为B分量;或者,所述当前点的颜色分量的解码顺序为GRB,所述第一属性分量为G分量,所述第二属性分量为R分量;或者,所述当前点的颜色分量的解码顺序为GRB,所述第一属性分量包括G分量和R分量,所述第二属性分量为B分量;或者,所述当前点的颜色分量的解码顺序为YUV,所述第一属性分量为Y分量,所述第二属性分量为U分量;或者,所述当前点的颜色分量的解码顺序为YUV,所述第一属性分量包括Y分量和U分量,所述第二属性分量为V分量;或者,所述当前点的颜色分量的解码顺序为UYV,所述第一属性分量为U分量,所述第二属性分量为Y分量;或者,所述当前点的颜色分量的解码顺序为UYV,所述第一属性分量包括U分量和Y分量,所述第二属性分量为V分量。In some embodiments, the decoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, the decoding order of the color components of the current point is RGB, the first attribute component includes the R component and the G component, and the second attribute component is the B component; or, the decoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, the decoding order of the color components of the current point is GRB, the first attribute component includes the G component and the R component, and the second attribute component is the B component; or, the decoding order of the color components of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, the decoding order of the color components of the current point is YUV, the first attribute component includes the Y component and the U component, and the second attribute component is the V component; or, the decoding order of the color components of the current point is UYV, the first attribute component is the U component, and the second attribute component is the Y component; or, the decoding order of the color components of the current point is UYV, the first attribute component includes the U component and the Y component, and the second attribute component is the V component.

在一些实施例中,所述第一属性分量和所述第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。In some embodiments, one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.

在一些实施例中,所述当前点的属性分量的解码顺序为先解码颜色信息对应的属性分量、再解码反射率信息对应的属性分量,所述第一属性分量为颜色信息对应的属性分量,所述第二属性分量为反射率信息对应的属性分量;或者,所述当前点的属性分量的解码顺序为先解码反射率信息对应的属性分量、再解码颜色信息对应的属性分量,所述第一属性分量为反射率信息对应的属性分量,所述第二属性分量为颜色信息对应的属性分量。 In some embodiments, the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the color information and then decode the attribute components corresponding to the reflectivity information, the first attribute component is the attribute component corresponding to the color information, and the second attribute component is the attribute component corresponding to the reflectivity information; or, the decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the reflectivity information and then decode the attribute components corresponding to the color information, the first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information.

在一些实施例中,所述解码器1500还包括第四解码单元,配置为如果待解码的当前点为重复点,则确定所述当前点的前M个重复点;其中,M为正整数;将所述前M个重复点作为预测参考点,对所述当前点进行属性预测。In some embodiments, the decoder 1500 also includes a fourth decoding unit, which is configured to determine the first M repeated points of the current point if the current point to be decoded is a repeated point; wherein M is a positive integer; and use the first M repeated points as prediction reference points to perform attribute prediction on the current point.

在一些实施例中,所述解码器1500还包括第五解码单元,配置为根据所述当前点的属性信息的预测信息和属性残差,确定所述当前点的重建属性信息。In some embodiments, the decoder 1500 further includes a fifth decoding unit configured to determine the reconstructed attribute information of the current point based on the prediction information and the attribute residual of the attribute information of the current point.

可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It is understandable that in the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular. Moreover, the components in the present embodiment 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. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.

因此,本申请实施例提供了一种计算机可读存储介质,应用于解码器1500,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述第一实施例中的解码方法。Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the decoder 1500. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the decoding method in the first embodiment is implemented.

基于上述解码器1500的组成以及计算机可读存储介质,参见图16,其示出了本申请实施例提供的解码器1500的具体硬件结构示意图。如图16所示,解码器1600可以包括:通信接口1610、存储器1620和处理器1630;各个组件通过总线系统1640耦合在一起。可理解,总线系统1640用于实现这些组件之间的连接通信。总线系统1640除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图16中将各种总线都标为总线系统1640。其中,Based on the composition of the above-mentioned decoder 1500 and the computer-readable storage medium, refer to Figure 16, which shows a specific hardware structure diagram of the decoder 1500 provided in an embodiment of the present application. As shown in Figure 16, the decoder 1600 may include: a communication interface 1610, a memory 1620 and a processor 1630; each component is coupled together through a bus system 1640. It can be understood that the bus system 1640 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1640 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 1640 in Figure 16. Among them,

通信接口1610,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;The communication interface 1610 is used to receive and send signals during the process of sending and receiving information with other external network elements;

存储器1620,用于存储计算机程序;Memory 1620, used for storing computer programs;

处理器1630,用于在运行所述计算机程序时,执行:The processor 1630 is configured to, when running the computer program, execute:

解析码流,确定第一参数的取值;Parse the code stream to determine the value of the first parameter;

如果所述第一参数的取值为第一值,则执行重复点解码操作;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。If the value of the first parameter is the first value, a repeated point decoding operation is performed; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed.

可以理解,本申请实施例中的存储器1620可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的存储器1620旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the memory 1620 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DRRAM). The memory 1620 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

而处理器1630可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1630中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1630可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1620,处理器1630读取存储器1620中的信息,结合其硬件完成上述方法的步骤。The processor 1630 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 1630 or the instruction in the form of software. The above processor 1630 may be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor can be executed. The software module 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 or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1620, and the processor 1630 reads the information in the memory 1620 and completes the steps of the above method in combination with its hardware.

可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。 对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。It will be understood that the embodiments described herein may be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application, or combinations thereof. For software implementation, the technology described in the present application can be implemented by modules (such as processes, functions, etc.) that perform the functions described in the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

可选地,作为另一个实施例,处理器1630还配置为在运行所述计算机程序时,执行前述第二实施例所述的解码方法。Optionally, as another embodiment, the processor 1630 is further configured to execute the decoding method described in the aforementioned second embodiment when running the computer program.

图17是本申请另一实施例提供的编码器的结构示意图。如图17所示,所述编码器1700包括:确定单元1710以及编码单元1720。Fig. 17 is a schematic diagram of the structure of an encoder provided by another embodiment of the present application. As shown in Fig. 17 , the encoder 1700 includes: a determination unit 1710 and an encoding unit 1720 .

确定单元1710配置为确定是否执行重复点编码操作,并根据确定结果确定第一参数的取值。The determination unit 1710 is configured to determine whether to perform a repeated point encoding operation, and determine a value of the first parameter according to the determination result.

编码单元1720配置为对所述第一参数的取值进行编码,将所得到的编码比特写入码流;The encoding unit 1720 is configured to encode the value of the first parameter and write the obtained coded bits into the bitstream;

其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作,所述第二值用于指示不执行所述重复点编码操作。The value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point encoding operation, and the second value is used to indicate not to perform the repeated point encoding operation.

在一些实施例中,所述第一参数为自适应参数集中的参数。In some embodiments, the first parameter is a parameter in an adaptive parameter set.

在一些实施例中,所述编码单元1720还配置为:如果待编码的当前点为重复点,则根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的编码方式。In some embodiments, the encoding unit 1720 is further configured to: if the current point to be encoded is a repeated point, determine the encoding method of the sign bit of the residual of the second attribute component of the current point according to the residual of the first attribute component of the current point.

在一些实施例中,所述编码单元1720配置为:如果所述当前点的第一属性分量的残差为0,则确定不对所述第二属性分量的残差的符号位进行编码。In some embodiments, the encoding unit 1720 is configured to: if the residual of the first attribute component of the current point is 0, determine not to encode the sign bit of the residual of the second attribute component.

在一些实施例中,在所述当前点的属性分量的编码顺序中,所述第一属性分量的排序高于所述第二属性分量。In some embodiments, in the encoding order of the attribute components of the current point, the first attribute component is ranked higher than the second attribute component.

在一些实施例中,在所述编码顺序中,所述第一属性分量排在所述第二属性分量的前一位;或者,在所述编码顺序中,所述第一属性分量包括排在所述第二属性分量之前的全部属性分量。In some embodiments, in the encoding order, the first attribute component precedes the second attribute component; or, in the encoding order, the first attribute component includes all attribute components that precede the second attribute component.

在一些实施例中,所述第一属性分量和所述第二属性分量为所述当前点的不同颜色分量。In some embodiments, the first attribute component and the second attribute component are different color components of the current point.

在一些实施例中,所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量为R分量,所述第二属性分量为G分量;或者,所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量包括R分量和G分量,所述第二属性分量为B分量;或者,所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量为G分量,所述第二属性分量为R分量;或者,所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量包括G分量和R分量,所述第二属性分量为B分量;或者,所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量为Y分量,所述第二属性分量为U分量;或者,所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量包括Y分量和U分量,所述第二属性分量为V分量;或者,所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量为U分量,所述第二属性分量为Y分量;或者,所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量包括U分量和Y分量,所述第二属性分量为V分量。In some embodiments, the encoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, the encoding order of the color components of the current point is RGB, the first attribute component includes the R component and the G component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, the encoding order of the color components of the current point is GRB, the first attribute component includes the G component and the R component, and the second attribute component is the B component; or, the encoding order of the color components of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, the encoding order of the color components of the current point is YUV, the first attribute component includes the Y component and the U component, and the second attribute component is the V component; or, the encoding order of the color components of the current point is UYV, the first attribute component is the U component, and the second attribute component is the Y component; or, the encoding order of the color components of the current point is UYV, the first attribute component includes the U component and the Y component, and the second attribute component is the V component.

在一些实施例中,所述第一属性分量和所述第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。In some embodiments, one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information.

在一些实施例中,所述当前点的属性分量的编码顺序为先编码颜色信息对应的属性分量、再编码反射率信息对应的属性分量,所述第一属性分量为颜色信息对应的属性分量,所述第二属性分量为反射率信息对应的属性分量;或者,所述当前点的属性分量的编码顺序为先编码反射率信息对应的属性分量、再编码颜色信息对应的属性分量,所述第一属性分量为反射率信息对应的属性分量,所述第二属性分量为颜色信息对应的属性分量。In some embodiments, the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute component is the attribute component corresponding to the color information, and the second attribute component is the attribute component corresponding to the reflectivity information; or, the encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information, the first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information.

在一些实施例中,所述确定单元1710配置为:如果待编码的当前点为重复点,则根据所述重复点顺序,确定当前点的前M个重复点;其中,M为正整数;将所述前M个重复点作为预测参考点,对所述当前点进行属性预测。In some embodiments, the determination unit 1710 is configured as follows: if the current point to be encoded is a repeated point, then according to the repeated point order, the first M repeated points of the current point are determined; wherein M is a positive integer; and the first M repeated points are used as prediction reference points to perform attribute prediction on the current point.

在一些实施例中,所述编码单元1720还配置为:根据所述当前点的属性信息的预测信息,确定所述当前点的属性残差;对所述当前点的属性残差进行量化,得到所述当前点的量化残差;对所述量化残差进行编码,将所得到的编码比特写入码流。In some embodiments, the encoding unit 1720 is further configured to: determine the attribute residual of the current point based on the prediction information of the attribute information of the current point; quantize the attribute residual of the current point to obtain the quantized residual of the current point; encode the quantized residual and write the obtained encoded bits into the bit stream.

可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It is understandable that in the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular. Moreover, the components in the present embodiment 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. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存 储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in Based on this understanding, the technical solution of this embodiment, or the part that contributes to the prior art, or the whole or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk, etc., which can store program code.

因此,本申请实施例提供了一种计算机可读存储介质,应用于编码器1700,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例中任一项所述的解码方法。Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 1700. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the decoding method described in any one of the aforementioned embodiments.

基于上述编码器1700的组成以及计算机可读存储介质,参见图18,其示出了本申请实施例提供的编码器1700的具体硬件结构示意图。如图18所示,编码器1800可以包括:通信接口1810、存储器1820和处理器1830;各个组件通过总线系统1840耦合在一起。可理解,总线系统1840用于实现这些组件之间的连接通信。总线系统1840除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图18中将各种总线都标为总线系统1840。其中,Based on the composition of the above-mentioned encoder 1700 and the computer-readable storage medium, refer to Figure 18, which shows a specific hardware structure diagram of the encoder 1700 provided in an embodiment of the present application. As shown in Figure 18, the encoder 1800 may include: a communication interface 1810, a memory 1820 and a processor 1830; each component is coupled together through a bus system 1840. It can be understood that the bus system 1840 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 1840 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 1840 in Figure 18. Among them,

通信接口1810,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;Communication interface 1810, used for receiving and sending signals during the process of sending and receiving information with other external network elements;

存储器1820,用于存储计算机程序;A memory 1820, used for storing computer programs;

处理器1830,用于在运行所述计算机程序时,执行:The processor 1830 is configured to, when running the computer program, execute:

确定是否执行重复点编码操作;Determine whether to perform repeated point encoding operation;

根据确定结果确定第一参数的取值;Determining a value of the first parameter according to the determination result;

对所述第一参数的取值进行编码,将所得到的编码比特写入码流;Encoding the value of the first parameter, and writing the obtained coded bits into a bit stream;

其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作,所述第二值用于指示不执行所述重复点编码操作。The value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point encoding operation, and the second value is used to indicate not to perform the repeated point encoding operation.

可以理解,本申请实施例中的存储器1820可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的存储器1820旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the memory 1820 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DRRAM). The memory 1820 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

而处理器1830可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1830中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1830可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1820,处理器1830读取存储器1820中的信息,结合其硬件完成上述方法的步骤。The processor 1830 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 1830 or the instruction in the form of software. The above processor 1830 can be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor can be executed. The software module 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 or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1820, and the processor 1830 reads the information in the memory 1820 and completes the steps of the above method in combination with its hardware.

可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。It is understood that the embodiments described in this application can be implemented in hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof. For software implementation, the technology described in this application can be implemented by a module (such as a process, function, etc.) that performs the functions described in this application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

可选地,作为另一个实施例,处理器1830还配置为在运行所述计算机程序时,执行前述第二实施例所述的编码方法。Optionally, as another embodiment, the processor 1830 is further configured to execute the encoding method described in the aforementioned second embodiment when running the computer program.

图19为本申请实施例提供的编解码系统的结构示意图。如图19所示,编解码系统1900可以包括 编码器1910和解码器1920。FIG19 is a schematic diagram of the structure of a coding and decoding system provided in an embodiment of the present application. As shown in FIG19 , a coding and decoding system 1900 may include Encoder 1910 and decoder 1920 .

在本申请实施例中,编码器1910可以是前述实施例中任一项所述的编码器,解码器1920可以是前述实施例中任一项所述的解码器。In the embodiment of the present application, the encoder 1910 may be the encoder described in any one of the aforementioned embodiments, and the decoder 1920 may be the decoder described in any one of the aforementioned embodiments.

需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that, in this application, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。The methods disclosed in several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。The features disclosed in several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。The features disclosed in several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。 The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (52)

一种编码方法,应用于编码器,所述方法包括:A coding method, applied to an encoder, comprising: 确定待编码点云的重复点集合;其中,所述重复点集合中的重复点包括多种属性信息;Determine a set of repeated points of a point cloud to be encoded; wherein the repeated points in the set of repeated points include multiple attribute information; 根据所述多种属性信息,对所述重复点集合中的重复点进行排序。The repeated points in the repeated point set are sorted according to the multiple types of attribute information. 根据权利要求1所述的方法,其中,所述根据所述多种属性信息,对所述重复点集合中的重复点进行排序,包括:The method according to claim 1, wherein the step of sorting the repeated points in the set of repeated points according to the multiple attribute information comprises: 按照第一排序方式对所述重复点集合中的重复点进行排序;Sorting the repeated points in the repeated point set according to a first sorting method; 其中,所述第一排序方式为先根据所述多种属性信息中的第一属性信息进行排序,再根据所述多种属性信息中的第二属性信息进行排序。The first sorting method is to first sort according to the first attribute information among the multiple attribute information, and then sort according to the second attribute information among the multiple attribute information. 根据权利要求2所述的方法,其中,所述按照第一排序方式对所述重复点集合中的重复点进行排序,包括:The method according to claim 2, wherein the step of sorting the repeated points in the set of repeated points in a first sorting manner comprises: 根据所述第一属性信息对所述重复点集合中的重复点进行排序;sorting the repeated points in the repeated point set according to the first attribute information; 如果所述重复点集合包括第一属性信息相同的至少两个重复点,则根据所述至少两个重复点的第二属性信息对所述至少两个重复点进行排序。If the set of repeated points includes at least two repeated points having the same first attribute information, the at least two repeated points are sorted according to the second attribute information of the at least two repeated points. 根据权利要求2或3所述的方法,其中:The method according to claim 2 or 3, wherein: 所述第一属性信息为颜色信息,所述第二属性信息为反射率信息;或者,The first attribute information is color information, and the second attribute information is reflectivity information; or, 所述第一属性信息为反射率信息,所述第二属性信息为颜色信息。The first attribute information is reflectance information, and the second attribute information is color information. 根据权利要求1至4中任一项所述的方法,其中,所述第一属性信息为所述多种属性信息中的被优先编码的属性信息。The method according to any one of claims 1 to 4, wherein the first attribute information is attribute information that is preferentially encoded among the multiple attribute information. 根据权利要求1至5中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 1 to 5, wherein the method further comprises: 确定第一参数的取值;Determine the value of the first parameter; 如果所述第一参数的取值指示执行重复点编码,则确定执行所述根据所述多种属性信息,对所述重复点集合中的重复点进行排序的步骤。If the value of the first parameter indicates that repeated point encoding is to be performed, it is determined to perform the step of sorting the repeated points in the repeated point set according to the multiple attribute information. 根据权利要求6所述的方法,其中,所述方法还包括:The method according to claim 6, wherein the method further comprises: 如果所述第一参数的取值为第一值,则确定执行所述重复点编码;If the value of the first parameter is the first value, determining to execute the repeated point encoding; 如果所述第一参数的取值为第二值,则确定不执行所述重复点编码。If the value of the first parameter is the second value, it is determined not to perform the repeated point encoding. 根据权利要求6或7所述的方法,其中,所述方法还包括:The method according to claim 6 or 7, wherein the method further comprises: 对所述第一参数的取值进行编码,将所得到的编码比特写入码流。The value of the first parameter is encoded, and the obtained encoded bits are written into a bit stream. 根据权利要求6至8中任一项所述的方法,其中,所述第一参数为自适应参数集中的参数。The method according to any one of claims 6 to 8, wherein the first parameter is a parameter in an adaptive parameter set. 根据权利要求1至9中任一项所述的方法,所述方法还包括:The method according to any one of claims 1 to 9, further comprising: 如果待编码的当前点为重复点,则根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的编码方式;If the current point to be encoded is a repeated point, determining the encoding method of the sign bit of the residual of the second attribute component of the current point according to the residual of the first attribute component of the current point; 其中,所述第一属性分量和所述第二属性分量属于所述多种属性信息中的同一属性信息;或者,所述第一属性分量和所述第二属性分量属于所述多种属性信息中的不同属性信息。The first attribute component and the second attribute component belong to the same attribute information among the multiple attribute information; or the first attribute component and the second attribute component belong to different attribute information among the multiple attribute information. 根据权利要求10所述的方法,其中,所述根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的编码方式,包括:The method according to claim 10, wherein the determining, based on the residual of the first attribute component of the current point, the encoding method of the sign bit of the residual of the second attribute component of the current point comprises: 如果所述当前点的第一属性分量的残差为0,则确定不对所述第二属性分量的残差的符号位进行编码。If the residual of the first attribute component of the current point is 0, it is determined not to encode the sign bit of the residual of the second attribute component. 根据权利要求11所述的方法,其特征在于,在所述当前点的属性分量的编码顺序中,所述第一属性分量的排序高于所述第二属性分量。The method according to claim 11 is characterized in that, in the encoding order of the attribute components of the current point, the first attribute component is ranked higher than the second attribute component. 根据权利要求12所述的方法,其中:The method according to claim 12, wherein: 在所述编码顺序中,所述第一属性分量排在所述第二属性分量的前一位;或者,In the coding order, the first attribute component is arranged before the second attribute component; or, 在所述编码顺序中,所述第一属性分量包括排在所述第二属性分量之前的全部属性分量。In the coding order, the first attribute component includes all attribute components that precede the second attribute component. 根据权利要求10至13中任一项所述的方法,其中,所述第一属性分量和所述第二属性分量为所述当前点的不同颜色分量。The method according to any one of claims 10 to 13, wherein the first attribute component and the second attribute component are different color components of the current point. 根据权利要求14所述的方法,其中:The method according to claim 14, wherein: 所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量为R分量,所述第二属性分量为G分量;或者,The encoding order of the color component of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, 所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量包括R分量和G分量,所述第二属性分量为B分量;或者,The encoding order of the color component of the current point is RGB, the first attribute component includes an R component and a G component, and the second attribute component is a B component; or 所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量为G分量,所述第二属性分量为R 分量;或者,The encoding order of the color component of the current point is GRB, the first attribute component is G component, and the second attribute component is R Quantity; or 所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量包括G分量和R分量,所述第二属性分量为B分量;或者,The coding order of the color component of the current point is GRB, the first attribute component includes a G component and an R component, and the second attribute component is a B component; or, 所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量为Y分量,所述第二属性分量为U分量;或者,The encoding order of the color component of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or 所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量包括Y分量和U分量,所述第二属性分量为V分量;或者,The encoding order of the color component of the current point is YUV, the first attribute component includes a Y component and a U component, and the second attribute component is a V component; or 所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量为U分量,所述第二属性分量为Y分量;或者,The encoding order of the color component of the current point is UYV, the first attribute component is the U component, and the second attribute component is the Y component; or, 所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量包括U分量和Y分量,所述第二属性分量为V分量。The encoding order of the color component of the current point is UYV, the first attribute component includes a U component and a Y component, and the second attribute component is a V component. 根据权利要求10至13中任一项所述的方法,其中,所述第一属性分量和所述第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。The method according to any one of claims 10 to 13, wherein one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information. 根据权利要求16所述的方法,其中:The method according to claim 16, wherein: 所述当前点的属性分量的编码顺序为先编码颜色信息对应的属性分量、再编码反射率信息对应的属性分量,所述第一属性分量为颜色信息对应的属性分量,所述第二属性分量为反射率信息对应的属性分量;或者,The encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute components are the attribute components corresponding to the color information, and the second attribute components are the attribute components corresponding to the reflectivity information; or 所述当前点的属性分量的编码顺序为先编码反射率信息对应的属性分量、再编码颜色信息对应的属性分量,所述第一属性分量为反射率信息对应的属性分量,所述第二属性分量为颜色信息对应的属性分量。The encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information. The first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information. 根据权利要求10至17中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 10 to 17, wherein the method further comprises: 如果所述当前点不为重复点,则对所述当前点的各个属性分量的残差的符号位进行编码。If the current point is not a repeated point, the sign bit of the residual of each attribute component of the current point is encoded. 根据权利要求10至18中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 10 to 18, wherein the method further comprises: 确定所述当前点的颜色信息的预测信息;Determine prediction information of the color information of the current point; 根据所述当前点的颜色信息的预测信息,确定所述当前点的颜色残差。Determine the color residual of the current point according to the prediction information of the color information of the current point. 根据权利要求19所述的方法,其中,所述确定所述当前点的颜色信息的预测信息,包括:The method according to claim 19, wherein the determining the prediction information of the color information of the current point comprises: 如果所述当前点为重复点,则根据所述当前点的前M个重复点的重建颜色信息,确定所述预测信息;其中,M为正整数。If the current point is a repeated point, the prediction information is determined according to the reconstructed color information of the M repeated points preceding the current point, wherein M is a positive integer. 根据权利要求1至20中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 1 to 20, wherein the method further comprises: 对所述当前点的颜色残差进行量化,确定所述当前点的量化残差;quantizing the color residual of the current point to determine the quantized residual of the current point; 对所述量化残差进行编码,将所得到的编码比特写入码流。The quantized residual is encoded, and the obtained encoded bits are written into a bit stream. 一种解码方法,应用于解码器,所述方法包括:A decoding method, applied to a decoder, comprising: 解析码流,确定第一参数的取值;Parse the code stream to determine the value of the first parameter; 如果所述第一参数的取值为第一值,则执行重复点解码操作;If the value of the first parameter is the first value, performing a repeated point decoding operation; 其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。The value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point decoding operation, and the second value is used to indicate not to perform the repeated point decoding operation. 根据权利要求22所述的方法,其中,所述第一参数为自适应参数集中的参数。The method according to claim 22, wherein the first parameter is a parameter in an adaptive parameter set. 根据权利要求22或23所述的方法,所述方法还包括:The method according to claim 22 or 23, further comprising: 如果待解码的当前点为重复点,则根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的解码方式。If the current point to be decoded is a repeated point, a decoding method for the sign bit of the residual of the second attribute component of the current point is determined according to the residual of the first attribute component of the current point. 根据权利要求24所述的方法,其中,所述根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的解码方式,包括:The method according to claim 24, wherein the determining, based on the residual of the first attribute component of the current point, a decoding method of the sign bit of the residual of the second attribute component of the current point comprises: 如果所述当前点的第一属性分量的残差为0,则确定不对所述第二属性分量的残差的符号位进行解码。If the residual of the first attribute component of the current point is 0, it is determined not to decode the sign bit of the residual of the second attribute component. 根据权利要求25所述的方法,其特征在于,在所述当前点的属性分量的解码顺序中,所述第一属性分量的排序高于所述第二属性分量。The method according to claim 25 is characterized in that, in the decoding order of the attribute components of the current point, the first attribute component is ranked higher than the second attribute component. 根据权利要求26所述的方法,其中:The method according to claim 26, wherein: 在所述解码顺序中,所述第一属性分量排在所述第二属性分量的前一位;或者,In the decoding order, the first attribute component is arranged before the second attribute component; or, 在所述解码顺序中,所述第一属性分量包括排在所述第二属性分量之前的全部属性分量。In the decoding order, the first attribute component includes all attribute components that precede the second attribute component. 根据权利要求24至27中任一项所述的方法,其中,所述第一属性分量和所述第二属性分量为所述当前点的不同颜色分量。The method according to any one of claims 24 to 27, wherein the first attribute component and the second attribute component are different color components of the current point. 根据权利要求28所述的方法,其中: The method according to claim 28, wherein: 所述当前点的颜色分量的解码顺序为RGB,所述第一属性分量为R分量,所述第二属性分量为G分量;或者,The decoding order of the color components of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, 所述当前点的颜色分量的解码顺序为RGB,所述第一属性分量包括R分量和G分量,所述第二属性分量为B分量;或者,The decoding order of the color components of the current point is RGB, the first attribute component includes an R component and a G component, and the second attribute component is a B component; or, 所述当前点的颜色分量的解码顺序为GRB,所述第一属性分量为G分量,所述第二属性分量为R分量;或者,The decoding order of the color components of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, 所述当前点的颜色分量的解码顺序为GRB,所述第一属性分量包括G分量和R分量,所述第二属性分量为B分量;或者,The decoding order of the color components of the current point is GRB, the first attribute component includes a G component and an R component, and the second attribute component is a B component; or, 所述当前点的颜色分量的解码顺序为YUV,所述第一属性分量为Y分量,所述第二属性分量为U分量;或者,The decoding order of the color component of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or, 所述当前点的颜色分量的解码顺序为YUV,所述第一属性分量包括Y分量和U分量,所述第二属性分量为V分量;或者,The decoding order of the color component of the current point is YUV, the first attribute component includes a Y component and a U component, and the second attribute component is a V component; or, 所述当前点的颜色分量的解码顺序为UYV,所述第一属性分量为U分量,所述第二属性分量为Y分量;或者,The decoding order of the color components of the current point is UYV, the first attribute component is the U component, and the second attribute component is the Y component; or, 所述当前点的颜色分量的解码顺序为UYV,所述第一属性分量包括U分量和Y分量,所述第二属性分量为V分量。The decoding order of the color components of the current point is UYV, the first attribute component includes a U component and a Y component, and the second attribute component is a V component. 根据权利要求24至27中任一项所述的方法,其中,所述第一属性分量和所述第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。The method according to any one of claims 24 to 27, wherein one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information. 根据权利要求30所述的方法,其中:The method according to claim 30, wherein: 所述当前点的属性分量的解码顺序为先解码颜色信息对应的属性分量、再解码反射率信息对应的属性分量,所述第一属性分量为颜色信息对应的属性分量,所述第二属性分量为反射率信息对应的属性分量;或者,The decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the color information and then decode the attribute components corresponding to the reflectivity information, the first attribute components are the attribute components corresponding to the color information, and the second attribute components are the attribute components corresponding to the reflectivity information; or 所述当前点的属性分量的解码顺序为先解码反射率信息对应的属性分量、再解码颜色信息对应的属性分量,所述第一属性分量为反射率信息对应的属性分量,所述第二属性分量为颜色信息对应的属性分量。The decoding order of the attribute components of the current point is to first decode the attribute components corresponding to the reflectivity information and then decode the attribute components corresponding to the color information. The first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information. 根据权利要求22至31中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 22 to 31, wherein the method further comprises: 如果待解码的当前点为重复点,则确定所述当前点的前M个重复点;其中,M为正整数;If the current point to be decoded is a repeated point, determine the first M repeated points of the current point; where M is a positive integer; 将所述前M个重复点作为预测参考点,对所述当前点进行属性预测。The first M repeated points are used as prediction reference points to perform attribute prediction on the current point. 根据权利要求32所述的方法,其中,所述方法还包括:The method according to claim 32, wherein the method further comprises: 根据所述当前点的属性信息的预测信息和属性残差,确定所述当前点的重建属性信息。The reconstructed attribute information of the current point is determined according to the prediction information and the attribute residual of the attribute information of the current point. 一种编码方法,应用于编码器,所述方法包括:A coding method, applied to an encoder, comprising: 确定是否执行重复点编码操作;Determine whether to perform repeated point encoding operation; 根据确定结果确定第一参数的取值;Determining a value of the first parameter according to the determination result; 对所述第一参数的取值进行编码,将所得到的编码比特写入码流;Encoding the value of the first parameter, and writing the obtained coded bits into a bit stream; 其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作,所述第二值用于指示不执行所述重复点编码操作。The value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point encoding operation, and the second value is used to indicate not to perform the repeated point encoding operation. 根据权利要求34所述的方法,其中,所述第一参数为自适应参数集中的参数。The method according to claim 34, wherein the first parameter is a parameter in an adaptive parameter set. 根据权利要求34或35中任一项所述的方法,所述方法还包括:The method according to any one of claims 34 or 35, further comprising: 如果待编码的当前点为重复点,则根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的编码方式。If the current point to be encoded is a repeated point, the encoding method of the sign bit of the residual of the second attribute component of the current point is determined according to the residual of the first attribute component of the current point. 根据权利要求36所述的方法,其中,所述根据所述当前点的第一属性分量的残差,确定所述当前点的第二属性分量的残差的符号位的编码方式,包括:The method according to claim 36, wherein the determining, based on the residual of the first attribute component of the current point, the encoding method of the sign bit of the residual of the second attribute component of the current point comprises: 如果所述当前点的第一属性分量的残差为0,则确定不对所述第二属性分量的残差的符号位进行编码。If the residual of the first attribute component of the current point is 0, it is determined not to encode the sign bit of the residual of the second attribute component. 根据权利要求37所述的方法,其特征在于,在所述当前点的属性分量的编码顺序中,所述第一属性分量的排序高于所述第二属性分量。The method according to claim 37 is characterized in that, in the encoding order of the attribute components of the current point, the first attribute component is ranked higher than the second attribute component. 根据权利要求38所述的方法,其中:The method according to claim 38, wherein: 在所述编码顺序中,所述第一属性分量排在所述第二属性分量的前一位;或者,In the coding order, the first attribute component is arranged before the second attribute component; or, 在所述编码顺序中,所述第一属性分量包括排在所述第二属性分量之前的全部属性分量。In the coding order, the first attribute component includes all attribute components that precede the second attribute component. 根据权利要求36至39中任一项所述的方法,其中,所述第一属性分量和所述第二属性分量为所述当前点的不同颜色分量。The method according to any one of claims 36 to 39, wherein the first attribute component and the second attribute component are different color components of the current point. 根据权利要求40所述的方法,其中: The method of claim 40, wherein: 所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量为R分量,所述第二属性分量为G分量;或者,The encoding order of the color component of the current point is RGB, the first attribute component is the R component, and the second attribute component is the G component; or, 所述当前点的颜色分量的编码顺序为RGB,所述第一属性分量包括R分量和G分量,所述第二属性分量为B分量;或者,The encoding order of the color component of the current point is RGB, the first attribute component includes an R component and a G component, and the second attribute component is a B component; or 所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量为G分量,所述第二属性分量为R分量;或者,The coding order of the color component of the current point is GRB, the first attribute component is the G component, and the second attribute component is the R component; or, 所述当前点的颜色分量的编码顺序为GRB,所述第一属性分量包括G分量和R分量,所述第二属性分量为B分量;或者,The coding order of the color component of the current point is GRB, the first attribute component includes a G component and an R component, and the second attribute component is a B component; or, 所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量为Y分量,所述第二属性分量为U分量;或者,The encoding order of the color component of the current point is YUV, the first attribute component is the Y component, and the second attribute component is the U component; or 所述当前点的颜色分量的编码顺序为YUV,所述第一属性分量包括Y分量和U分量,所述第二属性分量为V分量;或者,The encoding order of the color component of the current point is YUV, the first attribute component includes a Y component and a U component, and the second attribute component is a V component; or 所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量为U分量,所述第二属性分量为Y分量;或者,The encoding order of the color component of the current point is UYV, the first attribute component is the U component, and the second attribute component is the Y component; or, 所述当前点的颜色分量的编码顺序为UYV,所述第一属性分量包括U分量和Y分量,所述第二属性分量为V分量。The encoding order of the color component of the current point is UYV, the first attribute component includes a U component and a Y component, and the second attribute component is a V component. 根据权利要求36至39中任一项所述的方法,其中,所述第一属性分量和所述第二属性分量中的一个为颜色信息对应的属性分量,另一个为反射率信息对应的属性分量。The method according to any one of claims 36 to 39, wherein one of the first attribute component and the second attribute component is an attribute component corresponding to color information, and the other is an attribute component corresponding to reflectivity information. 根据权利要求42所述的方法,其中:The method of claim 42, wherein: 所述当前点的属性分量的编码顺序为先编码颜色信息对应的属性分量、再编码反射率信息对应的属性分量,所述第一属性分量为颜色信息对应的属性分量,所述第二属性分量为反射率信息对应的属性分量;或者,The encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the color information and then encode the attribute components corresponding to the reflectivity information, the first attribute components are the attribute components corresponding to the color information, and the second attribute components are the attribute components corresponding to the reflectivity information; or 所述当前点的属性分量的编码顺序为先编码反射率信息对应的属性分量、再编码颜色信息对应的属性分量,所述第一属性分量为反射率信息对应的属性分量,所述第二属性分量为颜色信息对应的属性分量。The encoding order of the attribute components of the current point is to first encode the attribute components corresponding to the reflectivity information and then encode the attribute components corresponding to the color information. The first attribute component is the attribute component corresponding to the reflectivity information, and the second attribute component is the attribute component corresponding to the color information. 根据权利要求34至43中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 34 to 43, wherein the method further comprises: 如果待编码的当前点为重复点,则根据所述重复点顺序,确定当前点的前M个重复点;其中,M为正整数;If the current point to be encoded is a repeated point, the first M repeated points of the current point are determined according to the repeated point sequence; wherein M is a positive integer; 将所述前M个重复点作为预测参考点,对所述当前点进行属性预测。The first M repeated points are used as prediction reference points to perform attribute prediction on the current point. 根据权利要求44所述的方法,其中,所述方法还包括:The method according to claim 44, wherein the method further comprises: 根据所述当前点的属性信息的预测信息,确定所述当前点的属性残差;Determining an attribute residual of the current point according to the prediction information of the attribute information of the current point; 对所述当前点的属性残差进行量化,得到所述当前点的量化残差;quantizing the attribute residual of the current point to obtain the quantized residual of the current point; 对所述量化残差进行编码,将所得到的编码比特写入码流。The quantized residual is encoded, and the obtained encoded bits are written into a bit stream. 一种编码器,所述编码器包括:An encoder, comprising: 确定单元,配置为确定待编码点云的重复点集合;其中,所述重复点集合中的重复点包括多种属性信息;A determination unit, configured to determine a set of repeated points of a point cloud to be encoded; wherein the repeated points in the set of repeated points include a variety of attribute information; 排序单元,配置为根据所述多种属性信息,对所述重复点集合中的重复点进行排序。The sorting unit is configured to sort the repeated points in the repeated point set according to the multiple attribute information. 一种编码器,所述编码器包括:An encoder, comprising: 存储器,用于存储计算机程序;Memory for storing computer programs; 处理器,用于在运行所述计算机程序时,执行如权利要求1至21中任一项所述的方法。A processor, configured to execute the method according to any one of claims 1 to 21 when running the computer program. 一种解码器,所述解码器包括:A decoder, comprising: 第一解码单元,配置为解析码流,确定第一参数的取值;A first decoding unit is configured to parse the code stream and determine a value of the first parameter; 第二解码单元,配置为如果所述第一参数的取值为第一值,则执行重复点解码操作;其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点解码操作,所述第二值用于指示不执行所述重复点解码操作。The second decoding unit is configured to perform a repeated point decoding operation if the value of the first parameter is a first value; wherein the value of the first parameter includes a first value and a second value, the first value is used to indicate that the repeated point decoding operation is performed, and the second value is used to indicate that the repeated point decoding operation is not performed. 一种解码器,所述解码器包括:A decoder, comprising: 存储器,用于存储计算机程序;Memory for storing computer programs; 处理器,用于在运行所述计算机程序时,执行如权利要求22至33中任一项所述的方法。A processor, configured to execute the method according to any one of claims 22 to 33 when running the computer program. 一种编码器,所述编码器包括:An encoder, comprising: 确定单元,配置为确定是否执行重复点编码操作,并根据确定结果确定第一参数的取值;a determination unit, configured to determine whether to perform a repeated point encoding operation, and determine a value of the first parameter according to the determination result; 编码单元,配置为对所述第一参数的取值进行编码,将所得到的编码比特写入码流;an encoding unit, configured to encode the value of the first parameter and write the obtained encoded bits into a bit stream; 其中,所述第一参数的取值包括第一值和第二值,所述第一值用于指示执行所述重复点编码操作, 所述第二值用于指示不执行所述重复点编码操作。The value of the first parameter includes a first value and a second value, the first value is used to indicate to perform the repeated point encoding operation, The second value is used to indicate not to perform the repeated point encoding operation. 一种编码器,所述编码器包括:An encoder, comprising: 存储器,用于存储计算机程序;Memory for storing computer programs; 处理器,用于在运行所述计算机程序时,执行如权利要求34至45中任一项所述的方法。A processor for executing the method according to any one of claims 34 to 45 when running the computer program. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1至21中任一项所述的方法、如权利要求22至33中任一项所述的方法、或者实现如权利要求34至45中任一项所述的方法。 A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed, it implements the method according to any one of claims 1 to 21, the method according to any one of claims 22 to 33, or the method according to any one of claims 34 to 45.
PCT/CN2023/113839 2023-08-18 2023-08-18 Encoding method, decoding method, encoder, decoder, and storage medium Pending WO2025039125A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/113839 WO2025039125A1 (en) 2023-08-18 2023-08-18 Encoding method, decoding method, encoder, decoder, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/113839 WO2025039125A1 (en) 2023-08-18 2023-08-18 Encoding method, decoding method, encoder, decoder, and storage medium

Publications (1)

Publication Number Publication Date
WO2025039125A1 true WO2025039125A1 (en) 2025-02-27

Family

ID=94731195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/113839 Pending WO2025039125A1 (en) 2023-08-18 2023-08-18 Encoding method, decoding method, encoder, decoder, and storage medium

Country Status (1)

Country Link
WO (1) WO2025039125A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220067981A1 (en) * 2020-08-26 2022-03-03 Tencent America LLC Attribute coding of duplicate points for point cloud coding
CN114598883A (en) * 2020-12-07 2022-06-07 腾讯科技(深圳)有限公司 Point cloud attribute prediction method, encoder, decoder and storage medium
CN115379191A (en) * 2022-08-22 2022-11-22 腾讯科技(深圳)有限公司 Point cloud decoding method, point cloud encoding method and related equipment
CN115606188A (en) * 2020-05-19 2023-01-13 Oppo广东移动通信有限公司(Cn) A point cloud encoding and decoding method, encoder, decoder and storage medium
CN116233467A (en) * 2021-12-06 2023-06-06 腾讯科技(深圳)有限公司 Encoding and decoding method, device, equipment and storage medium of point cloud attribute
CN116472556A (en) * 2020-12-03 2023-07-21 Oppo广东移动通信有限公司 Prediction method, encoder, decoder and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115606188A (en) * 2020-05-19 2023-01-13 Oppo广东移动通信有限公司(Cn) A point cloud encoding and decoding method, encoder, decoder and storage medium
US20220067981A1 (en) * 2020-08-26 2022-03-03 Tencent America LLC Attribute coding of duplicate points for point cloud coding
CN116472556A (en) * 2020-12-03 2023-07-21 Oppo广东移动通信有限公司 Prediction method, encoder, decoder and storage medium
CN114598883A (en) * 2020-12-07 2022-06-07 腾讯科技(深圳)有限公司 Point cloud attribute prediction method, encoder, decoder and storage medium
CN116233467A (en) * 2021-12-06 2023-06-06 腾讯科技(深圳)有限公司 Encoding and decoding method, device, equipment and storage medium of point cloud attribute
CN115379191A (en) * 2022-08-22 2022-11-22 腾讯科技(深圳)有限公司 Point cloud decoding method, point cloud encoding method and related equipment

Similar Documents

Publication Publication Date Title
WO2024174086A1 (en) Decoding method, encoding method, decoders and encoders
WO2025039125A1 (en) Encoding method, decoding method, encoder, decoder, and storage medium
CN120476596A (en) Coding and decoding method, code stream, encoder, decoder and storage medium
WO2025039120A1 (en) Encoding method, decoding method, encoder, decoder, and storage medium
WO2025039127A1 (en) Encoding method, decoding method, encoder, decoder, and storage medium
WO2025039122A1 (en) Point cloud encoding method, point cloud decoding method, code stream, encoder, decoder, and storage medium
US20250373812A1 (en) Encoding method, decoding method and bitstream
WO2025039113A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
US20250337964A1 (en) Encoding method, decoding method, encoder, decoder and storage medium
WO2025039236A1 (en) Coding and decoding method, code stream, encoder, decoder, and storage medium
WO2024103513A1 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder, bit stream, and storage medium
WO2024187380A1 (en) Encoding method, decoding method, code stream, encoder, decoder and storage medium
WO2024119518A1 (en) Encoding method, decoding method, and decoder, encoder, code stream and storage medium
WO2024207235A1 (en) Encoding/decoding method, bitstream, encoder, decoder, and storage medium
WO2024119420A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
WO2024065406A1 (en) Encoding and decoding methods, bit stream, encoder, decoder, and storage medium
WO2024082152A1 (en) Encoding and decoding methods and apparatuses, encoder and decoder, code stream, device, and storage medium
WO2023240662A1 (en) Encoding method, decoding method, encoder, decoder, and storage medium
WO2024207456A1 (en) Method for encoding and decoding, encoder, decoder, code stream, and storage medium
WO2024216476A1 (en) Encoding/decoding method, encoder, decoder, code stream, and storage medium
WO2024216493A1 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder, code stream, and storage medium
WO2025076659A1 (en) Point cloud encoding method, point cloud decoding method, code stream, encoder, decoder and storage medium
WO2025147915A1 (en) Point cloud encoding method, point cloud decoding method, encoders, decoders, bitstream and storage medium
WO2025145433A1 (en) Point cloud encoding method, point cloud decoding method, codec, code stream, and storage medium
WO2025007355A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium

Legal Events

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

Ref document number: 23949319

Country of ref document: EP

Kind code of ref document: A1