Method, device and medium for point cloud coding and decoding

By using LIDAR to capture the pitch angle and azimuth information of the laser, the geometric coordinates of point cloud data are corrected, and the contradiction between encoding and decoding efficiency and accuracy in the prior art is solved, and the efficiency and accuracy of point cloud encoding and decoding are improved, especially in point cloud data captured by LIDAR.

CN120548552APending Publication Date: 2025-08-26DOUYIN VISION CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480007648.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-01-11
Filing Date
2024-01-10
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

The existing point cloud encoding and decoding technology has a contradiction between the encoding and decoding efficiency and the accuracy of geometric information. Especially in point cloud data captured by LIDAR, although geometric quantization improves compression efficiency, it brings coordinate distortion problems.

Method used

By using LIDAR to capture laser information, especially pitch angle and azimuth information, the geometric coordinates of point cloud data are corrected, for example, by calculating the pitch angle of the point and correcting the z coordinates, and using pitch angles to correct the x and y coordinates, the accuracy and efficiency of encoding and decoding are improved.

Benefits of technology

It effectively reduces geometric distortion during point cloud encoding and decoding, improves encoding and decoding efficiency and accuracy, especially in point cloud data captured by LIDAR, and improves the compression performance of point cloud geometric information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120548552A_ABST
    Figure CN120548552A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method for point cloud coding and decoding. In the method, for a transition between a current codec unit of a point cloud sequence and a bitstream of the point cloud sequence, it is determined whether at least one condition associated with at least one coordinate of a point in the current codec unit is satisfied. If it is determined that at least one condition is satisfied, the at least one coordinate is updated based on a capture laser capturing the point. A transformation is performed based on the updated at least one coordinate of the point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to point cloud encoding and decoding technology, and more particularly, to point cloud geometric coordinate correction. Background Art

[0002] A point cloud is a collection of individual data points in a three-dimensional (3D) plane, where each point has defined coordinates on the X, Y, and Z axes. Point clouds can therefore be used to represent the physical contents of a three-dimensional space. Point clouds have proven to be a promising way to represent 3D visual data for a variety of immersive applications, from augmented reality to self-driving cars.

[0003] Point cloud codec standards have evolved primarily through the development of the well-known MPEG organization. MPEG, short for Moving Picture Experts Group, is one of the main standardization organizations dealing with multimedia. In 2017, the MPEG 3D Graphics Codec Group (3DG) released a Request for Proposals (CFP) document to begin developing point cloud codec standards. The final standard will include two types of solutions. Video-based point cloud compression (V-PCC or VPCC) is suitable for point sets with a relatively uniform point distribution. Geometry-based point cloud compression (G-PCC or GPCC) is suitable for more sparse distributions. However, the codec efficiency of conventional point cloud codec techniques is generally expected to be further improved. Summary of the Invention

[0004] The embodiments of the present disclosure provide a solution for point cloud encoding and decoding.

[0005] In a first aspect, a method for point cloud encoding and decoding is presented. The method includes: determining whether at least one condition associated with at least one coordinate of a point in the current encoding and decoding unit is satisfied for conversion between a current encoding and decoding unit of a point cloud sequence and a bitstream of the point cloud sequence; if the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captured the point; and performing conversion based on the updated at least one coordinate of the point. The method according to the first aspect of the present disclosure corrects the coordinates of the point based on the capture laser of the point. In this way, the effectiveness and efficiency of point cloud geometry encoding and decoding can be improved.

[0006] In a second aspect, an apparatus for point cloud encoding and decoding is provided. The apparatus includes a processor and a non-transitory memory having instructions thereon. The instructions, when executed by the processor, cause the processor to perform the method according to the first aspect of the present disclosure.

[0007] In a third aspect, a non-transitory computer-readable storage medium is provided, wherein the non-transitory computer-readable storage medium stores instructions for causing a processor to execute the method according to the first aspect of the present disclosure.

[0008] In a fourth aspect, another non-transitory computer-readable recording medium is provided. The non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by a point cloud processing apparatus. The method includes: determining whether at least one condition associated with at least one coordinate of a point in a current codec unit of the point cloud sequence is satisfied; if the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captured the point; and generating a bitstream based on the updated at least one coordinate of the point.

[0009] In a fifth aspect, a method for storing a bitstream of a point cloud sequence is provided. The method includes: determining whether at least one condition associated with at least one coordinate of a point in a current codec unit of the point cloud sequence is satisfied; if the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captured the point; generating a bitstream based on the updated at least one coordinate of the point; and storing the bitstream in a non-transitory computer-readable recording medium.

[0010] This summary is intended to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other objects, features and advantages of the exemplary embodiments of the present disclosure will become more apparent through the following detailed description with reference to the accompanying drawings.In the exemplary embodiments of the present disclosure, the same reference numerals generally refer to the same components.

[0012] Figure 1 is a block diagram illustrating an example point cloud encoding and decoding system that may utilize the techniques of this disclosure;

[0013] Figure 2 shows a block diagram illustrating an example point cloud encoder according to some embodiments of the present disclosure;

[0014] Figure 3 shows a block diagram illustrating an example point cloud decoder according to some embodiments of the present disclosure;

[0015] Figure 4 A flowchart of improved point cloud geometry encoding and decoding using LIDAR characteristics according to an embodiment of the present disclosure is shown;

[0016] Figure 5 Another flowchart of improved point cloud geometry encoding and decoding using LIDAR characteristics according to an embodiment of the present disclosure is shown;

[0017] Figure 6A flowchart of a method for point cloud encoding and decoding according to an embodiment of the present disclosure is shown; and

[0018] Figure 7 A block diagram is shown of a computing device in which various embodiments of the present disclosure may be implemented.

[0019] Throughout the drawings, the same or similar reference numbers generally refer to the same or similar elements. DETAILED DESCRIPTION

[0020] The principles of the present disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described only for the purpose of illustrating and helping those skilled in the art to understand and implement the present disclosure, and do not imply any limitation on the scope of the present disclosure. In addition to the methods described below, the disclosure described herein can also be implemented in various ways.

[0021] In the following description and claims, unless defined otherwise, all scientific and technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.

[0022] References in this disclosure to "one embodiment," "an embodiment," "an example embodiment," and the like indicate that the described embodiment may include a particular feature, structure, or characteristic, but not every embodiment is required to include the particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in conjunction with an example embodiment, whether or not explicitly described, it is considered within the knowledge of those skilled in the art to affect such feature, structure, or characteristic in relation to other embodiments.

[0023] It should be understood that although the terms "first" and "second" and the like can be used to describe various elements, these elements should not be limited to these terms. These terms are only used to distinguish one element from another. For example, a first element can be referred to as a second element, and similarly, a second element can be referred to as a first element without departing from the scope of the example embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the listed terms.

[0024] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the example embodiments. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the terms "comprises," "includes," and / or "having," when used herein, indicate the presence of the described features, elements, and / or components, but do not preclude the presence or addition of one or more other features, elements, components, and / or combinations thereof. Sample Environment

[0025] Figure 1 is a block diagram illustrating an example point cloud codec system 100 that may utilize the techniques of the present disclosure. As shown, the point cloud codec system 100 may include a source device 110 and a destination device 120. The source device 110 may also be referred to as a point cloud encoding device, and the destination device 120 may also be referred to as a point cloud decoding device. In operation, the source device 110 may be configured to generate encoded point cloud data, and the destination device 120 may be configured to decode the encoded point cloud data generated by the source device 110. The techniques of the present disclosure are generally directed to encoding and decoding (encoding and / or decoding) point cloud data, i.e., to support point cloud compression. The codec may efficiently compress and / or decompress point cloud data.

[0026] Source device 100 and destination device 120 may include any of a wide variety of devices, including desktop computers, notebook (i.e., portable) computers, tablet computers, set-top boxes, telephone handsets (such as smartphones and mobile phones), televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, vehicles (e.g., land or sea vehicles, spacecraft, aircraft, etc.), robots, LIDAR devices, satellites, extended reality devices, etc. In some cases, source device 100 and destination device 120 may be equipped for wireless communication.

[0027] The source device 100 may include a data source 112, a memory 114, a GPCC encoder 116, and an input / output (I / O) interface 118. The destination device 120 may include an input / output (I / O) interface 128, a GPCC decoder 126, a memory 124, and a data consumer 122. According to the present disclosure, the GPCC encoder 116 of the source device 100 and the GPCC decoder 126 of the destination device 120 may be configured to apply the techniques of the present disclosure related to point cloud encoding and decoding. Therefore, the source device 100 represents an example of an encoding device, while the destination device 120 represents an example of a decoding device. In other examples, the source device 100 and the destination device 120 may include other components or arrangements. For example, the source device 100 may receive data (e.g., point cloud data) from an internal or external source. Similarly, the destination device 120 may be connected to an external data consumer interface instead of including the data consumer in the same device.

