Attribute coding and amplification for point cloud compression

By reducing and reconstructing point cloud geometry and attribute data through a deep learning-based encoder and upsampling attribute data using a residual learning network, the problems of data transmission efficiency and reconstruction accuracy in point cloud compression are solved, achieving efficient point cloud reconstruction and accurate full-scale reconstruction.

CN120752676APending Publication Date: 2025-10-03QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480016821.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-10
Filing Date
2024-04-11
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing point cloud compression technologies have difficulty in effectively combining geometric and attribute data, resulting in low data transmission efficiency and insufficient reconstruction accuracy.

Method used

A deep learning-based encoder is used to reduce point cloud geometry data and encode attribute data, and a residual learning network is used to upsample the attribute data to achieve efficient point cloud reconstruction.

Benefits of technology

Significant bit savings are achieved when transmitting attribute data while maintaining high accuracy at all scales during reconstruction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120752676A_ABST
    Figure CN120752676A_ABST
Patent Text Reader

Abstract

An example apparatus for decoding point cloud data includes a memory configured to store point cloud data; and one or more processors implemented in a circuit and configured to: decode the encoded point cloud geometry data for the point cloud to form reconstructed point cloud geometry data for the point cloud; reducing the point cloud geometry data to form reduced point cloud geometry data; decoding attribute data for the point cloud using the reduced point cloud geometry; applying attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and applying the residual learning network to the intermediate point cloud data to form a reconstructed point cloud.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a PCT application having U.S. utility patent priority to U.S. patent application No. 18 / 632,140, ​​filed on April 10, 2024, which claims the benefit of U.S. provisional application No. 63 / 495,833, filed on April 13, 2023, the entire contents of each of which are incorporated herein by reference. Technical Field

[0002] The present disclosure relates to point cloud encoding and decoding. Background Art

[0003] A point cloud is a collection of points in 3D space. Each point corresponds to an object within that 3D space. Therefore, a point cloud can be used to represent the physical contents of a 3D space. Point clouds can be useful in a variety of situations. For example, a point cloud can be used in the context of autonomous vehicles to represent the location of objects on the road. In another example, a point cloud can be used to represent the physical contents of an environment for the purpose of locating virtual objects in augmented reality (AR) or mixed reality (MR) applications. Point cloud compression is the process used to encode and decode point clouds. Encoding point clouds can reduce the amount of data required to store and transmit them. Summary of the Invention

[0004] In general, the present disclosure describes techniques for point cloud coding (e.g., encoding or decoding), including coding of geometry and attribute data of point cloud data. Specifically, using a deep learning-based encoder, geometric information (e.g., point coordinates within a point cloud) can be efficiently encoded. Attribute data for a point (e.g., color, reflectivity, brightness, surface normals, etc.) typically includes a larger amount of data than geometric data. Therefore, a point cloud encoder can reconstruct the geometric data, then downscale the geometric data and also downscale the attribute data before encoding the attribute data. A point cloud decoder can then decode and reconstruct the full-scale geometric data, downscale the geometric data, and use the downscaled geometric data to decode the attribute data. According to the techniques of the present disclosure, the decoder can apply a residual learning network to the decoded attribute data to upsample the attribute data to the original full scale. In this way, the techniques of the present disclosure can achieve significant bit savings when transmitting the encoded attribute data while highly accurately reconstructing the full-scale point cloud.

[0005] In one example, a device for decoding point cloud data includes: a memory configured to store point cloud data; and one or more processors implemented in a circuit and configured to: decode encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reduce the point cloud geometry data to form reduced point cloud geometry data; use the reduced point cloud geometry to decode attribute data for the point cloud; apply the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and apply a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0006] In another example, a method for decoding point cloud data includes: decoding encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reducing the point cloud geometry data to form reduced point cloud geometry data; using the reduced point cloud geometry to decode attribute data for the point cloud; applying the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and applying a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0007] In another example, a computer-readable storage medium has instructions stored thereon that, when executed, cause a processor to: decode encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reduce the point cloud geometry data to form reduced point cloud geometry data; use the reduced point cloud geometry to decode attribute data for the point cloud; apply the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and apply a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0008] In another example, an apparatus for decoding point cloud data includes: a component for decoding encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; a component for reducing the point cloud geometry data to form reduced point cloud geometry data; a component for decoding attribute data for the point cloud using the reduced point cloud geometry; a component for applying the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and a component for applying a residual learning network to the intermediate point cloud data to form the reconstructed point cloud.

[0009] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is a block diagram illustrating an example point cloud encoding and decoding system that may perform the techniques of this disclosure.

[0011] Figure 2 is a block diagram illustrating an example point cloud encoder according to techniques of this disclosure.

[0012] Figure 3 is a block diagram illustrating an example point cloud decoder according to techniques of this disclosure.

[0013] Figure 4 is a conceptual diagram illustrating an example encoding framework according to certain examples of the techniques of this disclosure.

[0014] Figure 5 is a conceptual diagram illustrating an example decoding framework according to certain examples of the techniques of this disclosure.

[0015] Figure 6 is a block diagram illustrating an example point cloud encoding framework according to techniques of this disclosure.

[0016] Figure 7 is a block diagram illustrating an example point cloud decoding framework according to techniques of this disclosure.

[0017] Figure 8A and 8B is a conceptual diagram illustrating an example of reducing voxels of a point cloud.

[0018] Figure 9 is a block diagram illustrating an example set of stages that may be included in a deep learning based attribute upsampler.

[0019] Figure 10 is a block diagram illustrating another example set of stages that may be included in a deep learning based attribute upsampler.

[0020] Figure 11A and 11B is a conceptual diagram illustrating an example of a residual learning network according to the technology of this disclosure.

[0021] Figure 12 is a conceptual diagram illustrating an example of a residual learning network for point clouds according to the techniques of this disclosure.

[0022] Figure 13 is a conceptual diagram illustrating an example of a residual learning network that employs a network as a filter to denoise a point cloud according to the techniques of this disclosure.

[0023] Figure 14 is a conceptual diagram illustrating an example decoding framework according to techniques of this disclosure.

[0024] Figure 15 is a flowchart illustrating an example method of encoding point cloud data according to the techniques of this disclosure.

[0025] Figure 16 is a flow chart illustrating an example method of decoding point cloud data according to the techniques of this disclosure.

[0026] Figure 17 is a conceptual diagram illustrating a laser package that scans a point in 3-dimensional space, such as a LIDAR sensor or other system including one or more lasers.

[0027] Figure 18 is a conceptual diagram illustrating an example range-finding system 900 that may be used with one or more techniques of this disclosure.

[0028] Figure 19 is a conceptual diagram illustrating an example vehicle-based scenario in which one or more techniques of this disclosure may be employed.

[0029] Figure 20 is a conceptual diagram illustrating an example extended reality system in which one or more techniques of this disclosure may be employed.

[0030] Figure 21 is a conceptual diagram illustrating an example mobile device system in which one or more techniques of this disclosure may be employed. DETAILED DESCRIPTION

[0031] Point clouds (PCs) are 3D data representations used for tasks such as virtual reality (VR) and mixed reality (MR), autonomous driving, and cultural heritage. A point cloud is a collection of points in 3D space, represented by their 3D coordinates (x, y, z), known as geometry. Each point can also be associated with multiple attributes, such as color, normal vector, and reflectivity. Depending on the target application and the point cloud acquisition method, point clouds can be categorized as point cloud scenes or point cloud objects. Point cloud scenes can be captured using LiDAR sensors and can be acquired dynamically.

[0032] Point cloud objects can be subdivided into static point clouds and dynamic point clouds. A static point cloud is a single object. A dynamic point cloud is a time-varying point cloud that includes a sequence of point cloud instances. Each instance of a dynamic point cloud is a static point cloud. Dynamic time-varying point clouds can be used in AR / VR, volumetric video streaming, and telepresence, and can be generated using 3D models (i.e., CGI) or captured from real-world scenes using various methods (such as multiple cameras with depth sensors surrounding the object). These point clouds are dense, photo-realistic point clouds that can have a large number of points, especially in the case of high-precision or large-scale capture (millions of points per frame, up to 60 frames per second (FPS)). Therefore, in order to achieve practical use in VR and MR applications, efficient point cloud compression (PCC) is useful.

[0033] The Moving Picture Experts Group (MPEG) has approved two PCC (point cloud compression) standards: (1) S. Schwarz, M. Preda, V. Baroncini, M. Budagavi, P. Cesar, P. A. Chou, R. A. Cohen, M. Krivoku´ca, S. Lasserre, Z. Li et al., “Emerging MPEG standards for point cloud compression,” IEEE Journal of Emerging and Selected Topics in Circuits and Systems, vol. 9, no. 1, pp. 133–148, 2018, and (2) D. Graziosi, O. Nakagami, S. Kuma, A. Zaghetto, T. Suzuki, and A. Tabatabai, “An overview of ongoing point cloud compression standardization activities: Video-based (v-pcc) and geometry-based (g-PCC) (An Overview of Ongoing Standardization Activities for Point Cloud Compression: Video-Based (v-PCC) and Geometry-Based (g-PCC)”, APSIPA Transactions on Signal and Information Processing, Volume 9, 2020. MPEG has approved the Geometry-Based Point Cloud Compression (G-PCC) standard: “MPEG-PCC-TMC13: Geometry Based Point Cloud Compression G-PCC”, 2021, available at github.com / MPEGGroup / mpeg-pcc-tmc13. MPEG has approved the Video-Based Point Cloud Compression (V-PCC): “MPEG-PCC-TMC2: Video Based Point Cloud Compression VPCC”, 2022, available at github.com / MPEGGroup / mpeg-pcc-tmc2.

[0034] G-PCC includes octree geometry decoding as a general geometry decoding tool and a predictive geometry decoding (tree-based) tool for LiDAR-based point clouds. G-PCC is still developing methods based on triangle meshes or triangle soup (trisoup) to approximate the surface of 3D models. V-PCC, on the other hand, encodes dynamic point clouds by projecting 3D points onto a 2D plane and then using a video codec such as High Efficiency Video Coding (HEVC) to encode each frame over time. MPEG has also proposed Common Test Conditions (CTC) for evaluating test models: S. Schwarz, G. Martin-Cocher, D. Flynn, and M. Budagavi, “Common test conditions for point cloud compression,” document ISO / IEC JTC1 / SC29 / WG11 w17766, Ljubljana, Slovenia, 2018.

[0035] As mentioned above, efficient point cloud compression is useful for applications such as virtual and mixed reality, autonomous driving, and cultural heritage. Some techniques (such as m59617: Anique Akhtar, Zhu Li, Geert Van der Auwera, Adarsh ​​Krishnan Ramasubramonian, Luong Pham Van, Marta Karczewicz, Dynamic Point Cloud Geometry Compression using Sparse Convolutions, MPEG-137 Online, Document m59617, April 2022 and m60307: Anique Akhtar, Zhu Li, Geert Van der Auwera, Adarsh ​​Krishnan Ramasubramonian, Marta Karczewicz, [AI-3DGC][EE5.3 Test 2] Results dynamic point cloud compression ([AI-3DGC][EE5.3 Test 2] Results Dynamic Point Cloud Compression), MPEG-139 Online, Document M60307, ​​July 2022) uses a deep learning network consisting of encoder and decoder modules to use deep learning based point cloud compression for dense dynamic point clouds.

[0036] Research is ongoing on using deep learning solutions to perform point cloud compression. A point cloud typically consists of a collection of points and their attributes. A point corresponds to a location in three-dimensional space, for example, with X, Y, and Z coordinates. Attributes can include, for example, color, reflectivity, brightness, surface normals, and so on. Because point clouds have both geometry and attributes, solutions exist for point cloud geometry compression, point cloud attribute compression, and combined point cloud geometry and attribute compression.

[0037] Deep learning-based solutions generally perform well when applied to geometry compression. The techniques disclosed herein include using geometry compression from one codec and attribute compression from another. For example, a deep learning-based geometry compression scheme can be combined with a non-deep learning-based attribute compression scheme. These techniques provide flexibility to the compression framework and establish a strong benchmark for deep learning-based point cloud attribute compression.

[0038] These techniques may also include the use of multi-scale attribute compression with deep learning-based post-processing. Heuristic tests have shown that most of the compression bits are consumed by attribute decoding. Therefore, creating an effective attribute compression scheme is crucial to achieving good compression performance. Multi-scale attribute compression schemes can improve the overall compression performance of the decoding framework. Specifically, according to the technology of the present disclosure, after decoding the reduced attribute data, the residual learning network can amplify the attribute data to the original full-scale resolution. In this way, significant bit rate savings can be achieved when transmitting the attribute data, while high accuracy can be achieved when amplifying the attribute data to the original full-scale.

[0039] Certain decoding techniques include a deep learning-based lossy point cloud geometry compression scheme for dynamic point cloud compression. The lossy geometry scheme uses a prediction network to predict the latent representation of the current frame using the previous frame. The framework performs P-frame inter-frame point cloud coding, where the current frame is encoded with reference to the previously decoded frame. The architecture is implemented using a sparse convolutional neural network (CNN) with sparse tensors. The architecture uses convolutions on target coordinates to map the latent representation of the previous frame to the downsampled coordinates of the current frame to predict feature embeddings for the current frame. The framework compresses the residuals between the predicted and actual features using a learned probabilistic factorized entropy model and transmits the residuals between the predicted and actual features. Compared to G-PCC and V-PCC, these techniques demonstrate better geometry compression performance on dense point clouds and efficient encoding / decoding runtime.

[0040] In one or more examples, the present disclosure describes a flexible configuration of a deep learning based framework, wherein instead of having a joint geometry and attribute compression scheme, the example technique uses a recoloring scheme (as an example) to generate attributes for a reconstructed point cloud and employs a traditional attribute compression scheme. One or more of the example techniques described in the present disclosure can utilize the recoloring scheme of G-PCC to obtain the attributes of a target point cloud from a source point cloud. The recoloring scheme of G-PCC employs the nearest neighbor based on weighted distance in the source point cloud to calculate the attributes of the target point cloud. Accordingly, in one or more examples, the example techniques can allow the use of attribute compression from different codecs and geometry compression from different codecs.

[0041] Figure 1 is a block diagram illustrating an example encoding and decoding system 100 that can implement the techniques of this disclosure. The techniques of this disclosure generally relate to decoding (encoding and / or decoding) point cloud data, i.e., to support point cloud compression. Generally, point cloud data includes any data used to process a point cloud. Decoding can be effective in compressing and / or decompressing point cloud data.

[0042] like Figure 1 As shown, the system 100 includes a source device 102 and a destination device 116. The source device 102 provides encoded point cloud data for decoding by the destination device 116. Figure 1 In the example of , source device 102 provides point cloud data to destination device 116 via computer-readable medium 110. Source device 102 and destination device 116 may include any of a wide range of devices, including desktop computers, notebook (i.e., laptop) computers, tablet computers, set-top boxes, telephone handsets such as smartphones, televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, ground or sea vehicles, spacecraft, aircraft, robots, LIDAR devices, satellites, etc. In some cases, source device 102 and destination device 116 may be equipped for wireless communication.

[0043] exist Figure 1In the example of , source device 102 includes a data source 104, a memory 106, a point cloud encoder 200, and an output interface 108. Destination device 116 includes an input interface 122, a point cloud decoder 300, a memory 120, and a data consumer 118. According to the present disclosure, the point cloud encoder 200 of source device 102 and the point cloud decoder 300 of destination device 116 can be configured to apply the techniques of the present disclosure related to attribute decoding for point cloud compression. Therefore, source device 102 represents an example of an encoding device, while destination device 116 represents an example of a decoding device. In other examples, source device 102 and destination device 116 can include other components or arrangements. For example, source device 102 can receive data (e.g., point cloud data) from an internal or external source. Similarly, destination device 116 can be connected to an external data consumer interface instead of including the data consumer in the same device.

[0044] like Figure 1 The illustrated system 100 is merely an example. In general, other digital encoding and / or decoding devices may also implement the techniques of this disclosure related to attribute decoding for point cloud compression. Source device 102 and destination device 116 are merely examples of such devices, where source device 102 generates decoded data for transmission to destination device 116. This disclosure refers to a "decoding" device as a device that performs decoding (encoding and / or decoding) of data. Thus, point cloud encoder 200 and point cloud decoder 300 represent examples of decoding devices, and more specifically, examples of encoders and decoders, respectively. In some examples, source device 102 and destination device 116 can operate in a substantially symmetrical manner, such that each of source device 102 and destination device 116 includes both encoding and decoding components. Thus, system 100 can support one-way or two-way transmission between source device 102 and destination device 116, e.g., for streaming, playback, broadcasting, telephony, navigation, and other applications.

[0045] Generally, data source 104 represents a source of data (i.e., raw, unencoded point cloud data) and can provide a series of consecutive "frames" of data to point cloud encoder 200, which encodes the data for the frames. Data source 104 of source device 102 may include: a point cloud capture device, such as any of a variety of cameras or sensors, such as a 3D scanner or light detection and ranging (LIDAR) device, or one or more video cameras; an archive containing previously captured data; and / or a data feed interface for receiving data from a data content provider. Alternatively or additionally, the point cloud data may be computer-generated based on scanner, camera, sensor, or other data. For example, video source 104 may generate computer graphics-based data as source data, or produce a combination of live, archived, and computer-generated data. In each case, point cloud encoder 200 encodes captured, pre-captured, or computer-generated data. Point cloud encoder 200 may rearrange the frames from the order in which they were received (sometimes referred to as "display order") into a decoded order for decoding. Point cloud encoder 200 may generate one or more bitstreams including encoded data. Source device 102 may then output the encoded data onto computer-readable medium 110 via output interface 108 for receipt and / or retrieval by, for example, input interface 122 of destination device 116.

[0046] The memory 106 of the source device 102 and the memory 120 of the destination device 116 can represent general-purpose memory. In some examples, the memory 106 and the memory 120 can store raw data, such as raw data from the data source 104 and raw, decoded data from the point cloud decoder 300. Additionally or alternatively, the memory 106 and the memory 120 can store software instructions executable by, for example, the point cloud encoder 200 and the point cloud decoder 300, respectively. Although the memory 106 and the memory 120 are shown separately from the point cloud encoder 200 and the point cloud decoder 300 in this example, it should be understood that the point cloud encoder 200 and the point cloud decoder 300 can also include internal memory for functionally similar or equivalent purposes. Furthermore, the memory 106 and the memory 120 can store, for example, encoded data output from the point cloud encoder 200 and input to the point cloud decoder 300. In some examples, portions of the memory 106 and the memory 120 can be allocated as one or more buffers, for example, to store raw, decoded, and / or encoded data. For example, memory 106 and memory 120 may store data representing a point cloud.

[0047] Computer-readable medium 110 may represent any type of medium or device capable of transmitting encoded data from source device 102 to destination device 116. In one example, computer-readable medium 110 represents a communication medium that enables source device 102 to transmit encoded data directly to destination device 116 in real time, for example, via a radio frequency network or a computer-based network. Output interface 108 may modulate a transmit signal including the encoded data, and input interface 122 may demodulate a received transmit signal, in accordance with a communication standard such as a wireless communication protocol. The communication medium may include any wireless or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines. The communication medium may form part of a packet-based network, such as a local area network, a wide area network, or a global network such as the Internet. The communication medium may include routers, switches, base stations, or any other equipment that may be useful in facilitating communication from source device 102 to destination device 116.

[0048] In some examples, source device 102 may output the encoded data from output interface 108 to storage device 112. Similarly, destination device 116 may access the encoded data from storage device 112 via input interface 122. Storage device 112 may include any of a variety of distributed or locally accessed data storage media, such as a hard drive, Blu-ray disc, DVD, CD-ROM, flash memory, volatile or non-volatile memory, or any other suitable digital storage medium for storing encoded data.

[0049] In some examples, source device 102 may output the encoded data to file server 114 or another intermediate storage device that may store the encoded data generated by source device 102. Destination device 116 may access the stored data from file server 114 via streaming or downloading. File server 114 may be any type of server device capable of storing and transmitting the encoded data to destination device 116. File server 114 may represent a web server (e.g., for a website), a file transfer protocol (FTP) server, a content delivery network device, or a network attached storage (NAS) device. Destination device 116 may access the encoded data from file server 114 via any standard data connection, including an internet connection. This may include a wireless channel (e.g., a Wi-Fi connection), a wired connection (e.g., a digital subscriber line (DSL), a cable modem, etc.), or a combination of both, suitable for accessing the encoded data stored on file server 114. File server 114 and input interface 122 may be configured to operate according to a streaming transfer protocol, a download transfer protocol, or a combination thereof.

[0050] Output interface 108 and input interface 122 may represent wireless transmitters / receivers, modems, wired networking components (e.g., Ethernet cards), wireless communication components that operate according to any of the various IEEE 802.11 standards, or other physical components. In examples where output interface 108 and input interface 122 include wireless components, output interface 108 and input interface 122 may be configured to communicate data, such as encoded data, according to a cellular communication standard such as 4G, 4G-LTE (Long Term Evolution), LTE Advanced, 5G, or the like. In certain examples where output interface 108 includes a wireless transmitter, output interface 108 and input interface 122 may be configured to communicate data, such as encoded data, according to a cellular communication standard such as IEEE 802.11 specifications, IEEE 802.15 specifications (e.g., )、 The source device 102 and / or the destination device 116 may include a corresponding system-on-chip (SoC) device. For example, the source device 102 may include a SoC device for performing the functions attributed to the point cloud encoder 200 and / or the output interface 108, while the destination device 116 may include a SoC device for performing the functions attributed to the point cloud decoder 300 and / or the input interface 122.

[0051] The techniques of this disclosure may be applied to encoding and decoding to support any of a variety of applications such as communication between autonomous vehicles, communication between scanners, cameras, sensors and processing devices such as local or remote servers, geographic mapping, or other applications.

[0052] The input interface 122 of the destination device 116 receives an encoded bitstream from the computer-readable medium 110 (e.g., a communication medium, a storage device 112, a file server 114, etc.). The encoded bitstream may include signaling information defined by the point cloud encoder 200 and used by the point cloud decoder 300, such as syntax elements with values ​​describing the characteristics and / or processing of coded units (e.g., slices, pictures, groups of pictures, sequences, etc.). The decoded data is used by the data consumer 118. For example, the data consumer 118 may use the decoded data to determine the location of a physical object. In some examples, the data consumer 118 may include a display for presenting an image based on the point cloud.

[0053] The point cloud encoder 200 and the point cloud decoder 300 can each be implemented as any of a variety of suitable encoder and / or decoder circuits, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, software, hardware, firmware, or any combination thereof. When the technology is partially implemented in software, the device may store instructions for the software in a suitable non-transitory computer-readable medium and execute these instructions in hardware using one or more processors to perform the technology of the present disclosure. Each of the point cloud encoder 200 and the point cloud decoder 300 can be included in one or more encoders or decoders, any of which can be integrated as part of a combined encoder / decoder (CODEC) in the corresponding device. A device including the point cloud encoder 200 and / or the point cloud decoder 300 may include one or more integrated circuits, microprocessors, and / or other types of devices.

[0054] The point cloud encoder 200 and the point cloud decoder 300 can operate according to a coding standard such as the Video Point Cloud Compression (V-PCC) standard or the Geometric Point Cloud Compression (G-PCC) standard. The present disclosure may generally relate to the coding (e.g., encoding and decoding) of a picture, and is intended to include the process of encoding or decoding data. The encoded bitstream typically includes a series of values ​​for syntax elements that represent coding decisions (e.g., decoding modes).

[0055] The present disclosure may generally relate to "signaling" certain information, such as syntax elements. The term "signaling" may generally relate to the communication of values ​​for syntax elements and / or other data used to decode encoded data. That is, the point cloud encoder 200 may signal values ​​for syntax elements in a bitstream. Typically, signaling involves generating values ​​in the bitstream. As described above, the source device 102 may transmit the bitstream to the destination device 116 in substantially real time or in non-real time, such as may occur when storing syntax elements to the storage device 112 for later retrieval by the destination device 116.

[0056] ISO / IEC MPEG (JTC 1 / SC 29 / WG 11) is investigating the potential need for standardization of point cloud decoding technology with significantly greater compression capabilities than current approaches and is working to create such a standard. The group is collaborating on this exploratory activity within a collaborative task called the 3D Graphics Group (3DG) to evaluate compression technology designs proposed by experts in the field.

[0057] Point cloud compression activities are categorized into two distinct approaches. The first is "Video Point Cloud Compression" (V-PCC), which segments 3D objects and projects these segments onto multiple 2D planes (represented as "patches" in a 2D frame), which are then decoded by a traditional 2D video codec such as the High Efficiency Video Coding (HEVC) (ITU-T H.265) codec. The second approach is "Geometry-based Point Cloud Compression" (G-PCC), which directly compresses 3D geometry—that is, the location of a set of points in 3D space, along with associated attribute values ​​(for each point associated with the 3D geometry). G-PCC addresses the compression of point clouds in both category 1 (static point clouds) and category 3 (dynamically acquired point clouds). The latest draft of the G-PCC standard is available in "G-PCC DIS, ISO / IEC JTC1 / SC29 / WG11 w19088, Brussels, Belgium, January 2020", and a description of the codec is available in "G-PCC Codec Description v6, ISO / IEC JTC1 / SC29 / WG11 w19091, Brussels, Belgium, January 2020".

[0058] A point cloud contains a set of points in 3D space and can have attributes associated with the points. Attributes can be color information such as R, G, B or Y, Cb, Cr, or reflectivity information, or other properties. Point clouds can be captured by various cameras or sensors (such as LIDAR sensors and 3D scanners) and can also be computer-generated. Point cloud data is used in a variety of applications, including but not limited to construction (modeling), graphics (3D models for visualization and animation), and the automotive industry (LIDAR sensors to aid navigation).

[0059] The 3D space occupied by the point cloud data can be enclosed by a virtual bounding box. The location of the points in the bounding box can be represented with a certain precision; thus, the location of one or more points can be quantized based on this precision. At the smallest level, the bounding box is split into voxels, which are the smallest spatial units represented by a unit cube. A voxel in a bounding box can be associated with zero, one, or more than one point. The bounding box can be split into multiple cubic / cubic regions, which can be called tiles. Each tile can be decoded into one or more strips. The partitioning of the bounding box into strips and tiles can be based on the number of points in each partition, or based on other considerations (for example, specific areas can be decoded as tiles). Strip areas can be further partitioned by using splitting decisions similar to those in video codecs.

[0060] Figure 2 is a block diagram illustrating an example point cloud encoder 200. The modules shown are logical and do not necessarily correspond one-to-one to the implementation code in the reference implementation of the G-PCC codec, i.e., the TMC13 test model software studied by ISO / IEC MPEG (JTC 1 / SC 29 / WG 11).

[0061] In both the point cloud encoder 200 and the point cloud decoder 300, the point cloud localization is first decoded. Attribute decoding depends on the decoded geometry. The compressed geometry is typically represented as an octree from the root down to the leaf level of a single voxel.

[0062] At each node of the octree, occupancy is signaled (when not inferred) for one or more of its child nodes (up to eight nodes). Multiple neighborhoods are specified, including (a) nodes that share faces with the current octree node, (b) nodes that share faces, edges, or vertices with the current octree node, and so on. Within each neighborhood, the occupancy of the node and / or its child nodes can be used to predict the occupancy of the current node or its child nodes. For points sparsely distributed in certain nodes of the octree, the codec also supports a direct decoding mode in which the 3D positioning of the points is directly encoded. A signaling flag can be signaled to indicate that direct mode is signaled. At the lowest level, the number of points associated with the octree node / leaf node can also be decoded.

[0063] Once the geometry is decoded, the attributes corresponding to the geometry points are decoded. When there are multiple attribute points corresponding to a reconstructed / decoded geometry point, the attribute value representing the reconstructed point can be derived.

[0064] There are three attribute decoding methods in G-PCC: Region Adaptive Hierarchical Transform (RAHT) decoding, interpolation-based hierarchical nearest neighbor prediction (prediction transform), and interpolation-based hierarchical nearest neighbor prediction with an update / lifting step (lifting transform). RAHT and lifting are typically used for category 1 data, while prediction is typically used for category 3 data. However, any method can be used for any data, and just like the geometry codec in G-PCC, the attribute decoding method used to decode point clouds is specified in the bitstream.

[0065] The encoding of attributes can be performed using levels of detail (LODs), where with each level of detail, a finer representation of the point cloud attributes can be obtained. Each level of detail can be specified based on a distance metric to neighboring nodes or based on a sampling distance.

[0066] At point cloud encoder 200, the residual obtained as an output of the attribute coding method is quantized. The residual can be obtained by subtracting the attribute value from a prediction derived from the attribute value of a previously encoded point based on points in the neighborhood of the current point. The quantized residual can be coded using context-adaptive arithmetic coding.

[0067] exist Figure 2 In the example, the point cloud encoder 200 includes a deep learning based geometry encoder 202, a geometry reconstruction unit 206, a geometry reduction unit 210, a recoloring unit 212, a color transformation unit 204, a region adaptive hierarchical transform (RAHT) unit 218, an LOD generation unit 220, a lifting unit 222, a coefficient quantization unit 224 and an arithmetic coding unit 226.

[0068] like Figure 2 As shown in the example of , the point cloud encoder 200 can obtain a set of locations and a set of attributes of points in the point cloud. The point cloud encoder 200 can obtain the location of the points in the point cloud from the data source 104 ( Figure 1 ) obtains a set of locations and a set of attributes for points in the point cloud. The locations may include the coordinates of the points in the point cloud. The attributes may include information about the points in the point cloud, such as color, reflectivity, intensity, etc. The deep learning-based geometry encoder 202 of the point cloud encoder 200 may generate a geometry bitstream 203 including encoded representations of the locations of the points in the point cloud. The point cloud encoder 200 may also generate an attribute bitstream 205 including encoded representations of the attribute set.

[0069] After encoding the geometric information, the geometry reconstruction unit 206 can decode and reconstruct the geometric information. The geometry reduction unit 210 can reduce the geometric information. As described above, the geometric information can be represented using an octree. The root node of the octree can be split into eight child nodes. For each node of the octree, the node can be further split into eight child nodes, including splitting the node in half along the X, Y, and Z dimensions. Such splitting can continue until, for example, a node of the minimum size for the octree is reached, which is called a leaf node of the octree. That is, a leaf node has no child nodes and is not split.

[0070] To reduce the octree, the geometry reduction unit 210 may determine that the node has eight leaf nodes and determine the number of occupied leaf nodes of the eight leaf nodes. If the number is above a threshold (e.g., zero), the geometry reduction unit 210 may represent the node as an occupied leaf node in the reduced octree. Otherwise, if the number is less than or equal to the threshold, the geometry reduction unit 210 may represent the node as an unoccupied leaf node in the reduced octree. For example, if the threshold is zero, all of the eight leaf nodes need to be unoccupied in order for the node to be represented as an unoccupied leaf node in the reduced octree, otherwise the node will be represented as an occupied leaf node in the reduced octree.

[0071] After reducing the geometry information, the recoloring unit 212 may apply the attribute information to the points of the reduced octree. For example, the recoloring unit 212 may similarly reduce the original attribute information by the same degree as the geometry information. Such reduction may include culling attribute data, blending attribute data, or otherwise reducing the attribute data so that the reduced attribute data can be applied to the reduced geometry.

[0072] The color conversion unit 204 may convert the color information of the attribute into a different domain. For example, the color conversion unit 204 may convert the color information from the RGB color space to the YCbCr color space.

[0073] Furthermore, the RAHT unit 218 can apply RAHT decoding to the attributes of the reconstructed points. In some examples, under RAHT, the attributes of a block of 2x2x2 point locations are taken and transformed in one direction to obtain four low-frequency nodes (L) and four high-frequency nodes (H). Subsequently, the four low-frequency nodes (L) are transformed in a second direction to obtain two low-frequency nodes (LL) and two high-frequency nodes (LH). The two low-frequency nodes (LL) are transformed in a third direction to obtain one low-frequency node (LLL) and one high-frequency node (LLH). The low-frequency node LLL corresponds to the DC coefficient, while the high-frequency nodes H, LH, and LLH correspond to the AC coefficient. The transform in each direction can be a 1-D transform with two coefficient weights. The low-frequency coefficients can be used as coefficients for the 2x2x2 block for the next higher level of RAHT transform, and the AC coefficients are encoded unchanged; this transform continues until the top root node. The tree traversal for coding is performed from top to bottom to calculate the weights to be applied to the coefficients; the transform order is from bottom to top. The coefficients can then be quantized and decoded.

[0074] Alternatively or additionally, the LOD generation unit 220 and the lifting unit 222 can apply LOD processing and lifting, respectively, to the attributes of the reconstructed points. LOD generation is used to split the attributes into different levels of refinement. Each level of refinement provides a refinement of the attributes of the point cloud. The first level of refinement provides a coarse approximation and contains few points; subsequent levels of refinement typically contain more points, and so on. The refinement levels can be constructed using a distance-based metric, or one or more other classification criteria (e.g., subsampling according to a specific order) can also be used. Thus, all reconstructed points can be included in the refinement level. Each level of detail can be generated by taking the union of all points up to a particular level of refinement: for example, LOD1 is obtained based on refinement level RL1, LOD2 is obtained based on RL1 and RL2, ..., and LODN is obtained by the union of RL1, RL2, ..., RLN. In some cases, LOD generation can be followed by a prediction scheme (e.g., a predictive transform), in which the attribute associated with each point in the LOD is predicted based on a weighted average of previous points, and the residual is quantized and entropy coded. The lifting scheme is built on top of a predictive transform mechanism, where update operators are used to update coefficients and adaptive quantization of the coefficients is performed.

[0075] RAHT unit 218 and lifting unit 222 may generate coefficients based on the attributes. Coefficient quantization unit 224 may quantize the coefficients generated by RAHT unit 218 and lifting unit 222. Arithmetic coding unit 226 may apply arithmetic coding to syntax elements representing the quantized coefficients. Point cloud encoder 200 may output these syntax elements in attribute bitstream 205. Attribute bitstream 205 may also include other syntax elements, including non-arithmetic coded syntax elements.

[0076] In some examples, the geometry reduction unit 210 may reduce the geometry data by an amount indicated by a particular value, such as a reduction factor. The point cloud encoder 200 may encode this value as a parameter of a parameter set, such as a sequence parameter set (SPS) or an attribute parameter set (APS), a slice header, a frame header, or other high-level syntax (HLS). In some examples, the reduction factor may also indicate the amount by which the attribute data is reduced before reshading. In some examples, the point cloud encoder 200 may encode a second value, separate from the first value, indicating the amount by which the attribute data is reduced.

[0077] Figure 3 is a block diagram illustrating an example point cloud decoder 300. Figure 3In the example, the point cloud decoder 300 includes a deep learning-based geometry decoder 302, an attribute arithmetic decoding unit 304, a geometry reduction unit 306, an inverse quantization unit 308, a RAHT unit 314, a LoD generation unit 316, an inverse lifting unit 318, an inverse transform color unit 322 and a point cloud augmentation unit 324.

[0078] The point cloud decoder 300 may receive the geometry bitstream 203 and the attribute bitstream 205. The deep learning-based geometry decoder 302 generally decodes the geometry data of the geometry bitstream 203. The attribute arithmetic decoding unit 304 of the decoder 300 may apply arithmetic decoding (e.g., context-adaptive binary arithmetic coding (CABAC) or other types of arithmetic decoding) to syntax elements in the attribute bitstream 205 to decode the attribute bitstream 205.

[0079] In general, the attribute bitstream 250 represents a downscaled version of the attribute data relative to the geometry data of the geometry bitstream 203. Therefore, the geometry downscaling unit 306 can downscale the rendered geometry data from the deep learning-based geometry decoder 302, for example, according to a downscaling value. The point cloud decoder 300 can decode the downscaling value according to high-level syntax (HLS) data (such as a sequence parameter set (SPS), an attribute parameter set (APS), a slice header, a frame header, etc.). The geometry downscaling unit 306 can downscale the geometry data according to a downscaling factor.

[0080] Additionally, the inverse quantization unit 308 may inverse quantize the property value.The property value may be based on syntax elements obtained from the property bitstream 205 (eg, including syntax elements decoded by the property arithmetic decoding unit 304).

[0081] Depending on how the attribute values ​​are encoded, the RAHT unit 314 may perform RAHT decoding to determine color values ​​for points in the point cloud based on the inverse quantized attribute values. RAHT decoding proceeds from the top of the tree to the bottom. At each level, low-frequency and high-frequency coefficients derived from the inverse quantization process are used to derive constituent values. At leaf nodes, the derived values ​​correspond to the attribute values ​​of the coefficients. The weight derivation process for points is similar to that used by the point cloud encoder 200. Alternatively, the LOD generation unit 316 and the inverse lifting unit 318 may use level-of-detail techniques to determine color values ​​for points in the point cloud. The LOD generation unit 316 decodes each LOD, which provides a progressively finer representation of the attribute of the point. Using a prediction transform, the LOD generation unit 316 derives a prediction for the point from a weighted sum of points in the previous LOD or previously reconstructed in the same LOD. The LOD generation unit 316 may add the prediction to the residual (obtained after inverse quantization) to obtain the reconstructed value of the attribute. When using a lifting scheme, the LOD generation unit 316 may also include an update operator to update the coefficients used to derive the attribute value. In this case, the LOD generation unit 316 may also apply inverse adaptive quantization.

[0082] In addition, the inverse color transform unit 322 can apply an inverse color transform to the color values. The inverse color transform can be the inverse of the color transform applied by the color transform unit 204 of the encoder 200. For example, the color transform unit 204 can transform the color information from the RGB color space to the YCbCr color space. Correspondingly, the inverse color transform unit 322 can transform the color information from the YCbCr color space to the RGB color space.

[0083] After decoding both the geometric information and the attribute information, the point cloud augmentation unit 324 can reconstruct the point cloud. Specifically, the point cloud augmentation unit 324 can augment the attribute information to the scale of the geometric information. The point cloud augmentation unit 324 can augment the attribute information according to a reduction factor. Alternatively, the point cloud decoder 300 can decode a separate value indicating the amount of augmentation to be applied to the attribute information. Ultimately, the point cloud augmentation unit 324 can apply the augmented attribute information to the points of the geometric information to reconstruct the point cloud.

[0084] According to the technology of the present disclosure, the point cloud augmentation unit 324 can be a deep learning-based residual learning network for attribute upsampling. That is, the point cloud augmentation unit 324 can be initially trained on data including original, full-scale attribute data and corresponding reduced, decoded, and reconstructed attribute data. The point cloud augmentation unit 324 can be trained to augment the reduced, decoded, and reconstructed attribute data to the full scale, and compare the difference (i.e., residual) between the original, full-scale attribute data and the augmented attribute data, and update the internal network model accordingly (e.g., by changing the weight values ​​within the model). When the difference between the original attribute data and the augmented attribute data is below a predetermined threshold, the residual learning network can be considered to be trained.

[0085] Figure 2 and Figure 3 Various units are shown to aid in understanding the operations performed by the encoder 200 and the decoder 300. These units can be implemented as fixed-function circuits, programmable circuits, or a combination thereof. Fixed-function circuits refer to circuits that provide specific functions and are preset on the operations that can be performed. Programmable circuits refer to circuits that can be programmed to perform various tasks and provide flexible functionality in the operations that can be performed. For example, a programmable circuit can execute software or firmware so that the programmable circuit operates in a manner defined by the instructions of the software or firmware. Fixed-function circuits can execute software instructions (for example, to receive parameters or output parameters), but the type of operations performed by the fixed-function circuits is generally immutable. In some examples, one or more of the units may be different circuit blocks (fixed-function or programmable), while in some examples, one or more of the units may be integrated circuits.

[0086] As described above, machine learning techniques such as deep learning can be used to encode and decode point cloud data. The technology disclosed herein includes the use of a deep learning-based lossy point cloud geometry compression scheme for dynamic point cloud compression. The lossy geometry scheme uses a prediction network to use previous frames to predict the latent representation of the current frame. The example technology performs P-frame inter-frame point cloud encoding, where the current frame is encoded with reference to the previously decoded frame. The architecture can be implemented using a sparse convolutional neural network (CNN) with sparse tensors. The example architecture uses convolution on the target coordinates to map the latent representation of the previous frame to the downsampled coordinates of the current frame to predict the feature embedding of the current frame. The encoder transmits the residual between the predicted and actual features by compressing the residual between the predicted and actual features using a learned probabilistic decomposition entropy model. Compared to G-PCC and V-PCC, the machine learning technology shows better compression performance on dense point clouds, as well as efficient encoding / decoding runtime.

[0087] Further flexibility can be provided by employing reduction and subsequent augmentation of attribute information. A large portion of the bitrate in previous encoding schemes has been consumed by attribute information. Any improvements in attribute compression schemes can greatly improve the overall decoding efficiency of the framework. Therefore, according to the techniques of this disclosure, the point cloud encoder 200 can reduce attribute information before encoding, and the point cloud decoder 300 can decode and subsequently augment the attribute information.

[0088] High-Level Syntax (HLS) data can be signaled by the point cloud encoder 200 and received by the point cloud decoder 300. The HLS data can include the attribute coding type used to decode the recolored attributes, allowing the point cloud decoder 300 to reconstruct the attribute value. This coding method (e.g., Region Adaptive Layered Transform (RAHT) for G-PCC) can be signaled as an identifier in a parameter set (e.g., Sequence Parameter Set (SPS) or Attribute Parameter Set (APS)). The portion of the bitstream that carries the decoded attribute bits is, for example, a NALU. A list of coding methods can be specified, each providing a means of decoding the attributes of the point cloud (optionally, they can also decode the geometry in a lossless manner). An index into this list can be signaled in the bitstream to indicate the coding method used to decode the attribute. This index can be signaled in a parameter set (e.g., APS, SPS) or by other means. When a deep learning mechanism is used for recoloring or decoding, the parameters / coefficients corresponding to the recoloring or decoding can also be signaled in the bitstream.

[0089] Figure 4 is a block diagram illustrating an example encoding framework 400 . Figure 5 is a block diagram illustrating an example decoding framework 500. Figure 4 In FIG, the coding framework 400 includes a deep learning based geometry encoder 404, a G-PCC recoloring unit 406, and a G-PCC lossless geometry and lossy attribute encoder 408. In general, the coding framework 400 may correspond to Figure 1 and 22 , wherein the deep learning based geometry encoder 404 may correspond to the deep learning based geometry encoder 202, the G-PCC recoloring unit 406 may correspond to the recoloring unit 212, and the G-PCC lossless geometry and lossy attribute encoder 408 may correspond to any one or all of the color transform unit 204, the RAHT unit 218, the LOD generation unit 220, the lifting unit 222, the coefficient quantization unit 224, and the arithmetic coding unit 226. In this example, an original point cloud 402 is provided to both the deep learning based geometry encoder 400 and the G-PCC recoloring unit 406. The deep learning based geometry encoder 404 encodes the geometry information of the original point cloud 402 and forms a geometry bitstream 410 including the encoded geometry information for the original point cloud 402.

[0090] The deep learning-based geometry encoder 400 also decodes and reconstructs geometry information, such as an octree including nodes indicating whether a point exists in the node (i.e., whether the node is occupied). An occupied node can be split into eight child nodes, each of which can include an indication of occupancy. The G-PCC recoloring unit 406 can receive the reconstructed geometry information from the deep learning-based geometry encoder 404 and recolor the reconstructed geometry using the geometry and attribute information of the original point cloud 402. Subsequently, the G-PCC lossless geometry and lossy attribute encoder 408 can encode the recolored, reconstructed geometry to form an attribute bitstream 412.

[0091] Figure 5 The decoding framework 500 includes a deep learning-based geometry decoder 502 (which may correspond to the deep learning-based geometry decoder 302) and a G-PCC decoder 504 (which may correspond to the attribute arithmetic decoding unit 304, the inverse quantization unit 308, the RAHT unit 314, the LOD generation unit 316, the inverse lifting unit 318, and the inverse transform color unit 322). In this example, the deep learning-based geometry decoder 502 receives a geometry bitstream 508. The deep learning-based geometry decoder 502 decodes the geometry bitstream 508 and reconstructs the geometry information. The G-PCC decoder 504 receives an attribute bitstream 510 and uses the reconstructed geometry information to decode the attribute bitstream 510 and reconstruct a point cloud. For example, the G-PCC decoder 504 may apply the decoded attribute information to the reconstructed geometry information to form a recolored reconstructed point cloud 506.

[0092] exist Figure 4 and 5In the embodiment of the present invention, using a deep learning based encoder-decoder, the encoding framework 400 compresses the geometry and the decoding framework 500 decompresses the geometry to obtain a reconstructed point cloud. The reconstructed point cloud is geometrically different from the original point cloud and the attributes of the original point cloud cannot be simply used. In some examples, the encoding framework 400 compresses and the decoding framework 500 can use the recoloring scheme of G-PCC to change the attributes of the original point cloud to create newer attributes for the reconstructed point cloud. The recolored point cloud has the geometry of the reconstructed point cloud and the attributes derived from the original point cloud. The recolored point cloud is encoded by G-PCC, where the geometry is encoded in a lossless manner and the attributes are encoded in a lossy manner. The reconstructed geometry is combined with the reconstructed attributes to obtain a reconstructed point cloud.

[0093] The following changes / flexibility can be added to Figure 4 and 5 As an example, although Figure 4 and 5 A deep learning-based encoder and decoder are shown, but the geometric encoder or decoder is not necessarily limited to a deep learning-based geometric encoder or decoder, and any geometric encoder or decoder may be employed.

[0094] For recoloring, the encoding framework 400 compression and decoding framework 500 can employ a weighted distance-based nearest neighbor search-based recoloring scheme adopted in the following G-PCC standard: WG 7, MPEG 3D Graphics Coding, G-PCC Codec Description, Document N00271, January 2022. The recoloring scheme can change attributes to fit the newer geometry. Any recoloring scheme that can change the value of an attribute and / or its correspondence with geometry can be used as a recoloring scheme. The "recoloring" algorithm need not be limited to "recoloring" color attributes (e.g., RGB or YCbCr), but can be more generally used as an algorithm to recalculate attribute values ​​(such as normal vectors, reflectivity, etc.) from point locations in one geometry to point locations in a second geometry. Deep learning mechanisms can also be applied to perform recoloring.

[0095] like Figure 4 As shown, a G-PCC lossless geometry and lossy attribute encoder is shown. The example technique is not limited to G-PCC lossless geometry and lossy attribute coding, for example, G-PCC's Region Adaptive Hierarchical Transform (RAHT). The method can be employed with any coding scheme, including another deep learning-based encoding or using V-PCC. Furthermore, instead of employing "lossless geometry and lossy attribute coding," the example can use any "lossy attribute encoder." Deep learning mechanisms can also be applied to perform decoding.

[0096] The encoding framework 400 and the decoding framework 500 use the geometry encoder / decoder from one codec and the attribute encoder / decoder from a separate codec to create a complete codec framework that outperforms two separate codecs. In lossy point cloud compression, the geometry changes after compression, and associating attributes from separate codecs to their corresponding geometry is challenging. Therefore, in the encoding framework 400 and the point cloud decoding framework 500, a recoloring scheme is used to associate attributes with their corresponding geometry.

[0097] Figure 6 6 is a block diagram illustrating an example point cloud encoding framework 600 according to techniques of this disclosure. In this example, the point cloud encoding framework 600 includes a deep learning-based geometry encoder 604 (which may correspond to the deep learning-based geometry encoder 202), a geometry reduction unit 606 (which may correspond to the geometry reduction unit 210), a recoloring unit 608 (which may correspond to the recoloring unit 212), and an attribute encoder 610 (which may correspond to the color transform unit 204, the RAHT unit 218, the LOD generation unit 220, the lifting unit 222, the coefficient quantization unit 224, and the arithmetic coding unit 226). The point cloud encoding framework 600 differs from the encoding framework 400 in that the point cloud encoding framework 600 includes the geometry reduction unit 606 and the attribute encoder 610 encodes a reduced version of the attribute information, as discussed in more detail below.

[0098] In general, a deep learning-based geometry encoder 604 receives geometry information of an original point cloud 602, and a recoloring unit 608 receives both geometry and attribute information of the original point cloud 602. The deep learning-based geometry encoder 604 encodes the geometry information to form a geometry bitstream 612. The deep learning-based geometry encoder 604 decodes and reconstructs the geometry information and provides the reconstructed geometry information to a geometry reduction unit 606. The geometry reduction unit 606 may then reduce the geometry information and provide the reduced geometry information to a recoloring unit 608. The recoloring unit 608 may form a recolored, reduced point cloud based on the reduced geometry information and the original geometry and attribute information of the original point cloud 602. The attribute encoder 610 may then encode the attribute information of the recolored, reduced point cloud to form an attribute bitstream 614.

[0099] Figure 77 is a block diagram illustrating an example point cloud decoding framework 700 according to techniques of this disclosure. In this example, the point cloud decoding framework 700 includes a deep learning-based geometry decoder 702, a geometry reduction unit 704, an attribute decoder 706, and a deep learning-based attribute upsampler 708. The deep learning-based geometry decoder 702 may correspond to the deep learning-based geometry decoder 302, the geometry reduction unit 704 may correspond to the geometry reduction unit 306, the attribute decoder 706 may correspond to the attribute arithmetic decoding unit 304, the inverse quantization unit 308, the RAHT unit 314, the LOD generation unit 316, the inverse lifting unit 318, and the inverse transform color unit 322, and the deep learning-based attribute upsampler 708 may correspond to the point cloud augmentation unit 324.

[0100] In general, a deep learning-based geometry decoder 702 receives a geometry bitstream 710. The deep learning-based geometry decoder 702 decodes the geometry information of the geometry bitstream 710 and reconstructs the geometry information based on the decoded geometry information. A geometry reduction unit 704 reduces the geometry information to form reduced geometry information and provides the reduced geometry information to an attribute decoder 706. The attribute decoder 706 receives an attribute bitstream 712 including encoded attribute information and decodes the encoded attribute information. The attribute decoder 706 can provide the decoded attribute information to a deep learning-based attribute upsampler 708. The deep learning-based attribute upsampler 708 can also receive the original reconstructed geometry information and upscale the attribute information to the scale of the reconstructed geometry information. The deep learning-based attribute upsampler 708 can also apply the upscaled attribute information to the reconstructed geometry information to form a reconstructed point cloud 714.

[0101] According to the techniques of the present disclosure, the attribute encoder 610 encodes the reduced attributes to save attribute bits, which can improve decoding efficiency. The geometric information is compressed using the deep learning-based geometry encoder 604 and then decoded and reconstructed to obtain a reconstructed point cloud. The geometry reduction unit 606 can use various reduction factors (e.g., 1, 2, 4, 8, etc.) to reduce the reconstructed geometry information, as discussed in more detail below. The recoloring unit 608 then uses the original point cloud attributes to recolor the reduced geometry according to a recoloring scheme (e.g., the G-PCC recoloring scheme). The attribute encoder 610 can then encode the recolored point cloud attributes using an attribute coding scheme (lossy or lossless) such as G-PCC RAHT or G-PCC prediction / lifting transform.

[0102] At the point cloud decoding framework 700, the geometry bitstream 710 is decoded by a deep learning-based geometry decoder 702. The reconstructed geometry is reduced by a geometry reduction unit 704 and then provided to an attribute decoder 706. The attribute decoder 706 can perform an inverse GPCC RAHT or prediction / lifting transform. The attribute decoder 706 can associate the decoded, reduced attributes with their corresponding reduced reconstructed geometry to obtain a reduced point cloud. As an example, a deep learning-based point cloud attribute upsampler is used to upsample the attributes and map the upsampled attributes to the reconstructed geometry.

[0103] In some examples, explicit reduction of the reconstructed geometry may not be performed. For example, the geometry decoding process itself may include one or more reduced versions of the geometry that are augmented / processed to obtain the reconstructed geometry. The one or more reduced versions of the geometry may be passed to the attribute decoder and used instead of the reduced reconstructed geometry. This may avoid the need to perform an explicit reduction operation on the reconstructed geometry, thereby saving processing time and resources.

[0104] Figure 8A and 8B is a conceptual diagram illustrating an example of reducing voxels of a point cloud. Figure 8A An example voxel 800 is depicted, comprising sub-voxels 802A, 802B, and 802C, each of which is occupied, and the other sub-voxels are unoccupied. In this example, reduction of voxel 800 produces an occupied reduced voxel 804 because sub-voxels 802A, 802B, and 802C are occupied. Figure 8B An example voxel 810 is depicted where all sub-voxels are unoccupied. Thus, in this example, reduction of voxel 810 results in an unoccupied reduced voxel 812.

[0105] In some examples, the geometry reduction unit 306 or the geometry reduction unit 704 can employ a KxKxK voxel grid reduction, where K is a value defining the reduction factor. If K is 2, the point cloud is divided into a 2x2x2 voxel grid, where each voxel is a point in 3D space. The 8 voxels within the 2x2x2 voxel grid are then merged into a single voxel. In some examples, the final voxel is considered occupied if any of the 8 voxels within are occupied. In some examples, the final voxel is considered occupied if the number of occupied sub-voxels exceeds a threshold.

[0106] Figure 9is a block diagram illustrating an example set of stages that may be included in a deep learning-based attribute upsampler, such as the deep learning-based attribute upsampler 708 or the point cloud augmentation unit 324. In this example, the set of stages includes a deep learning layer 902, an upsampling layer 910, and a deep learning layer 920. Initially, the deep learning layer 902 processes the reduced point cloud geometry and attribute information, providing the results to the upsampling layer 910. The upsampling layer 910 then upsamples the results of the deep learning layer 902. The deep learning layer 920 then processes the upsampled geometry and attribute information to produce a reconstructed point cloud 930.

[0107] Figure 10 is a block diagram illustrating an example set of stages that may be included in a deep learning based attribute upsampler, such as the deep learning based attribute upsampler 708 or the point cloud augmentation unit 324. In this example, the set of stages includes a deep learning layer 1002 (which may correspond to the deep learning layer 902), an upsampling layer 1010 (which may correspond to the upsampling layer 910), and a deep learning layer 1020 (which may correspond to the deep learning layer 920). Specifically, the deep learning layer 102 includes a sparse convolution (SConv) Layer 1004, Initial Residual Block (IRB) layer 1006, and SConv 3x3x3 layer 1008. In this example, upsampling layer 1010 is a convolutional 5x5x5 layer on the target coordinates. In this example, deep learning layers 1020 include SConv 3x3x3 layer 1022, IRB layer 1024, and SConv layer 1026. These layers process the reduced point cloud geometry and attributes in sequence to produce a reconstructed point cloud 1030.

[0108] For example purposes, Figure 10 Use with A sparse convolution layer with a kernel size of 5x5x5 is used, but other deep learning based layers can be used in addition or alternatively. Similarly, although a convolution on the target coordinate with a kernel size of 5x5x5 is used as an example, other upsampling techniques can be used instead of this layer. The convolution layer on the target coordinate can be used to map features from the reduced geometry to the augmented geometry. If the reduction / upsampling factor is large, multiple consecutive upsampling layers can be used, or multiple consecutive attribute upsamplers can be used to upsample the attributes.

[0109] Attribute upsamplers do not necessarily have to be deep learning based. Figure 10 The example in

[15] shows that in the case of a fully convolutional network using sparse convolution, the same effect can be achieved using different deep learning-based layers. Similarly, for the upsampling layer, other deep learning layers such as transposed convolution, deconvolution, unpooling, etc. can be used to achieve similar results.

[0110] Attributes in the framework are not limited to color information. For example, these techniques can be applied to decode / upsampling surface normal information, reflectivity, intensity, etc. Color space conversion can be applied to individual modules or the entire framework. For example, the YCbCr color space can be adopted by the attribute encoder, attribute decoder and / or deep learning based attribute upsampler during reshading. The point cloud encoder 200 can encode syntax elements in the bitstream that represent the color space associated with an individual module or the entire framework, and similarly, the point cloud decoder 300 can decode the syntax elements and use the syntax elements to determine which color spaces should be used in which modules.

[0111] The point cloud encoder 200 and the point cloud decoder 309 can decode the reduction factor so that the point cloud decoder 300 can determine how much adaptive geometric reduction to perform and how much attribute upsampling to perform. If no reduction is performed at the point cloud encoder 200, no upscaling is required at the decoder, so Figure 3 and 4 . This reduction factor can be signaled in a parameter set, slice, or other syntax structure in the bitstream (e.g., in a sequence parameter set (SPS) or attribute parameter set (APS)). Although referred to as a downsampling factor (from the encoder's perspective), the point cloud decoder 300 can use this factor for other operations, including upsampling. In some examples, two reduction factors can be signaled in the bitstream: one for geometry and one for attributes. In some examples, one downsampling factor that applies to both geometry and attributes can be signaled.

[0112] The attribute coding technique type used to decode the recolored attribute can be signaled to the decoder side for the point cloud decoder 300 to reconstruct the attribute value. This coding method (e.g., Region Adaptive Hierarchical Transform (RAHT) for G-PCC) can be signaled as an identifier in a parameter set (e.g., Sequence Parameter Set (SPS) or Attribute Parameter Set (APS)). The portion of the bitstream that carries the decoded attribute bits can be, for example, a Network Abstraction Layer Unit (NALU).

[0113] A list of decoding techniques can be specified. Each decoding technique can provide a way to decode the attributes of the point cloud (optionally, they can also decode the geometry in a lossless manner). An index into this list can be signaled in the bitstream to indicate the decoding technique used to decode the attribute. This index can be signaled in a parameter set (e.g., APS, SPS) or other HLS.

[0114] When a deep learning mechanism is used for recoloring or decoding, parameters / coefficients corresponding to the recoloring or decoding may also be signaled in the bitstream.

[0115] According to the technology disclosed in this paper, a deep learning-based attribute upsampler can use residual learning to reconstruct a point cloud with better quality. Effective point cloud upsamplers are not limited to point cloud compression and may have a wide range of applications.

[0116] For example, augmented reality (AR) and virtual reality (VR) experiences, as well as other extended reality (XR) experiences such as mixed reality (MR), are becoming increasingly popular. Consequently, there has been interest in capturing high-resolution real-world point clouds. Loss of detail and irregularities in the point cloud geometry can occur during the capture, processing, and compression pipeline. The level of detail (LoD) in a point cloud refers to the density or resolution of the points captured or represented in a 3D dataset and can affect the accuracy, precision, and usability of the point cloud in various applications. Upsampling a low level of detail (LoD) point cloud to a high LoD point cloud can provide various advantages. Typically, upsampling, denoising, and filtering of the point cloud can be performed as post-processing techniques to improve the quality of the point cloud.

[0117] According to the technology of the present disclosure, a residual learning network based on deep learning can be used when post-processing a point cloud (for example, to amplify decoded attribute data). The residual learning network based on deep learning can be trained to upsample the attribute data of the point cloud data. For example, the residual learning network based on deep learning can receive both the original, full-scale attribute data and the reduced attribute data during training, attempt to upsample the reduced attribute data, and update the network model based on the resulting difference between the upsampled attribute data and the original, full-scale attribute data. In heuristic tests, the residual learning network outperformed the non-residual learning network for tasks such as denoising, upsampling, and deblocking. The residual learning network can be used for point cloud filters, post-processing and / or pre-processing tasks. The residual learning network can act as a learnable filter / post-processing element for the point cloud.

[0118] Figure 11A and 11B is a conceptual diagram illustrating an example of a residual learning network according to the technology of the present disclosure. The residual network includes a neural network layer or a layer block with residual links. For example, Figure 11A A residual learning network 1100 is depicted that includes a convolutional 3x3x3 layer 1102, a residual layer 1104, and a combination unit 1106. As another example, Figure 11B A residual learning network 1110 is depicted, comprising a convolutional 3x3x3 layer block 1112, a residual block 1114, and a combination unit 1116.

[0119] The neural network acts as a stack of nonlinear layers that fit the mapping. The residual network does not learn the underlying mapping. , but learn the mapping . where the original output map is reshaped into This is Figure 11A and 11B , where the network does not directly learn an output mapping y, but rather learns a mapping to a residual that gives output y when added to the input x by the combination units 1106, 1116. This is achieved by having residual / shortcut links between the input and output of one / more layers.

[0120] Figure 12 1 is a conceptual diagram illustrating an example of a residual learning network 1200 for point clouds according to the technology of the present disclosure. According to the technology of the present disclosure, a residual network similar to the residual network used in image processing tasks can be applied to form an end-to-end residual network for point cloud processing tasks. Figure 12 An example residual learning network 1200 is depicted. Rather than directly learning a mapping to an output point cloud, the residual learning network 1200 learns a residual 1202 of the point cloud that, when added to the input point cloud 1204 by a combination unit 1206, produces a desired output point cloud. The residual learning network 1200 can be used as a post-processing / filter for point cloud processing.

[0121] Figure 13 This is a conceptual diagram illustrating an example of a residual learning network 1300 that employs a network as a filter to denoise a point cloud according to the techniques of this disclosure. In this example, the residual learning network 1300 is applied to perform attribute denoising. In this example, the input point cloud is noisy and the residual learning network 1300 learns residual noise that, when removed from the input point cloud, produces a denoised point cloud.

[0122] Figure 14 14 is a conceptual diagram illustrating an example decoding framework according to the techniques of the present disclosure. In this example, the point cloud decoding framework 1400 includes a deep learning-based geometry decoder 1402, a geometry reduction unit 1404, an attribute decoder 1406, a recoloring unit 1408, and a deep learning-based residual network 1416 for denoising. The deep learning-based geometry decoder 1402 may correspond to the deep learning-based geometry decoder 302, the geometry reduction unit 1404 may correspond to the geometry reduction unit 306, the attribute decoder 1406 may correspond to the attribute arithmetic decoding unit 304, the inverse quantization unit 308, the RAHT unit 314, the LOD generation unit 316, the inverse lifting unit 318, and the inverse transform color unit 322, the recoloring unit 1408, and the deep learning-based residual network 1416 for denoising may correspond to the point cloud augmentation unit 324.

[0123] In general, a deep learning-based geometry decoder 1402 receives a geometry bitstream 1410. The deep learning-based geometry decoder 1402 decodes the geometry information in the geometry bitstream 1410 and reconstructs the geometry information based on the decoded geometry information. A geometry reduction unit 1404 reduces the geometry information to form reduced geometry information and provides the reduced geometry information to an attribute decoder 1406. The attribute decoder 1406 receives an attribute bitstream 1412 including encoded attribute information and decodes the encoded attribute information. The attribute decoder 1406 can provide the decoded attribute information to a recoloring unit 1408, which can also receive the original reconstructed geometry information and apply the attribute information at the scale of the reconstructed geometry information. A deep learning-based residual network 1416 for denoising can denoise the output of the recoloring unit 1408 to ultimately form a reconstructed point cloud 1414.

[0124] In this way, with Figure 7 The point cloud decoding framework 1400 performs a two-step upsampling process, compared to the single-step upsampling process performed by the point cloud decoding framework 700 of FIG. 1400. Even though the point cloud decoding framework 1400 does not explicitly perform upsampling, the recoloring step upsamples the attributes and maps them to the upsampled geometry. The recoloring unit 1408 passes the reduced attributes through the recoloring scheme to recolor the reconstructed geometry with the reduced attributes. This produces a noisy reconstructed point cloud, which will have noise introduced due to the recoloring, reduction, and encoding processes. The point cloud is post-processed by a deep learning based residual network 1416 for denoising, where the deep learning based residual network 1416 for denoising acts as a filter to denoise the point cloud.

[0125] The geometric reduction at both the encoder and the decoder may have a specific reduction ratio / reduction rate (e.g., 2, 4, 8, etc.). As described above, the reduction ratio / reduction rate may be signaled from the encoder to the decoder, for example, in an APS or SPS. The decoder may include a single deep learning-based residual network for all reduction ratios or multiple different deep learning-based residual networks for various reduction ratios / reduction rates, where each residual network may be used for a separate reduction ratio.

[0126] In some examples, deep learning-based residual networks can be applied to other points in the decoding pipeline. For example, as an addition or alternative to post-processing attribute data, residual learning networks can be applied to geometric (coordinate) data. Residual learning networks can be used for attribute denoising, geometric denoising, point cloud upsampling, point cloud artifact removal, classification, segmentation and / or compression, etc. Therefore, residual learning networks can be used for filters, post-processing units, pre-processing units, or any other tasks in the point cloud processing pipeline, such as point cloud capture, compression and / or transmission. Residual learning networks can be used with any attributes (e.g., RGB and / or intensity) or even color space conversion to YCbCr attributes.

[0127] Figure 15 is a flowchart illustrating an example method of encoding point cloud data according to the techniques of this disclosure. Figure 15 The method is relative to Figure 2 Other point cloud encoding devices (such as those that conform to Figure 6 Those of the point cloud coding framework 600 can perform this method or similar methods.

[0128] Initially, the point cloud encoder 200 encodes geometric information of the point cloud (1500). For example, the point cloud encoder 200 may use a deep learning-based point cloud coding technique to encode the geometric information. The point cloud encoder 200 may then decode and reconstruct the geometric information (1502). The point cloud encoder 200 may also downscale the geometric information (1504). The point cloud encoder 200 may recolor the downscaled geometric information using attribute information of the point cloud (1506). The point cloud encoder 200 may then encode the downscaled attribute information (1508). In some examples, the point cloud encoder 200 may also encode HLS information that specifies, for example, a downscaling factor for the geometric information and / or an upsampling factor for the attribute information.

[0129] In this way, Figure 15 The method represents an example of a method for decoding point cloud information, including: decoding encoded point cloud geometry data for a point cloud to reconstruct point cloud geometry data for the point cloud; reducing the point cloud geometry data to form reduced point cloud geometry data; and decoding attribute data for the point cloud using the reduced point cloud geometry.

[0130] Figure 16 is a flow chart illustrating an example method of decoding point cloud data according to the techniques of this disclosure. Figure 16 The method is relative to Figure 3 Other point cloud decoding devices (such as those that conform to Figure 7Those of the point cloud decoding framework 700 can perform this method or similar methods.

[0131] Initially, the point cloud decoder 300 decodes the geometric information (1600). The point cloud decoder 300 may also decode a reduction factor (e.g., in high level syntax (HLS) data). The point cloud decoder 300 may reduce the geometric information (1602), for example, according to the reduction factor. The point cloud decoder 300 may then decode the attribute information (1604). The point cloud decoder 300 may then apply the attribute information to the decoded geometric information (1606), which may produce an intermediate (noisy) point cloud. The point cloud decoder 300 may then apply a residual learning network to the intermediate point cloud (1608) to form a reconstructed point cloud. For example, the residual learning network may correspond to, for example, Figure 10 SConv 3x3x3 layer 1022, IRB layer 1024 and SConv layer 1026; Figure 11A Residual learning network 1100; Figure 11B Residual learning network 1110; Figure 12 Residual learning network 1200; Figure 13 Residual learning network 1300; or Figure 14 Residual learning network based on deep learning 1416.

[0132] In this way, Figure 16 The method represents an example of a method for decoding (e.g., encoding or decoding) point cloud information, including: decoding encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reducing the point cloud geometry data to form reduced point cloud geometry data; using the reduced point cloud geometry to decode attribute data for the point cloud; applying the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and applying a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0133] Figure 17 is a conceptual diagram illustrating a laser package 1700 (such as a LIDAR sensor or other system including one or more lasers) that scans a point in 3-dimensional space. Figure 1 ) may include laser package 1700.

[0134] like Figure 17 As shown, the laser package 1700 can be used to capture point clouds, i.e., the sensor scans points in 3D space. However, it should be understood that although some point clouds are not generated by an actual LIDAR sensor, they can still be encoded as if they were generated by an actual LIDAR. Figure 17In the example of FIG. 1 , laser package 1700 includes a LIDAR head 1702 that includes multiple lasers 1704A-1704E (collectively, “laser 1704”) arranged in a vertical plane at different angles relative to an origin. Laser package 1700 can rotate about a vertical axis 1708. Laser package 1700 can use the returned laser light to determine the distance and location of points in a point cloud. Laser beams 1706A-1706E (collectively, “laser beam 1706”) emitted by lasers 1704 of laser package 1700 can be characterized by a set of parameters. The distances indicated by arrows 1710 and 1712 indicate example laser calibration values ​​for lasers 1704B and 1704A, respectively.

[0135] Laser 1700 can be used to obtain both geometric data and attribute data for points of the geometric data. The point cloud geometric data can be reduced, and the attribute data can be reduced and decoded. According to the technology of this disclosure, the attribute data can then be augmented using a residual learning network.

[0136] Figure 18 is a conceptual diagram illustrating an example ranging system 1800 that can be used with one or more techniques of this disclosure. Figure 18 In the example of , ranging system 1800 includes an illuminator 1802 and a sensor 1804. Illuminator 1802 can emit light 1806. In some examples, illuminator 1802 can emit light 1806 as one or more laser beams. Light 1806 can have one or more wavelengths, such as infrared wavelengths or visible wavelengths. In other examples, light 1806 is an incoherent laser. When light 1806 encounters an object, such as object 1808, light 1806 produces return light 1810. Return light 1810 can include backscattered and / or reflected light. Return light 1810 can pass through lens 1811, which directs return light 1810 to create an image 1812 of object 1808 on sensor 1804. Sensor 1804 generates signal 1814 based on image 1812. Image 1812 can include a set of points (e.g., as represented by Figure 18 1812).

[0137] In some examples, the illuminator 1802 and the sensor 1804 can be mounted on a rotating structure so that the illuminator 1802 and the sensor 1804 capture a 360-degree view of the environment. In other examples, the ranging system 1800 can include one or more optical components (e.g., mirrors, collimators, diffraction gratings, etc.) that enable the illuminator 1802 and the sensor 1804 to detect objects within a certain range (e.g., up to 360 degrees). Although Figure 18The example shows only a single illuminator 1802 and sensor 1804, but the ranging system 1800 can include multiple groups of illuminators and sensors.

[0138] In some examples, illuminator 1802 generates a structured light pattern. In such examples, ranging system 1800 may include multiple sensors 1804 that form corresponding images of the structured light pattern. Ranging system 1800 can use the differences between the images of the structured light pattern to determine the distance to object 1808 from which the structured light pattern was backscattered. When object 1808 is relatively close to sensor 1804 (e.g., 0.2 meters to 2 meters), the structured light-based ranging system can achieve a high level of accuracy (e.g., accuracy in the sub-millimeter range). This high level of accuracy can be useful in facial recognition applications, such as unlocking mobile devices (e.g., mobile phones, tablet computers, etc.), as well as for security applications.

[0139] In some examples, ranging system 1800 is a time-of-flight (ToF)-based system. In some examples where ranging system 1800 is a ToF-based system, illuminator 1802 generates light pulses. In other words, illuminator 1802 can modulate the amplitude of emitted light 1806. In such examples, sensor 1804 detects return light 1810 from the pulses of light 1806 generated by illuminator 1802. Ranging system 1800 can then determine the distance to object 1808 from which light 1806 was backscattered based on the delay between the time light 1806 was emitted and the time it was detected, as well as the known speed of light in air. In some examples, illuminator 1802 can modulate the phase of emitted light 1806, instead of (or in addition to) modulating the amplitude of emitted light 1806. In such an example, sensor 1804 can detect the phase of return light 1810 from object 1808 and determine the distance to a point on object 1808 using the speed of light and based on the time difference between the time when illuminator 1802 generates light 1806 of a particular phase and the time when sensor 1804 detects return light 1810 of that particular phase.

[0140] In other examples, a point cloud can be generated without using illuminator 1802. For example, in some examples, sensor 1804 of ranging system 1800 may include two or more optical cameras. In such examples, ranging system 1800 may use the optical cameras to capture stereo images of an environment including object 1808. Ranging system 1800 (e.g., point cloud generator 1820) may then calculate the difference between locations in the stereo images. Ranging system 1800 may then use this difference to determine the distance to the locations shown in the stereo images. Based on these distances, point cloud generator 1820 may generate a point cloud.

[0141] Sensor 1804 may also detect other properties of object 1808, such as color and reflectivity information. Figure 18 In the example of , the point cloud generator 1820 can generate a point cloud based on the signal 1818 generated by the sensor 1804. The ranging system 1800 and / or the point cloud generator 1820 can form a data source 104 ( Figure 1 ) part.

[0142] Figure 19 is a conceptual diagram illustrating an example vehicle-based scenario in which one or more techniques of this disclosure may be used. Figure 19 In the example of FIG. 1 , vehicle 1900 includes a laser package 1902, such as a LIDAR system. Laser package 1902 may be configured in the same manner as laser package 600 ( Figure 17 ) is implemented in the same way. Figure 19 , but the vehicle 1900 may also include a data source 104 ( Figure 1 ) of a data source and a G-PCC encoder 200 ( Figure 1 ) of the G-PCC encoder. Figure 19 In the example of FIG, a laser package 1902 emits a laser beam 1904 that is reflected from a pedestrian 1906 or other object in the road. A data source of the vehicle 1900 can generate a point cloud based on the signal generated by the laser package 1902. A G-PCC encoder of the vehicle 1900 can encode the point cloud to generate a bit stream 1908, such as Figure 2 The geometric bit stream and Figure 2 The bitstream 1908 may include significantly fewer bits than the unencoded point cloud obtained by the G-PCC encoder. The output interface of the vehicle 1900 (e.g., the output interface 108 ( Figure 1 )) can send the bitstream 1908 to one or more other devices. Therefore, the vehicle 1900 can send the bitstream 1908 to other devices faster than unencoded point cloud data. In addition, the bitstream 1908 can require less data storage capacity.

[0143] The disclosed techniques can also reduce the number of bits in the bitstream 1908. For example, by reducing the attribute data and then decoding the attribute data, the amount of attribute data to be encoded can be significantly reduced, thereby reducing the number of bits in the bitstream 1908. By subsequently using a residual learning network to augment the reduced attribute data, the reconstructed point cloud based on the augmented attribute data can still maintain a high degree of accuracy compared to the original point cloud.

[0144] exist Figure 19In the example of FIG. 1 , vehicle 1900 may transmit a bitstream 1908 to another vehicle 1910. Vehicle 1910 may include a G-PCC decoder, such as G-PCC decoder 300 ( Figure 1 ). The G-PCC decoder of vehicle 1910 can decode bitstream 1908 to reconstruct the point cloud. Vehicle 1910 can use the reconstructed point cloud for various purposes. For example, vehicle 1910 can determine based on the reconstructed point cloud that pedestrian 1906 is in the road ahead of vehicle 1900 and therefore begin to slow down, for example, even before the driver of vehicle 1910 is aware that pedestrian 1906 is in the road. Therefore, in some examples, vehicle 1910 can perform autonomous navigation operations, generate notifications or warnings, or perform another action based on the reconstructed point cloud.

[0145] Additionally or alternatively, vehicle 1900 may send bitstream 1908 to server system 1912. Server system 1912 may use bitstream 1908 for various purposes. For example, server system 1912 may store bitstream 1908 for subsequent reconstruction of the point cloud. In this example, server system 1912 may use the point cloud along with other data (e.g., vehicle telemetry data generated by vehicle 1900) to train an autonomous driving system. In other examples, server system 1912 may store bitstream 1908 for subsequent reconstruction for a forensic accident investigation (e.g., if vehicle 1900 collides with pedestrian 1906).

[0146] Figure 20 is a conceptual diagram illustrating an example extended reality system in which one or more technologies of the present disclosure may be used. Extended reality (XR) is a term used to cover a range of technologies including augmented reality (AR), mixed reality (MR), and virtual reality (VR). Figure 20 In the example of FIG, a first user 2000 is located at a first location 2002. The user 2000 wears an XR headset 2004. As an alternative to the XR headset 2004, the user 2000 may use a mobile device (e.g., a mobile phone, a tablet computer, etc.). The XR headset 2004 includes a depth detection sensor, such as a LIDAR system, which detects the location of points on an object 2006 at the location 2002. The data source of the XR headset 2004 may use the signal generated by the depth detection sensor to generate a point cloud representation of the object 2006 at the location 2002. The XR headset 2004 may include a G-PCC encoder (e.g., Figure 1 A G-PCC encoder 200 is configured to encode the point cloud to generate a bitstream 2008.

[0147] The disclosed techniques can also reduce the number of bits in the bitstream 2008. For example, by reducing the attribute data and then decoding the attribute data, the amount of attribute data to be encoded can be significantly reduced, thereby reducing the number of bits in the bitstream 2008. By subsequently using a residual learning network to augment the reduced attribute data, the reconstructed point cloud based on the augmented attribute data can still maintain a high degree of accuracy compared to the original point cloud.

[0148] XR headset 2004 may transmit a bitstream 2008 (e.g., via a network such as the internet) to an XR headset 2010 worn by a user 2012 at a second location 2014. XR headset 2010 may decode bitstream 2008 to reconstruct a point cloud. XR headset 2010 may use the point cloud to generate an XR visualization (e.g., an AR, MR, or VR visualization) representing an object 2006 at location 2002. Thus, in some examples, such as when XR headset 2010 generates a VR visualization, user 2012 at location 2014 may experience a 3D immersive experience of location 2002. In some examples, XR headset 2010 may determine the positioning of a virtual object based on the reconstructed point cloud. For example, XR headset 2010 may determine that the environment (e.g., location 2002) includes a flat surface based on the reconstructed point cloud, and subsequently determine that a virtual object (e.g., a cartoon character) is to be positioned on the flat surface. The XR headset 2010 may generate an XR visualization in which the virtual object is located at the determined location. For example, the XR headset 2010 may show a cartoon character sitting on a flat surface.

[0149] Figure 21 is a conceptual diagram illustrating an example mobile device system in which one or more techniques of this disclosure may be employed. Figure 21 In an example of FIG. 1 , a mobile device 2100 (such as a mobile phone or tablet) includes a depth detection sensor, such as a LIDAR system, that detects the location of points on an object 2102 in the environment of the mobile device 2100. A data source of the mobile device 2100 can use the signal generated by the depth detection sensor to generate a point cloud representation of the object 2102. The mobile device 2100 can include a G-PCC encoder (e.g., Figure 1 The G-PCC encoder 200 is configured to encode the point cloud to generate a bitstream 2104. Figure 21In an example, mobile device 2100 can send a bitstream to remote device 2106 (such as a server system or other mobile device). Remote device 2106 can decode bitstream 2104 to reconstruct a point cloud. Remote device 2106 can use the point cloud for various purposes. For example, remote device 2106 can use the point cloud to generate a map of the environment of mobile device 2100. For example, remote device 2106 can generate a map of the interior of a building based on the reconstructed point cloud. In another example, remote device 2106 can generate an image (e.g., computer graphics) based on the point cloud. For example, remote device 2106 can use the points of the point cloud as vertices of a polygon and use the color attributes of the points as a basis for coloring the polygon. In some examples, remote device 2106 can use the point cloud to perform facial recognition.

[0150] The following clauses represent various examples of the techniques of this disclosure.

[0151] Item 1: A device for decoding point cloud data, the device comprising: a memory configured to store the point cloud data; and one or more processors implemented in a circuit and configured to: decode encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reduce the point cloud geometry data to form reduced point cloud geometry data; use the reduced point cloud geometry to decode attribute data for the point cloud; apply the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and apply a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0152] Clause 2: The apparatus of clause 1, wherein the one or more processors are further configured to decode a value representing an amount of reduction to be applied to the point cloud geometry data, wherein to reduce the point cloud geometry data, the one or more processors are configured to reduce the point cloud geometry data according to the value representing the amount of reduction.

[0153] Clause 3: The apparatus of clause 2, wherein the one or more processors are configured to provide a value representing an amount of reduction to be applied to the point cloud geometry data to the residual learning network.

[0154] Clause 4: The apparatus of clause 2, wherein the one or more processors are configured to select the residual learning network from the plurality of residual learning networks based on a value representing an amount of reduction to be applied to the point cloud geometric data.

[0155] Item 5: The apparatus of Item 1, wherein the residual learning network comprises one or more convolutional neural network layers and a combination unit that combines the output of the one or more convolutional neural network layers with the intermediate point cloud data to form a reconstructed point cloud.

[0156] Clause 6: The apparatus of clause 1, wherein the residual learning network comprises a first residual learning network, and wherein the one or more processors are further configured to apply a second residual learning network during preprocessing or to apply the second residual learning network as a filter to the point cloud.

[0157] Clause 7: The device of clause 1, wherein the attribute data comprises color data in one of a red-green-blue (RGB) format or a luminance, blue-tinted chrominance, and red-tinted chrominance (YCbCr) format.

[0158] Item 8: A device as described in Item 1, wherein in order to reduce point cloud geometry data, one or more processors are configured to: for each node of the octree including eight leaf nodes, where at least one of the eight leaf nodes is occupied by a point, redefine the node as an occupied leaf node in the reduced octree; and for each node of the octree including eight leaf nodes, where none of the eight leaf nodes is occupied by a point, redefine the node as an unoccupied leaf node in the reduced octree.

[0159] Item 9: A device as described in Item 1, wherein in order to reduce point cloud geometry data, one or more processors are configured to: for each node of the octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is greater than a threshold, redefine the node as an occupied leaf node in the reduced octree; and for each node of the octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is less than or equal to the threshold, redefine the node as an unoccupied leaf node in the reduced octree.

[0160] Clause 10: The apparatus of clause 1, wherein the one or more processors are further configured to decode a value representing an amount of reduction to be applied to the point cloud geometry data, wherein to reduce the point cloud geometry data, the one or more processors are configured to reduce the point cloud geometry data according to the value representing the amount of reduction.

[0161] Clause 11: The apparatus of clause 10, wherein the one or more processors are configured to provide a value representing an amount of reduction to be applied to the point cloud geometry data to the residual learning network.

[0162] Clause 12: The apparatus of clause 10, wherein the one or more processors are configured to select the residual learning network from the plurality of residual learning networks based on a value representing an amount of reduction to be applied to the point cloud geometry data.

[0163] Clause 13: An apparatus as in any of clauses 1 and 10-12, wherein the residual learning network comprises one or more convolutional neural network layers and a combination unit that combines the output of the one or more convolutional neural network layers with the intermediate point cloud data to form a reconstructed point cloud.

[0164] Clause 14: The apparatus of any of clauses 1 and 10-13, wherein the residual learning network comprises a first residual learning network, and wherein the one or more processors are further configured to apply a second residual learning network during preprocessing or to apply the second residual learning network as a filter to the point cloud.

[0165] Clause 15: The device of any of clauses 1 and 10-14, wherein the attribute data comprises color data in one of a red-green-blue (RGB) format or a luminance, blue-tinted chrominance, and red-tinted chrominance (YCbCr) format.

[0166] Clause 16: A device as described in any of clauses 1 and 10-15, wherein in order to reduce point cloud geometry data, one or more processors are configured to: for each node of an octree including eight leaf nodes, where at least one of the eight leaf nodes is occupied by a point, redefine the node as an occupied leaf node in the reduced octree; and for each node of an octree including eight leaf nodes, where none of the eight leaf nodes is occupied by a point, redefine the node as an unoccupied leaf node in the reduced octree.

[0167] Clause 17: A device as described in any of clauses 1 and 10-15, wherein in order to reduce point cloud geometry data, one or more processors are configured to: for each node of an octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is greater than a threshold, redefine the node as an occupied leaf node in the reduced octree; and for each node of an octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is less than or equal to the threshold, redefine the node as an unoccupied leaf node in the reduced octree.

[0168] Clause 18: A method for decoding point cloud data, the method comprising: decoding encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reducing the point cloud geometry data to form reduced point cloud geometry data; using the reduced point cloud geometry to decode attribute data for the point cloud; applying the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and applying a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0169] Clause 19: The method of clause 18, further comprising decoding a value representing an amount of reduction to be applied to the point cloud geometric data, wherein reducing the point cloud geometric data comprises reducing the point cloud geometric data according to the value representing the amount of reduction.

[0170] Clause 20: The method of clause 19, further comprising providing to the residual learning network a value representing an amount of reduction to be applied to the point cloud geometry data.

[0171] Clause 21: The method of clause 19, further comprising selecting a residual learning network from a plurality of residual learning networks based on a value representing an amount of reduction to be applied to the point cloud geometric data.

[0172] Clause 22: The method of clause 18, wherein the residual learning network comprises one or more convolutional neural network layers and a combination unit that combines the output of the one or more convolutional neural network layers with the intermediate point cloud data to form a reconstructed point cloud.

[0173] Clause 23: The method of clause 18, wherein the residual learning network comprises a first residual learning network, the method further comprising applying a second residual learning network during preprocessing or applying the second residual learning network as a filter to the point cloud.

[0174] Clause 24: The method of clause 18, wherein the attribute data comprises color data in one of a red-green-blue (RGB) format or a luminance, blue-tinted chrominance, and red-tinted chrominance (YCbCr) format.

[0175] Clause 25: A method as in Clause 18, wherein reducing the point cloud geometry data comprises: for each node of an octree including eight leaf nodes, where at least one of the eight leaf nodes is occupied by a point, redefining the node as an occupied leaf node in the reduced octree; and for each node of an octree including eight leaf nodes, where none of the eight leaf nodes is occupied by a point, redefining the node as an unoccupied leaf node in the reduced octree.

[0176] Clause 26: A method as in Clause 18, wherein reducing the point cloud geometry data comprises: for each node of an octree including eight leaf nodes, where the number of occupied nodes among the eight leaf nodes is greater than a threshold, redefining the node as an occupied leaf node in the reduced octree; and for each node of an octree including eight leaf nodes, where the number of occupied nodes among the eight leaf nodes is less than or equal to the threshold, redefining the node as an unoccupied leaf node in the reduced octree.

[0177] Clause 27: The method of clause 18, further comprising decoding a value representing an amount of reduction to be applied to the point cloud geometric data, wherein reducing the point cloud geometric data comprises reducing the point cloud geometric data according to the value representing the amount of reduction.

[0178] Clause 28: The method of clause 27, further comprising providing to the residual learning network a value representing an amount of reduction to be applied to the point cloud geometry data.

[0179] Clause 29: The method of clause 27, further comprising selecting a residual learning network from a plurality of residual learning networks based on a value representing an amount of reduction to be applied to the point cloud geometric data.

[0180] Clause 30: A method as in any of clauses 18 and 27-29, wherein the residual learning network comprises one or more convolutional neural network layers and a combination unit that combines the output of the one or more convolutional neural network layers with the intermediate point cloud data to form a reconstructed point cloud.

[0181] Clause 31: The method of any of clauses 18 and 27-30, wherein the residual learning network comprises a first residual learning network, the method further comprising applying a second residual learning network during preprocessing or applying the second residual learning network as a filter to the point cloud.

[0182] Clause 32: The method of any of clauses 18 and 27-31, wherein the attribute data comprises color data in one of a red-green-blue (RGB) format or a luminance, blue-tinted chrominance, and red-tinted chrominance (YCbCr) format.

[0183] Clause 33: A method as described in any of clauses 18 and 27-32, wherein reducing the point cloud geometry data includes: for each node of the octree including eight leaf nodes, where at least one of the eight leaf nodes is occupied by a point, redefining the node as an occupied leaf node in the reduced octree; and for each node of the octree including eight leaf nodes, where none of the eight leaf nodes is occupied by a point, redefining the node as an unoccupied leaf node in the reduced octree.

[0184] Clause 34: A method as described in any of clauses 18 and 27-32, wherein reducing the point cloud geometry data includes: for each node of the octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is greater than a threshold, redefining the node as an occupied leaf node in the reduced octree; and for each node of the octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is less than or equal to the threshold, redefining the node as an unoccupied leaf node in the reduced octree.

[0185] Item 35, a computer-readable storage medium having instructions stored thereon, which, when executed, cause a processor to: decode encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; reduce the point cloud geometry data to form reduced point cloud geometry data; use the reduced point cloud geometry to decode attribute data for the point cloud; apply the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and apply a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0186] Item 36, a device for decoding point cloud data, the device comprising: a component for decoding encoded point cloud geometry data for a point cloud to form reconstructed point cloud geometry data for the point cloud; a component for reducing the point cloud geometry data to form reduced point cloud geometry data; a component for decoding attribute data for the point cloud using the reduced point cloud geometry; a component for applying the attribute data to the reconstructed point cloud geometry data to form intermediate point cloud data; and a component for applying a residual learning network to the intermediate point cloud data to form a reconstructed point cloud.

[0187] It should be appreciated that, depending on the example, certain actions or events in any of the techniques described herein may be performed in a different sequence, may be added, combined, or omitted entirely (e.g., not all described actions or events are necessary for practice of the techniques). Furthermore, in some examples, actions or events may be performed concurrently, such as through multithreading, interrupt handling, or multiple processors, rather than sequentially.

[0188] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to tangible media such as data storage media; or communication media, including any medium that facilitates the transfer of a computer program from one place to another, for example, according to a communication protocol. In this manner, computer-readable media may generally correspond to (1) non-transitory tangible computer-readable storage media or (2) communication media such as signals or carrier waves. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. A computer program product may include computer-readable media.

[0189] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, or any other medium that can be used to store the required program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, or microwaves, the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transient, tangible storage media. As used herein, disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, and Blu-ray discs, with disks typically reproducing data magnetically, while optical disks use lasers to reproduce data optically. Combinations of the above should also be included within the scope of computer-readable media.

[0190] The instructions may be executed by one or more processors such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Accordingly, the terms "processor" and "processing circuitry" as used herein may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated into a combined codec. Furthermore, the technology may be fully implemented in one or more circuits or logic elements.

[0191] The techniques of this disclosure can be implemented in a variety of devices or apparatuses, including wireless handsets, integrated circuits (ICs), or sets of ICs (e.g., chipsets). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily need to be implemented by different hardware units. Specifically, as described above, the various units can be combined in a codec hardware unit or provided by a collection of interoperating hardware units including one or more processors as described above, in combination with appropriate software and / or firmware.

[0192] Various examples have been described. These and other examples are within the scope of the following claims.

Claims

1. A device for decoding point cloud data, the device comprising: a memory configured to store point cloud data; as well as A processing system comprising one or more processors implemented in a circuit, the processing system being configured to: decoding the encoded point cloud geometry data for the point cloud to form reconstructed point cloud geometry data for the point cloud; reducing the point cloud geometric data to form reduced point cloud geometric data; decoding attribute data for the point cloud using the reduced point cloud geometry; applying the attribute data to the reconstructed point cloud geometric data to form intermediate point cloud data; as well as A residual learning network is applied to the intermediate point cloud data to form a reconstructed point cloud.

2. The apparatus of claim 1 , wherein the processing system is further configured to decode a value representing an amount of reduction to be applied to the point cloud geometric data, wherein to reduce the point cloud geometric data, the one or more processors are configured to reduce the point cloud geometric data according to the value representing the amount of reduction.

3. The apparatus of claim 2, wherein the one or more processors are configured to provide the value representing the amount of the reduction to be applied to the point cloud geometric data to the residual learning network.

4. The apparatus of claim 2, wherein the one or more processors are configured to select the residual learning network from a plurality of residual learning networks based on the value representing the amount of reduction to be applied to the point cloud geometric data.

5. The apparatus of claim 1 , wherein the residual learning network comprises one or more convolutional neural network layers and a combination unit that combines outputs of the one or more convolutional neural network layers with the intermediate point cloud data to form the reconstructed point cloud.

6. The apparatus of claim 1 , wherein the residual learning network comprises a first residual learning network, and wherein the processing system is further configured to apply a second residual learning network during preprocessing or to apply the second residual learning network as a filter to the point cloud. 7 . The apparatus of claim 1 , wherein the attribute data comprises color data in one of a red-green-blue (RGB) format or a luminance, blue-tinted chrominance, and red-tinted chrominance (YCbCr) format.

8. The apparatus of claim 1 , wherein to reduce the point cloud geometry data, the processing system is configured to: For each node of the octree that includes eight leaf nodes, where at least one of the eight leaf nodes is occupied by a point, redefining the node as an occupied leaf node in the reduced octree; and For each node of the octree that includes eight leaf nodes, where none of the eight leaf nodes is occupied by a point, the node is redefined as an unoccupied leaf node in the reduced octree.

9. The apparatus of claim 1 , wherein to reduce the point cloud geometry data, the processing system is configured to: For each node of the octree including eight leaf nodes, where the number of occupied leaf nodes among the eight leaf nodes is greater than a threshold, redefining the node as an occupied leaf node in the reduced octree; and For each node of the octree including eight leaf nodes, wherein the number of occupied leaf nodes among the eight leaf nodes is less than or equal to the threshold, the node is redefined as an unoccupied leaf node in the reduced octree.

10. The apparatus of claim 1, further comprising a display configured to visually depict the reconstructed point cloud.

11. A method for decoding point cloud data, the method comprising: decoding the encoded point cloud geometry data for the point cloud to form reconstructed point cloud geometry data for the point cloud; reducing the point cloud geometric data to form reduced point cloud geometric data; decoding attribute data for the point cloud using the reduced point cloud geometry; applying the attribute data to the reconstructed point cloud geometric data to form intermediate point cloud data; as well as A residual learning network is applied to the intermediate point cloud data to form a reconstructed point cloud. 12 . The method of claim 11 , further comprising decoding a value representing an amount of reduction to be applied to the point cloud geometric data, wherein reducing the point cloud geometric data comprises reducing the point cloud geometric data according to the value representing the amount of reduction.

13. The method of claim 12, further comprising providing the value representing the amount of the reduction to be applied to the point cloud geometric data to the residual learning network.

14. The method of claim 12, further comprising selecting the residual learning network from a plurality of residual learning networks based on the value representing the amount of reduction to be applied to the point cloud geometric data.

15. The method of claim 11, wherein the residual learning network comprises one or more convolutional neural network layers and a combination unit that combines the outputs of the one or more convolutional neural network layers with the intermediate point cloud data to form the reconstructed point cloud.

16. The method of claim 11, wherein the residual learning network comprises a first residual learning network, the method further comprising applying a second residual learning network during preprocessing or applying the second residual learning network as a filter to the point cloud. 17 . The method of claim 11 , wherein the attribute data comprises color data in one of a red-green-blue (RGB) format or a luminance, blue-tinted chrominance, and red-tinted chrominance (YCbCr) format.

18. The method of claim 11, wherein reducing the point cloud geometry data comprises: For each node of the octree comprising eight leaf nodes, where at least one of the eight leaf nodes is occupied by a point, redefining the node as an occupied leaf node in the reduced octree; as well as For each node of the octree that includes eight leaf nodes, where none of the eight leaf nodes is occupied by a point, the node is redefined as an unoccupied leaf node in the reduced octree.

19. The method of claim 11, wherein reducing the point cloud geometry data comprises: For each node of the octree including eight leaf nodes, wherein the number of occupied leaf nodes among the eight leaf nodes is greater than a threshold, redefining the node as an occupied leaf node in the reduced octree; as well as For each node of the octree including eight leaf nodes, wherein the number of occupied leaf nodes among the eight leaf nodes is less than or equal to the threshold, the node is redefined as an unoccupied leaf node in the reduced octree.

20. The method of claim 10, further comprising: decoding a value representing an amount of reduction to be applied to the point cloud geometric data, wherein reducing the point cloud geometric data comprises reducing the point cloud geometric data according to the value representing the amount of reduction; as well as The value representing the amount of the reduction to be applied to the point cloud geometric data is provided to the residual learning network.