Point cloud attribute encoding method, point cloud attribute decoding method, device and electronic equipment

By constructing a transformation tree and selecting a target context model to encode point cloud attribute information, the problem of low run-length encoding efficiency in the existing technology is solved, and efficient encoding of point cloud attribute information is achieved.

CN119815053BActive Publication Date: 2025-10-10VIVO MOBILE COMM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311313292.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-10
Publication Date
2025-10-10
Estimated Expiration
2043-10-10

AI Technical Summary

Technical Problem

In the existing technology, the run-length encoding efficiency of point cloud attribute information is low, resulting in low point cloud encoding efficiency.

Method used

The transformation tree is constructed using geometric reconstruction information based on point clouds. The target context model is selected by determining the transformation coefficients and distribution characteristic values ​​of the nodes to be encoded. The run length and transformation coefficients are encoded to generate an attribute code stream.

Benefits of technology

The coding efficiency of run length is improved, thereby improving the coding efficiency of point cloud attribute information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119815053B_ABST
    Figure CN119815053B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud attribute encoding method, a point cloud attribute decoding method, a device and electronic equipment, and belongs to the technical field of communication. The point cloud attribute encoding method comprises the following steps: in the case that it is determined that the transform coefficient of a to-be-encoded node is not a first value, a first target context model is determined according to the transform coefficient of a first node and a first distribution characteristic value; a to-be-encoded run length is encoded by using the first target context model, and the transform coefficient of the to-be-encoded node is encoded, so that an attribute code stream is obtained; wherein the attribute code stream comprises an encoding result of the run length and an encoding result of the transform coefficient, and the first distribution characteristic value is a distribution characteristic value determined according to attribute information of a node set corresponding to the to-be-encoded node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of communication technology, and specifically relates to a point cloud attribute encoding method, a point cloud attribute decoding method, a device and an electronic device. Background Art

[0002] A point cloud refers to a set of discrete points that are irregularly distributed in space and express the spatial structure and surface properties of a three-dimensional object or three-dimensional scene. Point cloud data is usually composed of geometric information describing the location, such as three-dimensional coordinates (x, y, z), and attribute information of the location, such as color (R, G, B) or reflectivity. In the point cloud coding and compression process, the encoding of geometric information and attribute information is usually performed separately, wherein the encoding process of attribute information includes entropy coding of the transformation coefficients obtained by transforming the attribute information, and run-length coding is a commonly used encoding method for entropy coding of the transformation coefficients. At present, in the process of run-length coding of the attribute information of the point cloud, a unified context model or probability model is used to entropy code the run length to be encoded, which easily leads to low coding efficiency of the run length, and thus low coding efficiency of the attribute information of the point cloud. Summary of the Invention

[0003] The embodiments of the present application provide a point cloud attribute encoding method, a point cloud attribute decoding method, an apparatus, and an electronic device, which can improve the efficiency of run-length encoding, and thereby improve the encoding efficiency of the attribute information of the point cloud.

[0004] In a first aspect, a point cloud attribute encoding method is provided, the method comprising:

[0005] The encoder determines, when determining that the transformation coefficient of the node to be encoded is not the first value, a first target context model based on the transformation coefficient of the first node and the first distribution characteristic value;

[0006] The encoder uses the first target context model to encode the run length to be encoded and encodes the transform coefficient of the node to be encoded to obtain an attribute code stream;

[0007] In which, the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, the second node includes at least one of the node to be encoded and the third node, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded.

[0008] In a second aspect, a point cloud attribute encoding device is provided, the device comprising:

[0009] A first determining module is configured to determine a first target context model according to the transform coefficient of the first node and the first distribution characteristic value when it is determined that the transform coefficient of the node to be encoded is not the first value;

[0010] an encoding module, configured to encode the run length to be encoded using the first target context model, and encode the transform coefficient of the node to be encoded to obtain an attribute code stream;

[0011] In which, the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, the second node includes at least one of the node to be encoded and the third node, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded.

[0012] In a third aspect, a point cloud attribute decoding method is provided, the method comprising:

[0013] The decoding end obtains an attribute code stream of the point cloud, wherein the attribute code stream includes an encoding result of a transformation coefficient and an encoding result of a run length of the point cloud;

[0014] The decoding end determines a second target context model according to the transformation coefficient of the fourth node and the second distribution characteristic value when the transformation coefficient of the node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value;

[0015] The decoding end decodes the run length to be decoded in the encoding result of the run length based on the second target context model;

[0016] In which, the fourth node includes the parent node of the fifth node or the child node of the grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and the sixth node, the sixth node and the node to be decoded are located at the same layer of the second transform tree, the sixth node is located before the node to be decoded and the transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on the geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be decoded.

[0017] In a fourth aspect, a point cloud attribute encoding apparatus is provided, and the apparatus comprises:

[0018] An obtaining module is configured to obtain an attribute code stream of a point cloud, wherein the attribute code stream comprises an encoding result of a transform coefficient of the point cloud and an encoding result of a run length;

[0019] A second determining module is configured to determine a second target context model according to a transform coefficient of a fourth node and a second distribution characteristic value in a case where a transform coefficient of a to-be-decoded node obtained based on the encoding result of the transform coefficient of the point cloud is not a first value;

[0020] A decoding module is configured to decode a to-be-decoded run length in the encoding result of the run length based on the second target context model;

[0021] The fourth node comprises a parent node of a fifth node or a child node of a grandparent node of the fifth node, the fifth node comprises at least one of the to-be-decoded node and a sixth node, the sixth node is located at a same layer as the to-be-decoded node in a second transform tree, the sixth node is located before the to-be-decoded node, and a transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on geometry reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to attribute information of a node set corresponding to the to-be-decoded node.

[0022] In a fifth aspect, an electronic device is provided, which comprises a processor and a memory, the memory stores programs or instructions executable on the processor, and the programs or instructions are executed by the processor to implement the steps of the method according to the first aspect or the steps of the method according to the third aspect.

[0023] According to a sixth aspect, an electronic device is provided, comprising a processor and a communication interface, wherein the processor is configured to, upon determining that a transform coefficient of a node to be encoded is not a first value, determine a first target context model based on the transform coefficient of the first node and a first distribution characteristic value; encode the run length to be encoded using the first target context model, and encode the transform coefficient of the node to be encoded to obtain an attribute code stream; wherein the attribute code stream includes an encoding result of the run length and an encoding result of the transform coefficient, the first node includes a parent node of a second node or a child node of a grandparent node of the second node, the second node includes at least one of the node to be encoded and a third node, the third node and the node to be encoded are located at the same layer of a first transform tree, the third node is located before the node to be encoded and the transform coefficient of the third node is not the first value, the first transform tree is a transform tree constructed based on geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined based on attribute information of a node set corresponding to the node to be encoded;

[0024] or,

[0025] The communication interface is used to obtain an attribute code stream of a point cloud, where the attribute code stream includes an encoding result of a transformation coefficient and an encoding result of a run length of the point cloud; the processor is used to determine a second target context model based on the transformation coefficient of a fourth node and a second distribution characteristic value when, based on the encoding result of the transformation coefficient of the point cloud, the transformation coefficient of the node to be decoded is not a first value; and decode the run length to be decoded in the encoding result of the run length based on the second target context model; wherein the fourth node includes a parent node of a fifth node or a child node of a grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and a sixth node, the sixth node and the node to be decoded are located at the same layer of a second transformation tree, the sixth node is located before the node to be decoded and the transformation coefficient of the sixth node is not the first value, the second transformation tree is a transformation tree constructed based on geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined based on attribute information of a node set corresponding to the node to be decoded.

[0026] In a seventh aspect, an electronic device is provided, comprising: a memory configured to store point cloud data, and a processing circuit configured to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the third aspect.

[0027] In an eighth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the third aspect are implemented.

[0028] In the ninth aspect, a coding and decoding system is provided, comprising: a coding end device and a decoding end device, wherein the coding end device can be used to execute the steps of the method described in the first aspect, and the decoding end device can be used to execute the steps of the method described in the third aspect.

[0029] In the tenth aspect, a chip is provided, which includes a processor and a communication interface, the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the third aspect.

[0030] In the eleventh aspect, a computer program / program product is provided, which is stored in a storage medium and is executed by at least one processor to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the third aspect.

[0031] In an embodiment of the present application, when determining that the transformation coefficient of the node to be encoded is not the first value, the encoding end determines a first target context model based on the transformation coefficient of the first node and the first distribution characteristic value; the encoding end uses the first target context model to encode the run length to be encoded, and encodes the transformation coefficient of the node to be encoded to obtain an attribute code stream; wherein the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, and the second node includes at least one of the node to be encoded and the third node. One item, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded, that is, the embodiment of the present application can select the corresponding context model to encode the run length to be encoded based on the distribution characteristics of the transformation coefficient of the point cloud, which is conducive to improving the run length coding efficiency, and thus can improve the coding efficiency of the attribute information of the point cloud. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 is a schematic diagram of a coding and decoding system provided in an embodiment of the present application;

[0033] Figure 2a This is a coding flow chart of an encoder based on an AVS-PCC coding framework provided in an embodiment of the present application;

[0034] Figure 2bThis is a coding flow chart of an encoder based on an MPEG G-PCC coding framework provided in an embodiment of the present application;

[0035] Figure 3a This is a decoding flow chart of a decoder based on an AVS-PCC decoding framework provided in an embodiment of the present application;

[0036] Figure 3b This is a decoding flow chart of a decoder based on the MPEG G-PCC decoding framework provided in an embodiment of the present application;

[0037] Figure 4a This is a flowchart of encoding performed by an encoder based on another MPEG G-PCC encoding framework provided in an embodiment of the present application;

[0038] Figure 4b This is a decoding flow chart of another decoding framework based on MPEG G-PCC provided in an embodiment of the present application;

[0039] Figure 5 This is a flow chart of entropy encoding of point cloud attributes based on run-length encoding provided by an embodiment of the present application;

[0040] Figure 6 This is a flowchart of a point cloud attribute encoding method provided in an embodiment of the present application;

[0041] Figure 7a This is one of the schematic diagrams of a transformation tree provided in an embodiment of the present application;

[0042] Figure 7b This is a second schematic diagram of a transformation tree provided in an embodiment of the present application;

[0043] Figure 8 This is a flowchart of a point cloud attribute decoding method provided in an embodiment of the present application;

[0044] Figure 9 This is a structural diagram of a point cloud attribute encoding device provided in an embodiment of the present application;

[0045] Figure 10 This is a structural diagram of a point cloud attribute decoding device provided in an embodiment of the present application;

[0046] Figure 11 is a structural diagram of an electronic device provided in an embodiment of the present application;

[0047] Figure 12 This is a structural diagram of the terminal provided in an embodiment of the present application. DETAILED DESCRIPTION

[0048] The following will be combined with the accompanying drawings in the embodiments of this application to clearly describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.

