Point cloud encoding method, point cloud decoding method, device and communication equipment
By performing coordinate transformation and predicted point matching on the point cloud, and using the information of the encoded rows for radial distance prediction coding, the problem of low encoding efficiency in the chain structure is solved, and a more efficient encoding process is achieved.
Patent Information
- Application Number
- CN202310041950.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-11
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2043-01-11
AI Technical Summary
In the prior art point cloud encoding process based on chain structure, the prediction coding efficiency of radial distance information is low, resulting in a large code stream and low encoding efficiency.
By performing coordinate transformation processing on the geometric information of the point cloud, a chain structure is established, and a target prediction point matching the point to be encoded is determined. The prediction point is selected from the occupied points of the encoded row for prediction encoding of the radial distance, using the information of the encoded row for prediction, and the prediction list is updated to select the optimal prediction value.
The prediction performance of radial distance is improved, the code stream encoded by radial distance is reduced, and the encoding efficiency is improved.
Smart Images

Figure CN118338019B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer technology, and specifically relates to a point cloud encoding method, a point cloud decoding method, an apparatus, and a communication device. Background Art
[0002] A point cloud is a representation of a three-dimensional object or scene. It is composed of a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of the three-dimensional object or scene. In order to accurately reflect the information in space, the number of discrete points required is quite large. In order to reduce the bandwidth occupied by point cloud data storage and transmission, the point cloud data needs to be encoded and compressed. Point cloud data is usually composed of geometric information describing the location, such as three-dimensional coordinates (x, y, z), and attribute information of the location, such as color (R, G, B) or reflectivity. During the point cloud coding and compression process, the encoding of geometric information and attribute information is performed separately.
[0003] In the related technology, in the process of geometric information encoding based on the chain structure, for the radial distance information of the point cloud, the radial distance of the encoded point located in the same row of the point to be encoded is used as the prediction value for predictive encoding. There is no obvious difference between the predicted values, which has a great impact on the context model update and the prediction residual distribution of the radial distance during the entropy coding process, resulting in a larger code stream and lower coding efficiency. Summary of the Invention
[0004] The embodiments of the present application provide a point cloud encoding method, a point cloud decoding method, an apparatus, and a communication device, which can solve the problem of low encoding efficiency.
[0005] In a first aspect, a point cloud encoding method is provided, comprising:
[0006] Perform coordinate transformation on the geometric information of the point cloud to obtain geometric information with a chain structure;
[0007] Determining a first target prediction point that matches the point to be encoded in the chain structure, where the first target prediction point is selected from first target occupied points in the chain structure, the first target occupied points include occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure;
[0008] The radial distance of the to-be-encoded point is predictively encoded based on the first target prediction point to obtain a radial distance encoding result.
[0009] In a second aspect, a point cloud decoding method is provided, comprising:
[0010] Determining a second target prediction point that matches the point to be decoded in the chain structure, where the second target prediction point is selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure;
[0011] The radial distance of the to-be-decoded point is reconstructed based on the second target prediction point to obtain a radial distance reconstruction result.
[0012] In a third aspect, a point cloud encoding device is provided, comprising:
[0013] The acquisition module is used to perform coordinate transformation processing on the geometric information of the point cloud to obtain geometric information with a chain structure;
[0014] a determination module, configured to determine a first target prediction point that matches the point to be encoded in the chain structure, wherein the first target prediction point is a point selected from first target occupied points in the chain structure, the first target occupied points include occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure;
[0015] The encoding module is configured to perform predictive encoding on the radial distance of the point to be encoded based on the first target prediction point to obtain a radial distance encoding result.
[0016] In a fourth aspect, a point cloud decoding device is provided, comprising:
[0017] a determination module, configured to determine a second target prediction point that matches the point to be decoded in the chain structure, wherein the second target prediction point is a point selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure;
[0018] A processing module is used to reconstruct the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result.
[0019] In a fifth aspect, a communication device is provided, which terminal includes a processor, a memory, and a program or instruction stored in the memory and runnable on the processor, wherein when the program or instruction is executed by the processor, the steps of the method described in the first aspect are implemented; or, when the program or instruction is executed by the processor, the steps of the method described in the second aspect are implemented.
[0020] In a sixth aspect, a communication device is provided, comprising a processor and a communication interface, wherein the processor is used to: perform coordinate transformation processing on the geometric information of the point cloud to obtain geometric information having a chain structure; determine a first target prediction point that matches the point to be encoded in the chain structure, the first target prediction point being a point selected from the first target occupied points of the chain structure, the first target occupied point including the occupied points in the encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure; perform predictive encoding on the radial distance of the point to be encoded based on the first target prediction point to obtain a radial distance encoding result.
[0021] In the seventh aspect, a communication device is provided, including a processor and a communication interface, wherein the processor is used to: determine a second target prediction point that matches the point to be decoded in a chain structure, the second target prediction point is a point selected from the second target occupied points of the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied points and the point to be decoded are located in different rows of the chain structure; reconstruct the radial distance of the point to be decoded based on the second target prediction point to obtain a radial distance reconstruction result.
[0022] In an eighth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or when the program or instruction is executed by a processor, the steps of the method described in the second aspect are implemented.
[0023] In the ninth aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.
[0024] In the tenth aspect, a computer program / program product is provided, which is stored in a non-volatile storage medium, and the program / program product is executed by at least one processor to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.
[0025] In an embodiment of the present application, coordinate transformation processing is performed on the geometric information of the point cloud to obtain geometric information with a chain structure; a first target prediction point is determined to match the point to be encoded in the chain structure, the first target prediction point being a point selected from the first target occupied points of the chain structure, the first target occupied points including occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure; based on the first target prediction point, the radial distance of the point to be encoded is predictively encoded to obtain a radial distance encoding result. In this way, by predictively encoding the first target prediction point, the occupied point information in the encoded row can be fully utilized, thereby improving the radial distance prediction performance, reducing the radial distance code stream, and improving the encoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 It is a schematic diagram of a chain structure;
[0027] Figure 2a It is a schematic diagram of a TML encoder framework;
[0028] Figure 2b It is a schematic diagram of a TML decoder framework;
[0029] Figure 3 This is a flow chart of a point cloud encoding method provided in an embodiment of the present application;
[0030] Figure 4 This is a schematic diagram of a radial distance level prediction value selection and list update process provided by an embodiment of the present application;
[0031] Figure 5 This is a schematic diagram of a radial distance vertical prediction value selection process provided by an embodiment of the present application;
[0032] Figure 6 This is a schematic diagram of the position of a point to be encoded provided in an embodiment of the present application;
[0033] Figure 7 This is a flow chart of a point cloud decoding method provided in an embodiment of the present application;
[0034] Figure 8 This is a schematic diagram of selecting a predicted value of a point to be encoded provided by an embodiment of the present application;
[0035] Figure 9 This is a schematic structural diagram of a point cloud encoding device provided in an embodiment of the present application;
[0036] Figure 10 This is a schematic structural diagram of a point cloud decoding device provided in an embodiment of the present application;
[0037] Figure 11This is a structural diagram of a communication device provided in an embodiment of the present application;
[0038] Figure 12 This is a structural diagram of a terminal provided in an embodiment of the present application. DETAILED DESCRIPTION
[0039] The following will be combined with the accompanying drawings in the embodiments of this application to clearly describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.
[0040] The terms "first," "second," and the like in the specification and claims of this application are used to distinguish similar objects, and are not used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, so that the embodiments of this application can be implemented in an order other than that illustrated or described herein, and that the objects distinguished by "first" and "second" are generally of the same type, and do not limit the number of objects. For example, the first object can be one or more. In addition, the term "and / or" in the specification and claims refers to at least one of the connected objects, and the character " / " generally indicates that the objects connected are in an "or" relationship.
[0041] The encoding and decoding end corresponding to the encoding and decoding method in the embodiment of the present application can be a terminal, which can also be called a terminal device or user equipment (UE). The terminal can be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (PDA), a handheld computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile Internet device (Mobile Internet Device, MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device (Wearable Device) or a vehicle-mounted device (VUE), a pedestrian terminal (Pedestrian User Equipment, PUE) and other terminal-side devices. Wearable devices include: smart watches, bracelets, headphones, glasses, etc. It should be noted that the specific type of the terminal is not limited in the embodiment of the present application.
[0042] For ease of understanding, some of the contents involved in the embodiments of this application are described below:
[0043] (1) Geometry based Point Cloud Compression (G-PCC) Lidar Test Model (TML) Encoder Framework
[0044] In the point cloud G-PCC TML encoder framework, a chain-structured geometric information encoding method is adopted. The chain-structured geometric encoding includes:
[0045] First, the point cloud is packaged and a virtual header node is added to each package. This package division is mainly to consider the impact of downsampling on the ground point cloud. Next, the point cloud is reordered by azimuth and laser beam index, and then downsampled. This downsampling only loses points, not accuracy.
[0046] Next, a chain structure is established to perform coordinate transformation on the geometric information, converting the point cloud from a Cartesian coordinate system to a cylindrical coordinate system. Each point in the point cloud is mapped to a corresponding position in the chain structure. The point position information, duplicate point information, radial distance, azimuth error, prediction index, and coordinate transformation error are then encoded in the order of the point position indexes within the chain structure to generate a binary bitstream. During the chain-structure-based geometric decoding process, the decoder decodes in order of position indexes, sequentially obtaining the geometric information for each part of the point, reconstructing the entire chain structure, and ultimately recovering the geometrically reconstructed point cloud.
[0047] It should be noted that TML can be described as a test model for rotating lidar point clouds, and can also be described as a low latency low complexity codec (L3C2).
[0048] In addition, the chain structure can be a single chain structure. The chain structure can be a one chain geometry structure in the TML standard for rotating laser radar point cloud compression, such as Figure 1 The arrows indicate the encoding order. The horizontal axis is the column index of each point (the result of the quantized and rounded horizontal azimuth angle of the current point), and the vertical axis is the row index of each point (corresponding to the laser radar scanning beam identity document, ID). Each occupied point in the single chain structure is a real point in space. The chaining method of the single chain structure is to convert the coordinates of each point from the Cartesian coordinate system to the cylindrical coordinate system to obtain the coordinate value. Then get the column index after quantization of each point Calculate the sequential index of each point Among them, N laser The number of laser scanning beams in a row of a single chain structure, The calculated sequence index is the specific position of the current point in the single chain structure.
[0049] like Figure 2a The TML encoding block diagram shown in the figure, block 11 represents the TML encoding block diagram based on the laser radar prior information (including angular velocity The process of building a chain structure based on the laser beam index λ, point cloud geometric information (xyz coordinates, etc.). Box 12 is the process of predictive coding of the geometric information of each point, including radial distance and horizontal azimuth, and the update process of the prediction list. Box 13 is the encoding process of the coordinate conversion error of each point. Because the point cloud that needs to be restored in the end is a point cloud in the Cartesian coordinate system, and the geometric coordinates of the point are converted from the Cartesian coordinate system to the cylindrical coordinate system, and then from the cylindrical coordinate system to the Cartesian coordinate system, there will be coordinate conversion errors. The point cloud needs to achieve lossless encoding and decoding, so the coordinate conversion error needs to be encoded and decoded. Among them, the construction of a single chain structure (laser refractive index λ, angle φc) can be expressed as: construction of one chain structure (laser index λ, angle φc).
[0050] like Figure 2b The TML decoding block diagram shown in FIG. 21 represents the TML decoding block diagram based on the laser radar prior information (including angular velocity The process of constructing a chain structure using the reconstructed point cloud geometric information (xyz coordinates, etc.) and the laser beam index λ. Block 22 shows the process of predicting and decoding the geometric information of each point, including the radial distance and horizontal azimuth, and updating the prediction list. Block 23 shows the process of decoding the coordinate transformation error of each point.
[0051] The point cloud encoding method and point cloud decoding method provided in the embodiments of the present application are described in detail below with reference to some embodiments and their application scenarios in combination with the accompanying drawings.
[0052] See also Figure 3 , Figure 3 This is a flowchart of a point cloud encoding method provided in an embodiment of the present application, which can be applied to encoding end devices, such as Figure 3 As shown, the point cloud encoding method includes the following steps:
[0053] Step 101: Perform coordinate transformation on the geometric information of the point cloud to obtain geometric information with a chain structure.
[0054] Among them, a chain structure can be established to perform coordinate transformation on the geometric information of the point cloud, convert the point cloud from a Cartesian coordinate system to a cylindrical coordinate system, and map each point in the point cloud to a corresponding position in the chain structure to obtain geometric information with a chain structure. The first target occupied point can be an encoded occupied point that is located in a different row of the chain structure from the point to be encoded. The first target prediction point can be a point selected from the occupied points of other encoded rows. The other rows indicate that they are located in different rows from the point to be encoded. An occupied point indicates that the point is not empty and contains a point cloud; an unoccupied point indicates that the point is empty and does not contain a point cloud.
[0055] Step 102: Determine a first target prediction point that matches the point to be encoded in the chain structure, where the first target prediction point is selected from the first target occupied points of the chain structure, the first target occupied points include occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure.
[0056] In one embodiment, a selection rule for selecting the first target prediction point from the first target occupied points of the chain structure may be: selecting the first target prediction point from the first target occupied points of the chain structure based on at least one of a horizontal distance and a vertical distance, wherein the horizontal distance is the horizontal distance between the first target occupied point and the point to be encoded in the chain structure, and the vertical distance is the vertical distance between the first target occupied point and the point to be encoded in the chain structure.
[0057] It should be noted that, for the first target occupied point in the chain structure, the current point to be encoded can be used as the starting point, and the first target prediction point that matches the point to be encoded can be determined from the first target occupied point according to the search criteria of first down and then up, or the search criteria of first up and then down, or other search rules.
[0058] Step 103: Predictively encode the radial distance of the point to be encoded based on the first target prediction point to obtain a radial distance encoding result.
[0059] Wherein, the predictive encoding of the radial distance of the point to be encoded based on the first target prediction point may include: updating the prediction list corresponding to the radial distance of the point to be encoded based on the radial distance of the first target prediction point, selecting the optimal prediction value from the updated prediction list, and obtaining the prediction residual and prediction information based on the optimal prediction value, wherein the radial distance encoding result includes the prediction residual and prediction information; or the prediction index can be a preset value or a value specified by the protocol, and the predictive encoding of the radial distance of the point to be encoded based on the first target prediction point may include: updating the radial distance of the point to be encoded based on the radial distance of the first target prediction point , selecting an optimal prediction value from the updated prediction list, and obtaining a prediction residual based on the optimal prediction value, wherein the radial distance encoding result includes the prediction residual; or, predictively encoding the radial distance of the point to be encoded based on the first target prediction point may include: taking the radial distance of the first target prediction point as the predicted value of the radial distance of the point to be encoded, and obtaining a prediction residual based on the predicted value, wherein the radial distance encoding result includes the prediction residual; and so on. This embodiment does not limit the specific implementation of predictively encoding the radial distance of the point to be encoded based on the first target prediction point.
[0060] In the related art, during the chain-structured geometric encoding process, the optimal prediction value is selected from a prediction list using a rate-distortion optimization method for the radial distance information of the point cloud. The radial distance information of the point cloud is predicted to obtain a prediction residual, and the prediction residual and prediction index are encoded. After each point's radial distance information is encoded, the prediction list is dynamically updated. The radial distance information prediction is divided into two parts: the first part is the horizontal prediction, and the second part is the vertical prediction. When selecting the prediction value, the best horizontal prediction candidate value is first selected from the horizontal prediction list. This best horizontal prediction candidate value is then compared with the vertical prediction value to select the final best prediction value.
[0061] Among them, such as Figure 4 As shown, the horizontal prediction list update rule is: determine whether the prediction residual ResR of the radial distance of the previous occupied point is greater than the preset threshold threshold (or whether the previous occupied point is predicted using the vertical prediction value). If it is greater than the threshold threshold (or the vertical prediction value is selected for prediction), then remove the last value in the horizontal prediction list and add the reconstructed value of the previous occupied encoded point to the first position of the prediction list; otherwise, remove the selected prediction value from the prediction list and add the reconstructed value of the previous occupied encoded point to the first position of the prediction list. Figure 4In the equation, Pr0, Pr1, and Pr2 are the predicted values of radial distance, Pphi0, Pphi1, and Pphi2 are the predicted values of angle, and Recphi is the predicted residual of angle. The vertical prediction value is provided by the occupied coded points of different lasers from the current coded point. Points that are close to the current coded point in the horizontal direction but far away in the vertical direction are searched within a certain range as vertical prediction candidates, such as Figure 5 As shown in the figure, different Lasers are in different rows in the chain structure. Figure 5 middle, Indicates the point to be coded, Indicates the coded points that meet the region conditions, Indicates the vertical prediction point finally selected, Indicates the previous coded occupied point in the same row as the point to be coded. Indicates the previous position of the previous coded point in the same row as the point to be coded.
[0062] It should be noted that if Figure 6 As shown, represents the first point to be encoded for each laser, ○ represents other occupied points, × represents unoccupied points, and phiC, phiC+1, …, phiC+k represent different angles. In related art, the radial distance prediction method in TML does not consider the prediction of the first point of each laser, resulting in a large radial distance prediction residual value for the first point. In addition, the predicted values in the horizontal prediction list are all encoded points in the same row as the current point to be encoded, with no significant difference between the predicted values. This fails to fully utilize the advantages of rate-distortion optimization methods, significantly affecting the context model update during entropy coding and the distribution of radial distance prediction residuals, resulting in an increased bitrate and adversely affecting coding performance.
[0063] The embodiment of the present application proposes a point cloud radial distance prediction encoding and decoding method. For the occupied points in the chain structure, matching prediction points are searched from other encoded rows. The search rule can be: find the radial distance of the point closest to the current point to be encoded in the horizontal direction and the vertical direction as the prediction value of the current point to be encoded, then add the prediction value to the prediction list, select the optimal prediction value from the prediction list according to the rate-distortion optimization method, and then calculate the prediction residual, and write the prediction residual and prediction index into the bitstream. The decoding end parses the prediction index and prediction residual, uses the same method to find the prediction value for each point to be decoded, and adds the found prediction value to the corresponding position in the prediction list. Finally, the original radial distance value is reconstructed based on the prediction value and the prediction residual.
[0064] By predicting the radial distance of the midpoint of the chain structure through the embodiment of the present application, by fully utilizing the information of each reconstructed point, the radial distance prediction performance can be significantly improved, the code stream required for radial distance encoding can be reduced, and the radial distance geometric coding efficiency can be improved.
[0065] In one embodiment, the point cloud encoding method used at the encoding end may include the following process:
[0066] For each occupied point in the chain structure, starting with the current point to be encoded, a matching prediction point is searched from the occupied points of other encoded rows using the bottom-up search rule. It should be noted that the search rule is not fixed and can also be top-down or other search rules within the available range. The search rule can be: find the point with the closest horizontal distance and the closest vertical distance to the current point to be encoded, and use the radial distance of the found point as the prediction value of the current point to be encoded.
[0067] It should be noted that the horizontal distance and vertical distance in the search rule can be used as search metrics separately, or the two distances can be quantized or weighted to obtain a new distance value as the search metric. For example, similar to the rate-distortion optimization method, an optimal prediction value can be selected based on the horizontal distance and the vertical distance in the coded occupied points. For example, the horizontal distance can be defined as the difference d between the current point to be coded and the coded occupied points in the column direction. first The vertical distance is defined as the difference d between the current point to be coded and the occupied point in the row direction. second , and then we get the weighted distance measure:
[0068] d final =λ×d first +d second
[0069] And take all d final The coded occupied point corresponding to the optimal value in is used as the prediction point, and the radial distance of the prediction point is used as the prediction value of the current point to be coded. For example, d final The minimum radial distance of the coded occupied point is used as the predicted value of the current point to be coded.
[0070] The predicted point is then added to the kth position in the horizontal prediction list. It should be noted that the predicted point can also be added to other positions in the horizontal prediction list, or it can be not added to the prediction list but the radial distance of the predicted point can be used as the predicted value of the current point to be encoded.
[0071] Finally, the best prediction value is selected from the prediction list according to the rate-distortion optimization method, the prediction residual is calculated, and the prediction residual and prediction index are written into the bitstream.
[0072] In an embodiment of the present application, coordinate transformation processing is performed on the geometric information of the point cloud to obtain geometric information with a chain structure; a first target prediction point is determined to match the point to be encoded in the chain structure, the first target prediction point being a point selected from the first target occupied points of the chain structure, the first target occupied points including occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure; based on the first target prediction point, the radial distance of the point to be encoded is predictively encoded to obtain a radial distance encoding result. In this way, by predictively encoding the first target prediction point, the occupied point information in the encoded row can be fully utilized, thereby improving the radial distance prediction performance, reducing the radial distance code stream, and improving the encoding efficiency.
[0073] Optionally, when the point to be encoded is the first occupied point in the row where the point to be encoded is located, the first target occupied point includes the first occupied point in the encoded row.
[0074] Wherein, when the point to be encoded is the first occupied point in the row where the point to be encoded is located, the first target occupied point may be the first occupied point that has been encoded in a different row from the point to be encoded in the chain structure. The first target prediction point may be a point selected from the first occupied point in another row that has been encoded.
[0075] In this embodiment, when the point to be encoded is the first occupied point in the row where the point to be encoded is located, the first target occupied point includes the first occupied point in the encoded row, which can reduce the radial distance prediction residual value of the first occupied point in each row in the chain structure, reduce the radial distance code flow, and improve coding efficiency.
[0076] Optionally, determining a first target prediction point that matches the point to be encoded in the chain structure includes:
[0077] Determining a first target prediction point that matches the point to be encoded based on at least one of a horizontal distance and a vertical distance;
[0078] The horizontal distance is the horizontal distance between the occupied point of the first target and the point to be encoded in the chain structure;
[0079] The vertical distance is the vertical distance between the first target occupied point and the point to be encoded in the chain structure.
[0080] The first target prediction point that matches the point to be encoded may be determined based on the horizontal distance; or the first target prediction point that matches the point to be encoded may be determined based on the vertical distance; or the first target prediction point that matches the point to be encoded may be determined based on the horizontal distance and the vertical distance.
[0081] In one embodiment, the selection rule for selecting the first target prediction point from the first target occupied points of the chain structure can be: searching for the point with the closest horizontal distance to the point to be encoded from the first target occupied points of the chain structure, and using the found point as the first target prediction point.
[0082] In one embodiment, the selection rule for selecting the first target prediction point from the first target occupied points of the chain structure can be: searching for the point with the closest vertical distance to the point to be encoded from the first target occupied points of the chain structure, and using the found point as the first target prediction point.
[0083] In one embodiment, the selection rule for selecting the first target prediction point from the first target occupied points of the chain structure can be: searching for the point that is closest to the point to be encoded in the horizontal direction and the vertical direction from the first target occupied points of the chain structure, and using the found point as the first target prediction point.
[0084] In one embodiment, the horizontal distance can be defined as the difference d between the point to be coded and the first target occupied point column direction first The vertical distance is defined as the difference d between the point to be coded and the first target occupied point in the row direction second , get the weighted distance measure:
[0085] d final =λ×d first +d second
[0086] Among them, λ is the preset weight value, and the d final The coded occupied point corresponding to the optimal value in is used as the first target prediction point. For example, the first target occupied point d final The smallest coded occupied point is used as the first target prediction point.
[0087] In one embodiment, the horizontal distance can be defined as the difference d between the point to be coded and the first target occupied point column direction first The vertical distance is defined as the difference d between the point to be coded and the first target occupied point in the row direction second , get the weighted distance measure:
[0088] d final =a1*dfirst +a2*d second
[0089] Among them, a1 and a2 are both preset weighted values, and the d final The coded occupied point corresponding to the optimal value in is used as the first target prediction point. For example, the first target occupied point d final The smallest coded occupied point is used as the first target prediction point.
[0090] In this embodiment, based on at least one of the horizontal distance and the vertical distance, a first target prediction point that matches the point to be encoded is determined, which can fully utilize the information of each reconstructed point in the chain structure, thereby improving the radial distance prediction performance, reducing the radial distance code rate, and improving the encoding efficiency.
[0091] Optionally, the first target prediction point is an occupied point in the encoded row of the chain structure that is closest to the point to be encoded in the horizontal direction and the vertical direction.
[0092] In this embodiment, the first target prediction point is an occupied point in the encoded row of the chain structure that is closest to the point to be encoded in the horizontal direction and the vertical direction, thereby significantly improving the radial distance prediction performance, reducing the code stream required for radial distance encoding, and improving the radial distance geometric coding efficiency.
[0093] Optionally, the predictive encoding of the radial distance of the to-be-encoded point based on the first target prediction point includes:
[0094] Update the prediction list corresponding to the radial distance of the to-be-encoded point based on the radial distance of the first target prediction point;
[0095] Selecting an optimal prediction value from the updated prediction list, and obtaining prediction residuals and prediction information based on the optimal prediction value;
[0096] The radial distance coding result includes the prediction residual and prediction information.
[0097] The prediction information may include a prediction index or other information that can be used to characterize the position of the optimal prediction value in the prediction list. The optimal prediction value may be selected from the updated prediction list using a rate-distortion optimization algorithm, or may be selected from the updated prediction list using another optimization algorithm having equivalent functionality to the rate-distortion optimization algorithm. This embodiment does not limit this.
[0098] In addition, updating the prediction list corresponding to the radial distance of the point to be encoded based on the radial distance of the first target prediction point may include adding the radial distance of the first target prediction point to the prediction list corresponding to the radial distance of the point to be encoded. For example, the radial distance of the first target prediction point may be added to the first position in the prediction list, or added to the second position in the prediction list, or added to the third position in the prediction list, or added to any position in the prediction list, and this embodiment does not limit this. Adding the radial distance of the first target prediction point to the prediction list corresponding to the radial distance of the point to be encoded may be adding the radial distance of the first target prediction point to the horizontal direction prediction list corresponding to the radial distance of the point to be encoded.
[0099] It should be noted that updating the prediction list corresponding to the radial distance of the to-be-encoded point based on the radial distance of the first target prediction point may include: adding the radial distance of the first target prediction point to the prediction list corresponding to the radial distance of the to-be-encoded point, and removing one of the values in the prediction list from the prediction list. The removed value may be the first value in the prediction list or the last value in the prediction list, which is not limited in this embodiment.
[0100] In one embodiment, the prediction list can be a horizontal prediction list, which can determine whether the prediction residual resR of the first target prediction point is greater than a preset threshold (or whether the first target prediction point is predicted using a vertical prediction value). If it is greater than the threshold (or the vertical prediction value is selected for prediction), the last value in the horizontal prediction list is removed, and the radial distance of the first target prediction point is added to the horizontal prediction list; otherwise, the optimal prediction value during the prediction encoding of the first target prediction point is removed from the horizontal prediction list, and the radial distance of the first target prediction point is added to the horizontal prediction list.
[0101] In this embodiment, a prediction list corresponding to the radial distance of the to-be-encoded point is updated based on the radial distance of the first target prediction point; an optimal prediction value is selected from the updated prediction list, and a prediction residual and prediction information are obtained based on the optimal prediction value; wherein the radial distance encoding result includes the prediction residual and prediction information. In this way, predictive encoding based on the radial distance of the first target prediction point can fully utilize the occupied point information in the encoded row, thereby improving radial distance prediction performance, reducing the radial distance bitrate, and improving encoding efficiency.
[0102] See Figure, Figure 7 This is a flowchart of a point cloud decoding method provided by an embodiment of the present application, which can be applied to a decoding end device, such as Figure 7 As shown, the point cloud decoding method includes the following steps:
[0103] Step 201: Determine a second target prediction point that matches a point to be decoded in a chain structure, where the second target prediction point is selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure.
[0104] Step 202: Reconstruct the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result.
[0105] The second target occupied point can be a decoded occupied point located in a different row of the chain structure from the point to be decoded. The second target predicted point can be a point selected from decoded occupied points in other rows. These other rows represent points located in different rows from the point to be decoded. An occupied point indicates that the point is not empty and contains a point cloud; an unoccupied point indicates that the point is empty and does not contain a point cloud.
[0106] In one embodiment, a selection rule for selecting a second target prediction point from the second target occupied points of the chain structure may be: selecting the second target prediction point from the second target occupied points of the chain structure based on at least one of a horizontal distance and a vertical distance, wherein the horizontal distance is the horizontal distance between the second target occupied point and the point to be decoded in the chain structure, and the vertical distance is the vertical distance between the second target occupied point and the point to be decoded in the chain structure.
[0107] It should be noted that, for the second target occupied point in the chain structure, the current point to be decoded can be used as the starting point, and the second target prediction point that matches the point to be decoded can be determined from the second target occupied points according to the search criteria of first down and then up, or the search criteria of first up and then down, or other search rules.
[0108] In addition, the reconstructing the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result may include: parsing the prediction residual and prediction information of the radial distance of the to-be-decoded point; obtaining a predicted value of the radial distance of the to-be-decoded point based on the prediction information and the radial distance of the second target prediction point; reconstructing the radial distance of the to-be-decoded point based on the predicted value of the radial distance of the to-be-decoded point and the prediction residual to obtain a radial distance reconstruction result; or the prediction index may be a preset value or a value specified by the protocol, and the reconstructing the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result may include: parsing the prediction residual of the radial distance of the to-be-decoded point; obtaining a predicted value of the radial distance of the to-be-decoded point based on the prediction information and the radial distance of the second target prediction point. Obtain a predicted value of the radial distance of the point to be decoded; reconstruct the radial distance of the point to be decoded based on the predicted value of the radial distance of the point to be decoded and the prediction residual to obtain a radial distance reconstruction result; or, reconstruct the radial distance of the point to be decoded based on the second target prediction point to obtain a radial distance reconstruction result, which may include: parsing the predicted residual of the radial distance of the point to be decoded; taking the radial distance of the second target prediction point as the predicted value of the radial distance of the point to be decoded, and reconstructing the radial distance of the point to be decoded based on the predicted value of the radial distance of the point to be decoded and the prediction residual to obtain a radial distance reconstruction result; and so on. This embodiment does not limit the specific implementation of reconstructing the radial distance of the point to be decoded based on the second target prediction point.
[0109] In one embodiment, the point cloud decoding method used at the decoding end may include the following process:
[0110] First, the prediction index and prediction residual are parsed. It should be noted that the prediction index can be obtained without parsing. For example, the prediction index can be set to a default value.
[0111] Then, starting with the current point to be decoded, the search is performed from the occupied points in other decoded rows using the bottom-up search rule. It should be noted that the search rule is not fixed and can be used top-down-then-bottom, or other search rules can be used within the available range. The search rule is: find the point that is closest horizontally and vertically to the current point to be decoded, and use the radial distance of the found point as the predicted value of the current point to be decoded.
[0112] It should be noted that the horizontal distance and vertical distance in the search rule can be used as search metrics separately, or the two distances can be quantized or weighted to obtain a new distance value as the search metric. For example, in the rate-distortion optimization method, an optimal prediction value is selected based on the horizontal distance and the vertical distance in the decoded occupied points. For example, the horizontal distance can be defined as the difference d between the current point to be decoded and the decoded occupied points in the column direction. first The vertical distance is defined as the difference d between the current point to be decoded and the decoded occupied point in the row direction second , and then we get the weighted distance measure:
[0113] d final =λ×d first +d second
[0114] And take all d final The decoded occupied point corresponding to the optimal value in is used as the prediction point, and the radial distance of the prediction point is used as the prediction value of the current point to be decoded. For example, d final The minimum radial distance of the decoded occupied point is used as the predicted value of the current point to be decoded.
[0115] If a prediction index is found, the predicted value is added to the corresponding position in the prediction list. Otherwise, the predicted value does not need to be added to the prediction list, but is used as the prediction value of the current point to be decoded. Finally, the original radial distance value of the current point to be decoded is reconstructed based on the predicted value and the prediction residual.
[0116] In an embodiment of the present application, a second target prediction point is determined that matches a point to be decoded in a chain structure. The second target prediction point is selected from the second target occupied points of the chain structure. The second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure. The radial distance of the point to be decoded is reconstructed based on the second target prediction point to obtain a radial distance reconstruction result. In this way, predictive decoding using the second target prediction point can fully utilize the occupied point information in the decoded row, thereby improving radial distance prediction performance, reducing radial distance bitrate, and improving encoding and decoding efficiency.
[0117] Optionally, when the point to be decoded is the first occupied point in the row where the point to be decoded is located, the second target occupied point includes the first occupied point in the decoded row.
[0118] Wherein, if the to-be-decoded point is the first occupied point in the row where the to-be-decoded point is located, the second target occupied point may be the first decoded occupied point in a different row from the to-be-decoded point in the chain structure. The second target prediction point may be a point selected from the first occupied point in another decoded row.
[0119] In this embodiment, when the point to be decoded is the first occupied point in the row where the point to be decoded is located, the second target occupied point includes the first occupied point in the decoded row, which can reduce the radial distance prediction residual value of the first occupied point in each row in the chain structure, reduce the radial distance code stream, and improve the encoding and decoding efficiency.
[0120] Optionally, determining the second target prediction point that matches the to-be-decoded point in the chain structure includes:
[0121] Determining a second target prediction point that matches the to-be-decoded point based on at least one of a horizontal distance and a vertical distance;
[0122] The horizontal distance is the horizontal distance between the occupied point of the second target and the point to be decoded in the chain structure;
[0123] The vertical distance is the vertical distance between the second target occupied point and the to-be-decoded point in the chain structure.
[0124] The second target prediction point that matches the point to be decoded may be determined based on the horizontal distance; or the second target prediction point that matches the point to be decoded may be determined based on the vertical distance; or the second target prediction point that matches the point to be decoded may be determined based on the horizontal distance and the vertical distance.
[0125] In one embodiment, a selection rule for selecting the second target prediction point from the second target occupied points of the chain structure may be: searching for the point closest to the point to be decoded in the horizontal direction from the second target occupied points of the chain structure, and using the found point as the second target prediction point.
[0126] In one embodiment, a selection rule for selecting the second target prediction point from the second target occupied points of the chain structure may be: searching for a point that is closest to the point to be decoded in a vertical direction from the second target occupied points of the chain structure, and using the found point as the second target prediction point.
[0127] In one embodiment, a selection rule for selecting the second target prediction point from the second target occupied points of the chain structure may be: searching the second target occupied points of the chain structure for a point that is closest to the point to be decoded in the horizontal direction and the vertical direction, and using the found point as the second target prediction point.
[0128] In one embodiment, the horizontal distance can be defined as the difference d between the point to be decoded and the second target occupied point column direction first The vertical distance is defined as the difference d between the point to be decoded and the second target occupied point in the row direction second , get the weighted distance measure:
[0129] d final =λ×d first +d second
[0130] Among them, λ is the preset weight value, and the d final The decoded occupied point corresponding to the optimal value in is used as the second target prediction point. For example, the second target occupied point d final The smallest decoded occupied point is used as the second target prediction point.
[0131] In one embodiment, the horizontal distance can be defined as the difference d between the point to be decoded and the second target occupied point column direction first The vertical distance is defined as the difference d between the point to be decoded and the second target occupied point in the row direction second , get the weighted distance measure:
[0132] d final =a1*d first +a2*d second
[0133] Among them, a1 and a2 are both preset weighted values, and the d value of the second target occupied point is taken. final The decoded occupied point corresponding to the optimal value in is used as the second target prediction point. For example, the second target occupied point d final The smallest decoded occupied point is used as the second target prediction point.
[0134] In this embodiment, based on at least one of the horizontal distance and the vertical distance, a second target prediction point that matches the point to be decoded is determined, which can fully utilize the information of each reconstructed point in the chain structure, thereby improving the radial distance prediction performance, reducing the radial distance code stream, and improving the encoding and decoding efficiency.
[0135] Optionally, the second target prediction point is an occupied point in the decoded row of the chain structure that is closest to the point to be decoded in the horizontal direction and the vertical direction.
[0136] In this embodiment, the second target prediction point is an occupied point in the decoded row of the chain structure that is closest to the point to be decoded in the horizontal direction and the vertical direction, thereby significantly improving the radial distance prediction performance, reducing the bit rate required for radial distance encoding, and improving the radial distance geometric encoding and decoding efficiency.
[0137] Optionally, reconstructing the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result includes:
[0138] parsing the prediction residual and prediction information of the radial distance of the point to be decoded;
[0139] Obtaining a predicted value of the radial distance of the to-be-decoded point based on the prediction information and the radial distance of the second target prediction point;
[0140] The radial distance of the to-be-decoded point is reconstructed based on the predicted value of the radial distance of the to-be-decoded point and the prediction residual to obtain a radial distance reconstruction result.
[0141] The prediction information may include a prediction index or other information that can be used to characterize the position of the optimal prediction value in the prediction list. The prediction residual may be a prediction residual in the radial distance coding result, and the prediction information may be prediction information in the radial distance coding result.
[0142] In addition, obtaining the predicted value of the radial distance of the point to be decoded based on the prediction information and the radial distance of the second target prediction point may include adding the radial distance of the second target prediction point to the corresponding position in the prediction list, and obtaining the predicted value of the radial distance of the point to be decoded from the prediction list based on the prediction information, wherein the predicted value may be the value indicated by the prediction information in the prediction list.
[0143] In this embodiment, the prediction residual and prediction information of the radial distance of the point to be decoded are analyzed; a predicted value of the radial distance of the point to be decoded is obtained based on the prediction information and the radial distance of the second target prediction point; and the radial distance of the point to be decoded is reconstructed based on the predicted value of the radial distance of the point to be decoded and the prediction residual to obtain a radial distance reconstruction result. In this way, predictive decoding based on the radial distance of the second target prediction point can fully utilize the occupied point information in the decoded row, thereby improving radial distance prediction performance, reducing the radial distance bitrate, and improving encoding and decoding efficiency.
[0144] The point cloud encoding method and point cloud decoding method of the embodiment of the present application are described below through two specific embodiments:
[0145] Example 1:
[0146] In this embodiment, radial distance prediction is performed for the first occupied point in each row.
[0147] Encoding side:
[0148] First, for the first occupied point in each row of the chain structure, such as Figure 8 As shown, point P is the point to be encoded, and C is the first point encoded in other rows. Starting from the current point to be encoded P, according to the principle of first bottom and then top, a matching prediction point is searched from the first point of other encoded rows. The search rule is: find the point with the closest horizontal distance and the closest vertical distance to the current point to be encoded, and use the radial distance of the found point as the prediction value of the current point to be encoded P. In the figure, F is the prediction point finally selected. Figure 8 middle, Indicates the point to be coded, Indicates a coded point, Indicates the final selected prediction point.
[0149] Then, the predicted point is added to the second position in the horizontal prediction list. It should be noted that the predicted point can also be added to other positions in the prediction list, or it can be not added to the prediction list and the radial distance of the predicted point can be used as the predicted value of the first point.
[0150] Finally, the best prediction value is selected from the prediction list according to the rate-distortion optimization method, the prediction residual is calculated, and the prediction residual and prediction index are written into the bitstream.
[0151] Decoding end:
[0152] First, the prediction index and prediction residual are parsed. It should be noted that the prediction index can be obtained without parsing. For example, the prediction index can be set to a default value.
[0153] Then, a matching prediction point is searched from the first reconstructed point of other decoded rows. The search rule is: find the point with the closest horizontal distance and the closest vertical distance to the current point to be decoded, and use the radial distance of the found point as the prediction value of the current point to be decoded.
[0154] If a prediction index is found, the predicted value is added to the corresponding position in the prediction list. Otherwise, the predicted value does not need to be added to the prediction list, but is used as the predicted value of the first point. Finally, the original radial distance value is reconstructed based on the predicted value and the prediction residual.
[0155] Example 2:
[0156] In this embodiment, the radial distance of any occupied point in each row is predicted.
[0157] Encoding side:
[0158] First, for the occupied points in the chain structure, starting with the current point to be encoded, according to the bottom-first-top principle, search for matching prediction points from the occupied points of other encoded rows. The search rule is: find the point that is closest to the current point to be encoded in the horizontal direction and the vertical direction, and use the radial distance of the found point as the prediction value of the current point to be encoded. It should be noted that the horizontal distance and vertical distance in the search rule can be used as search metrics separately, or the two distances can be quantized or weighted to obtain a new distance value as the search metric. In one embodiment, an optimal prediction value can be selected based on the horizontal distance and vertical distance in the encoded occupied points, similar to the rate-distortion optimization method. For example, the horizontal distance can be defined as the column difference d between the current point to be encoded and the encoded occupied points. first The vertical distance is defined as the difference d between the current point to be coded and the occupied point in the row direction. second , and then we get the weighted distance measure:
[0159] d final =λ×d first +d second
[0160] And take all d final The coded occupied point corresponding to the optimal value in is used as the prediction point, and the radial distance of the prediction point is used as the prediction value of the current point to be coded. For example, d final The minimum radial distance of the coded occupied point is used as the predicted value of the current point to be coded.
[0161] Then, the prediction point is added to the kth position in the horizontal prediction list. It should be noted that the prediction point can also be added to other positions in the horizontal prediction list, or it can be not added to the prediction list but the radial distance of the prediction point can be used as the prediction value of the current point to be encoded.
[0162] Finally, the best prediction value is selected from the prediction list according to the rate-distortion optimization method, the prediction residual is calculated, and the prediction residual and prediction index are written into the bitstream.
[0163] Decoding end:
[0164] First, the prediction index and prediction residual are parsed. It should be noted that the prediction index can be obtained without parsing. For example, the prediction index can be set to a default value.
[0165] Then, a matching prediction point is searched from the reconstructed points of other decoded rows. The search rule is: find the point that is closest to the current point to be decoded in the horizontal direction and the vertical direction, and use the radial distance of the found point as the prediction value of the current point to be decoded. It should be noted that the horizontal distance and the vertical distance in the search rule can be used as search metrics separately, or the two distances can be quantized or weighted to obtain a new distance value as the search metric. In one embodiment, an optimal prediction value can be selected based on the horizontal distance and the vertical distance in the decoded occupied points, similar to the rate-distortion optimization method. For example, the horizontal distance can be defined as the column difference d between the current point to be decoded and the decoded occupied points. first The vertical distance is defined as the difference d between the current point to be decoded and the decoded occupied point in the row direction second , and then we get the weighted distance measure:
[0166] d final =λ×d first +d second
[0167] And take all d final The coded occupied point corresponding to the optimal value in is used as the prediction point, and the radial distance of the prediction point is used as the prediction value of the current point to be decoded. For example, d final The minimum radial distance of the coded occupied point is used as the predicted value of the current point to be decoded.
[0168] If a prediction index is found, the predicted value is added to the corresponding position in the prediction list. Otherwise, the predicted value does not need to be added to the prediction list, but is used as the prediction value of the current point to be decoded. Finally, the original radial distance value of the current point to be decoded is reconstructed based on the predicted value and the prediction residual.
[0169] The embodiment of the present application proposes a point cloud radial distance prediction encoding and decoding method. For the occupied points in the chain structure, matching prediction points are searched from other encoded rows. The search rule is: find the radial distance of the point that is closest to the current point to be encoded in the horizontal direction and the vertical direction as the prediction value of the current point, then add the prediction point to the prediction list, and finally select the best prediction value from the prediction list according to the rate-distortion optimization method, and then calculate the prediction residual, and write the prediction residual and the prediction index into the bitstream. The decoding end parses the prediction index and prediction residual, and uses the same method to find the prediction value for each point to be decoded, and adds the found prediction value to the corresponding position in the prediction list. Finally, the original radial distance value is reconstructed based on the prediction value and the prediction residual. In this way, the radial distance of the points in the chain structure is predicted and decoded. By making full use of the information of each reconstructed point, the radial distance prediction performance can be significantly improved, the bitstream required for radial distance encoding can be reduced, and the efficiency of radial distance geometric encoding can be improved.
[0170] It should be noted that the point cloud coding method provided in the embodiments of the present application can be executed by a point cloud coding device, or a control module in the point cloud coding device for executing the point cloud coding method. In the embodiments of the present application, the point cloud coding device provided in the embodiments of the present application is described by taking the point cloud coding method executed by the point cloud coding device as an example.
[0171] See Figure 9 , Figure 9 This is a structural diagram of a point cloud encoding device provided in an embodiment of the present application. Figure 9 As shown, the point cloud encoding device 300 includes:
[0172] An acquisition module 301 is used to perform coordinate transformation processing on the geometric information of the point cloud to obtain geometric information with a chain structure;
[0173] a determination module 302 configured to determine a first target prediction point that matches the point to be encoded in the chain structure, wherein the first target prediction point is a point selected from first target occupied points in the chain structure, the first target occupied points including occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure;
[0174] The encoding module 303 is configured to perform predictive encoding on the radial distance of the point to be encoded based on the first target prediction point to obtain a radial distance encoding result.
[0175] Optionally, when the point to be encoded is the first occupied point in the row where the point to be encoded is located, the first target occupied point includes the first occupied point in the encoded row.
[0176] Optionally, the determining module is specifically configured to:
[0177] Determining a first target prediction point that matches the point to be encoded based on at least one of a horizontal distance and a vertical distance;
[0178] The horizontal distance is the horizontal distance between the occupied point of the first target and the point to be encoded in the chain structure;
[0179] The vertical distance is the vertical distance between the first target occupied point and the point to be encoded in the chain structure.
[0180] Optionally, the first target prediction point is an occupied point in the encoded row of the chain structure that is closest to the point to be encoded in the horizontal direction and the vertical direction.
[0181] Optionally, the encoding module is specifically configured to:
[0182] Update the prediction list corresponding to the radial distance of the to-be-encoded point based on the radial distance of the first target prediction point;
[0183] Selecting an optimal prediction value from the updated prediction list, and obtaining prediction residuals and prediction information based on the optimal prediction value;
[0184] The radial distance coding result includes the prediction residual and prediction information.
[0185] The point cloud encoding device 300 in the embodiment of the present application can improve encoding efficiency.
[0186] The point cloud encoding device in the embodiment of the present application can be a device, a device or electronic device with an operating system, or a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. For example, the mobile terminal can include but is not limited to the types of terminals listed above, and the non-mobile terminal can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), an ATM or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.
[0187] The point cloud encoding device provided in the embodiment of the present application can achieve Figure 3 The various processes implemented by the method embodiment achieve the same technical effect and are not described here again to avoid repetition.
[0188] It should be noted that the point cloud decoding method provided in the embodiments of the present application can be executed by a point cloud decoding device, or by a control module in the point cloud decoding device for executing the point cloud decoding method. In the embodiments of the present application, the point cloud decoding device provided in the embodiments of the present application is described using the point cloud decoding method executed by the point cloud decoding device as an example.
[0189] See Figure 10 , Figure 10 This is a structural diagram of a point cloud decoding device provided in an embodiment of the present application. Figure 10 As shown, the point cloud decoding device 400 includes:
[0190] a determination module 401 configured to determine a second target prediction point that matches a point to be decoded in a chain structure, wherein the second target prediction point is a point selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure;
[0191] The processing module 402 is configured to reconstruct the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result.
[0192] Optionally, when the point to be decoded is the first occupied point in the row where the point to be decoded is located, the second target occupied point includes the first occupied point in the decoded row.
[0193] Optionally, the determining module is specifically configured to:
[0194] Determining a second target prediction point that matches the to-be-decoded point based on at least one of a horizontal distance and a vertical distance;
[0195] The horizontal distance is the horizontal distance between the occupied point of the second target and the point to be decoded in the chain structure;
[0196] The vertical distance is the vertical distance between the second target occupied point and the to-be-decoded point in the chain structure.
[0197] Optionally, the second target prediction point is an occupied point in the decoded row of the chain structure that is closest to the point to be decoded in the horizontal direction and the vertical direction.
[0198] Optionally, the processing module is specifically configured to:
[0199] parsing the prediction residual and prediction information of the radial distance of the point to be decoded;
[0200] Obtaining a predicted value of the radial distance of the to-be-decoded point based on the prediction information and the radial distance of the second target prediction point;
[0201] The radial distance of the to-be-decoded point is reconstructed based on the predicted value of the radial distance of the to-be-decoded point and the prediction residual to obtain a radial distance reconstruction result.
[0202] The point cloud decoding device 400 in the embodiment of the present application can improve decoding efficiency.
[0203] The point cloud decoding device in the embodiments of the present application can be a device, a device or electronic device with an operating system, or a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. For example, the mobile terminal can include but is not limited to the types of terminals listed above, and the non-mobile terminal can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), an ATM or a self-service machine, etc., which is not specifically limited in the embodiments of the present application.
[0204] The point cloud decoding device provided in the embodiment of the present application can achieve Figure 7 The various processes implemented by the method embodiment achieve the same technical effect and are not described here again to avoid repetition.
[0205] Alternatively, as Figure 11 As shown, the embodiment of the present application further provides a communication device 500, including a processor 501 and a memory 502. The memory 502 stores a program or instruction that can be run on the processor 501. For example, when the communication device 500 is an encoding end device, the program or instruction, when executed by the processor 501, implements the various steps of the above-mentioned point cloud encoding method embodiment and can achieve the same technical effect. When the communication device 500 is a decoding end device, the program or instruction, when executed by the processor 501, implements the various steps of the above-mentioned point cloud decoding method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0206] The embodiment of the present application also provides a communication device, including a processor and a communication interface, wherein the processor is used to: perform coordinate transformation processing on the geometric information of the point cloud to obtain geometric information with a chain structure; determine a first target prediction point that matches the point to be encoded in the chain structure, the first target prediction point is a point selected from the first target occupied point of the chain structure, the first target occupied point includes the occupied points in the encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure; predictively encode the radial distance of the point to be encoded based on the first target prediction point to obtain a radial distance encoding result. This communication device embodiment corresponds to the above-mentioned point cloud encoding method embodiment, and each implementation process and implementation method of the above-mentioned point cloud encoding method embodiment can be applied to this communication device embodiment and can achieve the same technical effect.
[0207] The present application also provides a communication device including a processor and a communication interface, wherein the processor is configured to: determine a second target prediction point that matches a point to be decoded in a chain structure, wherein the second target prediction point is a point selected from the second target occupied points of the chain structure, wherein the second target occupied points include occupied points in a decoded row, and wherein the second target occupied points and the point to be decoded are located in different rows of the chain structure; and reconstruct the radial distance of the point to be decoded based on the second target prediction point to obtain a radial distance reconstruction result. This communication device embodiment corresponds to the above-mentioned point cloud decoding method embodiment, and each implementation process and implementation method of the above-mentioned point cloud decoding method embodiment can be applied to this communication device embodiment and can achieve the same technical effect.
[0208] Optionally, the communication device may be a terminal. Specifically, Figure 12 A schematic diagram of the hardware structure of a terminal for implementing an embodiment of the present application.
[0209] The terminal 600 includes but is not limited to: a radio frequency unit 601, a network module 602, an audio output unit 603, an input unit 604, a sensor 605, a display unit 606, a user input unit 607, an interface unit 608, a memory 609 and at least some of the components of the processor 610.
[0210] Those skilled in the art will understand that the terminal 600 may also include a power supply (such as a battery) to power each component, and the power supply may be logically connected to the processor 610 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system. Figure 12 The terminal structure shown in the figure does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be repeated here.
[0211] It should be understood that in an embodiment of the present application, the input unit 604 may include a graphics processing unit (GPU) 6041 and a microphone 6042, and the graphics processor 6041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 606 may include a display panel 6061, and the display panel 6061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 607 includes a touch panel 6071 and at least one of other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include two parts: a touch detection device and a touch controller. Other input devices 6072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
[0212] In the embodiment of the present application, after receiving downlink data from a network-side device, the radio frequency unit 601 may transmit the data to the processor 610 for processing. Furthermore, the radio frequency unit 601 may send uplink data to the network-side device. Typically, the radio frequency unit 601 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and the like.
[0213] The memory 609 can be used to store software programs or instructions and various data. The memory 609 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, applications or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory 609 may include a volatile memory or a non-volatile memory, or the memory 609 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), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM), and a direct RAM bus random access memory (DRRAM). The memory 609 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
[0214] Processor 610 may include one or more processing units. Optionally, processor 610 integrates an application processor and a modem processor. The application processor primarily handles operations related to the operating system, user interface, and application programs, while the modem processor primarily processes wireless communication signals, such as a baseband processor. It is understood that the modem processor may not be integrated into processor 610.
[0215] Wherein, when the terminal is an encoding terminal device:
[0216] The processor 610 is configured to:
[0217] Perform coordinate transformation on the geometric information of the point cloud to obtain geometric information with a chain structure;
[0218] Determining a first target prediction point that matches the point to be encoded in the chain structure, where the first target prediction point is selected from first target occupied points in the chain structure, the first target occupied points include occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure;
[0219] The radial distance of the to-be-encoded point is predictively encoded based on the first target prediction point to obtain a radial distance encoding result.
[0220] Optionally, when the point to be encoded is the first occupied point in the row where the point to be encoded is located, the first target occupied point includes the first occupied point in the encoded row.
[0221] Optionally, the processor 610 is specifically configured to:
[0222] Determining a first target prediction point that matches the point to be encoded based on at least one of a horizontal distance and a vertical distance;
[0223] The horizontal distance is the horizontal distance between the occupied point of the first target and the point to be encoded in the chain structure;
[0224] The vertical distance is the vertical distance between the first target occupied point and the point to be encoded in the chain structure.
[0225] Optionally, the first target prediction point is an occupied point in the encoded row of the chain structure that is closest to the point to be encoded in the horizontal direction and the vertical direction.
[0226] Optionally, the processor 610 is specifically configured to:
[0227] Update the prediction list corresponding to the radial distance of the to-be-encoded point based on the radial distance of the first target prediction point;
[0228] Selecting an optimal prediction value from the updated prediction list, and obtaining prediction residuals and prediction information based on the optimal prediction value;
[0229] The radial distance coding result includes the prediction residual and prediction information.
[0230] When the terminal is a decoding device:
[0231] The processor 610 is configured to:
[0232] Determining a second target prediction point that matches the point to be decoded in the chain structure, where the second target prediction point is selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure;
[0233] The radial distance of the to-be-decoded point is reconstructed based on the second target prediction point to obtain a radial distance reconstruction result.
[0234] Optionally, when the point to be decoded is the first occupied point in the row where the point to be decoded is located, the second target occupied point includes the first occupied point in the decoded row.
[0235] Optionally, the processor 610 is specifically configured to:
[0236] Determining a second target prediction point that matches the to-be-decoded point based on at least one of a horizontal distance and a vertical distance;
[0237] The horizontal distance is the horizontal distance between the occupied point of the second target and the point to be decoded in the chain structure;
[0238] The vertical distance is the vertical distance between the second target occupied point and the to-be-decoded point in the chain structure.
[0239] Optionally, the second target prediction point is an occupied point in the decoded row of the chain structure that is closest to the point to be decoded in the horizontal direction and the vertical direction.
[0240] Optionally, the processor 610 is specifically configured to:
[0241] parsing the prediction residual and prediction information of the radial distance of the point to be decoded;
[0242] Obtaining a predicted value of the radial distance of the to-be-decoded point based on the prediction information and the radial distance of the second target prediction point;
[0243] The radial distance of the to-be-decoded point is reconstructed based on the predicted value of the radial distance of the to-be-decoded point and the prediction residual to obtain a radial distance reconstruction result.
[0244] The terminal in the embodiment of the present application can improve encoding and decoding efficiency.
[0245] Specifically, the terminal of the embodiment of the present application further includes: instructions or programs stored in the memory 609 and executable on the processor 610, and the processor 610 calls the instructions or programs in the memory 609 to execute Figure 9 or Figure 10The methods executed by the modules shown achieve the same technical effects, so they will not be described here to avoid repetition.
[0246] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned point cloud encoding method embodiment are implemented, or when the program or instruction is executed by a processor, the various processes of the above-mentioned point cloud decoding method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0247] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.
[0248] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned point cloud encoding method embodiment, or to implement the various processes of the above-mentioned point cloud decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0249] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0250] It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, it should be noted that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the opposite order according to the functions involved. For example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0251] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0252] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application and the scope of protection of the claims, all of which are within the protection of this application.
Claims
1. A point cloud coding method, characterized in that: include: Perform coordinate transformation on the geometric information of the point cloud to obtain geometric information with a chain structure; Determining a first target prediction point that matches the point to be encoded in the chain structure, where the first target prediction point is selected from first target occupied points in the chain structure, the first target occupied points include occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure; The radial distance of the to-be-encoded point is predictively encoded based on the first target prediction point to obtain a radial distance encoding result.
2. The method according to claim 1, characterized in that In a case where the point to be encoded is the first occupied point in the row where the point to be encoded is located, the first target occupied point includes the first occupied point in the encoded row.
3. The method according to claim 1 or 2, characterized in that The determining of the first target prediction point that matches the point to be encoded in the chain structure includes: Determining a first target prediction point that matches the point to be encoded based on at least one of a horizontal distance and a vertical distance; The horizontal distance is the horizontal distance between the occupied point of the first target and the point to be encoded in the chain structure; The vertical distance is the vertical distance between the first target occupied point and the point to be encoded in the chain structure.
4. The method according to any one of claims 1 to 3, characterized in that The first target prediction point is an occupied point in the encoded row of the chain structure that is closest to the point to be encoded in the horizontal direction and the vertical direction.
5. The method according to any one of claims 1 to 4, characterized in that The predictive encoding of the radial distance of the point to be encoded based on the first target prediction point includes: Update the prediction list corresponding to the radial distance of the to-be-encoded point based on the radial distance of the first target prediction point; Selecting an optimal prediction value from the updated prediction list, and obtaining prediction residuals and prediction information based on the optimal prediction value; The radial distance coding result includes the prediction residual and prediction information.
6. A point cloud decoding method, characterized in that: include: Determining a second target prediction point that matches the point to be decoded in the chain structure, where the second target prediction point is selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure; The radial distance of the to-be-decoded point is reconstructed based on the second target prediction point to obtain a radial distance reconstruction result.
7. The method according to claim 6, characterized in that In a case where the point to be decoded is the first occupied point in the row where the point to be decoded is located, the second target occupied point includes the first occupied point in the decoded row.
8. The method according to claim 6 or 7, characterized in that The determining of the second target prediction point that matches the to-be-decoded point in the chain structure includes: Determining a second target prediction point that matches the to-be-decoded point based on at least one of a horizontal distance and a vertical distance; The horizontal distance is the horizontal distance between the occupied point of the second target and the point to be decoded in the chain structure; The vertical distance is the vertical distance between the second target occupied point and the to-be-decoded point in the chain structure.
9. The method according to any one of claims 6 to 8, characterized in that The second target prediction point is an occupied point in the decoded row of the chain structure that is closest to the point to be decoded in the horizontal direction and the vertical direction.
10. The method according to any one of claims 6 to 9, characterized in that The reconstructing the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result includes: parsing the prediction residual and prediction information of the radial distance of the point to be decoded; Obtaining a predicted value of the radial distance of the to-be-decoded point based on the prediction information and the radial distance of the second target prediction point; The radial distance of the to-be-decoded point is reconstructed based on the predicted value of the radial distance of the to-be-decoded point and the prediction residual to obtain a radial distance reconstruction result.
11. A point cloud encoding device, characterized in that: include: The acquisition module is used to perform coordinate transformation processing on the geometric information of the point cloud to obtain geometric information with a chain structure; a determination module, configured to determine a first target prediction point that matches the point to be encoded in the chain structure, wherein the first target prediction point is a point selected from first target occupied points in the chain structure, the first target occupied points include occupied points in an encoded row, and the first target occupied point and the point to be encoded are located in different rows of the chain structure; The encoding module is configured to perform predictive encoding on the radial distance of the point to be encoded based on the first target prediction point to obtain a radial distance encoding result.
12. A point cloud decoding device, characterized in that: include: a determination module, configured to determine a second target prediction point that matches the point to be decoded in the chain structure, wherein the second target prediction point is a point selected from second target occupied points in the chain structure, the second target occupied points include occupied points in a decoded row, and the second target occupied point and the point to be decoded are located in different rows of the chain structure; A processing module is used to reconstruct the radial distance of the to-be-decoded point based on the second target prediction point to obtain a radial distance reconstruction result.
13. A communication device, characterized in that: The method comprises a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the point cloud encoding method according to any one of claims 1 to 5; or, when executed by the processor, the program or instruction, when executed by the processor, implements the steps of the point cloud decoding method according to any one of claims 6 to 10.
14. A readable storage medium, characterized in that The readable storage medium stores a program or instruction, and when the program or instruction is executed by the processor, the steps of the point cloud encoding method according to any one of claims 1 to 5 are implemented, or when the program or instruction is executed by the processor, the steps of the point cloud decoding method according to any one of claims 6 to 10 are implemented.
Citation Information
Patent Citations
A chain-type high-precision splicing and adjustment method based on long-strip multi-site cloud
CN109345617A
Coding processing method and decoding processing method for geometric information of point cloud and related equipment
CN115471627A
Cited By
Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and communication device
EP4651493A1