Attribute information prediction method, encoder, decoder, and storage medium
By using Morton code and adjacency information table for prediction in the point cloud exploration model, the spatial inaccuracy problem caused by periodic jumps in Morton code is solved, and higher prediction accuracy and coding efficiency are achieved.
Patent Information
- Application Number
- JP2024010387
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-01-26
- Publication Date
- 2025-04-07
- Estimated Expiration
- 2039-12-02
AI Technical Summary
In the point cloud exploration model, the periodic jump of the Morton code leads to inaccurate space when using only neighboring points for prediction, resulting in large prediction residuals and low coding efficiency.
By determining the current Morton code, using the given adjacency information table, determine the target Morton code and the corresponding coordinate difference, determine whether the target point is in the encoded target point cloud, and if it exists, use the attribute reconstruction information of the adjacency point for prediction.
Improve prediction accuracy, reduce prediction residuals, and improve coding efficiency.
Smart Images

Figure 0007657987000016 
Figure 0007657987000017 
Figure 0007657987000018
Abstract
Description
[Technical field]
[0001] The embodiments of the present application relate to encoding and decoding techniques in the field of communications, and in particular to a method for predicting attribute information. , an encoder, a decoder and a storage medium. [Background technology]
[0002] Point cloud exploration model In the CEM (Common Array) encoder framework, the input point cloud is converted into geometric information and each point is Here, the geometric information of the point cloud and the attribute information corresponding to each point may be divided into The attribute information of the point cloud is encoded separately. Here, the coordinate information of the points is used to encode the attribute information of the point cloud. Then, the Morton code corresponding to each point in the point cloud is obtained by using the Based on this, attribute information can be predicted by the backward difference method.
[0003] Since there are periodic jump points in the Morton code, adjacent If we only use the previous points to predict the current point, it will be spatially inaccurate, and the prediction This affects the accuracy of the prediction, leading to defects such as large prediction residuals, and further reduces the coding efficiency. Reduce. Summary of the Invention
[0004] The embodiment of the present application effectively improves the prediction accuracy, greatly reduces the prediction residual, and improves the coding. US20130232633A1 - Attribute information prediction method for improving data conversion efficiency, encoder, decoder and storage medium - Google Patents Provide the body.
[0005] The technical solutions of the embodiments of the present application may be realized as follows.
[0006] According to a first aspect, an embodiment of the present application provides a method for predicting attribute information for use in an encoder. The method includes: determining a current Morton code for a predicted target point in the set of points to be coded; Based on the current Morton code, the prediction target is determined by a predetermined adjacent information table. determining a target Morton code corresponding to a point, said predetermined neighbor information table is for determining the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point, And, Based on the target Morton code, adjacent points of the predicted target point are included in the encoding target point group. Determine whether it exists, and If the adjacent point exists in the encoding target point group, the attribute reconstruction information of the adjacent point is used to and predicting an attribute prediction value of the prediction target point using the prediction method.
[0007] According to a second aspect, the embodiment of the present application further comprises a method for predicting attribute information used in a decoder. The method comprises: determining a current Morton code for a prediction target point in the set of points to be decoded; Based on the current Morton code, the prediction target is determined by a predetermined adjacent information table. determining a target Morton code corresponding to a point, said predetermined neighbor information table is for determining the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point, And, Based on the target Morton code, the adjacent points of the predicted target point are present in the decoding target point group. To determine whether there is If the adjacent point exists in the decoding target point group, the attribute reconstruction information of the adjacent point is and predicting an attribute prediction value of the prediction target point.
[0008] According to a third aspect, an embodiment of the present application further provides an encoder, the encoder comprising: A first determination unit, a first judgment unit, and a first prediction unit, The first determination unit determines a current Morton code of a prediction target point in a group of encoding target points. Based on the current Morton code, the prediction target is determined by a predetermined adjacent information table. a target Morton code corresponding to the point, The rule is for determining a coordinate difference between an adjacent position of the prediction target point and a predetermined reference point, The first determination unit applies the predicted value to the encoding target point group based on the target Morton code. configured to determine whether a neighbor of the target point exists; If the adjacent point exists in the encoding target point group, the first prediction unit The prediction device is configured to predict an attribute prediction value of the prediction target point based on the reconstruction information.
[0009] According to a fourth aspect, an embodiment of the present application further provides a decoder, the decoder comprising: A determination unit, a second determination unit, and a second prediction unit, The second determination unit determines a current Morton code of a prediction target point in a decoding target point group; Based on the current Morton code, the prediction target point is and determining a target Morton code corresponding to said predetermined adjacent information table is for determining a coordinate difference between an adjacent position of the prediction target point and a predetermined reference point, The second determination unit performs the prediction on the decoding target point group based on the target Morton code. configured to determine whether neighbors of the point of interest exist; The second prediction unit, if the adjacent point exists in the decoding target point group, performs attribute reconstruction of the adjacent point. The prediction device is configured to predict an attribute prediction value of the prediction target point based on the construction information.
[0010] According to a fifth aspect, an embodiment of the present application further provides an encoder, the encoder comprising: a first processor and a first memory storing instructions executable by the first processor; and when the instructions are executed by the first processor, the attribute information as described above is generated. This will realize a method for predicting information.
[0011] According to a sixth aspect, the present embodiment further provides a decoder, the decoder comprising: a processor; and a second memory having instructions executable by the second processor stored therein; and when the instructions are executed by the second processor, Realize prediction methods.
[0012] According to a seventh aspect, the present embodiment further provides a computer-readable storage medium. A computer-readable storage medium stores a program for use in the encoder, When the program is executed by a processor, the method for predicting attribute information as described above is carried out. Manifest.
[0013] According to an eighth aspect, the present embodiment further provides a computer-readable storage medium. A program for use in the decoder is stored in a computer-readable storage medium, When the program is executed by the processor, the method for predicting attribute information as described above is realized. do. Effect of the Invention
[0014] The present application provides a method for predicting attribute information, an encoder, a decoder, and a storage medium. The encoder determines the current Morton code of the prediction point in the set of points to be encoded. Based on the Morton code, a predetermined neighboring information table is used to select the target point corresponding to the prediction target point. A target Morton code is determined, and a predetermined adjacent information table is stored in the adjacent position of the prediction target point and the predetermined To determine the coordinate difference with the reference point, the target is coded based on the Morton code. It is determined whether adjacent points of the predicted target point exist in the target point group, and if adjacent points exist in the encoding target point group, If present, the attribute prediction value of the prediction target point is predicted based on the attribute reconstruction information of the neighboring points. The decoder determines a current Morton code of a prediction target point in the set of points to be decoded, Based on the ton code, the target model corresponding to the predicted target point is selected by a predetermined neighboring information table. A Morton code is determined, and neighbors of the predicted target point are added to the decoded target point group based on the target Morton code. Determine whether or not there is a contact point. If there are adjacent points in the point group to be decoded, re-register the attributes of the adjacent points. Based on the construction information, the attribute prediction value of the prediction target point is predicted. In the embodiment, the encoder and the decoder perform prediction of attribute information for the prediction target point. In this case, the current Morton code of the prediction target point is used based on a given neighboring information table. A target Morton code corresponding to adjacent positions around the predicted target point can be determined, and the point cloud In the case where the adjacent point of the prediction target point exists in the adjacent position, the encoder and the decoder directly and performing prediction using the attribute reconstruction values of the adjacent points in a contiguous manner to obtain a predicted attribute value of the prediction target point. Since the correlation between the prediction point and the neighboring points is higher, the prediction point can be predicted by the neighboring points. By realizing the prediction of attribute information, the prediction accuracy is effectively improved and the prediction residual is greatly reduced. , thereby improving the coding efficiency. [Brief description of the drawings]
[0015] [Figure 1] 1 is a flowchart of PCEM encoding. [Diagram 2] 13 is a flowchart of PCEM decoding. [Diagram 3] The spatial code for each pixel in an 8x8 image is shown. [Figure 4] This shows the spatial code of each pixel in a 4x4 image. [Diagram 5] FIG. 1 is a schematic diagram of an application of the prediction method. [Figure 6] FIG. 2 is a schematic diagram of the application of the prediction method. [Figure 7] 1 is one of flowcharts of a method for predicting attribute information. [Figure 8] FIG. 1 is a schematic diagram of adjacent locations. [Figure 9] 13 is a second flowchart of the attribute information prediction method. [Figure 10] 11 is a third flowchart of the attribute information prediction method. [Figure 11] 4 is a fourth flowchart of the attribute information prediction method. [Figure 12] 5 is a fifth flowchart of the attribute information prediction method. [Figure 13] FIG. 1 is a schematic diagram of a prediction framework for attribute information. [Figure 14] 13 is a flowchart of an attribute information prediction algorithm. [Figure 15] 6 is a sixth flowchart of the attribute information prediction method. [Figure 16] 7 is a seventh flowchart of the attribute information prediction method. [Figure 17] 8 is an eighth flowchart of the attribute information prediction method. [Figure 18] 1 is a schematic diagram of an encoder structure. [Figure 19] This is the second schematic diagram of the encoder structure. [Figure 20] FIG. 1 is a schematic diagram of a decoder structure. [Figure 21] This is a second schematic diagram of the decoder structure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] In order to more fully understand the features and technical contents of the embodiments of the present application, please refer to the following drawings. The following detailed description will now be given of the implementation of the present invention. The accompanying drawings are provided for reference and explanation purposes. These are merely illustrative and are not intended to limit the scope of the present application.
[0017] Audio Video Coding Standard Point cloud exploration model of rd:AVS In the encoder framework of the PCEM model, the input point cloud is converted into a geometric The geometric information of the point cloud and the attribute information of each point may be divided into the geometric information of the point cloud and the attribute information of each point. The corresponding attribute information is coded separately.
[0018] Fig. 1 is a flowchart of PCEM encoding. As shown in Fig. 1, the geometric code In the process of the image processing, coordinate transformation is performed on the geometric information, and all the points are integrated into one The bounding box is then used for quantization. Quantization mainly plays a role in scaling. In quantization, decimals are cut off, so Some of the points have the same geometric information. Therefore, the overlapping points are further classified based on the parameters. The process of quantization and removal of duplicate points determines whether to remove the voxelized Next, we divide the bounding box into octrees. Depending on the depth of the partitioning hierarchy, the encoding of geometric information can be done in a framework based on octrees and It may be split into two frameworks: a framework based on risoup and a framework based on risoup.
[0019] After completing the geometry encoding, the geometry information is re-examined to guide the attribute encoding. Currently, attribute coding is done mainly for color information. , attribute information) from RGB (Red-Green-Blue) color space to YUV (L Then, convert the image to the luminance-chrominance (luminance-chrominance) color space. Using the constructed geometric information, we recolor the points and extract uncoded attributes. The gender information is matched with the reconstructed geometric information.
[0020] Next, attribute prediction is performed. First, the points are re-sorted based on the Morton code. The method generates a point cloud order used for point cloud attribute prediction, and then uses a difference method to extract attribute information. Then, the attribute prediction residual is obtained, and the quantification is continued for the attribute prediction residual. The resulting code is then encoded and input to an entropy coding engine to obtain a codestream.
[0021] Fig. 2 is a flowchart of the PCEM decoding. As shown in Fig. 2, For the binary code stream, we first consider the geometric bit distribution in the binary code stream. The geometric bitstream and the attribute bitstream are decoded separately. When decoding a bit stream, entropy decoding - octree reconstruction - inverse coordinate quantization - inverse coordinate By translating, we obtain the geometric information of the point cloud and decode the attribute bit stream. By entropy decoding-inverse quantization-attribute reconstruction-inverse space transformation, attribute information of the point cloud is obtained. Based on the geometric information and attribute information, a 3D image model of the encoding target point cloud data is reduced. do.
[0022] As you can see, when encoding the attribute information of a point cloud, the coordinate information of the points is used Then, a Morton code corresponding to each point in the point cloud is obtained, and then a calculation is performed based on the Morton code. Then, by using the backward difference method, prediction can be made for the attribute information. Because it follows a spatial z-order, the Morton code is also called a z-order code. The specific method for calculating the Morton code is as follows. Each component is a d-bit binary The three coordinate components of a three-dimensional coordinate system expressed as a real number are: Represented as JPEG0007657987000001.jpg13150.
[0023] where x l ,y l ,z l ∈{0,1} is the top (l=1) to bottom (l = d). Morton code M is a binary number that corresponds to the most significant From the lowest to the highest, x l ,y l ,z l The formula for calculating M is as follows: do. JPEG0007657987000002.jpg17150
[0024] where m l' ∈{0,1} are the top (l'=1) to bottom (l'=3d) of M, respectively. After obtaining the Morton code M of each point in the point cloud, we divide the points in the point cloud into Then, we sort the data by the smallest code, obtain an array w, and set the weight value w of each point to 1. It is expressed in the data language and is similar to the combination z|(y<<1)|(x<<2).
[0025] Referring to FIG. 3, the upper and lower order arrangements are z, y, x(x|(y<<1)|( This will be explained as an example where z<<2).
[0026] Figure 3 shows the spatial code for each pixel of an 8x8 image. As shown in Figure 3, to 111111, using one-dimensional binary numbers, the position coordinates where x,y are 0-7 Encode the binary coordinates to obtain a binary z-value map. Generates a connected, recursive z-curve. At each location in the drawing, the z-value is assigned according to the connection order. In fact, the above figure is repeated according to the z direction, 00-1 1 (one z for the whole picture), 0000-1111 (one z for each of the previous z points) (place one z at each of the previous z points) And so it goes up by two digits each time, and so on recursively.
[0027] Figure 4 shows the spatial code of each pixel in a 4x4 image. As shown in Figure 4, For Morton code, the coordinates x and y are first binarized, and then the most significant bits of x and y are Arrange the values in each digit in order of least significant bit. Finally, the value of the Morton code is If you connect them in ascending order, you get a Z-shaped connection order. Every fourth point is a small block. The last two digits are different, but the first four digits are the same. Then, the parent block can be determined by the Morton code whose first four digits are the same. In this case, shifting the Morton codes of these four points two places to the right gives the parent blocks of these four points. In this way, we can obtain the Morton code for the block of the same hierarchy. If blocks are continuously combined, i.e., the Morton code value is shifted two places to the right, the parent blocks of these blocks are Similarly, in the 3D coordinate system, every 8th small block is combined. That is, if the Morton code value is shifted three places to the right, these parent blocks can be obtained. can.
[0028] Currently, the process of predicting attribute information based on the backward difference method is The current point can be predicted using the adjacent points of the code. The specific process is as follows: As follows.
[0029] In Step 1, traverse the re-sorted points by Morton. For this, there is no reference point for prediction, and the predicted value is 0. Let the attribute value of the current point be A0. Then, the prediction residual is R0=A0.
[0030] In Step 2, for the remaining points, all are 1x the current point in the Morton order. The previous point is taken as the reference point, the attribute reconstruction value A'(i-1) of the reference point is taken as the predicted value, and the attribute of the current point is taken as the If the characteristic value is Ai, the prediction residual is Ri=Ai-A'(i-1).
[0031] In Step 3, Step 2 is repeated until the entire point cloud is traversed. To be continued.
[0032] Then, the attribute prediction residual is quantized and coded by the entropy coding engine. and obtain the codestream.
[0033] However, there are periodic jump points in the Morton code, i.e., The spatial locations corresponding to two adjacent points of the code are not necessarily adjacent. Therefore, if we make a prediction for the current point using only the neighboring points of the Morton code, the prediction will be void. In other words, in PCEM, the Morton Code is based only on the previous Then, attribute information is predicted for the current point. In this case, there is an error, which affects the accuracy of the prediction. Make a difference.
[0034] To overcome the above deficiencies, the present application utilizes the current Morton code of the prediction target point to predict Find the true adjacent points that have higher correlation with the measurement target point, and use the attribute reconstruction values of the adjacent points to find the true adjacent points. By using the attribute information of the prediction target point, the encoder performance is improved. In other words, in this application, the encoder and the decoder perform the following for the prediction target point: When predicting attribute information, the current mode of the prediction target point is calculated based on a predetermined neighboring information table. Using the Morton code, a target Morton code corresponding to the adjacent positions around the prediction target point is determined. If the adjacent point of the prediction target point exists in the adjacent position in the point cloud, The encoder and decoder directly use the attribute reconstruction values of the neighboring points to make predictions, and the prediction pair Since the correlation between the target point and the neighboring points is higher, By predicting the attribute information of the target point based on the neighboring points, the accuracy of the prediction can be effectively improved. This improves the coding efficiency by significantly reducing the prediction residual.
[0035] The method for predicting attribute information according to the present application is based on the PCEM point cloud encoder-decoder framework. This can affect the attribute prediction and attribute reconstruction processes in the FIG. 5 is a schematic diagram of an application of the prediction method. As shown in FIG. 5, the attribute prediction method of the present application The method can be applied to attribute prediction in the PCEM point cloud encoder framework. FIG. 6 is a schematic diagram of the application of the prediction method. As shown in FIG. 6, the attribute prediction of the present application The method can be applied to attribute reconstruction in the PCEM point cloud decoder framework. Furthermore, the method for predicting attribute information acts simultaneously on the encoding side and the decoding side, The flow, framework and algorithm of the prediction method of information are It's exactly the same.
[0036] Hereinafter, the technical solutions in the embodiments of the present application will be described with reference to the drawings in the embodiments of the present application. Explain each step clearly and completely.
[0037] An embodiment of the present application provides a method for predicting attribute information, the method being applied to an encoder. FIG. 7 is a flowchart of a method for predicting attribute information. As shown in FIG. The method for predicting attribute information of a prediction target point by an encoder may include the following steps: stomach.
[0038] In step 101, the current Morton code of the predicted target point in the encoding target point group is calculated. Make a decision.
[0039] In the embodiment of the present application, the encoder first calculates the current value of the prediction target point in the encoding target point group. The Morton code can be determined.
[0040] It should be noted that in the embodiment of the present application, the encoding process is performed on the encoding target point group. When performing this, the geometric information of the encoding target points and the attribute information corresponding to the encoding target points are encoded separately. After completing the encoding of the geometric information, the geometric information is reconstructed. and the encoding of the attribute information depends on the reconstructed geometric information.
[0041] Specifically, the encoding of attribute information is mainly for encoding color information. Convert from RGB color space to YUV color space. Then, use the reconstructed geometric information to Then, the points are recolored and the uncoded attributes and reconstructed geometric Then, attribute information is predicted. First, based on the Morton code, Re-sort the encoding target points and select the points to predict the attribute information of the encoding target points. Generate a group order.
[0042] Furthermore, in the embodiment of the present application, the geometric information of the encoding target point group is encoded. Then, the encoder uses the set information of each point in the encoding target point group to generate the Morton After obtaining the Morton code for each point, the encoder can then For all points in the target point cloud, all Morton codes of all points are calculated in ascending order. The method can then sort the resulting set of points to generate a set of point cloud sequences corresponding to the points to be encoded. Here, the point cloud sequence set includes all the Morton codes of all the points in the encoding target point cloud. is stored.
[0043] It should be noted that in the embodiment of the present application, the encoder uses the attributes of the encoding target point group. When encoding information, all the points to be encoded are sorted in ascending order of Morton code. For each point, attribute information can be predicted in sequence.
[0044] As can be seen, in the present embodiment, the prediction target point is a point in the set of points to be encoded. The current Morton code is the Morton code of the prediction target point. When predicting the attribute information of the prediction target point, if the attribute information is smaller than the current Morton code, The attribute information of other points corresponding to the Morton code of has already been predicted, and the corresponding attribute Generate reconstruction information.
[0045] Further, in the embodiment of the present application, the encoder predicts attribute information for the prediction target point. When predicting a point, it is first necessary to determine the Morton code of the point to be predicted and obtain the current Morton code. do.
[0046] In step 102, a predetermined neighbor information table is searched based on the current Morton code. Thus, a target Morton code corresponding to the prediction target point is determined, where a given adjacent information table is used. The table is for determining the coordinate difference between the adjacent positions of the prediction target point and a predetermined reference point.
[0047] In the present embodiment, the encoder determines the current Morton code of the prediction target point. , based on the current Morton code, according to the given neighboring information table, the predicted target point A target Morton code can be determined, where the target Morton code is a predicted A Morton code corresponding to adjacent locations around the point of interest can be represented.
[0048] It should be noted that in the embodiment of the present application, the predetermined neighbor information table is The coordinate difference between the neighboring points around the point and a predetermined reference point can be expressed. The neighboring locations may include coplanar neighboring points that are coplanar and adjacent to the predicted target point, and further include It may also include collinear adjacent points that are collinear with and adjacent to the target point.
[0049] As can be understood, in the embodiment of the present application, the prediction of attribute information is performed for the prediction target point. In this case, if the prediction target point is the spatial center of the encoding target point group, the predetermined reference point is located at the center of the prediction target point. Specifically, the coordinate origin of the space centered on the same predetermined reference point may be used. The difference is calculated for the distance between the quasi-point and the prediction target point, and the distance between the predetermined reference point and the adjacent position of the prediction target point. By performing the above calculation, the coordinate difference between the adjacent position and the prediction target point can be obtained. The fixed reference point may be a point having the smallest Morton code in the group of points to be encoded.
[0050] FIG. 8 is a schematic diagram of the adjacent positions. As shown in FIG. 8, the predetermined reference point is O, and the predicted The target point is A, and B, C, and D, which are coplanar and adjacent to A, are coplanar adjacent points; E, F, and G, which are collinear and adjacent to A, are collinear adjacent points.
[0051] As can be seen, in the present embodiment, the encoder performs an octree division, so For a target point, there are 26 neighboring positions around it according to unit distance. However, However, when the encoder encodes the attribute information of the encoding target point group, Since the prediction of attribute information is performed in ascending order of the number of bits, the encoder Currently, only points smaller than the Morton code need to be considered. For example, in FIG. Only B, C, D, E, F and G need to be considered.
[0052] Further, in the present embodiment, the encoder may generate a predetermined Before determining the target Morton code corresponding to the prediction target point by using the neighboring information table, First, it is necessary to construct a predetermined adjacent information table corresponding to the prediction target point. The certain neighboring information table is constructed based on the prediction target points.
[0053] It should be noted that in the present embodiment, the encoder uses the When constructing a given neighbor information table, the current Morton code (cur_po Specifically, the encoder may perform an operation on the Morton code of a given reference point. The base_pos is then determined based on the Morton code of the given reference point. Then, the coordinate difference value between the predetermined reference point and the adjacent position of the prediction target point is calculated, and then these By performing Morton coding on the coordinate difference value, a predetermined neighboring A table of information can be constructed.
[0054] That is, in the embodiment of the present application, the adjacent positions of the predicted target point are coplanar with the predicted target point and and a collinear adjacent point that is collinear with and adjacent to the prediction target point. Therefore, the encoder may construct a table of predetermined neighbors corresponding to the prediction target point. When the first coordinate difference between the specified reference point and the coplanar adjacent point, the second coordinate difference between the specified reference point and the collinear adjacent point Then, Morton coding is performed on the first coordinate difference, and the coplanar adjacent points are obtaining a corresponding coplanar Morton code and simultaneously performing Morton encoding on the second coordinate difference; We can obtain the collinear Morton codes corresponding to the collinear adjacent points, and finally, the encoder Based on the surface Morton code and the collinear Morton code, a predetermined neighboring information corresponding to the prediction target point is obtained. A table of information can be constructed.
[0055] Further, in an embodiment of the present application, the encoder further comprises: After the current Morton code is determined, a predetermined adjacent information table corresponding to the current Morton code is A target Morton code corresponding to the predicted interest point can be determined based on: The target Morton code represents the Morton code corresponding to the adjacent positions around the prediction target point. This can be done.
[0056] Specifically, in the present embodiment, the encoder currently calculates, based on the Morton code, A target Morton code corresponding to the predicted target point is determined according to a predetermined adjacent information table. At that time, a Morton code is added to a predetermined adjacent information table for the coordinate difference value between a predetermined reference point and an adjacent position. Since the Morton code after encoding is stored, the encoder can obtain the predetermined adjacent information. The Morton code of the coordinate difference value corresponding to the adjacent position is extracted from the table, and the coordinate difference The Morton code of the value can be used to determine a target Morton code.
[0057] As can be seen, in the embodiment of the present application, the predetermined neighbor information table includes the prediction target point. Since the corresponding coplanar and collinear Morton codes are stored, the encoder When determining the target Morton code, the coplanar Morton code is selected from a predetermined adjacent information table. The Morton code and / or the collinear Morton code are extracted, and then the current Morton code and the coplanar Morton code are extracted. The target Morton code is calculated by adding to the Morton code and / or the collinear Morton code. You can get the code.
[0058] It should be noted that in the embodiment of the present application, the adjacent positions of the predicted target points are coplanar adjacent points. Since it contains not only the first point but also the collinear neighbors, the encoder can make a target Morton code decision. When determining whether a given set of adjacent edges is to be used, a determination of the type of adjacent edges may first be made, where the types of adjacent edges are coplanar and collinear. Then, based on the determined neighbor type, further predetermined neighbor information may be A coplanar Morton code or a collinear Morton code is extracted from the table, and a coplanar Morton code is A target Morton code may be determined based on the corresponding collinear Morton codes.
[0059] JPEG0007657987000003.jpg49150
[0060] It should be noted that in the present embodiment, the target Morton code is the predicted target point Since the Morton code corresponding to the surrounding adjacent positions can be represented, the encoder can Using the Morton code, we can search and make decisions on the neighboring points around the prediction target point. can.
[0061] In step 103, a predicted target is added to the encoding target point group based on the target Morton code. Determine whether a point has neighbors.
[0062] In the present embodiment, the encoder generates a predetermined neighboring information based on the current Morton code. The target Morton code corresponding to the prediction target point is determined by the information table, and then the target Morton code is Based on the ton code, determine whether the adjacent points of the predicted target point exist in the encoding target point group. That is, the encoder can select the motion vectors corresponding to the neighboring positions around the prediction target point. Using the ton code, it is further determined whether there are points adjacent to the predicted point in the encoding target point group. It is possible to determine whether
[0063] It should be noted that in the present embodiment, the encoder generates a target Morton code. After the determination, the adjacent points of the predicted target point are determined directly based on the target Morton code. The reason is that the point cloud is not uniformly distributed in space, and the prediction target points This is because there is not necessarily a real adjacent point at the adjacent position of In the target point cloud, the target Morton code is determined according to the adjacent positions of the predicted target point. Therefore, the encoder must be able to find the target Morton code. After the code is determined, the predicted target points are added to the encoding target points based on the target Morton code. It is necessary to determine whether there exists an adjacent point of
[0064] As can be seen, in the present embodiment, the encoder obtains the Morton code for each point. Then, sort all the Morton codes of all the points in ascending order. To generate a set of point cloud sequences corresponding to the target point cloud, the encoder After the code is determined, the target model is encoded using the point cloud sequence set corresponding to the encoding target point cloud. Based on the character code, it can further determine whether there are adjacent points of the predicted target point. can.
[0065] Further, in the present embodiment, the encoder is configured to convert the set of point cloud sequences and the target Morton code. When determining whether the adjacent points of the prediction target point exist in the encoding target point group based on the code, First, a set of sequence points for encoding is obtained, and then a target Morton code is used to By using the search function, a search process can be performed in the point cloud sequence set to obtain search results. As a result, if the target Morton code exists in the point cloud sequence set, the encoder It can be determined that the encoding target point group has an adjacent point corresponding to the prediction target point. In this application, the encoder determines the target Morton code and then converts the point cloud sequence into In this case, search for the existence of the target Morton code, and if it exists, If the neighboring point of the prediction target point does not exist, the It is assumed that there are no adjacent points for the prediction target point.
[0066] It should be noted that in the present embodiment, the encoder is Based on this, when performing a search process in the point cloud sequence set, the target Morton code is Then, traverse and search each Morton code in the point cloud sequence set. Based on the target Morton code, a point cloud may be obtained according to a predetermined search algorithm. A search process for a set of sequences may be performed to obtain search results.
[0067] That is, in the present embodiment, the encoder generates a point cloud based on the target Morton code. When searching in a sequence set, the traversal method for the point cloud sequence set is method, or any other fast search algorithm for a set of point cloud sequences. good.
[0068] In step 104, if there are adjacent points in the encoding target point group, the attributes of the adjacent points are reconstructed. Based on the information, a predicted attribute value of the prediction target point is predicted.
[0069] In an embodiment of the present application, the encoder selects a target point based on a target Morton code. After determining whether the adjacent points of the prediction target point exist in the set, the prediction target point is added to the encoding target point set. If there are neighbors of the prediction target point, the encoder directly reconstructs the attribute of the neighbors of the prediction target point. Based on this, prediction can be performed on the attribute information of the prediction target point to obtain an attribute prediction value.
[0070] It should be noted that in the embodiment of the present application, if there are neighboring points of the prediction target point, The encoder predicts the attribute prediction value of the prediction target point based on the attribute reconstruction information of the neighboring points. First, obtain the attribute reconstruction values of the adjacent points, then calculate the average value of the attribute reconstruction values, and By obtaining the mean value corresponding to the reconstructed value, the mean value is determined as the attribute predicted value. This can be done.
[0071] As can be seen, in the present embodiment, the neighboring points of the predicted target point are coplanar with the predicted target point. and adjacent to the predicted target point, and The neighbors of the prediction point may be collinear neighbors, so the encoder can Once the tangent or collinear neighbors are determined, the encoder obtains the attribute reconstruction values of the neighbors. , obtain a first attribute reconstruction value corresponding to the coplanar adjacent points, or obtain a second attribute reconstruction value corresponding to the collinear adjacent points; A sexual reconstruction value can be obtained.
[0072] Correspondingly, in the present application, at least one adjacent point that is coplanar with the predicted target point is Since there is at least one coplanar adjacent point that is collinear and adjacent to the coplanar adjacent point of The encoder calculates the average of the attribute reconstruction values by: Alternatively, a first average value corresponding to at least one second reconstruction value may be calculated. Finally, the encoder may use the first average or the second average as the attribute prediction. By determining the predicted value as the measured value, prediction of the attribute information of the prediction target point is completed.
[0073] Further, in the embodiment of the present application, the encoder determines whether the neighbors of the prediction target point are coplanar and collinear. If it is determined that the points are adjacent, the encoder uses coplanar neighbors when obtaining the attribute reconstruction values of the adjacent points. Obtain the first attribute reconstruction value corresponding to the junction point, and at the same time, obtain the second attribute reconstruction value corresponding to the collinear adjacent point. A configuration value may be obtained.
[0074] Correspondingly, in the embodiment of the present application, at least one of the points that is coplanar with and adjacent to the predicted target point is There is at least one collinear adjacent point that is collinear with and adjacent to at least one coplanar adjacent point. Therefore, when the encoder calculates the attribute reconstruction value, it uses the first attribute according to the predetermined weight. The weighted average is calculated by calculating the weighted average of the reconstructed value of the second attribute and the reconstructed value of the third attribute. Finally, the encoder determines the weighted average as the attribute prediction value. In this way, prediction of the attribute information of the prediction target point can be completed.
[0075] As can be seen, in the present embodiment, the encoder uses predefined weights to When calculating the weighted average value of the attribute reconstruction value and the second attribute reconstruction value, the first attribute reconstruction value and the second attribute reconstruction value may be assigned different weight values, respectively. Based on the principle that the closer the distance, the higher the correlation, the corresponding first attribute reconstruction value The weight value should be set to be greater than the weight value corresponding to the second attribute reconstruction value.
[0076] For example, in the present application, a prediction target point has multiple neighboring points, such as coplanar neighboring points and collinear neighboring points. For example, for a prediction target point, there are six neighboring points for predicting attribute information, and the neighbors A tangent point contains three coplanar neighbors and three collinear neighbors. The encoder calculates the properties of all the neighbors. The attribute of the predicted point is estimated by calculating the weighted average of the reconstructed attribute based on the distance. It is possible to realize prediction of the property information and obtain the attribute prediction value of the prediction target point. The coder can predict the attribute information of the prediction target point using equation (2). JPEG0007657987000004.jpg14150
[0077] JPEG0007657987000005.jpg45150
[0078] JPEG0007657987000006.jpg25150
[0079] As can be seen, in the embodiment of the present application, the encoder predicts the attribute information of the prediction target point. When performing a measurement, the first attribute reconstruction value of the coplanar adjacent points of the prediction target point and the second attribute reconstruction value of the collinear adjacent points are The values may be used simultaneously to determine the attribute prediction value of the predicted target point, and the coplanar adjacent The attribute prediction of the prediction target point is performed using the first attribute reconstruction value of the point or the second attribute reconstruction value of the collinear adjacent point. Here, based on the principle that the closer the distance, the higher the correlation, Then, the coplanar adjacent points that are closer to each other are selected first, and the attribute information of the prediction target point is predicted. Good too.
[0080] JPEG0007657987000007.jpg51150
[0081] FIG. 9 is a flowchart of the attribute information prediction method. As shown in FIG. In an embodiment of the present invention, the encoder performs a step of encoding a set of points based on a target Morton code. After determining whether there is a neighboring point, i.e., after step 103, the encoder The method for predicting attribute information of a prediction target point using the prediction method may further include the following steps.
[0082] In step 105, if there are no adjacent points in the encoding target point group, the current Morton code The previous Morton code corresponding to the code is used to predict the attribute prediction value of the prediction target point. .
[0083] In an embodiment of the present application, the encoder selects a target point based on a target Morton code. After determining whether the adjacent points of the prediction target point exist in the set, the prediction target point is added to the encoding target point set. If there is no neighbor of the predicted target point, the encoder calculates the predicted target point based on the neighbors of the predicted target point. Therefore, the encoder cannot predict the attribute information of the current Morton code. The attribute information of the prediction target point is predicted using the previous Morton code corresponding to the prediction target point. It is necessary to obtain the attribute prediction value of
[0084] It should be noted that in the embodiment of the present application, there are no adjacent points of the prediction target point. The prediction point does not have any coplanar or collinear neighbors around it. To predict, we use the attribute reconstruction value corresponding to the Morton code immediately preceding the current one. must be utilized.
[0085] Furthermore, in the present embodiment, the encoder also selects the previous Morton code corresponding to the current Morton code. When predicting the attribute value of a prediction target point using Morton code, first, From the group, determine the reconstructed point corresponding to the previous Morton code, and then The attribute reconstruction value of the reconstructed point is obtained, and the attribute prediction value of the prediction target point is calculated based on the attribute reconstruction value of the reconstructed point. That is, in this application, the encoding target point is determined based on the target Morton code. If it is determined that there are no adjacent points of the prediction target point in the group, then the current Morton code is directly Predict the attribute reconstructed value of the reconstructed point corresponding to the previous Morton code. Predict the attribute predicted value of the target point. , and thereby completes prediction of the attribute information of the prediction target point.
[0086] As can be seen, in the embodiment of the present application, the encoding target point group has neighboring points of the prediction target point. If not, the encoder first finds the current point cloud sequence set of the encoding target point cloud. The Morton code immediately preceding the current Morton code may be searched for. Here, the point cloud sequence In the set, all the Morton coordinates of all the points in the encoding target point group are The code is stored.
[0087] FIG. 10 is a third flowchart of the attribute information prediction method. As shown in FIG. In the embodiment of the present application, the encoder encodes the target point based on the target Morton code. After determining whether there is an adjacent point in the group, i.e., after step 103, Step 10: 4. Before 4, the method for predicting the attribute information of the prediction target point by the encoder comprises the following steps: It may further include.
[0088] In step 106, a re-encoding process corresponding to the previous Morton code is performed from the encoding target point group. Determine the constructed points.
[0089] In step 107, the reconstructed points are determined as neighbors of the predicted target point.
[0090] In an embodiment of the present application, the encoder selects a target point based on a target Morton code. After determining whether the adjacent points of the prediction target point exist in the set, the prediction target point is added to the encoding target point set. If there are no adjacent points of the target point, that is, if there are no coplanar and collinear adjacent points around the target point, If not, the encoder first selects the point group to be encoded that corresponds to the previous Morton code. The reconstructed point may then be determined.
[0091] Furthermore, in the embodiment of the present application, the encoder selects the previous Morton After determining the reconstructed point corresponding to the code, the reconstructed point is set as the neighbor of the prediction target point. In other words, in the present application, the encoding target may be determined based on the target Morton code. If it is determined that there are no neighbors of the prediction target point in the point cloud, it directly selects one of the current Morton codes. The reconstructed points corresponding to the previous Morton code are taken as the neighbors of the prediction target point, and then Then, according to the method of step 104, prediction of the attribute information of the prediction target point is completed.
[0092] As can be seen, in the present embodiment, after step 103, i.e., the encoder Based on the target Morton code, determine whether adjacent points exist in the encoding target point group. Then, if there are adjacent points of the prediction point in the encoding target point group, the encoder directly Based on the attribute reconstruction information of the points, the attribute prediction value of the prediction target point is predicted and the prediction is added to the encoding target point group. If there are no adjacent points of the target point, the encoder first performs a point cloud sequence of the target point to be encoded. From the set of entries, search for the Morton code immediately before the current one, then A reconstructed point corresponding to the previous Morton code is searched for from the target point group, and the reconstructed point is By determining the point as the neighbor of the prediction target point, the attribute reconstruction information of the neighboring points is Based on this, the attribute prediction value of the prediction target point can be predicted.
[0093] As can be seen, in the present embodiment, based on the target Morton code, If the encoder determines that the predicted point does not have any neighbors in the point cloud, the encoder performs a point cloud sequence. The reconstructed Morton code in the set of instances that corresponds to the Morton code immediately preceding the current one. The point is set as an adjacent point of the prediction target point, and then the prediction target point is determined based on the attribute reconstruction information of the adjacent point. The attribute values of the points can be predicted.
[0094] In an embodiment of the present application, the encoder further performs prediction based on the attribute reconstruction information of the neighboring points. After predicting the attribute prediction value of the target point, the encoder calculates the predicted target point's A prediction residual is calculated, and then the prediction residual is encoded to generate a codestream. do.
[0095] It should be noted that in the embodiment of the present application, the method of steps 101 to 107 above Based on this, when predicting attribute information for a prediction target point, the encoder uses a predetermined neighboring information Based on the information table, the current Morton code of the prediction target point is used to estimate the surroundings of the prediction target point. A target Morton code corresponding to the adjacent position of the point cloud can be determined. If there is a neighboring point of the prediction target point at the position, the encoder and decoder directly calculate the neighboring point. The attribute reconstruction value can be used to perform prediction, and the attribute prediction value of the prediction target point can be obtained. Since the correlation between the target point and the adjacent points is higher, the attribute information of the predicted target point is calculated using the adjacent points. By implementing the prediction, the accuracy of the prediction can be effectively improved. Based on the current Morton code of the prediction target point, the Morton code of the adjacent points is directly calculated. ,If the search determines that the neighboring point definitely exists, then ,use the attribute reconstruction value of the neighboring point to , By predicting the attribute information of the prediction target point, compared with the related technical proposals of PCEM, It takes advantage of the spatial correlation of the point cloud to a great extent and achieves the peak signal to noise ratio (PSN). o PSNR) performance is maintained and even slightly better, The output binary code stream is significantly reduced.
[0096] Furthermore, in the embodiment of the present application, when a hierarchical process is performed on a group of encoding target points, The coder performs the above steps 101 to 107 on intra-layer prediction of the points to be coded. can be applied.
[0097] In an embodiment of the present application, the method for predicting attribute information of the present application further comprises: By making full use of the prediction residual, the prediction error can be made smaller, and the subsequent quantization and entropy It is more applicable to coding and achieves higher gains in maintaining PSNR performance. Table 1 shows the performance of the attribute information prediction method according to the present application. As can be seen from Table 1, PCEM Compared with the related technical solutions, for different goals and with the same objective quality, By using the attribute information prediction method, the code rate is reduced and the encoder performance is improved. High.
[0098] [Table 1]
[0099] An embodiment of the present application provides a method for predicting attribute information. A current Morton code of the prediction target point is determined, and a predetermined The target Morton code corresponding to the prediction target point is determined by the adjacent information table, where The predetermined adjacent information table determines the coordinate difference between the adjacent position of the prediction target point and the predetermined reference point. and determining whether the target point is a neighboring point of the predicted target point based on the target Morton code. If there are adjacent points in the encoding target point group, the attributes of the adjacent points are recalculated. Based on the construction information, the attribute prediction value of the prediction target point is predicted. In the embodiment, the encoder and the decoder perform prediction of attribute information for the prediction target point. In this case, the current Morton code of the prediction target point is used based on a given neighboring information table. A target Morton code corresponding to adjacent positions around the predicted target point can be determined, and the point cloud In the case where the adjacent point of the prediction target point exists in the adjacent position, the encoder and the decoder directly and performing prediction using the attribute reconstruction values of the adjacent points in a contiguous manner to obtain a predicted attribute value of the prediction target point. Since the correlation between the prediction point and the neighboring points is higher, the prediction point can be predicted by the neighboring points. By realizing the prediction of attribute information, the prediction accuracy is effectively improved and the prediction residual is greatly reduced. , thereby improving the coding efficiency.
[0100] According to the above embodiment, in another embodiment of the present application, FIG. 11 shows a flowchart of a method for predicting attribute information. As shown in FIG. 11, the adjacent positions of the prediction target point are coplanar with the prediction target point. and adjacent coplanar neighbors, and further, The encoder may also use a certain set of neighbors corresponding to the point to be predicted. The method for constructing the contact information table may include the following steps.
[0101] In step 201, a predetermined reference point is located.
[0102] In step 202, a first coordinate difference between the predetermined reference point and the coplanar adjacent point is calculated, and the predetermined reference point is Calculate the second coordinate difference between the point and its collinear neighbor.
[0103] In step 203, Morton coding is performed on the first coordinate difference, and the coplanar adjacent points are The corresponding coplanar Morton codes are obtained, and the second coordinate difference is Morton-encoded to find the colinear adjacent Obtain the collinear Morton code corresponding to the point.
[0104] In step 204, a prediction is made based on the coplanar Morton code and the collinear Morton code. A predetermined neighbor information table corresponding to the target point is constructed.
[0105] In an embodiment of the present application, when an encoder constructs a given neighbor information table, the encoder first: It is necessary to determine a predetermined reference point. Here, the predetermined reference point is a point in the encoding target point group. The predetermined reference point represents the coordinate origin of a space with the prediction target point at the center. The Morton chord in may be the smallest point.
[0106] For example, in this application, the coordinates of the prediction target point are (1,1,2), and the prediction target point is set to an empty As the center of the space, the encoder may position the coordinates of a given reference point as (0,0,0). stomach.
[0107] It should be noted that in the embodiment of the present application, after the predetermined reference point is located, the predetermined reference Based on the quasi-points, the coordinates of the neighboring positions around the predicted target point may be determined first, for example: Determine that the coordinates of one adjacent position are (1,1,1).
[0108] Furthermore, in the embodiment of the present application, the coordinate difference value between the predetermined reference point and the adjacent position of the prediction target point is specifically Specifically, it may include a first coordinate difference between the predetermined reference point and the coplanar adjacent point, It may also include a second coordinate difference with the tangent point.
[0109] It should be noted that in the present embodiment, the encoder uses a predetermined reference point to , calculate the coordinate difference between the predetermined reference point and the adjacent position, and then perform Morton coding on the coordinate difference. to obtain the corresponding Morton code.
[0110] As can be seen, in the present embodiment, the encoder is configured to detect a predetermined reference point and a coplanar adjacent point. After calculating the first coordinate difference of , Morton coding is performed on the first coordinate difference, and the corresponding Morton Correspondingly, the encoder can obtain a coplanar Morton code. After calculating the second coordinate difference between the fixed reference point and the collinear adjacent point, the second coordinate difference is Morton-encoded. to obtain the corresponding Morton code, i.e., the collinear Morton code.
[0111] Further, in the embodiment of the present application, the encoder is configured to record a coordinate difference value between a predetermined reference point and an adjacent position. After completing the Morton coding, a predetermined adjacent information table is generated based on the obtained Morton code. Specifically, the encoder can construct a rule that matches the adjacent positions with the Morton code. The correspondence relationship may be used to construct a predetermined neighbor information table. The information table may be used to determine the Morton code for the adjacent positions.
[0112] As can be seen, in the present embodiment, the encoder is colinear with the coplanar Morton code. Based on the Morton code, a predetermined adjacent information table corresponding to the prediction target point is constructed. Specifically, the encoder can extract coplanar neighbors of a prediction target point and their corresponding coplanar neighbors. The Morton code is stored in a predetermined neighboring information table, and the collinear neighboring points of the predicted target point are also stored in the and the corresponding collinear Morton code are stored in a predetermined adjacent information table. , the establishment of a predetermined neighbor information table can be completed.
[0113] In the embodiment of the present application, FIG. 12 is a flowchart of a method for predicting attribute information. As shown in FIG. 12, the encoder currently calculates the Morton code based on the given A method for determining a target Morton code corresponding to a prediction target point by using a certain adjacent information table. The method may include the following steps.
[0114] In step 102a, a coplanar surface corresponding to the predicted target point is selected from a predetermined adjacent information table. Reads Morton Codes and collinear Morton Codes.
[0115] In step 102b, the coplanar Morton code and the Morton code of the predetermined reference point are added. Then, the first sum is obtained, and the collinear Morton code and the Morton code of the specified reference point are added, and the second sum is obtained. 2. Get the sum value.
[0116] In step 102c, the first sum value and the second sum value are determined as a target Morton code. do.
[0117] In the present embodiment, the encoder calculates the current Morton code and the corresponding predicted target point. When determining the target Morton code using a certain adjacent information table, first, Coplanar Morton codes and collinear Morton codes may be read from the contact information table. That is, the encoder first obtains the coplanar neighbors of the prediction target point from a predetermined neighbor information table. At the same time, the corresponding Morton code, i.e., the coplanar Morton code, is obtained, and predetermined adjacent information is also obtained. From the table, the Morton code corresponding to the collinear adjacent points of the prediction target point, i.e., the collinear Morton Then, the coplanar and collinear Morton codes may be used to obtain the Morton code. The target Morton code may be determined using the
[0118] As can be seen, in the present embodiment, the encoder is a coplanar Morton code and a predetermined The Morton codes of the reference points may be added to obtain a first sum value. Since the code can represent the difference in distance between a given reference point and a coplanar adjacent point, the encoder After adding the Morton code of the surface and the Morton code of the specified reference point, the model of the coplanar adjacent points is directly calculated. The motor code can be obtained, i.e., the value of the first sum is the motor of the coplanar adjacent points of the predicted point. Therefore, the value of the first sum may be determined as the target Morton code. .
[0119] Correspondingly, in this application, the encoder uses a collinear Morton code and a model of a predetermined reference point. The collinear Morton codes may be added to obtain a second sum value. Since the distance difference between a fixed reference point and its collinear neighbors can be represented, the encoder can The Morton code of the collinear adjacent points is directly calculated by adding the Morton code of the collinear adjacent points to the Morton code of the specified reference point. That is, the value of the second sum is the Morton code of the collinear neighbors of the prediction point. Therefore, the value of the second sum may be determined as the target Morton code.
[0120] In an embodiment of the present application, the encoder further selects a predetermined neighbor based on the current Morton code. The contact information table is used to immediately determine the target Morton code corresponding to the predicted target point. Before step 102, first, the neighbor type of the prediction target point is selected, and the neighbor type is used to select the neighbor type. In other words, the encoder may determine whether the encoder is of coplanar or collinear type. Alternatively, the user may choose to obtain only the Morton codes of the coplanar neighbors of the target point, or may be chosen to obtain only the Morton codes of the collinear neighbors of the predicted target point.
[0121] As can be seen, in the present embodiment, the encoder currently converts the Morton code Based on this, a target Morton code corresponding to the predicted target point is obtained by using a predetermined adjacent information table. The method for determining may include the following steps.
[0122] In step 102d, if the adjacency type is a coplanar type, a predetermined adjacency information table From the matrix, a coplanar Morton code corresponding to the predicted target point is read.
[0123] In step 102e, the coplanar Morton code and the Morton code of the predetermined reference point are added. and obtain the value of the first sum.
[0124] In step 102f, the value of the first sum is determined as the target Morton code.
[0125] In the present embodiment, if the encoder first selects the neighbor type of coplanar neighbors, The reader reads the coplanar Morton code corresponding to the predicted target point from a predetermined adjacent information table. Then, add the coplanar Morton code and the Morton code of the specified reference point to obtain the first sum value, and Finally, the value of the first sum can be determined as the target Morton code.
[0126] That is, in the embodiment of the present application, the encoder performs Morton coding of the coplanar neighbors of the prediction target point. If you choose to only get the Morton code, the encoder will use the current Morton code and the predicted target point. When determining the target Morton code using the corresponding predetermined adjacent information table, first, From a predetermined neighboring information table, a coplanar Morton code corresponding to the coplanar neighboring points of the prediction target point is obtained. Then, the coplanar Morton code and the Morton code of the predetermined reference point are added. The coplanar Morton code may represent the distance difference between a given reference point and a coplanar adjacent point. Therefore, the encoder adds the coplanar Morton code and the Morton code of a given reference point. After that, the value of the first sum can be determined as the target Morton code.
[0127] As can be seen, in the present embodiment, the closer the distance, the higher the similarity. On a principle basis, the encoder may preferentially select the neighbor type of coplanar neighbors. This reduces the binary code stream output as much as possible while reducing the prediction residual. This makes it possible to improve the coding efficiency.
[0128] Further, in the embodiment of the present application, the encoder generates a given A method for determining a target Morton code corresponding to a prediction target point by using a certain adjacent information table. The method may further include the following steps.
[0129] In step 102g, if the neighbor type is a collinear type, a predetermined neighbor information table From the matrix, the collinear Morton code corresponding to the predicted target point is read.
[0130] In step 102h, the collinear Morton code and the Morton code of the specified reference point are added. and obtain the value of the second sum.
[0131] In step 102i, the value of the second sum is determined as the target Morton code.
[0132] In the present embodiment, if the encoder first selects the neighbor type of collinear neighbors, The reader reads the collinear Morton code corresponding to the prediction target point from a predetermined adjacent information table. Then, add the collinear Morton code and the Morton code of the specified reference point to obtain the second sum value. Finally, the value of the second sum can be determined as the target Morton code.
[0133] That is, in the embodiment of the present application, the encoder performs Morton coding of the collinear neighbors of the prediction target point. If you choose to only get the Morton code, the encoder will use the current Morton code and the predicted target point. When determining the target Morton code using the corresponding predetermined adjacent information table, first, From a predetermined neighboring information table, the collinear Morton code corresponding to the collinear neighboring points of the prediction target point is obtained. Then, the collinear Morton code and the Morton code of the predetermined reference point are added. The collinear Morton code may represent a distance difference value between a given reference point and a collinear adjacent point. Therefore, the encoder adds the collinear Morton code and the Morton code of a given reference point. After that, the value of the second sum can be determined as the target Morton code.
[0134] As can be seen, in the present embodiment, the closer the distance, the higher the similarity. On a principle basis, an encoder may preferentially select coplanar adjacent neighbor types, but If there is no coplanar adjacent point that is coplanar with and adjacent to the predicted target point in the encoding target point group, The encoder may select a type of collinear neighbor to reduce the prediction residual. In this way, the output binary code stream is reduced as much as possible, improving the coding efficiency. It is possible.
[0135] An embodiment of the present application provides a method for predicting attribute information. A current Morton code of the prediction target point is determined, and a predetermined The target Morton code corresponding to the prediction target point is determined by the adjacent information table, where The predetermined adjacent information table determines the coordinate difference between the adjacent position of the prediction target point and the predetermined reference point. and determining whether the target point is a neighboring point of the predicted target point based on the target Morton code. If there are adjacent points in the encoding target point group, the attributes of the adjacent points are recalculated. Based on the construction information, the attribute prediction value of the prediction target point is predicted. In the embodiment, the encoder and the decoder perform prediction of attribute information for the prediction target point. In this case, the current Morton code of the prediction target point is used based on a given neighboring information table. A target Morton code corresponding to adjacent positions around the predicted target point can be determined, and the point cloud In the case where the adjacent point of the prediction target point exists in the adjacent position, the encoder and the decoder directly and performing prediction using the attribute reconstruction values of the adjacent points in a contiguous manner to obtain a predicted attribute value of the prediction target point. Since the correlation between the prediction point and the neighboring points is higher, the prediction point can be predicted by the neighboring points. By realizing the prediction of attribute information, the prediction accuracy is effectively improved and the prediction residual is greatly reduced. , thereby improving the coding efficiency.
[0136] According to the above embodiment, in another embodiment of the present application, the encoding target point group includes adjacent points of the prediction target point. If a point exists, the adjacent points are specifically coplanar and adjacent to the predicted point. It may also include collinear neighbors that are collinear with and adjacent to the predicted target point. Therefore, the encoder reconstructs the attribute of the target point based on the attribute reconstruction information of the neighboring points. The method of prediction may include the following steps.
[0137] In step 301, the neighboring point is a coplanar neighboring point that is coplanar with and adjacent to the predicted target point. If so, obtain the first attribute reconstruction value corresponding to the coplanar adjacent point.
[0138] In step 302, a first average value of the first attribute reconstruction values is calculated, and the first average value is used as the attribute reconstruction value. Determined as a predicted value.
[0139] In an embodiment of the present application, the encoder selects a target point based on a target Morton code. After determining whether the adjacent points of the prediction target point exist in the set, the prediction target point is added to the encoding target point set. There exists an adjacent point of the predicted target point, and the adjacent point of the present predicted target point is coplanar and adjacent to the predicted target point. If there are only coplanar adjacent points, the encoder will use coplanar neighbors when obtaining the attribute reconstruction values of the adjacent points. A first attribute reconstruction value corresponding to the neighboring point may be obtained.
[0140] Further, in an embodiment of the present application, at least one adjacent and coplanar with the predicted target point is Due to the presence of coplanar neighbors, the encoder can use at least The encoder may then calculate a first average value corresponding to each of the first reconstruction values. The first average value is determined as the attribute prediction value, and the attribute information of the prediction target point is predicted. It can be completed.
[0141] For example, in this application, if a prediction target point has only three coplanar neighbors, The encoder calculates the average value of the attribute reconstruction values of all adjacent points using the following formula (4): , we can obtain the attribute prediction value of the prediction target point. JPEG0007657987000009.jpg14150
[0142] JPEG0007657987000010.jpg10150
[0143] In the embodiment of the present application, the encoder further performs the reconstruction based on the attribute information of the neighboring points. ,The method for predicting the attribute prediction value of the prediction target point may include the following steps.
[0144] In step 303, the neighboring points are collinear with the predicted target point and are adjacent to each other. If so, obtain the second attribute reconstruction value corresponding to the collinear adjacent point.
[0145] In step 304, a second average value of the second attribute reconstruction values is calculated, and the second average value is used as the attribute reconstruction value. Determined as a predicted value.
[0146] In an embodiment of the present application, the encoder selects a target point based on a target Morton code. After determining whether the adjacent points of the prediction target point exist in the set, the prediction target point is added to the encoding target point set. There exists an adjacent point of the present prediction target point, and the adjacent point of the present prediction target point is collinear with the prediction target point and adjacent If there are only collinear neighbors, the encoder will use the collinear neighbors when obtaining the attribute reconstruction values of the neighbors. A second attribute reconstruction value corresponding to the neighboring point may be obtained.
[0147] Further, in an embodiment of the present application, at least one adjacent point that is collinear with the predicted target point is Due to the presence of collinear neighbors, the encoder must use at least The encoder may then calculate a second average value corresponding to each of the second reconstruction values. , and the second average value is determined as the attribute prediction value, thereby predicting the attribute information of the prediction target point. It can be completed.
[0148] For example, in this application, if a prediction target point has only two collinear neighbors, The encoder calculates the average value of the attribute reconstruction values of all adjacent points using the following formula (5): , we can obtain the attribute prediction value of the prediction target point. JPEG0007657987000011.jpg17150
[0149] JPEG0007657987000012.jpg8150
[0150] In the embodiment of the present application, the encoder further performs the reconstruction based on the attribute information of the neighboring points. ,The method for predicting the attribute prediction value of the prediction target point may include the following steps.
[0151] In step 305, the neighboring points are determined to be coplanar and adjacent to the predicted target point. If the prediction target point includes a collinear adjacent point that is collinear with the prediction target point and adjacent to the collinear adjacent point, the prediction target point corresponds to a coplanar adjacent point. The second attribute reconstruction value corresponding to the collinear adjacent point is obtained.
[0152] In step 306, the first attribute reconstruction value and the second attribute reconstruction value are calculated according to a predetermined weight. The weighted average is calculated to obtain the weighted average.
[0153] In step 307, the weighted average value is determined as the attribute prediction value.
[0154] In an embodiment of the present application, the encoder selects a target point based on a target Morton code. After determining whether the adjacent points of the prediction target point exist in the set, the prediction target point is added to the encoding target point set. and the neighbors of the prediction target point include not only coplanar neighbors but also collinear neighbors. If the encoder also includes the first point corresponding to the coplanar neighbor, the encoder can obtain the attribute reconstruction value of the neighbor. At the same time as obtaining the reconstruction value of one attribute, obtain the reconstruction value of the second attribute corresponding to the collinear adjacent points. Good too.
[0155] Further, in an embodiment of the present application, at least one adjacent and coplanar with the predicted target point is Since there is at least one collinear adjacent point that is collinear with and adjacent to the coplanar adjacent point, When calculating the average of the attribute reconstruction values, the coder uses the first attribute reconstruction value according to a predetermined weight. The weighted average value is obtained by performing a weighted average calculation on the first attribute reconstruction value and the second attribute reconstruction value. Here, the encoder uses the principle that the closer the distance, the higher the correlation. Based on this, different weights are assigned to the first attribute reconstruction value and the second attribute reconstruction value, respectively. Specifically, the weight value corresponding to the first attribute reconstruction value can be should be set larger than the weight value corresponding to
[0156] JPEG0007657987000013.jpg81150
[0157] An embodiment of the present application provides a method for predicting attribute information. A current Morton code of the prediction target point is determined, and a predetermined The target Morton code corresponding to the prediction target point is determined by the adjacent information table, where The predetermined adjacent information table determines the coordinate difference between the adjacent position of the prediction target point and the predetermined reference point. and determining whether the target point is a neighboring point of the predicted target point based on the target Morton code. If there are adjacent points in the encoding target point group, the attributes of the adjacent points are recalculated. Based on the construction information, the attribute prediction value of the prediction target point is predicted. In the embodiment, the encoder and the decoder perform prediction of attribute information for the prediction target point. In this case, the current Morton code of the prediction target point is used based on a given neighboring information table. A target Morton code corresponding to adjacent positions around the predicted target point can be determined, and the point cloud In the case where the adjacent point of the prediction target point exists in the adjacent position, the encoder and the decoder directly and performing prediction using the attribute reconstruction values of the adjacent points in a contiguous manner to obtain a predicted attribute value of the prediction target point. Since the correlation between the prediction point and the neighboring points is higher, the prediction point can be predicted by the neighboring points. By realizing the prediction of attribute information, the prediction accuracy is effectively improved and the prediction residual is greatly reduced. , thereby improving the coding efficiency.
[0158] According to the above embodiment, in another embodiment of the present application, FIG. 13 shows a diagram of attribute information prediction. As shown in FIG. 13, the encoder is currently The method for predicting attribute information using the code may include the following steps.
[0159] In step 401, the current Morton code of the predicted target point is calculated.
[0160] The encoder first calculates the Morton code of the prediction point in the set of points to be encoded, i.e., A Morton code may be determined.
[0161] In step 402, a neighbor type for the neighboring points is selected.
[0162] As can be seen, in the present embodiment, the encoder calculates the target Morton code of the neighboring points. Before determining the type, the neighbor type may be selected first. Here, the neighbor type may be a coplanar type. Based on the adjacent type, the coplanar Morton There is a further choice to obtain either the Morton code or the collinear Morton code.
[0163] It should be noted that in the present embodiment, before step 404, the encoder Since it is not possible to determine whether the adjacent points of the prediction target point exist in the encoding target point group, Therefore, for the adjacent points here, we assume that there are points in the adjacent positions around the prediction target point. That is why.
[0164] In step 403, a target Morton code for the neighbor is determined based on the neighbor type. do.
[0165] If the adjacency type selected by the encoder is a coplanar adjacency, a pre-established From the adjacent information table, obtain the coplanar Morton code corresponding to the coplanar adjacent points, and use it as the target The neighbor type selected by the encoder is collinear neighbor. Then, the collinear Morton corresponding to the collinear adjacent points is obtained from a predetermined adjacent information table constructed in advance. A code may be obtained and used as the target Morton code.
[0166] In step 404, it is determined whether an adjacent point exists. If so, step Execute 405, and if not present, execute step 406.
[0167] The encoder uses the target Morton code to determine whether adjacent points exist in the point group to be encoded. Specifically, the encoder can determine whether the point cloud sequence of the encoding target point cloud is correct. The search process is performed in the point cloud sequence set, i.e., the target motion is directly searched in the point cloud sequence set. If a ton code exists, the neighboring points of the prediction target point in space are searched for. If it does not exist, the neighbors of the prediction target point in space are considered to exist. It is considered not to exist.
[0168] In step 405, the attribute reconstruction values of the neighboring points are used to perform attribute reconstruction on the prediction target point. Make predictions about information.
[0169] If the prediction point has neighbors in the set of points to be coded, the encoder directly selects the prediction point. According to the attribute reconstruction information of the neighboring points of the point, the attribute prediction value of the prediction target point is obtained, where: The encoder calculates the average of the attribute reconstruction values of the neighboring points and uses the average of the attribute reconstruction values as the attribute prediction. It may be determined as a measured value.
[0170] In step 406, the Morton code immediately preceding the current Morton code is used to Attribute information is predicted for the prediction target point.
[0171] If there are no neighbors of the predicted point in the set of points to be encoded, the encoder The attribute prediction value of the prediction target point must be obtained by using the previous Morton code corresponding to the code. Here, the encoder determines the reconstructed point that corresponds to the previous Morton code. Then, the attribute reconstruction value of the reconstructed point is obtained, and the attribute reconstruction value of the reconstructed point is may be determined as the attribute prediction value of the prediction target point.
[0172] Step 407: calculate the prediction residual corresponding to the prediction target point.
[0173] In step 408, a codestream is generated.
[0174] After obtaining the attribute prediction value of the prediction target point by prediction, the encoder uses the attribute prediction value to A prediction residual is calculated, and then the prediction residual is coded to produce a binary code stream. It is possible to obtain and output a frame.
[0175] In the embodiment of the present application, for an exemplary embodiment of prediction of another attribute information, FIG. 14 is a flowchart of the attribute information prediction algorithm. When predicting attribute information, a specific implementation flow may include the following steps:
[0176] In step 501, the current Morton code Cur_pos of the predicted target point is determined. .
[0177] The encoder first calculates the Morton code of the prediction point in the set of points to be encoded, i.e., The current Morton code Cur_pos may be determined.
[0178] In step 502, the Morton code base_pos of a given reference point is located. do.
[0179] The encoder operates on Cur_pos and calculates the Morton code base of the reference point. Here, the encoder positions the base point base_pos and the prediction target point The coordinate difference values between adjacent points are calculated in advance, and Morton coding is performed on these difference values to obtain a predetermined It is possible to build a table of:
[0180] In step 503, the target Morton code of the adjacent point is calculated based on the base_pos. Calculate neighbor_pos.
[0181] The encoder predicts the bit rate by adding the Morton code based on a predetermined table. A target Morton code can be calculated for each location adjacent to the target point. The encoder calculates the neigh by adding the Morton code based on base_pos. bor_pos can be calculated, where neighbor_pos=mort on3dAdd(base_pos,mortonOffset). Morton Offset represents the Morton encoded coordinate difference value.
[0182] In step 504, the neighbor point Neighbor is selected based on the neighbor_pos. If it exists, execute step 506 directly. If not, step 505 is executed first, and then step 506 is executed.
[0183] The encoder uses the target Morton code to determine whether adjacent points exist in the point group to be encoded. Specifically, the encoder can determine whether the point cloud sequence of the encoding target point cloud is correct. The search process is performed in the point cloud sequence set, i.e., the target motion is directly searched in the point cloud sequence set. If a ton code exists, the neighboring points of the prediction target point in space are searched for. If it does not exist, the neighbors of the prediction target point in space are considered to exist. It is considered not to exist.
[0184] In step 505, the Morton code immediately preceding the current Morton code, lastMo The points corresponding to the rtonCode are regarded as adjacent points of the prediction target point.
[0185] If there are no neighbors of the predicted point in the set of points to be encoded, the encoder The previous Morton code corresponding to the code, lastMortonCode, is used to predict the It is necessary to predict the attribute information of the measurement point. Specifically, the previous Morton code is predicted. It may be considered as the Morton code of the neighboring points of the target point. The point corresponding to the previous Morton code lastMortonCode is the neighbor of the prediction target point. Here, Neighbor=lastMortonCode.
[0186] In step 506, the reconstructed value of the neighboring point, neighbor[i], is used to predict The attribute prediction value Pred of the target point is determined.
[0187] The encoder predicts the attribute of the prediction target point based on the attribute reconstruction information of the neighboring points of the prediction target point. Here, the encoder obtains the attribute reconstruction value of the neighbor point, neighbor[i] The average of the attribute reconstruction values may be calculated and the average of the attribute prediction values may be determined as the attribute prediction value. For i, Pred = average(neighbor[i]).
[0188] In step 507, the prediction residual of the prediction target point is calculated based on Pred. Calculate l.
[0189] The encoder obtains the attribute prediction value of the prediction target point by prediction, and then uses the attribute prediction value to make a prediction. Then, the prediction residual is coded and the attribute code stream is generated. It can be generated and output.
[0190] As can be seen, in the present embodiment, based on the target Morton code, If the encoder determines that the predicted point does not have any neighbors in the point cloud, the encoder performs a point cloud sequence. The reconstructed Morton code in the set of instances that corresponds to the Morton code immediately preceding the current one. The point is set as an adjacent point of the prediction target point, and then the prediction target point is determined based on the attribute reconstruction information of the adjacent point. The attribute values of the points can be predicted.
[0191] An embodiment of the present application provides a method for predicting attribute information. A current Morton code of the prediction target point is determined, and a predetermined The target Morton code corresponding to the prediction target point is determined by the adjacent information table, where The predetermined adjacent information table determines the coordinate difference between the adjacent position of the prediction target point and the predetermined reference point. and determining whether the target point is a neighboring point of the predicted target point based on the target Morton code. If there are adjacent points in the encoding target point group, the attributes of the adjacent points are recalculated. Based on the construction information, the attribute prediction value of the prediction target point is predicted. In the embodiment, the encoder and the decoder perform prediction of attribute information for the prediction target point. In this case, the current Morton code of the prediction target point is used based on a given neighboring information table. A target Morton code corresponding to adjacent positions around the predicted target point can be determined, and the point cloud In the case where the adjacent point of the prediction target point exists in the adjacent position, the encoder and the decoder directly and performing prediction using the attribute reconstruction values of the adjacent points in a contiguous manner to obtain a predicted attribute value of the prediction target point. Since the correlation between the prediction point and the neighboring points is higher, the prediction point can be predicted by the neighboring points. By realizing the prediction of attribute information, the prediction accuracy is effectively improved and the prediction residual is greatly reduced. , thereby improving the coding efficiency.
[0192] One embodiment of the present application provides a method for predicting attribute information, the method being applied to a decoder, comprising: FIG. 15 is a sixth flowchart of the attribute information prediction method. As shown in FIG. The method for predicting attribute information of a prediction target point by a decoder may include the following steps: stomach.
[0193] Step 601, the current Morton code of the predicted target point in the point group to be decoded is determined.
[0194] In the embodiment of the present application, the decoder first calculates a current model of a prediction target point in a set of points to be decoded. The ton code can be determined.
[0195] It should be noted that in the embodiment of the present application, the decoding process is performed on the decoding target point group. At this time, the geometric information of the points to be decoded and the attribute information corresponding to the points to be decoded are decoded separately. Here, after completing the decoding of the geometric information, the geometric information is reconstructed. The decoding of the information depends on the reconstructed geometric information.
[0196] Furthermore, in the embodiment of the present application, after decoding the geometric information of the decoding target point group, The decoder uses the set information of each point in the point group to generate the Morton code for each point. After obtaining the Morton code for each point, the decoder determines the For all points that can be obtained, sort all the Morton codes of all the points in ascending order. Then, a set of point cloud sequences corresponding to the point cloud to be decoded can be generated. The sequence set stores all the Morton codes for all the points in the point group to be decoded. .
[0197] It should be noted that in the embodiment of the present application, the decoder When decoding, all points in the decoding target point group are decoded in ascending order of Morton code. In response, prediction of attribute information can be performed in sequence.
[0198] As can be seen, in the present embodiment, the prediction target point is any one of the points in the set of points to be decoded. The current Morton code is the Morton code of the point to be predicted. When predicting the attribute information of the prediction target point, other values smaller than the current Morton code are used. The attribute information of other points corresponding to the Morton code has already been predicted, and the corresponding attribute information is Generate build information.
[0199] Furthermore, in the embodiment of the present application, the decoder predicts attribute information for the prediction target point. When a prediction is made, the Morton code of the target point must first be determined, and then the current Morton code must be obtained. .
[0200] In step 602, a predetermined neighbor information table is searched based on the current Morton code. Thus, a target Morton code corresponding to the prediction target point is determined, where a given adjacent information table is used. The table is for determining the coordinate difference between the adjacent positions of the prediction target point and a predetermined reference point.
[0201] In the present embodiment, after determining the current Morton code of the prediction target point, the decoder: Based on the current Morton code, the neighboring information table is used to select the neighboring points corresponding to the prediction target point. A target Morton code can be determined for a predicted target. A Morton code corresponding to adjacent positions around the elephant point can be represented.
[0202] It should be noted that in the embodiment of the present application, the predetermined neighbor information table is The coordinate difference between the neighboring points around the point and a predetermined reference point can be expressed. The neighboring locations may include coplanar neighboring points that are coplanar and adjacent to the predicted target point, and further include It may also include collinear adjacent points that are collinear with and adjacent to the target point.
[0203] As can be understood, in the embodiment of the present application, the prediction of attribute information is performed for the prediction target point. At this time, if the prediction target point is set as the spatial center of the decoding target point group, the predetermined reference point is set to the center of the prediction target point. Specifically, the coordinate origin of the space may be set based on the same predetermined reference point. The difference between the distance between the point and the prediction target point and the distance between the predetermined reference point and the adjacent position of the prediction target point is calculated. By performing the calculation, the coordinate difference between the adjacent position and the prediction target point can be obtained. The reference point may be a point with the smallest Morton code in the group of points to be decoded.
[0204] Further, in the present embodiment, the decoder determines the predetermined neighbors based on the current Morton code. Before determining the target Morton code corresponding to the predicted target point by the contact information table, First, it is necessary to construct a predetermined adjacent information table corresponding to the prediction target point. The neighboring information table is constructed based on the prediction target points.
[0205] It should be noted that in the embodiment of the present application, the decoder selects the location corresponding to the prediction target point. When constructing a certain adjacent information table, the current Morton code of the prediction target point (cur_pos ) may be operated on. Specifically, the decoder may perform the operation on the Morton code of a given reference point. (base_pos), and then based on the Morton code of the given reference point, Calculate the coordinate difference between the predetermined reference point and the adjacent position of the predicted target point, and then use these coordinates By performing Morton coding on the difference value, the predetermined neighboring information corresponding to the prediction target point is obtained. You can build a table.
[0206] That is, in the embodiment of the present application, the adjacent positions of the predicted target point are coplanar with the predicted target point and and a collinear adjacent point that is collinear with and adjacent to the prediction target point. Therefore, when the decoder constructs a predetermined neighboring information table corresponding to the prediction target point, The first coordinate difference between the fixed reference point and the coplanar adjacent point, and the second coordinate difference between the fixed reference point and the colinear adjacent point are respectively Then, Morton coding is performed on the first coordinate difference to find the coplanar adjacent points. At the same time as obtaining the surface Morton code, Morton coding is performed on the second coordinate difference to find the collinear adjacent Finally, the decoder can obtain the coplanar Morton code corresponding to the points. A predetermined neighboring information table corresponding to the predicted target point based on the code and the collinear Morton code. can be constructed.
[0207] Further, in an embodiment of the present application, the decoder may further include a current model of a prediction target point in a set of points to be decoded. After the Morton code is determined, the Morton code is generated based on the predetermined adjacent information table corresponding to the current Morton code. Based on the prediction, a target Morton code corresponding to the predicted target point can be determined, where the target The Morton code can represent the Morton codes corresponding to the adjacent positions around the prediction target point. can.
[0208] Specifically, in the present embodiment, the decoder generates a given When determining the target Morton code corresponding to the prediction target point according to a certain adjacent information table, In a predetermined adjacent information table, the Morton decoding is performed for the coordinate difference value between a predetermined reference point and an adjacent position. Since the Morton code after the above process is stored, the decoder can use a predetermined adjacent information table. The Morton code of the coordinate difference value corresponding to the adjacent position is extracted from the data, and the Morton code of the coordinate difference value is further The Morton code can be utilized to determine a target Morton code.
[0209] As can be seen, in the embodiment of the present application, the predetermined neighbor information table includes the prediction target point. Since the corresponding coplanar and collinear Morton codes are stored, the decoder When determining the target Morton code, the coplanar Morton code is selected from a predetermined adjacent information table. and / or extracting a collinear Morton code, and then comparing the current Morton code with the coplanar Morton code. The target Morton code is obtained by performing addition to the code and / or the collinear Morton code. You can get the code.
[0210] It should be noted that in the embodiment of the present application, the adjacent positions of the predicted target points are coplanar adjacent points. Since the decoder not only includes the vertices but also includes the collinear neighbors, it can make a decision on the target Morton code. When performing the above steps, a determination of the adjacency type may first be made, where the adjacency type is either coplanar or collinear. Then, based on the determined neighbor type, a predetermined neighbor information table may be further included. A coplanar Morton code or a collinear Morton code is extracted from the table, and a coplanar Morton code is Alternatively, the target Morton code may be determined based on the collinear Morton code.
[0211] JPEG0007657987000014.jpg42150
[0212] It should be noted that in the present embodiment, the target Morton code is the predicted target point Since the Morton code corresponding to the surrounding adjacent positions can be represented, the decoder can Using the metric code, we can search and make decisions on the neighboring points around the prediction target point. Cut.
[0213] In step 603, a predicted object point is added to the decoded object point cloud based on the target Morton code. Determine whether there are adjacent points of .
[0214] In an embodiment of the present application, the decoder derives predetermined neighboring information based on the current Morton code. After determining the target Morton code corresponding to the predicted target point by the table, the target Morton code is Based on the encoding, determine whether the neighboring points of the predicted point exist in the decoded point group. That is, the decoder can predict the Morton coordinates corresponding to the neighboring positions around the prediction target point. Using the code, it is further determined whether there is a point adjacent to the predicted point in the decoding target point group. It can be determined.
[0215] It should be noted that in the present embodiment, the decoder determines the target Morton code. After the target Morton code is determined, the neighboring points of the predicted target point can be determined directly based on the target Morton code. This is because the point cloud is not uniformly distributed in space, and the prediction target points There is not necessarily a real adjacent point at the adjacent position. Therefore, the point corresponding to the target Morton code determined according to the adjacent positions of the prediction target point is always Therefore, after determining the target Morton code, the decoder ,Furthermore, based on the target Morton code, adjacent points of the predicted target point exist in the decoding target point group. It is necessary to determine whether this is the case.
[0216] As can be seen, in the present embodiment, the decoder obtains the Morton code for each point. Then, sort all the Morton codes of all the points in ascending order, and To generate a set of point cloud sequences corresponding to the elephant point cloud, the decoder After determining the point cloud sequence set corresponding to the point cloud to be decoded, the target Morton coordinate is Based on the code, it can further be determined whether there are neighbors of the predicted target point.
[0217] Further, in the embodiment of the present application, the decoder is configured to convert the set of point cloud sequences and the target Morton code When determining whether the neighboring points of the prediction target point exist in the decoding target point group based on , obtain a point cloud sequence set of the point cloud to be decoded, and then use the target Morton code to Then, a search process is performed in the point cloud sequence set to obtain search results. If the target Morton code exists in the point cloud sequence set, the decoder It can be determined that there is an adjacent point corresponding to the prediction target point in the point group. In the method, after determining the target Morton code, the decoder performs the following on the point cloud sequence set: Search for the presence of the target Morton code, and if so, find the predicted target point in space. If there is no neighbor of the prediction target point in space, It is assumed that no contact exists.
[0218] It should be noted that in the present embodiment, the decoder generates a target Morton code based on Based on this, when performing a search process in the point cloud sequence set, the target Morton code is used Then, traverse and search each Morton code in the point cloud sequence set, and the search results are You can get the target Morton code based on a predefined search algorithm Thus, a search process for the point cloud sequence set can be performed and a search result can be obtained.
[0219] That is, in the embodiment of the present application, the decoder generates a point cloud sequence based on the target Morton code. When performing search processing in a sequence set, how to traverse the point cloud sequence set Alternatively, other fast search algorithms for a set of point cloud sequences may be used. stomach.
[0220] In step 604, if there are adjacent points in the point group to be decoded, attribute reconstruction information of the adjacent points is Based on the information, the attribute prediction value of the prediction target point is predicted.
[0221] In the embodiment of the present application, the decoder performs a decoding process on the target point group based on the target Morton code. After judging whether the adjacent points of the prediction target point exist, the adjacent points of the prediction target point are added to the decoding target point group. If the point exists, the decoder directly reconstructs the prediction target point based on the attribute reconstruction information of its neighbors. , prediction is performed on the attribute information of the prediction target point to obtain an attribute prediction value.
[0222] It should be noted that in the embodiment of the present application, if there are neighboring points of the prediction target point, the data When the coder predicts the attribute prediction value of the prediction target point based on the attribute reconstruction information of the neighboring points, First, we obtain the attribute reconstruction values of the adjacent points, then calculate the average of the attribute reconstruction values, and obtaining an average value corresponding to the build value and determining the average value as the attribute predictor value; can be done.
[0223] As can be seen, in the present embodiment, the neighboring points of the predicted target point are coplanar with the predicted target point. and adjacent to the predicted target point, and Therefore, the decoder determines whether the neighbors of the predicted point are coplanar neighbors or If it is determined that the points are collinear, the decoder uses the colinearity when obtaining the attribute reconstruction values of the adjacent points. A first attribute reconstruction value corresponding to the adjacent points may be obtained, or a second attribute reconstruction value corresponding to the collinear adjacent points may be obtained. The attribute reconstruction value may be obtained.
[0224] Correspondingly, in the present application, at least one adjacent point that is coplanar with the predicted target point is Since there are collinear neighbors that are collinear with and adjacent to the coplanar neighbors of When calculating the average of the reconstruction values, calculate the first average corresponding to at least one first reconstruction value. Alternatively, a second average value corresponding to at least one second reconstruction value may be calculated. Finally, the decoder may determine the first average value or the second average value as the attribute prediction value. Thus, prediction of the attribute information of the prediction target point is completed.
[0225] Further, in the embodiment of the present application, the decoder determines whether the neighbors of the prediction target point are coplanar neighbors or collinear neighbors. If it is determined that the points are tangent points, the decoder uses coplanar adjacent points when obtaining the attribute reconstruction values of the adjacent points. At the same time, obtain the first attribute reconstruction value corresponding to the collinear adjacent points. You may get the value.
[0226] Correspondingly, in the embodiment of the present application, at least one of the points that is coplanar with and adjacent to the predicted target point is There is at least one collinear adjacent point that is collinear with and adjacent to at least one coplanar adjacent point. Therefore, when the decoder calculates the attribute reconstruction value, the first attribute The weighted average is calculated by performing a weighted average calculation on the reconstruction value and the second attribute reconstruction value. Finally, the decoder determines the weighted average as the attribute prediction value. Thus, prediction of the attribute information of the prediction target point can be completed.
[0227] As can be seen, in the present embodiment, the decoder uses predefined weights to estimate the first genus. When calculating the weighted average value for the reconstructed value of the first attribute and the reconstructed value of the second attribute, Different weight values may be assigned to the second attribute reconstruction values. Based on the principle that the closer the distance, the higher the correlation, the weight corresponding to the first attribute reconstruction value is calculated. The weighting value should be set to be greater than the weighting value corresponding to the second attribute reconstruction value.
[0228] For example, in the present application, a prediction target point has multiple neighboring points, such as coplanar neighboring points and collinear neighboring points. For example, for a prediction target point, there are six neighboring points for predicting attribute information, and the neighbors A junction has three coplanar neighbors and three collinear neighbors. The decoder stores the attributes of all neighbors. The weighted average value based on the distance is calculated for the reconstructed values, and the attribute information of the prediction target point is predicted. This allows us to obtain the attribute prediction value of the prediction target point. According to the distance, the correlation decreases as the distance increases, so the attributes of adjacent points with small distances A large weight is given to the reconstruction value.
[0229] As can be understood, in the embodiment of the present application, the decoder predicts the attribute information of the prediction target point. When performing the above, the first attribute reconstruction value of the coplanar adjacent points of the prediction target point and the second attribute reconstruction value of the collinear adjacent points are may be simultaneously used to determine the attribute prediction value of the prediction target point, and The attribute prediction value of the prediction target point is calculated using the first attribute reconstruction value or the second attribute reconstruction value of the collinear adjacent points. Here, based on the principle that the closer the distance, the higher the correlation, Coplanar adjacent points that are closer to each other may be selected with priority, and attribute information of the prediction target point may be predicted. stomach.
[0230] JPEG0007657987000015.jpg47150
[0231] FIG. 16 is a seventh flowchart of the attribute information prediction method. As shown in FIG. In the embodiment of the present application, the decoder performs the following on the decoding target point group based on the target Morton code: After determining whether there is a neighboring point, i.e., after step 603, the decoder The method for predicting attribute information of a prediction target point may further include the following steps.
[0232] In step 605, if there are no adjacent points in the point group to be decoded, The attribute prediction value of the prediction target point is predicted using the previous Morton code corresponding to the corresponding code.
[0233] In the embodiment of the present application, the decoder performs a decoding process on the target point group based on the target Morton code. After judging whether the adjacent points of the prediction target point exist, the adjacent points of the prediction target point are added to the decoding target point group. If the point does not exist, the decoder calculates the attribute information of the predicted point based on the neighboring points of the predicted point. Therefore, the decoder cannot predict the current Morton code. Using the previous Morton code, predict the attribute information of the prediction target point, and predict the attributes of the prediction target point You need to get the value.
[0234] It should be noted that in the embodiment of the present application, there are no adjacent points of the prediction target point, i.e. The prediction point does not have any coplanar or collinear neighbors around it. To predict, we use the attribute reconstruction value corresponding to the Morton code immediately preceding the current one. must be utilized.
[0235] Furthermore, in the embodiment of the present application, the decoder also decodes the previous Morton code corresponding to the current Morton code. When predicting the attribute prediction value of a prediction target point using a key code, first, Then, the reconstructed point corresponding to the previous Morton code is determined, and then the reconstructed point is The attribute reconstruction value of the reconstructed point is obtained, and the attribute reconstruction value of the reconstructed point is used as the attribute prediction value of the prediction target point. In other words, in the present application, the target Morton code is used to predict the points to be decoded. If there is no adjacent point of the target point, the Morton code immediately before the current one is used. The attribute reconstruction value of the reconstructed point corresponding to the prediction point is used as the attribute prediction value of the prediction target point. Complete prediction of point attribute information.
[0236] As can be seen, in the embodiment of the present application, the points to be decoded may include adjacent points of the predicted point. If not, the decoder first selects the current mode in the point cloud sequence set of the decoding target point cloud. Here, we can search for the Morton code immediately before the Morton code. In the decode target point group, all the Morton codes of all the points are recorded in ascending order. It is remembered.
[0237] FIG. 17 is a flowchart of the attribute information prediction method. As shown in FIG. In the embodiment of the present application, the decoder performs the following on the decoding target point group based on the target Morton code: After determining whether there is an adjacent point, i.e., after step 603, and the attribute of the adjacent point Before predicting the attribute prediction value of the prediction target point based on the reconstruction information, i.e., in step 604 Before, the method for predicting the attribute information of the prediction target point by the decoder further includes the following steps: It may include.
[0238] In step 606, a reconstruction corresponding to the previous Morton code is obtained from the group of points to be decoded. Determine the constructed point.
[0239] In step 607, the reconstructed points are determined as neighbors of the predicted target point.
[0240] In the embodiment of the present application, the decoder performs a decoding process on the target point group based on the target Morton code. After judging whether the adjacent points of the prediction target point exist, the adjacent points of the prediction target point are added to the decoding target point group. If there is no point, that is, if there are no coplanar and collinear neighbors around the prediction target point, Then, the decoder first extracts the reconstructed point corresponding to the previous Morton code from the point group to be decoded. A done point may be determined.
[0241] Furthermore, in the embodiment of the present application, the decoder selects the previous Morton code from the decoding target point group. After determining the reconstructed point corresponding to the target point, the reconstructed point is determined as a neighbor of the target point. In other words, in the present application, according to the target Morton code, a predetermined If there is no adjacent point of the measurement point, the previous Morton code of the current Morton code is used directly. The reconstructed points corresponding to the nodes are set as the neighboring points of the prediction target point, and then, step 60 is continued. According to the method in 4, prediction of the attribute information of the prediction target point is completed.
[0242] As can be seen, in the present embodiment, after step 603, i.e. the decoder: After determining whether adjacent points exist in the point group to be decoded based on the target Morton code, If the prediction target point has neighboring points in the decoding target point group, the decoder directly calculates the attribute of the neighboring points. Based on the reconstruction information, the attribute prediction value of the prediction target point is predicted, and the prediction target point is added to the decoded target point group. If there is no adjacent point, the decoder first selects from the point cloud sequence set of the decoding target point cloud: Search for the Morton code immediately before the current one, then search for the 1st A reconstructed point corresponding to the previous Morton code is searched for, and the reconstructed point is set as the prediction target point. By determining the neighboring points, prediction is made based on the attribute reconstruction information of the neighboring points. The attribute prediction value of the target point can be predicted.
[0243] As can be seen, in the present embodiment, the decoded code is based on the target Morton code. If it is determined that there are no neighbors of the predicted object point in the object point cloud, the decoder Let the reconstructed point in the set that corresponds to the Morton code immediately preceding the current one be The neighboring points of the prediction target point are then used as the neighboring points, and the prediction target point is then calculated based on the attribute reconstruction information of the neighboring points. The attribute prediction value can be predicted.
[0244] It should be noted that in the embodiment of the present application, the method of steps 601 to 607 above Based on the above, when predicting attribute information for a prediction target point, the decoder uses predetermined neighboring information According to the table, the current Morton code of the prediction target point is used to find the neighbors around the prediction target point. A target Morton code corresponding to the adjacent position can be determined, and the target Morton code corresponding to the adjacent position can be determined in the point cloud. If there is a neighboring point of the prediction target point in the decoder, the decoder directly reproduces the attribute of the neighboring point. The constructed value is used to perform prediction, and the attribute prediction value of the prediction target point can be obtained. Since the correlation between the target point and adjacent points is higher, the attribute information of the target point can be predicted based on the adjacent points. By doing so, the accuracy of prediction can be effectively improved.
[0245] Furthermore, in the embodiment of the present application, when a hierarchical process is performed on a group of points to be decoded, The method according to the above steps 601 to 607 is used for intra-layer prediction of the points to be decoded. This is also fine.
[0246] In an embodiment of the present application, the method for predicting attribute information of the present application further comprises: By making full use of the prediction residual, the prediction error can be made smaller, and the subsequent quantization and entropy It is more applicable to decoding and achieves higher gains in maintaining PSNR performance.
[0247] An embodiment of the present application provides a method for predicting attribute information. A current Morton code of the prediction target point is determined, and a predetermined neighboring Determine the target Morton code corresponding to the predicted target point by the information table, where The adjacent information table is used to determine the coordinate difference between the adjacent position of the prediction target point and the predetermined reference point. According to the target Morton code, the adjacent points of the predicted target point are present in the decoding target point group. If there are adjacent points in the point group to be decoded, the attribute reconstruction information of the adjacent points is Based on this, the attribute prediction value of the prediction target point is predicted. In the case where the decoder predicts attribute information for a prediction target point, the decoder Based on the neighbor information table, the current Morton code of the prediction target point is used to predict the A target Morton code corresponding to adjacent locations around the point cloud may be determined, If the adjacent point of the prediction target point exists in the adjacent position, the decoder directly A prediction can be made using the attribute reconstruction values of the points to obtain predicted values of the attributes of the points to be predicted. Since the correlation between the prediction point and the neighboring points is higher, the attribute information of the prediction point can be obtained by the neighboring points. By realizing prediction, it can effectively improve the accuracy of prediction and greatly reduce the prediction residual. The coding efficiency can be improved.
[0248] According to the above embodiment, another embodiment of the present application provides an encoder. FIG. 18 is a schematic diagram of the structure of an encoder according to an embodiment of the present application. The encoder 100 includes a first determination unit 101, a first judgment unit 102, and a first prediction unit 103. It may be prepared.
[0249] The first determination unit 101 determines a current Morton code of a prediction target point in a group of encoding targets. and determining, based on the current Morton code, the predicted neighboring number by a predetermined neighboring information table. determining a target Morton code corresponding to the target point, The adjacent information table is used to determine the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. The The first judgment unit 102 judges whether the encoding target point group is a set of points based on the target Morton code. configured to determine whether a neighbor of the predicted target point exists; If the adjacent point exists in the encoding target point group, the first prediction unit 103 and predicting an attribute prediction value of the prediction target point based on the attribute reconstruction information of the .
[0250] FIG. 19 is a schematic diagram of the structure of the encoder. As shown in FIG. The encoder 100 according to the embodiment includes a first processor 104 and a a first memory 105 having executable instructions stored therein; and a first communication interface 106. , a first processor 104, a first memory 105 and a first communication interface 106 are connected The communication device may further include a first bus 107 for transmitting the communication data.
[0251] Further, in the embodiment of the present application, the first processor 104 in the encoding target point group determining a current Morton code for the prediction target point; and calculating a predetermined A target Morton code corresponding to the predicted target point is determined by an adjacent information table; Here, the predetermined adjacent information table includes coordinates of adjacent positions of the prediction target point and a predetermined reference point. to determine the difference, Based on the target Morton code, adjacent points of the predicted target point are included in the encoding target point group. If the adjacent point exists in the encoding target point group, and predicting an attribute prediction value of the prediction target point based on the attribute reconstruction information of the .
[0252] In addition, each functional module in each embodiment of the present application may be integrated into one processing unit. Each unit may exist as a separate physical entity, or two or more units may exist as separate physical entities. The units may be integrated into one unit. The integrated unit may be implemented as a hardware It may be realized in the form of a combination of hardware and software functional units. This may be realized by:
[0253] The integrated units are realized in the form of software functional units and are independent products. When sold or used as a computer readable storage medium. With this understanding, the technical proposal of the present application is essentially or has made a contribution to the prior art. A part or a portion of the technical solution may be embodied in the form of a software product; The computer software product may be stored in a storage medium and may be Computer equipment (such as personal computers, servers, or network devices) or processors A processor (processor) may be used to execute all or part of the steps of the method according to the present embodiment. The above-mentioned storage medium includes a USB memory, a portable hard disk, a read-out Read Only Memory (ROM), Random Access Memory (Random Access Memory:RAM), magnetic disk or optical disk This includes various media capable of storing program code, such as:
[0254] An embodiment of the present application provides an encoder, which is configured to predict a prediction of a set of points to be encoded. A current Morton code of the measurement target point is determined, and predetermined adjacent information is calculated based on the current Morton code. A target Morton code corresponding to the predicted target point is determined by the information table, where The adjacent information table is used to determine the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. Based on the target Morton code, the adjacent points of the predicted target point are present in the encoding target point group. If there are adjacent points in the encoding target point group, the attribute reconstruction information of the adjacent points is Based on the information, the attribute prediction value of the prediction target point is predicted. In the example, when the encoder and the decoder predict attribute information for a prediction target point, Based on a given neighboring information table, the current Morton code of the prediction target point is used to predict the A target Morton code corresponding to adjacent positions around the image point can be determined, and the target Morton code can be calculated by dividing the image point by the target Morton code. If the neighboring point of the prediction target point exists in the neighboring position, the encoder and the decoder directly The attribute reconstruction values of the adjacent points are used to perform prediction, and the attribute prediction value of the prediction target point can be obtained. Since the correlation between the prediction point and its neighboring points is higher, the attributes of the prediction point can be easily predicted by the neighboring points. By realizing information prediction, it can effectively improve the accuracy of prediction and greatly reduce the prediction residual. This makes it possible to improve the coding efficiency.
[0255] According to the above embodiment, in another embodiment of the present application, FIG. 20 is a schematic diagram of the structure of a decoder. As shown in FIG. 20, a decoder 200 according to an embodiment of the present application The image processing apparatus may include a first determination unit 201, a second prediction unit 202, and a second prediction unit 203.
[0256] The second determination unit 201 determines a current Morton code of a prediction target point in a group of decoding targets. Based on the current Morton code, the predicted configured to determine a target Morton code corresponding to the point of interest, wherein the predetermined neighbors The adjacent information table is for determining the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. It is something like The second judgment unit 202 adds a front edge to the decoding target point group based on the target Morton code. configured to determine whether a neighbor of the prediction target point exists; If the adjacent point exists in the decoding target point group, the second prediction unit 203 The prediction device is configured to predict an attribute prediction value of the prediction target point based on the attribute reconstruction information.
[0257] FIG. 21 is a schematic diagram of the decoder structure. As shown in FIG. 21, The example decoder 200 includes a second processor 204 and a processor 206 for executing the second processor 204. a first memory 205 in which a programmable instruction is stored; a second communication interface 206; 2. A second processor 104, a second memory 205 and a second communication interface 206 are connected to the The device may further include a second bus 207 for transmitting the signal.
[0258] Further, in the embodiment of the present application, the second processor 204 performs a prediction on the decoding target point group. A current Morton code of the measurement target point is determined, and a predetermined neighboring A target Morton code corresponding to the predicted target point is determined according to a neighbor information table; The predetermined adjacent information table includes a coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. and determining, based on the target Morton code, It is determined whether or not there is an adjacent point of the prediction target point, and the adjacent point is included in the decoding target point group. If there is, the attribute prediction value of the prediction target point is predicted based on the attribute reconstruction information of the adjacent points. The system is configured to measure
[0259] In addition, each functional module in each embodiment of the present application may be integrated into one processing unit. Each unit may exist as a separate physical entity, or two or more units may exist as separate physical entities. The units may be integrated into one unit. The integrated unit may be implemented as a hardware It may be realized in the form of a combination of hardware and software functional units. This may be realized by:
[0260] The integrated units are realized in the form of software functional units and are independent products. When sold or used as a computer readable storage medium. With this understanding, the technical proposal of the present application is essentially or has made a contribution to the prior art. A part or a portion of the technical solution may be embodied in the form of a software product; The computer software product may be stored in a storage medium and may be Computer equipment (such as personal computers, servers, or network devices) or processors, The embodiment includes some instructions for carrying out all or some of the steps of the method described in the embodiment. The above-mentioned storage media include USB memory, portable hard disk, ROM, RAM, magnetic This includes various media capable of storing program code, such as disks or optical disks.
[0261] An embodiment of the present application provides a decoder, which is configured to predict a prediction target in a point group to be decoded. A current Morton code of the point is determined, and a predetermined neighboring information table is generated based on the current Morton code. A target Morton code corresponding to the predicted target point is determined by the function, where a given neighboring The information table is used to determine the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. Based on the target Morton code, whether the neighboring points of the predicted target point exist in the decoding target point group If there are adjacent points in the point group to be decoded, the attribute reconstruction information of the adjacent points is used to determine whether the point group is decoded. As can be seen, in the embodiment of the present application, When predicting attribute information for a prediction target point, the decoder uses a predetermined neighboring information Based on the information table, the current Morton code of the prediction target point is used to find the surroundings of the prediction target point. A target Morton code corresponding to the adjacent location can be determined, and the adjacent location can be If there is a neighboring point of the prediction target point in the position, the decoder directly calculates the attribute of the neighboring point. The reconstruction value is used to perform prediction, and the attribute prediction value of the prediction target point can be obtained. Since the correlation between a point and its neighboring points is higher, the attribute information of the prediction target point can be predicted based on the neighboring points. By implementing this method, the prediction accuracy can be effectively improved, the prediction residual error can be greatly reduced, and the coding efficiency can be improved. The rate can be improved.
[0262] An embodiment of the present application provides a computer-readable storage medium. A program is stored in the memory, and when the program is executed by the processor, The methods described in the examples are implemented.
[0263] Specifically, the program instructions corresponding to the attribute information prediction method in this embodiment are The information may be stored in a storage medium such as a disk, a hard disk, or a USB memory. In the method, program instructions corresponding to the method of predicting attribute information are read by an electronic device. Or when executed, determining a current Morton code for a predicted target point in the set of points to be coded; Based on the current Morton code, the prediction target is determined by a predetermined adjacent information table. determining a target Morton code corresponding to the point, The information table is for determining the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. The steps are: Based on the target Morton code, adjacent points of the predicted target point are included in the encoding target point group. determining whether it exists; If the adjacent point exists in the encoding target point group, the attribute reconstruction information of the adjacent point is used to and predicting an attribute prediction value of the prediction target point using the prediction method.
[0264] A program instruction corresponding to a method for predicting attribute information in a storage medium is readable by an electronic device. When it is read or executed, determining a current Morton code for a predicted target point in the set of points to be decoded; Based on the current Morton code, the prediction target is determined by a predetermined adjacent information table. determining a target Morton code corresponding to the point, The information table is for determining the coordinate difference between the adjacent position of the prediction target point and a predetermined reference point. The steps are: Based on the target Morton code, the adjacent points of the predicted target point are present in the decoding target point group. determining whether If the adjacent point exists in the decoding target point group, the attribute reconstruction information of the adjacent point is and predicting an attribute prediction value of the prediction target point.
[0265] As will be appreciated by those skilled in the art, the embodiments of the present application may be implemented as a method, a system, or a computer. The present application may be provided as a program product. Accordingly, the present application includes hardware embodiments, software embodiments, and the like. The present invention may be implemented in the form of a hardware embodiment or a combination of hardware and software embodiments. The present application is directed to one or more computer-usable program codes. Any number of computer-usable storage media, including magnetic disk memory and optical memory. The present invention may take the form of a computer program product embodied in a program, including but not limited to a program code. stomach.
[0266] The present application relates to a method, an apparatus (system) and a computer program product according to the present application. The following description will be given with reference to flowcharts and / or block diagrams. Each flow and / or block in the flowchart and / or block diagram is executed by the instruction. The flow and / or block diagrams are implemented in accordance with the present invention. It should be understood that a combination of these computer programs may also be implemented. The program instructions may be used on a general purpose computer, a special purpose computer, an embedded processor, or any The data can be provided to the processor of another programmable data processing device, thereby producing the device. These instructions are then transmitted to a processor in a computer or other programmable data processing device. When executed by one or more of the flows and / or block diagrams in the flowchart In accordance with the present invention, an apparatus has been created that fulfils the functions specified in one or more of the blocks in the above.
[0267] These computer program instructions may be used by a computer or other programmable data storage device. A program stored on a computer readable storage medium capable of directing a processing device to operate in a particular manner. Thereby, the instructions stored on the computer-readable storage medium may The method produces a product that includes an instruction device, the instruction device being one or more of the steps in the flowchart. The functions defined in one or more blocks in the flow and / or block diagram of Be realized.
[0268] These computer program instructions can be used to program a computer or other programmable data processor. This may be done by loading the data into a computer or other programmable data processing device. A sequence of operational steps is performed on a processing device to produce a computer-implemented process. Thus, the instructions executed on a computer or other programmable data processing device , one or more flows in the flowchart and / or one or more steps in the block diagram. provides steps for achieving functions defined in multiple blocks.
[0269] The above are merely preferred embodiments of the present application, and are not intended to limit the scope of protection of the present application. [Industrial Applicability]
[0270] The present application provides a method for predicting attribute information, an encoder, a decoder, and a storage medium. The encoder determines the current Morton code of the prediction point in the set of points to be encoded. Based on the Morton code, a predetermined neighboring information table is used to select the target point corresponding to the prediction target point. A target Morton code is determined, where a predetermined adjacent information table is used to determine the adjacent positions of the predicted target point. and determining the coordinate difference between the target position and a predetermined reference point based on the target Morton code. , determine whether or not there is an adjacent point of the predicted point in the encoding target point group, and If there are adjacent points, the attribute prediction value of the prediction target point is predicted based on the attribute reconstruction information of the adjacent points. The decoder determines a current Morton code of a prediction target point in the point set to be decoded; Based on the current Morton code, the neighboring information table is used to select the neighboring points corresponding to the prediction target point. A target Morton code to be decoded is determined, and a predicted value is added to the decoding target point group based on the target Morton code. It is determined whether the adjacent points of the target point exist, and if the adjacent points exist in the point group to be decoded, Based on the attribute reconstruction information, we predict the attribute prediction value of the prediction target point. In the embodiment of the present application, the encoder and the decoder predict attribute information for the prediction target point. When performing a prediction, the current Morton code of the prediction target point is calculated based on a predetermined neighboring information table. By using the method, the target Morton code corresponding to the adjacent positions around the predicted target point can be determined. If the adjacent point of the prediction target point exists at the adjacent position in the point cloud, the encoder and the decoder The prediction is performed by directly using the attribute reconstruction value of the adjacent points, and the attribute prediction value of the prediction target point is Since the correlation between the prediction point and the neighboring points is higher, the prediction can be made by the neighboring points. By realizing prediction of the attribute information of the measurement points, the accuracy of prediction can be effectively improved and the prediction residual can be improved. The difference can be greatly reduced and the coding efficiency can be improved.
Claims
1. A method for predicting attribute information, executed by an encoder, comprising: determining position information of a current point in the point cloud; determining target position information corresponding to the current point by a predetermined adjacent information table based on the position information, the predetermined adjacent information table being for determining a coordinate difference between an adjacent position of the current point and a predetermined reference point, the adjacent positions including a coplanar adjacent point that is coplanar with and adjacent to the current point, and a collinear adjacent point that is collinear with and adjacent to the current point, the predetermined adjacent information table being constructed based on a coordinate difference calculated by the coplanar adjacent point and the collinear adjacent point; determining whether an adjacent point of the current point exists in the point cloud based on the target position information; If the adjacent points exist in the point cloud, predicting an attribute prediction value of the current point based on attribute reconstruction information of the adjacent points.
2. Before determining target location information corresponding to the current point based on the location information by a predetermined adjacent information table, the method for predicting attribute information further includes: building the predetermined neighbor information table corresponding to the current point; The method for predicting attribute information according to claim 1 .
3. Constructing the predetermined adjacent information table corresponding to the current point comprises: Locating the predetermined reference point; calculating a first coordinate difference between the predetermined reference point and the coplanar adjacent point, and calculating a second coordinate difference between the predetermined reference point and the collinear adjacent point; encoding the first coordinate difference to obtain coplanar location information corresponding to the coplanar adjacent points, and encoding the second coordinate difference to obtain collinear location information corresponding to the collinear adjacent points; and constructing the predetermined neighbor information table corresponding to the current point based on the coplanar position information and the collinear position information. The method for predicting attribute information according to claim 1 .
4. Determining whether or not an adjacent point of the current point exists in the point cloud based on the target position information includes: obtaining a point cloud sequence set of the point cloud; performing a search process in the point cloud sequence set based on the target position information to obtain a search result; and determining that the adjacent point exists if the target position information exists in the point cloud sequence set as the search result. The method for predicting attribute information according to claim 1 .
5. Performing a search process in the point cloud sequence set based on the target position information and obtaining a search result, traversing the set of point cloud sequences based on the target location information to obtain the search results. The method for predicting attribute information according to claim 4.
6. A method for predicting attribute information, executed by a decoder, comprising: determining position information of a current point in the point cloud; determining target position information corresponding to the current point by a predetermined adjacent information table based on the position information, the predetermined adjacent information table being for determining a coordinate difference between an adjacent position of the current point and a predetermined reference point, the adjacent positions including a coplanar adjacent point that is coplanar with and adjacent to the current point, and a collinear adjacent point that is collinear with and adjacent to the current point, the predetermined adjacent information table being constructed based on a coordinate difference calculated by the coplanar adjacent point and the collinear adjacent point; determining whether an adjacent point of the current point exists in the point cloud based on the target position information; If the adjacent points exist in the point cloud, predicting an attribute prediction value of the current point based on attribute reconstruction information of the adjacent points.
7. Before determining target location information corresponding to the current point based on the location information by a predetermined adjacent information table, the method for predicting attribute information further includes: building the predetermined neighbor information table corresponding to the current point; The method for predicting attribute information according to claim 6.
8. Constructing the predetermined neighboring information table corresponding to the current point includes: Locating the predetermined reference point; calculating a first coordinate difference between the predetermined reference point and the coplanar adjacent point, and calculating a second coordinate difference between the predetermined reference point and the collinear adjacent point; encoding the first coordinate difference to obtain coplanar location information corresponding to the coplanar adjacent points, and encoding the second coordinate difference to obtain collinear location information corresponding to the collinear adjacent points; and constructing the predetermined neighbor information table corresponding to the current point based on the coplanar position information and the collinear position information. The method for predicting attribute information according to claim 6.
9. Determining whether or not an adjacent point of the current point exists in the point cloud based on the target position information includes: obtaining a point cloud sequence set of the point cloud; performing a search process in the point cloud sequence set based on the target position information to obtain a search result; and determining that the adjacent point exists if the target position information exists in the point cloud sequence set as the search result. The method for predicting attribute information according to claim 6.
10. Performing a search process in the point cloud sequence set based on the target position information and obtaining a search result, traversing the set of point cloud sequences based on the target location information to obtain the search results. The method for predicting attribute information according to claim 9.
11. An encoder comprising: a first processor; and a first memory storing instructions executable by the first processor, the first processor comprising: determining position information of a current point in the point cloud; determining target position information corresponding to the current point by a predetermined adjacent information table based on the position information, the predetermined adjacent information table being for determining a coordinate difference between an adjacent position of the current point and a predetermined reference point, the adjacent positions including a coplanar adjacent point that is coplanar with and adjacent to the current point, and a collinear adjacent point that is collinear with and adjacent to the current point, the predetermined adjacent information table being constructed based on a coordinate difference calculated by the coplanar adjacent point and the collinear adjacent point; determining whether an adjacent point of the current point exists in the point cloud based on the target position information; if the neighboring points exist in the point cloud, predicting an attribute prediction value of the current point based on attribute reconstruction information of the neighboring points. Encoder.
12. A decoder comprising: a second processor; and a second memory in which instructions executable by the second processor are stored, the second processor comprising: determining position information of a current point in the point cloud; determining target position information corresponding to the current point by a predetermined adjacent information table based on the position information, the predetermined adjacent information table being for determining a coordinate difference between an adjacent position of the current point and a predetermined reference point, the adjacent positions including a coplanar adjacent point that is coplanar with and adjacent to the current point, and a collinear adjacent point that is collinear with and adjacent to the current point, the predetermined adjacent information table being constructed based on a coordinate difference calculated by the coplanar adjacent point and the collinear adjacent point; determining whether an adjacent point of the current point exists in the point cloud based on the target position information; if the neighboring points exist in the point cloud, predicting an attribute prediction value of the current point based on attribute reconstruction information of the neighboring points. decoder.
Citation Information
Patent Citations
Neighbor weight optimization-based point cloud intra-frame prediction method and device
CN110418135A
Point cloud compression
WO2019055772A1
Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2019203297A1