WO2024082135A1 - 编解码方法、编解码器、码流以及计算机存储介质 - Google Patents

编解码方法、编解码器、码流以及计算机存储介质 Download PDF

Info

Publication number
WO2024082135A1
WO2024082135A1 PCT/CN2022/125932 CN2022125932W WO2024082135A1 WO 2024082135 A1 WO2024082135 A1 WO 2024082135A1 CN 2022125932 W CN2022125932 W CN 2022125932W WO 2024082135 A1 WO2024082135 A1 WO 2024082135A1
Authority
WO
WIPO (PCT)
Prior art keywords
current node
identifier
location information
value
allowed
Prior art date
Application number
PCT/CN2022/125932
Other languages
English (en)
French (fr)
Inventor
杨付正
李明
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2022/125932 priority Critical patent/WO2024082135A1/zh
Publication of WO2024082135A1 publication Critical patent/WO2024082135A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiments of the present application relate to plane mode technology in point cloud encoding and decoding, and more particularly to an encoding and decoding method, a codec, a bit stream, and a computer storage medium.
  • G-PCC geometry-based point cloud compression
  • the geometry information of the point cloud and the corresponding attribute information are encoded separately.
  • embodiments of the present application provide a coding method, a codec, a bit stream, and a computer storage medium, which can reduce the computational complexity when determining the eligibility of a planar mode while improving the coding gain of the planar mode.
  • an embodiment of the present application provides a point cloud decoding method, which is applied in a decoder, and the method includes:
  • the identifier indicates whether the plane mode is allowed to be used to decode the current node; the first identifier value indicates that the plane mode is allowed to be used to decode the current node; and the second identifier value indicates that the plane mode is not allowed to be used to decode the current node.
  • an embodiment of the present application provides a point cloud decoding method, which is applied in a decoder, and the method includes:
  • the identifier of the current node indicates whether the current node is allowed to be decoded using the plane mode.
  • an embodiment of the present application provides a point cloud encoding method, which is applied in an encoder, and the method includes:
  • the identifier indicates whether the planar mode is allowed to be used to encode the current node; the first identifier value indicates that the planar mode is allowed to be used to encode the current node; and the second identifier value indicates that the planar mode is not allowed to be used to encode the current node.
  • an embodiment of the present application provides a decoder, the decoder comprising:
  • a first determination module is configured to decode the point cloud code stream and determine the position information of the current node
  • a second determining module is configured to determine that the identifier of the current node is a first identifier value when the location information of the current node satisfies a first condition
  • a third determining module is configured to determine that the identifier of the current node is a second identifier value when the location information of the current node satisfies a second condition
  • the identifier indicates whether the plane mode is allowed to be used to decode the current node; the first identifier value indicates that the plane mode is allowed to be used to decode the current node; and the second identifier value indicates that the plane mode is not allowed to be used to decode the current node.
  • an embodiment of the present application provides a decoder, the decoder comprising:
  • a fourth determination module is configured to decode the point cloud code stream and determine the identity of the current node
  • the identifier of the current node indicates whether the current node is allowed to be decoded using the plane mode.
  • an encoder comprising:
  • a fifth determination module configured to determine the location information of the current node
  • a sixth determining module configured to determine that the identifier of the current node is a first identifier value when the location information of the current node satisfies a first condition
  • a seventh determination module configured to determine that the identifier of the current node is a second identifier value when the location information of the current node satisfies a second condition
  • the identifier indicates whether the current node is allowed to be encoded using the plane mode; the first identifier value indicates that the current node is allowed to be encoded using the plane mode; and the second identifier value indicates that the current node is not allowed to be encoded using the plane mode.
  • an embodiment of the present application provides a decoder, the decoder comprising:
  • an encoder comprising:
  • an embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least: an identifier of a current node.
  • an embodiment of the present application provides a computer storage medium storing executable instructions.
  • the processor executes the point cloud decoding method described in the first aspect or the point cloud encoding method described in the second aspect.
  • the embodiment of the present application provides a coding and decoding method, a codec, a code stream and a computer storage medium.
  • the position information of the current node is determined at the coding end, and the point cloud code stream is encoded and decoded at the decoding end to determine the position information of the current node.
  • the identifier of the current node is determined to be a first identifier value.
  • the identifier of the current node is determined to be a second identifier value, wherein the identifier indicates whether the plane mode is allowed to be used to decode the current node, the first identifier value indicates that the plane mode is allowed to be used to decode the current node, and the second identifier value indicates that the plane mode is not allowed to be used to decode the current node; in this way, at the coding and decoding end, the identifier of the current node is respectively taken according to whether the position information of the current node meets the first condition and the second condition, so that it is possible to determine whether the plane mode is allowed to be used to decode or encode the current node with a smaller amount of calculation.
  • the value of the identifier of the current node can be decoded from the code stream to obtain, so that it is possible to obtain whether the plane mode is allowed to be used to decode the current node.
  • the calculation complexity is simplified while the encoding and decoding gain of the plane mode is improved.
  • FIG1 is a schematic diagram of a network architecture of point cloud encoding and decoding provided in an embodiment of the present application
  • FIG. 2 is a schematic diagram of a composition framework of a G-PCC encoder
  • FIG3 is a schematic diagram of a composition framework of a G-PCC decoder
  • FIG4 is a schematic diagram of a flow chart of an optional point cloud decoding method provided in an embodiment of the present application.
  • FIG5 is a schematic diagram of a flow chart of another optional point cloud decoding method provided in an embodiment of the present application.
  • FIG6 is a schematic diagram of a flow chart of an optional point cloud encoding method provided in an embodiment of the present application.
  • FIG7 is a first schematic diagram of the structure of an optional decoder provided in an embodiment of the present application.
  • FIG8 is a second schematic diagram of the structure of an optional decoder provided in an embodiment of the present application.
  • FIG9 is a first schematic diagram of the structure of an optional encoder provided in an embodiment of the present application.
  • FIG10 is a third schematic diagram of the structure of an optional decoder provided in an embodiment of the present application.
  • FIG. 11 is a second schematic diagram of the structure of an optional decoder provided in an embodiment of the present application.
  • PCC Point Cloud Compression
  • G-PCC Geometry-based Point Cloud Compression
  • V-PCC Video-based Point Cloud Compression
  • LOD Level of Detail
  • RAHT Region Adaptive Hierarchal Transform
  • Context-based Adaptive Binary Arithmetic Coding is a context-based adaptive binary arithmetic coding.
  • Point cloud is a three-dimensional representation of the surface of an object.
  • Point cloud (data) of the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
  • Point Cloud refers to a collection of massive three-dimensional points.
  • the points in the point cloud can include the location information of the points and the attribute information of the points.
  • the location information of the points can be the three-dimensional coordinate information of the points.
  • the location information of the points can also be called the geometric information of the points.
  • the attribute information of the points may include color information and/or reflectivity, etc.
  • the color information can be information on any color space.
  • the color information can be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B).
  • the color information can be brightness and chromaticity (YCbCr, YUV) information. Among them, Y represents brightness, Cb (U) represents blue chromaticity, and Cr (V) represents red chromaticity.
  • the points in the point cloud may include the three-dimensional coordinate information of the points and the laser reflection intensity (reflectance) of the points.
  • the points in the point cloud may include the three-dimensional coordinate information of the points and the 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 laser reflection intensity (reflectance) of the points, and the color information of the points.
  • Point clouds can be divided into the following categories according to the way they are obtained:
  • the first type of static point cloud the object is stationary, and the device that obtains the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
  • the third type of dynamic point cloud acquisition the device that acquires the point cloud is moving.
  • point clouds can be divided into two categories according to their 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, emergency rescue robots, etc.
  • Category 2 Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • point clouds are a collection of massive points, storing point clouds not only consumes a lot of memory, but is also not conducive to transmission. There is also not enough bandwidth to support direct transmission of point clouds at the network layer without compression. Therefore, point clouds need to be compressed.
  • the point cloud coding framework that can compress the point cloud can be the G-PCC codec framework or the V-PCC codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Standard (AVS).
  • MPEG Moving Picture Experts Group
  • AVS-PCC codec framework provided by the Audio Video 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
  • the V-PCC codec framework can be used to compress the second type of dynamic point cloud.
  • the G-PCC codec framework is mainly described here.
  • FIG1 is a schematic diagram of a network architecture of a point cloud encoding and decoding provided by the 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 embodiment 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 (ie, encoder) and a point cloud decoder (ie, decoder).
  • a point cloud encoder ie, encoder
  • a point cloud decoder ie, decoder
  • each slice can be independently encoded.
  • FIG2 is a schematic diagram of the composition framework of a G-PCC encoder.
  • the G-PCC encoder is applied to a point cloud encoder.
  • the slices are encoded independently.
  • the geometric information of the point cloud and the attribute information corresponding to the points in the point cloud are encoded separately.
  • the G-PCC encoder first encodes the geometric information.
  • the encoder performs coordinate transformation on the geometric information so that all the point clouds are contained in a bounding box; then quantization is performed. This step of quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of some points is the same. Whether to remove duplicate points is determined based on parameters.
  • the process of quantization and removal of duplicate points is also called voxelization.
  • the bounding box is divided based on the octree. According to the different depths of the octree division level, the encoding of geometric information is divided into two frameworks based on the octree and the triangle face set.
  • the bounding box is divided into 8 sub-cubes, and the placeholder bits of the sub-cubes are recorded (where 1 is non-empty and 0 is empty).
  • the non-empty sub-cubes are divided into 8 equal parts, and the division is usually stopped when the leaf node obtained is a 1 ⁇ 1 ⁇ 1 unit cube.
  • the spatial correlation between the node and the surrounding nodes is used to perform intra-frame prediction on the placeholder bits, and finally CABAC encoding based on the context model is performed to generate a binary geometric bit stream, namely, a geometric code stream.
  • octree division In the geometric information coding framework based on triangle face sets, octree division must also be performed first, but the difference is that the geometric information coding based on octree does not need to divide the point cloud into unit cubes with a side length of 1 ⁇ 1 ⁇ 1 step by step, but stops dividing when the side length of the block is W. Based on the surface formed by the distribution of the point cloud in each block, at most twelve intersections (vertex) generated by the surface and the twelve edges of the block are obtained. Finally, the vertex coordinates of each block are encoded in turn to generate a binary geometric bit stream, that is, a geometric code stream.
  • the G-PCC encoder After completing the geometric information encoding, the G-PCC encoder reconstructs the geometric information and uses the reconstructed geometric information to encode the attribute information of the point cloud.
  • the attribute encoding of the point cloud mainly encodes the color information of the point in the point cloud.
  • the encoder can perform color space conversion on the color information of the point. For example, when the color information of the point in the input point cloud is represented by the RGB color space, the encoder can convert the color information from the RGB color space to the YUV color space. Then, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
  • color information encoding there are two main transformation methods.
  • One method is a distance-based lifting transformation that relies on LOD partitioning, and the other method is to directly perform RAHT transformation. Both methods transform the color information from the spatial domain to the frequency domain to obtain high-frequency coefficients and low-frequency coefficients. Finally, the coefficients are quantized and encoded to generate a binary attribute bit stream, that is, an attribute code stream.
  • FIG3 is a schematic diagram of the composition framework of a G-PCC decoder.
  • the G-PCC decoder is applied to a point cloud encoder.
  • the geometric bit stream and the attribute bit stream in the binary code stream are decoded independently.
  • the geometric information of the point cloud is obtained through arithmetic decoding-octree synthesis-surface fitting-reconstruction of geometry-inverse coordinate transformation;
  • the attribute information of the point cloud is obtained through arithmetic decoding-inverse quantization-LOD-based inverse lifting or RAHT-based inverse transformation-inverse color conversion.
  • the slice to be encoded can be restored based on the geometric information and attribute information; then after merging the slices, the three-dimensional image model of the input point cloud can be restored.
  • the two eligibility conditions are:
  • the local occupancy density of the node is greater than the preset threshold
  • the proportion of nodes that have adopted a plane coding mode in a certain direction is greater than a preset corresponding threshold (a total of 3 thresholds corresponding to the x, y or z directions).
  • the relationship between the local occupancy density of the node and the preset threshold is mainly used to determine whether there is sufficient qualification to use the plane mode, and the proportion of nodes that have adopted the plane mode in a certain direction (x, y or z) is greater than the preset corresponding threshold (corresponding to 3 thresholds in the x, y or z direction).
  • this method involves the real-time update of two variables, the local occupancy density of the node and the proportion of nodes that have adopted the plane mode, which brings a lot of computational complexity.
  • the 4 threshold settings increase the difficulty of optimizing the method, so that it is impossible to better utilize the plane coding mode to bring more coding gain.
  • FIG4 is a flow chart of an optional point cloud decoding method provided in an embodiment of the present application. Referring to FIG4, the method may include:
  • S401 Decode the point cloud code stream to determine the location information of the current node
  • the position information of the current node is determined, wherein the current node is one of the nodes obtained by octree division.
  • the nodes of the octree are traversed starting from the root node of the octree.
  • the position information of the current node may include: the layer number of the current node, the neighbor nodes of the current node, etc.
  • the layer number of the current node is 1, the layer number of the child node of the root node is 2, and so on, the layer number of the child node of the child node of the root node is 3...;
  • the neighbor nodes of the current node can be the node corresponding to the sub-cube above the sub-cube corresponding to the current node, the node corresponding to the sub-cube below, the node corresponding to the sub-cube in front, the node corresponding to the sub-cube behind, the node corresponding to the sub-cube on the left, and the node corresponding to the sub-cube on the right, that is, the neighbor nodes of the current node may include 6 neighbor nodes.
  • the location information of the current node After determining the location information of the current node through S101, determine whether the location information of the current node satisfies the first condition or the second condition. When the location information of the current node satisfies the first condition, set the value of the identifier of the current node to the first identifier value. When the location information of the current node satisfies the second condition, set the value of the identifier of the current node to the second identifier value.
  • the identifier indicates whether the plane mode is allowed to be used to decode the current node.
  • the first identifier value indicates that the plane mode is allowed to be used to decode the current node.
  • the second identifier value indicates that the plane mode is not allowed to be used to decode the current node.
  • the value of the identifier of the current node is determined by the condition satisfied by the location information of the current node.
  • the calculation complexity is simplified while the encoding and decoding gain of the plane mode is improved.
  • the first condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is less than the product of the node data of the N-1th layer and the first preset value, or the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is equal to the second preset value.
  • the layer number of the current node can be known from the location information of the current node, and the number of nodes in the Nth layer can be known.
  • the product of the node data of the N-1th layer and the first preset value is calculated to determine whether the number of nodes in the Nth layer is less than the above product.
  • the occupancy pattern of the neighbor nodes of the current node can be known from the location information of the current node, where the occupancy pattern of the neighbor nodes is an integer composed of the placeholder bits of the neighbor nodes, and it is determined whether the occupancy pattern of the neighbor nodes of the current node is equal to the second preset value.
  • the second condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is greater than the product of the node data of the N-1th layer and the first preset value, and the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is not equal to the second preset value.
  • the layer number of the current node can be known from the location information of the current node, and the number of nodes in the Nth layer can be known.
  • the product of the node data of the N-1th layer and the first preset value is calculated to determine whether the number of nodes in the Nth layer is greater than the above product.
  • the occupancy pattern of the neighbor nodes of the current node can be known from the location information of the current node, where the occupancy pattern of the neighbor nodes is an integer composed of the placeholder bits of the neighbor nodes, and it is determined whether the occupancy pattern of the neighbor nodes of the current node is equal to the second preset value.
  • the number of nodes in the Nth layer is 1, the number of nodes in the N-1th layer is 0.
  • the current node is the root node of the octree, that is, when the number of nodes in the Nth layer is 1, the current node is the root node. Since the root node does not have a node in the previous layer, the number of nodes in the N-1th layer is set to 0.
  • the first preset value is 2.
  • the second preset value is any integer greater than or equal to 0 and less than or equal to 63.
  • the current node includes 6 neighbor nodes, so it can be known that the placeholder pattern formed by the placeholder bits of the above 6 neighbor nodes can be an integer greater than or equal to 0 and less than or equal to 63, and the second preset value can be any integer greater than or equal to 0 and less than or equal to 63.
  • the first identification value is 1 and the second identification value is 0.
  • the first identification value is usually set to 1 and the second identification value is set to 0. That is to say, when the value of the current node identification is 1, the plane mode is allowed to decode the current node. When the value of the current node identification is 0, the plane mode is not allowed to decode the current node.
  • the number of nodes in the Nth layer where the current node is located is equal to the product of the node data of the N-1th layer and the first preset value, it can belong to the first condition or the second condition, that is, it can be that when the number of nodes in the Nth layer where the current node is located is less than or equal to the above product, or the occupancy pattern of the neighboring nodes of the current node is equal to the second preset value, the identifier of the current node is set to the first identification value; it can also be that when the number of nodes in the Nth layer where the current node is located is greater than or equal to the above product, and the occupancy pattern of the neighboring nodes of the current node is not equal to the second preset value, the identifier of the current node is set to the second identification value; here, the embodiment of the present application does not make specific limitations on this.
  • FIG5 is a flow chart of another optional point cloud decoding method provided in the embodiment of the present application. Referring to FIG5, the method may include:
  • S501 Decode the point cloud code stream and determine the identifier of the current node
  • the identifier of the current node indicates whether the current node is allowed to be decoded using the plane mode.
  • the encoding end adopts the method of assigning a value to the identifier of the current node in the manner of satisfying the first condition or the second condition, if the value of the identifier of the current node is encoded and the encoded bits are written into the bit stream, at the decoding end, the bit stream can be directly decoded to obtain the value of the identifier of the current node.
  • the plane mode is allowed to be used to decode the current node.
  • the plane mode is not allowed to be used to decode the current node.
  • an embodiment of the present application further provides a point cloud encoding method, which is applied to an encoder.
  • FIG6 is a flow chart of an optional point cloud encoding method provided in an embodiment of the present application. Referring to FIG6, the method may include:
  • S601 Determine the location information of the current node
  • the flag indicates whether the current node is allowed to be encoded using the plane mode; the first flag value indicates that the current node is allowed to be encoded using the plane mode; and the second flag value indicates that the current node is not allowed to be encoded using the plane mode.
  • the first condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is less than the product of the node data of the N-1th layer and the first preset value, or the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is equal to the second preset value.
  • the second condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is greater than the product of the node data of the N-1th layer and the first preset value, and the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is not equal to the second preset value.
  • the number of nodes in the Nth layer is 1, the number of nodes in the N-1th layer is 0.
  • the first preset value is 2.
  • the second preset value is any integer greater than or equal to 0 and less than or equal to 63.
  • the first identification value is 1 and the second identification value is 0.
  • the embodiment of the present application provides a coding and decoding method, which determines the position information of the current node at the coding end, encodes and decodes the point cloud code stream at the decoding end, determines the position information of the current node, and when the position information of the current node meets the first condition, determines the identifier of the current node as the first identifier value, and when the position information of the current node meets the second condition, determines the identifier of the current node as the second identifier value, wherein the identifier indicates whether the plane mode is allowed to be used to decode the current node, the first identifier value indicates that the plane mode is allowed to be used to decode the current node, and the second identifier value indicates that the plane mode is not allowed to be used to decode the current node; in this way, at the coding and decoding end, the identifier of the current node is respectively taken according to whether the position information of the current node meets the first condition and the second condition, so that it is possible to
  • This example proposes a new plane mode determination method based on the number of nodes in the point cloud octree hierarchy and the neighbor node occupancy pattern of the current node, and sets a unified plane mode qualification value (equivalent to the above-mentioned identifier) for all directions of nodes in a certain layer under the octree framework.
  • a unified plane mode qualification value equivalent to the above-mentioned identifier
  • the qualification value of the plane mode of the current node is determined as follows:
  • PlanarEligibleByRate[k] OccNodeCnt[Dpth] ⁇ (OccNodeCnt[Dpth-1]*2)
  • k represents the current node
  • PlanarEligibleByRate[k] represents the value of the identifier of the current node
  • OccNodeCnt[Dpth] represents the number of nodes in the Dpth layer
  • OccNodeCnt[Dpth-1] represents the number of nodes in the Dpth-1 layer
  • OccNeighPat represents a value in the value range of the occupancy pattern, that is, the second preset value mentioned above.
  • OccNodeCnt[Dpth] is less than twice OccNodeCnt[Dpth-1], or, when the neighbor node occupancy mode of the current node is 0, PlanarEligibleByRate[k] is set to 1, otherwise it is set to 0.
  • an alternative solution in the above method for determining the identifier of the current node is: the above second preset value may be 2, or may be replaced by other values;! In the OccNeighPat condition, OccNeighPat may be any integer in [0, 63].
  • the number of nodes in the point cloud at different octree levels and the occupancy pattern of the neighboring nodes of the current node are used to determine the eligibility value of the plane mode.
  • the process of determining the eligibility value and updating the probability for each node is omitted, thereby reducing the computational complexity.
  • the real density used more accurately determines whether all nodes at a certain level are qualified for the plane mode, thereby bringing performance gains. See Tables 1 and 2 for details.
  • BD-Rate under lossy compression of geometric information indicates: compared with the related art, under the condition of obtaining the same encoding quality, the encoding bit rate of this example method is saved (BD-Rate is a negative value) or increased (BD-Rate is a positive value) by a percentage of the encoding bit rate of the related art.
  • Bpip Ratio under lossless compression of geometric information indicates: under the condition of no loss of point cloud quality, the encoding bit rate of this example method accounts for the percentage of the encoding bit rate of the related art. The lower the value, the greater the bit rate saved by this example method.
  • FIG. 7 is a schematic diagram of a structure of an optional decoder provided in the embodiment of the present application.
  • the decoder 700 may include:
  • a first determination module 71 is configured to decode the point cloud code stream and determine the position information of the current node
  • the second determining module 72 is configured to determine that the identifier of the current node is a first identifier value when the location information of the current node satisfies the first condition;
  • a third determining module 73 is configured to determine that the identifier of the current node is a second identifier value when the location information of the current node satisfies the second condition;
  • the flag indicates whether the current node is allowed to be decoded using the plane mode; the first flag value indicates that the current node is allowed to be decoded using the plane mode; and the second flag value indicates that the current node is not allowed to be decoded using the plane mode.
  • the first condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is less than the product of the node data of the N-1th layer and the first preset value, or the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is equal to the second preset value.
  • the second condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is greater than the product of the node data of the N-1th layer and the first preset value, and the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is not equal to the second preset value.
  • the number of nodes in the Nth layer is 1, the number of nodes in the N-1th layer is 0.
  • the first preset value is 2.
  • the second preset value is any integer greater than or equal to 0 and less than or equal to 63.
  • the first identification value is 1 and the second identification value is 0.
  • first determination module 71, second determination module 72 and third determination module 74 can be implemented by a processor located on the decoder, specifically a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA).
  • CPU central processing unit
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • FIG8 is a second schematic diagram of the structure of an optional decoder provided in the embodiment of the present application.
  • the decoder 800 may include:
  • the fourth determination module 81 is configured to decode the point cloud code stream and determine the identifier of the current node; wherein the identifier of the current node indicates whether the planar mode is allowed to be used to decode the current node.
  • the fourth determination module 81 may be implemented by a processor located on the decoder, specifically a CPU, an MPU, a DSP or an FPGA.
  • FIG. 9 is a schematic diagram of a structure of an optional encoder provided in the embodiment of the present application.
  • the decoder 900 may include:
  • a fifth determining module 91 is configured to determine the location information of the current node
  • a sixth determining module 92 is configured to determine that the identifier of the current node is a first identifier value when the location information of the current node satisfies the first condition;
  • a seventh determination module 93 is configured to determine that the identifier of the current node is a second identifier value when the location information of the current node satisfies the second condition;
  • the flag indicates whether the current node is allowed to be encoded using the plane mode; the first flag value indicates that the current node is allowed to be encoded using the plane mode; and the second flag value indicates that the current node is not allowed to be encoded using the plane mode.
  • the first condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is less than the product of the node data of the N-1th layer and the first preset value, or the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is equal to the second preset value.
  • the second condition includes:
  • the location information of the current node indicates that the number of nodes in the Nth layer where the current node is located is greater than the product of the node data of the N-1th layer and the first preset value, and the location information of the current node indicates that the occupancy pattern of the neighboring nodes of the current node is not equal to the second preset value.
  • the number of nodes in the Nth layer is 1, the number of nodes in the N-1th layer is 0.
  • the first preset value is 2.
  • the second preset value is any integer greater than or equal to 0 and less than or equal to 63.
  • the first identification value is 1 and the second identification value is 0.
  • the fifth determination module 91, the sixth determination module 92 and the seventh determination module 93 may be implemented by a processor located on the encoder, specifically a CPU, an MPU, a DSP or an FPGA.
  • FIG10 is a structural schematic diagram 3 of an optional decoder provided in the embodiment of the present application. As shown in FIG10 , the embodiment of the present application provides a decoder 1000, including:
  • the various components in the terminal are coupled together through the communication bus 103.
  • the communication bus 103 is used to realize the connection and communication between these components.
  • the communication bus 103 also includes a power bus, a control bus and a status signal bus.
  • various buses are marked as communication buses 103 in FIG. 10.
  • FIG11 is a second schematic diagram of the structure of an optional decoder provided in the embodiment of the present application. As shown in FIG11 , the embodiment of the present application provides an encoder 1100, including:
  • the various components in the terminal are coupled together through the communication bus 113. It is understandable that the communication bus 113 is used to realize the connection and communication between these components.
  • the communication bus 113 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as communication buses 113 in FIG. 11.
  • An embodiment of the present application provides a code stream, which is generated by bit encoding according to information to be encoded; wherein the information to be encoded includes at least: an identifier of a current node.
  • An embodiment of the present application provides a computer-readable storage medium storing executable instructions.
  • the processor executes the point cloud decoding method described in one or more of the above embodiments or the point cloud encoding method described in one or more of the above embodiments.
  • the computer readable storage medium can be a magnetic random access memory (FRAM), 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), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc (CD-ROM) and other memories.
  • FRAM magnetic random access memory
  • ROM read-only memory
  • PROM programmable read-only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash Memory Flash Memory
  • magnetic surface memory an optical disc
  • CD-ROM compact disc
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
  • a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
  • These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
  • These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
  • the identifier of the current node is respectively determined based on whether the position information of the current node satisfies the first condition and the second condition, so that a smaller amount of calculation can be used to determine whether the plane mode is allowed to be used to decode or encode the current node.
  • the value of the identifier of the current node can be decoded from the bit stream, so that it can be determined whether the plane mode is allowed to be used to decode the current node.

