WO2025013343A1 - 点群復号装置、点群復号方法及びプログラム - Google Patents

点群復号装置、点群復号方法及びプログラム Download PDF

Info

Publication number
WO2025013343A1
WO2025013343A1 PCT/JP2024/008607 JP2024008607W WO2025013343A1 WO 2025013343 A1 WO2025013343 A1 WO 2025013343A1 JP 2024008607 W JP2024008607 W JP 2024008607W WO 2025013343 A1 WO2025013343 A1 WO 2025013343A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
raht
node
point cloud
information
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.)
Ceased
Application number
PCT/JP2024/008607
Other languages
English (en)
French (fr)
Japanese (ja)
Inventor
洋平 花岡
恭平 海野
敬介 野中
圭 河村
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Publication of WO2025013343A1 publication Critical patent/WO2025013343A1/ja
Priority to US19/422,130 priority Critical patent/US20260105645A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • the present invention relates to a point cloud decoding device, a point cloud decoding method, and a program.
  • G-PCC codec description ISO/IEC JTC1/SC29/WG7 N00271
  • G-PCC 2nd Edition codec description ISO/IEC JTC1/SC29/WG7 N00506
  • the present invention has been made in consideration of the above-mentioned problems, and aims to provide a point cloud decoding device, a point cloud decoding method, and a program that can improve the coding efficiency of attribute information coding.
  • the first feature of the present invention is that it is a point cloud decoding device that includes a RAHT unit that performs smoothing using clipping, using attribute values that are intra-predicted at each subnode within the same parent node as the node to be decoded.
  • the second feature of the present invention is a point cloud decoding method that includes a step of performing smoothing using clipping, using attribute values that are intra-predicted at each subnode within the same parent node as the node to be decoded.
  • the third feature of the present invention is a program that causes a computer to function as a point cloud decoding device, the point cloud decoding device comprising a RAHT unit that performs smoothing using clipping, using attribute values that are intra-predicted at each subnode within the same parent node as the node to be decoded.
  • the fourth feature of the present invention is a point cloud decoding device that includes a RAHT unit that applies a scaling factor to the predicted value of the AC coefficient or the predicted value of the attribute value in inter-prediction of the AC coefficient of each node.
  • the fifth feature of the present invention is a point cloud decoding device that includes a RAHT unit that predicts the DC coefficient of each node, and the RAHT unit applies a scaling factor to the predicted value of the DC coefficient in inter-prediction of the DC coefficient.
  • the present invention provides a point cloud decoding device, a point cloud decoding method, and a program that can improve the coding efficiency of attribute information coding.
  • FIG. 1 is a diagram illustrating an example of the configuration of a point cloud processing system 10 according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of functional blocks of a point group decoding device 200 according to an embodiment.
  • FIG. 3 is a diagram showing an example of the configuration of encoded data (bit stream) received by the geometric information decoding unit 2010 of the point cloud decoding device 200 according to an embodiment.
  • FIG. 4 is a diagram showing an example of the syntax configuration of GPS2011.
  • FIG. 5 is a flowchart showing an example of the operation of the tree synthesis unit 2020 of the point group decoding device 200 according to an embodiment.
  • FIG. 6 is a flowchart showing an example of the process of decoding the predictor information and the spherical coordinate residual in step S504.
  • FIG. 1 is a diagram illustrating an example of the configuration of a point cloud processing system 10 according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of functional blocks of a point group decoding device 200 according to an
  • FIG. 7 is a flowchart showing an example of the process of decoding the predictor information and the spherical coordinate residual in step S504.
  • FIG. 8 is a flowchart showing an example of the process of decoding the predictor information and the spherical coordinate residual in step S504.
  • FIG. 9 shows an example of the configuration of encoded data (bit stream) received by the attribute information decoding unit 2060 of the point cloud decoding device 200 according to an embodiment.
  • FIG. 10 shows an example of the syntax configuration of the APS 2611 shown in FIG.
  • FIG. 11 is a flowchart showing an example of the process of the RAHT unit 2080.
  • FIG. 12 is a flowchart showing an example of the process in step S28004.
  • FIG. 13 is a flowchart showing an example of the process of step S28104.
  • FIG. 14 is a flowchart showing an example of the intra prediction process in step S28112.
  • FIG. 15 is a diagram showing the relationship between a decoding target node and adjacent nodes in a higher layer.
  • FIG. 16 is a diagram showing the relationship between a decoding target node and adjacent nodes in the subnode hierarchy.
  • FIG. 17 is a flowchart showing an example of the intra prediction process in step S28112.
  • FIG. 18 is a flowchart showing an example of processing by the RAHT unit 2080.
  • FIG. 19 is a diagram showing an example of the inter prediction process in step S28111.
  • FIG. 20 is a diagram showing an example of functional blocks of the point group encoding device 100 according to this embodiment.
  • FIG. 1 is a diagram showing a point cloud processing system 10 according to the present embodiment.
  • the point cloud processing system 10 includes a point cloud encoding device 100 and a point cloud decoding device 200.
  • the point cloud encoding device 100 is configured to generate encoded data (bit stream) by encoding an input point cloud signal.
  • the point cloud decoding device 200 is configured to generate an output point cloud signal by decoding the bit stream.
  • the input point cloud signal and the output point cloud signal are composed of position information and attribute information of each point in the point cloud.
  • the attribute information is, for example, color information and reflectance of each point.
  • such a bit stream may be transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 via a transmission path.
  • the bit stream may be stored in a storage medium and then provided from the point cloud encoding device 100 to the point cloud decoding device 200.
  • FIG. 2 is a diagram showing an example of functional blocks of the point group decoding device 200 according to this embodiment.
  • the point cloud decoding device 200 has a geometric information decoding unit 2010, a tree synthesis unit 2020, an approximate surface synthesis unit 2030, a geometric information reconstruction unit 2040, an inverse coordinate transformation unit 2050, an attribute information decoding unit 2060, an inverse quantization unit 2070, a RAHT unit 2080, an LoD calculation unit 2090, an inverse lifting unit 2100, an inverse color transformation unit 2110, and a frame buffer 2120.
  • the geometric information decoding unit 2010 is configured to receive as input a bit stream related to geometric information (geometric information bit stream) from the bit streams output from the point cloud encoding device 100, and to decode the syntax.
  • the decoding process is, for example, a context-adaptive binary arithmetic decoding process.
  • the syntax includes control data (flags and parameters) for controlling the decoding process of the position information.
  • the tree synthesis unit 2020 is configured to receive as input the control data decoded by the geometric information decoding unit 2010 and an occurrence code indicating at which node in the tree (described later) the point group exists, and generate tree information indicating in which area in the decoding target space the point exists.
  • the decoding process of the occasion code may be configured to be performed within the tree synthesis unit 2020.
  • This process divides the space to be decoded into rectangular parallelepipeds, refers to the occupancy code to determine whether a point exists in each rectangular parallelepiped, divides the rectangular parallelepiped that contains the point into multiple rectangular parallelepipeds, and then refers to the occupancy code.
  • tree information can be generated.
  • inter prediction when decoding such an occasion code, inter prediction, which will be described later, may be used.
  • a method called "Octree” can be used, which recursively performs octree division on the above-mentioned rectangular parallelepiped, always treating it as a cube, and a method called “QtBt” can be used, which performs quadtree division and binary tree division in addition to octree division. Whether or not to use "QtBt" is transmitted as control data from the point cloud encoding device 100.
  • the tree synthesis unit 2020 is configured to decode the coordinates of each point based on an arbitrary tree configuration determined by the point cloud encoding device 100.
  • the approximate surface synthesis unit 2030 is configured to generate approximate surface information using the tree information generated by the tree synthesis unit 2020, and to decode the point cloud based on the approximate surface information.
  • Approximate surface information is used to represent the area where the points are densely distributed on the object's surface, for example when decoding three-dimensional point cloud data of an object, by approximating the area where the points are present using a small plane, rather than decoding each point individually.
  • the approximate surface synthesis unit 2030 can generate approximate surface information and decode the point cloud using a method called "Trisoup", for example.
  • Trisoup a method called "Trisoup"
  • a specific processing example of "Trisoup” will be described later.
  • this processing can be omitted.
  • the inverse coordinate transformation unit 2050 is configured to receive the geometric information reconstructed by the geometric information reconstruction unit 2040 as input, transform it from the coordinate system assumed by the decoding process to the coordinate system of the output point cloud signal, and output position information.
  • the frame buffer 2120 is configured to receive the geometric information reconstructed by the geometric information reconstruction unit 2040 as an input and store it as a reference frame.
  • the stored reference frame is read from the frame buffer 2130 and used as a reference frame when the tree synthesis unit 2020 performs inter-prediction of temporally different frames.
  • the time at which the reference frame is to be used for each frame may be determined based on, for example, control data transmitted as a bit stream from the point cloud encoding device 100.
  • the decoding process is, for example, a context-adaptive binary arithmetic decoding process.
  • the syntax includes control data (flags and parameters) for controlling the decoding process of the attribute information.
  • the attribute information decoding unit 2060 is also configured to decode the quantized residual information from the decoded syntax.
  • the inverse quantization unit 2070 is configured to perform an inverse quantization process based on the quantized residual information decoded by the attribute information decoding unit 2060 and the quantization parameter, which is one of the control data decoded by the attribute information decoding unit 2060, to generate inverse quantized residual information.
  • the dequantized residual information is output to either the RAHT unit 2080 or the LoD calculation unit 2090 depending on the characteristics of the point group to be decoded.
  • the control data decoded by the attribute information decoding unit 2060 specifies which unit the information is output to.
  • the RAHT unit 2080 is configured to receive the inverse quantized residual information generated by the inverse quantization unit 2070 and the geometric information generated by the geometric information reconstruction unit 2040 as input, and to decode the attribute information of each point using a type of Haar transform (inverse Haar transform in the decoding process) called RAHT (Region Adaptive Hierarchical Transform).
  • RAHT Region Adaptive Hierarchical Transform
  • the LoD calculation unit 2090 is configured to receive the geometric information generated by the geometric information reconstruction unit 2040 and generate the LoD (Level of Detail).
  • LoD is information for defining the reference relationship (the referencing point and the referenced point) to realize predictive coding, such as predicting attribute information of a certain point from attribute information of another point and encoding or decoding the prediction residual.
  • LoD is information that defines a hierarchical structure in which each point contained in the geometric information is classified into multiple levels, and the attributes of points belonging to lower levels are encoded or decoded using attribute information of points belonging to higher levels.
  • the inverse lifting unit 2100 is configured to decode attribute information of each point based on the hierarchical structure defined by the LoD, using the LoD generated by the LoD calculation unit 2090 and the inverse quantized residual information generated by the inverse quantization unit 2070.
  • the method described in the above-mentioned non-patent document 1 can be used.
  • the inverse color conversion unit 2110 is configured to perform inverse color conversion processing on the attribute information output from the RAHT unit 2080 or the inverse lifting unit 2100 when the attribute information to be decoded is color information and color conversion has been performed on the point cloud encoding device 100 side. Whether or not such inverse color conversion processing is performed is determined by the control data decoded by the attribute information decoding unit 2060.
  • the point cloud decoding device 200 is configured to decode and output attribute information of each point in the point cloud through the above processing.
  • FIG. 3 shows an example of the structure of the encoded data (bit stream) received by the geometric information decoding unit 2010.
  • the bit stream may include a GPS2011.
  • a GPS2011 is also called a geometry parameter set, and is a collection of control data related to decoding of geometric information. A specific example will be described later.
  • Each GPS2011 includes at least GPS id information for identifying each GPS2011 when multiple GPS2011 exist.
  • the bit stream may include GSH2012A/2012B.
  • GSH2012A/2012B is also called a geometry slice header or geometry data unit header, and is a collection of control data corresponding to a slice, which will be described later.
  • slice will be used, but slice can also be read as data unit. Specific examples will be described later.
  • GSH2012A/2012B includes at least GPS id information for specifying the GPS2011 corresponding to each GSH2012A/2012B.
  • the bitstream may include slice data 2013A/2013B following GSH 2012A/2012B.
  • Slice data 2013A/2013B includes data that encodes geometric information.
  • bit stream is structured so that each slice data 2013A/2013B corresponds to one GSH 2012A/2012B and one GPS 2011.
  • the GPS ID information is used to specify which GPS 2011 to refer to in GSH 2012A/2012B, so a common GPS 2011 can be used for multiple slice data 2013A/2013B.
  • GPS2011 does not necessarily have to be transmitted for each slice.
  • the bit stream can be configured so that GPS2011 is not encoded immediately before GSH2012B and slice data 2013B.
  • FIG. 3 is merely an example. As long as GSH 2012A/2012B and GPS 2011 correspond to each slice data 2013A/2013B, elements other than those described above may be added as components of the bit stream.
  • the bitstream may include a sequence parameter set (SPS) 2001.
  • SPS sequence parameter set
  • the bitstream when transmitted, may be shaped into a configuration different from that shown in FIG. 3.
  • the bitstream may be combined with a bitstream decoded by an attribute information decoding unit 2060 (described later) and transmitted as a single bitstream.
  • Figure 4 shows an example of the syntax configuration of GPS2011.
  • syntax names explained below are merely examples. If the syntax functions explained below are similar, the syntax names may be different.
  • GPS2011 may include GPS ID information (gsps_geom_parameter_set_id) for identifying each GPS2011.
  • Descriptor column in Figure 4 indicates how each syntax is coded.
  • ue(v) means that it is an unsigned zeroth-order exponential Golomb code, and u(1) means that it is a 1-bit flag.
  • GPS2011 may include a flag (geom_tree_type) for controlling the tree type in the tree synthesis unit 2020.
  • geom_tree_type For example, if the value of geom_tree_type is "1", it may be defined that predictive geometry coding is used, and if the value of geom_tree_type is "0", it may be defined that Octree is used.
  • GPS2011 may include a flag (geom_angular_enabled) for controlling whether processing is performed in angular mode in the tree synthesis unit 2020.
  • geom_angular_enabled when the value of geom_angular_enabled is "1", it may be defined that predictive geometry coding processing is performed in angular mode, and when the value of geom_angular_enabled is "0", it may be defined that predictive geometry coding processing is not performed in angular mode.
  • the GPS 2011 may include, in angular mode, a value related to the number of points within the same laser (angularNumPhiPerTurn) according to the laser ID of the point cloud acquisition device.
  • the number of points within the same laser is the number of points acquired within the same laser.
  • the number of points within the same laser is a unique value for each laser, and exists for each laser ID. For example, if there are 64 laser IDs, there will also be 64 points within the same laser.
  • GPS2011 may include a flag (ptree_ang_azimuth_scaling_enabled) in the tree synthesis unit 2020 for controlling whether the adaptive azimuth quantization mode is in angular mode.
  • the adaptive azimuth quantization mode is a mode that performs adaptive quantization of the azimuth angle according to the radius.
  • ptree_ang_azimuth_scaling_enabled For example, if the value of ptree_ang_azimuth_scaling_enabled is "1", it is defined that adaptive quantization of the azimuth angle according to the radius is performed, and if the value of ptree_ang_azimuth_scaling_enabled is "0", it is defined that adaptive quantization of the azimuth angle according to the radius is not performed.
  • ptree_azimuth_scaling_enabled For example, if the value of ptree_azimuth_scaling_enabled is "1", it may be defined that the predictor list is used in the calculation of the predictor, and if the value of ptree_ang_azimuth_scaling_enabled is "0", it may be defined that the predictor list is not used in the calculation of the predictor.
  • GPS2011 may include a value (ptree_ang_azimuth_step_minus1) related to the laser rotation speed for use in calculating the predicted azimuth angle in the tree synthesis unit 2020 in angular mode.
  • ptree_ang_azimuth_step_minus1 a value related to the laser rotation speed for use in calculating the predicted azimuth angle in the tree synthesis unit 2020 in angular mode.
  • GPS2011 may include a threshold (resR_context_qphi_threshold) for the number of azimuth steps used in the tree synthesis unit 2020 when decoding the radial residual in angular mode.
  • a threshold for the number of azimuth steps used in the tree synthesis unit 2020 when decoding the radial residual in angular mode.
  • GPS2011 may include a flag (resR_context_qphi_threshold_present_flag) in the tree synthesis unit 2020 to control whether to transmit a threshold for the number of azimuth steps to the decoder in angular mode.
  • a flag (resR_context_qphi_threshold_present_flag) in the tree synthesis unit 2020 to control whether to transmit a threshold for the number of azimuth steps to the decoder in angular mode.
  • resR_context_qphi_threshold_present_flag For example, if the value of resR_context_qphi_threshold_present_flag is "1", it may be defined that the threshold is transmitted to the decoder, and if the value of resR_context_qphi_threshold_present_flag is "0", it may be defined that the threshold is not transmitted to the decoder.
  • Tree synthesis unit 2020 An example of the operation of the tree synthesis unit 2020 will be described below with reference to FIGS.
  • FIG. 5 is a flowchart showing an example of processing in the tree synthesis unit 2020. Note that the following describes an example of synthesizing trees using "Predictive geometry coding.”
  • Predictive geometry coding is also called predictive tree.
  • Predictive geometry coding is a method of decoding the residual of the position information of the point cloud data and the predicted position information based on an arbitrary tree structure determined by the point cloud encoding device 100, and adding the two together to decode the position information of the point cloud data.
  • step S501 the tree synthesis unit 2020 determines whether decoding of position information of all point cloud data contained in the slice has been completed.
  • This process for example, transmits information indicating the number of point cloud data contained in the slice to the GSH, and by comparing this number of point cloud data with the number of data already processed, it can be determined whether processing of all points has been completed.
  • step S513 If decoding of position information for all point cloud data is complete, this operation proceeds to step S513 and ends the process. If decoding of position information for all point cloud data is not complete, this operation proceeds to step S502.
  • step S502 the tree synthesis unit 2020 sets the parent node of the node to be decoded (node to be processed) in the point cloud data.
  • the tree synthesis unit 2020 decodes the number of child nodes of each node to be decoded, and stores the indexes of the nodes to be decoded for the number of child nodes.
  • the tree synthesis unit 2020 may refer to the array of indexes of the node, obtain one index stored at the end of the array, and set the node of the obtained index as the parent node of the node to be decoded.
  • step S503 the tree synthesis unit 2020 determines whether to perform processing in angular mode.
  • the tree synthesis unit 2020 can refer to the value of the above-mentioned geom_angular_enabled to determine whether to perform processing in angular mode.
  • step S504 If processing is to be performed in angular mode, the operation proceeds to step S504; if processing is not to be performed in angular mode, the operation proceeds to step S510.
  • step S504 the tree synthesis unit 2020 decodes the predictor information and the spherical coordinate residual.
  • the spherical coordinate residual indicates the residual of the radius, azimuth angle, and laser ID.
  • step S505 the tree synthesis unit 2020 predicts the position information based on the predictor information decoded in step S504.
  • the predictor information is a predictor index or a prediction mode.
  • the tree synthesis unit 2020 first determines the type of predictor to use for prediction.
  • the tree synthesis unit 2020 may determine whether to perform processing in adaptive azimuth angle quantization mode based on the value of ptree_ang_azimuth_scaling_enabled, and may determine the type of predictor to use based on the result of such determination.
  • the tree synthesis unit 2020 may select a predictor to be used based on the decoded prediction mode from among multiple predictors calculated using a tree structure.
  • the tree synthesis unit 2020 may store the position information of the decoded node as a predictor in a list, refer to the list for the predictor assigned to the decoded predictor index, and select the predictor type to be used.
  • the tree synthesis unit 2020 uses that predictor as the predicted value of the position information.
  • step S506 the tree synthesis unit 2020 reconstructs the spherical coordinates.
  • the tree synthesis unit 2020 reconstructs the spherical coordinates by adding the decoded spherical coordinate residual and the predictor.
  • step S507 the tree synthesis unit 2020 reconstructs the orthogonal integer coordinates.
  • the tree synthesis unit 2020 can convert the spherical coordinates to orthogonal integer coordinates based on the reconstructed spherical coordinates.
  • a specific method for this can be achieved, for example, by the method described in Non-Patent Document 1.
  • step S5 After the reconstruction of the orthogonal integer coordinates is complete, the operation proceeds to step S508.
  • step S508 the tree synthesis unit 2020 decodes the orthogonal integer coordinate residual.
  • step S509 the tree synthesis unit 2020 reconstructs the original coordinates.
  • the tree synthesis unit 2020 reconstructs the original coordinates by adding the decoded orthogonal integer coordinate residual and the reconstructed orthogonal integer coordinates.
  • step S510 the tree synthesis unit 2020 predicts the location information. Specifically, the tree synthesis unit 2020 selects a predictor and sets the predictor as the predicted value of the location information.
  • the tree synthesis unit 2020 may select a predictor based on the decoded predictor mode from among multiple predictors calculated based on a tree structure.
  • step S511 the tree synthesis unit 2020 decodes the orthogonal integer coordinate residual.
  • step S512 After decoding of the orthogonal integer coordinate residual is complete, the operation proceeds to step S512.
  • step S512 the tree synthesis unit 2020 reconstructs the original coordinates.
  • the tree synthesis unit 2020 reconstructs the original coordinates by adding the residual of the orthogonal integer coordinates decoded in step S511 to the position information predicted in step S510.
  • FIG. 6 is a flowchart showing an example of the process of decoding predictor information and spherical coordinate residuals in step S504.
  • step S601 the tree synthesis unit 2020 determines whether or not the adaptive azimuth angle quantization mode is selected based on the value of ptree_ang_azimuth_scaling_enabled.
  • step S602. If the mode is adaptive azimuth angle quantization, the operation proceeds to step S603.
  • step S602 the tree synthesis unit 2020 decodes the predictor index. After the decoding of the predictor index is completed, the operation proceeds to step S604.
  • step S603 the tree synthesis unit 2020 decodes the prediction mode. After the prediction mode has been decoded, the operation proceeds to step S604.
  • step S604 the tree synthesis unit 2020 decodes the number of azimuth angle steps. After the decoding of the number of azimuth angle steps is completed, the operation proceeds to step S605.
  • step S605 the tree synthesis unit 2020 decodes the spherical coordinate residual.
  • the tree synthesis unit 2020 may perform such decoding using the method described in Non-Patent Document 2. After the decoding is complete, the operation proceeds to step S606, where the processing ends.
  • the above shows an example in which the azimuth angle step number is decoded as is, but for example, the tree synthesis unit 2020 may correct the decoded azimuth angle step number based on the number of points acquired within the same laser.
  • step S701 the tree synthesis unit 2020 may perform a correction on the decoded azimuth angle step number based on the spacing of the point cloud.
  • the tree synthesis unit 2020 may correct the number of azimuth angle steps based on angularNumPhiPerTurn.
  • the tree synthesis unit 2020 calculates the maximum ratio of points within the same laser.
  • the maximum ratio of points within the same laser is the value obtained by dividing the number of points within the same laser corresponding to the laser ID of the parent node of the node to be decoded by the maximum number of points within the same laser. Also, the maximum number of points within the same laser is the maximum value among the values of points within the same laser that exist in the same number as the number of laser IDs.
  • the maximum ratio of the number of points within the same laser will be 5.
  • step S701 the tree synthesis unit 2020 may calculate the maximum ratio of the number of points within the same laser.
  • the tree synthesis unit 2020 may calculate the maximum value ratio of the number of points in the same laser corresponding to each laser ID before step S701, and in step S701, obtain the maximum value ratio of the number of points in the same laser corresponding to the laser ID of the parent node of the node to be decoded.
  • the tree synthesis unit 2020 may perform the above correction by adding the maximum ratio of the number of points within the same laser to the decoded number of azimuth angle steps.
  • the tree synthesis unit 2020 may perform the above correction by multiplying the decoded azimuth angle step number by the maximum ratio of the number of points within the same laser.
  • the tree synthesis unit 2020 may be configured to correct the number of decoded azimuth angle steps based on the number of points acquired within the same laser.
  • the tree synthesis unit 2020 may correct the rotation speed of the laser based on, for example, the number of points acquired within the same laser.
  • the tree synthesis unit 2020 may calculate the maximum ratio of the number of points in the same laser using the method described above, and correct ptree_ang_azimuth_step_minus1 by dividing it by the maximum ratio of the number of points in the same laser.
  • ptree_ang_azimuth_step_minus1 is used in decoding the spherical coordinate residual in step S505.
  • the tree synthesis unit 2020 may be configured to correct the rotation speed of the laser based on the number of points acquired within the same laser.
  • the tree synthesis unit 2020 may use a threshold value related to the number of azimuth steps when determining the context to be used in decoding the radial residual, and may determine the context based on the result of the determination based on the threshold value and the number of decoded azimuth steps.
  • the context may be determined, for example, by using the decoded predictor index and the decoded azimuth angle step count, and by using a threshold value for the azimuth angle step count as follows to select one context index that meets a condition from among the four context indexes ctxIdx, and then based on that context index.
  • predIdx is a predictor index
  • qphi is the azimuth angle step number
  • x indicates a threshold value for the azimuth angle step number.
  • a specific hard-coded value may be used as the threshold value x.
  • a specific value such as 0 may be hard-coded as the threshold value x.
  • resR_context_qphi_threshold may be referenced and that value may be used.
  • the threshold may be derived using syntax held by GPS2011.
  • the threshold x may be derived based on the value of ptree_ang_azimuth_step_minus1, which is a value related to the rotational speed of the laser used to calculate the predicted azimuth angle value.
  • the threshold x may be calculated as follows:
  • A is a constant, and may be, for example, a power of 2.
  • int(.) is a function that truncates the decimal part of the argument and returns the integer part.
  • Attribute Information Decoding Unit 2060 The control data decoded by the attribute information decoding unit 2060 will be described below with reference to FIGS.
  • FIG. 9 shows an example of the structure of the encoded data (bit stream) received by the attribute information decoding unit 2060
  • FIG. 10 shows an example of the syntax structure of the APS 2611 shown in FIG. 9.
  • syntax names explained below are merely examples. If the syntax functions explained below are similar, the syntax names may be different.
  • APS2611 may include APS id information (aps_geom_parameter_set_id) for identifying each APS2611.
  • Descriptor column in Figure 10 indicates how each syntax is coded.
  • ue(v) indicates an unsigned zeroth-order exponential Golomb code, and u(1) indicates a 1-bit flag.
  • Attr_coding_type when the value of attr_coding_type is "1", it may be defined to be output to the LoD calculation unit 2090, and when the value of attr_coding_type is "0", it may be defined to be output to the RAHT unit 2080.
  • the APS2611 may include a flag (raht_prediction_enabled) for controlling whether or not to predict attribute information in the RAHT section 2080.
  • raht_prediction_enabled when the value of raht_prediction_enabled is "1", it may be defined that attribute information is predicted, and when the value of raht_prediction_enabled is "0", it may be defined that attribute information is not predicted.
  • the APS2611 may include a flag (raht_subnode_prediction_enable_flag) that controls whether or not subnodes are used to predict attribute information in the RAHT section 2080.
  • raht_subnode_prediction_enable_flag when the value of raht_subnode_prediction_enable_flag is "1", it may be defined that subnodes are used to predict attribute information, and when the value of raht_subnode_prediction_enable_flag is "0", it may be defined that subnodes are not used to predict attribute information.
  • the APS2611 may include weight parameters (raht_prediction_weights) used when performing intra-prediction of attribute information in the RAHT unit 2080.
  • raht_prediction_weights may be defined according to the manner in which the node to be decoded is adjacent to the adjacent node used for intra prediction.
  • the APS2611 may include a flag (raht_smoothing_enable_flag) that controls whether or not smoothing is performed after intra-prediction of attribute information is performed in the RAHT unit 2080.
  • raht_smoothing_enable_flag when the value of raht_smoothing_enable_flag is "1", it may be defined that smoothing is performed after predicting the attribute information, and when the value of raht_smoothing_enable_flag is "0", it may be defined that smoothing is not performed.
  • the APS2611 may include a weighting parameter (raht_smoothing_weighted_average_weights) for performing weighted average smoothing after intra prediction of attribute information is performed in the RAHT unit 2080.
  • a weighting parameter (raht_smoothing_weighted_average_weights) for performing weighted average smoothing after intra prediction of attribute information is performed in the RAHT unit 2080.
  • weight parameters may be defined depending on the manner in which the node to be decoded is adjacent to each subnode of the same parent node of the node to be decoded.
  • the APS2611 may include a weighting parameter (raht_smoothing_clipping_weights) for performing smoothing by clipping after intra-prediction of attribute information is performed in the RAHT unit 2080.
  • a weighting parameter (raht_smoothing_clipping_weights) for performing smoothing by clipping after intra-prediction of attribute information is performed in the RAHT unit 2080.
  • weight parameters may be defined depending on the manner in which the node to be decoded is adjacent to each subnode of the same parent node of the node to be decoded.
  • the APS2611 may include a threshold (raht_smoothing_clipping_threshold) for performing clipping smoothing after intra-prediction of attribute information is performed in the RAHT unit 2080.
  • a threshold praht_smoothing_clipping_threshold
  • the APS2611 may include a flag (raht_inter_prediction_enabled) for controlling whether or not inter-prediction of attribute information is performed in the RAHT unit 2080.
  • raht_inter_prediction_enabled when the value of raht_inter_prediction_enabled is "1", it may be defined that attribute information is predicted, and when the value of raht_inter_prediction_enabled is "0", it may be defined that attribute information is not predicted.
  • APS2611 may include a value (raht_inter_prediction_depth_minus1) indicating the layer at which inter prediction of attribute information is enabled in the RAHT unit 2080.
  • inter prediction may be enabled up to the top N layers of the Octree structure.
  • RAHT section 2080 An example of the process of the RAHT unit 2080 will be described with reference to FIGS.
  • FIG. 11 is a flowchart showing an example of processing by the RAHT unit 2080.
  • step S28001 the RAHT unit 2080 recursively divides the nodes into octrees until a predetermined size is reached, using a technique called Octree. After the division is complete, the operation proceeds to step S28002.
  • step S28002 the RAHT unit 2080 counts the total number of points that belong to the lower hierarchical level of each node divided by the Octree.
  • the RAHT unit 2080 scans the nodes of a certain hierarchy in order and records the number of points belonging to each node. Next, the RAHT unit 2080 adds up the number of points recorded in the child nodes of each node in the node one hierarchy higher, and calculates the number of points belonging to each node.
  • the RAHT unit 2080 repeats the above scanning from the bottom layer to the top layer.
  • the total number of acquired points is used as the weight for the inverse transformation of the RAHT in step S28005 described below. After this calculation is completed, the operation proceeds to step S28003.
  • the RAHT unit 2080 decodes the DC coefficients of the nodes belonging to the highest hierarchy of the Octree.
  • the RAHT unit 2080 may predict the DC coefficients using intra prediction, and calculate the DC coefficients by decoding and adding up the prediction residuals of the DC coefficients.
  • the RAHT unit 2080 calculates the attribute value A root of the root node using the total number w root of points belonging to the root node acquired in step S28002 and the decoded DC coefficient DC root according to the following formula.
  • step S28004 the RAHT unit 2080 determines whether the decoding of the attribute information of all nodes contained in the hierarchy has been completed.
  • step S28005 If not completed, the operation proceeds to step S28005; if completed, the operation proceeds to step S28007.
  • step S28005 the RAHT unit 2080 decodes the AC coefficients. Details will be described later. After the decoding is completed, the operation proceeds to step S28006.
  • step S28006 the RAHT unit 2080 calculates attribute values using the inverse transform of the RAHT based on the total number of points belonging to the lower hierarchical layer of each node, the decoded AC coefficients, and the DC coefficients calculated from the nodes in the higher hierarchical layer using a method described below.
  • T(w) ⁇ 1 is a matrix used for the inverse transformation of the RAHT, and can be generated by the method described in Non-Patent Document 1, for example.
  • step S28004 is used as a DC coefficient in the inverse transform of the RAHT of each subnode. After this transform process is completed, the operation proceeds to step S28004.
  • step S28007 the RAHT unit 2080 determines whether decoding of nodes at all hierarchical levels has been completed.
  • step S28008 ends the processing.
  • FIG. 12 is a flowchart showing an example of the processing of step S28004.
  • the RAHT unit 2080 determines whether to predict AC coefficients.
  • the RAHT unit 2080 may refer to raht_prediction_enabled and use the value.
  • the RAHT unit 2080 may decode a flag indicating whether or not to predict AC coefficients at the current processing target node, and use the value of that flag.
  • the flag may be decoded for each node or for each layer.
  • the flag may be decoded only if the value of raht_prediction_enabled is "1", which indicates that prediction is enabled.
  • the flag may be included in the slice data.
  • step S28102 If the result of the determination is that AC coefficients are not to be predicted, the operation proceeds to step S28102; if AC coefficients are to be predicted, the operation proceeds to steps S28103 and S28104.
  • step S28102 the RAHT unit 2080 decodes the AC coefficients. After the decoding is completed, the operation proceeds to step S28106, where the processing ends.
  • step S28103 the RAHT2080 decodes the AC coefficient residuals. After such decoding is completed, the operation proceeds to step S28105.
  • step S28104 the RAHT unit 2080 predicts AC coefficients. Inter prediction or intra prediction may be used to predict the AC coefficients.
  • the RAHT unit 2080 may first predict the attribute values, and then calculate the predicted values of the AC coefficients by RAHT. This will be described in detail later. After the prediction of the AC coefficients is completed, the operation proceeds to step S28105.
  • step S28105 the RAHT unit 2080 adds the residual of the decoded AC coefficients to the predicted AC coefficients to reconstruct the AC coefficients. After the reconstruction is completed, the operation proceeds to step S28106, and the process ends.
  • FIG. 13 is a flowchart showing an example of the processing of step S28104.
  • step S28107 the RAHT unit 2080 determines whether inter prediction is enabled.
  • the RAHT unit 2080 may refer to raht_inter_prediction_enabled and use the value thereof for the determination. If the result of the determination is that inter prediction is enabled, the operation proceeds to step S28109, and if inter prediction is disabled, the operation proceeds to step S28112.
  • the RAHT unit 2080 determines whether the depth of the hierarchy in which the node to be processed is included is equal to or less than a threshold.
  • the RAHT unit 2080 may refer to raht_inter_prediction_depth_minus1 as the threshold and use that value.
  • step S28110 If the result of the determination is that the depth is equal to or less than the threshold, the operation proceeds to step S28110; if the depth is greater than the threshold, the operation proceeds to step S28112.
  • step S28110 the RAHT unit 2080 determines whether to inter-predict the AC coefficients of the node to be processed.
  • the RAHT unit 2080 may make this determination by checking whether inter prediction is possible, and performing inter prediction if possible, and not performing inter prediction if not possible. This will be described in detail later.
  • the RAHT unit 2080 may make the determination by decoding a flag indicating whether or not to inter-predict the AC coefficients of the node to be processed, and using the value of the flag.
  • the flag may be decoded for each node, or may be decoded for each layer.
  • the flag may be decoded and a determination made only when it is determined that inter-prediction is possible.
  • the flag may be included in the slice data.
  • step S28111 the RAHT unit 2080 performs inter prediction of the AC coefficients of the node to be processed. The details will be described later.
  • step S28112 the RAHT unit 2080 performs intra prediction of the AC coefficients of the node to be processed. The details will be described later.
  • step S28113 the processing of step S28104 ends. Note that the conditional branch in step S28109 may be omitted.
  • step S28111 a process equivalent to the intra prediction process in step S28112 may also be performed, and prediction may be performed by combining the results of inter prediction and intra prediction. This will be described in detail later.
  • FIG. 14 is a flowchart showing an example of the intra prediction process in step S28112.
  • the RAHT unit 2080 determines whether or not to perform intra prediction using adjacent nodes in the subnode hierarchy.
  • the RAHT unit 2080 may refer to raht_subnode_prediction_enable_flag and use the value thereof to make the determination.
  • the RAHT unit 2080 If the RAHT unit 2080 does not use adjacent nodes in the subnode hierarchy, it performs intra prediction using only adjacent nodes in the higher hierarchy.
  • the adjacent nodes in the higher hierarchy refer to the six nodes adjacent to the parent node of the node to be decoded that are adjacent to the face, the 12 nodes adjacent to the edge, and the parent node itself that are adjacent to the face of the node to be decoded, out of a total of 19 nodes, three nodes adjacent to the face of the node to be decoded, three nodes adjacent to the edge, and the seven nodes of the parent node itself.
  • Figure 15 shows the relationship between the node to be decoded and adjacent nodes in the higher hierarchy.
  • the RAHT unit 2080 When using adjacent nodes in the subnode hierarchy, the RAHT unit 2080 performs intra prediction using adjacent nodes in the higher hierarchy and adjacent nodes in the subnode hierarchy.
  • an adjacent node in the subnode hierarchy is a subnode of an adjacent node in a higher hierarchy that has a face or edge adjacent to the node to be decoded and has already been decoded.
  • Figure 16 shows the relationship between the node to be decoded and adjacent nodes in the subnode hierarchy.
  • step S28202 If the determination result is that intra prediction is to be performed without using adjacent nodes in the subnode hierarchy, the operation proceeds to step S28202; if the determination result is that intra prediction is to be performed using adjacent nodes in the subnode hierarchy, the operation proceeds to step S28204.
  • step S28202 the RAHT unit 2080 acquires the attribute values of the adjacent nodes in the higher hierarchy. After acquiring the attribute values of the adjacent nodes in the higher hierarchy, the operation proceeds to step S28203.
  • step S28203 the RAHT unit 2080 predicts the attribute value of the node to be decoded.
  • the RAHT unit 2080 may predict the attribute value attr using the acquired attribute values attr i of the k adjacent nodes in the higher hierarchy and weights w i according to the type of adjacent node i, using the following formula:
  • the RAHT unit 2080 may use a hard-coded value as the weight w i depending on whether the adjacent node i is a face adjacent node of a higher hierarchy, an edge adjacent node of a higher hierarchy, or a parent node, or may refer to raht_prediction_weights and calculate the weight w i from that value.
  • step S28204 the RAHT unit 2080 obtains the attribute values of adjacent nodes in the upper hierarchy.
  • the targets for which attribute values are obtained are adjacent nodes in a higher hierarchy whose subnodes have not yet been decoded, or adjacent nodes in a higher hierarchy whose subnodes have been decoded but whose subnodes do not share faces or edges with the node to be decoded.
  • step S28205 the RAHT unit 2080 acquires the attribute values of the adjacent nodes in the subnode hierarchy. After acquiring the attribute values of the adjacent nodes in the subnode hierarchy, the operation proceeds to step S28206.
  • step S28206 the RAHT unit 2080 predicts the attribute value of the node to be decoded.
  • the RAHT unit 2080 may predict the attribute value attr using the attribute values attr i of the k adjacent nodes in the higher hierarchy and the adjacent nodes in the subnode hierarchy that have been obtained, and the weights w i according to the type i of the adjacent node, using the following formula.
  • the RAHT unit 2080 may use a hard-coded value as the weight w i depending on whether the adjacent node i is a face adjacent node of a higher hierarchy, an edge adjacent node of a higher hierarchy, a parent node, a face adjacent node of a subnode hierarchy, or an edge adjacent node of a subnode hierarchy, or may refer to raht_prediction_weights and calculate the weight w i from that value.
  • the RAHT unit 2080 converts the predicted attribute values into AC coefficients.
  • the AC coefficients are generated by RAHTing the predicted attribute values.
  • the RAHT unit 2080 may use the method described in Non-Patent Document 1 as the conversion method.
  • the RAHT unit 2080 uses the attribute values predicted in step S28206 directly to convert the AC coefficients in step S28207, but the RAHT unit 2080 may also smooth the predicted attribute values before converting the AC coefficients.
  • the RAHT unit 2080 may determine whether or not to perform smoothing in step S1301.
  • the RAHT unit 2080 may refer to raht_smoothing_enable_flag and use its value when making such a determination.
  • step S1302 the RAHT unit 2080 may smooth the attribute values.
  • the RAHT unit 2080 may obtain a weighted average of the smoothed attribute value Attr smoothing of the node to be decoded by using the attribute value Attr i predicted at a subnode i in the same parent node as the node to be decoded and a weight ⁇ i as follows:
  • the RAHT unit 2080 may determine that the decoding target node is a face-adjacent node for the target subnode i, or may determine that the decoding target node is all subnodes within the same parent node.
  • the RAHT unit 2080 may use a hard-coded value as the weight ⁇ i , or may refer to raht_smoothing_weighted_average_weights and use the value.
  • the RAHT unit 2080 may, for example, perform clipping to determine the smoothed attribute value Attr smoothing of the node to be decoded using the predicted value Attr 0 of the node to be decoded itself, the attribute value Attr i predicted at a subnode i other than the node to be decoded among subnodes within the same parent node as the node to be decoded, the weight ⁇ i, and the threshold value Thr as follows:
  • clipping is a process in which if the input value is greater than a predetermined maximum value, the maximum value is output, if the input value is less than a predetermined minimum value, the minimum value is output, and in all other cases, the input value is used as the output value as is.
  • the clipping function Clip3 is It is.
  • the RAHT unit 2080 may determine that the decoded node for the target subnode i is a face-adjacent node, a face-adjacent node and an edge-adjacent node, or all subnodes within the same parent node.
  • the RAHT unit 2080 may use a hard-coded value as the weight ⁇ i , or may refer to raht_smoothing_clipping_weights and use the value.
  • the RAHT unit 2080 may use a hard-coded value as the threshold Thr, or may refer to raht_smoothing_clipping_threshold and use that value.
  • the RAHT unit 2080 decodes AC coefficients for both the color difference signal and the luminance signal, but the RAHT unit 2080 may skip decoding AC coefficients for the color difference signal only for the bottom layer of the Octree.
  • the RAHT unit 2080 may determine whether to skip decoding of AC coefficients of color difference signals only in the bottom layer of the Octree.
  • step S1402 the RAHT unit 2080 determines whether the node to be decoded is at the bottom layer of the Octree.
  • step S1403 If it is the bottom layer, the operation proceeds to step S28004.
  • step S1403 the RAHT unit 2080 decodes the AC coefficients other than the color difference signal.
  • the RAHT unit 2080 performs the same process as in step S28004 for decoding AC coefficients other than the color difference signal, sets the AC coefficients of the color difference signal to 0, and calculates the attribute values in the subsequent step S28005.
  • FIG. 19 shows an example of the inter prediction process in step S28111.
  • the RAHT unit 2080 predicts the AC coefficients of the node to be processed using information about the reference node, which is the corresponding node in the reference frame.
  • the information about the reference node may be its attribute value or AC coefficients.
  • the reference frame may also refer to another decoded frame, and the information about the reference frame may be included in the previous frame buffer 2120.
  • the RAHT unit 2080 may apply the same Octree structure to the reference frame as to the frame to be processed. In such a case, a node may be set at a position where there is no point. Such a node is called an empty node. If the reference node is an empty node, the RAHT unit 2080 may disable inter prediction in step S28110.
  • the RAHT unit 2080 may apply an Octree to the reference frame independently of the frame to be processed, and set an Octree structure different from that of the frame to be processed. In such a case, a node may not necessarily exist in the same position as in the frame to be processed. If a reference node is not found in a position corresponding to the node to be processed, the RAHT unit 2080 may disable inter prediction in step S28143.
  • the RAHT unit 2080 may estimate and interpolate the information of the reference node using information of nodes in nearby positions within the reference frame.
  • the RAHT unit 2080 may estimate and interpolate the average value of the attribute values or AC coefficients of adjacent nodes, nearest nodes, or k nearest nodes relative to the reference node position as the attribute value or AC coefficient of the reference node, respectively.
  • the RAHT unit 2080 may predict the AC coefficients of the node to be processed, for example, from the attribute values of the reference node.
  • the RAHT unit 2080 may use the value Attr inter of the decoded attribute value of the reference node to calculate a predicted value Attr pred of the attribute value of the node to be processed, and apply RAHT to the predicted value Attr pred of the attribute value of the node to be processed to calculate a predicted value AC pred of the AC coefficient of the node to be processed.
  • the RAHT unit 2080 may predict the AC coefficients of the node to be processed directly from the AC coefficients of the reference node, for example.
  • the RAHT unit 2080 may calculate the value AC inter of the AC coefficient of the reference node using the RAHT in the reference frame, and set the value as the predicted value AC pred of the AC coefficient of the node to be processed.
  • the RAHT unit 2080 may obtain the AC coefficients of the reference node by recording the AC coefficients of each node of the reference frame in the frame buffer 2120 and referring to the values in the frame buffer 2120. In this case, If there are no AC coefficients of the reference node in the frame buffer 2120, the RAHT unit 2080 may determine in step S28110 that inter prediction is not executable.
  • the RAHT unit 2080 may multiply Attr inter and AC inter by a scaling factor ⁇ .
  • Attr pred ⁇ Attr inter
  • AC pred ⁇ AC inter
  • the coefficient ⁇ may be any real number.
  • the coefficient ⁇ may be decoded for each node or for each layer.
  • the coefficient ⁇ may be included in the slice data.
  • the coefficient ⁇ may be defined using the hierarchical depth depth as follows, and ⁇ ' may be decoded instead of the coefficient ⁇ .
  • the integer ⁇ may be defined as an integer ranging from an integer a to an integer b, and ⁇ may be decoded.
  • the coefficient ⁇ is obtained by adding an integer c to the decoded ⁇ as follows: It may also be calculated as the value divided by c.
  • ( ⁇ +c)/c
  • the integer ⁇ may be decoded using an exponential-Golomb code.
  • the coefficient ⁇ may be derived by the decoder.
  • the AC coefficient AC parent of the parent node of the node to be decoded and the inter predicted value AC parent_inter when the parent node is decoded may be used to perform the following calculation.
  • AC parent /AC parent_inter
  • AC coefficients AC neighbor1, AC neighbor2, ..., AC neighborN of N neighboring nodes of a decoding target node and inter predicted values AC neighbor_inter1, AC neighbor_inter2, ..., AC neighbor_interN when decoding each neighboring node ⁇ may be calculated so that the cost is minimized.
  • the cost may be, for example, the sum of square errors of the AC coefficients of each adjacent node and the predictor of the AC coefficients.
  • the adjacent nodes may be, for example, The target may be only adjacent nodes, or it may be both adjacent nodes with faces and adjacent nodes with edges.
  • the RAHT unit 2080 may perform a similar operation in inter-prediction of DC coefficients in step S28003.
  • DC pred ⁇ DC inter
  • DC inter the DC coefficient of the reference node
  • DC pred the predicted value of the DC coefficient of the root node
  • the RAHT unit 2080 may also calculate predicted values of attribute values or AC coefficients by combining inter prediction and intra prediction.
  • the following is an example of when the RAHT unit 2080 requests a prediction of an attribute value.
  • Attr pred W inter ⁇ Attr inter +W intra ⁇ Attr intra
  • Attr inter and Attr intra are the inter prediction and intra prediction of the attribute value, respectively.
  • W inter and W intra are the weights of the inter prediction and intra prediction, respectively.
  • the combination of inter prediction and intra prediction may be enabled only in a specific layer. For example, inter prediction and intra prediction may be enabled only when M ⁇ depth ⁇ N. A combination of intra predictions may be enabled. M may be any real number less than N and may be decoded as header information such as APS.
  • FIG. 20 is a diagram showing an example of functional blocks of the point cloud encoding device 100 according to this embodiment.
  • the point cloud encoding device 100 has a coordinate transformation unit 1010, a geometric information quantization unit 1020, a tree analysis unit 1030, an approximate surface analysis unit 1040, a geometric information encoding unit 1050, a geometric information reconstruction unit 1060, a color conversion unit 1070, an attribute transfer unit 1080, a RAHT unit 1090, an LoD calculation unit 1100, a lifting unit 1110, an attribute information quantization unit 1120, an attribute information encoding unit 1130, and a frame buffer 1140.
  • the coordinate conversion unit 1010 is configured to perform conversion processing from the three-dimensional coordinate system of the input point cloud to any different coordinate system.
  • the coordinate conversion may, for example, convert the x, y, and z coordinates of the input point cloud into any s, t, and u coordinates by rotating the input point cloud.
  • the coordinate system of the input point cloud may be used as is.
  • the geometric information quantization unit 1020 is configured to quantize the position information of the input point group after coordinate transformation and remove points with overlapping coordinates.
  • the quantization step size is 1, the position information of the input point group and the position information after quantization match. In other words, when the quantization step size is 1, it is equivalent to not performing quantization.
  • the tree analysis unit 1030 is configured to use position information of the quantized point cloud as input, and to generate an occurrence code that indicates at which node in the encoding target space the point exists, based on the tree structure described below.
  • the tree analysis unit 1030 is configured to generate a tree structure by recursively dividing the encoding target space into rectangular parallelepipeds.
  • a tree structure can be generated by recursively dividing the rectangular parallelepiped into multiple rectangular parallelepipeds until the rectangular parallelepiped reaches a specified size.
  • Each such rectangular parallelepiped is called a node.
  • Each rectangular parallelepiped generated by dividing a node is called a child node, and the occurrence code is expressed as 0 or 1 to indicate whether or not a point is contained within a child node.
  • the tree analysis unit 1030 is configured to generate an occupancy code while recursively dividing the node until it reaches a predetermined size.
  • a method called "Octree” can be used that recursively divides the above-mentioned rectangular parallelepiped into octrees, always treating the rectangular parallelepiped as a cube, and a method called “QtBt” can be used that divides the rectangular parallelepiped into quadtrees and binary trees in addition to the octree division.
  • the tree analysis unit 1030 determines the tree structure, and the determined tree structure is transmitted to the point cloud decoding device 200 as control data.
  • the tree-structured control data may be configured so that it can be decoded using the procedures described in Figures 9 and 18.
  • the approximate surface analysis unit 1040 is configured to generate approximate surface information using the tree information generated by the tree analysis unit 1030.
  • Approximate surface information is used to represent the area where the points are densely distributed on the object's surface, for example when decoding three-dimensional point cloud data of an object, by approximating the area where the points are present using a small plane, rather than decoding each point individually.
  • the approximate surface analysis unit 1040 may be configured to generate approximate surface information using, for example, a method called "Trisoup.” Furthermore, when decoding a sparse point cloud acquired by Lidar or the like, this process can be omitted.
  • the geometric information encoding unit 1050 is configured to generate a bit stream (geometric information bit stream) by encoding syntax such as the occupancy code generated by the tree analysis unit 1030 and the approximate surface information generated by the approximate surface analysis unit 1040.
  • the bit stream may include, for example, the syntax described in FIG. 4.
  • the encoding process is, for example, a context-adaptive binary arithmetic encoding process.
  • the syntax includes control data (flags and parameters) for controlling the decoding process of the position information.
  • the geometric information reconstruction unit 1060 is configured to reconstruct the geometric information of each point of the point cloud data to be encoded (the coordinate system assumed by the encoding process, i.e., the position information after the coordinate transformation in the coordinate transformation unit 1010) based on the tree information generated by the tree analysis unit 1030 and the approximate surface information generated by the approximate surface analysis unit 1040.
  • the frame buffer 1140 is configured to receive the geometric information reconstructed by the geometric information reconstruction unit 1060 and store it as a reference frame.
  • the stored reference frame is read from the frame buffer 1140 and used as the reference frame when the tree analysis unit 1030 performs inter-prediction of temporally different frames.
  • which reference frame to use for each frame may be determined based on, for example, the value of a cost function representing the encoding efficiency, and information on the reference frame to be used may be transmitted to the point cloud decoding device 200 as control data.
  • the color conversion unit 1070 is configured to perform color conversion when the input attribute information is color information. It is not necessary to perform color conversion, and whether or not to perform color conversion processing is coded as part of the control data and transmitted to the point cloud decoding device 200.
  • the attribute transfer unit 1080 is configured to correct the attribute values so as to minimize distortion of the attribute information, based on the position information of the input point cloud, the position information of the point cloud after reconstruction in the geometric information reconstruction unit 1060, and the attribute information after color change in the color conversion unit 1070.
  • a specific correction method for example, the method described in Non-Patent Document 1 can be applied.
  • the RAHT unit 1090 is configured to receive as input the attribute information transferred by the attribute transfer unit 1080 and the geometric information generated by the geometric information reconstruction unit 1060, and to generate residual information for each point using a type of Haar transform called RAHT (Region Adaptive Hierarchical Transform).
  • RAHT Regular Adaptive Hierarchical Transform
  • the information to be decoded is the direct current component (DC coefficient) and alternating current component (AC coefficient) of the attribute information generated by using RAHT in the encoding process, and in the decoding process, it is converted into attribute information by using the inverse transform of RAHT.
  • DC coefficient direct current component
  • AC coefficient alternating current component
  • RAHT RAHT Specific processing of RAHT can be performed, for example, using the method described in the above-mentioned non-patent document 1.
  • the LoD calculation unit 1100 is configured to receive the geometric information generated by the geometric information reconstruction unit 1060 and generate the LoD (Level of Detail).
  • LoD is information for defining the reference relationship (the referencing point and the referenced point) to realize predictive coding, such as predicting attribute information of a certain point from attribute information of another point and encoding or decoding the prediction residual.
  • LoD is information that defines a hierarchical structure in which each point contained in the geometric information is classified into multiple levels, and the attributes of points belonging to lower levels are encoded or decoded using attribute information of points belonging to higher levels.
  • the lifting unit 1110 is configured to generate residual information by a lifting process using the LoD generated by the LoD calculation unit 1100 and the attribute information after attribute transfer by the attribute transfer unit 1080.
  • the method described in the above-mentioned non-patent document 1 may be used.
  • the attribute information quantization unit 1120 is configured to quantize the residual information output from the RAHT unit 1090 or the lifting unit 1110.
  • a quantization step size of 1 is equivalent to no quantization being performed.
  • the attribute information encoding unit 1130 is configured to perform encoding processing using the quantized residual information output from the attribute information quantization unit 1120 as syntax, and generate a bit stream related to the attribute information (attribute information bit stream).
  • the encoding process is, for example, a context-adaptive binary arithmetic encoding process.
  • the syntax includes control data (flags and parameters) for controlling the decoding process of the attribute information.
  • the point cloud encoding device 100 is configured to perform encoding processing using the position information and attribute information of each point in the point cloud as input, and to output a geometric information bit stream and an attribute information bit stream through the above processing.
  • point cloud encoding device 100 and point cloud decoding device 200 may be realized as a program that causes a computer to execute each function (each process).
  • the present invention has been described using the point cloud encoding device 100 and the point cloud decoding device 200 as examples, but the present invention is not limited to such examples and can be similarly applied to a point cloud encoding/decoding system having the functions of the point cloud encoding device 100 and the point cloud decoding device 200.
  • Point cloud processing system 100 Point cloud encoding device 1010. Coordinate conversion unit 1020... Geometric information quantization unit 1030... Tree analysis unit 1040... Approximate surface analysis unit 1050... Geometric information encoding unit 1060... Geometric information reconstruction unit 1070... Color conversion unit 1080... Attribute transfer unit 1090... RAHT unit 1100... LoD calculation unit 1110... Lifting unit 1120... Attribute information quantization unit 1130...
  • Attribute Information encoding unit 1140 For example, attribute Information encoding unit 1140...frame buffer 200...point cloud decoding device 2010...geometric information decoding unit 2020...tree synthesis unit 2030...approximate surface synthesis unit 2040...geometric information reconstruction unit 2050...inverse coordinate transformation unit 2060...attribute information decoding unit 2070...inverse quantization unit 2080...RAHT unit 2090...LoD calculation unit 2100...inverse lifting unit 2110...inverse color transformation unit 2120...frame buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
PCT/JP2024/008607 2023-07-07 2024-03-06 点群復号装置、点群復号方法及びプログラム Ceased WO2025013343A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US19/422,130 US20260105645A1 (en) 2023-07-07 2025-12-16 Point cloud decoding device, point cloud decoding method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023112555A JP2025009504A (ja) 2023-07-07 2023-07-07 点群復号装置、点群復号方法及びプログラム
JP2023-112555 2023-07-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US19/422,130 Continuation US20260105645A1 (en) 2023-07-07 2025-12-16 Point cloud decoding device, point cloud decoding method, and program

Publications (1)

Publication Number Publication Date
WO2025013343A1 true WO2025013343A1 (ja) 2025-01-16

Family

ID=94215067

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/008607 Ceased WO2025013343A1 (ja) 2023-07-07 2024-03-06 点群復号装置、点群復号方法及びプログラム

Country Status (3)

Country Link
US (1) US20260105645A1 (https=)
JP (1) JP2025009504A (https=)
WO (1) WO2025013343A1 (https=)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210327097A1 (en) * 2020-04-08 2021-10-21 Qualcomm Incorporated Global scaling for point cloud data
US20220207780A1 (en) * 2020-12-29 2022-06-30 Qualcomm Incorporated Inter prediction coding for geometry point cloud compression
US20220321913A1 (en) * 2021-04-05 2022-10-06 Qualcomm Incorporated Residual coding for geometry point cloud compression

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210327097A1 (en) * 2020-04-08 2021-10-21 Qualcomm Incorporated Global scaling for point cloud data
US20220207780A1 (en) * 2020-12-29 2022-06-30 Qualcomm Incorporated Inter prediction coding for geometry point cloud compression
US20220321913A1 (en) * 2021-04-05 2022-10-06 Qualcomm Incorporated Residual coding for geometry point cloud compression

Also Published As

Publication number Publication date
US20260105645A1 (en) 2026-04-16
JP2025009504A (ja) 2025-01-20

Similar Documents

Publication Publication Date Title
KR102340238B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102386712B1 (ko) 포인트 클라우드 데이터 전송 장치, 전송 방법, 처리 장치 및 처리 방법
TW202234884A (zh) 用於幾何點雲壓縮的幀間預測譯碼
US20250220230A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021256486A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2021140930A1 (ja) 情報処理装置および方法
JP2015502100A (ja) 終了可能な空間ツリー型位置符号化および復号
JP7544049B2 (ja) 情報処理装置および方法
WO2024014043A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
JP7505954B2 (ja) 点群復号装置、点群復号方法及びプログラム
WO2024214442A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2025013343A1 (ja) 点群復号装置、点群復号方法及びプログラム
JP2025009505A (ja) 点群復号装置、点群復号方法及びプログラム
JP2025009525A (ja) 点群復号装置、点群復号方法及びプログラム
JP7851868B2 (ja) 点群復号装置、点群復号方法及びプログラム
WO2025150285A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2025150284A1 (ja) 点群復号装置、点群復号方法及びプログラム
JP2025009524A (ja) 点群復号装置、点群復号方法及びプログラム
CN120693867A (zh) 解码方法、编码方法、解码器以及编码器
WO2025074665A1 (ja) 点群復号装置、点群復号方法及びプログラム
JP7829505B2 (ja) 点群復号装置、点群復号方法及びプログラム
WO2025074660A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2025150310A1 (ja) 点群復号装置、点群復号方法及びプログラム
JP7773961B2 (ja) 点群復号装置、点群復号方法及びプログラム
WO2025150309A1 (ja) 点群復号装置、点群復号方法及びプログラム

Legal Events

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

Ref document number: 24839241

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE