Method and apparatus for data coding using a hybrid prediction of a coarse representation of a point of a point cloud

The hybrid prediction scheme for point clouds, using intra or inter prediction based on order differences, addresses the challenge of balancing simplicity, latency, and compression performance in Lidar data transmission, enhancing coding efficiency.

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

Patent Information

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

AI Technical Summary

Technical Problem

Existing point cloud codecs fail to provide a balance of encoder and decoder simplicity, low latency, and compression performance, particularly in transmitting Lidar data acquired by a moving vehicle.

Method used

A method for encoding and decoding point clouds using a hybrid prediction scheme that selectively employs intra or inter prediction based on order difference information between coarse positions of points in a point cloud, utilizing rate-distortion-optimization to determine the best scheme and encoding residuals with entropy encoding.

Benefits of technology

Improves Lidar data coding performance by optimizing encoder and decoder simplicity, reducing latency, and enhancing compression efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024105366_15012026_PF_FP_ABST
    Figure CN2024105366_15012026_PF_FP_ABST
Patent Text Reader

Abstract

A method for encoding a point cloud is described. The method includes, for one or more points with a coarse representation of the point cloud, selectively using an intra prediction scheme or an inter prediction scheme for encoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR DATA CODING USING A HYBRID PREDICTION OF A COARSE REPRESENTATION OF A POINT OF A POINT CLOUDTECHNICAL FIELD

[0001] The present invention generally relates to data compression, more specifically to methods and apparatus for encoding / decoding of a point cloud, e.g., Lidar data acquired by a moving vehicle. Embodiments of the present invention concern methods and apparatus for encoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of a point cloud by selectively using an intra prediction scheme or an inter prediction scheme.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 disclosure provides a method for encoding a point cloud, the method comprising:

[0012] for one or more points with a coarse representation of the point cloud, selectively using an intra prediction scheme or an inter prediction scheme for encoding order difference information between a coarse position of current point and a coarse position of previous point in a current frame of the point cloud.

[0013] Optionally, the best of the intra prediction scheme and the inter prediction scheme is selected for encoding the order difference information.

[0014] Optionally, a rate-distortion-optimization (RDO) process is used to select the best of the intra prediction scheme and the inter prediction scheme.

[0015] Optionally, first bits cost for encoding the order difference information using the intra prediction scheme and second bits cost for encoding the order difference information using the intra prediction scheme are determined using the RDO process.

[0016] Optionally, the first bits cost and the second bits cost are compared to determine whether or not the inter prediction scheme for the current point with coarse position is used.

[0017] Optionally,

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

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

[0020] Optionally, the inter prediction scheme uses an order difference residual obtained by referring to a previous frame of the coarse representation of the point cloud.

[0021] Optionally, the order difference residual is obtained by using one or more order differences between one or more successive points and one point in the previous frame, wherein the one point is the previous point with coarse position in the previous frame, and wherein the one or more successive points include one or more points with coarse position in the previous frame, which are located at a position corresponding to the coarse position of the current point or are within a certain range from the coarse position of the current point.

[0022] Optionally, the previous point with coarse position in the previous frame corresponds to the previous point with coarse position in the current frame, and wherein the current point with coarse position in the previous frame corresponds to the current point in the current frame.

[0023] Optionally, the one or more order differences for encoding the current point in the current frame are obtained by:

[0024] ‐ searching a point with coarse position in the previous frame that corresponds to the current point with coarse position in the current frame,

[0025] ‐ obtaining the order difference between the coarse position of the point in the previous frame and a coarse position of a previous point of the point in the previous frame, and

[0026] ‐ obtaining the order difference residual using the obtained order difference and an order difference between the coarse position of the current point and the coarse position of the previous point in the current frame.

[0027] Optionally, a coarse position is searched in the previous frame which has the same order index as that of the current point in the current frame.

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

[0029] where

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

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

[0032] Optionally, a coarse position of a point is searched in the previous frame which has a certain laser index and azimuthal sampling angle, wherein the certain laser index and azimuthal sampling angle

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

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

[0035] Optionally, the order difference residual is obtained by: ΔΔnexti, Pn=Δnexti, Pn-Δnexti-1, P

[0036] where

[0037] ΔΔnexti, Pn order difference residual,

[0038] Δnexti, Pn order difference of the coarse position of the current point Pn in the current frame i

[0039] Δnexti-1, P order difference of the coarse position of the point P in the previous frame i-1.

[0040] Optionally, when there is no coarse position of a point in the previous frame that corresponds to the coarse position of the current point in the current frame, a coarse position of a point is searched in the previous frame that is located within a predefined range from a location corresponding to a location of the coarse position of the current point in the current frame.

[0041] Optionally, a coarse position of a point is selected in the previous frame that has an order index within a predefined range of an order index of the coarse position of the previous point in the current frame.

[0042] Optionally,

[0043] a point with a coarse representation is selected in the previous frame that has an order index oi-1 (P) that is previous or successive to an order index oi (Pn) of the coarse position of the current point in the current frame, and

[0044] the order difference is set as an order difference between the selected point in the previous frame having the order index oi-1 (P) and a point in the previous frame being previous or successive to the selected point.

