Method and computer system for point cloud coding

By reconstructing and decoding the duplicate point attribute values ​​in point cloud data, the problem of low encoding efficiency in the prior art is solved, and more efficient data transmission and storage are achieved.

CN114651191BActive Publication Date: 2025-06-06TENCENT AMERICA LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180006206.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-07-06
Filing Date
2021-07-12
Publication Date
2025-06-06
Estimated Expiration
2041-07-12

AI Technical Summary

Technical Problem

The prior art is difficult to effectively encode the attribute values ​​of duplicate points in a point cloud, resulting in large amount of data and low transmission and storage efficiency.

Method used

By receiving data from the bit stream, the first attribute values ​​of multiple repeating points corresponding to a single geometric position are reconstructed, and the remaining attribute values ​​are reconstructed using the predicted residuals, and the point cloud data is finally decoded.

Benefits of technology

The encoding efficiency of repeating point attribute values ​​is improved, the amount of data is reduced, and the efficiency of transmission and storage is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114651191B_ABST
    Figure CN114651191B_ABST
Patent Text Reader

Abstract

A method, a computer program and a computer system for point cloud encoding are provided. The method includes: receiving data corresponding to a point cloud from a bitstream; reconstructing a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; obtaining at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; reconstructing at least one remaining attribute value based on the reconstructed first attribute and the at least one prediction residual; and decoding the data corresponding to the point cloud based on the reconstructed first attribute value and the reconstructed at least one remaining attribute value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority based on U.S. Provisional Application No. 63 / 070,471 filed in the U.S. Patent and Trademark Office on August 26, 2020, U.S. Provisional Application No. 63 / 120,557 filed on December 2, 2020, and U.S. Application No. 17 / 368,133 filed on July 6, 2021, all of which are incorporated herein by reference in their entirety. Technical Field

[0003] The present disclosure generally relates to data processing techniques, and more particularly to a method and computer system for point cloud encoding. Background Art

[0004] Point clouds have been widely used in recent years. For example, point clouds are used for object detection and localization in autonomous vehicles; point clouds are also used for mapping in Geographic Information Systems (GIS), and in cultural heritage for visualization and archiving of cultural heritage objects and collections. Point clouds contain a set of high-dimensional points, usually three-dimensional (3D), each of which includes 3D position information and additional properties such as color, reflectivity, etc. They can be captured using multiple cameras and depth sensors or lidar in various settings, and may consist of thousands to billions of points to truly represent the original scene. Compression techniques are needed to reduce the amount of data required to represent point clouds for faster transmission or reduced storage.

[0005] Due to many different reasons, a point cloud may contain duplicate points, whose geometric positions are the same, but whose attribute values ​​may be the same or different. Therefore, the technical problem to be solved by the present invention is how to encode these attribute values ​​of duplicate points more effectively. Summary of the invention

[0006] Embodiments relate to methods, systems, and computer-readable media for point cloud encoding. According to one aspect, a method for point cloud encoding is provided. The method may include: receiving data corresponding to a point cloud from a bitstream; reconstructing a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; obtaining at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; reconstructing at least one remaining attribute value based on the reconstructed first attribute value and at least one prediction residual; and decoding the data corresponding to the point cloud based on the reconstructed first attribute value and the reconstructed at least one remaining attribute value.

[0007] According to another aspect, a computer system for point cloud encoding is provided. The computer system may include: one or more computer-readable non-transitory storage media, the one or more computer-readable non-transitory storage media being configured to store computer program code; and one or more processors, the one or more processors being configured to access the computer program code and operate as instructed by the computer program code, the computer program code including: receiving code, the receiving code being configured to cause the one or more processors to receive data corresponding to a point cloud from a bitstream; first reconstruction code, the first reconstruction code being configured to cause the one or more processors to reconstruct a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; obtaining code, the obtaining code being configured to cause the one or more processors to obtain at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; second reconstruction code, the second reconstruction code being configured to cause the one or more processors to reconstruct at least one remaining attribute value based on the reconstructed first attribute value and the at least one prediction residual; and decoding code, the decoding code being configured to cause the one or more processors to decode the data corresponding to the point cloud based on the reconstructed first attribute value and the reconstructed at least one remaining attribute value.

[0008] According to another aspect, a computer system for point cloud encoding is provided, the computer system comprising: a receiving unit, the receiving unit being configured to cause the one or more processors to receive data corresponding to the point cloud from a bitstream; a first reconstruction unit, the first reconstruction unit being configured to cause the one or more processors to reconstruct a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; an obtaining unit, the obtaining unit being configured to cause the one or more processors to obtain at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; a second reconstruction unit, the second reconstruction unit being configured to cause the one or more processors to reconstruct the at least one remaining attribute value based on the reconstructed first attribute value and the at least one prediction residual; and a decoding unit, the decoding unit being configured to cause the one or more processors to decode the data corresponding to the point cloud based on the reconstructed first attribute value and the at least one remaining attribute value reconstructed.

[0009] According to another aspect, a computer-readable medium for point cloud encoding is provided. The computer-readable medium may include one or more computer-readable storage devices and a computer program stored on at least one of the one or more tangible storage devices. The computer program may be configured to cause one or more computer processors to: receive data corresponding to a point cloud from a bitstream; reconstruct a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; obtain at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; reconstruct at least one remaining attribute value based on the reconstructed first attribute value and at least one prediction residual; and decode the data corresponding to the point cloud based on the reconstructed first attribute value and the reconstructed at least one remaining attribute value.

