Method and device for point cloud encoding and decoding

By decoding the chromaticity prediction residual information of the point cloud in a point cloud decoder and performing decoding operations based on the correlation type of Cb component and Cr component, the problem of high cost of point cloud data processing and transmission is solved, and more efficient point cloud data processing and transmission is achieved.

CN114424247BActive Publication Date: 2025-04-18TENCENT AMERICA LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180005441.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-24
Filing Date
2021-04-12
Publication Date
2025-04-18
Estimated Expiration
2041-04-12

AI Technical Summary

Technical Problem

The storage and transmission of point cloud data is expensive and time-consuming, and it is difficult for the prior art to effectively process and compress large amounts of point cloud data.

Method used

A method is adopted in a point cloud decoder to receive the Cb component and Cr component of the chromaticity prediction residual information from the encoded bitstream of the point cloud and decode the chromaticity prediction residual information based on its correlation type. The method includes performing corresponding decoding operations on the chromaticity prediction residual information according to the correlation type between the Cb component and the Cr component being positive or negative.

Benefits of technology

Through this method, the chromaticity information of the point cloud can be effectively decoded and reconstructed, reducing the complexity of data processing and computing cost, and improving the transmission efficiency of point cloud data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114424247B_ABST
    Figure CN114424247B_ABST
Patent Text Reader

Abstract

In a method for point cloud geometry decoding in a point cloud decoder, chroma prediction residual information of points in a point set is received from a coded bit stream of a point cloud including the point set. The chroma prediction residual information includes a Cb component and a Cr component. In addition, a correlation type between the Cb component and the Cr component of the chroma prediction residual information is determined from the coded bit stream of the point cloud by a processing circuit. Based on the correlation type between the Cb component and the Cr component of the chroma prediction residual information, the chroma prediction residual information is decoded.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Incorporation by reference

[0002] This application claims priority to U.S. Patent Application No. 17 / 211,536, filed on March 24, 2021, entitled “Method and Apparatus for Point Cloud Coding,” which claims priority to U.S. Provisional Application No. 63 / 011,913, filed on April 17, 2020, entitled “Method and Apparatus for Joint Chroma Channel Coding of Point Cloud Attributes.” The disclosures of these prior applications are incorporated herein by reference in their entirety. Technical Field

[0003] This disclosure describes embodiments generally related to point cloud encoding and decoding. Background Art

[0004] The background description provided herein is for the purpose of generally presenting the content of the present disclosure. To the extent described in this background section, the works of the presently named inventors and various aspects of this description that may not otherwise qualify as prior art at the time of filing are neither explicitly nor implicitly admitted as prior art to the present disclosure.

[0005] Various technologies have been developed to capture and represent the world, such as objects in the world, environments in the world, and the like in three-dimensional (3D) space. 3D representations of the world can enable more immersive forms of interaction and communication. Point clouds can be used as 3D representations of the world. A point cloud is a set of points in 3D space, each point having associated attributes, such as color, material attributes, texture information, intensity attributes, reflectivity attributes, motion-related attributes, modal attributes, and / or other various attributes. Such point clouds may include a large amount of data, and the storage and transmission of such point clouds is costly and time-consuming. Summary of the invention

[0006] Various aspects of the present disclosure provide methods and apparatus for processing point cloud data. According to one aspect of the present disclosure, a method for point cloud geometry decoding in a point cloud decoder is provided. In the method, chrominance prediction residual information of points in a point set can be received from an encoded bit stream of a point cloud including the point set. The chrominance prediction residual information may include a Cb component and a Cr component. In addition, the correlation type of the Cb component and the Cr component of the chrominance prediction residual information can be determined from the encoded bit stream of the point cloud by a processing circuit. The chrominance prediction residual information can be decoded based on the correlation type of the Cb component and the Cr component of the chrominance prediction residual information.

[0007] In one example, in order to decode the chroma prediction residual information, based on the correlation type between the Cb component and the Cr component being positive, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information minus the Cr component may be decoded.

[0008] In another example, in order to decode the chroma prediction residual information, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information plus the Cr component may be decoded based on the correlation type between the Cb component and the Cr component being negative.

[0009] In yet another example, in order to decode the chroma prediction residual information, the Cb component of the chroma prediction residual information and the Cr component of the chroma prediction residual information may be decoded based on the absence of correlation between the Cb component and the Cr component.

[0010] In some embodiments, the type of correlation between the Cb component and the Cr component of the chroma prediction residual information may be determined to be positive based on a first number of residual points from the coding region, a previous level of detail (LOD), and one of the N nearest points positively correlated with the point. In some embodiments, the type of correlation between the Cb component and the Cr component of the chroma prediction residual information may be determined to be negative based on a second number of residual points from the coding region, a previous LOD, and one of the N nearest points negatively correlated with the point.

[0011] In some embodiments, the coding region may include at least one of the following: a frame, a video sequence, a group of pictures (GOP), a picture, a slice, and a tile.

[0012] In some embodiments, N may be a positive integer equal to 3 or 4.

[0013] In the method, the encoded bitstream may further include signaling information indicating the type of correlation between the Cb component and the Cr component of the chrominance prediction residual information. In one example, the signaling information may be based on a first number of residual points from the coding area, the previous LOD, the LOD to which the point belongs, and one of the N nearest points positively correlated with the point, indicating that the type of correlation between the Cb component and the Cr component of the chrominance prediction residual information is positive. In another example, the signaling information may be based on a second number of residual points from the coding area, the previous LOD, the LOD to which the point belongs, and one of the N nearest points negatively correlated with the point, indicating that the type of correlation between the Cb component and the Cr component of the chrominance prediction residual information is negative.

[0014] According to one aspect of the present disclosure, a method for point cloud geometry decoding in a point cloud decoder is provided. In the method, first signaling information can be received from a coded bit stream of a point cloud including a point set. The first signaling information can indicate a correlation type between first chroma prediction residual information and second chroma prediction residual information based on points in the point set, and decode the first chroma prediction residual information and the second chroma prediction residual information. The coded bit stream may include first chroma prediction residual information and second chroma prediction residual information. The correlation type between the first chroma prediction residual information and the second chroma prediction residual information can be determined based on the first signaling information. In addition, the first chroma information and the second chroma information can be reconstructed based on the first chroma prediction residual information, the second chroma prediction residual information, and the correlation type between the first chroma prediction residual information and the second chroma prediction residual information.

[0015] In some embodiments, the second signaling information may be determined based on the first signaling information being a first value. The second signaling information may indicate that the type of correlation between the first chroma prediction residual information and the second chroma prediction residual information is determined by the third signaling information. The third signaling information may be determined based on the second signaling information being a first value. The type of correlation between the first chroma prediction residual information and the second chroma prediction residual information may be determined based on the third signaling information.

[0016] In one example, based on the third signaling information being a first value, it can be determined that the correlation type between the first chroma prediction residual information and the second chroma prediction residual information is negative. In another example, based on the third signaling information being a second value, it can be determined that the correlation type between the first chroma prediction residual information and the second chroma prediction residual information is positive.

[0017] In the method, the first chroma information can be reconstructed by performing a first inverse quantization process on the first chroma prediction residual information. In addition, in response to the first signaling information being a first value, the second chroma information can be reconstructed, and the second chroma information includes a first part and a second part. The first part can be obtained by performing a second inverse quantization process on the second chroma prediction residual information, and the second part can be obtained by multiplying the reconstructed first chroma information and the correlation type between the first chroma prediction residual information and the second chroma prediction residual information.

[0018] In some embodiments, the first chroma information may be reconstructed by performing a first inverse quantization process on the first chroma prediction residual information. In response to the first signaling information being a second value, the second chroma information may be reconstructed by performing a second inverse quantization process on the second chroma prediction residual information.

[0019] In some embodiments, the first chroma prediction residual information and the second chroma prediction residual information may be related in a first order relationship with a zero offset.

[0020] In some examples, an apparatus for processing point cloud data includes a receiving circuit and a processing circuit configured to perform one or more of the above methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Other features, properties and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings, in which:

[0022] Figure 1 is a schematic diagram of a simplified block diagram of a communication system according to an embodiment.

[0023] Figure 2 is a schematic diagram of a simplified block diagram of a streaming system according to an embodiment. ;

[0024] Figure 3 A block diagram of an encoder for encoding a point cloud frame is shown in accordance with some embodiments.

[0025] Figure 4 A block diagram of a decoder for decoding a compressed bitstream corresponding to a point cloud frame is shown in accordance with some embodiments.

[0026] Figure 5 is a schematic diagram of a simplified block diagram of a video decoder according to an embodiment.

[0027] Figure 6 is a schematic diagram of a simplified block diagram of a video decoder according to an embodiment.

[0028] Figure 7 A block diagram of a decoder for decoding a compressed bitstream corresponding to a point cloud frame is shown in accordance with some embodiments.

[0029] Figure 8 A block diagram of an encoder for encoding a point cloud frame is shown in accordance with some embodiments.

[0030] Fig. 9 A schematic diagram of a level of detail (LOD) generation process in graphic-based point cloud compression (G-PCC) according to some embodiments of the present disclosure is shown.

[0031] Fig.10 A schematic diagram of a lifting transformation for attribute coding in G-PCC according to some embodiments of the present disclosure is shown.

[0032] Fig.11 A first flow chart outlining a first process example is shown in accordance with some embodiments.

[0033] Fig.12 A second flow chart outlining a second process example is shown, according to some embodiments.

[0034] Fig.13 is a schematic diagram of a computer system according to an embodiment. DETAILED DESCRIPTION