[0028] In general, data source 112 represents a source of point cloud data (i.e., raw, unencoded point cloud data) and can provide a sequential series of "frames" of point cloud data to GPCC encoder 116, where GPCC encoder 116 encodes the frame's point cloud data. In some examples, data source 112 generates point cloud data. Data source 112 of source device 100 can include a point cloud capture device, such as any of a variety of cameras or sensors, for example, one or more video cameras, an archive containing previously captured point cloud data, a 3D scanner, or a light detection and ranging (LIDAR) device, and / or a data feed interface that receives point cloud data from a data content provider. Thus, in some examples, data source 112 can generate point cloud data based on a signal from a LIDAR device. Alternatively or additionally, point cloud data can be computer-generated from a scanner, camera, sensor, or other data. For example, data source 112 can generate point cloud data, or produce a combination of real-time point cloud data, archived point cloud data, and computer-generated point cloud data. In each case, the GPCC encoder 116 encodes the captured, pre-captured, or computer-generated point cloud data. The GPCC encoder 116 can rearrange frames of the point cloud data from a received order (sometimes referred to as "display order") to a codec order for encoding and decoding. The GPCC encoder 116 can generate one or more bitstreams comprising the encoded point cloud data. The source device 100 can then output the encoded point cloud data via the I / O interface 118 to be received and / or retrieved by, for example, the I / O interface 128 of the destination device 120. The encoded point cloud data can be transmitted directly to the destination device 120 via the network 130A via the I / O interface 118. The encoded point cloud data can also be stored on the storage medium / server 130B for access by the destination device 120.

[0029] The memory 114 of the source device 100 and the memory 124 of the destination device 120 can represent general purpose memory. In some examples, the memory 114 and the memory 124 can store raw point cloud data, e.g., raw point cloud data from the data source 112 and raw, decoded point cloud data from the GPCC decoder 126. Additionally or alternatively, the memory 114 and the memory 124 can store software instructions, e.g., executable by the GPCC encoder 116 and the GPCC decoder 126, respectively. Although the memory 114 and the memory 124 are shown as separate from the GPCC encoder 116 and the GPCC decoder 126 in this example, it should be understood that the GPCC encoder 116 and the GPCC decoder 126 can also include internal memory for functionally similar or equivalent purposes. Furthermore, the memory 114 and the memory 124 can store encoded point cloud data, e.g., output from the GPCC encoder 116 and input to the GPCC decoder 126. In some examples, portions of memory 114 and memory 124 may be allocated as one or more buffers, eg, to store raw, decoded, and / or encoded point cloud data. For example, memory 114 and memory 124 may store point cloud data.

[0030] I / O interface 118 and I / O interface 128 may represent a wireless transmitter / receiver, a modem, a wired network component (e.g., a network card), a wireless communication component operating according to any of the various IEEE 802.11 standards, or other physical components. In examples where I / O interface 118 and I / O interface 128 include wireless components, I / O interface 118 and I / O interface 128 may be configured to transmit data (such as encoded point cloud data) according to a cellular communication standard (such as 4G, 4G-LTE (Long Term Evolution), LTE Advanced, 5G, etc.). In some examples where I / O interface 118 includes a wireless transmitter, I / O interface 118 and I / O interface 128 may be configured to transmit data (such as encoded point cloud data) according to other wireless standards (such as the IEEE 802.11 specification). In some examples, source device 100 and / or destination device 120 may include respective system-on-chip (SoC) devices. For example, source device 100 may include a SoC device to perform the functions attributed to GPCC encoder 116 and / or I / O interface 118 , and destination device 120 may include a SoC device to perform the functions attributed to GPCC decoder 126 and / or I / O interface 128 .

[0031] The techniques of the present disclosure may be applied to support encoding and decoding for any of a variety of applications, such as communications between autonomous vehicles, communications between scanners, cameras, sensors and processing devices such as local or remote servers, geographic mapping, or other applications.

[0032] The I / O interface 128 of the destination device 120 receives the encoded bitstream from the source device 110. The encoded bitstream may include signaling information defined by the GPCC encoder 116 and also used by the GPCC decoder 126, such as syntax elements with values ​​representing a point cloud. The decoded data is used by the data consumer 122. For example, the data consumer 122 may use the decoded point cloud data to determine the position of a physical object. In some examples, the data consumer 122 may include a display to present an image based on the point cloud data.

[0033] Each of the GPCC encoder 116 and the GPCC decoder 126 can be implemented as any of a variety of suitable encoder circuitry and / or decoder circuitry, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, software, hardware, firmware, or any combination thereof. When the techniques are partially implemented in software, the device can store instructions for the software in a suitable non-transitory computer-readable medium and execute the instructions in hardware using one or more processors to perform the techniques of the present disclosure. Each of the GPCC encoder 116 and the GPCC decoder 126 can be included in one or more encoders or decoders, either of which can be integrated as part of a combined encoder / decoder (codec) in the corresponding device. A device that includes the GPCC encoder 116 and / or the GPCC decoder 126 may include one or more integrated circuits, microprocessors, and / or other types of devices.

[0034] The GPCC encoder 116 and the GPCC decoder 126 may operate in accordance with a codec standard, such as the Video Point Cloud Compression (VPCC) standard or the Geometric Point Cloud Compression (GPCC) standard. The present disclosure may generally refer to the encoding and decoding (e.g., encoding and decoding) of a frame to include the process of encoding data or decoding data. The encoded bitstream typically includes a series of values ​​for syntax elements that represent codec decisions (e.g., codec mode).

[0035] A point cloud can contain a set of points in 3D space and can have attributes associated with the points. The attributes can be color information such as R, G, B or Y, Cb, Cr or reflectance information or other properties. Point clouds can be captured by various cameras or sensors (such as LIDAR sensors and 3D scanners) and can also be computer-generated. Point cloud data is used in various applications, including but not limited to architecture (modeling), graphics (3D models for visualization and animation), and the automotive industry (LIDAR sensors to aid navigation).

[0036] Figure 2 is a block diagram illustrating an example of a GPCC encoder 200 according to some embodiments of the present disclosure, which may be Figure 1 An example of a GPCC encoder 116 in the system 100 is shown. Figure 3 is a block diagram illustrating an example of a GPCC decoder 300 according to some embodiments of the present disclosure. The GPCC decoder 300 may be Figure 1 An example of the GPCC decoder 126 in the system 100 is shown.

[0037] In both the GPCC encoder 200 and the GPCC decoder 300, the point cloud position is first encoded and decoded. The attribute encoding and decoding depends on the decoded geometry. Figure 2 and Figure 3 , the region adaptive hierarchical transform (RAHT) unit 218, the surface approximation analysis unit 212, the RAHT unit 314, and the surface approximation synthesis unit 310 are options commonly used for category 1 data. The level of detail (LOD) generation unit 220, the lifting unit 222, the LOD generation unit 316, and the inverse lifting unit 318 are options commonly used for category 3 data. All other units are common between categories 1 and 3.

[0038] For category 3 data, the compressed geometry is typically represented as an octree from the root down to the leaf level for individual voxels. For category 1 data, the compressed geometry is typically represented by a pruned octree (i.e., an octree from the root down to the leaf level for blocks larger than a voxel) plus a model that approximates the surface within each leaf of the pruned octree. In this way, category 1 and category 3 data share the octree codec mechanism, while category 1 data can additionally approximate the voxels within each leaf with a surface model. The surface model used is a triangulation consisting of 1-10 triangles per block, resulting in a triangle soup. Therefore, category 1 geometry codecs are called trisoup geometry codecs, while category 3 geometry codecs are called octree geometry codecs.

[0039] exist Figure 2 In the example, the GPCC encoder 200 may include a coordinate transformation unit 202, a color transformation unit 204, a voxelization unit 206, an attribute transfer unit 208, an octree analysis unit 210, a surface approximation analysis unit 212, an arithmetic coding unit 214, a geometric reconstruction unit 216, a RAHT unit 218, an LOD generation unit 220, a lifting unit 222, a coefficient quantization unit 224 and an arithmetic coding unit 226.

[0040] like Figure 2As shown in the example of , the GPCC encoder 200 can receive a set of locations and a set of attributes. The locations can include the coordinates of a point in the point cloud. The attributes can include information about the point in the point cloud, such as the color associated with the point in the point cloud.

[0041] The coordinate transformation unit 202 can apply a transformation to the coordinates of the point to transform the coordinates from the original domain to the transformed domain. This disclosure may refer to the transformed coordinates as transformed coordinates. The color transformation unit 204 can apply a transformation to convert the color information of the attribute to a different domain. For example, the color transformation unit 204 can convert the color information from the RGB color space to the YCbCr color space.

[0042] In addition, Figure 2 In the example of , the voxelization unit 206 can voxelize the transformed coordinates. Voxelization of the transformed coordinates can include quantizing and removing some points of the point cloud. In other words, multiple points of the point cloud can be grouped into a single "voxel", which can then be treated as a point in some aspects. In addition, the octree analysis unit 210 can generate an octree based on the voxelized transformed coordinates. Additionally, in Figure 2 In the example of FIG, the surface approximation analysis unit 212 can analyze the points to potentially determine a surface representation of the set of points. The arithmetic coding unit 214 can perform arithmetic coding on syntax elements representing information about the octree and / or information about the surface determined by the surface approximation analysis unit 212. The GPCC encoder 200 can output these syntax elements in a geometry bitstream.

[0043] The geometric reconstruction unit 216 can reconstruct the transformed coordinates of the points in the point cloud based on the octree, data indicating the surface determined by the surface approximation analysis unit 212, and / or other information. Due to voxelization and surface approximation, the number of transformed coordinates reconstructed by the geometric reconstruction unit 216 may differ from the original number of points in the point cloud. This disclosure may refer to the generated points as reconstructed points. The attribute transfer unit 208 can transfer attributes of the original points of the point cloud to the reconstructed points of the point cloud data.