[0010] According to another aspect, a computer device is provided, the device comprising a processor and a memory. The memory is used to store program code and transmit the program code to the processor; the processor is used to perform according to the instructions in the program code: receiving data corresponding to a point cloud from a bitstream; reconstructing a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; obtaining at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; reconstructing at least one remaining attribute value based on the reconstructed first attribute value and the at least one prediction residual; and decoding the data corresponding to the point cloud based on the reconstructed first attribute value and the at least one reconstructed remaining attribute value.

[0011] According to the method and computer system for point cloud encoding provided by the present disclosure, data corresponding to a point cloud is received from a bitstream; a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position is reconstructed based on the data; at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points is obtained; at least one remaining attribute value is reconstructed based on the reconstructed first attribute value and at least one prediction residual; and the data corresponding to the point cloud is decoded based on the reconstructed first attribute value and the reconstructed at least one remaining attribute value. In this way, because attribute encoding is performed after geometric encoding, when encoding the attribute value of a given point, its reconstructed geometric position is known, and such geometric information can be used to improve the encoding efficiency of the attribute, so that these attribute values ​​of the repeated points can be encoded more efficiently. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] These and other objects, features and advantages will become apparent from the following detailed description of illustrative embodiments which is to be read in conjunction with the accompanying drawings. The various features of the drawings are not to scale as the illustrations are for clarity and ease of understanding by those skilled in the art in conjunction with the detailed description. In the drawings:

[0013] Figure 1 illustrates a networked computer environment according to at least one embodiment;

[0014] FIG. 2A to FIG. 2B is a block diagram of a point cloud update system according to at least one embodiment;

[0015] Figure 2C is a graph of a Region Adaptive Hierarchical Transform (RAHT) according to at least one embodiment;

[0016] Figure 2D to Figure 2G is a table of syntax elements of a prediction residual according to at least one embodiment;

[0017] Figure 3 is an operational flow chart illustrating steps performed by a program for point cloud encoding according to at least one embodiment;

[0018] Figure 4 According to at least one embodiment Figure 1 a block diagram of the internal and external components of the computer and server depicted in;

[0019] Figure 5 According to at least one embodiment, Figure 1 A block diagram of an illustrative cloud computing environment for a computer system as depicted in FIG. 1 ; and

[0020] Figure 6 According to at least one embodiment Figure 5 A block diagram of the functional layers of an illustrative cloud computing environment. DETAILED DESCRIPTION

[0021] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it is understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be implemented in various forms. However, those structures and methods may be implemented in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that the disclosure will be comprehensive and complete and will fully convey the scope to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessary confusion in the presented embodiments.

[0022] Embodiments generally relate to the field of data processing, and more particularly to point cloud encoding. The exemplary embodiments described below provide systems, methods, and computer programs using inter-component correlation methods, etc., for encoding point cloud attribute data. Therefore, some embodiments have the ability to improve the computational field by allowing point cloud data to be encoded with point cloud data without the need to find the nearest neighbors of the point cloud data and increase the efficiency of point cloud encoding.

[0023] As mentioned earlier, point clouds have been widely used in recent years. For example, point clouds are used for object detection and localization in autonomous vehicles; point clouds are also used for mapping in geographic information systems (GIS), and in cultural heritage for visualization and archiving of cultural heritage objects and collections. Point clouds contain a set of high-dimensional points, usually three-dimensional (3D), each of which includes 3D position information and additional attributes such as color, reflectivity, etc. They can be captured using multiple cameras and depth sensors or lidar in various settings, and may consist of thousands to billions of points to truly represent the original scene. Compression techniques are needed to reduce the amount of data required to represent the point cloud for faster transmission or reduced storage. In prediction-based attribute encoding, the attributes of the current point are predicted based on the encoded points close to the current point.

[0024] In the TMC13 model, geometric information and associated attributes such as color or reflectivity are compressed separately. The geometric information as the 3D coordinates of the point cloud is encoded by the octree partition and its occupancy information. The attributes are then compressed based on the reconstructed geometric structure using prediction, lifting and regional adaptive hierarchical transformation techniques. However, it may be expensive to find the nearest point for each point in 3D space. Additionally, for lossless and near-lossless coding of multi-channel attributes such as RGB colors, multiple channels are directly processed without color space conversion and are encoded independently. However, there is usually a strong correlation between different color channels, especially in the RGB domain. Not utilizing such correlation may result in performance loss in coding efficiency. Therefore, it may be advantageous to use inter-component correlation.

[0025] Various aspects are described herein with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer-readable media according to various embodiments. It should be understood that each block of the flowchart illustration and / or block diagram and the combination of blocks in the flowchart illustration and / or block diagram can be implemented by computer-readable program instructions.

[0026] Now refer to Figure 1 , a functional block diagram of a networked computer environment shows a point cloud encoding system 100 (hereinafter referred to as a "system") for encoding point cloud data. It should be understood that Figure 1This merely provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0027] System 100 may include computer 102 and server computer 114. Computer 102 may communicate with server computer 114 via communication network 110 (hereinafter referred to as "network"). Computer 102 may include processor 104 and software program 108 stored on data storage device 106 and capable of interfacing with a user and communicating with server computer 114. As will be described below with reference to Figure 4 As discussed, computer 102 may include internal components 800A and external components 900A, respectively, and server computer 114 may include internal components 800B and external components 900B, respectively. Computer 102 may be, for example, a mobile device, a phone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing device capable of running programs, accessing a network, and accessing a database.

[0028] As follows about Figure 5 and 6 As discussed, the server computer 114 may also operate in a cloud computing service model such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). The server computer 114 may also be located in a cloud computing deployment model such as a private cloud, a community cloud, a public cloud, or a hybrid cloud.

