WO2024044082A2 - Decoding method, encoding method, decoder and endoder - Google Patents

Decoding method, encoding method, decoder and endoder Download PDF

Info

Publication number
WO2024044082A2
WO2024044082A2 PCT/US2023/030410 US2023030410W WO2024044082A2 WO 2024044082 A2 WO2024044082 A2 WO 2024044082A2 US 2023030410 W US2023030410 W US 2023030410W WO 2024044082 A2 WO2024044082 A2 WO 2024044082A2
Authority
WO
WIPO (PCT)
Prior art keywords
maximum
specifying
syntax element
geometry
bitstream
Prior art date
Application number
PCT/US2023/030410
Other languages
French (fr)
Other versions
WO2024044082A3 (en
Inventor
Yue Yu
Haoping Yu
Original Assignee
Innopeak Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Innopeak Technology, Inc. filed Critical Innopeak Technology, Inc.
Publication of WO2024044082A2 publication Critical patent/WO2024044082A2/en
Publication of WO2024044082A3 publication Critical patent/WO2024044082A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present invention proposes several improvements for Geometry Point Cloud Coding (GPCC).
  • the proposed method may be used in future GPCC coding standards, in particular adaptive video coding standard - geometry and point cloud compression (AVS-GPCC).
  • AVS-GPCC adaptive video coding standard - geometry and point cloud compression
  • G-PCC is widely used in entertainment applications, e.g., VR/AR, and industrial applications, e.g., LiDAR sweep compression for automotive or robotics and HD map for navigation.
  • MPEG released the first version G-PCC standard and Audio Video Standard (AVS) is also developing a G-PCC standard.
  • AVS Audio Video Standard
  • geometry information of a point cloud is compressed first, and then the corresponding attributes, including colour or reflectance, are compressed based upon the geometry information.
  • the decoding method of the invention includes the following step: decoding a syntax element for specifying the maximum geometry tree size.
  • the step of decoding the syntax element for specifying the maximum geometry tree size including: reading an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream; adding the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code; and left-shifting the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size.
  • the syntax element for specifying the maximum geometry tree size presents in a geometry header component of the bitstream.
  • the syntax element for specifying the maximum geometry tree size presents in a Geometry data component of the bitstream.
  • the syntax element for specifying the maximum geometry tree size presents in the Geometry data component of the bitstream if the Geometry data component of the bitstream is encoded using a prediction tree.
  • the preset integer is 8.
  • the decoding method of the invention further includes the following step: determining whether a syntax element for specifying a maximum cache limit coefficient is present in the bitstream; when the syntax element for specifying the maximum cache limit coefficient is present in the bitstream, decoding the syntax element for specifying the File:134494-wof maximum cache limit coefficient; and when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, setting the maximum cache limit coefficient is 1.
  • the decoding method of the invention further includes the following step: decoding a syntax element for specifying the maximum latency limit coefficient.
  • the decoding method of the invention further includes the following step: when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, setting a maximum latency to a default value.
  • the maximum latency is set to the default value of a zero-run length specified in an adaptive video coding standard - geometry and point cloud compression (AVS-GPCC).
  • the default value is 131072.
  • the encoding method of the invention includes the following step: obtaining a maximum geometry tree size; calculating a logarithm of the maximum geometry tree size, wherein a base is 2; and subtracting the logarithm of the maximum geometry tree size from a preset integer to generate an encoded value of a syntax element for specifying the maximum geometry tree size into the bitstream.
  • the decoder of the invention includes a communication interface, a storage device and a processor.
  • the communication interface is configured to receive bitstream.
  • the storage device is configured to store the bitstream.
  • the processor is electrically connected to the communication interface and the storage device, and is configured to decode a syntax element for specifying the maximum geometry tree size.
  • the processor is configured to read an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream.
  • the processor is configured to add the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code.
  • the processor is File:134494-wof configured to left-shift the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size.
  • the processor is further configured to determine whether a syntax element for specifying a maximum cache limit coefficient is present in the bitstream.
  • the encoder of the invention includes a communication interface, a storage device and a processor.
  • the communication interface is configured to receive data of a point cloud.
  • the storage device is configured to store the bitstream.
  • the processor is electrically connected to the communication interface and the storage device, and is configured to encode the data of the point cloud.
  • the processor is configured to obtain a maximum geometry tree size.
  • the processor is configured to calculate a logarithm of the maximum geometry tree size, wherein a base is 2.
  • the processor is configured to subtract the logarithm of the maximum geometry tree size from a preset integer to generate an encoded value of a syntax element for specifying the maximum geometry tree size into the bitstream.
  • FIG. 1 is a flow diagram of a G-PCC encoding according to an embodiment of the invention.
  • FIG. 2A and FIG. 2B illustrate octree structures of G-PCC according to an embodiment of the invention.
  • FIG.2C illustrates corresponding digital representation of the octree structure according to an embodiment of the invention.
  • FIG. 3 illustrates structure of the cubes according to an embodiment of the invention.
  • FIG. 4 is a flow diagram of a G-PCC decoding according to an embodiment of the invention.
  • FIG. 5 is a schematic diagram of a hardware structure of a decoder according to an embodiment of the invention.
  • FIG. 6 is a flowchart of a decoding method applied to a decoder according to an embodiment of the invention.
  • FIG. 7 is a schematic diagram of a syntax table of a geometry header according to an embodiment of the invention.
  • FIG. 8 is a schematic diagram of a syntax table of a geometry data according to an embodiment of the invention.
  • FIG. 9 is a flowchart of a decoding method applied to a decoder according to another embodiment of the invention.
  • FIG. 10 is a schematic diagram of a hardware structure of an encoder according to an embodiment of the invention. File:134494-wof [0033] FIG.
  • FIG. 11 is a flowchart of an encoding method applied to an encoder according to an embodiment of the invention.
  • DESCRIPTION OF EMBODIMENTS [0034] In order to have a more detailed understanding of the characteristics and technical content of the embodiments of the present application, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. The attached drawings are for reference and explanation purposes only, and are not used to limit the embodiments of the present application.
  • FIG. 1 is a flow diagram of a G-PCC encoding according to an embodiment of the invention. Referring to FIG. 1, the flow shown in FIG. 1 is applied to a point cloud encoder. For the point cloud data to be encoded, the point cloud data is divided into multiple slices through slice division.
  • the positions (i.e. geometric information) of the point cloud and the attributes corresponding to each point cloud are coded separately.
  • the positions are coordinated to convert the point cloud into a bounding box (bounding box) in step S102, and then quantized in step S104.
  • the quantization mainly plays the role of scaling. Due to the quantization rounding, a part of the positions of the point cloud is the same, so it is further determined whether to remove the duplicate points based on the parameters in step S104.
  • the process of quantifying and removing the duplicate points is also called the voxelization process.
  • the bounding box is divided into an octree for octree analysis in step S106.
  • FIG. 2A and FIG. 2B illustrate octree structures of G-PCC according to an embodiment of the invention
  • FIG.2C illustrates corresponding digital representation of the octree structure according to an embodiment of the invention.
  • a cubical axis-aligned bounding box B is defined by two extreme points (0,0,0) and ⁇ 2 ⁇ , 2 ⁇ , 2 ⁇ ⁇ where d is the maximum size of a given point cloud along x, y or z direction.
  • a point of the point cloud will be noted as “point” below. All points are included in this defined cube B.
  • the cube B is divided into eight sub-cubes B1 to B8, which creates an octree structure allowing one parent cube B to have 8 child cubes B1 to B8.
  • the 7 sibling cubes B2 to B8 of a given cube B1 are the same size cubes and share at least one same face/edge/point with this given cube.
  • the volume of each of the cubes B1 to B8 is 1/8 volume of its parent cube B.
  • Each of the cubes B1 to B8 may contain more than one point and a number of points in a cube is dependent on the size and location of the cube.
  • the size of a smallest cube is pre-defined for a given point cloud.
  • the parent cube of a given point is defined as a minimum size cube which contains this given point.
  • Sibling points of a given point are defined as those points which have the same parent cube with this given point.
  • an octree is a recursive data structure that is often used to describe three-dimensional space in which each internal cube has exactly eight children.
  • the space is recursively subdivided into eight octants to the point where the resolution of the child cube is equal to a size of the point – the smallest element that has no further subdivisions.
  • To represent a cube an 8-bit binary code that follows a space-filling curve pattern (Hilbert, Morton) is used, each child is assigned a “1” or “0” value to indicate if the space in the child cube has any points associated with that child cube, or the child cube is empty. Only the occupied child cubes are further subdivided.
  • FIG. 3 illustrates structure of the cubes according to an embodiment of the invention.
  • one cube may have up to six same-size cubes to share one face.
  • the current cube may also have some neighbouring cubes which share lines or points with the current cube.
  • the parent cube of the current cube also has up to six neighbouring cubes with the same size of the parent cube that share one face with the parent cube.
  • the parent cube of the current cube also has up to twelve neighbouring cubes with the same size of parent cubes that share an edge.
  • the parent cube of the current cube also has up to eight neighbouring cubes with the same size of parent cubes that share a point with the parent cube.
  • twelve pieces of the surface and the block are analyzed in step S110. At most twelve vertexes (intersection points) are generated by the edges, and the arithmetic coding is performed on the vertexes (surface fitting based on the intersection points) in step S108 to generate the binary geometric bitstream, that is, a geometric code stream.
  • Vertex is also used in the realization of the geometric reconstruction process in step S112, and the reconstructed set information is used when encoding the attributes of the point cloud.
  • the geometric coding is completed, and after the geometric information is reconstructed in step S112, color transformation is performed in step S114, in which the color information (that is, the attribute information) is transformed from the RGB color space to the YUV color space. Then, the reconstructed geometric information is used to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information in step S116.
  • Attribute coding is mainly for color information.
  • In the process of color information coding there are mainly two transformation methods.
  • FIG. 4 is a flow diagram of a G-PCC decoding according to an embodiment of the invention. The flow in FIG. 4 is applied to the point cloud decoder. For the obtained binary code stream, the geometric bitstream and the attribute bitstream in the binary code stream are first decoded in steps S402 and S404, respectively.
  • step S402 When decoding the geometric bitstream, through arithmetic decoding in step S402, octree synthesis in step S406, surface fitting in step S408, geometry reconstruction in step S410, and inverse coordinate transformation in step S412, the positions (i.e. geometric information) of the point cloud are obtained.
  • step S404 When decoding the attribute bitstream, through arithmetic decoding in step S404, inverse Quantization in step S414, LOD-based lifting based inverse transformation in steps S416 and S418, or RAHT based inverse transformation in step S420, and inverse color conversion in step S422, the attributes of the point cloud are obtained, and the three-dimensional image model of the point cloud data to be encoded is restored based on the positions and the attributes.
  • the octree-based geometry information may be coded with context-based arithmetic coding. There may also be some corresponding attribute information for point clouds, including colour, reflectance, etc., that needs to be compressed. Because the neighbouring points in a point File:134494-wof cloud may have a strong correlation, prediction-based coding methods have been developed and used to compose and code point cloud attributes. More specifically, a prediction is formed from neighbouring coded attributes. Then, the difference between the current attribute and the prediction is coded. [0050] In the invention, coding is assumed to mean encoding and decoding methods and systems.
  • AVS is developing a G-PCC standard. After the geometry information is coded, Morton or Hilbert code/order may be used to convert a point cloud cube into a one-dimension array. Each position in the cube will have a corresponding Morton or Hilbert code, but some positions may not have any corresponding point cloud attribute. In other words, some positions may be empty. The attribute coding will follow the pre-defined Morton or Hilbert order. A predictor may be generated from the previous coded points in Morton or Hilbert order. The attribute difference between the current point and its predictor is coded into the bitstream.
  • some pre-defined number has been specified to limit the number of neighboring points that can be used in generating the prediction. For example, only M data points among previous N consecutively coded points may be used for coding the current attribute. In the previous AVS G-PCC software, M and N are set as a fixed number of 3 and 128, respectively. [0054] If more than 128 points have already been coded before the current point, only 3 out of the 128 previously coded neighbouring points could be used to form the attribute predictor according to a pre-defined order. If there are less than 128 coded points before the current point, all such coded points will be used as candidates to establish the attribute predictor.
  • new Morton or Hilbert codes for these N points will be re-calculated by adding a fixed shift, e.g., 1, to coordinates (x, y, z) of these N data points.
  • File:134494-wof Assuming that the new Morton or Hilbert code for the current position is X, a P-point set before and a Q-point set after the current position according to the new Morton or Hilbert code order will be selected.
  • M points are selected with M closest “distance” between these coded points and the current point.
  • ⁇ 2
  • ( ⁇ 1, ⁇ 1, ⁇ 1) and ( ⁇ 3, ⁇ 3, ⁇ 3) are the coordinates of the current point and the pre-selected point along Hilbert order, respectively.
  • a weighted average of attributes from these M points is formed as the predictor to code the attribute of the current point.
  • It is known that the points which share the same face/line/point with the current point are close to the current point. Another technology is to consider these points serving as a File:134494-wof predictor.
  • the residual is defined as the difference of attribute values between the current point and its predictor.
  • PCC can be either lossless or lossy.
  • the residual may or may not be quantized by using the predefined quantization process.
  • the residual without or with quantization is called level.
  • the level can be a signed integer and will be coded into the bitstream.
  • [Color Level Coding] [0064] There are three color attributes for each point, which come from the three color components. If the levels for all the three color components are zeros, this point is called a zero level point. Otherwise, if there is at least one non-zero level for one color component with the point, this point is called a non-zero level point.
  • the zero-run length value is set as zero. Starting from the first point along the predefined coding order, the residuals between the three color predictors and their corresponding color attributes for the current point can be obtained. Then, the corresponding levels for the three components of the current point also can be obtained. If the current point is a zero level point, the zero-run length value will be increased by one and the process proceeds to the next point.
  • the zero-run length value will be coded first and then the three color levels for this non-zero level point will be coded right after. After the level coding of a non-zero level point, the zero-run length value will be reset to zero and the process proceeds to the next point till finishing all points. [0066] On the decoding side, the zero-run length value is first decoded and the three color levels corresponding to the number of zero-run length points are set as zero. Then, the levels for the File:134494-wof non-zero level point are decoded and then the next zero-run length value is decoded. This process continues until all points are decoded.
  • FIG. 5 is a schematic diagram of a hardware structure of a decoder according to an embodiment of the invention.
  • the decoder 500 includes a processor 510, a storage device 520, a communication interface 530, and a data bus 540.
  • the processor 510 is electrically connected to the storage device 520, the communication interface 530 through the data bus 540.
  • the storage device 520 may store relevant instructions, and may further store relevant image decoders of algorithms.
  • the processor 510 may receive the bitstream from the communication interface 530.
  • the processor 510 may execute the relevant image decoders and/or the relevant instructions to implement decoding methods of the invention.
  • the decoder 500 may be implemented by one or more personal computer (PC), one or more server computer, and one or more workstation computer or composed of multiple computing devices, but the invention is not limited thereto.
  • the decoder 500 may include more processors for executing the relevant image decoders and/or the relevant instructions to implement the image data processing method of the invention.
  • the decoder 500 may implement the G-PCC decoding method of FIG. 4.
  • the processor 510 may include, for example, a central processing unit (CPU), a graphic processing unit (GPU), or other programmable general- purpose or special-purpose microprocessor, digital signal processor (DSP), application specific File:134494-wof integrated circuit (ASIC), programmable logic device (PLD), other similar processing circuits or a combination of these devices.
  • CPU central processing unit
  • GPU graphic processing unit
  • DSP digital signal processor
  • ASIC application specific File:134494-wof integrated circuit
  • PLD programmable logic device
  • the storage device 520 may be a non-transitory computer-readable recording medium, such as a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically-erasable programmable read-only memory (EEPROM) or a non-volatile memory (NVM), but the present invention is not limited thereto.
  • ROM read-only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically-erasable programmable read-only memory
  • NVM non-volatile memory
  • the relevant image decoders and/or the relevant instructions may also be stored in the non-transitory computer-readable recording medium of one apparatus, and executed by the processor of another one apparatus.
  • the communication interface 530 is, for example, a network card that supports wired network connections such as Ethernet, a wireless network card that supports wireless communication standards such as Institute of Electrical and Electronics Engineers (IEEE) 802.11n/b/g/ac/ax/be, or any other network connecting device, but the embodiment is not limited thereto.
  • the communication interface 530 is configured to retrieve bitstream.
  • the bitstream may include encoded values of geometry bitstream and attribute bitstream.
  • the attribute bitstream may further include encoded values of color level, reflectance level and/or zero-run length.
  • the processor 510 may be configured to decode the bitstream to obtain corresponding data of a point cloud. [0071] FIG.
  • the decoder 500 may receive the geometric bitstream from the communication interface 530, and may decode the geometric bitstream to obtain the corresponding geometric information of the point cloud.
  • the decoder 500 may execute the following steps S610 ⁇ S650.
  • step S610 the processor 510 decodes the bitstream.
  • step S620 the processor 510 reads an encoded value of a syntax element for specifying the maximum geometry tree size from the bitstream.
  • step S630 the processor 510 adds the encoded value of the syntax element for File:134494-wof specifying the maximum geometry tree size to a first preset integer (i.e. “X”) to obtain a first code.
  • step S640 the processor 510 left-shifts the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the first preset integer (i.e. “X”) to obtain a decoded value of the maximum geometry tree size.
  • step S650 the processor 510 performs subsequent decoding operations.
  • the decoded value of the maximum geometry tree size may be calculated as the following formula (1), where X represents the first preset integer.
  • the processor 510 may add the encoded value (i.e. “log2geom_max_tree_sizeMinusX”) to the first preset integer (i.e. “X”), and left-shifts the number 1 by the previously calculation result (i.e. “log2geom_max_tree_sizeMinusX+X”) to obtain the decoded value (i.e. “geom_max_tree_size”) corresponding to the maximum geometry tree size.
  • the G-PCC system applying the above-mentioned improved decoding method may adapt to a wide range of PCC inputs and can be used in many applications.
  • geom_max_tree_size 1 ⁇ (log2geom_max ⁇ _tree_sizeMinusX + X).....formula (1)
  • the first preset integer may be 8.
  • the syntax element for specifying the name of the maximum geometry tree size may be defined as “log2geom_max_tree_sizeMinus8”, and the decoded value of the maximum geometry tree size may be calculated as the following formula (2).
  • FIG. 7 is a schematic diagram of a syntax table of a geometry header according to an embodiment of the invention. Referring to FIG.7, FIG.7 may show a part of the syntax table of the geometry header encoding. In the embodiment of the invention, the above syntax element (i.e. “log2geom_max_tree_sizeMinus8”) for specifying the maximum geometry tree size may present in the geometry header component 700 of the bitstream, but the invention is not limited thereto.
  • FIG. 7 may show a part of the syntax table of the geometry header encoding.
  • the above syntax element i.e. “log2geom_max_tree_sizeMinus8” for specifying the maximum geometry tree size may present in the geometry header component 700 of the bitstream, but the invention is not limited thereto.
  • FIG. 8 is a schematic diagram of a syntax table of a geometry data according to an embodiment of the invention.
  • FIG.8 may show a part of the syntax table of the geometry data encoding.
  • the above syntax element i.e. “log2geom_max_tree_sizeMinus8” for specifying the maximum geometry tree size may present in the geometry data component 800 of the bitstream.
  • the syntax element i.e. “log2geom_max_tree_sizeMinus8” for specifying the maximum geometry tree size presents in the Geometry data component 800 of the bitstream if the Geometry data component 800 of the bitstream is encoded using a prediction tree.
  • the processor 510 may determine an encoded value of a syntax element (i.e. “geom_tree_type”) for specifying the geometry tree type. If the encoded value of the syntax element (i.e. “geom_tree_type”) for specifying the geometry tree type is 0, it means that the Geometry data component of the bitstream is encoded using an octree encoding. If the encoded value of the syntax element (i.e. “geom_tree_type”) for specifying the geometry tree type is 1, it means that the Geometry data component of the bitstream is encoded using the prediction tree encoding, and the above syntax element (i.e.
  • the syntax element for specifying the maximum geometry tree size refers to a syntax component used to limit or define the size of the geometry tree.
  • the geometry tree is a hierarchical structure used to represent the geometric information of objects in a scene, often breaking down the scene into smaller elements for rendering, interaction, and optimization purposes. That is, the size of the geometry tree may impact the efficiency of processing a scene.
  • the larger geometry tree may require more computational resources and time for rendering and manipulation. Therefore, the limitation of the size of the geometry tree may optimize performance, especially in scenarios with limited resources.
  • FIG. 9 is a flowchart of a decoding method applied to a decoder according to another embodiment of the invention.
  • the decoder 500 may receive the attribute bitstream from the communication interface 530, and may decode the attribute bitstream to obtain the corresponding attribute information of the point cloud.
  • the decoder 500 may execute the following steps S910 ⁇ S980.
  • step S910 the processor 510 determines whether a syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying a maximum cache limit coefficient is present in the bitstream. If yes, in step S920, the processor 510 decodes the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient. If no, in step S930, the processor 510 sets the maximum cache limit coefficient is 1. In step S940, the processor 510 decodes a syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient. If no, in step S930, the processor 510 sets the maximum cache limit coefficient is 1. In step S940, the processor 510 decodes a syntax element (i.e.
  • step S950 when the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient is not present in the bitstream, setting a maximum latency to a default value.
  • the maximum latency may be set to the default value of a zero-run length specified in the adaptive video coding standard - geometry and point cloud compression (AVS-GPCC).
  • the default value may be 131072 based on hardware limitation (e.g. cache space limitation), but the invention is not limited thereto.
  • step S980 the processor 510 performs subsequent decoding operations.
  • the processor 510 reads an encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient from the bitstream.
  • the processor 510 adds the encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient to a preset integer (i.e. “Y”) to obtain a second code.
  • the processor 510 left-shifts the number 1 by a result of the encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient plus the second preset integer (i.e. “Y”) to obtain a decoded value of the maximum cache limit coefficient.
  • the decoded value of the maximum cache limit coefficient may be calculated as the following formula (3), where Y represents the second preset integer.
  • the processor 510 may add the encoded value (i.e. “log2maxNumofCoeffMinusY”) to the second preset integer (i.e.
  • the second preset integer may be 8.
  • the syntax element for specifying the name of the maximum cache limit coefficient may be defined as “log2geomNumofCoeffMinus8”, and the decoded value of the maximum geometry tree size may be calculated as the following formula (4).
  • maxNumofCoeff 1 ⁇ (log2maxNumofCoeffMinus8 + 8);formula (4)
  • the processor 510 reads an encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient from the File:134494-wof bitstream.
  • the processor 510 adds the encoded value of the syntax element (i.e.
  • log2coeffLengthControlMinusZ for specifying the maximum latency limit coefficient to a preset integer (i.e. Z”) to obtain a third code.
  • the processor 510 left-shifts the number 1 by a result of the encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient plus the second preset integer (i.e. “Z”) to obtain a decoded value of the maximum latency limit coefficient.
  • the decoded value of the maximum latency limit coefficient may be calculated as the following formula (5), where Y represents the third preset integer.
  • the processor 510 may add the encoded value (i.e. “log2coeffLengthControlMinusZ”) to the third preset integer (i.e. “Z”), and left-shifts the number 1 by the previously calculation result (i.e. “log2coeffLengthControlMinusZ+Z”) to obtain the decoded value (i.e. “coeffLengthControl”) corresponding to the maximum latency limit coefficient.
  • coeffLengthControl 1 ⁇ (log2coeffLengthControlMinusZ + Z).
  • the third preset integer may be 8.
  • the syntax element for specifying the name of the maximum latency limit coefficient may be defined as “log2coeffLengthControlMinus8”, and the decoded value of the maximum latency limit coefficient may be calculated as the following formula (6).
  • coeffLengthControl 1 ⁇ (log2coeffLengthControlMinus8 + 8);formula (4)
  • the processor 510 may calculate the value of the maximum latency (i.e. “maxLatency”) according to the following formula (7).
  • maxLatency maxNumofCoeff ⁇ coeffLengthControl).....formula (7)
  • the encoder 1000 includes a processor 1010, File:134494-wof a storage device 1020, a communication interface 1030, and a data bus 1040.
  • the processor 1010 is electrically connected to the storage device 1020, the communication interface 1030 through the data bus 1040.
  • the storage device 1020 may store relevant instructions, and may further store relevant image encoders of algorithms.
  • the processor 1010 may receive the bitstream from the communication interface 1030.
  • the processor 1010 may execute the relevant image encoders and/or the relevant instructions to implement encoding methods of the invention.
  • the encoder 1000 may be implemented by one or more personal computer (PC), one or more server computer, and one or more workstation computer or composed of multiple computing devices, but the invention is not limited thereto.
  • the encoder 1000 may include more processors for executing the relevant image encoders and/or the relevant instructions to implement the image data processing method of the invention.
  • the decoder 1000 may implement the G-PCC encoding method of FIG. 1.
  • the processor 1010 may include, for example, a central processing unit (CPU), a graphic processing unit (GPU), or other programmable general- purpose or special-purpose microprocessor, digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic device (PLD), other similar processing circuits or a combination of these devices.
  • the storage device 520 may be a non-transitory computer-readable recording medium, such as a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically-erasable programmable read-only memory (EEPROM) or a non-volatile memory (NVM), but the present invention is not limited thereto.
  • the relevant image encoders and/or the relevant instructions may also be stored in the non-transitory computer-readable recording medium of one apparatus, and executed by the processor of another one apparatus.
  • the communication interface 1030 is, for example, a network card that supports wired network File:134494-wof connections such as Ethernet, a wireless network card that supports wireless communication standards such as Institute of Electrical and Electronics Engineers (IEEE) 802.11n/b/g/ac/ax/be, or any other network connecting device, but the embodiment is not limited thereto.
  • the communication interface 1030 is configured to retrieve data of a point cloud.
  • the processor 1010 may encode the data of the point cloud to generate corresponding bitstream. [0089] FIG.
  • the encoder 1000 may receive the data of the point cloud from the communication interface 1030, and may encode the geometric information of the point cloud to generate the corresponding geometric bitstream.
  • the encoder 1000 may execute the following steps S1110 ⁇ S1150.
  • step S1110 the processor 1010 encodes the bitstream.
  • step S1120 the processor 1010 obtains a corresponding value of a maximum geometry tree size (i.e. “geom_max_tree_size”).
  • the processor 1010 calculates a logarithm of the maximum geometry tree size (i.e.
  • step S1140 the processor 1010 subtracts the logarithm of the maximum geometry tree size from the first preset integer (i.e. “X”) to generate an encoded value of the syntax element (i.e. “log2geom_max_tree_sizeMinusX”) for specifying the maximum geometry tree size into the bitstream.
  • step S1150 the processor 1010 performs subsequent encoding operations.
  • the processor 1010 may encode the maximum latency limit coefficient.
  • the processor 1010 obtains the maximum cache limit coefficient (i.e. “maxNumofCoeff”).
  • the processor 1010 calculates a logarithm of the maximum cache limit coefficient (i.e. generating “log2maxNumofCoeff”), where a base is 2.
  • the processor 1010 subtracts the logarithm of the maximum cache limit coefficient from the second preset integer (i.e. “Y”) to generate an encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for File:134494-wof specifying the maximum cache limit coefficient into the bitstream.
  • the processor 1010 may encode the maximum latency limit coefficient.
  • the processor 1010 obtains the maximum latency limit coefficient (i.e. “coeffLengthControl”).
  • the processor 1010 calculates a logarithm of the maximum latency limit coefficient (i.e. generating “log2coeffLengthControl”), where a base is 2.
  • the processor 1010 subtracts the logarithm of the maximum latency limit coefficient from the third preset integer (i.e. “Z”) to generate an encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient into the bitstream.
  • the syntax element for specifying the maximum cache limit coefficient refers to a syntax component used to restrict the maximum amount of cache usage to prevent excessive memory consumption that could lead to performance degradation or even crashes
  • the syntax element for specifying the maximum latency limit coefficient refers to a syntax component used to determine the maximum processing delay or wait time allowed during decoding. Therefore, the processor may decode the syntax element for specifying the maximum cache limit coefficient to set the maximum cache limit coefficient, so as to balance decoding speed and memory usage. The processor may decode the syntax element for specifying the maximum latency limit coefficient to set the maximum latency limit coefficient, so as to balance the decoded image quality and the time required for image decoding.
  • the processor may auto set maximum cache limit coefficient to 1, and set the maximum latency to the default value, so as to effectively maintain the normal encoding.
  • the G-PCC system applying the above-mentioned improved decoding method and the above-mentioned improved encoding method may adapt to a wide range of PCC inputs and can be used in many applications.
  • Reference Signs List [0095] 500:Decoder 510 ⁇ 1010:Processor 520 ⁇ 1020:Storage device 530 ⁇ 1030:Communication interface 540 ⁇ 1040:Data bus 700:Geometry header component 800:Geometry data component 1000:Encoder B1 ⁇ B8:Cube S102 ⁇ S104 ⁇ S106 ⁇ S108 ⁇ S110 ⁇ S112 ⁇ S114 ⁇ S116 ⁇ S118 ⁇ S120 ⁇ S122 ⁇ S124 ⁇ S126 ⁇ S402 ⁇ S404 ⁇ S406 ⁇ S408 ⁇ S410 ⁇ S412 ⁇ S414 ⁇ S416 ⁇ S418 ⁇ S420 ⁇ S422 ⁇ S610 ⁇ S620 ⁇ S630 ⁇ S640 ⁇ S650 ⁇ S910 ⁇ S920 ⁇ S930 ⁇ S940 ⁇ S950 ⁇ S960 ⁇ S1110 ⁇ S1120 ⁇ S1130 ⁇ S1140 ⁇ S1150:Step

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

A decoding method, an encoding method, a decoder and an encoder are provided. The decoding method includes the following step: decoding the syntax element for specifying a maximum geometry tree size. The step of decoding the syntax element including the following steps: reading an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream; adding the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code; and left-shifting the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size.

Description

File:134494-wof DECODING METHOD, ENCODING METHOD, DECODER AND ENDODER CROSS-REFERENCE TO RELATED APPLICATION This application claims the priority benefits of U.S. provisional application serial no. 63/373,321, filed on August 23, 2022. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification. Technical Field [0001] The present invention proposes several improvements for Geometry Point Cloud Coding (GPCC). The proposed method may be used in future GPCC coding standards, in particular adaptive video coding standard - geometry and point cloud compression (AVS-GPCC). With the implementation of the proposed method, modifications to bitstream structure, syntax, constraints, and mapping for the generation of decoded point cloud are considered for standardizing. Related Art [0002] G-PCC is widely used in entertainment applications, e.g., VR/AR, and industrial applications, e.g., LiDAR sweep compression for automotive or robotics and HD map for navigation. MPEG released the first version G-PCC standard and Audio Video Standard (AVS) is also developing a G-PCC standard. In order to compress the point cloud data efficiently, geometry information of a point cloud is compressed first, and then the corresponding attributes, including colour or reflectance, are compressed based upon the geometry information. [0003] However, the current AVS-GPCC specification cannot work well for a wide range of PCC input, and cannot be used in many applications. File:134494-wof SUMMARY OF INVENTION [Technical Problem] [0004] A novel image processing method for efficiently decoding bitstream and encoding data of point cloud is desirable. [Solution to Problem] [0005] The decoding method of the invention includes the following step: decoding a syntax element for specifying the maximum geometry tree size. The step of decoding the syntax element for specifying the maximum geometry tree size including: reading an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream; adding the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code; and left-shifting the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size. [0006] In an embodiment of the invention, the syntax element for specifying the maximum geometry tree size presents in a geometry header component of the bitstream. [0007] In an embodiment of the invention, the syntax element for specifying the maximum geometry tree size presents in a Geometry data component of the bitstream. [0008] In an embodiment of the invention, the syntax element for specifying the maximum geometry tree size presents in the Geometry data component of the bitstream if the Geometry data component of the bitstream is encoded using a prediction tree. [0009] In an embodiment of the invention, the preset integer is 8. [0010] In an embodiment of the invention, the decoding method of the invention further includes the following step: determining whether a syntax element for specifying a maximum cache limit coefficient is present in the bitstream; when the syntax element for specifying the maximum cache limit coefficient is present in the bitstream, decoding the syntax element for specifying the File:134494-wof maximum cache limit coefficient; and when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, setting the maximum cache limit coefficient is 1. [0011] In an embodiment of the invention, the decoding method of the invention further includes the following step: decoding a syntax element for specifying the maximum latency limit coefficient. [0012] In an embodiment of the invention, the decoding method of the invention further includes the following step: when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, setting a maximum latency to a default value. [0013] In an embodiment of the invention, the maximum latency is set to the default value of a zero-run length specified in an adaptive video coding standard - geometry and point cloud compression (AVS-GPCC). [0014] In an embodiment of the invention, the default value is 131072. [0015] The encoding method of the invention includes the following step: obtaining a maximum geometry tree size; calculating a logarithm of the maximum geometry tree size, wherein a base is 2; and subtracting the logarithm of the maximum geometry tree size from a preset integer to generate an encoded value of a syntax element for specifying the maximum geometry tree size into the bitstream. [0016] The decoder of the invention includes a communication interface, a storage device and a processor. The communication interface is configured to receive bitstream. The storage device is configured to store the bitstream. The processor is electrically connected to the communication interface and the storage device, and is configured to decode a syntax element for specifying the maximum geometry tree size. The processor is configured to read an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream. The processor is configured to add the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code. The processor is File:134494-wof configured to left-shift the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size. [0017] In an embodiment of the invention, the processor is further configured to determine whether a syntax element for specifying a maximum cache limit coefficient is present in the bitstream. When the syntax element for specifying the maximum cache limit coefficient is present in the bitstream, the processor is configured to decode the syntax element for specifying the maximum cache limit coefficient. When the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, the processor is configured to set the maximum cache limit coefficient is 1. [0018] In an embodiment of the invention, the processor is further configured to decode a syntax element for specifying the maximum latency limit coefficient. [0019] The encoder of the invention includes a communication interface, a storage device and a processor. The communication interface is configured to receive data of a point cloud. The storage device is configured to store the bitstream. The processor is electrically connected to the communication interface and the storage device, and is configured to encode the data of the point cloud. The processor is configured to obtain a maximum geometry tree size. The processor is configured to calculate a logarithm of the maximum geometry tree size, wherein a base is 2. The processor is configured to subtract the logarithm of the maximum geometry tree size from a preset integer to generate an encoded value of a syntax element for specifying the maximum geometry tree size into the bitstream. [Effects of Invention] [0020] Based on the above, according to the decoding method, the encoding method, the decoder and the encoder of the invention, the code stream can be efficiently decoded, and the data of the point cloud can be efficiently encoded. File:134494-wof [0021] To make the aforementioned more comprehensible, several embodiments accompanied with drawings are described in detail as follows. BRIEF DESCRIPTION OF DRAWINGS [0022] FIG. 1 is a flow diagram of a G-PCC encoding according to an embodiment of the invention. [0023] FIG. 2A and FIG. 2B illustrate octree structures of G-PCC according to an embodiment of the invention. [0024] FIG.2C illustrates corresponding digital representation of the octree structure according to an embodiment of the invention. [0025] FIG. 3 illustrates structure of the cubes according to an embodiment of the invention. [0026] FIG. 4 is a flow diagram of a G-PCC decoding according to an embodiment of the invention. [0027] FIG. 5 is a schematic diagram of a hardware structure of a decoder according to an embodiment of the invention. [0028] FIG. 6 is a flowchart of a decoding method applied to a decoder according to an embodiment of the invention. [0029] FIG. 7 is a schematic diagram of a syntax table of a geometry header according to an embodiment of the invention. [0030] FIG. 8 is a schematic diagram of a syntax table of a geometry data according to an embodiment of the invention. [0031] FIG. 9 is a flowchart of a decoding method applied to a decoder according to another embodiment of the invention. [0032] FIG. 10 is a schematic diagram of a hardware structure of an encoder according to an embodiment of the invention. File:134494-wof [0033] FIG. 11 is a flowchart of an encoding method applied to an encoder according to an embodiment of the invention. DESCRIPTION OF EMBODIMENTS [0034] In order to have a more detailed understanding of the characteristics and technical content of the embodiments of the present application, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. The attached drawings are for reference and explanation purposes only, and are not used to limit the embodiments of the present application. [0035] FIG. 1 is a flow diagram of a G-PCC encoding according to an embodiment of the invention. Referring to FIG. 1, the flow shown in FIG. 1 is applied to a point cloud encoder. For the point cloud data to be encoded, the point cloud data is divided into multiple slices through slice division. In each slice, the positions (i.e. geometric information) of the point cloud and the attributes corresponding to each point cloud are coded separately. [0036] In the geometric encoding process, the positions are coordinated to convert the point cloud into a bounding box (bounding box) in step S102, and then quantized in step S104. The quantization mainly plays the role of scaling. Due to the quantization rounding, a part of the positions of the point cloud is the same, so it is further determined whether to remove the duplicate points based on the parameters in step S104. The process of quantifying and removing the duplicate points is also called the voxelization process. [0037] Then, the bounding box is divided into an octree for octree analysis in step S106. In the octree-based geometric information encoding process, the bounding box is divided into eight sub-cubes, and the non-empty (including points in the point cloud) sub-cubes are continued to be divided into eight equal parts until the leaf knots are obtained. When the point is a 1×1×1 unit cube, the division is stopped, and the points in the leaf nodes are arithmetic coded in step S108 to File:134494-wof generate a binary geometric bitstream, that is, a geometric code stream. [0038] FIG. 2A and FIG. 2B illustrate octree structures of G-PCC according to an embodiment of the invention, and FIG.2C illustrates corresponding digital representation of the octree structure according to an embodiment of the invention. Referring to FIG. 2A, a cubical axis-aligned bounding box B is defined by two extreme points (0,0,0) and ^2^, 2^, 2^^ where d is the maximum size of a given point cloud along x, y or z direction. A point of the point cloud will be noted as “point” below. All points are included in this defined cube B. [0039] Referring to FIG.2B, the cube B is divided into eight sub-cubes B1 to B8, which creates an octree structure allowing one parent cube B to have 8 child cubes B1 to B8. The 7 sibling cubes B2 to B8 of a given cube B1 are the same size cubes and share at least one same face/edge/point with this given cube. The volume of each of the cubes B1 to B8 is 1/8 volume of its parent cube B. Each of the cubes B1 to B8 may contain more than one point and a number of points in a cube is dependent on the size and location of the cube. The size of a smallest cube is pre-defined for a given point cloud. For a given point, the parent cube of a given point is defined as a minimum size cube which contains this given point. Sibling points of a given point are defined as those points which have the same parent cube with this given point. [0040] Referring to FIG.2C, an octree is a recursive data structure that is often used to describe three-dimensional space in which each internal cube has exactly eight children. The space is recursively subdivided into eight octants to the point where the resolution of the child cube is equal to a size of the point – the smallest element that has no further subdivisions. To represent a cube an 8-bit binary code that follows a space-filling curve pattern (Hilbert, Morton) is used, each child is assigned a “1” or “0” value to indicate if the space in the child cube has any points associated with that child cube, or the child cube is empty. Only the occupied child cubes are further subdivided. The process of parent cube subdivision is terminated when the size of the child cube becomes equal to the size of the indivisible element, i.e., spatial resolution of the point cloud, or File:134494-wof simply the size of the point. [0041] FIG. 3 illustrates structure of the cubes according to an embodiment of the invention. Referring to FIG. 3, depending on the location of the current cube, one cube may have up to six same-size cubes to share one face. In addition, the current cube may also have some neighbouring cubes which share lines or points with the current cube. [0042] Similarly, the parent cube of the current cube also has up to six neighbouring cubes with the same size of the parent cube that share one face with the parent cube. The parent cube of the current cube also has up to twelve neighbouring cubes with the same size of parent cubes that share an edge. The parent cube of the current cube also has up to eight neighbouring cubes with the same size of parent cubes that share a point with the parent cube. [0043] Referring back to FIG. 1, based on the surface formed by the distribution of the point cloud in each block, twelve pieces of the surface and the block are analyzed in step S110. At most twelve vertexes (intersection points) are generated by the edges, and the arithmetic coding is performed on the vertexes (surface fitting based on the intersection points) in step S108 to generate the binary geometric bitstream, that is, a geometric code stream. Vertex is also used in the realization of the geometric reconstruction process in step S112, and the reconstructed set information is used when encoding the attributes of the point cloud. [0044] In the attribute coding process, the geometric coding is completed, and after the geometric information is reconstructed in step S112, color transformation is performed in step S114, in which the color information (that is, the attribute information) is transformed from the RGB color space to the YUV color space. Then, the reconstructed geometric information is used to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information in step S116. Attribute coding is mainly for color information. [0045] In the process of color information coding, there are mainly two transformation methods. File:134494-wof One is distance-based lifting transformation that relies on Level of Detail (LOD) division in step S118 and lifting in step S120, and the other is direct area adaptation. Hierarchical transform (Region Adaptive Hierarchal Transform, RAHT) transformation in step S122. These two methods will transform the color information from the spatial domain to the frequency domain, so as to obtain high-frequency coefficients and low-frequency coefficients through the transformation, and finally quantize the coefficients (i.e., quantized coefficients) in step S124. [0046] Finally, after octree partitioning and surface fitting, the geometrically coded data and the quantized coefficient processing attribute coded data are slice-synthesized, and then the vertex coordinates of each block (that is, arithmetic coding) are sequentially coded in step S126 to generate a binary attribute bitstream, that is, the attribute code stream. [0047] FIG. 4 is a flow diagram of a G-PCC decoding according to an embodiment of the invention. The flow in FIG. 4 is applied to the point cloud decoder. For the obtained binary code stream, the geometric bitstream and the attribute bitstream in the binary code stream are first decoded in steps S402 and S404, respectively. When decoding the geometric bitstream, through arithmetic decoding in step S402, octree synthesis in step S406, surface fitting in step S408, geometry reconstruction in step S410, and inverse coordinate transformation in step S412, the positions (i.e. geometric information) of the point cloud are obtained. [0048] When decoding the attribute bitstream, through arithmetic decoding in step S404, inverse Quantization in step S414, LOD-based lifting based inverse transformation in steps S416 and S418, or RAHT based inverse transformation in step S420, and inverse color conversion in step S422, the attributes of the point cloud are obtained, and the three-dimensional image model of the point cloud data to be encoded is restored based on the positions and the attributes. [0049] The octree-based geometry information may be coded with context-based arithmetic coding. There may also be some corresponding attribute information for point clouds, including colour, reflectance, etc., that needs to be compressed. Because the neighbouring points in a point File:134494-wof cloud may have a strong correlation, prediction-based coding methods have been developed and used to compose and code point cloud attributes. More specifically, a prediction is formed from neighbouring coded attributes. Then, the difference between the current attribute and the prediction is coded. [0050] In the invention, coding is assumed to mean encoding and decoding methods and systems. [0051] [Attribute Coding in the AVS G-PCC] [0052] AVS is developing a G-PCC standard. After the geometry information is coded, Morton or Hilbert code/order may be used to convert a point cloud cube into a one-dimension array. Each position in the cube will have a corresponding Morton or Hilbert code, but some positions may not have any corresponding point cloud attribute. In other words, some positions may be empty. The attribute coding will follow the pre-defined Morton or Hilbert order. A predictor may be generated from the previous coded points in Morton or Hilbert order. The attribute difference between the current point and its predictor is coded into the bitstream. [0053] To reduce the memory usage, some pre-defined number has been specified to limit the number of neighboring points that can be used in generating the prediction. For example, only M data points among previous N consecutively coded points may be used for coding the current attribute. In the previous AVS G-PCC software, M and N are set as a fixed number of 3 and 128, respectively. [0054] If more than 128 points have already been coded before the current point, only 3 out of the 128 previously coded neighbouring points could be used to form the attribute predictor according to a pre-defined order. If there are less than 128 coded points before the current point, all such coded points will be used as candidates to establish the attribute predictor. More specifically, the previous K points, e.g., K = 6, before the current point are selected according to a pre-defined Morton or Hilbert order. Then, new Morton or Hilbert codes for these N points will be re-calculated by adding a fixed shift, e.g., 1, to coordinates (x, y, z) of these N data points. File:134494-wof Assuming that the new Morton or Hilbert code for the current position is X, a P-point set before and a Q-point set after the current position according to the new Morton or Hilbert code order will be selected. Among these pre-defined K, P and Q point sets, M points are selected with M closest “distance” between these coded points and the current point. The distance d1 as one example is defined as follows, other distance metrics can also be used. [0055] ^1 = |^1 − ^2|+ ^ |^1 − ^2| + |^1 − ^2| (1) [0056] where (^1, ^1, ^1) and (^2, ^2, ^2) are coordinates of the current point and pre- selected point, respectively. [0057] More recently, a full search method based on Hilbert code has been applied in the AVS GPCC attribute coding. In the current software, the search range is set as 128 and the number of previous points used to form the predictor is set as M. If more than 128 points have already been coded before the current point, only M out of the 128 previously coded neighbouring points can be used to form the attribute predictor according to the Hilbert order. [0058] If there are fewer than 128 coded points before the current one, all such coded points will be used as candidates to form the attribute predictor. Among the up-to 128 previously coded points, M points are selected with M closest “distance” between these coded points and the current point. The distance d2 as one example is defined as follows, other distance metrics can also be used. [0059] ^2 = |^1 − ^3|+ ^ |^1 − ^3| + |^1 − ^3| (2) [0060] where (^1, ^1, ^1) and (^3, ^3, ^3) are the coordinates of the current point and the pre-selected point along Hilbert order, respectively. Once M closest points have been selected, a weighted average of attributes from these M points is formed as the predictor to code the attribute of the current point. [0061] It is known that the points which share the same face/line/point with the current point are close to the current point. Another technology is to consider these points serving as a File:134494-wof predictor. [0062] The residual is defined as the difference of attribute values between the current point and its predictor. Depending on the application, PCC can be either lossless or lossy. Hence, the residual may or may not be quantized by using the predefined quantization process. In the invention, the residual without or with quantization is called level. The level can be a signed integer and will be coded into the bitstream. [0063] [Color Level Coding] [0064] There are three color attributes for each point, which come from the three color components. If the levels for all the three color components are zeros, this point is called a zero level point. Otherwise, if there is at least one non-zero level for one color component with the point, this point is called a non-zero level point. In the current AVS-GPCC, the number of consecutive zero level points is called zero-run length. The zero-run length values and levels for non-zero level points are coded into the bitstream. [0065] More specifically, on the encoding side, before coding the first point, the zero-run length value is set as zero. Starting from the first point along the predefined coding order, the residuals between the three color predictors and their corresponding color attributes for the current point can be obtained. Then, the corresponding levels for the three components of the current point also can be obtained. If the current point is a zero level point, the zero-run length value will be increased by one and the process proceeds to the next point. If the current point is a non-zero level point, the zero-run length value will be coded first and then the three color levels for this non-zero level point will be coded right after. After the level coding of a non-zero level point, the zero-run length value will be reset to zero and the process proceeds to the next point till finishing all points. [0066] On the decoding side, the zero-run length value is first decoded and the three color levels corresponding to the number of zero-run length points are set as zero. Then, the levels for the File:134494-wof non-zero level point are decoded and then the next zero-run length value is decoded. This process continues until all points are decoded. [0067] For a non-zero level point, there is at least one non-zero level among the three components. Several one-bit flags plus the remainder of the absolute level may be coded to represent residual levels of the color components. The absolute level or absolute level of color residual minus one may be coded and named as coded level in the remaining of the invention. [0068] [Decoder] [0069] FIG. 5 is a schematic diagram of a hardware structure of a decoder according to an embodiment of the invention. Referring to FIG. 5, the decoder 500 includes a processor 510, a storage device 520, a communication interface 530, and a data bus 540. The processor 510 is electrically connected to the storage device 520, the communication interface 530 through the data bus 540. In the embodiment of the invention, the storage device 520 may store relevant instructions, and may further store relevant image decoders of algorithms. The processor 510 may receive the bitstream from the communication interface 530. The processor 510 may execute the relevant image decoders and/or the relevant instructions to implement decoding methods of the invention. In the embodiment of the invention, the decoder 500 may be implemented by one or more personal computer (PC), one or more server computer, and one or more workstation computer or composed of multiple computing devices, but the invention is not limited thereto. In one embodiment of the invention, the decoder 500 may include more processors for executing the relevant image decoders and/or the relevant instructions to implement the image data processing method of the invention. In the embodiment of the invention, the decoder 500 may implement the G-PCC decoding method of FIG. 4. [0070] In the embodiment of the invention, the processor 510 may include, for example, a central processing unit (CPU), a graphic processing unit (GPU), or other programmable general- purpose or special-purpose microprocessor, digital signal processor (DSP), application specific File:134494-wof integrated circuit (ASIC), programmable logic device (PLD), other similar processing circuits or a combination of these devices. In the embodiment of the invention, the storage device 520 may be a non-transitory computer-readable recording medium, such as a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically-erasable programmable read-only memory (EEPROM) or a non-volatile memory (NVM), but the present invention is not limited thereto. In one embodiment of the invention, the relevant image decoders and/or the relevant instructions may also be stored in the non-transitory computer-readable recording medium of one apparatus, and executed by the processor of another one apparatus. The communication interface 530 is, for example, a network card that supports wired network connections such as Ethernet, a wireless network card that supports wireless communication standards such as Institute of Electrical and Electronics Engineers (IEEE) 802.11n/b/g/ac/ax/be, or any other network connecting device, but the embodiment is not limited thereto. The communication interface 530 is configured to retrieve bitstream. In the embodiment of the invention, the bitstream may include encoded values of geometry bitstream and attribute bitstream. The attribute bitstream may further include encoded values of color level, reflectance level and/or zero-run length. The processor 510 may be configured to decode the bitstream to obtain corresponding data of a point cloud. [0071] FIG. 6 is a flowchart of a decoding method applied to a decoder according to an embodiment of the invention. Referring to FIG. 5 and FIG. 6, the decoder 500 may receive the geometric bitstream from the communication interface 530, and may decode the geometric bitstream to obtain the corresponding geometric information of the point cloud. In the process of decoding the geometric bitstream, the decoder 500 may execute the following steps S610~S650. In step S610, the processor 510 decodes the bitstream. In step S620, the processor 510 reads an encoded value of a syntax element for specifying the maximum geometry tree size from the bitstream. In step S630, the processor 510 adds the encoded value of the syntax element for File:134494-wof specifying the maximum geometry tree size to a first preset integer (i.e. “X”) to obtain a first code. In step S640, the processor 510 left-shifts the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the first preset integer (i.e. “X”) to obtain a decoded value of the maximum geometry tree size. In step S650, the processor 510 performs subsequent decoding operations. [0072] Specifically, taking the combined programming language (C-Language) as an example, the decoded value of the maximum geometry tree size may be calculated as the following formula (1), where X represents the first preset integer. Thus, the processor 510 may add the encoded value (i.e. “log2geom_max_tree_sizeMinusX”) to the first preset integer (i.e. “X”), and left-shifts the number 1 by the previously calculation result (i.e. “log2geom_max_tree_sizeMinusX+X”) to obtain the decoded value (i.e. “geom_max_tree_size”) corresponding to the maximum geometry tree size. Therefore, the G-PCC system applying the above-mentioned improved decoding method may adapt to a wide range of PCC inputs and can be used in many applications. geom_max_tree_size = 1 ≪ (log2geom_max^_tree_sizeMinusX + X)…..formula (1) [0073] In one embodiment of the invention, the first preset integer may be 8. Thus, the syntax element for specifying the name of the maximum geometry tree size may be defined as “log2geom_max_tree_sizeMinus8”, and the decoded value of the maximum geometry tree size may be calculated as the following formula (2). geom_max_tree_size = 1 ≪ (log2geom_max^_tree_sizeMinus8 + 8)…..formula (2) [0074] FIG. 7 is a schematic diagram of a syntax table of a geometry header according to an embodiment of the invention. Referring to FIG.7, FIG.7 may show a part of the syntax table of the geometry header encoding. In the embodiment of the invention, the above syntax element (i.e. “log2geom_max_tree_sizeMinus8”) for specifying the maximum geometry tree size may present in the geometry header component 700 of the bitstream, but the invention is not limited thereto. File:134494-wof [0075] FIG. 8 is a schematic diagram of a syntax table of a geometry data according to an embodiment of the invention. Referring to FIG.8, FIG.8 may show a part of the syntax table of the geometry data encoding. In the embodiment of the invention, the above syntax element (i.e. “log2geom_max_tree_sizeMinus8”) for specifying the maximum geometry tree size may present in the geometry data component 800 of the bitstream. Moreover, as shown in the syntax table of FIG. 8, the syntax element (i.e. “log2geom_max_tree_sizeMinus8”) for specifying the maximum geometry tree size presents in the Geometry data component 800 of the bitstream if the Geometry data component 800 of the bitstream is encoded using a prediction tree. [0076] Specifically, the processor 510 may determine an encoded value of a syntax element (i.e. “geom_tree_type”) for specifying the geometry tree type. If the encoded value of the syntax element (i.e. “geom_tree_type”) for specifying the geometry tree type is 0, it means that the Geometry data component of the bitstream is encoded using an octree encoding. If the encoded value of the syntax element (i.e. “geom_tree_type”) for specifying the geometry tree type is 1, it means that the Geometry data component of the bitstream is encoded using the prediction tree encoding, and the above syntax element (i.e. “log2geom_max_tree_sizeMinus8”) for specifying the maximum geometry tree size may present in subsequent encodings. [0077] It should be noted that, in the invention, the syntax element for specifying the maximum geometry tree size refers to a syntax component used to limit or define the size of the geometry tree. The geometry tree is a hierarchical structure used to represent the geometric information of objects in a scene, often breaking down the scene into smaller elements for rendering, interaction, and optimization purposes. That is, the size of the geometry tree may impact the efficiency of processing a scene. The larger geometry tree may require more computational resources and time for rendering and manipulation. Therefore, the limitation of the size of the geometry tree may optimize performance, especially in scenarios with limited resources. For example, if the maximum geometry tree size may be 100, the syntax for specifying the maximum geometry tree File:134494-wof size may be decoded to instruct the processor that, when processing the model, the geometry tree with no more than 100 nodes should be generated. This may optimize performance by reducing geometric data details while accelerating rendering and processing speed while maintaining appropriate details. [0078] FIG. 9 is a flowchart of a decoding method applied to a decoder according to another embodiment of the invention. Referring to FIG. 5 and FIG. 9, the decoder 500 may receive the attribute bitstream from the communication interface 530, and may decode the attribute bitstream to obtain the corresponding attribute information of the point cloud. In the process of decoding the attribute bitstream, the decoder 500 may execute the following steps S910~S980. In step S910, the processor 510 determines whether a syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying a maximum cache limit coefficient is present in the bitstream. If yes, in step S920, the processor 510 decodes the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient. If no, in step S930, the processor 510 sets the maximum cache limit coefficient is 1. In step S940, the processor 510 decodes a syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient. Then, in step S950, when the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient is not present in the bitstream, setting a maximum latency to a default value. In the embodiment of the invention, the maximum latency may be set to the default value of a zero-run length specified in the adaptive video coding standard - geometry and point cloud compression (AVS-GPCC). In one embodiment of the invention, the default value may be 131072 based on hardware limitation (e.g. cache space limitation), but the invention is not limited thereto. In step S980, the processor 510 performs subsequent decoding operations. [0079] In the embodiment of the invention, if the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient is present in File:134494-wof the bitstream, the processor 510 reads an encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient from the bitstream. The processor 510 adds the encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient to a preset integer (i.e. “Y”) to obtain a second code. The processor 510 left-shifts the number 1 by a result of the encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for specifying the maximum cache limit coefficient plus the second preset integer (i.e. “Y”) to obtain a decoded value of the maximum cache limit coefficient. [0080] Specifically, taking the combined programming language (C-Language) as an example, the decoded value of the maximum cache limit coefficient may be calculated as the following formula (3), where Y represents the second preset integer. Thus, the processor 510 may add the encoded value (i.e. “log2maxNumofCoeffMinusY”) to the second preset integer (i.e. “Y”), and left-shifts the number 1 by the previously calculation result (i.e. “log2maxNumofCoeffMinusY+Y”) to obtain the decoded value (i.e. “maxNumofCoeff”) corresponding to the maximum cache limit coefficient. maxNumofCoeff = 1 ≪ (log2maxNumofCoeffMinusY + Y)…..formula (3) [0081] In one embodiment of the invention, the second preset integer may be 8. Thus, the syntax element for specifying the name of the maximum cache limit coefficient may be defined as “log2geomNumofCoeffMinus8”, and the decoded value of the maximum geometry tree size may be calculated as the following formula (4). maxNumofCoeff = 1 ≪ (log2maxNumofCoeffMinus8 + 8)…..formula (4) [0082] In the embodiment of the invention, if the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient is present in the bitstream, the processor 510 reads an encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient from the File:134494-wof bitstream. The processor 510 adds the encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient to a preset integer (i.e. Z”) to obtain a third code. The processor 510 left-shifts the number 1 by a result of the encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient plus the second preset integer (i.e. “Z”) to obtain a decoded value of the maximum latency limit coefficient. [0083] Specifically, taking the combined programming language (C-Language) as an example, the decoded value of the maximum latency limit coefficient may be calculated as the following formula (5), where Y represents the third preset integer. Thus, the processor 510 may add the encoded value (i.e. “log2coeffLengthControlMinusZ”) to the third preset integer (i.e. “Z”), and left-shifts the number 1 by the previously calculation result (i.e. “log2coeffLengthControlMinusZ+Z”) to obtain the decoded value (i.e. “coeffLengthControl”) corresponding to the maximum latency limit coefficient. coeffLengthControl = 1 ≪ (log2coeffLengthControlMinusZ + Z)…..formula (5) [0084] In one embodiment of the invention, the third preset integer may be 8. Thus, the syntax element for specifying the name of the maximum latency limit coefficient may be defined as “log2coeffLengthControlMinus8”, and the decoded value of the maximum latency limit coefficient may be calculated as the following formula (6). coeffLengthControl = 1 ≪ (log2coeffLengthControlMinus8 + 8)…..formula (4) [0085] In the embodiment of the invention, the processor 510 may calculate the value of the maximum latency (i.e. “maxLatency”) according to the following formula (7). maxLatency = maxNumofCoeff ∗ coeffLengthControl)…..formula (7) [0086] [Encoder] [0087] FIG. 10 is a schematic diagram of a hardware structure of an encoder according to an embodiment of the invention. Referring to FIG.10, the encoder 1000 includes a processor 1010, File:134494-wof a storage device 1020, a communication interface 1030, and a data bus 1040. The processor 1010 is electrically connected to the storage device 1020, the communication interface 1030 through the data bus 1040. In the embodiment of the invention, the storage device 1020 may store relevant instructions, and may further store relevant image encoders of algorithms. The processor 1010 may receive the bitstream from the communication interface 1030. The processor 1010 may execute the relevant image encoders and/or the relevant instructions to implement encoding methods of the invention. In the embodiment of the invention, the encoder 1000 may be implemented by one or more personal computer (PC), one or more server computer, and one or more workstation computer or composed of multiple computing devices, but the invention is not limited thereto. In one embodiment of the invention, the encoder 1000 may include more processors for executing the relevant image encoders and/or the relevant instructions to implement the image data processing method of the invention. In the embodiment of the invention, the decoder 1000 may implement the G-PCC encoding method of FIG. 1. [0088] In the embodiment of the invention, the processor 1010 may include, for example, a central processing unit (CPU), a graphic processing unit (GPU), or other programmable general- purpose or special-purpose microprocessor, digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic device (PLD), other similar processing circuits or a combination of these devices. In the embodiment of the invention, the storage device 520 may be a non-transitory computer-readable recording medium, such as a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically-erasable programmable read-only memory (EEPROM) or a non-volatile memory (NVM), but the present invention is not limited thereto. In one embodiment of the invention, the relevant image encoders and/or the relevant instructions may also be stored in the non-transitory computer-readable recording medium of one apparatus, and executed by the processor of another one apparatus. The communication interface 1030 is, for example, a network card that supports wired network File:134494-wof connections such as Ethernet, a wireless network card that supports wireless communication standards such as Institute of Electrical and Electronics Engineers (IEEE) 802.11n/b/g/ac/ax/be, or any other network connecting device, but the embodiment is not limited thereto. The communication interface 1030 is configured to retrieve data of a point cloud. In the embodiment of the invention, the processor 1010 may encode the data of the point cloud to generate corresponding bitstream. [0089] FIG. 11 is a flowchart of an encoding method applied to an encoder according to an embodiment of the invention. Referring to FIG. 10 and FIG. 11, the encoder 1000 may receive the data of the point cloud from the communication interface 1030, and may encode the geometric information of the point cloud to generate the corresponding geometric bitstream. In the process of encoding the data of the point cloud, the encoder 1000 may execute the following steps S1110~S1150. In step S1110, the processor 1010 encodes the bitstream. In step S1120, the processor 1010 obtains a corresponding value of a maximum geometry tree size (i.e. “geom_max_tree_size”). In step S1130, the processor 1010 calculates a logarithm of the maximum geometry tree size (i.e. generating “log2geom_max_tree_size”), where a base is 2. In step S1140, the processor 1010 subtracts the logarithm of the maximum geometry tree size from the first preset integer (i.e. “X”) to generate an encoded value of the syntax element (i.e. “log2geom_max_tree_sizeMinusX”) for specifying the maximum geometry tree size into the bitstream. In step S1150, the processor 1010 performs subsequent encoding operations. [0090] In one embodiment of the invention, the processor 1010 may encode the maximum latency limit coefficient. The processor 1010 obtains the maximum cache limit coefficient (i.e. “maxNumofCoeff”). The processor 1010 calculates a logarithm of the maximum cache limit coefficient (i.e. generating “log2maxNumofCoeff”), where a base is 2. The processor 1010 subtracts the logarithm of the maximum cache limit coefficient from the second preset integer (i.e. “Y”) to generate an encoded value of the syntax element (i.e. “log2maxNumofCoeffMinusY”) for File:134494-wof specifying the maximum cache limit coefficient into the bitstream. [0091] In one embodiment of the invention, the processor 1010 may encode the maximum latency limit coefficient. The processor 1010 obtains the maximum latency limit coefficient (i.e. “coeffLengthControl”). The processor 1010 calculates a logarithm of the maximum latency limit coefficient (i.e. generating “log2coeffLengthControl”), where a base is 2. The processor 1010 subtracts the logarithm of the maximum latency limit coefficient from the third preset integer (i.e. “Z”) to generate an encoded value of the syntax element (i.e. “log2coeffLengthControlMinusZ”) for specifying the maximum latency limit coefficient into the bitstream. [0092] It is should be noted that, in the invention, the syntax element for specifying the maximum cache limit coefficient refers to a syntax component used to restrict the maximum amount of cache usage to prevent excessive memory consumption that could lead to performance degradation or even crashes, and the syntax element for specifying the maximum latency limit coefficient refers to a syntax component used to determine the maximum processing delay or wait time allowed during decoding. Therefore, the processor may decode the syntax element for specifying the maximum cache limit coefficient to set the maximum cache limit coefficient, so as to balance decoding speed and memory usage. The processor may decode the syntax element for specifying the maximum latency limit coefficient to set the maximum latency limit coefficient, so as to balance the decoded image quality and the time required for image decoding. Moreover, in the invention, if the maximum cache limit coefficient is not present in the bitstream, the processor may auto set maximum cache limit coefficient to 1, and set the maximum latency to the default value, so as to effectively maintain the normal encoding. [0093] In summary, the G-PCC system applying the above-mentioned improved decoding method and the above-mentioned improved encoding method may adapt to a wide range of PCC inputs and can be used in many applications. [0094] It will be apparent to those skilled in the art that various modifications and variations can File:134494-wof be made to the disclosed embodiments without departing from the scope or spirit of the disclosure. In view of the foregoing, it is intended that the disclosure covers modifications and variations provided that they fall within the scope of the following claims and their equivalents. Reference Signs List [0095] 500:Decoder 510、1010:Processor 520、1020:Storage device 530、1030:Communication interface 540、1040:Data bus 700:Geometry header component 800:Geometry data component 1000:Encoder B1~B8:Cube S102、S104、S106、S108、S110、S112、S114、S116、S118、S120、S122、S124、 S126、S402、S404、S406、S408、S410、S412、S414、S416、S418、S420、S422、S610、 S620、S630、S640、S650、S910、S920、S930、S940、S950、S960、S1110、S1120、S1130、 S1140、S1150:Step

Claims

File:134494-wof WHAT IS CLAIMED IS: 1. A decoding method, comprising: decoding the syntax element for specifying the maximum geometry tree size, wherein the step of decoding the syntax element for specifying the maximum geometry tree size comprising: reading an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream; adding the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code; and left-shifting the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size. 2. The decoding method according to claim 1, wherein the syntax element for specifying the maximum geometry tree size presents in a geometry header component of the bitstream. 3. The decoding method according to claim 1, wherein the syntax element for specifying the maximum geometry tree size presents in a Geometry data component of the bitstream. 4. The decoding method according to claim 3, wherein the syntax element for specifying the maximum geometry tree size presents in the Geometry data component of the bitstream if the Geometry data component of the bitstream is encoded using a prediction tree. 5. The decoding method according to claim 1, wherein the preset integer is 8. File:134494-wof 6. The decoding method according to claim 1, further comprising: determining whether a syntax element for specifying a maximum cache limit coefficient is present in the bitstream; when the syntax element for specifying the maximum cache limit coefficient is present in the bitstream, decoding the syntax element for specifying the maximum cache limit coefficient; and when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, setting the maximum cache limit coefficient is 1. 7. The decoding method according to claim 6, further comprising: decoding a syntax element for specifying the maximum latency limit coefficient. 8. The decoding method according to claim 7, further comprising: when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, setting a maximum latency to a default value. 9. The decoding method according to claim 8, wherein the maximum latency is set to the default value of a zero-run length specified in an adaptive video coding standard - geometry and point cloud compression (AVS-GPCC). 10. The decoding method according to claim 8, wherein the default value is 131072. 11. An encoding method, comprising: obtaining a maximum geometry tree size; calculating a logarithm of the maximum geometry tree size, wherein a base is 2; and subtracting the logarithm of the maximum geometry tree size from a preset integer to generate File:134494-wof an encoded value of a syntax element for specifying the maximum geometry tree size into the bitstream. 12. The encoding method according to claim 11, wherein the syntax element for specifying the maximum geometry tree size presents in a geometry header component of the bitstream. 13. The encoding method according to claim 11, wherein the syntax element for specifying the maximum geometry tree size presents in a Geometry data component of the bitstream. 14. The encoding method according to claim 13, wherein the syntax element for specifying the maximum geometry tree size presents in the Geometry data component of the bitstream if the Geometry data component of the bitstream is encoded using a prediction tree. 15. The encoding method according to claim 11, wherein the preset integer is 8. 16. A decoder, comprising: a communication interface, configured to receive bitstream; a storage device, configured to store the bitstream; and a processor, electrically connected to the communication interface and the storage device, and configured to decode a syntax element for specifying the maximum geometry tree size, wherein the processor is configured to read an encoded value of the syntax element for specifying the maximum geometry tree size from the bitstream, the processor is configured to add the encoded value of the syntax element for specifying the maximum geometry tree size to a preset integer to obtain a first code, and File:134494-wof the processor is configured to left-shift the number 1 by a result of the encoded value of the syntax element for specifying the maximum geometry tree size plus the preset integer to obtain a decoded value of the maximum geometry tree size. 17. The decoder according to claim 16, wherein the syntax element for specifying the maximum geometry tree size presents in a geometry header component of the bitstream. 18. The decoder according to claim 17, wherein the syntax element for specifying the maximum geometry tree size presents in a Geometry data component of the bitstream. 19. The decoder according to claim 18, wherein the syntax element for specifying the maximum geometry tree size presents in the Geometry data component of the bitstream if the Geometry data component of the bitstream is encoded using a prediction tree. 20. The decoder according to claim 16, wherein the preset integer is 8. 21. The decoder according to claim 16, wherein the processor is further configured to determine whether a syntax element for specifying a maximum cache limit coefficient is present in the bitstream, when the syntax element for specifying the maximum cache limit coefficient is present in the bitstream, the processor is configured to decode the syntax element for specifying the maximum cache limit coefficient, and when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, the processor is configured to set the maximum cache limit coefficient is 1. File:134494-wof 22. The decoder according to claim 21, wherein the processor is further configured to decode a syntax element for specifying the maximum latency limit coefficient. 23. The decoder according to claim 22, wherein when the syntax element for specifying the maximum cache limit coefficient is not present in the bitstream, the processor is configured to set a maximum latency to a default value. 24. The decoder according to claim 23, wherein the maximum latency is set to the default value of a zero-run length specified in an adaptive video coding standard - geometry and point cloud compression (AVS-GPCC). 25. The decoder according to claim 23, wherein the default value is 131072. 26. An encoder, comprising: a communication interface, configured to receive data of a point cloud; a storage device, configured to store the bitstream; and a processor, electrically connected to the communication interface and the storage device, and configured to encode the data of the point cloud, wherein the processor is configured to obtain a maximum geometry tree size, the processor is configured to calculate a logarithm of the maximum geometry tree size, wherein a base is 2, and the processor is configured to subtract the logarithm of the maximum geometry tree size from a preset integer to generate an encoded value of a syntax element for specifying the maximum geometry tree size into the bitstream. File:134494-wof 27. The encoder according to claim 26, wherein the syntax element for specifying the maximum geometry tree size presents in a geometry header component of the bitstream. 28. The encoder according to claim 26, wherein the syntax element for specifying the maximum geometry tree size presents in a Geometry data component of the bitstream. 29. The encoder according to claim 28, wherein the syntax element for specifying the maximum geometry tree size presents in the Geometry data component of the bitstream if the Geometry data component of the bitstream is encoded using a prediction tree. 30. The encoder according to claim 26, wherein the preset integer is 8.
PCT/US2023/030410 2022-08-23 2023-08-17 Decoding method, encoding method, decoder and endoder WO2024044082A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263373321P 2022-08-23 2022-08-23
US63/373,321 2022-08-23

Publications (2)

Publication Number Publication Date
WO2024044082A2 true WO2024044082A2 (en) 2024-02-29
WO2024044082A3 WO2024044082A3 (en) 2024-04-11

Family

ID=90013944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/030410 WO2024044082A2 (en) 2022-08-23 2023-08-17 Decoding method, encoding method, decoder and endoder

Country Status (1)

Country Link
WO (1) WO2024044082A2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112020026567A2 (en) * 2018-06-25 2021-03-23 Huawei Technologies Co., Ltd. APPARATUS AND METHOD FOR OBTAINING HYBRID GEOMETRIC CODES FROM POINT CLOUDS
JP7141543B2 (en) * 2019-06-26 2022-09-22 テンセント・アメリカ・エルエルシー Implicit Quadtree or Binary Tree Geometry Partitioning for Geometry Decoding and Encoding of Point Clouds
US11350132B2 (en) * 2020-01-08 2022-05-31 Qualcomm Incorporated High level syntax for geometry-based point cloud compression

Also Published As

Publication number Publication date
WO2024044082A3 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
US11895307B2 (en) Block-based predictive coding for point cloud compression
CN113615181B (en) Method and device for point cloud encoding and decoding
US11469771B2 (en) Method and apparatus for point cloud compression
US20220376702A1 (en) Methods and devices for tree switching in point cloud compression
WO2022138046A1 (en) Point cloud decoding device, point cloud decoding method, and program
TW202143709A (en) Trisoup syntax signaling for geometry-based point cloud compression
WO2021138788A1 (en) Intra-frame prediction method and apparatus, coder, decoder and storage medium
CN115088017A (en) Intra-tree geometric quantization of point clouds
US20230009083A1 (en) Method and device for intra prediction
WO2024044082A2 (en) Decoding method, encoding method, decoder and endoder
CN113115019B (en) Video encoding and decoding method and device, computer equipment and storage medium
CN113179411A (en) Point cloud attribute coding and decoding method and device, computer equipment and storage medium
CN114868389A (en) Intra-frame prediction method, encoder, decoder and storage medium
WO2024086123A1 (en) Decoding method, encoding method, decoder and encoder
WO2023244551A1 (en) Color component coding method, encoder and decoder
WO2024064043A1 (en) Point cloud decoding method, point cloud encoding method, decoder and encoder
WO2023142133A1 (en) Coding method, decoding method, coder, decoder, and storage medium
WO2023166888A1 (en) Decoding method, encoding method, decoding device, and encoding device
WO2024074121A1 (en) Method, apparatus, and medium for point cloud coding
WO2023132331A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024074122A1 (en) Method, apparatus, and medium for point cloud coding
JP2024058011A (en) Point group decoding device, point group decoding method and program
WO2024059232A1 (en) Point cloud decoding method, point cloud encoding method, decoder and encoder
JP2024058012A (en) Point group decoding device, point group decoding method and program
WO2023244585A1 (en) Geometry point cloud coding system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23857925

Country of ref document: EP

Kind code of ref document: A2