Point cloud encoding method, decoding method and device
By using a point cloud information prediction list for predictive encoding, the problems of high memory overhead and high neighbor lookup complexity are solved, achieving a more efficient encoding process.
Patent Information
- Application Number
- CN202110941633.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-11
- Filing Date
- 2021-08-17
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2041-08-17
AI Technical Summary
Existing predictive coding methods suffer from high memory overhead and high neighbor lookup complexity, resulting in low coding efficiency.
By determining a point cloud information prediction list, the point cloud information of the encoded nodes is used to predict and encode the nodes to be encoded, avoiding the need to look up the placeholder information of neighboring nodes, reducing memory overhead and improving encoding efficiency.
This effectively reduces the complexity of searching neighbor nodes and memory overhead, and improves coding efficiency.
Smart Images

Figure CN115474059B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of point cloud processing, and particularly relates to a point cloud encoding method and a decoding method and device. BACKGROUND
[0002] In the Point cloud Reference Software Model (PCRM) V3.0 of the Audio Video coding Standard (AVS) point cloud encoding reference software model, when the geometry encoding is based on a multi-tree, the occupancy information of a neighbor node needs to be stored to predict and encode the occupancy information of a current node to be encoded. Since the number of leaf nodes exponentially increases in the octree layer close to the leaf node in the geometry encoding method based on the multi-tree, the existing prediction encoding method causes a large memory overhead, and the complexity of the neighbor node searching is also high, resulting in low encoding efficiency. SUMMARY
[0003] Embodiments of the present application provide a point cloud encoding method and a decoding method and device, which can solve the problem that the existing prediction encoding method causes a large memory overhead, and the complexity of the neighbor searching is also high, resulting in low encoding efficiency.
[0004] In a first aspect, a point cloud encoding method is provided, comprising:
[0005] determining a first point cloud information prediction list, the first point cloud information prediction list comprising point cloud information of an encoded node in a target point cloud;
[0006] predictively encoding a node to be encoded in the target point cloud according to the first point cloud information prediction list.
[0007] In a second aspect, a point cloud decoding method is provided, comprising:
[0008] decoding a target bitstream to obtain decoding information of a node to be decoded in the target bitstream, the decoding information comprising a prediction residual of the node to be decoded and a prediction mode of the node to be decoded, or the decoding information comprising a prediction residual of the node to be decoded, the target bitstream being obtained by encoding a node in a target point cloud;
[0009] determining a second point cloud information prediction list, the second point cloud information prediction list comprising point cloud information of a decoded node in the target bitstream;
[0010] obtaining point cloud information corresponding to the node to be decoded according to the second point cloud information prediction list and the decoding information.
[0011] In a third aspect, a point cloud encoding apparatus is provided, comprising:
[0012] a first determining module configured to determine a first point cloud information prediction list, the first point cloud information prediction list comprising point cloud information of encoded nodes in a target point cloud;
[0013] a first processing module configured to perform predictive encoding on a to-be-encoded node in the target point cloud according to the first point cloud information prediction list.
[0014] In a fourth aspect, a point cloud decoding apparatus is provided, comprising:
[0015] a second processing module configured to perform decoding processing on a target bitstream to obtain decoding information of a to-be-decoded node in the target bitstream, the decoding information comprising a prediction residual of the to-be-decoded node and a prediction mode of the to-be-decoded node, or the decoding information comprising a prediction residual of the to-be-decoded node, the target bitstream being obtained by performing encoding processing on nodes in a target point cloud;
[0016] a second determining module configured to determine a second point cloud information prediction list, the second point cloud information prediction list comprising point cloud information of decoded nodes in the target bitstream;
[0017] a first obtaining module configured to obtain point cloud information corresponding to the to-be-decoded node according to the second point cloud information prediction list and the decoding information.
[0018] In a fifth aspect, a point cloud encoding apparatus is provided, comprising a processor, a memory, and a program or instructions stored in the memory and executable on the processor, the program or instructions being executed by the processor to implement the steps of the method according to the first aspect.
[0019] In a sixth aspect, a point cloud encoding apparatus is provided, comprising a processor and a communication interface, wherein the processor is configured to determine a first point cloud information prediction list, the first point cloud information prediction list comprising point cloud information of encoded nodes in a target point cloud; and perform predictive encoding on a to-be-encoded node in the target point cloud according to the first point cloud information prediction list.
[0020] In a seventh aspect, a point cloud decoding apparatus is provided, comprising a processor, a memory, and a program or instructions stored in the memory and executable on the processor, the program or instructions being executed by the processor to implement the steps of the method according to the second aspect.
[0021] In an eighth aspect, a point cloud decoding apparatus is provided, including a processor and a communication interface, wherein the processor is configured to decode a target bitstream to obtain decoding information of a node to be decoded in the target bitstream, the decoding information including a prediction residual of the node to be decoded and a prediction mode of the node to be decoded, or the decoding information including a prediction residual of the node to be decoded, the target bitstream being obtained by encoding a node in a target point cloud; determine a second point cloud information prediction list, the second point cloud information prediction list including point cloud information of a decoded node in the target bitstream; and obtain point cloud information corresponding to the node to be decoded according to the second point cloud information prediction list and the decoding information.
[0022] In a ninth aspect, a readable storage medium is provided, the readable storage medium storing a program or instructions, the program or instructions being executed by a processor to implement steps of the method according to the first aspect or the method according to the second aspect.
[0023] In a tenth aspect, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, and the processor being configured to run a program or instructions to implement the method according to the first aspect or the method according to the second aspect.
[0024] In an eleventh aspect, a computer program / program product is provided, the computer program / program product being stored in a non-transitory storage medium, and the program / program product being executed by at least one processor to implement steps of the method according to the first aspect or the second aspect.
[0025] In the embodiments of the present application, a first point cloud information prediction list is determined, the first point cloud information prediction list including point cloud information of an encoded node in a target point cloud, and a node to be encoded in the target point cloud is predicted based on the first point cloud information prediction list. The encoding manner uses the point cloud information of the encoded node in the first point cloud information prediction list to predict the node to be encoded, without searching for the placeholder information of the neighbor node, reducing the search complexity of the neighbor node, and without the need to save a large amount of placeholder information of the neighbor node, effectively reducing the memory overhead and improving the encoding efficiency. BRIEF DESCRIPTION OF DRAWINGS
[0026] Figure 1 is a schematic diagram of a G-PCC encoding and decoding framework;
[0027] Figure 2 is a schematic diagram of a point cloud encoding method according to an embodiment of the present application;
[0028] Figure 3 is a schematic diagram of a point cloud encoding method according to an embodiment of the present application;
[0029] Figure 4 FIG. 3 is a flowchart of a point cloud encoding method according to an embodiment of the present application;
[0030] Figure 5 FIG. 4 is a flowchart of a point cloud encoding method according to an embodiment of the present application;
[0031] Figure 6 FIG. 5 is a diagram illustrating an update of a point cloud information prediction list according to an embodiment of the present application;
[0032] Figure 7 FIG. 6 is a diagram illustrating an update of a point cloud information prediction list according to an embodiment of the present application;
[0033] Figure 8 FIG. 7 is a diagram illustrating an update of a second attribute information prediction list according to an embodiment of the present application;
[0034] Figure 9 FIG. 8 is a flowchart of a point cloud decoding method according to an embodiment of the present application;
[0035] Figure 10 FIG. 9 is a diagram illustrating a module of a point cloud encoding device according to an embodiment of the present application;
[0036] Figure 11 FIG. 10 is a diagram illustrating a structure block of a point cloud encoding device according to an embodiment of the present application;
[0037] Figure 12 FIG. 11 is a diagram illustrating a structure block of a point cloud encoding device according to an embodiment of the present application;
[0038] Figure 13 FIG. 12 is a diagram illustrating a module of a point cloud decoding device according to an embodiment of the present application. DETAILED DESCRIPTION
[0039] The technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art belong to the scope of protection of the present application.
[0040] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second" are generally of a kind and do not limit the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally represents an "or" relationship between the objects before and after it.
[0041] The point cloud encoding method in the embodiments of the present application corresponds to an encoder, and the point cloud decoding method corresponds to a decoder. The terminal can also be referred to as a terminal device or a user terminal (User Equipment, UE). The terminal can be a mobile phone, a tablet personal computer (Tablet Personal Computer), a laptop computer (Laptop Computer), a personal digital assistant (Personal Digital Assistant, PDA), a palm computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) device, a robot, a wearable device (Wearable Device) or a vehicle-mounted device (VUE), a pedestrian terminal (PUE), etc. Wearable devices include smart watches, bracelets, earphones, glasses, etc. It should be noted that the specific type of terminal is not limited in the embodiments of the present application.
[0042] In order for those skilled in the art to better understand the embodiments of the present application, the following description is first made.
[0043] In the digital audio and video coding technology standard (Audio Video coding Standard, AVS) point cloud G-PCC (Geometry-based Point Cloud Compression) encoder framework, the geometry information and attribute information of the point cloud are encoded separately. As shown in Figure 1 The G-PCC octree-based geometry encoding and attribute encoding are shown.
[0044] The octree-based geometry coding includes: firstly, coordinate conversion is performed on the geometry information, so that the point cloud is contained in a bounding box. Then quantization is performed, which mainly plays a role of scaling. Due to the quantization rounding, the geometry information of a part of points is the same. Whether to remove the repeated points is determined according to the parameters. The quantization and removal of repeated points are also called the voxelization process. Next, the bounding box is continuously divided into a tree (octree / quaternary tree / binary tree) in the order of breadth-first traversal. The occupancy code of each node is encoded. In the octree-based geometry coding framework, the bounding box is divided into subcubes in turn. The non-empty (containing points in the point cloud) subcubes are continuously divided until the leaf nodes obtained by the division are 1x1x1 unit cubes. Then the number of points contained in the leaf nodes is encoded. Finally, the geometry octree coding is completed, and a binary code stream is generated. In the triangle soup (trisoup)-based geometry information coding framework, the octree division is also performed first. However, unlike the octree-based geometry information coding, the point cloud does not need to be divided into unit cubes with an edge length of 1x1x1. Instead, the division is stopped when the block (subblock) edge length is W. Based on the distribution of the point cloud in each block, a surface is formed. At most twelve vertices (intersection points) are generated by the surface and the twelve edges of the block. The vertex coordinates of each block are encoded in turn, and a binary code stream is generated. In the octree-based geometry decoding, the decoding end continuously analyzes the occupancy code of each node in the order of breadth-first traversal, and continuously divides the nodes in turn until the division stops when the unit cube with an edge length of 1x1x1 is obtained. The number of points contained in each leaf node is analyzed, and the geometry reconstructed point cloud information is finally recovered.
[0045] The attribute coding of the point cloud is based on the reconstructed geometry information. After the geometry coding is completed, the geometry information is reconstructed. Currently, the attribute coding is mainly for color and reflectivity information. First, it is determined whether to perform color space conversion. If color space conversion is performed, the color information is converted from the RGB color space to the YUV color space. Then, the reconstructed point cloud is recolored using the original point cloud, so that the uncoded attribute information corresponds to the reconstructed geometry information. In the attribute information coding, there are two modules: attribute prediction and attribute transformation. The attribute prediction mainly uses the attribute prediction method based on the neighbor search of the point cloud Morton code. This method obtains the prediction residual by predicting the attribute information of the point cloud, and then encodes the prediction residual. Currently, there are two transformation methods. One is the sampling rate-based lifting transformation depending on the level of detail (LOD) division, and the other is the region adaptive hierarchal transform (RAHT) transformation. Both of these two methods convert the attribute information from the spatial domain to the frequency domain, obtain the high-frequency coefficient and the low-frequency coefficient through the transformation, and finally quantize and encode the coefficients to generate a binary code stream.
[0046] The point cloud coding method provided by the embodiments of the present application will be described in detail in combination with the accompanying drawings and some embodiments.
[0047] As shown in Figure 2 The embodiments of the present application provide a point cloud coding method, which comprises:
[0048] Step 201: Determine a first point cloud information prediction list, wherein the first point cloud information prediction list comprises point cloud information of coded nodes in a target point cloud.
[0049] In the embodiments of the present application, the first point cloud information prediction list stores the point cloud information of the coded nodes in the target point cloud. The point cloud information of the coded nodes comprises geometry information and attribute information of the coded nodes.
[0050] Step 202: Perform prediction coding on the to-be-coded nodes in the target point cloud according to the first point cloud information prediction list.
[0051] The point cloud encoding method of the embodiments of the present application determines a first point cloud information prediction list, the first point cloud information prediction list including point cloud information of an encoded node in a target point cloud, and performs prediction encoding on a to-be-encoded node in the target point cloud based on the first point cloud information prediction list. The encoding method uses the point cloud information of the encoded node in the first point cloud information prediction list to perform prediction encoding on the to-be-encoded node, without searching for the placeholder information of the neighbor node, reducing the search complexity of the neighbor node, and without the need to save a large amount of placeholder information of the neighbor node, effectively reducing the memory overhead and improving the encoding efficiency.
[0052] Optionally, the prediction encoding on the to-be-encoded node in the target point cloud comprises:
[0053] In a case where the first parameter indicates to perform prediction encoding and the second parameter indicates to start prediction encoding at the Mth encoding layer of the target point cloud, the to-be-encoded nodes corresponding to the Mth to Lth encoding layers of the target point cloud are prediction encoded.
[0054] Wherein, L is the total number of encoding layers included in the target point cloud, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
[0055] In the embodiments of the present application, the first parameter can be specifically geometry_enable_predict_flag, and the second parameter can be specifically octree_division_end_nodeSizeLog2[3]. Specifically, the first parameter geometry_enable_predict_flag is introduced in the geometry parameter set (gps), and the first parameter is used to control whether to start the prediction encoding scheme based on the multi-ary tree, and when the prediction encoding scheme based on the multi-ary tree is started, the second parameter octree_division_end_nodeSizeLog2[3] is introduced to determine to start prediction encoding at a certain layer of the multi-ary tree, for example, the second parameter determines to start prediction encoding at the Mth layer of the multi-ary tree.
[0056] As Figure 3In the case that the geometry_enable_predict_flag indicates that the prediction coding scheme is enabled, the target point cloud is divided to obtain a high-bit point cloud (the to-be-coded nodes corresponding to the first coding layer to the M-1th coding layer) and a low-bit point cloud (the to-be-coded nodes corresponding to the Mth coding layer to the Lth coding layer), the high-bit point cloud is subjected to the multi-tree coding, the low-bit point cloud is subjected to the prediction coding, and whether the prediction residual obtained through the prediction coding is quantized is indicated through the parameter geometry_enable_quantizated_flag.
[0057] Optionally, the prediction coding of the to-be-coded nodes in the target point cloud comprises:
[0058] In the case that the third parameter indicates that the low-latency coding is enabled, the to-be-coded nodes corresponding to the L coding layers of the target point cloud are subjected to the prediction coding.
[0059] L is a total number of coding layers included in the target point cloud, and L is a positive integer greater than 1.
[0060] In the embodiments of the present application, in order to realize the low-latency coding of the point cloud, a third parameter low_latency_geometry_enable_flag is introduced in the GPS, whether the low-latency coding is enabled is controlled through the third parameter, and in the case that the low-latency coding is enabled, the second parameter is the size of the bounding box corresponding to the target point cloud, that is, the multi-tree coding is not performed, and the prediction coding is directly performed.
[0061] As Figure 4In the case that the low_latency_geometry_enable_flag indicates that the low-latency coding is enabled, the high and low bit point clouds are divided (the nodes corresponding to the first coding layer to the Lth coding layer are all low bit point clouds), and in the case that the low_latency_geometry_enable_flag indicates that the low-latency coding is not enabled, it is determined whether the geometry_enable_predict_flag indicates that the prediction coding scheme is enabled. In the case that the geometry_enable_predict_flag indicates that the prediction coding scheme is enabled, the target point cloud is divided to obtain the high bit point cloud (the nodes corresponding to the first coding layer to the M-1th coding layer) and the low bit point cloud (the nodes corresponding to the Mth coding layer to the Lth coding layer). The high bit point cloud is encoded by using the multi-tree coding, the low bit point cloud is encoded by using the prediction coding, and it is indicated by the parameter geometry_enable_quantizated_flag whether the prediction residual obtained by the prediction coding is quantized. In addition, it is determined by the geometry_attribute_contemporary_enable_flag whether the parallel coding and decoding of the geometry information and the attribute information are enabled. In the case that the parallel coding and decoding of the geometry information and the attribute information are enabled, the attribute prediction coding is performed, otherwise, the attribute prediction coding is performed based on the reconstructed geometry information.
[0062] In addition, when the low-latency coding or decoding is enabled, the target point cloud needs to be sorted in a certain way in the preprocessing stage (the points adjacent in space are arranged in adjacent positions), and then the sorted point cloud is prediction coded. When the low-latency coding or decoding is not enabled, the low bit point cloud is prediction coded according to the original multi-tree coding order.
[0063] Optionally, the determining the first point cloud information prediction list comprises at least one of the following:
[0064] In the case that the fourth parameter indicates that the parallel coding of the geometry information and the attribute information is enabled, the first geometry information prediction list and the first attribute information prediction list are determined.
[0065] In the case that the fourth parameter indicates that the parallel coding of the geometry information and the attribute information is not enabled, the first geometry information prediction list is determined, and the second attribute information prediction list is determined according to the reconstructed geometry information.
[0066] In the embodiments of the present application, in order to realize the parallel coding and decoding of the geometry information and the attribute information, the fourth parameter is introduced in the sps, and the geometry_attribute_contemporary_enable_flag is used to indicate whether the parallel coding and decoding of the geometry information and the attribute information is enabled.Figure 4 and Figure 5 As shown in FIG. 6, whether to start the parallel coding of the geometry information and the attribute information is controlled by the fourth parameter.
[0067] When the parallel coding of the geometry information and the attribute information is started, the target point cloud is predicted and encoded in the same way as the attribute information is predicted and encoded; when the parallel coding of the geometry information and the attribute information is not started, the geometry information is first encoded and reconstructed, the geometry information of the reconstructed point cloud is used as auxiliary information to construct a prediction list of the attribute information, and the attribute information is predicted and encoded based on the prediction list of the attribute information.
[0068] Optionally, the determining the first point cloud information prediction list comprises:
[0069] An initial point cloud information prediction list is constructed, the initial point cloud information prediction list comprising N1 prior values, N1 being a positive integer;
[0070] The prior values are updated according to the point cloud information of the encoded nodes in the target point cloud, to obtain the first point cloud information prediction list.
[0071] In the embodiments of the present application, the N1 prior values can be updated according to the point cloud information of the encoded nodes in the target point cloud, or part of the N1 prior values can be updated.
[0072] Through the analysis of the spatial distribution of the point cloud, it can be known that when the multi-ary tree division of the sparse point cloud is divided to a certain level, the points in the space are relatively dense, and the information thereof is usually similar. Therefore, for this case, the information of the encoded points before the to-be-encoded point in the point cloud needs to be saved into a prediction list by using some auxiliary information, and then a suitable value can be selected from the prediction list to predict the information of the current point according to a certain rule.
[0073] Optionally, the updating the prior values according to the point cloud information of the encoded nodes in the target point cloud comprises:
[0074] The first item: in a case where the information value or the prediction residual of the point cloud information of the first encoded node is greater than a first preset threshold, the first prior value is updated to a maximum prediction value corresponding to the current to-be-encoded node, the first prior value being any one of the prior values in the first point cloud information prediction list, and the first encoded node being the K0th encoded node located before the current to-be-encoded node, K0 being a positive integer;
[0075] Or, the second item: the first prior value is updated to the point cloud information of the second encoded node, the second encoded node being the K1th encoded node located before the current to-be-encoded node, K1 being a positive integer;
[0076] Or, the third item: updating the first priori value as a first target point cloud information, the first target point cloud information being determined according to the point cloud information of the second encoded node and the point cloud information of a third encoded node, the third encoded node being a K2th encoded node located before the current to-be-encoded node, K2 being a positive integer;
[0077] Or, the fourth item: updating the first priori value as a first target geometry information, the first target geometry information being determined according to the geometry information of all encoded nodes in the target point cloud;
[0078] Or, the fifth item: updating the first priori value as the point cloud information corresponding to a fourth encoded node, the fourth encoded node being a node in the target point cloud which is closest to the current to-be-encoded node in terms of geometry distance, the target point cloud being a node corresponding to the 1st encoding layer to the M-1st encoding layer of the target point cloud, L being the total number of encoding layers included in the target point cloud, M being an encoding layer in the target point cloud at which the prediction encoding is started, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
[0079] Specifically, for the first item, if the information value or the prediction residual of the point cloud information of the first encoded node is greater than a first preset threshold, the first priori value is updated as a maximum prediction value corresponding to the current to-be-encoded node, the maximum prediction value being related to M, and specifically, the maximum prediction value can be 2 M -1. If the information value or the prediction residual of the point cloud information of the first encoded node is less than or equal to the first preset threshold, the first priori value is not updated.
[0080] For the third item, the first target point cloud information can be a weighted average of the point cloud information of the second encoded node and the point cloud information of the third encoded interface.
[0081] For the fourth item, the first target geometry information can be determined according to the average of the geometry information of all encoded nodes in the target point cloud, for example, after the geometry information of N points is encoded each time, the average of the geometry information of the N points is calculated and taken as the first target geometry information.
[0082] The updating process of the priori value will be described below in combination with a specific embodiment.
[0083] Suppose the size of the first point cloud information prediction list is equal to 4, that is, the point cloud information of 4 coded nodes is included. First, an initial point cloud information prediction list is constructed, in which 4 prior values, for example, P0, P1, P2 and P3, are filled. Then, the point cloud information of the coded nodes is used to update. The above prior values can be the minimum prediction values corresponding to the coded nodes, for example, 0.
[0084] The same update mode can be used to update P0, P1, P2 and P3, for example, the above first update mode is used to update all of them, or different update modes can be used to update them, for example, the above first update mode is used to update P0, the above second update mode is used to update P1, the above third update mode is used to update P2, and the above fourth update mode is used to update P3.
[0085] Suppose P0 is the value of the first position in the prediction list, P1 is the value of the second position in the prediction list, P2 is the value of the third position in the prediction list, and P3 is the value of the fourth position in the prediction list. Specifically, for P0, if the information value or the prediction residual of the point cloud information of the first coded node is greater than the first preset threshold, the value corresponding to P0 is updated to the maximum prediction value corresponding to the current to-be-coded node, otherwise, the value corresponding to P0 is not updated; for P1, as shown in the following formula, the point cloud information of the K1th coded node located before the current to-be-coded node is inserted into the position corresponding to P1. Figure 6 For P2, as shown in the following formula, the point cloud information of the K2th coded node located before the current to-be-coded node is inserted into the position corresponding to P2; for P3, the weighted average value of the point cloud information corresponding to P1 and the point cloud information corresponding to P2 is calculated, and the obtained weighted average value is inserted into the position corresponding to P3. Figure 7 For P2, as shown in the following formula, the point cloud information of the K2th coded node located before the current to-be-coded node is inserted into the position corresponding to P2; for P3, the weighted average value of the point cloud information corresponding to P1 and the point cloud information corresponding to P2 is calculated, and the obtained weighted average value is inserted into the position corresponding to P3.
[0086] It should be noted that in the embodiments of the present application, when parallel encoding and decoding is not started, the prediction list construction process of point cloud geometry information is the same as that when parallel encoding and decoding is started. The prediction list of point cloud attribute information can be constructed and updated using the reconstructed geometry information as auxiliary information.
[0087] Optionally, the second attribute information prediction list is determined according to the reconstructed geometry information, including:
[0088] S1 coded node sets are determined, each coded node set including at least one coded node, S1 being a positive integer, S1 being determined according to the size of the second attribute information prediction list;
[0089] In each set of encoded nodes, find the target encoded node that is geometrically closest to the current node to be encoded;
[0090] Based on the attribute information of the target encoded node, a second attribute information prediction list is determined.
[0091] In this embodiment of the application, an initial attribute information prediction list is first constructed (its size is initialized and some prior values are filled in), and then the initial attribute information prediction list is updated based on the attribute information of the target encoded node to obtain a second attribute information prediction list.
[0092] Specifically, first, a search range (attrSearchRange) is defined. Then, this search range is divided into S1 intervals (i.e., S1 sets of encoded nodes), where S1 is the predicted list based on the second attribute information.
[0093] The size is determined; for example, if the second attribute information prediction list contains 4 values, then S1 is 4, and the second attribute...
[0094] If the sex information prediction list contains 5 values, then S1 is 5. Assuming S1 is 4, the four intervals mentioned above are represented by attrSearchRange0, attrSearchRange1, attrSearchRange2, and attrSearchRange3, respectively. Figure 8 As shown, the target encoded node that is closest to the geometric spatial location of the current node to be encoded is found in each of the four intervals, and its attribute information is used to update the second attribute information prediction list. For example, the attribute information of the encoded node found in attrSearchRange0 is used to update the first value in the second attribute information prediction list, the attribute information of the encoded node found in attrSearchRange1 is used to update the second value, the attribute information of the encoded node found in attrSearchRange2 is used to update the third value, and the attribute information of the encoded node found in attrSearchRange3 is used to update the fourth value. That is, the attribute information of the encoded node found in each interval corresponds to a value in the second attribute information prediction list.
[0095] As an optional implementation, the step of predicting and encoding the nodes to be encoded in the target point cloud based on the first point cloud information prediction list includes:
[0096] Based on the first point cloud information prediction list, the optimal prediction mode is determined, wherein different point cloud information in the first prediction list corresponds to different prediction modes.
[0097] performing prediction processing on the current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node;
[0098] respectively encode the optimal prediction mode and the prediction residual.
[0099] The optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information selected from encoded point cloud information in the prediction list.
[0100] In the embodiment of the application, the optimal prediction mode is selected from the first point cloud information prediction list, the point cloud information of the current to-be-encoded node is predicted based on the optimal prediction mode, a prediction residual is obtained, and then the optimal prediction mode and the prediction residual corresponding to the current to-be-encoded node are encoded.
[0101] Optionally, the encoding processing on the optimal prediction mode comprises:
[0102] The encoding processing on the optimal prediction mode is performed according to a prediction mode of an encoded node in the target point cloud.
[0103] Here, first, the prediction mode predMode of the encoded node before the current to-be-encoded node is obtained, and predMode is used as auxiliary information for context design, that is, predMode is used as a context of the prediction mode encoding of the information of the current to-be-encoded node, and the optimal prediction mode is encoded.
[0104] As another optional implementation manner, the prediction encoding on the to-be-encoded node in the target point cloud according to the first point cloud information prediction list comprises:
[0105] The optimal prediction mode is determined according to the first point cloud information prediction list, wherein different point cloud information in the first prediction list corresponds to different prediction modes.
[0106] performing prediction processing on the current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node;
[0107] The prediction residual is encoded.
[0108] The optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information selected from encoded point cloud information in the prediction list.
[0109] The determination manner of the optimal prediction mode in the embodiment of the application comprises the following two manners:
[0110] In the first encoding case, the optimal prediction mode is the prediction mode corresponding to the target point cloud information in the prediction list, and the target point cloud information is the point cloud information in the prediction list with the smallest bitstream estimation. In the second encoding case, the optimal prediction mode is determined according to the point cloud information of the previously encoded points.
[0111] The manner of determining the optimal prediction mode in the second encoding case will be described in detail below in combination with a specific embodiment.
[0112] Suppose the size of the current prediction list is 5, the manner of updating the optimal prediction mode through the point cloud information of the previously encoded points is as follows:
[0113] (1) The point cloud reconstruction value of the previous encoded point is compared with the threshold th0. If the value is greater than the threshold th0, the optimal prediction mode is selected as 1, that is, the first value in the prediction list is selected as the prediction value of the current to-be-encoded point. Otherwise, the following judgment is performed.
[0114] (2) The point cloud information prediction residual value of the previous encoded point is compared with the threshold th1. If the value is greater than the threshold th1, the optimal prediction mode is selected as 2, that is, the second value in the prediction list is selected as the prediction value of the current to-be-encoded point. Otherwise, the following judgment is performed.
[0115] (3) The residual of the point cloud information reconstruction values of two points in the previously encoded points is compared with the threshold th2. If the value is greater than the threshold th2, the optimal prediction mode is selected as 3, that is, the third value in the prediction list is selected as the prediction value of the current to-be-encoded point. Otherwise, the following judgment is performed.
[0116] (4) The signs of the residuals of the point cloud information reconstruction values of multiple points in the previously encoded points are compared. If the signs are the same, the optimal prediction mode is selected as 4, that is, the fourth value in the prediction list is selected as the prediction value of the current to-be-encoded point. Otherwise, the optimal prediction mode is selected as 5, that is, the fifth value in the prediction list is selected as the prediction value of the current to-be-encoded point.
[0117] For the first encoding case, the optimal prediction mode and the prediction residual are encoded respectively. For the second encoding case, the prediction residual is encoded.
[0118] Optionally, the encoding of the prediction residual comprises:
[0119] obtaining the effective bit number of the prediction residual of the current to-be-encoded node according to the maximum value of the current to-be-encoded node and the point cloud information corresponding to the optimal prediction mode;
[0120] According to the effective bit number, the prediction residual is encoded.
[0121] Here, the maximum value of the current to-be-encoded node can be determined according to the number of encoding layers in which the prediction encoding is enabled in the target point cloud, for example, if the prediction encoding is enabled in the Mth encoding layer of the target point cloud, the maximum value of the current to-be-encoded node is 2 M -1. Before encoding the prediction residual of the current to-be-encoded node, the effective bit number of the prediction residual of the current to-be-encoded node is calculated using the maximum value of the current to-be-encoded node and the point cloud information corresponding to the optimal prediction mode, and then the prediction residual is encoded according to the effective bit number using the existing effective bit number encoding method.
[0122] The point cloud encoding method of the embodiment of the application predicts the point cloud information (geometric information and attribute information) by establishing a first point cloud information prediction list and selecting the best prediction mode, then encodes the prediction mode of the current to-be-encoded node using the prediction mode of the previously encoded node as auxiliary information, and calculates the effective bit number of the prediction residual of the current to-be-encoded node according to the maximum value of the point cloud information and the prediction value (the point cloud information corresponding to the optimal prediction mode) of the current to-be-encoded node, and encodes the prediction residual based on the effective bit number.
[0123] The point cloud encoding method of the embodiment of the application determines a first point cloud information prediction list, the first point cloud information prediction list includes the point cloud information of the encoded nodes in the target point cloud, and based on the first point cloud information prediction list, the to-be-encoded nodes in the target point cloud are predicted and encoded. The encoding method uses the point cloud information of the encoded nodes in the first point cloud information prediction list to predict and encode the to-be-encoded nodes, without searching for the placeholder information of the neighbor nodes, reducing the search complexity of the neighbor nodes, and without the need to save a large amount of placeholder information of the neighbor nodes, effectively reducing the memory overhead and improving the encoding efficiency.
[0124] As shown in Figure 9 The embodiment of the application also provides a point cloud decoding method, which comprises:
[0125] Step 901: decoding the target code stream to obtain the decoding information of the to-be-decoded node in the target code stream, the decoding information including the prediction residual of the to-be-decoded node and the prediction mode of the to-be-decoded node, or the decoding information including the prediction residual of the to-be-decoded node, the target code stream being obtained after encoding the nodes in the target point cloud.
[0126] Step 902: determining a second point cloud information prediction list, the second point cloud information prediction list including the point cloud information of the decoded nodes in the target code stream.
[0127] wherein the decoded node's point cloud information comprises geometry information and attribute information of the decoded node.
[0128] Step 903: obtaining the point cloud information corresponding to the node to be decoded according to the second point cloud information prediction list and the decoding information.
[0129] Here, for the first encoding case, the decoding end reconstructs the point cloud information of the node to be decoded according to the decoded prediction mode and the prediction residual, and uses the second point cloud information prediction list to obtain the reconstructed point cloud information. Specifically, the corresponding prediction value is selected in the second point cloud information prediction list according to the decoded prediction mode, and the point cloud information is reconstructed based on the prediction value and the prediction residual. For the second encoding case, the decoding end reconstructs the point cloud information of the node to be decoded according to the decoded prediction residual, the prediction mode inferred from the point cloud information of the coded point, and the second point cloud information prediction list, and obtains the reconstructed point cloud information.
[0130] The point cloud decoding method of the embodiment of the application decodes the target code stream to obtain decoding information of a node to be decoded in the target code stream, the decoding information comprising a prediction residual of the node to be decoded and a prediction mode of the node to be decoded, or the decoding information comprising a prediction residual of the node to be decoded; a second point cloud information prediction list is determined; and the point cloud information corresponding to the node to be decoded is obtained according to the second point cloud information prediction list and the decoding information. In this way, the search complexity of the neighbor nodes is reduced without searching for the related information of the neighbor nodes, a large amount of information of the neighbor nodes does not need to be saved, the memory overhead is effectively reduced, and the decoding efficiency is improved.
[0131] Optionally, the decoding processing of the target code stream comprises:
[0132] In a case where the first parameter indicates that the prediction decoding is performed and the second parameter indicates that the prediction decoding is enabled at the Mth decoding layer of the target code stream, the nodes to be decoded corresponding to the Mth to Lth decoding layers of the target code stream are decoded.
[0133] wherein L is the total number of decoding layers contained in the target code stream, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
[0134] Optionally, the decoding processing of the target code stream comprises:
[0135] In a case where the third parameter indicates that the low-latency decoding is enabled, the nodes to be decoded corresponding to the L coding layers of the target code stream are decoded.
[0136] Wherein, L is the total number of decoding layers contained in the target bitstream, L is a positive integer greater than 1.
[0137] Optionally, the determining the second point cloud information prediction list comprises at least one of the following:
[0138] In a case where the fourth parameter indicates that the geometry information and the attribute information are decoded in parallel, determining the second geometry information prediction list and the second attribute information prediction list;
[0139] In a case where the fourth parameter indicates that the geometry information and the attribute information are not decoded in parallel, determining the second geometry information prediction list, and determining the third attribute information prediction list according to the reconstructed geometry information.
[0140] Optionally, the determining the second point cloud information prediction list comprises:
[0141] Constructing an initial point cloud information prediction list, the initial point cloud information prediction list comprising N2 prior values, N2 being a positive integer;
[0142] Updating the prior values according to the point cloud information of the decoded nodes in the target bitstream to obtain the second point cloud information prediction list.
[0143] Optionally, the updating the prior values according to the point cloud information of the decoded nodes in the target bitstream comprises:
[0144] In a case where the information value or the prediction residual of the point cloud information of the first decoded node is greater than a second preset threshold, updating a second prior value to a maximum prediction value corresponding to the current to-be-decoded node, the second prior value being any one of the prior values in the second point cloud information prediction list, the first decoded node being a K3th decoded node located before the current to-be-decoded node, K3 being a positive integer;
[0145] Or, updating the first prior value to the point cloud information of a second decoded node, the second decoded node being a K4th decoded node located before the current to-be-decoded node, K4 being a positive integer;
[0146] Or, updating the first prior value to second target point cloud information, the second target point cloud information being determined according to the point cloud information of the second decoded node and the point cloud information of a third decoded node, the third decoded node being a K5th decoded node located before the current to-be-decoded node, K5 being a positive integer;
[0147] Or, updating the first prior value to second target geometry information, the second target geometry information being determined according to the geometry information of all the decoded nodes in the target point cloud;
[0148] Or, the first prior value is updated to the point cloud information corresponding to the fourth decoded node, the fourth decoded node being the node closest to the current to-be-decoded node in geometric distance among target nodes of the target code stream, the target nodes being nodes corresponding to the 1st decoding layer to the M-1th decoding layer of the target code stream, L being the total number of decoding layers contained in the target code stream, M being the decoding layer in the target code stream at which the prediction decoding is started, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
[0149] It should be noted that the establishment and updating process of the second point cloud information prediction list is the same as the establishment and updating process of the first point cloud information prediction list, which will not be repeated here.
[0150] Optionally, the third attribute information prediction list is determined according to the reconstructed geometric information, including:
[0151] S2 decoded node sets are determined, each decoded node set including at least one encoded node, S2 being a positive integer, and S2 being determined according to the size of the third attribute information prediction list;
[0152] A target decoded node closest to the current to-be-decoded node in geometric distance is found in each decoded node set;
[0153] The third attribute information prediction list is determined according to the attribute information of the target decoded node.
[0154] It should be noted that the point cloud decoding method of the embodiments of the present application is a method corresponding to the point cloud encoding method described above, and the specific implementation process is similar to that of the point cloud encoding method described above, which will not be repeated here.
[0155] The point cloud decoding method of the embodiments of the present application decodes the target code stream to obtain the prediction residual of the to-be-decoded node and the prediction mode of the to-be-decoded node in the target code stream, determines the second point cloud information prediction list, and obtains the point cloud information corresponding to the to-be-decoded node according to the second point cloud information prediction list, the prediction residual and the prediction mode. In this way, the related information of the neighbor node does not need to be found, the search complexity of the neighbor node is reduced, a large amount of information of the neighbor node does not need to be saved, the memory overhead is effectively reduced, and the decoding efficiency is improved.
[0156] It should be noted that the point cloud encoding method provided in the embodiments of the present application can be executed by a point cloud encoding device, or a control module in the point cloud encoding device for executing the point cloud encoding method. In the embodiments of the present application, the point cloud encoding device is taken as an example to illustrate the point cloud encoding device provided in the embodiments of the present application.
[0157] As Figure 10As shown, the embodiment of the present application provides a point cloud encoding device 1000, comprising:
[0158] A first determining module 1001 is configured to determine a first point cloud information prediction list, wherein the first point cloud information prediction list comprises point cloud information of encoded nodes in a target point cloud;
[0159] A first processing module 1002 is configured to perform prediction encoding on to-be-encoded nodes in the target point cloud according to the first point cloud information prediction list.
[0160] Optionally, the first processing module is configured to perform prediction encoding on to-be-encoded nodes corresponding to Mth to Lth encoding layers of the target point cloud in a case where a first parameter indicates that prediction encoding is performed and a second parameter indicates that prediction encoding is enabled for the Mth encoding layer of the target point cloud.
[0161] Wherein, L is a total number of encoding layers included in the target point cloud, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
[0162] Optionally, the first processing module is configured to perform prediction encoding on to-be-encoded nodes corresponding to L encoding layers of the target point cloud in a case where a third parameter indicates that low-latency encoding is enabled.
[0163] Wherein, L is a total number of encoding layers included in the target point cloud, and L is a positive integer greater than 1.
[0164] Optionally, the first determining module is configured to perform at least one of the following:
[0165] In a case where a fourth parameter indicates that geometry information and attribute information parallel encoding is enabled, determine a first geometry information prediction list and a first attribute information prediction list.
[0166] In a case where the fourth parameter indicates that geometry information and attribute information parallel encoding is not enabled, determine a first geometry information prediction list, and determine a second attribute information prediction list according to reconstructed geometry information.
[0167] Optionally, the first determining module comprises:
[0168] A first constructing submodule is configured to construct an initial point cloud information prediction list, wherein the initial point cloud information prediction list comprises N1 prior values, and N1 is a positive integer.
[0169] A first updating submodule is configured to update the prior values according to point cloud information of encoded nodes in the target point cloud to obtain the first point cloud information prediction list.
[0170] Optionally, the first updating submodule is configured to update the first prior value to a maximum prediction value corresponding to the current to-be-encoded node, in a case where an information value or a prediction residual of point cloud information of a first encoded node is greater than a first preset threshold, the first prior value being any one prior value in the first point cloud information prediction list, the first encoded node being a K0th encoded node located before the current to-be-encoded node, K0 being a positive integer;
[0171] Or, the first prior value is updated to point cloud information of a second encoded node, the second encoded node being a K1th encoded node located before the current to-be-encoded node, K1 being a positive integer;
[0172] Or, the first prior value is updated to first target point cloud information determined according to the point cloud information of the second encoded node and point cloud information of a third encoded node, the third encoded node being a K2th encoded node located before the current to-be-encoded node, K2 being a positive integer;
[0173] Or, the first prior value is updated to first target geometry information determined according to geometry information of all encoded nodes in the target point cloud;
[0174] Or, the first prior value is updated to point cloud information corresponding to a fourth encoded node, the fourth encoded node being a node closest to the current to-be-encoded node in geometry among target nodes of the target point cloud, the target nodes being nodes corresponding to a first encoding layer to an M-1th encoding layer of the target point cloud, L being a total number of encoding layers included in the target point cloud, M being an encoding layer at which prediction encoding is started in the target point cloud, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
[0175] Optionally, the first determining module comprises:
[0176] A first determining submodule configured to determine S1 encoded node sets, each encoded node set comprising at least one encoded node, S1 being a positive integer, and S1 being determined according to a size of a second attribute information prediction list;
[0177] A first selecting submodule configured to find a target encoded node closest to the current to-be-encoded node in geometry in each encoded node set;
[0178] A second determining submodule configured to determine the second attribute information prediction list according to attribute information of the target encoded node.
[0179] Optionally, the first processing module comprises:
[0180] The third determining sub-module is configured to determine an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first prediction list corresponds to different prediction modes.
[0181] The fourth determining sub-module is configured to perform prediction processing on the current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node.
[0182] The encoding sub-module is configured to perform encoding processing on the optimal prediction mode and the prediction residual respectively.
[0183] Optionally, the optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information with the smallest code stream in the prediction list.
[0184] Optionally, the encoding sub-module is configured to perform encoding processing on the optimal prediction mode according to a prediction mode of an already-encoded node in the target point cloud.
[0185] Optionally, the first processing module comprises:
[0186] The seventh determining sub-module is configured to determine an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first prediction list corresponds to different prediction modes.
[0187] The eighth determining sub-module is configured to perform prediction processing on the current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node.
[0188] The first encoding sub-module is configured to perform encoding processing on the prediction residual.
[0189] Optionally, the optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information selected from point cloud information of already-encoded nodes in the prediction list.
[0190] Optionally, the encoding sub-module comprises:
[0191] The first obtaining unit is configured to obtain an effective bit number of a prediction residual of the current to-be-encoded node according to a maximum value of the current to-be-encoded node and point cloud information corresponding to the optimal prediction mode.
[0192] The encoding unit is configured to perform encoding processing on the prediction residual according to the effective bit number.
[0193] In the embodiments of the present application, a first point cloud information prediction list is determined, the first point cloud information prediction list including point cloud information of coded nodes in a target point cloud, and based on the first point cloud information prediction list, a to-be-coded node in the target point cloud is predicted and coded. The coding manner uses the point cloud information of the coded nodes in the first point cloud information prediction list to predict and code the to-be-coded node, without searching for the placeholder information of the neighbor nodes, reducing the search complexity of the neighbor nodes, and without needing to save a large amount of placeholder information of the neighbor nodes, effectively reducing the memory overhead and improving the coding efficiency.
[0194] The point cloud coding device in the embodiments of the present application can be a device, a device with an operating system, or an electronic device, and can also be a component in a terminal, an integrated circuit, or a chip. The device or the electronic device can be a mobile terminal or a non-mobile terminal.
[0195] The point cloud coding device provided in the embodiments of the present application can achieve Figures 2 to 8 The various processes achieved by the method embodiments and the same technical effects are not repeated here.
[0196] Optionally, as shown in Figure 11 The embodiments of the present application also provide a point cloud coding device, which includes a processor 1101, a memory 1102, a program or instructions stored in the memory 1102 and executable on the processor 1101, and the program or instructions are executed by the processor 1101 to achieve the various processes of the above point cloud coding method embodiments and achieve the same technical effects. To avoid repetition, the details are not repeated here.
[0197] The embodiments of the present application also provide a point cloud coding device, which includes a processor and a communication interface, and the processor is configured to: determine a first point cloud information prediction list, the first point cloud information prediction list including point cloud information of coded nodes in a target point cloud; and predict and code a to-be-coded node in the target point cloud according to the first point cloud information prediction list.
[0198] Figure 12 To achieve the hardware structure of the point cloud coding processing device in the embodiments of the present application, the point cloud coding processing device includes, but is not limited to, at least part of components such as a radio frequency unit 1201, a network module 1202, an audio output unit 1203, an input unit 1204, a sensor 1205, a display unit 1206, a user input unit 1207, an interface unit 1208, a memory 1209, and a processor 1210.
[0199] Those skilled in the art can understand that the point cloud coding processing apparatus 1200 can also include a power supply (such as a battery) for powering each component, and the power supply can be logically connected to the processor 1210 through a power management system, so that the power management system can realize the functions of managing charging, discharging, and power consumption management. Figure 12 The structure shown in the figure does not constitute a limitation on the point cloud coding processing apparatus, and the point cloud coding processing apparatus can include more or fewer components than shown, or combine certain components, or different component arrangements, which are not described here.
[0200] It should be understood that in the embodiments of the present application, the input unit 1204 can include a graphics processor (GPU) 12041 and a microphone 12042. The graphics processor 12041 processes image data of a still picture or a video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 1206 can include a display panel 12061, which can be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 1207 includes a touch panel 12071 and other input devices 12072. The touch panel 12071 is also called a touch screen. The touch panel 12071 can include two parts of a touch detection device and a touch controller. The other input devices 12072 can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, etc., which are not described here.
[0201] In the embodiments of the present application, generally, the radio frequency unit 1201 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.
[0202] The memory 1209 can be used to store software programs or instructions and various data. The memory 1209 can mainly include a storage program or instruction area and a storage data area, wherein the storage program or instruction area can store an operating system, at least one application program or instruction required by a function (such as a sound playing function, an image playing function, etc.), etc. In addition, the memory 1209 can include a high-speed random access memory, and can also include a non-volatile memory, which can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. For example, at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state memory device.
[0203] The processor 1210 can include one or more processing units; optionally, the processor 1210 can integrate an application processor and a modem processor, wherein the application processor mainly processes operating systems, user interfaces, and application programs or instructions, and the modem processor mainly processes wireless communication, such as a baseband processor. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 1210.
[0204] The processor 1210 is configured to determine a first point cloud information prediction list, the first point cloud information prediction list including point cloud information of a coded node in a target point cloud; and perform prediction coding on a to-be-coded node in the target point cloud according to the first point cloud information prediction list.
[0205] Optionally, the processor 1210 is configured to, in a case where a first parameter indicates to perform prediction coding and a second parameter indicates to enable prediction coding at an Mth coding layer of the target point cloud, perform prediction coding on to-be-coded nodes corresponding to Mth to Lth coding layers of the target point cloud.
[0206] Wherein, L is the total number of coding layers included in the target point cloud, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
[0207] Optionally, the processor 1210 is configured to, in a case where a third parameter indicates to enable low-latency coding, perform prediction coding on to-be-coded nodes corresponding to L coding layers of the target point cloud.
[0208] Wherein, L is the total number of coding layers included in the target point cloud, and L is a positive integer greater than 1.
[0209] Optionally, the processor 1210 is configured to perform at least one of the following:
[0210] In a case where a fourth parameter indicates to enable parallel coding of geometry information and attribute information, determine a first geometry information prediction list and a first attribute information prediction list.
[0211] In a case where the fourth parameter indicates not to enable parallel coding of geometry information and attribute information, determine a first geometry information prediction list, and determine a second attribute information prediction list according to reconstructed geometry information.
[0212] Optionally, the processor 1210 is configured to construct an initial point cloud information prediction list, the initial point cloud information prediction list including N1 prior values, N1 being a positive integer; update the prior values according to point cloud information of a coded node in the target point cloud to obtain the first point cloud information prediction list.
[0213] Optionally, the processor 1210 is configured to update the first prior value to a maximum prediction value corresponding to the current to-be-encoded node, in a case where the information value or the prediction residual of the point cloud information of the first encoded node is greater than a first preset threshold, the first prior value being any one prior value in the first point cloud information prediction list, the first encoded node being a K0th encoded node located before the current to-be-encoded node, K0 being a positive integer;
[0214] Or, the first prior value is updated to the point cloud information of a second encoded node, the second encoded node being a K1th encoded node located before the current to-be-encoded node, K1 being a positive integer;
[0215] Or, the first prior value is updated to first target point cloud information determined according to the point cloud information of the second encoded node and the point cloud information of a third encoded node, the third encoded node being a K2th encoded node located before the current to-be-encoded node, K2 being a positive integer;
[0216] Or, the first prior value is updated to first target geometry information determined according to the geometry information of all encoded nodes in the target point cloud;
[0217] Or, the first prior value is updated to the point cloud information corresponding to a fourth encoded node, the fourth encoded node being a node closest to the current to-be-encoded node in geometry among target nodes of the target point cloud, the target nodes being nodes corresponding to the first encoding layer to the M-1th encoding layer of the target point cloud, L being a total number of encoding layers included in the target point cloud, M being an encoding layer at which prediction encoding is started in the target point cloud, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
[0218] Optionally, the processor 1210 is configured to determine S1 encoded node sets, each encoded node set including at least one encoded node, S1 being a positive integer, and S1 being determined according to a size of a second attribute information prediction list;
[0219] Finding a target encoded node closest to the current to-be-encoded node in geometry in each encoded node set;
[0220] Determining the second attribute information prediction list according to attribute information of the target encoded node.
[0221] Optionally, the processor 1210 is configured to determine an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first prediction list corresponds to different prediction modes.
[0222] predict the current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node;
[0223] respectively encode the optimal prediction mode and the prediction residual.
[0224] Optionally, the optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information with the smallest code stream in the prediction list.
[0225] Optionally, the processor 1210 is configured to encode the optimal prediction mode according to a prediction mode of an already-encoded node in the target point cloud.
[0226] Optionally, the processor 1210 is configured to determine an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first prediction list corresponds to different prediction modes; predict a current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node; and encode the prediction residual.
[0227] Optionally, the optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information selected from already-encoded point cloud information in the prediction list.
[0228] Optionally, the processor 1210 is configured to obtain an effective bit number of a prediction residual of a current to-be-encoded node according to a maximum value of the current to-be-encoded node and point cloud information corresponding to the optimal prediction mode.
[0229] Encode the prediction residual according to the effective bit number.
[0230] In the embodiments of the present application, a first point cloud information prediction list is determined, the first point cloud information prediction list includes point cloud information of already-encoded nodes in a target point cloud, and based on the first point cloud information prediction list, a to-be-encoded node in the target point cloud is predicted and encoded. The encoding manner uses the point cloud information of the already-encoded nodes in the first point cloud information prediction list to predict and encode the to-be-encoded node, without the need to search for the occupancy information of neighbor nodes, thereby reducing the search complexity of the neighbor nodes, and without the need to save a large amount of occupancy information of the neighbor nodes, effectively reducing the memory overhead and improving the encoding efficiency.
[0231] It should be noted that the point cloud decoding method provided in the embodiments of the present application can be executed by a point cloud decoding device, or a control module in the point cloud decoding device for executing the point cloud decoding method. In the embodiments of the present application, the point cloud decoding device is taken as an example to illustrate the point cloud decoding device provided in the embodiments of the present application.
[0232] As shown in Figure 13 The embodiments of the present application provide a point cloud decoding device 1300, which comprises:
[0233] A second processing module 1301 is configured to decode a target code stream to obtain decoding information of a to-be-decoded node in the target code stream, wherein the decoding information comprises a prediction residual of the to-be-decoded node and a prediction mode of the to-be-decoded node, or the decoding information comprises a prediction residual of the to-be-decoded node, and the target code stream is obtained by encoding a node in a target point cloud.
[0234] A second determining module 1302 is configured to determine a second point cloud information prediction list, wherein the second point cloud information prediction list comprises point cloud information of a decoded node in the target code stream.
[0235] A first obtaining module 1303 is configured to obtain point cloud information corresponding to the to-be-decoded node according to the second point cloud information prediction list and the decoding information.
[0236] Optionally, the second processing module is configured to, in a case where a first parameter indicates that prediction decoding is performed and a second parameter indicates that prediction decoding is enabled for an Mth decoding layer of the target code stream, decode a to-be-decoded node corresponding to an Mth to Lth decoding layer of the target code stream.
[0237] Wherein, L is a total number of decoding layers included in the target code stream, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
[0238] Optionally, the second processing module is configured to, in a case where a third parameter indicates that low-latency decoding is enabled, decode a to-be-decoded node corresponding to L coding layers of the target code stream.
[0239] Wherein, L is a total number of decoding layers included in the target code stream, and L is a positive integer greater than 1.
[0240] Optionally, the second determining module is configured to perform at least one of the following:
[0241] In a case where a fourth parameter indicates that geometry information and attribute information are decoded in parallel, determine a second geometry information prediction list and a second attribute information prediction list.
[0242] In a case where the fourth parameter indicates that the geometry information and the attribute information are not decoded in parallel, a second geometry information prediction list is determined, and a third attribute information prediction list is determined according to the reconstructed geometry information.
[0243] Optionally, the second determining module comprises:
[0244] The second constructing submodule is configured to construct an initial point cloud information prediction list, the initial point cloud information prediction list comprising N2 prior values, N2 being a positive integer.
[0245] The second updating submodule is configured to update the prior values according to point cloud information of decoded nodes in the target bitstream, to obtain the second point cloud information prediction list.
[0246] Optionally, the second updating submodule is configured to, in a case where an information value or a prediction residual of point cloud information of a first decoded node is greater than a second preset threshold, update a second prior value to a maximum prediction value corresponding to a current to-be-decoded node, the second prior value being any one of the prior values in the second point cloud information prediction list, the first decoded node being a K3th decoded node located before the current to-be-decoded node, K3 being a positive integer.
[0247] Or, update the first prior value to point cloud information of a second decoded node, the second decoded node being a K4th decoded node located before the current to-be-decoded node, K4 being a positive integer.
[0248] Or, update the first prior value to second target point cloud information, the second target point cloud information being determined according to point cloud information of the second decoded node and point cloud information of a third decoded node, the third decoded node being a K5th decoded node located before the current to-be-decoded node, K5 being a positive integer.
[0249] Or, update the first prior value to second target geometry information, the second target geometry information being determined according to geometry information of all decoded nodes in the target point cloud.
[0250] Or, update the first prior value to point cloud information corresponding to a fourth decoded node, the fourth decoded node being a node closest to the current to-be-decoded node in geometry among target nodes of the target point cloud, the target nodes being nodes corresponding to the first decoding layer to the M-1th decoding layer of the target bitstream, L being a total number of decoding layers included in the target bitstream, M being a decoding layer in which prediction decoding is started in the target bitstream, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
[0251] Optionally, the second determining module comprises:
[0252] a fifth determining sub-module, configured to determine S2 decoded node sets, each of which comprises at least one coded node, S2 being a positive integer, S2 being determined according to a size of the third attribute information prediction list;
[0253] a second selecting sub-module, configured to find a target decoded node closest to the current to-be-decoded node in each of the decoded node sets in terms of geometry distance;
[0254] a sixth determining sub-module, configured to determine the third attribute information prediction list according to attribute information of the target decoded node.
[0255] In the embodiments of the present application, a target bitstream is decoded to obtain decoding information of a to-be-decoded node in the target bitstream, the decoding information comprising a prediction residual of the to-be-decoded node and a prediction mode of the to-be-decoded node, or the decoding information comprising a prediction residual of the to-be-decoded node; a second point cloud information prediction list is determined; and point cloud information corresponding to the to-be-decoded node is obtained according to the second point cloud information prediction list and the decoding information. In this way, the related information of neighbor nodes does not need to be searched, the search complexity of neighbor nodes is reduced, a large amount of information of neighbor nodes does not need to be saved, the memory overhead is effectively reduced, and the decoding efficiency is improved.
[0256] The point cloud decoding apparatus in the embodiments of the present application can be an apparatus, an apparatus with an operating system, or an electronic device, and can also be a component in a terminal, an integrated circuit, or a chip. The apparatus or the electronic device can be a mobile terminal or a non-mobile terminal.
[0257] The point cloud decoding apparatus provided in the embodiments of the present application can achieve Figure 9 the processes of the method embodiments and achieve the same technical effects. To avoid repetition, the processes will not be described herein again.
[0258] Optionally, the embodiments of the present application further provide a point cloud decoding apparatus (the structure thereof can be seen from Figure 11 ), comprising a processor, a memory, a program or instructions stored in the memory and executable on the processor, the program or instructions being executed by the processor to implement the processes of the above point cloud decoding method embodiments and achieve the same technical effects. To avoid repetition, the processes will not be described herein again.
[0259] The embodiment of the present application further provides a point cloud decoding device, including a processor and a communication interface, the processor is used for: decoding a target code stream to obtain decoding information of a node to be decoded in the target code stream, the decoding information includes a prediction residual of the node to be decoded and a prediction mode of the node to be decoded, or the decoding information includes the prediction residual of the node to be decoded, and the target code stream is obtained after encoding a node in a target point cloud; determining a second point cloud information prediction list, the second point cloud information prediction list includes point cloud information of a decoded node in the target code stream; and obtaining point cloud information corresponding to the node to be decoded according to the second point cloud information prediction list and the decoding information.
[0260] The embodiment of the present application further provides a point cloud decoding device, and a hardware structure diagram of the point cloud decoding device can be seen from Figure 12 The point cloud decoding device includes, but is not limited to, at least part of components such as a radio frequency unit, a network module, an audio output unit, an input unit, a sensor, a display unit, a user input unit, an interface unit, a memory, and a processor.
[0261] Those skilled in the art can understand that the point cloud decoding device can further include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. Figure 12 It should be understood that the structure shown in the figure does not constitute a limitation on the point cloud decoding device, and the point cloud decoding device can include more or fewer components than the figure, or combine certain components, or different component arrangements, which are not described here.
[0262] It should be understood that in the embodiment of the present application, the input unit can include a graphics processing unit (GPU) and a microphone, and the graphics processing unit processes image data of a still picture or a video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit can include a display panel, which can be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit includes a touch panel and other input devices. The touch panel is also called a touch screen. The touch panel can include a touch detection device and a touch controller. The other input devices can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, etc., which are not described here.
[0263] In the embodiment of the present application, generally, the radio frequency unit includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.
[0264] The memory can be used to store software programs or instructions and various data. The memory can mainly include a program or instruction storage area and a data storage area, wherein the program or instruction storage area can store an operating system, application programs or instructions required by at least one function (such as a sound playing function, an image playing function, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, which can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. For example, at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state memory device.
[0265] The processor can include one or more processing units; optionally, the processor can integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and application programs or instructions, etc., and the modem processor mainly processes wireless communication, such as a baseband processor. It can be understood that the above-mentioned modem processor can also not be integrated into the processor.
[0266] The processor is configured to perform decoding processing on a target code stream to obtain decoding information of a to-be-decoded node in the target code stream, the decoding information including a prediction residual of the to-be-decoded node and a prediction mode of the to-be-decoded node, or the decoding information including a prediction residual of the to-be-decoded node, the target code stream being obtained by performing encoding processing on nodes in a target point cloud; determine a second point cloud information prediction list, the second point cloud information prediction list including point cloud information of decoded nodes in the target code stream; and obtain point cloud information corresponding to the to-be-decoded node according to the second point cloud information prediction list and the decoding information.
[0267] Optionally, the processor is further configured to, in a case where the first parameter indicates to perform prediction decoding and the second parameter indicates to enable prediction decoding at an Mth decoding layer of the target code stream, perform decoding processing on to-be-decoded nodes corresponding to Mth to Lth decoding layers of the target code stream.
[0268] wherein L is a total number of decoding layers included in the target code stream, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
[0269] Optionally, the processor is further configured to, in a case where the third parameter indicates to enable low-latency decoding, perform decoding processing on to-be-decoded nodes corresponding to L encoding layers of the target code stream.
[0270] Wherein, L is the total number of decoding layers contained in the target bitstream, and L is a positive integer greater than 1.
[0271] Optionally, the processor is further configured to perform at least one of the following:
[0272] In a case where the fourth parameter indicates that the geometry information and the attribute information are decoded in parallel, the second geometry information prediction list and the second attribute information prediction list are determined.
[0273] In a case where the fourth parameter indicates that the geometry information and the attribute information are not decoded in parallel, the second geometry information prediction list is determined, and the third attribute information prediction list is determined according to the reconstructed geometry information.
[0274] Optionally, the processor is further configured to construct an initial point cloud information prediction list, the initial point cloud information prediction list comprising N2 prior values, N2 being a positive integer; and update the prior values according to point cloud information of decoded nodes in the target bitstream to obtain the second point cloud information prediction list.
[0275] Optionally, the processor is further configured to update a second prior value to a maximum prediction value corresponding to the current to-be-decoded node in a case where an information value or a prediction residual of point cloud information of a first decoded node is greater than a second preset threshold, the second prior value being any one of the prior values in the second point cloud information prediction list, the first decoded node being a K3th decoded node located before the current to-be-decoded node, K3 being a positive integer.
[0276] Or, update the first prior value to point cloud information of a second decoded node, the second decoded node being a K4th decoded node located before the current to-be-decoded node, K4 being a positive integer.
[0277] Or, update the first prior value to second target point cloud information determined according to point cloud information of the second decoded node and point cloud information of a third decoded node, the third decoded node being a K5th decoded node located before the current to-be-decoded node, K5 being a positive integer.
[0278] Or, update the first prior value to second target geometry information determined according to geometry information of all decoded nodes in the target point cloud.
[0279] Or, the first prior value is updated to the point cloud information corresponding to a fourth decoded node, the fourth decoded node being a node in target nodes of the target point cloud that is closest in geometric distance to the current to-be-decoded node, the target nodes being nodes corresponding to the 1st decoding layer to the M-1th decoding layer of the target code stream, L being a total number of decoding layers contained in the target code stream, M being a decoding layer in the target code stream that starts prediction decoding, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
[0280] Optionally, the processor is further configured to determine S2 decoded node sets, each of the decoded node sets including at least one encoded node, S2 being a positive integer, and S2 being determined according to a size of a third attribute information prediction list.
[0281] Finding, in each of the decoded node sets, a target decoded node closest in geometric distance to the current to-be-decoded node.
[0282] Determining, according to attribute information of the target decoded node, the third attribute information prediction list.
[0283] The point cloud decoding apparatus according to the embodiments of the present application decodes a target code stream to obtain decoding information of a to-be-decoded node in the target code stream, the decoding information including a prediction residual of the to-be-decoded node and a prediction mode of the to-be-decoded node, or the decoding information including a prediction residual of the to-be-decoded node; a second point cloud information prediction list is determined; and according to the second point cloud information prediction list and the decoding information, point cloud information corresponding to the to-be-decoded node is obtained. In this way, without searching for related information of neighbor nodes, the search complexity of the neighbor nodes is reduced, and without needing to save a large amount of information of the neighbor nodes, the memory overhead is effectively reduced, and the decoding efficiency is improved.
[0284] The embodiments of the present application further provide a readable storage medium, the readable storage medium storing a program or instructions, the program or instructions being executed by a processor to implement each process of the point cloud encoding method or the point cloud decoding method embodiments and achieve the same technical effects. To avoid repetition, details are not described herein.
[0285] The processor is the processor in the point cloud encoding apparatus or the point cloud decoding apparatus in the above embodiments. The readable storage medium includes a computer readable storage medium, such as a computer readable memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, etc.
[0286] The chip provided by the embodiment of the present application also includes a processor and a communication interface, the communication interface is coupled with the processor, the processor is used to run programs or instructions, realizes each process of the point cloud decoding method or the point cloud encoding method, and can achieve the same technical effects. To avoid repetition, it will not be described here.
[0287] It should be understood that the chip mentioned in the embodiment of the present application can also be referred to as a system chip, a system chip, a chip system or a system on chip, etc.
[0288] It should be noted that in this paper, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "includes a" does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the method and device in the embodiment of the present application is not limited to the order of functions shown or discussed, but can also include functions performed in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method can be performed in an order different from the described order, and various steps can also be added, omitted or combined. In addition, the features described with reference to some examples can be combined in other examples.
[0289] From the above description of the embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment method can be realized by software and necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), including a plurality of instructions for making a terminal (which can be a mobile phone, computer, server or network equipment, etc.) execute the method described in each embodiment of the present application.
[0290] The embodiments of the present application are described above in combination with the drawings, but the present application is not limited to the above-mentioned specific embodiments, the above-mentioned specific embodiments are only illustrative, not restrictive, and those skilled in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the protection scope of the claims.
Claims
1. A point cloud encoding method, characterized by, The method comprises the following steps: determining a first point cloud information prediction list, the first point cloud information prediction list comprising point cloud information of coded nodes in a target point cloud; predictively encoding a node to be coded in the target point cloud according to the first point cloud information prediction list; wherein the predictively encoding the node to be coded in the target point cloud according to the first point cloud information prediction list comprises: determining an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first point cloud information prediction list corresponds to different prediction modes; performing prediction processing on a current node to be coded according to the optimal prediction mode to obtain a prediction residual corresponding to the current node to be coded; respectively encoding the optimal prediction mode and the prediction residual; alternatively, the predictively encoding the node to be coded in the target point cloud according to the first point cloud information prediction list comprises: determining an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first point cloud information prediction list corresponds to different prediction modes; performing prediction processing on a current node to be coded according to the optimal prediction mode to obtain a prediction residual corresponding to the current node to be coded; encoding the prediction residual.
2. The method of claim 1, wherein, The predictively encoding the node to be coded in the target point cloud comprises: in a case where a first parameter indicates that predictively encoding is performed and a second parameter indicates that predictively encoding is enabled at an Mth coding layer of the target point cloud, predictively encoding nodes corresponding to Mth to Lth coding layers of the target point cloud; wherein L is a total number of coding layers included in the target point cloud, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
3. The method of claim 1, wherein, The predictively encoding the node to be coded in the target point cloud comprises: in a case where a third parameter indicates that low-latency encoding is enabled, predictively encoding nodes corresponding to L coding layers of the target point cloud; wherein L is a total number of coding layers included in the target point cloud, and L is a positive integer greater than 1.
4. The method of claim 1, wherein, The determining the first point cloud information prediction list comprises at least one of the following: in a case where a fourth parameter indicates that geometry information and attribute information parallel encoding is enabled, determining a first geometry information prediction list and a first attribute information prediction list; in a case where the fourth parameter indicates that geometry information and attribute information parallel encoding is not enabled, determining a first geometry information prediction list and a second attribute information prediction list according to reconstructed geometry information.
5. The method of claim 1, wherein, The determining the first point cloud information prediction list comprises: constructing an initial point cloud information prediction list, the initial point cloud information prediction list comprising N1 prior values, N1 being a positive integer; updating the prior values according to point cloud information of coded nodes in the target point cloud to obtain the first point cloud information prediction list.
6. The method of claim 5, wherein, The updating the prior values according to point cloud information of coded nodes in the target point cloud comprises: In a case where an information value of point cloud information of a first coded node or a prediction residual is greater than a first preset threshold, a first prior value is updated to a maximum prediction value corresponding to a current to-be-coded node, the first prior value is any one prior value in the first point cloud information prediction list, and the first coded node is a K0th coded node located before the current to-be-coded node, K0 being a positive integer; Or, the first prior value is updated to point cloud information of a second coded node, the second coded node being a K1th coded node located before the current to-be-coded node, K1 being a positive integer; Or, the first prior value is updated to first target point cloud information determined according to the point cloud information of the second coded node and point cloud information of a third coded node, the third coded node being a K2th coded node located before the current to-be-coded node, K2 being a positive integer; Or, the first prior value is updated to first target geometry information determined according to geometry information of all coded nodes in the target point cloud; Or, the first prior value is updated to point cloud information corresponding to a fourth coded node, the fourth coded node being a node closest to the current to-be-coded node in geometry in target nodes of the target point cloud, the target nodes being nodes corresponding to a first coding layer to an M-1th coding layer of the target point cloud, L being a total number of coding layers included in the target point cloud, M being a coding layer at which prediction coding is started in the target point cloud, L being a positive integer greater than 1, and M being a positive integer less than or equal to L.
7. The method of claim 4, wherein, The second attribute information prediction list is determined according to the reconstructed geometry information, including: S1 coded node sets are determined, each coded node set including at least one coded node, S1 being a positive integer, and S1 being determined according to a size of the second attribute information prediction list; A target coded node closest to the current to-be-coded node in geometry is found in each coded node set; The second attribute information prediction list is determined according to attribute information of the target coded node.
8. The method of claim 1, wherein, In a case where the optimal prediction mode and the prediction residual are respectively encoded, the optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information with a minimum code stream estimation in the prediction list.
9. The method of claim 1, wherein, The optimal prediction mode is encoded, including: The optimal prediction mode is encoded according to prediction modes of coded nodes in the target point cloud.
10. The method of claim 1, wherein, In a case where the prediction residual is encoded, the optimal prediction mode is a prediction mode corresponding to target point cloud information in the prediction list, and the target point cloud information is point cloud information selected from point cloud information of coded points.
11. The method of claim 1, wherein, The prediction residual is encoded, including: An effective bit number of the prediction residual of the current to-be-coded node is obtained according to a maximum value of the current to-be-coded node and point cloud information corresponding to the optimal prediction mode. According to the effective bit number, the prediction residual is encoded.
12. A point cloud decoding method, comprising: Comprise: Decode the target code stream to obtain decoding information of a node to be decoded in the target code stream, the decoding information comprising a prediction residual of the node to be decoded and a prediction mode of the node to be decoded, or the decoding information comprising the prediction residual of the node to be decoded, the target code stream being obtained after encoding nodes in a target point cloud; Determine a second point cloud information prediction list, the second point cloud information prediction list comprising point cloud information of decoded nodes in the target code stream; According to the second point cloud information prediction list and the decoding information, obtain point cloud information corresponding to the node to be decoded; Wherein, according to the second point cloud information prediction list and the decoding information, the point cloud information corresponding to the node to be decoded is obtained, comprising: When the decoding information comprises the prediction residual of the node to be decoded and the prediction mode of the node to be decoded, reconstruct the point cloud information of the node to be decoded according to the prediction residual, the prediction mode and the second point cloud information prediction list, to obtain reconstructed point cloud information; Or, when the decoding information comprises the prediction residual of the node to be decoded, reconstruct the point cloud information of the node to be decoded according to the prediction residual, the prediction mode determined by the point cloud information of the decoded nodes and the second point cloud information prediction list, to obtain reconstructed point cloud information.
13. The method of claim 12, wherein, The decoding process of the target code stream comprises: In the case that the first parameter indicates that the prediction decoding is performed, and the second parameter indicates that the prediction decoding is enabled at the Mth decoding layer of the target code stream, decode the nodes to be decoded corresponding to the Mth to Lth decoding layers of the target code stream; Wherein, L is the total number of decoding layers contained in the target code stream, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
14. The method of claim 12, wherein, The decoding process of the target code stream comprises: In the case that the third parameter indicates that the low latency decoding is enabled, decode the nodes to be decoded corresponding to the L decoding layers of the target code stream; Wherein, L is the total number of decoding layers contained in the target code stream, and L is a positive integer greater than 1.
15. The method of claim 12, wherein, The determination of the second point cloud information prediction list comprises at least one of the following: In the case that the fourth parameter indicates that the geometry information and attribute information parallel decoding is enabled, determine a second geometry information prediction list and a second attribute information prediction list; In the case that the fourth parameter indicates that the geometry information and attribute information parallel decoding is not enabled, determine a second geometry information prediction list, and determine a third attribute information prediction list according to the reconstructed geometry information.
16. The method of claim 12, wherein, The determination of the second point cloud information prediction list comprises: Construct an initial point cloud information prediction list, the initial point cloud information prediction list comprising N2 prior values, N2 being a positive integer; Update the prior values according to the point cloud information of the decoded nodes in the target code stream to obtain the second point cloud information prediction list.
17. The method of claim 16, wherein, The updating of the prior values according to the point cloud information of the decoded nodes in the target code stream comprises: In a case where an information value of point cloud information of a first decoded node or a prediction residual is greater than a second preset threshold, a second prior value is updated as a maximum prediction value corresponding to a current to-be-decoded node, the second prior value is any one prior value in the second point cloud information prediction list, the first decoded node is a K3th decoded node located before the current to-be-decoded node, K3 is a positive integer; Or, the second prior value is updated as point cloud information of a second decoded node, the second decoded node is a K4th decoded node located before the current to-be-decoded node, K4 is a positive integer; Or, the second prior value is updated as second target point cloud information determined according to the point cloud information of the second decoded node and point cloud information of a third decoded node, the third decoded node is a K5th decoded node located before the current to-be-decoded node, K5 is a positive integer; Or, the second prior value is updated as second target geometry information determined according to geometry information of all decoded nodes in the target point cloud; Or, the second prior value is updated as point cloud information corresponding to a fourth decoded node, the fourth decoded node is a node closest to the current to-be-decoded node in geometry among target nodes of the target point cloud, the target nodes are nodes corresponding to a first decoding layer to an M-1th decoding layer of the target bitstream, L is a total number of decoding layers included in the target bitstream, M is a decoding layer in which prediction decoding is started in the target bitstream, L is a positive integer greater than 1, and M is a positive integer less than or equal to L.
18. The method of claim 15, wherein, The third attribute information prediction list is determined according to the reconstructed geometry information, including: S2 decoded node sets are determined, each decoded node set including at least one decoded node, S2 being a positive integer and being determined according to a size of the third attribute information prediction list; A target decoded node closest to the current to-be-decoded node in geometry is found in each decoded node set; The third attribute information prediction list is determined according to attribute information of the target decoded node.
19. A point cloud encoding apparatus, comprising: Including: The first determining module is configured to determine a first point cloud information prediction list, the first point cloud information prediction list including point cloud information of encoded nodes in a target point cloud; The first processing module is configured to perform prediction encoding on to-be-encoded nodes in the target point cloud according to the first point cloud information prediction list; The first processing module includes: The third determining submodule is configured to determine an optimal prediction mode according to the first point cloud information prediction list, different point cloud information in the first point cloud information prediction list corresponding to different prediction modes; The fourth determining submodule is configured to perform prediction processing on a current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node; The encoding submodule is configured to perform encoding processing on the optimal prediction mode and the prediction residual respectively; Or, the first processing module includes: A seventh determining sub-module is configured to determine an optimal prediction mode according to the first point cloud information prediction list, wherein different point cloud information in the first point cloud information prediction list corresponds to different prediction modes. An eighth determining sub-module is configured to perform prediction processing on the current to-be-encoded node according to the optimal prediction mode, to obtain a prediction residual corresponding to the current to-be-encoded node. A first encoding sub-module is configured to perform encoding processing on the prediction residual.
20. A point cloud encoding apparatus, comprising: A device includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, and the program or instructions, when executed by the processor, implement the steps of the point cloud encoding method according to any one of claims 1 to 11.
21. A point cloud decoding apparatus, comprising: The device includes: A second processing module is configured to perform decoding processing on a target bitstream to obtain decoding information of a to-be-decoded node in the target bitstream, the decoding information including a prediction residual of the to-be-decoded node and a prediction mode of the to-be-decoded node, or the decoding information including a prediction residual of the to-be-decoded node, the target bitstream being obtained by performing encoding processing on nodes in a target point cloud; A second determining module is configured to determine a second point cloud information prediction list, the second point cloud information prediction list including point cloud information of decoded nodes in the target bitstream; A first obtaining module is configured to obtain point cloud information corresponding to the to-be-decoded node according to the second point cloud information prediction list and the decoding information. The first obtaining module is configured to: when the decoding information includes the prediction residual of the to-be-decoded node and the prediction mode of the to-be-decoded node, reconstruct the point cloud information of the to-be-decoded node according to the prediction residual, the prediction mode, and the second point cloud information prediction list, to obtain reconstructed point cloud information; or when the decoding information includes the prediction residual of the to-be-decoded node, reconstruct the point cloud information of the to-be-decoded node according to the prediction residual, a prediction mode determined through the point cloud information of the decoded nodes, and the second point cloud information prediction list, to obtain reconstructed point cloud information.
22. A point cloud decoding apparatus, comprising: A device includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, and the program or instructions, when executed by the processor, implement the steps of the point cloud decoding method according to any one of claims 12 to 18.
23. A readable storage medium characterized by, The readable storage medium stores a program or instructions, and the program or instructions, when executed by a processor, implement the steps of the point cloud encoding method according to any one of claims 1 to 11 or the steps of the point cloud decoding method according to any one of claims 12 to 18.
Citation Information
Patent Citations
Point cloud attribute encoding and decoding method, device and system based on DCT
CN111953998A
Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021049758A1