[0049] The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable where appropriate, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same type, and do not limit the number of objects, for example, the first object can be one or more. In addition, "or" in this application represents at least one of the connected objects. For example, "A or B" covers three options, namely, Option 1: including A but not including B; Option 2: including B but not including A; Option 3: including both A and B. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.

[0050] The term "indication" in this application can be either a direct indication (or explicit indication) or an indirect indication (or implicit indication). A direct indication can be understood as the sender explicitly informing the receiver of specific information, the operation to be performed, or the requested result, etc. in the instruction sent; an indirect indication can be understood as the receiver determining the corresponding information based on the instruction sent by the sender, or making a judgment and determining the operation to be performed or the requested result, etc. based on the judgment result.

[0051] Before introducing the technical solutions provided by the embodiments of the present application, the meanings of some of the terms are first introduced.

[0052] Point Cloud: A point cloud is a set of irregularly distributed discrete points in space that represent the spatial structure and surface properties of a 3D object or scene. Point clouds can be categorized into different types based on different classification criteria. For example, based on how the point cloud is acquired, they can be divided into dense point clouds and sparse point clouds. Similarly, based on the temporal nature of the point cloud, they can be divided into static point clouds and dynamic point clouds.

[0053] Point Cloud Data: The geometric coordinate information and attribute information of each point in the point cloud together constitute point cloud data. Among them, geometric coordinate information can also be called three-dimensional position information. The geometric coordinate information of a point in the point cloud refers to the spatial coordinates (x, y, z) of the point, which can include the coordinate values ​​of the point in each coordinate axis direction of the three-dimensional coordinate system, for example, the coordinate value x in the X-axis direction, the coordinate value y in the Y-axis direction, and the coordinate value z in the Z-axis direction. The attribute information of a point in the point cloud may include at least one of the following: color information, material information, laser reflection intensity information (also called reflectivity). Usually, each point in the point cloud has the same amount of attribute information. For example, each point in the point cloud can have two kinds of attribute information: color information and laser reflection intensity. For another example, each point in the point cloud can have three kinds of attribute information: color information, material information, and laser reflection intensity information.

[0054] Point Cloud Compression (PCC): Point cloud coding refers to the process of encoding the geometric coordinate information and attribute information of each point in the point cloud to obtain a compressed code stream. Point cloud coding can include two main processes: geometric coordinate information encoding and attribute information encoding. 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 Standard (AVS).

[0055] Point cloud decoding: Point cloud decoding refers to the process of decoding the compressed bitstream obtained from point cloud encoding to reconstruct the point cloud. Specifically, it refers to the process of reconstructing the geometric coordinate information and attribute information of each point in the point cloud based on the geometric bitstream and attribute bitstream in the compressed bitstream. After obtaining the compressed bitstream at the decoding end, the geometric bitstream is first entropy decoded to obtain the quantized information of each point in the point cloud, and then dequantized to reconstruct the geometric coordinate information of each point in the point cloud. For the attribute bitstream, entropy decoding is first performed to obtain the quantized attribute residual information or quantized transform coefficients of each point in the point cloud. The quantized attribute residual information is then dequantized to obtain the reconstructed residual information, and the quantized transform coefficients are dequantized to obtain the reconstructed transform coefficients. The reconstructed transform coefficients are then inversely transformed to obtain the reconstructed residual information. Based on the reconstructed residual information of each point in the point cloud, the attribute information of each point in the point cloud can be reconstructed. The reconstructed attribute information of each point in the point cloud is sequentially associated with the reconstructed geometric coordinate information to reconstruct the point cloud.

[0056] Figure 1 Schematic diagram of the encoding and decoding system provided in the embodiment of the present application. The technical solution of the embodiment of the present application involves encoding and decoding (CODEC) (including encoding or decoding) of point cloud data.

[0057] like Figure 1 As shown, the codec system 10 includes a source device 100, which provides encoded point cloud data that is decoded and displayed by a destination device 110. Specifically, the source device 100 provides the point cloud data to the destination device 110 via a communication medium 120. The source device 100 and the destination device 110 may include any one or more of a desktop computer, a notebook (i.e., laptop) computer, a tablet computer, a set-top box, a mobile phone, a wearable device (e.g., a smart watch or a wearable camera), a television, a camera, a display device, an in-vehicle device, a virtual reality (VR) device, an augmented reality (AR) device, a mixed reality (MR) device, a digital media player, a video game console, a video conferencing device, a video streaming device, a broadcast receiver device, a broadcast transmitter device, a spacecraft, an aircraft, a robot, a satellite, and the like.

[0058] exist Figure 1 In the example of FIG, the source device 100 includes a data source 101, a memory 102, an encoder 200, and an output interface 104. The destination device 110 includes an input interface 111, a decoder 300, a memory 113, and a display device 114. The source device 100 represents an example of an encoding device, and the destination device 110 represents an example of a decoding device. In other examples, the source device 100 and the destination device 110 may not include Figure 1Some components in, or can also include Figure 1 For example, source device 100 may acquire point cloud data via an external capture device. Similarly, destination device 110 may interface with an external display device rather than including an integrated display device. For another example, memory 102 and memory 113 may be external memories.

[0059] Although Figure 1 Source device 100 and destination device 110 are shown as separate devices, but in some examples, they may be integrated into one device. In such embodiments, the functions corresponding to source device 100 and the functions corresponding to destination device 110 may be implemented using the same hardware or software, or using separate hardware or software, or any combination thereof.

[0060] In some examples, source device 100 and destination device 110 can perform unidirectional data transmission or bidirectional data transmission. If bidirectional data transmission is performed, source device 100 and destination device 110 can operate in a substantially symmetrical manner, that is, each of source device 100 and destination device 110 includes an encoder and a decoder.

[0061] The data source 101 represents the source of point cloud data (i.e., raw, unencoded point cloud data) and provides the point cloud data to the encoder 200, and the encoder 103 encodes the point cloud data. The source device 100 may include a capture device (e.g., a camera device, a sensor device, or a scanning device), an archive of previously captured point cloud data, or a feed interface for receiving point cloud data from a data content provider. Among them, the camera device may include an ordinary camera, a stereo camera, and a light field camera, etc., the sensor device may include a laser device, a radar device, etc., and the scanning device may include a three-dimensional laser scanning device, etc. Point cloud data can be obtained by capturing a real-world visual scene through a capture device. Alternatively, the data source 101 may generate computer graphics-based data as source data, or combine real-time data, archived data, and computer-generated data. For example, the data source generates point cloud data based on a virtual object (e.g., a virtual three-dimensional object and a virtual three-dimensional scene obtained by three-dimensional modeling).

[0062] The encoder 200 encodes captured, pre-captured, or computer-generated data. The encoder 200 can rearrange the point cloud data from the order in which it was received (sometimes referred to as "display order") into an encoding order. The encoder 200 can generate a bitstream comprising the encoded point cloud data. The source device 100 can then output the encoded point cloud data to the communication medium 120 via the output interface 104 for receipt or retrieval by, for example, the input interface 111 of the destination device 110.

[0063] Memory 102 of source device 100 and memory 113 of destination device 110 represent general-purpose memories. In some examples, memory 102 may store raw data from data source 101, and memory 113 may store decoded point cloud data from decoder 300. Additionally or alternatively, memories 102 and 113 may store software instructions executable by, for example, encoder 200 and decoder 300, respectively. Although memory 102 and memory 113 are shown separately from encoder 200 and decoder 300 in this example, it should be understood that encoder 200 and decoder 300 may also include internal memory for functionally similar or equivalent purposes. If encoder 200 and decoder 300 are deployed on the same hardware device, memory 102 and memory 113 may be the same memory. Furthermore, memories 102 and 113 may store, for example, encoded point cloud data output from encoder 200 and input to decoder 300. In some examples, portions of memory 102 , 113 may be allocated as one or more point cloud buffers, eg, for storing raw, decoded, or encoded point cloud data.

[0064] In some examples, source device 100 can output the encoded data from output interface 104 to memory 113. Similarly, destination device 110 can access the encoded data from memory 113 via input interface 111. Memory 113 or storage 102 can include any of a variety of distributed or locally accessed data storage media, such as a hard drive, a Blu-ray disc, a Digital Versatile Disc (DVD), a Compact Disc Read-Only Memory (CD-ROM), flash memory, volatile or non-volatile memory, or any other suitable digital storage medium for storing encoded point cloud data.

[0065] The output interface 104 may include any type of medium or device capable of transmitting the encoded point cloud data from the source device 100 to the destination device 110. For example, the output interface 104 may include a transmitter or transceiver, such as an antenna, configured to transmit the encoded point cloud data directly from the source device 100 to the destination device 110 in real time. The encoded point cloud data may be modulated according to a communication standard of a wireless communication protocol and transmitted to the destination device 110.

[0066] The communication medium 120 may include a transient medium such as a wireless broadcast or a wired network transmission. For example, the communication medium 120 may include a radio frequency (RF) spectrum or one or more physical transmission lines (e.g., cables). The communication medium 120 may form part of a packet-based network such as a local area network, a wide area network, or a global network such as the Internet. The communication medium 120 may also take the form of a storage medium (e.g., a non-transitory storage medium) such as a hard disk, a flash drive, a compact disk, a digital point cloud disk, a Blu-ray disc, a volatile or non-volatile memory, or any other suitable digital storage medium for storing the encoded point cloud data.

[0067] In some embodiments, the communication medium 120 may include a router, a switch, a base station, or any other device that can be used to facilitate communication from the source device 100 to the destination device 110. For example, a server (not shown) can receive the encoded point cloud data from the source device 100 and provide it to the destination device 110, for example, by transmitting it to the destination device 110 via a network. The server may include, for example, a web server (for a website), a server configured to provide a file transfer protocol service (such as the File Transfer Protocol (FTP) or the File Delivery Over Unidirectional Transport (FLUTE) protocol), a content delivery network (CDN) device, a Hypertext Transfer Protocol (HTTP) server, a Multimedia Broadcast Multicast Services (MBMS) or an evolved Multimedia Broadcast Multicast Service (eMBMS) server, or a Network-attached storage (NAS) device, etc. The server can implement one or more HTTP streaming protocols, such as MPEG Media Transport (MMT) protocol, Dynamic Adaptive Streaming over HTTP (DASH) protocol, HTTP Live Streaming (HLS) protocol or Real Time Streaming Protocol (RTSP).

[0068] The destination device 110 can access the encoded point cloud data from the server, for example, via a wireless channel (e.g., a Wi-Fi connection) or a wired connection (e.g., a digital subscriber line (DSL), a cable modem, etc.) for accessing the encoded point cloud data stored on the server.

