Coding and decoding method of point cloud, code stream, encoder, decoder and storage medium

CN120982104APending Publication Date: 2025-11-18GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380096668.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-04-04
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

In the existing technology, during the compression process of point cloud data, the hardware throughput rate is low, which affects the efficiency of point cloud encoding and decoding.

Method used

Use context decoding or bypass decoding to encode and decode the color components of point cloud data, change the decoding method to improve hardware throughput, and use bypass encoding to encode the quantized residual to improve coding efficiency.

Benefits of technology

The encoding and decoding efficiency of point cloud data is improved, the hardware throughput rate is improved, and the problem of low point cloud encoding and decoding efficiency in the existing technology is solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120982104A_ABST
    Figure CN120982104A_ABST
Patent Text Reader

Abstract

The invention discloses a point cloud encoding and decoding method, a code stream, an encoder, a decoder and a storage medium. The method comprises the following steps: for a current color component, decoding first syntax element information to be decoded of the current color component of a current point by adopting a context decoding mode or a bypass decoding mode; decoding the second syntax element information to be decoded of the current color component of the current point by adopting a bypass decoding mode; the code word corresponding to the second syntax element information to be decoded meets a preset code word condition; the first to-be-decoded syntax element information is to-be-decoded information, except the second to-be-decoded syntax element information, of the current point.
Need to check novelty before this filing date? Find Prior Art

Description

Point cloud encoding and decoding methods, code streams, encoders, decoders, and storage media Technical Field

[0001] The embodiments of the present application relate to the field of video coding and decoding technology, and in particular to a point cloud coding and decoding method, bit stream, encoder, decoder, and storage medium. Background Art

[0002] Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Moreover, since point clouds are obtained by directly sampling real objects, they can provide a strong sense of reality while ensuring accuracy. Therefore, point clouds are widely used.

[0003] The surface of an object is collected by an acquisition device to form point cloud data. Point cloud data includes hundreds of thousands or even more points. Point cloud data is usually transmitted between point cloud encoding devices and point cloud decoding devices in the form of point cloud media files. However, such a large number of points poses a challenge to transmission. Therefore, the point cloud encoding device needs to compress the point cloud data before transmission.

[0004] Currently, in the point cloud compression process, it is usually necessary to encode the quantized codewords. However, the existing encoding method will lead to low hardware throughput, thus affecting the encoding / decoding efficiency of the point cloud.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a point cloud encoding and decoding method, code stream, encoder, decoder and storage medium, which can improve the hardware throughput of the encoder / decoder, thereby improving the encoding / decoding efficiency of point cloud data.

[0007] The technical solution of the embodiment of the present application can be implemented as follows:

[0008] The present application provides a point cloud decoding method, which is applied to a decoder. The method includes:

[0009] For the current color component, a context decoding method or a bypass decoding method is used to decode the first syntax element information to be decoded of the current color component of the current point;

[0010] A bypass decoding method is used to decode the second to-be-decoded syntax element information of the current color component of the current point; the codeword corresponding to the second to-be-decoded syntax element information satisfies a preset codeword condition; and the first to-be-decoded syntax element information is the to-be-decoded information of the current point other than the second to-be-decoded syntax element information.

[0011] The present application provides a point cloud encoding method, which is applied to an encoder. The method includes:

[0012] For the current color component, a context coding method or a bypass coding method is used to encode the first syntax element information to be encoded of the current color component of the current point;

[0013] A bypass coding method is used to encode the second syntax element information to be encoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be encoded satisfies a preset codeword condition; and the first syntax element information to be encoded is the information to be encoded of the current point other than the second syntax element information to be encoded.

[0014] The embodiment of the present application provides a code stream, which is generated by bit encoding according to information to be encoded, and the information to be encoded includes at least one of the following:

[0015] The second to fifth syntax element information corresponding to each color component, as well as N, K, and L, where N, K, and L are positive integers greater than 1; the sign bit of the current quantized residual of the current point corresponding to each color component; and the binary first syntax element information corresponding to each color component, wherein:

[0016] The second syntax element information is used to indicate whether the encoding / decoding value of the current quantized residual of the current color component is a first value;

[0017] The third syntax element information is used to indicate whether the encoding / decoding value of the current quantized residual of the current color component is the second value;

[0018] The fourth syntax element information is used to indicate the parity of the encoding / decoding value of the current quantized residual of the current color component;

[0019] The fifth syntax element information is used to indicate whether the quotient of the encoding / decoding value of the current quantized residual of the current color component minus the third preset value and then divided by two is the first target value;

[0020] The first syntax element information is used to indicate the quotient of the current quantized residual of the current color component minus the fourth preset value and then divided by two; or is used to indicate the value of the current quantized residual minus the fifth preset value;

[0021] The first syntax element information is non-binarized syntax element information corresponding to the current quantized residual.

[0022] An embodiment of the present application provides a decoder, including:

[0023] The decoding part is configured to decode the first to-be-decoded syntax element information of the current color component of the current point by using a context decoding method or a bypass decoding method for the current color component;

[0024] A bypass decoding method is used to decode the second to-be-decoded syntax element information of the current color component of the current point; the codeword corresponding to the second to-be-decoded syntax element information satisfies a preset codeword condition; and the first to-be-decoded syntax element information is the to-be-decoded information of the current point other than the second to-be-decoded syntax element information.

[0025] The embodiment of the present application further provides a decoder, comprising: a first memory and a first processor; wherein,

[0026] The first memory is used to store a computer program that can be run on the first processor;

[0027] The first processor is configured to execute a point cloud decoding method on a decoder side when running the computer program.

[0028] An embodiment of the present application provides an encoder, including:

[0029] The encoding part is configured to encode the first to-be-encoded syntax element information of the current color component of the current point by adopting a context encoding method or a bypass encoding method for the current color component;

[0030] A bypass coding method is used to encode the second syntax element information to be encoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be encoded satisfies a preset codeword condition; and the first syntax element information to be encoded is the information to be encoded of the current point other than the second syntax element information to be encoded.

[0031] The embodiment of the present application further provides an encoder, comprising:

[0032] The second memory is used to store a computer program that can be run on the second processor;

[0033] The second processor is configured to execute a point cloud encoding method on the encoder side when running the computer program.

[0034] An embodiment of the present application provides a computer storage medium, wherein the computer storage medium stores a computer program, and when the computer program is executed by a first processor, it implements a point cloud decoding method on the decoder side, or when the computer program is executed by a second processor, it implements a point cloud encoding method on the encoder side.

[0035] In an embodiment of the present application, a point cloud encoding and decoding method is provided. On the decoder side, for the current color component, a context decoding method or a bypass decoding method is used to decode the first syntax element information to be decoded of the current color component of the current point; a bypass decoding method is used to decode the second syntax element information to be decoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be decoded satisfies a preset codeword condition; the first syntax element information to be decoded is the information to be decoded of the current point other than the second syntax element information to be decoded. On the encoder side, for the current color component, a context encoding method or a bypass encoding method is used to encode the first syntax element information to be encoded of the current color component of the current point; a bypass encoding method is used to encode the second syntax element information to be encoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be encoded satisfies a preset codeword condition; the first syntax element information to be encoded is the information to be encoded of the current point other than the second syntax element information to be encoded. On the one hand, bypass decoding is used to decode the second syntax element to be decoded for the current color component of the current point. Since bypass decoding has a higher throughput than context decoding, changing the decoding method to bypass decoding when the decoder is decoding the second syntax element to be decoded can improve the decoder's hardware throughput, thereby improving the decoder's decoding efficiency. On the other hand, the encoder uses bypass coding to encode the second syntax element to be decoded corresponding to the binarized quantized residual of the current point. Since bypass coding has a higher throughput than context coding, changing the encoding method to bypass coding when the encoder is decoding the second syntax element to be decoded can improve the encoder's hardware throughput, thereby improving the encoder's coding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] The accompanying drawings herein are incorporated into and constitute a part of this specification. These drawings illustrate embodiments consistent with the present application and, together with the specification, serve to illustrate the technical solutions of the present application. Obviously, the drawings described below are merely some embodiments of the present application. Those skilled in the art can, without inventive effort, derive other drawings from these drawings.

[0037] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.

[0038] FIG1a is a schematic diagram of an optional overall point cloud image provided in an embodiment of the present application;

[0039] FIG1b is a schematic diagram of a partial enlargement of an optional point cloud image provided in an embodiment of the present application;

[0040] FIG2a is a schematic diagram of six optional viewing angles of a point cloud image provided in an embodiment of the present application;

[0041] FIG2 b is a schematic diagram of an optional data storage format of a point cloud image provided in an embodiment of the present application;

[0042] FIG3 is a schematic structural diagram of an optional point cloud coding system provided in an embodiment of the present application;

[0043] FIG4 is a schematic diagram of the structure of an optional point cloud encoder provided in an embodiment of the present application;

[0044] FIG5 is a schematic diagram of the structure of an optional point cloud decoder provided in an embodiment of the present application;

[0045] FIG6 is a schematic flow chart of an optional point cloud decoding method provided in an embodiment of the present application;

[0046] FIG7 is a schematic diagram of a flow chart of an optional point cloud encoding method provided in an embodiment of the present application;

[0047] FIG8 is a first structural diagram of an optional decoder provided in an embodiment of the present application;

[0048] FIG9 is a second structural diagram of an optional decoder provided in an embodiment of the present application;

[0049] FIG10 is a first structural diagram of an optional encoder provided in an embodiment of the present application;

[0050] FIG11 is a second structural diagram of an optional encoder provided in an embodiment of the present application. DETAILED DESCRIPTION

[0051] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below with reference to the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.

[0052] Unless otherwise defined, all technical and scientific terms used in this application have the same meaning as commonly understood by those skilled in the art to which this application belongs. The terms used in this application are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0053] In the following description, reference is made to "some embodiments," which describe a subset of all possible embodiments. However, it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. It should also be noted that the terms "first, second, and third" in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It is understood that "first, second, and third" may be interchanged in a specific order or sequential order where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0054] If similar descriptions of "first / second" appear in the application documents, the following explanation is added. In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0055] To facilitate understanding of the embodiments of the present application, the following briefly introduces the relevant concepts involved in the embodiments of the present application:

[0056] A point cloud is a set of irregularly distributed discrete points in space that represent the spatial structure and surface properties of a two-dimensional object or three-dimensional scene. For example, referring to Figures 1a and 1b, Figure 1a shows an overall schematic diagram of an optional point cloud image provided in an embodiment of the present application, and Figure 1b shows a partially enlarged schematic diagram of an optional point cloud image provided in an embodiment of the present application. It can be seen that the surface of the three-dimensional point cloud image is composed of densely distributed points.

[0057] Point cloud data is a specific form of point cloud data. Points in a point cloud can include both their positional information (also known as geometric information) and their attribute information. Two-dimensional images have information expressed at each pixel, and their distribution is regular, so there's no need to record their positional information. However, the distribution of points in a point cloud in three-dimensional space is random and irregular, so recording the spatial position of each point is necessary to fully represent a point cloud image. Similar to two-dimensional images, each point in a point cloud image has corresponding attribute information during acquisition, typically in the form of RGB color values, which reflect the object's color. For point clouds, in addition to color information, reflectance values ​​are also commonly associated with each point, reflecting the object's surface texture. Therefore, point cloud data typically includes geometric information (x, y, z) consisting of three-dimensional positional information, and attribute information consisting of three-dimensional color information (r, g, b) and one-dimensional reflectance information (r). The color information can be in any color space, for example, RGB information. For another example, color information can be brightness and chromaticity (YcbCr, YUV) information. For example, Y represents brightness (Luma), Cb (U) represents blue component information, Cr (V) represents red component information, and U and V represent chromaticity (Chroma) for describing color difference information. For example, according to the point cloud obtained by the laser measurement principle, the points in the point cloud can include the three-dimensional coordinate information of the points and the laser reflection intensity (reflectance) of the points. For another example, according to the point cloud obtained by the photogrammetry principle, the points in the point cloud can include the three-dimensional coordinate information of the points and the color information of the points. For another example, by combining the laser measurement and photogrammetry principles to obtain a point cloud, the points in the point cloud can include the three-dimensional coordinate information of the points, the laser reflection intensity (reflectance) of the points, and the color information of the points.

[0058] For example, Figures 2a and 2b show a point cloud image and its corresponding data storage format, where Figure 2a shows six viewing angles of a point cloud image, and Figure 2b shows the data storage format corresponding to the point cloud image. It can be seen that the data storage format corresponding to the point cloud image consists of a file header information part and a data part, where the header information part includes the data format, data representation type, the total number of point cloud points, and the content represented by the point cloud. Taking the data storage format shown in Figure 2b as an example, the data format of the point cloud image is the ".ply" format, the data representation type of the point cloud image is ASCII code representation, the total number of points in the point cloud image is 207242, and each point has three-dimensional position information xyz and three-dimensional color information rgb. For example, the three-dimensional position information of one of the points in the point cloud image shown in Figure 2b is (75, 328, 0), and the corresponding three-dimensional color information is (0, 142, 0).

[0059] Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Moreover, since point clouds are obtained by directly sampling real objects, they can provide extremely strong realism while ensuring accuracy. Therefore, they are widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs.

[0060] Point clouds are primarily collected through computer generation, 3D laser scanning, and 3D photogrammetry. Computers can generate point clouds of virtual 3D objects and scenes; 3D laser scanning can obtain point clouds of static real-world 3D objects or scenes, generating millions of point clouds per second; and 3D photogrammetry can obtain point clouds of dynamic real-world 3D objects or scenes, generating tens of millions of point clouds per second. These technologies reduce the cost and time required to acquire point cloud data while improving data accuracy. While changes in point cloud data acquisition methods have made it possible to acquire large amounts of point cloud data, the processing of this massive amount of 3D point cloud data is facing bottlenecks due to storage space and transmission bandwidth constraints, as application demands grow.

[0061] Point clouds can be divided into dense point clouds and sparse point clouds according to the acquisition method.

[0062] Point clouds are divided into the following categories according to the time series type of the data: the first category is static point cloud: the object is stationary and the device that acquires the point cloud is also stationary; the second category is dynamic point cloud: the object is moving, but the device that acquires the point cloud is stationary; the second category is dynamically acquired point cloud: the device that acquires the point cloud is moving.

[0063] Point clouds are divided into two categories according to their uses: Category 1: machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and emergency rescue robots; Category 2: human eye perception 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.

[0064] Taking a point cloud video with a frame rate of 30 fps (frames per second) as an example, each frame contains 700,000 points, each with coordinate information (xyz, float type) and color information (RGB, uchar, string type). Therefore, the data volume of a 10-second point cloud video is approximately 0.7 million (4 bytes 3 + 1 byte 3) 30 fps 10 seconds = 3.15 GB. For a 1280 x 720 2D video with a YUV sampling format of 4:2:0 and a frame rate of 24 fps, the data volume for 10 seconds is approximately 1280 x 720 12-bit 24 frames 10 seconds = 0.33 GB. A 10-second two-view 3D video has a data volume of approximately 0.33 x 2 = 0.66 GB. Therefore, point cloud video data volume far exceeds that of 2D and 3D videos of the same length. Therefore, point cloud compression has become a key issue in promoting the development of the point cloud industry to better manage data, save server storage space, and reduce transmission traffic and time between servers and clients.

[0065] In an embodiment of the present application, a point cloud encoding / decoding method is provided that can be applied to a point cloud encoding and decoding framework to compress point cloud data. Point cloud compression generally uses a method of separately compressing point cloud geometry information and attribute information. On the encoding side, the point cloud geometry information is first encoded in the geometry encoder, and then the reconstructed geometry information is input as additional information to the attribute encoder to assist in compressing the point cloud attributes. On the decoding side, the point cloud geometry information is first decoded in the geometry decoder, and then the decoded geometry information is input as additional information to the attribute decoder to assist in compressing the point cloud attributes.

[0066] Figure 3 is a schematic structural diagram of an optional point cloud coding system provided in an embodiment of the present application. It should be noted that Figure 3 is only an example, and the point cloud coding and decoding system of the embodiment of the present application includes but is not limited to that shown in Figure 3. As shown in Figure 3, the point cloud coding and decoding system 100 includes an encoding device 110 and a decoding device 120. The encoding device is used to encode (which can be understood as compression) the point cloud data to generate a code stream, and transmit the code stream to the decoding device. The decoding device decodes the code stream generated by the encoding device to obtain decoded point cloud data.

[0067] The encoding device 110 of the embodiment of the present application can be understood as a device with a point cloud encoding function, and the decoding device 120 can be understood as a device with a point cloud decoding function. That is, the embodiment of the present application includes a wider range of devices for the encoding device 110 and the decoding device 120, such as smartphones, desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, point cloud game consoles, vehicle-mounted computers, etc.

[0068] In some embodiments, the encoding device 110 may transmit the encoded point cloud data (such as the geometry code stream and the attribute code stream) to the decoding device 120 via the channel 130. The channel 130 may include one or more media and / or devices capable of transmitting the encoded point cloud data from the encoding device 110 to the decoding device 120.

[0069] In one example, the channel 130 includes one or more communication media that enable the encoding device 110 to transmit the encoded point cloud data directly to the decoding device 120 in real time. In this example, the encoding device 110 can modulate the encoded point cloud data according to a communication standard and transmit the modulated point cloud data to the decoding device 120. The communication media includes wireless communication media, such as radio frequency spectrum. Optionally, the communication media can also include wired communication media, such as one or more physical transmission lines.

[0070] In another example, channel 130 includes a storage medium that can store the point cloud data encoded by encoding device 110. The storage medium includes various locally accessible data storage media, such as optical disks, DVDs, and flash memory. In this example, decoding device 120 can retrieve the encoded point cloud data from the storage medium.

[0071] In another example, the channel 130 may include a storage server that can store the point cloud data encoded by the encoding device 110. In this example, the decoding device 120 can download the stored encoded point cloud data from the storage server. Alternatively, the storage server can store the encoded point cloud data and transmit the encoded point cloud data to the decoding device 120, such as a web server (e.g., for a website), a file transfer protocol (FTP) server, etc.