[0029] The server computer 114 that can be used for point cloud encoding can run a point cloud encoding program 116 (hereinafter referred to as a "program") that can interact with the database 112. Figure 3 The point cloud encoding program method is described in more detail. In one embodiment, the computer 102 can operate as an input device including a user interface, and the program 116 can run primarily on the server computer 114. In an alternative embodiment, the program 116 can run primarily on one or more computers 102, and the server computer 114 can be used to process and store data used by the program 116. It should be noted that the program 116 can be a stand-alone program or can be integrated into a larger point cloud encoding program.

[0030] However, it should be noted that in some cases, processing for program 116 may be shared in any ratio between computer 102 and server computer 114. In another embodiment, program 116 may operate on more than one computer, server computer, or some combination of computers and server computers, such as multiple computers 102 in communication with a single server computer 114 across network 110. In another embodiment, for example, program 116 may operate on multiple server computers 114 in communication with multiple client computers across network 110. Alternatively, the program may operate on a network server in communication with a server computer and multiple client computers across the network.

[0031] The network 110 may include a wired connection, a wireless connection, a fiber optic connection, or some combination thereof. In general, the network 110 may be any combination of connections and protocols that will support communication between the computer 102 and the server computer 114. The network 110 may include various types of networks, such as a local area network (LAN), a wide area network (WAN) such as the Internet, a telecommunication network such as a public switched telephone network (PSTN), a wireless network, a public switched network, a satellite network, a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a metropolitan area network (MAN), a private network, an ad hoc network, an intranet, a fiber-based network, etc., and / or a combination of these or other types of networks.

[0032] Figure 1 The number and arrangement of devices and networks shown in are provided as examples. In practice, there may be Figure 1 The devices and networks shown in FIG. 1 are additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks. In addition, Figure 1 Two or more of the devices shown in may be implemented in a single device, or Figure 1A single device shown in can be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (eg, one or more devices) of the system 100 can perform one or more functions described as being performed by another set of devices of the system 100.

[0033] Now refer to Figure 2A and Figure 2B , depicts block diagrams 200A and 200B of a point cloud update system. Block diagram 200A may depict a direct or forward transformation in a lifting scheme. Block diagram 200B may depict an inverse transformation in a lifting scheme.

[0034] For prediction-based attribute encoding, let (P i ) i=1…N is a set of locations associated with the point cloud points, and let (M i ) i=1…N For (P i ) i=1…N First, sort the points in ascending order according to their associated Morton codes. Let I be the array of point indices sorted according to this process. The encoder / decoder compresses / decompresses the points respectively according to the order defined by I. At each iteration i, select point P i . Analysis of P i The distance to s (e.g. s=64) previous points, and select P i k (e.g., k=3) nearest neighbors of the attribute value are used for prediction. More precisely, the attribute value (a i ) i∈0…k-1 is predicted by using a linear interpolation process based on the distance to the nearest neighbor of point i. Let is the set of k nearest neighbors of the current point i, and let The decoded / reconstructed attribute value for it, and let The distance from the current point to the predicted attribute value It is given by the following formula 1:

[0035]

[0036] The lifting-based attribute coding is built on the prediction-based coding. Compared with the prediction-based scheme, the main difference is that two additional steps are introduced. The first is the introduction of the update operator. The second is the use of an adaptive quantization strategy.

[0037] Now refer to Figure 2C , depicting a diagram 200C of a region adaptive hierarchical transform (RAHT). The block diagram 200C may depict a forward transform 202A and a reverse transform 202B. For RAHT encoding, and And w 0is the input coefficient F l+1,2n The sign of the weight, and w1 is F l+1,2n+1 The sign of the weight.

[0038] For many different reasons, a point cloud may contain duplicate points whose geometric locations are the same, while their attribute values ​​may or may not be the same. Embodiments may be directed to more efficiently encoding these attribute values ​​for duplicate points.

