Method and apparatus for data coding using inter prediction for coding a reconstructed point of a point cloud

The inter-frame prediction method for point clouds addresses the challenge of balancing simplicity, latency, and compression by incorporating horizontal and vertical predictors, enhancing the L3C2 codec's efficiency in encoding and decoding Lidar data from moving vehicles.

WO2026011371A1PCT 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/104837
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-10
Publication Date
2026-01-15

AI Technical Summary

Technical Problem

Existing point cloud codecs, particularly for Lidar data from moving vehicles, fail to achieve a balance of encoder and decoder simplicity, low latency, and effective compression performance.

Method used

Implement an inter-frame prediction method that combines horizontal and vertical predictors in a reference frame to improve the coding process for Lidar data, using an inter-frame prediction to enhance the reconstruction of point cloud coordinates.

Benefits of technology

This approach enhances the compression performance of Lidar data by reducing prediction residuals, specifically improving the L3C2 codec's efficiency through temporal domain correlation utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024104837_15012026_PF_FP_ABST
    Figure CN2024104837_15012026_PF_FP_ABST
Patent Text Reader

Abstract

A method for coding a point cloud is described. The method includes, for one or more points of the point cloud, using an inter-frame prediction for obtaining at least one reconstructed coordinate of the point.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR DATA CODING USING INTER PREDICTION FOR CODING A RECONSTRUCTED POINT 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 of the point cloud, an inter-frame prediction for obtaining at least one reconstructed coordinate of the point.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 coding a point cloud, the method comprising for one or more points of the point cloud:

[0012] obtaining at least one reconstructed coordinate of the point using an inter-frame prediction.

[0013] Optionally, the inter-frame prediction predicts the least one reconstructed coordinate of the point in a current frame by using a prediction value, wherein the prediction value is obtained by combining one or more horizontal inter-predictors and one or more vertical inter-predictors of a reference frame.

[0014] Optionally,

[0015] the one or more inter-horizontal predictors are first points in the reference frame which (a) have a same elevation index, λ, as the point in the current frame, and (b) are within a predefined azimuth range from an azimuth index, Фc, of the point in the current frame, and

[0016] the one or more vertical inter-predictors are second points in the reference frame which have an elevation index, λ, different from the elevation index, λ, of the point in the current frame.

[0017] Optionally, Linter_horiz first points are selected from the reference frame, with Linter_horiz ≤ Linter, where Linter is a predefined number, e.g., a predefined integer greater than or equal to 1, for example, it can be set as 4.

[0018] Optionally, the predefined azimuth range is set as [azimuthIdx - M1, azimuthIdx + M2] , where azimuthIdx is the azimuth index, Фc, of the point in the current frame, and M1 and M2 are integers greater than or equal to 1, for example M1 and M2 can  be set as 1 or 2 for considering saving searching time, and M1 and M2 can also be set as 10 to find a better horizontal predictor in a larger search range..

[0019] Optionally, Linter_verti second points are selected from the reference frame, with Linter_verti ≤ Linter, where Linter is a predefined number, e.g., a predefined integer greater than or equal to 1.

[0020] Optionally, the second points are selected from a range having a horizontal range of [azimuthIdx -H, azimuthIdx + I] and a vertical range of [elevationIdx -N, elevationIdx -1] and [elevationIdx + 1, elevationIdx + M] , where azimuthIdx is an azimuth index, Фc, of the point in the current frame, and where elevationIdx is the elevation index, λ, of the point in the current frame, with and H, I, M and N being integers greater than 1.

[0021] Optionally, the second points are selected using a nearest combined distance dist to a center in the reference frame, wherein the center in the reference frame has the same elevation index, λ, as the point in the current frame.

[0022] Optionally, the nearest combined distance dist for a certain second point is determined using a horizontal distance disthorizontal and a vertical distance distvertical, wherein disthorizontal represents an azimuth index difference between the certain second point and the center, and distvertical represents an elevation index difference between the certain second point and the center.

[0023] Optionally, the nearest combined distance dist is determined by weighting the horizontal and vertical distances as follows:

[0024] dist=disthorizontal<<shift+distverticalwhere shift represents a number of bits in a left-shift operation (<<) .

[0025] Optionally,

[0026] the reference frame includes a motion-compensated reference frame and a non-motion-compensated reference frame, and

[0027] a first number, k, of first points is selected from the motion-compensated reference frame, and a second number, n-k, of second points is selected from the non-motion-compensated reference frame.

[0028] Optionally, one or more certain horizontal inter-predictors and / or one or more certain inter-vertical predictors, which have one or more certain properties, are removed.

[0029] Optionally, the one or more certain horizontal inter-predictors and / or one or more certain vertical inter-predictors are removed for keeping a number of selected inter-predictors lower than or equal to Linter, with Linter_verti + Linter_horiz ≤ Linter.

[0030] Optionally, when removing the certain horizontal inter-predictors does not reduce the number of selected inter-predictors to lower than or equal to Linter, further vertical inter-predictors are removed until the number of selected inter-predictors is lower than or equal to Linter.

[0031] Optionally, the one or more certain properties of the certain horizontal inter-predictors include an azimuth difference between the azimuth index, Фc, of a first point and the azimuth index, Фc, of the point in the current frame.

[0032] Optionally, horizontal inter-predictors are removed, which have an azimuth difference larger than a first threshold TH1, and which have an elevation index larger than a second threshold TH2 are removed .

[0033] Optionally,

[0034] the first threshold TH1 is a ratio of an elevation resolution Δθ to an azimuthal resolution ΔФ and is determined as follows:

[0035] where shift1 represents a number of left-shift positions, and the second threshold TH2 is determined as follows:

[0036] TH2=Numlasers*s

[0037] where Numlasers is a number of total laser beams, and s is a coefficient ranging from (0, 1) .

[0038] Optionally,

[0039] an intra-frame prediction list, PLintra, and an inter-frame prediction list, PLinter, is generated,

[0040] the inter-frame prediction list includes the Linter horizontal and vertical inter-predictors from the reference frame,

[0041] the intra-frame prediction list includes Lintra horizontal and vertical intra-predictors from the current frame, where Lintra is a predefined number, e.g., a predefined integer greater than or equal to 1, for example, Lintra may be set as 4,

