Method and apparatus for data coding using an inter prediction of a radius and / or azimuthal angle of a point of a coarse representation of a point cloud

The inter prediction scheme for encoding and decoding point cloud data, particularly for Lidar data from moving vehicles, addresses the need for simplicity and low latency while improving compression performance.

WO2026011305A1PCT designated stage Publication Date: 2026-01-15BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/104495
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-09
Publication Date
2026-01-15

Smart Images

  • Figure CN2024104495_15012026_PF_FP_ABST
    Figure CN2024104495_15012026_PF_FP_ABST
Patent Text Reader

Abstract

A method for encoding a point cloud is described. The method includes, for one or more points with a coarse representation of the point cloud, using an inter prediction scheme for encoding a radius and / or azimuthal angle of a current point in a current frame of the point cloud.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR DATA CODING USING AN INTER PREDICTION OF A RADIUS AND / OR AZIMUTHAL ANGLE OF A POINT OF A COARSE REPRESENTATION OF A POINT CLOUDTECHNICAL FIELD

[0001] The present invention generally relates to data compression, more specifically to methods and apparatus for encoding / decoding data of a point cloud, e.g., Lidar data acquired by a moving vehicle. Embodiments of the present invention concern methods and apparatus using, for one or more points using a coarse representation of a point cloud, an inter prediction scheme for coding a radius and / or azimuthal angle of a current point in a current frame of the point cloud by using its coarse position.BACKGROUND

[0002] Data compression is used in communications and computer networking to store, transmit, and reproduce information efficiently. For example, as a format for the representation of three-dimensional (3D) data, point clouds have recently gained attraction as they are versatile in their capability in representing all types of 3D objects or scenes. Therefore, many use cases can be addressed by point clouds, among which are

[0003] · movie post-production,

[0004] · real-time 3D immersive telepresence or VR  / AR (virtual reality  / augmented reality) applications,

[0005] · free viewpoint video, e.g., for sports viewing,

[0006] · geographical information systems, also known as cartography,

[0007] · culture heritage, e.g., the storage of scans of rare objects into a digital form,

[0008] · autonomous driving, including 3D mapping of the environment and real-time Lidar data acquisition (Lidar: Light Detection And Ranging = a method for measuring distances (ranging) by illuminating the target with laser light and measuring the reflection with a sensor) .

[0009] For example, for transmitting Lidar data acquired by a moving vehicle, existing point cloud codecs do not provide for a required encoder and decoder simplicity, low  latency and compression performance. For encoding and decoding point clouds, e.g., for transmitting Lidar data acquired by a moving vehicle, combining encoder and decoder simplicity, low latency and compression performance is important.

[0010] Thus, there is a need to provide approaches addressing problems in the prior art by combining encoder and decoder simplicity, low latency and compression performance, e.g., for transmitting Lidar data acquired by a moving vehicle.SUMMARY

[0011] The present invention provides a method for encoding a point cloud, the method comprising:

[0012] for one or more points with a coarse representation of the point cloud, using an inter prediction scheme for encoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.

[0013] Optionally, an inter-predicted radius residual and / or an inter-predicted azimuthal angle residual is obtained by the inter prediction scheme using a difference between an inter-predicted radius and the radius of the current point, and / or using a difference between an inter-predicted azimuthal angle and the azimuthal angle of the current point.

[0014] Optionally, the inter-predicted radius and / or the inter-predicted azimuthal angle for the current point is obtained by referring to a previous frame of the coarse representation of the point cloud, and finding one or more referred coarse positions, wherein the one or more referred coarse positions include one or more coarse positions in the previous frame, which are located at a position corresponding to a position of coarse position of the current point or which are within a certain range from a position of coarse position of the current point.

[0015] Optionally, the inter-predicted radius and / or the inter-predicted azimuthal angle for the current point is obtained by:

[0016] ‐ finding a coarse position in the previous frame that corresponds to coarse position of the current point in the current frame,

[0017] ‐ using the found coarse position in the previous frame as the referred coarse position, and

[0018] ‐ obtaining the radius of the referred coarse position as the inter-predicted radius and / or the azimuthal angle of the referred coarse position as the inter-predicted azimuthal angle.

[0019] Optionally, the coarse position is found by searching in the previous frame for a coarse position which has the same order index as coarse position of the current point in the current frame.

[0020] Optionally, oi-1 (P) = oi (Pn) ;

[0021] where

[0022] oi-1 (P) order index of the coarse position of point P in the previous frame i-1, and

[0023] oi (Pn) order index of the coarse position of current point Pn the current frame i.

[0024] Optionally, the coarse position is found by searching in the previous frame which has a certain laser index and azimuthal sampling angle, wherein the certain laser index and azimuthal sampling angle

[0025] ‐ corresponds to a laser index and an azimuthal sampling angle of the coarse position of current point in the current frame, or

[0026] ‐ is within a certain range of the laser index and the azimuthal sampling angle of the coarse position of current point in the current frame.

[0027] Optionally, when there is no coarse position found in the previous frame, which corresponds to the coarse position of current point in the current frame, the previous frame is searched for one or more close coarse positions, which are within a certain range from a position of coarse position of the current point.

[0028] Optionally, the one or more close coarse positions includes coarse positions in the previous frame having an order index being within a certain range of an order index of coarse position of the current point.

[0029] Optionally, a coarse position in the previous frame, which has an order index being one coarse position previous to the order index of the coarse position of current point of the current frame, is selected as the referred coarse position, and the radius of the  referred coarse position is used as the inter-predicted radius and / or the azimuthal angle of the referred coarse position is used as the inter-predicted azimuthal angle.

[0030] Optionally, the coarse position in the previous frame is selected as the referred coarse position when oi-1 (P1) =oi (Pn) -1

[0031] where

[0032] oi (Pn) order index of coarse position of the current point Pn of the current frame i, and

[0033] oi-1 (P1) order index of coarse position of point P1 in the previous frame i-1.

[0034] Optionally, a coarse position in the previous frame, which has an order index being one later to the order index of coarse position of the current point of the current frame, is selected as the referred coarse position, and the radius of the referred coarse position is used as the inter-predicted radius and / or the azimuthal angle of the referred coarse position is used as the inter-predicted azimuthal angle.

[0035] Optionally, the coarse position in the previous frame is selected as the referred coarse position when oi-1 (P2) =oi (Pn) +1

[0036] where

[0037] oi (Pn) order index of coarse position of the current point Pn of the current frame i, and

[0038] oi-1 (P2) order index of coarse position of point P2 in the previous frame i-1.

[0039] Optionally, a first coarse position of point P1 and a second coarse position of point P2 in the previous frame are selected as the referred coarse positions, and an average value, e.g., a weighted average value, of the radii and / or of the azimuthal angles of the two first and second coarse positions is used as the inter-predicted radius and / or the inter-predicted azimuthal angle.

[0040] Optionally,

[0041] the first coarse position has an order index being one previous to the order index of the coarse position of current point of the current frame, and

[0042] the second coarse position has an order index being one later to the order index of coarse position of the current point of the current frame.

[0043] Optionally, when there is no coarse position found in the previous frame, which corresponds to the coarse position of current point in the current frame, the inter prediction scheme is not used.

[0044] Optionally, when there is no coarse position found in the previous frame, which corresponds to the coarse position of current point in the current frame, the inter prediction scheme is not used and the radius and / or the azimuthal angle of the current point is encoded using an intra prediction scheme.

[0045] Optionally, the coarse representation for each original point in point cloud is obtained by quantizing one or more original points using an azimuthal elementary shift, and wherein a coarse position contains one original point or more than one original point.

[0046] Optionally, the referred coarse position contains a plurality of original points, wherein each of the original points contains a radius and an azimuthal angle, and one radius of the radii and / or one azimuthal angle of the original points is selected as the radius and / or the azimuthal angle of the referred coarse position and used as the inter-predicted radius and / or the inter-predicted azimuthal angle.

[0047] Optionally, a rate-distortion-optimization (RDO) process is used to select the one radius and / or the one azimuthal angle as the inter-predicted radius and / or the inter-predicted azimuthal angle, wherein, using the RDO process, bits cost of coding inter-prediction residuals between each radius and / or each azimuthal angle of the referred coarse position and the radius and / or the azimuthal angle of the current point in the current frame are estimated, and the radius and / or the azimuthal angle of the referred coarse position which has the lowest bits cost, is selected as the as inter-predicted radius and / or the inter-predicted azimuthal angle.

[0048] Optionally,

[0049] the selected radius has an index rIdx, and the inter-predicted radius of the current point is set as rrIdx, and wherein the index rIdx is encoded into a data stream so as to allow a decoder to decode the index rIdx from the data stream and set the radius rrIdx as the inter-predicted radius of the current point in the current frame, and / or

[0050] the selected radius has an index rIdx, and the inter-predicted radius of the current point is set as rrIdx, wherein the index rIdx is encoded into a data stream so as to allow a decoder to decode the index rIdx from the data stream and set the radius rrIdx as the inter-predicted radius of the current point in the current frame, and wherein the inter-predicted azimuthal value of the current point in the current frame is set as the azimuthal value having the same index as selected radius index rIdx of the referred coarse position in reference frame.

[0051] Optionally, the referred coarse position contains a plurality of original points, wherein each of the original points contains a radius and / or the azimuthal angle, and wherein one of the original points of the referred coarse position is selected, and the radius and / or the azimuthal angle of the selected one original point is used as the inter-predicted radius and / or the inter-predicted azimuthal angle.

[0052] Optionally, a rate-distortion-optimization (RDO) process is used to select the one original point, wherein, using the RDO process, bits cost of coding inter-prediction residuals between the radius and / or the azimuthal angle of each original point of the referred coarse position and the radius and / or the azimuthal angle of the current point in the current frame are estimated, and the radius and / or the azimuthal angle of the original point of the referred coarse position, which has the lowest bits cost, is selected as the as inter-predicted radius and / or the inter-predicted azimuthal angle.

[0053] Optionally,