[0039] The embodiments may be used alone or in combination in any order. In addition, each of the method (or embodiment), encoder, and decoder may be implemented by a processing circuit system (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-transitory computer-readable medium.

[0040] It should be noted that the present disclosure is not limited to TMC13 software or MPEG-PCC or AVS-PCC standards, it is a generic solution for most PCC systems.

[0041] Attribute prediction for duplicate points

[0042] Because attribute coding is performed after geometry coding, when encoding the attribute value of a given point, its reconstructed geometric position is known. Therefore, such geometric information can be used to improve the coding efficiency of the attribute.

[0043] Assume {X i}(i=1,2,…,N) is a set of 3D points, each point X i With geometric position P i and attribute A i Because the implementation may involve attribute encoding, it can be assumed that the geometric position, i.e., P i It is known that the attribute predictions are

[0044] First, the points are sorted / grouped based on their geometric positions. In some embodiments, the points are sorted based on the Morton code of the geometric position. All duplicate points are grouped in chunks, and then all duplicate points are sorted based on their attribute values. Specifically, Contains a set of repeated points, where N k is the number of points in the group and their geometric positions are the same and their attribute values ​​are sorted, for example, in ascending or descending order. Note that in the following discussion, it is assumed that the attribute values ​​are sorted in ascending order, i.e., for the points in 1, 2, ..., N k All l within the range <m, and If the attributes are one-dimensional like reflectance, they can be sorted directly by their values. If the attributes are multi-dimensional like RGB color, the sorting should be performed along a specific dimension (e.g. R or G or B). It should be noted that the sorting step is only applied on the encoder side, while the decoder directly parses the attribute prediction residuals.

[0045] Then, for a block of repeated points sorted by their attribute values, except for the first point in the block, the remaining points in the block are predicted based on the attribute values ​​of their previously reconstructed points in the block. Specifically, is the property of the first point in the chunk, and it can be encoded in any way, which is not the focus of this disclosure. Predictions can be made based on the reconstructed attribute values ​​of previous points, i.e., in Is an attribute The prediction residuals of yes The reconstructed property value of .

[0046] Finally, the prediction residual can be encoded by entropy coding. Since the attribute values ​​are sorted in ascending order, it is guaranteed Therefore, it can be inferred without explicit signaling The sign bit of .

[0047] Interpretation of prediction residuals for repeated points

[0048] The embodiments discussed above may involve encoder viewpoints. Other embodiments may involve prediction residuals of repeated points, i.e. The decoder view of the parsing process.

[0049] In an embodiment, the attribute may be one-dimensional, such as reflectivity. The syntax table for such a prediction residual may be as follows: Figure 2D shown.

[0050] Now refer to Figure 2D, which depicts Table 200D of the syntax elements for the prediction residual. prediction_residual_is_zero may specify whether the prediction residual is equal to 0. prediction_residual_abs_is_one may specify whether the absolute value of the prediction residual is equal to 1. prediction_residual_abs_is_two may specify whether the absolute value of the prediction residual is equal to 2. prediction_residual_abs_minus_three may specify that the absolute value of the prediction residual is prediction_residual_minus_three+3. prediction_residual_sign may specify the sign of the prediction residual. isSignBitInferred may specify whether prediction_residual_sign can be inferred or must be explicitly signaled. isSignBitInferred is set to true if the point has the same geometric position as a previously coded point (i.e., it is a duplicate point).

[0051] In another embodiment, the attribute is multi-dimensional such as RGB color. Assume that the points are sorted in ascending order according to the first R component. The syntax table of such prediction residuals can be as follows: Figure 2E shown.

[0052] Now refer to Figure 2E , which depicts Table 200E of the syntax elements for prediction residuals. prediction_residual_is_zero[i] may specify whether the prediction residual of the i-th component is equal to 0. prediction_residual_abs_is_one[i] may specify whether the absolute value of the prediction residual of the i-th component is equal to 1. prediction_residual_abs_is_two[i] may specify whether the absolute value of the prediction residual of the i-th component is equal to 2. prediction_residual_abs_minus_three[i] may specify that the absolute value of the prediction residual of the i-th component is prediction_residual_minus_three[i]+3. isSignBitInferred may specify whether prediction_residual_sign can be inferred or must be explicitly signaled. isSignBitInferred is set to true if the point has the same geometric position as a previously coded point (i.e., it is a duplicate point). Note that in this embodiment, only the R component is checked with isSignBitInferred because sorting is performed on the R component.

[0053] Lossy attribute encoding

[0054] The embodiments discussed above may involve lossless attribute coding. In lossy attribute coding, the prediction residual May be negative because the property value is reconstructed May be greater than the original property value Therefore, prediction residuals cannot be inferred in lossy attribute coding Otherwise, there will be an encoder-decoder mismatch problem.

[0055] The implementations discussed below can address this mismatch problem in lossy attribute encoding.

[0056] The mismatch problem may be caused by coarse quantization and the inability to infer the prediction residuals. To solve this problem, two methods are proposed. One is to change the prediction (or quantization) method to ensure that the prediction residual is always greater than or equal to zero. Another approach is to encode the sign bit of the prediction residual. Examples of these two approaches are presented below.

[0057] Typically, scalar quantization of the prediction residual can be accomplished by dividing by a quantization scalar and then performing a rounding operation, as shown in Equation 2 below:

[0058] Q=(R*QS+offset)>>shift (Formula 2)

[0059] Among them, R and Q are the prediction residual and quantization residual; QS is the quantization scalar; offset and shift are determined by the value of QS.

[0060] In the implementation method, in order to ensure that the prediction residuals of repeated attributes are always positive, the prediction residuals of all repeated points are The quantization process of is applied by dividing by the quantization scalar and then performing a floor operation, as shown in Equation 3 below:

[0061] Q′=(R*QS)>>shift (Formula 3)

[0062] Among them, the offset value is set to zero.

[0063] In another embodiment, group G k The prediction residual of the first repeated point in is is losslessly coded without quantization, and group G k The prediction residuals of the remaining repeated points in Quantized by (2) and encoded by entropy coding.

[0064] In another embodiment, at the encoder side, if the prediction residual of the repeated point is is detected as negative, it is then forced to be equal to zero and encoded as zero.

[0065] In another embodiment, group G k The prediction residual of the first repeated point in is is losslessly encoded without quantization. If group G k The prediction residuals of the remaining repeated points in is detected as negative, it is set to zero and encoded as zero.

[0066] Method for encoding the sign bit of a repeated residual

[0067] If the prediction residuals cannot be guaranteed to be positive, the sign bit of the prediction residuals for repeated points can be explicitly signaled. A repeated point is typically a point in the point cloud that has the same geometric position as a previously encoded point.

[0068] In one embodiment, the attribute is one-dimensional such as reflectivity. The syntax table of such prediction residuals can be as follows Figure 2F shown.

[0069] Now refer to Figure 2F, which depicts Table 200F of the syntax elements for the prediction residual. prediction_residual_is_zero may specify whether the prediction residual is equal to 0. prediction_residual_abs_is_one may specify whether the absolute value of the prediction residual is equal to 1. prediction_residual_abs_is_two may specify whether the absolute value of the prediction residual is equal to 2. prediction_residual_abs_minus_three may specify that the absolute value of the prediction residual is prediction_residual_minus_three+3. prediction_residual_sign may specify the sign of the prediction residual. If the point has the same geometric position as a previously coded point (i.e., it is a duplicate point), isDuplicatePoint is set to true. If the attribute residual is coded without quantization, isAttributeLosslessCoded is set to true, otherwise it is set to false. If isAttributeLosslessCoded is false or isDuplicatePoint is false, prediction_residual_sign is explicitly coded, otherwise prediction_residual_sign may be inferred to be positive. It should be noted that the syntax including prediction_residual_is_zero, prediction_residual_abs_is_one, prediction_residual_abs_is_two, prediction_residual_abs_minus_three, and prediction_residual_sign can be encoded by entropy coding with or without context. If they are encoded with context, the flag isDuplicatePoint can be used as one of the contexts to improve coding efficiency.

[0070] In another embodiment, the attribute is multidimensional such as RGB color. Assume that the points are sorted in ascending order according to the R component, i.e., the first component. The syntax table of such prediction residuals can be as follows: Figure 2G shown.

[0071] Now refer to Figure 2G, which depicts Table 200G of the syntax elements of the prediction residual. prediction_residual_is_zero[i] may specify whether the prediction residual of the i-th component is equal to 0. prediction_residual_abs_is_one[i] may specify whether the absolute value of the prediction residual of the i-th component is equal to 1. prediction_residual_abs_is_two[i] may specify whether the absolute value of the prediction residual of the i-th component is equal to 2. prediction_residual_abs_minus_three[i] may specify that the absolute value of the prediction residual of the i-th component is prediction_residual_minus_three[i]+3. If the point has the same geometric position as the previously encoded point (i.e., it is a duplicate point), isDuplicatePoint is set to true. Note that in this embodiment, only the R component is checked with isDuplicatePoint because sorting is performed on the R component. If the attribute residual is coded without quantization, isAttributeLosslessCoded is set to true, otherwise it is set to false. If i is not 0 or isAttributeLosslessCoded is false or isDuplicatePoint is false, prediction_residual_sign is explicitly coded, otherwise prediction_residual_sign can be inferred to be positive. It should be noted that the syntax including prediction_residual_is_zero[i], prediction_residual_abs_is_one[i], prediction_residual_abs_is_two[i], prediction_residual_abs_minus_three[i], and prediction_residual_sign[i] can be encoded by entropy coding with or without context. If they are encoded with context, the flag isDuplicatePoint can be used as one of the contexts to improve coding efficiency.

[0072] Figure 3 is a flow chart showing an example process 300 for point cloud encoding. Figure 1 and 2A to Figure 2E To describe Figure 3 In embodiments, one or more blocks of process 300 may be combined in any order.

[0073] like Figure 3As shown, process 300 may include receiving data corresponding to a point cloud from a bitstream (block 311 ).

[0074] like Figure 3 As further shown, process 300 may include reconstructing a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric location based on the data (block 312 ).

[0075] like Figure 3 As further shown, process 300 may include obtaining at least one prediction residual corresponding to at least one remaining property value of at least one remaining duplicate point among the plurality of duplicate points (block 313 ).

[0076] like Figure 3 As further shown, process 300 may include reconstructing at least one remaining property value based on the reconstructed first property value and the at least one prediction residual (block 314).

[0077] like Figure 3 As further shown, process 300 may include decoding data corresponding to the point cloud based on the reconstructed first property value and the reconstructed at least one remaining property value (block 315 ).

[0078] In an implementation, the plurality of repeated points may be sorted according to attribute values ​​of the attributes of the plurality of repeated points.

[0079] In an embodiment, the plurality of repeated points may be sorted according to component values ​​of components included in a multi-component attribute of the plurality of repeated points.

[0080] In an embodiment, a sign bit indicating the sign of the at least one prediction residual may not be signaled in the data.

[0081] In an embodiment, the sign of the at least one prediction residual may be inferred to be positive. In an embodiment, the sign of the at least one prediction residual may be inferred to be positive when the attribute is ascending, and wherein the sign of the at least one prediction residual is inferred to be negative when the attribute is descending.

[0082] In an embodiment, a sign bit indicating the sign of the at least one prediction residual may be signaled in the data.

[0083] In an embodiment, the data may be encoded such that the prediction residuals of the attribute values ​​of the repeated points must be greater than or equal to zero. In an embodiment, the data may be encoded such that the prediction residuals of the attribute values ​​of the repeated points are greater than or equal to zero when the attributes are in ascending order, and such that the prediction residuals are less than or equal to zero when the attributes are in descending order.

[0084] In an embodiment, the prediction residual may be encoded using a floor operation. In an embodiment, the prediction residual may be quantized and rounded using a floor operation.

[0085] In an embodiment, the data may be encoded such that negative prediction residuals among the prediction residuals of the attribute values ​​of the repeated points are encoded as zero. In an embodiment, the data may be encoded such that negative prediction residuals among the prediction residuals of the attribute values ​​of the repeated points are encoded as zero.

[0086] Understandably, Figure 3 It only provides an illustration of the implementation and does not imply any limitation on how different embodiments may be implemented.Many modifications to the depicted environments may be made based on design and implementation requirements.

[0087] The present disclosure embodiment also provides a computer system for point cloud encoding, the computer system comprising: a receiving unit, the receiving unit being configured to enable the one or more processors to receive data corresponding to the point cloud from a bit stream; a first reconstruction unit, the first reconstruction unit being configured to enable the one or more processors to reconstruct a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data; an obtaining unit, the obtaining unit being configured to enable the one or more processors to obtain at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; a second reconstruction unit, the second reconstruction unit being configured to enable the one or more processors to reconstruct the at least one remaining attribute value based on the reconstructed first attribute value and the at least one prediction residual; and a decoding unit, the decoding unit being configured to enable the one or more processors to decode the data corresponding to the point cloud based on the reconstructed first attribute value and the at least one remaining attribute value reconstructed.

[0088] In some examples, the plurality of duplicate points are sorted according to attribute values ​​of the attributes of the plurality of duplicate points.

[0089] In some examples, the plurality of duplicate points are ordered according to component values ​​of components included in a multi-component attribute of the plurality of duplicate points.

[0090] In some examples, a sign bit indicating a sign of the at least one prediction residual is not signaled in the data.

[0091] In some examples, when the attribute is in ascending order, the sign of the at least one prediction residual is inferred to be positive, and wherein when the attribute is in descending order, the sign of the at least one prediction residual is inferred to be negative.

[0092] In some examples, a sign bit indicating a sign of the at least one prediction residual is signaled in the data.

[0093] In some examples, the data is encoded such that a prediction residual of an attribute value of a repeated point is greater than or equal to zero when the attribute is in ascending order, and wherein the prediction residual is less than or equal to zero when the attribute is in descending order.

[0094] In some examples, the prediction residual is quantized and rounded by a floor operation.

[0095] In some examples, the data is encoded such that prediction residuals among prediction residuals of attribute values ​​of repeated points are encoded as zero.

[0096] Figure 4 According to the illustrative embodiment Figure 1 400 of the internal and external components of the computer depicted in FIG. Figure 4 This merely provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0097] Computer 102 ( Figure 1 ) and server computer 114 ( Figure 1 ) can include Figure 4 800A, 800B and corresponding groups of external components 900A, 900B are shown in FIG. Each group of internal components 800A, 800B includes one or more processors 820 on one or more buses 826, one or more computer-readable RAMs 822 and one or more computer-readable ROMs 824, one or more operating systems 828, and one or more computer-readable tangible storage devices 830.