[0042] the inter-frame prediction list and the intra-frame prediction list together have a length L, with L = Lintra + Linter, and

[0043] the prediction value is obtained by combining one or more horizontal inter-predictors and one or more vertical inter-predictors from the inter-frame prediction list or one or more horizontal intra-predictors and one or more vertical intra-predictors from the intra-frame prediction list.

[0044] Optionally, the prediction value is obtained by combining

[0045] (a) one or more horizontal inter-predictors and one or more vertical inter-predictors from the inter-frame prediction list, when the inter-frame prediction is used, and

[0046] (b) one or more horizontal intra-predictors and one or more vertical intra-predictors from the intra-frame prediction list, when the inter-frame prediction is not used.

[0047] Optionally, the use / non-use of the inter-frame prediction is signaled, e.g. by a 1-bit flag, like IsInterflag, included in a data stream, like a bitstream including data representing the point cloud data.

[0048] Optionally,

[0049] a prediction list is generated,

[0050] the prediction list includes the Linter horizontal and vertical inter-predictors from the reference frame and Lintra horizontal and vertical intra-predictors from the current frame, where Lintra is a predefined number, e.g., a predefined integer greater than or equal to 1, a length of the prediction list is L, with L = Lintra + Linter, and

[0051] the prediction value is obtained by combining one or more horizontal inter-predictors and / or one or more vertical inter-predictors from the prediction list.

[0052] Optionally, the prediction value is represented by using a predictor index in the prediction list, wherein the predictor index is a predictor selected form the prediction list,  and wherein the prediction value is the predictor with the predictor index in the prediction list.

[0053] Optionally, the predictor index is signaled, e.g. in a data stream, like a bitstream including data representing the point cloud data.

[0054] Optionally, all reconstructed coordinates of the point are coded using the inter-frame prediction.

[0055] Optionally, the reconstructed coordinates include a reconstructed azimuthal angle, Фrec, and a reconstructed radius, rrec.

[0056] Optionally, the method further comprises coding a coarse position of the point.

[0057] Optionally, the coarse position of the point is defined by the elevation index, λ, and the azimuth index, Фc.

[0058] Optionally, coding the point cloud comprises decoding the point cloud from a data stream.

[0059] Optionally, the method comprises for each point to be decoded:

[0060] decoding from the data stream the coarse representation of the point, wherein the coarse representation includes the elevation index, λ, and the azimuth index, Фc, of the point,

[0061] decoding from the data stream a radius residual of the point and an azimuth residual of the point,

[0062] obtaining a reconstructed azimuthal angle, Фrec, and / or a reconstructed radius, rrec, by combing the decoded radius residual and the prediction value for the radius and / or by combing the decoded azimuth residual and the prediction value for the azimuth,

[0063] converting the reconstructed azimuthal angle, Фrec, and the reconstructed radius, rrec, into reconstructed cartesian coordinates,

[0064] decoding from the data stream cartesian coordinates residuals, and

[0065] obtaining the cartesian coordinates of the point by combining the decoded cartesian coordinate residuals and the reconstructed cartesian coordinates.

[0066] Optionally, one or more or all of the radius residual, the azimuth residual and the cartesian coordinates residuals are quantized values, and wherein the method further comprises applying a reverse quantization to the decoded residuals.

[0067] Optionally, the method comprises:

[0068] decoding from the data stream a flag, e.g., IsInterflag, signaling whether or not the inter-frame prediction is used for obtaining the at least one reconstructed coordinate of the point,

[0069] obtaining the at least one reconstructed coordinate using the inter-frame prediction, when the flag has a first value which indicates that the inter-frame prediction is used, and

[0070] obtaining the at least one reconstructed coordinate using an intra-frame prediction, when the flag has a second value which indicates that the inter-frame prediction is not used.

[0071] Optionally, coding the point cloud comprises encoding the point cloud into a data stream.

[0072] Optionally, the method comprises for each point to be encoded:

[0073] encoding into the data stream a parameter representing a coarse representation of the point, wherein the coarse representation includes the elevation index, λ, and the azimuth index, Фc, of the point,

[0074] obtaining a reconstructed azimuthal angle, Фrec, and / or a reconstructed radius, rrec, of the point by combing a radius residual of the point and the prediction value for the radius and / or by combing an azimuth residual of the point and the prediction value for the azimuth,

[0075] converting the reconstructed azimuthal angle, Фrec, and the reconstructed radius, rrec, into estimated cartesian coordinates of the point,

[0076] obtaining cartesian coordinates residuals from the cartesian coordinates of the point and the reconstructed cartesian coordinates, and

[0077] encoding into the data stream the radius residual, the azimuth residuals and the cartesian coordinates residuals.

[0078] Optionally, one or more or all of the radius residual, the azimuth residual and the cartesian coordinates residuals are quantized.

[0079] Optionally, the method comprises:

[0080] encoding into the data stream a flag, e.g., IsInterflag, signaling whether or not the inter-frame prediction is used for obtaining the at least one reconstructed coordinate of the point,

[0081] wherein a first value of the flag is encoded into the data steam, when the inter-frame prediction is used, and

[0082] wherein a second value of the flag is encoded into the data steam, when the inter-frame prediction is not used.

[0083] 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.

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

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

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

[0087] a decoder module,

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

[0089] wherein, for one or more points of the point cloud, the decoder module is configured to obtain at least one reconstructed coordinate of the point using an inter-frame prediction.

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

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

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

[0093] an encoder module,

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

[0095] wherein, for one or more points of the point cloud, the encoder module is configured to obtain at least one reconstructed coordinate of the point using an inter-frame prediction.

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

[0097] a signaling indicating, for one or more points of the point cloud, whether or not an inter-frame prediction is used for obtaining at least one reconstructed coordinate of a point in a current frame of the point cloud.

[0098] The technical solutions provided according to embodiments of the present invention have the following beneficial effects. By introducing an inter-frame prediction for obtaining at least one reconstructed coordinate of the point, a Lidar data coding performance is improved. More specifically, the compression performance of, e.g., L3C2 is improved by reducing a prediction residual of radius.

[0099] 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

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

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

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

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

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

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

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

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

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

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

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

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