[0069] The output interface 104 and the input interface 111 may represent wireless transmitters / receivers, modems, wired networking components (e.g., Ethernet cards), wireless communication components operating according to the IEEE 802.11 standard or the IEEE 802.15 standard (e.g., ZigBee™), the Bluetooth standard, or other physical components. In examples where the output interface 104 and the input interface 111 include wireless components, the output interface 104 and the input interface 111 may be configured to communicate data, such as encoded point cloud data, according to WIFI, Ethernet, a cellular network (such as 4G, LTE (Long Term Evolution), LTE-Advanced, 5G, 6G, etc.).

[0070] The technology provided in the embodiments of the present application can be applied to support one or more application scenarios such as: machine perception of point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.; human eye perception of point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive communication, and three-dimensional immersive interaction.

[0071] The input interface 111 of the destination device 110 receives an encoded bitstream from the communication medium 120. The encoded bitstream may include high-level syntax elements and encoded data units (such as sequences, groups of pictures, pictures, slices, blocks, etc.), wherein the high-level syntax elements are used to decode the encoded data units to obtain decoded point cloud data. The display device 114 displays the decoded point cloud data to the user. The display device 114 may include a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, an organic light-emitting diode (OLED) display, or other types of display devices. In some examples, the destination device 110 may not have a display device 114. For example, if the decoded point cloud data is used to determine the position of a physical object, the display device 114 may be replaced by a processor.

[0072] The encoder 200 and the decoder 300 may be implemented as one or more of a variety of processing circuits, which may include a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), discrete logic, hardware, or any combination thereof. When the technology is implemented in whole or in part in software, the device may store instructions for the software in an appropriate non-transitory computer-readable storage medium and use one or more processors to execute the instructions in hardware to perform the technology provided in the embodiments of the present application.

[0073] The following describes the basic principles of the encoder 200 and decoder 300 provided in the embodiments of the present application, taking the G-PCC and AVS-PCC codec frameworks as examples.

[0074] The encoding and decoding frameworks of G-PCC and AVS-PCC are roughly the same. Figure 2a The encoding flow chart of the encoder based on the AVS-PCC encoding framework is shown as follows: Figure 2b The encoding flow chart of the encoder based on the MPEG G-PCC encoding framework is shown. Figure 1 The encoder 200 shown in FIG. The above encoding framework can be generally divided into a geometric coordinate information encoding process and an attribute information encoding process. In the geometric information encoding process, the geometric coordinate information of each point in the point cloud is encoded to obtain a geometric bitstream; in the attribute information encoding process, the attribute information of each point in the point cloud is encoded to obtain an attribute bitstream. The geometric bitstream and the attribute bitstream together constitute the compressed bitstream of the point cloud.

[0075] For the geometric information encoding process, the encoding process performed by the encoder 200 is as follows:

[0076] 1. Pre-processing: This may include coordinate transformation and voxelization. Pre-processing converts point cloud data in three-dimensional space into integer form through scaling and translation operations, and moves its minimum geometric position to the coordinate origin. In some examples, encoder 200 may not perform pre-processing.

[0077] 2. Geometric coding: For the AVS-PCC coding framework, geometric coding includes two modes, namely, octree-based geometric coding and prediction tree-based geometric coding. For the G-PCC coding framework, geometric coding includes three modes, namely, octree-based geometric coding, trisoup-based geometric coding, and prediction tree-based prediction coding. Among them:

[0078] Octree-based geometric coding: An octree is a tree-like data structure that evenly divides a predefined bounding box in three-dimensional space, with each node having eight children. By indicating whether each child node in the octree is occupied with "1" or "0," an occupancy code is generated as the code stream of the point cloud geometry information.

[0079] Geometric coding based on prediction tree: A prediction strategy is used to generate a prediction tree, and each node is traversed from the root node of the prediction tree, and the residual coordinate value corresponding to each traversed node is encoded.

[0080] Triangle-based geometric encoding: Divide the point cloud into blocks of a certain size and locate the intersection points (called vertices) of the point cloud surface at the edges of the blocks. The geometric information is compressed by encoding whether each edge on the block has an intersection and the location of the intersection point.

[0081] 3. Geometry Entropy Encoding: This performs statistical compression encoding on the octtree's occupancy code information, the prediction tree's prediction residual information, and the vertex information of the triangle representation, ultimately outputting a binary (0 or 1) compressed bitstream. Statistical coding is a lossless encoding method that can effectively reduce the bitrate required to express the same signal. A commonly used statistical coding method is context-adaptive binary arithmetic coding (CABAC).

[0082] 4. Geometric reconstruction: Decode and reconstruct the geometric information after geometric encoding.

[0083] For the attribute information encoding process, the encoding process performed by the encoder 200 is as follows:

[0084] 1. Color transformation: Apply a transformation to transform the color information of an attribute to a different domain. For example, the color information can be transformed from the RGB color space to the YCbCr color space.

[0085] 2. Attribute Recoloring: In lossy encoding, after encoding the geometric coordinates, the encoder needs to decode and reconstruct the geometry, restoring the geometry of each point in the point cloud. The attribute information of one or more neighboring points in the original point cloud is searched for and used as the attribute information for the reconstructed point.

[0086] In some examples, encoder 200 may not perform color conversion or attribute recoloring.

[0087] 3. Attribute information processing: In AVS-PCC, attribute information processing can include three modes, namely prediction coding, transform coding, and prediction and transform coding. These three coding modes can be used under different conditions.

[0088] Predictive coding involves determining neighboring points of the point to be coded from among the coded points based on information such as distance or spatial relationships, and then calculating predicted attribute information for the point to be coded based on the attribute information of the predicted points, based on a set criterion. The difference between the actual attribute information of the point to be coded and the predicted attribute information is calculated as the attribute residual information, which is then quantized, transformed (optionally), and entropy coded.

[0089] Transform coding refers to the use of transformation methods such as Discrete Cosine Transform (DCT) and Haar Transform (Haar) to group and transform attribute information and quantize the transform coefficients; through inverse quantization and inverse transformation, attribute reconstruction information is obtained; the difference between the real attribute information and the attribute reconstruction information is calculated to obtain attribute residual information and quantize it; and the quantized transform coefficients and attribute residuals are entropy coded.

[0090] Predictive transform coding refers to using the attribute residual information obtained by prediction to perform transformation, quantize the transform coefficients, and perform entropy coding.

[0091] In MPEG G-PCC, attribute information processing can include three modes, namely Prediction Transform coding, Lifting Transform coding, and Region Adaptive Hierarchical Transform (RAHT) coding. These three coding modes can be used under different conditions.

[0092] Predictive transform coding involves dividing the point cloud into multiple levels of detail (LoDs) by selecting subsets of points based on distance, achieving a multi-level point cloud representation from coarse to fine quality. Adjacent layers can be predicted from the bottom up, whereby neighboring points in the coarse layer predict the attributes of points introduced in the fine layer, obtaining the corresponding attribute residual information. The points in the lowest layer are encoded as reference information.

[0093] Lifting transform coding refers to introducing a weight update strategy for neighborhood points based on the prediction of adjacent layers of LoD, ultimately obtaining the predicted attribute information of each point and the corresponding attribute residual information.

[0094] Region Adaptive Hierarchical Transform Coding means that attribute information is transformed into a transform domain through RAHT transformation, which is called transform coefficient.

[0095] 4. Attribute Quantization: The degree of quantization is usually determined by the quantization parameter. The transform coefficients or attribute residual information obtained by attribute information processing are quantized and entropy coded. For example, in predictive transform coding and lifting transform coding, entropy coding is performed on the quantized attribute residual information; in RAHT, entropy coding is performed on the quantized transform coefficients.

[0096] 5. Entropy Coding: Quantized attribute residual information and / or transform coefficients are typically compressed using run-length coding and arithmetic coding. The corresponding coding mode, quantization parameters, and other information are also encoded using an entropy encoder. Run-length coding can also be referred to as run-length coding or zero-run coding.

[0097] The encoder 200 encodes the geometric coordinate information of each point in the point cloud to obtain a geometry bitstream, and encodes the attribute information of each point in the point cloud to obtain an attribute bitstream. The encoder 200 can transmit the encoded geometry bitstream and attribute bitstream together to the decoder 300.

[0098] Figure 3a The decoding flow chart of the decoder based on the AVS-PCC decoding framework is shown as follows: Figure 3b The decoding flow chart of the decoder based on the decoding framework of MPEG G-PCC is shown. The above decoder can be Figure 1Decoder 300 shown. After receiving the compressed code stream (i.e., attribute bit stream and geometry bit stream) transmitted by encoder 200, decoder 300 decodes the geometry bit stream to reconstruct the geometric coordinate information of each point in the point cloud, and decodes the attribute bit stream to reconstruct the attribute information of each point in the point cloud.

[0099] The decoding process performed by the decoder 300 is as follows:

[0100] 1. Entropy Decoding: Entropy decoding is performed on the geometry bitstream and attribute bitstream respectively to obtain geometry syntax elements and attribute syntax elements.

[0101] 2. Geometric decoding: For the AVS-PCC coding framework, geometric decoding includes two modes: octree-based geometric decoding and prediction tree-based geometric decoding. For the G-PCC coding framework, geometric coding includes three modes: octree-based geometric decoding, trisoup-based geometric decoding, and prediction tree-based prediction decoding.

[0102] Octree-based geometry decoding: Reconstructs the octree based on the geometry syntax elements parsed from the geometry bitstream.

[0103] Prediction tree-based geometry decoding: The prediction tree is reconstructed based on the geometry syntax elements parsed from the geometry bitstream.

[0104] Geometry decoding based on triangle representation: reconstructs the triangle model based on the geometry syntax elements parsed from the geometry bitstream.

[0105] 3. Geometric reconstruction: Perform reconstruction to obtain the geometric coordinate information of the points in the point cloud.

[0106] 4. Coordinate inverse transformation: Perform inverse transformation on the reconstructed geometric coordinate information to convert the reconstructed coordinates (positions) of the points in the point cloud from the transformed domain back to the initial domain.

[0107] 5. Dequantization: Dequantize the attribute syntax elements.

[0108] 6. Attribute information processing: In AVS-PCC, attribute information processing determines the color information of the midpoint in the point cloud by predicting or transforming the inverse quantized prediction residual or prediction residual transformation coefficient, or by transforming the inverse quantized transformation coefficient to determine the color information of the midpoint in the point cloud.

[0109] In MPEG G-PCC, attribute information processing determines the color information of the point in the point cloud by RAHT on the inverse quantized attribute information, or determines the color information of the point in the point cloud by LOD and inverse lifting on the inverse quantized attribute information.

[0110] 7. Color inversion: Convert the color information from the YCbCr color space to the RGB color space. In some examples, the color inversion operation may not be performed.

[0111] Figure 3a The decoding flow chart of the decoder based on the AVS-PCC decoding framework is shown as follows: Figure 3b A flowchart showing the decoding performed by a decoder based on the MPEG G-PCC decoding framework

[0112] For ease of understanding, some of the contents involved in the embodiments of this application are described below:

[0113] 1. G-PCC encoder

