WO2024008968A1 - Procédé et appareil pour la compression et l'encodage d'un nuage de points dynamique 3d - Google Patents
Procédé et appareil pour la compression et l'encodage d'un nuage de points dynamique 3d Download PDFInfo
- Publication number
- WO2024008968A1 WO2024008968A1 PCT/EP2023/068942 EP2023068942W WO2024008968A1 WO 2024008968 A1 WO2024008968 A1 WO 2024008968A1 EP 2023068942 W EP2023068942 W EP 2023068942W WO 2024008968 A1 WO2024008968 A1 WO 2024008968A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- predictors
- predictor
- point
- bitstream
- inter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Definitions
- a 3D dynamic point cloud is a temporal sequence of 3D point clouds.
- Each 3D point cloud comprising a variable number of 3D points with variable 3D positions.
- the 3D point cloud can be a set of 3D points captured by a LIDAR located on the top of a car.
- the LIDAR can be a rotating LIDAR containing different elevation lasers with a horizontal rotation along the vertical dimension.
- TUC Technology Under Consideration
- the compression (or encoding, both terms being used in this document referring to the same techniques) techniques proposed in these two documents are based on predictive encoding where the encoding of a particular point is based on the identification of a predictor, and the encoding of a residual constituted by the difference between the current point and the 3D coordinates of a previously encoded point (the predictor).
- the encoding may be destructive, the residual is actually computed as the difference of the current point and the decoded version of the predictor.
- INTRA modes correspond to modes where the predictor is chosen in the current frame among the previously encoded points, meaning the current 3D point cloud.
- INTER modes correspond to modes where the predictor is chosen in a reference frame, meaning a previously encoded 3D point cloud.
- Improvements in term of coding efficiency may be advantageous for both INTRA and INTER modes.
- SUMMARY OF THE INVENTION The present invention has been devised to address one or more of the foregoing concerns. It concerns different improvements over techniques defined in the standard and the TUC propositions.
- a method of encoding a 3D dynamic point cloud comprising a sequence of 3D point clouds, each 3D point cloud comprising a set of 3D points, in a bitstream
- the method comprises for encoding a current 3D point: - determining a set of prediction functions; - determining a set of predictors based on the set of respective prediction functions; - selecting a predictor for the current 3D point among the set of predictors based on a cost evaluated for each predictor; and - encoding in the bitstream information for reconstructing the set of prediction functions, the index of the predictor selected in the set of predictors and the residual in the bitstream.
- the set of prediction functions comprises a set of INTRA prediction functions and/or a set of INTER prediction functions.
- the method further comprises: - encoding in the bitstream an indication for indicating whether the selected predictor is based on an INTRA or an INTER prediction function.
- the information for reconstructing the set of prediction functions comprises a number of INTRA prediction functions.
- the information for reconstructing the set of prediction functions comprises a number of INTER prediction functions.
- the set of INTER prediction functions is determined as a subset of an indexed list of INTER prediction functions.
- the information for reconstructing the set of prediction functions comprises indexes in the indexed list of INTER prediction functions of the INTER prediction functions of the subset.
- the information for reconstructing the set of prediction functions comprises a maximum index in the indexed list of INTER predictors of INTER prediction functions in the subset, the set of INTER predictors corresponding to the first INTER prediction functions in the indexed list of INTER prediction functions up to the maximum index.
- the index of the selected predictor is represented in the bitstream according to a truncated unary code.
- the truncated unary code is encoded with an arithmetic encoder.
- the selected predictor is the predictor for which the encoding cost is the lowest.
- evaluating the cost for a predictor comprises: - storing a best cost value after evaluating each predictor, the best cost value corresponding to the lowest cost for the previously evaluated predictors; and - early terminating the evaluation of a predictor as soon as its cost reach the stored best cost value.
- a method for decoding a 3D dynamic point cloud comprising a sequence of 3D point clouds, each 3D point cloud comprising a set of 3D points, in a bitstream
- the method comprises for decoding a current 3D point: - obtaining from the bitstream information for reconstructing a set of prediction functions; - determining a set of predictors based on the set of respective prediction functions; - obtaining from the bitstream an index of a selected predictor in the set of predictors; - obtaining from the bitstream the residual; - decoding the current 3D point based on the selected predictor and the residual.
- a computer program product for a programmable apparatus, the computer program product comprising a sequence of instructions for implementing a method according to the invention, when loaded into and executed by the programmable apparatus.
- a computer- readable storage medium storing instructions of a computer program for implementing a method according to the invention.
- a computer program which upon execution causes the method of the invention to be performed.
- a device for encoding a 3D dynamic point cloud comprising a sequence of 3D point clouds, each 3D point cloud comprising a set of 3D points, in a bitstream
- the device comprises for encoding a current 3D point a processor configured for: - determining a set of prediction functions; - determining a set of predictors based on the set of respective prediction functions; - selecting a predictor for the current 3D point among the set of predictors based on a cost evaluated for each predictor; and - encoding in the bitstream information for reconstructing the set of prediction functions, the index of the predictor selected in the set of predictors and the residual in the bitstream.
- a device for decoding a 3D dynamic point cloud comprising a sequence of 3D point clouds, each 3D point cloud comprising a set of 3D points, in a bitstream
- the device comprises for decoding a current 3D point a processor configured for: - obtaining from the bitstream information for reconstructing a set of prediction functions; - determining a set of predictors based on the set of respective prediction functions; - obtaining from the bitstream an index of a selected predictor in the set of predictors; - obtaining from the bitstream the residual; - decoding the current 3D point based on the selected predictor and the residual.
- At least parts of the methods according to the invention may be computer implemented.
- the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit", "module” or “system”.
- the present invention may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium. Since the present invention can be implemented in software, the present invention can be embodied as computer readable code for provision to a programmable apparatus on any suitable carrier medium.
- a tangible, non-transitory carrier medium may comprise a storage medium such as a floppy disk, a CD-ROM, a hard disk drive, a magnetic tape device or a solid state memory device and the like.
- a transient carrier medium may include a signal such as an electrical signal, an electronic signal, an optical signal, an acoustic signal, a magnetic signal or an electromagnetic signal, e.g. a microwave or RF signal.
- Figure 1 illustrates an example of LIDAR system
- Figure 2 illustrates different compression tools proposed in this standard
- Figure 3 illustrates an example of the main steps of a general encoding method for a point cloud and the construction of the associated bitstream
- Figure 4 illustrates the main steps of an example of decoding method for decoding a bitstream generated by the encoder
- Figure 5 illustrates examples of points obtained by a rotating lidar
- Figure 6 illustrates an example of tree construction for a rotating lidar
- Figure 7 illustrates the main step of an example of the compression algorithm used for encoding the 3D geometry of the input points
- Figure 8a and 8b illustrate the INTER prediction as proposed in a first and second version of the TUC document
- Figure 9 is another illustration of the INTER predictive encoding
- Figure 10 illustrates a proposed improvement over the previously described solutions
- Figure 11 illustrates a second improvement over the previously described method
- Figure 12 illustrate
- FIG. 1 illustrates an example of LIDAR system where the 4 arrows 1000 are representative of 4 laser heads.
- the 4 heads rotate around the z axis at a given rotation speed.
- Each head emits laser beam regularly and calculate a 3D position (x,y,z coordinates in a Cartesian system) according to measured feedbacks relative to the laser beam emission.
- attributes may be present for each point.
- a set of attributes can be associated.
- the attributes can be a color, a normal, reflectance, etc.
- This kind of LIDAR is called rotating LIDAR, but the invention is not limited to this particular example of LIDAR and may be adapted to any kind of 3D dynamic point clouds.
- step 2000 the initial point cloud is considered. It corresponds to a frame captured at time ‘t’.
- This initial point cloud may be optionally pre-processed in step 2001 to quantize the 3D positions of the 3D points.
- This first step is often called ‘voxelization’.
- the voxelization moves slightly the 3D positions of the initial point cloud so that they move to the center of the nearest voxel in a bounding box.
- step 2002 called geometry encoding, consists in encoding the 3D positions of the point cloud.
- G-PCC proposes 2 alternatives, 2003 and 2004, for the encoding of the geometry: o
- the first alternative 2003 is based on the construction of an octree and the encoding of the generated octree structure.
- the second alternative 2004 is based on the construction of a tree where each 3D point position is encoded in reference to previously encoded point positions in the tree. This second alternative is called geometry prediction.
- the geometry is decoded to obtain a decoded 3D positions of the points.
- the decoded positions which can be different from the initial positions if the geometry is encoded with the lossy mode, can be re-colored in step 2005.
- attributes of the encoded-decoded points can be changed according to the differences between the initial 3D position of a point and its decoded position. For example, the color or normal of each point can be recalculated taking into account the modification between the initial position and decoded position of a point. If the geometry is encoded in lossless mode, there is no need in applying this step 2005. The result of this recoloring is a new set of attributes related to the encoded-decoded 3D points. - After recoloring, the attributes are encoded in a step 2006. G-PCC proposes 2 modes for encoding the attributes called RAHT, step 2007, and LoD/Lifting, step 2008.
- the dense point clouds use the octree-based technics (2003) for geometry encoding step 2002, thus for compressing the positions of the point cloud called the geometry.
- the sparse point clouds use typically the geometry prediction technics of step 2004. Indeed, geometry prediction is more efficient when dealing with sparse content. LIDAR generated point clouds are often sparse.
- This invention is related to step 2004 of geometry prediction.
- G-PCC V1 suffers from drawbacks:
- One major drawback is the independent temporal compression of the frames of the temporal point cloud. Temporal independency means that the current frame, whose capture starts at time ‘t’, is compressed and encoded independently of the previous frame, whose capture starts at time ‘t-1’.
- the predictive encoding of a 3D point consists in determining a predictor of the 3D point to encode.
- the predictor is the decoded version of a previously encoded point.
- the predictor is in the current frame, meaning the current 3D point cloud, for INTRA encoding.
- the predictor is in a previously encoded frame, meaning a previously encoded 3D point cloud, named the reference frame, in case of INTER encoding.
- the predictor is determined by evaluating a set of predictors and selecting one of the predictors based on this evaluation as the predictor to be used at encoding and decoding,. The determination being made by evaluating a cost function for each predictor corresponding to the rate-distortion of the encoding based on the predictor.
- Each predictor is given by a prediction function which is used to determine the predictor.
- a prediction function may be, for example, a constant function where the predictor is a point of a predetermined value.
- the prediction function may be based on the location in the tree relatively to the point to encode, for example, the function that determines that the predictor is the direct ancestor in the tree of the point to encode.
- the prediction function may also correspond to a linear combination of several points defined by their location relatively to the point to encode. Accordingly, a set of prediction functions are used to determine a corresponding set of predictors, which are evaluated to determine the predictor used to encode the current point. According to embodiments of the invention, it is proposed to improve this INTER tools in the context of the geometry prediction (2004) by one or a combination of the following: o Adding new INTER prediction functions. o Signaling in the bitstream the used prediction functions. In a simple implementation, the number of INTER prediction functions used by the encoder is signaled by setting the index of the last used prediction function in a list of ordered prediction functions, or a number of prediction functions to be used in this list.
- the INTRA geometry prediction/compression tools are based on predicting the 3D position of a current point based on the ancestors in the predictive tree. This way of predicting the current 3D position was not the most efficient solution. That is why new INTRA tools have been proposed in the TUC document. According to embodiments of the invention, it is proposed to improve these new INTRA tools in the context of the geometry prediction (2004). In particular, it is proposed, separately or in combination: o To have a variable number of INTRA prediction functions (e.g. increasing the number of INTRA prediction functions). o To signal in the bitstream the maximal number of INTRA prediction functions used by the encoder, which let the possibility to the encoder to optimize or not the number of prediction functions.
- Figure 3 illustrates an example of the main steps of a general encoding method for a point cloud and the construction of the associated bitstream.
- the three main elements are the point cloud/frame 3000 to be encoded, the compression algorithm 3003 which will generate the bitstream 3006.
- the point cloud is divided in slices, which are subsets of the 3D points of the point cloud.
- Each slice is compressed in step 3005 for the geometry and in step 3007 for the 3D points attributes.
- the compression step 3003, comprises a first step 3004 of initialization, a step of generation of the geometry bitstream 3005, followed by the generation of the attributes bitstream 3007.
- the generated bitstream 3006 comprises a metadata part 3008, 3009 and 3010 followed by data units 3011-3014.
- the metadata part comprises a sequence parameter set, SPS, 3008 comprising parameters defined for the whole sequence, a geometry parameter set, GPS, 3009, comprising parameters of the geometry and an attribute parameter set, APS, 3010 comprising parameters of attributes.
- the data units are of two sorts, geometry data unit, GDU and attributes data unit, ADU.
- Each data unit is constituted of a header, GDU header 3011 and ADU header 3013, and a payload, GDU data 3012 and ADU data 3014, comprising the raw encoded geometry data and attributes data respectively.
- the metadata are typically generated during the initialization step 3004, the GDUs during the geometry bitstream generation step 3005, the ADUs during the attributes bitstream generation step 3007.
- Figure 4 illustrates an example of the main steps of a decoding method for decoding a bitstream generated by the encoder as specified in relation with Figure 3.
- the bitstream 4000 is obtained (e.g. read).
- the metadata comprising the SPS 4001, the GPS 4002 and the APS 4003, are obtained in a step 4010.
- These metadata are, for example, read and decompressed and then used in a step 4011 for initializing the Raw data decompression step 4012.
- this information will be read and will be used for initializing the Raw data decompression step 4012.
- the raw data decompressor will know how many INTRA prediction functions, or which INTER prediction functions are used and will be able to decode the indices of the prediction functions and to associate them with the right INTER prediction functions and/or the right INTRA prediction functions.
- the raw data decompression step 4012 is then able to decode the GDUs, 4004, 4005 and the ADUs, 4006, 4007 based on the metadata.
- Figure 5 illustrates examples of 3D points obtained by a rotating lidar. On the left, the lidar 5000 is rotating clock wise on the ‘z’ axis, based on the reflection of the beam on obstacles, here two cars 5001 and 5002 in front of a wall 5003. The projection on the plane (‘x’, ‘y’) is illustrated.
- each point its coordinates (x, y, z) are obtained.
- the right part illustrates the same points expressed in spherical coordinates where each point is defined by a laser index corresponding to an elevation angle ⁇ defined by each laser head geometry as illustrated by Figure 1, the azimuthal angle (rotation angle) ⁇ , and the radius r giving the distance between the lidar and the point.
- each 3D point may be represented by its spherical coordinates (r, ⁇ , ⁇ ).
- the geometry prediction method uses mainly the spherical coordinates.
- G-PCC-V1 the encoding of geometry is now described.
- G-PCC proposes two methods for encoding the geometry of the 3D points.
- the predictive approach starts by defining a prediction structure on the point cloud.
- Such structure could be described by a prediction tree where each point in the point cloud is associated with a vertex of the tree. Each vertex could be predicted only from its ancestors in the tree.
- Various prediction strategies are possible.
- the standard proposes four different strategies for determining a predictor: no prediction, meaning the current point is encoded with a predefined predictor, delta prediction where the predictor is the direct ancestor of the current point in the tree (i.e. p0), linear2 prediction where the predictor is a linear combination of the two ancestors (i.e.
- the tree structure is encoded by traversing the tree in a depth order and encoding for each vertex the number of its children.
- the positions of the vertices are encoded by storing the chosen prediction mode and the obtained prediction residuals.
- Arithmetic coding is used to further compress the generated values. Building the optimal prediction tree is an NP-hard problem. Prior to generating each predictive tree, the input points corresponding to the tree are sorted according to a sorting method.
- the sorting methods available are none, morton order, azimuth angle order, and radial distance order. Especially, the azimuthal sorting by rounded azimuth, radius, and elevation generates stable ordering shape and improves the coding efficiency.
- G-PCC predictive tree
- For each node in the prediction tree, one predictor index ‘n’ is encoded in the bitstream. This index points to a selected predictor PR n among a list of possible predictors, called predictors.
- PR 0 (r min , ⁇ 0 , ⁇ 0 ), where r min is the minimum radius value (provided in the geometry parameter set), and ⁇ 0 and ⁇ 0 are equal to 0 if the node has no parent, or are equal to ⁇ and ⁇ values of the point coded in the parent node.
- the prediction index ‘n’ and the number ‘k’ of azimuthal angle steps are encoded in the bitstream for each node, while the value of ( ⁇ step ) is encoded in the geometry parameter set by geom_angular_azimuth_speed_minus1.
- the residual (r res , ⁇ res , ⁇ res ) is also encoded in the bitstream.
- ⁇ res can be additionally quantized according to the radius r before being encoded in the bitstream.
- a list of N predictors is built from a prediction buffer of N pairs of one radius and one azimuthal angle (rn, ⁇ n).
- the coding of the predictor index is simply performed using a unary coding with one context per bin index.
- the derivation of a predictor is performed as follows: If the point being predicted is the first point of the tree (i.e., there is no parent node), the predictor PR0 is set equal to (rmin, 0, 0), the other predictors PRn>0 are set equal to (0, 0, 0).
- the predictor PR0 is set equal to (r0, ⁇ 0, ⁇ 0), where ⁇ 0 is the laser index ⁇ value of the parent point p0 coded in the parent node, and where (r0, ⁇ 0) is the first pair in the buffer (as will be understood from the buffer management, it is also equal to respectively the radius r, and the azimuthal angle ⁇ of the parent point p0 coded in the parent node); the predictors PRn>0 are set equal to (rn, ⁇ n + k* ⁇ step, ⁇ 0), where ⁇ 0 is the laser index ⁇ value of the parent point p0 coded in the parent node, and where (rn, ⁇ n) is the n-th pair in the buffer, and k equals 0 if
- the buffer used for the predictors’ derivation is managed as follows. Each pair of the buffer is first initialized to (0, 0). After the (de)coding of a point, the buffer is updated as follows: - If the absolute value of (de)coded radius residual r res is higher than a threshold Th, it is considered that the laser has probed a new object.
- a new element (r 0 , ⁇ 0 ) is inserted in front of the buffer, with r 0 and ⁇ 0 the reconstructed radius and the reconstructed azimuthal angle of the (de)coded point.
- - Th is equal to ps.predgeom_radius_threshold_for_pred_list and has been fixed in the encoder to 2048 >> ps.geom_angular_radius_inv_scale_log2 with ‘>>’ being a bit shift.
- the parameter ‘geom_angular_radius_inv_scale_log2’ is an inverse scaling factor applied to radius in predictive geometry coding. It is used to modify the precision in bits of the radius values.
- the size of the buffer list is modified, thus introducing the possibility to use a variable number of INTRA prediction functions, for example storing/using until 16 INTRA prediction functions instead of 4 prediction functions. This advantageously improves compression efficiency.
- the decoder can allocate the right amount of memory for the predictor buffer.
- a compression gain for the encoding in the bitstream of the predictor indices can be obtained if the encoder decides to use less prediction functions than the maximal number of possible prediction functions specified in the standard. This may be done, for example, for computation time’s reason.
- the encoding of the predictor index is done by using a unary coding according to the following scheme: o If predictor 0 is chosen, it is encoded by a binary word '0' o If predictor 1 is chosen, it is encoded by a binary '10' o If predictor 2 is chosen, it is encoded by a binary '110’ o If predictor 3 is chosen, it is encoded by a binary '1110’ o .... If the encoder uses only 2 prediction functions, each time the predictor ‘1’ is used, 2 bits are encoded (10).
- the decoder knows in advance that the maximal number of prediction functions is 2 because this information has been provided in the bitstream, the last 0 becomes useless and one bit to encode is saved.
- the number of used prediction functions can be specified in the bitstream, preferably in the metadata part (SPS or GPS) or in the header of the GDU. For example, if GPS is used, it means to set the maximal number of INTRA predictors used by the encoder in the geometry parameter set.
- the predictor indexes 0, 1 and 2 could be encoded according to the following scheme: o If predictor 0 is chosen, it is encoded by a binary word '0'; o If predictor 1 is chosen, it is encoded by a binary '10'; o If predictor 2 is chosen, it is encoded by a binary '11’.
- the decoder/arithmetic decoder in charge of reading the indices of the used prediction functions will know by reading the SPS, GPS or GDU header that the maximal number of prediction functions is 3, when reading the binary word ‘11’, the decoder will know after reading 2 bits at 1 that it is the last bit and will stop to read the predictor index.1 bit will be saved each time the predictor 2 is used for the coding of the 2D position of a 3D point.
- the predictor indexes 0, 1, 2 and 3 could be encoded according to the following scheme: o If predictor 0 is chosen, it is encoded by a binary word '0'; o If predictor 1 is chosen, it is encoded by a binary '10'; o If predictor 2 is chosen, it is encoded by a binary '110’; o If predictor 3 is chosen, it is encoded by a binary '111’.
- NPredDelta 4: - predIdx 0 ⁇ encoded word: ‘0’ - predIdx 1 ⁇ encoded word: ‘10’ - predIdx 2 ⁇ encoded word: ‘110’ - predIdx 3 ⁇ encoded word: ‘111’
- 2 predictors used by the encoder - predIdx 0 ⁇ encoded word: ‘0’ - predIdx 1 ⁇ encoded word: ‘1’ predIdx is the index of the predictor and only 2 INTRA predictors are used by the encoder. This kind of bits encoding is called truncated encoding.
- the encoder bounds the size of the predictor list to a low value (e.g. number of predictor set to 2 for optimization of the computation times), the truncated unary code can be applied on the last predictor index (and is still decodable).
- the decoder will know the maximal value of the predictor’s indices (by reading the GPS information).
- This modification enables the decoder to decode the predIdx based on truncated unary.
- the bit truncation could be used on the highest used predictor index (the last one of the dynamic predictor list also called buffer list as previously discussed).
- the decoder will be in capacity to decode the truncated binary code.
- a truncated unary coding for the coding of predIndex of the INTRA predictors, to set in the Geometry Parameter Set the number of used INTRA predictors and to modify the decoder for reading the new information in the GPS and correctly decode the truncated unary for predIdx.
- the encoder may decide to use a low number of INTRA predictors (e.g. by using 2 or 3).
- the truncated code is applied on the last used predIndex.
- the decoder has to know the number of INTRA predictors in order to decode the predIdx (with truncated unary).
- Figure 6 illustrates an example of tree construction for a rotating lidar. Input 3D points 6007 in spherical coordinates (Ri, ⁇ i, ⁇ i), ‘i’ being the index of the point. For rotating Lidar, there is a direct correspondence between elevation ⁇ i and laserId. This is the reason why we use indifferently these 2 words.
- the tree is constructed in step 6006.
- the tree construction consists in sorting the points in an increasing azimuth order for a same given elevation except for a short subset of 3D points. This short subset of points is illustrated with the points 6000 and 6003.
- the points 6000 and 6003. As these are the first encoded points for a given (different) elevation, their ancestors have a different elevation and there is no guaranty the azimuth of the ancestor is lower.
- the point 6001 has the point 6000 as parent.
- the point 6002 has the point 6001 as parent. It means that the azimuth ⁇ 1 is higher than ⁇ 0.
- the azimuth ⁇ 2 is higher than ⁇ 1.
- the point 6003 has the point 6000 as parent because it is the 3D point at elevation ⁇ 1 with the lowest azimuth.
- the first point with an elevation higher than ⁇ 0 (6003) has as parent the point 6000.
- the point 6004 has the point 6003 as parent.
- the point 6005 has the point 6004 as parent.
- the generated tree is used for: - Successively selecting the 3D points to encode (a point being a node of the tree) - Use the parent as predictor of the elevation.
- the radius and azimuth are predicted from the new INTRA and INTER prediction functions. In a preferred embodiment, we suppose that this global prediction mode is kept for this invention even if the INTRA or INTER prediction functions could be also used for elevation prediction, or just for radius or just azimuth prediction.
- Figure 7 illustrates the main step of an example of the compression algorithm used for encoding the 3D geometry of the input points corresponding to step 2004 in Figure 2.
- This version of the algorithm is used, for example, for a 3D point cloud coming from LIDAR or any 3D point cloud with a spherical representation.
- a tree is constructed. According to this tree, a point is selected in step 7000. This point is in its spherical representation (radius, azimuth, elevation or LaserId).
- step 7001 a prediction of this point is done. The prediction can be done from INTRA prediction functions (figure 5), or INTER prediction functions (figures 8, 9, 10 and 11).
- the predictors are previous reconstructed 3D points, reconstructed meaning that these points have been encoded and decoded, coming from a reference frame for INTER prediction or from the current frame for INTRA prediction.
- the best predictor is chosen among all the predictors.
- a flag is set to notify if it is an INTRA or INTER predictor.
- the index of this predictor (INTER or INTRA) is encoded and added in the bitstream in step 7006.
- the predictors are used for the prediction of radius and azimuth. The elevation being predicted from the parent in the tree.
- the residual is calculated in the spherical representation in step 7002, quantized and encoded in a binary representation in step 7005 for being added in the bitstream in step 7006.
- the decoded residual in the spherical domain is calculated in step 7003 and added to the prediction in the step 7007.
- the reconstructed point is transformed in the Cartesian domain/representation in step 7008.
- the input point is transformed in Cartesian coordinates.
- the residual in the Cartesian domain is obtained in step 7004.
- This residual is quantized and encoded in a binary stream in step 7006.
- the residual is decoded in the Cartesian domain before being added in step 7010 to the point in step 7008.
- the result is the reconstructed point in the Cartesian domain which is transformed in the spherical domain in step 7011 before being stored in step 7012.
- the storage in used in step 7012 contains encoded/decoded points that can be used as INTRA or INTER prediction.
- the encoded/decoded points are used as described above for constructing the list of predictors.
- the stored point will be used for the encoding of the next frame: they will be used as reference frame for the next frame as illustrated by Figure 8.
- Figures 8a and 8b illustrate the INTER prediction as proposed in a first and second version of the TUC document. For inter prediction, it was initially proposed to predict the radius of a point from a reference frame.
- the azimuth and laserID are still predicted with intra prediction, while the radius is predicted from the point in the reference frame that has the same laserID as the current point and an azimuth that is closest to the current azimuth.
- An improvement of this method also enables inter prediction of the azimuth and laserID in addition to radius prediction.
- the radius, azimuth and laserID of the current point are predicted based on a point that is near the azimuth position of a previously decoded point in the reference frame.
- separate sets of contexts are used for inter and intra prediction in the arithmetic encoder. This improved method is illustrated in Figure 8a.
- the method consists of the following steps: ⁇ For a given 3D point in the frame at time ‘t’, called curPoint in the figure, choose the previous decoded point (prevDecP0) in the same frame. ⁇ Choose position in reference frame refFrameP0, which is usually the previous decoded and stored frame at time ‘t-1’, that has same scaled azimuth and laserID as prevDecP0. ⁇ In reference point cloud frame, find the first point, called interPredPt, that has azimuth greater than that of refFrameP0. When the INTER predictor is chosen, a flag is encoded, called “inter_flag”, for signalling to the decoder to use INTER predictor.
- FIG. 9 is another illustration of the INTER predictive encoding described above in relation to Figure 8b.
- the figure illustrates the current frame 9000 and the reference frame 9001.
- the reference frame 9001 could be any previously encoded frame.
- the reference frame could be translated and rotated according to 3D parameters representing the 3D motion between the reference frame and the current frame, these parameters being transmitted in the bitstream for the decoder. For the current and reference frame, several points with same elevation ( ⁇ 0) are illustrated.
- elevation and laserId are equivalent because the elevation can be calculated from the laserId.
- Laser ID can be used instead for rotating LIDAR.
- a tree can be constructed (and the points to encode successively selected according to this tree) according to increased azimuth for a given elevation. The method is applied similarly for each elevation.
- the point to encode 9002 is illustrated for the given elevation. The point is in the spherical representation wherein ⁇ 3 is the value of the azimuth, R3, the value the radius and ⁇ 0 is the elevation.
- the previous decoded point 9003 of the same frame is selected according to the constructed tree.
- the reference point 9004 collocated in the reference frame is selected and the two INTER predictors 9005 and 9006 are evaluated. In this example, let’s consider that the additional predictor 9006 is the best one. This predictor could be used as predictor of the current point 9002 for the prediction of the radius, azimuth and elevation. If the reference point 9004 doesn’t exist because no feedback from the laser beam has been received, the two INTER predictors are the first two points of the reference frame with same elevation and azimuth higher than ⁇ ⁇ 19005 and 9006.
- Figure 10 illustrates a proposed improvement over the previously described solutions according to embodiments of the invention.
- the current point to encode 10002 cannot be predicted correctly from the interPred predictor 10005 and additional inter pred predictor 10006. Therefore, it is advantageous to propose additional INTER prediction functions.
- the 2 inter predictors Figure 8b
- four INTER prediction functions are used.
- the general behaviour of the algorithm is the following one:
- the point to encode 10002 is represented in spherical representation wherein ⁇ 4 is the value of the azimuth, R4, the value the radius and ⁇ 0 is the elevation.
- the previous decoded point of the same frame 10003 is selected.
- the current point to encode is the point Pt4(curr) where: (curr) is the current frame; R4(curr), ⁇ 4(curr) are the radius and azimuth associated to this point; and Pt( ⁇ 0, cur) is the previous encoded point.
- the reference point 10004 in the reference frame is then retrieved and the four INTER predictors 10005-10008, which are the successive point in azimuth, are tested.
- the additional predictor 10008 the fourth, is the best one.
- This predictor could be used as predictor of the current point to encode 10002 for the prediction of the radius, azimuth and/or elevation.
- the flag signalling the INTRA or INTER mode is set for INTER.
- the index of the INTER predictor is encoded as an integer value.
- F(0) Inter Pred (for selecting 10005 as predictor)
- the chosen inter predictor will be encoded with a truncated unary word with arithmetic encoding with one context per bin index.
- Embodiments of the invention relate thus to predictive geometry and especially to INTER predictive geometry.
- FIG. 11 illustrates a second improvement over the previously described method according to embodiments of the invention.
- the point to encode in the current frame 11000 is in the spherical representation wherein ⁇ 4 is the value of the azimuth, R4, the value the radius and ⁇ 0 is the elevation.
- ⁇ 4 is the value of the azimuth, R4, the value the radius and ⁇ 0 is the elevation.
- This embodiment is similar to the previous one with the difference that the points in the reference frame will be searched at a different elevation ( ⁇ 1 in this example).
- 11002 is the point to encode.
- the point is in the spherical representation wherein ⁇ 4 is the value of the azimuth, R4, the value the radius and ⁇ 0 is the elevation.
- the previous encoded/decoded point of the same frame is selected.
- the reference point in the reference frame is selected 11004 and the 4 INTER predictors are tested 11005, 11006, 11007, 11008.
- the difference with the previous figure is that the reference points in the reference frame will be searched at a different elevation ( ⁇ 1 in this example).
- the additional predictor 11008 is the best one. This predictor could be used as predictor of the current point for the radius and azimuth (the elevation for the point 11002 being predicted from the point 11003).
- the 4 INTER predictors in the reference frame will be the first 4 points with the elevation ⁇ 1 and with azimuth higher to the azimuth of the point 11003 are selected 11005, 11006, 11007, 11008. If the INTER predictor 11008 is better than the INTRA predictors according to a rate-distortion criterion, then the flag signalling the INTRA or INTER mode is set for INTER. And the index of the INTER predictor is encoded as a Boolean value (false if InterPred is used, true if the additional Inter Pred is used). According to an embodiment, a list of N prediction functions, for example indexed from 0 to N-1, is defined.
- the encoder is allowed to select a subset of P prediction functions from this list of N prediction functions for encoding. This subset is signaled in the bitstream to be used by the decoder.
- the encoded index of the determined predictor (which is in direct correspondence with a prediction function) for a given point is the index in the subset, namely between 0 and P-1, that is signaled in the bitstream.
- the indexes in the list of N prediction functions of the prediction functions belonging to the selected subset is signaled. These indexes may be signaled in the SPS, the GPS or the GDU header. Accordingly, the subset is valid for the whole sequence, the current frame or slice.
- the subset is constituted by the P first elements in the list of N prediction functions.
- the index P-1 of the last element of the subset is signaled in the bitstream in SPS if the selection is valid for the whole sequence, in the GPS if the selection is valid for the current frame and the GDU if the selection is valid for the slice.
- the number of INTER predictors (with associated prediction functions) used by the encoder is set in the bitstream in the Sequence Parameter Set, geometry Parameter Set, for example.
- a selection at the sequence level signaled in the SPS may be overwritten at the frame level or the slice level by signaling in the GPS or the GDU.
- a selection made at the frame level may be overwritten at the slice level in the GDU.
- An example of list of N predictors is the N successive point in the reference frame according to increasing azimuth from the point collocated to the previously encoded point in the reference frame (9004 or 10004). Accordingly, a variable number of predictors can be used by the encoder. This allows the encoder to determine a tradeoff between computing time at encoding and compression efficiency.
- the number of predictors being signaled in the bitstream, the index of the determined predictor is encoded using a truncated unary code (with arithmetic encoding with one context per bin index).
- the encoded words are the binary words encoded with arithmetic encoding with one context per bin index.
- the decoder will know the maximal value of the predictors indices (by reading the GPS information). With this modification, the bit truncation could be used on the highest used predictor index (the last one as specified in the GPS). Still with this modification, the decoder will be in capacity to decode the truncated binary code (the truncation being applied on the highest predictor index as specified in the GPS). In other words, it is proposed to set the number of INTER predictors used by the encoder in the Geometry Parameter Set. With this modification, when the encoder bounds the number of used inter predictors to a low value (e.g.
- FIG. 12 illustrates the main steps of an example of encoding method using the proposed improvements.
- an INTRA prediction buffer is provided. Its size corresponds to the number of possible INTRA predictors.
- a set of INTER prediction functions is provided. In the following of the text, we use indifferently INTRA predictors or INTRA prediction functions. The meaning is the same.
- An INTRA prediction function corresponds to the selection of one predictor.
- the INTRA prediction function ‘x’ will select the predictor ‘x’ in the INTRA predictor list 12001.
- the INTER prediction functions are slightly different.
- An INTER prediction function calculates a predictor according to the examples given in the figure 10. For example, in reference to the figure 10, the prediction function ‘0’ will select the point 10004 as predictor for prediction. The prediction function ‘1’ will select the point 10005 as predictor for prediction. The prediction function ‘2’ will select the point 10006 as predictor for prediction.
- the encoder determines the actual number of INTRA and INTER prediction functions to be used for point encoding, and possibly a subset of INTER prediction functions that is to be actually used at encoding to generate the actual predictor to be used 12006.
- a subset of INTER prediction functions could be the following 4 functions: - One calculating the predictor 10004 (function 0) - One calculating the predictor 10005 (function 1) - One calculating the predictor 10006 (function 2) - One calculating the predictor 11004 (function 3)
- These determined number of predictors, both INTRA and INTER prediction functions are stored in the GPS with possibly a subset of INTER prediction functions, in step 12005. This information can alternatively be written in the SPS or GDU header depending of the wished scope for changing the predictors.
- step 12000 the current point of the predictive tree to encode is obtained with the previous encoded/decoded point 12017, if it exists.
- step 12006 in the context of a loop on all the predictors, the next prediction function in the list of used prediction functions 12004 is selected and the corresponding predictor is used to evaluate the associated encoding costs in term of rate-distortion.
- the prediction function is an INTRA prediction function
- the associated INTRA predictor in 12001 is selected (according of the index of the INTRA predictor) in the INTRA prediction list 12001. It means that the INTRA prediction function is just a pointer into the INTRA predictor list 12001.
- the predictor is an INTER prediction function
- the INTER prediction function in 12002 is selected and the predictor is calculated according to this function (as indicated in the figure 10 and 11) based on the reference frame.
- the spherical residual 12010 is calculated.
- the residual information contains residual related to azimuth, radius and elevation. This information can be additionally quantized by step 12008.
- an estimation of the cost (in bits) of the prediction information and of the spherical residual is done.
- the prediction information comprises the information indicating whether INTRA or INTER prediction is selected, the index of the prediction function (either for INTRA or INTER). If the bits estimation is the lowest estimation among the tested predictions for the current point, then this value is stored as bits reference 12013.
- the chosen predictor (INTER or INTRA, index) is also registered. Once all the predictors have been tested, the best reference 12013 is determined.
- the current point (after decoding) is used in order to update the INTRA predictor List 12001, the next point of the predictive tree is determined in a loop to steps 12000 and 12007 until the end of the slice.
- the next chosen predictor function will be the first one in the list for the module (12006).
- an early termination is proposed in the cost estimation function.
- an early termination test in the function in charge of estimating the bit cost of each tested predictor (INTRA or INTER) is added. No gain/no loss is obtained in terms of compression ratio but computation times saving is obtained.
- the cost estimate in bits comprises the evaluation of several estimations in bits, the index of the prediction function (either INTER or INTRA), the INTER flag, components of the residual. It is proposed to check at different stages of the process whether the current size is greater or equal to the cost of the best previously estimated predictor stored as the best reference 12013. When the result of the test is true, the cost estimation for the current predictor is terminated as it cannot be the best predictor. Therefore, the end of the function is not conducted. Accordingly, computation time is saved for this computation intensive step of cost evaluation.
- step 13000 a test is done to know if the INTER flag indicating whether INTER or INTRA prediction is under evaluation is at 0 or 1. If it is 1, the estimation of the compression cost of the INTER predIdx is done, step 13001. If it is 0, the estimation of the compression cost of the INTRA predIdx is done, step 13002.
- predIdx is the index of the predictor chosen for prediction of a given point. The result is the estimation cost called ‘Bits’ 13012.
- the early termination test is run. It consists in comparing ‘bits’ with ‘bits reference’. If ‘bits’ is higher than ‘bits reference’ then the cost of the current information is higher than the cost for a previously tested predictor.
- step 13004 the cost of encoding the INTER flag is estimated and added to the previously calculated ‘bits’ resulting in a new bits value.
- step 13005 the early termination test is run similarly to step 13003.
- step 13006 the cost of encoding the residual information related to the azimuth is estimated and added to the previously calculated ‘bits’ resulting in a new bits value.
- step 13007 the early termination test is run anew.
- step 13008 the cost of encoding the residual information related to the radius is estimated and added to the previously calculated ‘bits’ resulting in a new bits value.
- step 13009 the early termination test is run anew.
- step 13010 the cost of encoding the residual information related to the elevation (or laserId) is calculated. This value is added to the previous ‘bits’ value and is the return value.
- This function can be done. For example: The information which are (statistically) the most important to compress/encode (in term of bits) can be encoded first. The information to estimate can be slightly different.
- the TUC document describes an embodiment where the radius residual can be split into sign and radius and encoded with different arithmetic context
- G-PCC Ed.1 describes an embodiment where the prediction of the azimuthal angle of a point can be refined by adding a number ‘k’ (coded in bitstream) of azimuthal steps ‘ ⁇ step ’ to the azimuthal angle prediction ‘ ⁇ -n ’ provided by the ‘n’-th predictor.
- interFlag is a flag indicating whether INTER or INTRA prediction is used for the encoding of the current point; ‘estimate’ is a function in charge of estimating the cost (in bits) of the interFlag; ctxInterFlag[] is an arithmetic context and interFlagCtxIdx is an integer value.
- the early termination test is repeated for all the information to estimate in the estimateBits function (residual, predictor index, .).
- New syntax elements indicating the number of predictors for intra and inter predication are added in the GPS extension as illustrated below (hence addition of GPS information)
- gps_geom_parameter_set_id identifier of the Geometry Parameter Set
- gps_seq_parameter_set_id identifier of the SPS referenced by the Geometry Parameter Set while( more_data_in_data_unit( ) ): is used for continuing to read the data
- ptree_num_intra_predictor_minus1 plus 1 specifies the size of the list of INTRA predictors used for INTRA prediction.
- ptree_num_inter_predictor specifies the maximum number of INTER predictors.
- Figure 14 illustrates a block diagram of a device adapted to incorporate the invention.
- the device comprises a central processing unit (CPU) 14001 capable of executing instructions from program ROM 14003 on powering up of the receiving device, and instructions relating to a software application from main memory 14002 after the powering up.
- the main memory 14002 is for example of Random Access Memory (RAM) type which functions as a working area of CPU 14001, and the memory capacity thereof can be expanded by an optional RAM connected to an expansion port (not illustrated).
- Instructions relating to the software application may be loaded to the main memory 14002 from the hard-disc (HD) 14006 or the program ROM 14003 for example.
- Such software application when executed by the CPU 14001, causes the steps of the flowcharts shown in the previous figures.
- Reference numeral 14004 is a network interface that allows the connection of the device to the communication network.
- the software application when executed by the CPU is adapted to receive data streams through the network interface from other devices.
- Reference numeral 14005 represents a user interface to display information to, and/or receive inputs from a user. Any step of the algorithms of the invention may be implemented in software by execution of a set of instructions or program by a programmable computing machine, such as a PC (“Personal Computer”), a DSP (“Digital Signal Processor”) or a microcontroller; or else implemented in hardware by a machine or a dedicated component, such as an FPGA (“Field-Programmable Gate Array”) or an ASIC (“Application-Specific Integrated Circuit”).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
La présente invention concerne un procédé d'encodage d'un nuage de points dynamique 3D, comprenant une séquence de nuages de points 3D, chaque nuage de points 3D comprenant un ensemble de points 3D, dans un flux binaire, dans lequel le procédé comprend, pour l'encodage d'un point 3D courant : la détermination d'un ensemble de prédicteurs, sur la base, par exemple, d'un ensemble de fonctions de prédiction ; la sélection d'un prédicteur pour le point 3D courant, parmi l'ensemble de prédicteurs, sur la base d'un coût évalué pour chaque prédicteur ; et l'encodage, dans les informations de flux binaire, en vue de la reconstruction de l'ensemble de prédicteurs, d'un indice du prédicteur sélectionné dans l'ensemble de prédicteurs, et d'un résidu.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB2210096.0A GB2620453B (en) | 2022-07-08 | 2022-07-08 | Method and apparatus for compression and encoding of 3D dynamic point cloud |
| GB2210096.0 | 2022-07-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024008968A1 true WO2024008968A1 (fr) | 2024-01-11 |
Family
ID=84540024
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2023/068942 Ceased WO2024008968A1 (fr) | 2022-07-08 | 2023-07-07 | Procédé et appareil pour la compression et l'encodage d'un nuage de points dynamique 3d |
Country Status (2)
| Country | Link |
|---|---|
| GB (1) | GB2620453B (fr) |
| WO (1) | WO2024008968A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025239043A1 (fr) * | 2024-05-14 | 2025-11-20 | キヤノン株式会社 | Dispositif de codage, dispositif de décodage, procédé de codage, procédé de décodage et programme |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200304829A1 (en) * | 2019-03-22 | 2020-09-24 | Tencent America LLC | Method and apparatus for interframe point cloud attribute coding |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108322742B (zh) * | 2018-02-11 | 2019-08-16 | 北京大学深圳研究生院 | 一种基于帧内预测的点云属性压缩方法 |
| WO2020146341A1 (fr) * | 2019-01-07 | 2020-07-16 | Futurewei Technologies, Inc. | Structure de flux binaire en nuage de points et codage différentiel d'informations auxiliaires |
| CN116601944A (zh) * | 2020-12-08 | 2023-08-15 | Oppo广东移动通信有限公司 | 点云编解码方法、编码器、解码器及计算机存储介质 |
-
2022
- 2022-07-08 GB GB2210096.0A patent/GB2620453B/en active Active
-
2023
- 2023-07-07 WO PCT/EP2023/068942 patent/WO2024008968A1/fr not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200304829A1 (en) * | 2019-03-22 | 2020-09-24 | Tencent America LLC | Method and apparatus for interframe point cloud attribute coding |
Non-Patent Citations (3)
| Title |
|---|
| "G-PCC 2nd Edition codec description", no. n21558, 21 June 2022 (2022-06-21), XP030302661, Retrieved from the Internet <URL:https://dms.mpeg.expert/doc_end_user/documents/138_OnLine/wg11/MDS21558_WG07_N00314.zip MDS21558_WG07_N00314_v1.docx> [retrieved on 20220621] * |
| HERVÉ LE FLOCH (CANON) ET AL: "[GPCC]Increased number of Inter Prediction functions for Improved prediction in Predictive Geometry Coding", no. m60239, 11 July 2022 (2022-07-11), XP030303572, Retrieved from the Internet <URL:https://dms.mpeg.expert/doc_end_user/documents/139_OnLine/wg11/m60239-v1-m60239-v1.zip m60239-v1/m60239-v1.docx> [retrieved on 20220711] * |
| RAMASUBRAMONIAN (QUALCOMM) A K ET AL: "[G-PCC][New proposal] Results on inter prediction for predictive geometry coding", no. m59650, 26 April 2022 (2022-04-26), XP030301862, Retrieved from the Internet <URL:https://dms.mpeg.expert/doc_end_user/documents/138_OnLine/wg11/m59650-v2-m59650-v2.zip m59650-v1.pdf> [retrieved on 20220426] * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025239043A1 (fr) * | 2024-05-14 | 2025-11-20 | キヤノン株式会社 | Dispositif de codage, dispositif de décodage, procédé de codage, procédé de décodage et programme |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2620453A (en) | 2024-01-10 |
| GB2620453B (en) | 2024-09-25 |
| GB202210096D0 (en) | 2022-08-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11956470B2 (en) | Predictor index signaling for predicting transform in geometry-based point cloud compression | |
| US20220207780A1 (en) | Inter prediction coding for geometry point cloud compression | |
| WO2022147100A1 (fr) | Codage d'inter-prédiction pour compression de nuage de points géométrique | |
| JP7611400B2 (ja) | 点群符号化および復号化方法、エンコーダ、デコーダ、ならびにコンピュータ記憶媒体 | |
| US20250218049A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
| EP3410401A1 (fr) | Traversal implicite à base de valence dans la compression de mailles triangulaires | |
| WO2024008968A1 (fr) | Procédé et appareil pour la compression et l'encodage d'un nuage de points dynamique 3d | |
| US20260039849A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| WO2023132331A1 (fr) | Dispositif de décodage de nuage de points, procédé de décodage de nuage de points, et programme | |
| WO2023028177A1 (fr) | Codage d'attribut en codage de nuage de points géométriques | |
| US12169953B2 (en) | Predictive tree-based geometry coding for a point cloud | |
| US20250225680A1 (en) | System and method for geometry point cloud coding | |
| JP7667887B2 (ja) | 点群を符号化及び復号化する方法 | |
| GB2623372A (en) | Method and apparatus for compression and encoding of 3D dynamic point cloud | |
| JP2023101340A (ja) | 点群復号装置、点群復号方法及びプログラム | |
| JP7851868B2 (ja) | 点群復号装置、点群復号方法及びプログラム | |
| JP7829505B2 (ja) | 点群復号装置、点群復号方法及びプログラム | |
| WO2025119333A1 (fr) | Système et procédé de codage en nuage de points géométriques | |
| GB2626029A (en) | Enhanced method for point cloud compression | |
| US20260105645A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP7773959B2 (ja) | 点群復号装置、点群復号方法及びプログラム | |
| US12425658B2 (en) | Predictive geometry coding for point cloud compression | |
| WO2025108070A1 (fr) | Système et procédé de codage en nuage de points géométriques | |
| JP7773960B2 (ja) | 点群復号装置、点群復号方法及びプログラム | |
| US20240289994A1 (en) | Point cloud decoding device, point cloud decoding method, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23738785 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23738785 Country of ref document: EP Kind code of ref document: A1 |