[0044] Furthermore, the RAHT unit 218 may apply RAHT coding to the attributes of the reconstruction points. Alternatively or additionally, the LOD generation unit 220 and the lifting unit 222 may apply LOD processing and lifting, respectively, to the attributes of the reconstruction points. The RAHT unit 218 and the lifting unit 222 may generate coefficients based on the attributes. The coefficient quantization unit 224 may quantize the coefficients generated by the RAHT unit 218 or the lifting unit 222. The arithmetic coding unit 226 may apply arithmetic coding to syntax elements representing the quantized coefficients. The GPCC encoder 200 may output these syntax elements in the attribute bitstream.

[0045] exist Figure 3In the example, the GPCC decoder 300 may include a geometric arithmetic decoding unit 302, an attribute arithmetic decoding unit 304, an octree synthesis unit 306, an inverse quantization unit 308, a surface approximation synthesis unit 310, a geometric reconstruction unit 312, a RAHT unit 314, an LOD generation unit 316, an inverse lifting unit 318, a coordinate inverse transformation unit 320 and a color inverse transformation unit 322.

[0046] The GPCC decoder 300 may obtain a geometry bitstream and an attribute bitstream. The geometry arithmetic decoding unit 302 of the decoder 300 may apply arithmetic decoding (e.g., CABAC or other types of arithmetic decoding) to syntax elements in the geometry bitstream. Similarly, the attribute arithmetic decoding unit 304 may apply arithmetic decoding to syntax elements in the attribute bitstream.

[0047] The octree synthesis unit 306 may synthesize the octree based on syntax elements parsed from the geometry bitstream. In the case where surface approximation is used in the geometry bitstream, the surface approximation synthesis unit 310 may determine the surface model based on the syntax elements parsed from the geometry bitstream and based on the octree.

[0048] Furthermore, the geometric reconstruction unit 312 may perform reconstruction to determine the coordinates of the points in the point cloud. The coordinate inverse transformation unit 320 may apply an inverse transformation to the reconstructed coordinates to convert the reconstructed coordinates (positions) of the points in the point cloud from the transformed domain back to the original domain.

[0049] Additionally, in Figure 3 In the example of , the inverse quantization unit 308 may inverse quantize the property value. The property value may be based on syntax elements obtained from the property bitstream (eg, including syntax elements decoded by the property arithmetic decoding unit 304).

[0050] Depending on how the attribute values ​​are encoded, the RAHT unit 314 may perform RAHT decoding to determine color values ​​for points of the point cloud based on the dequantized attribute values. Alternatively, the LOD generation unit 316 and the de-lifting unit 318 may use a level of detail based technique to determine color values ​​for points of the point cloud.

[0051] In addition, Figure 3 In the example of , the inverse color transform unit 322 can apply an inverse color transform to the color values. The inverse color transform can be the inverse of the color transform applied by the color transform unit 204 of the encoder 200. For example, the color transform unit 204 can transform the color information from the RGB color space to the YCbCr color space. Correspondingly, the inverse color transform unit 322 can transform the color information from the YCbCr color space to the RGB color space.

[0052] Figure 2 and Figure 3 The various units are shown to assist in understanding the operations performed by the encoder 200 and the decoder 300. These units can be implemented as fixed-function circuits, programmable circuits, or a combination thereof. A fixed-function circuit refers to a circuit that provides a specific function and is pre-set with respect to the operations that can be performed. A programmable circuit refers to a circuit that can be programmed to perform various tasks and provides flexible functionality in the operations that can be performed. For example, a programmable circuit can execute software or firmware that causes the programmable circuit to operate in a manner defined by the instructions of the software or firmware. A fixed-function circuit can execute software instructions (e.g., to receive parameters or output parameters), but the type of operation performed by the fixed-function circuit is generally immutable. In some examples, one or more units may be different circuit blocks (fixed-function or programmable), and in some examples, one or more units may be integrated circuits.

