WO2022258055A1 - 点云属性信息编码方法、解码方法、装置及相关设备 - Google Patents

点云属性信息编码方法、解码方法、装置及相关设备 Download PDF

Info

Publication number
WO2022258055A1
WO2022258055A1 PCT/CN2022/098193 CN2022098193W WO2022258055A1 WO 2022258055 A1 WO2022258055 A1 WO 2022258055A1 CN 2022098193 W CN2022098193 W CN 2022098193W WO 2022258055 A1 WO2022258055 A1 WO 2022258055A1
Authority
WO
WIPO (PCT)
Prior art keywords
points
attribute
information
encoded
decoded
Prior art date
Application number
PCT/CN2022/098193
Other languages
English (en)
French (fr)
Inventor
张伟
鲁静芸
吕卓逸
杨付正
代娜
Original Assignee
维沃移动通信有限公司
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 维沃移动通信有限公司 filed Critical 维沃移动通信有限公司
Priority to EP22819652.3A priority Critical patent/EP4354872A4/en
Priority to KR1020237042781A priority patent/KR20240006667A/ko
Priority to JP2023573432A priority patent/JP2024520542A/ja
Publication of WO2022258055A1 publication Critical patent/WO2022258055A1/zh
Priority to US18/530,090 priority patent/US20240121439A1/en

Links

