US20220130074A1 - Method, device, and storage medium for data encoding/decoding - Google Patents

Method, device, and storage medium for data encoding/decoding Download PDF

Info

Publication number
US20220130074A1
US20220130074A1 US17/571,238 US202217571238A US2022130074A1 US 20220130074 A1 US20220130074 A1 US 20220130074A1 US 202217571238 A US202217571238 A US 202217571238A US 2022130074 A1 US2022130074 A1 US 2022130074A1
Authority
US
United States
Prior art keywords
point cloud
value
point
attribute values
residuals
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
US17/571,238
Inventor
Xiaozhen ZHENG
Pu Li
Jiafeng CHEN
Wenyi Wang
Lu Yu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
SZ DJI Technology Co Ltd
Original Assignee
Zhejiang University ZJU
SZ DJI Technology Co Ltd
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 Zhejiang University ZJU, SZ DJI Technology Co Ltd filed Critical Zhejiang University ZJU
Assigned to ZHEJIANG UNIVERSITY, SZ DJI Technology Co., Ltd. reassignment ZHEJIANG UNIVERSITY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LI, PU, ZHENG, XIAOZHEN, WANG, WENYI, YU, LU, CHEN, JIAFENG
Publication of US20220130074A1 publication Critical patent/US20220130074A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Definitions

  • the present disclosure relates to the field of data encoding/decoding and, more particularly, to a method, a device, and a storage medium for data encoding/decoding.
  • Point cloud data can be obtained by collection using lidars or laser scanners.
  • Point cloud data is a form of expression of a three-dimensional object or a three-dimensional scene, and includes a set of discrete points that are randomly distributed in space.
  • the set of discrete points expresses the spatial structure and surface properties of the three-dimensional object or the three-dimensional scene. To accurately reflect the information in the space, the number of discrete points required is huge.
  • Data of a point cloud may include three-dimensional coordinates (x, y, z) describing coordinate information, and attribute information of the position such as reflectivity or color (R, G, B).
  • a process for encoding the point cloud data include position encoding and attribute encoding of the point cloud data. The attribute encoding of the point cloud data needs to be improved.
  • a data encoding method including determining a value of a syntax element of point cloud data of a point cloud.
  • the point cloud data includes attribute values of the point cloud and the syntax element indicates a search range of the attribute values during prediction encoding.
  • the method further includes performing prediction processing on the attribute values according to the search range to obtain residuals of the attribute values, and encoding the residuals and a difference between the value of the syntax element and a constant value to generate code stream data.
  • the constant value is a positive number.
  • a data decoding method including decoding a value of a syntax element of point cloud data of a point cloud from code stream data.
  • the point cloud data includes attribute values of the point cloud, and the syntax element indicates a search range of the attribute values during prediction decoding.
  • the method further includes determining the search range of the attribute values during prediction encoding according to a sum of the value of the syntax element and a constant value that is a positive number, obtaining residuals of the attribute values from the code stream data by decoding, and performing compensation processing on the residuals according to the search range.
  • a data encoding device including a memory and a processor.
  • the memory stores a programs.
  • the processor is configured to execute the program to determine a value of a syntax element of point cloud data of a point cloud.
  • the point cloud data includes attribute values of the point cloud and the syntax element indicating a search range of the attribute values during prediction encoding.
  • the processor is further configured to execute the program to perform prediction processing on the attribute values according to the search range to obtain residuals of the attribute values, and encode the residuals and a difference between the value of the syntax element and a constant value to generate code stream data.
  • the constant value is a positive number.
  • FIG. 1 is a schematic flow chart of a data encoding process consistent with the present disclosure.
  • FIG. 2 is a schematic flow chart of a data decoding process consistent with the present disclosure.
  • FIG. 3 is a schematic flow chart of a data encoding method consistent with the present disclosure.
  • FIG. 4 is a schematic flow chart of a data decoding method consistent with the present disclosure.
  • FIG. 5 is a schematic block diagram of a data encoding device consistent with the present disclosure.
  • FIG. 6 is a schematic block diagram of a data decoding device consistent with the present disclosure.
  • An attribute encoding process has high complexity.
  • the present disclosure provides a data encoding method for encoding attribute values of point cloud data and a corresponding decoding method.
  • FIG. 1 is a schematic flow chart of a data encoding process provided by various embodiments of the present disclosure.
  • the point cloud data is input in 11 , and the position coordinates of the input point cloud data are quantized in 12 .
  • duplicated coordinates in the position coordinates quantized in 12 are removed in 121 .
  • Position encoding 13 is performed on the processed position coordinates and the results are transmitted to an arithmetic encoding engine for arithmetic encoding 16 .
  • attribute conversion 15 is performed to merge attribute values corresponding to merged position coordinates; while if the duplicated coordinates are not removed in 121 , attribute conversion is not performed. Then, attribute encoding 16 is sequentially performed on the attribute values according to the order of the position coordinates after the position encoding 13 .
  • a prediction encoding scheme based on sorting code is a method for encoding the attribute values of the point cloud data.
  • the sorting code corresponding to each position coordinate may be calculated according to the position coordinates of the point cloud data.
  • point cloud points in the point cloud data may be sorted according to the magnitude relationship of the sorting codes, and prediction encoding may be performed on the attribute values of the sorted point cloud data to obtain the residual of the attribute value of each point cloud point in the point cloud data.
  • the positions of the point cloud points that are ranked close in the three-dimensional space may be also relatively close.
  • a sorting code refers to a method of sorting three-dimensional space points according to a certain rule, which may be Morton code, Euclidean distance (distance-based ordering), and so on.
  • identifier 1 when encoding the residuals, for the current point cloud point, identifier 1 may be first encoded. Identifier 1 may be used to indicate whether there are multiple consecutive zeros in the residuals of the attribute values of the point cloud, and a number of the consecutive 0's. For example, when the number of point cloud points consecutively having a residual of 0 is greater than or equal to 1 (that is, when there are one or more consecutive point cloud points having a residual of 0), the value of identifier 1 may be set to the number of consecutive 0's; and when 0 does not appear, the value of identifier 1 may be set to 0.
  • identifier 2 When identifier 1 is used to indicate that there is no point cloud point with a residual of 0 currently, identifier 2 may be encoded, and identifier 2 may be used to indicate whether the value of the residual of the current point cloud point minus 1 is 0. For example, when the value of the residual minus 1 is 0, the value of identifier 2 may be set to 1. When the value of the residual of the current point cloud point minus 1 is not 0, the specific value of the residual may be encoded; or, when the value of the residual of the current point cloud point minus 1 is not 0, identifier 3 may then be encoded.
  • Identifier 3 may be used to indicate whether the value of the residual of the current point cloud point minus 2 is 0, and when the value of the residual of the current point cloud point minus 2 is not 0, the specific value of the residual may then be encoded. For example, when the value of the residual of the current point cloud point minus 2 is 0, the value of identifier 3 may be set to 1; when the value of the residual of the current point cloud point minus 2 is not 0, the value of identifier 3 may be set to 0, and the specific value of the residual may then be encoded.
  • identifier 3 indicates that the residual of the current point cloud point is not 2
  • identifier 4 may then be encoded to indicate whether the value of the residual of the current point cloud point minus 3 is 0.
  • the prediction encoding may be performed on the attribute values of the sorted point cloud, and the residual of the attribute value of each point cloud point in the obtained point cloud may be positive or negative.
  • the residual of the attribute value of each point cloud point in the obtained point cloud is a signed number
  • the residual of the attribute value of the point cloud point may be sign converted according to a preset rule, that is, may be converted from a signed number to an unsigned number. For example, assuming that the residual of the attribute value of the point cloud point is ⁇ 1, the residual ⁇ 1 of the attribute value of the point cloud point may be converted to 1 according to the preset rule ⁇ 1 ⁇ (2*( ⁇ 1)).
  • the residual of the attribute value of the point cloud point may be converted to 2 according to the preset rule 2*1.
  • sign conversion may not be performed on the residuals of the attribute values of the point cloud, which is not specifically limited here.
  • a corresponding search range may be determined in the sorted point cloud according to a value of a syntax element lifting_search_range, and a reference point cloud point of the current point cloud point may be determined from the point cloud points in the search range. According to the attribute value of the reference point cloud point and the attribute value of the current point cloud point, the residual of the current point cloud point may be determined.
  • the residual of each point cloud point and the value of the syntax element lifting_search_range may be written into the code stream.
  • the value of lifting_search_range may be fixed to a value not less than a constant value.
  • the constant value may be a positive number, for example, it may be 1.
  • the constant value may be subtracted from the value of lifting_search_range, and the obtained difference may be written into the code stream.
  • the number of bits consumed by lifting_search_range may be reduced.
  • the value of lifting_search_range may be fixed to a value not less than the constant value, and the scheme where lifting_search_range has a value of 0 may be removed from the encoding scheme. Unlike the scheme where the value of lifting_search_range is greater than 0, in the scheme where the value of lifting_search_range is 0, there may be no need to fetch the residual of each point cloud point in the point cloud data, but the attribute value of the point cloud point itself may be binarized directly. Therefore, by eliminating the scheme where the value of lifting_search_range is 0, the encoding complexity may be reduced.
  • One embodiment of the present disclosure also provides a data decoding method corresponding to the above encoding method.
  • arithmetic decoding 22 is performed on an input code stream to be decoded 21 , to decode the code stream related to the position information.
  • position decoding 23 and inverse quantization 24 reconstructed position coordinates may be obtained.
  • attribute values of the point cloud may be decoded and obtained by attribute decoding 25 according to an order of the position coordinates obtained by position decoding 23 .
  • the prediction decoding scheme based on the sorting code may be a method of attribute decoding of the point cloud data.
  • the value of the syntax element lifting_search_range of the point cloud data and the residual of the attribute value of each point cloud point may be decoded from the code stream data.
  • the sorting code corresponding to each position coordinate may be calculated first according to the position coordinates of the point cloud data. After the sorting code corresponding to each position coordinate is obtained, the point cloud points in the point cloud may be sorted according to the magnitude relationship of the sorting codes. After decoding the code stream data, the residual of the attribute value of each point cloud point in the point cloud may be corresponding to the sorted point cloud points.
  • whether the residual of the attribute value of the current point cloud point is 0 and a number of the point cloud points that consecutively have a residual of 0 may be determined according to the value of identifier 1 in the code stream data. For example, when it is decoded that the value of identifier 1 is not 0, it is determined according to the specific value of identifier 1 that the number of point cloud points consecutively having a residual of 0 in the sorted point cloud from the current point cloud point.
  • the value of identifier 1 when the value of identifier 1 is decoded to be 0, it may be determined that the residual of the attribute value of the current point cloud point is not 0, and the specific value of the residual is continued to be decoded. Or, when it is determined that the residual of the attribute value of the current point cloud point is not 0, the value of identifier 2 may be continuously decoded from the code stream, and it may be determined whether the residual of the attribute value of the current point cloud point is 1 according to the value of identifier 2. For example, when the value of identifier 2 is decoded to be 1, it may be determined that the residual of the attribute value of the current point cloud point is 1.
  • the value of identifier 2 When the value of identifier 2 is decoded to be 0, it may be determined that the residual of the attribute value of the current point cloud point is not 1, and the specific value of the residual of the attribute value of the current point cloud point attribute may be continuously decoded or the value of identifier 3 may be continuously decoded from the code stream to determine whether the residual of the attribute of the current point cloud point is 2 according to the value of identifier 3.
  • the decoded value of identifier 3 When the decoded value of identifier 3 is 1, it may be determined that the residual of the attribute value of the current point cloud point is 2.
  • the decoded value of identifier 3 When the decoded value of identifier 3 is 0, it may be determined that the residual of the attribute value of the current point cloud point is not 2, and then the specific value of the residual of the attribute value of the current point cloud point attribute may be continuously decoded.
  • compensation processing may be performed on the residuals according to the value of the syntax element lifting_search_range, to determine the attribute value of each point cloud point in the sorted point cloud. Specifically, after the value of lifting_search_range is decoded from the code stream data, the sum of the value of lifting_search_range and a constant value may be used as the actual search range to perform compensation processing on the residual.
  • FIG. 3 is a flow chart of a data encoding method provided by one embodiment of the present disclosure.
  • the method may be applied to a data encoding device.
  • the data encoding device may be provided at a smart terminal (such as a mobile phone, a tablet computer, etc.).
  • the method may also be applied to an aircraft (such as an unmanned aerial vehicle).
  • the method may also be applied to other movable platforms (such as unmanned ships, unmanned automobiles, robots, etc.).
  • the present disclosure has no limit on this.
  • the method includes S 310 and S 302 .
  • a value of a syntax element of point cloud data is determined.
  • the point cloud data may include attribute values of the point cloud, and the syntax element may be used to indicate a search range of the attribute values of the point cloud during prediction encoding.
  • the point cloud data may include the attribute values of the point cloud, and the syntax element may be used to indicate the search range of the attribute value of the point cloud during prediction encoding.
  • the syntax element may be the syntax element lifting_search_range mentioned above.
  • the algorithm for determining the value of the syntax element used to indicate the search range may use an algorithm in an existing calculation, which will not be repeated here.
  • the point cloud data may be obtained through one or more collection devices.
  • the collection devices may include, but are not limited to, imaging devices, lidars, laser scanners, or other equipment.
  • a lidar may be a perceptual sensor capable of obtaining three-dimensional information of a scene.
  • a basic principle of the lidar may include: actively emitting laser pulse signals to an object to be detected and obtaining reflected pulse signals. According to the time difference between the transmitted signals and the received signals, depth information of the distance between the object to be detected and the sensor may be calculated. Based on the known transmitting direction of the lidar, angle information of the object to be detected relative to the lidar may be obtained. By combining the aforementioned depth information and angle information, a large number of detection points (called point cloud data) may be obtained.
  • the reflectivity of each point to be detected may also be obtained or color information of each point to be detected may be obtained in combination with other sensors.
  • the position information of each point cloud point may be the position information of each point cloud point in a three-dimensional space, and may include the aforementioned depth information and angle information.
  • the attribute value of each point cloud point may include the reflectivity and/or color information of each point cloud point.
  • prediction processing is performed on the attribute values of the point cloud according to the search range, to obtain residuals of the attribute values of the point cloud.
  • the residuals of the attribute values of the point cloud, and a difference between the value of the syntax element and a constant value, are encoded, to generate code stream data.
  • the constant value may be a positive number.
  • the data encoding device may perform prediction processing on the attribute values of the point cloud to obtain the residuals of the attribute values of the point cloud, and encode the residuals of the attribute values of the point cloud to obtain the code stream data.
  • the code stream data may include identification information, and the identification information may be used to indicate that the residual of the attribute value of at least one point cloud point is zero.
  • the identification information may include at least one of identifier 1, identifier 2, or identifier 3 mentioned above.
  • the difference obtained after subtracting the constant value from the value of the syntax element may be written into the code stream instead of the syntax element.
  • the constant value may be 1.
  • the data encoding device may calculate the sorting code corresponding to the position coordinates of the point cloud points in the point cloud, and then sort the point cloud points in the point cloud according to the sorting code of the point cloud points.
  • the prediction processing may be performed on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range.
  • the data encoding device when the data encoding device performs prediction processing on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range, it may determine a reference point cloud point of the current point cloud point, where an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud may be not greater than the search range. According to the attribute value of the reference point cloud point and the attribute value of the current point cloud, the residual of the attribute value of the current point cloud point may be calculated.
  • the data encoding device may determine the residual of the attribute value of the current point cloud point according to the attribute value of the reference point cloud point and the attribute value of the current point cloud point.
  • the difference between the attribute value of the reference point cloud point and the attribute value of the current point cloud point may be determined as the residual of the attribute value of the current point cloud point.
  • the data encoding device when the data encoding device performs the prediction processing on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range, it may determine three reference point cloud points that are adjacent to the current point cloud point and before the current point cloud point. The order difference between the three reference point cloud points and the current point cloud point may be not greater than the search range 3 in the sorted point cloud. After determining the three reference point cloud points of the current point cloud point, the data encoding device may calculate the residual of the attribute value of the current point cloud point according to the difference between the attribute values of the three reference point cloud points and the attribute value of the current point cloud point.
  • the identification information may include a first identifier, and the first identifier may be used to indicate the number of point cloud points consecutively having a residual of attribute value of 0. For example, assuming that the first identifier has a value of 5, it may be determined that there are 5 point cloud points consecutively having a residual of attribute value of 0. In one embodiment, the first identifier may be identifier 1 mentioned above.
  • the identification information may include a second identifier, and the second identifier may be used to indicate whether the residual of the attribute value of the current point cloud point is n, where n is a positive integer. In some embodiments, n may be 1 or 2. In some embodiments, the second identifier may be specifically used to indicate whether the difference between the residual of the attribute value of the current point cloud point and n is zero. For example, the second identifier may include identifier 2 and/or identifier 3 mentioned above. In an example, the identification information may include a first identifier and a second identifier.
  • the data encoding device may also perform sign conversion on the residuals of the attribute values of the point cloud before encoding the residuals of the attribute values of the point cloud to obtain bitstream data. Then, the point cloud may be encoded to obtain the code stream data according to the residuals of the attribute values of the point cloud after sign conversion.
  • solutions with the search range less than or equal to the constant value may be removed, including the solution of removing the direct binary encoding of the attribute values of the point cloud itself.
  • the difference value after subtracting the constant value from the value of the syntax element may be written into the code stream.
  • FIG. 4 is a flow chart of a data decoding method provided by an embodiment of the present disclosure.
  • the data decoding method may be applied to a data decoding device.
  • the data decoding device may be provided at a smart terminal (such as a mobile phone, a tablet computer, etc.). As shown in FIG. 4 , the method includes S 401 to S 404 .
  • the value of the syntax element of the point cloud data is decoded from the code stream data.
  • the point cloud data includes the attribute values of the point cloud, and the syntax element is used to indicate the search range of the attribute values of the point cloud when the prediction processing is performed.
  • the data decoding device may decode the value of the syntax element of the point cloud data from the code stream data.
  • the point cloud data may include the attribute values of the point cloud, and the syntax element may be used to indicate the value of the search range of the attribute values during prediction decoding.
  • the syntax element may be the aforementioned lifting_search_range.
  • the syntax element may also include other expression forms, which are not specifically limited here.
  • the search range of the attribute values of the point cloud during the prediction encoding is determined according to the sum of the value of the syntax element and the constant value.
  • the value of the syntax element After the value of the syntax element is decoded from the code stream data, the value may be added to the constant value, and the sum obtained may be used as the value of the actual search range.
  • the constant value may be a positive number.
  • the constant value may be 1.
  • the value of the syntax element may be configured to a constant value not less than the constant value.
  • the residuals of the attribute values of the point cloud are obtained by decoding the code stream data.
  • the code stream data may include identification information, and the identification information may be used to indicate that the residual of the attribute value of at least one point cloud point is zero.
  • the identification information may include a first identification and/or a second identification. For the explanation of the first identification and the second identification, please see the above description.
  • the sorting code corresponding to the position coordinates of the point cloud points in the point cloud may be calculated, and the point cloud points in the point cloud may be sorted according to the sorting code of the point cloud points in the point cloud.
  • the compensation processing may be performed on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range.
  • a reference point cloud point of the current point cloud point may be determined according to the search range, where an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud may be not greater than the search range. According to the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point, the attribute value of the current point cloud point may be determined.
  • the attribute value of the current point cloud point when the data decoding device determines the attribute value of the current point cloud point according to the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point, the attribute value of the current point cloud point may be determined according to the difference between the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point.
  • the point cloud points in the point cloud include D1, D2, D3, D4, D5, D6, and the order of the point cloud points is D2, D4, D5, D1, D6, D3, when the current point cloud point is D2, the data decoding device may determine that the reference point cloud point of the current point cloud point D2 to be D5 from D2, D4, and D5 before the current point cloud point D2, according to the search range of 3.
  • the order difference between the reference point cloud points D2, D4, D5 and the current point cloud point D2 in the sorted point cloud may be not greater than the search range 3.
  • the data decoding device may determine the attribute value of the current point cloud point D2 according to the difference between the attribute value of the reference point cloud point D5 and the residual of the attribute value of the current point cloud point D2.
  • the data decoding device may further perform sign conversion on the residuals of the attribute values of the point cloud.
  • the specific implementation and examples of the sign conversion of the residuals of the attribute values of the point cloud may be similar to the description above, and will not be repeated here.
  • the data decoding device after the data decoding device performs sign conversion on the residuals of the attribute values of the point cloud, it may perform compensation processing on the residuals of the attribute values of the point cloud according to the residuals of the attribute values after sign conversion.
  • the present disclosure also provides a data encoding device.
  • the data encoding device includes a memory 501 , a processor 502 , and a data interface 503 .
  • the memory 501 may include a volatile memory.
  • the memory 501 may also include a non-volatile memory.
  • the memory 501 may also include a combination of a volatile memory or a non-volatile memory.
  • the processor 502 may be a central processing unit (CPU).
  • the processor 502 may further include a hardware data encoding device.
  • the hardware data encoding device may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. For example, it may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • FPGA field-programmable gate array
  • the memory 501 may be configured to store programs. When the programs are executed, the processor 502 may be configured to call the programs stored in the memory 501 to:
  • the point cloud data includes the attribute values of the point cloud and the syntax element is used to indicate a search range of the attribute values of the point cloud during prediction encoding
  • the point cloud data may further include position coordinates of the point cloud.
  • the processor may be further configured to:
  • Performing prediction processing on the attribute values of the point cloud may include:
  • performing prediction processing on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range may include:
  • the code stream data may include a first identifier, and the first identifier may be used to indicate the number of point cloud points consecutively having a residual of attribute value of 0.
  • the code stream data may include a second identifier, and the second identifier may be used to indicate whether the residual of the attribute value of the current point cloud point is n, where n is a positive integer.
  • n may be 1 or 2.
  • the second identifier may be specifically used to indicate whether the difference between the residual of the attribute value of the current point cloud point and n is zero.
  • the processor may be further configured to:
  • Encoding the residuals of the attribute values of the point cloud may include:
  • the constant value may be 1.
  • the value of the syntax element may be configured to a constant value not less than the constant value.
  • the solutions with the search range less than or equal to the constant value may be removed, including the solution of removing the direct binary encoding of the attribute values of the point cloud itself.
  • the difference value after subtracting the constant value from the value of the syntax element may be written into the code stream.
  • the present disclosure also provides a data decoding device.
  • the data decoding device includes a memory 601 , a processor 602 , and a data interface 603 .
  • the memory 601 may include a volatile memory.
  • the memory 601 may also include a non-volatile memory.
  • the memory 601 may also include a combination of a volatile memory or a non-volatile memory.
  • the processor 602 may be a central processing unit (CPU).
  • the processor 602 may further include a hardware data encoding device.
  • the hardware data encoding device may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. For example, it may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • FPGA field-programmable gate array
  • the memory 601 may be configured to store programs. When the programs are executed, the processor 602 may be configured to call the programs stored in the memory 601 to:
  • the point cloud data may further include position coordinates of the point cloud.
  • the processor Before performing compensation processing on the residuals of the attribute values of the point cloud, the processor may be further configured to:
  • Performing compensation processing on the residuals of the attribute values of the point cloud according to the above search range may include:
  • perform compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range may include:
  • the code stream data may include a first identifier, and the first identifier may be used to indicate a number of point cloud points consecutively having a residual of attribute value of 0.
  • the identification information may include a second identifier, and the second identifier may be used to indicate whether the residual of the attribute value of the current point cloud point is n, where n is a positive integer.
  • n may be 1 or 2.
  • the second identifier may be specifically used to indicate whether the difference between the residual of the attribute value of the current point cloud point and n is zero.
  • the processor may be further configured to:
  • Performing compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range may include:
  • the constant value may be 1.
  • the value of the syntax element may be configured to a constant value not less than the constant value.
  • the solutions with the search range less than or equal to the constant value may be removed, including the solution of removing the direct binary encoding of the attribute values of the point cloud itself.
  • the difference value after subtracting the constant value from the value of the syntax element may be written into the code stream.
  • the present disclosure also provides a computer-readable storage medium.
  • the computer-readable storage medium may be configured to store a computer program.
  • the data encoding method provided by various embodiments of the present disclosure shown in FIG. 3 or the data decoding method provided by various embodiments of the present disclosure shown in FIG. 4 , or the data encoding device provided by various embodiments of the present disclosure shown in FIG. 6 , or the data decoding device provided by various embodiments of the present disclosure shown in FIG. 6 may be implemented, which will not be repeated here.
  • the computer-readable storage medium may be an internal storage unit of the device described in any of the foregoing embodiments of the present disclosure, such as a hard disk or a memory of the device.
  • the computer-readable storage medium may also be an external storage device of the device, such as a plug-in hard disk equipped on the device, a smart memory card (SMC), a secure digital card (SD), or a flash card, etc.
  • the computer-readable storage medium may also include both an internal storage unit of the device and an external storage device.
  • the computer-readable storage medium may be used to store the computer program and other programs and data required by the device.
  • the computer-readable storage medium may also be used to temporarily store data that has been output or will be output.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation.
  • multiple units or components may be combined or can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present disclosure.
  • the functional units in the various embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present disclosure.
  • the aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk, or another medium that can store program codes.

