Reduce the complexity of the point cloud through attribute subsampling.

VN126163APending Publication Date: 2026-06-15INTERDIGITAL CE PATENT HOLDINGS SAS
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
VN · VN
Patent Type
Applications
Current Assignee / Owner
INTERDIGITAL CE PATENT HOLDINGS SAS
Filing Date
2024-09-17
Publication Date
2026-06-15

AI Technical Summary

Technical Problem

Current technologies lack an efficient method for reducing the complexity of encoding, decoding, and rendering attributes of dynamic point clouds for transmission over networks, leading to high data complexity and processing times.

Method used

The proposed solution involves encoding the geometry of a point cloud and decoding it to obtain anchor points, then transferring attributes only onto these anchor points. The encoded geometry and transferred attributes are streamed together, with the attributes being interpolated on the reconstructed geometry during decoding.

Benefits of technology

This approach significantly reduces the number of attributes to be transmitted, resulting in lower processing times and reduced bitstream size, while maintaining the quality of the point cloud representation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure VN1202602496_0
    Figure VN1202602496_0
Patent Text Reader

Abstract

The invention proposes methods, devices, and flows that allow for a reduction in the complexity of encoding and decoding attributes. According to the schemes, the number of attribute values ​​to transmit is reduced based on subsampling. According to some schemes, subsampling is performed at a rate which can be defined as a function of the attribute variability. The subsampling rate can be balanced per node. For the color attribute, the rate can vary for the hue and brightness components.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] POINT CLOUD COMPLEXITY REDUCTION THROUGH ATTRIBUTES SUBSAMPLING

[0002] 1. Technical Field

[0003] The present principles generally relate to the domain of encoding, decoding and rendering point clouds comprising attributes. In particular, the present principles relate to lowering the complexity of encoding, decoding and rendering attributes of a dynamic point cloud for transmission over a network.

[0004] 2. Background

[0005] The present section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present principles that are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present principles. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

[0006] Advances in 3D capturing and rendering technologies are enabling new applications and services in the fields of autonomous driving, cultural heritage archival, immersive telepresence and virtual / augmented reality. Point clouds have arisen as one of the main 3D scene representations for such applications. A point cloud frame consists of a set of 3D points, each point being unrelated to other points, and each point being represented with its 3D position and possibly several attributes such as color, transparency, reflectance and so on.

[0007] Point cloud compression frameworks comprise two sequential steps. In a first step, the geometry is encoded. This step may take advantage of any intra or inter prediction between points. The resulting encoded geometry is then decoded, and used as a basis for the second step that consists in coding the attributes. This step can also benefit from intra or inter prediction. The geometry encoding scheme may be lossy; in that case the location of points may change after decoding. As the attribute encoding scheme depends on the decoded geometry, it is also lossy. Geometry is represented as an octree, dividing the 3D space of the point cloud in eight voxels per level, up to a given minimal resolution. A surface representation is used for this low level, for example, a so called soup of triangles. Each voxel of a level is divided into eight son- voxels. When a son-voxel contains at least one point, a son-node is added to the node corresponding to its parent in the octree. Each node of the octree comprises data about the geometry and lists of attribute values. Such a representation implies complexity at the encoding step and at the decoding step and represents a huge amount of data.

[0008] There is alack of a solution for providing alow complexity attributes encoder, bitstream, and decoder within a dynamic point cloud transmission framework.

[0009] 3. Summary

[0010] The following presents a simplified summary of the present principles to provide a basic understanding of some aspects of the present principles. This summary is not an extensive overview of the present principles. It is not intended to identify key or critical elements of the present principles. The following summary merely presents some aspects of the present principles in a simplified form as a prelude to the more detailed description provided below.

[0011] The present principles relate to a method for encoding a point cloud comprising a geometry and attributes in a stream. The method comprises encoding the geometry of the point cloud and decoding the encoded geometry to obtain a decoded geometry comprising sets of anchor points. Then, the attributes of the point cloud are transferred on the anchor points only. The stream is generated with the encoded geometry and the transferred attributes.

[0012] The present principles also relate to a device comprising a processor and a memory associated with the processor that is configured to implement the method above.