[0045] Optionally, when there is no coarse position of a point in the previous frame that corresponds to the coarse position of the current point in the current frame, the inter prediction scheme is not used for the current point in the current frame, and the order difference information between the current point and the previous point in the current frame is encoded using the intra prediction scheme.

[0046] Optionally, the order difference residual is encoded using an entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .

[0047] Optionally, the order difference residual is encoded into a data stream.

[0048] Optionally, the intra prediction scheme uses an order difference between the coarse position of the current point and the coarse position of the previous point in the current frame.

[0049] Optionally, the order difference is encoded using an entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .

[0050] Optionally, the order difference is encoded into a data stream.

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

[0052] Optionally, a first flag is provided, the first flag indicating for the one or more coarse points whether or not

[0053] ‐ the intra prediction scheme is used for encoding the order difference information, or

[0054] ‐ the inter prediction scheme is used for encoding the order difference information.

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

[0056] Optionally, the intra prediction scheme and the inter prediction scheme are selectively used responsive to a certain signaling.

[0057] Optionally, the certain signaling includes a second flag indicating whether or not the intra prediction scheme and the inter prediction scheme are to be selectively used.

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

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

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

[0061] decoding from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an intra prediction scheme or an inter prediction scheme for decoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.

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

[0063] ‐ decoding an order difference residual from the data stream,

[0064] ‐ obtaining an order difference between the coarse position of the current point and the coarse position of the previous point in the current frame using the order difference residual and an order difference between a coarse position of a first point and a coarse position of a second point in the previous frame, wherein the coarse position of the first point corresponds to the coarse position of the current point and the coarse position of the second point corresponds to the coarse position of the previous point,

[0065] ‐ obtaining an order index of the coarse position of the current point in the current frame using on the obtained order difference and an order index of the coarse position of the previous point in the current frame, and

[0066] ‐ constructing the coarse representation of the point cloud.

[0067] Optionally, the order difference is obtained as follows: Δnexti, Pn=Δnexti-1, Pn+ΔΔnexti, Pn

[0068] where

[0069] Δnexti, Pn order difference between the coarse position of the current point and the coarse position of the previous point in the current frame i,

[0070] Δnexti-1, Pn order difference between the coarse position of the first point and the coarse position of the second point in the previous frame i-1, and

[0071] ΔΔnexti, Pn order difference residual.

[0072] Optionally, the order index of the coarse position of the current point is obtained as follows: oi (Pn) =oi (Pn-1) +Δnexti, Pn = oi (Pn-1) +Δnexti-1, Pn+ΔΔnexti, Pn

[0073] where

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

[0075] oi (Pn-1) order index of the coarse position of the first point in the previous frame i-1,

[0076] Δnexti, Pn order difference between the coarse position of the current point and the coarse position of the previous point in the current frame i,

[0077] Δnexti-1, Pn order difference between the coarse position of the first point and the coarse position of the second point in the previous frame i-1, and

[0078] ΔΔnexti, Pn order difference residual.

[0079] Optionally, when the signaling indicates the use of the intra prediction scheme, the method comprises:

[0080] ‐ decoding the order difference between the coarse position of the current point and the coarse position of the previous point of the current frame from the data stream,

[0081] ‐ obtaining an order index of the coarse position of the current point in the current frame using on the decoded order difference and an order index of the coarse position of the previous point in the current frame, and

[0082] ‐ constructing the coarse representation of the point cloud.

[0083] Optionally, the order index of the coarse position of the current point is obtained as follows: oi (Pn) =oi (Pn-1) +Δnexti, Pn,

[0084] where

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

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

[0087] Δnexti, Pn order difference between the coarse position of the current point and the coarse position of the previous point in the current frame i.

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

[0089] where

[0090] Nlaser total number of laser beams.

[0091] Optionally, the signaling includes a flag, the flag indicating for the one or more points with a coarse representation whether or not

[0092] ‐ the intra prediction scheme is to be used for decoding the order difference information, or

[0093] ‐ the inter prediction scheme is to be used for decoding the order difference information.

[0094] The present disclosure 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.

[0095] The present disclosure provides an encoder, the encoder comprising:

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

[0097] The present disclosure provides an encoder, the encoder comprising:

[0098] an encoder module,

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

[0100] wherein, for one or more points with a coarse representation of the point cloud, the encoder module is configured to selectively use an intra prediction scheme or an inter  prediction scheme for encoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.

[0101] The present disclosure provides a decoder, the decoder comprising:

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

[0103] The present disclosure provides a decoder, the decoder comprising:

[0104] a decoder module,

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

[0106] wherein, for one or more points with a coarse representation of the point cloud, the decoder module is configured to decode from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an intra prediction scheme or an inter prediction scheme for decoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.

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

[0108] a signaling indicating, for one or more points with a coarse representation of the point cloud, whether an intra prediction scheme or an inter prediction scheme is to be used for decoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.

[0109] The technical solutions provided according to embodiments of the present invention have the following beneficial effects. By introducing a hybrid prediction of a coarse representation of a Lidar acquired point cloud, i.e., by selectively using an intra prediction scheme or an inter prediction scheme for encoding / decoding difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the Lidar acquired point cloud, a Lidar data coding performance is improved.

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

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

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

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

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

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

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

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

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

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

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

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

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