[0072] In some embodiments, the encoding device 110 may transmit the encoded point cloud data (e.g., geometry code stream and attribute code stream) to the decoding device 120 via a network. The network may be any number of networks that transmit the encoded point cloud data between the encoding device 110 and the decoding device 120, including, for example, wired and / or wireless communication networks. The communication network may exchange data using circuit switching and / or packet switching channels. Representative networks include telecommunication networks, local area networks, wide area networks, and / or the Internet, and this application does not impose any limitations thereto.

[0073] In some embodiments, the encoding device 110 includes a point cloud encoder 112 and an output interface 113. The output interface 113 may include a modulator / demodulator (modem) and / or a transmitter.

[0074] In some embodiments, the encoding device 110 may further include a point cloud source 111 in addition to the point cloud encoder 112 and the input interface 113 .

[0075] The point cloud source 111 may include at least one of a point cloud acquisition device (e.g., a scanner), a point cloud archive, a point cloud input interface, and a computer graphics system, wherein the point cloud input interface is used to receive point cloud data from a point cloud content provider, and the computer graphics system is used to generate point cloud data.

[0076] The point cloud encoder 112 encodes the point cloud data from the point cloud source 111 to generate a code stream. The point cloud encoder 112 transmits the encoded point cloud data directly to the decoding device 120 via the output interface 113. The encoded point cloud data can also be stored on a storage medium or storage server for subsequent reading by the decoding device 120.

[0077] In some embodiments, the decoding device 120 includes an input interface 121 and a point cloud decoder 122 .

[0078] In some embodiments, the decoding device 120 may further include a display device 123 in addition to the input interface 121 and the point cloud decoder 122 .

[0079] The input interface 121 includes a receiver and / or a modem and can receive the encoded point cloud data via the channel 130 .

[0080] The point cloud decoder 122 is used to decode the encoded point cloud data to obtain decoded point cloud data, and transmit the decoded point cloud data to the display device 123.

[0081] The decoded point cloud data is displayed on the display device 123. The display device 123 may be integrated with the decoding device 120 or external to the decoding device 120. The display device 123 may include various display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.

[0082] In addition, Figure 3 is only an example, and the technical solution of the embodiment of the present application is not limited to Figure 3. For example, the technology of the embodiment of the present application can also be applied to unilateral point cloud encoding or unilateral point cloud decoding.

[0083] The current point cloud encoder can adopt 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). The G-PCC codec framework and the AVS PCC codec framework are both aimed at static sparse point clouds, and their encoding frameworks are roughly the same. The G-PCC codec framework can be used to compress the first static point cloud and the second type of dynamically acquired point cloud, and the V-PCC codec framework can be used to compress the second type of dynamic point cloud. The G-PCC codec framework is also called the point cloud codec TMC13, and the V-PCC codec framework is also called the point cloud codec TMC2.

[0084] Point cloud compression generally uses a method that compresses point cloud geometry and attribute information separately. On the encoding side (encoder, i.e., point cloud encoder), the point cloud geometry is first encoded in the geometry encoder, and then the reconstructed geometry is input as additional information into the attribute encoder to assist in the compression of point cloud attributes. On the decoding side (decoder, i.e., point cloud decoder), the point cloud geometry is first decoded in the geometry decoder, and then the decoded geometry is input as additional information into the attribute decoder to assist in the compression of point cloud attributes. The entire codec consists of pre-processing / post-processing, geometry encoding / decoding, and attribute encoding / decoding.

[0085] The following describes the point cloud encoder and point cloud decoder applicable to the embodiments of the present application, taking the encoding and decoding framework shown in Figures 4 and 5 as an example.

[0086] FIG4 is a schematic structural diagram of an optional point cloud encoder 200 provided in an embodiment of the present application.

[0087] From the above, it can be seen that the points in the point cloud can include the geometric information of the points and the attribute information of the points. Therefore, the encoding of the points in the point cloud mainly includes geometric encoding and attribute encoding.

[0088] The geometric encoding process involves preprocessing the points in the point cloud, such as coordinate transformation, quantization, and duplicate point removal. Next, geometric encoding is performed on the preprocessed point cloud, such as constructing an octree. This octree is then used to perform geometric encoding to form a geometric bitstream. Simultaneously, the geometric information of each point in the point cloud is reconstructed based on the geometric information output by the constructed octree, yielding a reconstructed value for each point.

[0089] The attribute encoding process includes: given the reconstruction information of the geometric information of the input point cloud and the original value of the attribute information, selecting a prediction mode for point cloud prediction, quantizing the predicted results, and performing arithmetic coding to form an attribute code stream.

[0090] As shown in Figure 4, geometric encoding can be implemented through the following units:

[0091] A coordinate conversion unit 211 , a quantization unit 212 , an octree analysis unit 213 , a geometry reconstruction unit 214 , and a first encoding unit 215 .

[0092] Coordinate conversion unit 211 is used for coordinate translation, that is, for converting the world coordinates of a point in the point cloud into relative coordinates. Specifically, coordinate conversion unit 211 normalizes the geometric origin to the minimum position in the point cloud space through coordinate translation and converts the geometric information from floating-point numbers to integers through coordinate quantization to facilitate subsequent regularization processing. For example, the geometric coordinates of a point are respectively subtracted from the minimum value of the x, y, and z coordinate axes, which is equivalent to a DC removal operation, to convert the coordinates of a point in the point cloud from world coordinates to relative coordinates.

[0093] Quantization unit 212 is used for coordinate quantization, also known as regularization, which reduces the number of coordinates through quantization. After quantization, previously different points may be assigned the same coordinates. Based on this, duplicate points can be removed through deduplication. For example, multiple clouds with the same quantization bit and different attribute information can be merged into a single cloud through attribute conversion. In some embodiments of the present application, quantization unit 212 is an optional unit module.

[0094] The octree analysis unit 213 is used to construct an octree, that is, to encode the geometric information of the quantized points using an octree encoding method. For example, the octree structure is used to perform a reverse partitioning of the point cloud space, each time dividing the current sub-block into eight sub-blocks of equal size. This allows a one-to-one correspondence between the point position and the octree position. The occupancy codeword of each sub-block is determined. If the sub-block does not contain a point, it is recorded as empty; otherwise, it is recorded as non-empty. The occupancy codeword information of all blocks is recorded at the last level of the recursive partitioning for geometric encoding.

[0095] The geometric reconstruction unit 214 may be used to perform position reconstruction based on the position information output by the octree analysis unit 213 to obtain a reconstructed value of the position information of each point in the point cloud data.

[0096] The first coding unit 215 may be configured to perform arithmetic coding on the position information output by the octree analysis unit 213 using entropy coding. That is, the position information output by the octree analysis unit 213 may be arithmetic coded to generate a geometry bitstream. The geometry bitstream may also be referred to as a geometry bitstream.

[0097] It should be noted that the geometric information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream, and is geometrically reconstructed in the encoder. The reconstructed geometric information is input into the attribute encoder as additional information.

[0098] As shown in Figure 4, attribute encoding can be achieved through the following units:

[0099] A color space transform (Transform colors) unit 221 , an attribute conversion (Transfer attributes) unit 222 , an attribute prediction unit 223 , a quantization coefficient (Quantize coefficients) unit 224 and a second encoding unit 225 .

[0100] It should be noted that the point cloud encoder 200 may include more, fewer, or different functional components than those shown in FIG. 4 .

[0101] The color space conversion unit 221 can be used to convert the RGB color space of the point in the point cloud into YCbCr format or other formats. If the attribute information being processed is color information, the original color also needs to be converted into a YUV color space that is more consistent with the visual characteristics of the human eye.

[0102] Attribute conversion unit 222 is used for attribute recoloring, that is, for converting the attribute information of points in the point cloud to minimize attribute distortion. Because geometric information changes after geometry encoding, it is necessary to reassign attribute values ​​to each geometrically encoded point. For example, attribute conversion unit 222 can be used to obtain the original value of the attribute information of the point (attribute original value). For example, the attribute information can be the color information of the point.

[0103] After the original value of the attribute information of the point is converted by the attribute conversion unit 222 (attribute recoloring), the point in the point cloud is predicted.

[0104] The attribute prediction unit 223 can be used to perform attribute prediction on the attribute information. First, the point cloud needs to be reordered using the Morton code (of course, other ordering methods can also be used). Therefore, the traversal order of the attribute coding is the Morton order (or the order corresponding to other ordering methods). In this embodiment, the attribute prediction method can be a single-point prediction based on the Morton order, that is, tracing back one point from the current point to be encoded according to the Morton order, and the point found is the prediction reference point of the current point to be encoded, and then the attribute reconstruction value of the prediction reference point is used as the attribute prediction value.

[0105] The quantization coefficient unit 224 may be used to quantize the residual value of the attribute information of the point. For example, if the quantization coefficient unit 224 is connected to the attribute prediction unit 212, the quantization coefficient unit 224 may be used to quantize the residual value of the attribute information of the point output by the attribute prediction unit 223.

[0106] For example, the residual value of the attribute information of the point output by the attribute prediction unit 223 is quantized using a quantization step size to improve system performance.

[0107] The second encoding unit 225 may be configured to perform entropy encoding on the residual value of the attribute information of the point to obtain an attribute code stream, wherein the attribute code stream may be bit stream information.

[0108] According to the above description, in the geometric encoding part of the encoder, the original geometric information is first preprocessed, the geometric origin is normalized to the minimum position in the point cloud space through coordinate translation, and the geometric information is converted from floating point numbers to integers through coordinate quantization to facilitate subsequent regularization processing; then the regularized geometric information is geometrically encoded, and the point cloud space is recursively divided and encoded using an octree structure; the geometric information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream, and on the other hand, geometric reconstruction is performed in the encoder, and the reconstructed geometric information is input into the attribute encoder as additional information. In the attribute coding part, the original attribute information is first preprocessed. Since the geometric information changes after geometric coding, it is necessary to reallocate the attribute value for each point after geometric coding. This process is called attribute recoloring. In addition, if the processed attribute information is color information, the original color needs to be transformed into a YUV color space that is more in line with the visual characteristics of the human eye. Then, the attribute information after preprocessing is attribute encoded. Attribute encoding first requires reordering the point cloud. The reordering method is Morton code, so the traversal order of attribute encoding is Morton order. The attribute prediction method in PCRM is single-point prediction based on Morton order, that is, tracing back one point from the current point to be encoded according to the Morton order. The point found is the prediction reference point of the current point to be encoded. Then the attribute reconstruction value of the prediction reference point is used as the attribute prediction value, and the attribute residual is the difference between the attribute value of the current point to be encoded and the attribute prediction value. Finally, the residual is quantized and the quantized residual is input into the attribute entropy encoder to form an attribute code stream.

[0109] FIG5 is a schematic structural diagram of an optional point cloud decoder 300 provided in an embodiment of the present application.

[0110] As shown in Figure 5, the decoder 300 can obtain the point cloud code stream from the encoding device and obtain the geometric information and attribute information of the points in the point cloud by parsing the code. The decoding of the point cloud includes geometric decoding and attribute decoding.

[0111] The process of geometric decoding includes: performing arithmetic decoding on the geometric code stream; constructing an octree and then merging it to reconstruct the geometric information of the point to obtain the reconstructed geometric information of the point; performing coordinate transformation on the reconstructed geometric information of the point to obtain the geometric information of the point.

[0112] The attribute decoding process includes: obtaining the residual value of the attribute information of the point in the point cloud by parsing the attribute code stream; obtaining the residual value of the attribute information of the point after dequantization by dequantizing the residual value of the attribute information of the point; reconstructing the information based on the position information of the point obtained in the geometric decoding process, and performing point cloud prediction to obtain the predicted value, and adding the predicted value to the residual value to obtain the reconstructed value of the attribute information of the point; performing color space deconversion on the reconstructed value of the attribute information of the point to obtain the decoded point cloud.

[0113] As shown in Figure 5, geometric decoding can be achieved through the following units:

[0114] a first decoding unit 311 , an octree synthesizing unit 312 , a geometry reconstruction unit 313 , and an inverse transform coordinates unit 314 .

[0115] As shown in Figure 5, attribute decoding can be achieved through the following units:

[0116] The second decoding unit 321 , the inverse quantization coefficient unit 322 , the attribute prediction unit 323 and the inverse color space transformation unit 324 .

[0117] The decoder also adopts the method of decoding geometry and attributes separately. In the geometry decoding part, the geometry code stream is first entropy decoded by the first decoding unit 311 to obtain the geometric information of each point cloud node, and then the octree structure is constructed by the octree analysis unit 312 in the same way as the geometry encoding. The decoded geometry is combined to reconstruct the coordinate transformed geometry information expressed by the octree structure. On the one hand, the geometry information is dequantized and detranslated respectively by the geometry reconstruction unit 313 and the coordinate inverse conversion unit 314 to obtain the decoded geometry information. On the other hand, the geometry information expressed by the octree structure is input into the attribute decoder as additional information.

[0118] In the attribute decoding part, the Morton order is constructed in the same way as the encoding end, and the attribute code stream is entropy decoded by the second decoding unit 321 to obtain the quantized residual information; then the quantized residual information is dequantized by the dequantization coefficient unit 322 to obtain the point cloud residual; in the same way as the attribute encoding, the attribute prediction value of the current point to be decoded is obtained by the attribute prediction unit 323, and then the attribute prediction value is added to the residual value to restore the YUV attribute value of the current point to be decoded; finally, the color space inverse transformation is performed by the color space inverse conversion unit 324 to obtain the decoded attribute information.

[0119] It should be noted that decompression is the inverse process of compression. Similarly, the functions of each unit in the decoder 300 can refer to the functions of the corresponding units in the encoder 200. In addition, the point cloud decoder 300 may include more, fewer, or different functional components than those in Figure 5.

[0120] The above is the basic process of the point cloud codec under the codec framework. With the development of technology, some modules or steps of the framework or process may be optimized. This application is applicable to the basic process of the point cloud codec based on the G-PCC codec framework, but is not limited to this framework and process.

[0121] Before introducing the specific point cloud encoding / decoding method proposed in the embodiment of the present application, the encoding / decoding method of the color component and attribute component in the point cloud is first introduced.

[0122] Taking the algorithm used for attribute compression as an example, the technical routes for attribute encoding / decoding can be divided into the following two types:

[0123] Technical Route 1: Prediction branch, that is, attribute compression adopts a prediction-based method;

[0124] Technical route 2: Transformation branch, that is, attribute compression adopts a transformation-based method, which includes two transformation algorithms, one is wavelet transform and the other is k-ary discrete cosine transform (DCT).

[0125] In related technologies, the AVS PCC platform is usually used to encode / decode attribute residuals. The specific implementation steps are as follows:

[0126] The encoder / decoder sequentially encodes / decodes the quantized residuals of the attributes of each point in the point cloud using the same preset order. The preset order can be the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc. The attributes of the points can be color, reflectivity, etc. The prediction, transformation, and quantized residual steps can be increased or decreased, and this application does not impose any restrictions on this.

[0127] It should be noted that, in the embodiment of the present application, the color attribute of a point can be in any format that represents color components, such as RGB format, YUV format, YUV format, UVY format, etc. In addition, the present application does not impose any restrictions on the order of the various color components.

[0128] When the color attribute of the point cloud is at the encoding end, the encoding end encodes the quantized residual of the color component of the encoding point, including the following steps:

[0129] When the quantization residuals of the three color components of the point to be coded are not all zero:

[0130] a) Using the "color_first_comp_zero" syntax element to indicate whether the quantization of the first color component of the point to be encoded is 0, the "color_first_comp_zero" flag is encoded. If the quantization residual of the first color component of the point to be encoded is 0, the "color_first_comp_zero" flag is encoded to 1, and step b) is executed; if the quantization of the first color component of the point to be encoded is not 0, the "color_first_comp_zero" flag is encoded to 0, and step e) is executed;

[0131] b) using the "color_second_comp_zero" syntax element to indicate whether the quantization residuals of the first color component and the second color component of the point to be encoded are both 0, and encoding the "color_second_comp_zero" flag. If the quantization residuals of the first color component and the second color component of the point to be encoded are both 0, then encoding the "color_second_comp_zero" flag as 1, and executing step c); if the quantization residuals of the first color component and the second color component of the point to be encoded are both not 0, then encoding the "color_second_comp_zero" flag as 0, and executing step d);

[0132] c) Encode the quantized residual of the third color component of the point to be encoded, and the encoding ends;

[0133] d) respectively encode the quantized residuals of the second color component and the third color component of the point to be encoded, and the encoding ends;

[0134] e) Encode the quantized residuals of the first color component, the second color component, and the third color component of the point to be encoded respectively, and the encoding ends.

[0135] The encoding process of the color component to be encoded (value to be encoded) of each point to be encoded includes the following steps:

[0136] a) Use the "color_level_equal_zero" syntax element to indicate whether the value to be encoded is equal to 0, and encode the "color_level_equal_zero" flag. If the value to be encoded is 0, the "color_level_equal_zero" flag is coded to 1, and the encoding of the value to be encoded is completed; if the value to be encoded is not 0, the "color_level_equal_zero" flag is 0, and step b) is executed;

[0137] b) Use the "color_level_equal_one" syntax element to indicate whether the value to be encoded is equal to 1, and encode the "color_level_equal_one" flag. If the value to be encoded is 1, the "color_level_equal_one" flag is 1, and the encoding of the value to be encoded is complete; if the value to be encoded is not 1, the "color_level_equal_one" flag is 0, and step b) is executed;

[0138] c) Using the "color_level_parity" syntax element to mark the parity of the value to be encoded, that is, the "color_level_parity" syntax element represents the remainder of the value to be encoded divided by 2, and using the "color_level_minus2_div2_eq0" syntax element to mark whether the quotient of the value to be encoded minus 1 and then divided by 2 is equal to 0, encoding the "color_level_parity" flag and the "color_level_minus2_div2_eq0" flag. If the quotient of the value to be encoded minus 1 and then divided by 2 is equal to 0, then the "color_level_minus2_div2_eq0" flag is coded to 1, and the encoding of the value to be encoded is completed; if the quotient of the value to be encoded minus 1 and then divided by 2 is not equal to 0, then the "color_level_minus2_div2_eq0" flag is coded to 0, and step d) is executed;

[0139] d) Use the "color_level_minus4_div2" syntax element to mark the quotient of the value to be encoded minus 4 and divided by 2, encode the value of "color_level_minus4_div2", and the encoding of the value to be encoded is completed.