[0035] Advanced 3D representations of the world are enabling more immersive forms of interaction and communication, and are also enabling machines to understand, interpret and navigate the human world. 3D point clouds have emerged as an effective representation of this information. Several application cases associated with point cloud data have been identified, and corresponding requirements for point cloud representation and compression have been developed. For example, 3D point clouds can be used for object detection and localization in autonomous driving. 3D point clouds are also used for mapping in geographic information systems (GIS), and for cultural heritage to visualize and archive cultural heritage objects and collections.

[0036] A point cloud generally refers to a set of points in three-dimensional space, each with associated attributes. Attributes may include color, material attributes, texture information, intensity attributes, reflectivity attributes, motion-related attributes, modal attributes, and / or various other attributes. A point cloud can be used to reconstruct an object or scene as a combination of these points. These points can be captured using multiple cameras, depth sensors, and / or LiDAR in various settings, and can consist of thousands to billions of points to realistically represent the reconstructed scene.

[0037] Compression techniques can reduce the amount of data required to represent a point cloud, allowing for faster transmission or reduced storage. Therefore, techniques for lossy compression of point clouds are needed for real-time communications and six-degree-of-freedom (6DoF) virtual reality. In addition, techniques for lossless point cloud compression are sought in applications such as dynamic mapping for autonomous driving and cultural heritage applications. As a result, ISO / IEC MPEG (JTC 1 / SC 29 / WG 11) has begun developing standards to address compression of geometry and attributes (e.g., color and reflectivity), scalable / progressive encoding, encoding of sequences of point clouds captured over time, and random access to subsets of point clouds.

[0038] Figure 1 A simplified block diagram of a communication system (100) according to an embodiment of the present disclosure is shown. The communication system (100) includes a plurality of terminal devices that can communicate with each other via, for example, a network (150). For example, the communication system (100) includes a pair of terminal devices (110) and (120) interconnected via the network (150). Figure 1In the example of , a first pair of terminal devices (110) and (120) can perform a one-way transmission of point cloud data. For example, the terminal device (110) can compress a point cloud (e.g., points representing a structure) captured by a sensor (105) connected to the terminal device (110). The compressed point cloud can be transmitted to another terminal device (120) via a network (150), for example, in the form of a bit stream. The terminal device (120) can receive the compressed point cloud from the network (150), decompress the bit stream to reconstruct the point cloud, and appropriately display the reconstructed point cloud. One-way data transmission is common in media service applications, etc.

[0039] exist Figure 1 In the example of , the terminal device (110) and the terminal device (120) can be shown as a server and a personal computer, but the principles of the present disclosure are not limited to this. Embodiments of the present disclosure find application with laptop computers, tablet computers, smart phones, game consoles, media players and / or dedicated 3D devices. The network (150) represents any number of networks that transmit compressed point clouds between the terminal device (110) and the terminal device (120). The network (150) may include, for example, a wired (wired) and / or wireless communication network. The network (150) may exchange data in circuit switching and / or packet switching channels. Representative networks include telecommunication networks, local area networks, wide area networks and / or the Internet. For the purposes of this discussion, unless explained below, the architecture and topology of the network (150) are not important for the operation of the present disclosure.

[0040] Figure 2 Shown is a simplified block diagram of a streaming system (200) according to an embodiment. Figure 2 An example is the application of the disclosed subject matter on a point cloud. The disclosed subject matter may be equally applicable to other point cloud enabled applications, such as 3D telepresence applications, virtual reality applications, etc.

[0041] The streaming system (200) may include a capture subsystem (213). The capture subsystem (213) may include a point cloud source (201), such as a light detection and ranging (LIDAR) system, a 3D camera, a 3D scanner, a graphics generation component that generates an uncompressed point cloud in software, and a similar component that generates, for example, an uncompressed point cloud (202). In an example, the point cloud (202) includes points captured by a 3D camera. The point cloud (202) is depicted as thick lines to emphasize the high amount of data compared to a compressed point cloud (204) (a bitstream of the compressed point cloud). The compressed point cloud (204) may be generated by an electronic device (220) including an encoder (203) coupled to the point cloud source (201). The encoder (203) may include hardware, software, or a combination of hardware and software to enable or implement various aspects of the disclosed subject matter as described in more detail below. The compressed point cloud (204) (or a bitstream of the compressed point cloud (204)) can be stored on the streaming server (205) for future use, the compressed point cloud (204) being depicted as thin lines to emphasize the lower data volume when compared to the point cloud stream (202). One or more streaming client subsystems, e.g. Figure 2 The client subsystem (206) and the client subsystem (208) in the embodiment of the present invention can access the streaming server (205) to retrieve the copy (207) and the copy (209) of the compressed point cloud (204). The client subsystem (206) can include a decoder (210), such as in the electronic device (230). The decoder (210) decodes the input copy (207) of the compressed point cloud and creates an output stream of the reconstructed point cloud (211) that can be rendered on the rendering device (212).

[0042] It is worth noting that the electronic device (220) and the electronic device (230) may include other components (not shown). For example, the electronic device (220) may include a decoder (not shown), and the electronic device (230) may include an encoder (not shown).

[0043] In some streaming systems, the compressed point cloud (204), the compressed point cloud (207), and the compressed point cloud (209) (e.g., a bitstream of the compressed point cloud) may be compressed according to certain standards. In an example, a video coding standard is used for compression of the point cloud. Examples of these standards include: High Efficiency Video Coding (HEVC), Versatile Video Coding (VVC), etc.

[0044] Figure 3A block diagram of a V-PCC encoder (300) for encoding a point cloud frame according to some embodiments is shown. In some embodiments, the V-PCC encoder (300) can be used in the communication system (100) and the streaming system (200). For example, the encoder (203) can be configured and operated in a manner similar to the V-PCC encoder (300).

[0045] The V-PCC encoder (300) receives a point cloud frame as an uncompressed input and generates a bitstream corresponding to a compressed point cloud frame. In some embodiments, the V-PCC encoder (300) may receive a point cloud frame from a point cloud source (e.g., point cloud source (201) etc.).

[0046] exist Figure 3 In the example, the V-PCC encoder (300) includes a tile generation module (306), a tile packing module (308), a geometric image generation module (310), a texture image generation module (312), a tile information module (304), an occupancy map module (314), a smoothing module (336), an image filling module (316) and an image filling module (318), a group expansion module (320), a video compression module (322), a video compression module (323) and a video compression module (332), an auxiliary tile information compression module (338), an entropy compression module (334) and a multiplexer (324).

[0047] According to one aspect of the present disclosure, a V-PCC encoder (300) converts a 3D point cloud frame into an image-based representation together with some metadata (e.g., occupancy map and tile information) used to convert a compressed point cloud back into a decompressed point cloud. In some examples, the V-PCC encoder (300) can convert a 3D point cloud frame into a geometric image, a texture image, and an occupancy map, and then encode the geometric image, texture image, and occupancy map into a bitstream using video coding techniques. Typically, a geometric image is a two-dimensional (2D) image with pixels filled with geometric values ​​associated with points projected to the pixels, and pixels filled with geometric values ​​can be referred to as geometric samples. A texture image is a 2D image with pixels filled with texture values ​​associated with points projected to the pixels, and pixels filled with texture values ​​can be referred to as texture samples. An occupancy map is a 2D image with pixels filled with values ​​indicating that a tile is occupied or not occupied by a tile.

[0048] A patch may generally refer to a continuous subset of a surface described by a point cloud. In one example, a patch includes points whose surface normal vectors deviate from each other by less than a threshold amount. The patch generation module (306) segments the point cloud into a set of patches, which may or may not overlap, such that each patch may be described by a depth field relative to a plane in 2D space. In some embodiments, the patch generation module (306) is intended to decompose the point cloud into a minimum number of patches with smooth boundaries while also minimizing reconstruction errors.

[0049] The tile information module (304) can collect tile information indicating the size and shape of the tile. In some examples, the tile information can be packed into an image frame and then encoded by the auxiliary tile information compression module (338) to generate compressed auxiliary tile information.

[0050] The tile packing module (308) is configured to map the extracted tiles onto a 2D grid while minimizing unused space and ensuring that each M×M (e.g., 16x16) block of the grid is associated with a unique tile. Effective tile packing can directly affect compression efficiency by minimizing unused space or ensuring temporal consistency.

[0051] The geometry image generation module (310) can generate a 2D geometry image associated with the geometry of the point cloud at a given tile position. The texture image generation module (312) can generate a 2D texture image associated with the texture of the point cloud at a given tile position. The geometry image generation module (310) and the texture image generation module (312) use the 3D to 2D mapping calculated in the packing process to store the geometry and texture of the point cloud as images. To better handle the situation where multiple points are projected to the same sample, each tile is projected onto two images called layers. In one example, the geometry image is represented by a monochrome frame of WxH in YUV420-8 bit format. To generate the texture image, the texture generation process uses the reconstructed / smoothed geometry to calculate the colors associated with the resampled points.

[0052] The occupancy map module (314) can generate an occupancy map describing fill information at each cell. For example, the occupancy image includes a binary map indicating whether each cell of the grid belongs to empty space or to a point cloud. In one example, the occupancy map uses binary information to describe whether each pixel is filled. In another example, the occupancy map uses binary information to describe whether each pixel block is filled.

[0053] The occupancy map generated by the occupancy map module (314) can be compressed using lossless encoding or lossy encoding. When lossless encoding is used, the entropy compression module (334) is used to compress the occupancy map. When lossy encoding is used, the video compression module (332) is used to compress the occupancy map.

[0054] It is worth noting that the tile packing module (308) may leave some empty spaces between the packed 2D tiles in the image frame. The image padding module (316) and the image padding module (318) may fill these empty spaces (referred to as padding) to generate image frames suitable for 2D video and image codecs. Image padding is also known as background padding, which can fill unused space with redundant information. In some examples, good background padding minimally increases the bit rate and does not introduce noticeable coding distortion around tile boundaries.

[0055] The video compression module (322), the video compression module (323), and the video compression module (332) can encode 2D images (e.g., filled geometry images, filled texture images, and occupancy maps) based on a suitable video coding standard (e.g., HEVC, VVC, etc.). In the example, the video compression module (322), the video compression module (323), and the video compression module (332) are independent components that operate separately. It is worth noting that in another example, the video compression module (322), the video compression module (323), and the video compression module (332) can be implemented as a single component.

[0056] In some examples, the smoothing module (336) is configured to generate a smoothed image of the reconstructed geometric image. The smoothed image can be provided to the texture image generation module (312). The texture image generation module (312) can then adjust the generation of the texture image based on the reconstructed geometric image. For example, when the tile shape (e.g., the geometric shape) is slightly distorted during encoding and decoding, the distortion can be taken into account when generating the texture image to correct the distortion on the tile shape.

[0057] In some embodiments, the group expansion module (320) is configured to fill pixels around object boundaries with redundant low-frequency content to improve coding gain and visual quality of the reconstructed point cloud.

[0058] The multiplexer (324) may multiplex the compressed geometry image, the compressed texture image, the compressed occupancy map, and / or the compressed auxiliary tile information into the compressed bitstream.

[0059] Figure 4A block diagram of a V-PCC decoder (400) for decoding a compressed bitstream corresponding to a point cloud frame according to some embodiments is shown. In some embodiments, the V-PCC decoder (400) can be used in the communication system (100) and the streaming system (200). For example, the decoder (210) can be configured to operate in a similar manner to the V-PCC decoder (400). The V-PCC decoder (400) receives a compressed bitstream and generates a reconstructed point cloud based on the compressed bitstream.

[0060] exist Figure 4 In the example of , the V-PCC decoder (400) includes a demultiplexer (432), a video decompression module (434) and a video decompression module (436), an occupancy map decompression module (438), an auxiliary tile information decompression module (442), a geometry reconstruction module (444), a smoothing module (446), a texture reconstruction module (448) and a color smoothing module (452).

[0061] The demultiplexer (432) may receive the compressed bitstream and separate it into compressed texture images, compressed geometry images, compressed occupancy maps, and compressed auxiliary tile information.

[0062] The video decompression module (434) and the video decompression module (436) can decode the compressed image according to a suitable standard (e.g., HEVC, VVC, etc.) and output the decompressed image. For example, the video decompression module (434) decodes the compressed texture image and outputs the decompressed texture image; and the video decompression module (436) decodes the compressed geometric image and outputs the decompressed geometric image.

[0063] The occupancy map decompression module (438) may decode the compressed occupancy map according to a suitable standard (eg, HEVC, VVC, etc.) and output a decompressed occupancy map.

[0064] The auxiliary tile information decompression module (442) can decode the compressed auxiliary tile information according to a suitable standard (eg, HEVC, VVC, etc.) and output the decompressed auxiliary tile information.

[0065] The geometry reconstruction module (444) receives the decompressed geometry image and generates a reconstructed point cloud geometry based on the decompressed occupancy map and the decompressed auxiliary patch information.

[0066] The smoothing module (446) can smooth out inconsistencies at the edges of tiles. The smoothing process is intended to mitigate potential discontinuities that occur at tile boundaries due to compression artifacts. In some embodiments, a smoothing filter can be applied to pixels located on tile boundaries to reduce distortion that may be caused by compression / decompression.

[0067] The texture reconstruction module (448) can determine texture information of points in the point cloud based on the decompressed texture image and the smoothed geometry.

[0068] The color smoothing module (452) can smooth out color inconsistencies. Non-adjacent tiles in three-dimensional space are usually packed next to each other in 2D video. In some examples, pixel values ​​from non-adjacent tiles may be mixed by a block-based video codec. The goal of color smoothing is to reduce visible artifacts that appear at tile boundaries.

[0069] Figure 5 A block diagram of a video decoder (510) according to an embodiment of the present disclosure is shown. The video decoder (510) may be used in the V-PCC decoder (400). For example, the video decompression module (434) and the video decompression module (436), the occupancy map decompression module (438) may be configured similarly to the video decoder (510).

[0070] The video decoder (510) may include a parser (520) to reconstruct symbols (521) from a compressed image (e.g., an encoded video sequence). The categories of these symbols include information for managing the operation of the video decoder (510). The parser (520) may parse / entropy decode the received encoded video sequence. The encoding of the encoded video sequence may be performed according to a video coding technique or standard and may follow various principles, including variable length coding, Huffman coding, arithmetic coding with or without context sensitivity, etc. The parser (520) may extract a subgroup parameter set for at least one of a plurality of subgroups of pixels in the video decoder from the encoded video sequence based on at least one parameter corresponding to the group. The subgroup may include a group of pictures (Group of Pictures, GOP), a picture, a tile, a slice, a macroblock, a coding unit (Coding Unit, CU), a block, a transform unit (Transform Unit, TU), a prediction unit (Prediction Unit, PU), etc. The parser (520) may also extract information from the encoded video sequence, such as transform coefficients, quantizer parameter values, motion vectors, and so on.

[0071] The parser (520) may perform entropy decoding / parsing operations on the video sequence received from the buffer memory, thereby creating symbols (521).

[0072] Depending on the type of the coded video picture or a portion of the coded video picture (e.g., inter- and intra-pictures, inter- and intra-blocks) and other factors, the reconstruction of the symbol (521) may involve a number of different units. The units involved and the manner of involvement may be controlled by subgroup control information parsed by the parser (520) from the coded video sequence. For the sake of brevity, such subgroup control information flow between the parser (520) and the various units described below is not described.

[0073] In addition to the functional blocks already mentioned, the video decoder (510) can be conceptually subdivided into a number of functional units as described below. In a practical implementation operating under commercial constraints, many of these units interact closely with each other and may be at least partially integrated with each other. However, for the purposes of describing the disclosed subject matter, it is appropriate to conceptually subdivide the video decoder into the functional units below.

[0074] The first unit is a sealer / inverse transform unit (551). The sealer / inverse transform unit (551) receives quantized transform coefficients as symbols (521) from the parser (520) and control information including which transform to use, block size, quantization factor, quantization scaling matrix, etc. The sealer / inverse transform unit (551) may output a block including sample values, which may be input into an aggregator (555).

[0075] In some cases, the output samples of the scaler / inverse transform (551) may belong to an intra-coded block; that is, a block that does not use predictive information from a previously reconstructed picture, but may use predictive information from a previously reconstructed portion of the current picture. Such prediction information may be provided by an intra-picture prediction unit (552). In some cases, the intra-picture prediction unit (552) generates a block of the same size and shape as the block being reconstructed using surrounding reconstructed information extracted from a current picture buffer (558). For example, the current picture buffer (558) buffers a partially reconstructed current picture and / or a fully reconstructed current picture. In some cases, the aggregator (555) adds the prediction information generated by the intra-prediction unit (552) to the output sample information provided by the scaler / inverse transform unit (551) on a per-sample basis.

[0076] In other cases, the output samples of the scaler / inverse transform unit (551) may belong to an inter-coded, potentially motion compensated block. In this case, the motion compensated prediction unit (553) may access the reference picture memory (557) to extract samples for prediction. After the extracted samples are motion compensated according to the symbols (521) belonging to the block, these samples may be added to the output of the scaler / inverse transform unit (551) (in this case referred to as residual samples or residual signals) by the aggregator (555) to generate output sample information. The address at which the motion compensated prediction unit (553) retrieves the predicted samples from the reference picture memory (557) may be controlled by a motion vector, and the motion vector is provided to the motion compensated prediction unit (553) in the form of a symbol (521), which may have, for example, X, Y and reference picture components. Motion compensation may also include interpolation of sample values ​​extracted from the reference picture memory (557) when using sub-sample accurate motion vectors, motion vector prediction mechanisms, etc.

[0077] The output samples of the aggregator (555) may be subjected to various loop filtering techniques in a loop filter unit (556). The video compression techniques may include in-loop filter techniques controlled by parameters included in the coded video sequence (also referred to as the coded video code bitstream) and available to the loop filter unit (556) as symbols (521) from the parser (520), however, the video compression techniques may also be responsive to meta-information obtained during decoding of a coded picture or a previous (in decoding order) portion of the coded video sequence, as well as to previously reconstructed and loop filtered sample values.

[0078] The output of the loop filter unit (556) may be a sample stream that may be output to a rendering device and stored in a reference picture memory (557) for subsequent inter-picture prediction.

[0079] Once fully reconstructed, certain coded pictures may be used as reference pictures for future prediction. For example, once the coded picture corresponding to the current picture is fully reconstructed, and the coded picture is identified as a reference picture (e.g., by the parser (520)), the current picture buffer (558) may become part of the reference picture memory (557), and a new current picture buffer may be reallocated before starting to reconstruct a subsequent coded picture.

[0080] The video decoder (510) may perform decoding operations according to a predetermined video compression technique in a standard such as ITU-T Rec. H.265. In the case where the encoded video sequence follows the syntax of the video compression technique or standard and the profile recorded in the video compression technique or standard, the encoded video sequence may conform to the syntax specified by the video compression technique or standard being used. Specifically, the profile may select certain tools from all the tools available in the video compression technique or standard as the only tools available for use under the profile. For compliance, the complexity of the encoded video sequence may also be required to be within the range defined by the hierarchy of the video compression technique or standard. In some cases, the hierarchy limits the maximum picture size, the maximum frame rate, the maximum reconstruction sampling rate (measured in, for example, mega samples per second), the maximum reference picture size, etc. In some cases, the limits set by the hierarchy may be further limited by the Hypothetical Reference Decoder (HRD) specification and metadata of the HRD buffer management signaled in the encoded video sequence.