[0054] the radius of the selected original point has an index pIdx, and the inter-predicted radius of the current coarse position is set as rpIdx, and wherein the index pIdx is signaled, e.g., encoded into a data stream, so as to allow a decoder to decode the index pIdx from the data stream and set the radius rpIdx as the inter-predicted radius of the current point in the current frame, and / or

[0055] the radius of the selected original point has an index pIdx, and the inter-predicted radius of the current coarse position is set as rpIdx, wherein the index pIdx is signaled, e.g., encoded into a data stream, so as to allow a decoder to decode the index pIdx from the data stream and set the radius rpIdx as the inter-predicted radius of the current point in the current frame, and wherein the inter-predicted azimuthal value of the current point in  the current frame is set as the azimuthal value belonging to a point with the index pIdx of the referred coarse position in reference frame.

[0056] Optionally, the plurality of original points are contained in an ordered list, and

[0057] ‐ a radius and / or the azimuthal angle of the first original point in the list is selected as the radius and / or the azimuthal angle of the referred coarse position and used as the inter-predicted radius and / or the inter-predicted azimuthal angle, or

[0058] ‐ the first original point in the list is selected and the radius and / or the azimuthal angle of the first original point is used as the inter-predicted radius and / or the inter-predicted azimuthal angle.

[0059] Optionally, an index rIdx of the selected radius or an index pIdx of the selected original point is not signaled, e.g., is not encoded onto the data stream, so that, both an encoder and a decoder, always use same radius and / or the azimuthal angle of the original point in the previous frame to get the inter-predicted radius and / or the inter-predicted azimuthal angle for the current point.

[0060] Optionally, the inter-predicted radius residual and / or the inter-predicted azimuthal angle is encoded, e.g., by using entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .

[0061] Optionally, the inter-predicted radius residual and / or the inter-predicted azimuthal angle residual is encoded into a data stream.

[0062] Optionally, the radius and / or the azimuthal angle of the current point in the current frame is encoded using selectively the inter prediction scheme or an intra prediction scheme.

[0063] Optionally, the best of the intra prediction scheme and the inter prediction scheme is selected for encoding the radius and / or the azimuthal angle, e.g., by using a rate-distortion-optimization (RDO) process.

[0064] Optionally, first bits cost for encoding the radius and / or the azimuthal angle using the inter prediction scheme and second bits cost for encoding the radius and / or the azimuthal angle using the intra prediction scheme are determined using the RDO process.

[0065] Optionally, the first bits cost and the second bits cost are compared to determine whether or not the inter prediction scheme for the current point is used, and wherein

[0066] ‐ the inter prediction scheme for the current point is used, when the first bits cost are higher than the second bits cost, and

[0067] ‐ the inter prediction scheme for the current point is not used, when the first bits cost are equal to or lower than the second bits cost.

[0068] Optionally,

[0069] ‐ when the intra-prediction scheme is used, an intra-predicted radius residual and / or an intra-predicted azimuthal angle is obtained, and

[0070] ‐ when the inter-prediction scheme is used, the inter-predicted radius residual and / or the inter-predicted azimuthal angle is obtained.

[0071] Optionally, a best one of intra predicted radius residuals between the radius of the current point and the radii of previous points in the current frame is selected as the intra predicted radius residual, e.g., by using a rate-distortion-optimization (RDO) process, and / or wherein a best one of intra predicted azimuthal angle residuals between the azimuthal angle of the current point and the azimuthal angles of previous points in the current frame is selected as the intra predicted azimuthal angle residual, e.g., by using a rate-distortion-optimization (RDO) process.

[0072] Optionally,

[0073] ‐ when the intra-prediction scheme is used, the intra-predicted radius residual and / or the intra-predicted azimuthal angle residual is encoded into a data stream, and

[0074] ‐ when the inter-prediction scheme is used, the inter-predicted radius residual and / or the inter-predicted azimuthal angle residual is encoded into a data stream, and an index rIdx of a selected radius or an index pIdx of a selected original point in the previous frame are encoded into a data stream.

[0075] Optionally, the intra-predicted radius residual and / or the intra-predicted azimuthal angle residual is encoded using an entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .

[0076] Optionally, the intra prediction scheme uses a first entropy encoder, and the inter prediction scheme uses a second entropy encoder, the first and second entropy encoders being independent encoders using separate context tables for modeling statistic probabilities for the intra prediction scheme and for the inter prediction scheme, respectively.

[0077] Optionally, a first flag is provided, the first flag indicating for the one or more points with coarse representation whether or not the inter prediction scheme is used for encoding the radius and / or the azimuthal angle.

[0078] Optionally, the first flag is encoded into a data stream, like a bitstream including data representing the point cloud.

[0079] Optionally,

[0080] ‐ when the first flag has a first value indicating that the inter prediction scheme is used, the inter-predicted radius residual and / or the inter-predicted azimuthal angle residual is encoded into the data stream.

[0081] ‐ when the first flag has a second value indicating that the inter prediction scheme is not used, the intra-predicted radius residual and / or the intra-predicted azimuthal angle residual is encoded into the data stream.

[0082] Optionally, the inter prediction scheme is used responsive to a certain signaling.

[0083] Optionally, the certain signaling includes a second flag indicating whether or not the inter prediction scheme is to be selectively used.

[0084] Optionally, the second flag is included in a geometry parameter set (GPS) or a sequence parameter set (SPS) of a data stream, like a L3C2 bitstream structure.

[0085] The present invention provides a method for decoding a point cloud from a data stream, the method comprising:

[0086] decoding from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an inter prediction scheme for decoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.

[0087] Optionally, when the signaling indicates the use of the inter prediction scheme, the method comprises:

[0088] ‐ decoding an inter-predicted radius residual and / or the inter-predicted azimuthal angle residual from the data stream, and

[0089] ‐ constructing the radius and / or the azimuthal angle of the current point using the decoded inter-predicted radius residual and / or the inter-predicted azimuthal angle residual.

[0090] Optionally, the inter-predicted radius residual rinter_res for the current point, an inter-predicted radius r′ for the current point, and an index rIdx of a selected radius or an index pIdx of a selected original point of a referred coarse position in a previous frame are decoded from the data stream, and wherein the radius rdec of the current point is constructed as rdec=rinter_res+r′

[0091] Optionally, when the signaling indicates that the inter prediction scheme is not used, the method comprises:

[0092] ‐ decoding an intra-predicted radius residual and / or an intra-predicted azimuthal angle residual from the data stream, and

[0093] ‐ constructing the radius and / or the azimuthal angle of the current point using the decoded intra-predicted radius residual and / or the intra-predicted azimuthal angle residual.

[0094] Optionally, the intra-predicted radius residual rintra_res for the current point is decoded from the data stream, and an intra-predicted radius r′ for the current point is obtained, and wherein the radius rdec of the current point is constructed as rdec=rintra_res+r′

[0095] Optionally, the coarse representation is constructed in a plane (Фc, λn) of the current point Pn by obtaining a laser index λ and an azimuthal sampling angle Фc based on the order of the current point Pn, λn=oi (Pn) mod Nlaser, Фc= (oi (Pn) -λn)  / Nlaser.

[0096] where

[0097] Nlaser total number of laser beams.

[0098] Optionally, the signaling includes a flag, the flag indicating for the one or more points whether or not the inter prediction scheme is used for decoding the radius and / or the azimuthal angle.

[0099] The present invention provides a non-transitory computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of the present disclosure.

[0100] The present invention provides an encoder, the encoder comprising:

[0101] an encoder module, wherein the encoder module is configured to encode a point cloud according to the method of the present disclosure.

[0102] The present invention provides an encoder, the encoder comprising:

[0103] an encoder module,

[0104] wherein the encoder module is configured to encode a point cloud into a data stream, and

[0105] wherein, for one or more points with a coarse representation of the point cloud, the encoder module is configured to use an inter prediction scheme for encoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.

[0106] The present invention provides a decoder, the decoder comprising:

[0107] a decoder module, wherein the decoder module is configured to decode a point cloud according to the method of the present disclosure.

[0108] The present invention provides a decoder, the decoder comprising:

[0109] a decoder module,

[0110] wherein the decoder module is configured to decode a point cloud from a data stream, and

[0111] wherein, for one or more points with a coarse representation of the point cloud, the decoder module is configured to decode from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an inter prediction scheme for decoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.

[0112] The present invention provides a data stream having encoded thereinto a point cloud, wherein the data stream comprises:

[0113] a signaling indicating, for one or more points with a coarse representation of the point cloud, whether an inter prediction scheme is used for coding a radius and / or azimuthal angle of a current point in a current frame of the point cloud.

[0114] The technical solutions provided according to embodiments of the present invention have the following beneficial effects. By introducing inter prediction for a radius of a point in Lidar data coding using, e.g., L3C2 (low latency low complexity lidar codec) , a Lidar data coding performance is improved. More specifically, the compression performance of, e.g., L3C2 is improved by reducing a prediction residual of a radius and / or azimuthal angle.

[0115] It should be understood that the content described in this section is not intended to identify key or critical features of embodiments of the present invention, nor is intended to limit the scope of the present invention. Other features of the present invention will become readily appreciated from the following descriptions.BRIEF DESCRIPTION OF THE DRAWINGS

[0116] The drawings are explanatory and serve to explain the present invention, and are not construed to limit the present invention to the illustrated embodiments.

[0117] Fig. 1 illustrates a spinning Lidar head including several spinning lasers for probe an environment;

[0118] Fig. 2 illustrates an elevation angle of a spinning laser of Fig. 1 relative to a horizontal ground ;

[0119] Fig. 3 illustrates a 2D angular representation or (Ф, θ) plane and the points P thereon as by the spinning Lidar of Fig. 1;

[0120] Fig. 4 illustrates acquired points on a discrete (Ф, θ) representation;

[0121] Fig. 5 illustrates 3D coordinates and angle-based coordinates for a point of the point cloud;

[0122] Fig. 6 illustrates an acquisition order in a (Ф, λ) plane associated with respective lasers of a Lidar head;