[0053] The following describes some exemplary embodiments of the present disclosure. It should be understood that the section titles used in this document are for ease of understanding and do not limit the embodiments disclosed in a section to that section. In addition, although some embodiments are described with reference to GPCC or other specific point cloud codecs, the disclosed technology is also applicable to other point cloud codec technologies. In addition, although some embodiments describe the point cloud encoding and decoding steps in detail, it should be understood that the corresponding decoding steps for de-encoding will be implemented by the decoder. 1. Brief Overview This disclosure relates to point cloud coding and decoding techniques. Specifically, it relates to point cloud geometric coordinate correction using LIDAR characteristics. These concepts can be applied individually or in various combinations to any point cloud coding standard or non-standard point cloud codec, such as the geometry-based point cloud compression (G-PCC) under development. 2. Abbreviation G-PCC Geometry-based Point Cloud Compression MPEG Moving Picture Experts Group 3DG 3D Graphics Codec Group CFP Request for Proposals V-PCC Video-based Point Cloud Compression DCM direct codec mode IDCM Inferred Direct Codec Mode 3. Introduction MPEG, short for Moving Picture Experts Group, is one of the leading standards organizations for multimedia. In 2017, the MPEG 3D Graphics Codec Group (3DG) released a Request for Proposals (CFP) document to begin developing a point cloud codec standard. The final standard will include two types of solutions. Video-based Point Cloud Compression (V-PCC) is suitable for point sets with a relatively uniform distribution. Geometry-based Point Cloud Compression (G-PCC) is suitable for more sparse distributions. Both V-PCC and G-PCC support encoding and decoding for both single point clouds and sequences of point clouds. A point cloud can contain both geometric and attribute information. Geometric information describes the geometric position of data points. Attribute information records details about the data points, such as texture, normal vector, and reflectance. One of the key applications of point clouds is autonomous driving. In this context, point cloud data is primarily captured by LiDAR. Therefore, several key LiDAR characteristics can be exploited to compress point clouds. For example, standard spinning LiDARs consist of multiple laser diodes aligned vertically, resulting in an effective vertical (elevation) field of view. The entire unit can then rotate around its vertical axis at a fixed speed to provide a full 360-degree azimuth field of view. The elevation and azimuth angles of the laser beams can be exploited to compress point cloud geometry. Point cloud codecs can handle various types of information in different ways. Codecs typically include a number of optional tools to support encoding and decoding of geometric and attribute information, respectively. Among the geometry encoding and decoding tools in G-PCC, the following tools have a significant impact on point cloud geometry encoding and decoding performance. 3.1 Octree Geometry Compression In G-PCC, one of the important point cloud geometry encoding and decoding tools is octree geometry compression, which utilizes the spatial correlation of point cloud geometry. If the geometry encoding and decoding tool is enabled, the axis-aligned bounding box of the cube associated with the root node of the octree will be determined based on the point cloud geometry information. The bounding box will then be subdivided into 8 sub-cubes, which are associated with the 8 child nodes of the root node (cubes are equivalent to nodes hereafter). Then, an 8-bit code is generated in a specific order to indicate whether the 8 child nodes contain points, with one bit associated with one node. The 8-bit code is called an occupancy code and will be transmitted through a signal based on the occupancy information of the neighboring nodes. Only nodes containing points will be further subdivided into 8 child nodes. This process will be performed recursively until the node size is 1. Therefore, the point cloud geometry information is converted into an occupancy code sequence. At the decoder side, the occupancy code sequence will be decoded and the point cloud geometry information can be reconstructed based on the occupancy code sequence. 3.2 Plane Mode Planar mode is a tool for improving the occtree node occupancy codes more efficiently. Before encoding or decoding a node's occupancy code, the node is evaluated for planar mode in three dimensions based on specific eligibility criteria. Take the z-axis as an example. If it qualifies for plane mode on the z-axis, a binary flag zIsPlanar is encoded to signal whether its occupied children belong to the same horizontal plane. If zIsPlaner is true, an additional bit zPlanePosition is signaled to indicate whether the plane is the bottom or top plane, and the empty plane occupancy code can be ignored. Otherwise, the node will continue with the normal tree encoding and decoding process. Eligibility is based on tracking the probability of the node being a plane that has been encoded in the past, as follows: If and only if p planar ≥T and d local >3, the node qualifies, where T is a user-defined probability threshold, and d local It is the local density that can be derived based on the information of neighboring nodes. When node occupancy is encoded (decoded) and / or node plane information is encoded (decoded), the probability p is updated as follows planar : p planar =(L×p planar +δ) / (L+1) Where L = 255, and δ is 1 if the node being encoded is a plane, and 0 otherwise. The flag zIsPlaner is encoded and decoded using the three contexts based on the axis information by using the binary arithmetic codec. If zIsPlaner is true, zPlanePosition is encoded and decoded by using the binary arithmetic codec. 3.3 Inferred Direct Codec Mode (IDCM) Octree representations (or more generally, any tree representation) are efficient at representing points with spatial correlations because the tree tends to decompose the high-order bits of the point coordinates. For an octree, each level of depth refines the coordinates of the points within the child nodes by one bit per component, at a cost of 8 bits per refinement. Further compression is achieved by entropy encoding and decoding the partitioning information associated with each tree node. However, if an octree node contains isolated points, encoding and decoding their relative coordinates directly in the node is better than the octree representation. Because there are no other points in the node, no spatial correlation can be used. Directly encoding and decoding the point coordinates in the node / child nodes is called direct encoding and decoding mode (DCM). On the other hand, using DCM will reduce the time complexity because the octree recursive partitioning process cannot be performed. In G-PCC, each node is determined to be eligible for DCM based on specific eligibility criteria, known as Inferred Direct Codec Mode (IDCM). If a node is eligible for DCM, a binary flag is encoded to signal whether DCM is applied (flag = 1) or not (flag = 0) to the node. If the flag is equal to 1, the points belonging to the associated volume are directly encoded and decoded using DCM. Otherwise (flag equals 0), the tree encoding and decoding process continues for the current node. Currently, there are two eligibility criteria for IDCM. Based on parent eligibility: There is only one occupied child node at the parent node level (= current node), and a grandparent node has at most two occupied children (= parent node + possibly one other node). 6N eligibility. There is only one occupied child node at the parent node level (=current node), and no occupied neighbors N (among the six neighbors that share a face with the current cube associated with the current node). 3.4 Angle Mode In G-PCC, angle mode was introduced to improve the compression of isolated point relative coordinates and planar positions in IDCM. It can only be used with point cloud data captured by real-time LIDAR. For standard spindle-type LIDAR, each laser has a fixed pitch angle and captures a fixed maximum number of points per rotation. Angle mode uses the previously fixed pitch angle of each laser. It uses the pitch angle distance of the child node from the laser pitch angle to improve the compression of the binary occupancy codec by predicting the planar position in plan mode and the z-coordinate bit in the DCM node. Angle mode is applied to nodes that meet pitch angle eligibility criteria, that is, if the pitch angle dimension is less than the minimum pitch angle delta between two adjacent lasers. If a node qualifies, then only one laser passes through it in the pitch angle direction. Lasers that pass through the node's pitch angle are then found, and the pitch angles of several key points of the node are calculated. Based on the relationship between the pitch angles of the key points and the pitch angle of the laser passing through the node, a context is determined to help encode and decode the z-coordinate bits in the DCM and the planar position of the z-axis in the planar mode. 3.5 azimuth mode Similar to angle mode, azimuth mode was introduced to improve the compression of isolated point relative coordinates and planar positions in IDCM. It can also only be used with point cloud data captured by real-time LIDAR. Azimuth mode uses the prior information of a fixed maximum number of points captured per laser rotation. It uses the azimuth of the encoded node to improve the compression of the binary occupancy codec by predicting the x or y planar position of the planar mode and the x or y coordinate bits of the DCM node. In the current G-PCC, if a node qualifies for angle mode, it qualifies for azimuth mode. If a node qualifies for azimuth mode, the index of the laser passing through the node will be found. The predicted azimuth will be determined based on the laser information and the azimuth of the encoded node with the same laser as the current node. The azimuth of several key points of the node will then be calculated. Based on the positional relationship between the azimuths of several key points and the predicted azimuth, a context will be determined to help encode or decode the x-coordinate or y-coordinate bits in the DCM, and encode or decode the planar position of the x-axis or y-axis in planar mode. 3.6 Geometric Quantization Geometry quantization is one of the important tools for compressing geometric information. It will significantly improve the efficiency of geometry compression, but it will cause geometric distortion in coordinates, such as the accuracy of x, y, and z coordinates. 4. Question The existing designs for point cloud geometry encoding and decoding have the following problems: 1. In the current G-PCC, geometric quantization significantly improves the geometric compression efficiency, but it also introduces distortions in the x, y, and z coordinates. Meanwhile, for LIDAR-captured point cloud data, there is some prior information that can be used to reduce the distortion of the geometric coordinates. Specifically, the pitch angle information can be used to reduce the distortion of the z coordinate, and the azimuth angle information can be used to reduce the distortion of the x and y coordinates. For example, the pitch angle of the decoded point's capture laser can be used to correct its z coordinate. Another example is that the azimuth angle of the decoded point's capture laser beam can be used to correct its x and y coordinates. 5. Specific solutions In order to solve the above problems and some other problems not mentioned, the following method is disclosed. The embodiments should be considered as examples to explain the general concept and should not be interpreted in a narrow sense. In addition, these embodiments can be applied alone or combined in any way. 1) A method of trapping laser with a fixed point is proposed. a. In one example, the capturing laser of a point may be a laser that captures the point when collecting point cloud data. b. In one example, the coordinates of the points may have been quantized. c. In one example, the captured laser at a point can be determined by searching the pitch angles of all lasers and comparing them to the pitch angle of the point. i. In one example, the capture laser of a point may be the capture laser that has the smallest difference in pitch angle with the point. ii. In one example, the pitch angle may be represented by an angle value. 1. In one example, the elevation angle of a point can be calculated based on its coordinates. a. In one example, the pitch angle θ of a point (x, y, z) can be calculated as follows: Where arctan() is the inverse tangent function. iii. In one example, the pitch angle may be represented by the tangent of the angle. 1. In one example, the pitch angle of a point can be replaced by its tangent value, in this case, the tangent value θ of the point (x, y, z) r can be calculated as follows: 2. In one example, the pitch angle of the laser can be replaced by the corresponding tangent value. d. In one example, the captured laser light at a point can be determined by searching for the corresponding values ​​of all laser lights and comparing them to the corresponding value at that point. i. In one example, the capture laser for a point may be the capture laser that has the smallest difference in corresponding value with the point. ii. In one example, the corresponding value may be positively correlated with the pitch angle. iii. In one example, the corresponding value may be the tangent of the pitch angle. iv. In one example, the corresponding value may be a z-coordinate. v. In one example, the corresponding value can be calculated based on its coordinates. e. In one example, the capture laser can be determined by inheriting from a previous point. f. In one example, this determination may be derived at the encoder. g. In one example, this determination can be derived at the decoder. 2) It is proposed to correct the z coordinate of a point according to the pitch angle of the capture laser of the point. a. In one example, the base z coordinate of a point will be obtained based on the pitch angle of its capturing laser. i. In one example, the base z coordinate z of a point (x, y, z) b Will be obtained as follows: z b =f(x,y,θ) where θ is the pitch angle of the capture laser and f() is the function that maps a point to the pitch angle of its capture laser in the z direction. 1. In one example, the function could be 2. In one example, the function could be ii. In one example, the base z coordinate z b It can be represented by the function f(z b ) for further processing. 1. In one example, f() may be a rounding function. a. In one example, f() can be a round() function where round(x) finds the nearest integer to x. b. In one example, f() can be a floor() function, where floor(x) finds the largest integer less than or equal to x. c. In one example, f() can be a ceil() function, where ceil(x) finds the smallest integer greater than or equal to x. b. In one example, when calculating the base z coordinate, the laser head position displacement in the z direction can be added. i. In one example, the base z coordinate z of a point (x, y, z) b Will be obtained as follows: z b =f(x,y,θ)+z s Where θ is the pitch angle of the capture laser, f() is the function that can map the point to the pitch angle of its capture laser in the z direction, z s is the laser head position displacement in the z direction. 1. In one example, the function could be 2. In one example, the function could be ii. In one example, the base z coordinate z of a point (x, y, z) b Will be obtained as follows: Where θ is the pitch angle of the capture laser, f() is the function that can map a point to the pitch angle of its capture laser in the z direction, Qs is the geometric quantization step size, is the quantized or scaled laser head position displacement in the z direction. 1. In one example, the function can be 2. In one example, the function can be iii. In one example, the base z coordinate z of a point (x, y, z) b Will be obtained as follows: Where θ is the pitch angle of the capture laser, f() is the function that can map a point to the pitch angle of its capture laser in the z direction, Qs is the geometric quantization step size, is the quantized or scaled laser head position displacement in the z direction. 1. In one example, the function could be 2. In one example, the function could be iv. In one example, the base z coordinate z b The function f(z b ) for further processing. 1. In one example, f() may be a rounding function. a. In one example, f() can be a round() function where round(x) finds the nearest integer to x. b. In one example, f() can be a floor() function, where floor(x) finds the largest integer less than or equal to x. c. In one example, f() can be a ceil() function, where ceil(x) finds the smallest integer greater than or equal to x. c. In one example, the base z coordinate can directly replace the z coordinate of the point. d. In one example, the base z-coordinate can replace the point's z-coordinate when some conditions are met. i. In one example, one of the conditions may be that the difference between the z coordinate and the base z coordinate is less than a threshold. 1. In one example, the threshold value may be related to the geometric quantization step size. a. In one example, the threshold can be set to the geometric quantization step size. b. In one example, the threshold value can be set as a function of the geometric quantization step size. i. In one example, the function can be a linear function, a power function, an exponential function, etc. ii. In one example, one of the conditions for a point (x, y, z) can be where Δ θ is the minimum difference between the pitch angles of adjacent lasers, Qs is the geometric quantization step size, and a, b, c, d, and e are scaling factors. 1. In one example, a may be 0.5, b may be 1, c may be 1, d may be 1, and e may be 1. iii. In one example, one of the conditions may be that the absolute value of the difference between the z coordinate and the base z coordinate is smaller than a threshold value. 1. In one example, the threshold value may be related to the geometric quantization step size. a. In one example, the threshold can be set to the geometric quantization step size. b. In one example, the threshold value can be set as a function of the geometric quantization step size. i. In one example, the function may be a linear function, a power function, an exponential function, etc. e. In one example, the z coordinate of the point may be added with a function value of the difference between the z coordinate and the base z coordinate. i. In one example, the function can be a linear function, a power function, an exponential function, etc. f. In one example, the correction may be performed at the encoder. g. In one example, the correction may be performed at the decoder. 3) It is proposed to correct the x or y coordinate of a point according to the azimuth angle of the captured laser beam of the point. a. In one example, each point is associated with a capturing laser beam. b. In one example, the base x-coordinate of a point will be obtained based on the azimuth angle of its capturing laser beam. i. In one example, the base x coordinate x of a point (x, y, z) b Will be obtained as follows: in is the azimuth angle of the capture laser beam, and f() is a function that can map a point to the azimuth angle of the capture laser beam in the x direction. c. In one example, the base x-coordinate can directly replace the x-coordinate of the point. d. In one example, the base x-coordinate can replace the point's x-coordinate when some conditions are met. i. In one example, one of the conditions may be that the difference between x and the base x coordinate is less than a threshold. 1. In one example, the threshold value may be related to the geometric quantization step size. a. In one example, the threshold can be set to the geometric quantization step size. e. In one example, the base y-coordinate of a point will be obtained based on the azimuth angle of its capturing laser beam. i. In one example, the base y coordinate y of the point (x, y, z) b Will be obtained as follows: in is the azimuth angle of the capture laser beam, and f() is a function that can map a point to the azimuth angle of the capture laser beam in the y direction. f. In one example, the base y coordinate can directly replace the y coordinate of the point. g. In one example, the base y-coordinate can replace the point's y-coordinate when some conditions are met. i. In one example, one of the conditions may be that the difference between y and the base y coordinate is less than a threshold. 1. In one example, the threshold may be the geometric quantization step size. a. In one example, the threshold can be set to the geometric quantization step size. h. In one example, the correction may be performed at the encoder. i. In one example, correction may be performed at the decoder. 4) It is proposed to correct the coordinates of a point only when it meets certain conditions. a. In one example, the coordinate may be an x-coordinate or / and a y-coordinate. b. In one example, the coordinate may be a z-coordinate. c. In one example, one of the conditions may be that quantization distortion will not result in finding a wrong capture laser. i. In one example, for a point (x, y, z), one of the conditions may be: Where Qs is the geometric quantization step size, θ is the pitch angle of the capture laser, and θ n is the pitch angle of the previous laser or the next laser, and abs() is the absolute value function. ii. In one example, for a point (x, y, z), one of the conditions may be: Where Qs is the geometric quantization step size, θ is the pitch angle of the capture laser, and θ n is the pitch angle of the previous laser or the next laser, and abs() is the absolute value function. iii. In one example, one of the conditions for a point (x, y, z) can be where Δ θ is the minimum difference between the pitch angles of adjacent lasers, Qs is the geometric quantization step size, and a, b, c, d, and e are scaling factors. 1. In one example, a may be 0.5, b may be 1, c may be 1, d may be 1, and e may be 1. iv. In one example, one of the conditions may be that the difference between the z coordinate and the base z coordinate is less than a threshold. 1. In one example, the threshold value may be related to the geometric quantization step size. a. In one example, the threshold can be set to the geometric quantization step size. b. In one example, the threshold value can be set as a function of the geometric quantization step size. i. In one example, the function can be a linear function, a power function, an exponential function, etc. v. In one example, one of the conditions may be that the absolute value of the difference between the z coordinate and the base z coordinate is less than a threshold value. 1. In one example, the threshold value may be related to the geometric quantization step size. a. In one example, the threshold can be set to the geometric quantization step size. b. In one example, the threshold value can be set as a function of the geometric quantization step size. i. In one example, the function may be a linear function, a power function, an exponential function, etc. d. In one example, one of the conditions may be that quantization distortion will not result in finding a wrong capturing laser beam. i. In one example, the capture laser beam can be found after the capture laser has been found. e. The above conditions can be used independently or in combination to constrain the correction of coordinates. 5) It is proposed to use at least one indicator (eg, a binary value) to indicate whether the prior information from LIDAR is used to correct the coordinates. a. In one example, the prior information may be the pitch angle information of the laser. b. In one example, the prior information may be the azimuth angle of the laser beam. c. In one example, the coordinate may be an x-coordinate or / and a y-coordinate. d. In one example, the coordinate may be a z-coordinate. e. In one example, the coordinates may be the coordinates of a decoded point cloud. f. In one example, the indicator may be consistent within a codec unit. i. In one example, the encoding and decoding unit may be a frame. ii. In one example, the coding unit may be a slice. iii. In one example, the coding unit may be a slice. iv. In one example, the encoding / decoding unit may be a group of frames (GOF). v. In one example, the encoding and decoding unit can be a point cloud sequence. g. In one example, the indicator may be signaled in the bitstream. i. Alternatively, the indicator may be inferred at the decoder and / or encoder. h. In one example, the indicator may be conditionally signaled. i. In one example, an indicator may be signaled only if the proposed coordinate correction is allowed. 1. In one example, whether the proposed coordinate correction is allowed may depend on codec information. 2. In one example, whether the proposed coordinate correction is allowed can be signaled. i. In one example, the indicator may be binarized using fixed-length codec, EG codec, (truncation) unary codec, etc. j. In one example, the indicator may be coded using at least one context in arithmetic coding. k. In one example, the indicator may be bypassed for encoding and decoding. 6) It is proposed to perform geometric coordinate correction before attribute encoding and decoding. a. In one example, the attributes may be color, reflectivity, normal, etc. b. In one example, attribute encoding and decoding can rely on corrected geometric coordinates. 7) It is proposed to perform geometric coordinate correction after attribute encoding and decoding. a. In one example, the attributes may be color, reflectivity, normal, etc. b. In one example, attribute encoding and decoding may not rely on the corrected geometric coordinates. 8) Whether and / or how the above disclosed methods are applied may be signaled in the bitstream / frame / slice / slice / octree / etc. from the encoder to the decoder. 9) Whether and / or how to apply the above disclosed methods may depend on the coded information, such as dimension, color format, color component, slice / picture type. 10) Geometric coordinate correction can be applied to various geometric encoding and decoding methods. a. In one example, the geometric coding method may be octree coding or an octree-based coding method, which is one of the geometric coding methods in G-PCC. b. In one example, the geometric coding method may be prediction tree coding or a method based on prediction tree coding, which is one of the geometric coding methods in G-PCC. c. In one example, the geometry codec method may be a geometry codec method in Low Delay Low Complexity LIDAR Codec (L3C2) which is an MPEG standard. d. In one example, the geometry coding method may be triangle set coding, which is one of the geometry coding methods in G-PCC, or a method based on triangle set coding. 11) Attribute encoding and decoding can rely on corrected geometric coordinates. a. In one example, the attribute coding method may be prediction transform or a method based on prediction transform, which is one of the attribute coding methods in G-PCC. b. In one example, the attribute coding method may be lifting transform or a method based on lifting transform, which is one of the attribute coding methods in G-PCC. c. In one example, the attribute coding method may be Region Adaptive Hierarchical Transform (RAHT), which is one of the attribute coding methods in G-PCC, or a method based on RAHT. d. In one example, the corrected geometric coordinates may be further processed before attribute encoding and decoding. i. In one example, the corrected geometric coordinates can be converted into other forms of coordinates. 1. In one example, one form of coordinates may be spherical coordinates. 2. In one example, one form of coordinates may be cylindrical coordinates. 3. In one example, other forms of coordinates may be scaled and / or shifted. 12) All operations of the proposed method can be performed with floating point precision or fixed point precision. 6. Examples An example flow chart of the codec flow 400 for point cloud geometric coordinate correction using LIDAR characteristics is shown in FIG. Figure 4 As shown. As shown in the figure, at box 410, the point cloud geometry of the point cloud bitstream 401 is decoded. For example, the point cloud geometry may include the geometric coordinates of the points in the point cloud sequence. At box 420, the point cloud attributes of the point cloud bitstream 401 are decoded. At box 430, it is determined whether the geometric coordinates are corrected. If the geometric coordinates are corrected, then at box 440, the point cloud geometric coordinates are corrected according to LIDAR characteristics, such as pitch angle and azimuth information. Then, the reconstructed point cloud 441 can be output. Otherwise, if the geometric coordinates are not corrected, the reconstructed point cloud 441 can be output. In another example, point cloud attribute encoding and decoding depends on the corrected geometric coordinates. Figure 5Another example flow chart of an encoding and decoding flow 500 using LIDAR-specific point cloud geometry correction is depicted in FIG. As shown, at block 510, the point cloud geometry of a point cloud bitstream 501 is decoded. For example, the point cloud geometry may include the geometric coordinates of points in a point cloud sequence. At block 520, a determination is made as to whether the geometric coordinates are corrected. If the geometric coordinates are corrected, then at block 530, the point cloud geometric coordinates are corrected based on LIDAR characteristics, such as pitch and azimuth information. At block 540, the point cloud attributes of the point cloud bitstream 501 are decoded. Then, a reconstructed point cloud 441 may be output. Otherwise, if the geometric coordinates are not corrected, then at block 540, the point cloud attributes of the point cloud bitstream 501 are decoded. Then, a reconstructed point cloud 541 may be output.