[0081] Figure 6 A block diagram of a video encoder (603) according to an embodiment of the present disclosure is shown. The video encoder (603) can be used in a V-PCC encoder (300) for compressing point clouds. In an example, the video compression module (322) and the video compression module (323), as well as the video compression module (332) are configured similarly to the encoder (603).

[0082] The video encoder (603) may receive an image, such as a filled geometry image, a filled texture image, etc., and generate a compressed image.

[0083] According to one embodiment, the video encoder (603) can encode and compress pictures of a source video sequence (image) into a coded video sequence (compressed image) in real time or under any other time constraints required by the application. Implementing an appropriate encoding speed is a function of the controller (650). In some embodiments, the controller (650) controls other functional units as described below and is functionally coupled to the other functional units. For the sake of simplicity, the coupling is not depicted in the figure. The parameters set by the controller (650) may include rate control related parameters (picture skipping, quantizer, lambda value of rate distortion optimization technology...), picture size, picture group (GOP) layout, maximum motion vector search range, etc. The controller (650) can be configured to have other suitable functions that are related to the video encoder (603) optimized for a certain system design.

[0084] In some embodiments, the video encoder (603) is configured to operate in an encoding loop. As a simple description, in an example, the encoding loop may include a source encoder (630) (e.g., responsible for creating symbols, such as a symbol stream, based on an input picture to be encoded and one (or more) reference pictures) and a (local) decoder (633) embedded in the video encoder (603). The decoder (633) reconstructs the symbols to create sample data in a manner similar to how a (remote) decoder can create sample data (because in the video compression technology considered by the disclosed subject matter, any compression between the symbols and the encoded video bitstream is lossless). The reconstructed sample stream (sample data) is input to a reference picture memory (634). Since the decoding of the symbol stream produces bit-accurate results that are independent of the decoder location (local or remote), the contents of the reference picture memory (634) are also bit-accurately corresponding between the local encoder and the remote encoder. In other words, the reference picture samples "seen" by the prediction part of the encoder are exactly the same as the sample values ​​that the decoder will "see" when using the prediction during decoding. This basic principle of reference picture synchronization (and the drift that occurs when synchronization cannot be maintained, eg due to channel errors) is also used in some related techniques.

[0085] The operation of the "local" decoder (633) may be identical to the operation of a "remote" decoder, such as the one described above in connection with Figure 5 The video decoder (510) is described in detail. However, please refer to Figure 5 , when symbols are available and the entropy encoder (645) and parser (520) are capable of losslessly encoding / decoding the symbols into an encoded video sequence, the entropy decoding portion of the video decoder (510) including the parser (520) may not be fully implemented in the local decoder (633).

[0086] At this point it can be observed that any decoder techniques other than parsing / entropy decoding present in the decoder must also be present in the corresponding encoder in substantially the same functional form. For this reason, the disclosed subject matter focuses on the decoder operation. The description of encoder techniques can be simplified because encoder techniques are reciprocal to the fully described decoder techniques. A more detailed description is only required in certain areas, which is provided below.

[0087] During operation, in some examples, the source encoder (630) may perform motion compensated predictive coding, which predictively encodes an input picture with reference to one or more previously encoded pictures in a video sequence designated as "reference pictures." In this manner, the encoding engine (632) encodes the differences between pixel blocks of an input picture and pixel blocks of one (or more) reference pictures that may be selected as prediction references for the input picture.