[0112] Fig. 12 illustrates a flow diagram of a method for coding a Lidar acquired point cloud, in accordance with an embodiment; Fig. 13 illustrates a flow diagram of a method of coding, e.g., encoding into or decoding from a bitstream, geometry information of points of a point cloud, like a Lidar acquired point cloud, in accordance with a further embodiment;

[0113] Fig. 14 illustrates a selection of the inter-predictors in accordance with an embodiment

[0114] Fig. 15 illustrates an example of selecting horizontal predictor points in a reference frame for a current point;

[0115] Fig. 16 illustrates an example of selecting vertical predictor points in a reference frame for a current point;

[0116] Fig. 17 (A) and Fig. 17 (B) illustrate a flow diagram of a decoding method of geometry information of a point cloud in accordance with an embodiment of the present disclosure;

[0117] Fig. 18 illustrates a flow diagram of a decoding method of geometry information of a point cloud in accordance with another embodiment of the present disclosure;

[0118] Fig. 19 illustrates a flow diagram of an encoding method of geometry information of a point cloud in accordance with an embodiment of the present disclosure;

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

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

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

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

[0123] 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.

[0124] 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.

[0125] 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.

[0126] 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 “adecoder” .

[0127] Point cloud codecs

[0128] 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.

[0129] 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.

[0130] 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.

[0131] 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.

[0132] 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.

[0133] Point cloud compression in MPEG

[0134] 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:

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

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

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

[0138] 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.

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

[0140] ·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) .

[0141] ·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.

[0142] 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.

[0143] 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.

[0144] 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.

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

[0146] 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.

[0147] 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.

[0148] 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 Ф, θ.

[0149] 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.

[0150] 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.

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

[0152] Coarse representation

[0153] 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 ΔФ.

[0154] 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

[0155] Фc = round (Ф / ΔФ) ,

[0156] and the order index o (P) of a point P is obtained by

[0157] o(P) = Фc*Nlaser + λ.

[0158] 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 120 defined by the coarse azimuthal angle Фc and the laser index λ.

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

[0160] ·the number of points Npoints,

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

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

[0163] 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.

[0164] Point cloud codec

[0165] 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.

[0166] 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.

[0167] 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

[0168] Фrec = ΔФ*Фc + IQ (Q (Фres) )

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

[0170] 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

[0171] rrec = IQ (Q (r) ) .

[0172] 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:

[0173] xestim = rrec·cos (Фrec)  yestim = rrec·sin (Фrec)

[0174] The residuals xres and yres relative to the original point location x, y are obtained or computed as

[0175] xres = x -xestim  yres = y -yestim,

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

[0177] A vertical estimate zestim is obtained from the laser angle θ (λ) by

[0178] zestim = rrec tan (θ (λ) )

[0179] and a residual zres relative to the original point location z is obtained or computed by

[0180] zres = z -zestim

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

[0182] 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.

[0183] 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.

[0184] 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

[0185] Фrec = ΔФ*Фc + IQ (Q (Фres) )

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

[0187] 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

[0188] rrec = IQ (Q (r) ) .

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

[0190] 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:

[0191] xestim = rrec·cos (Фrec)  yestim = rrec·sin (Фrec)

[0192] 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

[0193] xdec = xestim + x  ydec = yestim + yres.

[0194] A vertical estimate zestim is obtained from the laser angle θ (λ) by

[0195] zestim = rrec tan (θ (λ) ) ,

[0196] 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

[0197] zdec = zestim + zres.

[0198] In conventional low latency, low complexity lidar coding (L3C2) , each coarse 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 coarse point is encoded / decode. After an iteration for a coarse point geometry and attribute coding finishes, the process proceeds to next iteration to code a next coarse point following the same process as described above.

[0199] However, in a conventional L3C2 scheme, solely a spatial domain correlation is explored while neglecting a temporal domain correlation, which reduces the compression efficiency of L3C2. Thus, the problem to solve is to improve compression performance of L3C2 by making use of temporal domain correlations of point cloud sequence.

[0200] Embodiments of the present disclosure improve the compression performance for the inter prediction of coarse representation, e.g., in L3C2, by incorporating inter-frame prediction into a prediction process used for coding a point of a Lidar acquired point cloud.

[0201] Fig. 12 illustrates a flow diagram of a method for coding a Lidar acquired point cloud, in accordance with an embodiment. The method includes for one or more points of the Lidar acquired point cloud the following:

[0202] S400: Obtaining at least one reconstructed coordinate of the point using an inter-frame prediction.

[0203] In accordance with embodiments, L3C2 coding, i.e., encoding or decoding, a geometry, like a Lidar acquired point cloud, includes:

[0204] coding a coarse position of a sensed point, like a point in the Lidar acquired point cloud, and

[0205] coding reconstructed coordinates of the a sensed point, wherein, for improving the coding the reconstructed coordinates is improved according to the present disclosure by incorporating the inter-frame prediction into a prediction process.

[0206] In accordance with embodiments, L3C2 is improved by introducing an inter-frame predicting method combining horizontal and vertical predictors in a reference frame for selecting one or more inter-predictors for a current coded point in a current frame. In this disclosure, in accordance with embodiments, combining horizontal and vertical predictors means considering both horizontal predictors and vertical predictors in the reference frame together to predict a current coded point in a current frame, not only consider horizontal predictors or only consider vertical predictors, and there is a prediction list to contain them. At the encoder side, an RDO (rate distortion optimization) method may be used to determine which is the best inter predictor among the selected horizontal and vertical predictors. The horizontal and vertical predictors are also referred to herein as horizontal and vertical inter-predictors, in a reference frame for selecting one or more inter-predictors for a current coded point in a current frame.

[0207] In accordance with other embodiments, L3C2 is improved by introducing a predictor list that contains an inter-predictor list holding or storing inter-predictor points, like the horizontal and vertical inter-predictors, in the reference frame.

[0208] In accordance with yet other embodiments, L3C2 is improved by introducing a compensated reference frame used for predicting the current point.

[0209] Fig. 13 illustrates a flow diagram of a method of coding, e.g., encoding into or decoding from a bitstream, geometry information of points of a point cloud, like a Lidar acquired point cloud, in accordance with a further embodiment. The method includes for each point the following:

[0210] S402: Coding a coarse representation of the point, which includes the elevation index and the azimuth index of the point.