Landscapes

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

Abstract

本申请实施例公开了一种编解码方法、编解码器、码流以及计算机存储介质,在编解码端针对当前节点的位置信息是否满足第一条件和第二条件,分别对当前节点的标识进行取值,从而采用较小的计算量就能够确定出是否允许使用平面模式对当前节点进行解码或者编码,另外,在解码端可以从码流中解码得到当前节点的标识的取值,如此,便能够得到是否允许使用平面模式对当前节点进行解码,与相关技术中采用的确定当前节点的是否允许使用平面模式对当前节点进行解码或者编码的方式相比,简化了计算复杂度的同时提高平面模式的编解码增益。

Description

编解码方法、编解码器、码流以及计算机存储介质 技术领域
本申请实施例涉及点云编解码中的平面模式技术,尤其涉及一种编解码方法、编解码器、码流以及计算机存储介质。
背景技术
在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编解码框架中,点云的几何信息和所对应的属性信息是分开进行编码的。其中,对于几何信息的编码而言,可以为基于八叉树(Octree)和三角面片集(Trisoup)的两种框架。
在基于八叉树的几何信息编码框架中,对于构建上下文模型中是否允许八叉树的节点使用平面模式,相关技术中带来了大量的计算复杂度,从而无法更好的使用平面模式带来的编解码增益。
发明内容
有鉴于此,本申请实施例提供一种编解码方法、编解码器、码流以及计算机存储介质,能够降低在确定平面模式的资格时的计算复杂度的同时提高平面模式的编解码增益。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种点云解码方法,所述方法应用于解码器中,所述方法包括:
解码点云码流,确定当前节点的位置信息;
当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
其中,所述标识指示是否允许使用平面模式对所述当前节点进行解码;所述第一标识值指示允许使用所述平面模式对所述当前节点进行解码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行解码。
第二方面,本申请实施例提供了一种点云解码方法,所述方法应用于解码器中,所述方法包括:
解码点云码流,确定当前节点的标识;
其中,所述当前节点的标识指示是否允许使用平面模式对所述当前节点进行解码。
第三方面,本申请实施例提供了一种点云编码方法,所述方法应用于编码器中,所述方法包括:
确定当前节点的位置信息;
当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
其中,所述标识指示是否允许使用平面模式对所述当前节点进行编码;所述第一标识值指示允 许使用所述平面模式对所述当前节点进行编码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行编码。
第四方面,本申请实施例提供了一种解码器,所述解码器包括:
第一确定模块,配置为解码点云码流,确定当前节点的位置信息;
第二确定模块,配置为当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
第三确定模块,配置为当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
其中,所述标识指示是否允许使用平面模式对所述当前节点进行解码;所述第一标识值指示允许使用所述平面模式对所述当前节点进行解码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行解码。
第五方面,本申请实施例提供了一种解码器,所述解码器包括:
第四确定模块,配置为解码点云码流,确定当前节点的标识;
其中,所述当前节点的标识指示是否允许使用平面模式对所述当前节点进行解码。
第六方面,本申请实施例提供了一种编码器,所述编码器包括:
第五确定模块,配置为确定当前节点的位置信息;
第六确定模块,配置为当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
第七确定模块,配置为当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
其中,所述标识指示是否允许使用平面模式对所述当前节点进行编码;所述第一标识值指示允许使用所述平面模式对所述当前节点进行编码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行编码。
第七方面,本申请实施例提供了一种解码器,所述解码器包括:
处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述第一方面所述的点云解码方法。
第八方面,本申请实施例提供了一种编码器,所述编码器包括:
处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述第二方面所述的点云编码方法。
第九方面,本申请实施例提供一种码流,所述码流是根据待编码信息进行比特编码生成的;其中,待编码信息至少包括:当前节点的标识。
第十方面,本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述第一方面所述的点云解码方法或者所述第二方面所述的点云编码方法。
本申请实施例提供了一种编解码方法、编解码器、码流以及计算机存储介质,在编码端确定当前节点的位置信息,在解码端编解码点云码流,确定当前节点的位置信息,当当前节点的位置信息满足第一条件时,确定当前节点的标识为第一标识值,当当前节点的位置信息满足第二条件时,确定当前节点的标识为第二标识值,其中,标识指示是否允许使用平面模式对当前节点进行解码,第一标识值指示允许使用平面模式对当前节点进行解码,第二标识值指示不允许使用平面模式对当前节点进行解码;这样,在编解码端针对当前节点的位置信息是否满足第一条件和第二条件,分别对当前节点的标识进行取值,从而采用较小的计算量就能够确定出是否允许使用平面模式对当前节点进行解码或者编码,另外,在解码端可以从码流中解码得到当前节点的标识的取值,如此,便能够得到是否允许使用平面模式对当前节点进行解码,与相关技术中采用的确定当前节点的是否允许使用平面模式对当前节点进行解码或者编码的方式相比,简化了计算复杂度的同时提高平面模式的编解码增益。
附图说明
图1为本申请实施例提供的一种点云编解码的网络架构示意图;
图2为一种G-PCC编码器的组成框架示意图;
图3为一种G-PCC解码器的组成框架示意图;
图4为本申请实施例提供的一种可选的点云解码方法的流程示意图;
图5为本申请实施例提供的另一种可选的点云解码方法的流程示意图;
图6为本申请实施例提供的一种可选的点云编码方法的流程示意图;
图7为本申请实施例提供的一种可选的解码器的结构示意图一;
图8为本申请实施例提供的一种可选的解码器的结构示意图二;
图9为本申请实施例提供的一种可选的编码器的结构示意图一;
图10为本申请实施例提供的一种可选的解码器的结构示意图三;
图11为本申请实施例提供的一种可选的解码器的结构示意图二。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序, 以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:
点云压缩(Point Cloud Compression,PCC);
基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC或GPCC);
基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC或VPCC);
八叉树(Octree);
三角面片集(Triangle soup,Trisoup);
帧内预测(Intra Prediction);
查找表(Look Up Table,LUT);
红绿蓝(Red-Green-Blue,RGB);
亮度色度(Luminance-Chrominance,YUV);
细节层次(Level of Detail,LOD);
预测变换(Predicting Transform);
提升变换(Lifting Transform);
区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT);
基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)。
点云是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。
点云(Point Cloud)是指海量三维点的集合,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度,Cb(U)表示蓝色色度,Cr(V)表示红色色度。
根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
点云可以按获取的途径分为:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
例如,按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航***、实时巡检***、地理信息***、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。
截止目前,可对点云进行压缩的点云编码框架可以是运动图像专家组(Moving Picture Experts Group,MPEG)提供的G-PCC编解码框架或V-PCC编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。其中,G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。在本申请实施例中,这里主要是针对G-PCC编解码框架进行描述。
本申请实施例提供了一种包含解码方法和编码方法的点云编解码***的网络架构,图1为本申请实施例提供的一种点云编解码的网络架构示意图。如图1所示,该网络架构包括一个或多个电子设备13至1N和通信网络01,其中,电子设备13至1N可以通过通信网络01进行视频交互。电子设备在实施的过程中可以为各种类型的具有点云编解码功能的设备,例如,所述电子设备可以包括手机、平板电脑、个人计算机、个人数字助理、导航仪、数字电话、视频电话、电视机、传感设备、服务器等,本申请实施例不作限制。其中,本申请实施例中的解码器或编码器就可以为上述电子设备。
其中,本申请实施例中的电子设备具有点云编解码功能,一般包括点云编码器(即编码器)和点云解码器(即解码器)。
下面以G-PCC编解码框架为例进行相关技术的说明。
可以理解,在点云G-PCC编解码框架中,将输入三维图像模型的点云进行分片(slice)处理后,可以对每一个slice进行独立编码。
图2为一种G-PCC编码器的组成框架示意图。如图2所示,该G-PCC编码器应用于点云编码器。在该G-PCC编码框架中,将输入点云进行slice划分后,对slice进行独立编码。在slice中,点云的几何信息和点云中的点所对应的属性信息是分开进行编码的。G-PCC编码器首先对几何信息进行编码。编码器对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中;然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接下来,对bounding box进行基于八叉树的划分。根据八叉树划分层级深度的不同,几何信息的编码又分为基于八叉树和三角面片集的两种框架。
在基于八叉树的几何信息编码框架中,将包围盒八等分为8个子立方体,并记录子立方体的占位比特(其中,1为非空,0为空),对非空的子立方体继续进行八等分,通常划分得到的叶子节点 为1×1×1的单位立方体时停止划分。在这个过程中,利用节点(node)与周围节点的空间相关性,对占位比特进行帧内预测,最后进行基于上下文模型的CABAC编码,生成二进制的几何比特流,即几何码流。
在基于三角面片集的几何信息编码框架中,同样也要先进行八叉树划分,但区别在于基于八叉树的几何信息编码,该方法不需要将点云逐级划分到边长为1×1×1的单位立方体,而是划分到块(block)的边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边产生的至多十二个交点(vertex)。最后依次编码每个block的vertex坐标,生成二进制的几何比特流,即几何码流。
G-PCC编码器在完成几何信息编码后,对几何信息进行重建,并使用重建的几何信息对点云的属性信息进行编码。目前,点云的属性编码主要是对点云中点的颜色信息进行编码。首先,编码器可以对点的颜色信息进行颜色空间转换,例如,当输入点云中点的颜色信息使用RGB颜色空间表示时,编码器可以将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,主要有两种变换方法,一种方法是依赖于LOD划分的基于距离的提升变换,另一种方法是直接进行RAHT变换,这两种方法都会将颜色信息从空间域变换到频域,得到高频系数和低频系数,最后对系数进行量化和编码,生成二进制的属性比特流,即属性码流。
图3为一种G-PCC解码器的组成框架示意图。如图3所示,该G-PCC解码器应用于点云编码器。在该G-PCC解码框架中,获取二进制码流后,针对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-反坐标变换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的反提升或者基于RAHT的反变换-反颜色转换,得到点云的属性信息,基于几何信息和属性信息可以恢复待编码的slice;然后进行slice合并后,就可以还原输入点云的三维图像模型。
在相关技术中,在图2或图3所示的上下文建模中,需要判断当前节点是否有资格使用平面模式,没有资格的节点使用占位比特模式,有资格的节点则继续根据子节点分布情况确定是否使用平面模式。
在判断当前节点是否有资格使用平面模式中,两个资格条件为:
1、节点的局部占据密度大于预设的阈值;
2、已经采用某方向(x、y或z)平面编码模式的节点的占比大于预设的相应阈值(对应x、y或z方向共3个阈值)。
可见,主要通过节点的局部占据密度与预设的阈值的关系,已经采用某方向(x、y或z)平面模式的节点的占比大于预设的相应阈值(对应x、y或z方向共3个阈值)的关系来确定是否有足够的资格使用平面模式,但是,该方法中涉及了节点的局部占据密度以及已经采用平面模式的节点的占比两个变量的实时更新,带来了大量的计算复杂度。此外,4个阈值设置加大了该方法最优化的难度,从而无法更好的利用平面编码模式带来更多的编码增益。
基于此,本申请实施例提供了一种点云解码方法,该方法应用于一解码器中,图4为本申请实施例提供的一种可选的点云解码方法的流程示意图,参考图4所示,该方法可以包括:
S401:解码点云码流,确定当前节点的位置信息;
针对解码端,在解码点云码流时,确定当前节点的位置信息,其中,当前节点为八叉树划分得到的节点中的一个节点,在S101中,在得到八叉树之后,由八叉树的根节点开始对八叉树的节点进行遍历,当前节点的位置信息可以包括:当前节点所处的层数编号,当前节点的邻居节点等,例如,当前节点为根节点时,当前节点所处的层数的编号为1,根节点的子节点所处的层数编号为2,依次类推,根节点的子节点的子节点所处的层数的编号为3……;当前节点的邻居节点可以为当前节点对应的子立方体上方的子立方体对应的节点、下方的子立方体对应的节点、前方的子立方体对应的节点、后方的子立方体对应的节点、左边的子立方体对应的节点和右边的子立方体对应的节点,即当前节点的邻居节点可以包括6个邻居节点。
S402:当当前节点的位置信息满足第一条件时,确定当前节点的标识为第一标识值;
S403:当当前节点的位置信息满足第二条件时,确定当前节点的标识为第二标识值。
通过S101确定出当前节点的位置信息之后,判断当前节点的位置信息是满足第一条件还是满足第二条件,当当前节点的位置信息满足第一条件时,将当前节点的标识的取值置为第一标识值,当当前节点的位置信息满足第二条件时,将当前节点的标识的取值置为第二标识值;其中,标识指示是否允许使用平面模式对当前节点进行解码;第一标识值指示允许使用平面模式对当前节点进行解码;第二标识值指示不允许使用平面模式对当前节点进行解码;如此,通过当前节点的位置信息所满足的条件来确定当前节点的标识的取值,与相关技术中采用的确定当前节点的是否允许使用平面模式对当前节点进行解码或者编码的方式相比,简化了计算复杂度的同时提高平面模式的编解码增益。
针对上述第一条件来说,在一种可选的实施例中,第一条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目小于第N-1层的节点数据与第一预设值的乘积,或者,当前节点的位置信息指示当前节点的邻居节点的占位模式等于第二预设值。
可以理解地,从当前节点的位置信息中可以知晓当前节点所处的层数的编号,即第N层,也就知晓第N层的节点数目,计算第N-1层的节点数据与第一预设值的乘积,判断第N层的节点数目是否小于上述乘积,并且,从当前节点的位置信息中可以知晓当前节点的邻居节点的占位模式,其中,该邻居节点的占位模式为邻居节点占位比特所构成的整数,判断当前节点的邻居节点的占位模式是否等于第二预设值。
通过上述判断,当当前节点的所处的第N层的节点数目小于上述乘积,且当前节点的邻居节点的占位模式为第二预设值时,确定当前节点的位置信息满足第一条件,将当前节点的标识的取值置为第一标识值。
针对第二条件,在一种可选的实施例中,第二条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目大于第N-1层的节点数据与第一预 设值的乘积,且当前节点的位置信息指示当前节点的邻居节点的占位模式不等于第二预设值。
可以理解地,从当前节点的位置信息中可以知晓当前节点所处的层数的编号,即第N层,也就知晓第N层的节点数目,计算第N-1层的节点数据与第一预设值的乘积,判断第N层的节点数目是否大于上述乘积,并且,从当前节点的位置信息中可以知晓当前节点的邻居节点的占位模式,其中,该邻居节点的占位模式为邻居节点占位比特所构成的整数,判断当前节点的邻居节点的占位模式是否等于第二预设值。
通过上述判断,当当前节点的所处的第N层的节点数目大于上述乘积,且当前节点的邻居节点的占位模式不等于第二预设值时,确定当前节点的位置信息满足第二条件,将当前节点的标识的取值置为第二标识值。
针对八叉树的根节点来说,在一种可选的实施例中,当第N层的节点数目为1时,第N-1层的节点数目为0。
需要说明的是,针对当前节点为八叉树的根节点来说,即当第N层的节点数目为1时,当前节点为根节点,由于根节点并不存在上一层节点,所以,这里将第N-1层的节点数目设置为0,
另外,为了提高编解码增益,通常地,上述第一预设值为2。
针对上述第二预设值,在一种可选的实施例中,第二预设值为大于等于0小于等于63的任意一个整数。
可以理解地,当前节点包括6个邻居节点,那么可知,上述6个邻居节点的占位比特构成的占位模式可以为大于等于0小于等于63的整数,而第二预设值选取大于等于0小于等于63中的任意一个整数即可。
针对当前节点的标识来说,在一种可选的实施例中,第一标识值为1,第二标识值为0。
在实际应用中,通常将第一标识值设置为1,将第二标识值设置为0,也就是说,当前节点的标识的取值为1时,允许使用平面模式对当前节点的进行解码,当前节点标识的取值为0时,不允许使用平面模式对当前节点进行解码。
需要说明的是,针对上述当前节点所处的第N层的节点数目等于第N-1层的节点数据与第一预设值的乘积的情况来说,可以属于第一条件,也可以属于第二条件,也就是说,可以是,当当前节点所处的第N层的节点数目小于等于上述乘积,或者,当前节点的邻居节点的占位模式等于第二预设值时,将当前节点的标识置为第一标识值;还可以是,当当前节点所处的第N层的节点数目大于等于上述乘积,且当前节点的邻居节点的占位模式不等于第二预设值时,将当前节点的标识置为第二标识值;这里,本申请实施例对此不作具体限定。
另外,本申请实施例还提供一种点云解码方法,该方法应用于一解码其中,图5为本申请实施例提供的另一种可选的点云解码方法的流程示意图们参考图5所示,该方法可以包括:
S501:解码点云码流,确定当前节点的标识;
其中,当前节点的标识指示是否允许使用平面模式对当前节点进行解码。
需要说明的是,当编码端采用上述满足第一条件后者满足第二条件的方式来为当前节点的标识 赋值的方式时,若将当前节点的标识的取值进行编码,并将编码比特写入码流中时,在解码端,可以直接对码流进行解码,从而可以得到当前节点的标识的取值。
当解码得到的当前节点的标识为第一标识值时,允许使用平面模式对当前节点进行解码,当解码得到的当前节点的标识为第二标识值时,不允许使用平面模式度对当前节点进行解码。
针对编码端,与解码端为当前节点的标识赋值的方式一致,本申请实施例还提供一种点云编码方法,该方法应用于一编码器中,图6为本申请实施例提供的一种可选的点云编码方法的流程示意图,参考图6所示,该方法可以包括:
S601:确定当前节点的位置信息;
S602:当当前节点的位置信息满足第一条件时,确定当前节点的标识为第一标识值;
S603:当当前节点的位置信息满足第二条件时,确定当前节点的标识为第二标识值。
其中,标识指示是否允许使用平面模式对当前节点进行编码;第一标识值指示允许使用平面模式对当前节点进行编码;第二标识值指示不允许使用平面模式对当前节点进行编码。
在一种可选的实施例中,第一条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目小于第N-1层的节点数据与第一预设值的乘积,或者,当前节点的位置信息指示当前节点的邻居节点的占位模式等于第二预设值。
在一种可选的实施例中,第二条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目大于第N-1层的节点数据与第一预设值的乘积,且当前节点的位置信息指示当前节点的邻居节点的占位模式不等于第二预设值。
在一种可选的实施例中,当第N层的节点数目为1时,第N-1层的节点数目为0。
在一种可选的实施例中,第一预设值为2。
在一种可选的实施例中,第二预设值为大于等于0小于等于63的任意一个整数。
在一种可选的实施例中,第一标识值为1,第二标识值为0。
本申请实施例提供了一种编解码方法,在编码端确定当前节点的位置信息,在解码端编解码点云码流,确定当前节点的位置信息,当当前节点的位置信息满足第一条件时,确定当前节点的标识为第一标识值,当当前节点的位置信息满足第二条件时,确定当前节点的标识为第二标识值,其中,标识指示是否允许使用平面模式对当前节点进行解码,第一标识值指示允许使用平面模式对当前节点进行解码,第二标识值指示不允许使用平面模式对当前节点进行解码;这样,在编解码端针对当前节点的位置信息是否满足第一条件和第二条件,分别对当前节点的标识进行取值,从而采用较小的计算量就能够确定出是否允许使用平面模式对当前节点进行解码或者编码,另外,在解码端可以从码流中解码得到当前节点的标识的取值,如此,便能够得到是否允许使用平面模式对当前节点进行解码,与相关技术中采用的确定当前节点的是否允许使用平面模式对当前节点进行解码或者编码的方式相比,简化了计算复杂度的同时提高平面模式的编解码增益。
下面举实例来对上述一个或多个实施例所述的点云编解码方法进行说明。
本实例中提出了全新的一种基于点云八叉树层级中节点数目以及当前节点的邻居节点占位模式 的平面模式的判断方法,为八叉树框架下的某一层的节点的所有方向设置一个统一的平面模式的资格值(相当于上述标识)。以编码端为例来说,编码端具体实施描述如下:
根据八叉树第Dpth层的节点数目OccNodeCnt[Dpth],第Dpth-1层的节点数目OccNodeCnt[Dpth-1],以及当前节点的邻居节点占位模式判断当前节点的平面模式的资格值为:
PlanarEligibleByRate[k]=OccNodeCnt[Dpth]<(OccNodeCnt[Dpth-1]*2)||!OccNeighPat
其中,k表示当前节点,PlanarEligibleByRate[k]表示当前节点的标识的取值,OccNodeCnt[Dpth]表示第Dpth层的节点数目,OccNodeCnt[Dpth-1]表示第Dpth-1层的节点数目,OccNeighPat表示占位模式的取值区间中的一个值,即上述第二预设值。
也就是说,以第一预设值为2,第二预设值为0为例,即OccNodeCnt[Dpth]小于OccNodeCnt[Dpth-1]的两倍,或者,当前节点的邻居节点占位模式为0时,PlanarEligibleByRate[k]置为1,否则置为0。
需要说明的是,解码端具体实施描述与编码端完全一致。
另外,上述确定当前节点的标识的方法中的替代方案为:上述第二预设值可以为2,也可以替代为其他值;!OccNeighPat条件中,OccNeighPat可以为[0,63]中任意一个整数。
本实例中,利用了点云在不同的八叉树层级中的节点数目以及当前节点的邻居节点占位模式来判断平面模式的资格值,与相关技术中相比,省去了为每一个节点都判断一次资格值并更新概率的过程,降低了计算复杂度;同时,采用的真实密度更准确地判断了某一层级的所有节点针对平面模式是否合格,从而带来了性能增益,详见表1和表2。
表1
Figure PCTCN2022125932-appb-000001
表2
Figure PCTCN2022125932-appb-000002
由上述表1和表2可以看出,几何信息有损压缩条件下的BD-Rate表示:与相关技术相比,在获得相同编码质量的情况下,本实例方法的编码码率比相关技术的编码码率节省(BD-Rate为负值)或增加(BD-Rate为正值)的百分比。几何信息无损压缩条件下的Bpip Ratio表示:在点云质量无损失的情况下,本实例方法的编码码率占相关技术编码码率的百分比,数值越低,本实例方法节省的码率越大。
基于前述实施例相同的发明构思,本申请实施例还提供一种解码器,图7为本申请实施例提供的一种可选的解码器的结构示意图一,解码器700可以包括:
第一确定模块71,配置为解码点云码流,确定当前节点的位置信息;
第二确定模块72,配置为当当前节点的位置信息满足第一条件时,确定当前节点的标识为第一标识值;
第三确定模块73,配置为当当前节点的位置信息满足第二条件时,确定当前节点的标识为第二标识值;
其中,标识指示是否允许使用平面模式对当前节点进行解码;第一标识值指示允许使用平面模式对当前节点进行解码;第二标识值指示不允许使用平面模式对当前节点进行解码。
在一种可选的实施例中,第一条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目小于第N-1层的节点数据与第一预设值的乘积,或者,当前节点的位置信息指示当前节点的邻居节点的占位模式等于第二预设值。
在一种可选的实施例中,第二条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目大于第N-1层的节点数据与第一预设值的乘积,且当前节点的位置信息指示当前节点的邻居节点的占位模式不等于第二预设值。
在一种可选的实施例中,当第N层的节点数目为1时,第N-1层的节点数目为0。
在一种可选的实施例中,第一预设值为2。
在一种可选的实施例中,第二预设值为大于等于0小于等于63的任意一个整数。
在一种可选的实施例中,第一标识值为1,第二标识值为0。
在实际应用中,上述第一确定模块71、第二确定模块72和第三确定模块74可由位于解码器上的处理器实现,具体为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital Signal Processing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本申请实施例还提供一种解码器,图8为本申请实施例提供的一种可选的解码器的结构示意图二,解码器800可以包括:
第四确定模块81,配置为解码点云码流,确定当前节点的标识;其中,当前节点的标识指示是否允许使用平面模式对当前节点进行解码。
在实际应用中,上述第四确定模块81可由位于解码器上的处理器实现,具体为CPU、MPU、DSP或FPGA等实现。
本申请实施例还提供一种编码器,图9为本申请实施例提供的一种可选的编码器的结构示意图一,解码器900可以包括:
第五确定模块91,配置为确定当前节点的位置信息;
第六确定模块92,配置为当当前节点的位置信息满足第一条件时,确定当前节点的标识为第一标识值;
第七确定模块93,配置为当当前节点的位置信息满足第二条件时,确定当前节点的标识为第二标识值;
其中,标识指示是否允许使用平面模式对当前节点进行编码;第一标识值指示允许使用平面模式对当前节点进行编码;第二标识值指示不允许使用平面模式对当前节点进行编码。
在一种可选的实施例中,第一条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目小于第N-1层的节点数据与第一预设值的乘积,或者,当前节点的位置信息指示当前节点的邻居节点的占位模式等于第二预设值。
在一种可选的实施例中,第二条件,包括:
当前节点的位置信息指示当前节点所处的第N层的节点数目大于第N-1层的节点数据与第一预设值的乘积,且当前节点的位置信息指示当前节点的邻居节点的占位模式不等于第二预设值。
在一种可选的实施例中,当第N层的节点数目为1时,第N-1层的节点数目为0。
在一种可选的实施例中,第一预设值为2。
在一种可选的实施例中,第二预设值为大于等于0小于等于63的任意一个整数。
在一种可选的实施例中,第一标识值为1,第二标识值为0。
在实际应用中,上述第五确定模块91、第六确定模块92和第七确定模块93可由位于编码器上的处理器实现,具体为CPU、MPU、DSP或FPGA等实现。
本申请实施例提供一种解码器,图10为本申请实施例提供的一种可选的解码器的结构示意图三,如图10所示,本申请实施例提供了一种解码器1000,包括:
处理器101以及存储有所述处理器101可执行指令的存储介质102,所述存储介质102通过通信总线103依赖所述处理器101执行操作,当所述指令被所述处理器101执行时,执行上述一个或多个实施例中所执行的所述点云解码方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线103耦合在一起。可理解,通信总线103用于实现这些组件之间的连接通信。通信总线103除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为通信总线103。
本申请实施例提供一种解码器,图11为本申请实施例提供的一种可选的解码器的结构示意图二,如图11所示,本申请实施例提供了一种编码器1100,包括:
处理器111以及存储有所述处理器111可执行指令的存储介质112,所述存储介质112通过通信总线113依赖所述处理器111执行操作,当所述指令被所述处理器111执行时,执行上述一个或多个实施例中所执行的所述点云编码方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线113耦合在一起。可理解,通信总线113用于实现这些组件之间的连接通信。通信总线113除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为通信总线113。
本申请实施例提供一种码流,所述码流是根据待编码信息进行比特编码生成的;其中,待编码信息至少包括:当前节点的标识。
本申请实施例提供了一种计算机可读存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述的点云解码方法或者上述一个或多个实施例所述的点云编码方法。
其中,计算机可读存储介质可以是磁性随机存取存储器(ferromagnetic random access memory,FRAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
工业实用性
本申请实施例中,在编解码端针对当前节点的位置信息是否满足第一条件和第二条件,分别对当前节点的标识进行取值,从而采用较小的计算量就能够确定出是否允许使用平面模式对当前节点进行解码或者编码,另外,在解码端可以从码流中解码得到当前节点的标识的取值,如此,便能够得到是否允许使用平面模式对当前节点进行解码,与相关技术中采用的确定当前节点的是否允许使用平面模式对当前节点进行解码或者编码的方式相比,简化了计算复杂度的同时提高平面模式的编解码增益。

Claims (23)

  1. 一种点云解码方法,所述方法应用于解码器中,所述方法包括:
    解码点云码流,确定当前节点的位置信息;
    当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
    当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
    其中,所述标识指示是否允许使用平面模式对所述当前节点进行解码;所述第一标识值指示允许使用所述平面模式对所述当前节点进行解码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行解码。
  2. 根据权利要求1所述的方法,其中,所述第一条件,包括:
    所述当前节点的位置信息指示所述当前节点所处的第N层的节点数目小于第N-1层的节点数据与第一预设值的乘积,或者,所述当前节点的位置信息指示所述当前节点的邻居节点的占位模式等于第二预设值。
  3. 根据权利要求1所述的方法,其中,所述第二条件,包括:
    所述当前节点的位置信息指示所述当前节点所处的第N层的节点数目大于第N-1层的节点数据与第一预设值的乘积,且所述当前节点的位置信息指示所述当前节点的邻居节点的占位模式不等于第二预设值。
  4. 根据权利要求2或3所述的方法,其中,当所述第N层的节点数目为1时,所述第N-1层的节点数目为0。
  5. 根据权利要求2或3所述的方法,其中,所述第一预设值为2。
  6. 根据权利要求2或3所述的方法,其中,所述第二预设值为大于等于0小于等于63的任意一个整数。
  7. 根据权利要求1所述的方法,其中,所述第一标识值为1,所述第二标识值为0。
  8. 一种点云解码方法,所述方法应用于解码器中,所述方法包括:
    解码点云码流,确定当前节点的标识;
    其中,所述当前节点的标识指示是否允许使用平面模式对所述当前节点进行解码。
  9. 一种点云编码方法,所述方法应用于编码器中,所述方法包括:
    确定当前节点的位置信息;
    当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
    当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
    其中,所述标识指示是否允许使用平面模式对所述当前节点进行编码;所述第一标识值指示允许使用所述平面模式对所述当前节点进行编码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行编码。
  10. 根据权利要求9所述的方法,其中,所述第一条件,包括:
    所述当前节点的位置信息指示所述当前节点所处的第N层的节点数目小于第N-1层的节点数据与第一预设值的乘积,或者,所述当前节点的位置信息指示所述当前节点的邻居节点的占位模式等于第二预设值。
  11. 根据权利要求9所述的方法,其中,所述第二条件,包括:
    所述当前节点的位置信息指示所述当前节点所处的第N层的节点数目大于第N-1层的节点数据与第一预设值的乘积,且所述当前节点的位置信息指示所述当前节点的邻居节点的占位模式不等于第二预设值。
  12. 根据权利要求10或11所述的方法,其中,当所述第N层的节点数目为1时,所述第N-1层的节点数目为0。
  13. 根据权利要求10或11所述的方法,其中,所述第一预设值为2。
  14. 根据权利要求13所述的方法,其中,所述第二预设值为大于等于0小于等于63的任意一个整数。
  15. 根据权利要求9所述的方法,其中,所述第一标识值为1,所述第二标识值为0。
  16. 根据权利要求9所述的方法,其中,所述方法还包括:
    对所述当前节点的标识的取值进行编码,将所得到的编码比特写入码流。
  17. 一种解码器,所述解码器包括:
    第一确定模块,配置为解码点云码流,确定当前节点的位置信息;
    第二确定模块,配置为当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
    第三确定模块,配置为当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
    其中,所述标识指示是否允许使用平面模式对所述当前节点进行解码;所述第一标识值指示允许使用所述平面模式对所述当前节点进行解码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行解码。
  18. 一种解码器,所述解码器包括:
    第四确定模块,用于解码点云码流,确定当前节点的标识;
    其中,所述当前节点的标识指示是否允许使用平面模式对所述当前节点进行解码。
  19. 一种编码器,所述编码器包括:
    第五确定模块,配置为确定当前节点的位置信息;
    第六确定模块,配置为当所述当前节点的位置信息满足第一条件时,确定所述当前节点的标识为第一标识值;
    第七确定模块,配置为当所述当前节点的位置信息满足第二条件时,确定所述当前节点的标识为第二标识值;
    其中,所述标识指示是否允许使用平面模式对所述当前节点进行编码;所述第一标识值指示允 许使用所述平面模式对所述当前节点进行编码;所述第二标识值指示不允许使用所述平面模式对所述当前节点进行编码。
  20. 一种解码器,所述解码器包括:
    处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至8任一项所述的点云解码方法。
  21. 一种编码器,所述编码器包括:
    处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求9至16任一项所述的点云编码方法。
  22. 一种码流,所述码流是根据待编码信息进行比特编码生成的;其中,待编码信息至少包括:当前节点的标识。
  23. 一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至8任一项所述的点云解码方法或者9至16任一项所述的点云编码方法。
PCT/CN2022/125932 2022-10-18 2022-10-18 编解码方法、编解码器、码流以及计算机存储介质 WO2024082135A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/125932 WO2024082135A1 (zh) 2022-10-18 2022-10-18 编解码方法、编解码器、码流以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/125932 WO2024082135A1 (zh) 2022-10-18 2022-10-18 编解码方法、编解码器、码流以及计算机存储介质

Publications (1)

Publication Number Publication Date
WO2024082135A1 true WO2024082135A1 (zh) 2024-04-25

Family

ID=90736660

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/125932 WO2024082135A1 (zh) 2022-10-18 2022-10-18 编解码方法、编解码器、码流以及计算机存储介质

Country Status (1)

Country Link
WO (1) WO2024082135A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200396489A1 (en) * 2018-01-18 2020-12-17 Blackberry Limited Methods and devices using direct coding in point cloud compression
CN112438049A (zh) * 2020-06-24 2021-03-02 北京小米移动软件有限公司 编码和解码方法、编码器、解码器以及软件
CN113632492A (zh) * 2019-12-06 2021-11-09 深圳市大疆创新科技有限公司 一种用于点云处理、解码的方法、设备及存储介质
WO2022071285A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022070469A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022071282A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022071284A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022126326A1 (zh) * 2020-12-14 2022-06-23 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200396489A1 (en) * 2018-01-18 2020-12-17 Blackberry Limited Methods and devices using direct coding in point cloud compression
CN113632492A (zh) * 2019-12-06 2021-11-09 深圳市大疆创新科技有限公司 一种用于点云处理、解码的方法、设备及存储介质
CN112438049A (zh) * 2020-06-24 2021-03-02 北京小米移动软件有限公司 编码和解码方法、编码器、解码器以及软件
WO2022071285A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022070469A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022071282A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022071284A1 (ja) * 2020-09-29 2022-04-07 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2022126326A1 (zh) * 2020-12-14 2022-06-23 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质

Similar Documents

Publication Publication Date Title
US20230316586A1 (en) Point cloud coding method, encoder and decoder
EP4250726A1 (en) Point cloud data encoding method, point cloud data decoding method, device, medium, and program product
US20240195953A1 (en) Methods for intra prediction, and encoder
EP4258671A1 (en) Point cloud attribute predicting method, encoder, decoder, and storage medium
US20240187645A1 (en) Method and device for intra prediction
US12026920B2 (en) Point cloud encoding and decoding method, encoder and decoder
WO2024082135A1 (zh) 编解码方法、编解码器、码流以及计算机存储介质
TWI806481B (zh) 點雲中鄰居點的選擇方法及裝置、編碼設備、解碼設備及電腦設備
TW202425640A (zh) 編解碼方法、編解碼器、碼流以及電腦儲存媒介
WO2024082127A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024065406A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022170521A1 (zh) 几何重构方法、解码器以及计算机存储介质
WO2022170511A1 (zh) 点云解码方法、解码器及计算机存储介质
WO2024007268A1 (zh) 点云编解码方法、编解码器及计算机存储介质
WO2024082152A1 (zh) 编解码方法及装置、编解码器、码流、设备、存储介质
WO2024103304A1 (zh) 点云编解码方法、编码器、解码器、码流及存储介质
WO2024119518A1 (zh) 编解码方法、解码器、编码器、码流及存储介质
TW202425639A (zh) 編解碼方法、碼流、編碼器、解碼器以及儲存媒介
WO2024148491A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024065408A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023024840A1 (zh) 点云编解码方法、编码器、解码器及存储介质
WO2023201450A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024082153A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
CN116634179A (zh) 点云数据处理方法、装置、电子设备及存储介质

Legal Events

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

Ref document number: 22962329

Country of ref document: EP

Kind code of ref document: A1