[0088] The local video decoder (633) can decode the encoded video data of the picture that can be designated as the reference picture based on the symbol created by the source encoder (630). The operation of the encoding engine (632) can advantageously be a lossy process. When the encoded video data is available at the video decoder ( Figure 6 When the video encoder (603) is decoded at a remote location (not shown), the reconstructed video sequence may typically be a copy of the source video sequence with some errors. The local video decoder (633) replicates the decoding process that may be performed by the video decoder on the reference picture and may cause the reconstructed reference picture to be stored in the reference picture cache (634). In this way, the video encoder (603) may locally store a copy of the reconstructed reference picture that has common content (absent transmission errors) with the reconstructed reference picture that will be obtained by the remote video decoder.

[0089] The predictor (635) may perform a prediction search for the encoding engine (632). That is, for a new picture to be encoded, the predictor (635) may search the reference picture memory (634) for sample data (as candidate reference pixel blocks) or certain metadata, such as reference picture motion vectors, block shapes, etc., that may serve as appropriate prediction references for the new picture. The predictor (635) may operate on a pixel block by pixel block basis to find a suitable prediction reference. In some cases, as determined by the search results obtained by the predictor (635), the input picture may have prediction references taken from multiple reference pictures stored in the reference picture memory (634).

[0090] The controller (650) may manage encoding operations of the source encoder (630), including, for example, setting parameters and sub-group parameters for encoding video data.

[0091] The outputs of all the above functional units may be entropy encoded in an entropy encoder (645). The entropy encoder (645) losslessly compresses the symbols generated by the various functional units to generate a compressed image 643 according to techniques such as Huffman coding, variable length coding, arithmetic coding, etc., thereby transforming the symbols into a coded video sequence.

[0092] The controller (650) can manage the operation of the video encoder (603). During encoding, the controller (650) can assign a certain coded picture type to each coded picture, but this may affect the coding techniques that can be applied to the corresponding picture. For example, a picture can generally be assigned to any of the following picture types:

[0093] An intra picture (I picture) may be a picture that can be encoded and decoded without using any other picture in the sequence as a prediction source. Some video codecs allow different types of intra pictures, including, for example, Independent Decoder Refresh ("IDR") pictures. Those skilled in the art are aware of the variations of I pictures and their corresponding applications and features.

[0094] A predictive picture (P picture) may be a picture that can be encoded and decoded using intra prediction or inter prediction, which uses at most one motion vector and a reference index to predict sample values ​​for each block.

[0095] Bidirectional predictive pictures (B pictures), which can be pictures that can be encoded and decoded using intra prediction or inter prediction, which uses up to two motion vectors and reference indices to predict the sample values ​​of each block. Similarly, multiple predictive pictures can use more than two reference pictures and associated metadata for reconstructing a single block.

[0096] The source picture may typically be spatially subdivided into blocks of samples (e.g., blocks of 4×4, 8×8, 4×8, or 16×16 samples), and coded block by block. These blocks may be predictively coded with reference to other (already coded) blocks, which are determined by the coding allocation applied to the block's corresponding picture. For example, a block of an I picture may be non-predictively coded, or the block may be predictively coded (spatial prediction or intra-frame prediction) with reference to already coded blocks of the same picture. A block of a P picture may be predictively coded by spatial prediction with reference to one previously coded reference picture or by temporal prediction. A block of a B picture may be predictively coded by spatial prediction with reference to one or two previously coded reference pictures or by temporal prediction.

[0097] The video encoder (603) may perform encoding operations according to a predetermined video encoding technique or standard, such as ITU-T Rec. H.265. In operation, the video encoder (603) may perform various compression operations, including predictive encoding operations that exploit temporal and spatial redundancy in an input video sequence. Thus, the encoded video data may conform to the syntax specified by the video encoding technique or standard used.

[0098] The video may be in the form of multiple source pictures (images) in a temporal sequence. Intra-picture prediction (often shortened to intra-prediction) exploits spatial correlations in a given picture, while inter-picture prediction exploits (temporal or other) correlations between pictures. In an example, a particular picture being encoded / decoded is divided into blocks, and the particular picture being encoded / decoded is referred to as the current picture. When a block in the current picture is similar to a reference block in a reference picture that was previously encoded in the video and is still buffered, the block in the current picture may be encoded by a vector called a motion vector. The motion vector points to a reference block in a reference picture, and in the case of using multiple reference pictures, the motion vector may have a third dimension that identifies the reference picture.

[0099] In some embodiments, bidirectional prediction techniques may be used in inter-picture prediction. According to the bidirectional prediction technique, two reference pictures are used, for example, a first reference picture and a second reference picture that are both before the current picture in the video in decoding order (but may be in the past and future in display order, respectively). A block in the current picture may be encoded by a first motion vector pointing to a first reference block in the first reference picture and a second motion vector pointing to a second reference block in the second reference picture. The block may be predicted by a combination of the first reference block and the second reference block.

[0100] In addition, merge mode technology can be used in inter-picture prediction to improve coding efficiency.

[0101] According to some embodiments of the present disclosure, predictions such as inter-picture prediction and intra-picture prediction are performed in units of blocks. For example, according to the HEVC standard, a picture in a video picture sequence is divided into coding tree units (CTUs) for compression, and the CTUs in the picture have the same size, such as 64×64 pixels, 32×32 pixels, or 16×16 pixels. In general, a CTU includes three coding tree blocks (CTBs), which are a luminance CTB and two chrominance CTBs. Each CTU can be recursively split into one or more coding units (CUs) using a quadtree. For example, a 64×64 pixel CTU can be split into a 64×64 pixel CU, or 4 32×32 pixel CUs, or 16 16×16 pixel CUs. In the example, each CU is analyzed to determine a prediction type for the CU, such as an inter-prediction type or an intra-prediction type. Depending on temporal and / or spatial predictability, the CU is split into one or more prediction units (PUs). Typically, each PU includes a luma prediction block (PB) and two chroma PBs. In an embodiment, the prediction operation in encoding (encoding / decoding) is performed in units of prediction blocks. Taking the luma prediction block as an example of a prediction block, the prediction block includes a matrix of values ​​(e.g., luma values) for pixels, such as 8×8 pixels, 16×16 pixels, 8×16 pixels, 16×8 pixels, and the like.

[0102] The G-PCC model can compress geometric information and associated attributes, such as color or reflectivity, separately. The geometric information, i.e., the 3D coordinates of the point cloud, can be encoded by an octree decomposition of its occupancy information. On the other hand, the attribute information can be encoded by a DPCM-like technique that performs closed-loop prediction of LOD data between different levels. The LOD information can be constructed in the same manner at the encoder and decoder based on the decoded geometric information. Basically, the LOD can be constructed in such a way that as more LODs are provided, more detailed information of a given point cloud can be obtained in a continuous manner. When performing sample-based prediction for attribute encoding, a nearest-neighbor tree search can be used to find neighboring samples for weighted prediction. The weight can be calculated as the inverse of the geometric distance of each neighboring sample.

[0103] Figure 7A block diagram of a G-PCC decoder (800) applied during a G-PCC decomposition process according to an embodiment is shown. The decoder (800) may be configured to receive a compressed bitstream and perform point cloud data decompression, thereby decompressing the bitstream to generate decoded point cloud data. In an embodiment, the decoder (800) may include an arithmetic decoding module (810), an inverse quantization module (820), an octree decoding module (830), an LOD generation module (840), an inverse quantization module (850), and an inverse interpolation-based prediction module (860).

[0104] As shown, a compressed bitstream (801) may be received at an arithmetic decoding module (810). The arithmetic decoding module (810) is configured to decode the compressed bitstream (801) to obtain a quantized prediction residual (if generated) and an occupancy code (or symbol) for a point cloud. An octree decoding module (830) is configured to generate a quantized position of a point in the point cloud based on the occupancy code. An inverse quantization module (850) is configured to generate a reconstructed position of a point in the point cloud based on the quantized position provided by the octree decoding module (830).

[0105] The LOD generation module (840) is configured to reorganize the points into different LODs based on the reconstruction positions and determine the LOD-based order. The inverse quantization module (820) is configured to generate a reconstruction prediction residual based on the quantized prediction residual received from the arithmetic decoding module (810). The inverse interpolation-based prediction module (860) is configured to perform an attribute prediction process to generate a reconstructed attribute of a point in the point cloud based on the reconstruction prediction residual received from the inverse quantization module (820) and the LOD-based order received from the LOD generation module (840).

[0106] Furthermore, in one example, the reconstructed attributes generated from the inverse interpolation based prediction module (860) and the reconstructed positions generated from the inverse quantization module (850) together correspond to the decoded point cloud (or reconstructed point cloud) (802) output from the decoder (800).

[0107] Figure 8 A block diagram of a G-PPC encoder (700) according to an embodiment is shown. The encoder (700) may be configured to receive point cloud data and compress the point cloud data to generate a bitstream carrying compressed point cloud data. In an embodiment, the encoder (700) may include a position quantization module (710), a duplicate point removal module (712), an octree encoding module (730), an attribute transmission module (720), an LOD generation module (740), an interpolation-based prediction module (750), a residual quantization module (760), and an arithmetic coding module (770).

[0108] As shown, an input point cloud (701) may be received at an encoder (700). Positions (e.g., 3D coordinates) of the point cloud (701) are provided to a quantization module (710). The quantization module (710) is configured to quantize the coordinates to generate quantized positions. A duplicate point removal module (712) is configured to receive the quantized positions and perform a filtering process to identify and remove duplicate points. An octree encoding module (730) is configured to receive the filtered positions from the duplicate point removal module (712) and perform an octree-based encoding process to generate an occupancy code (or symbol) sequence describing a 3D grid of voxels. The occupancy codes are provided to an arithmetic coding module (770).

[0109] The attribute transfer module (720) is configured to receive attributes of the input point cloud and perform attribute transfer processing to determine the attribute value of each voxel when multiple attribute values ​​are associated with corresponding voxels. The attribute transfer processing can be performed on the reordered points output from the octree encoding module (730). The attributes after the transfer operation are provided to the interpolation-based prediction module (750). The LOD generation module (740) is configured to operate on the reordered points output from the octree encoding module (730) and reorganize the points into different LODs. The LOD information is provided to the interpolation-based prediction module (750).

[0110] The interpolation-based prediction module (750) processes the points according to the LOD-based order indicated by the LOD information from the LOD generation module (740) and the transmission attributes received from the attribute transmission module (720), and generates prediction residuals. The residual quantization module (760) is configured to receive the prediction residuals from the interpolation-based prediction module (750) and perform quantization to generate quantized prediction residuals. The quantized prediction residuals are provided to the arithmetic coding module (770). The arithmetic coding module (770) is configured to receive the occupancy code from the octree coding module (730), receive the candidate index (if used), receive the quantized prediction residuals from the interpolation-based prediction module (750), and receive other information, and perform entropy coding to further compress the received values ​​or information. Therefore, a compressed bitstream (702) carrying compressed information can be generated. The bitstream (702) can be sent or otherwise provided to a decoder that decodes the compressed bitstream, or can be stored in a storage device.

[0111] It is worth noting that the interpolation-based prediction module (750) and the inverse interpolation-based prediction module (860) configured to implement the attribute prediction technology disclosed herein can be included in other decoders or encoders, which can have the same Figure 7 and Figure 8Similar or different structures are shown. In addition, in various examples, the encoder (700) and the decoder (800) can be included in the same device, or in separate devices.

[0112] In various embodiments, the encoder (300), decoder (400), encoder (700) and / or decoder (800) may be implemented in hardware, software or a combination thereof. For example, the encoder (300), decoder (400), encoder (700) and / or decoder (800) may be implemented in processing circuits such as one or more integrated circuits (ICs) that operate with or without software (e.g., application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), etc.). In another example, the encoder (300), decoder (400), encoder (700) and / or decoder (800) may be implemented as software or firmware that includes instructions stored in a non-volatile (or non-transient) computer-readable storage medium. When the instructions are executed by a processing circuit (e.g., one or more processors), the instructions cause the processing circuit to perform the functions of the encoder (300), decoder (400), encoder (700) and / or decoder (800).

[0113] In the current G-PCC attribute coding based on prediction transformation, the LOD of each 3D point can be generated based on the distance of each point. The attribute values ​​of the 3D points in each LOD can be encoded by applying prediction in an LOD-based order. Fig. 9 FIG. 9 shows the LOD generation process 900 in G-PCC. Fig. 9 As shown, points P0, P5, P4, and P2 can be in LOD0. Points P1, P6, and P3 can be in LOD1. P9, P8, and P7 can be in LOD2. The attribute value of P2 is predicted by calculating the distance-based weighted average of P0, P5, and P4 encoded or decoded before P2.

[0114] In an embodiment, in the current G-PCC attribute coding, the variability of the neighborhood of the current point (e.g., P2) can be calculated to check the degree to which the neighboring values ​​are different and whether the variability is below a threshold. If the threshold is below the threshold, a distance-based weighted average prediction can be performed as follows.

[0115] Attribute value (a i ) i∈0…k-1 It can be predicted by using a linear interpolation process based on the distances of the nearest neighboring points of the current point i. Let be the set of K nearest neighbors of the current point i, and Let be the decoded / reconstructed property values ​​of the K nearest neighbors, and is the distance between the K nearest points and the current point i. The predicted attribute value for the current point i It can be given by the following formula (1):

[0116]

[0117] It is worth noting that when encoding attributes, the geometric positions of all point clouds are available. In addition, neighboring points and reconstructed attribute values ​​of neighboring points are available at both the encoder and decoder, where a KD tree structure can be used to facilitate the nearest-neighbor search for each point in the same way.

[0118] In another embodiment, if the variability is above a threshold, a rate-distortion optimized predictor selection may be performed. In generating the LOD, multiple predictor candidates may be created based on the results of the neighbor search. For example, when encoding the attribute value of P2 by using prediction, the distance-based weighted average of P0, P5, and P4 may be set to a predictor index equal to 0. Then, the value of the nearest neighbor P4 may be set to a prediction index equal to 1. In addition, the values ​​of the next nearest neighbors P5 and P0 may be set to predictor indices equal to 2 and 3, respectively, as shown in Table 1. After creating the predictor candidates, the best predictor is selected by applying a rate-distortion optimization procedure, and then the selected predictor index is arithmetically encoded.

[0119] Table 1: Sample predictor candidates for attribute encoding

[0120] Predictor Index Predicted value 0 average 1 P4 (first closest point) 2 P5 (second closest point) 3 P0 (third closest point)

[0121] The maximum number of predictor candidates (also referred to as MaxNumCand) may be defined and further encoded into the attribute header. In the current G-PCC attribute coding, MaxNumCand may be set equal to the number of nearest neighbors in the prediction plus 1 (e.g., NumberOfnearestNeighsinPrediction+1), and may also be used in encoding and decoding predictor indices using truncated unary binarization.

[0122] In the current G-PCC attribute coding based on lifting transform, the lifting transform can be built on the above prediction transform. The main difference between the prediction scheme (or prediction transform) and the lifting scheme (or lifting transform) is the introduction of the update operator.