[0211] S404: Obtaining a prediction value of a current coded point in a current frame by combining both horizontal inter-predictors and vertical-inter predictors in a reference frame.

[0212] S406: Obtaining residuals for a radius and an azimuth.

[0213] S408: Optionally, when the residuals are quantized residuals, applying a reverse quantization to the residuals.

[0214] S410: Obtaining reconstructed cylindrical coordinates of the point by combing the residuals and the obtained prediction values for the radius and the azimuth.

[0215] In accordance with embodiments, the horizontal predictors are selected points in the reference that have the same elevation index (λ) as the current point, and they are selected by determining points in the reference frame that have the same elevation index (λ) and are among the ones having a nearest azimuth index, azimuthIdx, to that of the current point in the current frame.

[0216] In accordance with embodiments, the vertical predictors are selected points in the reference frame that have a different elevation index (λ) from that of the current point.

[0217] In accordance with embodiments, to obtain the prediction value of current coded point, two prediction lists (PLintra, PLinter) are build having a total length L, and an intra-prediction list PLintra includes Lintra intra-predictors from the current frame, and an inter-prediction list PLinter includes Linter inter-predictors from a reference frame, like a previously coded frame (L = Lintra + Linter) . In accordance with embodiments, Linter and Lintra may be predefined by the codec.

[0218] In accordance with embodiments, the Linter inter-predictors contain selected Linter_verti vertical inter-predictors and selected Linter_horiz horizontal inter-predictors.

[0219] In accordance with embodiments, a 1-bit flag, like IsInterflag, is used to indicate whether a predictor value originates from an intra-frame prediction list (PLintra) or from an inter-frame prediction lists (PLinter) . For example, if the flag is equal to 1, then the predictor value for coding the current point is from the inter-frame list PLinter, otherwise, the predictor value for coding the current point is from the intra-frame list PLintra. The 1-bit flag may be encoded into / decoded from a bitstream.

[0220] In accordance with embodiments, for selecting the horizontal inter-predictors, a search range for the nearest coarse angle is set as [azimuthIdx - M1, azimuthIdx + M2] , for example M1 and M2 can be set as 1 or 2 for considering saving searching time, and M1 and M2 can also be set as 10 to find a better horizontal predictor in a larger search range, wherein azimuthIdx is the coarse azimuth angle of the current point. It is noted that, in  accordance with embodiments, the searching range in the two directions may be different, i.e., M1 and M2 may have different values. In accordance with other embodiments, the searching range may have the same extensions in the two directions, i.e., M1 and M2 may have the same value. In accordance with embodiments values of M1 and M2 may be obtained empirically, e.g., from experiment results. Preferred values of M1 and M2 may be 10 according to experiment results.

[0221] In accordance with embodiments, among the selected Linter_horiz points, k points are from a motion-compensated reference frame, and n-k points are from a non-compensated reference frame. For points in static places (like in road and in building) , there is little motion between adjacent frames, thus a non-motion-compensated reference frame is enough to use to get a good inter predictor. But for points in moving places (like cars, people, moving objects) , there is a large moving motion between adjacent frames, thus a motion-compensated reference frame may be used to get a good inter predictor. For example, n can be set as 4, and k can be set as 2.

[0222] In accordance with embodiments, for selecting the vertical inter-predictors, a search range in both the horizontal and vertical dimension is defined, and within the defined search range, vertical inter-predictor points are selected according to a nearest combined distance dist to a center in reference frame having the same index as the current point.

[0223] In accordance with embodiments, the nearest combined distance dist is determined based on horizontal distance disthorizontal and vertical distance distvertical, where the calculation of dist may be weighted by both horizontal and vertical distances.

[0224] In accordance with embodiments, the inventive approach is enabled / disabled by a flag, e.g., InterPredictionEnabled, which indicates if the inter-frame prediction for obtaining at least one reconstructed coordinate of the point is used or not. If the flag InterPredictionEnabled is true, then the inventive method 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.

[0225] Embodiments of selecting the inter-predictors are now described.

[0226] Fig. 14 illustrates a selection of the inter-predictors in accordance with an embodiment. The inter-predictors in the reference frame include one or more horizontal predictors, also referred to as horizontal inter-predictors, and one or more vertical predictors, also referred to as vertical inter-predictors, which are selected as follows:

[0227] S414: One or more first points in the reference frame are selected as the horizontal predictors, wherein the first points have the same elevation index (λ) as the current point, i.e., Linter_horiz (Linter_horiz ≤ Linter) points are selected in the reference frame which have the same elevation index (λ) and are among the ones having a nearest coarse azimuth angle Фc to that of the current point in the current frame. The coarse azimuth angle Фc is also referred to herein as an azimuth index, azimuthIdx.

[0228] S416: One or more second points in the reference frame are selected as the vertical predictors, e.g., Linter_verti points from the reference frame with Linter_verti ≤ Linter, that have a different elevation index (λ) from that of the current point.

[0229] In accordance with embodiments, a search range for the nearest coarse angle is set as [azimuthIdx -M1, azimuthIdx + M2] , where azimuthIdx is the coarse azimuth angle of the current point, for example M1 and M2 can be set as 1 or 2 for considering saving searching time, and M1 and M2 can also be set as 10 to find a better horizontal predictor in a larger search range. It is noted that, in accordance with embodiments, the searching range in the two directions may be different, i.e., M1 and M2 may have different values. In accordance with other embodiments, the searching range may have the same extensions in the two directions, i.e., M1 and M2 may have the same value. In accordance with embodiments values of M1 and M2 may be obtained empirically, e.g., from experiment results. Preferred values of M1 and M2 may be 10 according to experiment results. Fig. 15 illustrates an example of selecting horizontal predictor points in the reference frame for the current point using a searching range having the same extensions in the two directions, with M1 and M2 set to 1. The azimuth of the current point cur_P is indicated as azimuthIdx, and the elevation of the current point cur_P is indicated by elevationIdx k. M1 and M2 are set to 1 so that the points ref0, ref1 and ref2, which have their coarse azimuth angles in the search range from azimuthIdx -1 to azimuthIdx + 1 and have the elevationIdx k, are  selected as the horizontal predictor points for the coding of the current point in the current frame.