[0098] Processor 820 is implemented in hardware, firmware or a combination of hardware and software. Processor 820 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC) or another type of processing component. In some implementations, processor 820 includes one or more processors that can be programmed to perform functions. Bus 826 includes components that allow communication between internal components 800A and 800B.

[0099] One or more operating systems 828, software programs 108 ( Figure 1 ) and server computer 114 ( Figure 1 ) on point cloud encoding program 116 ( Figure 1 ) are stored on one or more corresponding computer-readable tangible storage devices 830 for execution by one or more corresponding processors 820 via one or more corresponding RAMs 822 (which typically include cache memory). Figure 4 In the illustrated embodiment, each of the computer-readable tangible storage devices 830 is a disk storage device of an internal hard drive. Alternatively, each of the computer-readable tangible storage devices 830 is a semiconductor storage device such as ROM 824, EPROM, flash memory, optical disk, magneto-optical disk, solid state disk, compact disk (CD), digital versatile disk (DVD), floppy disk, cassette, magnetic tape, and / or another type of non-transitory computer-readable tangible storage device that can store computer programs and digital information.

[0100] Each set of internal components 800A, 800B also includes an R / W drive or interface 832 to read from and write to one or more portable computer readable tangible storage devices 936 such as CD-ROMs, DVDs, memory sticks, tapes, disks, optical disks, or semiconductor storage devices. Figure 1 ) and point cloud encoding program 116 ( Figure 1) can be stored on one or more corresponding portable computer-readable tangible storage devices 936, read via a corresponding R / W drive or interface 832, and loaded into a corresponding hard drive.

