Point cloud complexity reduction by attribute subsampling
By generating anchor points through geometric encoding of point clouds and transmitting attribute values on the anchor points, and by utilizing octree decomposition and subsampling techniques, the problem of high complexity in dynamic point cloud transmission is solved, and a more efficient encoding and decoding process is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- INTERDIGITAL CE PATENT HOLDINGS SAS
- Filing Date
- 2024-09-17
- Publication Date
- 2026-05-01
AI Technical Summary
Existing technologies lack low-complexity attribute encoders and decoders in dynamic point cloud transmission frameworks, resulting in high complexity and large data volume in the point cloud encoding and decoding process.
By encoding the geometry of the point cloud and generating anchor points, attribute values are transmitted only at the anchor points. Octree decomposition and subsampling techniques are used to reduce the amount of attribute value transmission. The encoding and decoding processes are optimized by combining different ratios and transformation methods.
It effectively reduces the complexity of point cloud attribute encoding and decoding, reduces data transmission volume, and improves encoding and decoding processing efficiency.
Smart Images

Figure CN121970087A_ABST
Abstract
Description
Point cloud complexity is reduced through attribute subsampling Technical Field
[0001] This principle generally relates to the field of encoding, decoding, and rendering point clouds, including attributes. In particular, this principle relates to reducing the complexity of encoding, decoding, and rendering the attributes of dynamic point clouds for transmission over a network. Background Technology
[0002] This section aims to introduce the reader to various aspects of the field, which may relate to the various aspects of this principle described below and / or claimed. This discussion is believed to help provide the reader with background information to facilitate a better understanding of the various aspects of this principle. Therefore, it should be understood that these statements are to be read in this sense and not as an admission of prior art.
[0003] Advances in 3D capture and rendering technologies are enabling new applications and services in fields such as autonomous driving, cultural heritage archiving, immersive telepresence, and virtual / augmented reality. For such applications, point clouds have become one of the primary representations of 3D scenes. A point cloud frame consists of a set of 3D points, each independent of the others, and each point is represented by its 3D location and several possible attributes, such as color, transparency, reflectivity, etc.
[0004] The point cloud compression framework comprises two successive steps. In the first step, geometry is encoded. This step can utilize any intra-frame or inter-frame predictions between points. The resulting encoded geometry is then decoded and used as the basis for the second step, which involves encoding attributes. This step can also benefit from intra-frame or inter-frame predictions. The geometry encoding scheme can be lossy; in that case, the location of a point can change after decoding. Because the attribute encoding scheme depends on the decoded geometry, it is also lossy. The geometry is represented as an octree, thus dividing the 3D space of the point cloud into eight voxels per level, up to a given minimum resolution. Surface representations are used for these lower levels, such as a so-called triangle soup. Each voxel in each level is divided into eight child voxels. When a child voxel contains at least one point, a child node is added to the node corresponding to its parent voxel in the octree. Each node in the octree contains data about the geometry and a list of attribute values. This kind of representation implies complexity in both the encoding and decoding steps and represents massive amounts of data.
[0005] There is a lack of a solution for providing low-complexity attribute encoders, bitstreams, and decoders within a dynamic point cloud transport framework. Summary of the Invention
[0006] The following is a simplified summary of this principle to provide a basic understanding of some aspects of it. This summary is not a broad overview of the principle. It is not intended to identify key or important elements of the principle. The summary below presents only some aspects of the principle in a simplified form as an introduction to the more detailed description provided below.
[0007] This principle relates to a method for encoding a point cloud, including geometry and attributes, in a stream. The method includes: encoding the geometry of the point cloud and decoding the encoded geometry to obtain decoded geometry, the decoded geometry including multiple sets of anchor points. Subsequently, the attributes of the point cloud are passed only to the anchor points. The stream is generated using the encoded geometry and the passed attributes.
[0008] This principle also relates to an apparatus comprising a processor and memory associated with the processor, the processor being configured to implement the methods described above.
[0009] This principle relates to a method for decoding point clouds from a stream pair. The method includes: decoding geometry from the stream pair comprising multiple sets of anchor points and decoding attributes from the stream pair. Based on the multiple sets of anchor points, the decoded geometry is resampled to obtain reconstructed geometry. The decoded attributes are transferred to the anchor points and further interpolated onto the reconstructed geometry.
[0010] This principle also relates to an apparatus comprising a processor and memory associated with the processor, the processor being configured to implement the methods described above.
[0011] This principle also relates to a data stream that represents a point cloud and includes: encoded geometry, comprising multiple sets of anchor points; and encoded attributes for passing to the anchor points. Attached Figure Description
[0012] This disclosure will be better understood and other specific features and advantages will become apparent as you read the following description, which refers to the accompanying drawings, in which: - Figure 1 shows an example of a surface 11 captured and divided into voxels; - Figure 2 illustrates a representation 20 of the surface 11 of Figure 1 at a low level of an octree; - Figure 3 shows an exemplary architecture of a device 30 that can be configured to implement encoding and / or decoding methods according to embodiments of this principle; - Figure 4 shows an example of an embodiment of a syntax for encoding a point cloud with attributes according to this principle; - Figure 5 illustrates an example of attribute information after attribute transfer; - Figure 6 illustrates an example of a subsampling ratio; - Figure 7 illustrates subsampling of a surface at a ratio of one-tenth. Detailed Implementation
[0013] This principle will be described more fully below with reference to the accompanying drawings, in which examples of this principle are shown. However, this principle may be embodied in many alternative forms and should not be construed as limited to the examples set forth herein. Thus, while this principle is readily available for various modifications and alternatives, specific examples are shown by way of example in the drawings and will be described in detail herein. However, it should be understood that there is no intention to limit this principle to the specific forms disclosed; rather, this disclosure is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of this principle as defined by the claims.
[0014] The specialized terminology used herein is for the purpose of describing particular examples only and is not intended to limit the principles. As used herein, unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “described” are intended to include the plural forms as well. It will be further understood that when the terms “comprising,” “including,” “containing,” and / or “covering” are used in this specification, these terms specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Furthermore, when an element is referred to as “responding” to another element or “connected” to another element, it may directly respond to or be connected to the other element, or there may be intervening elements. In contrast, when an element is referred to as “directly responding” to another element or “directly connected” to another element, there are no intervening elements. 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 to “ / .”
[0015] 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 used only to distinguish one element from another. For example, without departing from the teachings of this principle, a first element may be called a second element, and similarly, a second element may be called a first element.
[0016] Although some diagrams include arrows along the communication path to indicate the main direction of communication, it should be understood that communication can occur in the direction opposite to the depicted arrows.
[0017] Some examples are described in connection with block diagrams and operation flowcharts, in which each block represents a circuit element, module, or portion of code that includes one or more executable instructions for implementing one or more specified logical functions. It should also be noted that in other implementations, the functions indicated in the blocks may not occur in the indicated order. For example, depending on the functionality involved, two blocks shown consecutively may actually execute substantially concurrently, or these blocks may sometimes be executed in reverse order.
[0018] The phrases “according to an example” or “in an example” used herein mean that a particular feature, structure, or characteristic described in connection with that example may be included in at least one implementation of this principle. The appearance of the phrases “according to an example” or “in an example” in various places in the specification does not necessarily refer to the same example in all cases, and individual or alternative examples are not necessarily mutually exclusive with other examples.
[0019] Reference numbers appearing in the claims are for illustrative purposes only and should not be construed as limiting the scope of the claims. Although not explicitly described, these examples and variations may be used in any combination or subcombination.
[0020] A dense point cloud is a set of points in 3D space that are close enough to represent a surface (i.e., during rendering, the user doesn't see a set of points, but rather an object). Such point clouds consist of a large number of points and are divided into voxels according to a predetermined resolution. Each point in the point cloud is found within a regular lattice and is accessible via an integer index in space. This location is called a voxel (i.e., a unit element in space), just as locations in a 2D image are called pixels. This voxelization resolution comes from the capture, as the accuracy of the capture system is directly related to the resolution of one or more sensors and results in a given number of points per unit volume. This voxelization is also a way to limit the amount of data to be processed by aggregating many points falling into a voxel into a single point. Voxelization also defines how content can be categorized. For example, a dense point cloud is the result of sampling the surface of a solid object, which results in a watertight property because the filled voxels are continuous. By changing the lattice resolution (by downsampling it or upsampling it), one can convert a dense point cloud to a sparse point cloud and vice versa.
[0021] A point cloud can be viewed as a list of (x, y, z, r, g, b) tuples, where x, y, and z are integers specifying the location of a point in 3D space, and r, g, and b are integers representing the color attributes of the point. For example, if the geometry is encoded in 10 bits, then x, y, and z belong to the range [0, 1023]. If the color attributes are encoded in 8 bits, then r, g, and b belong to the range [0, 255]. Furthermore, because the point cloud is a representation of sampled object surfaces, only a small fraction of the volume V = 1024 * 1024 * 1024 will be filled.
[0022] Figure 1 shows an example of a surface 11 captured and divided into voxels. For illustration purposes, Figure 1 illustrates a 2D example without loss of generality for 3D point clouds. Line 11 represents the surface of the captured object. The number of points captured along this surface depends on the capture device. The 3D space 10 is divided into voxels based on the number of bits selected to encode the geometry. Gray voxels 12 contain at least one point, while white voxels 13 are empty. Octree representation is efficient because the vast majority of voxels are empty.
[0023] The point cloud compression framework comprises two successive steps. In the first step, geometry is encoded. This step can utilize any intra-frame or inter-frame predictions between points. The resulting encoded geometry is then decoded and used as the basis for the second step, which involves encoding attributes. This step can also benefit from intra-frame or inter-frame predictions.
[0024] Geometric encoding schemes can be lossless; in that case, the decoded point lies exactly at the same location as the input point. Alternatively, it can be lossy; in that case, the location of the point can change. Similarly, attribute encoding schemes can be lossless, so the decoded r, g, b values are the same as the original r, g, b values. It should be noted that this is only possible if the geometric encoding is lossless; in other cases, an attribute transfer step is required, which disables the final reversibility. Alternatively, it can be lossy, regardless of the geometric encoding. Lossless methods mean encoding significantly more data compared to lossy methods.
[0025] Based on this principle, both geometric encoding and attribute encoding are lossy, and the geometry is decomposed into an octree. It has recently been demonstrated that approximating the surface at a given octree level (i.e., at a given resolution coarser than the point cloud resolution) allows for better performance in geometric compression.
[0026] Figure 2 illustrates a representation 20 of surface 11 of Figure 1 at a low level of the octree. At this low resolution, the approximation involves creating triangles 23, parameterized by anchor points (called edges 21) on the block face and a center point (called centroid 22). This feature is called a Trisoup (representing a soup for triangles). The examples in this document use a Trisoup representation, but this principle can be generalized to any surface approximation. The advantage of this representation is the dramatic reduction in the number of points to be transmitted. On the decoder side, a rasterization process is run to resample the triangles. This approximate geometry is then transmitted to the decoder.
[0027] Figure 5 illustrates an example of attribute information after attribute transfer. The approximate geometry is decoded on the encoder side, and each triangle is resampled according to the input resolution level to obtain the reconstructed geometry. Attributes from the input point cloud are then transferred to this new geometry. This operation is lossy for attribute information. Once the attributes have been transferred, they are encoded and transmitted. Thus, each point in the reconstructed geometry is encoded, for example, by using a hierarchical transform (such as the RAHT hierarchical transform). The encoding and decoding processing times are linear with the number of points to be encoded. Furthermore, the more attributes to transmit, the larger the bitstream.
[0028] Based on this principle, the number of attribute values to be transmitted based on subsampling is reduced, and in the embodiments, the subsampling ratio of each node is balanced for changes in the attribute information of the node.
[0029] In the first embodiment, the number of encoded attributes corresponds to the number of edges and centroids transmitted from the geometric information. On the decoder side, the attributes of each voxel are also computed when the geometry is rasterized. In this step, the rasterizer determines which voxel is covered by a specific geometric segment, and the color of each voxel is found using a shading function (e.g., interpolating edge and centroid colors). In this embodiment, the locations of the subset of points carrying the attribute information (edges and centroids) are already known from the geometric bitstream. Therefore, no additional information needs to be transmitted. This embodiment is based on surface approximations (such as Trisoup), but it can be generalized to any surface approximation. The geometric information remains unchanged. The first embodiment using coarse subsampling is efficient in reducing complexity (encoding / decoding processing time) and bitstream size.
[0030] In the second embodiment, the subsampling ratio R is used as the parameter to be used in the encoder. This ratio is between 0 and 1, where "0" means sending only minimal information (as in the first embodiment), and "1" means sending all information for all voxels of the reconstructed geometry (as in the prior art). Thus, a trade-off is determined between bit rate and attribute distortion. In this way, the number of anchor points (e.g., the centroid of the geometry) used for attribute encoding can be modulated.
[0031] Figure 6 illustrates an example of a subsampling ratio. When R is set to 0, only the anchor's attribute is encoded in the bitstream. When R is set to 0.5, for example, an attribute value is passed for one of two reconstructed voxels. When R is set to 1, an attribute value is passed for each reconstructed voxel. In the example of Figure 6, the set of voxels selected for transmission Ω={v_idx} has a bounded cardinality card(Ω)≤N, where N is the number of voxels in the segment, and the index idx belongs to [0, N-1]. The selection of the index is performed through a subsampling process known in both the encoder and decoder. As an example, the subsampling process can be defined by equation Eq1.
[0032] Eq1: The rounding operator rounds a number to the nearest integer (up or down) and N sent N is the number of attributes to be sent, according to equation Eq2. sent It depends on the ratio R.
[0033] Eq2: The equation is provided with a parameter set to 2 because the example in Figure 1 is illustrated in 2D. For 3D point clouds, the parameter is set to 3.
[0034] Figure 7 illustrates subsampling a surface at a ratio of one-tenth. Considering a 2D triangular surface in 3D space, an iterative isomorphic subsampling process can be used, as presented in the pseudocode below. This pseudocode, given for illustration purposes, is an example; other processes, such as pseudo-random selection algorithms, may be used. The same process is used in both the encoder and decoder.
[0035] In order to map the attribute information to the correct location on the decoder side, the same subsampling process must be performed on the decoder side. Therefore, in the second embodiment, the ratio R is transmitted to the decoder. This metadata can be a floating-point value or an integer value encoded as a floating-point value. For example, the ratio can be set for all frames of the sequence, or transmitted once per intraperiod, or transmitted once per frame.
[0036] In a variant of the second embodiment, the ratio is applied locally, for example, only to nodes where the variability of the attribute exceeds a threshold. As an example, the variability of the attribute can be measured using equation Eq3.
[0037] Eq3: Where A i represents the attribute of the i-th point in the current node, and N is the number of points in the current node. It is the average attribute value of the current node, and dist2(p,q) is the distance operator between the attributes p and q of two points, for example according to Eq4.
[0038] Eq4: Where c is the component and C is the number of components of the attribute (C=3 when the attribute under consideration is color). When the attribute under consideration is color, dist2(p,q) is computed in a perceptually uniform color space (such as CIELab, IPT, or OKLab, etc.) (a uniform color space is constructed such that the same geometric distance anywhere in the color space reflects the same amount of perceptual color difference). For all nodes with variability higher than the threshold th specified in the encoder, a ratio R greater than 0 can be used to limit the subsampling effect. The threshold is determined based on the type of attribute and the number of bits used to encode that attribute. In the encoder, the threshold th and the ratio R are specified. The ratio R is transmitted to the decoder.
[0039] In another variant, to address the spatial variability of point cloud attributes, an adaptive ratio is automatically set for each block based on the attribute distribution of the blocks. Using the previous variability calculation, the subsampling ratio can be set accordingly between 0 and 1. In this variant, , where f is a function that maps the value of σ to the ratio R. Any function that performs such a mapping is conceivable, as long as the decoder performs the same process as the encoder (the function could be a bijective function (e.g., a linear, logarithmic, or quadratic function), or a parametric function (e.g., a piecewise linear function)). In this variant, the ratio R is automatically derived from this calculation and passed to the decoder.
[0040] In the third embodiment, more attribute information is heterogeneously added, breaking the ratio-based subsampling of the first and second embodiments. For example, isomorphic subsampling would be overkill when high-frequency attributes are locally present in a node, while other points do not exhibit this characteristic. Or, for example, near a geometric centroid exhibiting high geometric derivative moments (such as the tip in the upper right of Figure 2), high geometric variation can be associated with high attribute variation, for example, for a mirrored object. In that case, according to this third embodiment, some additional attributes near the centroid are specified. The location where the attribute information is transmitted should be transmitted to the decoder because the subsampling process cannot be reproduced on the decoder side.
[0041] In this variant, energy consumption-aware subsampling is performed. The selection of points for which attributes are transmitted is based on a function of the energy consumption at the decoder when reconstructing and displaying the point cloud, rather than using the spatial variability of the attributes. In fact, a screen power model can be used to infer screen consumption. Therefore, the subsampling is made aware of this model and prioritizes sending attributes that will be less energy-intensive for reconstruction. In this variant, attribute information is transmitted to the decoder location because the subsampling process cannot be reproduced on the decoder side.
[0042] In the fourth embodiment, different ratio values R are set for the chroma and luma components. Using a lower ratio for chroma results in a lower bit rate for chroma. This is similar to what is done in conventional 2D video coding (e.g., in a 4-2-0 coding scheme). The two R values are transmitted to the decoder. The R values are determined according to an embodiment of the previous embodiments. On the decoder side, an upsampling method is used to calculate the chroma value for locations where only luma has been sent. The nearest neighbor scheme is an example of an upsampling method that can be used.
[0043] Figure 3 illustrates an exemplary architecture of device 30, which can be configured to implement encoding and / or decoding methods according to embodiments of this principle. The device is linked to other devices via its bus 31 and / or via I / O interface 36.
[0044] Device 30 includes the following components linked together via data and address buses 31: - Processor 32 (or CPU), which is, for example, a DSP (Digital Signal Processor); - ROM (or Read-Only Memory) 33; - RAM (or Random Access Memory) 34; - Storage interface 35; - I / O interface 36 for receiving data to be transferred from the application; and - Power supply (not shown in Figure 2), such as a battery.
[0045] According to the example, the power supply is located externally to the device. In each of the mentioned memories, the term "register" as used in the specification may correspond to a small area (a few bits) or a very large area (e.g., the entire program or a large amount of received or decoded data). ROM 33 includes at least a program and parameters. ROM 33 may store algorithms and instructions for executing techniques according to these principles. When enabled, CPU 32 loads the program into RAM and executes the corresponding instructions.
[0046] RAM 34 includes in registers: the program executed by CPU 32 and loaded after device 30 is enabled, input data in registers, intermediate data for different states of the method in registers, and other variables in registers used for executing the method.
[0047] The embodiments described herein can be implemented, for example, in methods or processes, apparatuses, computer program products, data streams, or signals. Even if discussed only in the context of a single form of embodiment (e.g., discussed only as a method or apparatus), embodiments of the discussed features can also be implemented in other forms (e.g., programs). Apparatuses can be implemented, for example, in suitable hardware, software, and firmware. Methods can be implemented, for example, in apparatuses (such as, for example, processors), which generally refer to processing devices, including, for example, computers, microprocessors, integrated circuits, or programmable logic devices. Processors also include communication devices, such as, for example, computers, cellular phones, portable / personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end users.
[0048] For example, via bus 31, device 30 is linked to a set of sensors 37 and a set of rendering devices 38. Sensors 37 may be, for example, cameras, microphones, temperature sensors, inertial measurement units, GPS, humidity sensors, IR or UV light sensors, or wind sensors. Rendering devices 38 may be, for example, displays, speakers, vibrators, heaters, fans, etc.
[0049] According to an embodiment, device 30 is configured to implement a method based on the principle of encoding, decoding, and rendering 3D scenes or volumetric videos, and device 30 belongs to a set including: - mobile devices; - communication devices; - gaming devices; - tablets (i.e., tablet computers); - laptop computers; - still image cameras; - video cameras.
[0050] Figure 4 illustrates an example of an embodiment of a syntax for encoding a point cloud with attributes according to this principle. The structure consists of a container that organizes the stream into individual syntax elements. The structure may include a header portion 41, which is a set of data shared by each syntax element of the stream. For example, the header portion includes metadata about the syntax elements, describing the nature and function of each syntax element. It may include, for example, parameters of the subsampling process used. The structure also includes a payload comprising syntax elements 42 and 43. Syntax element 42 includes data representing media content items, including encoded geometry and attributes of the point cloud sequence. Syntax element 43 is part of the payload of the data stream and includes metadata such as the subsampling ratio according to this principle.
[0051] The embodiments described herein can be implemented, for example, in methods or processes, apparatuses, computer program products, data streams, or signals. Even if discussed only in the context of a single form of embodiment (e.g., discussed only as a method or apparatus), embodiments of the discussed features can also be implemented in other forms (e.g., programs). Apparatuses can be implemented, for example, in suitable hardware, software, and firmware. Methods can be implemented, for example, in apparatuses (such as, for example, processors), which generally refer to processing devices, including, for example, computers, microprocessors, integrated circuits, or programmable logic devices. Processors also include communication devices, such as, for example, smartphones, tablet computers, computers, cellular phones, portable / personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end users.
[0052] The implementations of the various processes and features described herein can be embodied in a wide variety of equipment or applications (particularly, equipment or applications associated with data encoding, data decoding, view generation, texture processing, and other processing of image and associated texture information and / or depth information). Examples of such equipment include encoders, decoders, post-processors that process the output from the decoder, pre-processors that provide input to the encoder, video encoders, video decoders, video codecs, web servers, set-top boxes, laptops, personal computers, cellular phones, PDAs, and other communication devices. It should be understood that the equipment can be mobile and may even be installed in mobile vehicles.
[0053] Additionally, the method can be implemented by instructions executed by a processor, and such instructions (and / or data values generated by the implementation) can 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 compressed disk (“CD”), an optical disk (such as, for example, a DVD, often referred to as a digital multifunction disk or digital video disk), random access memory (“RAM”), or read-only memory (“ROM”). The instructions can form an application program tangibly embodied on the processor-readable medium. The instructions can be, for example, located in hardware, firmware, software, or a combination thereof. The instructions can be found, for example, in an operating system, a standalone application, or a combination of both. Thus, a processor can be characterized as, for example, either a device configured to perform a process; or a device comprising a processor-readable medium (such as a storage device) having instructions for performing the process. Furthermore, in addition to or instead of the instructions, the processor-readable medium can store data values generated by the implementation.
[0054] As will be apparent to those skilled in the art, implementations can generate various signals that are formatted to carry information, for example, that can be stored or transmitted. This information may include, for example, instructions for performing a method or data generated by one of the described implementations. For example, a signal may be formatted to carry as data rules for writing or reading the syntax of the described embodiments, or as data actual syntax values written by the described embodiments. Such signals may be formatted, for example, as electromagnetic waves (e.g., using the radio frequency portion of the spectrum) or as baseband signals. Formatting may include, for example, encoding a data stream and modulating a carrier wave with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. It is well known that signals can be transmitted over various wired or wireless links. Signals may be stored on a processor-readable medium.
[0055] Multiple embodiments have been described. However, it will be understood that various modifications can be made. For example, elements of different embodiments may be combined, supplemented, modified, or removed to produce other embodiments. Furthermore, those skilled in the art will understand that the disclosed structures and processes can be replaced with other structures and processes, and the resulting embodiments will perform at least substantially the same functions in at least substantially the same manner(s) to achieve at least substantially the same results(s) as the disclosed embodiments. Therefore, these and other embodiments are contemplated by this application.
Claims
1. A method for encoding a point cloud having geometry and attributes in a stream, the method comprising: The geometry of the point cloud is encoded and the encoded geometry is decoded to obtain decoded geometry, which includes multiple sets of anchor points; The attributes of the point cloud are passed to the multiple sets of anchor points; The stream is generated using the encoded geometry and the transmitted attributes.
2. The method according to claim 1, comprising: Based on the multiple sets of anchor points, the decoded geometry is resampled to obtain the reconstructed geometry; Based on the ratio, the reconstructed geometry is subsampled to obtain a subsampled geometry, and the properties of the point cloud are transferred to the subsampled geometry; And the ratio is encoded 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 the variability of the properties on the reconstructed geometry.
5. The method according to any one of claims 1 to 4, wherein for the color attribute, a first ratio is determined for the chromaticity component and a second ratio is determined for the luminance component.
6. An apparatus for encoding a point cloud having geometry and attributes in a stream, the apparatus including a memory associated with a processor, the processor being configured to: encode the geometry of the point cloud and decode the encoded geometry to obtain decoded geometry, the decoded geometry including a plurality of sets of anchor points; The attributes of the point cloud are passed to the multiple sets of anchor points; The stream is generated using the encoded geometry and the transmitted attributes.
7. The apparatus of claim 6, wherein the processor is configured to: resample the decoded geometry according to the plurality of anchor points to obtain reconstructed geometry; subsample the reconstructed geometry according to a ratio to obtain subsampled geometry, and transfer the attribute of the point cloud to the subsampled geometry; and encode 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 the variability of the attribute on the reconstructed geometry.
10. The method according to any one of claims 6 to 9, wherein for the color attribute, a first ratio is determined for the chromaticity component and a second ratio is determined for the luminance component.
11. A method for decoding a point cloud from a stream, the method comprising: Decode the geometry of the stream pair, which includes multiple sets of anchor points, and decode the attributes of the stream pair; Based on the multiple sets of anchor points, the decoded geometry is resampled to obtain the reconstructed geometry; The attribute is passed to the anchor point; and the attribute is interpolated on the reconstructed geometry.
12. An apparatus for decoding a point cloud from a stream pair, the apparatus including a memory associated with a processor configured to: decode geometry from the stream pair including multiple sets of anchor points and decode attributes from the stream pair; resample the decoded geometry according to the multiple sets of anchor points to obtain reconstructed geometry; transfer the attributes to the anchor points; and interpolate the attributes on the reconstructed geometry.
13. A stream that encodes a point cloud and includes: Encoded geometry, including multiple sets of anchor points; And encoded attributes used to pass to the anchor.