[0230] In accordance with embodiments, among the Linter_horiz points, k points are from a motion-compensated reference frame, and n-k points are from a non-compensated reference frame.

[0231] In accordance with embodiments, the value of Linter is set as 4.

[0232] In accordance with embodiments, for determining the vertical predictors, a search range on both the horizontal and vertical dimension is defined. The search range includes a horizontal search range extending from [azimuthIdx -H, azimuthIdx + I] , while a vertical range includes a first vertical range extending from [elevationIdx -N, elavationIdx -1] and a second vertical range extending from [elevationIdx + 1, elevationIdx + M] , where azimuthIdx and elevationIdx represent the index of the current point to be predicted. It is noted that, in accordance with embodiments, the horizontal search range in the two directions may be different, i.e., H and I may have different values. In accordance with other embodiments, the horizontal search range may have the same extensions in the two directions, i.e., H and I may have the same value. Further, in accordance with embodiments, the first and second vertical ranges may be different, i.e., M and N may have different values. In accordance with other embodiments, the first and second vertical ranges may have the extensions, i.e., M and N may have the same value. For example H, I, N and M can be set as 2. In accordance with embodiments values of H, I, N and M may be obtained empirically, e.g., from experiment results. Preferred values of H, I, N, M may be 2 according to experiment results. Fig. 16 illustrates an example of selecting vertical predictor points in the reference frame for the current point, with the horizontal search range having the same extensions in the two directions, and with the first and second vertical ranges being the same. The azimuth of the current point cur_P is indicated as azimuthIdx, and the elevation of the current point cur_P is indicated by elevationIdx k. In the example of Fig. 16 the first and second search ranges vsr1 and vsr2 extend horizontally from azimuthIdx -H, to azimuthIdx + I, the first vertical range vsr1 extends vertically from elevationIdx k-1 to elavationIdx k-N, and the second vertical range vsr2 extends vertically from elevationIdx k+1 to elavationIdx k+M.

[0233] In accordance with other embodiments, the vertical search space may have a greater distance from the elevationIdx, e.g., the vertical ranges may extend from elevationIdx k+y1 to elevationIdx k+M and elevationIdx k-y2 to elevationIdx k-N, with y1 and y2 being the same or different.

[0234] Within search range defined by vsr1 and vsr2 Linter_verti points, e.g., the points labeled with “ד in Fig. 16, are selected according to a nearest combined distance dist to a center in the reference frame. The center, as is illustrated in Fig. 16 has the same elevation index, elevationIdx k, as the current point cur_P, and the nearest combined distance dist is determined based on a horizontal distance disthorizontal and vertical distance distvertical. In accordance with embodiments, the selecting of the vertical points in Fig. 16 is implemented by selecting points, within the defined search range, whose combined distances (dist) are from a smallest value to the m-th smallest value, with m≤Linter, and the selected vertical predictors are ranked in an order of increasing dist. In accordance with embodiments, the dist is obtained by weighting both the horizontal and vertical distances, e.g. as follows:

[0235] dist=disthorizontal<<shift+distvertical

[0236] where

[0237] disthorizontal represents the azimuth index difference between the searched point and the center in the reference frame,

[0238] distvertical represents elevation index difference between searched point and the center in the reference frame, and

[0239] shift  represents the number of bits in the left-shift operation (<<) . In an example, shift may be set as 8. << is ‘aleft-shift operation’ in C++ language, and it means that disthorizontal is left shifted by shift bits.

[0240] In accordance with embodiments, L3C2 is improved by introducing a motion compensation method to get a compensated reference frame used for predicting the current point.

[0241] In accordance with further embodiments, the final inter predictors are obtained by keeping a number of selected inter-predictors lower than Linter, i.e., Linter_verti + Linter_horiz ≤ Linter. In accordance with embodiments, this is achieved by removing certain horizontal predictors, also referred to as ‘bad’ horizontal predictors, and if Linter_verti + Linter_horiz is still larger than Linter after removing all ‘bad’ horizontal predictors, several further vertical predictors are discarded or removed, e.g., by removing last several predictors from the selected and ranked vertical predictors to keep the total inter predictor number satisfy Linter_verti + Linter_horiz ≤ Linter.

[0242] Embodiments of removing bad horizontal inter-predictors are now described.

[0243] In accordance with embodiments, to remove bad horizontal predictors, i.e., to remove predictors having a certain property, the horizontal inter-predictors are checked by

[0244] (a) comparing the azimuth difference disthorizontal of the horizontal inter predictor with a threshold TH1,

[0245] (b) and also comparing the elevation index of the horizontal inter predictor with a threshold TH2 .

[0246] The thresholds TH1 and TH2 ae determined as follows:

[0247] where

[0248] TH1 measures the ratio of elevation resolution Δθ to azimuthal resolution ΔФ, and

[0249] shift1 represents the number of left-shift positions (<<) , which, for example, may be set to 1,

[0250] TH2=Numlasers*s

[0251] where

[0252] Numlasers represents a number of total laser beams 104 of a Lidar device 100 (see Fig. 1) , for example, Numlasers can be 32, 64 or 128, and

[0253] s is a coefficient ranging from (0, 1) . In an example s nay be set to 0.75.

[0254] When the azimuth difference disthorizonral exceeds TH1 and / or when the elevation index exceeds TH2 for a certain horizontal inter-predictor, this horizontal  inter-predictor is removed. For example, if the azimuth difference disthorizontal of a horizontal inter-predictor to the current point is larger than TH1, the horizontal correlation is poor, and, therefore, this horizontal predictor is not qualified or is considered a bad predictor which is removed from the selected horizontal predictors. Further, the removal may be retrained to certain object points, e.g., road points are more preferred to be predicted by horizontal points. Therefore, the elevation index of the horizontal point is checked by comparing it with the threshold TH2.

[0255] In accordance with other embodiments, to remove predictors if Linter_verti + Linter_horiz is still larger than Linter after removing all ‘bad’ horizontal predictors, i.e., to remove predictors having a certain property, vertical inter-predictors are removed by removing last several predictors from the selected and ranked vertical predictors to keep the total inter predictor number satisfy  Linter_verti + Linter_horiz ≤ Linter .

[0256] Embodiments of building a predictor list are now described.

[0257] In accordance with embodiments, two prediction lists (PLintra, PLinter) are built, namely an intra-prediction list PLintra including Lintra intra predictors from the current frame, and an inter-prediction list PLinter including Linter inter predictors from the reference frame, like a previously coded frame. A total length of the predictions lists is L = Lintra + Linter. Among the Lintra intra-predictors, there are Lintra_horiz horizontal intra-predictors selected from already-coded points acquired by the same laser in current frame following the same method as in existing L3C2 methods, and Lintra_verti vertical intra-predictors acquired by other lasers in current frame following the same method as in existing L3C2 methods. The Linter inter-predictors include the Linter_verti vertical inter-predictors and the Linter_horiz horizontal inter-predictors, which may be obtained or selected as described above with reference to Fig. 15 and Fig. 16.

[0258] In accordance with embodiments, a 1-bit flag, like IsInterflag, may be provided, e.g., the flag may be encoded into or may be decoded from bitstream. The flag indicates whether the predictor originates from the intra-frame list (PLintra) or from the inter-frame prediction lists (PLinter) . For example, if the flag is equal to 1, then the predictor for coding the current point is from inter-frame list PLinter, otherwise, the predictor for coding the current point is from the intra-frame list PLintra.

[0259] In accordance with other embodiments, for each point to be coded, prediction list of length L is build, which comprises Lintra intra-predictors from the current frame and Linter inter-predictors from a reference frame, like a previously coded frame. he prediction list has a length L = Lintra + Linter. Among the Lintra intra-predictors, there are Lintra_horiz horizontal intra-predictors selected from the already-encoded points acquired by the same laser, and Lintra_verti vertical intra-predictors acquired by other lasers. The Linter inter-predictors include the Linter_verti vertical inter-predictors and the Linter_horiz horizontal inter-predictors, which may be obtained or selected as described above with reference to Fig. 15 and Fig. 16. In such embodiments, since all predictors are treated as one prediction list, there is no need for the above-mentioned 1-bit flag, rather, a predictor index in the prediction list may be directly coded.

[0260] Thus, in accordance with embodiments, the prediction value is represented by using the predictor index in the generated prediction list. The predictor index is obtained by using, e.g., an RDO method to select a predictor form the generated prediction list at an encoder. The predictor index may be encoded into a bitstream at an encoder, and decoded from the bitstream at a decoder so that the prediction value for the current point is obtained as the predictor with the obtained predictor index in the generated prediction list.

[0261] Embodiments of decoding and encoding a point of a Lidar acquired point cloud are now described.

[0262] Fig. 17 (A) and Fig. 17 (B) illustrate a flow diagram of a decoding method of geometry information of a point cloud in accordance with an embodiment of the present disclosure. The method includes for each point to be decoded the following steps:

[0263] S420: Decoding from a bitstream a coarse representation of the point, which includes the elevation index and the azimuth index of the point.

[0264] S422: Building the intra and inter prediction lists PLintra, PLinter as described above.

[0265] S424: Decoding from the bitstream a flag, like IsInterflag.

[0266] S426: Determining if the inter prediction in accordance with the present disclosure is used or not for the current point.

[0267] S428: If the inter prediction is used, retrieving the predictor from the inter-frame prediction list to implement the prediction for the radius and the azimuth of the current point.

[0268] S430: If the inter prediction is not used, retrieving the predictor from the intra-frame prediction list to implement the prediction for the radius and the azimuth of the current point.

[0269] S432: Decoding from the bitstream residuals for the radius and the azimuth.

[0270] S434: Optionally, when the residuals are quantized residuals, applying a reverse quantization to the residuals.

[0271] S436: Obtaining reconstructed cylindrical coordinates by combing the residuals and the prediction values for the radius and the azimuth.

[0272] S438: Decoding coordinate transformation residuals.

[0273] S440: Optionally, when the coordinate transformation residuals are quantized residuals, applying a reverse quantization to the residuals.

[0274] S442: Obtaining the reconstructed cartesian coordinates using the coordinate transformation residuals.

[0275] Fig. 18 illustrates a flow diagram of a decoding method of geometry information of a point cloud in accordance with another embodiment of the present disclosure. The method includes for each point to be decoded the following steps:

[0276] S450: Decoding from the data stream the coarse representation of the point, wherein the coarse representation includes the elevation index, λ, and the azimuth index, Фc, of the point.

[0277] S452: Decoding from the data stream a radius residual of the point and an azimuth residual of the point.

[0278] S454: Obtaining a reconstructed azimuthal angle, Фrec, and / or a reconstructed radius, rrec, by combing the decoded radius residual and the prediction value for the radius and / or by combing the decoded azimuth residual and the prediction value for the azimuth.

[0279] S456: Converting the reconstructed azimuthal angle, Фrec, and the reconstructed radius, rrec, into reconstructed cartesian coordinates.

[0280] S458: Decoding from the data stream cartesian coordinates residuals.

[0281] S460: Obtaining the cartesian coordinates of the point by combining the decoded cartesian coordinate residuals and the reconstructed cartesian coordinates.

[0282] In accordance with embodiments, a flag, e.g., IsInterflag, is decoded from the data stream. The flag signals whether or not the inter-frame prediction of the present disclosure is used for obtaining the at least one reconstructed coordinate of the point. When the flag has a first value which indicates that the inter-frame prediction is used, the at least one reconstructed coordinate is obtained using the inter-frame prediction, i.e., the prediction values used in S454 are obtained by the inter-frame prediction of the present disclosure. When the flag has a second value which indicates that the inter-frame prediction is not used, the at least one reconstructed coordinate is obtained using an intra-frame prediction.

[0283] Fig. 19 illustrates a flow diagram of an encoding method of geometry information of a point cloud in accordance with an embodiment of the present disclosure. The method includes for each point to be decoded the following steps:

[0284] S500: Encoding into the data stream a parameter representing a coarse representation of the point, wherein the coarse representation includes the elevation index, λ, and the azimuth index, Фc, of the point.

[0285] S502: Obtaining a reconstructed azimuthal angle, Фrec, and / or a reconstructed radius, rrec, of the point by combing a radius residual of the point and the prediction value for the radius and / or by combing an azimuth residual of the point and the prediction value for the azimuth.