Landscapes

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

Abstract

A data encoding method includes determining a value of a syntax element of point cloud data of a point cloud. The point cloud data includes attribute values of the point cloud and the syntax element indicates a search range of the attribute values during prediction encoding. The method further includes performing prediction processing on the attribute values according to the search range to obtain residuals of the attribute values, and encoding the residuals and a difference between the value of the syntax element and a constant value to generate code stream data. The constant value is a positive number.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of International Application No. PCT/CN2019/095508, filed Jul. 10, 2019, the entire content of which is incorporated herein by reference.
  • TECHNICAL FIELD
  • The present disclosure relates to the field of data encoding/decoding and, more particularly, to a method, a device, and a storage medium for data encoding/decoding.
  • BACKGROUND
  • Point cloud data can be obtained by collection using lidars or laser scanners. Point cloud data is a form of expression of a three-dimensional object or a three-dimensional scene, and includes a set of discrete points that are randomly distributed in space. The set of discrete points expresses the spatial structure and surface properties of the three-dimensional object or the three-dimensional scene. To accurately reflect the information in the space, the number of discrete points required is huge. To reduce the storage space and the bandwidth occupied during transmission of a point cloud, the point cloud needs to be encoded and compressed. Data of a point cloud may include three-dimensional coordinates (x, y, z) describing coordinate information, and attribute information of the position such as reflectivity or color (R, G, B). A process for encoding the point cloud data include position encoding and attribute encoding of the point cloud data. The attribute encoding of the point cloud data needs to be improved.
  • SUMMARY
  • In accordance with the disclosure, there is provided a data encoding method including determining a value of a syntax element of point cloud data of a point cloud. The point cloud data includes attribute values of the point cloud and the syntax element indicates a search range of the attribute values during prediction encoding. The method further includes performing prediction processing on the attribute values according to the search range to obtain residuals of the attribute values, and encoding the residuals and a difference between the value of the syntax element and a constant value to generate code stream data. The constant value is a positive number.
  • In accordance with the disclosure, there is also provided a data decoding method including decoding a value of a syntax element of point cloud data of a point cloud from code stream data. The point cloud data includes attribute values of the point cloud, and the syntax element indicates a search range of the attribute values during prediction decoding. The method further includes determining the search range of the attribute values during prediction encoding according to a sum of the value of the syntax element and a constant value that is a positive number, obtaining residuals of the attribute values from the code stream data by decoding, and performing compensation processing on the residuals according to the search range.
  • In accordance with the disclosure, there is also provided a data encoding device including a memory and a processor. The memory stores a programs. The processor is configured to execute the program to determine a value of a syntax element of point cloud data of a point cloud. The point cloud data includes attribute values of the point cloud and the syntax element indicating a search range of the attribute values during prediction encoding. The processor is further configured to execute the program to perform prediction processing on the attribute values according to the search range to obtain residuals of the attribute values, and encode the residuals and a difference between the value of the syntax element and a constant value to generate code stream data. The constant value is a positive number.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic flow chart of a data encoding process consistent with the present disclosure.
  • FIG. 2 is a schematic flow chart of a data decoding process consistent with the present disclosure.
  • FIG. 3 is a schematic flow chart of a data encoding method consistent with the present disclosure.
  • FIG. 4 is a schematic flow chart of a data decoding method consistent with the present disclosure.
  • FIG. 5 is a schematic block diagram of a data encoding device consistent with the present disclosure.
  • FIG. 6 is a schematic block diagram of a data decoding device consistent with the present disclosure.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • The technical solutions in the embodiments of the present disclosure will be described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are some of the embodiments of the present disclosure, but not all of the embodiments. Based on the embodiments in this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the scope of this disclosure.
  • Unless otherwise specified, all technical and scientific terms used in the embodiments of the present disclosure have the same meaning as commonly understood by those skilled in the technical field of the present disclosure. The terms used in this disclosure are only for the purpose of describing specific embodiments, and are not intended to limit the scope of the present disclosure.
  • An attribute encoding process has high complexity. The present disclosure provides a data encoding method for encoding attribute values of point cloud data and a corresponding decoding method.
  • In some embodiments, quantization may be first performed on attribute values of point cloud data to be encoded. FIG. 1 is a schematic flow chart of a data encoding process provided by various embodiments of the present disclosure. As shown in FIG. 1, the point cloud data is input in 11, and the position coordinates of the input point cloud data are quantized in 12. Optionally, duplicated coordinates in the position coordinates quantized in 12 are removed in 121. Position encoding 13 is performed on the processed position coordinates and the results are transmitted to an arithmetic encoding engine for arithmetic encoding 16. For attribute values of the input point cloud data, if it is selected to remove the duplicated coordinates according to the position coordinates in 121, attribute conversion 15 is performed to merge attribute values corresponding to merged position coordinates; while if the duplicated coordinates are not removed in 121, attribute conversion is not performed. Then, attribute encoding 16 is sequentially performed on the attribute values according to the order of the position coordinates after the position encoding 13.
  • In one embodiment, a prediction encoding scheme based on sorting code is a method for encoding the attribute values of the point cloud data. In an example, in the prediction encoding scheme based on the sorting code, the sorting code corresponding to each position coordinate may be calculated according to the position coordinates of the point cloud data. After the sorting code corresponding to each position coordinate is obtained, point cloud points in the point cloud data may be sorted according to the magnitude relationship of the sorting codes, and prediction encoding may be performed on the attribute values of the sorted point cloud data to obtain the residual of the attribute value of each point cloud point in the point cloud data. In the sorted point cloud, the positions of the point cloud points that are ranked close in the three-dimensional space may be also relatively close. Since the attribute values of the point cloud points with similar positions in the three-dimensional space are more likely to be similar, performing prediction processing on the sorted point cloud data may reduce the bits consumed by the residuals of the attribute values of the point cloud data. A sorting code refers to a method of sorting three-dimensional space points according to a certain rule, which may be Morton code, Euclidean distance (distance-based ordering), and so on.
  • Therefore, there may be a high probability that multiple zeros may appear in the residuals of the attribute values of the point cloud. In one embodiment, when encoding the residuals, for the current point cloud point, identifier 1 may be first encoded. Identifier 1 may be used to indicate whether there are multiple consecutive zeros in the residuals of the attribute values of the point cloud, and a number of the consecutive 0's. For example, when the number of point cloud points consecutively having a residual of 0 is greater than or equal to 1 (that is, when there are one or more consecutive point cloud points having a residual of 0), the value of identifier 1 may be set to the number of consecutive 0's; and when 0 does not appear, the value of identifier 1 may be set to 0.
  • When identifier 1 is used to indicate that there is no point cloud point with a residual of 0 currently, identifier 2 may be encoded, and identifier 2 may be used to indicate whether the value of the residual of the current point cloud point minus 1 is 0. For example, when the value of the residual minus 1 is 0, the value of identifier 2 may be set to 1. When the value of the residual of the current point cloud point minus 1 is not 0, the specific value of the residual may be encoded; or, when the value of the residual of the current point cloud point minus 1 is not 0, identifier 3 may then be encoded. Identifier 3 may be used to indicate whether the value of the residual of the current point cloud point minus 2 is 0, and when the value of the residual of the current point cloud point minus 2 is not 0, the specific value of the residual may then be encoded. For example, when the value of the residual of the current point cloud point minus 2 is 0, the value of identifier 3 may be set to 1; when the value of the residual of the current point cloud point minus 2 is not 0, the value of identifier 3 may be set to 0, and the specific value of the residual may then be encoded. Optionally, when identifier 3 indicates that the residual of the current point cloud point is not 2, identifier 4 may then be encoded to indicate whether the value of the residual of the current point cloud point minus 3 is 0.
  • In some embodiments, the prediction encoding may be performed on the attribute values of the sorted point cloud, and the residual of the attribute value of each point cloud point in the obtained point cloud may be positive or negative. When the residual of the attribute value of each point cloud point in the obtained point cloud is a signed number, the residual of the attribute value of the point cloud point may be sign converted according to a preset rule, that is, may be converted from a signed number to an unsigned number. For example, assuming that the residual of the attribute value of the point cloud point is −1, the residual −1 of the attribute value of the point cloud point may be converted to 1 according to the preset rule −1−(2*(−1)). For another example, assuming that the residual of the attribute value of the point cloud point is 1, the residual of the attribute value of the point cloud point may be converted to 2 according to the preset rule 2*1. Of course, in other embodiments, sign conversion may not be performed on the residuals of the attribute values of the point cloud, which is not specifically limited here.
  • In some embodiments, when the prediction encoding is performed on the attribute values of the sorted point cloud, a corresponding search range may be determined in the sorted point cloud according to a value of a syntax element lifting_search_range, and a reference point cloud point of the current point cloud point may be determined from the point cloud points in the search range. According to the attribute value of the reference point cloud point and the attribute value of the current point cloud point, the residual of the current point cloud point may be determined.
  • When encoding the point cloud data, the residual of each point cloud point and the value of the syntax element lifting_search_range may be written into the code stream. In an example, the value of lifting_search_range may be fixed to a value not less than a constant value. The constant value may be a positive number, for example, it may be 1. Before writing the value of lifting_search_range into the code stream, the constant value may be subtracted from the value of lifting_search_range, and the obtained difference may be written into the code stream. Correspondingly, the number of bits consumed by lifting_search_range may be reduced. Further, the value of lifting_search_range may be fixed to a value not less than the constant value, and the scheme where lifting_search_range has a value of 0 may be removed from the encoding scheme. Unlike the scheme where the value of lifting_search_range is greater than 0, in the scheme where the value of lifting_search_range is 0, there may be no need to fetch the residual of each point cloud point in the point cloud data, but the attribute value of the point cloud point itself may be binarized directly. Therefore, by eliminating the scheme where the value of lifting_search_range is 0, the encoding complexity may be reduced.
  • One embodiment of the present disclosure also provides a data decoding method corresponding to the above encoding method. As shown in FIG. 2, arithmetic decoding 22 is performed on an input code stream to be decoded 21, to decode the code stream related to the position information. By position decoding 23 and inverse quantization 24, reconstructed position coordinates may be obtained. Correspondingly, attribute values of the point cloud may be decoded and obtained by attribute decoding 25 according to an order of the position coordinates obtained by position decoding 23.
  • In one embodiment, the prediction decoding scheme based on the sorting code may be a method of attribute decoding of the point cloud data. In one example, the value of the syntax element lifting_search_range of the point cloud data and the residual of the attribute value of each point cloud point may be decoded from the code stream data.
  • Optionally, the sorting code corresponding to each position coordinate may be calculated first according to the position coordinates of the point cloud data. After the sorting code corresponding to each position coordinate is obtained, the point cloud points in the point cloud may be sorted according to the magnitude relationship of the sorting codes. After decoding the code stream data, the residual of the attribute value of each point cloud point in the point cloud may be corresponding to the sorted point cloud points.
  • When decoding the residual of the attribute value of the current point cloud point, whether the residual of the attribute value of the current point cloud point is 0 and a number of the point cloud points that consecutively have a residual of 0 (that is, a number of consecutive point cloud points whose residual of attribute value is 0) may be determined according to the value of identifier 1 in the code stream data. For example, when it is decoded that the value of identifier 1 is not 0, it is determined according to the specific value of identifier 1 that the number of point cloud points consecutively having a residual of 0 in the sorted point cloud from the current point cloud point.
  • Optionally, when the value of identifier 1 is decoded to be 0, it may be determined that the residual of the attribute value of the current point cloud point is not 0, and the specific value of the residual is continued to be decoded. Or, when it is determined that the residual of the attribute value of the current point cloud point is not 0, the value of identifier 2 may be continuously decoded from the code stream, and it may be determined whether the residual of the attribute value of the current point cloud point is 1 according to the value of identifier 2. For example, when the value of identifier 2 is decoded to be 1, it may be determined that the residual of the attribute value of the current point cloud point is 1. When the value of identifier 2 is decoded to be 0, it may be determined that the residual of the attribute value of the current point cloud point is not 1, and the specific value of the residual of the attribute value of the current point cloud point attribute may be continuously decoded or the value of identifier 3 may be continuously decoded from the code stream to determine whether the residual of the attribute of the current point cloud point is 2 according to the value of identifier 3. When the decoded value of identifier 3 is 1, it may be determined that the residual of the attribute value of the current point cloud point is 2. When the decoded value of identifier 3 is 0, it may be determined that the residual of the attribute value of the current point cloud point is not 2, and then the specific value of the residual of the attribute value of the current point cloud point attribute may be continuously decoded.
  • After decoding the residual of the attribute value of each point cloud point in the sorted point cloud, compensation processing may be performed on the residuals according to the value of the syntax element lifting_search_range, to determine the attribute value of each point cloud point in the sorted point cloud. Specifically, after the value of lifting_search_range is decoded from the code stream data, the sum of the value of lifting_search_range and a constant value may be used as the actual search range to perform compensation processing on the residual.
  • The data encoding and decoding method provided by various embodiments of the present disclosure will be described in detail below with references to the drawings.
  • FIG. 3 is a flow chart of a data encoding method provided by one embodiment of the present disclosure. The method may be applied to a data encoding device. The data encoding device may be provided at a smart terminal (such as a mobile phone, a tablet computer, etc.). In some other embodiments, the method may also be applied to an aircraft (such as an unmanned aerial vehicle). In some other embodiments, the method may also be applied to other movable platforms (such as unmanned ships, unmanned automobiles, robots, etc.). The present disclosure has no limit on this. As shown in FIG. 3, the method includes S310 and S302.
  • At S301: a value of a syntax element of point cloud data is determined. The point cloud data may include attribute values of the point cloud, and the syntax element may be used to indicate a search range of the attribute values of the point cloud during prediction encoding.
  • The point cloud data may include the attribute values of the point cloud, and the syntax element may be used to indicate the search range of the attribute value of the point cloud during prediction encoding. For example, the syntax element may be the syntax element lifting_search_range mentioned above. In one embodiment of the present disclosure, the algorithm for determining the value of the syntax element used to indicate the search range may use an algorithm in an existing calculation, which will not be repeated here.
  • In some embodiments, the point cloud data may be obtained through one or more collection devices. In some embodiments, the collection devices may include, but are not limited to, imaging devices, lidars, laser scanners, or other equipment.
  • In some embodiments, a lidar may be a perceptual sensor capable of obtaining three-dimensional information of a scene. A basic principle of the lidar may include: actively emitting laser pulse signals to an object to be detected and obtaining reflected pulse signals. According to the time difference between the transmitted signals and the received signals, depth information of the distance between the object to be detected and the sensor may be calculated. Based on the known transmitting direction of the lidar, angle information of the object to be detected relative to the lidar may be obtained. By combining the aforementioned depth information and angle information, a large number of detection points (called point cloud data) may be obtained. In some embodiments, the reflectivity of each point to be detected may also be obtained or color information of each point to be detected may be obtained in combination with other sensors. The position information of each point cloud point may be the position information of each point cloud point in a three-dimensional space, and may include the aforementioned depth information and angle information. The attribute value of each point cloud point may include the reflectivity and/or color information of each point cloud point.
  • At S302, prediction processing is performed on the attribute values of the point cloud according to the search range, to obtain residuals of the attribute values of the point cloud. The residuals of the attribute values of the point cloud, and a difference between the value of the syntax element and a constant value, are encoded, to generate code stream data. The constant value may be a positive number.
  • The data encoding device may perform prediction processing on the attribute values of the point cloud to obtain the residuals of the attribute values of the point cloud, and encode the residuals of the attribute values of the point cloud to obtain the code stream data. The code stream data may include identification information, and the identification information may be used to indicate that the residual of the attribute value of at least one point cloud point is zero. For example, the identification information may include at least one of identifier 1, identifier 2, or identifier 3 mentioned above.
  • Before writing the syntax element into the code stream, since the value of the syntax element is fixed to a value not less than a constant value, the difference obtained after subtracting the constant value from the value of the syntax element may be written into the code stream instead of the syntax element. Optionally, the constant value may be 1.
  • In one embodiment, before the data encoding device performs prediction processing on the attribute values of the point cloud, it may calculate the sorting code corresponding to the position coordinates of the point cloud points in the point cloud, and then sort the point cloud points in the point cloud according to the sorting code of the point cloud points. In some embodiments, when the data encoding device performs prediction processing on the attribute values of the point cloud, the prediction processing may be performed on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range.
  • In one embodiment, when the data encoding device performs prediction processing on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range, it may determine a reference point cloud point of the current point cloud point, where an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud may be not greater than the search range. According to the attribute value of the reference point cloud point and the attribute value of the current point cloud, the residual of the attribute value of the current point cloud point may be calculated.
  • In some embodiments, the data encoding device may determine the residual of the attribute value of the current point cloud point according to the attribute value of the reference point cloud point and the attribute value of the current point cloud point. The difference between the attribute value of the reference point cloud point and the attribute value of the current point cloud point may be determined as the residual of the attribute value of the current point cloud point.
  • In one embodiment, assuming that the search range corresponding to the value of the syntax element is 3, when the data encoding device performs the prediction processing on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range, it may determine three reference point cloud points that are adjacent to the current point cloud point and before the current point cloud point. The order difference between the three reference point cloud points and the current point cloud point may be not greater than the search range 3 in the sorted point cloud. After determining the three reference point cloud points of the current point cloud point, the data encoding device may calculate the residual of the attribute value of the current point cloud point according to the difference between the attribute values of the three reference point cloud points and the attribute value of the current point cloud point.
  • In one embodiment, the identification information may include a first identifier, and the first identifier may be used to indicate the number of point cloud points consecutively having a residual of attribute value of 0. For example, assuming that the first identifier has a value of 5, it may be determined that there are 5 point cloud points consecutively having a residual of attribute value of 0. In one embodiment, the first identifier may be identifier 1 mentioned above.
  • In one embodiment, the identification information may include a second identifier, and the second identifier may be used to indicate whether the residual of the attribute value of the current point cloud point is n, where n is a positive integer. In some embodiments, n may be 1 or 2. In some embodiments, the second identifier may be specifically used to indicate whether the difference between the residual of the attribute value of the current point cloud point and n is zero. For example, the second identifier may include identifier 2 and/or identifier 3 mentioned above. In an example, the identification information may include a first identifier and a second identifier.
  • In one embodiment, the data encoding device may also perform sign conversion on the residuals of the attribute values of the point cloud before encoding the residuals of the attribute values of the point cloud to obtain bitstream data. Then, the point cloud may be encoded to obtain the code stream data according to the residuals of the attribute values of the point cloud after sign conversion.
  • In the present embodiment of the present disclosure, by fixing the search range to the value not less than the constant value, solutions with the search range less than or equal to the constant value may be removed, including the solution of removing the direct binary encoding of the attribute values of the point cloud itself. Further, when encoding the value of the syntax element indicating the value of the search range, the difference value after subtracting the constant value from the value of the syntax element may be written into the code stream. Through this implementation, the algorithm complexity of encoding the attribute values may be greatly simplified and reduced. Time overhead and the efficiency of attribute encoding may be improved. Also, the number of bits occupied by the syntax element may be reduced in some cases.
  • FIG. 4 is a flow chart of a data decoding method provided by an embodiment of the present disclosure. The data decoding method may be applied to a data decoding device. The data decoding device may be provided at a smart terminal (such as a mobile phone, a tablet computer, etc.). As shown in FIG. 4, the method includes S401 to S404.
  • At S401: the value of the syntax element of the point cloud data is decoded from the code stream data. The point cloud data includes the attribute values of the point cloud, and the syntax element is used to indicate the search range of the attribute values of the point cloud when the prediction processing is performed.
  • In one embodiment, the data decoding device may decode the value of the syntax element of the point cloud data from the code stream data. The point cloud data may include the attribute values of the point cloud, and the syntax element may be used to indicate the value of the search range of the attribute values during prediction decoding. In some embodiments, the syntax element may be the aforementioned lifting_search_range. In other embodiments, the syntax element may also include other expression forms, which are not specifically limited here.
  • At S402: the search range of the attribute values of the point cloud during the prediction encoding is determined according to the sum of the value of the syntax element and the constant value.
  • After the value of the syntax element is decoded from the code stream data, the value may be added to the constant value, and the sum obtained may be used as the value of the actual search range. The constant value may be a positive number. Optionally, the constant value may be 1. Optionally, the value of the syntax element may be configured to a constant value not less than the constant value.
  • At S403, the residuals of the attribute values of the point cloud are obtained by decoding the code stream data.
  • Optionally, the code stream data may include identification information, and the identification information may be used to indicate that the residual of the attribute value of at least one point cloud point is zero. The identification information may include a first identification and/or a second identification. For the explanation of the first identification and the second identification, please see the above description.
  • At S404, compensation processing is performed on the residuals of the attribute values of the point cloud according to the search range.
  • In one embodiment, optionally, before the decoding device performs compensation processing on the residuals of the attribute values of the point cloud, the sorting code corresponding to the position coordinates of the point cloud points in the point cloud may be calculated, and the point cloud points in the point cloud may be sorted according to the sorting code of the point cloud points in the point cloud. In one embodiment, when the data decoding device performs compensation processing on the residuals of the attribute values of the point cloud, the compensation processing may be performed on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range.
  • In one embodiment, when the data decoding device performs compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range, a reference point cloud point of the current point cloud point may be determined according to the search range, where an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud may be not greater than the search range. According to the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point, the attribute value of the current point cloud point may be determined.
  • In some embodiments, when the data decoding device determines the attribute value of the current point cloud point according to the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point, the attribute value of the current point cloud point may be determined according to the difference between the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point.
  • For example, assuming that the search range is 3, the point cloud points in the point cloud include D1, D2, D3, D4, D5, D6, and the order of the point cloud points is D2, D4, D5, D1, D6, D3, when the current point cloud point is D2, the data decoding device may determine that the reference point cloud point of the current point cloud point D2 to be D5 from D2, D4, and D5 before the current point cloud point D2, according to the search range of 3. The order difference between the reference point cloud points D2, D4, D5 and the current point cloud point D2 in the sorted point cloud may be not greater than the search range 3. The data decoding device may determine the attribute value of the current point cloud point D2 according to the difference between the attribute value of the reference point cloud point D5 and the residual of the attribute value of the current point cloud point D2.
  • In one embodiment, when it is determined that the search range is not 0 according to the value of the syntax element, before performing compensation processing on the residuals of the attribute values of the point cloud, the data decoding device may further perform sign conversion on the residuals of the attribute values of the point cloud. In some embodiments, the specific implementation and examples of the sign conversion of the residuals of the attribute values of the point cloud may be similar to the description above, and will not be repeated here. In one embodiment, after the data decoding device performs sign conversion on the residuals of the attribute values of the point cloud, it may perform compensation processing on the residuals of the attribute values of the point cloud according to the residuals of the attribute values after sign conversion.
  • The present disclosure also provides a data encoding device. In one embodiment shown in FIG. 5, the data encoding device includes a memory 501, a processor 502, and a data interface 503.
  • The memory 501 may include a volatile memory. The memory 501 may also include a non-volatile memory. The memory 501 may also include a combination of a volatile memory or a non-volatile memory. The processor 502 may be a central processing unit (CPU). The processor 502 may further include a hardware data encoding device. The hardware data encoding device may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. For example, it may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • The memory 501 may be configured to store programs. When the programs are executed, the processor 502 may be configured to call the programs stored in the memory 501 to:
  • determine a value of a syntax element of point cloud data, where the point cloud data includes the attribute values of the point cloud and the syntax element is used to indicate a search range of the attribute values of the point cloud during prediction encoding;
  • perform prediction processing on the attribute values of the point cloud according to the search range, to obtain the residuals of the attribute values of the point cloud; and encode the residuals of the attribute values of the point cloud and a difference between the value of the syntax element and a constant value, to generate code stream data, where the constant value is a positive number.
  • Optionally, the point cloud data may further include position coordinates of the point cloud.
  • Before the prediction processing on the attribute values of the point cloud, the processor may be further configured to:
  • calculate a sorting code corresponding to the position coordinates of the point cloud points in the point cloud; and
  • sort the point cloud points in the point cloud according to the sorting code of the point cloud points in the point cloud.
  • Performing prediction processing on the attribute values of the point cloud may include:
  • according to the order of the point cloud points in the point cloud and the search range, performing prediction processing on the attribute values of the point cloud.
  • Optionally, performing prediction processing on the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range may include:
  • determining a reference point cloud point of a current point cloud point, where the order difference between the reference point cloud point and the current point cloud point in the sorted point cloud is not greater than the search range; and
  • according to the attribute value of the reference point cloud point and the attribute value of the current point cloud point, calculating a residual of the attribute value of the point cloud point.
  • Optionally, the code stream data may include a first identifier, and the first identifier may be used to indicate the number of point cloud points consecutively having a residual of attribute value of 0.
  • Optionally, the code stream data may include a second identifier, and the second identifier may be used to indicate whether the residual of the attribute value of the current point cloud point is n, where n is a positive integer. Optionally, n may be 1 or 2.
  • Optionally, the second identifier may be specifically used to indicate whether the difference between the residual of the attribute value of the current point cloud point and n is zero.
  • Optionally, before encoding the residuals of the attribute values of the point cloud, the processor may be further configured to:
  • perform sign conversion on the residuals of the attribute values of the point cloud.
  • Encoding the residuals of the attribute values of the point cloud may include:
  • encoding the residuals of the attribute values of the point cloud according to the attribute values after the sign conversion.
  • Optionally, the constant value may be 1.
  • Optionally, the value of the syntax element may be configured to a constant value not less than the constant value.
  • In the present embodiment of the present disclosure, by fixing the search range to the value not less than the constant value, the solutions with the search range less than or equal to the constant value may be removed, including the solution of removing the direct binary encoding of the attribute values of the point cloud itself. Further, when encoding the value of the syntax element indicating the value of the search range, the difference value after subtracting the constant value from the value of the syntax element may be written into the code stream. Through this implementation, the algorithm complexity of encoding the attribute values may be greatly simplified and reduced. Time overhead and the efficiency of attribute encoding may be improved. Also, the number of bits occupied by the syntax element may be reduced in some cases.
  • The present disclosure also provides a data decoding device. In one embodiment shown in FIG. 6, the data decoding device includes a memory 601, a processor 602, and a data interface 603.
  • The memory 601 may include a volatile memory. The memory 601 may also include a non-volatile memory. The memory 601 may also include a combination of a volatile memory or a non-volatile memory. The processor 602 may be a central processing unit (CPU). The processor 602 may further include a hardware data encoding device. The hardware data encoding device may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. For example, it may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • The memory 601 may be configured to store programs. When the programs are executed, the processor 602 may be configured to call the programs stored in the memory 601 to:
  • decode a value of a syntax element of point cloud data from code stream data, where the point cloud data includes attribute values of the point cloud, and the syntax element is used to indicate a search range of the attribute values of the point cloud during prediction decoding;
  • determine the search range of the attribute values of the point cloud during prediction encoding according to a sum of the value of the syntax element and a constant value, where the constant value is a positive number;
  • obtain residuals of the attribute values of the point cloud from the code stream data by decoding; and
  • perform compensation processing on the residuals of the attribute values of the point cloud according to the search range.
  • Optionally, the point cloud data may further include position coordinates of the point cloud.
  • Before performing compensation processing on the residuals of the attribute values of the point cloud, the processor may be further configured to:
  • calculate sorting code corresponding to the position coordinates of the point cloud points in the point cloud; and
  • sort the point cloud points in the point cloud according to the sorting code of the point cloud points in the point cloud.
  • Performing compensation processing on the residuals of the attribute values of the point cloud according to the above search range may include:
  • performing compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range.
  • Optionally, perform compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range may include:
  • determining a reference point cloud point of a current point cloud point according to the search range, where an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud is not greater than the search range; and
  • determining the attribute value of the current point cloud point according to the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point.
  • Optionally, the code stream data may include a first identifier, and the first identifier may be used to indicate a number of point cloud points consecutively having a residual of attribute value of 0.
  • Optionally, the identification information may include a second identifier, and the second identifier may be used to indicate whether the residual of the attribute value of the current point cloud point is n, where n is a positive integer. Optionally, n may be 1 or 2.
  • Optionally, the second identifier may be specifically used to indicate whether the difference between the residual of the attribute value of the current point cloud point and n is zero.
  • Optionally, before performing compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range, the processor may be further configured to:
  • perform sign conversion on the residuals of the attribute values of the point cloud.
  • Performing compensation processing on the residuals of the attribute values of the point cloud according to the order of the point cloud points in the point cloud and the search range may include:
  • performing compensation processing on the residuals of the attribute values of the point cloud after the sign conversion according to the search range.
  • Optionally, the constant value may be 1.
  • Optionally, the value of the syntax element may be configured to a constant value not less than the constant value.
  • In the present embodiment of the present disclosure, by fixing the search range to the value not less than the constant value, the solutions with the search range less than or equal to the constant value may be removed, including the solution of removing the direct binary encoding of the attribute values of the point cloud itself. Further, when encoding the value of the syntax element indicating the value of the search range, the difference value after subtracting the constant value from the value of the syntax element may be written into the code stream. Through this implementation, the algorithm complexity of encoding the attribute values may be greatly simplified and reduced. Time overhead and the efficiency of attribute encoding may be improved. Also, the number of bits occupied by the syntax element may be reduced in some cases.
  • The present disclosure also provides a computer-readable storage medium. The computer-readable storage medium may be configured to store a computer program. When the computer program is executed by a processor, the data encoding method provided by various embodiments of the present disclosure shown in FIG. 3, or the data decoding method provided by various embodiments of the present disclosure shown in FIG. 4, or the data encoding device provided by various embodiments of the present disclosure shown in FIG. 6, or the data decoding device provided by various embodiments of the present disclosure shown in FIG. 6 may be implemented, which will not be repeated here.
  • The computer-readable storage medium may be an internal storage unit of the device described in any of the foregoing embodiments of the present disclosure, such as a hard disk or a memory of the device. The computer-readable storage medium may also be an external storage device of the device, such as a plug-in hard disk equipped on the device, a smart memory card (SMC), a secure digital card (SD), or a flash card, etc. Further, the computer-readable storage medium may also include both an internal storage unit of the device and an external storage device. The computer-readable storage medium may be used to store the computer program and other programs and data required by the device. The computer-readable storage medium may also be used to temporarily store data that has been output or will be output.
  • A person of ordinary skill in the art can be aware that the units and algorithm steps described in the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the hardware and software interchangeability, in the above description, the composition and steps of each example have been generally described in accordance with the function. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered as being beyond the scope of the present disclosure.
  • Those skilled in the art can clearly understand that, for the convenience and conciseness of description, the specific working processes of the above-described system, device, and unit is not repeated, and reference can be made to the corresponding processes described in the foregoing method embodiments.
  • In the embodiments provided in the present disclosure, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division, and there may be other divisions in actual implementation. For example, multiple units or components may be combined or can be integrated into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present disclosure.
  • In addition, the functional units in the various embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk, or another medium that can store program codes.
  • The above are only specific implementations of embodiments of the present disclosure, but the scope of the present disclosure is not limited to this. Anyone familiar with the technical field can easily think of various equivalents within the technical scope disclosed in the present disclosure. These modifications or replacements shall be covered within the scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.