[0123] Fig. 12 (A) and Fig. 12 (B) illustrate a coarse representation of two Lidar point cloud  frames with 1 second time difference;

[0124] Fig. 13 illustrates a decoder and a decoding method for decoding a coarse one-chain representation of a Lidar-acquired point cloud using an order difference prediction method;

[0125] Fig. 14 (A) and Fig. 14 (B) illustrate an example of non-similar areas in a coarse representation of two adjacent point cloud frames, wherein Fig. 14 (A) illustrates the coarse representation of a previous frame, and Fig. 14 (B) illustrates the coarse representation of a the current frame;

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

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

[0128] Fig. 17 illustrates a flow diagram of an embodiment of a method of the present disclosure for encoding a coarse representation;

[0129] Fig. 18 illustrates a flow diagram of an embodiment for getting corresponding successive order differences in a previous point cloud frame;

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

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

[0132] Fig. 21 illustrates a flow diagram of another embodiment of a method of the present disclosure for decoding a coarse representation;

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

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

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

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

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

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

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

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

[0141] Point cloud codecs

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

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

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

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

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

[0147] Point cloud compression in MPEG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0166] Coarse representation

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

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

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

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

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

[0172] · the number of points Npoints,

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

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

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

[0176] Point cloud codec

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0198] In real applications, a vertical angle range of the Lidar scanning may reach around more than 25°, e.g., from -12.5° to +12.5°, and the Lidar laser beams’ vertical angle range may be divided into three parts, which are the higher laser beams, the center or middle laser beams and the lower laser beams . The lasers of the different parts may probe objects that have different or distinguished distances from the car. The higher laser beams may probe objects that are farther and taller, like buildings or trees. The middle laser beams may probe near objects, like front cars, people, bicycles, and the like. The lower laser beams may probe the places that are really close to the car, usually the places are the road in front of the car. When a Lidar device is operated on a running car, the objects probed by the higher laser beams and by the lower laser beams do not disappear suddenly, e.g., within two adjacent Lidar scanning frames or within a 0.1s time period. ) , then the order differences Δnext between two adjacent point cloud frames may have correlations, and their differences ΔΔnext may be smaller than Δnext so that coding ΔΔnext into the bitstream saves bits over a coding of Δnext directly into bitstream when coding the coarse representation (see Fig. 10) for a current Lidar data frame.

[0199] Fig. 12 illustrates a coarse representation of two Lidar point cloud frames with 1 second time difference. Fig 12 (A) illustrates a coarse representation of a Lidar point cloud frame captured at a time t, and Fig 12 (B) illustrates a coarse representation of the Lidar point cloud frame captured at a time t+1s (1 second) . Fig. 12 illustrates the middle points 140 captured by the middle laser beams, the higher points 142 captured by the higher laser beams and the points 144 captured by the lower laser beams. As may be seen, some of the points 140 (see points P) in the plane (Фc, λ) may change a little within 1 second because of the objects movement or the front cars running, and one may find these little changes by comparing Fig. 12 (A) with Fig. 12 (B) . Given the little changes in the points 140 over 1 second, one may understand that the coarse representation of adjacent frames captured within 0.1 seconds is much smaller, especially for points probed by the higher laser beams and the lower beams. Thus, the coarse representation information of a previous adjacent lidar point cloud may be used to predict a coarse representation of a current coded lidar point cloud frame.

[0200] For reducing a temporal redundancy of coarse representation information between successive Lidar data frames, thereby further improving the compression performance of Lidar data sequences, for coding the current Lidar point cloud frame (the i-th frame) , the order difference Δnexti-1, Pn between two consecutive points Pn and Pn-1 the previous Lidar point cloud frame (the (i-1) -th frame) is used to predict the order difference Δnexti, Pn between corresponding consecutive points Pn and Pn-1 in the current frame. The predicted order difference residual ΔΔnexti, Pn is encoded / decoded into / from the bitstream. The predicted order difference residual for a point Pn may be obtained by ΔΔnexti, Pn=Δnexti, Pn-Δnexti-1, Pn.

[0201] The order difference prediction method is used for each point to encode / decode a current point cloud frame.

[0202] An overview of a decoder and a decoding method for decoding a coarse one-chain representation of a Lidar-acquired point cloud using the order difference prediction method is shown in Fig. 13 as is described, e.g., in international application PCT / CN2024 / 075584.

[0203] The decoder 300 decodes a point Pn of a Lidar point cloud frame from the bitstream 302 as follows:

[0204] · The predicted order difference Δnexti-1, Pn between two consecutive points Pn and Pn-1 of a previous frame and the order oi (Pn-1) of a previously coded point Pn-1 in the current frame is obtained.

[0205] · The predicted order difference residual ΔΔnexti, Pn is decoded 304 from the bitstream 302 using, e.g., Context-based Adaptive Binary Arithmetic Coding (CABAC) ;