[0101] Each set of internal components 800A, 800B also includes a network adapter or interface 836 such as a TCP / IP adapter card; a wireless Wi-Fi interface card; or a 3G, 4G or 5G wireless interface card or other wired or wireless communication link. Software Program 108 ( Figure 1 ) and server computer 114 ( Figure 1 ) on point cloud encoding program 116 ( Figure 1 ) can be downloaded from an external computer to the computer 102 via a network (such as the Internet, a local area network or other, wide area network) and a corresponding network adapter or interface 836 ( Figure 1 ) and the server computer 114. The software program 108 and the point cloud encoding program 116 on the server computer 114 are loaded from the network adapter or interface 836 to the corresponding hard disk drives. The network may include copper wires, optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers and / or edge servers.

[0102] Each set of external components 900A, 900B may include a computer display 920, a keyboard 930, and a computer mouse 934. The external components 900A, 900B may also include a touch screen, a virtual keyboard, a touch pad, a pointing device, and other human-computer interface devices. Each set of internal components 800A, 800B also includes a device driver 840 that interfaces with the computer display 920, the keyboard 930, and the computer mouse 934. The device driver 840, the R / W driver or interface 832, and the network adapter or interface 836 include hardware and software (stored in the storage device 830 and / or ROM 824).

[0103] It is understood in advance that although the present disclosure includes detailed descriptions about cloud computing, the implementation of the teachings described herein is not limited to a cloud computing environment. Instead, some embodiments can be implemented in conjunction with any other type of computing environment now known or later developed.

[0104] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage devices, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with service providers. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0105] Features are as follows:

[0106] On-demand self-service: Cloud consumers can unilaterally and automatically provision computing capabilities such as server time and network storage as needed without manual interaction with the service provider.

[0107] Broad network access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin-client or thick-client platforms (e.g., mobile phones, laptops, and PDAs).

[0108] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. There is a sense of location independence because consumers generally have no control or knowledge of the exact location of the resources provided, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).

[0109] Rapid elasticity: Capacity can be quickly and elastically provisioned (in some cases automatically) to quickly scale out, and quickly released to quickly scale in. To the consumer, the capacity available for provisioning often appears to be unlimited and can be purchased at any time and in any quantity.