Claims (20)

What is claimed is:
1. A data encoding method comprising:
determining a value of a syntax element of point cloud data of a point cloud, the point cloud data including attribute values of the point cloud and the syntax element indicating a search range of the attribute values during prediction encoding;
performing prediction processing on the attribute values according to the search range, to obtain residuals of the attribute values; and
encoding the residuals and a difference between the value of the syntax element and a constant value, to generate code stream data, the constant value being a positive number.
2. The method according to claim 1,
wherein the point cloud data further includes position coordinates of the point cloud;
the method further comprising, before performing prediction processing on the attribute values:
calculating sorting codes corresponding to the position coordinates of point cloud points in the point cloud; and
sorting the point cloud points according to the sorting codes;
wherein performing prediction processing on the attribute values includes:
performing prediction processing on the attribute values according to an order of the point cloud points and the search range.
3. The method according to claim 2, wherein performing prediction processing on the attribute values according to the order of the point cloud points and the search range includes:
determining a reference point cloud point of a current point cloud point, an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud being not greater than the search range; and
calculating the residual of the attribute value of the current point cloud point according to the attribute value of the reference point cloud point and the attribute value of the current point cloud point.
4. The method according to claim 1, wherein the code stream data includes an identifier indicating a number of consecutive point cloud points having the residual of 0.
5. The method according to claim 1, wherein the code stream data includes an identifier indicating whether the residual of the attribute value of the current point cloud point is n, n being a positive integer.
6. The method according to claim 5, wherein n is 1 or 2.
7. The method according to claim 5, wherein the identifier indicates whether a difference between the residual of the attribute value of the current point cloud point and n is zero.
8. The method according to claim 1, further comprising, before encoding the residuals:
performing sign conversion on the residuals;
wherein encoding the residuals includes encoding the residuals according to the attribute values after the sign conversion.
9. The method according to claim 1, wherein the constant value is 1.
10. The method according to claim 1, wherein the value of the syntax element is fixed to be not less than the constant value.
11. A data decoding method comprising:
decoding a value of a syntax element of point cloud data of a point cloud from code stream data, the point cloud data including attribute values of the point cloud, and the syntax element indicating a search range of the attribute values during prediction decoding;
determining the search range of the attribute values during prediction encoding according to a sum of the value of the syntax element and a constant value, the constant value being a positive number;
obtaining residuals of the attribute values from the code stream data by decoding; and
performing compensation processing on the residuals according to the search range.
12. The method according to claim 11, wherein:
wherein the point cloud data further includes position coordinates of the point cloud;
the method further includes, before performing compensation processing on the residuals:
calculating sorting codes corresponding to the position coordinates of the point cloud points; and
sorting the point cloud points according to the sorting codes;
wherein performing compensation processing on the residuals includes performing compensation processing on the residuals according to an order of the point cloud points and the search range.
13. The method according to claim 12, wherein performing compensation processing on the residuals according to the order of the point cloud points and the search range includes:
determining a reference point cloud point of a current point cloud point according to the search range, an order difference between the reference point cloud point and the current point cloud point in the sorted point cloud is not greater than the search range; and
determining the attribute value of the current point cloud point according to the residual of the attribute value of the current point cloud point and the attribute value of the reference point cloud point.
14. The method according to claim 11, wherein the code stream data includes an identifier indicating a number of consecutive point cloud points having the residual of 0.
15. The method according to claim 11, wherein the code stream data includes an identifier indicating whether the residual of the attribute value of the current point cloud point is n, n being a positive integer.
16. The method according to claim 15, wherein n is 1 or 2.
17. The method according to claim 16, wherein the identifier indicates whether a difference between the residual of the attribute value of the current point cloud point and n is zero.
18. The method according to claim 11, further comprising, before performing compensation processing on the residuals:
performing sign conversion on the residuals o;
wherein performing compensation processing on the residuals o according to the search range includes performing compensation processing on the residuals after the sign conversion according to the search range.
19. The method according to claim 11, wherein the constant value is 1.
20. A data encoding device comprising:
a memory storing a program; and
a processor configured to execute the program to:
determine a value of a syntax element of point cloud data of a point cloud, the point cloud data including attribute values of the point cloud and the syntax element indicating a search range of the attribute values during prediction encoding;
perform prediction processing on the attribute values according to the search range, to obtain residuals of the attribute values; and
encode the residuals and a difference between the value of the syntax element and a constant value, to generate code stream data, the constant value being a positive number.
US17/571,238 2019-07-10 2022-01-07 Method, device, and storage medium for data encoding/decoding Pending US20220130074A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/095508 WO2021003726A1 (en) 2019-07-10 2019-07-10 Data encoding method, data decoding method, devices and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/095508 Continuation WO2021003726A1 (en) 2019-07-10 2019-07-10 Data encoding method, data decoding method, devices and storage medium