[0123] Fig. 9An exemplary architecture of P / U (Prediction / Update) boosting in G-PCC is shown. In order to facilitate the prediction and update steps in the boosting transformation, the input attribute signal can be decomposed into two sets of highly correlated signals at each stage of decomposition. In the boosting scheme in G-PCC, the above-mentioned LOD structure can be used for splitting, where high correlation is expected between layers and each layer is constructed by nearest neighbor search to organize non-uniform point clouds into structured data. In addition, the P / U decomposition step of each layer (e.g., N) can produce a detail signal (e.g., D(N-1)) and an approximation signal (e.g., A(N-1)). As shown Fig. 9 As shown, for example, an input attribute signal including LOD(N), LOD(N-1)...LOD(1) can be split into LOD(N) and LOD(N-1)...LOD(1). LOD(N-1)...LOD(1) can be an even sample set and can be used as a predictor of LOD(N). LOD(N) can be an odd sample set. Then, a difference signal (or detail signal) D(N-1) can be generated based on the difference between the LOD(N) and LOD(N) predictors. The difference signal D(N-1) can be a high-pass signal. In addition, a low-pass signal (or approximate signal) A(N-1) can be generated after the updating step as an approximate signal of LOD(N-1)...LOD(1).

[0124] The detail signal D(N-1) and the approximation signal A(N-1) can be further decomposed into D(N-2) and A(N-2). The decomposition step can be repeatedly applied until the base layer approximation signal A(1) is obtained.

[0125] Thus, the lifting scheme may encode D(N-1), D(N-2), ..., D(1), A(1) instead of encoding the input attribute signal itself, which may include LOD(N), ..., and LOD(1). It should be noted that the application of an effective P / U step often results in sparse sub-band "coefficients" in D(N-1), ..., D(1). Therefore, the application of an effective P / U step may provide a transform coding gain advantage.

[0126] It should be noted that in the attribute coding in the current G-PCC, only the distance-based weighted average prediction described above in the prediction transformation is applied in the prediction step during the lifting transformation.

[0127] For point cloud attributes such as color, there is significant redundancy between channels. To improve coding efficiency, color space conversion can be performed as a pre / post-processing step. Even after such a conversion, there is still significant correlation between channels in the converted color space. However, unlike RGB domain prediction or residual prediction, the YCbCr space counterparts usually adopt a first-order linear relationship. Color space conversion requires estimation and / or signaling of scaling and offset parameters. In the exemplary conversion from RGB to YUV, the prediction of the chrominance residual based on the corresponding luminance residual can be provided by the following formulas (2) and (3):

[0128] U=a u ×Y+b u (Formula 2)

[0129] V=a v ×Y+b v (Formula 3)

[0130] Among them, Y refers to the prediction residual of brightness, and U and V refer to the prediction residual of chrominance.

[0131] In the present disclosure, a method for joint chrominance channel coding of point cloud attributes is provided. For example, compared with related examples that only limit inter-channel decorrelation between chrominance signals, the method provided by the present disclosure can effectively perform inter-channel decorrelation to improve compression efficiency without the overhead of parameter estimation and encoding. The method provided herein belongs to the prediction transform and lifting transform in the above-mentioned G-PCC. The method can be applied to similar codecs for point clouds.

[0132] In order to decorrelate the multi-channel signal, a predictor may be applied. In the present disclosure, a predictor may be applied to predict the residual signal of the channel so that the second order residual may be quantized and entropy encoded instead of the original residual. The present disclosure includes embodiments in which the predicted residuals based on the Cb and Cr chrominance channels may be correlated.

[0133] Embodiments of the present disclosure are applicable to prediction conversion and lifting conversion in G-PCC. Since the detail subband coefficients (e.g., D(N-1)) are the output of the prediction step of the lifting conversion, the detail subband coefficients can basically be prediction residual signals, and under the same prediction strategy, the detail subband coefficients are similar between different color channels.

[0134] In this disclosure, Res Cb and Res CrThe prediction residual signals representing the Cb component and the Cr component (also referred to as the Cb component and the Cr component of the chrominance prediction residual information) are respectively encoded. One of the prediction residual signals and the combination of the prediction residual signals may be encoded based on the correlation between the prediction residual symbols. In an embodiment, when two residual signals (e.g., the Cb prediction residual signal and the Cr prediction residual signal) are positively correlated, the Res Cb and Res cb -Res Cr Encode instead of Res Cb and Res Cr In another embodiment, when the two residual signals are negatively correlated, Res Cb and Res Cb +Res Cr Encode instead of Res Cb and Res Cr In another embodiment, when the two residual signals are neither negatively correlated nor positively correlated, Res CB and Res CR to encode.

[0135] In order to determine the type of correlation between the Cb component and the Cr component of the chroma prediction residual information, a threshold test of the calculated signal correlation of the two chroma channel prediction residuals (e.g., the Cb component and the Cr component) can be performed. In an embodiment, the sign (or type) of the correlation between the two chroma residual components (e.g., the Cb component and the Cr component) can be derived by using reconstructed or unquantized residual samples (e.g., points in the same point cloud) of a frame (or other coding unit such as a video, tile, or slice) available at both the encoder and the decoder. In an embodiment, the sign of the correlation between the two chroma residual components can be derived by reconstructed or unquantized residual samples of a frame (or other unit such as a video, tile, or slice) only at the encoder, and the sign of the derived correlation can also be signaled to the decoder in the bitstream. In another embodiment, the sign of the correlation between the two chroma residual components can be derived by using reconstructed or unquantized residual samples from a previous LOD at the encoder and the decoder. In another embodiment, the sign of the correlation between two chroma residual components may be derived only at the encoder by using reconstructed or unquantized residual samples from the previous LOD, and the sign of the derived correlation may also be signaled to the decoder in the bitstream.

[0136] In another embodiment, the sign of the correlation between the two chroma residual components can be derived by using the unquantized residual samples of the LOD to which the current point cloud pixel (or the current point in the point cloud) belongs at the encoder, and the sign of the derived correlation can also be signaled to the decoder in the bitstream. In another embodiment, the sign of the correlation between the two chroma residual components can be derived by using reconstructed or unquantized residual samples of the N nearest samples from the current point at both the encoder and the decoder, where N can be the number of predicted samples obtained as a result of LOD generation and nearest neighbor search in the GPCC test model design. In an exemplary embodiment of the present disclosure, N can be set to 3 or 4.

[0137] The threshold used in the threshold test can be adaptively adjusted according to the signal characteristics and encoding conditions. The threshold can be signaled in the bitstream. In an embodiment, the threshold can be set to the percentage of the number of pixels with positive per-pixel correlation in the above-mentioned LOD. Therefore, the threshold can be applied to determine that the signed correlation during the encoding of the above-mentioned residual is positive. Similarly, the threshold can be set to the percentage of the number of pixels with negative per-pixel correlation in the above-mentioned LOD. Therefore, the threshold can be applied to determine that the signed correlation during the encoding of the above-mentioned residual is negative.

[0138] In an embodiment, a global enable signal may be sent in the bitstream to indicate whether residual coding is enabled or to be used. The global enable signal may be applicable in a coding unit, such as a video, a frame, a tile or a slice.

[0139] When the global enable signal indicates that residual coding is to be used, a first binary flag may be sent to indicate whether there is a correlation between the first chrominance signal and the second chrominance signal. If the first binary flag is set to true (or a first value, or 1), a second binary flag may be sent to indicate whether the correlation is positive or negative. For example, the first binary flag and the second binary flag may be sent to each LOD in the G-PCC. The above threshold test may still be applied to determine the sign of the correlation (e.g., positive or negative correlation).

[0140] An exemplary embodiment of the residual encoding method can be shown in a first type C pseudo code as follows:

[0141]

[0142] Among them, inter_chroma_prediction_enabled_flag can be a global enable flag, and decode(SignNonzero) can be a first binary flag. The first binary flag (e.g., decode(SignNonzero)) can provide a first bit signal for each LOD at hand to indicate whether there is a correlation. If the first binary flag (e.g., decode(SignNonzero)) is 1 (or a first value), the second binary flag (e.g., decode(Sign)) can provide a second bit signal to actually determine the sign of the correlation. For example, as shown in the first type C pseudocode above, when the second binary flag is 1 (or a first value), the sign of the correlation is -1 (or negative). When the second binary flag is zero (or a second value), the sign of the correlation is 1 (or positive). In addition, if the first binary flag (e.g., decode(SignNonzero)) is zero (or a second value), the correlation type is zero, which means that there is no correlation between the first chroma signal and the second chroma signal. The correlation sign of each point i can be stored in the array SaveSign[].

[0143] In addition, the residual reconstruction process can be provided in the second type of C pseudo code as follows:

[0144]

[0145]

[0146] Wherein, reconsructedcolor[1] and reconsructedcolor[2] may be the first chroma signal and the second chroma signal (or attribute value), respectively, and dequantize() may be an inverse quantization process of the output reconstructed sample. As shown in the second type of C pseudo code, the first chroma signal (e.g., reconsructedcolor[1]) may be reconstructed based on a first inverse quantization process of the first chroma prediction residual information (e.g., ColorQuantizationIndex[1]). When the global enable flag (e.g., inter_chroma_prediction_enabled_flag) is 1, the second chroma signal (e.g., restructedcolor[2]) may be equal to the first part and the second part. The first part may be obtained by performing a second inverse quantization process on the second chroma prediction residual information (e.g., dequantize(ColorQuantizationIndex[2])), and the second part may be obtained by multiplying the reconstructed first chroma information (e.g., reconsRuctedColor[1]) by the type of correlation between the first chroma prediction residual information and the second chroma prediction residual information (e.g., SaveSign[lod_counter]). In addition, when the global enable flag (e.g., inter_chroma_prediction_enabled_flag) is zero (or a second value), the second chroma information (e.g., reconsructedColor[2]) may be reconstructed by performing an inverse quantization process on the second chroma prediction residual information (e.g., dequantize(ColorQuantizationIndex[2])).