[0114] In the G-PCC coding framework, the geometric information and attribute information of the point cloud are encoded separately. For example, Figure 4a As shown in , the current G-PCC-based point cloud attribute coding can be divided into regional adaptive hierarchical transformation based on upsampling prediction and lifting transformation based on hierarchical structure division. Accordingly, the decoding process of the G-PCC-based decoding framework can be as follows: Figure 4b shown.

[0115] The region adaptive hierarchical transform based on the up-sampling prediction includes: first, constructing a transform tree structure. Starting from the bottom layer, an octree structure is constructed from bottom to top. In the process of constructing the transform tree, the corresponding Morton code information, attribute information and weight information need to be generated for the merged nodes. Then, up-sampling prediction and RAHT are performed from the root node layer by layer from top to bottom. If the current node is the root node, no up-sampling prediction is performed, and RAHT transform is directly performed on the attribute information of the node, and then the direct current (DC) coefficient and alternating current (AC) coefficient obtained by the transform are quantized and entropy encoded. If it is not the root node, it is judged whether the current node needs to be predicted according to the number of the grandparent node and the parent node of the current node. For example, the current node is predicted in the case that the number of the neighbor nodes of the grandparent node of the current node is greater than a first threshold and the number of the neighbor nodes of the parent node of the current node is greater than a second threshold, otherwise the current node is not predicted. If prediction is needed, the parent node of the current to-be-encoded node, the neighbor parent node coplanar and collinear with the current to-be-encoded node and the neighbor child node coplanar and collinear with the current to-be-encoded node are selected for the child nodes of the current to-be-encoded node for weighted prediction to obtain the predicted attribute value of the current to-be-encoded node. Then, the predicted attribute value and the original attribute value of the current to-be-encoded node are respectively subjected to RAHT transform, the alternating current (AC) coefficient residual is calculated, and the AC coefficient residual is quantized and entropy encoded. If prediction is not needed, the original attribute value of the current to-be-encoded node is directly subjected to RAHT transform, the obtained AC coefficient is quantized and entropy encoded, and finally the attribute code stream is obtained

[0116] The lifting transformation based on hierarchical structure division involves: first, dividing the point cloud to be encoded into layers using level of detail (LoD) division to establish a hierarchical structure of the point cloud. During this process, the bottom-level points are encoded and decoded first. Therefore, the bottom-level points and reconstructed points at the same level can be used to predict the points at the higher levels, thus achieving progressive encoding and decoding. Then, using the bottom-level points and the points at the same level as reference points, the point to be encoded is searched within the reference points. The K nearest reference points are selected as prediction reference points. Linear interpolation prediction is performed using the reconstructed attribute values ​​of these K nearest neighbors, with the weight being the inverse of the Euclidean distance between the nearest neighbor and the point to be encoded. Finally, the lifting transformation is performed, which consists of three parts: segmentation, prediction, and update. The segmentation stage spatially segments the input point cloud data into a high-level point cloud and a low-level point cloud. In the prediction stage, the attribute information of the low-level point cloud is used to predict the attribute information of the high-level point cloud, resulting in a prediction residual. During the segmentation and prediction process, since the prediction strategy in LoD partitioning makes the points in the lower LoD layer have higher weights, it is necessary to define and recursively update the influence weight of each point based on the prediction residual and the distance between the predicted point and its neighbors, and finally obtain the code stream of attribute information.

[0117] 2. RAHT Attribute Entropy Coding

[0118] Currently, G-PCC attribute information entropy coding adopts run-length coding. Taking color information as an example, Figure 5 As shown in the figure, when the transform coefficients of all nodes of the point cloud are input, all transform coefficients are traversed. First, it is determined whether the YUV or RGB components are all 0. If they are all 0, the run length value is increased by 1. If not, the next set of transform coefficients is determined. If not, the current length value is entropy encoded, and the length value is set to 0. Then, the current YUV transform coefficient value is entropy encoded. The above run-length encoding can also be called zero run encoding.

[0119] 3. Zero-run encoding

[0120] For example, taking color information as an example, zero-run encoding may include: first, determining whether the YUV or RGB components are all 0, if all are 0, then length++; if not all are 0, then encoding the run length (length), and then encoding the YUV or RGB values ​​respectively. The specific process of encoding the length value can be as follows:

[0121] Use probability model -1: Determine whether the length value is 0. If it is 0, encode a 0 and end the current encoding; if it is not 0, encode a 1 and continue the following judgment;

[0122] Use probability model-2: Determine whether the length value is 1. If it is 1, encode a 0 and end the current encoding; if it is not 1, encode a 1 and continue the following judgment;

[0123] Use probability model-3: Determine whether the length value is 2. If it is 2, encode a 0 and end the current encoding; if it is not 2, encode a 1 and continue the following judgment;

[0124] Update the length value: length - = 3;

[0125] Divide the length value by 2, that is, prefix = length / 2;

[0126] Use probability model-4: encode the prefix into a unary code, encoding up to 4 bits:

[0127] Determine whether the prefix value is 0. If it is 0, encode a 0 (using probability model -4) and use bypass encoding to encode the remainder of length%2; if it is not 0, encode a 1 and continue with the following judgment;

[0128] Determine whether the prefix value is 1. If it is 1, encode a 0 (using probability model -4) and use bypass encoding to encode the remainder of length%2; if it is not 1, encode a 1 and continue with the following judgment;

[0129] Determine whether the prefix value is 2. If it is 2, encode a 0 (using probability model -4) and use bypass encoding to encode the remainder of length%2; if it is not 2, encode a 1 and continue with the following judgment;

[0130] Determine whether the prefix value is 3. If it is 3, encode a 0 (using probability model -4) and use bypass encoding to encode the remainder of length%2; if it is not 3, encode a 1 and end this encoding;

[0131] Update the length value: length - = 8;

[0132] Use Probabilistic Model-5: Use second-order exponential Golomb encoding for the length value.

[0133] It should be noted that the above probability model can also be called a context model.

[0134] The following describes the point cloud attribute encoding method and point cloud attribute decoding method provided by the embodiment of the present application in conjunction with the accompanying drawings. The point cloud attribute encoding method provided by the embodiment of the present application can be executed by the encoding end, for example Figure 1The encoder 200 shown. The point cloud attribute decoding method provided in the embodiment of the present application can be executed by the decoding end, for example Figure 1 The decoder 300. The encoding end and the decoding end can be implemented by software, hardware or a combination thereof. When implemented by hardware, the encoding end can be referred to as an encoding end device or a point cloud attribute encoding device, and the decoding end can be referred to as a decoding end device or a point cloud attribute decoding device.

[0135] See Figure 6 , Figure 6 This is a flowchart of a point cloud attribute encoding method provided by an embodiment of the present application. The method can be executed by the encoding end, such as Figure 6 As shown, the following steps are included:

[0136] Step 601: When determining that a transform coefficient of a node to be encoded is not a first value, the encoder determines a first target context model according to the transform coefficient of the first node and a first distribution characteristic value.

[0137] Step 602: The encoder uses the first target context model to encode the run length to be encoded and encodes the transform coefficient of the node to be encoded to obtain an attribute code stream;

[0138] In which, the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, the second node includes at least one of the node to be encoded and the third node, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded.

[0139] In this embodiment, the node to be encoded may be any node in the first transform tree. The first value may be reasonably set according to actual needs, for example, the first value may be 0.

[0140] The above-mentioned first node may include the parent node of the second node or the child node of the grandparent node of the second node. For example, the above-mentioned first node may be the parent node of the third node, or the above-mentioned first node may include all the child nodes of the grandparent node of the third node, or the above-mentioned first node may be the parent node of the node to be encoded, or the above-mentioned first node may include all the child nodes of the grandparent node of the node to be encoded, or the above-mentioned first node may include the parent node of the third node and the parent node of the node to be encoded, etc.

[0141] The above-mentioned third node is a node located in the same layer as the node to be encoded, located before the node to be encoded and whose transformation coefficient is not the first value. Exemplarily, the above-mentioned node located before the node to be encoded can be understood as a node arranged before the node to be encoded, or a node whose traversal order is earlier than the traversal order of the node to be encoded, etc.

[0142] The above-mentioned first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, wherein the geometric reconstruction information of the above-mentioned point cloud is the information obtained by decoding and reconstructing the geometric information after geometric encoding. The encoding, decoding, reconstruction of the geometric information and the construction of the transformation tree based on the geometric reconstruction information can be referred to the above-mentioned relevant instructions and will not be repeated here.

[0143] Exemplarily, the point cloud can be reordered, for example, the point cloud can be sorted according to the Morton code of each node of the point cloud, and a K-layer RAHT transform tree can be constructed using a bottom-up construction method, wherein the bottom layer of the RAHT transform tree contains all the nodes of the point cloud, the top layer of the RAHT transform tree is the root node layer, which contains only one node, and K is a positive integer greater than 1.

[0144] The transform coefficients of each node of the above-mentioned first transform tree are respectively obtained by the preset transform of the attribute information of each node, wherein the above-mentioned preset transform may include RAHT transform, Haar transform or DCT transform, etc. The transform coefficients of the above-mentioned nodes may include AC transform coefficients or AC residual transform coefficients, etc. It should be noted that the calculation method of the AC transform coefficients or AC residual transform coefficients can refer to the above-mentioned relevant instructions and will not be repeated here. In some examples, the transform coefficients of the above-mentioned nodes may be quantized transform coefficients.

[0145] For example, taking the RAHT transform as an example, based on the above-mentioned first transform tree, upsampling prediction and RAHT transform can be performed on each node layer by layer starting from the root node. For each node, it is determined whether the node needs to be predicted. If no prediction is performed, the original attribute value of the node is directly RAHT transformed to obtain the AC transform coefficient. If prediction is performed, the original attribute value and the predicted attribute value of the node are RAHT transformed respectively, and the AC transform coefficient of the original attribute value and the AC transform coefficient of the predicted attribute value are subtracted to obtain the AC residual transform coefficient, and the transform coefficients and residual transform coefficients of all points are quantized.

[0146] It is understandable that for a node block containing 2*2*2 child nodes, multiple transform coefficients will be obtained after transformation. In some examples, the transform coefficients of each node at each layer of the first transform tree can be stored, for example, AC transform coefficients or residual transform coefficients, and the index position of the parent node of each node at its corresponding layer is stored to serve as the context for encoding the run length.

[0147] The first distribution characteristic value is a distribution characteristic value determined based on attribute information of a node set corresponding to the node to be encoded, wherein the node set corresponding to the node to be encoded may be a point cloud or a subset of a point cloud, for example, a point cloud slice. The attribute information of the node set may be understood as attribute information of each node in the node set.

[0148] It can be understood that, when the node set is a point cloud, all nodes of the point cloud correspond to the same node set, and all nodes of the point cloud have the same distribution characteristic values.

[0149] Exemplarily, the first distribution characteristic value may be the variance value or standard deviation value of the attribute information of the node set corresponding to the node to be encoded, or the first distribution characteristic value may be the difference between the maximum value and the minimum value of the attribute information of the node set corresponding to the node to be encoded, or the first distribution characteristic value may be the average value of the absolute value of the attribute information of the node set corresponding to the node to be encoded, etc.

[0150] It should be noted that when the encoder uses run-length coding to encode the transform coefficients of cloud points, the run length (runlength) is related to the distribution characteristics of the transform coefficients. When some areas of the point cloud are relatively uneven, the transform coefficients in that area will vary greatly, and the transform coefficients of its corresponding child nodes will also be correspondingly large, so the run length is mostly 0. When some areas of the point cloud are relatively flat, the transform coefficients in that area will vary less, and the transform coefficients of its corresponding child nodes will also be correspondingly small, so the run length is mostly non-0. Therefore, the embodiments of the present application use different context models to encode the run length according to different situations, which is conducive to reducing the bit rate and improving coding efficiency.

[0151] Exemplarily, the context model may be a context-based adaptive binary arithmetic coding (CABAC) coding model. The first target context model may include at least one context model, for example, the first target context model includes five context models.

[0152] Exemplarily, in the process of encoding the transformation coefficients of cloud points using run-length coding, when the encoding end determines that the transformation coefficient of the node to be encoded is not the first value, it indicates that the run length needs to be encoded at present. In this case, the corresponding context model (i.e., the first target context model) can be selected according to the transformation coefficient of the first node and the first distribution characteristic value to encode the run length to obtain the encoding result of the run length, and the transformation coefficient of the node to be encoded is encoded to obtain the encoding result of the transformation coefficient, wherein the attribute code stream of the above-mentioned point cloud includes the encoding result of the run length and the encoding result of the transformation coefficient.

[0153] It should be noted that after encoding the run length to be encoded, the run length can be set to a first value, for example, 0, and the transformation coefficient of the next node can be determined. If the transformation coefficient of the node to be encoded is the first value, the run length value can be increased by 1, and the transformation coefficient of the next node can be determined.

[0154] The cloud point attribute encoding method provided in the embodiment of the present application is that the encoding end determines the first target context model based on the transformation coefficient of the first node and the first distribution characteristic value when determining that the transformation coefficient of the node to be encoded is not the first value; the encoding end uses the first target context model to encode the run length to be encoded, and encodes the transformation coefficient of the node to be encoded to obtain an attribute code stream, that is, the embodiment of the present application can select the corresponding context model to encode the run length to be encoded based on the distribution characteristics of the transformation coefficient of the point cloud, which is conducive to improving the run length encoding efficiency, and thus can improve the encoding efficiency of the attribute information of the point cloud.

[0155] Optionally, when determining that the transformation coefficient of the node to be encoded is not the first value, the encoder determines the first target context model according to the transformation coefficient of the first node and the first distribution characteristic value, including:

[0156] The encoder determines, when determining that the transform coefficient of the node to be encoded is not the first value, that the first target context model is the first context model if the second distribution characteristic value is greater than or equal to a first threshold;

[0157] or,

[0158] The encoder determines, when determining that the transform coefficient of the node to be encoded is not the first value, that the first target context model is the second context model if the second distribution characteristic value is less than a first threshold;

[0159] The second distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the first node, and the first threshold is a threshold determined according to the first distribution characteristic value.

[0160] In this embodiment, the first context model may include at least one context model, and the second context model may include at least one context model. The model structure of the first context model and the model structure of the second context model may be the same or different.

[0161] The above-mentioned second distribution characteristic value is a distribution characteristic value determined based on the transformation coefficient of the first node. For example, when the transformation coefficient of the above-mentioned first node only includes one transformation coefficient, the above-mentioned second distribution characteristic value may be the transformation coefficient of the above-mentioned first node; when the transformation coefficient of the above-mentioned first node includes multiple transformation coefficients, the above-mentioned second distribution characteristic value may be a value determined based on multiple transformation coefficients, for example, it may be the average value of the above-mentioned multiple transformation coefficients, or the variance value or standard deviation value of the above-mentioned multiple transformation coefficients, or the difference between the maximum value and the minimum value among the above-mentioned multiple transformation coefficients, etc.

[0162] The above-mentioned first threshold is a threshold determined according to the first distribution characteristic value. For example, the above-mentioned first threshold can be equal to the above-mentioned first distribution characteristic value, or the above-mentioned first threshold can be equal to the ratio of the above-mentioned first distribution characteristic value to the attribute quantization step (AttrQuantStep), wherein the above-mentioned attribute quantization step can be a preconfigured value.

[0163] For example, when it is determined that the run length needs to be encoded, that is, when it is determined that the transform coefficient of the node to be encoded is not the first value, if the second distribution characteristic value is greater than or equal to the first threshold, it means that the area represented by the first node is relatively uneven, and the transform coefficients of its child nodes are mostly not the first value, for example, not 0. In this case, the run length to be encoded is likely to be 0, and the first context model can be used to encode the run length to be encoded; if the second distribution characteristic value is less than the first threshold, it means that the area represented by the first node is relatively flat, and the transform coefficients of its child nodes are mostly the first value, for example, 0. In this case, the run length to be encoded is likely not 0, and the second context model can be used to encode the run length to be encoded. By using different context models to encode run lengths with a value of 0 and run lengths with a value not 0, this helps reduce the number of bits required for run length encoding, thereby improving the efficiency of run length encoding.

[0164] Optionally, the first node is a parent node of the third node, and the second distribution characteristic value is a transformation coefficient of the parent node of the third node;

[0165] or,

[0166] The first node includes all child nodes of the grandparent node of the third node, and the second distribution characteristic value is a value determined according to transformation coefficients of all child nodes of the grandparent node of the third node.

[0167] In one embodiment, the first node is the parent node of the third node, and the second distribution characteristic value is the transformation coefficient of the parent node of the third node, for example, Figure 7a As shown, if the node whose previous transformation coefficient of the node 11 to be encoded is not the first value is the third node 12, the transformation coefficient of the parent node 13 of the third node 12 can be used as the context to encode the run length to be encoded, that is, the transformation coefficient of the parent node 13 of the third node 12 is compared with the first threshold, and the context model for encoding the run length to be encoded is determined according to the comparison result, so as to use the context model to encode the run length to be encoded.

[0168] In some examples, each node of the first transform tree may store the index of its parent node, so that the parent node can be quickly determined based on the index of the parent node, and the transform coefficient of the parent node can be obtained.

[0169] In another embodiment, the first node includes all child nodes of the grandparent node of the third node, and the second distribution characteristic value is a value determined according to the transformation coefficients of all child nodes of the grandparent node of the third node, for example, Figure 7b As shown, if the node whose previous transformation coefficient of the node 11 to be encoded is not the first value is the third node 12, the transformation coefficients of all child nodes of the grandparent node 14 of the third node 12 can be used as context to encode the run length to be encoded, that is, the second distribution characteristic value determined based on the transformation coefficients of all child nodes of the grandparent node 14 of the third node 12 is compared with the first threshold, and the context model for encoding the run length to be encoded is determined according to the comparison result, so as to encode the run length to be encoded using the context model.

[0170] It should be noted that the above Figure 7a or Figure 7b The figure shows a simplified RAHT transformation tree structure. Each node in the figure contains up to 8 child nodes. The solid line points are actually occupied nodes, and the dotted line points are non-existent nodes.

[0171] Optionally, the second distribution characteristic value is a difference between a maximum value and a minimum value of transformation coefficients of all child nodes of the grandparent node of the third node.

[0172] In this embodiment, the second distribution characteristic value can be calculated based on the following formula:

[0173] disCoeffi=Coeffi_max-Coeffi_min

[0174] Wherein, disCoeffi represents the second distribution characteristic value, Coeffi_max represents the maximum value among the transformation coefficients of all child nodes of the grandparent node of the third node, and Coeffi_min represents the minimum value among the transformation coefficients of all child nodes of the grandparent node of the third node.

[0175] Optionally, the first context model includes M context models; or, the second context model includes N context models;

[0176] Wherein, M and N are both integers greater than 1.

[0177] In some optional embodiments, both M and N are equal to 5. For example, the first context model may include context model-1 to context model-5, and the second context model may include context model-6 to context model-10. Exemplarily, the implementation method of encoding the run length using the context model-1 to context model-5 can refer to the aforementioned description of encoding the run length using the probability model-1 to probability model-5; the implementation method of encoding the run length using the context model-6 to context model-10 can also refer to the aforementioned description of encoding the run length using the probability model-1 to probability model-5, which will not be repeated here.

[0178] Optionally, the node set corresponding to the node to be encoded is the point cloud to which the node to be encoded belongs or the point cloud slice to which the node to be encoded belongs.

[0179] Optionally, the first distribution characteristic value is related to a difference between a maximum attribute value and a minimum attribute value in attribute information of the node set;

[0180] or,

[0181] The first distribution characteristic value is related to an average value of absolute values ​​of attribute information of the node set.

[0182] Exemplarily, the first distribution characteristic value may be the difference between the maximum attribute value and the minimum attribute value in the attribute information of the node set, or the first distribution characteristic value may be the ratio of the difference between the maximum attribute value and the minimum attribute value in the attribute information of the node set to the attribute quantization step (AttrQuantStep).

[0183] Optionally, the third node is a node whose previous transformation coefficient of the node to be encoded is not the first value.

[0184] The node whose previous transformation coefficient is not the first value of the above-mentioned node to be encoded can be understood as, for example, the node that is closest to the node to be encoded among the nodes that are arranged before the node to be encoded and whose transformation coefficient is not the first value, or can be understood as the node that is closest to the traversal order of the node to be encoded among the nodes that are arranged before the traversal order of the node to be encoded and whose transformation coefficient is not the first value, etc.

[0185] Optionally, the attribute code stream further includes an encoding result of a parameter set, where the parameter set includes a first parameter value, and the first parameter value includes the first distribution characteristic value or a threshold determined according to the first distribution characteristic value.

[0186] Exemplarily, the parameter set may be an attribute parameter set (APS) or an attribute block header (ABH).

[0187] Specifically, when the decoding end obtains the above-mentioned attribute code stream, it can decode the encoding result based on the parameter set to obtain the parameter set, and then can decode the encoding result of the run length of the attribute code stream based on the first parameter value in the parameter set.

[0188] This embodiment carries the first parameter value in the attribute code stream, so that the decoding end can quickly obtain the first parameter value and decode the encoding result of the run length of the attribute code stream based on the first parameter value.

[0189] See Figure 8 , Figure 8 This is a flowchart of a point cloud attribute encoding method provided by an embodiment of the present application. This method can be executed by a decoding end, such as Figure 8 As shown, the following steps are included:

[0190] Step 801: The decoding end obtains an attribute code stream of the point cloud, where the attribute code stream includes an encoding result of the transformation coefficient and the run length of the point cloud;