[0110] Metered Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be displayed, controlled, and reported, providing transparency to both providers and consumers of the services used.

[0111] The service mode is as follows:

[0112] Software as a Service (SaaS): The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, storage devices, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

[0113] Platform as a Service (PaaS): The capability provided to consumers is to deploy consumer-created or acquired applications created using programming languages ​​and tools supported by the provider onto the cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage devices, but has control over the deployed applications and possible configuration of the application hosting environment.

[0114] Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, networking, and other basic computing resources on which consumers can deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but have control over the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., a host firewall).

[0115] The deployment model is as follows:

[0116] Private cloud: Cloud infrastructure is operated only for an organization. Cloud infrastructure can be managed by the organization or a third party and can exist locally (on-premises) or externally (off-premises).

[0117] Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community with common concerns (such as mission, security requirements, policies, and compliance considerations). The cloud infrastructure can be managed by the organization or a third party and can exist on-premises or off-premises.

[0118] Public cloud: Cloud infrastructure available to the general public or large industry groups and owned by an organization that sells cloud services.

[0119] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0120] Cloud computing environments are service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure consisting of a network of interconnected nodes.

[0121] Reference Figure 5 , depicts an illustrative cloud computing environment 500. As shown, the cloud computing environment 500 includes one or more cloud computing nodes 10, and local computing devices used by cloud consumers, such as personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N, can communicate with one or more cloud computing nodes 10. The cloud computing nodes 10 can communicate with each other. The cloud computing nodes 10 can be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or a combination thereof, as described above. This allows the cloud computing environment 500 to provide infrastructure, platforms, and / or software as a service, without the cloud consumer needing to maintain resources on a local computing device for the service. It should be understood that Figure 5 The types of computing devices 54A- 54N shown in are intended to be illustrative only, and cloud computing node 10 and cloud computing environment 500 may communicate with any type of computerized device over any type of network and / or network addressable connection (eg, using a web browser).

[0122] Reference Figure 6 , showing a cloud computing environment 500 ( Figure 5 ) provides a set of functional abstraction layers 600. It should be understood in advance that Figure 6 The components, layers, and functions shown in are intended to be illustrative only, and the embodiments are not limited thereto. As depicted, the following layers and corresponding functions are provided:

[0123] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; servers based on RISC (Reduced Instruction Set Computer) architecture 62; servers 63; blade servers 64; storage devices 65; and networks and network components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0124] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71 ; virtual storage devices 72 ; virtual networks 73 , including virtual private networks; virtual applications and operating systems 74 ; and virtual clients 75 .

[0125] In one example, the management layer 80 may provide the following functions. Resource provisioning 81 provides dynamic acquisition of computing resources and other resources for performing tasks within a cloud computing environment. Metering and pricing 82 provides cost positioning when utilizing resources within a cloud computing environment, as well as bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management so that the required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provides pre-arrangement and procurement of cloud computing resources, anticipating future demand for the cloud computing resources based on the SLA.

[0126] The workload layer 90 provides examples of functions for which a cloud computing environment can be utilized. Examples of workloads and functions that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom instruction delivery 93; data analysis processing 94; transaction processing 95; and point cloud encoding 96. Point cloud encoding 96 can decode point cloud data based on inter-component correlations.

[0127] Some embodiments may involve systems, methods, and / or computer-readable media at any possible level of integrated technical detail. A computer-readable medium may include a computer-readable non-transitory storage medium (or medium) having computer-readable program instructions thereon for causing a processor to perform operations.

[0128] A computer-readable storage medium may be a tangible device that can retain and store instructions used by an instruction execution device. For example, a computer-readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device such as a punch card or a raised structure in a groove on which instructions are recorded, and any suitable combination of the foregoing. Computer-readable storage media as used herein should not be construed as being itself a transient signal such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (such as light pulses passing through a fiber optic cable), or an electrical signal transmitted through a wire.

[0129] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network, and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.

[0130] The computer readable program code / instruction for performing the operation can be an assembly instruction, an instruction set architecture (Instruction-Set-Architecture, ISA) instruction, a machine instruction, a machine-related instruction, a microcode, a firmware instruction, a state setting data, the configuration data of an integrated circuit system, or a source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and process programming languages ​​(such as "C" programming language or similar programming languages). The computer readable program instruction can be executed completely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (such as by using the Internet of an Internet service provider). In some embodiments, an electronic circuit system including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuit system so as to perform various aspects or operations.

[0131] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium, which may direct a computer, a programmable data processing device, and / or other device to operate in a particular manner, such that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0132] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps executed on the computer, other programmable apparatus, or other device produces a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0133] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of systems, methods and computer-readable media according to various embodiments. In this regard, each block in the flowchart or block diagram may represent a module, a segment or a portion of an instruction, which includes one or more executable instructions for implementing a specified logical function. The method, computer system and computer-readable media may include additional blocks, fewer blocks, different blocks or blocks of different arrangements compared to those blocks depicted in the accompanying drawings. In some alternative embodiments, the functions indicated in the blocks may not occur in the order indicated in the accompanying drawings. For example, two blocks shown in succession may actually be performed simultaneously or substantially simultaneously, or blocks may sometimes be performed in reverse order, depending on the functions involved. It should also be noted that each block illustrated in the block diagram and / or flowchart and the combination of blocks in the block diagram and / or flowchart may be implemented by a dedicated hardware-based system that performs a specified function or action or performs a combination of dedicated hardware and computer instructions.