[0147] It should be noted that SaveSign[lod_counter] may be applied to reflect the sign dependency determined for the (lod_count-1)th LOD (eg, LOD(N-1)) during sample reconstruction.

[0148] In some embodiments, the above method may be applied to other multi-channel signals where two channels are correlated in a first order relationship with zero offset.

[0149] The above techniques may be implemented in a video encoder or decoder suitable for point cloud compression / decompression. The encoder / decoder may be implemented in hardware, software, or any combination thereof, and the software (if any) may be stored in one or more non-transitory computer-readable media. For example, each method (or implementation), encoder, and decoder may be implemented by a processing circuit (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-transitory computer-readable medium.

[0150] Fig.11 and 12 A flowchart of an overview process (1100) and a process (1200) according to an embodiment of the present disclosure is shown. The process (1100) and the process (1200) can be used in the decoding process of the point cloud. In various embodiments, the process (1100) and the process (1200) can be performed by a processing circuit, such as a processing circuit in a terminal device (110), a processing circuit that performs the functions of an encoder (203) and / or a decoder (201), a processing circuit that performs the functions of an encoder (300), a decoder (400), an encoder (700) and / or a decoder (800), etc. In some embodiments, the process (1100) and the process (1200) can be implemented in software instructions, so that when the processing circuit executes the software instructions, the processing circuit performs the process (1100) and the process (1200) respectively.

[0151] like Fig.11 As shown, the process (1100) starts from (S1101) and proceeds to (S1110).

[0152] In (S1110), chrominance prediction residual information of points in a point set may be received from an encoded bitstream including a point cloud of the point set. The chrominance prediction residual information may include a Cb component and a Cr component.

[0153] In (S1120), the correlation type of the Cb component and the Cr component of the chrominance prediction residual information may be determined from the encoded bit stream of the point cloud by the processing circuit.

[0154] In (S1130), the chroma prediction residual information may be decoded based on the correlation type of the Cb component and the Cr component of the chroma prediction residual information.

[0155] In an example, in order to decode the chroma prediction residual information, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information minus the Cr component may be decoded based on the correlation type between the Cb component and the Cr component being positive.

[0156] In another example, in order to decode the chroma prediction residual information, based on the correlation type between the Cb component and the Cr component being negative, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information plus the Cr component may be decoded.

[0157] In yet another example, in order to decode the chroma prediction residual information, the Cb component of the chroma prediction residual information and the Cr component of the chroma prediction residual information may be decoded based on the absence of correlation between the Cb component and the Cr component.

[0158] In some embodiments, the type of correlation between the Cb component and the Cr component of the chroma prediction residual information may be determined to be positive based on a first number of residual points from the coding region, the previous LOD, and one of the N nearest points positively correlated with the point. In some embodiments, the type of correlation between the Cb component and the Cr component of the chroma prediction residual information may be determined to be negative based on a second number of residual points from the coding region, the previous LOD, and one of the N nearest points negatively correlated with the point.

[0159] In some embodiments, the coding region may include at least one of: a frame, a video sequence, a group of pictures (GOP), a picture, a slice, and a tile.

[0160] In some embodiments, N may be a positive integer equal to 3 or 4.

[0161] In the process (1100), the encoded bitstream may further include signaling information indicating the type of correlation between the Cb component and the Cr component of the chroma prediction residual information. In an example, based on a first number of residual points from the coding region, the previous LOD, the LOD to which the point belongs, and one of the N nearest points positively correlated with the point, the signaling information may indicate that the type of correlation between the Cb component and the Cr component of the chroma prediction residual information is positive. In another example, based on a second number of residual points from the coding region, the previous LOD, the LOD to which the point belongs, and one of the N nearest points negatively correlated with the point, the signaling information may indicate that the type of correlation between the Cb component and the Cr component of the chroma prediction residual information is positive.

[0162] like Fig.12 As shown, the process (1200) starts from (S1201) and proceeds to (S1210).

[0163] In (S1210), first signaling information may be received from a coded bitstream of a point cloud including a point set. The first signaling information may indicate a type of correlation between the first chroma prediction residual information and the second chroma prediction residual information based on points in the point set, and decoding the first chroma prediction residual information and the second chroma prediction residual information. The coded bitstream may include the first chroma prediction residual information and the second chroma prediction residual information.

[0164] In (S1220), a correlation type between the first chroma prediction residual information and the second chroma prediction residual information may be determined based on the first signaling information.

[0165] In (S1230), the first chroma information and the second chroma information may be reconstructed based on the first chroma prediction residual information, the second chroma prediction residual information, and a correlation type between the first chroma prediction residual information and the second chroma prediction residual information.

[0166] In some embodiments, the second signaling information may be determined for the first value based on the first signaling information. The second signaling information may indicate that the type of correlation between the first chroma prediction residual information and the second chroma prediction residual information is determined by the third signaling information. The third signaling information may be determined for the first value based on the second signaling information. The type of correlation between the first chroma prediction residual information and the second chroma prediction residual information may be determined based on the third signaling information.

[0167] In an example, the correlation type between the first chroma prediction residual information and the second chroma prediction residual information can be determined to be negative based on the third signaling information being the first value. In another example, the correlation type between the first chroma prediction residual information and the second chroma prediction residual information can be determined to be positive based on the third signaling information being the second value.

[0168] In the process (1200), the first chroma information may be reconstructed by performing a first inverse quantization process on the first chroma prediction residual information. In addition, in response to the first signaling information being a first value, the second chroma information may be reconstructed, the second chroma information including a first part and a second part. The first part may be obtained by performing a second inverse quantization process on the second chroma prediction residual information, and the second part may be obtained by multiplying the reconstructed first chroma information by a correlation type between the first chroma prediction residual information and the second chroma prediction residual information.

[0169] In some embodiments, the first chroma information may be reconstructed by performing a first inverse quantization process on the first chroma prediction residual information. In response to the first signaling information being a second value, the second chroma information may be reconstructed by performing a second inverse quantization process on the second chroma prediction residual information.

[0170] In some embodiments, the first chroma prediction residual information and the second chroma prediction residual information may be related in a first order relationship with a zero offset.

[0171] As described above, the above techniques may be implemented as computer software that uses computer-readable instructions and is physically stored in one or more computer-readable media. Fig.13A computer system (1800) suitable for implementing certain embodiments of the disclosed subject matter is shown.

[0172] Computer software may be encoded using any suitable machine code or computer language that may be subjected to assembly, compilation, linking, or similar mechanisms to create code comprising instructions that may be executed directly by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., or through interpretation, microcode execution, etc.

[0173] The instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smart phones, gaming devices, IoT devices, and the like.

[0174] Fig.13 The components of the computer system (1800) shown in the example are exemplary in nature and are not intended to suggest any limitation on the scope of use or functionality of computer software implementing embodiments of the present disclosure. The configuration of components should not be interpreted as having any dependency or requirement related to any one or combination of components shown in the exemplary embodiment of the computer system (1800).

[0175] The computer system (1800) may include certain human-machine interface input devices. Such human-machine interface input devices may respond to input from one or more human users through, for example, tactile input (e.g., keystrokes, swipes, data glove movements), audio input (e.g., voice, clapping), visual input (e.g., gestures), olfactory input (not depicted). The human-machine interface device may also be used to capture certain media that are not necessarily directly related to human conscious input, such as audio (e.g., voice, music, ambient sound), images (e.g., scanned images, photographic images obtained from a still image camera), video (e.g., two-dimensional video, three-dimensional video including stereoscopic video), etc.

[0176] The human-machine interface input device may include one or more of the following (only one of each is shown): keyboard (1801), mouse (1802), touch pad (1803), touch screen (1810), data gloves (not shown), joystick (1805), microphone (1806), scanner (1807), camera (1808).

[0177] The computer system (1800) may also include certain human-machine interface output devices. Such human-machine interface output devices may stimulate one or more human user senses through, for example, tactile output, sound, light, and smell / taste. Such human-machine interface output devices may include tactile output devices (e.g., tactile feedback of a touch screen (1810), a data glove (not shown), or a joystick (1805), but may also be a tactile feedback device that is not an input device), an audio output device (e.g., a speaker (1809), headphones (not depicted)), a visual output device (e.g., a screen (1810) including a CRT screen, an LCD screen, a plasma screen, an OLED screen, each with or without touch screen input capabilities, each with or without tactile feedback capabilities - some of which are capable of outputting two-dimensional visual output or output in more than three dimensions through devices such as stereoscopic image output, virtual reality glasses (not depicted), holographic displays, and smoke boxes (not depicted)) and a printer (not depicted).

[0178] The computer system (1800) may also include human-accessible storage devices and their associated media, such as optical media including CD / DVD ROM / RW (1820) with CD / DVD and other media (1821), thumb drives (1822), removable hard drives or solid-state drives (1823), traditional magnetic media such as tapes and floppy disks (not depicted), dedicated ROM / ASIC / PLD-based devices such as security dongles (not depicted), etc.

[0179] Those skilled in the art should also understand that the term "computer-readable media" used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transitory signals.

[0180] The computer system (1800) may also include an interface to one or more communication networks. The network may be, for example, a wireless network, a wired network, an optical network. The network may also be a local network, a wide area network, a metropolitan area network, a vehicle and industrial network, a real-time network, a delay-tolerant network, etc. Examples of networks include local area networks such as Ethernet, wireless LANs, cellular networks including GSM, 3G, 4G, 5G, LTE, etc., television wired or wireless wide area digital networks including cable television, satellite television, and terrestrial broadcast television, vehicle and industrial networks including CANBus, etc. Some networks typically require an external network interface adapter connected to some universal data port or peripheral bus (1849) (e.g., a USB port of the computer system (1800)); as described below, other network interfaces are typically integrated into the kernel of the computer system (1800) by attaching to the system bus (e.g., connected to an Ethernet interface in a PC computer system or connected to a cellular network interface in a smartphone computer system). The computer system (1800) can use any of these networks to communicate with other entities. Such communications may be one-way receive only (e.g., broadcast television), one-way send only (e.g., a CANbus connected to certain CANbus devices), or bidirectional, for example, using a LAN or WAN digital network to connect to other computer systems. As described above, certain protocols and protocol stacks may be used on each of these networks and network interfaces.

[0181] The above-mentioned human-machine interface device, human-machine accessible storage device, and network interface may be attached to the kernel ( 1840 ) of the computer system ( 1800 ).

[0182] The core (1840) may include one or more central processing units (CPUs) (1841), graphics processing units (GPUs) (1842), dedicated programmable processing units in the form of field programmable gate arrays (FPGAs) (1843), hardware accelerators (1844) for certain tasks, etc. These devices, as well as read-only memory (ROM) (1845), random access memory (1846), internal mass storage (1847) such as internal non-user accessible hard drives, SSDs, etc., may be connected via a system bus (1848). In some computer systems, the system bus (1848) may be accessed in the form of one or more physical plugs to enable expansion by additional CPUs, GPUs, etc. Peripheral devices may be attached directly to the core's system bus (1848) or to the core's system bus (1848) via a peripheral bus (1849). The architecture of the peripheral bus includes PCI, USB, etc.

[0183] The CPU (1841), GPU (1842), FPGA (1843) and accelerator (1844) can execute certain instructions, which can be combined to constitute the above-mentioned computer code. The computer code can be stored in ROM (1845) or RAM (1846). Transition data can also be stored in RAM (1846), while permanent data can be stored, for example, in internal mass storage (1847). Fast storage and retrieval to any storage device can be performed by using a cache, which can be closely associated with the following: one or more CPUs (1841), GPUs (1842), mass storage (1847), ROM (1845), RAM (1846), etc.

[0184] The computer readable medium may have thereon computer codes for performing various computer-implemented operations. The medium and computer codes may be those specially designed and constructed for the purposes of the present disclosure, or the medium and computer codes may be of a type well known and available to those skilled in the art of computer software.

[0185] As a non-limiting example, a computer system having an architecture (1800), particularly a kernel (1840), can provide functionality due to one or more processors (including CPUs, GPUs, FPGAs, accelerators, etc.) executing software contained in one or more tangible computer-readable media. Such computer-readable media can be media associated with user-accessible mass storage as described above, as well as certain non-temporary memories of the kernel (1840), such as kernel internal mass storage (1847) or ROM (1845). Software implementing the various embodiments of the present disclosure can be stored in such devices and executed by the kernel (1840). Depending on specific needs, the computer-readable medium may include one or more storage devices or chips. The software can cause the kernel (1840), particularly the processors therein (including CPUs, GPUs, FPGAs, etc.), to perform specific processes or specific parts of specific processes described herein, including defining data structures stored in RAM (1846) and modifying such data structures according to processes defined by the software. Additionally or alternatively, the computer system may provide functionality due to logic hardwired or otherwise embodied in circuitry (e.g., accelerator (1844)) that may replace software or operate in conjunction with software to perform specific processes or specific portions of specific processes described herein. Where appropriate, references to portions of software may include logic and vice versa. Where appropriate, references to portions of computer-readable media may include circuitry (e.g., integrated circuits (ICs)) storing software for execution, circuitry embodying logic for execution, or both. The present disclosure includes any suitable combination of hardware and software.

[0186] Although the present disclosure has described a number of exemplary embodiments, there are changes, permutations, and various replacement equivalents that fall within the scope of the present disclosure. Therefore, it should be understood that those skilled in the art will be able to design many systems and methods that, although not explicitly shown or described herein, embody the principles of the present disclosure and therefore fall within the spirit and scope of the present disclosure.

Claims

1. A method for point cloud geometry decoding, comprising: Receiving chrominance prediction residual information of points in the point set from a coded bit stream of a point cloud including a point set, the chrominance prediction residual information including a Cb component and a Cr component; Determining, from the encoded bitstream of the point cloud, a type of correlation between the Cb component and the Cr component of the chrominance prediction residual information; as well as The chroma prediction residual information is decoded based on a correlation type between the Cb component and the Cr component of the chroma prediction residual information.

2. The method according to claim 1, wherein: The decoding of the chrominance prediction residual information based on the correlation type between the Cb component and the Cr component of the chrominance prediction residual information comprises: Based on the correlation type between the Cb component and the Cr component being positive, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information minus the Cr component are decoded.

3. The method according to claim 1, wherein: The decoding of the chrominance prediction residual information based on the correlation type between the Cb component and the Cr component of the chrominance prediction residual information comprises: Based on the correlation type between the Cb component and the Cr component being negative, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information plus the Cr component are decoded.

4. The method according to claim 1, wherein: The decoding of the chrominance prediction residual information based on the correlation type between the Cb component and the Cr component of the chrominance prediction residual information comprises: Based on the absence of correlation between the Cb component and the Cr component, the Cb component of the chroma prediction residual information and the Cr component of the chroma prediction residual information are decoded.

5. The method according to any one of claims 1 to 4, wherein: The determining of the correlation type between the Cb component and the Cr component of the chrominance prediction residual information comprises: determining a type of correlation between the Cb component and the Cr component of the chroma prediction residual information as positive based on a first number of residual points from a coding region, a previous level of detail LOD, and one of N nearest neighboring points positively correlated with the point; and The type of correlation between the Cb component and the Cr component of the chroma prediction residual information is determined to be negative based on a second number of residual points from the coding region, the previous level of detail LOD, and one of the N nearest neighboring points negatively correlated with the point.

6. The method according to claim 5, wherein: The coding area includes at least one of the following: a video sequence, a group of pictures GOP, and a picture.

7. The method according to claim 5, wherein: The N is a positive integer equal to 3 or 4.

8. The method according to any one of claims 1 to 4, wherein: The encoded bitstream includes signaling information indicating a type of correlation between the Cb component and the Cr component of the chrominance prediction residual information, The signaling information indicates that the type of correlation between the Cb component and the Cr component of the chrominance prediction residual information is positive based on a first number of residual points from a coding region, a previous LOD, the LOD to which the point belongs, and one of N nearest neighboring points positively correlated with the point; as well as The signaling information indicates that the correlation type between the Cb component and the Cr component of the chrominance prediction residual information is negative based on a second number of residual points from the coding area, the previous LOD, the LOD to which the point belongs, and one of the N nearest neighboring points negatively correlated with the point.

9. A device for processing point cloud data, comprising: A processing circuit, wherein the processing circuit is configured as follows: Receiving chrominance prediction residual information of points in the point set from a coded bit stream of a point cloud including a point set, the chrominance prediction residual information including a Cb component and a Cr component; Determining a type of correlation between the Cb component and the Cr component of the chrominance prediction residual information from a coded bitstream of the point cloud; as well as The chroma prediction residual information is decoded based on a correlation type between the Cb component and the Cr component of the chroma prediction residual information.

10. The device according to claim 9, wherein: The processing circuit is further configured to: Based on the correlation type between the Cb component and the Cr component being positive, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information minus the Cr component are decoded.

11. The device according to claim 9, wherein: The processing circuit is further configured to: Based on the correlation type between the Cb component and the Cr component being negative, the Cb component of the chroma prediction residual information and the Cb component of the chroma prediction residual information plus the Cr component are decoded.

12. The device according to claim 9, wherein: The processing circuit is further configured to: Based on the absence of correlation between the Cb component and the Cr component, the Cb component of the chroma prediction residual information and the Cr component of the chroma prediction residual information are decoded.

13. The device according to any one of claims 9 to 12, wherein: The processing circuit is further configured to: Determining a type of correlation between the Cb component and the Cr component of the chroma prediction residual information as positive based on a first number of residual points from a coding region, a previous level of detail LOD, and one of N nearest neighboring points positively correlated with the point; as well as The type of correlation between the Cb component and the Cr component of the chroma prediction residual information is determined to be negative based on a second number of residual points from the coding region, the previous level of detail LOD, and one of the N nearest neighboring points negatively correlated with the point.

14. The device according to any one of claims 9 to 12, wherein: The encoded bitstream includes signaling information indicating a type of correlation between the Cb component and the Cr component of the chrominance prediction residual information, The signaling information indicates that the type of correlation between the Cb component and the Cr component of the chrominance prediction residual information is positive based on a first number of residual points from a coding region, a previous LOD, the LOD to which the point belongs, and one of N nearest neighboring points positively correlated with the point; as well as The signaling information indicates that the correlation type between the Cb component and the Cr component of the chrominance prediction residual information is negative based on a second number of residual points from the coding area, the previous LOD, the LOD to which the point belongs, and one of the N nearest neighboring points negatively correlated with the point.

15. A computer device comprising: a memory configured to store computer program code; as well as At least one processor is configured to access the computer program code and operate according to instructions of the computer program code to perform the method according to any one of claims 1 to 8. 16 . A non-transitory computer-readable medium storing instructions, which, when executed by a processor for point cloud geometry decoding, cause the processor to perform the method according to any one of claims 1 to 8.

17. A method for storing or sending a bit stream, characterized in that: The bit stream is decoded based on the decoding method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method for Predictive Coding of Point Cloud Geometries

    US20180053324A1

  • Point cloud compression with multi-layer projection

    US20190156519A1