[0206] · The order difference Δnexti, Pn of Pn in the current frame is obtained using the predicted order difference residual ΔΔnexti, Pn and the order difference Δnexti-1, Pn of Pn in the previous frame by Δnexti, Pn=Δnexti-1, Pn+ΔΔnexti, Pn

[0207] The order oi (Pn) of the current coded point in the current frame is obtained using the obtained order difference Δnexti, Pn of Pn and the order oi (Pn-1) of the previously coded point in the current frame by oi (Pn) =oi (Pn-1) +Δnexti, Pn = oi (Pn-1) +Δnexti-1, Pn+ΔΔnexti, Pn

[0208] The coarse representation is constructed 306 in the plane (Фc, λn) of the point Pn by calculating the laser Index λ and the azimuthal sampling angle Фc using the order of the point Pn. The laser Index λ and the azimuthal sampling angle Фc may be calculated by λn=oi (Pn) mod Nlaser, Фc= (oi (Pn) -λn)  / Nlaser.

[0209] wherein Nlaser is the total number of laser beams of a Lidar device.

[0210] The radius residual rres, the azimuthal residual Фres, and the residuals xres, yres and zres are decoded following the process described above with reference to Fig. 11 for reconstructing the geometry information (x, y, z) of the point oi (Pn) in the current frame.

[0211] After completing the decoding of the geometry and the attribute information of the point in the current frame, the process proceeds to decode the next point of the current frame until it reaches the last point in the current frame.

[0212] In the coarse representation of a Lidar point cloud, when using a low latency, low complexity Lidar codec (L3C2) to compress Lidar data, there may be one or more areas with a non-similar coarse representation of points occupancy because of a moving object in the captured scenes or because of capturing noise. For example, in Lidar point cloud capturing, when a Lidar device scans scenes with moving objects, there may be some areas are at the same position in two adjacent or consecutive frames but there are big differences between the two adjacent point cloud frames, which may cause the one or more non-similar areas in the coarse representation of the two adjacent point cloud frames when using the low latency, low complexity Lidar codec (L3C2) .

[0213] Fig. 14 illustrates an example of non-similar areas in the coarse representation of two adjacent point cloud frames. Fig. 14 (A) illustrates the coarse representation of a previous frame, and Fig. 14 (B) illustrates the coarse representation of a the current frame. As is shown in Fig. 14, one or more coarse positions of points, like P1 and P2 (see Fig. 14 (A) ) , may appear in the previous frame, but do not appear at corresponding positions in the current frame. Also, one or more coarse positions of points, like P3 and P4 (see Fig. 14 (B) ) , may appear in the current frame, but do not appear at corresponding positions in the previous frame. This may cause the order difference residual to be large at such areas, which lowers the compression efficiency when using the process described above with reference to Fig. 13, i.e., when applying an inter prediction of the coarse representation.

[0214] Embodiments of the present disclosure improve the compression performance for the inter prediction of coarse representation, e.g., in L3C2.

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

[0216] S400: For one or more points with a coarse representation of the Lidar acquired point cloud, selectively using an intra prediction scheme or an inter prediction scheme for encoding order difference information between coarse position of a current point and coarse position of a previous point in a current frame of the Lidar acquired point cloud.

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

[0218] S402: Receiving Lidar acquired data.

[0219] S400: For one or more points with a coarse representation of the Lidar acquired point cloud, selectively using an intra prediction scheme or an inter prediction scheme for encoding order difference information between coarse position of a current point and coarse position of a previous point in a current frame of the Lidar acquired point cloud.

[0220] Optionally, the method comprises including S404 into a data stream or bitstream one or more a signaling, like a flag. The signaling indicates for the one or more points with a  coarse representation whether the intra prediction scheme or the inter prediction scheme is to be used for decoding order difference information.

[0221] Thus, embodiments of the present disclosure, introduce a hybrid method for inter prediction of a coarse representation, e.g., in a L3C2 scheme. In accordance with embodiments, a hybrid method of an inter prediction method, which codes the order difference with reference to a preceding frame, and an intra method, which directly codes the order difference from the current frame, is used for each point with a coarse representation to code the order difference information between coarse position of a current point and coarse position of a previous point in the current frame. In accordance with embodiments, at an encoder side, a best method between the intra method and the inter prediction method is selected for a better coding of the order difference information of each point. For example, a rate-distortion-optimization (RDO) process or method may be used for determining the best one of the inter prediction scheme and the intra prediction scheme is introduced.

[0222] In accordance with embodiments, a flag, e.g., Isinterflag, is used for each point with a coarse representation and indicating if the inter prediction or the intra method is used or not for the point with a coarse representation. For example, if the flag Isinterflag, is true, then the inter prediction method is used for the point; otherwise if the flag Isinterflag, is false, then the intra method is used for the point. The flag Isinterflag, may be encoded / decoded into / from a bitstream at the encoder / decoder.

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

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

[0225] S410: Obtaining an order difference Δnexti, Pn between a current point Pn and a previous point Pn-1 (if the previous point exists) in the current coded frame, for example in the i-th frame.

[0226] S412: Obtaining an inter frame prediction residual ΔΔnexti, Pn of the order difference Δnexti, Pn by referring to order difference values between successive points in the previous point cloud frame, for example in the (i-1) -th frame.