Publications (1)

Publication Number Publication Date
US20220130074A1 true US20220130074A1 (en) 2022-04-28

Family

ID=74114339

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/571,238 Pending US20220130074A1 (en) 2019-07-10 2022-01-07 Method, device, and storage medium for data encoding/decoding

Country Status (3)

Country Link
US (1) US20220130074A1 (en)
CN (1) CN112385238B (en)
WO (1) WO2021003726A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995662B (en) * 2021-03-12 2022-10-25 北京大学深圳研究生院 Method and device for attribute entropy coding and entropy decoding of point cloud
CN115412715B (en) * 2021-05-26 2024-03-26 荣耀终端有限公司 Method and device for predicting coding and decoding of point cloud attribute information
CN117321991A (en) * 2021-06-11 2023-12-29 Oppo广东移动通信有限公司 Point cloud attribute prediction method and device and codec
CN115484462A (en) * 2021-06-15 2022-12-16 中兴通讯股份有限公司 Data processing method and device, electronic equipment and storage medium
CN117581549A (en) * 2021-08-23 2024-02-20 Oppo广东移动通信有限公司 Intra-frame prediction and encoding and decoding methods and devices, encoder and decoder, equipment and medium
CN118339837A (en) * 2021-09-29 2024-07-12 抖音视界有限公司 Method, device and medium for point cloud encoding and decoding
CN113766229B (en) * 2021-09-30 2023-04-28 咪咕文化科技有限公司 Encoding method, decoding method, device, equipment and readable storage medium
KR20240091150A (en) * 2021-11-26 2024-06-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Point cloud coding methods, devices and media

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200314435A1 (en) * 2019-03-25 2020-10-01 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136535A (en) * 2011-11-29 2013-06-05 南京理工大学常熟研究院有限公司 K nearest neighbor search method for point cloud simplification
US10897269B2 (en) * 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10499054B2 (en) * 2017-10-12 2019-12-03 Mitsubishi Electric Research Laboratories, Inc. System and method for inter-frame predictive compression for point clouds
CN108833927B (en) * 2018-05-03 2019-08-16 北京大学深圳研究生院 A kind of point cloud genera compression method based on 0 element in deletion quantization matrix
CN109166160B (en) * 2018-09-17 2022-07-01 华侨大学 Three-dimensional point cloud compression method adopting graph prediction
CN109257604B (en) * 2018-11-20 2020-11-27 山东大学 Color attribute coding method based on TMC3 point cloud encoder
CN109889840B (en) * 2019-03-20 2022-11-22 北京大学深圳研究生院 Method for point cloud encoding and decoding, encoding device and decoding device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200314435A1 (en) * 2019-03-25 2020-10-01 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box