[0054] More details will be discussed further below. Figure 6 A flowchart of a method 600 for point cloud encoding and decoding according to an embodiment of the present disclosure is shown. The method 600 is implemented for conversion between a current encoding and decoding unit of a point cloud sequence and a bit stream of the point cloud sequence.

[0055] At block 610, a determination is made as to whether at least one condition associated with at least one coordinate of a point in the current codec unit is satisfied. At block 620, if the at least one condition is satisfied, the at least one coordinate is updated based on the capture laser that captured the point. As used herein, updating coordinates may be referred to as "correcting coordinates" or "correcting coordinates."

[0056] In some embodiments, the at least one coordinate of a point may include at least one of the following: a first coordinate of the point in a first direction (such as coordinate x), a second coordinate of the point in a second direction (such as coordinate y), or a third coordinate of the point in a third direction (such as coordinate z). The position of the point may be represented by (x, y, z).

[0057] At block 630, conversion is performed based on the updated at least one coordinate of the point. In some embodiments, conversion includes encoding the current codec unit into a bitstream. Alternatively or additionally, in some embodiments, conversion includes decoding the current codec unit from the bitstream.

[0058] Method 600 enables the correction of point coordinates based on the captured laser light. In this way, the distortion of geometric coordinates can be reduced. Therefore, the effectiveness and efficiency of point cloud geometry encoding and decoding can be improved.