[0191] Step 802: When the decoding end obtains a transformation coefficient of a node to be decoded based on the encoding result of the transformation coefficient of the point cloud and the transformation coefficient is not the first value, the decoding end determines a second target context model according to the transformation coefficient of the fourth node and the second distribution characteristic value.

[0192] Step 803: The decoding end decodes the run length to be decoded in the run length encoding result based on the second target context model;

[0193] In which, the fourth node includes the parent node of the fifth node or the child node of the grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and the sixth node, the sixth node and the node to be decoded are located at the same layer of the second transform tree, the sixth node is located before the node to be decoded and the transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on the geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be decoded.

[0194] In this embodiment, the node to be decoded may be any node in the second transform tree. The first value may be reasonably set according to actual needs, for example, the first value may be 0.

[0195] The above-mentioned fourth node may include the parent node of the fifth node or the child node of the grandparent node of the fifth node. For example, the above-mentioned fourth node may be the parent node of the sixth node, or the above-mentioned fourth node may include all the child nodes of the grandparent node of the sixth node, or the above-mentioned fourth node may be the parent node of the node to be decoded, or the above-mentioned fourth node may include all the child nodes of the grandparent node of the node to be decoded, or the above-mentioned fourth node may include the parent node of the sixth node and the parent node of the node to be decoded, etc.

[0196] The above-mentioned sixth node is a node located in the same layer as the node to be decoded, located before the node to be decoded, and whose transformation coefficient is not the first value. Exemplarily, the above-mentioned node located before the node to be decoded can be understood as a node arranged before the node to be decoded, or a node whose traversal order is earlier than the traversal order of the node to be decoded, etc.

[0197] The second transform tree is constructed based on the geometric reconstruction information of the point cloud. The geometric reconstruction information of the point cloud is information obtained by decoding and reconstructing the geometric information after geometric coding. The decoding and reconstruction of the geometric information, as well as the construction of the transform tree based on the geometric reconstruction information, can be found in the aforementioned related descriptions and are not further elaborated here. It is understood that the decoding end also obtains the geometric code stream of the point cloud, which includes the geometric information after geometric coding. The decoding end can then decode and reconstruct the geometric information after geometric coding to obtain the geometric reconstruction information.

[0198] The second distribution characteristic value is a distribution characteristic value determined based on the attribute information of the node set corresponding to the node to be decoded, wherein the node set corresponding to the node to be decoded may be a point cloud or a subset of a point cloud, for example, a point cloud slice. The attribute information of the node set may be understood as the attribute information of each node in the node set.

[0199] It can be understood that, when the node set is a point cloud, all nodes of the point cloud correspond to the same node set, and all nodes of the point cloud have the same distribution characteristic values.

[0200] Exemplarily, the second distribution characteristic value may be a variance value or a standard deviation value of the attribute information of the node set corresponding to the node to be decoded, or the second distribution characteristic value may be a difference between a maximum value and a minimum value of the attribute information of the node set corresponding to the node to be decoded, or the second distribution characteristic value may be an average value of the absolute values ​​of the attribute information of the node set corresponding to the node to be decoded, etc. In some examples, the encoder may send the second distribution characteristic value to the decoder.

[0201] The second target context model may include at least one context model. For example, the second target context model includes five context models. Exemplarily, the context model may be a CABAC coding model.

[0202] It can be understood that when the above-mentioned node to be encoded and the above-mentioned node to be decoded are the same node of the point cloud, the above-mentioned second distribution characteristic value and the above-mentioned first distribution characteristic value are the same distribution characteristic value, the above-mentioned fourth node and the above-mentioned first node can be the same node, the above-mentioned fifth node and the above-mentioned second node can be the same node, and the above-mentioned sixth node and the above-mentioned third node can be the same node.

[0203] Exemplarily, the decoding end can decode and reconstruct the obtained geometric code stream to obtain geometric reconstruction information, construct a second transform tree based on the geometric reconstruction information, and decode the attribute code stream based on the second transform tree to obtain transform coefficients, and store them in corresponding nodes. For example, when a transform coefficient obtained by decoding the encoding result of the transform coefficient based on the point cloud is not the first value, the decoding end can select the corresponding context model (i.e., the second target context model) based on the transform coefficient of the fourth node and the second distribution characteristic value, and decode the run length to be decoded based on the selected context model, and then assign the transform coefficients of the P nodes before the node to be decoded to the first value based on the decoded run length P, where the above-mentioned node to be decoded is the node corresponding to the transform coefficient currently decoded.

[0204] Optionally, when the decoding end obtains that the transformation coefficient of the node to be decoded based on the encoding result of the transformation coefficient of the point cloud is not the first value, determining the second target context model according to the transformation coefficient of the fourth node and the second distribution characteristic value includes:

[0205] The decoding end determines, when a transformation coefficient of a node to be decoded is obtained by decoding the encoding result of the transformation coefficient of the point cloud and is not the first value, that the second target context model is the third context model if the fourth distribution characteristic value is greater than or equal to the second threshold;

[0206] or,

[0207] The decoding end determines, when a transformation coefficient of a node to be decoded is obtained by decoding the encoding result of the transformation coefficient of the point cloud and is not the first value, that the second target context model is a fourth context model if the fourth distribution characteristic value is less than a second threshold;

[0208] The fourth distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the fourth node, and the second threshold is a threshold determined according to the second distribution characteristic value.

[0209] In this embodiment, the third context model may include at least one context model, and the fourth context model may include at least one context model. The model structure of the third context model and the model structure of the fourth context model may be the same or different.

[0210] It should be noted that the third context model corresponds to the first context model, and the fourth context model corresponds to the second context model. In some examples, the third context model is the same as the first context model, and the fourth context model is the same as the second context model.

[0211] The above-mentioned fourth distribution characteristic value is a distribution characteristic value determined based on the transformation coefficient of the first node. For example, when the transformation coefficient of the above-mentioned fourth node only includes one transformation coefficient, the above-mentioned fourth distribution characteristic value may be the transformation coefficient of the above-mentioned fourth node; when the transformation coefficient of the above-mentioned fourth node includes multiple transformation coefficients, the above-mentioned fourth distribution characteristic value may be a value determined based on multiple transformation coefficients, for example, it may be the average value of the above-mentioned multiple transformation coefficients, or the variance value or standard deviation value of the above-mentioned multiple transformation coefficients, or the difference between the maximum value and the minimum value among the above-mentioned multiple transformation coefficients, etc.

[0212] The above-mentioned second threshold is a threshold determined according to the second distribution characteristic value. For example, the above-mentioned second threshold can be equal to the above-mentioned second distribution characteristic value, or the above-mentioned second threshold can be equal to the ratio of the above-mentioned second distribution characteristic value to the attribute quantization step (AttrQuantStep), wherein the above-mentioned attribute quantization step can be a preconfigured value.

[0213] Optionally, the fourth node is a parent node of the fifth node, and the fourth distribution characteristic value is a transformation coefficient of the parent node of the fifth node;

[0214] or,

[0215] The fourth node includes all child nodes of the grandparent node of the fifth node, and the fourth distribution characteristic value is a value determined according to the transformation coefficients of all child nodes of the grandparent node of the fifth node.

[0216] Optionally, the fourth distribution characteristic value is a difference between a maximum value and a minimum value of transformation coefficients of all child nodes of the grandparent node of the fifth node.

[0217] Optionally, the third context model includes M context models; or, the fourth context model includes N context models;

[0218] Wherein, M and N are both integers greater than 1.

[0219] Optionally, the node set corresponding to the node to be decoded is the point cloud to which the node to be decoded belongs or the point cloud slice to which the node to be decoded belongs.

[0220] Optionally, the second distribution characteristic value is related to a difference between a maximum attribute value and a minimum attribute value in the attribute information of the node set;

[0221] or,

[0222] The second distribution characteristic value is related to an average value of absolute values ​​of attribute information of the node set.

[0223] Optionally, the sixth node is a node whose previous transformation coefficient of the node to be decoded is not the first value.

[0224] Optionally, the attribute code stream further includes a decoding result of a parameter set, where the parameter set includes a second parameter value, and the second parameter value includes the second distribution characteristic value or a threshold determined according to the second distribution characteristic value.

[0225] It should be noted that the implementation of this embodiment can be found in Figure 6 The relevant description of the illustrated embodiment is omitted here.

[0226] It should be noted that the point cloud attribute encoding method provided in the embodiments of the present application can be executed by a point cloud attribute encoding device, or by a control module within the point cloud attribute encoding device that is used to execute the point cloud attribute encoding method. In the embodiments of the present application, the point cloud attribute encoding device provided in the embodiments of the present application is described by taking the point cloud attribute encoding device executing the point cloud attribute encoding method as an example.

[0227] See Figure 9 , Figure 9 This is a structural diagram of a point cloud attribute encoding device provided in an embodiment of the present application. Figure 9 As shown, the point cloud attribute encoding device 900 includes:

[0228] A first determining module 901 is configured to determine a first target context model according to the transform coefficient of the first node and a first distribution characteristic value when it is determined that the transform coefficient of the node to be encoded is not the first value;

[0229] An encoding module 902 is configured to encode the run length to be encoded using the first target context model and encode the transform coefficient of the node to be encoded to obtain an attribute code stream;

[0230] In which, the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, the second node includes at least one of the node to be encoded and the third node, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded.

[0231] Optionally, the first determining module is specifically configured to:

[0232] When it is determined that the transformation coefficient of the node to be encoded is not the first value, if the second distribution characteristic value is greater than or equal to the first threshold, determining that the first target context model is the first context model;

[0233] or,

[0234] When it is determined that the transformation coefficient of the node to be encoded is not the first value, if the second distribution characteristic value is less than a first threshold, determining that the first target context model is the second context model;

[0235] The second distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the first node, and the first threshold is a threshold determined according to the first distribution characteristic value.

[0236] Optionally, the first node is a parent node of the third node, and the second distribution characteristic value is a transformation coefficient of the parent node of the third node;

[0237] or,

[0238] The first node includes all child nodes of the grandparent node of the third node, and the second distribution characteristic value is a value determined according to transformation coefficients of all child nodes of the grandparent node of the third node.

[0239] Optionally, the second distribution characteristic value is a difference between a maximum value and a minimum value of transformation coefficients of all child nodes of the grandparent node of the third node.

[0240] Optionally, the first context model includes M context models; or, the second context model includes N context models;

[0241] Wherein, M and N are both integers greater than 1.

[0242] Optionally, the node set corresponding to the node to be encoded is the point cloud to which the node to be encoded belongs or the point cloud slice to which the node to be encoded belongs.

[0243] Optionally, the first distribution characteristic value is related to a difference between a maximum attribute value and a minimum attribute value in attribute information of the node set;

[0244] or,

[0245] The first distribution characteristic value is related to an average value of absolute values ​​of attribute information of the node set.

[0246] Optionally, the third node is a node whose previous transformation coefficient of the node to be encoded is not the first value.