[0286] S504: Converting the reconstructed azimuthal angle, Фrec, and the reconstructed radius, rrec, into estimated cartesian coordinates of the point.

[0287] S506: Obtaining cartesian coordinates residuals from the cartesian coordinates of the point and the reconstructed cartesian coordinates.

[0288] S508: Encoding into the data stream the radius residual, the azimuth residuals and the cartesian coordinates residuals.

[0289] In accordance with embodiments, a flag, e.g., IsInterflag, is encoded into the data stream. The flag signals whether or not the inter-frame prediction of the present  disclosure is used for obtaining the at least one reconstructed coordinate of the point. When the inter-frame prediction of the present disclosure is used, i.e., the prediction values used in S502 are obtained by the inter-frame prediction of the present disclosure, a first value of the flag is encoded onto the bitstream. When the inter-frame prediction of the present disclosure is not used, a second value of the flag is encoded onto the bitstream.

[0290] Further embodiments

[0291] 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.

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

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

[0294] For one or more points of the Lidar acquired point cloud, the encoder module 402 is configured to obtain at least one reconstructed coordinate of the point using an inter-frame prediction.

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

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

[0297] For one or more points of the Lidar acquired point cloud, the decoder module 502 is configured to obtain at least one reconstructed coordinate of the point using an inter-frame prediction.

[0298] Fig. 22 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 of the Lidar acquired point cloud, whether or not an inter-frame prediction is used for obtaining at least one reconstructed coordinate of a point in a current frame of the Lidar acquired point cloud.

[0299] 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.

[0300] Fig. 23 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.

[0301] 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) .

[0302] 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.

[0303] 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.

[0304] 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.

[0305] 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.

[0306] 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.

[0307] 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.

[0308] 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.