[0123] Fig. 7 illustrates points along an azimuthal angle and a laser index as obtained by a real acquisition;

[0124] Fig. 8 illustrates an ordering of points in a plane defined by a coarse azimuthal angle and a laser index;

[0125] Fig. 9 illustrates a representation of a point cloud by differences Δnext for a first lexicographic order;

[0126] Fig. 10 illustrates an encoder and an encoding method for encoding a coarse one-chain representation of a Lidar-acquired point cloud;

[0127] Fig. 11 illustrates a decoder and a decoding method for decoding a coarse one-chain representation of a Lidar-acquired point cloud;

[0128] Fig. 12 illustrates a flow diagram of a method for encoding a Lidar acquired point cloud, in accordance with an embodiment;

[0129] Fig. 13 illustrates a flow diagram of a method for encoding a Lidar acquired point cloud, in accordance with a further embodiment;

[0130] Fig. 14 (A) and Fig. 14 (B) illustrate a flow diagram of an embodiment of a method of the present disclosure for encoding geometry information of a point of a Lidar acquired point cloud, ;

[0131] Fig. 15 illustrates a flow diagram of a method for decoding a Lidar acquired point cloud from a data stream;

[0132] Fig. 16 illustrates a flow diagram of an embodiment of a method of the present disclosure for decoding, from a bitstream, geometry and attribute information of points of a point cloud;

[0133] Fig. 17 illustrates a flow diagram of another embodiment of a method of the present disclosure for decoding geometry information of a point of a Lidar acquired point cloud, ;

[0134] Fig. 18 illustrates a flow diagram of an embodiment of getting the inter-frame predicted radius of a point in a current frame;

[0135] Fig. 19 illustrates a block diagram of an encoder operating in accordance with embodiments of the present disclosure;

[0136] Fig. 20 illustrates a block diagram of a decoder operating in  accordance with embodiments of the present disclosure;

[0137] Fig. 21 illustrates a data stream in accordance with embodiments of the present disclosure; and

[0138] Fig. 22 illustrates a block diagram illustrating an electronic device according to embodiments of the present disclosure.DETAILED DESCRIPTION

[0139] Illustrative embodiments of the present disclosure are described below with reference to the drawings, where various details of embodiments of the present disclosure are included to facilitate understanding and are to be considered as illustrative only. Accordingly, those of ordinary skill in the art recognize that various changes and modifications of embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.

[0140] In the present disclosure, the term "and / or" is intended to cover all possible combinations and sub-combinations of the listed elements, including any one of the listed elements alone, any sub-combination, or all of the elements, and without necessarily excluding additional elements.

[0141] In the present disclosure, the phrase "at least one of... or... " is intended to cover any one or more of the listed elements, including any one of the listed elements alone, any sub-combination, or all of the elements, without necessarily excluding any additional elements, and without necessarily requiring all of the elements.

[0142] In the present disclosure, the term “coding” refers to "encoding” or to “decoding” as becomes apparent from the context of the described embodiments. Likewise, the term “coder” refers to "an encoder” or to “a decoder” .

[0143] Point cloud codecs

[0144] A point cloud is a set of points located in a 3D space, optionally with additional values attached to each of the points. These additional values are usually called point attributes. Consequently, a point cloud is combination of a geometry (the 3D position of each point) and attributes.

[0145] Attributes may be, for example, three-component colors, material properties, like reflectance, and / or two-component normal vectors to a surface associated with the point.

[0146] Point clouds may be captured by various types of devices, like an array of cameras, depth sensors, Lidars, scanners, or may be computer-generated, e.g., in a movie post-production. Depending on the use cases, point clouds may have from thousands to up to billions of points for cartography applications.

[0147] Raw representations of point clouds require a very high number of bits per point, with at least a dozen of bits per spatial component X, Y or Z, and optionally more bits for the one or more attributes, for instance three times 10 bits for the colors. A practical deployment of point-cloud-based applications requires compression technologies that enable the storage and distribution of point clouds with reasonable storage and transmission infrastructures.

[0148] The compression may be lossy, like in video compression, for the distribution to and visualization by an end-user, for example on AR / VR glasses or any other 3D-capable device. Other use cases do require a lossless compression, like medical applications or autonomous driving, to avoid altering the results of a decision obtained from an analysis of the compressed and transmitted point cloud.

[0149] Point cloud compression in MPEG

[0150] Until recently, point cloud compression, also referred to as PCC, was not addressed by the mass market and there was no standardized point cloud codec available. In 2017, the standardization working group ISO / JCT1 / SC29 / WG11, also known as Moving Picture Experts Group or MPEG, initiated work items on point cloud compression which have led to two standards, namely:

[0151] · MPEG-I Part 5 (ISO / IEC 23090-5) also referred to as Video-based Point Cloud Compression (V-PCC) .

[0152] · MPEG-I Part 9 (ISO / IEC 23090-9) also referred to as Geometry-based Point Cloud Compression (G-PCC) .

[0153] The first versions of the V-PCC standard and the G-PCC standard were finalized respectively in 2020 and 2022.

[0154] The V-PCC coding method compresses a point cloud by performing multiple projections of a 3D object to obtain two-dimensional (2D) patches that are packed into an image or into a video, when dealing with moving point clouds. The images or videos are then compressed using existing image / video codecs, allowing for the leverage of already deployed image and video solutions. By its very nature, V-PCC is efficient only on dense and continuous point clouds because image / video codecs are unable to compress non-smooth patches in case they are obtained from the projection of, for example, Lidar acquired sparse geometry data.

[0155] The G-PCC coding method has two schemes for the compression of the geometry.

[0156] · The first scheme is based on an occupancy tree representation of the point cloud geometry, for example, by means of an octree representation, a quad tree representation or a binary tree representation. Occupied nodes are split down until a certain size is reached, and occupied leaf nodes provide the location of points, typically at the center of these nodes. By using neighbor-based prediction techniques, a high level of compression can be obtained for dense point clouds. Sparse point clouds are also addressed by directly coding the position of a point within a node with non-minimal size, by stopping the tree construction when only isolated points are present in a node; this technique is known as Direct Coding Mode (DCM) .

[0157] · The second scheme is based on a predictive tree, in which each node represents the 3D location of one point and the relation between nodes is a spatial prediction from the parent node to the child nodes. This method may only address sparse point clouds and offers the advantage of a lower latency and a simpler decoding when compared to using an occupancy tree. However, the compression performance is slightly better while, when compared to the first scheme, but the encoding is complex due to the need to intensively look for a best predictor among a long list of potential predictors when constructing the predictive tree.

[0158] In both schemes attribute coding / decoding, e.g., attribute encoding and attribute decoding, is performed after coding / decoding the complete geometry which, in turn, leads to a two-pass coding / decoding process. A low latency may be obtained by using slices that  decompose the 3D space into sub-volumes that are coded independently, without prediction between the sub-volumes. However, this may heavily impact the compression performance when many slices are used.

[0159] An important use case is the transmission of Lidar data acquired by a moving vehicle. This, in general, requires a simple low-latency embarked encoder. Simplicity is required because the encoder is likely to be deployed on computing units which perform other processing in parallel, such as autonomous or semi-autonomous driving, thus limiting the processing power available to the point cloud encoder. Low latency is also required to allow for a fast transmission from the car to a cloud in order to have a real-time view of the local traffic, based on a multiple-vehicle acquisition, and take an adequate fast decision based on the traffic information. While the transmission latency can be low enough by using, e.g., a radio link in accordance with 5G (fifth-generation technology standard for cellular networks) , it is desired that the encoder itself does not introduce too much latency due to the coding. Also, the compression performance is extremely important since the flow of data from maybe millions of cars to the cloud is expected to be extremely heavy.

[0160] Combining encoder and decoder simplicity, low latency and compression performance is still a problem that has not been satisfactory solved by existing point cloud codecs.

[0161] Compression of point clouds acquired by a rotating sensor

[0162] Certain approaches related to the acquisition of Lidar data have been already exploited in G-PCC and have led to significant gains of compression. A first technique concerns the vertical angle, relative to the horizontal ground, of acquisition from a spinning Lidar. Fig. 1 illustrates a spinning Lidar head 100 that includes several spinning lasers 102a-102e that probe the environment by emitting respective laser beams 104a-104e. As is schematically illustrated at 106, the spinning Lidar head 100 rotates or spins around an axis of rotation 108. Fig. 2 illustrates an elevation angle θ of a spinning laser, like laser 102a of Fig. 1, relative to the horizontal ground 110. In accordance with certain approaches, the elevation angle θ is fixed.

[0163] G-PCC has gone even further by exploiting a second technique that take advantage of the regularity of laser sensing while the Lidar is spinning. Fig. 3 illustrates a  2D angular (Ф, θ) representation or (Ф, θ) plane 112 and the points P on the plane 112 acquired by the spinning Lidar 100. A regular distribution of the points P along the azimuthal angle Ф may be observed on the Lidar acquired data. This regularity is used to obtain a quasi 1D representation of the point cloud where, up to noise, only the radius r3D belongs to a continuous range of value while the angles Ф and θ take only a discrete number of values.

[0164] Basically, the point cloud geometry on the 2D discrete angular plane 112 may be represented together with a radius value for each point. Fig. 4 illustrates the acquired points P on the discrete (Ф, θ) representation 112, and this quasi 1D property has been exploited in G-PCC in both the occupancy tree and the predictive tree by predicting, in the spherical coordinate, the location of a current point relative to an already coded point by using the discrete nature of angles Ф, θ.

[0165] The occupancy tree uses DCM intensively and entropy codes the direct location of points P within a node by using a context-adaptive entropy coder. Contexts may be obtained from a local conversion of the point location into angular (Ф, θ) coordinates.

[0166] The predictive tree directly codes the angular coordinates (r2D, Ф, θ) before converting them into (x, y, z) coordinates and then coding respective x, y and z coordinate residuals to tackle errors of the coordinate conversion, the approximation of the laser angle and noise. Fig. 5 illustrates the 3D (x, y, z) coordinates and the angle-based coordinates (r2D, Ф, θ) or (r3D, Ф, θ) for a point of the point cloud, where r3D is the radius or distance from the Lidar head or from a laser of the Lidar head to the point P, and r2D is the projected radius on the horizontal (x, y) plane 112.

[0167] Thus, conventionally, there are mainly two types of a coding structure namely the occupancy tree and the predictive tree.

[0168] Coarse representation

[0169] In the framework of rotating Lidar systems, a coarse one-chain representation of the Lidar-acquired point cloud may be used, as is described in more detail, e.g., in EP 4 020 816 A1 (EP application no. 20306672.5) . When using this approach, all lasers are coded at once by using the order of acquisition. Fig. 6 illustrates by the arrows 114 the acquisition order in a plane 116 defined by the azimuthal angle Ф and a laser index λ associated with the respective lasers 102a-102e of the Lidar head 100. Due to the regular rotation of the Lidar head 100 and the continuous acquisition with a fixed time interval by each laser102a-102e, the azimuthal distance between two points, like P1 and P2 in Fig. 6, probed by the same laser is a multiple of an elementary azimuthal shift ΔФ.

[0170] Instead of coding the point location directly, a coarse representation may be coded. For example, a coarse representation (Фc, λ) of the point cloud geometry may be used to order the points using a lexicographic order, also referred to as a dictionary order, first in the coarse azimuthal angle Фc and second in the laser index λ or the sensing elevation angle index θ. Fig. 7 illustrates points P along the azimuthal angle Ф and the laser index λ as obtained by a real acquisition. Schematically, the points P are acquired in the order 114 shown in Fig. 7 in the (Ф, λ) plane. Due to the regular rotation of the Lidar head 100 and the continuous acquisition with a fixed time interval by each laser 102a-102e, the azimuthal distance between two points P1 and P2 probed by the same laser is a multiple of an elementary azimuthal shift ΔФ. Practically, not all points are acquired, i.e., the laser beam may not be reflected, there is acquisition noise and the laser may not be all perfectly aligned. Fig, 7 illustrates points P, i.e., real data, as obtained by a real acquisition. The coarse angle Фc is simply obtained by the quantization of Ф as follows Фc = round (Ф / ΔФ) ,

[0171] and the order index o (P) of a point P is obtained by o (P) = Фc*Nlaser + λ.

[0172] where Nlaser is the number of lasers and λ is the index of the laser index, in [0, Nlaser-1] , that has acquired the point P. The codec encodes the points P following their order o (P) monotonously, e.g., using an ascending order. Thus, the P points in Fig. 7 are coded in the order 118 depicted in Fig. 8, which illustrates the ordering 118 of the points P in the plane 116 defined by the coarse azimuthal angle Фc and the laser index λ.

[0173] The coarse representation in the plane (Фc, λ) may be coded by

[0174] · the number of points Npoints,

[0175] · the value of (Фc, λ) for the first acquired point,

[0176] · the Npoints-1 successive differences Δnext between a current point and a next point as sorted by the lexicographic order.

[0177] Fig. 9 illustrates a representation of a point cloud by the differences Δnext for a first lexicographic order (Фc, λ) . As may be seen, the coarse representation comprises successive differences Δnext and the compression of the coarse representation is essentially based on the compression of the successive positive values Δnext.

[0178] Point cloud codec

[0179] An overview of an encoder and an encoding method for encoding a coarse one-chain representation of the Lidar-acquired point cloud as described above is shown in Fig. 10.

[0180] The encoder 200 receives a x, y, z point location. The encoder 200 converts 202 the x, y, z point location into a laser index λ, a coarse angle Фc and a radius r2D, e.g., using a knowledge of a setup of the Lidar sensor 100. The differences Δnext are determined and the encoder 200 encodes 204 the differences Δnext into a data stream or bitstream 206, e.g., by entropy encoding. Also useful information on the Lidar sensor setup may be encoded into the bitstream 206, e.g., ΔФ and laser elevation angles.

[0181] The encoder 200 determines or computes a reconstructed azimuthal angle Фrec, e.g., directly from a dequantization ΔФ*Фc of the coarse angle Фc. Optionally, a residual Фres may be computed as the difference Ф-ΔФ*Фc and encoded 208, e.g. by entropy encoding, into the bitstream 206. The residual Фres may be quantized 210 into Q (Фres) before encoding 208. In this case, the reconstructed azimuthal angle Фrec is obtained by Фrec = ΔФ*Фc + IQ (Q (Фres) )

[0182] where IQ stands for an inverse quantization process 212.

[0183] The radius r (here r2D) is also coded 208 into the bitstream 206, optionally after a quantization 210 into Q (r) . It is inverse quantized 212 to obtain a reconstructed radius rrec = IQ (Q (r) ) .

[0184] The reconstructed azimuthal angle Фrec and the reconstructed radius rrec are converted back 214 into x, y coordinates to obtain an estimation of the x location and the y location of the point: xestim = rrec·cos (Фrec) yestim = rrec·sin (Фrec)

[0185] The residuals xres and yres relative to the original point location x, y are obtained or computed as xres = x -xestim yres = y -yestim,

[0186] and are encoded 216 into the bitstream 206, e.g., by entropy encoding.

[0187] A vertical estimate zestim is obtained from the laser angle θ (λ) by zestim = rrec tan (θ (λ) )

[0188] and a residual zres relative to the original point location z is obtained or computed by zres = z -zestim

[0189] and is encoded 216 into the bitstream 206.

[0190] An overview of a decoder and a decoding method for decoding a coarse one-chain representation of the Lidar-acquired point cloud as described above is shown in Fig. 11.

[0191] The decoder 300 receives a bitstream 302 and decodes 304 form the bitstream 302, e.g., by entropy decoding, the differences Δnext. Also useful information on the sensor setup, e.g., like ΔФ and laser elevation angles may be decoded from the bitstream 302. Then, the values of the laser index λ and the coarse angle Фc are obtained 306 from Δnext.

[0192] The reconstructed azimuthal angle Фrec is obtained or computed. It may be obtained directly from a dequantization ΔФ*Фc of the coarse angle Фc. Optionally, an azimuthal residual Фres may be decoded 308 from the bitstream 302. The decoded residual  Фres may be a quantized version Q (Фres) of the residual Фres and the reconstructed azimuthal angle Фrec is obtained by Фrec = ΔФ*Фc + IQ (Q (Фres) )

[0193] where IQ stands for the inverse quantization process 310.

[0194] The radius r (here r2D) is also decoded 308 from the bitstream302 . The coded radius may be a quantized version Q (r) of the radius. It is inverse quantized 310 to obtain a reconstructed radius rrec = IQ (Q (r) ) .

[0195] Optionally, the radius may be predicted, e.g., by a precedingly coded radius, and a radius residual may be coded instead of the radius.

[0196] The reconstructed azimuthal angle Фrec and the reconstructed radius rrec are converted back 312 to x, y coordinates to obtain an estimation of the x location and the y location of the point: xestim = rrec·cos (Фrec) yestim = rrec·sin (Фrec)

[0197] The residuals xres and yres are decoded 314 from the bitstream 302 and the decoded horizontal location xdec and ydec of the point are computed or obtained by xdec = xestim + x ydec = yestim + yres.

[0198] A vertical estimate zestim is obtained from the laser angle θ (λ) by zestim = rrec tan (θ (λ) ) ,

[0199] and a residual zres is decoded 314 from the bitstream 302 and the decoded vertical location zdec of the point is computed or obtained by zdec = zestim + zres.

[0200] In conventional low latency, low complexity lidar coding (L3C2) , each point in a point cloud frame is iterated to firstly encode / decode coarse representation information, followed by encoding / decoding the predicted residual information of the radius r and the azimuthal angle Ф, and encoding / decoding the residual information or residuals in the (x, y, z) domain as described above with reference to Fig. 10 and Fig. 11. Finally, attribute information for the current point is encoded / decode. After an iteration for a point geometry and attribute coding finishes based on its coarse representation, the process proceeds to next iteration to code a next point following the same process as described above.

[0201] However, in a conventional L3C2 scheme, the prediction coding for the radius and the azimuthal angle Ф exploits only the intra correlations within the same point cloud frame of a currently coded point, however correlations between the current point cloud frame and a previous point cloud frame are not considered, which reduces the compression efficiency of L3C2 because there are one or more similar areas of coarse positions in two adjacent frames that may be used to improve the prediction accuracy of the radius of the coded points. Thus, the problem to solve is to improve compression performance of L3C2 by reducing prediction residual of radius.

[0202] Embodiments of the present disclosure improve the compression performance for the inter prediction of coarse representation, e.g., in L3C2, by reducing a prediction residual of the radius and / or the azimuthal angle Ф.

[0203] Fig. 12 illustrates a flow diagram of a method for encoding a Lidar acquired point cloud, in accordance with an embodiment. The method includes the following:

[0204] S400: For one or more points with a coarse representation of the Lidar acquired point cloud, using an inter prediction scheme for encoding a radius and / or azimuthal angle of a current point with a coarse representation in a current frame of the Lidar acquired point cloud.

[0205] Fig. 13 illustrates a flow diagram of a method for encoding a Lidar acquired point cloud, in accordance with a further embodiment. The method includes the following:

[0206] S402: Receiving Lidar acquired data.

[0207] S400: For one or more points with a coarse representation of the Lidar acquired point cloud, using an inter prediction scheme for encoding a radius and / or azimuthal angle of a current point with a coarse representation in a current frame of the Lidar acquired point cloud.

[0208] Optionally, the method comprises including S404 into a data stream or bitstream one or more a signaling, like a flag. The signaling indicates, for one or more points with a coarse representation of the Lidar acquired point cloud, whether an inter prediction scheme is used for encoding a radius and / or azimuthal angle of a current point with a coarse representation in a current frame of the Lidar acquired point cloud.

[0209] Thus, embodiments of the present disclosure, introduce an inter-frame prediction mode and combine it with existing an intra prediction mode for the radius prediction and / or azimuthal angle prediction of points, e.g., in a L3C2 scheme. In accordance with embodiments, an inter prediction mode for the radius r and / or azimuthal angle Ф of points is introduced by referring to the radius values and / or azimuthal angles or values of corresponding coarse positions in a previous frame that are close to or at the same coarse position of a current coded point in a current frame.

[0210] In accordance with embodiments, a flag, e.g., Isinterflag, is used for each point indicating if the inter prediction mode for the radius r and / or azimuthal angle Ф of the current coded point is used or is not used. For example, if the flag Isinterflag is true, then the inter prediction method for the radius r and / or azimuthal angle Ф is used for the current coded point; otherwise if the flag Isinterflag is false, then an intra prediction mode for the radius r and / or azimuthal angle Ф is used for the current coded point. The flag (for example Isinterflag) may be encoded / decoded into / from a bitstream at the encoder / decoder.

[0211] In accordance with embodiments, if the inter prediction mode for the radius r of a point is selected, then a radius index rIdx or a point index pIdx of a referred coarse position (Фc, λ) is introduced and used to select a predicting radius r. The predicting radius r is selected from a group of radius values of the referred coarse position. The coarse position (Фc, λ) may contain more than one original point, since a coarse position (Фc, λ) is a position quantized by using an azimuthal elementary shift Ф to quantize the original points, and each original point has a radius.

[0212] In accordance with embodiments, if the inter prediction mode for the radius r of a point is selected, then a radius index rIdx or a point index pIdx of a referred coarse position (Фc, λ) is introduced and used to select a predicting radius r. The predicting radius r is selected from a group of radius values of the referred coarse position. And also a predicted azimuthal value of current point is set as the azimuthal value whose index is same as the selected radius index rIdx or who belongs to a point whose index is pIdx of the referred coarse position in the reference frame. The coarse position (Фc, λ) may contain more than one original point, since a coarse position (Фc, λ) is a position quantized by using an azimuthal elementary shift Ф to quantize the original points, and each original point has a radius and an azimuthal value.

[0213] In accordance with embodiments, the inventive approach is enabled / disabled by a flag, e.g., InterPredictionEnabled, which indicates if the inter prediction of a coarse representation in the L3C2 scheme is used or not. If the flag InterPredictionEnabled is true, then the inventive method for the inter prediction of a coarse representation is enabled, otherwise, the inventive method is disabled. The flag may be included in a geometry parameter set (GPS) or in a sequence parameter set (SPS) of L3C2 bitstream structure.

[0214] In the following embodiments are described which use an inter prediction mode for encoding the radius r of a current coded point in a current frame, e.g., in a L3C2 scheme. It is noted that the present disclosure is not limited to this. Rather, in accordance with other embodiments, the techniques described in detail below may be also by applied when using an inter-prediction for encoding an azimuthal angle Ф of a current coded point in a current frame.

[0215] In a low latency low complexity Lidar codec (L3C2) , each point is iterated in a point cloud frame to firstly encode / decode a coarse representation information (like successive differences Δnext) , then the residual information of r and Ф is encoded / decoded, and then residuals in (x, y, z) domain are encoded / decoded as described above with reference to Fig. 10. Finally attribute information for the current coarse point is encoded / decoded. After an iteration for a coarse point geometry and attribute coding finishes, the process proceeds to a next iteration to code a next coarse point following the above process. The inventive method exists in encoding / decoding a coarse representation information of each  coarse point using intra prediction or inter prediction. Fig. 14 (A) and Fig. 14 (B) illustrate a flow diagram of an embodiment of a method of the present disclosure for encoding geometry information of a point of a Lidar acquired point cloud. For each point, the following steps are performed:

[0216] S410: Obtaining a best intra predicted radius residual rintra_res between a radius of a current coded point and radius of already coded points within a current frame, for example in the i-th frame, e.g., by using a rate-distortion-optimization (RDO) process or method.

[0217] S412: Obtaining an inter predicted radius r’ by referring to radius values of coarse positions in a previous point cloud frame, for example, in the (i-1) -th frame) , which is described in detail in section 2.2.1.1.

[0218] S414: Determining whether the inventive method for the inter prediction of the radius is disabled by judging if the flag InterPredictionEnabled is false.

[0219] S416: If the flag InterPredictionEnabled is false, using an intra prediction method for the radius of the current coded point, and obtaining an intra predicted radius residual for the current coded point as rintra_res.

[0220] S418: If the flag InterPredictionEnabled is true, finding a best prediction method between the intra prediction method and the inter prediction method for coding the radius residual of the current point, e.g. by using an RDO process.

[0221] S420: If the intra prediction method is selected, setting the flag Isinterflag as false.

[0222] S422: Obtaining the predicted radius residual for the current coded point as the best intra predicted radius residual rintra_res.

[0223] S424: Encoding the flag Isinterflag into the bitstream.

[0224] S426: If the flag Isinterflag is false, encoding the obtained predicted radius residual rintra_res for the current point into the bitstream.

[0225] S428: If the inter prediction method is selected, setting the flag Isinterflag as true.

[0226] S430: Obtaining the inter-predicted radius residual rinter_res using a difference between the inter predicted radius, like rrIdx, and the radius r of the current coded point, i.e., rinter_res=r-rrIdx

[0227] S432: Encoding the flag Isinterflag into the bitstream.

[0228] S434: If the flag Isinterflag is true, encoding the index rIdx or the index pIdx and the obtained predicted radius residual rinter_res for the current point into the bitstream.

[0229] In accordance with embodiments, the RDO process used in S418 estimates the bits cost cost1 of entropy encoding the inter-predicted radius residual rinter_res and the bits cost cost2 of entropy encoding the intra-predicted radius residual rintra_res. The two costs (cost1 and cost2) are compared to determine if inter prediction for current point is used or not. For example, the inter prediction scheme for the current point is not used, when the first bits cost are equal or higher than the second bits cost, and the inter prediction scheme for the current point is used, when the first bits cost are lower than the second bits cost.

[0230] Fig. 15 illustrates a flow diagram of a method for decoding a Lidar acquired point cloud from a data stream. The method includes the following:

[0231] S500: Decoding from the data stream a signaling.

[0232] The signaling indicates, for one or more points with a coarse representation of the Lidar acquired point cloud, whether to use an inter prediction scheme for decoding a radius and / or azimuthal angle of a current point in a current frame of the Lidar acquired point cloud.

[0233] In the following embodiments are described which use an inter prediction mode for decoding the radius r of a current coded point in a current frame, e.g., in a L3C2 scheme. It is noted that the present disclosure is not limited to this. Rather, in accordance with other embodiments, the techniques described in detail below may be also by applied when using an inter-prediction for decoding an azimuthal angle Ф of a current coded point in a current frame.

[0234] Fig. 16 illustrates a flow diagram of an embodiment of a method of the present disclosure for decoding, from a bitstream, geometry and attribute information of points (P) of a point cloud by iterating each point. For each point, the following steps are performed:

[0235] S510: Decoding a coarse representation information of the point in the plane (Фc, λn) of a point cloud.

[0236] S512: Decoding a radius residual, an azimuthal residual and residuals in the (x, y, z) coordinates using the decoded coarse representation in the plane (Фc, λn) to obtain the reconstructed geometry information of the point, wherein decoding the radius residual of each point uses an inter prediction mode for the radius of the current coded point.

[0237] S514: Decoding attribute information of the point using the obtained geometry information of the point.

[0238] In accordance with embodiments, the inter prediction mode for the radius of the current coded point contains a search for a referred coarse position in the previous frame.

[0239] In accordance with embodiments, the inter prediction mode for the radius of the current coded point contains selecting a predicting radius r of the referred coarse position in the previous frame.

[0240] In accordance with embodiments, whether the inter prediction mode for the radius of the current coded point with coarse position is used or not is based on a flag Isinterflag. For example, if the flag Isinterflag is true, then the inter prediction mode for the radius of the current coded point is used; otherwise, it is not used.

[0241] In accordance with embodiments, if the inter prediction mode for the radius of the current coded point with coarse position is used (the flag Isinterflag is true) , the inter-frame predicted radius residual rinter_res for the current point is decoded from the bitstream; otherwise (the flag Isinterflag is false) , the intra predicted radius residual rintra_res for the current point is decoded from the bitstream.

[0242] In accordance with embodiments, selecting the predicting radius r of the referred coarse position in the previous frame is based on a radius index rIdx or a point index pIdx of the referred coarse position to get the predicted radius r’.

[0243] In accordance with embodiments, the flag Isinterflag is decoded from the bitstream.

[0244] In accordance with embodiments, the referred coarse positions in the previous frame are close to or at the same coarse position of the current coded point in the current frame.

[0245] In accordance with embodiments, to find the referred coarse position of a point P in the previous frame close to or at the same coarse position of the current coded point in the current frame, coarse positions are searched in the previous frame, which have an order index oi-1 (P) being the same as or being close to the order index (oi (Pn) ) of the coarse position of current coded point Pn in the current frame.

[0246] In accordance with embodiments, to find the referred coarse positions in the previous frame close to or at the same coarse position of the current coded point in the current frame, coarse positions are searched in the previous frame having the same / close laser Index λ and same / close azimuthal sampling angle Фc as / to that of current coded point whose coarse position is (Фc_p, λp) . For example, the referred coarse positions can contain of (Фc_p -1, λp) and (Фc_p +1, λp) , and the referred coarse positions can contain of (Фc_p, λp -1) and (Фc_p, λp +1) .

[0247] In accordance with embodiments, the radius index rIdx or the point index pIdx is decoded from bitstream.

[0248] In accordance with embodiments, selecting the predicting radius r of the referred coarse positions in the previous frame is implemented by defining that the first radius r1 or the first point’s P1 radius of the referred coarse position in the previous frame is always used to get the predicted radius r’ of the currently coded point in the current frame.

[0249] Fig. 17 illustrates a flow diagram of another embodiment of a method of the present disclosure for decoding a geometry information of a point of a Lidar acquired point cloud, . For each point, the following steps are performed:

[0250] S520: Decoding from a bitstream a flag Isinterflag indicating if inter prediction method for the radius residual coding is used or not for a current coded point.

[0251] S522 Determining if the flag Isinterflag is true.

[0252] Decoding from the bitstream the predicted radius residual of the coded point dependent on the flag Isinterflag.

[0253] If the flag Isinterflag is true:

[0254] S524: Decoding from a bitstream the radius index rIdx or the point index pIdx of a referred coarse position.

[0255] S526: Obtaining the predicted radius r′ by firstly searching the referred coarse position in the previous frame and by secondly obtaining the predicted radius r′ according to the decoded radius index rIdx or decoded point index pIdx of the referred coarse position.

[0256] S528: Decoding from the bitstream the inter-frame predicted radius residual rinter_res for the current point.

[0257] If the flag Isinterflag is false:

[0258] S530: Obtaining the predicted radius r′ using the intra prediction method.

[0259] S532 Decoding from the bitstream the predicted radius residual rintra_res for the current point.

[0260] S534: Constructing the radius rdec of the current coded point using the predicted radius r′ and the decoded radius residual (rinter_res or rintra_res) according to

[0261] if the flag Isinterflag is true:

[0262] if the flag Isinterflag is false: rdec=rintra_res+r′.

[0263] In accordance with embodiments, to obtain the inter-frame predicted radius r′ for a point in a current frame, reference is made to a previous point cloud frame to find one or more coarse positions close to a position of or at the same position as the coarse position of current point Pn. The referred coarse positions in the previous frame may contain more than one point. It is noted that this process is used both at the encoder and at the decoder. Fig. 18 illustrates a flow diagram of an embodiment of getting the inter-frame predicted radius r′ of a point in a current frame by searching for a coarse position in the previous frame based on an order index of the coarse position of the point, and the following steps are performed:

[0264] S600: Searching a coarse position of a point P in the previous frame (the (i-1) th frame) , which has same order index oi-1 (P) as the order index (oi (Pn) ) of the coarse position of current coded point Pn in the current frame (the i-th frame) , i.e., oi-1 (P) = oi (Pn) -

[0265] S602: Determining whether the coarse position exists in previous point cloud frame

[0266] S604: If the coarse position of point P described above exists in the previous point cloud frame, using the searched coarse position as a referred coarse position.

[0267] S606: If the coarse position of a point P described above does not exist in the previous point cloud frame, in one embodiment, not using the inter prediction mode used for the radius prediction of the current point, and the flag Isinterflag is set to false.

[0268] S608: If the coarse position of a point P described above does not exist in the previous point cloud frame, in another embodiment, searching coarse positions in the previous frame which are close to a position of coarse position of the current coded point, using the searched coarse positions as a referred coarse position, and setting the flag Isinterflag to true.

[0269] If no coarse positions are found in the previous frame, which are close to the position of coarse position of the current coded point, the flag Isinterflag is set as false.

[0270] In an embodiment, searching the coarse positions is implemented by finding coarse positions having an order index oi-1 (P) close to an order index oi (Pn) of coarse position of the current coded point Pn. In one example, the coarse position of a point P1 whose order index oi-1 (P1) in the previous frame (the (i-1) -th frame) is one previous to the order index oi (Pn) of the coarse position of the current coded point Pn of the current frame, i.e., oi-1 (P1) = oi (Pn) -1) , may be used (if it exists) to get the predicted radius r′ for the current coded point. In another example, the coarse position of a point P2 whose order index oi-1 (P2) in the previous frame (the (i-1) -th frame) is one later than the order index oi (Pn) of the coarse position of the current coded point Pn of the current frame, i.e., oi-1 (P2) = oi (Pn) +1) , may be used (if it exists) to get the predicted radius r′ for the coded point. In yet another example, the two coarse positions of points P1 and P2 (if they exist) described above in the previous frame may both be used to get predicted radius r′ for coded point, e.g., the predicted r′ may be an weighted average value of the radii of the two coarse positions of points P1 and P2.

[0271] In another embodiment, searching the coarse position of a point P in the previous frame as a predictor may also be based on the laser Index λ and the azimuthal sampling angle Фc of coarse position of the point, and coarse positions are searched in the  previous frame that has the same or a close laser index λ and the same or a close azimuthal sampling angle Фc as / to that of coarse position of the current coded point.

[0272] Since the coarse representation (coarse position (Фc, λ) ) for each original point in the point cloud is obtained by quantizing original points using the azimuthal elementary shift Ф, one or more coarse positions may contain more than one original point. Thus, one coarse position may contain more than one radius r of the original point, for example radius values {r1, …, rj} , and each radius value of the points of the referred coarse position has an index j within the coarse position. From the available radii, one radius of the referred coarse position is selected for use with the inter-frame predicting according to the present disclosure.

[0273] In one embodiment, at the encoder side, a rate-distortion optimization (RDO) process may be used to select a radius r of the referred coarse position to get a predicted radius r’ of the currently coded point in the current frame. If the radius r with an index rIdx is selected, then the inter predicted radius r’ of currently coded point is set to rrIdx. The index rIdx of the selected radius of the referred coarse position may be encoded into the bitstream at the encoder side. At the decoder side, the index rIdx is decoded from the bitstream, and rrIdx is set as the predicted radius r’ of the currently coded point in the current frame.

[0274] In another embodiment, at the encoder side, a rate-distortion optimization (RDO) process may be used to select a radius r of the referred coarse position to get a predicted radius r’ of the currently coded point in the current frame. If the radius r with an index rIdx is selected, then the inter predicted radius r’ of currently coded point is set to rrIdx. The index rIdx of the selected radius of the referred coarse position may be encoded into the bitstream at the encoder side, and the predicted azimuthal information of the currently coded point in the current frame is set as azimuthal with same index rIdx of the referred coarse position. At the decoder side, the index rIdx is decoded from the bitstream, and rrIdx is set as the predicted radius r’ of the currently coded point in the current frame, and also the predicted azimuthal information of the currently coded point in the current frame is set as azimuthal with same index rIdx of the referred coarse position.

[0275] In another embodiment, one coarse position may contain more than one original point, for example {p1, …, pj} , and each radius value of points of the referred coarse position has an index q within the coarse position. At encoder side, a rate-distortion optimization (RDO) process is used to select a point of the referred coarse position to get the predicted radius r’ of the currently coded point in the current frame. If the radius r of point with an index pIdx of the referred coarse position is selected, the inter predicted radius r’ of the currently coded point is set as he radius of the point with the index pIdx. The index pIdx of the selected point of the referred coarse position may be encoded into the bitstream at encoder side. The index pIdx is decoded from the bitstream at the decoder side, and the radius of the point having the index pIdx is set as the predicted radius r’ of the currently coded point in the current frame.

[0276] In yet another embodiment, to save the bits used for coding the radius index rIdx or the point index pIdx of the referred coarse position, it may be defined to directly use the first radius r1 or directly use the first point’s P1 radius to get the predicted radius r’ of the currently coded point in the current frame. Thus, at both the encoder side and the decoder side, the same radius in the previous frame is always used to get the predicted radius r’ of the currently coded point in current frame. therefore, it is not necessary to signal the index information (rIdx or pIdx) to the decoder, thereby reducing the bits cost of signaling the index.

[0277] In accordance with embodiments, the above mentioned RDO method for selecting the predicting radius r of the referred coarse position at the encoder side may estimate the bits cost of coding the inter-frame prediction radius residual rinter_res between each radius of the referred coarse position and the radius r of the currently coded point in the current frame, and then select a radius rrIdx of the referred coarse position, which has the lowest bits cost, as the inter-predicted radius r’ for coding the prediction radius residual.

[0278] In another embodiment, the above mentioned RDO method for selecting the predicting radius r of the referred coarse position at the encoder side may estimate the bits cost of coding the inter-prediction radius residual rinter_res between each point’s radius of the referred coarse position and the radius r of the currently coded point in the current  frame, and then select a point’s Pq radius of the referred coarse position, which has the lowest bits cost, as the inter-predicted radius r’ for coding prediction radius residual.

[0279] In accordance with embodiments, the one coarse position may also contain more than one original point, for example {p1, …, pj} , and each azimuthal information of points of the referred coarse position has an index q within the coarse position, and the index q is same as that of radius of points of the referred coarse position. If the radius of point with an index pIdx of the referred coarse position is selected, then the inter predicted azimuthal information of the currently coded point is also set as the azimuthal information of the point with the index pIdx.

[0280] Further embodiments

[0281] So far, the inventive concept has been described with reference to aspects and embodiments concerning methods of encoding and decoding. In accordance with further embodiments, the present disclosure also provides encoders and decoders.

[0282] Fig. 19 illustrates a block diagram of an encoder operating in accordance with embodiments of the present disclosure. The encoder 400 includes:

[0283] 402: An encoder module configured to encode a Lidar acquired point cloud into a data stream.

[0284] For one or more points with a coarse representation of the Lidar acquired point cloud, the encoder module is configured to use an inter prediction scheme for encoding a radius of a current point in a current frame based on coarse representation of the Lidar acquired point cloud.

[0285] Fig. 20 illustrates a block diagram of a decoder operating in accordance with embodiments of the present disclosure. The decoder 500 includes:

[0286] 502: A decoder module configured to decode a Lidar acquired point cloud from a data stream.

[0287] For one or more points with a coarse representation of the Lidar acquired point cloud, the decoder module is configured to decode from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the Lidar acquired point cloud, whether to use an inter prediction scheme for decoding a radius of a current point in a current frame of the Lidar acquired point cloud.

[0288] Fig. 21 illustrates a data stream 700 in accordance with embodiments of the present disclosure, which has encoded thereinto a Lidar acquired point cloud. In general, the data stream may have encoded thereinto information representing a Lidar acquired point cloud and / or information being associated with encoding / decoding the Lidar acquired point cloud. For example, the data stream or bitstream 700 may be provided by an encoder 400 that performs the inventive method for encoding the picture into the data stream 700. The data stream 700 is transmitted to a decoder 500 via a wired or wireless transmission medium 702, like cable or a radio link, and the decoder 500 decodes from the data stream 700 the Lidar acquired point cloud. The data stream includes a signaling 704 indicating, for one or more points with a coarse representation of the Lidar acquired point cloud, whether an inter prediction scheme is used for coding a radius of a current point in a current frame of the Lidar acquired point cloud.

[0289] Although some aspects of the disclosed concept have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or a device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.

[0290] Fig. 22 is a block diagram illustrating an electronic device 900 according to embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as a laptop, a desktop, a workstation, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are described as examples only, and are not intended to limit implementations of the present disclosure described and / or claimed herein. The device 900 includes a computing unit 901 to perform various appropriate actions and processes according to computer program instructions stored in a read only memory (ROM) 902, or loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903,  various programs and data for the operation of the storage device 900 can also be stored. The computing unit 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0291] Components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse; an output unit 907, such as various types of displays, speakers; a storage unit 908, such as a disk, an optical disk; and a communication unit 909, such as network cards, modems, wireless communication transceivers, and the like. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks. The computing unit 901 may be formed of various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU) , graphics processing unit (GPU) , various specialized artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processor (DSP) , and any suitable processor, controller, microcontroller, etc. The computing unit 901 performs various methods and processes described above, such as an image processing method. For example, in some embodiments, the image processing method may be implemented as computer software programs that are tangibly embodied on a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 900 via the ROM 902 and / or the communication unit 909. When a computer program is loaded into the RAM 903 and executed by the computing unit 901, one or more steps of the image processing method described above may be performed. In some embodiments, the computing unit 901 may be configured to perform the image processing method in any other suitable manner (e.g., by means of firmware) .

[0292] Various implementations of the systems and techniques described herein above may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGA) , application specific integrated circuits (ASIC) , application specific standard products (ASSP) , system-on-chip (SOC) , complex programmable logic device (CPLD) , computer hardware, firmware, software, and / or  combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, and the programmable processor may be a special-purpose or general-purpose programmable processor, and may receive data and instructions from a storage system, at least one input device and at least one output device, and may transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0293] Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general computer, a dedicated computer, or other programmable data processing device, such that the program codes, when executed by the processor or controller, cause the functions and / or operations specified in the flow diagrams and / or block diagrams is performed. The program code can be executed entirely on the machine, partly on the machine, as a stand-alone software package partly on a machine and partly on a remote machine or entirely on a remote machine or server.

[0294] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memories (RAM) , read-only memories (ROM) , erasable programmable read-only memories (EPROM or flash memory) , fiber optics, compact disc read-only memories (CD-ROM) , optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0295] To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) ) for displaying information for the user; and a keyboard and  pointing device (e.g., a mouse or trackball) through which a user can provide an input to the computer. Other types of devices can also be used to provide interaction with the user, for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback) ; and may be in any form (including acoustic input, voice input, or tactile input) to receive the input from the user.

[0296] The systems and techniques described herein may be implemented on a computing system that includes back-end components (e.g., as a data server) , or a computing system that includes middleware components (e.g., an application server) , or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein) , or a computer system including such a backend components, middleware components, front-end components or any combination thereof. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network) . Examples of the communication network includes: Local Area Networks (LAN) , Wide Area Networks (WAN) , the Internet and blockchain networks.

[0297] The computer system may include a client and a server. The Client and server are generally remote from each other and usually interact through a communication network. The relationship of the client and the server is generated by computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, and solves the defects of difficult management and weak business expansion in traditional physical hosts and virtual private servers ( "VPS" for short) . The server may also be a server of a distributed system, or a server combined with a blockchain.

[0298] It is to be understood that the steps may be reordered, added or deleted by using the various forms of flows shown above. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions in the present disclosure can be achieved, and no limitation is imposed herein.

[0299] The above-mentioned specific embodiments do not limit the scope of protection of the present disclosure. It is to be understood by those skilled in the art that various modifications, combinations, sub-combinations and replacements may be made depending on design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the principles of the present disclosure or invention is to be included within the protection scope of the present disclosure or invention.

Claims

A method for encoding a point cloud, the method comprising:for one or more points with a coarse representation of the point cloud, using an inter prediction scheme for encoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.The method of claim 1, wherein an inter-predicted radius residual and / or an inter-predicted azimuthal angle residual is obtained by the inter prediction scheme using a difference between an inter-predicted radius and the radius of the current point, and / or using a difference between an inter-predicted azimuthal angle and the azimuthal angle of the current point.The method of claim 2, wherein the inter-predicted radius and / or the inter-predicted azimuthal angle for the current point is obtained by referring to a previous frame of the coarse representation of the point cloud, and finding one or more referred coarse positions, wherein the one or more referred coarse positions include one or more coarse positions in the previous frame, which are located at a position corresponding to a position of coarse position of the current point or which are within a certain range from a position of coarse position of the current point.The method of claim 3, wherein the inter-predicted radius and / or the inter-predicted azimuthal angle for the current point is obtained by:‐ finding a coarse position in the previous frame that corresponds to coarse position of the current point in the current frame,‐ using the found coarse position in the previous frame as the referred coarse position, and‐ obtaining the radius of the referred coarse position as the inter-predicted radius and / or the azimuthal angle of the referred coarse position as the inter-predicted azimuthal angle.The method of claim 4, wherein the coarse position is found by searching in the previous frame for a coarse position which has the same order index as coarse position of the current point in the current frame.The method of claim 5, whereinoi-1 (P) = oi (Pn) ;whereoi-1 (P) order index of the coarse position of point P in the previous frame i-1, andoi (Pn) order index of the coarse position of current point Pn the current frame i.The method of claim 5, wherein the coarse position is found by searching in the previous frame which has a certain laser index and azimuthal sampling angle, wherein the certain laser index and azimuthal sampling angle‐ corresponds to a laser index and an azimuthal sampling angle of the coarse position of current point in the current frame, or‐ is within a certain range of the laser index and the azimuthal sampling angle of the coarse position of current point in the current frame.The method of claim 4, wherein, when there is no coarse position found in the previous frame, which corresponds to the coarse position of current point in the current frame, the previous frame is searched for one or more close coarse positions, which are within a certain range from a position of coarse position of the current point.The method of claim 8, wherein the one or more close coarse positions includes coarse positions in the previous frame having an order index being within a certain range of an order index of coarse position of the current point.The method of claim 9, wherein a coarse position in the previous frame, which has an order index being one coarse position previous to the order index of the coarse position of current point of the current frame, is selected as the referred coarse position, and the radius of the referred coarse position is used as the inter-predicted radius and / or the azimuthal angle of the referred coarse position is used as the inter-predicted azimuthal angle.The method of claim 10, wherein the coarse position in the previous frame is selected as the referred coarse position whenoi-1 (P1) =oi (Pn) -1whereoi (Pn) order index of coarse position of the current point Pn of the current frame i, andoi-1 (P1) order index of coarse position of point P1 in the previous frame i-1.The method of claim 9, wherein a coarse position in the previous frame, which has an order index being one later to the order index of coarse position of the current point of the current frame, is selected as the referred coarse position, and the radius of the referred coarse position is used as the inter-predicted radius and / or the azimuthal angle of the referred coarse position is used as the inter-predicted azimuthal angle.The method of claim 12, wherein the coarse position in the previous frame is selected as the referred coarse position whenoi-1 (P2) =oi (Pn) +1whereoi (Pn) order index of coarse position of the current point Pn of the current frame i, andoi-1 (P2) order index of coarse position of point P2 in the previous frame i-1.The method of claim 9, wherein a first coarse position of point P1 and a second coarse position of point P2 in the previous frame are selected as the referred coarse positions, and an average value, e.g., a weighted average value, of the radii and / or of the azimuthal angles of the two first and second coarse positions is used as the inter-predicted radius and / or the inter-predicted azimuthal angle.The method of claim 14, whereinthe first coarse position has an order index being one previous to the order index of the coarse position of current point of the current frame, andthe second coarse position has an order index being one later to the order index of coarse position of the current point of the current frame.The method of claim 4, wherein, when there is no coarse position found in the previous frame, which corresponds to the coarse position of current point in the current frame, the inter prediction scheme is not used.The method of claim 4, wherein, when there is no coarse position found in the previous frame, which corresponds to the coarse position of current point in the current frame, the inter prediction scheme is not used and the radius and / or the azimuthal angle of the current point is encoded using an intra prediction scheme.The method of any one of the preceding claims, wherein the coarse representation for each original point in point cloud is obtained by quantizing one or more original points using an azimuthal elementary shift, and wherein a coarse position contains one original point or more than one original point.The method of claim 18, wherein the referred coarse position contains a plurality of original points, wherein each of the original points contains a radius and an azimuthal angle, and one radius of the radii and / or one azimuthal angle of the original points is selected as the radius and / or the azimuthal angle of the referred coarse position and used as the inter-predicted radius and / or the inter-predicted azimuthal angle.The method of claim 18, wherein a rate-distortion-optimization (RDO) process is used to select the one radius and / or the one azimuthal angle as the inter-predicted radius and / or the inter-predicted azimuthal angle, wherein, using the RDO process, bits cost of coding inter-prediction residuals between each radius and / or each azimuthal angle of the referred coarse position and the radius and / or the azimuthal angle of the current point in the current frame are estimated, and the radius and / or the azimuthal angle of the referred coarse position which has the lowest bits cost, is selected as the as inter-predicted radius and / or the inter-predicted azimuthal angle.The method of claim 19 or 20, whereinthe selected radius has an index rIdx, and the inter-predicted radius of the current point is set as rrIdx, and wherein the index rIdx is encoded into a data stream so as to allow a decoder to decode the index rIdx from the data stream and set the radius rrIdx as the inter-predicted radius of the current point in the current frame, and / orthe selected radius has an index rIdx, and the inter-predicted radius of the current point is set as rrIdx, wherein the index rIdx is encoded into a data stream so as to allow a decoder to decode the index rIdx from the data stream and set the radius rrIdx as the inter-predicted radius of the current point in the current frame, and wherein the inter-predicted azimuthal value of the current point in the current frame is set as the azimuthal value having the same index as selected radius index rIdx of the referred coarse position in reference frame.The method of claim 18, wherein the referred coarse position contains a plurality of original points, wherein each of the original points contains a radius and / or the azimuthal angle, and wherein one of the original points of the referred coarse position is selected, and the radius and / or the azimuthal angle of the selected one original point is used as the inter-predicted radius and / or the inter-predicted azimuthal angle.The method of claim 22, wherein a rate-distortion-optimization (RDO) process is used to select the one original point, wherein, using the RDO process, bits cost of coding inter-prediction residuals between the radius and / or the azimuthal angle of each original point of the referred coarse position and the radius and / or the azimuthal angle of the current point in the current frame are estimated, and the radius and / or the azimuthal angle of the original point of the referred coarse position, which has the lowest bits cost, is selected as the as inter-predicted radius and / or the inter-predicted azimuthal angle.The method of claim 21 or 22, whereinthe radius of the selected original point has an index pIdx, and the inter-predicted radius of the current coarse position is set as rpIdx, and wherein the index pIdx is signaled, e.g., encoded into a data stream, so as to allow a decoder to decode the index pIdx from the data stream and set the radius rpIdx as the inter-predicted radius of the current point in the current frame, and / orthe radius of the selected original point has an index pIdx, and the inter-predicted radius of the current coarse position is set as rpIdx, wherein the index pIdx is signaled, e.g., encoded into a data stream, so as to allow a decoder to decode the index pIdx from the data stream and set the radius rpIdx as the inter-predicted radius of the current point in the current frame, and wherein the inter-predicted azimuthal value of the current point in the current frame is set as the azimuthal value belonging to a point with the index pIdx of the referred coarse position in reference frame.The method of claims 19 or 22, wherein the plurality of original points are contained in an ordered list, and‐ a radius and / or the azimuthal angle of the first original point in the list is selected as the radius and / or the azimuthal angle of the referred coarse position and used as the inter-predicted radius and / or the inter-predicted azimuthal angle, or‐ the first original point in the list is selected and the radius and / or the azimuthal angle of the first original point is used as the inter-predicted radius and / or the inter-predicted azimuthal angle.The method of claims 25, wherein an index rIdx of the selected radius or an index pIdx of the selected original point is not signaled, e.g., is not encoded onto the data stream, so that, both an encoder and a decoder, always use same radius and / or the azimuthal angle of the original point in the previous frame to get the inter-predicted radius and / or the inter-predicted azimuthal angle for the current point.The method of the preceding claims, wherein the inter-predicted radius residual and / or the inter-predicted azimuthal angle is encoded, e.g., by using entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .The method of claim 27, wherein the inter-predicted radius residual and / or the inter-predicted azimuthal angle residual is encoded into a data stream.The method of any one of the preceding claims, wherein the radius and / or the azimuthal angle of the current point in the current frame is encoded using selectively the inter prediction scheme or an intra prediction scheme.The method of claim 29, wherein the best of the intra prediction scheme and the inter prediction scheme is selected for encoding the radius and / or the azimuthal angle, e.g., by using a rate-distortion-optimization (RDO) process.The method of claim 30, wherein first bits cost for encoding the radius and / or the azimuthal angle using the inter prediction scheme and second bits cost for encoding the radius and / or the azimuthal angle using the intra prediction scheme are determined using the RDO process.The method of claim 31, wherein the first bits cost and the second bits cost are compared to determine whether or not the inter prediction scheme for the current point is used, and wherein‐ the inter prediction scheme for the current point is used, when the first bits cost are higher than the second bits cost, and‐ the inter prediction scheme for the current point is not used, when the first bits cost are equal to or lower than the second bits cost.The method of any one of claims 29 to 32, wherein‐ when the intra-prediction scheme is used, an intra-predicted radius residual and / or an intra-predicted azimuthal angle is obtained, and‐ when the inter-prediction scheme is used, the inter-predicted radius residual and / or the inter-predicted azimuthal angle is obtained.The method of claim 32, wherein a best one of intra predicted radius residuals between the radius of the current point and the radii of previous points in the current frame is selected as the intra predicted radius residual, e.g., by using a rate-distortion-optimization (RDO) process, and / or wherein a best one of intra predicted azimuthal angle residuals between the azimuthal angle of the current point and the azimuthal angles of previous points in the current frame is selected as the intra predicted azimuthal angle residual, e.g., by using a rate-distortion-optimization (RDO) process.The method of any one of claims 29 to 34, wherein‐ when the intra-prediction scheme is used, the intra-predicted radius residual and / or the intra-predicted azimuthal angle residual is encoded into a data stream, and‐ when the inter-prediction scheme is used, the inter-predicted radius residual and / or the inter-predicted azimuthal angle residual is encoded into a data stream, and an index rIdx of a selected radius or an index pIdx of a selected original point in the previous frame are encoded into a data stream.The method of any one of claims 29 to 35, wherein the intra-predicted radius residual and / or the intra-predicted azimuthal angle residual is encoded using an entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .The method of any one claims 29 to 36, wherein the intra prediction scheme uses a first entropy encoder, and the inter prediction scheme uses a second entropy encoder, the first and second entropy encoders being independent encoders using separate context tables for modeling statistic probabilities for the intra prediction scheme and for the inter prediction scheme, respectively.The method of any one of the preceding claims, wherein a first flag is provided, the first flag indicating for the one or more points with coarse representation whether or not the inter prediction scheme is used for encoding the radius and / or the azimuthal angle.The method of claim 38, wherein the first flag is encoded into a data stream, like a bitstream including data representing the point cloud.The method of claim 38 or 39, wherein‐ when the first flag has a first value indicating that the inter prediction scheme is used, the inter-predicted radius residual and / or the inter-predicted azimuthal angle residual is encoded into the data stream.‐ when the first flag has a second value indicating that the inter prediction scheme is not used, the intra-predicted radius residual and / or the intra-predicted azimuthal angle residual is encoded into the data stream.The method of any one of the preceding claims, wherein the inter prediction scheme is used responsive to a certain signaling.The method of claim 41, wherein the certain signaling includes a second flag indicating whether or not the inter prediction scheme is to be selectively used.The method of claim 42, wherein the second flag is included in a geometry parameter set (GPS) or a sequence parameter set (SPS) of a data stream, like a L3C2 bitstream structure.A method for decoding a point cloud from a data stream, the method comprising:decoding from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an inter prediction scheme for decoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.The method of claim 44, wherein, when the signaling indicates the use of the inter prediction scheme, the method comprises:‐ decoding an inter-predicted radius residual and / or the inter-predicted azimuthal angle residual from the data stream, and‐ constructing the radius and / or the azimuthal angle of the current point using the decoded inter-predicted radius residual and / or the inter-predicted azimuthal angle residual.The method of claim 45, wherein the inter-predicted radius residual rinter_res for the current point, an inter-predicted radius r′ for the current point, and an index rIdx of a selected radius or an index pIdx of a selected original point of a referred coarse position in a previous frame are decoded from the data stream, and wherein the radius rdec of the current point is constructed as rdec=rinter_res+r′The method of any one of claims 44 to 46, wherein, when the signaling indicates that the inter prediction scheme is not used, the method comprises:‐ decoding an intra-predicted radius residual and / or an intra-predicted azimuthal angle residual from the data stream, and‐ constructing the radius and / or the azimuthal angle of the current point using the decoded intra-predicted radius residual and / or the intra-predicted azimuthal angle residual.The method of claim 47, wherein the intra-predicted radius residual rintra_res for the current point is decoded from the data stream, and an intra-predicted radius r′ for the current point is obtained, and wherein the radius rdec of the current point is constructed as rdec=rintra_res+r′The method of any one of claims 44 to 48, wherein the coarse representation is constructed in a plane (Фc, λn) of the current point Pn by obtaining a laser index λ and an azimuthal sampling angle Фc based on the order of the current point Pn,λn=oi (Pn) mod Nlaser,Фc= (oi (Pn) -λn)  / Nlaser.whereNlaser total number of laser beams.The method of any one claims 44 to 49, wherein the signaling includes a flag, the flag indicating for the one or more points whether or not the inter prediction scheme is used for decoding the radius and / or the azimuthal angle.A non-transitory computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of the preceding claims.An encoder, the encoder comprising:an encoder module, wherein the encoder module is configured to encode a point cloud according to the method of any one of claims 1 to 43.An encoder, the encoder comprising:an encoder module,wherein the encoder module is configured to encode a point cloud into a data stream, andwherein, for one or more points with a coarse representation of the point cloud, the encoder module is configured to use an inter prediction scheme for encoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.A decoder, the decoder comprising:a decoder module, wherein the decoder module is configured to decode a point cloud according to the method of any one of claims 44 to 50.A decoder, the decoder comprising:a decoder module,wherein the decoder module is configured to decode a point cloud from a data stream, andwherein, for one or more points with a coarse representation of the point cloud, the decoder module is configured to decode from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an inter prediction scheme for decoding a radius and / or an azimuthal angle of a current point in a current frame of the point cloud.A data stream having encoded thereinto a point cloud, wherein the data stream comprises:a signaling indicating, for one or more points with a coarse representation of the point cloud, whether an inter prediction scheme is used for coding a radius and / or azimuthal angle of a current point in a current frame of the point cloud.

Citation Information

Patent Citations

  • Image-based compression of lidar sensor data with point re-ordering

    US20190051017A1

  • Method and apparatus of encoding / decoding point cloud geometry data captured by a spinning sensors head

    US20240185466A1

  • Inter prediction coding for geometry point cloud compression

    WO2023056232A1

  • Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device

    WO2023059089A1