[0140] It should be noted that the value to be encoded here is the absolute value of the color quantization residual or the value obtained by subtracting 1 from the absolute value of the color quantization residual.

[0141] Exemplarily, when it is determined that the quantization residual of the first color component of the point to be encoded is not 0, when encoding the quantization residual of the first color component, the absolute value of the quantization residual of the first color component can be subtracted by 1 first, and then the quantization residual of the first color component after subtraction by 1 can be encoded; similarly, when it is determined that the quantization residual of the second color component of the point to be encoded is not 0, when encoding the quantization residual of the second color component, the absolute value of the quantization residual of the second color component can be subtracted by 1 first, and then the quantization residual of the second color component after subtraction by 1 can be encoded; when it is determined that the quantization residual of the first color component and the second color component of the point to be encoded is 0, indicating that the quantization residual of the third color component of the point to be encoded is not 0, then when encoding the quantization residual of the third color component, the absolute value of the quantization residual of the third color component can be subtracted by 1 first, and then the quantization residual of the third color component after subtraction by 1 can be encoded.

[0142] When the color attribute of the point cloud is at the decoding end, the decoding end encodes the quantized residual of the color component of the encoding point, including the following steps:

[0143] a) decoding the "color_first_comp_zero" flag; if the "color_first_comp_zero" flag is 1, it indicates that the quantization residual of the first color component of the point to be encoded is 0, and step b) is executed; if the "color_first_comp_zero" flag is 0, it indicates that the quantization residual of the first color component of the point to be encoded is not 0, and step d) is executed;

[0144] b) decoding the "color_second_comp_zero" flag; if the "color_second_comp_zero" flag is 1, it indicates that the quantization residual of the second color component of the point to be encoded is 0, and the quantization residual of the third color component of the point to be encoded is decoded, and the decoding of the point to be encoded is completed; if the "color_second_comp_zero" flag is 0, it indicates that the quantization residual of the second color component of the point to be encoded is not 0, and step c) is executed;

[0145] c) respectively decoding the quantized residuals of the second color component and the third color component of the point to be encoded, and decoding of the point to be encoded is completed;

[0146] d) respectively decoding the quantized residuals of the first color component, the second color component, and the third color component of the point to be encoded, and decoding of the point to be encoded is completed.

[0147] The decoding process of the quantized residual (to-be-decoded value) of the to-be-decoded color component of each to-be-encoded point includes the following steps:

[0148] a) Decode the "color_level_equal_zero" flag. If the "color_level_equal_zero" flag is 1, the value to be decoded is 0, and the decoding of the value to be decoded is completed; if the "color_level_equal_zero" flag is 0, execute step b);

[0149] b) decoding the "color_level_equal_one" flag. If the "color_level_equal_one" flag is 1, the value to be decoded is 1, and the decoding of the value to be decoded is completed. If the "color_level_equal_one" flag is 1, executing step c);

[0150] c) Decode the "color_level_parity" flag and the "color_level_minus2_div2_eq0" flag. If the "color_level_minus2_div2_eq0" flag is 1, it means that the quotient of the value to be encoded minus 1 and then divided by 2 is equal to 0, that is, parity = 0, then the value to be decoded is (2+parity), and the decoding of the value to be decoded is completed; if the "color_level_minus2_div2_eq0" flag is 0, it means that the quotient of the value to be encoded minus 1 and then divided by 2 is not equal to 0, then execute step d).

[0151] For example, assuming that the "color_level_parity" flag of the value to be decoded is 0 and the "color_level_minus2_div2_eq0" flag of the value to be decoded is 0, the value of the value to be decoded is (2+0)=2; assuming that the "color_level_parity" flag of the value to be decoded is 1 and the "color_level_minus2_div2_eq0" flag of the value to be decoded is 0, the value of the value to be decoded is (2+1)=3.

[0152] d) Decode the "color_level_minus4_div2" flag. The value to be decoded is (4+parity+(color_level_minus4_div2<<1)). The decoding of the value to be decoded is completed. The operator "<<" indicates a left shift of color_level_minus2_div2_eq0, that is, the value of color_level_minus2_div2_eq0 is multiplied by 2.

[0153] For example, assuming that the “color_level_parity” flag of the value to be decoded is 1 and the “color_level_minus4_div2” flag of the value to be decoded is 0, the value to be decoded is (4+1+0)=5; assuming that the “color_level_parity” flag of the value to be decoded is 0 and the “color_level_minus4_div2” flag of the value to be decoded is 1, the value to be decoded is (4+0+1×2)=6; assuming that the “color_level_parity” flag of the value to be decoded is 1 and the “color_level_minus4_div2” flag of the value to be decoded is 1, the value to be decoded is (4+1+1×2)=7.

[0154] The Point Cloud Reference Model (PCRM) currently uses a context-based encoding / decoding approach for all binarized codewords when encoding / decoding non-zero attribute quantization residuals. For example, if the quantization residual of a color component of a point to be encoded is 10, the binarization process for the value to be encoded is:

[0155] 1) The value to be encoded (10) is not 0, so the "color_level_equal_zero" flag of the value to be encoded is 0;

[0156] 2) The value to be encoded (10) is not 1, so the "color_level_equal_one" flag of the value to be encoded is 0;

[0157] 3) The remainder of the value to be encoded (10) divided by 2 is 0, so the "abs_level_minus1_parity" flag of the value to be encoded is 0;

[0158] 4) The quotient of the value to be encoded (10) minus 2 and then divided by 2 is not 0, so the "color_level_minus2_div2_eq0" flag of the value to be encoded is 0;

[0159] 5) The quotient of the value to be encoded (10) minus 4 and then divided by 2 is 3. 3 is further binarized. Taking the second-order exponential Golomb coding as an example, the result of binarization of 3 is 011.

[0160] 6) Combining steps 1) to 4), for the value to be encoded with a reflectivity quantization residual of 10, the code word result after the value to be encoded is binarized is 0000011.

[0161] It should be noted that the current PCRM platform uses context-based coding for all codewords after the quantization residual is binarized. This presents significant challenges for hardware implementation, as hardware can typically process 4-6 bypass-coded bits (bins) per clock cycle, but only one context-coded bit. From a hardware throughput perspective, using context coding for all bits would result in low hardware throughput efficiency.

[0162] In an embodiment of the present application, a point cloud encoding method and a point cloud decoding method are proposed, specifically involving the attribute prediction part, specifically involving the second encoding unit 225 of Figure 4, and the part corresponding to the second decoding unit 321 of Figure 5, which can improve the hardware throughput of the encoder / decoder, thereby improving the encoding / decoding efficiency.

[0163] In the attribute prediction part of point cloud compression technology, for color attributes, at the encoding end, the current node (current point) is mainly predicted with reference to its adjacent nodes to obtain the attribute prediction value. The predicted attribute prediction value is used to calculate the residual information, and the quantized residual information is transmitted to the decoding end; after the decoding end receives and parses the bit stream, the residual information is obtained through inverse transformation and inverse quantization. The decoding end predicts the attribute prediction value using the same process, and superimposes it with the residual information to obtain the attribute reconstruction value of the current node.

[0164] The following is a detailed description of a point cloud decoding method proposed in an embodiment of the present application in conjunction with the attribute prediction part.

[0165] The present application provides a point cloud decoding method, which is applied to a decoder. As shown in FIG6 , the method may include:

[0166] S101: Decoding first to-be-decoded syntax element information of the current color component at a current point using a context decoding method or a bypass decoding method for the current color component;

[0167] S102. Use a bypass decoding method to decode the second to-be-decoded syntax element information of the current color component of the current point; the codeword corresponding to the second to-be-decoded syntax element information meets a preset codeword condition; the first to-be-decoded syntax element information is the to-be-decoded information of the current point except the second to-be-decoded syntax element information.

[0168] In the embodiment of the present application, the current point is at least one point in the point cloud currently to be decoded, and may also be a combination of multiple points, which is not limited in the present application.

[0169] The decoding method provided in the embodiment of the present application is applied in a process in which a decoder decodes the decoded values ​​of the quantized residuals of each color component of the color attribute information.

[0170] In an embodiment of the present application, after receiving the code stream transmitted by the encoder, the decoder parses the code stream to obtain multiple syntax element information. In this embodiment of the present application, the multiple syntax element information can be at least one of the first syntax element information to be decoded and the second syntax element information to be decoded.

[0171] In an embodiment of the present application, color attribute information represents the color, brightness, color difference, and other information of the current point. The color attribute information can be information in any color space. For example, the color attribute information can be RGB information. For another example, the color attribute information can be brightness and chromaticity (YCbCr, YUV) information. For example, Y represents brightness (Luma), Cb (U) represents blue component information, Cr (V) represents red component information, U and V represent chromaticity (Chroma) for describing color difference information, or other color component representations, which are not limited in the embodiment of the present application.

[0172] In an embodiment of the present application, a color component may include at least one of the following: a first color component, a second color component, and a third color component. For example, the first color component may be a luminance color component, and the second and third color components may be chrominance color components. For example, the second color component may be a blue chrominance color component, and the third color component may be a red chrominance color component; alternatively, the second color component may be a red chrominance color component, and the third color component may be a blue chrominance color component. This application does not impose any limitation on this.

[0173] It should be noted that in the embodiments of the present application, the first color component is the first, the second color component is the second, and the third color component is the third. However, the order of the color components is not limited. Therefore, for YUV, the first color component can be Y, the second color component can be U, and the third color component can be V. For UVY, the first color component can be U, the second color component can be V, and the third color component can be Y. For UYV, the first color component can be U, the second color component can be Y, and the third color component can be V, and so on. This embodiment of the present application does not limit this.

[0174] The embodiment of the present application takes the current quantization parameter of a current color component as an example to illustrate the embodiment of the present application. In the embodiment of the present application, the current color component can be a luminance color component or a chrominance color component, wherein, when the current color component is a chrominance color component, it can be a blue chrominance color component, a red chrominance color component, etc., and the embodiment of the present application does not impose any restrictions on this. It should be noted that, in the embodiment of the present application, the encoding value / decoding value of the current quantization residual can be the value after the absolute value of the current quantization residual is reduced by one, and the embodiment of the present application does not impose any restrictions on this.

[0175] In an embodiment of the present application, the first syntax element information to be decoded obtained by the decoder through the bitstream, i.e., syntax element information that does not meet the preset codeword condition, can be decoded using a context decoding method or a bypass decoding method to determine the decoded value of the current quantized residual of the current color component. The second syntax element information to be decoded obtained by the decoder through the bitstream that meets the preset codeword condition is parsed using the bypass decoding method to determine the decoded value of the current quantized residual of the current color component.

[0176] In the embodiment of the present application, the codeword corresponding to the second syntax element information to be decoded meets the preset codeword condition; the first syntax element information to be decoded is the information to be decoded at the current point except the second syntax element information to be decoded.

[0177] In some embodiments of the present application, the preset codeword condition includes a first preset codeword condition or a second preset codeword condition;

[0178] The first preset codeword condition includes: codewords other than the first N codewords after the first syntax element information is binarized; wherein N is an integer greater than or equal to 0;

[0179] The second preset codeword condition includes: codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized; wherein K and L are both integers greater than or equal to 0;

[0180] The first syntax element information is non-binarized syntax element information corresponding to the current color component.

[0181] In some embodiments of the present application, K is preset or obtained by parsing the code stream; N is preset or obtained by parsing the code stream; and L is preset or obtained by parsing the code stream. This embodiment of the present application does not limit this.

[0182] It should be noted that the encoding of the current quantized residual of the current color component is encoded as a binary string. Due to different encoding methods, the combination of syntax element information parsed by the decoder during decoding is different, which is not limited in the embodiments of the present application.

[0183] In this embodiment of the present application, non-binarized syntax element information obtained during encoding is used as the first syntax element information, and the remaining information is used as at least one syntax element information. Because the first syntax element information is binarized during encoding and then written into the bitstream, during decoding, the decoder needs to use context decoding or bypass decoding for the first information in the first syntax element information that meets the preset codeword condition. Second information corresponding to the first syntax element information that does not meet the preset codeword condition is decoded using bypass decoding.

[0184] In some embodiments of the present application, the first syntax element information to be decoded includes first information in the first syntax element information that does not meet a preset codeword condition. A context decoding method or a bypass decoding method is used to decode the codeword that does not meet the preset codeword condition, and first information corresponding to the first syntax element information is determined. The first syntax element information represents a value obtained by subtracting a fifth preset value from a decoded value of a current quantized residual. The fifth preset value may be 1.

[0185] In some embodiments of the present application, the second syntax element information to be decoded includes second information in the first syntax element information that meets the preset codeword condition; the decoder uses a bypass decoding method to decode the codeword that meets the preset codeword condition to determine the second information corresponding to the first syntax element information.

[0186] In an embodiment of the present application, a context decoding method or a bypass decoding method is used to decode codewords that do not meet the first codeword condition, and first information corresponding to the first syntax element information (i.e., the first N codewords) is determined, where the first syntax element information represents a value of the decoded value of the current quantized residual minus a fifth preset value. Alternatively, a context decoding method or a bypass decoding method is used to decode codewords that do not meet the second codeword condition, and first information corresponding to the first syntax element information (i.e., the first K codewords of the prefix code and / or the first L codewords of the suffix code) is determined.

[0187] Exemplarily, the first syntax element information may be represented as color_level_minus1.

[0188] In an embodiment of the present application, after obtaining the first information and the second information, the decoder can restore and determine the non-binary first syntax element information based on the first information and the second information; and determine the decoded value of the current quantized residual based on the first syntax element information.

[0189] In an embodiment of the present application, the first syntax element information can represent the decoded value of the current quantized residual minus the value of the fifth preset value. Therefore, after restoring the first syntax element information, the decoded value of the current quantized residual can be obtained by adding the value of the first syntax element information to the value of the fifth preset value.

[0190] In the embodiments of the present application, the meaning of the first syntax element information determined by the encoder may vary depending on the encoding method, and this embodiment of the present application does not limit this. In the process where the decoder can directly decode the first syntax element information, the first syntax element information in this case may represent the value of the decoded value of the current quantized residual minus the fifth preset value. Examples of other meanings will be given in subsequent embodiments.

[0191] In the embodiment of the present application, the first information and the second information are both binary codewords.

[0192] In an embodiment of the present application, the decoder may directly decode the first syntax element information during decoding. If there is at least one syntax element information other than the first syntax element information, the decoder may continue to decode the at least one syntax element information. The embodiment of the present application does not limit the execution order of the decoding of the at least one syntax element information and the first syntax element information.

[0193] In some embodiments of the present application, the decoder may also use a context decoding method or a bypass decoding method to decode at least one syntax element information.

[0194] It should be noted that at least one syntax element information is binary syntax element information, which is different from the first syntax element information. The value of the at least one syntax element information can be a first preset value or a second preset value, and the value of the first syntax element information can be greater than 1, which is not limited in this embodiment of the present application.

[0195] In the embodiment of the present application, at least one syntax element information includes at least one of the following:

[0196] second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information;

[0197] The second syntax element information represents whether the decoded value of the current quantized residual of the current color component is the first value;

[0198] The third syntax element information represents whether the decoded value of the current quantized residual of the current color component is the second value;

[0199] The fourth syntax element information represents the parity of the decoded value of the current quantized residual of the current color component;

[0200] The fifth syntax element information represents whether a quotient of a decoded value of a current quantized residual of a current color component subtracted from a third preset value and divided by two is a first target value.

[0201] In the embodiment of the present application, the first syntax element information to be decoded and the second syntax element information to be decoded correspond to information related to the current quantized residual corresponding to the current color component.

[0202] In some embodiments of the present application, the first syntax element information to be decoded includes at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, fifth syntax element information, and first information in the first syntax element information that does not meet the preset codeword condition; the second syntax element information to be decoded includes: second information in the first syntax element information that meets the preset codeword condition.

[0203] It should be noted that the first value may be 0 and the second value may be 1, which is not limited in the embodiment of the present application.

[0204] In the embodiment of the present application, the first preset value and the second preset value are different, and the first preset value and the second preset value can be in parameter form or in digital form, which is not specifically limited here.

[0205] The at least one syntax element information may be a parameter written in a profile, or may be a value of a flag, which is not specifically limited here.

[0206] For example, taking flag as an example, there are two ways to set the flag: an enable flag (enable_flag) and a disable flag (disable_flag). Assuming that the value of the enable flag is the second preset value and the value of the disable flag is the first preset value; then for the first preset value and the second preset value, the first preset value can be set to 0 and the second preset value can be set to 1; or, the second preset value can also be set to true (true) and the first preset value can also be set to false (false); however, this is not specifically limited in the embodiments of the present application.

[0207] In some embodiments of the present application, when at least one syntax element is a second syntax element, the decoder may obtain the second syntax element through context decoding or bypass decoding when decoding the decoded value of the current quantized residual. When the second syntax element is a first preset value, the decoded value representing the current quantized residual is not the first value, that is, not zero. Therefore, the decoder may continue decoding the first syntax element, using context decoding or bypass decoding to decode codewords that do not meet the preset codeword condition to determine the first information corresponding to the first syntax element; and using bypass decoding to decode codewords that meet the preset codeword condition to determine the second information corresponding to the first syntax element. Finally, the decoded value of the current quantized residual is determined using the first information and the second information.

[0208] In the embodiment of the present application, the second syntax element information may be represented by color_level_equal_zero. In this case, the first syntax element information may be represented by color_level_minus1.

[0209] In the embodiment of the present application, the value of the second syntax element information, that is, the value of the flag bit of color_level_equal_zero can be the first preset value or the second preset value.

[0210] In an embodiment of the present application, if the second syntax element information (the value of the second syntax element information) is the first preset value, the decoded value representing the current quantized residual is not equal to the first value; if the second syntax element information is the second preset value, the decoded value representing the quantized residual of the current color component is equal to the first value.

[0211] Exemplarily, when the first preset value is 0, it indicates that the decoded value of the current quantization residual is not equal to the first value; when the second preset value is 1, it indicates that the decoded value of the current quantization residual is equal to the first value. Alternatively, when the first preset value is false, it indicates that the decoded value of the current quantization residual is not equal to the first value; when the second preset value is true, it indicates that the decoded value of the current quantization residual is equal to the first value.

[0212] For example, the syntax table description of the above decoding process is shown in Table 1:

[0213] Table 1

[0214] In some embodiments of the present application, second syntax element information is determined; when the second syntax element information is a second preset value, the decoded value representing the current quantized residual is a first value.

[0215] That is, when the first preset value is 0, it indicates that the decoded value of the current quantized residual of the current color component is not the first value; when the second preset value is 1, it indicates that the current quantized residual of the current color component is the first value. Alternatively, when the first preset value is false, it indicates that the decoded value of the current quantized residual of the current color component is not the first value; when the second preset value is true, it indicates that the decoded value of the current quantized residual of the current color component is the first value.

[0216] In another embodiment of the present application, the at least one syntax element information includes: second syntax element information and third syntax element information, when the second syntax element information is a first preset value, a context decoding method or a bypass decoding method is used to determine the third syntax element information; the third syntax element information indicates whether the decoded value of the current quantized residual is the second value;

[0217] When the third syntax element information is a second preset value (1), the current quantized residual is determined to be a second value.

[0218] In an embodiment of the present application, when the second syntax element information is the first preset value, that is, when the decoded value of the current quantized residual is not zero, it is necessary to continue decoding to determine the decoded value of the current quantized residual. The decoder can continue to determine whether the decoded value of the current quantized residual is the second value.

[0219] In the embodiment of the present application, the third syntax element information indicates whether the decoded value of the current quantized residual of the current color component is equal to the second value. The third syntax element information may represent a flag bit of color_level_equal_one.

[0220] In the embodiment of the present application, the value of the third syntax element information, that is, the value of the flag bit of color_level_equal_one can be the first preset value or the second preset value.

[0221] Exemplarily, when the first preset value is 0, it indicates that the decoded value of the current quantization residual is not the second value; when the second preset value is 1, it indicates that the decoded value of the current quantization residual is the second value. Alternatively, when the first preset value is false, it indicates that the decoded value of the current quantization residual is not the second value; when the second preset value is true, it indicates that the decoded value of the current quantization residual is the second value.

[0222] In the embodiment of the present application, the second value may be 1, which is not limited in the embodiment of the present application.

[0223] In this embodiment of the present application, when the third syntax element information is a second preset value (such as 1 or true), the decoded value of the current quantized residual is determined to be a second value (such as 1).

[0224] In some embodiments of the present application, the at least one syntax element information includes: second syntax element information, third syntax element information, fourth syntax element information and fifth syntax element information.

[0225] When the third syntax element information is a first preset value (0), fourth syntax element information and fifth syntax element information are determined; the fourth syntax element information represents the parity of the decoded value of the current quantized residual; the fifth syntax element information represents whether the quotient of the decoded value of the current quantized residual minus the third preset value and then divided by two is a first target value; the fifth syntax element information includes: M syntax element information; wherein M is an integer greater than or equal to 0;

[0226] When any syntax element information in the fifth syntax element information has a second preset value, a decoded value of the current quantized residual is determined according to any syntax element information in the fourth syntax element information and the fifth syntax element information.

[0227] In an embodiment of the present application, when the third syntax element information is a first preset value (such as 0 or false), that is, the decoded value of the current quantized residual is neither 0 nor 1, and it is necessary to continue decoding and determine, first parse the bit stream, and determine the fourth syntax element information and the fifth syntax element information.

[0228] In an embodiment of the present application, the fourth syntax element information represents the parity of the decoded value of the current quantized residual, wherein the fourth syntax element information may represent the flag bit of color_level_parity.

[0229] In the embodiment of the present application, the value of the fourth syntax element information, that is, the value of the flag bit of color_level_parity, can be a first preset value or a second preset value. There is no limitation on how the first preset value and the second preset value express odd and even.

[0230] It should be noted that if the decoded value of the current quantization residual is an even number, the remainder of the decoded value representing the current quantization residual divided by 2 is 0; if the decoded value of the current quantization residual is an odd number, the remainder of the decoded value representing the current quantization residual divided by 2 is 1.

[0231] Exemplarily, when the fourth syntax element information is a first preset value, it indicates that the decoded value of the current quantized residual is an even number; when the fourth syntax element information is a second preset value, it indicates that the decoded value of the current quantized residual is an odd number. Alternatively, when the fourth syntax element information is a first preset value (false), the decoded value of the current quantized residual is an even number; when the fourth syntax element information is a second preset value (true), it indicates that the decoded value of the current quantized residual is an odd number. Alternatively, when the fourth syntax element information is a first preset value, it indicates that the decoded value of the current quantized residual is an odd number; when the fourth syntax element information is a second preset value, it indicates that the decoded value of the current quantized residual is an even number. Alternatively, when the fourth syntax element information is a first preset value (false), the decoded value of the current quantized residual is an odd number; when the fourth syntax element information is a second preset value (true), it indicates that the decoded value of the current quantized residual is an even number.

[0232] Exemplarily, in the embodiment of the present application, the fifth syntax element information represents whether the quotient of the decoded value of the current quantized residual minus the third preset value and divided by two is the first target value.

[0233] Exemplarily, when the first preset value is 0 or false, it indicates that the quotient of the decoded value of the current quantized residual minus the third preset value divided by two is not the first target value; when the first preset value is 1 or true, it indicates that the quotient of the decoded value of the current quantized residual minus the third preset value divided by two is the first target value.

[0234] In this embodiment of the present application, the fifth syntax element information includes: M syntax element information.

[0235] In the embodiment of the present application, the third preset value is 2, 3, 4, 5, etc., and the present application does not impose any limitation on this.

[0236] In an embodiment of the present application, the first target value is a natural number greater than or equal to 1, for example, the first target value is 0, 1, 2, 3, 4, etc., and the present application does not impose any limitation on this.

[0237] In this embodiment of the present application, the first target value corresponds to M syntax element information in the fifth syntax element information, that is, the first target value corresponds to each syntax element information in the fifth syntax element information.

[0238] Exemplarily, the third preset value is 2, the first target value is 0, and the corresponding syntax element information can represent whether the quotient of the decoded value of the current quantized residual minus 2 and then divided by 2 is 0. At this time, the syntax element information can represent the flag bit of color_level_minus2_div2_eq0.

[0239] Exemplarily, the third preset value is 2, the first target value is 1, and the corresponding syntax element information can represent whether the quotient of the decoded value of the current quantized residual minus 2 and then divided by 2 is 1. At this time, the syntax element information can represent the flag bit of color_level_minus2_div2_eq1.

[0240] Exemplarily, the third preset value is 2, the first target value is 2, and the corresponding syntax element information can represent whether the quotient of the decoded value of the current quantized residual minus 2 and then divided by 2 is 2. At this time, the syntax element information can represent the flag bit of color_level_minus2_div2_eq2.

[0241] Exemplarily, the third preset value is 2, and the first target value is 3. The corresponding syntax element information can represent whether the quotient of the decoded value of the current quantized residual minus 2 and then divided by 2 is 3. At this time, the syntax element information can represent the flag bit of color_level_minus2_div2_eq3.

[0242] Exemplarily, the third preset value is 2, and the first target value is 4. The corresponding syntax element information can represent whether the quotient of the decoded value of the current quantized residual minus 2 and then divided by 2 is 4. At this time, the syntax element information can represent the flag bit of color_level_minus2_div2_eq4.

[0243] It should be noted that the "minus" number is the value of the third preset value. The "eq" number is the value of the first target value. The "div" number is the value of the divisor. The embodiment herein uses division by two as an example, i.e., the divisor is 2. However, this application does not limit the value of the divisor, as long as it is consistent with the principles used by the encoder during encoding.

[0244] In some embodiments of the present application, the first target value is a natural number greater than or equal to 0; the number of the first target values ​​is M; the first target value corresponds to the M syntax element information;

[0245] When any syntax element information in the fifth syntax element information is a second preset value, determining a decoded value of a current quantized residual according to any syntax element information in the fourth syntax element information and the fifth syntax element information includes:

[0246] When the i-th syntax element information is a second preset value, determining a decoded value of a current quantized residual according to the fourth syntax element information and the i-th syntax element information; wherein i is a positive integer greater than or equal to 1 and less than M;

[0247] When the i-th syntax element information is a first preset value, continue determining the value of the i+1-th syntax element information until the j-th syntax element information is determined to be a second preset value; or until the value of the M-th syntax element information is determined; where j is a positive integer greater than i and less than or equal to M;

[0248] When the j-th syntax element information is the second preset value, a decoded value of the current quantized residual is determined according to the fourth syntax element information and the j-th syntax element information.

[0249] In an embodiment of the present application, when any syntax element information in the fifth syntax element information is a second preset value, the decoded value of the current quantized residual is expressed as (third preset value + parity + (first target value × 2)), where parity is the value of the remainder determined according to the parity of the fourth syntax element information. That is, if the value of the color_level_parity flag indicates that the decoded value of the current quantized residual is an even number, then the remainder of the decoded value of the current quantized residual divided by 2 is 0, that is, the parity is 0; if the value of the color_level_parity flag indicates that the decoded value of the current quantized residual is an odd number, then the remainder of the decoded value of the current quantized residual divided by 2 is 1, that is, the parity is 1.

[0250] Exemplarily, when the third preset value is 2 and the first target value is 0, when the fifth syntax element information is the second preset value (1 or true), the current quantized residual is determined to be (2+parity) according to the parity indicated by the fourth syntax element information and the fifth syntax element information.

[0251] It should be noted that, at most one syntax element information among the M syntax element information is true, or, all of the M syntax element information are false. That is to say, the decoded value of the current quantized residual may be one of the M first target values, or, the decoded value of the current quantized residual is not a value among the M first target values. The decoder can first determine whether the decoded value of the current quantized residual is one of the M first target values. If so, the first target value corresponding to the syntax element information with the second preset value among the M syntax element information is used as the decoded value of the current quantized residual. If the currently decoded quantized residuals are not values ​​among the M first target values, the decoder continues to decode the first syntax element information to determine the decoded value of the current quantized residual.

[0252] In the embodiment of the present application, the i-th syntax element information is any one of the M syntax element information in the fifth syntax element information, and i is executed cyclically starting from 1.

[0253] In this embodiment of the present application, when the i-th syntax element information is the second preset value (1 or true), the decoded value of the current quantized residual is determined based on the remainder parity indicated by the fourth syntax element information and the first target value corresponding to the i-th syntax element information (the third preset value + parity + (the first target value corresponding to i × 2)). The first target value corresponding to i is the i-th first target value.

[0254] In an embodiment of the present application, when the i-th syntax element information is a first preset value (0 or false), it indicates that the decoded value of the current quantized residual is not the first target value corresponding to i, and the value of the i+1-th syntax element information is continued to be determined until the j-th syntax element information is determined to be a second preset value, or until the value of the M-th syntax element information is determined.

[0255] It should be noted that the condition for the decoder to stop iterating is that a syntax element information with a second preset value is found from the M syntax element information, or the decoder fails to find a syntax element information with the second preset value after searching the M syntax element information.

[0256] In the embodiment of the present application, the j-th syntax element information is the syntax element information greater than i among the M syntax element information in the fifth syntax element information.

[0257] In an embodiment of the present application, when the j-th syntax element information is the second preset value (1 or true), the decoded value of the current quantized residual is determined based on the remainder parity indicated by the fourth syntax element information and the j-th first target value corresponding to the j-th syntax element information (the third preset value + parity + (the first target value corresponding to j × 2)). Wherein, 2 is the value after div and is not limited by this application.

[0258] In some embodiments of the present application, when the fifth syntax element information is all first preset values, first syntax element information (color_level_minus4_div2) is determined; the first syntax element information represents the quotient of the decoded value of the current quantized residual minus the fourth preset value divided by two; wherein the fourth preset value is the initial value plus 2(M-1); and the decoded value of the current quantized residual is determined based on the first syntax element information, wherein the initial value is 4.

[0259] In this embodiment of the present application, the first syntax element information to be decoded includes first information in the first syntax element information that does not satisfy the preset codeword condition; the second syntax element information to be decoded includes second information in the first syntax element information that satisfies the preset codeword condition; and the process of the decoder determining the first syntax element information is as follows:

[0260] A context decoding method or a bypass decoding method is used to decode a codeword that does not meet the preset codeword condition to determine first information corresponding to the first syntax element information; a bypass decoding method is used to decode a codeword that meets the preset codeword condition to determine second information corresponding to the first syntax element information; and non-binarized first syntax element information (color_level_minus4_div2) is determined based on the first information and the second information.

[0261] In the embodiment of the present application, when the fifth syntax element information is all the first preset value (0 or false), the first syntax element information is determined.

[0262] In this embodiment of the present application, the fourth preset value is related to the number (M) of syntax element information included in the fifth syntax element information.

[0263] In the embodiment of the present application, the fourth preset value is the initial value plus 2(M-1). For example, if the initial value is 4 and M is 5, the fourth preset value is 4+2(5-1)=12. If the initial value is 4 and M is 1, the fourth preset value is 4+2(1-1)=4.

[0264] It should be noted that when the fourth preset value is X, it is expressed as minus X. X=initial value plus 2(M-1).

[0265] In an embodiment of the present application, when the fourth preset value is 4, the first syntax element information represents the quotient of the decoded value of the current quantized residual minus 4 and then divided by two, which can be represented as the flag bit of color_level_minus4_div2. When the fourth preset value is 12, the first syntax element information represents the quotient of the encoded value of the current quantized residual minus 12 and then divided by two, which can be represented as the flag bit of color_level_minus12_div2.

[0266] For example, the syntax table description of the above decoding process is shown in Table 2:

[0267] Table 2

[0268] It should be noted that the meaning represented by the first syntax element information varies depending on the number of at least one syntax element information. This embodiment of the present application does not limit the decoding order between the at least one syntax element information, nor does it limit the decoding order between each syntax element information of the at least one syntax element information and the first syntax element information. Tables 1 and 2 exemplify two decoding processes.

[0269] It can be understood that the bypass decoding method is used to decode the second syntax element information to be decoded of the current color component of the current point. The bypass decoding method has a higher throughput than context decoding. Therefore, when the decoder is decoding the second syntax element information to be decoded, changing the decoding method to the bypass decoding method can improve the hardware throughput of the decoder, thereby improving the decoding efficiency of the decoder.

[0270] In the embodiment of the present application, since the preset codeword condition may include a first preset codeword condition or a second preset codeword condition, the decoder can determine which codeword condition to use to implement the decoding process of the first information and the second information by determining the decoding indication information.

[0271] In some embodiments of the present application, the decoder determines decoding indication information; the decoding indication information is used to represent a preset codeword condition adopted for decoding.

[0272] In some embodiments of the present application, a context decoding method or a bypass decoding method is used to decode a codeword that does not meet the preset codeword condition, and a process of determining the first information corresponding to the first syntax element information is as follows:

[0273] When the decoding indication information indicates that the first preset codeword condition is adopted, the first N codewords after the binarization of the first syntax element information are decoded using a context decoding method or a bypass decoding method to determine the first information corresponding to the first syntax element information;

[0274] When the decoding indication information indicates that the second preset codeword condition is adopted, a context decoding method or a bypass decoding method is adopted to decode the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized to determine the first information corresponding to the first syntax element information.

[0275] In some embodiments of the present application, a bypass decoding method is used to decode a codeword that meets a preset codeword condition, and a process of determining the second information corresponding to the first syntax element information is as follows:

[0276] When the decoding indication information indicates that the first preset codeword condition is adopted, a bypass decoding mode is adopted to decode codewords other than the first N codewords after the first syntax element information is binarized, and determine the second information corresponding to the first syntax element information;

[0277] When the decoding indication information indicates that the second preset codeword condition is adopted, the codewords after the binarization of the first syntax element information except the first K codewords of the prefix code and / or the first L codewords of the suffix code are decoded to determine the second information corresponding to the first syntax element information.

[0278] It can be understood that the decoding indication information can be used to determine the codeword conditions used by the decoder during decoding, thereby improving the efficiency and accuracy of decoding.

[0279] In some embodiments of the present application, the decoder may determine the decoding indication information in different ways, as follows:

[0280] Method 1: Parse the code stream to obtain a decoding indication identifier, which is decoding indication information.

[0281] In the embodiment of the present application, for method 1, when the encoder determines the preset codeword condition to be used during encoding, it can be transmitted into the code stream through a flag bit, and the decoder can obtain a decoding indication identifier through decoding, that is, obtain decoding indication information.

[0282] It is understandable that the decoder can parse the decoding indicator through the code stream to reduce the decoding complexity and improve the decoding efficiency.

[0283] Method 2: Obtain the non-binarized sixth grammatical element information of the adjacent point of the current point or the quantized residual of the adjacent point; when the sixth grammatical element information or the quantized residual of the adjacent point is greater than the first preset threshold, determine the decoding indication information as indicating the use of the first preset codeword condition; when the sixth grammatical element information or the quantized residual of the adjacent point is less than or equal to the first preset threshold, determine the decoding indication information as indicating the use of the second preset codeword condition.

[0284] or,

[0285] When the quantization residual of the sixth grammatical element information or the adjacent point is less than or equal to the first preset threshold, the decoding indication information is determined to indicate the use of the first preset codeword condition; when the quantization residual of the sixth grammatical element information or the adjacent point is greater than the first preset threshold, the decoding indication information is determined to indicate the use of the second preset codeword condition.

[0286] In an embodiment of the present application, for method 2, during decoding, the decoder can determine the decoding indication information based on the comparison of the non-binarized sixth grammatical element information of the neighboring points of the current point or the quantized residual of the neighboring points with the first preset threshold.

[0287] The sixth syntax element information is non-binarized syntax element information corresponding to the decoded value of the quantized residual under the current color component of the adjacent point.

[0288] Exemplarily, when the previously encoded / decoded non-binary first syntax element is larger (for example, larger than a first preset threshold), it can be assumed that the current non-binary first syntax element to be encoded / decoded is also larger (larger than the first preset threshold) based on the correlation between adjacent points. Therefore, the current non-binary syntax element to be encoded / decoded is encoded / decoded using the method of the first preset codeword condition, and conversely, the current non-binary first syntax element to be encoded / decoded is encoded / decoded using the method of the first preset codeword condition.

[0289] It is understandable that the decoder uses the same judgment method as the encoder to determine the decoding indication information, which can reduce the transmission of the decoding indication identifier and save transmission codewords.

[0290] Method 3: Determine the binarization order corresponding to the first syntax element information of the current point;

[0291] When the order is less than a second preset threshold, determining the decoding instruction information as an instruction to adopt a first preset codeword condition;

[0292] When the order is greater than or equal to the second preset threshold, the decoding instruction information is determined to indicate the use of the second preset codeword condition. Or,

[0293] When the order is greater than or equal to a second preset threshold, determining that the decoding instruction information indicates that the first preset codeword condition is adopted;

[0294] When the order is less than the second preset threshold, the decoding indication information is determined to indicate the use of the second preset codeword condition.

[0295] In the embodiment of the present application, for the third method, at the decoding end, the decoder can determine the decoding indication information by the agreed binarization order corresponding to the first syntax element information.

[0296] In the embodiment of the present application, the binarization orders corresponding to the various points may be the same, partially the same, or completely different, and the embodiment of the present application does not impose any limitation thereto.

[0297] Exemplarily, taking binarization as Golomb coding as an example, the corresponding relationship between the order, codeword structure and the value of the first syntax element information (CodeNum value range) is shown in Table 3 below.

[0298] Table 3

[0299] Among them, Table 3 is the table of k-order exponential Columbus codes in Table 28.

[0300] For example, when the order is small, such as less than 3 (a second preset threshold), the first non-binarized syntax element to be encoded / decoded is encoded / decoded using the first preset codeword condition. Conversely, the first non-binarized syntax element to be encoded / decoded is encoded / decoded using the second preset codeword condition. For example, when using a third-order Exponential Columbus, for numbers 0 to 7, according to the first preset codeword condition, there will be no bypass coding codeword after binarization, but according to the second preset codeword condition, there will be a bypass coding codeword.

[0301] It is understandable that the decoder uses the same judgment method as the encoder to determine the decoding indication information, which can reduce the transmission of the decoding indication identifier and save transmission codewords.

[0302] The present application provides a point cloud encoding method, which is applied to an encoder. As shown in FIG7 , the method may include:

[0303] S201 : For a current color component, encode first syntax element information to be encoded of the current color component of a current point by adopting a context coding method or a bypass coding method.

[0304] S202 : For the current color component, encode the first to-be-encoded syntax element information of the current color component of the current point by adopting a context coding method or a bypass coding method.

[0305] In the embodiment of the present application, the current point is at least one point in the point cloud to be encoded, or it can be a combination of multiple points, and the present application does not impose any limitation on this.

[0306] The encoding method provided in the embodiment of the present application is applied in the process of encoding the encoding value of each color component of the color attribute information by the encoder.

[0307] In an embodiment of the present application, color attribute information represents the color, brightness, color difference, and other information of the current point. The color attribute information can be information in any color space. For example, the color attribute information can be RGB information. For another example, the color attribute information can be brightness and chromaticity (YCbCr, YUV) information. For example, Y represents brightness (Luma), Cb (U) represents blue component information, Cr (V) represents red component information, U and V represent chromaticity (Chroma) for describing color difference information, or other color component representations, which are not limited in the embodiment of the present application.

[0308] In an embodiment of the present application, a color component may include at least one of the following: a first color component, a second color component, and a third color component. For example, the first color component may be a luminance color component, and the second and third color components may be chrominance color components. For example, the second color component may be a blue chrominance color component, and the third color component may be a red chrominance color component; alternatively, the second color component may be a red chrominance color component, and the third color component may be a blue chrominance color component. This application does not impose any limitation on this.

[0309] It should be noted that in the embodiments of the present application, the first color component is the first, the second color component is the second, and the third color component is the third. However, the order of the color components is not limited. Therefore, for YUV, the first color component can be Y, the second color component can be U, and the third color component can be V. For UVY, the first color component can be U, the second color component can be V, and the third color component can be Y. For UYV, the first color component can be U, the second color component can be Y, and the third color component can be V, and so on. This embodiment of the present application does not limit this.

[0310] The present embodiment of the present application uses the current quantization parameter of a current color component as an example to illustrate the present embodiment of the present application. In the present embodiment of the present application, the current color component can be a luminance color component or a chrominance color component. When the current color component is a chrominance color component, it can be a blue chrominance color component, a red chrominance color component, etc., and the present embodiment of the present application does not impose any limitation on this.

[0311] It should be noted that, in the embodiment of the present application, the encoding value / decoding value of the current quantization residual may be the value obtained by subtracting one from the absolute value of the current quantization residual, which is not limited in the embodiment of the present application.

[0312] In an embodiment of the present application, the encoder may determine the first syntax element information to be encoded and / or the second syntax element information to be encoded based on the encoding value of the current quantized residual of the current color component, and encode them using a combination of context encoding and bypass encoding.

[0313] In an embodiment of the present application, a current quantized residual of a current color component of a current point is determined; and based on the current quantized residual, first syntax element information to be encoded and second syntax element information to be encoded are determined.

[0314] It should be noted that for encoding the first syntax element information to be decoded, that is, the syntax element information that does not meet the preset codeword condition, context coding or bypass coding can be used. Meanwhile, for encoding the second syntax element information to be encoded that meets the preset codeword condition and is obtained by the encoder through the bitstream, bypass coding is used.

[0315] In the embodiment of the present application, the codeword corresponding to the second syntax element information to be decoded meets the preset codeword condition; the first syntax element information to be decoded is the information to be decoded at the current point except the second syntax element information to be decoded.

[0316] In some embodiments of the present application, the preset codeword condition includes a first preset codeword condition or a second preset codeword condition; the first preset codeword condition includes: codewords other than the first N codewords after the first syntax element information is binarized; wherein N is an integer greater than or equal to 0;

[0317] The second preset codeword condition includes: codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized; wherein K and L are both integers greater than or equal to 0;

[0318] The first syntax element information is non-binarized syntax element information corresponding to the coded value of the current quantized residual of the current color component.

[0319] It should be noted that the encoding of the current quantized residual of the current color component is encoded as a binary string. Due to different encoding methods, the combination of syntax element information parsed by the decoder during decoding is different, which is not limited in the embodiments of the present application.

[0320] In this embodiment of the present application, non-binarized syntax element information obtained during encoding is used as the first syntax element information, and the remaining information is used as at least one syntax element information. Because the first syntax element information is binarized during encoding and then written into the bitstream, during the encoding process, the encoder needs to encode the first information in the first syntax element information that meets the preset codeword condition using context encoding or bypass encoding. Second information corresponding to the first syntax element information that does not meet the preset codeword condition is encoded using bypass encoding.

[0321] It should be noted that the encoder may determine the non-binarized first syntax element information of the current quantized residual coding value based on the current quantized residual coding value.

[0322] In some embodiments of the present application, the first syntax element information to be encoded includes first information in the first syntax element information that does not meet a preset codeword condition. The first information corresponding to the first syntax element information that does not meet the preset codeword condition is encoded using a context coding method or a bypass coding method. The first syntax element information represents a value obtained by subtracting a fifth preset value from a coded value of a current quantized residual. The fifth preset value may be 1.

[0323] In some embodiments of the present application, the second syntax element information to be encoded includes second information in the first syntax element information that meets the preset codeword condition; a bypass encoding method is used to encode the second information corresponding to the first syntax element information that meets the preset codeword condition.

[0324] In an embodiment of the present application, a context coding method or a bypass coding method is used to encode the first information (i.e., the first N codewords) that does not meet the first codeword condition, and the first syntax element information represents the value of the encoded value of the current quantized residual minus the fifth preset value. Alternatively, a context coding method or a bypass coding method is used to encode the first information (i.e., the first K codewords of the prefix code and / or the first L codewords of the suffix code) that does not meet the second codeword condition.

[0325] Exemplarily, the first syntax element information may be represented as color_level_minus1.

[0326] In the embodiment of the present application, the first information and the second information are both binarized codewords of the first syntax element information.

[0327] In the embodiment of the present application, the meaning of the first syntax element information determined by the encoder may be different based on different encoding methods, and the embodiment of the present application does not limit this.

[0328] In some embodiments of the present application, the encoder may determine the first syntax element information, or determine at least one syntax element information and the first syntax element information based on the encoded value of the current quantized residual; and then encode the first syntax element information, or the at least one syntax element information and the first syntax element information.

[0329] In an embodiment of the present application, the encoder may directly determine the non-binarized first syntax element information of the current quantized residual encoding value based on the current quantized residual encoding value, and then encode the first syntax element information and transmit it to the decoder. Alternatively, the encoder may determine at least one syntax element information based on the current quantized residual encoding value, and then determine the first syntax element information. Alternatively, the encoder may determine part of the syntax element information in the at least one syntax element information based on the current quantized residual encoding value, then determine the first syntax element information, and finally determine the remaining syntax element information in the at least one syntax element information. The embodiment of the present application does not limit the order in which the at least one syntax element information and the first syntax element information are determined, or the encoding order.

[0330] Exemplarily, in the embodiment of the present application, the encoder determines the non-binarized first syntax element information of the coded value of the current quantized residual based on the coded value of the current quantized residual.

[0331] It should be noted that at least one syntax element information is binary syntax element information, which is different from the first syntax element information. The value of the at least one syntax element information can be a first preset value or a second preset value, and the value of the first syntax element information can be greater than 1, which is not limited in this embodiment of the present application.

[0332] In the embodiment of the present application, at least one syntax element information includes at least one of the following:

[0333] second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information;

[0334] The second syntax element information represents whether the coded value of the current quantized residual of the current color component is the first value;

[0335] The third syntax element information represents whether the coded value of the current quantized residual of the current color component is the second value;

[0336] The fourth syntax element information represents the parity of the coded value of the current quantized residual of the current color component;

[0337] The fifth syntax element information represents whether the quotient of the encoding value of the current quantized residual of the current color component subtracted from the third preset value and divided by two is the first target value.

[0338] In the embodiment of the present application, the first syntax element information to be encoded and the second syntax element information to be encoded correspond to related information of the current quantized residual corresponding to the current color component.

[0339] In some embodiments of the present application, the first grammatical element information to be encoded includes at least one of the following: second grammatical element information, third grammatical element information, fourth grammatical element information, fifth grammatical element information, and first information in the first grammatical element information that does not meet the preset codeword condition; the second grammatical element information to be encoded includes: second information in the first grammatical element information that meets the preset codeword condition.

[0340] It should be noted that the first value may be 0 and the second value may be 1, which is not limited in the embodiment of the present application.

[0341] In the embodiment of the present application, the first preset value and the second preset value are different, and the first preset value and the second preset value can be in parameter form or in digital form, which is not specifically limited here.

[0342] The description of at least one syntax element information is consistent with the description on the decoder side and is not repeated here.

[0343] In some embodiments of the present application, at least one syntax element information of the current color component is encoded using a context coding method or a bypass coding method.

[0344] In some embodiments of the present application, when at least one syntax element information is second syntax element information, when the second syntax element information is a first preset value (0), a context coding method or a bypass coding method is used to encode the first information (for example, the first N codewords) corresponding to the first syntax element information that does not meet the preset codeword condition; and a bypass coding method is used to encode the second information corresponding to the first syntax element information that meets the preset codeword condition.

[0345] When the current quantized residual coding value is the second value, the second syntax element information is determined to be the first preset value (0), and the first syntax element information is determined; the first syntax element information is the current quantized residual coding value minus the fifth preset value (color_level_minus1).

[0346] In the implementation of the present application, the first syntax element information to be encoded includes at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, fifth syntax element information, and first information in the first syntax element information that does not meet the preset codeword condition;

[0347] The second syntax element information to be encoded includes: second information in the first syntax element information that meets a preset codeword condition.

[0348] In an embodiment of the present application, at least one syntax element information includes: second syntax element information and third syntax element information; when the encoding value of the current quantized residual is the first value (0), the second syntax element information of the current color component is determined to be the second preset value (1); the second syntax element information represents whether the encoding value of the current quantized residual is the first value; when the encoding value of the current quantized residual is the second value, the second syntax element information is determined to be the first preset value (0), and the third syntax element information is determined to be the second preset value; the third syntax element information represents whether the encoding value of the current quantized residual is the second value.

[0349] In some embodiments of the present application, the at least one syntax element information includes: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information; and the method further includes:

[0350] When the encoding value of the current quantized residual is neither the second value nor the first value, determining the second syntax element information to be the first preset value, and determining the third syntax element information to be the first preset value;

[0351] Determining, based on a current quantized residual code value, fourth syntax element information and fifth syntax element information; the fourth syntax element information indicates parity of the current quantized residual code value; the fifth syntax element information indicates whether a quotient of the current quantized residual code value subtracted from a third preset value and then divided by two is a first target value; the fifth syntax element information includes: M syntax element information; where M is a positive integer greater than or equal to 1;

[0352] When any syntax element information in the fifth syntax element information has a second preset value, it is determined that other syntax element information in the fifth syntax element information has a first preset value.

[0353] In some embodiments of the present application, when the fifth syntax element information is all first preset values, the first syntax element information (color_level_minus4_div2) is determined based on the coded value of the current quantized residual; the first syntax element information represents the quotient of the coded value of the current quantized residual minus the fourth preset value divided by two; wherein the fourth preset value is the initial value plus 2(M-1). For example, the initial value is 4.

[0354] In some embodiments of the present application, determining the fourth syntax element information and the fifth syntax element information based on the coded value of the current quantized residual includes:

[0355] Determine fourth syntax element information according to a remainder obtained by dividing the current quantized residual coding value by 2;

[0356] When the quotient of the coded value of the current quantized residual obtained by subtracting the third preset value and dividing the result by two is the i-th first target value, determining that the i-th syntax element information corresponding to the i-th first target value is the second preset value; where i is a positive integer greater than or equal to 1 and less than M;

[0357] When a quotient of a coding value of the current quantized residual obtained by subtracting a third preset value and then dividing by two is not an i-th first target value, determining an i-th syntax element information corresponding to the i-th first target value as the first preset value;

[0358] Continue determining the value of the (i+1)th syntax element information until the jth syntax element information is determined to be the second preset value; or until the value of the Mth syntax element information is determined; where j is a positive integer greater than i and less than or equal to M;

[0359] When the j-th syntax element information is the second preset value, it is determined that the j+1-th syntax element information to the M-th syntax element information are all the first preset values.

[0360] It should be noted that the meaning represented by the first syntax element information is different based on the number of at least one syntax element information. The embodiment of the present application does not limit the encoding order between the at least one syntax element information, nor does it limit the encoding order between each syntax element information of the at least one syntax element information and the first syntax element information.

[0361] It should be noted that the above process of determining at least one syntax element information and the first syntax element information is similar to the principle of the decoder and will not be repeated here.

[0362] In this embodiment of the present application, the encoder needs to write the binarized first syntax element information and at least one of the second syntax element information, the third syntax element information, the fourth syntax element information, and the fifth syntax element information into the bitstream; write N into the bitstream; write K into the bitstream; write L into the bitstream, and write the encoding indication information into the bitstream in the form of an identifier for use by the decoder during decoding.

[0363] It can be understood that the encoder uses bypass coding to encode the second syntax element information to be decoded corresponding to the binarized quantized residual of the current point. Since the bypass coding method has a higher throughput than context coding, when the encoder is encoding the second syntax element information to be decoded, changing the coding method to the bypass coding method can improve the hardware throughput of the encoder, thereby improving the coding efficiency of the encoder.

[0364] In the embodiment of the present application, since the preset codeword condition may include a first preset codeword condition or a second preset codeword condition, the encoder can determine which codeword condition to use to implement the encoding process of the above-mentioned first information and second information by determining the encoding indication information.

[0365] In some embodiments of the present application, encoding indication information is determined; the encoding indication information is used to represent a preset codeword condition adopted for encoding.

[0366] In some embodiments of the present application, a process of encoding first information corresponding to first syntax element information that does not meet the preset codeword condition using a context coding method or a bypass coding method is as follows:

[0367] The coding indication information indicates that, when the first preset codeword condition is adopted, a context coding method or a bypass coding method is adopted to encode the first information of the first N codewords after the first syntax element information is binarized;

[0368] When the coding indication information indicates that the second preset codeword condition is adopted, a context coding method or a bypass coding method is adopted to encode the first information of the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized.

[0369] In some embodiments of the present application, a bypass coding method is used to encode the second information corresponding to the first syntax element information that meets the preset codeword condition. The process is as follows:

[0370] The coding indication information indicates that, when the first preset codeword condition is adopted, a bypass coding method is adopted to encode the second information other than the first N codewords after the first syntax element information is binarized;

[0371] The encoding indication information indicates that, under the second preset codeword condition, the second information after the first syntax element information is binarized except for the first K codewords of the prefix code and / or the first L codewords of the suffix code is encoded.

[0372] It is understandable that the coding indication information can be used to determine the codeword conditions used by the encoder during encoding. When the coding indication information is transmitted to the decoder as an identifier, the efficiency and accuracy of decoding can be improved.

[0373] In some embodiments of the present application, the encoder may determine the encoding indication information in different ways, as follows:

[0374] Obtaining the non-binarized first syntax element information or quantized residual of the current point;

[0375] Method 1: When the first syntax element information or the quantization residual is greater than the third preset threshold, determining the encoding indication information to indicate the use of the first preset codeword condition;

[0376] When the first syntax element information or the quantized residual is less than or equal to a third preset threshold, determining the encoding indication information as indicating the use of a second preset codeword condition; or

[0377] When the first syntax element information or the quantized residual is less than or equal to a third preset threshold, determining the encoding indication information as indicating the use of the first preset codeword condition;

[0378] When the first syntax element information or the quantized residual is greater than a third preset threshold, the encoding indication information is determined to indicate the use of a second preset codeword condition.

[0379] In an embodiment of the present application, for method 2, during encoding, the encoder may determine the encoding indication information based on the comparison of the non-binarized first syntax element information of the current point or the quantized residual of the current point with the first preset threshold.

[0380] The first syntax element information is non-binarized syntax element information corresponding to the coded value of the quantized residual under the current color component of the current point.

[0381] Exemplarily, when the previously encoded / decoded non-binary first syntax element is larger (for example, larger than a first preset threshold), the non-binary syntax element to be encoded / decoded is encoded / decoded using the method of the first preset codeword condition; conversely, the non-binary first syntax element to be encoded / decoded is encoded / decoded using the method of the first preset codeword condition.

[0382] It is understandable that the encoder uses the same judgment method as the decoder to determine the encoding indication information, which can reduce the transmission of the decoding indication identifier and save transmission codewords.

[0383] Method 2: Determine the binarization order corresponding to the first syntax element information of the current point;

[0384] When the order is less than a second preset threshold, determining the encoding instruction information as indicating the use of the first preset codeword condition;

[0385] When the order is greater than or equal to the second preset threshold, determining the encoding instruction information as indicating the use of the second preset codeword condition; or

[0386] When the order is greater than or equal to a second preset threshold, determining the encoding instruction information as indicating the use of a first preset codeword condition;

[0387] When the order is less than the second preset threshold, the encoding indication information is determined to indicate the use of the second preset codeword condition.

[0388] In the embodiment of the present application, for the third method, at the encoding end, the encoder can determine the encoding indication information by the agreed binarization order corresponding to the first syntax element information.

[0389] In the embodiment of the present application, the binarization orders corresponding to the various points may be the same, partially the same, or completely different, and the embodiment of the present application does not impose any limitation thereto.

[0390] Exemplarily, taking binarization as Golomb coding as an example, the corresponding relationship between the order, codeword structure and the value of the first syntax element information (CodeNum value range) is shown in Table 3 below.

[0391] Among them, Table 3 is the table of k-order exponential Columbus codes in Table 28.

[0392] For example, when the order is small, such as less than 3 (a second preset threshold), the first non-binarized syntax element to be encoded / decoded is encoded / decoded using the first preset codeword condition. Conversely, the first non-binarized syntax element to be encoded / decoded is encoded / decoded using the second preset codeword condition. For example, when using a third-order Exponential Columbus, for numbers 0 to 7, according to the first preset codeword condition, there will be no bypass coding codeword after binarization, but according to the second preset codeword condition, there will be a bypass coding codeword.

[0393] It is understandable that the encoder uses the same judgment method as the decoder to determine the encoding indication information, which can reduce the transmission of the decoding indication identifier and save transmission codewords.

[0394] Method three: determining a binary codeword for the first syntax element information;

[0395] Encoding first information that does not meet the first preset codeword condition in the binarized codeword using a context encoding method or a bypass encoding method, and encoding second information that meets the first preset codeword condition using a bypass encoding method, to determine a first number of clock cycles;

[0396] Encoding the first information that does not meet the second preset codeword condition in the binarized codeword using a context encoding method or a bypass encoding method, and encoding the second information that meets the second preset codeword condition using a bypass encoding method, to determine the second number of clock cycles;

[0397] When the second clock cycle is less than the first clock cycle number, determining that the encoding instruction information indicates that a second preset codeword condition is adopted;

[0398] When the first clock cycle is less than the second clock cycle number, the encoding indication information is determined to indicate the use of the first preset codeword condition.

[0399] In an embodiment of the present application, for method three, the encoding end first obtains a binary string of the non-binarized syntax element after binarization (binarized first syntax element information), and calculates the number of clock cycles required to encode the binary string using methods including but not limited to the first preset codeword condition and the second preset codeword condition, and selects the preset codeword condition corresponding to the mode with the least number of clock cycles to determine the encoding indication information.

[0400] In the embodiment of the present application, the preset codeword condition may also include other codeword conditions in addition to the first preset codeword condition or the second preset codeword condition, and the embodiment of the present application is not limited thereto, as long as the portion of the codeword corresponding to the first syntax element information is encoded using a bypass encoding method. In this case, the encoder writes the encoding indication information into the bitstream in the form of an identifier.

[0401] It can be understood that when the encoder judges the number of clock cycles for two preset codeword conditions and selects the codeword condition corresponding to the minimum number of clock cycles for encoding, the time complexity based on the minimum number of clock cycles is low, and therefore, the encoding efficiency can be improved during encoding.

[0402] For example, N=4. The present application provides Example 1:

[0403] On the encoding side, when encoding each color component:

[0404] The first four binarized codewords of color_level_equal_zero, color_level_equal_one, color_level_parity, color_level_minus2_div2_eq0, and color_level_minus4_div2 that may appear are coded based on context / bypass, while the codewords after the first four binarized codewords of color_level_minus4_div2 are coded based on bypass.

[0405] On the decoding side, when decoding each color component:

[0406] The first four binarized codewords of color_level_equal_zero, color_level_equal_one, color_level_parity, color_level_minus2_div2_eq0, and color_level_minus4_div2 that may appear are decoded using a context / bypass method, while the codewords after the first four binarized codewords of color_level_minus4_div2 are decoded using a bypass method.

[0407] For example, K and L = 2. The present application provides Example 2:

[0408] On the encoding side, when encoding each color component:

[0409] The context / bypass-based coding method is adopted for the first two codewords of the binarized prefix code and the first two codewords of the suffix code of color_level_equal_zero, color_level_equal_one, color_level_parity, color_level_minus2_div2_eq0, and color_level_minus4_div2 that may appear, while the bypass coding method is adopted for the first two codewords of the binarized prefix code of color_level_minus4_div2 and the codewords after the first two codewords of the suffix code.

[0410] On the decoding side, when decoding each color component:

[0411] The context / bypass based decoding method is adopted for the first two codewords of the binarized prefix code and the first two codewords of the suffix code of color_level_equal_zero, color_level_equal_one, color_level_parity, color_level_minus2_div2_eq0, and color_level_minus4_div2 that may appear, while the bypass decoding method is adopted for the first two codewords of the binarized prefix code of color_level_minus4_div2 and the codewords after the first two codewords of the suffix code.

[0412] To further illustrate the technical effects of the embodiments of the present application, the solution proposed in the embodiments of the present application was tested on AVS's latest point cloud compression platform PCRM. The general test conditions of AVS PCC include the following four:

[0413] Test condition 1 (C1): limit-lossy geometry, lossy attributes;

[0414] Test condition 2 (C2): lossless geometry, lossy attributes;

[0415] Test condition 3 (C3): lossless geometry, limit-lossy attributes;

[0416] Test condition 4 (C4): lossless geometry and lossless attributes.

[0417] AVS PCC's general test sequences include five categories: Cat1A, Cat1B, Cat1C, Cat2-frame, and Cat3. Cat1A and Cat2-frame point clouds only contain reflectance attribute information, Cat1B and Cat3 point clouds only contain color attribute information, and Cat1C point clouds contain both color and reflectance attribute information.

[0418] AVS PCC has two technical approaches, differentiated by the algorithm used for attribute compression:

[0419] Technical Route 1: Prediction branch, attribute compression adopts prediction-based method;

[0420] Technical route 2: Transformation branch. Attribute compression adopts a transformation-based method, which includes two transformation algorithms: wavelet transform and k-ary DCT transform.

[0421] The specific test results are shown in the following table.

[0422] Table 4

[0423] Table 5

[0424] Tables 4 and 5 show the prediction branch test results for the solution proposed in Example 1. Table 4 shows the end-to-end attribute rate distortion (EtE Hausdorff BD-AttrRate) test results for five common test sequences. Y, Cb, and Cr represent the color components of the color attribute, refl represents the reflectivity attribute, and color represents the color attribute. It can be seen that although the solution proposed in Example 1 suffers from attribute rate distortion in the prediction branch test results, the distortion loss is not significant and is therefore within an acceptable range. Table 5 shows the bit rate test results (bpip ratio) for five common test sequences. It can be seen that the bit rate of the solution proposed in Example 1 is comparable in the prediction branch test results. In summary, although the solution proposed in Example 1 suffers from attribute rate distortion, compared to related technologies, the solution proposed in Example 1 can effectively improve the encoding / decoding efficiency of the encoder / decoder and the hardware throughput. Therefore, compared to related technologies, the solution proposed in Example 1 can provide a more hardware-friendly implementation.

[0425] Table 6

[0426] Table 7

[0427] Table 8

[0428] Table 9

[0429] Tables 6 and 9 show the test results of the related art and the solution proposed in Example 1 for multi-layer transform branches. Table 6 shows the end-to-end attribute rate-distortion test results for five common test sequences under test conditions of limited geometric loss and attribute loss. It can be seen that the attribute rate-distortion loss of the solution proposed in Example 1 for the multi-layer transform branches under test conditions of limited geometric loss and attribute loss is within an acceptable range. Table 7 shows the attribute rate-distortion test results for five common test sequences under test conditions of lossless geometry and attribute loss. It can be seen that the attribute rate-distortion loss of the solution proposed in Example 1 for the multi-layer transform branches under test conditions of lossless geometry and attribute loss is within an acceptable range. Table 8 shows the attribute rate-distortion test results for the Cat1A common test sequence under test conditions of lossless geometry and limited attribute loss. It can be seen that the attribute rate-distortion loss of the solution proposed in Example 1 for the multi-layer transform branches under test conditions of lossless geometry and limited attribute loss is within an acceptable range. Table 9 shows the bit rate test results of the Cat1A general test sequence under the test conditions of geometric position lossless and attribute lossless. It can be seen that the solution proposed in Example 1 has a similar bit rate in the test results of the prediction branch.

[0430] In summary, although the scheme proposed in Example 1 has attribute rate distortion under the four test conditions, the attribute rate distortion loss of the scheme proposed in Example 1 is within an acceptable range. Moreover, compared with the related art, the scheme proposed in Example 1 can effectively improve the encoding / decoding efficiency of the encoder / decoder and effectively improve the hardware throughput.

[0431] Table 10-1

[0432] Table 10-2

[0433] Among them, Table 10-1 and Table 10-2 are the test results of the solution proposed in Example 1 under the resource-constrained prediction transformation branch. Table 10-1 shows the end-to-end attribute rate-distortion test results of 5 general test sequences under the test conditions of limited loss in geometric position and loss in attribute. It can be seen that the loss of attribute rate distortion of the test results of the multi-layer transformation branch of the solution proposed in Example 1 under the test conditions of limited loss in geometric position and loss in attribute is within an acceptable range. Table 10-2 shows the end-to-end attribute rate-distortion test results of 5 general test sequences under the test conditions of lossless geometric position and loss in attribute. It can be seen that the loss of attribute rate distortion of the test results of the multi-layer transformation branch of the solution proposed in Example 1 under the test conditions of lossless geometric position and loss in attribute is within an acceptable range.

[0434] In an embodiment of the present application, the number of context-based coding codewords used in residual coding of color components is limited to improve throughput and provide a more hardware-friendly implementation method.

[0435] In one embodiment of the present application, a code stream is provided. The code stream is generated by bit encoding information to be encoded, and the information to be encoded includes at least one of the following:

[0436] The second to fifth syntax element information corresponding to each color component, as well as N, K, and L, where N, K, and L are integers greater than or equal to 0; the sign bit of the current quantized residual of the current point corresponding to each color component; and the binary first syntax element information corresponding to each color component, wherein:

[0437] The second syntax element information is used to indicate whether the encoding / decoding value of the current quantized residual of the current color component is a first value;

[0438] The third syntax element information is used to indicate whether the encoding / decoding value of the current quantized residual of the current color component is the second value;

[0439] The fourth syntax element information is used to indicate the parity of the encoding / decoding value of the current quantized residual of the current color component;

[0440] The fifth syntax element information is used to indicate whether the quotient of the encoding / decoding value of the current quantized residual of the current color component minus the third preset value and then divided by two is the first target value;

[0441] The first syntax element information is used to indicate the quotient of the current quantized residual of the current color component minus the fourth preset value and then divided by two; or is used to indicate the value of the current quantized residual minus the fifth preset value;

[0442] The first syntax element information is non-binarized syntax element information corresponding to the current quantized residual.

[0443] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see FIG8 , which shows a schematic structural diagram of a decoder 10 provided by the embodiment of the present application. As shown in FIG8 , the decoder 10 may include: a first determining part 11 and a decoding part 12; wherein,

[0444] The decoding part 12 is configured to decode the first to-be-decoded grammatical element information of the current color component of the current point using a context decoding method or a bypass decoding method for the current color component; and to decode the second to-be-decoded grammatical element information of the current color component of the current point using a bypass decoding method; the codeword corresponding to the second to-be-decoded grammatical element information satisfies a preset codeword condition; and the first to-be-decoded grammatical element information is the to-be-decoded information of the current point other than the second to-be-decoded grammatical element information.

[0445] In some embodiments, the preset codeword condition includes a first preset codeword condition or a second preset codeword condition.

[0446] In some embodiments, the first preset codeword condition includes: codewords other than the first N codewords after the first syntax element information is binarized; wherein N is an integer greater than or equal to 0.

[0447] In some embodiments, the second preset codeword condition includes: codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized; wherein K and L are both integers greater than or equal to 0.

[0448] In some embodiments, the first syntax element information is non-binarized syntax element information corresponding to the current color component.

[0449] In some embodiments, K is preset or obtained by parsing the code stream.

[0450] In some embodiments, N is preset or obtained by parsing the code stream.

[0451] In some embodiments, L is preset or parsed from the code stream.

[0452] In some embodiments, the first syntax element information to be decoded includes first information in the first syntax element information that does not meet a preset codeword condition.

[0453] In some embodiments, the decoding part 12 is also configured to use a context decoding method or a bypass decoding method to decode the codeword that does not meet the preset codeword condition, and determine the first information corresponding to the first syntax element information, where the first syntax element information represents the decoded value of the current quantized residual minus the value of the fifth preset value.

[0454] In some embodiments, the second syntax element information to be decoded includes second information in the first syntax element information that satisfies the preset codeword condition.

[0455] In some embodiments, the decoding part 12 is further configured to use a bypass decoding method to decode the codeword that meets the preset codeword condition and determine the second information corresponding to the first syntax element information.

[0456] In some embodiments, the decoding part 12 is further configured to adopt a context decoding method or a bypass decoding method to parse the code stream and determine at least one syntax element information of the current color component.

[0457] In some embodiments, the at least one syntax element information is at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information.

[0458] In some embodiments, the second syntax element information represents whether a decoded value of a current quantized residual of a current color component is a first value.

[0459] In some embodiments, the third syntax element information represents whether a decoded value of a current quantized residual of a current color component is a second value.

[0460] In some embodiments, the fourth syntax element information represents the parity of the decoded value of the current quantized residual of the current color component.

[0461] In some embodiments, the fifth syntax element information represents whether a quotient of a decoded value of a current quantized residual of the current color component subtracted from a third preset value and divided by two is a first target value.

[0462] In some embodiments, the decoding part 12 is further configured such that when the at least one syntax element information is second syntax element information, a context decoding method or a bypass decoding method is used to decode a codeword that does not meet the preset codeword condition to determine the first information corresponding to the first syntax element information; and a bypass decoding method is used to decode a codeword that meets the preset codeword condition to determine the second information corresponding to the first syntax element information.

[0463] In some embodiments, the at least one syntax element information includes: second syntax element information, the decoder further includes a first determining part 11; wherein,

[0464] The first determining part 11 is configured to determine second syntax element information; when the second syntax element information is a second preset value, determine the decoded value of the current quantized residual to be a first value.

[0465] In some embodiments, the first determining part 11 is further configured to determine non-binarized first syntax element information based on the first information and the second information; and determine a decoded value of a current quantized residual based on the first syntax element information.

[0466] In some embodiments, the at least one syntax element information includes: second syntax element information and third syntax element information.

[0467] In some embodiments, the first determination part 11 is further configured to determine the third syntax element information by using a context decoding method or a bypass decoding method when the second syntax element information is a first preset value; the third syntax element information represents whether the decoded value of the current quantized residual is a second value; when the third syntax element information is a second preset value, determine that the current quantized residual is the second value.

[0468] In some embodiments, the at least one syntax element information includes: second syntax element information, third syntax element information, fourth syntax element information and fifth syntax element information.

[0469] In some embodiments, the first determination part 11 is further configured to determine fourth syntax element information and fifth syntax element information when the third syntax element information is a first preset value; the fourth syntax element information represents the parity of the decoded value of the current quantized residual; the fifth syntax element information represents whether the quotient of the decoded value of the current quantized residual minus the third preset value and then divided by two is a first target value; the fifth syntax element information includes: M syntax element information; wherein M is an integer greater than or equal to 0; when any syntax element information in the fifth syntax element information is a second preset value, the decoded value of the current quantized residual is determined according to any syntax element information in the fourth syntax element information and the fifth syntax element information.

[0470] In some embodiments, the first determination part 11 is further configured to determine the first syntax element information when the fifth syntax element information is all first preset values; the first syntax element information represents the quotient of the decoded value of the current quantized residual minus the fourth preset value divided by two; wherein the fourth preset value is the initial value plus 2; and the decoded value of the current quantized residual is determined based on the first syntax element information.

[0471] In some embodiments, the first target value is a natural number greater than or equal to 0; the number of the first target values ​​is M; and the first target value corresponds to the M syntax element information.

[0472] In some embodiments, the first determination part 11 is further configured to determine the decoded value of the current quantized residual according to the fourth syntax element information and the i-th syntax element information when the i-th syntax element information is a second preset value; wherein i is a positive integer greater than or equal to 1 and less than M; when the i-th syntax element information is the first preset value, continue to determine the value of the i+1-th syntax element information until the j-th syntax element information is determined to be the second preset value; or until the value of the M-th syntax element information is determined; wherein j is a positive integer greater than i and less than or equal to M; when the j-th syntax element information is the second preset value, determine the decoded value of the current quantized residual according to the fourth syntax element information and the j-th syntax element information.

[0473] In some embodiments, the first syntax element information to be decoded includes first information in the first syntax element information that does not satisfy the preset codeword condition; the second syntax element information to be decoded includes second information in the first syntax element information that satisfies the preset codeword condition.

[0474] In some embodiments, the decoding section 12 is further configured to decode a codeword that does not meet the preset codeword condition using a context decoding method or a bypass decoding method to determine the first information corresponding to the first syntax element information; and to decode a codeword that meets the preset codeword condition using a bypass decoding method to determine the second information corresponding to the first syntax element information;

[0475] The first determining part 11 is further configured to determine non-binarized first syntax element information based on the first information and the second information.

[0476] In some embodiments, the first determining part 11 is further configured to determine decoding indication information; the decoding indication information is used to represent a preset codeword condition adopted for decoding.

[0477] In some embodiments, the decoding part 12 is further configured to, when the decoding indication information indicates the use of the first preset codeword condition, use the context decoding method or the bypass decoding method to decode the first N codewords after the first syntax element information is binarized, and determine the first information corresponding to the first syntax element information; when the decoding indication information indicates the use of the second preset codeword condition, use the context decoding method or the bypass decoding method to decode the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized, and determine the first information corresponding to the first syntax element information.

[0478] In some embodiments, the decoding part 12 is further configured to, when the decoding indication information indicates the use of the first preset codeword condition, use a bypass decoding method to decode the codewords other than the first N codewords after the first syntax element information is binarized, and determine the second information corresponding to the first syntax element information; when the decoding indication information indicates the use of the second preset codeword condition, decode the codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized, and determine the second information corresponding to the first syntax element information.

[0479] In some embodiments, the decoding part 12 is further configured to parse the code stream to obtain a decoding indication identifier, where the decoding indication identifier is the decoding indication information.

[0480] In some embodiments, the first determination part 11 is further configured to obtain the non-binarized sixth grammatical element information of the neighboring point of the current point or the quantized residual of the neighboring point; when the sixth grammatical element information or the quantized residual of the neighboring point is greater than the first preset threshold, determine the decoding indication information as indicating the use of the first preset codeword condition; when the sixth grammatical element information or the quantized residual of the neighboring point is less than or equal to the first preset threshold, determine the decoding indication information as indicating the use of the second preset codeword condition; or, when the sixth grammatical element information or the quantized residual of the neighboring point is less than or equal to the first preset threshold, determine the decoding indication information as indicating the use of the first preset codeword condition; when the sixth grammatical element information or the quantized residual of the neighboring point is greater than the first preset threshold, determine the decoding indication information as indicating the use of the second preset codeword condition.

[0481] In some embodiments, the first determination part 11 is further configured to determine the order of binarization corresponding to the first syntax element information of the current point; when the order is less than a second preset threshold, determine the decoding indication information as indicating the use of the first preset codeword condition; when the order is greater than or equal to the second preset threshold, determine the decoding indication information as indicating the use of the second preset codeword condition; or, when the order is greater than or equal to the second preset threshold, determine the decoding indication information as indicating the use of the first preset codeword condition; when the order is less than the second preset threshold, determine the decoding indication information as indicating the use of the second preset codeword condition.

[0482] In some embodiments, the first syntax element information to be decoded includes at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, fifth syntax element information, and first information in the first syntax element information that does not meet the preset codeword condition.

[0483] In some embodiments, the second syntax element information to be decoded includes: second information in the first syntax element information that meets a preset codeword condition.

[0484] FIG9 is a schematic structural diagram of an optional decoder provided in an embodiment of the present application. As shown in FIG9 , an embodiment of the present application provides a decoder including a first memory 13 and a first processor 14; wherein,

[0485] A first memory 13, configured to store computer programs that can be run on the first processor 14;

[0486] The first processor 14 is configured to implement the point cloud decoding method described above when running the computer program.

[0487] It can be understood that the bypass decoding method is used to decode the second syntax element information to be decoded of the current color component of the current point. The bypass decoding method has a higher throughput than context decoding. Therefore, when the decoder is decoding the second syntax element information to be decoded, changing the decoding method to the bypass decoding method can improve the hardware throughput of the decoder, thereby improving the decoding efficiency of the decoder.

[0488] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see FIG10 , which shows a schematic structural diagram of an encoder 20 provided by an embodiment of the present application. As shown in FIG10 , the encoder 20 may include: a second determining part 21 and an encoding part 22; wherein,

[0489] The encoding part 22 is configured to encode the first grammatical element information to be encoded of the current color component of the current point by using a context encoding method or a bypass encoding method for the current color component; encode the second grammatical element information to be encoded of the current color component of the current point by using a bypass encoding method; the codeword corresponding to the second grammatical element information to be encoded satisfies a preset codeword condition; the first grammatical element information to be encoded is the information to be encoded of the current point except for the second grammatical element information to be encoded.

[0490] In some embodiments, the preset codeword condition includes a first preset codeword condition or a second preset codeword condition.

[0491] In some embodiments, the first preset codeword condition includes: codewords other than the first N codewords after the first syntax element information is binarized; wherein N is an integer greater than or equal to 0.

[0492] In some embodiments, the second preset codeword condition includes: codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized; wherein K and L are both integers greater than or equal to 0.

[0493] In some embodiments, the first syntax element information is non-binarized syntax element information corresponding to the encoding value of the current quantized residual of the current color component.

[0494] In some embodiments, the first syntax element information to be encoded includes first information in the first syntax element information that does not meet a preset codeword condition.

[0495] In some embodiments, the encoding part 22 is further configured to use a context encoding method or a bypass encoding method to encode the first information corresponding to the first syntax element information that does not meet the preset codeword condition.

[0496] In some embodiments, the second syntax element information to be encoded includes second information in the first syntax element information that meets the preset codeword condition.

[0497] In some embodiments, the encoding part 22 is further configured to use a bypass encoding method to encode the second information corresponding to the first syntax element information that meets the preset codeword condition.

[0498] In some embodiments, the encoding part 22 is further configured to encode at least one syntax element information of the current color component by adopting a context encoding method or a bypass encoding method.

[0499] In some embodiments, the at least one syntax element information is at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information.

[0500] In some embodiments, the second syntax element information represents whether the encoded value of the current quantized residual of the current color component is a first value.

[0501] In some embodiments, the third syntax element information represents whether the encoded value of the current quantized residual of the current color component is a second value.

[0502] In some embodiments, the fourth syntax element information represents the parity of the coded value of the current quantized residual of the current color component.

[0503] In some embodiments, the fifth syntax element information represents whether a quotient of a coding value of a current quantized residual of a current color component subtracted from a third preset value and divided by two is a first target value.

[0504] In some embodiments, the at least one grammatical element information is second grammatical element information, and the encoding part 22 is further configured to, when the second grammatical element information is a first preset value, use a context encoding method or a bypass encoding method to encode the first information corresponding to the first grammatical element information that does not meet the preset codeword condition; and use a bypass encoding method to encode the second information corresponding to the first grammatical element information that meets the preset codeword condition.

[0505] In some embodiments, the encoder further comprises a second determining part 21; wherein,

[0506] The second determining part 21 is configured to determine a current quantized residual of a current color component of a current point; and determine the first syntax element information to be encoded and the second syntax element information to be encoded based on the current quantized residual.

[0507] In some embodiments, the at least one syntax element information includes: second syntax element information and third syntax element information.

[0508] In some embodiments, the second determination part 21 is further configured to determine that the second syntax element information of the current color component is a second preset value when the encoding value of the current quantized residual is a first value; the second syntax element information represents whether the encoding value of the current quantized residual is the first value; when the encoding value of the current quantized residual is a second value, determine that the second syntax element information is the first preset value, and determine that the third syntax element information is the second preset value; the third syntax element information represents whether the encoding value of the current quantized residual is the second value.

[0509] In some embodiments, the at least one syntax element information includes: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information.

[0510] In some embodiments, the second determination part 21 is further configured to determine that the second syntax element information is the first preset value and the third syntax element information is the first preset value when the encoding value of the current quantized residual is not the second value and the first value; determine the fourth syntax element information and the fifth syntax element information based on the encoding value of the current quantized residual; the fourth syntax element information represents the parity of the encoding value of the current quantized residual; the fifth syntax element information represents whether the quotient of the encoding value of the current quantized residual minus the third preset value and then divided by two is the first target value; the fifth syntax element information includes: M syntax element information; wherein M is a positive integer greater than or equal to 1; when any syntax element information in the fifth syntax element information is the second preset value, determine the other syntax element information in the fifth syntax element information as the first preset value.

[0511] In some embodiments, the second determination part 21 is further configured to determine the first syntax element information based on the encoding value of the current quantized residual when the fifth syntax element information is all the first preset value; the first syntax element information represents the quotient of the encoding value of the current quantized residual minus the fourth preset value and then divided by two; wherein the fourth preset value is the initial value plus 2.

[0512] In some embodiments, the second determination part 21 is further configured to determine the fourth syntax element information based on the remainder of the coding value of the current quantized residual divided by 2; when the quotient of the coding value of the current quantized residual subtracted by the third preset value and then divided by two is the i-th first target value, determine that the i-th syntax element information corresponding to the i-th first target value is the second preset value; wherein i is a positive integer greater than or equal to 1 and less than M; when the quotient of the coding value of the current quantized residual subtracted by the third preset value and then divided by two is not the i-th first target value, determine that the i-th syntax element information corresponding to the i-th first target value is the first preset value; continue to determine the value of the i+1th syntax element information until the j-th syntax element information is determined to be the second preset value; or until the value of the M-th syntax element information is determined; wherein j is a positive integer greater than i and less than or equal to M; when the j-th syntax element information is the second preset value, determine that the j+1th syntax element information to the M-th syntax element information are all the first preset values.

[0513] In some embodiments, the second determination part 21 is further configured to determine that the second syntax element information is a first preset value, and to determine the first syntax element information when the encoding value of the current quantized residual is a second value; the encoding value of the first syntax element information current quantized residual minus the value of the fifth preset value.

[0514] In some embodiments, the second determining part 21 is further configured to determine encoding indication information; the encoding indication information is used to represent a preset codeword condition adopted for encoding.

[0515] In some embodiments, the encoding part 22 is further configured to, when the encoding indication information indicates the use of the first preset codeword condition, use the context coding method or the bypass coding method to encode the first information of the first N codewords after the first syntax element information is binarized; when the encoding indication information indicates the use of the second preset codeword condition, use the context coding method or the bypass coding method to encode the first information of the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized.

[0516] In some embodiments, the encoding part 22 is further configured to, when the encoding indication information indicates the use of the first preset codeword condition, use a bypass encoding method to encode the second information other than the first N codewords after the first syntax element information is binarized, and when the encoding indication information indicates the use of the second preset codeword condition, encode the second information other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized.

[0517] In some embodiments, the second determination part 21 is further configured to obtain the non-binarized first syntax element information or quantized residual of the current point; when the first syntax element information or quantized residual is greater than a third preset threshold, determine the encoding indication information as indicating the use of the first preset codeword condition; when the first syntax element information or quantized residual is less than or equal to the third preset threshold, determine the encoding indication information as indicating the use of the second preset codeword condition; or, when the first syntax element information or quantized residual is less than or equal to the third preset threshold, determine the encoding indication information as indicating the use of the first preset codeword condition; when the first syntax element information or quantized residual is greater than the third preset threshold, determine the encoding indication information as indicating the use of the second preset codeword condition.

[0518] In some embodiments, the second determination part 21 is further configured to determine the order of binarization corresponding to the first syntax element information of the current point; when the order is less than a second preset threshold, determine the coding indication information as indicating the use of the first preset codeword condition; when the order is greater than or equal to the second preset threshold, determine the coding indication information as indicating the use of the second preset codeword condition; or, when the order is greater than or equal to the second preset threshold, determine the coding indication information as indicating the use of the first preset codeword condition; when the order is less than the second preset threshold, determine the coding indication information as indicating the use of the second preset codeword condition.

[0519] In some embodiments, the second determination part 21 is further configured to determine a binarized codeword of the first syntax element information; encode the first information that does not meet the first preset codeword condition in the binarized codeword using a context coding method or a bypass coding method, and encode the second information that meets the first preset codeword condition using a bypass coding method to determine a first number of clock cycles; encode the first information that does not meet the second preset codeword condition in the binarized codeword using a context coding method or a bypass coding method, and encode the second information that meets the second preset codeword condition using a bypass coding method to determine a second number of clock cycles; when the second clock cycle is less than the first clock cycle number, determine the encoding indication information as indicating the use of the second preset codeword condition; when the first clock cycle is less than the second clock cycle number, determine the encoding indication information as indicating the use of the first preset codeword condition.

[0520] In some embodiments, the first syntax element information to be encoded includes at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, fifth syntax element information, and first information in the first syntax element information that does not meet the preset codeword condition.

[0521] In some embodiments, the second syntax element information to be encoded includes: second information in the first syntax element information that meets a preset codeword condition.

[0522] In some embodiments, the encoding part 22 is further configured to write the binarized first syntax element information and at least one of the second syntax element information, the third syntax element information, the fourth syntax element information, and the fifth syntax element information into the bitstream; write N into the bitstream; write K into the bitstream; write L into the bitstream; and write the encoding indication information into the bitstream in the form of an identifier.

[0523] FIG11 is a schematic diagram of the structure of an optional encoder provided in an embodiment of the present application. As shown in FIG11 , an embodiment of the present application provides an encoder, including a second memory 23 and a second processor 24; wherein,

[0524] A second memory 23, used for storing computer programs that can be run on the second processor 24;

[0525] The second processor 24 is configured to implement the point cloud encoding method described above when running the computer program.

[0526] It can be understood that the encoder uses bypass coding to encode the second syntax element information to be decoded corresponding to the binarized quantized residual of the current point. Since the bypass coding method has a higher throughput than context coding, when the encoder is encoding the second syntax element information to be decoded, changing the coding method to the bypass coding method can improve the hardware throughput of the encoder, thereby improving the coding efficiency of the encoder.

[0527] It should be noted that the division of the transmitter and receiver modules or units in the embodiments of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods. In addition, the functional units in the various embodiments of the present application may be integrated into a processing unit, or may exist separately physically, or two or more units may be integrated into a single unit. The above-mentioned integrated units may be implemented in the form of hardware or in the form of software functional units. It may also be implemented in the form of a combination of software and hardware.

[0528] It should be noted that, in the embodiment of the present application, if the above method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling an electronic device to execute all or part of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific combination of hardware and software.

[0529] It is understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. 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. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static 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 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0530] The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in the processor or by software instructions. The above processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of this application can be implemented or executed. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.

[0531] It is to be understood that these embodiments described in the present application can be implemented with hardware, software, firmware, middleware, microcode or its combination.For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable logic device (Programmable Logic Device, PLD), field programmable gate array (Field-Programmable Gate Array, FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic units for performing functions described in the present application or its combination.For software implementation, the technology described in the present application can be realized by the module (such as process, function etc.) that performs functions described in the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

[0532] An embodiment of the present application provides a computer storage medium, which stores a computer program. When the computer program is executed by a first processor, it implements the point cloud decoding method described above, or when the computer program is executed by a second processor, it implements the point cloud encoding method described above.

[0533] An embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the steps of the point cloud encoding / decoding method provided in the above method embodiment.

[0534] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments combining software and hardware. Furthermore, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.

[0535] It should be noted that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium, storage medium, and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0536] The term "and / or" in this article is only a description of the association relationship between associated objects, indicating that there can be three relationships. For example, object A and / or object B can mean: object A exists alone, object A and object B exist at the same time, and object B exists alone.

[0537] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0538] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or modules can be electrical, mechanical or other forms.

[0539] The modules described above as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed across multiple network units; some or all of the modules may be selected according to actual needs to achieve the purpose of this embodiment.

[0540] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0541] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0542] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0543] The above is merely an embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A point cloud decoding method, applied to a decoder, the method comprising: For the current color component, a context decoding method or a bypass decoding method is used to decode the first syntax element information to be decoded of the current color component of the current point; A bypass decoding method is used to decode the second syntax element information to be decoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be decoded satisfies a preset codeword condition; the first syntax element information to be decoded is the information to be decoded of the current point except the second syntax element information to be decoded.

2. The method according to claim 1, wherein: The preset codeword condition includes a first preset codeword condition or a second preset codeword condition; The first preset codeword condition includes: codewords other than the first N codewords after the first syntax element information is binarized; wherein N is an integer greater than or equal to 0; The second preset codeword condition includes: codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized; wherein K and L are both integers greater than or equal to 0; The first syntax element information is non-binarized syntax element information corresponding to the current color component.

3. The method according to claim 2, wherein: K is preset or parsed from the bitstream; N is preset or obtained by parsing the bitstream; L is preset or parsed from the bitstream.

4. The method according to any one of claims 1 to 3, wherein: The first syntax element information to be decoded includes first information in the first syntax element information that does not meet a preset codeword condition; The method of adopting a context decoding method or a bypass decoding method to decode the first syntax element information to be decoded of the current color component of the current point includes: A context decoding method or a bypass decoding method is used to decode a codeword that does not meet the preset codeword condition, and first information corresponding to the first syntax element information is determined, where the first syntax element information represents a decoded value of the current quantized residual minus a fifth preset value.

5. The method according to any one of claims 1 to 4, wherein: The second syntax element information to be decoded includes second information in the first syntax element information that satisfies the preset codeword condition; The method of adopting bypass decoding to decode the second syntax element information to be decoded of the current color component of the current point includes: A bypass decoding method is adopted to decode the codeword that meets the preset codeword condition to determine the second information corresponding to the first syntax element information.

6. The method according to claim 4 or 5, wherein: The method further comprises: Using a context decoding method or a bypass decoding method, parsing a bitstream, and determining at least one syntax element information of a current color component; The at least one syntax element information is at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information; The second syntax element information represents whether the decoded value of the current quantized residual of the current color component is a first value; The third syntax element information represents whether the decoded value of the current quantized residual of the current color component is the second value; The fourth syntax element information represents the parity of the decoded value of the current quantized residual of the current color component; The fifth syntax element information represents whether a quotient of a decoded value of a current quantized residual of a current color component subtracted from a third preset value and divided by two is a first target value.

7. The method according to claim 6, wherein: The at least one syntax element information is second syntax element information, and the method further includes: When the second syntax element information is a first preset value, a context decoding method or a bypass decoding method is used to decode the codeword that does not meet the preset codeword condition to determine the first information corresponding to the first syntax element information; a bypass decoding method is used to decode the codeword that meets the preset codeword condition to determine the second information corresponding to the first syntax element information.

8. The method according to claim 6, wherein: The at least one syntax element information includes: second syntax element information; the method further includes: Determining second syntax element information; When the second syntax element information is a second preset value, it is determined that the decoded value of the current quantized residual is a first value.

9. The method according to any one of claims 5 to 8, wherein: The method further comprises: Determine non-binarized first grammatical element information based on the first information and the second information; Based on the first syntax element information, a decoded value of a current quantized residual is determined.

10. The method according to claim 6, wherein: The at least one syntax element information includes: second syntax element information and third syntax element information; the method further includes: When the second syntax element information is a first preset value, a context decoding method or a bypass decoding method is used to determine the third syntax element information; the third syntax element information indicates whether the decoded value of the current quantized residual is a second value; When the third syntax element information is a second preset value, determining that the current quantization residual is a second value.

11. The method according to claim 10, wherein: The at least one syntax element information includes: second syntax element information, third syntax element information, fourth syntax element information and fifth syntax element information; the method further includes: When the third syntax element information is a first preset value, determining fourth syntax element information and fifth syntax element information; the fourth syntax element information represents the parity of the decoded value of the current quantized residual; the fifth syntax element information represents whether the quotient of the decoded value of the current quantized residual minus the third preset value and then divided by two is a first target value; the fifth syntax element information includes: M syntax element information; wherein M is an integer greater than or equal to 0; When any syntax element information in the fifth syntax element information has a second preset value, a decoded value of the current quantized residual is determined according to any syntax element information in the fourth syntax element information and the fifth syntax element information.

12. The method according to claim 11, wherein: The method further comprises: When the fifth syntax element information is all the first preset value, determining the first syntax element information; the first syntax element information represents the quotient of the decoded value of the current quantized residual minus the fourth preset value and then divided by two; wherein the fourth preset value is the initial value plus 2(M-1); A decoded value of the current quantized residual is determined based on the first syntax element information.

13. The method according to claim 11, wherein: The first target value is a natural number greater than or equal to 0; the number of the first target values ​​is M; the first target value corresponds to the M syntax element information; When any syntax element information in the fifth syntax element information is a second preset value, determining the decoded value of the current quantized residual according to any syntax element information in the fourth syntax element information and the fifth syntax element information includes: When the i-th syntax element information is a second preset value, determining a decoded value of the current quantized residual according to the fourth syntax element information and the i-th syntax element information; wherein i is a positive integer greater than or equal to 1 and less than M; When the i-th syntax element information is a first preset value, continue to determine the value of the i+1-th syntax element information until the j-th syntax element information is determined to be a second preset value; or until the value of the M-th syntax element information is determined; wherein j is a positive integer greater than i and less than or equal to M; When the j-th syntax element information is a second preset value, a decoded value of the current quantized residual is determined according to the fourth syntax element information and the j-th syntax element information.

14. The method according to claim 12, wherein: The first syntax element information to be decoded includes first information in the first syntax element information that does not satisfy the preset codeword condition; The second syntax element information to be decoded includes second information in the first syntax element information that satisfies the preset codeword condition; The determining the first syntax element information includes: Decoding a codeword that does not meet a preset codeword condition by using a context decoding method or a bypass decoding method to determine first information corresponding to the first syntax element information; Using a bypass decoding method, decoding a codeword that meets a preset codeword condition, and determining second information corresponding to the first syntax element information; Based on the first information and the second information, non-binarized first syntax element information is determined.

15. The method according to claim 4, 5 or 14, wherein: The method further comprises: Determine decoding indication information; the decoding indication information is used to represent a preset codeword condition used for decoding.

16. The method according to claim 15, wherein: The adopting of a context decoding method or a bypass decoding method to decode a codeword that does not meet a preset codeword condition and determining first information corresponding to the first syntax element information includes: When the decoding indication information indicates that the first preset codeword condition is adopted, the first N codewords after the first syntax element information is binarized are decoded using a context decoding method or a bypass decoding method to determine the first information corresponding to the first syntax element information; When the decoding indication information indicates that the second preset codeword condition is adopted, a context decoding method or a bypass decoding method is adopted to decode the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized, and determine the first information corresponding to the first syntax element information.

17. The method according to claim 15 or 16, wherein: The bypass decoding method is used to decode the codeword that meets the preset codeword condition to determine the second information corresponding to the first syntax element information, including: When the decoding indication information indicates that the first preset codeword condition is adopted, a bypass decoding method is adopted to decode codewords other than the first N codewords after the first syntax element information is binarized, so as to determine the second information corresponding to the first syntax element information; The decoding indication information indicates that, under the second preset codeword condition, the codewords after the binarization of the first syntax element information except the first K codewords of the prefix code and / or the first L codewords of the suffix code are decoded to determine the second information corresponding to the first syntax element information.

18. The method according to any one of claims 15 to 17, wherein: The determining of the decoding indication information includes: The code stream is parsed to obtain a decoding indication identifier, where the decoding indication identifier is the decoding indication information.

19. The method according to any one of claims 15 to 17, wherein: The determining of the decoding indication information includes: Obtaining non-binarized sixth syntax element information of a neighboring point of the current point or a quantized residual of a neighboring point; When the sixth syntax element information or the quantization residual of the adjacent point is greater than a first preset threshold, determining that the decoding indication information indicates that a first preset codeword condition is adopted; In a case where the sixth syntax element information or the quantization residual of the adjacent point is less than or equal to the first preset threshold, determining that the decoding indication information indicates that a second preset codeword condition is adopted; or, When the sixth syntax element information or the quantization residual of the adjacent point is less than or equal to the first preset threshold, determining that the decoding indication information indicates that the first preset codeword condition is adopted; In a case where the sixth syntax element information or the quantization residual of the adjacent point is greater than a first preset threshold, it is determined that the decoding indication information indicates the use of a second preset codeword condition.

20. The method according to any one of claims 15 to 19, wherein: The determining of the decoding indication information includes: Determine the binarization order corresponding to the first syntax element information of the current point; When the order is less than a second preset threshold, determining that the decoding indication information indicates that a first preset codeword condition is adopted; In the case where the order is greater than or equal to a second preset threshold, determining that the decoding indication information indicates that a second preset codeword condition is adopted; or, When the order is greater than or equal to a second preset threshold, determining that the decoding indication information indicates that a first preset codeword condition is adopted; When the order is less than a second preset threshold, the decoding indication information is determined to indicate the use of a second preset codeword condition.

21. The method according to any one of claims 1 to 20, wherein: The first syntax element information to be decoded includes at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, fifth syntax element information, and first information in the first syntax element information that does not meet the preset codeword condition; The second syntax element information to be decoded includes: second information in the first syntax element information that satisfies a preset codeword condition.

22. A point cloud encoding method, applied to an encoder, the method comprising: For the current color component, a context coding method or a bypass coding method is used to encode the first syntax element information to be encoded of the current color component of the current point; A bypass coding method is used to encode the second syntax element information to be encoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be encoded satisfies a preset codeword condition; the first syntax element information to be encoded is the information to be encoded of the current point except the second syntax element information to be encoded.

23. The method according to claim 22, wherein: The preset codeword condition includes a first preset codeword condition or a second preset codeword condition; The first preset codeword condition includes: codewords other than the first N codewords after the first syntax element information is binarized; wherein N is an integer greater than or equal to 0; The second preset codeword condition includes: codewords other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized; wherein K and L are both integers greater than or equal to 0; The first syntax element information is non-binarized syntax element information corresponding to the encoding value of the current quantized residual of the current color component.

24. The method according to claim 22 or 23, wherein: The first syntax element information to be encoded includes first information in the first syntax element information that does not meet the preset codeword condition; The method of encoding the first syntax element information to be encoded of the current color component of the current point by using a context encoding method or a bypass encoding method includes: A context coding method or a bypass coding method is used to encode the first information corresponding to the first syntax element information that does not meet the preset codeword condition.

25. The method according to any one of claims 22 to 24, wherein: The second syntax element information to be encoded includes second information in the first syntax element information that satisfies the preset codeword condition; The method of encoding the second to-be-encoded syntax element information of the current color component of the current point by adopting the bypass encoding method includes: The bypass coding method is used to encode the second information corresponding to the first syntax element information that meets the preset codeword condition.

26. The method according to claim 24 or 25, wherein: The method further comprises: Encoding at least one syntax element information of the current color component by using a context coding method or a bypass coding method; The at least one syntax element information is at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information; The second syntax element information represents whether the encoding value of the current quantized residual of the current color component is a first value; The third syntax element information represents whether the encoding value of the current quantized residual of the current color component is the second value; The fourth syntax element information represents the parity of the encoding value of the current quantized residual of the current color component; The fifth syntax element information represents whether the quotient of the encoding value of the current quantized residual of the current color component subtracted from the third preset value and divided by two is the first target value.

27. The method according to claim 26, wherein: The at least one syntax element information is second syntax element information, and the method further includes: When the second grammatical element information is a first preset value, a context coding method or a bypass coding method is used to encode the first information corresponding to the first grammatical element information that does not meet the preset codeword condition; a bypass coding method is used to encode the second information corresponding to the first grammatical element information that meets the preset codeword condition.

28. The method according to any one of claims 22 to 27, wherein: The method further comprises: Determine the current quantization residual of the current color component of the current point; Based on the current quantized residual, the first syntax element information to be encoded and the second syntax element information to be encoded are determined.

29. The method according to claim 28, wherein: The at least one syntax element information includes: second syntax element information and third syntax element information; and the determining, based on the current quantized residual, the first syntax element information to be encoded and the second syntax element information to be encoded includes: When the encoding value of the current quantized residual is a first value, determining that the second syntax element information of the current color component is a second preset value; the second syntax element information indicates whether the encoding value of the current quantized residual is the first value; When the encoding value of the current quantized residual is a second value, the second syntax element information is determined to be a first preset value, and the third syntax element information is determined to be a second preset value; the third syntax element information represents whether the encoding value of the current quantized residual is the second value.

30. The method of claim 29, wherein: The at least one syntax element information includes: second syntax element information, third syntax element information, fourth syntax element information, and fifth syntax element information; the method further includes: When the encoding value of the current quantized residual is not the second value and the first value, determining the second syntax element information to be the first preset value, and determining the third syntax element information to be the first preset value; Based on the encoding value of the current quantized residual, fourth syntax element information and fifth syntax element information are determined; the fourth syntax element information represents the parity of the encoding value of the current quantized residual; the fifth syntax element information represents whether the quotient of the encoding value of the current quantized residual minus the third preset value and then divided by two is a first target value; the fifth syntax element information includes: M syntax element information; wherein M is a positive integer greater than or equal to 1; When any syntax element information in the fifth syntax element information has a second preset value, it is determined that other syntax element information in the fifth syntax element information has a first preset value.

31. The method according to claim 30, wherein: The method further comprises: When the fifth syntax element information is all the first preset value, the first syntax element information is determined based on the encoding value of the current quantized residual; the first syntax element information represents the quotient of the encoding value of the current quantized residual minus the fourth preset value and divided by two; wherein the fourth preset value is the initial value plus 2(M-1).

32. The method of claim 30, wherein: The determining, based on the coded value of the current quantized residual, fourth syntax element information and fifth syntax element information comprises: Determine the fourth syntax element information according to a remainder obtained by dividing the encoding value of the current quantized residual by 2; When the quotient of the encoding value of the current quantized residual by subtracting the third preset value and then dividing by two is the i-th first target value, determining that the i-th syntax element information corresponding to the i-th first target value is the second preset value; wherein i is a positive integer greater than or equal to 1 and less than M; When a quotient obtained by subtracting a third preset value from the encoded value of the current quantized residual and then dividing by two is not an i-th first target value, determining that the i-th syntax element information corresponding to the i-th first target value is a first preset value; Continue to determine the value of the i+1th syntax element information until it is determined that the jth syntax element information is the second preset value; or until the value of the Mth syntax element information is determined; where j is a positive integer greater than i and less than or equal to M; When the j-th syntax element information is the second preset value, it is determined that the j+1-th syntax element information to the M-th syntax element information are all the first preset values.

33. The method of claim 27, wherein: The method further comprises: When the encoding value of the current quantized residual is a second value, the second syntax element information is determined to be a first preset value, and the first syntax element information is determined; the encoding value of the current quantized residual of the first syntax element information is subtracted from the value of a fifth preset value.

34. The method according to claim 24 or 25, wherein: The method further comprises: Determine the coding indication information; the coding indication information is used to represent the preset code word condition used for coding.

35. The method of claim 34, wherein: The adopting of a context coding method or a bypass coding method to encode the first information corresponding to the first syntax element information that does not meet the preset codeword condition includes: The encoding indication information indicates that, under the condition of adopting the first preset codeword condition, a context encoding method or a bypass encoding method is used to encode the first information of the first N codewords after the first syntax element information is binarized; The coding indication information indicates that under the second preset codeword condition, a context coding method or a bypass coding method is used to encode the first information of the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized.

36. The method according to claim 34 or 35, wherein: The bypass encoding method is used to encode the second information corresponding to the first syntax element information that meets the preset codeword condition, including: The encoding indication information indicates that, when the first preset codeword condition is adopted, a bypass encoding method is adopted to encode the second information other than the first N codewords after the first syntax element information is binarized; The encoding indication information indicates that, under the second preset codeword condition, second information other than the first K codewords of the prefix code and / or the first L codewords of the suffix code after the first syntax element information is binarized is encoded.

37. A method according to any one of claims 34 to 36, wherein: The determining of the coding indication information includes: Obtaining non-binarized first syntax element information or quantized residual of the current point; When the first syntax element information or the quantization residual is greater than a third preset threshold, determining that the encoding indication information indicates that a first preset codeword condition is adopted; In a case where the first syntax element information or the quantized residual is less than or equal to a third preset threshold, determining that the encoding indication information indicates that a second preset codeword condition is adopted; or, When the first syntax element information or the quantization residual is less than or equal to a third preset threshold, determining that the encoding indication information indicates that a first preset codeword condition is adopted; When the first syntax element information or the quantization residual is greater than a third preset threshold, it is determined that the encoding indication information indicates the use of a second preset codeword condition.

38. The method according to any one of claims 34 to 36, wherein: The determining of the coding indication information includes: Determine the binarization order corresponding to the first syntax element information of the current point; When the order is less than a second preset threshold, determining that the encoding indication information indicates that a first preset codeword condition is adopted; In the case where the order is greater than or equal to a second preset threshold, determining that the encoding indication information indicates that a second preset codeword condition is adopted; or, When the order is greater than or equal to a second preset threshold, determining that the encoding indication information indicates that a first preset codeword condition is adopted; When the order is less than a second preset threshold, the encoding indication information is determined to indicate the use of a second preset codeword condition.

39. The method according to any one of claims 34 to 36, wherein: The determining of the coding indication information includes: Determine a binary codeword of first syntax element information; Encoding first information that does not meet the first preset codeword condition in the binary codeword by using a context encoding method or a bypass encoding method, and encoding second information that meets the first preset codeword condition by using a bypass encoding method, to determine a first clock cycle number; Encoding the first information that does not meet the second preset codeword condition in the binary codeword by using a context encoding method or a bypass encoding method, and encoding the second information that meets the second preset codeword condition by using a bypass encoding method, to determine the second clock cycle number; When the second clock cycle is less than the first clock cycle number, determining that the encoding indication information indicates that a second preset codeword condition is adopted; When the first clock cycle is less than the second clock cycle number, the encoding indication information is determined to indicate the use of a first preset codeword condition.

40. The method according to any one of claims 22 to 39, wherein: The first syntax element information to be encoded includes at least one of the following: second syntax element information, third syntax element information, fourth syntax element information, fifth syntax element information, and first information in the first syntax element information that does not meet the preset codeword condition; The second syntax element information to be encoded includes: second information in the first syntax element information that satisfies a preset codeword condition.

41. The method according to any one of claims 22 to 40, wherein: The method further comprises: Writing the binarized first syntax element information, and at least one of the second syntax element information, the third syntax element information, the fourth syntax element information, and the fifth syntax element information into a bitstream; Write N into the bitstream; Write K into the bitstream; Write L into the code stream; Write the encoding instruction information into the code stream in the form of an identifier.

41. A code stream, wherein the code stream is generated by bit encoding according to information to be encoded, wherein the information to be encoded includes at least one of the following: The second to fifth syntax element information corresponding to each color component, as well as N, K and L, where N, K and L are integers greater than or equal to 0; the sign bit of the current quantized residual of the current point corresponding to each color component; the binary first syntax element information corresponding to each color component, wherein, The second syntax element information is used to indicate whether the encoding / decoding value of the current quantized residual of the current color component is a first value; The third syntax element information is used to indicate whether the encoding / decoding value of the current quantized residual of the current color component is the second value; The fourth syntax element information is used to indicate the parity of the encoding / decoding value of the current quantized residual of the current color component; The fifth syntax element information is used to indicate whether the quotient of the encoding / decoding value of the current quantized residual of the current color component minus the third preset value and then divided by two is the first target value; The first syntax element information is used to indicate the quotient of the encoding / decoding value of the current quantized residual of the current color component minus the fourth preset value and then divided by two; or, used to indicate the value of the encoding / decoding value of the current quantized residual minus the fifth preset value; The first syntax element information is non-binarized syntax element information corresponding to the current quantized residual.

42. A decoder comprising: The decoding part is configured to decode the first to-be-decoded syntax element information of the current color component of the current point by using a context decoding method or a bypass decoding method for the current color component; A bypass decoding method is used to decode the second syntax element information to be decoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be decoded satisfies a preset codeword condition; the first syntax element information to be decoded is the information to be decoded of the current point except the second syntax element information to be decoded.

43. A decoder, the decoder comprising: a first memory and a first processor; wherein, The first memory is used to store a computer program that can be run on the first processor; The first processor is configured to execute the method according to any one of claims 1 to 21 when running the computer program.

44. An encoder comprising: The encoding part is configured to encode the first to-be-encoded syntax element information of the current color component of the current point by adopting a context encoding method or a bypass encoding method for the current color component; A bypass coding method is used to encode the second syntax element information to be encoded of the current color component of the current point; the codeword corresponding to the second syntax element information to be encoded satisfies a preset codeword condition; the first syntax element information to be encoded is the information to be encoded of the current point except the second syntax element information to be encoded.

45. An encoder, comprising: A second memory and a second processor; wherein, The second memory is used to store a computer program that can be run on the second processor; The second processor is configured to execute the method according to any one of claims 22 to 41 when running the computer program.

46. ​​A computer storage medium, wherein: The computer storage medium stores a computer program, which, when executed by a first processor, implements the method according to any one of claims 1 to 21, or, when executed by a second processor, implements the method according to any one of claims 22 to 41.