[0227] S414: Determining, by using an RDO process, the best one of the prediction methods, namely the best one of the intra method for directly coding an order difference of current point Pn in current frame and the inter prediction for coding the order difference Δnexti, Pn of current point Pn.

[0228] S416: If the inter method is selected, i.e., is determined to be the best method, setting the flag Isinterflag to true.

[0229] S418: Encoding the flag Isinterflag into a bitstream.

[0230] S420: Encoding the order difference information of the current point Pn dependent on the flag Isinterflag; if the flag Isinterflag is true, encoding the inter frame prediction residual ΔΔnexti, Pn into the bitstream using an entropy encoder.

[0231] S422: If the intra method is selected, i.e., is determined to be the best method, setting the flag Isinterflag to false, wherein the flag indicates if an inter prediction method is used or not for the current point.

[0232] S424: Encoding the flag Isinterflag into a bitstream.

[0233] S426: Encoding the order difference information of the current point Pn dependent on the flag Isinterflag, if the flag Isinterflag is false, encoding the order difference  Δnexti, Pn between a current point Pn and a previous point Pn-1 (if the previous point exists) into the bitstream using an entropy encoder.

[0234] In accordance with embodiments, the RDO process used above at the encoder side estimates the bits cost cost1 of entropy encoding the order difference Δnexti, Pn and the bits cost cost2 of entropy encoding the inter frame prediction residual ΔΔnexti, Pn. The two costs (cost1 and cost2) are compared to determine if inter prediction for coarse position of current point is used or not. For examples, the inter prediction scheme for coarse position of the current c point is used, when the first bits cost are higher than the second bits cost, and the inter prediction scheme for coarse position of the current point is not used, when the first bits cost are equal to or lower than the second bits cost.

[0235] In accordance with embodiments, the predicted order difference residual ΔΔnexti, Pn for the inter prediction of coarse position of a point is obtained by referring to a previous point cloud frame to get successive order differences between successive points including of one point P, which is close to a position or at the same position of coarse position of the current point Pn; and one point, which is the previous point of P in the previous frame. Fig. 18 illustrates a flow diagram of an embodiment for getting corresponding successive order differences in a previous point cloud frame for coding a coarse representation of a point Pn in a current frame, . For each point with a coarse representation, the following steps are performed:

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

[0237] where

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

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

[0240] S442: Determining if coarse position of the point P described above exists in the previous point cloud frame.

[0241] S444: If coarse position of the point P exists in the previous point cloud frame, obtaining the order difference Δnexti-1, P between coarse position of the point P and coarse position of its previous point in the previous frame ( (i-1) -th frame) .

[0242] If coarse position of the point P described does not exist in the previous point cloud frame:

[0243] S446a Ending, in accordance with one embodiment, the inter prediction method for the current point, and, optionally, using the intra prediction method, or

[0244] S446b: Searching, in accordance with another embodiment, coarse position of a point P in a previous frame, which has an order index oi-1 (P) close to the one of the current coded point.

[0245] For example coarse position of a point P in the previous frame, which has an order index oi-1 (P) that is previous to or later than the order index oi (Pn) of coarse position of the current coded point of the current frame may be used, i.e. oi-1 (P) = oi (Pn) -1 or oi-1 (P) = oi (Pn) +1

[0246] where

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

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

[0249] Then the order difference Δnexti-1, P is set as the order difference between coarse position of the point P with the order index oi-1 (P) and coarse position of the previous or later point to the point P, if it exists.

[0250] S448: Obtaining the order difference residual ΔΔnexti, Pn using the obtained order difference Δnexti-1, P in the previous frame and the order difference Δnexti, Pn of Pn in the current frame by ΔΔnexti, Pn=Δnexti, Pn-Δnexti-1, P

[0251] In another embodiment, S440 may search coarse position of a point P in previous frame, which has the same or a close laser Index λ and azimuthal sampling angle Фc as that of coarse position of the current coded point on the current frame.

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

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

[0254] The signaling indicates for one or more points with a coarse representation of the Lidar acquired point cloud, whether to use an intra prediction scheme or an inter prediction scheme for decoding order difference information between coarse position of a current point and coarse position of a previous point in a current frame of the Lidar acquired point cloud.

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

[0256] S510 Decoding a coarse representation information in the plane (Фc, λn) of the point cloud, which includes order information of a first point and order differences information between later successive points. The decoding of the coarse representation information in the plane (Фc, λn) uses the hybrid method of the present disclosure for an inter prediction of the coarse representation of a point, i.e., the decoding S410 selectively uses the inter or intra prediction scheme for obtaining the order difference information between coarse position of the current point and coarse position of the previous point in the current frame.

[0257] S512 Decoding a radius residual, an azimuthal residual and (x, y, z) coordinate residual using the decoded coarse representation in the plane (Фc, λn) to obtain reconstructed geometry information of the point.

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

[0259] In accordance with embodiments, the inter prediction for a point with coarse representation refers to a previous point cloud frame to get successive order difference between successive points consisting of one point P close to a position / at the same position of the coarse position of current coded point Pn and one point that is a previous point of P in previous frame.

[0260] In accordance with embodiments, when the above mentioned a flag, e.g., Isinterflag, is used it is decoded from a bitstream. If the decoded flag Isinterflag is true, an  inter frame prediction residual ΔΔnexti, Pn from the bitstream using an entropy decoder, otherwise if the decoded flag Isinterflag is false, then the order difference Δnexti, Pn between a current point Pn and a previous point Pn-1 (if the previous point exists) of the current frame is decoded from the bitstream using another entropy decoder.

[0261] In accordance with embodiments, to get corresponding successive order differences in a previous point cloud frame for coding the coarse representation of a point Pn in a current frame, coarse position of a point P in previous frame is searched that has same order index oi-1 (P) as that (oi (Pn) ) of coarse position of the current coded point.

[0262] In accordance with embodiments, the two entropy decoders are two independent decoders with separate context tables designed for each entropy decoder.

[0263] Fig. 21 illustrates a flow diagram of another embodiment of a method of the present disclosure for decoding a coarse representation. For each point with coarse position, the following steps are performed:

[0264] S520 Decoding a from bitstream the flag Isinterflag which indicates if an inter prediction method is used or not for the current point.

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

[0266] Decoding from the bitstream the order difference information of the current point Pn dependent on the flag Isinterflag.

[0267] If the flag Isinterflag is true:

[0268] S524 Decoding the inter frame prediction residual ΔΔnexti, Pn from the bitstream using an entropy decoder

[0269] S526 Obtaining the order difference Δnexti, Pn of Pn in the current frame based on the predicted order difference residual ΔΔnexti, Pn and the order difference Δnexti-1, Pn referred to in previous frame, as follows Δnexti, Pn=Δnexti-1, Pn+ΔΔnexti, Pn

[0270] S528 Obtaining the order oi (Pn) of the current coded point in the current frame based on the obtained order difference Δnexti, Pn of Pn and the order oi (Pn-1) of the previously coded point in the current frame by oi (Pn) =oi (Pn-1) +Δnexti, Pn = oi (Pn-1) +Δnexti-1, Pn+ΔΔnexti, Pn

[0271] S530 Constructing the coarse representation in the plane (Фc, λn) of the point Pn by determining or calculating the laser Index λ and azimuthal sampling angle Фc using the order of the point Pn, e.g., as follows: λn=oi (Pn) mod Nlaser, Фc= (oi (Pn) -λn)  / Nlaser.

[0272] where Nlaser is the total number of laser beams of a Lidar device.

[0273] If the flag Isinterflag is false:

[0274] S532 Decoding the order difference Δnexti, Pn between a current point Pn and a previous point Pn-1 (if the previous point exists) of the current frame from the bitstream using an entropy decoder.

[0275] S534 Obtaining the order oi (Pn) of the current coded point in the current frame using the obtained order difference Δnexti, Pn of Pn and the order oi (Pn-1) of the previously coded point in the current frame by oi (Pn) =oi (Pn-1) +Δnexti, Pn

[0276] S530 Constructing the coarse representation in the plane (Фc, λn) of the point Pn by determining or calculating the laser Index λ and azimuthal sampling angle Фc using the order of the point Pn, e.g., as follows: λn=oi (Pn) mod Nlaser, Фc= (oi (Pn) -λn)  / Nlaser.

[0277] where Nlaser is the total number of laser beams of a Lidar device.

[0278] In accordance with embodiments, the order difference Δnexti, Pn or the order difference residual ΔΔnexti, Pn is coded, i.e., encoded or decoded, using entropy coders (for example CABAC) based on if the flag Isinterflag is false or not. In an embodiment, the entropy coders for coding the order difference Δnexti, Pn (Isinterflag=false) is independent from that used for coding the order difference residual ΔΔnexti, Pn (Isinterflag=true) , and the two entropy coders use separate context table, which allows to model better statistic probabilities for each case.

[0279] Further embodiments

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

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

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

[0283] For one or more points with a coarse representation of the Lidar acquired point cloud, the encoder module is configured to selectively use an intra prediction scheme or an inter prediction scheme for encoding order difference information between coarse position of a current point and coarse position of a previous point in a current frame of the Lidar acquired point cloud.

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

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

[0286] For one or more points with a coarse representation of the Lidar acquired point cloud, the decoder module is configured to decode from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the Lidar acquired point cloud, whether to use an intra prediction scheme or an inter prediction scheme for decoding order difference information between coarse position of a current point and coarse position of a previous point in a current frame of the Lidar acquired point cloud.

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

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

[0289] Fig. 18 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.

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

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

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

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

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

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

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

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

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

1.A method for encoding a point cloud, the method comprising:for one or more points with a coarse representation of the point cloud, selectively using an intra prediction scheme or an inter prediction scheme for encoding order difference information between a coarse position of current point and a coarse position of previous point in a current frame of the point cloud.2.The method of claim 1, wherein the best of the intra prediction scheme and the inter prediction scheme is selected for encoding the order difference information.3.The method of claim 1 or 2, wherein a rate-distortion-optimization (RDO) process is used to select the best of the intra prediction scheme and the inter prediction scheme.4.The method of claim 3, wherein first bits cost for encoding the order difference information using the intra prediction scheme and second bits cost for encoding the order difference information using the intra prediction scheme are determined using the RDO process.5.The method of claim 4, wherein the first bits cost and the second bits cost are compared to determine whether or not the inter prediction scheme for the current point with coarse position is used.6.The method of claim 5, wherein‐ the inter prediction scheme for the current point with coarse position is used, when the first bits cost are higher than the second bits cost, and‐ the inter prediction scheme for the current point with coarse position is not used, when the first bits cost are equal to or lower than the second bits cost.7.The method of any one of the preceding claims, wherein the inter prediction scheme uses an order difference residual obtained by referring to a previous frame of the coarse representation of the point cloud.8.The method of claim 7, wherein the order difference residual is obtained by using one or more order differences between one or more successive points and one point in the previous frame, wherein the one point is the previous point with coarse position in the previous frame, and wherein the one or more successive points include one or more points with coarse position in the previous frame, which are located at a position corresponding to the coarse position of the current point or are within a certain range from the coarse position of the current point.9.The method of claim 8, wherein the previous point with coarse position in the previous frame corresponds to the previous point with coarse position in the current frame, and wherein the current point with coarse position in the previous frame corresponds to the current point in the current frame.10.The method of any one claims 7 to 9, wherein the one or more order differences for encoding the current point in the current frame are obtained by:‐ searching a point with coarse position in the previous frame that corresponds to the current point with coarse position in the current frame,‐ obtaining the order difference between the coarse position of the point in the previous frame and a coarse position of a previous point of the point in the previous frame, and‐ obtaining the order difference residual using the obtained order difference and an order difference between the coarse position of the current point and the coarse position of the previous point in the current frame.11.The method of claim 10, wherein a coarse position is searched in the previous frame which has the same order index as that of the current point in the current frame.12.The method of claim 10, wherein oi-1 (P) = oi (Pn) ;whereoi-1 (P) order index of the coarse position of the point P in the previous frame i-1, andoi (P) order index of the coarse position of the current point P the current frame i.13.The method of claim 10, wherein a coarse position of a point is searched in the previous frame which has a certain laser index and azimuthal sampling angle, wherein the certain laser index and azimuthal sampling angle‐ corresponds to a laser index and an azimuthal sampling angle of the coarse position of the current point in the current frame, or‐ is within a certain range of the laser index and the azimuthal sampling angle of the coarse position of the current point in the current frame.14.The method of any one claims 10 to 13, wherein the order difference residual is obtained by: ΔΔnexti, Pn=Δnexti, Pn-Δnexti-1, PwhereΔΔnexti, Pn order difference residual,Δnexti, Pn order difference of the coarse position of the current point Pn in the current frame iΔnexti-1, P order difference of the coarse position of the point P in the previous frame i-1.15.The method of any one claims 10 to 14, wherein, when there is no coarse position of a point in the previous frame that corresponds to the coarse position of the current point in the current frame, a coarse position of a point is searched in the previous frame that is located within a predefined range from a location corresponding to a location of the coarse position of the current point in the current frame.16.The method of claim 15, wherein a coarse position of a point is selected in the previous frame that has an order index within a predefined range of an order index of the coarse position of the previous point in the current frame.17.The method of claim 15 or 16, whereina point with a coarse representation is selected in the previous frame that has an order index oi-1 (P) that is previous or successive to an order index oi (Pn) of the coarse position of the current point in the current frame, andthe order difference is set as an order difference between the selected point in the previous frame having the order index oi-1 (P) and a point in the previous frame being previous or successive to the selected point.18.The method of any one claims 10 to 14, wherein, when there is no coarse position of a point in the previous frame that corresponds to the coarse position of the current point in the current frame, the inter prediction scheme is not used for the current point in the current frame, and the order difference information between the current point and the previous point in the current frame is encoded using the intra prediction scheme.19.The method of any one claims 7 to 17, wherein the order difference residual is encoded using an entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .20.The method of claim 19, wherein the order difference residual is encoded into a data stream.21.The method of any one of the preceding claims, wherein the intra prediction scheme uses an order difference between the coarse position of the current point and the coarse position of the previous point in the current frame.22.The method of claim 21, wherein the order difference is encoded using an entropy encoding, like Context-based Adaptive Binary Arithmetic Coding (CABAC) .23.The method of claim 22, wherein the order difference is encoded into a data stream.24.The method of any one claims 19 to 23, wherein the intra prediction scheme uses a first entropy encoder, and the inter prediction scheme uses a second entropy encoder, the first and second entropy encoders being independent encoders using separate context tables for modeling statistic probabilities for the intra prediction scheme and for the inter prediction scheme, respectively.25.The method of any one of the preceding claims, wherein a first flag is provided, the first flag indicating for the one or more coarse points whether or not‐ the intra prediction scheme is used for encoding the order difference information, or‐ the inter prediction scheme is used for encoding the order difference information.26.The method of claim 25, wherein the first flag is encoded into a data stream, like a bitstream including data representing the point cloud.27.The method of any one of the preceding claims, wherein the intra prediction scheme and the inter prediction scheme are selectively used responsive to a certain signaling.28.The method of claim 27, wherein the certain signaling includes a second flag indicating whether or not the intra prediction scheme and the inter prediction scheme are to be selectively used.29.The method of claim 28, wherein the second flag is included in a geometry parameter set (GPS) or a sequence parameter set (SPS) of a data stream, like a L3C2 bitstream structure.30.The method of any one of the preceding claims, wherein the coarse representation for each original point in point cloud is obtained by quantizing one or more original points using an azimuthal elementary shift, and wherein a coarse position contains one original point or more than one original point.31.A method for decoding a point cloud from a data stream, the method comprising:decoding from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an intra prediction scheme or an inter prediction scheme for decoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.32.The method of claim 31, wherein, when the signaling indicates the use of the inter prediction scheme, the method comprises:‐ decoding an order difference residual from the data stream,‐ obtaining an order difference between the coarse position of the current point and the coarse position of the previous point in the current frame using the order difference residual and an order difference between a coarse position of a first point and a coarse position of a second point in the previous frame, wherein the coarse position of the first point corresponds to the coarse position of the current point and the coarse position of the second point corresponds to the coarse position of the previous point,‐ obtaining an order index of the coarse position of the current point in the current frame using on the obtained order difference and an order index of the coarse position of the previous point in the current frame, and‐ constructing the coarse representation of the point cloud.33.The method of claim 32, wherein the order difference is obtained as follows: Δnexti, Pn=Δnexti-1, Pn+ΔΔnexti, PnwhereΔnexti, Pn order difference between the coarse position of the current point and the coarse position of the previous point in the current frame i,Δnexti-1, Pn order difference between the coarse position of the first point and the coarse position of the second point in the previous frame i-1, andΔΔnexti, Pn order difference residual.34.The method of claim 32 or 33, wherein the order index of the coarse position of the current point is obtained as follows: oi (Pn) =oi (Pn-1) +Δnexti, Pn = oi (Pn-1) +Δnexti-1, Pn+ΔΔnexti, Pnwhereoi (Pn) order index of the coarse position of the current point in the current frame i, oi (Pn-1) order index of the coarse position of the first point in the previous frame i-1, Δnexti, Pn order difference between the coarse position of the current point and the coarse position of the previous point in the current frame i,Δnexti-1, Pn order difference between the coarse position of the first point and the coarse position of the second point in the previous frame i-1, andΔΔnexti, Pn order difference residual.35.The method of any one of claims 31 to 34, wherein, when the signaling indicates the use of the intra prediction scheme, the method comprises:‐ decoding the order difference between the coarse position of the current point and the coarse position of the previous point of the current frame from the data stream,‐ obtaining an order index of the coarse position of the current point in the current frame using on the decoded order difference and an order index of the coarse position of the previous point in the current frame, and‐ constructing the coarse representation of the point cloud.36.The method of claim 35, wherein the order index of the coarse position of the current point is obtained as follows: oi (Pn) =oi (Pn-1) +Δnexti, Pn,whereoi (Pn) order index of the coarse position of the current point in the current frame i,oi (Pn-1) order index of the coarse position of the first point in the previous frame i-1, andΔnexti, Pn order difference between the coarse position of the current point and the coarse position of the previous point in the current frame i.37.The method of any one of claims 32 to 36, wherein the coarse representation is constructed in a plane (Фc, λn) of the current point Pn by obtaining a laser index λ and an azimuthal sampling angle Фc based on the order of the coarse position of the current point Pn, λn=oi (Pn) mod Nlaser, Фc= (oi (Pn) -λn)  / Nlaser.whereNlaser total number of laser beams.38.The method of any one claims 31 to 37, wherein the signaling includes a flag, the flag indicating for the one or more points with a coarse representation whether or not‐ the intra prediction scheme is to be used for decoding the order difference information, or‐ the inter prediction scheme is to be used for decoding the order difference information.39.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.40.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 30.41.An encoder, the encoder comprising:an encoder module,wherein the encoder module is configured to encode a point cloud into a data stream, andwherein, for one or more points with a coarse representation of the point cloud, the encoder module is configured to selectively use an intra prediction scheme or an inter prediction scheme for encoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.42.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 31 to 38.43.A decoder, the decoder comprising:a decoder module,wherein the decoder module is configured to decode a point cloud from a data stream, andwherein, for one or more points with a coarse representation of the point cloud, the decoder module is configured to decode from the data stream a signaling, wherein the signaling indicates for one or more points with a coarse representation of the point cloud, whether to use an intra prediction scheme or an inter prediction scheme for decoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.44.A data stream having encoded thereinto a point cloud, wherein the data stream comprises:a signaling indicating, for one or more points with a coarse representation of the point cloud, whether an intra prediction scheme or an inter prediction scheme is to be used for decoding order difference information between a coarse position of a current point and a coarse position of a previous point in a current frame of the point cloud.

Citation Information

Patent Citations

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

    WO2023029672A1

  • Point cloud data frames compression

    WO2023047119A1

  • Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data

    WO2023080635A1

  • Method and apparatus of encapsulating / parsing point cloud data in / from encapsulating containers

    WO2023116199A1

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

    WO2023191321A1