[0013] The present principles relate to a method for decoding a point cloud from a stream. The method comprises decoding a geometry comprising sets of anchor points from the stream and decoding attributes from the stream. The decoded geometry is resampled according to the sets anchor points to obtain a reconstructed geometry. The decoded attributes are transferred on anchor points and are further interpolated on the reconstructed geometry.

[0014] The present principles also relate to a device comprising a processor and a memory associated with the processor that is configured to implement the method above.

[0015] The present principles also relate to a data stream representative of a point cloud and comprising an encoded geometry comprising sets of anchor points and encoded attributes to transfer to anchor point. 4. Brief Description of Drawings

[0016] The present disclosure will be better understood, and other specific features and advantages will emerge upon reading the following description, the description making reference to the annexed drawings wherein:

[0017] - Figure 1 shows an example of a surface 11 captured and divided in voxels;

[0018] - Figure 2 illustrates a representation 20 of the surface 11 of Figure 1 at a low level of the octree;

[0019] - Figure 3 shows an example architecture of a device 30 which may be configured to implement encoding and / or decoding methods according to an embodiment of the present principles;

[0020] - Figure 4 shows an example of an embodiment of the syntax of a data stream encoding a point cloud having attributes according to the present principles;

[0021] - Figure 5 illustrates example of attribute information after attribute transfer;

[0022] - Figure 6 illustrates examples of subsampling ratios; and

[0023] - Figure 7 illustrate a subsampling of a surface with a ratio of one tenth.

[0024] 5. Detailed description of embodiments

[0025] The present principles will be described more fully hereinafter with reference to the accompanying figures, in which examples of the present principles are shown. The present principles may, however, be embodied in many alternate forms and should not be construed as limited to the examples set forth herein. Accordingly, while the present principles are susceptible to various modifications and alternative forms, specific examples thereof are shown by way of examples in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the present principles to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present principles as defined by the claims.

[0026] The terminology used herein is for the purpose of describing particular examples only and is not intended to be limiting of the present principles. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises", "comprising," "includes" and / or "including" when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Moreover, when an element is referred to as being "responsive" or "connected" to another element, it can be directly responsive or connected to the other element, or intervening elements may be present. In contrast, when an element is referred to as being "directly responsive" or "directly connected" to other element, there are no intervening elements present. As used herein the term "and / or" includes any and all combinations of one or more of the associated listed items and may be abbreviated as" / ".

[0027] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element without departing from the teachings of the present principles.

[0028] Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.

[0029] Some examples are described with regard to block diagrams and operational flowcharts in which each block represents a circuit element, module, or portion of code which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in other implementations, the function(s) noted in the blocks may occur out of the order noted. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending on the functionality involved.

[0030] Reference herein to “in accordance with an example” or “in an example” means that a particular feature, structure, or characteristic described in connection with the example can be included in at least one implementation of the present principles. The appearances of the phrase in accordance with an example” or “in an example” in various places in the specification are not necessarily all referring to the same example, nor are separate or alternative examples necessarily mutually exclusive of other examples.

[0031] Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims. While not explicitly described, the present examples and variants may be employed in any combination or sub-combination. A dense point cloud is a set points in a 3D space close enough to represent a surface (i.e. at rendering, a user does not see a set of points but an object). Such a point cloud comprises very numerous points and is divided in voxels to a pre-determined resolution. Each point of the point cloud is found within a regular lattice and accessible through integer indexing in space. The position is called a voxel (i.e., a unit element of a space) like a position in a 2D image is called a pixel. The resolution of this voxelization comes from the capture, because the precision of the capturing system is directly linked to sensor(s) resolution and leads to a given number of points per unit of volume. This voxelization is also a way to limit the amount of data to process, by summarizing many points falling in a voxel into a single point. The voxelization also defines how a content can be categorized. For example, a dense point cloud is the result of a solid object surface sampling, which brings a watertight property because populated voxels are contiguous. One can convert a dense point cloud in a sparse point cloud and vice-versa by changing the lattice resolution: by down sampling or by up sampling it.

[0032] A point cloud can be considered as a list of (x, y, z, r, g, b) tuples, where x, y, z are integers specifying the location in 3d space of a point, and where r, g, b are integers representing the color attribute of the point. For example, if the geometry is encoded on 10 bits, x, y and z belong to range [0, 1023], If the color attributes are encoded on 8 bits, then r, g, and b belong to range [0, 255], Furthermore, as the point cloud is a representation of the object surface sampling, only a small part of the volume V=1024* 1024* 1024 will be populated.

[0033] Figure 1 shows an example of a surface 11 captured and divided in voxels. For sake of illustration, Figure 1 illustrates a 2-dimension example, without any loss of genericity with respect to a 3D point cloud. Line 11 represents the surface of the captured object. The number of captured points along this surface depends on the capturing device. The 3D space 10 is divided into voxels according to a number of bits selected to encode the geometry. Grey voxels 12 contain at least one point while white voxels 13 are empty. An octree representation is efficient because a great majority of the voxels is empty.

[0034] A point cloud compression framework comprises two sequential steps. In a first step, the geometry is encoded. This step may take advantage of any intra or inter prediction between points. The resulting encoded geometry is then decoded, and used as a basis for the second step that consists in encoding the attributes. This step can also benefit from intra or inter prediction.

[0035] The geometry encoding scheme can be lossless; in that case, the decoded points are exactly at the same location as the input points. Or it can be lossy; in that case the location of the points may change. In a similar way, the attribute encoding scheme can be lossless, so, the decoded r, g, b values are identical to the original ones. It should be noted that this is only possible when the geometry encoding is lossless, in the other case, an attribute transfer step is needed which disable an eventual reversibility. Or it can be lossy, whatever the geometry encoding. Lossless approaches imply the encoding of much more data than lossy methods.

[0036] According to the present principles, both the geometry coding and the attributes coding are lossy and the geometry is decomposed into an octree. It has been showcased recently that approximating the surface at a given level of the octree, i.e., at a given resolution coarser than the point cloud resolution, allowed to achieve better performance in geometry compression.

[0037] Figure 2 illustrates a representation 20 of the surface 11 of Figure 1 at a low level of the octree. At this low resolution, the approximation consists in creating triangles 23 that are parametrized through anchor points on the block faces, called edges 21, and a center point called centroid 22. This feature is called Trisoup (standing for soup of triangles). The examples in the present document use Trisoup representation but the present principles can be generalized to any surface approximation. An advantage of this representation is a drastic reduction of the number points to be transmitted. On the decoder side, a rasterization process is run to resample the triangles. This approximated geometry is transmitted to the decoder.

[0038] Figure 5 illustrates example of attribute information after attribute transfer. The approximated geometry is decoded at encoder side and each triangle is resampled at the input resolution level to obtain a reconstructed geometry. Then, the attributes from the input point cloud are transferred onto this new geometry. This operation is lossy for the attribute information. Once the attributes have been transferred, they are encoded and transmitted. Hence, each point in the reconstructed geometry is encoded, for instance, by using a hierarchical transform such as the RAHT one. The encoding processing time and the decoding processing time are linear with the number of points to encode. Moreover, the more attributes to transmit, the bigger the bitstream.

[0039] According to the present principles, the number of attributes values to transmit based on subsampling is reduced, and, in an embodiment, the subsampling ratio per node with respect to the attribute information variation of a node is balanced. In a first embodiment, the number of encoded attributes corresponds to the number of transmitted edges and centroids of the geometry information. At the decoder side, when the geometry is rasterized, the attributes of each voxel are also computed. In this step, the rasterizer determines which voxel is covered by a particular piece of geometry, and the color of each voxel is found through a shading function, for instance interpolating the edges and centroid colors. In this embodiment, the position of the subset of points carrying an attribute information (edges and centroid) is already known from the geometry bitstream. Hence there is no additional information to transmit. This embodiment is based on top of a surface approximation like the Trisoup, but it can be generalized to any surface approximation. The geometry information is not changed. The first embodiment using a rough subsampling is efficient to reduce the complexity (encoding / decoding processing time) and the bitstream size.

[0040] In a second embodiment, a subsampling ratio R is used as a parameter to be used at encoder. This ratio lies between 0 and 1, where “0” means only the minimal information is sent as in the first embodiment, and “1” all the information is sent for all the voxels of the reconstructed geometry as in prior art. Hence a trade-off is determined between the bitrate and the distortion of the attributes. In this way, the number of anchor points (like the centroids for the geometry) used for attribute coding can be modulated.

[0041] Figure 6 illustrates examples of subsampling ratios. When R is set to 0, only the attributes of the anchor points are encoded in the bitstream. When R is set to 0.5, for example, attribute values are transferred for one reconstructed voxel of two. When R is set to 1, attribute values are transferred for every reconstructed voxel. In the example of Figure 6, the set of voxels that are selected for transmission Q={ v_idx } has a bounded cardinality card( )<N, where N is the number of voxels of the segment, and the indices idx belong to [0,N-l] . The selection of the indices is performed through a subsampling process known at the encoder and the decoder. As an example, the subsampling process may be defined by equation Eql.

[0042] The rounding operator rounds a number to the nearest integer (down or up) and Nsent is the number of attributes to be sent which depends on the ratio R according to equation Eq2.

[0043] Eq2: Nsent= round(R * (N — 2) + 2)

[0044] The equations are provided with a parameter set to 2 because the example of Figure 1 is illustrated in 2D. For a 3D point cloud, the parameter is set to 3. Figure 7 illustrate a subsampling of a surface with a ratio of one tenth. Considering the 2D triangle surface within a 3D space, an iterative homogeneous subsampling process as the presented in the pseudo code below can be used. This pseudo code given for illustration is an example, other process might be used, for instance a pseudo random selection algorithm. The same process is used at the encoder and at the decoder.

[0045] To map the attributes information at the correct location at decoder side, the same subsampling process must be performed at decoder side. Hence, in the second embodiment, the ratio R is transmitted to the decoder. This metadata can be a floating-point value, or an integer value coding for a floating-point value. The ratio can be set for all the frames of the sequence, or transmitted once per intra period, or once per frame, for example.

[0046] In a variant of the second embodiment, a ratio is applied locally, for example only on the nodes that exhibits a variability of the attributes greater than a threshold. As an example, the variability of the attributes can be measured using equation Eq3. where Ai is the attribute of the ithpoint of current node, N the number of points in current node, A the average attribute value of current node, and dist2(p,q) is a distance operator between the attributes p and q of two points, for example according to equation Eq4.

[0047] Eq4: dist2(p, q) = £=1(p[c] - q[c])2with c is a component and C is the number of components of the attributes (C=3 when the considered attributes are colors). When the considered attributes are colors, dist2(p,q) is computed in a perceptually uniform color space such as such as CIELab, IPT or OKLab among others (Uniform color spaces are built such that the same geometrical distance anywhere in the color space reflects the same amount of perceived color difference). For all the nodes where the variability is above a threshold th specified at encoder, a ratio R greater than 0 can be used to limit the subsampling effect. The threshold is determined according to the kind of attribute and to the number of bits used to encode this attribute. The threshold th and the ratio R are specified at encoder. The ratio R is transmitted to the decoder.

[0048] In another variant, to cope with the spatial variability of the point cloud attributes, an adaptive ratio is automatically set for each block, based on the attribute distribution of the block. Using the previous variability computation, the subsampling ratio can be set accordingly between 0 and 1. In this variant, R = / (o'). where is a function mapping a value of o to a ratio R. Any function performing that mapping can be thought, as soon as the decoder performs the same process than the encoder (the function can be bijective like a linear or logarithmic or quadratic function, or a parametric function like a piecewise linear function). In this variant, the ratio R is automatically derived from the computation, and transmitted to the decoder.

[0049] In a third embodiment, more attribute information are heterogeneously added, breaking the ratio-based subsampling of the first and second embodiments. For example, when high frequencies attributes are present locally in a node, while the other points do not exhibit this characteristic, a homogeneous subsampling would be overkill. Or, for example, near the geometry centroids exhibiting a high derivative moment of the geometry (like the peak in the top right node of Figure 2), since a high variation of the geometry can be associated to a high variation of the attributes, for example with specular objects. In that case, some more attributes near the centroid are specified according to this third embodiment. The positions where attribute information is transmitted should be transmitted to the decoder, because no subsampling process can be reproduced at decoder side.

[0050] In a variant, an energy consumption aware subsampling is performed. Rather than using the spatial variability of the attributes, the selection of the points for which the attributes are transmitted is based on a function of the energy consumption at the decoder when reconstructing and displaying the point cloud. Indeed, the screen power model can be used to infer the consumption of the screen. Hence, the subsampling is made aware of this model and sending preferentially attributes that will be less energy-intensive for the reconstruction. In this variant, the positions where attribute information is transmitted to the decoder, because no subsampling process can be reproduced at decoder side.

[0051] In a fourth embodiment, a different ratio value R is set for the chroma components and the luma component. Using a lower ratio for chroma leads to a reduction of the bitrate for the chroma. This is similar to what is done for legacy 2D video coding, for instance in a 4-2-0- coding scheme. The two R values are transmitted to the decoder. The R values are determined according one of the previous embodiments. At the decoder side an up-sampling method is used to compute chroma values to positions where only the luma have been sent. A nearest neighbour scheme is an example of up-sampling method that can be used.

[0052] Figure 3 shows an example architecture of a device 30 which may be configured to implement encoding and / or decoding methods according to an embodiment of the present principles. The device is linked with other devices via their bus 31 and / or via I / O interface 36.

[0053] Device 30 comprises following elements that are linked together by a data and address bus 31 :D

[0054] - a processor 32 (or CPU), which is, for example, a DSP (or Digital Signal Processor);

[0055] - a ROM (or Read Only Memory) 33;

[0056] - a RAM (or Random Access Memory) 34;

[0057] - a storage interface 35; - an I / O interface 36 for reception of data to transmit, from an application; and

[0058] - a power supply (not represented in Figure 2), e.g. a battery.

[0059] In accordance with an example, the power supply is external to the device. In each of mentioned memory, the word « register » used in the specification may correspond to area of small capacity (some bits) or to very large area (e.g. a whole program or large amount of received or decoded data). The ROM 33 comprises at least a program and parameters. The ROM 33 may store algorithms and instructions to perform techniques in accordance with present principles. When switched on, the CPU 32 uploads the program in the RAM and executes the corresponding instructions.

[0060] The RAM 34 comprises, in a register, the program executed by the CPU 32 and uploaded after switch-on of the device 30, input data in a register, intermediate data in different states of the method in a register, and other variables used for the execution of the method in a register.

[0061] The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a computer program product, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users.

[0062] Device 30 is linked, for example via bus 31 to a set of sensors 37 and to a set of rendering devices 38. Sensors 37 may be, for example, cameras, microphones, temperature sensors, Inertial Measurement Units, GPS, hygrometry sensors, IR or UV light sensors or wind sensors. Rendering devices 38 may be, for example, displays, speakers, vibrators, heat, fan, etc.

[0063] In accordance with examples, the device 30 is configured to implement a method according to the present principles of encoding, decoding and rendering a 3D scene or a volumetric video, and belongs to a set comprising: - a mobile device;

[0064] - a communication device;

[0065] - a game device;

[0066] - a tablet (or tablet computer);

[0067] - a laptop;

[0068] - a still picture camera;

[0069] - a video camera.

[0070] Figure 4 shows an example of an embodiment of the syntax of a data stream encoding a point cloud having attributes according to the present principles. The structure consists in a container which organizes the stream in independent elements of syntax. The structure may comprise a header part 41 which is a set of data common to every syntax element of the stream. For example, the header part comprises some of metadata about syntax elements, describing the nature and the role of each of them. It may comprise, for example, parameters of the used subsampling process. The structure also comprises a payload comprising an element of syntax 42 and an element of syntax 43. Syntax element 42 comprises data representative of the media content items, comprising the encoded geometry and attributes for the point clouds of the sequence. Element of syntax 43 is a part of the payload of the data stream and comprises metadata like the subsampling ratios according to the present principles.

[0071] The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a computer program product, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, Smartphones, tablets, computers, mobile phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users. Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications associated with data encoding, data decoding, view generation, texture processing, and other processing of images and related texture information and / or depth information. Examples of such equipment include an encoder, a decoder, a post-processor processing output from a decoder, a pre-processor providing input to an encoder, a video coder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.

[0072] Additionally, the methods may be implemented by instructions being performed by a processor, and such instructions (and / or data values produced by an implementation) may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette (“CD”), an optical disc (such as, for example, a DVD, often referred to as a digital versatile disc or a digital video disc), a random access memory (“RAM”), or a read-only memory (“ROM”). The instructions may form an application program tangibly embodied on a processor-readable medium. Instructions may be, for example, in hardware, firmware, software, or a combination. Instructions may be found in, for example, an operating system, a separate application, or a combination of the two. A processor may be characterized, therefore, as, for example, both a device configured to carry out a process and a device that includes a processor-readable medium (such as a storage device) having instructions for carrying out a process. Further, a processor-readable medium may store, in addition to or in lieu of instructions, data values produced by an implementation.

[0073] As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry as data the rules for writing or reading the syntax of a described embodiment, or to carry as data the actual syntax-values written by a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.

[0074] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations.

[0075] Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations are contemplated by this application.

Claims

CLAIMS1. A method for encoding a point cloud having a geometry and attributes in a stream, the method comprising:- encoding the geometry of the point cloud and decoding the encoded geometry to obtain a decoded geometry comprising sets of anchor points;- transferring the attributes of the point cloud on the sets of anchor points; and- generating the stream with the encoded geometry and the transferred attributes.

2. The method of claim 1, comprising:- resampling the decoded geometry according to the sets anchor points to obtain a reconstructed geometry;- subsampling the reconstructed geometry according to a ratio to obtain a subsampled geometry and transferring the attributes of the point cloud on the subsampled geometry; and- encoding the ratio in the stream.

3. The method of claim 2, wherein the reconstructed geometry of each set of anchor points has a ratio.

4. The method of claim 3, wherein the ratio of the reconstructed geometry of a set of anchor points is a function of a variability of the attributes on the reconstructed geometry.

5. The method of one of claims 1 to 4, wherein, for a color attribute, a first ratio is determined for a chroma component, and a second ratio is determined for a luma component.

6. A device for encoding a point cloud having a geometry and attributes in a stream, the device comprising a memory associated with a processor configured for:- encoding the geometry of the point cloud and decoding the encoded geometry to obtain a decoded geometry comprising sets of anchor points;- transferring the attributes of the point cloud on the sets of anchor points; and- generating the stream with the encoded geometry and the transferred attributes.

7. The device of claim 6, wherein the processor is configured for:— resampling the decoded geometry according to the sets anchor points to obtain a reconstructed geometry;— subsampling the reconstructed geometry according to a ratio to obtain a subsampled geometry and transferring the attributes of the point cloud on the subsampled geometry; and— encoding the ratio in the stream.

8. The device of claim 7, wherein the reconstructed geometry of each set of anchor points has a ratio.

9. The device of claim 8, wherein the ratio of the reconstructed geometry of a set of anchor points is a function of a variability of the attributes on the reconstructed geometry.

10. The device of one of claims 6 to 9, wherein, for a color attribute, a first ratio is determined for a chroma component, and a second ratio is determined for a luma component.

11. A method for decoding a point cloud from a stream, the method comprising:— decoding a geometry comprising sets of anchor points from the stream and decoding attributes from the stream;— resampling the decoded geometry according to the sets anchor points to obtain a reconstructed geometry;— transferring the attributes on anchor points; and— interpolating the attributes on the reconstructed geometry.

12. A device for decoding a point cloud from a stream, the device comprising a memory associated with a processor configured for:— decoding a geometry comprising sets of anchor points from the stream and decoding attributes from the stream;— resampling the decoded geometry according to the sets anchor points to obtain a reconstructed geometry;— transferring the attributes on anchor points; and— interpolating the attributes on the reconstructed geometry.

13. A stream encoding a point cloud and comprising:— an encoded geometry comprising sets of anchor points; andencoded attributes to transfer to anchor point.