[0247] Optionally, the attribute code stream further includes an encoding result of a parameter set, where the parameter set includes a first parameter value, and the first parameter value includes the first distribution characteristic value or a threshold determined according to the first distribution characteristic value.

[0248] The point cloud attribute encoding device in the embodiments of the present application can be an electronic device, such as an electronic device with an operating system, or a component of an electronic device, such as an integrated circuit or chip. The electronic device can be a terminal or other device other than a terminal.

[0249] The point cloud attribute encoding device provided in the embodiment of the present application can achieve Figure 6 The various processes implemented by the method embodiment achieve the same technical effect and are not described here again to avoid repetition.

[0250] See Figure 10 , Figure 10 This is a structural diagram of a point cloud attribute encoding device provided in an embodiment of the present application. Figure 10 As shown, the point cloud attribute encoding device 1000 includes:

[0251] An acquisition module 1001 is configured to acquire an attribute code stream of a point cloud, wherein the attribute code stream includes an encoding result of a transformation coefficient and an encoding result of a run length of the point cloud;

[0252] A second determining module 1002 is configured to determine a second target context model based on the transformation coefficient of the fourth node and the second distribution characteristic value when the transformation coefficient of the node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value;

[0253] A decoding module 1003 is configured to decode the run length to be decoded in the run length encoding result based on the second target context model;

[0254] In which, the fourth node includes the parent node of the fifth node or the child node of the grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and the sixth node, the sixth node and the node to be decoded are located at the same layer of the second transform tree, the sixth node is located before the node to be decoded and the transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on the geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be decoded.

[0255] Optionally, the second determining module is specifically configured to:

[0256] When a transformation coefficient of a node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value, if the fourth distribution characteristic value is greater than or equal to a second threshold, determining that the second target context model is the third context model;

[0257] or,

[0258] When a transformation coefficient of a node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value, if the fourth distribution characteristic value is less than a second threshold, determining that the second target context model is a fourth context model;

[0259] The fourth distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the fourth node, and the second threshold is a threshold determined according to the second distribution characteristic value.

[0260] Optionally, the fourth node is a parent node of the fifth node, and the fourth distribution characteristic value is a transformation coefficient of the parent node of the fifth node;

[0261] or,

[0262] The fourth node includes all child nodes of the grandparent node of the fifth node, and the fourth distribution characteristic value is a value determined according to the transformation coefficients of all child nodes of the grandparent node of the fifth node.

[0263] Optionally, the fourth distribution characteristic value is a difference between a maximum value and a minimum value of transformation coefficients of all child nodes of the grandparent node of the fifth node.

[0264] Optionally, the third context model includes M context models; or, the fourth context model includes N context models;

[0265] Wherein, M and N are both integers greater than 1.

[0266] Optionally, the node set corresponding to the node to be decoded is the point cloud to which the node to be decoded belongs or the point cloud slice to which the node to be decoded belongs.

[0267] Optionally, the second distribution characteristic value is related to a difference between a maximum attribute value and a minimum attribute value in the attribute information of the node set;

[0268] or,

[0269] The second distribution characteristic value is related to an average value of absolute values ​​of attribute information of the node set.

[0270] Optionally, the sixth node is a node whose previous transformation coefficient of the node to be decoded is not the first value.

[0271] Optionally, the attribute code stream further includes a decoding result of a parameter set, where the parameter set includes a second parameter value, and the second parameter value includes the second distribution characteristic value or a threshold determined according to the second distribution characteristic value.

[0272] The point cloud attribute encoding device in the embodiments of the present application can be an electronic device, such as an electronic device with an operating system, or a component of an electronic device, such as an integrated circuit or chip. The electronic device can be a network-side device or other device other than a network-side device.

[0273] The point cloud attribute encoding device provided in the embodiment of the present application can achieve Figure 8 The various processes implemented by the method embodiment achieve the same technical effect and are not described here again to avoid repetition.

[0274] like Figure 11As shown, the embodiment of the present application further provides an electronic device 1100, including a processor 1101 and a memory 1102, and the memory 1102 stores programs or instructions that can be run on the processor 1101. For example, when the electronic device 1100 is an encoding end device, the program or instruction is executed by the processor 1101 to implement the various steps of the above-mentioned point cloud attribute encoding method embodiment, and can achieve the same technical effect. When the electronic device 1100 is a decoding end device, the program or instruction is executed by the processor 1101 to implement the various steps of the above-mentioned point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here. Optionally, the memory 1102 can be Figure 1 In the embodiment shown, the memory 102 or the memory 113, the processor 1101 can implement Figure 1 Functionality of the encoder 200 or decoder 300 in the illustrated embodiment.

[0275] The present application also provides an electronic device, comprising: a memory configured to store video data; and a processing circuit configured to implement the various steps of the above-mentioned point cloud attribute encoding method embodiment, or configured to implement the various steps of the above-mentioned point cloud attribute decoding method embodiment. Optionally, the memory may be Figure 1 In the embodiment shown, the memory 102 or the memory 113, the processing circuit can implement Figure 1 Functionality of the encoder 200 or decoder 300 in the illustrated embodiment.

[0276] The embodiment of the present application also provides an electronic device, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the following Figure 6 The steps in the method embodiment shown, or, to achieve Figure 8 The device embodiment corresponds to the above method embodiment, and each implementation process and implementation mode of the above method embodiment are applicable to the electronic device embodiment and can achieve the same technical effect.

[0277] The electronic device may be a terminal, or may be other devices other than a terminal, such as a server, a network attached storage (NAS), etc.

[0278] Among them, the terminal can be a mobile phone, tablet personal computer, laptop computer, notebook computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile Internet device (MID), augmented reality (AR), virtual reality (VR) equipment, mixed reality (MR) equipment, robot, wearable device, flight vehicle, vehicle user equipment (VUE), shipborne equipment, pedestrian user equipment (PUE), smart home (home appliances with wireless communication function, such as refrigerator, TV, washing machine or furniture, etc.), game console, personal computer (PC), ATM or self-service machine and other terminal-side devices. Wearable devices include: smart watches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart bracelets, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among them, vehicle-mounted devices can also be called vehicle-mounted terminals, vehicle-mounted controllers, vehicle-mounted modules, vehicle-mounted components, vehicle-mounted chips, or vehicle-mounted units, etc. It should be noted that the specific type of terminal is not limited in the embodiments of this application.

[0279] The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), or cloud computing services based on big data and artificial intelligence platforms.

[0280] For example, the electronic devices mentioned above may include but are not limited to Figure 1 The type of source device 100 or destination device 110 shown.

[0281] Taking electronic devices as terminals as an example, Figure 12 A schematic diagram of the hardware structure of a terminal for implementing an embodiment of the present application.

[0282] The terminal 1200 includes, but is not limited to, at least part of components such as a radio frequency unit 1201, a network module 1202, an audio output unit 1203, an input unit 1204, a sensor 1205, a display unit 1206, a user input unit 1207, an interface unit 1208, a memory 1209, and a processor 1210.

[0283] Those skilled in the art can understand that the terminal 1200 can further include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 1210 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. Figure 12 The terminal structure shown in the figure does not constitute a limitation on the terminal, and the terminal can include more or fewer components than those shown, or combine certain components, or different component arrangements, which are not described here.

[0284] It should be understood that in the embodiments of the present application, the input unit 1204 can include a graphics processing unit (GPU) 12041 and a microphone 12042. The graphics processor 12041 processes image data of a still picture or a video obtained by an image acquisition device (such as a camera) in a video acquisition mode or an image acquisition mode, or can process obtained point cloud data. The display unit 1206 can include a display panel 12061, which can be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 1207 includes at least one of a touch panel 12071 and other input devices 12072. The touch panel 12071 is also called a touch screen. The touch panel 12071 can include a touch detection device and a touch controller. The other input devices 12072 can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, etc., which are not described here.

[0285] In the embodiments of the present application, after the radio frequency unit 1201 receives downlink data from the network side device, it can be transmitted to the processor 1210 for processing. In addition, the radio frequency unit 1201 can send uplink data to the network side device. Generally, the radio frequency unit 1201 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.

[0286] The memory 1209 can be used to store software programs or instructions and various data. The memory 1209 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, applications or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory 1209 may include a volatile memory or a non-volatile memory. Among them, the non-volatile memory may 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. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The memory 1209 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.

[0287] Processor 1210 may include one or more processing units. Optionally, processor 1210 integrates an application processor and a modem processor. The application processor primarily handles operations related to the operating system, user interface, and application programs, while the modem processor primarily processes wireless communication signals, such as a baseband processor. It is understood that the modem processor may not be integrated into processor 1210.

[0288] The processor 1210 is configured to, upon determining that a transform coefficient of a node to be coded is not a first value, determine a first target context model based on the transform coefficient of the first node and a first distribution characteristic value; encode a run length to be coded using the first target context model, and encode the transform coefficient of the node to be coded to obtain an attribute code stream; wherein the attribute code stream includes an encoding result of the run length and an encoding result of the transform coefficient; the first node includes a parent node of a second node or a child node of a grandparent node of the second node; the second node includes at least one of the node to be coded and a third node; the third node and the node to be coded are located at the same layer of a first transform tree; the third node is located before the node to be coded and the transform coefficient of the third node is not the first value; the first transform tree is a transform tree constructed based on geometric reconstruction information of a point cloud; and the first distribution characteristic value is a distribution characteristic value determined based on attribute information of a node set corresponding to the node to be coded;

[0289] or,

[0290] The radio frequency unit 1201 is configured to obtain an attribute code stream of a point cloud, where the attribute code stream includes an encoding result of a transformation coefficient and an encoding result of a run length of the point cloud;

[0291] Processor 1210 is used to determine a second target context model based on the transform coefficient of the fourth node and the second distribution characteristic value when the transform coefficient of the node to be decoded is not the first value obtained by decoding the encoding result of the transform coefficient of the point cloud; the decoding end decodes the run length to be decoded in the encoding result of the run length based on the second target context model; wherein the fourth node includes the parent node of the fifth node or the child node of the grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and the sixth node, the sixth node and the node to be decoded are located at the same layer of the second transform tree, the sixth node is located before the node to be decoded and the transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on the geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be decoded.

[0292] It can be understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the above-mentioned point cloud attribute encoding method embodiment or point cloud attribute decoding method embodiment, and achieve the same or corresponding technical effects. To avoid repetition, it will not be repeated here.

[0293] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned point cloud attribute encoding method embodiment are implemented, or the various processes of the above-mentioned point cloud attribute decoding method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0294] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as ROM, RAM, a magnetic disk, or an optical disk. In some examples, the readable storage medium may be a non-transitory readable storage medium.

[0295] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned point cloud attribute encoding method embodiment, or to implement the various processes of the above-mentioned point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0296] It should be understood that the chip mentioned in the embodiments of the present application may include a system-level chip (also referred to as a system chip, a chip system or a system-on-chip chip), and may also include an independent display chip, etc.

[0297] The embodiments of the present application further provide a computer program / program product, which is stored in a storage medium. The computer program / program product is executed by at least one processor to implement the various processes of the above-mentioned point cloud attribute encoding method embodiment, or to implement the various processes of the above-mentioned point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0298] An embodiment of the present application further provides a coding and decoding system, including: an encoding end device and a decoding end device, wherein the encoding end device can be used to execute the steps of the cloud attribute encoding method described above, and the decoding end device can be used to execute the steps of the cloud attribute decoding method described above.

[0299] It should be noted that, in the present document, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a", "comprising", or the like does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element. Furthermore, it is to be understood that the methods and apparatuses of the present application can be carried out by specific hardware, by software, or by a combination of hardware and software. It is therefore, contemplated to this patent to cover any and all modifications, variations, or equivalents that fall within the scope of the present application. Accordingly, where a concept can have been illustrated in only one of the exemplary embodiments, various aspects of the concept can be modified and / or combined to produce a variety of other embodiments that are not specifically illustrated. Thus, for purposes of describing particular embodiments, reference has been made to orientations. However, it is to be understood that the teachings of this patent are not limited in their application to any one of the mentioned orientations, but are applicable to any assembly having the features currently described or hereinafter ascertained.

[0300] From the above description of the embodiments, it is apparent that the method of the above embodiments can be realized by means of a computer software product and a general hardware platform as necessary, of course, also by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disc, optical disc, etc.), and includes a plurality of instructions for making a terminal or a network side device execute the method described in each embodiment of the present application.

[0301] The embodiments of the present application are described above in conjunction with the drawings, but the present application is not limited to the above specific embodiments, and the above specific embodiments are merely illustrative rather than restrictive, and a person of ordinary skill in the art can make many forms of embodiments under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims, and these embodiments all belong to the protection scope of the present application.

Claims

1. A point cloud attribute encoding method, characterized in that: include: The encoder determines, when determining that the transformation coefficient of the node to be encoded is not the first value, a first target context model based on the transformation coefficient of the first node and the first distribution characteristic value; The encoder uses the first target context model to encode the run length to be encoded and encodes the transform coefficient of the node to be encoded to obtain an attribute code stream; In which, the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, the second node includes at least one of the node to be encoded and the third node, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded.

2. The method according to claim 1, characterized in that The encoder determines, when determining that the transformation coefficient of the node to be encoded is not the first value, a first target context model according to the transformation coefficient of the first node and the first distribution characteristic value, including: The encoder determines, when determining that the transform coefficient of the node to be encoded is not the first value, that the first target context model is the first context model if the second distribution characteristic value is greater than or equal to a first threshold; or, The encoder determines, when determining that the transform coefficient of the node to be encoded is not the first value, that the first target context model is the second context model if the second distribution characteristic value is less than a first threshold; The second distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the first node, and the first threshold is a threshold determined according to the first distribution characteristic value.

3. The method according to claim 2, characterized in that The first node is a parent node of the third node, and the second distribution characteristic value is a transformation coefficient of the parent node of the third node; or, The first node includes all child nodes of the grandparent node of the third node, and the second distribution characteristic value is a value determined according to transformation coefficients of all child nodes of the grandparent node of the third node.

4. The method according to claim 3, characterized in that The second distribution characteristic value is a difference between a maximum value and a minimum value among transformation coefficients of all child nodes of the grandparent node of the third node.

5. The method according to any one of claims 2 to 4, characterized in that The first context model includes M context models; or the second context model includes N context models; Wherein, M and N are both integers greater than 1.

6. The method according to any one of claims 1 to 5, characterized in that The node set corresponding to the node to be encoded is the point cloud to which the node to be encoded belongs or the point cloud slice to which the node to be encoded belongs.

7. The method according to any one of claims 1 to 6, characterized in that The first distribution characteristic value is related to a difference between a maximum attribute value and a minimum attribute value in the attribute information of the node set; or, The first distribution characteristic value is related to an average value of absolute values ​​of attribute information of the node set.

8. The method according to any one of claims 1 to 7, characterized in that The third node is a node whose previous transformation coefficient of the node to be encoded is not the first value.

9. The method according to any one of claims 1 to 8, characterized in that The attribute code stream further includes an encoding result of a parameter set, where the parameter set includes a first parameter value, and the first parameter value includes the first distribution characteristic value or a threshold determined according to the first distribution characteristic value.

10. A point cloud attribute decoding method, characterized in that: include: The decoding end obtains an attribute code stream of the point cloud, wherein the attribute code stream includes an encoding result of a transformation coefficient and an encoding result of a run length of the point cloud; The decoding end determines a second target context model according to the transformation coefficient of the fourth node and the second distribution characteristic value when the transformation coefficient of the node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value; The decoding end decodes the run length to be decoded in the encoding result of the run length based on the second target context model; In which, the fourth node includes the parent node of the fifth node or the child node of the grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and the sixth node, the sixth node and the node to be decoded are located at the same layer of the second transform tree, the sixth node is located before the node to be decoded and the transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on the geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be decoded.

11. The method according to claim 10, characterized in that The decoding end determines a second target context model according to the transformation coefficient of the fourth node and the second distribution characteristic value, when the transformation coefficient of the node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value, including: The decoding end determines, when a transformation coefficient of a node to be decoded is obtained by decoding the encoding result of the transformation coefficient of the point cloud and is not the first value, that the second target context model is the third context model if the fourth distribution characteristic value is greater than or equal to the second threshold; or, The decoding end determines, when a transformation coefficient of a node to be decoded is obtained by decoding the encoding result of the transformation coefficient of the point cloud and is not the first value, that the second target context model is a fourth context model if the fourth distribution characteristic value is less than a second threshold; The fourth distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the fourth node, and the second threshold is a threshold determined according to the second distribution characteristic value.

12. The method according to claim 11, characterized in that The fourth node is the parent node of the fifth node, and the fourth distribution characteristic value is the transformation coefficient of the parent node of the fifth node; or, The fourth node includes all child nodes of the grandparent node of the fifth node, and the fourth distribution characteristic value is a value determined according to the transformation coefficients of all child nodes of the grandparent node of the fifth node.

13. The method according to claim 12, characterized in that The fourth distribution characteristic value is a difference between a maximum value and a minimum value among transformation coefficients of all child nodes of the grandparent node of the fifth node.

14. The method according to any one of claims 11 to 13, characterized in that The third context model includes M context models; or the fourth context model includes N context models; Wherein, M and N are both integers greater than 1.

15. The method according to any one of claims 10 to 14, characterized in that The node set corresponding to the node to be decoded is the point cloud to which the node to be decoded belongs or the point cloud slice to which the node to be decoded belongs.

16. The method according to any one of claims 10 to 15, characterized in that The second distribution characteristic value is related to a difference between a maximum attribute value and a minimum attribute value in the attribute information of the node set; or, The second distribution characteristic value is related to an average value of absolute values ​​of attribute information of the node set.

17. The method according to any one of claims 10 to 16, characterized in that The sixth node is a node whose previous transformation coefficient of the node to be decoded is not the first value.

18. The method according to any one of claims 10 to 17, characterized in that The attribute code stream further includes a decoding result of a parameter set, where the parameter set includes a second parameter value, and the second parameter value includes the second distribution characteristic value or a threshold determined according to the second distribution characteristic value.

19. A point cloud attribute encoding device, characterized in that: include: A first determining module is configured to determine a first target context model according to the transform coefficient of the first node and the first distribution characteristic value when it is determined that the transform coefficient of the node to be encoded is not the first value; an encoding module, configured to encode the run length to be encoded using the first target context model, and encode the transform coefficient of the node to be encoded to obtain an attribute code stream; In which, the attribute code stream includes the encoding result of the run length and the encoding result of the transformation coefficient, the first node includes the parent node of the second node or the child node of the grandparent node of the second node, the second node includes at least one of the node to be encoded and the third node, the third node and the node to be encoded are located at the same layer of the first transformation tree, the third node is located before the node to be encoded and the transformation coefficient of the third node is not the first value, the first transformation tree is a transformation tree constructed based on the geometric reconstruction information of the point cloud, and the first distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be encoded.

20. The device according to claim 19, characterized in that The first determining module is specifically configured to: When it is determined that the transformation coefficient of the node to be encoded is not the first value, if the second distribution characteristic value is greater than or equal to the first threshold, determining that the first target context model is the first context model; or, When it is determined that the transformation coefficient of the node to be encoded is not the first value, if the second distribution characteristic value is less than a first threshold, determining that the first target context model is the second context model; The second distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the first node, and the first threshold is a threshold determined according to the first distribution characteristic value.

21. A point cloud attribute decoding device, characterized in that: include: An acquisition module, configured to acquire an attribute code stream of a point cloud, wherein the attribute code stream includes an encoding result of a transformation coefficient and an encoding result of a run length of the point cloud; a second determining module, configured to determine a second target context model based on the transformation coefficient of a fourth node and the second distribution characteristic value when the transformation coefficient of the node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value; a decoding module, configured to decode the run length to be decoded in the encoding result of the run length based on the second target context model; In which, the fourth node includes the parent node of the fifth node or the child node of the grandparent node of the fifth node, the fifth node includes at least one of the node to be decoded and the sixth node, the sixth node and the node to be decoded are located at the same layer of the second transform tree, the sixth node is located before the node to be decoded and the transform coefficient of the sixth node is not the first value, the second transform tree is a transform tree constructed based on the geometric reconstruction information of the point cloud, and the second distribution characteristic value is a distribution characteristic value determined according to the attribute information of the node set corresponding to the node to be decoded.

22. The device according to claim 21, characterized in that The second determining module is specifically configured to: When a transformation coefficient of a node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value, if the fourth distribution characteristic value is greater than or equal to a second threshold, determining that the second target context model is the third context model; or, When a transformation coefficient of a node to be decoded obtained by decoding the encoding result of the transformation coefficient of the point cloud is not the first value, if the fourth distribution characteristic value is less than a second threshold, determining that the second target context model is a fourth context model; The fourth distribution characteristic value is a distribution characteristic value determined according to the transformation coefficient of the fourth node, and the second threshold is a threshold determined according to the second distribution characteristic value.

23. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the point cloud attribute encoding method according to any one of claims 1 to 9 are implemented, or the steps of the point cloud attribute decoding method according to any one of claims 10 to 18 are implemented.

24. A readable storage medium, characterized in that The readable storage medium stores a program or instruction, and when the program or instruction is executed by the processor, the steps of the point cloud attribute encoding method according to any one of claims 1 to 9 are implemented, or the steps of the point cloud attribute decoding method according to any one of claims 10 to 18 are implemented.

Citation Information

Patent Citations

  • Point cloud coding method and device, point cloud decoding method and device and communication equipment

    CN116233387A

  • Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

    WO2022119419A1