[0309] 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 coding a point cloud, the method comprising for one or more points of the point cloud:obtaining at least one reconstructed coordinate of the point using an inter-frame prediction.The method of claim 1, wherein the inter-frame prediction predicts the least one reconstructed coordinate of the point in a current frame by using a prediction value, wherein the prediction value is obtained by combining one or more horizontal inter-predictors and one or more vertical inter-predictors of a reference frame.The method of claim 2, whereinthe one or more inter-horizontal predictors are first points in the reference frame which (a) have a same elevation index, λ, as the point in the current frame, and (b) are within a predefined azimuth range from an azimuth index, Фc, of the point in the current frame, andthe one or more vertical inter-predictors are second points in the reference frame which have an elevation index, λ, different from the elevation index, λ, of the point in the current frame.The method of claim 3, wherein Linter_horiz first points are selected from the reference frame, with Linter_horiz ≤ Linter, where Linter is a predefined number, e.g., a predefined integer greater than or equal to 1, for example, it can be set as 4.The method of claim 3 or 4, wherein the predefined azimuth range is set as [azimuthIdx -M1, azimuthIdx + M2] , where azimuthIdx is the azimuth index, Фc, of the point in the current frame, and M1 and M2 are integers greater than or equal to 1, for example M1 and M2 can be set as 1 or 2 for considering saving searching time, and M1 and M2 can also be set as 10 to find a better horizontal predictor in a larger search range..The method of any one of claims 3 to 5, wherein Linter_verti second points are selected from the reference frame, with Linter_verti ≤ Linter, where Linter is a predefined number, e.g., a predefined integer greater than or equal to 1.The method of any one of claims 3 to 6, wherein the second points are selected from a range having a horizontal range of [azimuthIdx -H, azimuthIdx + I] and a vertical range of [elevationIdx -N, elavationIdx -1] and [elevationIdx + 1, elevationIdx + M] , where azimuthIdx is an azimuth index, Фc, of the point in the current frame, and where elevationIdx is the elevation index, λ, of the point in the current frame, with and H, I, M and N being integers greater than 1.The method of any one of claims 3 to 7, wherein the second points are selected using a nearest combined distance dist to a center in the reference frame, wherein the center in the reference frame has the same elevation index, λ, as the point in the current frame.The method of claim 8, wherein the nearest combined distance dist for a certain second point is determined using a horizontal distance disthorizontal and a vertical distance distvertical, wherein disthorizontal represents an azimuth index difference between the certain second point and the center, and distvertical represents an elevation index difference between the certain second point and the center.The method of claim 9, wherein the nearest combined distance dist is determined by weighting the horizontal and vertical distances as follows:dist=disthorizontal<<shift+distverticalwhere shift represents a number of bits in a left-shift operation (<<) .The method of any one of claims 3 to 10, whereinthe reference frame includes a motion-compensated reference frame and a non-motion-compensated reference frame, anda first number, k, of first points is selected from the motion-compensated reference frame, and a second number, n-k, of second points is selected from the non-motion-compensated reference frame.The method of any one of claims 3 to 11, wherein one or more certain horizontal inter-predictors and / or one or more certain inter-vertical predictors, which have one or more certain properties, are removed.The method of claim 12, wherein the one or more certain horizontal inter-predictors and / or one or more certain vertical inter-predictors are removed for keeping a number of selected inter-predictors lower than or equal to Linter, with Linter_verti + Linter_horiz ≤ Linter.The method of claim 13, wherein, when removing the certain horizontal inter-predictors does not reduce the number of selected inter-predictors to lower than or equal to Linter, further vertical inter-predictors are removed until the number of selected inter-predictors is lower than or equal to Linter.The method of any one of claims 12 to 14, wherein the one or more certain properties of the certain horizontal inter-predictors include an azimuth difference between the azimuth index, Фc, of a first point and the azimuth index, Фc, of the point in the current frame.The method of claim 15, wherein horizontal inter-predictors are removed, which have an azimuth difference larger than a first threshold TH1, and which have an elevation index larger than a second threshold TH2 are removed .The method of claim 16, whereinthe first threshold TH1 is a ratio of an elevation resolution Δθ to an azimuthal resolution ΔФ and is determined as follows:where shift1 represents a number of left-shift positions, andthe second threshold TH2 is determined as follows:TH2=Numlasers*swhere Numlasers is a number of total laser beams, and s is a coefficient ranging from (0,1) .The method of any one of claims 3 to 17, whereinan intra-frame prediction list, PLintra, and an inter-frame prediction list, PLinter, is generated,the inter-frame prediction list includes the Linter horizontal and vertical inter-predictors from the reference frame,the intra-frame prediction list includes Lintra horizontal and vertical intra-predictors from the current frame, where Lintra is a predefined number, e.g., a predefined integer greater than or equal to 1, for example, Lintra may be set as 4,the inter-frame prediction list and the intra-frame prediction list together have a length L, with L = Lintra + Linter, andthe prediction value is obtained by combining one or more horizontal inter-predictors and one or more vertical inter-predictors from the inter-frame prediction list or one or more horizontal intra-predictors and one or more vertical intra-predictors from the intra-frame prediction list.The method of claim 18, wherein the prediction value is obtained by combining(a) one or more horizontal inter-predictors and one or more vertical inter-predictors from the inter-frame prediction list, when the inter-frame prediction is used, and(b) one or more horizontal intra-predictors and one or more vertical intra-predictors from the intra-frame prediction list, when the inter-frame prediction is not used.The method of claim 19, wherein the use / non-use of the inter-frame prediction is signaled, e.g. by a 1-bit flag, like IsInterflag, included in a data stream, like a bitstream including data representing the point cloud data.The method of any one of claims 3 to 17, whereina prediction list is generated,the prediction list includes the Linter horizontal and vertical inter-predictors from the reference frame and Lintra horizontal and vertical intra-predictors from the current frame, where Lintra is a predefined number, e.g., a predefined integer greater than or equal to 1,a length of the prediction list is L, with L = Lintra + Linter, andthe prediction value is obtained by combining one or more horizontal inter-predictors and / or one or more vertical inter-predictors from the prediction list.The method of claim 21, wherein the prediction value is represented by using a predictor index in the prediction list, wherein the predictor index is a predictor selected form the prediction list, and wherein the prediction value is the predictor with the predictor index in the prediction list.The method of claim 22, wherein the predictor index is signaled, e.g. in a data stream, like a bitstream including data representing the point cloud data.The method of any one of the preceding claims, wherein all reconstructed coordinates of the point are coded using the inter-frame prediction.The method of any one of the preceding claims, wherein the reconstructed coordinates include a reconstructed azimuthal angle, Фrec, and a reconstructed radius, rrec.The method of any one of the preceding claims, wherein the method further comprises coding a coarse position of the point.The method of claim 26, wherein the coarse position of the point is defined by the elevation index, λ, and the azimuth index, Фc.The method of any one of the preceding claims, wherein coding the point cloud comprises decoding the point cloud from a data stream.The method of claim 28, comprising for each point to be decoded:decoding from the data stream the coarse representation of the point, wherein the coarse representation includes the elevation index, λ, and the azimuth index, Фc, of the point,decoding from the data stream a radius residual of the point and an azimuth residual of the point,obtaining a reconstructed azimuthal angle, Фrec, and / or a reconstructed radius, rrec, by combing the decoded radius residual and the prediction value for the radius and / or by combing the decoded azimuth residual and the prediction value for the azimuth,converting the reconstructed azimuthal angle, Фrec, and the reconstructed radius, rrec, into reconstructed cartesian coordinates,decoding from the data stream cartesian coordinates residuals, andobtaining the cartesian coordinates of the point by combining the decoded cartesian coordinate residuals and the reconstructed cartesian coordinates.The method of claim 29, wherein one or more or all of the radius residual, the azimuth residual and the cartesian coordinates residuals are quantized values, and wherein the method further comprises applying a reverse quantization to the decoded residuals.The method of any one of claims 28 to 30, comprising:decoding from the data stream a flag, e.g., IsInterflag, signaling whether or not the inter-frame prediction is used for obtaining the at least one reconstructed coordinate of the point,obtaining the at least one reconstructed coordinate using the inter-frame prediction, when the flag has a first value which indicates that the inter-frame prediction is used, andobtaining the at least one reconstructed coordinate using an intra-frame prediction, when the flag has a second value which indicates that the inter-frame prediction is not used.The method of any one of claims 1 to 27, wherein coding the point cloud comprises encoding the point cloud into a data stream.The method of claim 32, comprising for each point to be encoded:encoding into the data stream a parameter representing a coarse representation of the point, wherein the coarse representation includes the elevation index, λ, and the azimuth index, Фc, of the point,obtaining a reconstructed azimuthal angle, Фrec, and / or a reconstructed radius, rrec, of the point by combing a radius residual of the point and the prediction value for the radius and / or by combing an azimuth residual of the point and the prediction value for the azimuth,converting the reconstructed azimuthal angle, Фrec, and the reconstructed radius, rrec, into estimated cartesian coordinates of the point,obtaining cartesian coordinates residuals from the cartesian coordinates of the point and the reconstructed cartesian coordinates, andencoding into the data stream the radius residual, the azimuth residuals and the cartesian coordinates residuals.The method of claim 33, wherein one or more or all of the radius residual, the azimuth residual and the cartesian coordinates residuals are quantized.The method of any one of claims 32 to 34, comprising:encoding into the data stream a flag, e.g., IsInterflag, signaling whether or not the inter-frame prediction is used for obtaining the at least one reconstructed coordinate of the point,wherein a first value of the flag is encoded into the data steam, when the inter-frame prediction is used, andwherein a second value of the flag is encoded into the data steam, when the inter-frame prediction is not used.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.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 1 to 31.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 of the point cloud, the decoder module is configured to obtain at least one reconstructed coordinate of the point using an inter-frame prediction.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 27 and 32 to 35.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 of the point cloud, the encoder module is configured to obtain at least one reconstructed coordinate of the point using an inter-frame prediction.A data stream having encoded thereinto a point cloud, wherein the data stream comprises:a signaling indicating, for one or more points of the point cloud, whether or not an inter-frame prediction is used for obtaining at least one reconstructed coordinate of a point in a current frame of the point cloud.

Citation Information

Patent Citations

  • Method, device, and computer program for enhancing encoding and encapsulation of point cloud data

    GB2614099A

  • Point Cloud Sequence Encoding / Decoding Method and Apparatus Based on Two-Dimensional Regularized Plane Projection

    US20230412841A1

  • Inter prediction coding for geometry point cloud compression

    WO2022147100A1

  • Method and apparatus of encoding / decoding point cloud geometry data sensed by at least one sensor

    WO2023029671A1