[0134] It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code - it should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0135] Unless explicitly described as such, any element, action or instruction used herein should not be interpreted as critical or necessary. In addition, as used herein, the "a or an" in the singular is intended to include one or more items, and can be used interchangeably with "one or more". In addition, as used herein, the term "group" is intended to include one or more items (such as related items, unrelated items, combinations of related and unrelated items, etc.), and can be used interchangeably with "one or more". In the case of only meaning an item, the term "one" or similar language is used. In addition, as used herein, the term "has", "have", "having" etc. are intended to be open terms. In addition, unless otherwise expressly stated, the phrase "based on" is intended to mean "based at least in part on".

[0136] The description of various aspects and embodiments has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Even if combinations of features are described in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways that are not specifically described in the claims and / or disclosed in the specification. Although each of the listed dependent claims may directly reference only one claim, the disclosure of possible implementations includes the combination of each dependent claim with each other claim in the claim set. Many modifications and variations will be obvious to those of ordinary skill in the art without departing from the scope of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements to technologies found in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A method for point cloud encoding, the method include: receiving data corresponding to the point cloud from the bitstream; reconstructing a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position based on the data, the plurality of repeated points having the same geometric position but having more than one attribute value, and sorting the attributes of the plurality of repeated points according to the attribute values; Obtaining at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; reconstructing the at least one remaining property value based on the reconstructed first property value and the at least one prediction residual, the repeated points being grouped in chunks, the property value of the remaining repeated points being reconstructed based on the prediction residual of the repeated point and the reconstructed property value of a previous repeated point in the sequence of the plurality of repeated points sorted in the chunk based on the property values; and decoding the data corresponding to the point cloud based on the reconstructed first property value and the reconstructed at least one remaining property value; The multiple repeated points ensure that the prediction residual is always positive according to any one of the following: The prediction residuals of all repeated points of the multiple repeated points are quantized and rounded by floor operation; the negative prediction residuals are regarded as zero; the prediction residual of the first repeated point is not quantized, and the negative prediction residual of at least one remaining repeated point is regarded as zero.

2. The method according to claim 1, It is characterized in that The plurality of duplicate points are sorted according to component values ​​of components included in the multi-component attributes of the plurality of duplicate points.

3. The method according to claim 1, It is characterized in that A sign bit indicating a sign of the at least one prediction residual is not signaled in the data.

4. The method according to claim 3, It is characterized in that When the property is in ascending order, the sign of the at least one prediction residual is inferred to be positive, and wherein when the property is in descending order, the sign of the at least one prediction residual is inferred to be negative.

5. The method according to claim 1, It is characterized in that A sign bit indicating a sign of the at least one prediction residual is signaled in the data.

6. The method according to claim 1, It is characterized in that The data is encoded such that a prediction residual of an attribute value of a repeated point is greater than or equal to zero when the attribute is in ascending order, and wherein the prediction residual is less than or equal to zero when the attribute is in descending order.

7. A computer system for point cloud coding, the computer system include: a receiving unit configured to cause one or more processors to receive data corresponding to the point cloud from the bitstream; a first reconstruction unit configured to reconstruct, based on the data, a first attribute value of a first repeated point among a plurality of repeated points corresponding to a single geometric position, the plurality of repeated points having the same geometric position but having more than one attribute value, and to sort the attributes of the plurality of repeated points according to the attribute values; an obtaining unit configured to obtain at least one prediction residual corresponding to at least one remaining attribute value of at least one remaining repeated point among the plurality of repeated points; a second reconstruction unit, the second reconstruction unit being configured to reconstruct the at least one remaining attribute value based on the reconstructed first attribute value and the at least one prediction residual, the repeated points being grouped in a group block, the attribute value of the remaining repeated point being reconstructed based on the prediction residual of the repeated point and the reconstructed attribute value of a previous repeated point in the sequence of the plurality of repeated points sorted in the group block based on the attribute value; as well as a decoding unit configured to decode the data corresponding to the point cloud based on the reconstructed first property value and the reconstructed at least one remaining property value; The multiple repeated points ensure that the prediction residual is always positive according to any one of the following: The prediction residuals of all repeated points of the multiple repeated points are quantized and rounded by floor operation; the negative prediction residuals are regarded as zero; the prediction residual of the first repeated point is not quantized, and the negative prediction residual of at least one remaining repeated point is regarded as zero.

8. The computer system according to claim 7, It is characterized in that The plurality of duplicate points are sorted according to component values ​​of components included in the multi-component attributes of the plurality of duplicate points.

9. A computer system according to any one of claims 7 or 8, It is characterized in that A sign bit indicating a sign of the at least one prediction residual is not signaled in the data.

10. The computer system according to claim 9, It is characterized in that When the property is in ascending order, the sign of the at least one prediction residual is inferred to be positive, and wherein when the property is in descending order, the sign of the at least one prediction residual is inferred to be negative.

11. A computer system according to any one of claims 7 or 8, It is characterized in that A sign bit indicating a sign of the at least one prediction residual is signaled in the data.

12. The computer system according to claim 7, It is characterized in that The data is encoded such that a prediction residual of an attribute value of a repeated point is greater than or equal to zero when the attribute is in ascending order, and wherein the prediction residual is less than or equal to zero when the attribute is in descending order.

13. A non-transitory computer-readable medium having stored thereon a computer program for point cloud coding, the computer program being configured to cause one or more computer processors to execute the method according to any one of claims 1-6.

14. A computer device, It is characterized in that The device comprises a processor and a memory, The memory is used to store program codes and transmit the program codes to the processor; The processor is configured to execute the method according to any one of claims 1 to 6 according to the instructions in the program code.

15. A computer storage medium, It is characterized in that A code stream formed by a computer program is stored thereon, and when the computer program is executed by a computer, the computer executes the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • 3D point cloud data encoding / decoding method and apparatus

    US20200043199A1