Also Published As

Publication number Publication date
CN112385238B (en) 2023-03-24
CN112385238A (en) 2021-02-19
WO2021003726A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US20220130074A1 (en) Method, device, and storage medium for data encoding/decoding
US20210103780A1 (en) Trimming Search Space For Nearest Neighbor Determinations in Point Cloud Compression
CN112449754B (en) Data encoding and decoding method, device and storage medium
WO2021252593A1 (en) Attribute residual coding in g-pcc
EP4133731A1 (en) Predictor index signaling for predicting transform in geometry-based point cloud compression
CN115086660B (en) Decoding and encoding method based on point cloud attribute prediction, decoder and encoder
US20230237707A1 (en) Point cloud encoding and decoding method, encoder, decoder and codec system
EP4258671A1 (en) Point cloud attribute predicting method, encoder, decoder, and storage medium
US20230237704A1 (en) Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system
WO2022131948A1 (en) Devices and methods for sequential coding for point cloud compression
CN115474051A (en) Point cloud encoding method, point cloud decoding method and terminal
CN116233426B (en) Attribute quantization and inverse quantization methods, devices and equipment
US20240323437A1 (en) Point cloud coding method, point cloud decoding method and related device
WO2024193613A1 (en) Method, apparatus, and medium for point cloud coding
WO2024149309A1 (en) Method, apparatus, and medium for point cloud coding
WO2024149258A1 (en) Method, apparatus, and medium for point cloud coding
US20240346706A1 (en) Method, apparatus, and medium for point cloud coding
WO2024149203A1 (en) Method, apparatus, and medium for point cloud coding
US20240242393A1 (en) Method, apparatus and medium for point cloud coding
WO2023131126A1 (en) Method, apparatus, and medium for point cloud coding
WO2023093785A1 (en) Method, apparatus, and medium for point cloud coding
WO2023280129A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074121A1 (en) Method, apparatus, and medium for point cloud coding
WO2023116731A1 (en) Method, apparatus, and medium for point cloud coding
US20240244249A1 (en) Method, apparatus, and medium for point cloud coding

Legal Events

Date Code Title Description
AS Assignment

Owner name: ZHEJIANG UNIVERSITY, CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHENG, XIAOZHEN;LI, PU;CHEN, JIAFENG;AND OTHERS;SIGNING DATES FROM 20220105 TO 20220107;REEL/FRAME:058591/0131

Owner name: SZ DJI TECHNOLOGY CO., LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHENG, XIAOZHEN;LI, PU;CHEN, JIAFENG;AND OTHERS;SIGNING DATES FROM 20220105 TO 20220107;REEL/FRAME:058591/0131

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED