Method, system and device for point cloud coding and decoding
Point cloud data is encoded and decoded by subtracting or adding fixed integers by logarithmic format, which solves the problem that the existing technology cannot be applicable to various point cloud encoding and decoding inputs, and realizes support and codec for multiple applications Improved efficiency.
Patent Information
- Application Number
- CN202380045032.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-15
- Filing Date
- 2023-06-14
- Publication Date
- 2025-01-14
AI Technical Summary
The existing geometric point cloud encoding and decoding methods cannot be applied to various point cloud encoding and decoding inputs, and it is difficult to meet the needs of multiple application.
The attribute information of point cloud data is encoded and decoded by subtracting or adding fixed integers using logarithmic format, or specifying the associated value for encoding and decoding, which is used to adapt to different inputs and application scenarios.
It realizes adaptability and support for various point cloud codec inputs and a variety of applications, improving the flexibility and efficiency of point cloud codec.
Smart Images

Figure CN119318141A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 63 / 366,446, filed on June 15, 2022, the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present disclosure relates to the field of augmented reality (AR) and / or video technology, and more specifically, to methods, systems and devices for point cloud coding and decoding (including point cloud encoding and / or point cloud decoding), which can provide at least one improvement for point cloud coding (PCC) such as geometry point cloud coding (G-PCC). Background Art
[0003] A point cloud is a collection of points in a three-dimensional space. These points may correspond to points on an object in the three-dimensional space. Therefore, a point cloud can be used to represent the physical content of a three-dimensional space. Point clouds can be used in a variety of situations. For example, a point cloud can be used in a scene of an autonomous vehicle to represent the location of objects on the road. In another example, a point cloud can be used in a scene representing the physical content of an environment for locating virtual objects in augmented reality (AR) or mixed reality (MR) applications. Point cloud compression is a process for encoding and decoding (including encoding and / or decoding) point clouds. Encoding a point cloud can reduce the amount of data required to store and transmit the point cloud.
[0004] Current point cloud codecs, such as the current geometric point cloud codec (G-PCC), are not applicable to various PCC inputs. Therefore, methods, systems, and apparatus for point cloud codecs that can be applicable to various PCC inputs and / or can be used in a variety of applications are needed. Summary of the invention
[0005] The purpose of the present disclosure is to propose methods, systems and devices for point cloud codecs, which can provide at least one improvement for point cloud codecs (PCCs) such as geometric point cloud codecs (G-PCCs), can be applicable to various PCC inputs, and / or can be used in a variety of applications.
[0006] In a first aspect of the present disclosure, a method for encoding and decoding point cloud data includes encoding and decoding geometric information of the point cloud data, and encoding and decoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus or plus a fixed integer, or at least one value associated with the attribute information is specified.
[0007] In a second aspect of the present disclosure, a method for encoding point cloud data includes encoding geometric information of the point cloud data, and encoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded in a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
[0008] In a third aspect of the present disclosure, a method for decoding point cloud data includes decoding geometric information of the point cloud data, and decoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format plus a fixed integer, or at least one value associated with the attribute information is specified.
[0009] In a fourth aspect of the present disclosure, a point cloud codec includes a codec for encoding and decoding geometric information of point cloud data, and encoding and decoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus or plus a fixed integer, or at least one value associated with the attribute information is specified.
[0010] In a fifth aspect of the present disclosure, a point cloud encoder includes an encoder for encoding geometric information of point cloud data, and encoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded in a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
[0011] In a sixth aspect of the present disclosure, a point cloud decoder includes a decoder for decoding geometric information of point cloud data, and decoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format plus a fixed integer, or at least one value associated with the attribute information is specified.
[0012] In a seventh aspect of the present disclosure, a coding and decoding device includes a memory, a transceiver, and a processor coupled to the memory and the transceiver. The processor is configured to execute the above-mentioned method for coding and decoding point cloud data.
[0013] In an eighth aspect of the present disclosure, a coding device includes a memory, a transceiver, and a processor coupled to the memory and the transceiver. The processor is configured to execute the above method for coding point cloud data.
[0014] In a ninth aspect of the present disclosure, a decoding device includes a memory, a transceiver, and a processor coupled to the memory and the transceiver. The processor is configured to execute the above method for decoding point cloud data.
[0015] In a tenth aspect of the present disclosure, a non-transitory machine-readable storage medium stores instructions, which, when executed by a computer, cause the computer to perform the method.
[0016] In an eleventh aspect of the present disclosure, a chip includes a processor, the processor being configured to call and execute a computer program stored in a memory so that a device in which the chip is installed executes the above method.
[0017] In a twelfth aspect of the present disclosure, a computer-readable storage medium stores a computer program, which enables a computer to execute the above method.
[0018] In a thirteenth aspect of the present disclosure, a computer program product includes a computer program, and the computer program enables a computer to execute the above method.
[0019] In a fourteenth aspect of the present disclosure, a computer program enables a computer to execute the above method. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments or related technologies of the present disclosure, the following briefly introduces the drawings described in the embodiments. Obviously, the drawings are only some embodiments of the present disclosure, and ordinary technicians in this field can obtain other drawings based on these drawings without any prerequisites.
[0021] Figure 1 It is a structural diagram of the geometric point cloud coding and decoding (G-PCC) system.
[0022] Figure 2 It is a structural diagram of the G-PCC encoder.
[0023] Figure 3 It is a schematic diagram of the structure of the G-PCC decoder.
[0024] Figure 4 It is a schematic diagram of the octree structure of G-PCC and the corresponding digital representation.
[0025] Figure 5 It is a structural diagram of the structure of a cube and its relationship with adjacent cubes.
[0026] Figure 6 is a block diagram showing an example of a point cloud codec according to an embodiment of the present application.
[0027] Figure 7 is a block diagram showing an example of a point cloud encoder according to an embodiment of the present application.
[0028] Figure 8 is a block diagram showing an example of a point cloud decoder according to an embodiment of the present application.
[0029] Fig. 9 is a block diagram of an example of a computing device according to an embodiment of the present disclosure.
[0030] Fig.10 is a block diagram of an example of a coding and decoding device according to an embodiment of the present disclosure.
[0031] Fig.11 is a block diagram of an example of an encoding device according to an embodiment of the present disclosure.
[0032] Fig.12 is a block diagram of an example of a decoding device according to an embodiment of the present disclosure.
[0033] Fig.13 is a block diagram of an example of a method for encoding and decoding point cloud data according to an embodiment of the present disclosure.
[0034] Fig.14 is a block diagram of an example of a method for encoding point cloud data according to an embodiment of the present disclosure.
[0035] Fig.15 is a block diagram of an example of a method for decoding point cloud data according to an embodiment of the present disclosure.
[0036] Fig.16 is a block diagram of a communication system according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0037] The technical points, structural features, objectives, and effects of various embodiments of the present disclosure are described in detail below in conjunction with the accompanying drawings. Specifically, the terms in various embodiments of the present disclosure are only for the purpose of describing specific embodiments, rather than limiting the present disclosure.
[0038] In some embodiments of the present disclosure, coding refers to encoding and / or decoding, and more specifically, refers to a coding and / or decoding method, system, or device.
[0039] Geometric point cloud codec (G-PCC) is widely used in virtual reality / augmented reality / mixed reality (VR / AR / MR) for entertainment and industrial applications, such as compression of LiDAR scans for cars or robots and high definition (HD) maps for navigation. The moving picture experts group (MPEG) has released the first version of the G-PCC standard, and the audio video coding standard (AVS) is also developing the G-PCC standard. In order to effectively compress point cloud data, the geometry of the point cloud is first compressed, and then the corresponding attributes, including color or reflectivity, are compressed based on the geometric information. Figure 1 Detailed Description of the Invention A geometric point cloud coding and decoding (G-PCC) system 100 including a G-PCC encoder 200 and / or a G-PCC decoder 300 is shown in FIG.
[0040] Figure 1 An overview of a G-PCC system 100 including a G-PCC encoder 200 and / or a G-PCC decoder 300 is provided. The G-PCC system 100 is used to implement some embodiments of the present disclosure. Figure 2 A G-PCC encoder 200 is provided. The G-PCC encoder 200 is used to implement some embodiments of the present disclosure. Figure 3 A G-PCC decoder 300 is provided. The G-PCC decoder 300 is used to implement some embodiments of the present disclosure. Figure 1 , Figure 2 ,and Figure 3 The modules shown in are logical modules. Some embodiments of the present disclosure may be implemented in the G-PCC system 100, the G-PCC encoder 200, and / or the G-PCC decoder 300 using any appropriately configured hardware and / or software. In the G-PCC encoder 200 and the G-PCC decoder 300, the point cloud position is first encoded and decoded. The attribute encoding and decoding depends on the decoded geometry. Such as Figure 1 and Figure 2 The G-PCC encoder shown in FIG. 1 may be an analysis surface approximation and / or a region adaptive hierarchical transform (RAHT) and / or Figure 1 and Figure 3 The synthesize surface approximation and / or at least one module of RAHT of the G-PCC decoder shown are options for Category 1 data. Figure 1 and Figure 2 The G-PCC encoder shown generates level of detail (LOD) and / or enhances and / or Figure 1 and Figure 3 At least one module of the G-PCC decoder shown to generate LOD and / or inverse lifting is an option for Category 3 data. All other modules are common between Category 1 and Category 3.
[0041] For category 3 data, the compressed geometry can be represented as an octree from the root down to the leaf level of a single voxel. For category 1 data, the compressed geometry can be represented as a pruned octree (i.e., an octree from the root down to the leaf level of blocks larger than a voxel) plus a model that approximates the surface within each leaf of the pruned octree. In this way, category 1 and category 3 data share the octree encoding and decoding mechanism, while category 1 data can additionally approximate the voxels within each leaf with a surface model. The surface model used is a triangulation that includes 1 to 10 triangles per block, forming a triangle soup. Therefore, category 1 geometry codecs are called trisoup geometry codecs, while category 3 geometry codecs are called octree geometry codecs.
[0042] There are 3 attribute codecs in G-PCC: Region Adaptive Hierarchical Transform (RAHT) codec, interpolation-based hierarchical nearest neighbor prediction (prediction transform), and interpolation-based hierarchical nearest neighbor prediction with an update / boosting step (boost transform). RAHT and boosting are used for class 1 data, while prediction is used for class 3 data. However, any method can be used for any data, and just like the geometry codec in G-PCC, users can choose which of the 3 attribute codecs they want to use.
[0043] The cubical axis-aligned bounding box consists of two extreme points (0,0,0) and (2 d ,2 d ,2 d ), where d is the maximum size of a given point cloud along the x, y, or z direction. Points in a point cloud can be represented as Figure 4The points shown in . All points are included in this defined cube. A cube is divided into eight child cubes, which forms an octree structure that allows a parent cube to have eight child cubes. The 7 sibling cubes of a given cube are cubes of the same size and share at least one of the same faces / edges / points with the given cube. The volume of a cube is 1 / 8 of the volume of the parent cube of the cube. A cube can contain multiple points, and the number of points in a cube depends on the size and position of the cube. For a given point cloud, the size of the minimum cube is predefined. As an example, a minimum cube can be defined. For a given point, the parent cube of the given point is defined as the minimum size cube that contains the given point. The sibling points of a given point are defined as those points that have the same parent cube as the given point.
[0044] Figure 4 The octree structure and corresponding digital representation of G-PCC are shown. An octree is a recursive data structure that can be generally used to describe a three-dimensional space in which each internal cube has exactly eight sub-cubes. The space is recursively subdivided into eight octants until the resolution of the sub-cube is equal to the size of the point (i.e., the smallest element that is not further subdivided). To represent the cube, an 8-bit binary code that follows a space-filling curve pattern (Hilbert, Morton) is used, and each sub-cube is assigned a "1" or "0" value to indicate that the space in the sub-cube has any points associated with the sub-cube, or to indicate that the sub-cube is empty. Only occupied sub-cubes are further subdivided. The process of subdividing the parent cube terminates when the size of the sub-cube becomes equal to the size of the indivisible element (i.e., the spatial resolution of the point cloud) or simply equal to the size of the point.
[0045] Figure 5 shows the structure of the cube and the relationship between adjacent cubes. Depending on the current position of the cube, a cube can be Figure 5 The current cube has at most six cubes of the same size that share a face. In addition, the current cube may also have some neighboring cubes that share lines or points with the current cube. Similarly, the parent cube of the current cube also has at most six neighboring cubes of the same size as the parent cube that share a face with the parent cube. The parent cube of the current cube also has at most twelve neighboring cubes of the same size as the parent cube that share edges. The parent cube of the current cube also has at most eight neighboring cubes of the same size as the parent cube that share points with the parent cube.
[0046] The octree-based geometric information can be encoded and decoded using context-based arithmetic coding. The point cloud may also have some corresponding attribute information that needs to be compressed, including color, reflectivity, etc. Because adjacent points in the point cloud may have strong correlations, prediction-based coding methods have been developed and used to synthesize and encode and decode point cloud attributes. More specifically, a prediction is formed from adjacent encoded attributes. Further, the difference between the current attribute and the prediction is encoded and decoded.
[0047] Some embodiments of the present disclosure propose methods, systems and devices for point cloud coding and decoding, which can provide at least one improvement for point cloud coding and decoding (PCC) such as geometric point cloud coding and decoding (G-PCC), can be applicable to various PCC inputs, and / or can be used in multiple applications. At least one proposed scheme, method, system and device of some embodiments of the present disclosure can be used for current and / or new / future G-PCC coding and decoding standards, especially for audio and video coding standard (AVS) GPCC (GPCC refers to G-PCC). Compatible products follow at least one proposed scheme, method, system and device of some embodiments of the present disclosure. The proposed schemes, methods, systems and devices are widely used in G-PCC related products. With the implementation of at least one proposed scheme, method, system and device of some embodiments of the present disclosure, it is considered to make at least one modification to the code stream structure, syntax, constraints, and mapping used to generate decoded point clouds for standardization.
[0048] Technical Solution
[0049] Solution 1
[0050] A parameter maxNumofCoeff is added and specified in the current AVS GPCC to control the maximum buffer size for storing the number of transform coefficients. In addition, another parameter coeffLengthControl is specified to allow a maximum delay, which is defined as maxNumofCoeff*coeffLengthControl. Both parameters are encoded and decoded with ue(v), which is an exponential Golomb (EG) codec of order 0 as specified in Table 1 below, to encode a given integer v, where x0, x1…, xn are binary numbers.
[0051] Table 1: k-order EG
[0052] It should be understood that maxNumofCoeff is an integer power of 2. Some embodiments of the present disclosure propose to encode (encode / decode) the parameter in a logarithmic format, rather than directly encode and decode the decimal value of the parameter. For example, the parameter is encoded and decoded in a logarithmic format minus or plus a fixed integer. For example, the parameter is encoded in a logarithmic format minus a fixed integer. For example, the parameter is decoded in a logarithmic format plus a fixed integer. For example, on the encoder side, assume that some embodiments want to encode 256, and some embodiments use log2(X)minusY. Assuming Y is 8, some embodiments can obtain log2(256)-8=0. Therefore, on the encoder side, "0" can be encoded in the code stream instead of "256". On the decoder side, "0" is first decoded, and then some embodiments recover the value = 1<<(0+8)=256.
[0053] More specifically, log2 maxNumofCoeffMinusX is encoded and decoded in the bitstream in the ue(v) format, where X is an integer. For example, X is 10, and log2maxNumofCoeffMinus10 can be encoded and decoded (encoded / decoded). maxNumofCoeff can be calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus10+10).
[0054] Possible syntax variations are as follows.
[0055] The corresponding semantics of log2maxNumofCoeffMinus10 are as follows.
[0056] log2maxNumofCoeffMinus10 is an unsigned integer between 0 and 16, which specifies maxNumofCoeff as the maximum buffer size to store the number of transform coefficients. maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus10+10).
[0057] More specifically, log2 maxNumofCoeffMinusX is encoded and decoded in the bitstream in the ue(v) format, where X is an integer. For example, X is 8, and log2maxNumofCoeffMinus8 can be encoded and decoded (encoded / decoded). maxNumofCoeff can be calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
[0058] Possible syntax changes are as follows.
[0059] The corresponding semantics of log2maxNumofCoeffMinus8 are as follows.
[0060] log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which specifies maxNumofCoeff as the maximum buffer size to store the number of transform coefficients. maxNumofCoeff is calculated as follows: maxNumofCoeff = 1 << (log2maxNumofCoeffMinus8 + 8).
[0061] Solution 2
[0062] In the current AVS-GPCC specification, the two parameters colorGolumbNum and RefGolombNum are used to specify the order of EG used to encode and decode color attributes and reflectance attributes, respectively. Both parameters are encoded and decoded in ue(v). Some embodiments of the present disclosure propose that the allowed values of both attributes cannot be greater than a specified value, such as N, so that the codec has a reasonable implementation complexity. More specifically, colorGolumbNum and RefGolumbNum are both encoded and decoded in ue(v), and in the AVS-GPCC specification, colorGolumbNum and RefGolumbNum are specified to be no greater than 8.
[0063] Solution 3
[0064] In the current AVS-GPCC, the attribute residual is first binarized using the format of zero run length plus non-zero residual value, and further encoded and decoded using context-based adaptive binary arithmetic coding (CABAC). Some embodiments of the present disclosure propose that the value of zero run length can be specified and constrained to be less than a predefined value so as to be more suitable for hardware implementation.
[0065] More specifically, the value of zero run length can be encoded and decoded as follows. The first bin is encoded and decoded to indicate whether the value of zero run length is zero. If the value of zero run length is not zero, the second bin is encoded and decoded to indicate whether the value of zero run length is one. If the value of zero run length is not one, the third bin is encoded and decoded to indicate whether the value of zero run length is two. If the value of zero run length is not two, the parity flag can be encoded and decoded to indicate whether the value of zero run length is odd or even. After these four flags, the remainder of the value representing (zero run length-2) / 2 can be encoded and decoded. The remainder can be encoded and decoded with a specified colorGolumbNum or RefGolombNum order EG or unary code.
[0066] Some examples assume that the remainder is encoded and decoded with a second-order EG code. If the maximum number of bins that the hardware can support using context encoding or bypass methods is N, the maximum value of the second-order EG code can be 1<<((N-1)>>2+2)–4. For example, if N is 32, the maximum value of the remainder can be 1<<((32-1)>>2+2)–4, which is equal to 131068. Because the value of the zero run length is encoded and decoded with a parity check value, the maximum value represented can be 262138, that is, 131068*2+2. Therefore, some embodiments of the present disclosure propose that the maximum value of the zero run length of AVS-GPCC is set to 262138.
[0067] Optionally, the maximum allowed value of the zero run length can be set to any value less than 262138. For example, the maximum value can be set to a fixed value or encoded in the code stream, in the SPS or attribute header. For example, the maximum allowed value of the zero run length can be set to 131072.
[0068] Figure 6 An example of a point cloud codec 600 according to an embodiment of the present application is shown. The point cloud codec 600 is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the point cloud codec 600 using any appropriately configured hardware and / or software. The point cloud codec 600 includes a codec 601, which is used to encode and decode geometric information of point cloud data, and to encode and decode attribute information of point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus or plus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for a point cloud codec (PCC) such as a geometric point cloud codec (G-PCC), can be applicable to various PCC inputs, and / or can be used in a variety of applications.
[0069] Figure 7 An example of a codec device 700 according to an embodiment of the present disclosure is shown. The codec device 700 is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the codec device 700 using any appropriately configured hardware and / or software. The codec device 700 may include a memory 701, a transceiver 702, and a processor 703 coupled to the memory 701 and the transceiver 702. The processor 703 may be used to implement the proposed functions, processes, and / or methods described in this specification. The layers of the radio interface protocol may be implemented in the processor 703. The memory 701 is operably coupled to the processor 703 and stores various information to operate the processor 703. The transceiver 702 is operably coupled to the processor 703, and the transceiver 702 sends and / or receives radio signals. The processor 703 may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory 701 may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. The transceiver 702 may include a baseband circuit to process radio frequency signals. When the embodiments are implemented in software, the techniques described herein may be implemented with modules (e.g., procedures, functions, etc.) that perform functions described herein. The modules may be stored in the memory 701 and executed by the processor 703. The memory 701 may be implemented within the processor 703 or outside the processor 703, in which case the memory 701 may be communicatively coupled to the processor 703 by various means known in the art.
[0070] In some embodiments, the processor 703 is used to encode and decode geometric information of the point cloud data, and encode and decode attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus or plus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for a point cloud codec (PCC) such as a geometric point cloud codec (G-PCC), can be applicable to various PCC inputs, and / or can be used in a variety of applications.
[0071] Figure 8is an example of a method 800 for encoding and decoding point cloud data according to an embodiment of the present disclosure. The method 800 for encoding and decoding point cloud data is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the method 800 for encoding and decoding point cloud data using any appropriately configured hardware and / or software. In some embodiments, the method 800 for encoding and decoding point cloud data includes: operation 802, encoding and decoding geometric information of the point cloud data, and operation 804, encoding and decoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus or plus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud codecs (PCC) such as geometric point cloud codecs (G-PCC), can be applicable to various PCC inputs, and / or can be used in a variety of applications.
[0072] In some embodiments, the first parameter includes maxNumofCoeff, which is used to control the maximum buffer size for storing the number of transform coefficients. In some embodiments, log2maxNumofCoeffMinusX is encoded in the bitstream in ue(v) format, where X is an integer and the ue(v) format is 0-order exponential Golomb (EG) encoding. In some embodiments, X is equal to 8, log2maxNumofCoeffMinus8 is encoded, and log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients. In some embodiments, maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
[0073] In some embodiments, at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified value. In some embodiments, the second parameter includes colorGolumbNum, colorGolumbNum is used to specify the order of the EG used to encode and decode the color attribute. In some embodiments, the third parameter includes RefGolombNum, RefGolombNum is used to specify the order of the EG used to encode and decode the reflectivity attribute. In some embodiments, the specified value is equal to 8.
[0074] In some embodiments, at least one value associated with the attribute information includes a value of zero run length, and the value of zero run length is less than a predefined value. In some embodiments, if the order of the EG used to encode the attribute information is less than a predefined value, the first bin is encoded to indicate whether the value of zero run length is zero. In some embodiments, if the value of zero run length is not zero, the second bin is encoded to indicate whether the value of zero run length is one. In some embodiments, if the value of zero run length is not one, the third bin is encoded to indicate whether the value of zero run length is two. In some embodiments, if the value of zero run length is not two, the parity flag is encoded to indicate whether the value of zero run length is an odd number or an even number.
[0075] In some embodiments, the remainder representing the value of (zero run length-2) / 2 may be encoded and decoded. In some embodiments, the remainder may be encoded and decoded with a specified order EG or a unary code. In some embodiments, the specified order EG may be a second order EG. In some embodiments, if the maximum number of bins is N, the maximum value of the second order EG code is 1<<((N-1)>>2+2)–4, where N is an integer. In some embodiments, if N is equal to 32, the maximum value of the remainder is 1<<((32-1)>>2+2)-4, which is equal to 131068. In some embodiments, the value of zero run length is encoded and decoded with a parity check value, and the maximum value of zero run length is 262138, i.e., 131068*2+2. In some embodiments, the maximum value allowed for zero run length is set to a value less than 262138. In some embodiments, the maximum value allowed for zero run length is set to a fixed value or is encoded and decoded in the code stream. In some embodiments, the maximum value allowed for zero run length is set to 131072.
[0076] Fig. 9 An example of a point cloud encoder 900 according to an embodiment of the present application is shown. The point cloud encoder 900 is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the point cloud encoder 900 using any appropriately configured hardware and / or software. The point cloud encoder 900 includes an encoder 901, which is used to encode geometric information of point cloud data, and to encode attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded in a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud encoding such as geometric point cloud encoding, can be applicable to various point cloud encoding inputs, and / or can be used for a variety of applications.
[0077] Fig.10An example of a coding device 1000 according to an embodiment of the present disclosure is shown. The coding device 1000 is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the coding device 1000 using any appropriately configured hardware and / or software. The coding device 1000 may include a memory 1001, a transceiver 1002, and a processor 1003 coupled to the memory 1001 and the transceiver 1002. The processor 1003 may be used to implement the proposed functions, processes, and / or methods described in this specification. The layers of the radio interface protocol may be implemented in the processor 1003. The memory 1001 is operably coupled to the processor 1003 and stores various information to operate the processor 1003. The transceiver 1002 is operably coupled to the processor 1003, and the transceiver 1002 sends and / or receives radio signals. The processor 1003 may include an application specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory 1001 may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. The transceiver 1002 may include a baseband circuit to process radio frequency signals. When the embodiments are implemented in software, the techniques described herein may be implemented with modules (e.g., processes, functions, etc.) that perform functions described herein. The modules may be stored in the memory 1001 and executed by the processor 1003. The memory 1001 may be implemented within the processor 1003 or outside the processor 1003, in which case the memory 1001 may be communicatively coupled to the processor 1003 by various means known in the art.
[0078] In some embodiments, the processor 1003 is used to encode geometric information of the point cloud data, and to encode attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded using a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud encoding such as geometric point cloud encoding, can be applicable to various point cloud encoding inputs, and / or can be used for a variety of applications.
[0079] Fig.11is an example of a method 1100 for encoding point cloud data according to an embodiment of the present disclosure. The method 1100 for encoding point cloud data is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the method 1100 for encoding point cloud data using any appropriately configured hardware and / or software. In some embodiments, the method 1100 for encoding point cloud data includes: operation 1102, encoding geometric information of the point cloud data, and operation 1104, encoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is encoded in a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud encoding such as geometric point cloud encoding, can be applicable to various point cloud encoding inputs, and / or can be used for a variety of applications.
[0080] In some embodiments, the first parameter includes maxNumofCoeff, which is used to control the maximum buffer size for storing the number of transform coefficients. In some embodiments, log2 maxNumofCoeffMinusX is encoded in the bitstream in ue(v) format, where X is an integer and the ue(v) format is 0-order exponential Golomb (EG) encoding. In some embodiments, X is equal to 8, log2maxNumofCoeffMinus8 is encoded, and log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients. In some embodiments, maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
[0081] In some embodiments, at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified value. In some embodiments, the second parameter includes colorGolumbNum, colorGolumbNum is used to specify the order of the EG used to encode the color attribute. In some embodiments, the third parameter includes RefGolombNum, RefGolombNum is used to specify the order of the EG used to encode the reflectivity attribute. In some embodiments, the specified value is equal to 8.
[0082] In some embodiments, at least one value associated with the attribute information includes a value of zero run length, and the value of zero run length is less than a predefined value. In some embodiments, if the order of the EG used to encode the attribute information is less than a predefined value, the first bin is encoded to indicate whether the value of zero run length is zero. In some embodiments, if the value of zero run length is not zero, the second bin is encoded to indicate whether the value of zero run length is one. In some embodiments, if the value of zero run length is not one, the third bin is encoded to indicate whether the value of zero run length is two. In some embodiments, if the value of zero run length is not two, the parity flag is encoded to indicate whether the value of zero run length is an odd number or an even number.
[0083] In some embodiments, the remainder representing the value of (zero run length-2) / 2 may be encoded. In some embodiments, the remainder may be encoded with a specified order EG or a unary code. In some embodiments, the specified order EG may be a second order EG. In some embodiments, if the maximum number of bins is N, the maximum value of the second order EG code is 1<<((N-1)>>2+2)–4, where N is an integer. In some embodiments, if N is equal to 32, the maximum value of the remainder is 1<<((32-1)>>2+2)-4, which is equal to 131068. In some embodiments, the value of zero run length is encoded with a parity check value, and the maximum value of zero run length is 262138, i.e., 131068*2+2. In some embodiments, the maximum value allowed for zero run length is set to a value less than 262138. In some embodiments, the maximum value allowed for zero run length is set to a fixed value or encoded in the code stream. In some embodiments, the maximum value allowed for zero run length is set to 131072.
[0084] Fig.12 An example of a point cloud decoder 1200 according to an embodiment of the present application is shown. The point cloud decoder 1200 is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the point cloud decoder 1200 using any appropriately configured hardware and / or software. The point cloud decoder 1200 includes a decoder 1201, which is used to decode geometric information of point cloud data, and decode attribute information of point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format plus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud decoding such as geometric point cloud decoding, can be applicable to various point cloud decoding inputs, and / or can be used for a variety of applications.
[0085] Fig.13An example of a decoding device 1300 according to an embodiment of the present disclosure is shown. The decoding device 1300 is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the decoding device 1300 using any appropriately configured hardware and / or software. The decoding device 1300 may include a memory 1301, a transceiver 1302, and a processor 1303 coupled to the memory 1301 and the transceiver 1302. The processor 1303 may be used to implement the proposed functions, processes, and / or methods described in this specification. The layers of the radio interface protocol may be implemented in the processor 1303. The memory 1301 is operably coupled to the processor 1303 and stores various information to operate the processor 1303. The transceiver 1302 is operably coupled to the processor 1303, and the transceiver 1302 sends and / or receives radio signals. The processor 1303 may include an application specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory 1301 may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. The transceiver 1302 may include a baseband circuit to process radio frequency signals. When the embodiments are implemented in software, the techniques described herein may be implemented with modules (e.g., procedures, functions, etc.) that perform functions described herein. The modules may be stored in the memory 1301 and executed by the processor 1303. The memory 1301 may be implemented within the processor 1303 or outside the processor 1303, in which case the memory 1301 may be communicatively coupled to the processor 1303 by various means known in the art.
[0086] In some embodiments, the processor 1303 is used to decode geometric information of the point cloud data, and to decode attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format plus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud decoding such as geometric point cloud decoding, can be applicable to various point cloud decoding inputs, and / or can be used for a variety of applications.
[0087] Fig.14is an example of a method 1400 for decoding point cloud data according to an embodiment of the present disclosure. The method 1400 for decoding point cloud data is used to implement some embodiments of the present disclosure. Some embodiments of the present disclosure can be implemented in the method 1400 for decoding point cloud data using any appropriately configured hardware and / or software. In some embodiments, the method 1400 for decoding point cloud data includes: operation 1402, decoding geometric information of the point cloud data, and operation 1404, decoding attribute information of the point cloud data based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format plus a fixed integer, or at least one value associated with the attribute information is specified. This can provide at least one improvement for point cloud decoding such as geometric point cloud decoding, can be applicable to various point cloud decoding inputs, and / or can be used for a variety of applications.
[0088] In some embodiments, the first parameter includes maxNumofCoeff, which is used to control the maximum buffer size for storing the number of transform coefficients. In some embodiments, log2 maxNumofCoeffMinusX is decoded in the bitstream in ue(v) format, where X is an integer and the ue(v) format is 0-order exponential Golomb (EG) decoding. In some embodiments, X is equal to 8, log2maxNumofCoeffMinus8 is decoded, and log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients. In some embodiments, maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
[0089] In some embodiments, at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified value. In some embodiments, the second parameter includes colorGolumbNum, colorGolumbNum is used to specify the order of the EG used to decode the color attribute. In some embodiments, the third parameter includes RefGolombNum, RefGolombNum is used to specify the order of the EG used to decode the reflectivity attribute. In some embodiments, the specified value is equal to 8.
[0090] In some embodiments, at least one value associated with the attribute information includes a value of zero run length, and the value of zero run length is less than a predefined value. In some embodiments, if the order of the EG used to decode the attribute information is less than a predefined value, the first bin is decoded to indicate whether the value of zero run length is zero. In some embodiments, if the value of zero run length is not zero, the second bin is decoded to indicate whether the value of zero run length is one. In some embodiments, if the value of zero run length is not one, the third bin is decoded to indicate whether the value of zero run length is two. In some embodiments, if the value of zero run length is not two, the parity flag is decoded to indicate whether the value of zero run length is an odd number or an even number.
[0091] In some embodiments, the remainder representing the value of (zero run length-2) / 2 may be decoded. In some embodiments, the remainder may be decoded with a specified order EG or a unary code. In some embodiments, the specified order EG may be a second order EG. In some embodiments, if the maximum number of bins is N, the maximum value of the second order EG code is 1<<((N-1)>>2+2)–4, where N is an integer. In some embodiments, if N is equal to 32, the maximum value of the remainder is 1<<((32-1)>>2+2)-4, which is equal to 131068. In some embodiments, the value of zero run length is decoded with a parity check value, and the maximum value of zero run length is 262138, i.e., 131068*2+2. In some embodiments, the maximum value allowed for zero run length is set to a value less than 262138. In some embodiments, the maximum value allowed for zero run length is set to a fixed value or is decoded in the code stream. In some embodiments, the maximum value allowed for zero run length is set to 131072.
[0092] The commercial benefits of some embodiments are as follows. 1. Provide at least one improvement for point cloud codecs (encoding and / or decoding) such as geometric point cloud codecs. 2. Applicable to various point cloud codec inputs. 3. Some embodiments of the present disclosure can be used in a variety of applications. 4. Some embodiments of the present disclosure are used for chipset suppliers, video system development suppliers, automobile manufacturers (including cars, trains, trucks, buses, bicycles, motorcycles, helmets, etc.), drones (unmanned aerial vehicles), smartphone manufacturers, communication devices for public safety purposes, AR / VR / MR device manufacturers (such as games, conferences / seminars, educational purposes). Some embodiments of the present disclosure are a combination of "technology / processes" that can be adopted in video standards to create final products. Some embodiments of the present disclosure propose technical mechanisms. At least one proposed scheme, method, system and device of some embodiments of the present disclosure can be used for current and / or new / future G-PCC codec standards, especially for audio and video codec standard (AVS) GPCC (GPCC refers to G-PCC). Compatible products follow at least one proposed scheme, method, system and device of some embodiments of the present disclosure. The solutions, methods, systems and devices proposed in some embodiments of the present disclosure are widely used in G-PCC related products.
[0093] Fig.15 is an example of a computing device 1500 according to an embodiment of the present disclosure. Any suitable computing device may be used to perform the operations described herein. For example, Fig.15 Any suitably configured hardware and / or software may be used to Figure 1 G-PCC system 100, Figure 2 G-PCC encoder 200, Figure 3 G-PCC decoder 300, Figure 6 Point Cloud Codec 600, Figure 7 The encoding and decoding device 700, Figure 8 Method 800 for encoding and decoding point cloud data Fig. 9 Point Cloud Encoder 900, Fig.10 The encoding device 1000, Fig.11 Method 1100 for encoding point cloud data, Fig.12 Point cloud decoder 1200, Fig.13 Decoding device 1300, and / or Fig.14An example of a computing device 1500 implemented in the method 1400 for decoding point cloud data. In some embodiments, the computing device 1500 may include a processor 1512 that is communicatively coupled to a memory 1514 and executes computer executable program code and / or accesses information stored in the memory 1514. The processor 1512 may include a microprocessor, an application specific integrated circuit (ASIC), a state machine, or other processing device. The processor 1512 may include any of a variety of processing devices, including one. Such a processor may include a computer readable medium storing instructions, or may communicate with a computer readable medium storing instructions that, when executed by the processor 1512, cause the processor to perform the operations described herein.
[0094] Memory 1514 may include any suitable non-transitory computer-readable medium. Computer-readable media may include any electronic, optical, magnetic, or other storage device capable of providing computer-readable instructions or other program codes to the processor. Non-limiting examples of computer-readable media include disks, memory chips, read-only memories (ROMs), random access memories (RAMs), application-specific integrated circuits (ASICs), configured processors, optical storage devices, tapes or other magnetic storage devices, or any other medium from which a computer processor can read instructions. Instructions may include processor-specific instructions generated by a compiler and / or interpreter from code written in any suitable computer programming language, including, for example, C, C++, C#, visual basic, java, python, perl, javascript, and actionscript.
[0095] The computing device 1500 may also include a bus 1516. The bus 1516 may communicatively couple one or more components of the computing device 1500. The computing device 1500 may also include a plurality of external or internal devices, such as input or output devices. For example, the computing device 1500 is shown as having an input / output (I / O) interface 1518, which may receive input from one or more input devices 1520 or provide output to one or more output devices 1522. One or more input devices 1520 and one or more output devices 1522 may be communicatively coupled to the I / O interface 1518. The communicatively coupling may be implemented in any suitable manner (e.g., by connection via a printed circuit board, by connection via a cable, by communication via wireless transmission, etc.). Non-limiting examples of the input device 1520 include a touch screen (e.g., one or more cameras for imaging a touch area, or a pressure sensor for detecting pressure changes caused by a touch), a mouse, a keyboard, or any other device that may be used to generate input events in response to a physical action of a computing device user. Non-limiting examples of output device 1522 include a liquid crystal display (LCD) screen, an external monitor, speakers, or any other device that can be used to display or otherwise present output generated by the computing device.
[0096] The computing device 1500 may execute the configuration of the processor 1512 to execute the above Figures 1 to 14 The program code may include an encoder 1526 and / or a video decoder 1528. The encoder 1526 may be Figure 1 G-PCC system 100, Figure 2 G-PCC encoder 200, Figure 6 Point Cloud Codec 600, Figure 7 The encoding and decoding device 700, Fig. 9 Point Cloud Encoder 900, or Fig.10 The encoding device 1000 of FIG. 1500 is a video decoder 1528. Figure 1 G-PCC system 100, Figure 3 G-PCC decoder 300, Figure 6 Point Cloud Codec 600, Figure 7 The encoding and decoding device 700, Fig.12 Point cloud decoder 1200, or Fig.13 The decoding device 1300. The program code may reside in the memory 1514 or any suitable computer readable medium and may be executed by the processor 1512 or any other suitable processor.
[0097] The computing device 1500 may also include at least one network interface device 1524. The network interface device 1524 may include any device or group of devices suitable for establishing a wired or wireless data connection to one or more data networks 1528. Non-limiting examples of the network interface device 1524 include an Ethernet network adapter, a modem, etc. The computing device 1500 may transmit messages via the network interface device 1524 in the form of electronic or optical signals.
[0098] Fig.16 16 is a block diagram of an example of a communication system 1600 according to an embodiment of the present disclosure. The embodiments described herein may be implemented in the communication system 1600 using any suitably configured hardware and / or software. Fig.16 A communication system 1600 is shown, which includes a radio frequency (RF) circuit 1610, a baseband circuit 1620, an application circuit 1630, a memory / storage device 1640, a display 1650, a camera 1660, a sensor 1670, and an input / output (I / O) interface 1680 coupled to each other as shown.
[0099] Application circuit 1630 may include circuits such as, but not limited to, one or more single-core or multi-core processors. The processor may include any combination of a general-purpose processor and a dedicated processor such as a graphics processor, an application processor. The processor may be coupled to a memory / storage device and used to execute instructions stored in the memory / storage device to enable various applications and / or operating systems running on the system. Communication system 1600 may configure application circuit 1630 to perform the above-mentioned Figures 1 to 14 The program code may reside in the application circuit 1630 or any suitable computer-readable medium and may be executed by the application circuit 1630 or any other suitable processor.
[0100] The baseband circuit 1620 may include circuits such as, but not limited to, one or more single-core or multi-core processors. The processor may include a baseband processor. The baseband circuit may handle various radio control functions that may enable communication with one or more radio networks via RF circuits. The radio control functions may include, but are not limited to, signal modulation, encoding, decoding, radio frequency shifting, etc. In some embodiments, the baseband circuit may provide communications compatible with one or more radio technologies. For example, in some embodiments, the baseband circuit may support communications with an evolved universal terrestrial radio access network (EUTRAN) and / or other wireless metropolitan area networks (WMAN), wireless local area networks (WLAN), and wireless personal area networks (WPAN). An embodiment in which the baseband circuit is used to support radio communications of more than one wireless protocol may be referred to as a multi-mode baseband circuit.
[0101] In various embodiments, the baseband circuit 1620 may include circuits for operating signals that are not strictly at the baseband frequency. For example, in some embodiments, the baseband circuit may include circuits for operating signals having an intermediate frequency, which is between the baseband frequency and the radio frequency. The RF circuit 1610 may use modulated electromagnetic radiation through a non-solid medium to achieve communication with a wireless network. In various embodiments, the RF circuit may include switches, filters, amplifiers, etc. to facilitate communication with a wireless network. In various embodiments, the RF circuit 1610 may include circuits for operating signals that are not strictly at the radio frequency. For example, in some embodiments, the RF circuit may include circuits for operating signals having an intermediate frequency, which is between the baseband frequency and the radio frequency.
[0102] In various embodiments, the above description of Figure 1 G-PCC system 100, Figure 2 G-PCC encoder 200, Figure 3 G-PCC decoder 300, Figure 6 Point Cloud Codec 600, Figure 7 The encoding and decoding device 700, Fig. 9 Point Cloud Encoder 900, Fig.10 The encoding device 1000, Fig.12 Point cloud decoder 1200, or Fig.13The transmitter circuit, control circuit, or receiver circuit discussed in the decoding device 1300 may be embodied in whole or in part in one or more of the RF circuit, baseband circuit, and / or application circuit. As used herein, "circuit" may refer to an application-specific integrated circuit (ASIC), an electronic circuit, a processor (shared processor, dedicated processor, or processor group), and / or a memory (shared memory, dedicated memory, or memory group) that executes one or more software or firmware programs, may refer to a combinational logic circuit and / or other suitable hardware components that provide the described functions, or may refer to a part of the above or include a part of the above. In some embodiments, the electronic device circuit may be implemented in one or more software or firmware modules, or the functions associated with the circuit may be implemented by one or more software or firmware modules. In some embodiments, some or all of the components of the baseband circuit, application circuit, and / or memory / storage device may be implemented together on a system on a chip (system on a chip, SOC). The memory / storage device 1640 may be used to load and store data and / or instructions (for example, for the system). The memory / storage of one embodiment may include any combination of suitable volatile memory (such as dynamic random access memory (DRAM)) and / or non-volatile memory (such as flash memory).
[0103] In various embodiments, the I / O interface 1680 may include one or more user interfaces designed to enable a user to interact with the system and / or a peripheral component interface designed to enable a peripheral component to interact with the system. The user interface may include, but is not limited to, a physical keyboard or keypad, a touchpad, a speaker, a microphone, etc. The peripheral component interface may include, but is not limited to, a non-volatile memory port, a universal serial bus (universal serial bus, USB) port, an audio jack, and a power interface. In various embodiments, the sensor 1670 may include one or more sensing devices to determine environmental conditions and / or location information associated with the system. In some embodiments, the sensor may include, but is not limited to, a gyroscope sensor, an accelerometer, a proximity sensor, an ambient light sensor, and a positioning unit. The positioning unit may also be a part of a baseband circuit and / or an RF circuit, or interact with a baseband circuit and / or an RF circuit to communicate with a component of a positioning network (e.g., a global positioning system (global positioning system, GPS) satellite).
[0104] In various embodiments, display 1650 may include a display, such as a liquid crystal display and a touch screen display. In various embodiments, communication system 1600 may be a mobile computing device, such as but not limited to a laptop computing device, a tablet computing device, a netbook, an ultrabook, a smart phone, AR / VR glasses, etc. In various embodiments, the system may have more or fewer components, and / or different architectures. Where appropriate, the methods described herein may be implemented as a computer program. The computer program may be stored on a storage medium, such as a non-temporary storage medium.
[0105] It is understood by those of ordinary skill in the art that each unit, algorithm, and step described and disclosed in the embodiments of the present disclosure is implemented using electronic hardware or a combination of software used for a computer with electronic hardware. Whether these functions are run in hardware or in software depends on the application conditions and design requirements of the technical solution. Those of ordinary skill in the art can use different ways to implement the functions of each specific application, and these implementations should not exceed the scope of the present disclosure. It is understood by those of ordinary skill in the art that he / she can refer to the working process of the system, device, and unit in the above-mentioned embodiments, because the working process of the above-mentioned system, device, and unit is basically the same. For ease of description and brevity, these working processes will not be described in detail.
[0106] It should be understood that the systems, devices and methods disclosed in the embodiments of the present disclosure can be implemented in other ways. The above embodiments are exemplary only. The division of units is based only on logical functions, and there are other divisions in the implementation. Multiple units or components can be combined or integrated in another system. It is also possible to omit or skip certain features. On the other hand, the mutual coupling, direct coupling or communication coupling shown or discussed can be implemented indirectly or communicatively through some ports, devices or units in any form of electrical, mechanical or other types.
[0107] The units used as separate components for illustration may be physically separate or not separate. The units used for display may be physical units or not physical units, i.e., located in one place or distributed over multiple network units. Some or all of the units are used according to the purpose of the embodiment. In addition, each functional unit in each embodiment may be integrated into one processing unit, may be physically independent, or may be integrated into one processing unit with two or more units.
[0108] If the software functional unit is implemented, used and sold as a product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution proposed in the present disclosure can be basically or partially implemented in the form of a software product. Alternatively, a part of the technical solution that is beneficial to traditional technology can be implemented in the form of a software product. The software product in the computer is stored in a storage medium, which includes a plurality of commands for a computing device (such as a personal computer, a server or a network device) to run all or part of the steps disclosed in the embodiments of the present disclosure. The storage medium includes a USB disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a floppy disk or other medium capable of storing program code.
[0109] While the present disclosure has been described in connection with what is considered to be the most practical and preferred embodiments, it is to be understood that the disclosure is not limited to the disclosed embodiments but is intended to cover various arrangements that may be made without departing from the broadest interpretation of the appended claims.
Claims
1. A method for encoding and decoding point cloud data, comprising: Encode and decode the geometric information of point cloud data; as well as Attribute information of the point cloud data is encoded and decoded based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
2. The method for encoding and decoding point cloud data according to claim 1, wherein: The first parameter includes maxNumofCoeff, and the maxNumofCoeff is used to control the maximum buffer size for storing the number of transformation coefficients.
3. The method for encoding and decoding point cloud data according to claim 2, wherein: log2maxNumofCoeffMinusX is encoded in the bitstream in the ue(v) format, where X is an integer and the ue(v) format is the 0th order Exponential Golomb (EG) codec.
4. The method for encoding and decoding point cloud data according to claim 3, wherein: X is equal to 8, the log2maxNumofCoeffMinus8 is encoded and decoded, and the log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify the maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients.
5. The method for encoding and decoding point cloud data according to claim 4, wherein: maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
6. The method for encoding and decoding point cloud data according to claim 1, wherein: The at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified numerical value.
7. The method for encoding and decoding point cloud data according to claim 6, wherein: The second parameter includes colorGolumbNum, and the colorGolumbNum is used to specify the order of the EG used for encoding and decoding color attributes.
8. The method for encoding and decoding point cloud data according to claim 6, wherein: The third parameter includes RefGolombNum, and the RefGolombNum is used to specify the order of the EG used for encoding and decoding the reflectivity attribute.
9. The method for encoding and decoding point cloud data according to claim 6, wherein: The specified value is equal to 8.
10. The method for encoding and decoding point cloud data according to claim 1, wherein: The at least one value associated with the attribute information includes a value of a zero run length, and the value of the zero run length is smaller than a predefined value.
11. The method for encoding and decoding point cloud data according to claim 10, wherein: The allowed maximum value of the zero run length is set to a fixed value or is encoded and decoded in the bitstream.
12. The method for encoding and decoding point cloud data according to claim 21, wherein: The allowed maximum value of the zero run length is set to 131072.
13. A method for encoding point cloud data, comprising: Encode the geometric information of point cloud data; as well as Attribute information of the point cloud data is encoded based on the geometric information, wherein a first parameter associated with the attribute information is encoded in a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
14. The method for encoding point cloud data according to claim 13, wherein: The first parameter includes maxNumofCoeff, and the maxNumofCoeff is used to control the maximum buffer size for storing the number of transformation coefficients.
15. The method for encoding point cloud data according to claim 14, wherein: log2maxNumofCoeffMinusX is encoded in the codestream in the ue(v) format, where X is an integer and the ue(v) format is 0-order Exponential Golomb (EG) coding.
16. The method for encoding point cloud data according to claim 15, wherein: X is equal to 8, the log2maxNumofCoeffMinus8 is encoded, and the log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify the maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients.
17. The method for encoding point cloud data according to claim 16, wherein: maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
18. The method for encoding point cloud data according to claim 13, wherein: The at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified numerical value.
19. The method for encoding point cloud data according to claim 18, wherein: The second parameter includes colorGolumbNum, which is used to specify the order of the EG used to encode the color attribute.
20. The method for encoding point cloud data according to claim 18, wherein: The third parameter includes RefGolombNum, which is used to specify the order of the EG used to encode the reflectivity property.
21. The method for encoding point cloud data according to claim 18, wherein: The specified value is equal to 8.
22. The method for encoding point cloud data according to claim 13, wherein: The at least one value associated with the attribute information includes a value of a zero run length, and the value of the zero run length is smaller than a predefined value.
23. The method for encoding point cloud data according to claim 22, wherein: The allowed maximum value of the zero-run length is set to a fixed value or encoded in a code stream.
24. The method for encoding point cloud data according to claim 23, wherein: The allowed maximum value of the zero run length is set to 131072.
25. A method for decoding point cloud data, comprising: Decode the geometric information of point cloud data; as well as Attribute information of the point cloud data is decoded based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
26. The method for decoding point cloud data according to claim 25, wherein: The first parameter includes maxNumofCoeff, and the maxNumofCoeff is used to control the maximum buffer size for storing the number of transformation coefficients.
27. The method for decoding point cloud data according to claim 26, wherein: log2maxNumofCoeffMinusX is decoded in the codestream in ue(v) format, where X is an integer and the ue(v) format is 0-order Exponential Golomb (EG) decoding.
28. The method for decoding point cloud data according to claim 27, wherein: X is equal to 8, the log2maxNumofCoeffMinus8 is decoded, and the log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify the maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients.
29. The method for decoding point cloud data according to claim 28, wherein: maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
30. The method for decoding point cloud data according to claim 25, wherein: The at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified numerical value.
31. The method for decoding point cloud data according to claim 30, wherein: The second parameter includes colorGolumbNum, which is used to specify the order of the EG used to decode the color attribute.
32. The method for decoding point cloud data according to claim 30, wherein: The third parameter includes RefGolombNum, which is used to specify the order of the EG used to decode the reflectivity attribute.
33. The method for decoding point cloud data according to claim 30, wherein: The specified value is equal to 8.
34. The method for decoding point cloud data according to claim 25, wherein: The at least one value associated with the attribute information includes a value of a zero run length, and the value of the zero run length is smaller than a predefined value.
35. The method for decoding point cloud data according to claim 34, wherein: The allowed maximum value of the zero run length is set to a fixed value or is decoded in a code stream.
36. The method for decoding point cloud data according to claim 35, wherein: The allowed maximum value of the zero run length is set to 131072.
37. A point cloud codec, comprising: A codec for: Encode and decode the geometric information of point cloud data; as well as Attribute information of the point cloud data is encoded and decoded based on the geometric information, wherein a first parameter associated with the attribute information is encoded and decoded using a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
38. The point cloud codec of claim 37, wherein: The first parameter includes maxNumofCoeff, and the maxNumofCoeff is used to control the maximum buffer size for storing the number of transformation coefficients.
39. The point cloud codec of claim 38, wherein: log2 maxNumofCoeffMinusX is encoded in the bitstream in the ue(v) format, where X is an integer and the ue(v) format is the 0th order Exponential Golomb (EG) codec.
40. The point cloud codec of claim 39, wherein: X is equal to 8, the log2maxNumofCoeffMinus8 is encoded and decoded, and the log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify the maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients.
41. The point cloud codec of claim 40, wherein: maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
42. The point cloud codec of claim 37, wherein: The at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified numerical value.
43. The point cloud codec of claim 42, wherein: The second parameter includes colorGolumbNum, and the colorGolumbNum is used to specify the order of the EG used for encoding and decoding color attributes.
44. The point cloud codec of claim 42, wherein: The third parameter includes RefGolombNum, and the RefGolombNum is used to specify the order of the EG used for encoding and decoding the reflectivity attribute.
45. The point cloud codec of claim 42, wherein: The specified value is equal to 8.
46. The point cloud codec of claim 37, wherein: The at least one value associated with the attribute information includes a value of a zero run length, and the value of the zero run length is smaller than a predefined value.
47. The point cloud codec of claim 46, wherein: The allowed maximum value of the zero run length is set to a fixed value or is encoded and decoded in a bitstream.
48. The point cloud codec of claim 47, wherein: The allowed maximum value of the zero run length is set to 131072.
49. A point cloud encoder, comprising: An encoder, the encoder being used for: Encode the geometric information of point cloud data; as well as Attribute information of the point cloud data is encoded based on the geometric information, wherein a first parameter associated with the attribute information is encoded in a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
50. The point cloud encoder of claim 49, wherein: The first parameter includes maxNumofCoeff, and the maxNumofCoeff is used to control the maximum buffer size for storing the number of transformation coefficients.
51. The point cloud encoder of claim 50, wherein: log2 maxNumofCoeffMinusX is encoded in the codestream in the ue(v) format, where X is an integer and the ue(v) format is 0-order Exponential Golomb (EG) coding.
52. The point cloud encoder of claim 51, wherein: X is equal to 8, the log2maxNumofCoeffMinus8 is encoded, and the log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify the maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients.
53. The point cloud encoder of claim 52, wherein: maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
54. The point cloud encoder of claim 49, wherein: The at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified numerical value.
55. The point cloud encoder of claim 54, wherein: The second parameter includes colorGolumbNum, which is used to specify the order of the EG used to encode the color attribute.
56. The point cloud encoder of claim 54, wherein: The third parameter includes RefGolombNum, which is used to specify the order of the EG used to encode the reflectivity property.
57. The point cloud encoder of claim 54, wherein: The specified value is equal to 8.
58. The point cloud encoder of claim 49, wherein: The at least one value associated with the attribute information includes a value of a zero run length, and the value of the zero run length is smaller than a predefined value.
59. The point cloud encoder of claim 58, wherein: The allowed maximum value of the zero-run length is set to a fixed value or encoded in a code stream.
60. The point cloud encoder of claim 59, wherein: The allowed maximum value of the zero run length is set to 131072.
61. A point cloud decoder, comprising: A decoder, the decoder being configured to: Decode the geometric information of point cloud data; as well as Attribute information of the point cloud data is decoded based on the geometric information, wherein a first parameter associated with the attribute information is decoded using a logarithmic format minus a fixed integer, or at least one value associated with the attribute information is specified.
62. The point cloud decoder of claim 51, wherein: The first parameter includes maxNumofCoeff, and the maxNumofCoeff is used to control the maximum buffer size for storing the number of transformation coefficients.
63. The point cloud decoder of claim 52, wherein: log2 maxNumofCoeffMinusX is decoded in the codestream in ue(v) format, where X is an integer and the ue(v) format is 0-order Exponential Golomb (EG) decoding.
64. The point cloud decoder of claim 53, wherein: X is equal to 8, the log2maxNumofCoeffMinus8 is decoded, and the log2maxNumofCoeffMinus8 is an unsigned integer between 0 and 16, which is used to specify the maxNumofCoeff as the maximum buffer size for storing the number of transform coefficients.
65. The point cloud decoder of claim 54, wherein: maxNumofCoeff is calculated as follows: maxNumofCoeff=1<<(log2maxNumofCoeffMinus8+8).
66. The point cloud decoder of claim 51, wherein: The at least one value associated with the attribute information includes an allowed value of a second parameter and / or a third parameter associated with the attribute information, and the allowed value is not greater than a specified numerical value.
67. The point cloud decoder of claim 56, wherein: The second parameter includes colorGolumbNum, which is used to specify the order of the EG used to decode the color attribute.
68. The point cloud decoder of claim 56, wherein: The third parameter includes RefGolombNum, which is used to specify the order of the EG used to decode the reflectivity attribute.
69. The point cloud decoder of claim 56, wherein: The specified value is equal to 8.
70. The point cloud decoder of claim 51, wherein: The at least one value associated with the attribute information includes a value of a zero run length, and the value of the zero run length is smaller than a predefined value.
71. The point cloud decoder of claim 70, wherein: The allowed maximum value of the zero run length is set to a fixed value or is decoded in the code stream.
72. The point cloud decoder of claim 71, wherein: The allowed maximum value of the zero run length is set to 131072.
73. A coding and decoding device, comprising: Memory; Transceiver; as well as a processor coupled to the memory and the transceiver; The processor is configured to execute the method according to any one of claims 1 to 12.
74. An encoding device comprising: Memory; Transceiver; as well as a processor coupled to the memory and the transceiver; The processor is configured to execute the method according to any one of claims 13 to 24.
75. A decoding device comprising: Memory; Transceiver; as well as a processor coupled to the memory and the transceiver; The processor is configured to execute the method according to any one of claims 25 to 36.
76. A non-transitory machine-readable storage medium having stored thereon instructions which, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 36.
77. A chip, comprising: A processor, configured to call and run a computer program stored in a memory so that a device in which the chip is installed executes a method according to any one of claims 1 to 36.
78. A computer-readable storage medium having a computer program stored therein, wherein: The computer program causes a computer to execute the method according to any one of claims 1 to 36.
79. A computer program product comprising a computer program, wherein: The computer program causes a computer to execute the method according to any one of claims 1 to 36.
80. A computer program, wherein The computer program causes a computer to execute the method according to any one of claims 1 to 36.