[0059] In some embodiments, the at least one coordinate includes at least one of: a first coordinate in a first direction, a second coordinate in a second direction, or a third coordinate in a third direction.

[0060] In some embodiments, the at least one condition includes the following: where Δ θ represents the minimum difference between the pitch angle of the adjacent laser and the pitch angle of the trapping laser, Qs represents the step size of geometric quantization, and a, b, c, d, and e represent scaling factors. For example, a is 0.5, b is 1, c is 1, d is 1, and e is 1.

[0061] In some embodiments, the at least one condition includes a condition that a difference between a third coordinate of the point in the third direction and a revised third coordinate is less than a threshold, the revised third coordinate being determined based on a capturing laser of the point.

[0062] In some embodiments, the at least one condition includes a condition that an absolute value of a difference between a third coordinate of the point in the third direction and a corrected third coordinate is less than a threshold, the corrected third coordinate being determined based on a capturing laser of the point.

[0063] In some embodiments, the threshold is related to the step size of the geometric quantization.

[0064] In some embodiments, the threshold is the step size of the geometric quantization.

[0065] In some embodiments, the threshold is determined based on a metric value determined by a metric of a step size of the geometric quantization. For example, the metric may include at least one of the following: a linear metric, a power metric, or an exponential metric.

[0066] In some embodiments, updating at least one coordinate of the point includes: determining a corrected third coordinate of the point based on a third coordinate of the point in a third direction and a pitch angle of a capturing laser of the point; and updating the third coordinate based on the corrected third coordinate.

[0067] In some embodiments, the corrected third coordinate of the point is determined based on a first metric that maps the point to a pitch angle of the capture laser in a third direction.

[0068] In some embodiments, the corrected third coordinate of the point is further determined based on a rounding operation. For example, the rounding operation includes one of the following: a first rounding operation to round to the nearest integer to the corrected third coordinate; a second rounding operation to round to the largest integer less than or equal to the corrected third coordinate; or a third rounding operation to round to the smallest integer greater than or equal to the corrected third coordinate.

[0069] In some embodiments, the corrected third coordinate of the point is further determined based on a laser head position displacement of the capture laser in the third direction.

[0070] In some embodiments, the corrected third coordinate is determined by one of: or where θ represents the pitch angle of the capture laser, f() represents the first metric for mapping points to the pitch angle of the capture laser in the third direction, Qs represents the step size of the geometric quantization, and Represents the quantized or scaled laser head position displacement in the third direction.

[0071] In some embodiments, the first metric includes one of: or Wherein x represents a first coordinate of a point in a first direction, y represents a second coordinate of the point in a second direction, and θ represents a pitch angle.

[0072] In some embodiments, the corrected third coordinate of the point is further determined based on a rounding operation. For example, the rounding operation includes one of the following: a first rounding operation to round to the nearest integer to the corrected third coordinate; a second rounding operation to round to the largest integer less than or equal to the corrected third coordinate; or a third rounding operation to round to the smallest integer greater than or equal to the corrected third coordinate.

[0073] In some embodiments, the third coordinate of the point is replaced by the revised third coordinate based on a condition being satisfied.

[0074] In some embodiments, the condition includes a difference between the third coordinate of the point and the revised third coordinate being less than a threshold.

[0075] In some embodiments, the condition includes an absolute value of a difference between the third coordinate of the point and the revised third coordinate being less than a threshold value.

[0076] In some embodiments, the threshold is related to the step size of the geometric quantization.

[0077] In some embodiments, the threshold is the step size of the geometric quantization.

[0078] In some embodiments, the threshold comprises a metric value determined based on a metric of a step size of the geometric quantization.

[0079] In some embodiments, the metric includes at least one of: a linear metric, a power metric, or an exponential metric.

[0080] In some embodiments, the conditions include: where Δ θ represents the minimum difference between the pitch angle of the adjacent laser and the pitch angle of the trapping laser, Qs represents the step size of geometric quantization, and a, b, c, d, and e represent scaling factors. For example, a is 0.5, b is 1, c is 1, d is 1, and e is 1.

[0081] In some embodiments, the method is applied to at least one geometry codec tool.

[0082] In some embodiments, at least one geometry codec tool includes at least one of the following: a geometry codec tool in geometry-based point cloud compression (GPCC), an octree codec or an octree-based codec, a prediction tree codec or a codec tool based on a prediction tree codec, a geometry codec tool in low-latency low-complexity LIDAR codec (L3C2), a triangle set codec, or a codec tool based on a triangle set codec.

[0083] In some embodiments, the method 600 further includes performing attribute encoding and decoding based on the updated at least one coordinate of the point.

[0084] In some embodiments, the attribute encoding and decoding includes at least one of the following: an attribute encoding and decoding tool in geometry-based point cloud compression (GPCC), a prediction transform, an encoding and decoding tool based on a prediction transform, a lifting transform or an encoding and decoding tool based on a lifting transform, or a region adaptive hierarchical transform (RAHT) or a RATH-based encoding and decoding tool.

[0085] In some embodiments, the updated at least one coordinate is further processed prior to attribute encoding and decoding.

[0086] In some embodiments, the updated at least one coordinate is converted to at least one coordinate form. In some embodiments, the at least one coordinate form includes at least one of the following: a spherical coordinate form, a cylindrical coordinate form, a scaled coordinate form, or a shifted coordinate form.

[0087] In some embodiments, at least one of floating point precision or fixed point precision is used by the method. For example, all operations of method 600 may be performed with floating point precision or fixed point precision.

[0088] In some embodiments, information about whether and / or how to apply a method is included in at least one of: a frame, a slice, a slice, or an octree in a bitstream, or the bitstream.

[0089] In some embodiments, the information is based on coded information, for example, the coded information includes at least one of the following: dimension, color format, color component, slice type, or picture type.

[0090] According to another embodiment of the present disclosure, a non-transitory computer-readable recording medium is provided. The non-transitory computer-readable recording medium stores a video bitstream generated by a method performed by an apparatus for point cloud encoding and decoding. In the method, whether at least one condition associated with at least one coordinate of a point in a current encoding unit of a point cloud sequence is satisfied is determined. If the at least one condition is satisfied, the at least one coordinate is updated based on a capture laser that captured the point. A bitstream is generated based on the at least one updated coordinate of the point.

[0091] According to further embodiments of the present disclosure, a method for storing a video bitstream is provided. In the method, whether at least one condition associated with at least one coordinate of a point in a current codec unit of a point cloud sequence is satisfied is determined. If the at least one condition is satisfied, the at least one coordinate is updated based on a capture laser that captured the point. A bitstream is generated based on the updated at least one coordinate of the point. The bitstream is stored in a non-transitory computer-readable recording medium.

[0092] The embodiments of the present disclosure may be described according to the following items, the features of which may be combined in any reasonable way.

[0093] Item 1. A method for point cloud encoding and decoding, comprising: determining whether at least one condition associated with at least one coordinate of a point in the current encoding and decoding unit is satisfied for conversion between a current encoding and decoding unit of a point cloud sequence and a bit stream of the point cloud sequence; if it is determined that the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captures the point; and performing the conversion based on the updated at least one coordinate of the point.

[0094] Item 2. The method of Item 1, wherein the at least one coordinate comprises at least one of: a first coordinate in a first direction, a second coordinate in a second direction, or a third coordinate in a third direction.

[0095] Clause 3. The method according to clause 1 or 2, wherein the at least one condition comprises the following conditions: where Δ θ represents the minimum difference between the pitch angles of adjacent lasers and the pitch angle of the capture laser, Qs represents the step size of geometric quantization, and a, b, c, d and e represent scaling factors.

[0096] Item 4. The method of Item 3, wherein a is 0.5, b is 1, c is 1, d is 1, and e is 1.

[0097] Item 5. A method according to any one of Items 1 to 4, wherein the at least one condition includes the following condition: the difference between the third coordinate of the point in the third direction and the corrected third coordinate is less than a threshold value, and the corrected third coordinate is determined based on the capture laser of the point.

[0098] Item 6. A method according to any one of Items 1 to 4, wherein the at least one condition includes the following condition: the absolute value of the difference between the third coordinate of the point in the third direction and the corrected third coordinate is less than a threshold value, and the corrected third coordinate is determined based on the capture laser of the point.

[0099] Item 7. A method according to Item 5 or 6, wherein the threshold is related to the step size of geometric quantization.

[0100] Item 8. The method of Item 7, wherein the threshold is a step size of the geometric quantization.

[0101] Clause 9. The method of clause 7, wherein the threshold is determined based on a metric value determined by a metric of a step size of the geometric quantization.

[0102] Item 10. The method of Item 7, wherein the metric comprises at least one of: a linear metric, a power metric, or an exponential metric.

[0103] Item 11. A method according to any one of Items 1 to 10, wherein updating at least one coordinate of the point includes: determining a corrected third coordinate of the point based on a third coordinate of the point in a third direction and a pitch angle of the capture laser of the point; and updating the third coordinate based on the corrected third coordinate.

[0104] Item 12. The method of Item 11, wherein the corrected third coordinate of the point is determined based on a first metric that maps the point to the pitch angle of the capture laser in the third direction.

[0105] Clause 13. The method of clause 11 or 12, wherein the revised third coordinate of the point is further determined based on a rounding operation.

[0106] Item 14. A method according to Item 13, wherein the rounding operation includes one of the following: a first rounding operation, which rounds to the nearest integer to the corrected third coordinate; a second rounding operation, which rounds to the largest integer less than or equal to the corrected third coordinate; or a third rounding operation, which rounds to the smallest integer greater than or equal to the corrected third coordinate.

[0107] Item 15. The method according to any one of Items 11 to 14, wherein the corrected third coordinate of the point is determined further based on a laser head position displacement of the capture laser in the third direction.

[0108] Clause 16. The method of clause 15, wherein the revised third coordinate is determined by one of: or Wherein θ represents the pitch angle of the capture laser, f() represents a first metric for mapping the point to the pitch angle of the capture laser in the third direction, Qs represents the step size of geometric quantization, and represents the quantized or scaled position displacement of the laser head in the third direction.

[0109] Clause 17. The method of clause 16, wherein the first metric comprises one of: or Wherein x represents the first coordinate of the point in the first direction, y represents the second coordinate of the point in the second direction, and θ represents the pitch angle.

[0110] Clause 18. The method of clause 16 or 17, wherein the revised third coordinate of the point is further determined based on a rounding operation.

[0111] Item 19. A method according to Item 18, wherein the rounding operation includes one of the following: a first rounding operation, which rounds to the nearest integer to the corrected third coordinate; a second rounding operation, which rounds to the largest integer less than or equal to the corrected third coordinate; or a third rounding operation, which rounds to the smallest integer greater than or equal to the corrected third coordinate.

[0112] Item 20. The method of any one of Items 11 to 19, wherein the third coordinate of the point is replaced by the revised third coordinate based on a condition being satisfied.

[0113] Item 21. The method of Item 20, wherein the condition comprises a difference between the third coordinate of the point and the revised third coordinate being less than a threshold.

[0114] Item 22. The method of Item 20, wherein the condition includes an absolute value of a difference between the third coordinate of the point and the revised third coordinate being less than a threshold value.

[0115] Item 23. The method of Item 22, wherein the threshold is related to a step size of geometric quantization.

[0116] Item 24. The method of Item 22, wherein the threshold is a step size of the geometric quantization.

[0117] Item 25. The method of Item 22, wherein the threshold comprises a metric value determined based on a metric of a step size of the geometric quantization.

[0118] Item 26. The method of Item 25, wherein the metric comprises at least one of: a linear metric, a power metric, or an exponential metric.

[0119] Clause 27. The method of clause 20, wherein the condition comprises: where Δ θ represents the minimum difference between the pitch angles of adjacent lasers and the pitch angle of the capture laser, Qs represents the step size of geometric quantization, and a, b, c, d and e represent scaling factors.

[0120] Item 28. The method of Item 27, wherein a is 0.5, b is 1, c is 1, d is 1, and e is 1.

[0121] Item 29. A method according to any one of Items 1 to 28, wherein the method is applied to at least one geometric encoding and decoding tool.

[0122] Item 30. A method according to Item 29, wherein the at least one geometric codec tool includes at least one of the following: a geometric codec tool in geometry-based point cloud compression (GPCC), an octree codec or an octree-based codec, a prediction tree codec or a codec tool based on a prediction tree codec, a geometric codec tool in low-latency low-complexity LIDAR codec (L3C2), a triangle set codec or a codec tool based on a triangle set codec.

[0123] Item 31. The method of any one of Items 1 to 30, further comprising: performing attribute encoding and decoding based on the updated at least one coordinate of the point.

[0124] Item 32. A method according to Item 31, wherein the attribute codec includes at least one of the following: an attribute codec tool in geometry-based point cloud compression (GPCC), a prediction transform, a codec tool based on a prediction transform, a lifting transform or a codec tool based on a lifting transform, or a region adaptive hierarchical transform (RAHT) or a RATH-based codec tool.

[0125] Item 33. The method of Item 31 or 32, wherein the updated at least one coordinate is further processed prior to encoding and decoding the attribute.

[0126] Item 34. The method of Item 33, wherein the updated at least one coordinate is converted to at least one coordinate form.

[0127] Item 35. A method according to Item 34, wherein the at least one coordinate form comprises at least one of the following: a spherical coordinate form, a cylindrical coordinate form, a scaled coordinate form, or a shifted coordinate form.

[0128] Item 36. A method according to any one of Items 1 to 35, wherein at least one of floating point precision or fixed point precision is used by the method.

[0129] Item 37. A method according to any one of items 1 to 36, wherein information about whether and / or how to apply the method is included in at least one of the following: a frame, a slice, a strip, or an octree in the bitstream, or the bitstream.

[0130] Clause 38. The method of clause 37, wherein the information is based on encoded information.

[0131] Item 39. The method of Item 38, wherein the encoded information comprises at least one of: dimension, color format, color component, slice type, or picture type.

[0132] Item 40. A method according to any one of Items 1 to 39, wherein the converting comprises encoding the current codec unit into the bitstream.

[0133] Item 41. A method according to any one of Items 1 to 39, wherein the converting comprises decoding the current codec unit from the bitstream.

[0134] Item 42. An apparatus for point cloud encoding and decoding, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to any one of Items 1 to 41.

[0135] Item 43. A non-transitory computer-readable storage medium storing instructions for causing a processor to perform the method according to any one of Items 1 to 41.

[0136] Item 44. A non-transitory computer-readable recording medium storing a bitstream of a video generated by a method performed by an apparatus for point cloud encoding and decoding, wherein the method comprises: determining whether at least one condition associated with at least one coordinate of a point in a current encoding and decoding unit of the point cloud sequence is satisfied; if it is determined that the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captures the point; and generating the bitstream based on the updated at least one coordinate of the point.

[0137] Item 45. A method for storing a bitstream of a video, comprising: determining whether at least one condition associated with at least one coordinate of a point in a current codec unit of the point cloud sequence is satisfied; if it is determined that the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captures the point; generating the bitstream based on the updated at least one coordinate of the point, and storing the bitstream in a non-transitory computer-readable recording medium. Example device

[0138] Figure 7 A block diagram of a computing device 700 in which various embodiments of the present disclosure may be implemented is shown. The computing device 700 may be implemented as a source device 110 (or GPCC encoder 116 or 200) or a destination device 120 (or GPCC decoder 126 or 300), or may be included in the source device 110 (or GPCC encoder 116 or 200) or the destination device 120 (or GPCC decoder 126 or 300).

[0139] It should be understood that Figure 7 The computing device 700 shown in FIG. 7 is for illustrative purposes only and is not intended to in any way imply any limitation on the functionality and scope of the disclosed embodiments.

[0140] like Figure 7 As shown, computing device 700 comprises a general purpose computing device 700. Computing device 700 may include at least one or more processors or processing units 710, memory 720, storage unit 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760.

[0141] In some embodiments, the computing device 700 can be implemented as any user terminal or server terminal with computing capabilities. The server terminal can be a server provided by a service provider, a large computing device, etc. The user terminal can be, for example, any type of mobile terminal, fixed terminal or portable terminal, including a mobile phone, a station, a unit, a device, a multimedia computer, a multimedia tablet computer, an Internet node, a communicator, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a gaming device, or any combination thereof, and includes accessories and peripherals of these devices, or any combination thereof. It is conceivable that the computing device 700 can support any type of interface to the user (such as a "wearable" circuit device, etc.).

[0142] Processing unit 710 may be a physical processor or a virtual processor and may implement various processes based on a program stored in memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capabilities of computing device 700. Processing unit 710 may also be referred to as a central processing unit (CPU), a microprocessor, a controller, or a microcontroller.

[0143] The computing device 700 typically includes various computer storage media. Such media can be any media accessible by the computing device 700, including but not limited to volatile media and non-volatile media, or removable media and non-removable media. The memory 720 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) or flash memory) or any combination thereof. The storage unit 730 can be any removable or non-removable medium and can include machine-readable media, such as memory, a flash drive, a disk or other media that can be used to store information and / or data and can be accessed in the computing device 700.

[0144] The computing device 700 may also include additional removable / non-removable storage media, volatile / non-volatile storage media. Figure 7 Although not shown, a magnetic disk drive for reading from and / or writing to a removable nonvolatile magnetic disk, and an optical disk drive for reading from and / or writing to a removable nonvolatile optical disk may be provided. In this case, each drive may be connected to a bus (not shown) via one or more data medium interfaces.

[0145] The communication unit 740 communicates with another computing device via a communication medium. In addition, the functions of the components in the computing device 700 can be implemented by a single computing cluster or multiple computing machines communicating via a communication connection. Thus, the computing device 700 can operate in a networked environment using logical connections to one or more other servers, networked personal computers (PCs), or other general-purpose network nodes.

[0146] Input device 750 may be one or more of various input devices, such as a mouse, keyboard, trackball, voice input device, etc. Output device 760 may be one or more of various output devices, such as a display, speaker, printer, etc. With the aid of communication unit 740, computing device 700 may also communicate with one or more external devices (not shown), such as storage devices and display devices, and may also communicate with one or more devices that enable a user to interact with computing device 700, or any device that enables computing device 700 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.), if desired. Such communication may be performed via an input / output (I / O) interface (not shown).

[0147] In some embodiments, some or all components of the computing device 700 may not be integrated into a single device, but may be arranged in a cloud computing architecture. In a cloud computing architecture, components may be provided remotely and work together to implement the functionality described in this disclosure. In some embodiments, cloud computing provides computing, software, data access, and storage services without requiring the end user to know the physical location or configuration of the systems or hardware providing these services. In various embodiments, cloud computing provides services via a wide area network (such as the Internet) using appropriate protocols. For example, a cloud computing provider provides applications over a wide area network that can be accessed through a web browser or any other computing component. The software or components of the cloud computing architecture and the corresponding data may be stored on servers at a remote location. Computing resources in a cloud computing environment may be consolidated or distributed across locations in remote data centers. Cloud computing infrastructure can provide services through shared data centers, although they appear to be a single access point for users. Therefore, cloud computing architecture can be used to provide the components and functionality described herein from a service provider at a remote location. Alternatively, they can be provided from traditional servers or installed directly or otherwise on client devices.

[0148] In embodiments of the present disclosure, computing device 700 may be used to implement point cloud encoding / decoding. Memory 720 may include one or more point cloud encoding / decoding modules 725 having one or more program instructions. These modules can be accessed and executed by processing unit 710 to perform the functions of various embodiments described herein.

[0149] In an example embodiment of performing point cloud encoding, an input device 750 may receive point cloud data as input 770 to be encoded. The point cloud data may be processed by, for example, a point cloud encoding / decoding module 725 to generate an encoded bitstream. The encoded bitstream may be provided as output 780 via an output device 760.

[0150] In an example embodiment of performing point cloud decoding, an input device 750 may receive an encoded bitstream as input 770. The encoded bitstream may be processed by, for example, a point cloud codec module 725 to generate decoded point cloud data. The decoded point cloud data may be provided as output 780 via an output device 760.

[0151] Although the present disclosure has been specifically shown and described with reference to the preferred embodiments of the present disclosure, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the present application as defined by the appended claims. Such changes are intended to be encompassed by the scope of the present application. Therefore, the foregoing description of the embodiments of the present application is not intended to be limiting.

Claims

1. A method for point cloud encoding and decoding, comprising: determining, for conversion between a current codec unit of a point cloud sequence and a bitstream of the point cloud sequence, whether at least one condition associated with at least one coordinate of a point in the current codec unit is satisfied; if it is determined that the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captured the point; as well as The conversion is performed based on the updated at least one coordinate of the point.

2. The method of claim 1 , wherein the at least one coordinate comprises at least one of: a first coordinate in the first direction, a second coordinate in the second direction, or a third coordinate in the third direction.

3. The method according to claim 1 or 2, wherein the at least one condition comprises the following conditions: where Δ θ represents the minimum difference between the pitch angles of adjacent lasers and the pitch angle of the capture laser, Qs represents the step size of geometric quantization, and a, b, c, d and e represent scaling factors. The method of claim 3 , wherein a is 0.5, b is 1, c is 1, d is 1, and e is 1.

5. The method according to any one of claims 1 to 4, wherein the at least one condition comprises the following condition: a difference between a third coordinate of the point in the third direction and a corrected third coordinate is less than a threshold value, the corrected third coordinate being determined based on the capturing laser of the point.

6. The method according to any one of claims 1 to 4, wherein the at least one condition comprises the following condition: an absolute value of a difference between a third coordinate of the point in the third direction and a corrected third coordinate is less than a threshold value, the corrected third coordinate being determined based on the capturing laser of the point. The method according to claim 5 , wherein the threshold is related to a step size of geometric quantization. The method according to claim 7 , wherein the threshold is a step size of the geometric quantization. 9 . The method of claim 7 , wherein the threshold is determined based on a metric value determined by a metric of a step size of the geometric quantization.

10. The method of claim 7, wherein the metric comprises at least one of: a linear metric, a power metric, or an exponential metric.

11. The method according to any one of claims 1 to 10, wherein updating at least one coordinate of the point comprises: determining a corrected third coordinate of the point based on the third coordinate of the point in the third direction and the pitch angle of the capturing laser of the point; as well as The third coordinate is updated based on the revised third coordinate.

12. The method of claim 11, wherein the corrected third coordinates of the point are determined based on a first metric that maps the point to the pitch angle of the capture laser in the third direction.

13. The method according to claim 11 or 12, wherein the corrected third coordinate of the point is further determined based on a rounding operation.

14. The method of claim 13, wherein the rounding operation comprises one of: a first rounding operation to round to the nearest integer to the corrected third coordinate; a second rounding operation to round to a maximum integer less than or equal to the corrected third coordinate; or A third rounding operation is performed to round to a smallest integer greater than or equal to the corrected third coordinate.

15. The method according to any one of claims 11 to 14, wherein the corrected third coordinate of the point is determined further based on a laser head position displacement of the capture laser in the third direction.

16. The method of claim 15, wherein the corrected third coordinate is determined by one of: or Wherein θ represents the pitch angle of the capture laser, f() represents a first metric for mapping the point to the pitch angle of the capture laser in the third direction, Qs represents the step size of geometric quantization, and represents the quantized or scaled position displacement of the laser head in the third direction.

17. The method of claim 16, wherein the first metric comprises one of: or Wherein x represents the first coordinate of the point in the first direction, y represents the second coordinate of the point in the second direction, and θ represents the pitch angle.

18. The method of claim 16 or 17, wherein the revised third coordinate of the point is further determined based on a rounding operation.

19. The method of claim 18, wherein the rounding operation comprises one of: a first rounding operation to round to the nearest integer to the corrected third coordinate; a second rounding operation to round to a maximum integer less than or equal to the corrected third coordinate; or A third rounding operation is performed to round to a smallest integer greater than or equal to the corrected third coordinate.

20. The method of any one of claims 11 to 19, wherein the third coordinate of the point is replaced by the revised third coordinate based on a condition being satisfied.

21. The method of claim 20, wherein the condition includes a difference between the third coordinate of the point and the revised third coordinate being less than a threshold.

22. The method of claim 20, wherein the condition includes an absolute value of a difference between the third coordinate of the point and the revised third coordinate being less than a threshold. The method according to claim 22 , wherein the threshold is related to a step size of geometric quantization. The method of claim 22 , wherein the threshold is a step size of the geometric quantization.

25. The method of claim 22, wherein the threshold comprises a metric value determined based on a metric of a step size of the geometric quantization.

26. The method of claim 25, wherein the metric comprises at least one of: a linear metric, a power metric, or an exponential metric.

27. The method of claim 20, wherein the conditions include: where Δ θ represents the minimum difference between the pitch angles of adjacent lasers and the pitch angle of the capture laser, Qs represents the step size of geometric quantization, and a, b, c, d and e represent scaling factors.

28. The method of claim 27, wherein a is 0.5, b is 1, c is 1, d is 1, and e is 1.

29. A method according to any one of claims 1 to 28, wherein the method is applied to at least one geometric encoding and decoding tool.

30. The method of claim 29, wherein the at least one geometry codec tool comprises at least one of: Geometry encoding and decoding tools in Geometry-based Point Cloud Compression (GPCC), Octree codec or octree-based codec, Prediction tree codecs, or codec tools based on prediction tree codecs, The geometry codec tool in the Low Latency Low Complexity LIDAR Codec (L3C2), or Triangle set encoding and decoding, or encoding and decoding tools based on triangle set encoding and decoding.

31. The method according to any one of claims 1 to 30, further comprising: Attribute encoding and decoding is performed based on the updated at least one coordinate of the point.

32. The method according to claim 31, wherein the attribute encoding and decoding comprises at least one of the following: Attribute encoding and decoding tools in Geometry-Based Point Cloud Compression (GPCC), Predictive transformation, Codec tools based on predictive transform, Lifting transform or a codec based on lifting transform, or Region Adaptive Hierarchical Transform (RAHT) or RATH-based codecs.

33. The method of claim 31 or 32, wherein the updated at least one coordinate is further processed before the attribute encoding and decoding. The method of claim 33 , wherein the updated at least one coordinate is converted into at least one coordinate form.

35. The method of claim 34, wherein the at least one coordinate form comprises at least one of: In the form of spherical coordinates, in cylindrical coordinate form, or in scaled coordinate form, or The form of displacement coordinates.

36. The method of any one of claims 1 to 35, wherein at least one of floating point precision or fixed point precision is used by the method.

37. The method according to any one of claims 1 to 36, wherein information on whether and / or how to apply the method is included in at least one of: A frame, a slice, a slice, or an octree in the bitstream, or the bitstream.

38. The method of claim 37, wherein the information is based on coded information.

39. The method of claim 38, wherein the encoded information comprises at least one of: Dimensions, color format, color components, stripe type, or picture type.

40. The method according to any one of claims 1 to 39, wherein the converting comprises encoding the current codec unit into the bitstream.

41. The method of any one of claims 1 to 39, wherein the converting comprises decoding the current codec unit from the bitstream.

42. An apparatus for point cloud encoding and decoding, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 41.

43. A non-transitory computer-readable storage medium storing instructions for causing a processor to execute the method according to any one of claims 1 to 41.

44. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by a point cloud processing apparatus, wherein the method comprises: determining whether at least one condition associated with at least one coordinate of a point in a current codec unit of the point cloud sequence is satisfied; If it is determined that the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captures the point; as well as The bitstream is generated based on the updated at least one coordinate of the point.

45. A method for storing a bitstream of a point cloud sequence, comprising: determining whether at least one condition associated with at least one coordinate of a point in a current codec unit of the point cloud sequence is satisfied; If it is determined that the at least one condition is satisfied, updating the at least one coordinate based on a capture laser that captures the point; generating the bitstream based on the updated at least one coordinate of the point; as well as The bitstream is stored in a non-transitory computer-readable recording medium.