Images

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Definitions

  • the present application belongs to the technical field of point cloud processing, and in particular relates to a point cloud attribute information encoding method, decoding method, device and related equipment.
  • attribute information coding is divided into attribute prediction coding and attribute transformation coding.
  • attribute transformation coding directly transforms the original attribute information. For areas with large local transformation ranges, there are still many redundancies in the obtained transformation coefficients. information, resulting in low coding efficiency.
  • Embodiments of the present application provide a method for encoding point cloud attribute information, a decoding method, a device, and related equipment, which can solve the problem of low encoding efficiency of existing point cloud attribute information.
  • a method for encoding point cloud attribute information including:
  • DCT discrete cosine transform
  • Quantizing the transform coefficients of the K points to be encoded performing entropy encoding based on the quantized transform coefficients, and generating a binary code stream
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the first information includes the K points to be encoded
  • the second information includes attribute reconstruction information of the N encoded points
  • K is a positive integer
  • N is an integer greater than 1.
  • a method for decoding point cloud attribute information including:
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; or, the third information includes the K points to be decoded
  • the fourth information includes attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1.
  • a device for encoding point cloud attribute information including:
  • a first acquiring module configured to acquire first information
  • a first determination module configured to determine whether to perform discrete cosine transform (DCT) transformation on the K points to be encoded based on the second information associated with the first information;
  • DCT discrete cosine transform
  • the first transformation module is configured to perform DCT transformation on the K points to be coded to obtain transformation coefficients of the K points to be coded when it is determined to perform DCT transformation on the K points to be coded;
  • An encoding module configured to quantize the transformation coefficients of the K points to be encoded, perform entropy encoding based on the quantized transformation coefficients, and generate a binary code stream;
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the first information includes the K points to be encoded
  • the second information includes attribute reconstruction information of the N encoded points
  • K is a positive integer
  • N is an integer greater than 1.
  • a device for decoding point cloud attribute information including:
  • the second obtaining module is used to obtain the third information
  • the second determination module is configured to determine whether to perform inverse DCT transformation on the K points to be decoded based on fourth information associated with the third information;
  • the second transformation module is configured to perform inverse DCT transformation on the K points to be decoded to obtain attribute residuals of the K points to be decoded when it is determined to perform inverse DCT transformation on the K points to be decoded information;
  • a decoding module configured to obtain attribute reconstruction information of the K points to be decoded based on the attribute residual information and attribute prediction information of the K points to be decoded, so as to decode undecoded points in the point cloud to be decoded;
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; or, the third information includes the K points to be decoded
  • the fourth information includes attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1.
  • a terminal includes a processor, a memory, and a program or instruction stored in the memory and operable on the processor.
  • the program or instruction When the program or instruction is executed by the processor Realize the steps of the point cloud attribute information encoding method as described in the first aspect, or realize the steps of the point cloud attribute information decoding method as described in the second aspect.
  • a terminal including a processor and a communication interface, wherein the processor is used for:
  • DCT discrete cosine transform
  • Quantizing the transform coefficients of the K points to be encoded performing entropy encoding based on the quantized transform coefficients, and generating a binary code stream
  • the first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or, the first information includes the K points to be encoded
  • the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1;
  • the processor is used to:
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; or, the third information includes the K points to be decoded
  • the fourth information includes attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1.
  • a readable storage medium is provided, and a program or an instruction is stored on the readable storage medium, and when the program or instruction is executed by a processor, the method for encoding point cloud attribute information as described in the first aspect is implemented. steps, or realize the steps of the method for decoding point cloud attribute information as described in the second aspect.
  • a chip in an eighth aspect, includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to achieve the points described in the first aspect The steps of the method for encoding cloud attribute information, or the steps for realizing the method for decoding point cloud attribute information as described in the second aspect.
  • a ninth aspect provides a computer program/program product, the computer program/program product is stored in a non-volatile storage medium, and the program/program product is executed by at least one processor to implement the first aspect
  • a communication device configured to perform the steps of the point cloud attribute information encoding method as described in the first aspect, or configured to perform the steps of the point cloud attribute information decoding method as described in the second aspect step.
  • the code point to be coded in the process of encoding the point cloud to be encoded, it is necessary to determine whether to perform DCT transformation on the point cloud to be encoded according to the attribute prediction information of the point to be encoded or the attribute reconstruction information of the encoded point.
  • the code point to be coded is subjected to DCT transformation, and then the scattered distribution of attribute information in the space domain can be converted into a relatively concentrated distribution in the transformation domain, so that the signal energy is concentrated in a few coefficients, which is more convenient Quantization and coding, so as to remove attribute redundancy and achieve the purpose of improving attribute coding efficiency and reconstruction performance.
  • Figure 1 is a frame diagram of the AVS codec
  • Fig. 2 is the conversion flowchart of coding end
  • Fig. 3 is a flow chart of a method for encoding point cloud attribute information provided by an embodiment of the present application
  • Fig. 4 is a flow chart of another point cloud attribute information encoding method provided by the embodiment of the present application.
  • Fig. 5 is a flow chart of a method for decoding point cloud attribute information provided by an embodiment of the present application
  • FIG. 6 is a structural diagram of a device for encoding point cloud attribute information provided by an embodiment of the present application.
  • FIG. 7 is a structural diagram of a device for decoding point cloud attribute information provided by an embodiment of the present application.
  • FIG. 8 is a structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 9 is a structural diagram of a terminal provided by an embodiment of the present application.
  • first, second and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific sequence or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the application are capable of operation in sequences other than those illustrated or described herein and that "first" and “second” distinguish objects. It is usually one category, and the number of objects is not limited. For example, there may be one or more first objects.
  • “and/or” in the description and claims means at least one of the connected objects, and the character “/” generally means that the related objects are an "or” relationship.
  • Both the encoder corresponding to the encoding method and the decoder corresponding to the decoding method in the embodiment of the present application may be a terminal, and the terminal may also be called a terminal device or a user equipment (User Equipment, UE), and the terminal may be a mobile phone, a tablet computer ( Tablet Personal Computer), laptop computer (Laptop Computer) or notebook computer, personal digital assistant (Personal Digital Assistant, PDA), palmtop computer, netbook, ultra-mobile personal computer (ultra-mobile personal computer, UMPC), mobile Internet device (Mobile Internet Device, MID), augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) equipment, robot, wearable device (Wearable Device) or vehicle-mounted equipment (VUE), pedestrian terminal (PUE ) and other terminal-side devices, and wearable devices include: smart watches, bracelets, earphones, glasses, etc. It should be noted that, the embodiment of the present application does not limit the specific type of the terminal.
  • the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately.
  • FIG. 1 is a frame diagram of an AVS codec.
  • coordinate transformation is first performed on the geometric information so that all point clouds are contained in a bounding box. Then quantize. This step of quantization mainly plays the role of scaling. Due to the rounding of quantization, the geometric information of some points is the same. It is determined whether to remove duplicate points according to the parameters. The process of quantization and removal of duplicate points belongs to preprocessing. process. Next, divide the bounding box (octree/quadtree/binary tree) according to the order of breadth-first traversal, and encode the placeholder code of each node.
  • bounding box octree/quadtree/binary tree
  • the bounding box is divided into sub-cubes in turn, and the sub-cubes that are not empty (including points in the point cloud) are continued to be divided until the leaf nodes obtained by the division are 1x1x1 units. Stop dividing the cube, and then encode the points contained in the leaf nodes, and finally complete the encoding of the geometric octree to generate a binary code stream.
  • the decoding end obtains the placeholder code of each node through continuous analysis according to the order of breadth-first traversal, and divides the nodes in turn until the unit cube of 1x1x1 is obtained. Get the number of points contained in each leaf node, and finally restore the geometrically reconstructed point cloud information
  • Attribute coding is mainly carried out for color, reflectance information, etc. First judge whether to perform color space conversion. If color space conversion is performed, the color information is converted from red, green and blue (RGB) color space to YUV (Y is brightness component, UV is chroma component) color space. Then, the reconstructed point cloud is recolored with the original point cloud, so that the unencoded attribute information corresponds to the reconstructed geometric information.
  • RGB red, green and blue
  • YUV brightness component
  • UV chroma component
  • attribute prediction process is as follows: first the point cloud is re-ranked and then differentially predicted. There are two reordering methods: Morton reordering and Hilbert reordering.
  • the attribute transformation process is as follows: firstly, wavelet transform is performed on the point cloud attributes, and the transformation coefficients are quantized; secondly, the attribute reconstruction value is obtained through inverse quantization and inverse wavelet transformation; then, the difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual and its Quantization; finally, entropy coding is performed on the quantized transform coefficients and attribute residuals to generate a binary code stream.
  • the decoding of attribute information is the reverse process of encoding, which will not be described in detail here.
  • DCT discrete cosine Transform
  • DST discrete sine transform
  • the transformation process at the encoding end is as follows: First, the residual signal is obtained by subtracting the predicted signal from the original signal, and then the residual signal is transformed by a DCT to obtain a transformation coefficient, and then the low-frequency component of the transformation coefficient block is processed twice Transform to obtain secondary transformation coefficients with more concentrated energy distribution, and then perform quantization and entropy coding to obtain code streams.
  • the quantized coefficients are dequantized, inversely transformed twice, and inversely transformed once to obtain the recovered residual, which is added to the predicted signal to obtain the reconstructed signal, and then loop filtering is performed to reduce distortion.
  • the secondary transformation may not necessarily be carried out, as shown in the dotted line in FIG. 2 .
  • attribute transformation coding directly transforms the original attribute information. For areas with large local transformation ranges, there are still many redundant information in the obtained transformation coefficients, resulting in low coding efficiency.
  • FIG. 3 is a flow chart of a method for encoding point cloud attribute information provided by an embodiment of the present application.
  • the method may be applied to terminals such as mobile phones, tablet computers, and computers.
  • the method includes the following steps:
  • Step 301 Acquire first information.
  • the first information may include points to be encoded, or may include encoded points.
  • the first information includes the K points to be encoded, and the step 301 includes:
  • Sorting the point cloud to be encoded and acquiring K points to be encoded in the sorted point cloud to be encoded.
  • the point cloud to be coded may be sorted. For example, in the case where the attribute information is mainly for color, first determine whether the point cloud to be encoded needs to be converted into a color space. If the color space conversion is performed, the color information of the point cloud to be encoded can be converted from RGB color space to YUV color Space, and then use the original point cloud to recolor the point cloud to be encoded, so that the attribute information of the point cloud to be encoded corresponds to the pre-reconstructed geometric information.
  • the sorting of the point cloud to be coded can be realized based on Hilbert code or Morton code.
  • the sorting of the point cloud to be encoded, and obtaining the K points to be encoded in the sorted point cloud to be encoded include:
  • the K points to be encoded may be selected based on a certain order. For example, assuming that the point cloud to be encoded includes 9 points to be encoded, after calculating the Hilbert codes corresponding to the 9 points to be encoded, and sorting the 9 points to be encoded according to Hilbert, it can be Every 3 points to be coded as a group, first select the top 3 points as the K points to be coded, perform subsequent attribute prediction and other processes, and then select the three points after the first 3 points as a group The group performs attribute prediction and other processes, and then selects the last 3 points for subsequent attribute prediction and other processes.
  • the selected K points to be encoded it is necessary to judge whether the points to be encoded in the K points to be encoded are repeated points with the encoded points; It is to directly calculate the attribute residual information between the point to be encoded and the point to be encoded, and the point to be encoded is not used as a point among the K points to be encoded; if the point to be encoded and the point to be encoded are not repeated points , then the attribute information prediction of the K points to be encoded can be performed on the encoded points to obtain the attribute prediction information of the K points to be encoded, and the specific attribute information prediction method will be described in subsequent embodiments.
  • Step 302. Determine whether to perform DCT transformation on the K points to be encoded based on the second information associated with the first information.
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the first information includes the K points to be encoded
  • the second information includes attribute reconstruction information of the N encoded points
  • K is a positive integer
  • N is a positive integer greater than 1.
  • the first information is K points to be encoded
  • the second information is the attribute prediction information of the K points to be encoded
  • the first information is the first N encoded points of the K points to be encoded
  • the second information is the attribute reconstruction information of the N encoded points
  • step 302 it also includes:
  • the target point to be encoded is any one of the K points to be encoded
  • obtaining the S neighbors closest to the target Manhattan to be coded including:
  • target points to be encoded are selected based on preset principles, for example, the target points to be encoded may be sequentially selected according to the order of the K points to be encoded. Assuming that the K points to be encoded are determined after the point cloud to be encoded is sorted according to the Hilbert code, the target points to be encoded may be sequentially determined based on the size of the Hilbert code corresponding to the K points to be encoded.
  • the target to-be-encoded point For the target to-be-encoded point, first, according to the Hilbert 1 order, find the first sequence M points of the target to-be-encoded point, and then according to the Hilbert 2-order, respectively search for the first sequence N1 points and the last sequence of the target to-be-encoded point Sequence N2 points, among the M+N1+N2 points, select the S neighbor points closest to the target point to be encoded in Manhattan, and determine the initial attribute prediction information of the target point to be encoded based on the S neighbor points, and then according to The first weight corresponding to the target point to be encoded and the initial attribute prediction information determine the attribute prediction information of the target point to be encoded.
  • M, N1 and N2 are all positive integers.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • the determining the initial attribute prediction information of the target point to be encoded based on the S neighbor points includes:
  • the Manhattan distance between each neighbor point and the target point to be encoded is different, and the second weight is the reciprocal of the Manhattan distance between the current neighbor point and the target point to be encoded , the second weight corresponding to each neighbor point is also different.
  • the initial attribute prediction information of the target point to be encoded may be the sum of the product of the attribute information of each of the S neighbor points and its corresponding second weight, and then the initial attribute prediction information of the target point to be encoded is calculated.
  • the initial attribute prediction information of each of the K points to be encoded can be calculated, and according to the first weight corresponding to each point to be encoded And the initial attribute prediction information, and the attribute prediction information corresponding to each point to be encoded can be calculated.
  • the initial attribute prediction information of the target point to be encoded p n is Pre n
  • the initial attribute prediction information of K points to be encoded (p n ,p n+1 ,...,p n+K-1 ) are respectively denoted as Pre n ,Pre n+1 ,...,Pre n+K-1
  • the attribute prediction information of the K points to be encoded can be expressed for:
  • AttrPre i is the attribute prediction information of K points to be encoded
  • Pre j is the initial attribute prediction information of the jth point among the K points.
  • each point in the current K points to be encoded uses The initial attribute prediction information of the second point in the K points is used as their attribute prediction information.
  • the sum of the first weights corresponding to the K nodes to be coded is 1.
  • the sum of the 4 first weights respectively corresponding to the 4 points to be encoded is 1.
  • Sequence N2 points within the target range determined based on M, N1 and N2, obtain the S neighbor points closest to the target point to be coded in Manhattan.
  • the target point to be coded first, according to the Morton 1 order, search for the preorder M points of the target to be coded point, and then according to the Morton 2 order, respectively search for the preorder N1 points and the postorder N2 points, among these M+N1+N2 points, select the S neighbor points closest to the target point to be encoded in Manhattan, and determine the initial attribute prediction information of the target point to be encoded based on these S neighbor points, and then according to the target
  • the first weight corresponding to the point to be encoded and the initial attribute prediction information determine the attribute prediction information of the target point to be encoded.
  • M, N1 and N2 are all positive integers.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • attribute weighted prediction is performed on the S neighbors, and the weight is the reciprocal of the distance between the current neighbor point and the target point to be encoded in Manhattan.
  • the initial attribute prediction information of the target to-be-encoded point then calculate the attribute prediction information of the target to-be-encoded point according to the first weight corresponding to the target to-be-encoded point and the initial attribute prediction information, and then calculate the attribute prediction of K to-be-encoded points accordingly information.
  • the method of obtaining the attribute prediction information can refer to the above-mentioned specific description of obtaining S neighbor points based on the double Hilbert order and performing attribute prediction. Neighbor points, the specific way to obtain attribute prediction information will not be repeated here.
  • the search range of the Hilbert 1 order or the Morton 1 order is the first preset range
  • the search range of the Hilbert 2 order or the Morton 2 order is the second preset range
  • the Hilbert 2 order or the Morton 2 order search range is the third preset range or the second preset range. It should be noted that the search ranges of the first preset range, the second preset range and the third preset range may be set artificially according to encoding requirements.
  • the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, and the second attribute parameter is used to characterize the second preset range; in the case where the post-order search range of the Hilbert 2 sequence or the Morton 2 sequence is a third preset range, the binary code stream also includes a third attribute parameter, and the third attribute parameter is used To characterize the third preset range.
  • the above-mentioned first preset range, second preset range and third preset range can be written into the code stream as attribute information parameter sets.
  • the pre-order search range of the Hilbert 2-order or Morton 2-order is the same as the post-order search range of the Hilbert 2-order or Morton 2-order, that is, both are the second preset range.
  • the code stream it is only necessary to write the first attribute parameter representing the search range of Hilbert 1 order or Morton 1 order, and the preorder and Hill characterizing Hilbert 2 order or Morton 2 order
  • step 302 includes:
  • the target point to be encoded is any one of the K points to be encoded;
  • the K points to be encoded can be arranged in a certain order. For example, when the point cloud to be encoded is sorted according to the Morton code, the K points to be encoded can be sorted based on the size of the corresponding Morton code , the first point among the K points to be coded may refer to the smallest point of the Morton code, or the largest point.
  • each point to be encoded selects the L neighbor points with the closest Manhattan distance from the R neighbor points, and each point to be encoded determines the corresponding initial attribute prediction information based on the corresponding L neighbor points, and further based on each The first weight corresponding to the point to be encoded and the initial attribute prediction information determine the attribute prediction information corresponding to each point to be encoded. In this way, attribute prediction information of the K points to be encoded can also be calculated and obtained.
  • the sum of the first weights corresponding to the K nodes to be coded is 1.
  • the determination of the initial attribute prediction information of the target point to be encoded based on the L neighbor points includes:
  • the Manhattan distance between each neighbor point and the target point to be encoded is different, and the second weight is the reciprocal of the Manhattan distance between the current neighbor point and the target point to be encoded , the second weight corresponding to each neighbor point is also different.
  • the initial attribute prediction information of the target point to be encoded may be the sum of the product of the attribute information of each neighbor point in the L neighbor points and its corresponding second weight, and then the initial attribute prediction information of the target point to be encoded is obtained by calculating information.
  • the step 302 may include:
  • the attribute prediction information of the K points to be encoded is recorded as AttrPre i , and the value range of i is 1 to K; obtain the maximum attribute prediction value and the minimum attribute prediction in the attribute prediction information corresponding to the K points to be encoded Values are recorded as AttrPre max and AttrPre min respectively, and the first threshold is recorded as Threshold1, if
  • ⁇ Threshold1 then perform DCT transformation on the K points to be encoded.
  • the first information may also be the first N encoded points including the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points; in this case , the step 302 includes:
  • N is an integer greater than 1, that is, at least the first two encoded points of the K points to be encoded need to be obtained. Understandably, the attribute reconstruction information of the coded points can be obtained.
  • the attribute reconstruction information refers to the attribute information that will be assigned to the point cloud sequence, but the attribute reconstruction information is different from the original attribute information in the original point cloud.
  • the residual information of the above attributes is obtained.
  • AttRec i the attribute reconstruction information of N points to be encoded is recorded as AttRec i , and the value of i ranges from 1 to N; the maximum attribute reconstruction value and the minimum attribute reconstruction information in the attribute reconstruction information corresponding to the N points to be encoded are obtained.
  • Attribute reconstruction values are recorded as AttrRec max and AttrRec min respectively, and the third threshold is recorded as Threshpld3. If
  • Step 303 In a case where it is determined to perform DCT transformation on the K points to be encoded, perform DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded.
  • DCT transformation may be performed on attribute residual information of the K points to be encoded. Furthermore, before performing DCT transformation on the K points to be encoded, the method also includes:
  • attribute residual information of the K points to be encoded is acquired.
  • the attribute residual information of each of the K points to be encoded may be the difference between the original attribute information of the point to be encoded and the attribute prediction information.
  • performing DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded includes:
  • the attribute residual information of the K points to be encoded is denoted as AttrRes
  • the DCT transformation is performed on the attribute residual information of the K points, where K represents the order of the DCT transformation.
  • T is the K-order transformation matrix
  • the transformation coefficient can be obtained from the following transformation formula:
  • Step 304 Quantize the transform coefficients of the K points to be encoded, and perform entropy encoding based on the quantized transform coefficients to generate a binary code stream.
  • the transformation coefficients of the K points to be encoded are obtained, the transformation coefficients are quantized to obtain quantized transformation coefficients, and entropy encoding is performed on the quantized transformation coefficients to generate a binary code stream, and then In order to complete the encoding of the point cloud attribute information to be encoded.
  • the DCT transformation is performed on the points to be coded, the DCT transformation is performed on the points to be coded, and then the scattered distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transformation domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization And encoding, so as to remove attribute redundancy, and achieve the purpose of improving attribute encoding efficiency and reconstruction performance.
  • the transform coefficients include low-frequency coefficients and high-frequency coefficients
  • quantizing the transform coefficients of the K points to be encoded includes:
  • the method further includes:
  • Inverse quantization is performed on the quantized-based transform coefficients, and inverse transforms are performed on the inverse transform coefficients obtained after inverse quantization, so as to obtain attribute reconstruction information of the K points to be encoded.
  • inverse quantization and inverse DCT transformation may be further performed based on the quantized transformation coefficients to obtain the K points to be encoded Property reconstruction information.
  • the encoded values obtained after the entropy encoding are dequantized, and the dequantized
  • the inverse transformation coefficient obtained after performing inverse transformation, to obtain the attribute reconstruction information of the K points to be coded including:
  • entropy encoding is performed on the quantized high-frequency coefficients and low-frequency coefficients respectively, and inverse quantization is performed on the coded values after entropy encoding to obtain inverse quantized inverse high-frequency coefficients and inverse low-frequency coefficients, and the inverse high-frequency coefficients and inverse
  • the inverse low-frequency coefficients are subjected to inverse DCT transformation to obtain inverse attribute residual information of the K points to be encoded.
  • the attribute residual information of K points to be encoded needs to be transformed by DCT, and then quantized, dequantized and inversely transformed. During this process, the attribute residual information may be lost , thus the obtained inverse attribute residual information may be inconsistent with the attribute residual information of the K to-be-encoded points before DCT transformation.
  • the attribute reconstruction information of the K points to be encoded can also be obtained.
  • the attribute reconstruction information may be the sum of attribute prediction information and inverse attribute residual information.
  • quantizing the high-frequency coefficients and low-frequency coefficients corresponding to the K points to be encoded includes:
  • the quantization step size may have a certain offset, and it is necessary to complete the scaling operation of the integer DCT based on the offset of the quantization step size, that is, the quantization of the quantized transform coefficients
  • the step size is the quantization step size after the scaling operation is completed, so as to ensure the accuracy of the quantization result and avoid the quantization error caused by the quantization step offset.
  • the obtaining the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient, and obtaining the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient include:
  • the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient is obtained, and the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient is obtained.
  • the quantization step size of the high-frequency transform coefficient is the original quantization step size, the preset quantization step size offset, and the high-frequency coefficient quantization
  • the sum of step size offsets, the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;
  • the quantization step size of the high-frequency coefficients is the original quantization step size, the preset quantization step size offset, and the low-frequency coefficient quantization step size offset
  • the sum of shifts, the quantization step size of the low-frequency coefficients is equal to the quantization step size of the high-frequency coefficients.
  • Q fin-AC Q ori +Offset coeff +Offset AC
  • Q fin-DC Q ori +Offset coeff +Offset DC ; among them, Q fin-AC represents the quantization step size of high-frequency coefficients, Q ori represents the original quantization step size, Offset coeff represents the preset quantization step size offset, Offset AC represents the high-frequency coefficient quantization step size offset, Q fin -DC represents the quantization step size of the low-frequency coefficient, and Offset DC represents the quantization step size offset of the low-frequency coefficient.
  • the quantization step size of is also the quantization step size of high-frequency coefficients
  • Q ori represents the original quantization step size
  • Offset coeff represents the preset quantization step size offset
  • Offset DC represents the low-frequency coefficient quantization step size offset.
  • the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the low-frequency coefficient is quantized The subsequent value is 0.
  • the first preset threshold and the second preset threshold may be the same or different.
  • an encoding manner in which DCT transformation is not performed on the K points to be encoded may also be included.
  • the method also includes:
  • Entropy encoding is performed on the quantized attribute residual information of the K points to be encoded to generate a binary code stream.
  • the attribute residual information of the K points to be encoded may be directly quantized, and then entropy encoding is performed based on the quantized attribute residual information to generate a binary code stream, thereby completing the encoding of the point cloud to be encoded.
  • the method may further include:
  • the method before the acquiring the first information, the method further includes:
  • Acquire identification information where the identification information is used to indicate whether to execute the method
  • the identification information may be identification information obtained based on user input, for example, it may be a parameter input by the user, or it may also be a pre-stored parameter at the encoding end, and the pre-stored parameter is obtained through user operation; the parameter is used for Indicates whether the encoding end implements the above method for encoding point cloud attribute information.
  • the identification information can be characterized by 0 and 1, if the identification information is 0, it means that the above-mentioned point cloud attribute information encoding method does not need to be executed, and the encoding end does not execute the above-mentioned point cloud attribute information encoding method; if the If the identification information is 1, the encoding end executes the above-mentioned point cloud attribute information encoding method.
  • the identification information may also be in other representation forms. For example, if the identification information is "true”, the encoding end executes the above method for encoding point cloud attribute information; if the identification information is "false", the encoding end does not Execute the above method for encoding point cloud attribute information.
  • the identification information may also be in other representation forms, which are not listed too many in this embodiment of the present application.
  • said method also includes:
  • identification information it can be known based on the identification information whether the encoding end adopts the above-mentioned point cloud attribute information encoding method for encoding, and then the decoding end can also adopt the corresponding decoding method based on the identification information to ensure that the decoding end can Smooth decoding to ensure decoding efficiency.
  • the attribute reconstruction information of K points to be encoded is obtained by dequantizing the encoded value after entropy encoding, or for the K points to be encoded that have undergone DCT transformation, the encoded value after entropy encoding Inverse quantization and DCT inverse transformation are performed sequentially to obtain the attribute reconstruction information of K points to be encoded. Based on the obtained attribute reconstruction information, it is also possible to judge whether the unencoded points in the unencoded point cloud need to be transformed by DCT, and then use the The scattered distribution of attribute information in the spatial domain is transformed into the centralized distribution in the transform domain, so as to achieve the purpose of removing spatial redundancy, improving the efficiency of attribute coding and reconstruction performance.
  • FIG. 4 is a flow chart of another point cloud attribute encoding method provided by an embodiment of the present application.
  • the process of this method is as follows: firstly, the points to be coded are sorted, either based on Morton codes or Hilbert codes; Whether the coded point is a repeated point, that is, to judge whether it is repeated with the coded point, if so, obtain the attribute prediction information of the repeated point, and quantify it based on the attribute prediction information; if the point to be coded is not a repeated point, perform Attribute information prediction, obtaining attribute prediction information, judging whether DCT transformation is required based on the attribute prediction information of the point to be encoded, and if so, performing K-order DCT transformation on the point to be encoded to obtain transformation coefficients, and quantize the transformation coefficients; if not Perform DCT transformation, then directly quantize the attribute residual information of the point to be encoded; reconstruct the attribute information based on the quantized related information, obtain the attribute reconstruction information, and judge
  • FIG. 5 is a flow chart of a method for decoding point cloud attribute information provided by an embodiment of the present application.
  • the method may be applied to terminals such as mobile phones, tablet computers, and computers. As shown in Figure 5, the method includes the following steps:
  • Step 501 acquiring third information
  • Step 502 based on the fourth information associated with the third information, determine whether to perform inverse DCT transformation on the K points to be decoded;
  • Step 503. When it is determined to perform inverse DCT transformation on the K points to be decoded, perform inverse DCT transformation on the K points to be decoded to obtain attribute residual information of the K points to be decoded;
  • Step 504 Obtain attribute reconstruction information of the K points to be decoded based on the attribute residual information and attribute prediction information of the K points to be decoded, so as to decode undecoded points in the point cloud to be decoded;
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; or, the third information includes the K points to be decoded
  • the fourth information includes attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1.
  • the third information includes the K points to be decoded
  • the fourth information includes attribute prediction information of the K points to be decoded
  • the step 502 includes:
  • the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points; in this case, the step 502 includes:
  • the third information includes K points to be decoded
  • the step 501 may include:
  • the point cloud to be decoded is sorted, and K points to be decoded in the sorted point cloud to be decoded are obtained.
  • the sorting the point cloud to be decoded and obtaining the K points to be decoded in the sorted point cloud to be decoded includes:
  • the method further includes:
  • obtaining the S neighbor points closest to the target Manhattan to be decoded including:
  • M, N1 and N2 are all positive integers.
  • the search range of the Hilbert 1 order or the Morton 1 order is the first preset range
  • the search range of the Hilbert 2 order or the Morton 2 order is the second preset Range
  • the post-order search range of the Hilbert 2 order or Morton 2 order is the third preset range
  • the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, and the second attribute parameter is used to characterize the second preset range;
  • the binary code stream further includes a third attribute parameter, which is used to represent The third preset range.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • the determining the initial attribute prediction information of the target point to be decoded based on the S neighbor points includes:
  • the second weight is the difference between the target point to be decoded and the neighbor point The reciprocal of the Manhattan distance between .
  • the third information includes the K points to be decoded, and before step 502, the method further includes:
  • Obtaining the target point to be decoded among the K points to be decoded is L neighbor points with the closest Manhattan distance among the R neighbor points, and the target point to be decoded is any one of the K points to be decoded;
  • T, R and L are all positive integers.
  • the determining the initial attribute prediction information of the target point to be decoded based on the L neighbor points includes:
  • the second weight is the difference between the target point to be decoded and the neighbor point The reciprocal of the Manhattan distance between .
  • the sum of the first weights corresponding to the K nodes to be decoded is 1.
  • the method before performing inverse DCT transformation on the K points to be decoded, the method further includes:
  • the inverse DCT transformation of the K points to be decoded includes:
  • the transform coefficients include high-frequency coefficients and low-frequency coefficients
  • the dequantization of the transform coefficients to obtain dequantized transform coefficients includes:
  • the obtaining the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient, and obtaining the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient include:
  • the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient is obtained, and the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient is obtained.
  • the quantization step of the high frequency coefficient corresponding to the high frequency coefficient is obtained, and the quantization step of the low frequency coefficient corresponding to the low frequency coefficient is obtained long, including:
  • the quantization step size of the high-frequency transform coefficient is the original quantization step size, the preset quantization step size offset, and the high-frequency coefficient quantization step size
  • the sum of offsets, the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;
  • the quantization step size of the high-frequency coefficient is the original quantization step size, the preset quantization step size offset, and the low-frequency coefficient quantization step size offset
  • the sum of shifts, the quantization step size of the low-frequency coefficients is equal to the quantization step size of the high-frequency coefficients.
  • the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the low-frequency The quantized value of the coefficient is 0.
  • the method also includes:
  • the method before the acquiring the third information, the method further includes:
  • identification information from the binary code stream, where the identification information is used to indicate whether to execute the method
  • decoding method provided in this embodiment corresponds to the encoding method in the embodiment described in FIG. 3 above, and the related concepts and specific implementation methods involved in this embodiment can refer to the encoding described in FIG. The description in the method will not be repeated in this embodiment.
  • the decoding method in the process of decoding the point cloud to be decoded, it is necessary to determine whether to perform DCT transformation on the point to be decoded according to the attribute prediction information of the point to be decoded or the attribute reconstruction information of the decoded point.
  • DCT transformation is performed on the point to be decoded, and then the scattered distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, and more It is convenient for quantization and decoding, thereby removing attribute redundancy, and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.
  • the execution subject may be a point cloud attribute information encoding device, or the device used to execute the point cloud attribute information encoding method in the point cloud attribute information encoding device control module.
  • the method for encoding point cloud attribute information performed by the point cloud attribute information encoding device is taken as an example to illustrate the point cloud attribute information encoding device provided in the embodiment of the present application.
  • FIG. 6 is a structural diagram of a device for encoding point cloud attribute information provided by an embodiment of the present application.
  • the point cloud attribute information encoding device 600 includes:
  • the first determination module 602 is configured to determine whether to perform discrete cosine transform (DCT) transformation on the K points to be encoded based on the second information associated with the first information;
  • DCT discrete cosine transform
  • the first transformation module 603 is used to perform DCT transformation on the K points to be coded to obtain the transformation coefficients of the K points to be coded when it is determined to perform DCT transformation on the K points to be coded;
  • An encoding module 604 configured to quantize the transformation coefficients of the K points to be encoded, perform entropy encoding based on the quantized transformation coefficients, and generate a binary code stream;
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the first information includes the K points to be encoded
  • the second information includes attribute reconstruction information of the N encoded points
  • K is a positive integer
  • N is an integer greater than 1.
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the first determining module 602 is also used for:
  • the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points;
  • the first determining module 602 is also used for:
  • the first information includes the K points to be encoded, and the first acquiring module 601 is further configured to:
  • Sorting the point cloud to be encoded and acquiring K points to be encoded in the sorted point cloud to be encoded.
  • the first acquiring module 601 is also configured to:
  • the device further includes an attribute information prediction module, configured to:
  • the target point to be encoded is any one of the K points to be encoded
  • the attribute information prediction module is also used for:
  • M, N1 and N2 are all positive integers.
  • the search range of the Hilbert 1 order or the Morton 1 order is the first preset range
  • the search range of the Hilbert 2 order or the Morton 2 order is the second preset range
  • the Hilbert 2 order or the subsequent search range of the Morton 2 order is the third preset range or the second preset range
  • the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, and the second attribute parameter is used to characterize the second preset scope;
  • the binary code stream further includes a third attribute parameter, which is used to represent The third preset range.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • the attribute information prediction module is also used for:
  • the first information includes the K points to be encoded
  • the attribute information prediction module is further used for:
  • Obtaining the target point to be encoded among the K points to be encoded is L neighbor points with the closest Manhattan distance among the R neighbor points, and the target point to be encoded is any one of the K points to be encoded;
  • T, R and L are all positive integers.
  • the attribute information prediction module is also used for:
  • the sum of the first weights corresponding to the K nodes to be coded is 1.
  • the device further includes a third acquisition module, configured to:
  • the first conversion module 603 is also used for:
  • the device further includes an attribute reconstruction module, configured to:
  • Inverse quantization is performed on the quantized-based transform coefficients, and inverse transforms are performed on the inverse transform coefficients obtained after inverse quantization, so as to obtain attribute reconstruction information of the K points to be encoded.
  • the transform coefficients include low-frequency coefficients and high-frequency coefficients
  • the encoding module 604 is further configured to:
  • the attribute reconstruction module is also used to:
  • the coding module 604 is also used for:
  • the coding module 604 is also used for:
  • the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient is obtained, and the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient is obtained.
  • the coding module 604 is also used for:
  • the quantization step size of the high-frequency transform coefficient is the original quantization step size, the preset quantization step size offset, and the high-frequency coefficient quantization step size
  • the sum of offsets, the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;
  • the quantization step size of the high-frequency coefficients is the original quantization step size, the preset quantization step size offset, and the low-frequency coefficient quantization step size offset
  • the sum of shifts, the quantization step size of the low-frequency coefficients is equal to the quantization step size of the high-frequency coefficients.
  • the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the low-frequency The quantized value of the coefficient is 0.
  • the coding module 604 is also used for:
  • Entropy encoding is performed on the quantized attribute residual information of the K points to be encoded to generate a binary code stream.
  • the device further includes an attribute reconstruction module, configured to:
  • the device also includes:
  • a third determining module configured to acquire identification information, where the identification information is used to indicate whether the device performs encoding of point cloud attribute information
  • a writing module configured to write the identification information into the binary code stream.
  • the apparatus performing point cloud attribute information encoding means that the apparatus executes the above corresponding operations based on the above modules (such as the first acquisition module, the first determination module, etc.), which will not be repeated here.
  • the point cloud attribute information encoding device needs to decide whether to perform DCT transformation on the point to be encoded according to the attribute prediction information of the point to be encoded or the attribute reconstruction information of the encoded point , when it is determined that DCT transformation needs to be performed on the code point to be coded, DCT transformation is performed on the code point to be coded, and then the scattered distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated on a few coefficients In , it is more convenient to perform quantization and coding, so as to remove attribute redundancy and achieve the purpose of improving attribute coding efficiency and reconstruction performance.
  • the device for encoding point cloud attribute information in the embodiment of the present application may be a device, a device with an operating system or an electronic device, or a component, an integrated circuit, or a chip in a terminal.
  • the apparatus or electronic equipment may be a mobile terminal or a non-mobile terminal.
  • a mobile terminal may include but not limited to the types of terminals listed above, and a non-mobile terminal may be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television , TV), teller machines or self-service machines, etc., are not specifically limited in this embodiment of the present application.
  • the device for encoding point cloud attribute information provided in the embodiment of the present application can realize each process realized by the method embodiment in FIG. 3 or FIG. 4 and achieve the same technical effect. To avoid repetition, details are not repeated here.
  • FIG. 7 is a structural diagram of a device for decoding point cloud attribute information provided by an embodiment of the present application.
  • the point cloud attribute information decoding device 700 includes:
  • the second determining module 702 is configured to determine whether to perform inverse DCT transformation on the K points to be decoded based on fourth information associated with the third information;
  • the second transformation module 703 is configured to perform an inverse DCT transformation on the K points to be decoded to obtain attribute residues of the K points to be decoded when it is determined to perform an inverse DCT transformation on the K points to be decoded. poor information;
  • the decoding module 704 is configured to obtain attribute reconstruction information of the K points to be decoded based on the attribute residual information and attribute prediction information of the K points to be decoded, so as to decode undecoded points in the point cloud to be decoded;
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; or, the third information includes the K points to be decoded
  • the fourth information includes attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1.
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded;
  • the second determination module 702 is also used for:
  • the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is smaller than a second threshold, it is determined to perform inverse DCT transformation on the K points to be decoded.
  • the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points;
  • the second determination module 702 is also used for:
  • the third information includes K points to be decoded
  • the second obtaining module 701 is further configured to:
  • the second acquiring module 701 is also configured to:
  • the device also includes an attribute prediction module, configured to:
  • the attribute prediction module is also used for:
  • M, N1 and N2 are all positive integers.
  • the search range of the Hilbert 1 order or the Morton 1 order is the first preset range
  • the search range of the Hilbert 2 order or the Morton 2 order is the second preset Range
  • the post-order search range of the Hilbert 2 order or Morton 2 order is the third preset range
  • the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, and the second attribute parameter is used to characterize the second preset range;
  • the binary code stream further includes a third attribute parameter, which is used to represent The third preset range.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • the attribute prediction module is also used for:
  • the second weight is the difference between the target point to be decoded and the neighbor point The reciprocal of the Manhattan distance between .
  • the third information includes the K points to be decoded, and the attribute prediction module is also used for:
  • Obtaining the target point to be decoded among the K points to be decoded is L neighbor points with the closest Manhattan distance among the R neighbor points, and the target point to be decoded is any one of the K points to be decoded;
  • T, R and L are all positive integers.
  • the attribute prediction module is also used for:
  • the second weight is the difference between the target point to be decoded and the neighbor point The reciprocal of the Manhattan distance between .
  • the sum of the first weights corresponding to the K nodes to be decoded is 1.
  • the device also includes an inverse quantization module for:
  • the second transformation module 703 is also used for:
  • the transform coefficients include high-frequency coefficients and low-frequency coefficients
  • the inverse quantization module is also used for:
  • the inverse quantization module is also used for:
  • the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient is obtained, and the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient is obtained.
  • the inverse quantization module is also used for:
  • the quantization step size of the high-frequency transform coefficient is the original quantization step size, the preset quantization step size offset, and the high-frequency coefficient quantization step size
  • the sum of offsets, the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;
  • the quantization step size of the high-frequency coefficient is the original quantization step size, the preset quantization step size offset, and the low-frequency coefficient quantization step size offset
  • the sum of shifts, the quantization step size of the low-frequency coefficients is equal to the quantization step size of the high-frequency coefficients.
  • the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the low-frequency The quantized value of the coefficient is 0.
  • the device also includes a quantization module for:
  • the device further includes a fourth determining module, configured to:
  • identification information from the binary code stream, where the identification information is used to indicate whether the device performs point cloud attribute information decoding
  • the device performs point cloud attribute information decoding means that the device performs corresponding operations based on the above modules (such as the second acquisition module, the second determination module, etc.), which will not be repeated here.
  • the point cloud attribute information decoding device in the process of decoding the point cloud to be decoded, it is necessary to determine whether to perform DCT on the point to be decoded according to the attribute prediction information of the point to be decoded or the attribute reconstruction information of the decoded point. Transformation, when it is determined that DCT transformation is required for the point to be decoded, DCT transformation is performed on the point to be decoded, and then the scattered distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transformed domain, so that the signal energy is concentrated in a few Among the coefficients, it is more convenient to quantize and decode, thereby removing attribute redundancy, and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.
  • the device for decoding point cloud attribute information in the embodiment of the present application may be a device, a device with an operating system or an electronic device, or a component, an integrated circuit, or a chip in a terminal.
  • the apparatus or electronic equipment may be a mobile terminal or a non-mobile terminal.
  • the mobile terminal may include but not limited to the types of terminals listed above, and the non-mobile terminal may be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television , TV), teller machines or self-service machines, etc., are not specifically limited in this embodiment of the present application.
  • the device for decoding point cloud attribute information provided by the embodiment of the present application can realize each process realized by the method embodiment in FIG. 5 and achieve the same technical effect. In order to avoid repetition, details are not repeated here.
  • this embodiment of the present application further provides a communication device 800, including a processor 801, a memory 802, and programs or instructions stored in the memory 802 and operable on the processor 801,
  • a communication device 800 including a processor 801, a memory 802, and programs or instructions stored in the memory 802 and operable on the processor 801
  • the communication device 800 is a terminal
  • the program or instruction is executed by the processor 801
  • each process of the above-mentioned method embodiment described in FIG. 3 or FIG. 4 is implemented, or each process of the above-mentioned method embodiment described in FIG. 5 is implemented, And can achieve the same technical effect, in order to avoid repetition, no more details here.
  • the embodiment of the present application also provides a terminal, including a processor and a communication interface, and the processor is configured to implement each process of the method embodiment described in FIG. 3 or FIG. 4 above, or implement each process of the method embodiment described in FIG. 5 above.
  • This terminal embodiment corresponds to the above-mentioned terminal-side method embodiment, and each implementation process and implementation mode of the above-mentioned method embodiment can be applied to this terminal embodiment, and can achieve the same technical effect.
  • FIG. 9 is a schematic diagram of a hardware structure of a terminal implementing an embodiment of the present application.
  • the terminal 900 includes, but is not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910, etc. at least some of the components.
  • the terminal 900 can also include a power supply (such as a battery) for supplying power to various components, and the power supply can be logically connected to the processor 910 through the power management system, so as to manage charging, discharging, and power consumption through the power management system. Management and other functions.
  • a power supply such as a battery
  • the terminal structure shown in FIG. 9 does not constitute a limitation on the terminal, and the terminal may include more or fewer components than shown in the figure, or combine some components, or arrange different components, which will not be repeated here.
  • the input unit 904 may include a graphics processor (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 is used for the image capture device (such as the image data of the still picture or video obtained by the camera) for processing.
  • the display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
  • the user input unit 907 includes a touch panel 9071 and other input devices 9072.
  • the touch panel 9071 is also called a touch screen.
  • the touch panel 9071 may include two parts, a touch detection device and a touch controller.
  • Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, and joysticks, which will not be repeated here.
  • the radio frequency unit 901 receives the downlink data from the network side device, and processes it to the processor 910; in addition, sends the uplink data to the network side device.
  • the radio frequency unit 901 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • the memory 909 can be used to store software programs or instructions as well as various data.
  • the memory 909 may mainly include a program or instruction storage area and a data storage area, wherein the program or instruction storage area may store an operating system, an application program or instructions required by at least one function (such as a sound playback function, an image playback function, etc.) and the like.
  • the memory 909 may include a high-speed random access memory, and may also include a nonvolatile memory, wherein the nonvolatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM) , PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically erasable programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • ROM Read-Only Memory
  • PROM programmable read-only memory
  • PROM erasable programmable read-only memory
  • Erasable PROM Erasable PROM
  • EPROM electrically erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory for example at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device.
  • the processor 910 may include one or more processing units; optionally, the processor 910 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, application programs or instructions, etc., Modem processors mainly handle wireless communications, such as baseband processors. It can be understood that the foregoing modem processor may not be integrated into the processor 910 .
  • the processor 910 is configured to:
  • DCT discrete cosine transform
  • Quantizing the transform coefficients of the K points to be encoded performing entropy encoding based on the quantized transform coefficients, and generating a binary code stream
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the first information includes the K points to be encoded
  • the second information includes attribute reconstruction information of the N encoded points
  • K is a positive integer
  • N is an integer greater than 1.
  • the first information includes the K points to be encoded
  • the second information includes attribute prediction information of the K points to be encoded
  • the processor 910 is further configured to:
  • the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points; the processor 910 is further configured to :
  • the first information includes the K points to be encoded
  • the processor 910 is further configured to:
  • Sorting the point cloud to be encoded and acquiring K points to be encoded in the sorted point cloud to be encoded.
  • processor 910 is also used for:
  • processor 910 is also used for:
  • the target point to be encoded is any one of the K points to be encoded
  • processor 910 is also used for:
  • M, N1 and N2 are all positive integers.
  • the search range of the Hilbert 1 order or the Morton 1 order is the first preset range
  • the search range of the Hilbert 2 order or the Morton 2 order is the second preset range
  • the Hilbert 2 order or the subsequent search range of the Morton 2 order is the third preset range or the second preset range
  • the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, and the second attribute parameter is used to characterize the second preset scope;
  • the binary code stream further includes a third attribute parameter, which is used to represent The third preset range.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • processor 910 is also used for:
  • the first information includes the K points to be encoded
  • the processor 910 is further configured to:
  • Obtaining the target point to be encoded among the K points to be encoded is L neighbor points with the closest Manhattan distance among the R neighbor points, and the target point to be encoded is any one of the K points to be encoded;
  • T, R and L are all positive integers.
  • processor 910 is also used for:
  • the sum of the first weights corresponding to the K nodes to be coded is 1.
  • processor 910 is also used for:
  • the DCT transformation of the K points to be encoded is performed to obtain the transformation coefficients of the K points to be encoded, including:
  • processor 910 is also used for:
  • Inverse quantization is performed on the quantized-based transform coefficients, and inverse transforms are performed on the inverse transform coefficients obtained after inverse quantization, so as to obtain attribute reconstruction information of the K points to be encoded.
  • processor 910 is also used for:
  • the said inverse quantization of the encoded value obtained after the entropy encoding, and the inverse transformation of the inverse transformation coefficient obtained after the inverse quantization, to obtain the attribute reconstruction information of the K points to be encoded include:
  • processor 910 is also used for:
  • processor 910 is also used for:
  • the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient is obtained, and the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient is obtained.
  • processor 910 is also used for:
  • the quantization step size of the high-frequency transform coefficient is the original quantization step size, the preset quantization step size offset, and the high-frequency coefficient quantization step size
  • the sum of offsets, the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;
  • the quantization step size of the high-frequency coefficients is the original quantization step size, the preset quantization step size offset, and the low-frequency coefficient quantization step size offset
  • the sum of shifts, the quantization step size of the low-frequency coefficients is equal to the quantization step size of the high-frequency coefficients.
  • the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the low-frequency The quantized value of the coefficient is 0.
  • processor 910 is also used for:
  • the attribute residual information of the K points to be encoded is quantized
  • Entropy encoding is performed on the quantized attribute residual information of the K points to be encoded to generate a binary code stream.
  • processor 910 is also used for:
  • processor 910 is also used for:
  • identification information where the identification information is used to indicate whether the processor 910 performs point cloud attribute information encoding
  • the processor 910 executes the point cloud attribute information encoding means that the processor 910 executes the above steps to realize the point cloud attribute information encoding, or realizes the point cloud attribute information encoding method as shown in FIG. 3 or FIG. 4 . The method will not be repeated here.
  • the terminal 900 needs to decide whether to perform DCT transformation on the point cloud to be encoded according to the attribute prediction information of the point to be encoded or the attribute reconstruction information of the encoded point.
  • the code point is subjected to DCT transformation
  • the code point to be coded is subjected to DCT transformation, and then the scattered distribution of attribute information in the space domain can be converted into a relatively concentrated distribution in the transformation domain, so that the signal energy is concentrated in a few coefficients, which is more convenient Quantization and coding, so as to remove attribute redundancy and achieve the purpose of improving attribute coding efficiency and reconstruction performance.
  • the processor 910 is configured to:
  • the attribute reconstruction information of the K points to be decoded is obtained to decode the undecoded points in the point cloud to be decoded;
  • the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; or, the third information includes the K points to be decoded
  • the fourth information includes attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1.
  • the third information includes the K points to be decoded
  • the fourth information includes attribute prediction information of the K points to be decoded
  • the processor 910 is further configured to:
  • the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is smaller than a second threshold, it is determined to perform inverse DCT transformation on the K points to be decoded.
  • the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points; the processor 910 is further configured to:
  • the third information includes K points to be decoded
  • the processor 910 is further configured to:
  • processor 910 is also used for:
  • processor 910 is also used for:
  • processor 910 is also used for:
  • M, N1 and N2 are all positive integers.
  • the search range of the Hilbert 1 order or the Morton 1 order is the first preset range
  • the search range of the Hilbert 2 order or the Morton 2 order is the second preset Range
  • the post-order search range of the Hilbert 2 order or Morton 2 order is the third preset range
  • the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, and the second attribute parameter is used to characterize the second preset range;
  • the binary code stream further includes a third attribute parameter, which is used to represent The third preset range.
  • the given preset search range is determined according to the correlation between the initial point number of the point cloud sequence and the volume of the bounding box of the input point cloud.
  • processor 910 is also used for:
  • the second weight is the difference between the target point to be decoded and the neighbor point The reciprocal of the Manhattan distance between .
  • processor 910 is also used for:
  • Obtaining the target point to be decoded among the K points to be decoded is L neighbor points with the closest Manhattan distance among the R neighbor points, and the target point to be decoded is any one of the K points to be decoded;
  • T, R and L are all positive integers.
  • processor 910 is also used for:
  • the second weight is the difference between the target point to be decoded and the neighbor point The reciprocal of the Manhattan distance between .
  • the sum of the first weights corresponding to the K nodes to be decoded is 1.
  • processor 910 is also used for:
  • the inverse DCT transformation of the K points to be decoded includes:
  • the transform coefficients include high-frequency coefficients and low-frequency coefficients
  • the processor 910 is further configured to:
  • processor 910 is also used for:
  • the quantization step size of the high-frequency coefficient corresponding to the high-frequency coefficient is obtained, and the quantization step size of the low-frequency coefficient corresponding to the low-frequency coefficient is obtained.
  • processor 910 is also used for:
  • the quantization step size of the high-frequency transform coefficient is the original quantization step size, the preset quantization step size offset, and the high-frequency coefficient quantization step size
  • the sum of offsets, the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;
  • the quantization step size of the high-frequency coefficient is the original quantization step size, the preset quantization step size offset, and the low-frequency coefficient quantization step size offset
  • the sum of shifts, the quantization step size of the low-frequency coefficients is equal to the quantization step size of the high-frequency coefficients.
  • the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the low-frequency The quantized value of the coefficient is 0.
  • processor 910 is also used for:
  • processor 910 is also used for:
  • identification information from the binary code stream, where the identification information is used to indicate whether the processor 910 performs point cloud attribute information decoding
  • the processor 910 executes the point cloud attribute information decoding means that the processor 910 executes the above steps to realize the point cloud attribute information decoding, or realizes the point cloud attribute information decoding method as shown in FIG. 5 , the specific implementation method is here No longer
  • the terminal 900 needs to decide whether to perform DCT transformation on the point cloud to be decoded according to the attribute prediction information of the point to be decoded or the attribute reconstruction information of the decoded point.
  • DCT transformation is performed on the decoding point
  • the DCT transformation is performed on the point to be decoded, and then the scattered distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transformation domain, so that the signal energy is concentrated in a few coefficients, which is more convenient.
  • Quantization and decoding so as to remove attribute redundancy and achieve the purpose of improving attribute decoding efficiency and reconstruction performance.
  • the embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by the processor, each process of the above-mentioned method embodiment described in FIG. 3 or FIG. 4 is implemented. , or realize each process of the method embodiment described in FIG. 5 above, and can achieve the same technical effect. To avoid repetition, details are not repeated here.
  • the processor is the processor in the terminal described in the foregoing embodiments.
  • the readable storage medium includes computer readable storage medium, such as computer read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc.
  • the embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the above-mentioned Figure 3 or Figure 4.
  • the chip includes a processor and a communication interface
  • the communication interface is coupled to the processor
  • the processor is used to run programs or instructions to implement the above-mentioned Figure 3 or Figure 4.
  • the chip mentioned in the embodiment of the present application may also be called a system-on-chip, a system-on-chip, a system-on-a-chip, or a system-on-a-chip.
  • An embodiment of the present application further provides a computer program product, the computer program product is stored in a non-transitory storage medium, and the computer program product is executed by at least one processor to implement the method described above in FIG. 3 or FIG. 4
  • the computer program product is executed by at least one processor to implement the method described above in FIG. 3 or FIG. 4
  • Each process of the embodiment, or each process of the method embodiment described in FIG. 5 above, can achieve the same technical effect. To avoid repetition, details are not repeated here.
  • the embodiment of the present application also provides a communication device configured to execute the various processes of the method embodiment described in FIG. 3 or FIG. 4 above, or implement the various processes of the method embodiment described in FIG. 5 above, and can achieve the same To avoid repetition, the technical effects will not be repeated here.
  • the term “comprising”, “comprising” or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or device. Without further limitations, an element defined by the phrase “comprising a " does not preclude the presence of additional identical elements in the process, method, article, or apparatus comprising that element.
  • the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved. Functions are performed, for example, the described methods may be performed in an order different from that described, and various steps may also be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
  • the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation.
  • the technical solution of the present application can be embodied in the form of computer software products, which are stored in a storage medium (such as ROM/RAM, magnetic disk, etc.) , CD-ROM), including several instructions to make a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present application.

Landscapes

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

Abstract

本申请公开了一种点云属性信息编码方法、解码方法、装置及相关设备。所述点云属性信息编码方法包括:获取第一信息;基于第一信息关联的第二信息确定是否对K个待编码点进行DCT变换;在确定对K个待编码点进行DCT变换的情况下,对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数;对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流;其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的整数。

Description

点云属性信息编码方法、解码方法、装置及相关设备
相关申请的交叉引用
本申请主张在2021年06月11日在中国提交的中国专利申请No.202110654116.7以及在2021年07月20日在中国提交的中国专利申请No.202110817311.7的优先权,其全部内容通过引用包含于此。
技术领域
本申请属于点云处理技术领域,具体涉及一种点云属性信息编码方法、解码方法、装置及相关设备。
背景技术
在点云数字音视频编解码技术标准(Audio Video coding Standard,AVS)编码器框架中,点云的几何信息和每点所对应的属性信息是分开编码的。目前,属性信息编码中分为属性预测编码和属性变换编码,其中属性变换编码是直接对原始属性信息进行变换,对于局部变换幅度较大的区域,得到的变换系数中仍然存在较多的冗余信息,导致编码效率较低。
发明内容
本申请实施例提供一种点云属性信息编码方法、解码方法、装置及相关设备,能够解决现有的点云属性信息编码效率低的问题。
第一方面,提供了一种点云属性信息编码方法,包括:
获取第一信息;
基于所述第一信息关联的第二信息确定是否对K个待编码点进行离散余弦变换DCT变换;
在确定对所述K个待编码点进行DCT变换的情况下,对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数;
对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流;
其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K 个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的整数。
第二方面,提供了一种点云属性信息解码方法,包括:
获取第三信息;
基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换;
在确定对所述K个待解码点进行DCT反变换的情况下,对所述K个待解码点进行DCT反变换,得到所述K个待解码点的属性残差信息;
基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码;
其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
第三方面,提供了一种点云属性信息编码装置,包括:
第一获取模块,用于获取第一信息;
第一确定模块,用于基于所述第一信息关联的第二信息确定是否对K个待编码点进行离散余弦变换DCT变换;
第一变换模块,用于在确定对所述K个待编码点进行DCT变换的情况下,对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数;
编码模块,用于对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流;
其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的整数。
第四方面,提供了一种点云属性信息解码装置,包括:
第二获取模块,用于获取第三信息;
第二确定模块,用于基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换;
第二变换模块,用于在确定对所述K个待解码点进行DCT反变换的情况下,对所述K个待解码点进行DCT反变换,得到所述K个待解码点的属性残差信息;
解码模块,用于基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码;
其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
第五方面,提供了一种终端,该终端包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的点云属性信息编码方法的步骤,或者实现如第二方面所述的点云属性信息解码方法的步骤。
第六方面,提供了一种终端,包括处理器及通信接口,其中,所述处理器用于:
获取第一信息;
基于所述第一信息关联的第二信息确定是否对K个待编码点进行离散余弦变换DCT变换;
在确定对所述K个待编码点进行DCT变换的情况下,对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数;
对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流;
其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K 为正整数,N为大于1的整数;
或者,所述处理器用于:
获取第三信息;
基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换;
在确定对所述K个待解码点进行DCT反变换的情况下,对所述K个待解码点进行DCT反变换,得到所述K个待解码点的属性残差信息;
基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码;
其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
第七方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的点云属性信息编码方法的步骤,或者实现如第二方面所述的点云属性信息解码方法的步骤。
第八方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的点云属性信息编码方法的步骤,或者实现如第二方面所述的点云属性信息解码方法的步骤。
第九方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在非易失的存储介质中,所述程序/程序产品被至少一个处理器执行以实现如第一方面所述的点云属性信息编码方法的步骤,或者实现如第二方面所述的点云属性信息解码方法的步骤。
第十方面,提供了一种通信设备,被配置为执行如第一方面所述的点云属性信息编码方法的步骤,或者被配置为执行如第二方面所述的点云属性信息解码方法的步骤。
在本申请实施例中,在对待编码点云进行编码的过程中,需要根据待编码点的属性预测信息或者是已编码点的属性重建信息来决定是否对待编码点 进行DCT变换,在确定需要对待编码点进行DCT变换时,则对待编码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和编码,从而去除属性冗余,达到提高属性编码效率和重建性能的目的。
附图说明
图1是AVS编解码器框架图;
图2是编码端的变换流程图;
图3是本申请实施例提供的一种点云属性信息编码方法的流程图;
图4是本申请实施例提供的另一种点云属性信息编码方法的流程图;
图5是本申请实施例提供的一种点云属性信息解码方法的流程图;
图6是本申请实施例提供的一种点云属性信息编码装置的结构图;
图7是本申请实施例提供的一种点云属性信息解码装置的结构图;
图8是本申请实施例提供的一种通信设备的结构图;
图9是本申请实施例提供的一种终端的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中的编码方法对应的编码器和解码方法对应的解码器均可 以为终端,该终端也可以称作终端设备或者用户终端(User Equipment,UE),终端可以是手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)或称为笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobile personal computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴式设备(Wearable Device)或车载设备(VUE)、行人终端(PUE)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等。需要说明的是,在本申请实施例并不限定终端的具体类型。
为更好地理解本申请技术方案,以下对本申请中可能涉及的相关概念进行解释说明。
在点云数字音视频编解码技术标准(Audio Video coding Standard,AVS)编码器框架中,点云的几何信息和每点所对应的属性信息是分开编码的。
请参照图1,图1是AVS编解码器框架图。在对几何信息进行编码时,首先对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中。然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程属于预处理过程。接下来,按照广度优先遍历的顺序对bounding box进行划分(八叉树/四叉树/二叉树),对每个节点的占位码进行编码。在基于八叉树的几何码框架中,将包围盒依次划分得到子立方体,对非空的(包含点云中的点)的子立方体继续进行划分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,其次对叶子节点中所包含的点数进行编码,最终完成几何八叉树的编码,生成二进制码流。在基于八叉树的几何解码过程中,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1x1x1的单位立方体时停止划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何重构点云信息
属性编码主要针对颜色、反射率信息等进行。首先判断是否进行颜色空间的转换,若进行颜色空间转换,则将颜色信息从红绿蓝(RGB)颜色空间 转换到YUV(Y为亮度分量,UV为色度分量)颜色空间。然后,利用原始点云对重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在属性信息编码中分为两个方法:属性预测编码与属性变换编码。属性预测过程如下:首先对点云进行重排序,然后进行差分预测。其中重排序的方法有两种:莫顿重排序和希尔伯特Hilbert重排序。对于cat1A序列与cat2序列,对其进行Hilbert重排序;对于cat1B序列与cat3序列,对其进行莫顿重排序。对排序之后的点云使用差分方式进行属性预测,最后对预测残差进行量化并熵编码,生成二进制码流。属性变换过程如下:首先对点云属性做小波变换,对变换系数做量化;其次通过逆量化、逆小波变换得到属性重建值;然后计算原始属性和属性重建值的差得到属性残差并对其量化;最后将量化后的变换系数和属性残差进行熵编码,生成二进制码流。属性信息的解码为编码的逆过程,此处不做详述。
在图像和视频编码中,主要使用离散余弦变换(Discrete Cosine Transform,DCT)和离散正弦变换(Discrete Sine Transform,DST)。请参照图2,编码端的变换流程如下:首先由原始信号减去预测信号获得残差信号,然后将残差信号通过一次DCT变换获得一次变换系数,然后对一次变换系数块的低频分量进行二次变换,获得能量分布更加集中的二次变换系数,再进行量化、熵编码获得码流。然后将量化后的系数通过反量化、反向二次变换、反向一次变换获得恢复的残差,将其加上预测信号即可获得重建信号,再进行环路滤波降低失真。其中二次变换并不一定会进行,如图2虚线部分所示。
现有的视频编码标准中,属性变换编码是直接对原始属性信息进行变换,对于局部变换幅度较大的区域,得到的变换系数中仍然存在较多的冗余信息,导致编码效率较低。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的点云属性信息编码方法、解码方法、装置及相关设备进行详细地说明。
请参照图3,图3是本申请实施例提供的一种点云属性信息编码方法的流程图,所述方法可以是应用于如手机、平板电脑、计算机等终端。如图3所示,所述方法包括以下步骤:
步骤301、获取第一信息。
本申请实施例中,所述第一信息可以是包括待编码点,也可以是包括已编码点。
可选地,所述第一信息包括所述K个待编码点,所述步骤301包括:
对所述待编码点云进行排序,获取排序后的所述待编码点云中的K个待编码点。
本申请实施例中,在获取到待编码点云后,可以是对待编码点云进行排序。例如,在属性信息主要针对颜色的情况下,首先判断待编码点云是否需要进行颜色空间的转换,若进行颜色空间的转换,可以将待编码点云的颜色信息从RGB颜色空间转换到YUV颜色空间,然后利用原始点云对对待编码点云进行重着色,使得待编码点云的属性信息预重建的几何信息对应起来。对经过重着色和颜色空间转换的待编码点云进行排序,假设待编码点云包括N个点,每个点表示为p n(n=1,2,…,N),对待编码点云进行排序,排序之后每个点可以是表示为
Figure PCTCN2022098193-appb-000001
在排序后的待编码点云中选择K个待编码点。
可选地,待编码点云的排序可以是基于希尔伯特码或莫顿码实现。所述对所述待编码点云进行排序,获取排序后的所述待编码点云中的K个待编码点,包括:
计算所述待编码点云中每个点对应的希尔伯特码,将所述待编码点云按照希尔伯特码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点;或者,
计算所述待编码点云中每个点对应的莫顿码,将所述待编码点云按照莫顿码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点。
需要说明的是,所述K个待编码点可以是基于一定的顺序进行选择。例如,假设待编码点云包括9个待编码点,在计算出这9个待编码点对应的希尔伯特码,将这9个待编码点按照希尔伯特进行排序后,可以是以每3点待编码点为一组,先选择排序在前的3个点作为所述K个待编码点,进行后续属性预测等流程,然后再依次选择前3个点之后的三个点为一组进行属性预测等流程,再选择最后3个点进行后续属性预测等流程。
其中,对于选择的K个待编码点,需要判断这K个待编码点中的待编码 点是否与已编码点为重复点;若其中某个待编码点与已编码点为重复点,则可以是直接计算该待编码点与所述已编码点的属性残差信息,该待编码点不作为这K个待编码点中的点;若其中的待编码点与所述已编码点不是重复点,则可以是通过已编码点对这K个待编码点进行属性信息预测,得到这K个待编码点的属性预测信息,其具体的属性信息预测方法在后续实施例中进行说明。
步骤302、基于所述第一信息关联的第二信息确定是否对K个待编码点进行DCT变换。
其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的正整数。
也就是说,在第一信息为K个待编码点的情况下,所述第二信息为这K个待编码点的属性预测信息,则基于所述K个待编码点的属性预测信息确定是否对这K个待编码点进行DCT变换;在第一信息为K个待编码点的前N个已编码点的情况下,所述第二信息为这N个已编码点的属性重建信息,则基于所述N个已编码点的属性重建信息来确定是否对K个待编码点进行DCT变换。
本申请实施例中,若基于K个待编码点的属性预测信息来确定是否对这K个待编码点进行DCT变换,则需要先获取所述K个待编码点的属性预测信息。
可选地,所述步骤302之前还包括:
按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的S个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
基于所述S个邻居点确定所述目标待编码点的初始属性预测信息;
根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息。
其中,所述按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的S个邻居点,包括:
在给定的预设搜索范围中,按照希尔伯特1序,获取目标待编码点的前序M个点,以及按照希尔伯特2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点。
具体地,在确定K个待编码点后,基于预设原则选择目标待编码点,例如可以是按照这K个待编码点的顺序依次来选择目标待编码点。假设所述K个待编码点是待编码点云按照希尔伯特码排序后确定的,则可以是基于这K个待编码点对应的希尔伯特码大小来依次确定目标待编码点。
对于目标待编码点,首先按照希尔伯特1序,查找目标待编码点的前序M个点,再按照希尔伯特2序,分别查找目标待编码点的前序N1个点和后序N2个点,在这M+N1+N2个点中,选择与目标待编码点曼哈顿距离最近的S个邻居点,基于这S个邻居点确定目标待编码点的初始属性预测信息,然后根据目标待编码点对应的第一权重及初始属性预测信息,确定所述目标待编码点的属性预测信息。需要说明地,M、N1和N2均为正整数。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
其中,所述基于所述S个邻居点确定所述目标待编码点的初始属性预测信息,包括:
基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
可以理解地,目标待编码点的S个邻居点中,每一个邻居点与目标待编码点之间的曼哈顿距离不相同,第二权重为当前邻居点与目标待编码点之间曼哈顿距离的倒数,则每一个邻居点对应的第二权重也就不一样。目标待编码点的初始属性预测信息可以是S个邻居点中每一个邻居点的属性信息与其对应的第二权重的乘积之和,进而以计算得到目标待编码点的初始属性预测信息。
进一步地,基于上述确定目标待编码点初始属性预测信息的方式,也就能够计算出K个待编码点中每一个待编码点的初始属性预测信息,根据每一 个待编码点对应的第一权重及初始属性预测信息,也就能够计算出每一个待编码点对应的属性预测信息。
例如,假设目标待编码点p n的初始属性预测信息为Pre n,K个待编码点(p n,p n+1,…,p n+K-1)的初始属性预测信息分别记为Pre n,Pre n+1,…,Pre n+K-1,则K个待编码点的属性预测信息可记为AttrPre i(i=n,n+1,…,n+K-1),设K个待编码点中每个待编码点的第一权重为w ij(i,j=n,n+1,…,n+K-1),则K个待编码点的属性预测信息可表示为:
Figure PCTCN2022098193-appb-000002
其中,AttrPre i为K个待编码点的属性预测信息,Pre j为K个点中第j个点的初始属性预测信息。其中,
Figure PCTCN2022098193-appb-000003
例如,当AttrPre i=w iiPre i,即w ii=1,w ij=0(i≠j)时,当前K个待编码点中每个点的属性预测信息等于它的初始属性预测信息;当AttrPre i=w i,n+2Pre n+2,即w i,n+2=1,w ij=0(j≠n+2)时,当前K个待编码点中每个点都使用这个K个点中第二个点的初始属性预测信息作为它们的属性预测信息。
可选地,所述K个待编码节点各自对应的所述第一权重的和为1。例如,假设K的数值为4,则这4个待编码点分别对应的4个第一权重的和为1。
或者,所述按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的S个邻居点,包括:
在给定的预设搜索范围中,按照莫顿1序,获取目标待编码点的前序M个点,以及按照莫顿2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点。
具体地,对于目标待编码点,首先按照莫顿1序,查找目标待编码点的前序M个点,再按照莫顿2序,分别查找目标待编码点的前序N1个点和后序N2个点,在这M+N1+N2个点中,选择与目标待编码点曼哈顿距离最近的S个邻居点,基于这S个邻居点确定目标待编码点的初始属性预测信息,然后根据目标待编码点对应的第一权重及初始属性预测信息,确定所述目标待编码点的属性预测信息。需要说明地,M、N1和N2均为正整数。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
进一步地,在基于莫顿序得到与目标待编码点曼哈顿距离最近的S个邻居点后,对S个邻居点进行属性加权预测,权重为当前邻居点与目标待编码点曼哈顿距离的倒数,得到目标待编码点的初始属性预测信息;再根据目标待编码点对应的第一权重及初始属性预测信息,计算目标待编码点的属性预测信息,进而依此计算出K个待编码点的属性预测信息。其中,属性预测信息的获取方式可以是参照上述基于双希尔伯特序得到S个邻居点并进行属性预测的具体描述,不同之处仅在于本实施方式是基于双莫顿序来得到S个邻居点,获得属性预测信息的具体方式此处不再赘述。
可选地,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围或所述第二预设范围。需要说明地,上述第一预设范围、第二预设范围和第三预设范围的搜索范围可以是根据编码需求人为设定。
其中,所述二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
也就是说,上述第一预设范围、第二预设范围和第三预设范围可以作为属性信息参数集,写入码流中。在希尔伯特2序或莫顿2序的前序搜索范围,与希尔伯特2序或莫顿2序的后序搜索范围相同,也即都为第二预设范围的 情况下,在码流中可以是只需要写入表征希尔伯特1序或莫顿1序的搜索范围的第一属性参数,和表征希尔伯特2序或莫顿2序的前序及希尔伯特2序或莫顿2序的后续的第二属性参数;若希尔伯特2序或莫顿2序的前序搜索范围,与希尔伯特2序或莫顿2序的后序搜索范围不同,则二进制码流中需要写入第一属性参数、第二属性参数和第三属性参数。通过将属性参数写入码流中,进而在属性信息编码过程中,也就能够基于第一预设范围、第二预设范围和第三预设范围来确定目标待编码点曼哈顿距离最近的S个邻居点。
本申请实施例中,所述K个待编码点的属性预测信息还可以是基于其他的方式来确定。可选地,所述步骤302之前包括:
以所述K个待编码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
获取所述K个待编码点中目标待编码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
基于L个邻居点确定所述目标待编码点的初始属性预测信息;
根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息;其中,T、R和L均为正整数。
本实施方式中,K个待编码点可以是按照一定的顺序排列,例如待编码点云是按照莫顿码进行排序的情况下,K个待编码点可以是基于对应的莫顿码大小进行排序,所述K个待编码点中的第一个点,可以是指莫顿码最小的一个点,或者是最大的一个点。进一步地,以该第一个点作为参考点,选取该参考点的T个邻居点,然后选取这T个邻居点中与参考点曼哈顿距离最近的R个邻居点,所述K个待编码点中每一个待编码点均从这R个邻居点中选取各自曼哈顿距离最近的L个邻居点,每一个待编码点基于各自对应的L个邻居点确定对应的初始属性预测信息,进一步基于每一个待编码点对应的第一权重及初始属性预测信息,确定每一个待编码点各自对应的属性预测信息。这样,也就能够计算获得所述K个待编码点的属性预测信息。
本实施方式中,所述K个待编码节点各自对应的所述第一权重的和为1。
其中,所述基于L个邻居点确定所述目标待编码点的初始属性预测信息, 包括:
基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
可以理解地,目标待编码点的L个邻居点中,每一个邻居点与目标待编码点之间的曼哈顿距离不相同,第二权重为当前邻居点与目标待编码点之间曼哈顿距离的倒数,则每一个邻居点对应的第二权重也就不一样。可选地,目标待编码点的初始属性预测信息可以是L个邻居点中每一个邻居点的属性信息与其对应的第二权重的乘积之和,进而以计算得到目标待编码点的初始属性预测信息。
本申请实施例中,在基于上述方式确定K个待编码点的属性预测信息后,则可以基于K个待编码点的属性预测信息来确定是否对所述K个待编码点进行DCT变换。这种情况下,也即所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息,则所述步骤302可以包括:
获取所述K个待编码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待编码点进行DCT变换。
例如,所述K个待编码点的属性预测信息记为AttrPre i,i的取值范围为1至K;获取这K个待编码点对应的属性预测信息中的最大属性预测值和最小属性预测值,分别记为AttrPre max和AttrPre min,第一阈值记为Threshold1,若|AttrPre max-AttrPre min|≥Threshold1,则对所述K个待编码点不进行DCT变换,若|AttrPre max-AttrPre min|<Threshold1,则对所述K个待编码点进行DCT变换。
或者,获取这K个待编码点对应的属性预测信息中的最大属性预测值和最小属性预测值,分别记为AttrPre max和AttrPre min,第二阈值记为 Threshold2,若
Figure PCTCN2022098193-appb-000004
则对所述K个待编码点不进行DCT变换,若
Figure PCTCN2022098193-appb-000005
则对所述K个待编码点不进行DCT变换。
本申请实施例中,第一信息还可以是包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息;这种情况下,所述步骤302包括:
获取所述N个已编码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待编码点进行DCT变换。
其中,N为大于1的整数,也即需要获取所述K个待编码点的至少前2个已编码点。可以理解地,已编码点的属性重建信息是能够获知的。所述属性重建信息是指将要赋予给点云序列的属性信息,但属性重建信息不同于原始点云中的原始属性信息,属性重建信息为编码端经过编码过程后,点云的属性预测信息加上属性残差信息得到。
本实施方式中,假设N个待编码点的属性重建信息记为AttRec i,i的取值范围为1至N;获取这N个待编码点对应的属性重建信息中的最大属性重建值与最小属性重建值,分别记为AttrRec max和AttrRec min,第三阈值记为Threshpld3,若|AttrRec max-AttrRec min|≥Threshold3,则对所述K个待编码点不进行DCT变换,若|AttrRec max-AttrRec min|<Threshold3,则对所述K个待编码点进行DCT变换。
或者,获取这N个待编码点对应的属性重建信息中的最大属性重建值与最小属性重建值,分别记为AttrRec max和AttrRec min,第四阈值记为Threshold4,若
Figure PCTCN2022098193-appb-000006
则对所述K个待编码点不进行DCT变换,若
Figure PCTCN2022098193-appb-000007
则对所述K个待编码点进行DCT变换。
步骤303、在确定对所述K个待编码点进行DCT变换的情况下,对所述 K个待编码点进行DCT变换,得到所述K个待编码点的变换系数。
本申请实施例中,若确定对K个待编码点进行DCT变换,可以对这K个待编码点的属性残差信息进行DCT变换。进而,在对K个待编码点进行DCT变换之前,所述方法还包括:
基于所述K个待编码点的属性预测信息,获取所述K个待编码点的属性残差信息。
其中,对于K个待编码点中每个待编码点的属性残差信息,可以是待编码点的原始属性信息与属性预测信息之差。
进一步地,所述对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数,包括:
对所述K个待编码点的属性残差信息进行DCT变换,得到所述K个待编码点对应的变换系数。
例如,所述K个待编码点的属性残差信息记为AttrRes,对这K个点的属性残差信息进行DCT变换,其中K表示DCT变换的阶数。设T为K阶变换矩阵,则由下列变换式可以得到变换系数为:
Figure PCTCN2022098193-appb-000008
其中,AttrRes i表示属性残差信息,i=n,n+1,…,n+K-1,DC表示进行DCT变换之后得到的低频系数,AC表示进行DCT变换之后得到的高频系数。这样,也就能够得到K个待编码点进行DCT变换之后的变换系数。
步骤304、对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流。
具体地,在得到所述K个待编码点的变换系数后,对所述变换系数进行量化,得到量化后的变换系数,并对量化后的变换系数进行熵编码,以生成二进制码流,进而以完成待编码点云属性信息的编码。
本申请实施例中,在对待编码点云进行编码的过程中,需要根据待编码点的属性预测信息或者是已编码点的属性重建信息来决定是否对待编码点进 行DCT变换,在确定需要对待编码点进行DCT变换时,则对待编码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和编码,从而去除属性冗余,达到提高属性编码效率和重建性能的目的。
其中,所述变换系数包括低频系数和高频系数,所述对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,包括:
对所述K个待编码点对应的高频系数和低频系数进行量化,并对量化后的高频系数和低频系数分别进行熵编码,以得到第一编码值和第二编码值。
可选地,所述对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码之后,所述方法还包括:
对所述基于量化后的变换系数进行反量化,对反量化后得到的反变换系数进行反变换,以获取所述K个待编码点的属性重建信息。
本申请实施例中,在对K个待编码点的变换系数进行量化及熵编码后,还可以进一步基于量化后的变换系数进行反量化和反DCT变换,以获取所述K个待编码点的属性重建信息。
其中,在对量化后的高频系数和低频系数分别进行熵编码,以得到第一编码值和第二编码值后,所述对所述熵编码后得到的编码值进行反量化,对反量化后得到的反变换系数进行反变换,以获取所述K个待编码点的属性重建信息,包括:
对所述第一编码值和所述第二编码值进行反量化,得到反量化后的反高频系数和反低频系数;
基于所述反高频系数和所述反低频系数进行DCT反变换,得到所述K个待编码点对应的反属性残差信息;
根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
具体地,在对量化后的高频系数和低频系数分别进行熵编码,对熵编码后的编码值进行反量化,得到反量化的反高频系数和反低频系数,并对反高 频系数和反低频系数进行DCT反变换,得到所述K个待编码点的反属性残差信息。需要说明的是,编码过程中,需要对K个待编码点的属性残差信息进行DCT变换,而后经过量化、反量化及反变换,在这过程中,所述属性残差信息可能会有损失,因而得到的所述反属性残差信息与K个待编码点DCT变换之前的属性残差信息可能不一致。
进一步地,基于所述反属性残差信息及K个待编码点的属性预测信息,也就能够得到这K个待编码点的属性重建信息。所述属性重建信息可以是属性预测信息与反属性残差信息之和。
本申请实施例中,所述对所述K个待编码点对应的高频系数和低频系数进行量化,包括:
获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
根据所述高频系数及所述高频系数量化步长对所述高频系数进行量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行量化。
其中,在对变换系数进行量化的过程中,量化步长可能会有一定的偏移,则需要基于量化步长的偏移来完成整数DCT的比例缩放运算,也即进行量化的变换系数的量化步长是完成了比例缩放运算后的量化步长,以确保量化结果的准确性,避免量化步长偏移而造成的量化误差。
可选地,所述获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
根据所述K个待编码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
其中,在所述K个待编码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
在所述K个待编码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
例如,对于属性信息对应的分量分布平坦的情况,可以是采取较为粗糙的量化方式,此时Q fln-AC=Q ori+Offset coeff+Offset AC,Q fin-DC=Q ori+Offset coeff+Offset DC;其中,Q fin-AC表示高频系数的量化步长,Q ori表示原始量化步长,Offset coeff表示预设量化步长偏移,Offset AC表示高频系数量化步长偏移,Q fin-DC表示低频系数的量化步长,Offset DC表示低频系数量化步长偏移。
对于属性信息对应的分量分布不平坦的情况,在量化时对高频系数和低频系数采用相同的量化步长,此时Q fin=Q ori+Offset coeff+Offset DC,其中,Q fin表示低频系数的量化步长,也表示高频系数的量化步长,Q ori表示原始量化步长,Offset coeff表示预设量化步长偏移,Offset DC表示低频系数量化步长偏移。
另外,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数量化后的值为0。其中,第一预设阈值和第二预设阈值可以是相同,也可以不同。
本申请实施例中,还可以包括对所述K个待编码点不进行DCT变换的编码方式。可选地,所述方法还包括:
在确定对所述K个待编码点不进行DCT变换的情况下,对所述K个待编码点的属性残差信息进行量化;
对所述K个待编码点量化后的属性残差信息进行熵编码,生成二进制码流。
也就是说,若基于K个待编码点的属性预测信息确定对所述K个待编码点不进行DCT变换,或者是基于N个已编码点确定对所述K个待编码点不进行DCT变换,则可以是直接对所述K个待编码点的属性残差信息进行量化,然后基于量化后的属性残差信息进行熵编码,生成二进制码流,从而完 成待编码点云的编码。
进一步地,对所述K个待编码点量化后的属性残差信息进行熵编码之后,所述方法还可以包括:
对所述熵编码后得到编码值进行反量化,得到所述K个待编码点反量化后的反属性残差信息;
根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
也就是说,对于不需要进行DCT变换的K个待编码点,对这K个待编码点的属性残差信息进行量化,并基于量化后的属性残差信息进行熵编码后,同样可以是对熵编码后得到的编码值进行反量化,以得到反属性残差信息,进而基于所述反属性残差信息及所述K个待编码点的属性预测信息之和,得到这K个点的属性重建信息。
可选地,本申请实施例中,在所述获取第一信息之前,所述方法还包括:
获取标识信息,所述标识信息用于指示是否执行所述方法;
根据所述标识信息确定是否执行所述方法。
其中,所述标识信息可以是基于用户输入获得的标识信息,例如可以是用户输入一个参数,或者也可以是编码端预先存储的参数,通过用户操作来获得该预先存储的参数;该参数用于指示编码端是否执行上述点云属性信息编码方法。
例如,所述标识信息可以是以0和1来表征,若该标识信息为0,则表示不需要执行上述点云属性信息编码方法,则编码端不执行上述点云属性信息编码方法;若该标识信息为1,则编码端执行上述点云属性信息编码方法。可选地,所述标识信息也可以是其他表征形式,例如若该标识信息为“true”,则编码端执行上述点云属性信息编码方法;若该标识信息为“false”,则编码端不执行上述点云属性信息编码方法。当然,所述标识信息还可以是其他的表征形式,本申请实施例不做过多列举。
进一步地,在所述生成二进制码流之后,所述方法还包括:
将所述标识信息写入所述二进制码流。
可以理解地,编码端在生成二进制码流后,将所述标识信息写入所述二 进制码流,进而解码端在获取到二进制码流后,能够基于对二进制码流进行解码而获取到所述标识信息,也就能够基于所述标识信息来获知编码端是否采用了上述点云属性信息编码方法来进行编码,进而解码端也就能够基于该标识信息来采取对应的解码方法,确保解码端能够顺畅解码,保障解码效率。
本申请实施例中,通过对熵编码后的编码值反量化,以获取K个待编码点的属性重建信息,或者对于进行了DCT变换的K个待编码点,通过对熵编码后的编码值依次进行反量化、DCT反变换,来获取K个待编码点的属性重建信息,基于得到的属性重建信息也就能够对待编码点云中的未编码点是否需要进行DCT变换进行判断,进而以将属性信息在空间域的分散分布转换为在变换域的集中分布,以达到去除空间冗余的目的,提高属性编码效率和重建性能的目的。
请参照图4,图4是本申请实施例提供的另一种点云属性编码方法的流程图。如图4所示,该方法的流程如下:首先对待编码点云排序,可以是基于莫顿码进行排序,也可以是基于希尔伯特码进行排序;对排序后的待编码点,判断待编码点是否为重复点,也即判断是否与已编码点重复,若是,则获取该重复点的属性预测信息,并基于属性预测信息进行量化;若待编码点不是重复点,则对待编码点进行属性信息预测,获取属性预测信息,基于待编码点的属性预测信息判断是否需要进行DCT变换,若是,则对待编码点进行K阶DCT变换,得到变换系数,并对变换系数进行量化;若不需要进行DCT变换,则直接对待编码点的属性残差信息进行量化;基于量化后的相关信息进行属性信息重建,得到属性重建信息,根据属性重建信息来判断后续的未编码点是否需要进行DCT变换;进一步地,判断是否遍历完未编码点云序列中所有的点,若是,则对量化后的相关信息进行熵编码,若否,则继续判断未编码点是否为重复点,直至完成未编码点云中所有点的量化和熵编码。需要说明的是,该实施例中涉及的相关概念及具体实现方式可以参照上述图3所示实施例中的描述,此处不再赘述。
请参照图5,图5是本申请实施例提供的一种点云属性信息解码方法的流程图,所述方法可以是应用于如手机、平板电脑、计算机等终端。如图5所示,所述方法包括以下步骤:
步骤501、获取第三信息;
步骤502、基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换;
步骤503、在确定对所述K个待解码点进行DCT反变换的情况下,对所述K个待解码点进行DCT反变换,得到所述K个待解码点的属性残差信息;
步骤504、基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码;
其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
可选地,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;这种情况下,所述步骤502包括:
获取所述K个待解码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,
在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待编码点进行DCT反变换。
可选地,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息;这种情况下,所述步骤502包括:
获取所述N个已解码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,
在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
可选地,所述第三信息包括K个待解码点,所述步骤501可以包括:
对所述待解码点云进行排序,获取排序后的所述待解码点云中的K个待 解码点。
可选地,所述对所述待解码点云进行排序,获取排序后的所述待解码点云中的K个待解码点,包括:
计算所述待解码点云中每个点对应的希尔伯特码,将所述待解码点云按照希尔伯特码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点;或者,
计算所述待解码点云中每个点对应的莫顿码,将所述待解码点云按照莫顿码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点。
可选地,所述步骤502之前,所述方法还包括:
按照双希尔伯特序或双莫顿序,获取与目标待解码点曼哈顿距离最近的S个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
基于所述S个邻居点确定所述目标待解码点的初始属性预测信息;
根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息。
可选地,所述按照双希尔伯特序或双莫顿序,获取与目标待解码点曼哈顿距离最近的S个邻居点,包括:
在给定的预设搜索范围中,按照希尔伯特1序,获取目标待解码点的前序M个点,以及按照希尔伯特2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;或者,
在所述给定的预设搜索范围中,按照莫顿1序,获取目标待解码点的前序M个点,以及按照莫顿2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;
其中,M、N1和N2均为正整数。
可选地,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围;
其中,二进制码流包括第一属性参数和第二属性参数,所述第一属性参 数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
可选地,所述基于所述S个邻居点确定所述目标待解码点的初始属性预测信息,包括:
基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述第三信息包括所述K个待解码点,所述步骤502之前,所述方法还包括:
以所述K个待解码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
获取所述K个待解码点中目标待解码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
基于L个邻居点确定所述目标待解码点的初始属性预测信息;
根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息;
其中,T、R和L均为正整数。
可选地,所述基于L个邻居点确定所述目标待解码点的初始属性预测信息,包括:
基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述K个待解码节点各自对应的所述第一权重的和为1。
可选地,所述对所述K个待解码点进行DCT反变换之前,所述方法还包括:
获取所述K个待解码点的变换系数;
对所述变换系数进行反量化,获得反量化后的变换系数;
所述对所述K个待解码点进行DCT反变换,包括:
基于所述反量化后的变换系数对所述K个待解码点进行DCT反变换。
可选地,所述变换系数包括高频系数和低频系数,所述对所述变换系数进行反量化,获得反量化后的变换系数,包括:
获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
根据所述高频系数及所述高频系数量化步长对所述高频系数进行反量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行反量化。
可选地,所述获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
根据所述K个待解码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
可选地,所述根据所述K个待解码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
在所述K个待解码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
在所述K个待解码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
可选地,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数 量化后的值为0。
可选地,所述方法还包括:
在确定对所述K个待解码点不进行DCT反变换的情况下,对所述K个待解码点的变换系数进行量化,以得到所述K个待解码点的属性残差信息。
可选地,在所述获取第三信息之前,所述方法还包括:
从二进制码流中获取标识信息,所述标识信息用于指示是否执行所述方法;
根据所述标识信息确定是否执行所述方法。
需要说明地,本实施例中提供的解码方法,与上述图3所述实施例中的编码方法相对应,本实施例中所涉及的相关概念及具体实现方式可以是参照上述图3所述编码方法中的描述,本实施例不再赘述。
本申请实施例提供的解码方法,在对待解码点云进行解码的过程中,需要根据待解码点的属性预测信息或者是已解码点的属性重建信息来决定是否对待解码点进行DCT变换,在确定需要对待解码点进行DCT变换时,则对待解码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和解码,从而去除属性冗余,达到提高属性解码效率和重建性能的目的。
需要说明的是,本申请实施例提供的点云属性信息编码方法,执行主体可以为点云属性信息编码装置,或者,该点云属性信息编码装置中的用于执行点云属性信息编码方法的控制模块。本申请实施例中以点云属性信息编码装置执行点云属性信息编码方法为例,说明本申请实施例提供的点云属性信息编码装置。
请参照图6,图6是本申请实施例提供的一种点云属性信息编码装置的结构图。如图6所示,点云属性信息编码装置600包括:
第一获取模块601,用于获取第一信息;
第一确定模块602,用于基于所述第一信息关联的第二信息确定是否对K个待编码点进行离散余弦变换DCT变换;
第一变换模块603,用于在确定对所述K个待编码点进行DCT变换的情况下,对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换 系数;
编码模块604,用于对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流;
其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的整数。
可选地,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;
所述第一确定模块602还用于:
获取所述K个待编码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待编码点进行DCT变换。
可选地,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息;
所述第一确定模块602还用于:
获取所述N个已编码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待编码点进行DCT变换。
可选地,所述第一信息包括所述K个待编码点,所述第一获取模块601还用于:
对所述待编码点云进行排序,获取排序后的所述待编码点云中的K个待编码点。
可选地,所述第一获取模块601还用于:
计算所述待编码点云中每个点对应的希尔伯特码,将所述待编码点云按 照希尔伯特码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点;或者,
计算所述待编码点云中每个点对应的莫顿码,将所述待编码点云按照莫顿码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点。
可选地,所述装置还包括属性信息预测模块,用于:
按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的S个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
基于所述S个邻居点确定所述目标待编码点的初始属性预测信息;
根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息。
可选地,所述属性信息预测模块,还用于:
在给定的预设搜索范围中,按照希尔伯特1序,获取目标待编码点的前序M个点,以及按照希尔伯特2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点;或者,
在所述给定的预设搜索范围中,按照莫顿1序,获取目标待编码点的前序M个点,以及按照莫顿2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点;
其中,M、N1和N2均为正整数。
可选地,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围或所述第二预设范围;
其中,所述二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
可选地,所述属性信息预测模块,还用于:
基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述第一信息包括所述K个待编码点,所述属性信息预测模块,还用于:
以所述K个待编码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
获取所述K个待编码点中目标待编码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
基于L个邻居点确定所述目标待编码点的初始属性预测信息;
根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息;
其中,T、R和L均为正整数。
可选地,所述属性信息预测模块,还用于:
基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述K个待编码节点各自对应的所述第一权重的和为1。
可选地,所述装置还包括第三获取模块,用于:
基于所述K个待编码点的属性预测信息,获取所述K个待编码点的属性残差信息;
所述第一变换模块603还用于:
对所述K个待编码点的属性残差信息进行DCT变换,得到所述K个待编码点对应的变换系数。
可选地,所述装置还包括属性重建模块,用于:
对所述基于量化后的变换系数进行反量化,对反量化后得到的反变换系数进行反变换,以获取所述K个待编码点的属性重建信息。
可选地,所述变换系数包括低频系数和高频系数,所述编码模块604还用于:
对所述K个待编码点对应的高频系数和低频系数进行量化,并对量化后的高频系数和低频系数分别进行熵编码,以得到第一编码值和第二编码值;
所述属性重建模块,还用于:
对所述第一编码值和所述第二编码值进行反量化,得到反量化后的反高频系数和反低频系数;
基于所述反高频系数和所述反低频系数进行DCT反变换,得到所述K个待编码点对应的反属性残差信息;
根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
可选地,所述编码模块604还用于:
获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
根据所述高频系数及所述高频系数量化步长对所述高频系数进行量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行量化。
可选地,所述编码模块604还用于:
根据所述K个待编码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
可选地,所述编码模块604还用于:
在所述K个待编码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
在所述K个待编码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步 长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
可选地,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数量化后的值为0。
可选地,所述编码模块604还用于:
在确定对所述K个待编码点不进行DCT变换的情况下,对所述K个待编码点的属性残差信息进行量化;
对所述K个待编码点量化后的属性残差信息进行熵编码,生成二进制码流。
可选地,所述装置还包括属性重建模块,用于:
对所述熵编码后得到的编码值进行反量化,得到所述K个待编码点反量化后的反属性残差信息;
根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
可选地,所述装置还包括:
第三确定模块,用于获取标识信息,所述标识信息用于指示所述装置是否执行点云属性信息编码;
根据所述标识信息确定所述装置是否执行所述点云属性信息编码;
写入模块,用于将所述标识信息写入所述二进制码流。
需要说明地,所述装置执行点云属性信息编码是指,所述装置基于上述各模块(如第一获取模块、第一确定模块等)执行上述相应操作,此处不再赘述。
本申请实施例中,点云属性信息编码装置在对待编码点云进行编码的过程中,需要根据待编码点的属性预测信息或者是已编码点的属性重建信息来决定是否对待编码点进行DCT变换,在确定需要对待编码点进行DCT变换时,则对待编码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和编码,从而去除属性冗余,达到提高属性编码效率和重建性能的目的。
本申请实施例中的点云属性信息编码装置可以是装置,具有操作系统的装置或电子设备,也可以是终端中的部件、集成电路、或芯片。该装置或电子设备可以是移动终端,也可以为非移动终端。示例性的,移动终端可以包括但不限于上述所列举的终端的类型,非移动终端可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例提供的点云属性信息编码装置能够实现图3或图4的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
请参照图7,图7是本申请实施例提供的一种点云属性信息解码装置的结构图。如图7所示,点云属性信息解码装置700包括:
第二获取模块701,用于获取第三信息;
第二确定模块702,用于基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换;
第二变换模块703,用于在确定对所述K个待解码点进行DCT反变换的情况下,对所述K个待解码点进行DCT反变换,得到所述K个待解码点的属性残差信息;
解码模块704,用于基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码;
其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
可选地,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;
所述第二确定模块702还用于:
获取所述K个待解码点对应的属性预测信息中的最大属性预测值与最小 属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,
在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
可选地,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息;
所述第二确定模块702还用于:
获取所述N个已解码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,
在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
可选地,所述第三信息包括K个待解码点,所述第二获取模块701还用于:
对所述待解码点云进行排序,获取排序后的所述待解码点云中的K个待解码点。
可选地,所述第二获取模块701还用于:
计算所述待解码点云中每个点对应的希尔伯特码,将所述待解码点云按照希尔伯特码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点;或者,
计算所述待解码点云中每个点对应的莫顿码,将所述待解码点云按照莫顿码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点。
可选地,所述装置还包括属性预测模块,用于:
按照双希尔伯特序或双莫顿序,获取与目标待解码点曼哈顿距离最近的S个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
基于所述S个邻居点确定所述目标待解码点的初始属性预测信息;
根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息。
可选地,所述属性预测模块,还用于:
在给定的预设搜索范围中,按照希尔伯特1序,获取目标待解码点的前序M个点,以及按照希尔伯特2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;或者,
在所述给定的预设搜索范围中,按照莫顿1序,获取目标待解码点的前序M个点,以及按照莫顿2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;
其中,M、N1和N2均为正整数。
可选地,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围;
其中,二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
可选地,所述属性预测模块,还用于:
基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述第三信息包括所述K个待解码点,所述属性预测模块还用于:
以所述K个待解码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
获取所述K个待解码点中目标待解码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
基于L个邻居点确定所述目标待解码点的初始属性预测信息;
根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息;
其中,T、R和L均为正整数。
可选地,所述属性预测模块,还用于:
基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述K个待解码节点各自对应的所述第一权重的和为1。
可选地,所述装置还包括反量化模块,用于:
获取所述K个待解码点的变换系数;
对所述变换系数进行反量化,获得反量化后的变换系数;
所述第二变换模块703还用于:
基于所述反量化后的变换系数对所述K个待解码点进行DCT反变换。
可选地,所述变换系数包括高频系数和低频系数,所述反量化模块,还用于:
获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
根据所述高频系数及所述高频系数量化步长对所述高频系数进行反量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行反量化。
可选地,所述反量化模块,还用于:
根据所述K个待解码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
可选地,所述反量化模块,还用于:
在所述K个待解码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化 步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
在所述K个待解码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
可选地,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数量化后的值为0。
可选地,所述装置还包括量化模块,用于:
在确定对所述K个待解码点不进行DCT反变换的情况下,对所述K个待解码点的变换系数进行量化,以得到所述K个待解码点的属性残差信息。
可选地,所述装置还包括第四确定模块,用于:
从二进制码流中获取标识信息,所述标识信息用于指示所述装置是否执行点云属性信息解码;
根据所述标识信息确定所述装置是否执行所述点云属性信息解码。
需要说明地,所述装置执行点云属性信息解码是指,所述装置基于上述各模块(如第二获取模块、第二确定模块等)执行相应操作,此处不再赘述。
本申请实施例提供的点云属性信息解码装置,在对待解码点云进行解码的过程中,需要根据待解码点的属性预测信息或者是已解码点的属性重建信息来决定是否对待解码点进行DCT变换,在确定需要对待解码点进行DCT变换时,则对待解码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和解码,从而去除属性冗余,达到提高属性解码效率和重建性能的目的。
本申请实施例中的点云属性信息解码装置可以是装置,具有操作系统的装置或电子设备,也可以是终端中的部件、集成电路、或芯片。该装置或电子设备可以是移动终端,也可以为非移动终端。示例性的,移动终端可以包括但不限于上述所列举的终端的类型,非移动终端可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer, PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例提供的点云属性信息解码装置能够实现图5方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
可选的,如图8所示,本申请实施例还提供一种通信设备800,包括处理器801,存储器802,存储在存储器802上并可在所述处理器801上运行的程序或指令,例如,该通信设备800为终端时,该程序或指令被处理器801执行时实现上述图3或图4所述方法实施例的各个过程,或者实现上述图5所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种终端,包括处理器和通信接口,处理器用于实现上述图3或图4所述方法实施例的各个过程,或者实现上述图5所述方法实施例的各个过程。该终端实施例是与上述终端侧方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该终端实施例中,且能达到相同的技术效果。具体地,图9为实现本申请实施例的一种终端的硬件结构示意图。
该终端900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、以及处理器910等中的至少部分部件。
本领域技术人员可以理解,终端900还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本申请实施例中,输入单元904可以包括图形处理器(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单 元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
本申请实施例中,射频单元901将来自网络侧设备的下行数据接收后,给处理器910处理;另外,将上行的数据发送给网络侧设备。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。
存储器909可用于存储软件程序或指令以及各种数据。存储器909可主要包括存储程序或指令区和存储数据区,其中,存储程序或指令区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器909可以包括高速随机存取存储器,还可以包括非易失性存储器,其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
处理器910可包括一个或多个处理单元;可选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序或指令等,调制解调处理器主要处理无线通信,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
在一种实施方式中,处理器910,用于:
获取第一信息;
基于所述第一信息关联的第二信息确定是否对K个待编码点进行离散余弦变换DCT变换;
在确定对所述K个待编码点进行DCT变换的情况下,对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数;
对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流;
其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的整数。
可选地,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;处理器910,还用于:
获取所述K个待编码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待编码点进行DCT变换。
可选地,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息;处理器910,还用于:
获取所述N个已编码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待编码点进行DCT变换。
可选地,所述第一信息包括所述K个待编码点,处理器910,还用于:
对所述待编码点云进行排序,获取排序后的所述待编码点云中的K个待编码点。
可选地,处理器910,还用于:
计算所述待编码点云中每个点对应的希尔伯特码,将所述待编码点云按照希尔伯特码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点;或者,
计算所述待编码点云中每个点对应的莫顿码,将所述待编码点云按照莫顿码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点。
可选地,处理器910,还用于:
按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的 S个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
基于所述S个邻居点确定所述目标待编码点的初始属性预测信息;
根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息。
可选地,处理器910,还用于:
在给定的预设搜索范围中,按照希尔伯特1序,获取目标待编码点的前序M个点,以及按照希尔伯特2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点;或者,
在所述给定的预设搜索范围中,按照莫顿1序,获取目标待编码点的前序M个点,以及按照莫顿2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点;
其中,M、N1和N2均为正整数。
可选地,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围或所述第二预设范围;
其中,所述二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
可选地,处理器910,还用于:
基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述第一信息包括所述K个待编码点,处理器910,还用于:
以所述K个待编码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
获取所述K个待编码点中目标待编码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
基于L个邻居点确定所述目标待编码点的初始属性预测信息;
根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息;
其中,T、R和L均为正整数。
可选地,处理器910,还用于:
基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述K个待编码节点各自对应的所述第一权重的和为1。
可选地,处理器910,还用于:
基于所述K个待编码点的属性预测信息,获取所述K个待编码点的属性残差信息;
所述对所述K个待编码点进行DCT变换,得到所述K个待编码点的变换系数,包括:
对所述K个待编码点的属性残差信息进行DCT变换,得到所述K个待编码点对应的变换系数。
可选地,处理器910,还用于:
对所述基于量化后的变换系数进行反量化,对反量化后得到的反变换系数进行反变换,以获取所述K个待编码点的属性重建信息。
可选地,处理器910,还用于:
对所述K个待编码点对应的高频系数和低频系数进行量化,并对量化后的高频系数和低频系数分别进行熵编码,以得到第一编码值和第二编码值;
所述对所述熵编码后得到的编码值进行反量化,对反量化后得到的反变 换系数进行反变换,以获取所述K个待编码点的属性重建信息,包括:
对所述第一编码值和所述第二编码值进行反量化,得到反量化后的反高频系数和反低频系数;
基于所述反高频系数和所述反低频系数进行DCT反变换,得到所述K个待编码点对应的反属性残差信息;
根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
可选地,处理器910,还用于:
获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
根据所述高频系数及所述高频系数量化步长对所述高频系数进行量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行量化。
可选地,处理器910,还用于:
根据所述K个待编码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
可选地,处理器910,还用于:
在所述K个待编码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
在所述K个待编码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
可选地,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数量化后的值为0。
可选地,处理器910,还用于:
在确定对所述K个待编码点不进行DCT变换的情况下,对所述K个待 编码点的属性残差信息进行量化;
对所述K个待编码点量化后的属性残差信息进行熵编码,生成二进制码流。
可选地,处理器910,还用于:
对所述熵编码后得到的编码值进行反量化,得到所述K个待编码点反量化后的反属性残差信息;
根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
可选地,处理器910,还用于:
获取标识信息,所述标识信息用于指示所述处理器910是否执行点云属性信息编码;
根据所述标识信息确定所述处理器910是否执行所述点云属性信息解码;
将所述标识信息写入所述二进制码流。
其中,处理器910执行点云属性信息编码是指,处理器910执行上述各步骤以实现点云属性信息编码,或者说实现如图3或图4所述的点云属性信息编码方法,具体实现方式此处不再赘述。
本实施方式中,终端900在对待编码点云进行编码的过程中,需要根据待编码点的属性预测信息或者是已编码点的属性重建信息来决定是否对待编码点进行DCT变换,在确定需要对待编码点进行DCT变换时,则对待编码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和编码,从而去除属性冗余,达到提高属性编码效率和重建性能的目的。
或者,在另一种实施方式中,处理器910,用于:
获取第三信息;
基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换;
在确定对所述K个待解码点进行DCT反变换的情况下,对所述K个待解码点进行DCT反变换,得到所述K个待解码点的属性残差信息;
基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个 待解码点的属性重建信息,以对待解码点云中的未解码点进行解码;
其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
可选地,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;处理器910,还用于:
获取所述K个待解码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,
在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
可选地,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息;处理器910,还用于:
获取所述N个已解码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,
在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
可选地,所述第三信息包括K个待解码点,处理器910,还用于:
对所述待解码点云进行排序,获取排序后的所述待解码点云中的K个待解码点。
可选地,处理器910,还用于:
计算所述待解码点云中每个点对应的希尔伯特码,将所述待解码点云按照希尔伯特码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点;或者,
计算所述待解码点云中每个点对应的莫顿码,将所述待解码点云按照莫顿码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点。
可选地,处理器910,还用于:
按照双希尔伯特序或双莫顿序,获取与目标待解码点曼哈顿距离最近的S个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
基于所述S个邻居点确定所述目标待解码点的初始属性预测信息;
根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息。
可选地,处理器910,还用于:
在给定的预设搜索范围中,按照希尔伯特1序,获取目标待解码点的前序M个点,以及按照希尔伯特2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;或者,
在所述给定的预设搜索范围中,按照莫顿1序,获取目标待解码点的前序M个点,以及按照莫顿2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;
其中,M、N1和N2均为正整数。
可选地,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围;
其中,二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
可选地,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
可选地,处理器910,还用于:
基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻 居点之间的曼哈顿距离的倒数。
可选地,处理器910,还用于:
以所述K个待解码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
获取所述K个待解码点中目标待解码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
基于L个邻居点确定所述目标待解码点的初始属性预测信息;
根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息;
其中,T、R和L均为正整数。
可选地,处理器910,还用于:
基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
可选地,所述K个待解码节点各自对应的所述第一权重的和为1。
可选地,处理器910,还用于:
获取所述K个待解码点的变换系数;
对所述变换系数进行反量化,获得反量化后的变换系数;
所述对所述K个待解码点进行DCT反变换,包括:
基于所述反量化后的变换系数对所述K个待解码点进行DCT反变换。
可选地,所述变换系数包括高频系数和低频系数,处理器910,还用于:
获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
根据所述高频系数及所述高频系数量化步长对所述高频系数进行反量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行反量化。
可选地,处理器910,还用于:
根据所述K个待解码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化 步长。
可选地,处理器910,还用于:
在所述K个待解码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
在所述K个待解码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
可选地,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数量化后的值为0。
可选地,处理器910,还用于:
在确定对所述K个待解码点不进行DCT反变换的情况下,对所述K个待解码点的变换系数进行量化,以得到所述K个待解码点的属性残差信息。
可选地,处理器910,还用于:
从二进制码流中获取标识信息,所述标识信息用于指示所述处理器910是否执行点云属性信息解码;
根据所述标识信息确定所述处理器910是否执行所述点云属性信息解码。
其中,处理器910执行点云属性信息解码是指,处理器910执行上述各步骤以实现点云属性信息解码,或者说实现如图5所述的点云属性信息解码方法,具体实现方式此处不再赘述
本实施方式中,终端900在对待解码点云进行解码的过程中,需要根据待解码点的属性预测信息或者是已解码点的属性重建信息来决定是否对待解码点进行DCT变换,在确定需要对待解码点进行DCT变换时,则对待解码点进行DCT变换,进而能够将属性信息在空间域的分散分布转换为在变换域的相对集中分布,使信号能量集中于少数几个系数中,更方便进行量化和解码,从而去除属性冗余,达到提高属性解码效率和重建性能的目的。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程 序或指令,该程序或指令被处理器执行时实现上述图3或图4所述方法实施例的各个过程,或者实现上述图5所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的终端中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图3或图4所述方法实施例的各个过程,或者实现上述图5所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序产品,所述计算机程序产品存储在非瞬态的存储介质中,所述计算机程序产品被至少一个处理器执行以实现上述图3或图4所述方法实施例的各个过程,或者实现上述图5所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种通信设备,被配置为执行如上述图3或图4所述方法实施例的各个过程,或者实现上述图5所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被 组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (52)

  1. 一种点云属性信息编码方法,包括:
    对K个待编码点进行离散余弦变换DCT变换,得到所述K个待编码点的变换系数;
    对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流。
  2. 根据权利要求1所述的方法,在对K个待编码点进行DCT变换之前,所述方法还包括:
    获取第一信息;
    基于所述第一信息关联的第二信息确定对K个待编码点进行DCT变换;
    其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;或者,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息,K为正整数,N为大于1的整数。
  3. 根据权利要求2所述的方法,其中,所述第一信息包括所述K个待编码点,所述第二信息包括所述K个待编码点的属性预测信息;
    所述基于所述第一信息关联的第二信息确定对K个待编码点进行DCT变换,包括:
    获取所述K个待编码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
    在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待编码点进行DCT变换。
  4. 根据权利要求2所述的方法,其中,所述第一信息包括所述K个待编码点的前N个已编码点,所述第二信息包括所述N个已编码点的属性重建信息;
    所述基于所述第一信息关联的第二信息确定对K个待编码点进行DCT变换,包括:
    获取所述N个已编码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待编码点进行DCT变换;或者,
    在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待编码点进行DCT变换。
  5. 根据权利要求1所述的方法,其中,所述方法还包括:
    对待编码点云进行排序,获取排序后的所述待编码点云中的K个待编码点。
  6. 根据权利要求5所述的方法,其中,所述对待编码点云进行排序,获取排序后的所述待编码点云中的K个待编码点,包括:
    计算所述待编码点云中每个点对应的希尔伯特码,将所述待编码点云按照希尔伯特码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点;或者,
    计算所述待编码点云中每个点对应的莫顿码,将所述待编码点云按照莫顿码进行排序,在排序后的所述待编码点云中按序依次选取K个待编码点。
  7. 根据权利要求2所述的方法,其中,所述基于所述第一信息关联的第二信息确定对K个待编码点进行DCT变换之前,所述方法还包括:
    按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的S个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
    基于所述S个邻居点确定所述目标待编码点的初始属性预测信息;
    根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息。
  8. 根据权利要求7所述的方法,其中,所述按照双希尔伯特序或双莫顿序,获取与目标待编码点曼哈顿距离最近的S个邻居点,包括:
    在给定的预设搜索范围中,按照希尔伯特1序,获取目标待编码点的前序M个点,以及按照希尔伯特2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点;或者,
    在所述给定的预设搜索范围中,按照莫顿1序,获取目标待编码点的前 序M个点,以及按照莫顿2序,获取所述目标待编码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待编码点曼哈顿距离最近的S个邻居点;
    其中,M、N1和N2均为正整数。
  9. 根据权利要求8所述的方法,其中,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围或所述第二预设范围;
    其中,所述二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
    在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
  10. 根据权利要求8所述的方法,其中,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
  11. 根据权利要求7所述的方法,其中,所述基于所述S个邻居点确定所述目标待编码点的初始属性预测信息,包括:
    基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
  12. 根据权利要求2所述的方法,其中,所述第一信息包括所述K个待编码点,所述基于所述第一信息关联的第二信息确定对K个待编码点进行DCT变换之前,所述方法还包括:
    以所述K个待编码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
    获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
    获取所述K个待编码点中目标待编码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待编码点为所述K个待编码点中的任一个;
    基于L个邻居点确定所述目标待编码点的初始属性预测信息;
    根据所述目标待编码点对应的第一权重及所述初始属性预测信息,确定所述目标待编码点的属性预测信息;
    其中,T、R和L均为正整数。
  13. 根据权利要求12所述的方法,其中,所述基于L个邻居点确定所述目标待编码点的初始属性预测信息,包括:
    基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待编码点的初始属性预测信息,所述第二权重为所述目标待编码点与所述邻居点之间的曼哈顿距离的倒数。
  14. 根据权利要求7-13任一项所述的方法,其中,所述K个待编码节点各自对应的所述第一权重的和为1。
  15. 根据权利要求1所述的方法,其中,在对K个待编码点进行DCT变换,得到所述K个待编码点的变换系数之前,所述方法还包括:
    基于所述K个待编码点的属性预测信息,获取所述K个待编码点的属性残差信息;
    所述对K个待编码点进行DCT变换,得到所述K个待编码点的变换系数,包括:
    对所述K个待编码点的属性残差信息进行DCT变换,得到所述K个待编码点对应的变换系数。
  16. 根据权利要求15所述的方法,其中,所述对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码之后,所述方法还包括:
    对所述基于量化后的变换系数进行反量化,对反量化后得到的反变换系数进行反变换,以获取所述K个待编码点的属性重建信息。
  17. 根据权利要求16所述的方法,其中,所述变换系数包括低频系数和高频系数,所述对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,包括:
    对所述K个待编码点对应的高频系数和低频系数进行量化,并对量化后的高频系数和低频系数分别进行熵编码,以得到第一编码值和第二编码值;
    所述对所述熵编码后得到的编码值进行反量化,对反量化后得到的反变 换系数进行反变换,以获取所述K个待编码点的属性重建信息,包括:
    对所述第一编码值和所述第二编码值进行反量化,得到反量化后的反高频系数和反低频系数;
    基于所述反高频系数和所述反低频系数进行DCT反变换,得到所述K个待编码点对应的反属性残差信息;
    根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
  18. 根据权利要求17所述的方法,其中,所述对所述K个待编码点对应的高频系数和低频系数进行量化,包括:
    获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
    根据所述高频系数及所述高频系数量化步长对所述高频系数进行量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行量化。
  19. 根据权利要求18所述的方法,其中,所述获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
    根据所述K个待编码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
  20. 根据权利要求19所述的方法,其中,所述根据所述K个待编码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
    在所述K个待编码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
    在所述K个待编码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
  21. 根据权利要求18所述的方法,其中,在所述高频系数小于第一预设 阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预设阈值的情况下,所述低频系数量化后的值为0。
  22. 根据权利要求15所述的方法,其中,所述方法还包括:
    在确定对所述K个待编码点不进行DCT变换的情况下,对所述K个待编码点的属性残差信息进行量化;
    对所述K个待编码点量化后的属性残差信息进行熵编码,生成二进制码流。
  23. 根据权利要求22所述的方法,其中,在对所述K个待编码点量化后的属性残差信息进行熵编码之后,所述方法还包括:
    对所述熵编码后得到的编码值进行反量化,得到所述K个待编码点反量化后的反属性残差信息;
    根据所述K个待编码点的所述属性预测信息及所述反属性残差信息,获取所述K个待编码点的属性重建信息。
  24. 根据权利要求2所述的方法,其中,在所述获取第一信息之前,所述方法还包括:
    获取标识信息,所述标识信息用于指示是否执行所述方法;
    根据所述标识信息确定是否执行所述方法;
    在所述生成二进制码流之后,所述方法还包括:
    将所述标识信息写入所述二进制码流。
  25. 一种点云属性信息解码方法,包括:
    对K个待解码点进行离散余弦变换DCT反变换,得到所述K个待解码点的属性残差信息;
    基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码。
  26. 根据权利要求24所述的方法,在对所述K个待解码点进行DCT反变换之前,所述方法还包括:
    获取第三信息;
    基于所述第三信息关联的第四信息确定对K个待解码点进行DCT反变换,其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K 个待解码点的属性预测信息;或者,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所述N个已解码点的属性重建信息,K为正整数,N为大于1的整数。
  27. 根据权利要求26所述的方法,其中,所述第三信息包括所述K个待解码点,所述第四信息包括所述K个待解码点的属性预测信息;
    所述基于所述第三信息关联的第四信息确定对K个待解码点进行DCT反变换,包括:
    获取所述K个待解码点对应的属性预测信息中的最大属性预测值与最小属性预测值,在所述最大属性预测值与所述最小属性预测值的绝对差值小于第一阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,在所述最大属性预测值与所述最小属性预测值的绝对比值小于第二阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
  28. 根据权利要求26所述的方法,其中,所述第三信息包括所述K个待解码点的前N个已解码点,所述第四信息包括所N个已解码点的属性重建信息;
    所述基于所述第三信息关联的第四信息确定对K个待解码点进行DCT反变换,包括:
    获取所述N个已解码点对应的属性重建信息中的最大属性重建值和最小属性重建值,在所述最大属性重建值与所述最小属性重建值的绝对差值小于第三阈值的情况下,则确定对所述K个待解码点进行DCT反变换;或者,在所述最大属性重建值与所述最小属性重建值的绝对比值小于第四阈值的情况下,则确定对所述K个待解码点进行DCT反变换。
  29. 根据权利要求25所述的方法,其中,所述方法还包括:
    对待解码点云进行排序,获取排序后的所述待解码点云中的K个待解码点。
  30. 根据权利要求29所述的方法,其中,所述对待解码点云进行排序,获取排序后的所述待解码点云中的K个待解码点,包括:
    计算所述待解码点云中每个点对应的希尔伯特码,将所述待解码点云按照希尔伯特码进行排序,在排序后的所述待解码点云中按序依次选取K个待 解码点;或者,
    计算所述待解码点云中每个点对应的莫顿码,将所述待解码点云按照莫顿码进行排序,在排序后的所述待解码点云中按序依次选取K个待解码点。
  31. 根据权利要求26所述的方法,其中,所述基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换之前,所述方法还包括:
    按照双希尔伯特序或双莫顿序,获取与目标待解码点曼哈顿距离最近的S个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
    基于所述S个邻居点确定所述目标待解码点的初始属性预测信息;
    根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息。
  32. 根据权利要求31所述的方法,其中,所述按照双希尔伯特序或双莫顿序,获取与目标待解码点曼哈顿距离最近的S个邻居点,包括:
    在给定的预设搜索范围中,按照希尔伯特1序,获取目标待解码点的前序M个点,以及按照希尔伯特2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;或者,
    在所述给定的预设搜索范围中,按照莫顿1序,获取目标待解码点的前序M个点,以及按照莫顿2序,获取所述目标待解码点的前序N1个点和后序N2个点,在基于M、N1及N2确定的目标范围内获取与目标待解码点曼哈顿距离最近的S个邻居点;
    其中,M、N1和N2均为正整数。
  33. 根据权利要求32所述的方法,其中,所述希尔伯特1序或莫顿1序的搜索范围为第一预设范围,所述希尔伯特2序或莫顿2序的前序搜索范围为第二预设范围,所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围;
    其中,二进制码流包括第一属性参数和第二属性参数,所述第一属性参数用于表征所述第一预设范围,所述第二属性参数用于表征所述第二预设范围;
    在所述希尔伯特2序或莫顿2序的后序搜索范围为第三预设范围的情况 下,所述二进制码流还包括第三属性参数,所述第三属性参数用于表征所述第三预设范围。
  34. 根据权利要求32所述的方法,其中,所述给定的预设搜索范围根据点云序列的初始点数和输入点云包围盒体积的相关关系决定。
  35. 根据权利要求31所述的方法,其中,所述基于所述S个邻居点确定所述目标待解码点的初始属性预测信息,包括:
    基于所述S个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
  36. 根据权利要求26所述的方法,其中,所述第三信息包括所述K个待解码点,所述基于所述第三信息关联的第四信息确定是否对K个待解码点进行DCT反变换之前,所述方法还包括:
    以所述K个待解码点中的第一个点作为参考点,获取所述参考点的T个邻居点;
    获取所述T个邻居点中与所述参考点曼哈顿距离最近的R个邻居点;
    获取所述K个待解码点中目标待解码点在所述R个邻居点中曼哈顿距离最近的L个邻居点,所述目标待解码点为所述K个待解码点中的任一个;
    基于L个邻居点确定所述目标待解码点的初始属性预测信息;
    根据所述目标待解码点对应的第一权重及所述初始属性预测信息,确定所述目标待解码点的属性预测信息;
    其中,T、R和L均为正整数。
  37. 根据权利要求36所述的方法,其中,所述基于L个邻居点确定所述目标待解码点的初始属性预测信息,包括:
    基于所述L个邻居点中每一个邻居点及对应的第二权重,确定所述目标待解码点的初始属性预测信息,所述第二权重为所述目标待解码点与所述邻居点之间的曼哈顿距离的倒数。
  38. 根据权利要求31-37任一项所述的方法,其中,所述K个待解码节点各自对应的所述第一权重的和为1。
  39. 根据权利要求25所述的方法,其中,所述对K个待解码点进行DCT 反变换之前,所述方法还包括:
    获取所述K个待解码点的变换系数;
    对所述变换系数进行反量化,获得反量化后的变换系数;
    所述对K个待解码点进行DCT反变换,包括:
    基于所述反量化后的变换系数对所述K个待解码点进行DCT反变换。
  40. 根据权利要求39所述的方法,其中,所述变换系数包括高频系数和低频系数,所述对所述变换系数进行反量化,获得反量化后的变换系数,包括:
    获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长;
    根据所述高频系数及所述高频系数量化步长对所述高频系数进行反量化,根据所述低频系数及所述低频系数量化步长对所述低频系数进行反量化。
  41. 根据权利要求40所述的方法,其中,所述获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
    根据所述K个待解码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长。
  42. 根据权利要求41所述的方法,其中,所述根据所述K个待解码点的属性信息对应的分量分布情况,获取所述高频系数对应的高频系数量化步长,以及获取所述低频系数对应的低频系数量化步长,包括:
    在所述K个待解码点的属性信息对应的分量分布平坦的情况下,所述高频变换系数的量化步长为原始量化步长、预设量化步长偏移和高频系数量化步长偏移之和,所述低频变换系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和;
    在所述K个待解码点的属性信息对应的分量分布不平坦的情况下,所述高频系数的量化步长为原始量化步长、预设量化步长偏移和低频系数量化步长偏移之和,所述低频系数的量化步长与所述高频系数的量化步长相等。
  43. 根据权利要求40所述的方法,其中,在所述高频系数小于第一预设阈值的情况下,所述高频系数量化后的值为0,在所述低频系数小于第二预 设阈值的情况下,所述低频系数量化后的值为0。
  44. 根据权利要求39所述的方法,其中,所述方法还包括:
    在确定对所述K个待解码点不进行DCT反变换的情况下,对所述K个待解码点的变换系数进行量化,以得到所述K个待解码点的属性残差信息。
  45. 根据权利要求26所述的方法,其中,在所述获取第三信息之前,所述方法还包括:
    从二进制码流中获取标识信息,所述标识信息用于指示是否执行所述方法;
    根据所述标识信息确定是否执行所述方法。
  46. 一种点云属性信息编码装置,包括:
    第一变换模块,用于对K个待编码点进行离散余弦变换DCT变换,得到所述K个待编码点的变换系数;
    编码模块,用于对所述K个待编码点的变换系数进行量化,基于量化后的变换系数进行熵编码,生成二进制码流。
  47. 一种点云属性信息解码装置,包括:
    第二变换模块,用于对K个待解码点进行离散余弦变换DCT反变换,得到所述K个待解码点的属性残差信息;
    解码模块,用于基于所述K个待解码点的属性残差信息和属性预测信息,获取所述K个待解码点的属性重建信息,以对待解码点云中的未解码点进行解码。
  48. 一种终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,其中,所述程序或指令被所述处理器执行时实现如权利要求1-24中任一项所述的点云属性信息编码方法的步骤,或者实现如权利要求25-45中任一项所述的点云属性信息解码方法的步骤。
  49. 一种可读存储介质,所述可读存储介质上存储程序或指令,其中,所述程序或指令被处理器执行时实现如权利要求1-24中任一项所述的点云属性信息编码方法的步骤,或者实现如权利要求25-45中任一项所述的点云属性信息解码方法的步骤。
  50. 一种芯片,包括处理器和通信接口,其中,所述通信接口和所述处 理器耦合,所述处理器用于运行程序或指令,实现如权利要求1-24中任一项所述的点云属性信息编码方法的步骤,或者实现如权利要求25-45中任一项所述的点云属性信息解码方法的步骤。
  51. 一种计算机程序产品,其中,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被至少一个处理器执行时实现如权利要求1-24中任一项所述的点云属性信息编码方法的步骤,或者实现如权利要求25-45中任一项所述的点云属性信息解码方法的步骤。
  52. 一种通信设备,被配置为执行如权利要求1-24中任一项所述的点云属性信息编码方法的步骤,或者如权利要求25-45中任一项所述的点云属性信息解码方法的步骤。
PCT/CN2022/098193 2021-06-11 2022-06-10 点云属性信息编码方法、解码方法、装置及相关设备 WO2022258055A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP22819652.3A EP4354872A4 (en) 2021-06-11 2022-06-10 METHOD AND APPARATUS FOR ENCODING AND DECODING POINT CLOUD ATTRIBUTE INFORMATION, AND RELATED DEVICE
KR1020237042781A KR20240006667A (ko) 2021-06-11 2022-06-10 점군 속성 정보 부호화 방법, 복호화 방법, 장치 및 관련 기기
JP2023573432A JP2024520542A (ja) 2021-06-11 2022-06-10 点群属性情報コーディング方法、デコーディング方法、装置及び関連機器
US18/530,090 US20240121439A1 (en) 2021-06-11 2023-12-05 Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202110654116 2021-06-11
CN202110654116.7 2021-06-11
CN202110817311.7A CN115474046A (zh) 2021-06-11 2021-07-20 点云属性信息编码方法、解码方法、装置及相关设备
CN202110817311.7 2021-07-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/530,090 Continuation US20240121439A1 (en) 2021-06-11 2023-12-05 Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device

Publications (1)

Publication Number Publication Date
WO2022258055A1 true WO2022258055A1 (zh) 2022-12-15

Family

ID=84365178

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/098193 WO2022258055A1 (zh) 2021-06-11 2022-06-10 点云属性信息编码方法、解码方法、装置及相关设备

Country Status (6)

Country Link
US (1) US20240121439A1 (zh)
EP (1) EP4354872A4 (zh)
JP (1) JP2024520542A (zh)
KR (1) KR20240006667A (zh)
CN (1) CN115474046A (zh)
WO (1) WO2022258055A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118433395B (zh) * 2024-07-02 2024-09-03 北京数原数字化城市研究中心 一种编码方法、装置及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180053324A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
US20190007682A1 (en) * 2017-07-03 2019-01-03 Panasonic Intellectual Property Corporation Of America Coding method, decoding method, encoder, and decoder
US20190200046A1 (en) * 2019-03-04 2019-06-27 Intel Corporation Volumetric video compression with motion history
US20190208200A1 (en) * 2016-09-30 2019-07-04 Interdigital Vc Holdings, Inc. Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
EP3699867A1 (en) * 2019-02-19 2020-08-26 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统
CN112335242A (zh) * 2018-06-25 2021-02-05 韩国电子通信研究院 用于使用量化参数对图像进行编码/解码的方法和设备以及存储比特流的记录介质
CN112449754A (zh) * 2019-07-04 2021-03-05 深圳市大疆创新科技有限公司 一种数据编码、数据解码方法、设备及存储介质
WO2021062771A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 颜色分量预测方法、编码器、解码器及计算机存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632607B (zh) * 2018-05-09 2019-06-21 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
US11010931B2 (en) * 2018-10-02 2021-05-18 Tencent America LLC Method and apparatus for video coding
US11122102B2 (en) * 2019-07-03 2021-09-14 Lg Electronics Inc. Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus and point cloud data reception method
US11895307B2 (en) * 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
CN112565757B (zh) * 2020-12-03 2022-05-13 西安电子科技大学 基于通道差异化的点云属性编码及解码方法、装置及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180053324A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
US20190208200A1 (en) * 2016-09-30 2019-07-04 Interdigital Vc Holdings, Inc. Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
US20190007682A1 (en) * 2017-07-03 2019-01-03 Panasonic Intellectual Property Corporation Of America Coding method, decoding method, encoder, and decoder
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN112335242A (zh) * 2018-06-25 2021-02-05 韩国电子通信研究院 用于使用量化参数对图像进行编码/解码的方法和设备以及存储比特流的记录介质
EP3699867A1 (en) * 2019-02-19 2020-08-26 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US20190200046A1 (en) * 2019-03-04 2019-06-27 Intel Corporation Volumetric video compression with motion history
CN112449754A (zh) * 2019-07-04 2021-03-05 深圳市大疆创新科技有限公司 一种数据编码、数据解码方法、设备及存储介质
WO2021062771A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 颜色分量预测方法、编码器、解码器及计算机存储介质
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统

Also Published As

Publication number Publication date
EP4354872A4 (en) 2024-10-23
JP2024520542A (ja) 2024-05-24
CN115474046A (zh) 2022-12-13
KR20240006667A (ko) 2024-01-15
EP4354872A1 (en) 2024-04-17
US20240121439A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
WO2022257970A1 (zh) 点云的几何信息编码处理方法、解码处理方法及相关设备
WO2022257971A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2022257969A1 (zh) 点云编码处理方法、解码处理方法及相关设备
WO2022258009A1 (zh) 熵编码、解码方法及装置
US20240121439A1 (en) Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device
WO2022257968A1 (zh) 点云编码方法、点云解码方法及终端
CN116567246A (zh) Avc编码方法和装置
WO2023025024A1 (zh) 点云属性编码方法、点云属性解码方法及终端
WO2023098803A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2022258010A1 (zh) 点云编码处理方法、解码处理方法及装置
WO2023098814A1 (zh) 属性量化、反量化方法、装置及设备
WO2023098820A1 (zh) 点云编码、解码方法、装置及通信设备
WO2022257978A1 (zh) 点云编码方法、解码方法及装置
WO2023155779A1 (zh) 编码方法、解码方法、装置及通信设备
WO2022257972A1 (zh) 编码、解码控制方法及装置
WO2023098802A1 (zh) 点云属性编码方法、点云属性解码方法及终端
WO2024217303A1 (zh) 变换系数编码方法、变换系数解码方法及终端
WO2023098807A1 (zh) 点云编、解码处理方法、装置、编码设备及解码设备
WO2024217301A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2024149182A1 (zh) 变换系数编码方法、变换系数解码方法及终端
WO2024188138A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
CN115883832A (zh) 基于人工智能的视频编码处理方法、装置、设备及介质
CN118175334A (zh) 属性变换编码方法、属性变换解码方法及终端
CN118575200A (zh) 用于网格压缩的自适应几何滤波
CN115474041A (zh) 点云属性的预测方法、装置及相关设备

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: 22819652

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023573432

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20237042781

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020237042781

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 202327086833

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2022819652

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022819652

Country of ref document: EP

Effective date: 20240111