WO2023277128A1 - Point cloud decoding device, point cloud decoding method, and program - Google Patents

Point cloud decoding device, point cloud decoding method, and program Download PDF

Info

Publication number
WO2023277128A1
WO2023277128A1 PCT/JP2022/026209 JP2022026209W WO2023277128A1 WO 2023277128 A1 WO2023277128 A1 WO 2023277128A1 JP 2022026209 W JP2022026209 W JP 2022026209W WO 2023277128 A1 WO2023277128 A1 WO 2023277128A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
point cloud
trisoup
point
upsampling
Prior art date
Application number
PCT/JP2022/026209
Other languages
French (fr)
Japanese (ja)
Inventor
恭平 海野
圭 河村
Original Assignee
Kddi株式会社
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株式会社 filed Critical Kddi株式会社
Publication of WO2023277128A1 publication Critical patent/WO2023277128A1/en

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to a point cloud decoding device, a point cloud decoding method, and a program.
  • Non-Patent Document 1 discloses an inter-prediction technique for geometric information.
  • Non-Patent Document 1 based on the distribution of points in the motion-compensated reference point group, the presence or absence of points in each subspace (node) of the point group to be encoded is estimated. At this time, especially when both the reference point group and the encoding target point group are sparse, there is a problem that if there is even a slight deviation in the result of motion compensation, the correlation in the time direction cannot be fully utilized.
  • the present invention has been made in view of the above-mentioned problems, and a point cloud decoding device and a point cloud decoding method that can increase the encoding efficiency by inter prediction of position information by upsampling the reference point cloud. and to provide programs.
  • a first feature of the present invention is a point cloud decoding device, a geometric information reconstruction unit configured to reconstruct position information of the point cloud, and a geometric information reconstructed by the geometric information reconstruction unit an upsampling unit configured to upsample a point cloud; and a tree synthesis unit configured to perform inter prediction with reference to the upsampled point cloud, the upsampling unit is configured to calculate an offset vector from the coordinates of each point in the reconstructed point group, and perform upsampling using the offset vector.
  • a second feature of the present invention is a point cloud decoding device comprising a geometric information decoding unit configured to decode a first flag that controls whether or not Trisoup at multiple levels is permitted. is the gist.
  • a third feature of the present invention is a point group decoding method, which includes a geometric information reconstruction unit configured to reconstruct position information of the point cloud, and A step A of upsampling a point cloud, and a step B of performing inter prediction with reference to the upsampled point cloud, wherein in the step A, from the coordinates of each point in the reconstructed point cloud
  • the gist is to calculate an offset vector and perform upsampling using the offset vector.
  • a fourth feature of the present invention is a program for causing a computer to function as a point cloud decoding device, wherein the point cloud decoding device is configured to reconstruct position information of a point cloud for geometric information reconstruction.
  • an upsampling unit configured to upsample the point cloud reconstructed by the geometric information reconstruction unit; and an inter prediction with reference to the upsampled point cloud.
  • a tree synthesizing unit configured to calculate an offset vector from the coordinates of each point in the reconstructed point cloud, and perform upsampling using the offset vector.
  • a point cloud decoding device it is possible to provide a point cloud decoding device, a point cloud decoding method, and a program that can improve the encoding efficiency of position information based on inter prediction by upsampling the reference point cloud.
  • FIG. 1 is a diagram showing an example of the configuration of a point cloud processing system 10 according to one embodiment.
  • FIG. 2 is a diagram showing an example of functional blocks of the point cloud decoding device 200 according to one embodiment.
  • FIG. 3 is a diagram showing an example of the configuration of encoded data (bitstream) received by the geometric information decoding unit 2010 of the point group decoding device 200 according to one embodiment.
  • FIG. 4 is a diagram showing an example of the syntax configuration of GPS2011.
  • FIG. 5 is a flowchart showing an example of upsampling in the upsampling unit 2120 of the point cloud decoding device 200 according to one embodiment.
  • FIG. 6A is a diagram for explaining the operation of the upsampling unit 2120 of the point cloud decoding device 200 according to one embodiment.
  • FIG. 6B is a diagram for explaining the operation of the upsampling unit 2120 of the point cloud decoding device 200 according to one embodiment.
  • FIG. 7 is a flowchart showing an example of processing in the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment.
  • FIG. 8 is a flowchart showing an example of decoding processing of Trisoup information by the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment.
  • FIG. 9 is a diagram showing an example of functional blocks of the point cloud encoding device 100 according to one embodiment.
  • FIG. 10 is a diagram showing an example of functional blocks of the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment.
  • FIG. 1 is a diagram showing a point cloud processing system 10 according to an embodiment according to this embodiment.
  • the point cloud processing system 10 has 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 (bitstream) 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 bitstream.
  • 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 bitstream may be transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 via a transmission channel.
  • the bitstream 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 includes 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 It has information decoding section 2060 , inverse quantization section 2070 , RAHT section 2080 , LoD calculation section 2090 , inverse lifting section 2100 , inverse color conversion section 2110 , upsampling section 2120 and frame buffer 2130 .
  • the geometric information decoding unit 2010 is configured to receive as input a bitstream related to geometric information (geometric information bitstream) among the bitstreams output from the point cloud encoding device 100 and decode the syntax.
  • the decoding process is, for example, context adaptive binary arithmetic decoding process.
  • the syntax includes control data (flags and parameters) for controlling decoding processing of position information.
  • the tree synthesizing unit 2020 receives the control data decoded by the geometric information decoding unit 2010 and an occupancy code indicating in which node in the tree described later the point group exists, and determines in which region in the decoding target space the point is located. It is configured to generate tree information that exists.
  • the decoding process of the occupancy code may be configured to be performed inside the tree synthesizing unit 2020 .
  • This process divides the decoding target space into rectangular parallelepipeds, refers to the occupancy code to determine whether points exist in each rectangular parallelepiped, divides the rectangular parallelepiped in which the points exist into multiple rectangular parallelepipeds, and refers to the occupancy code.
  • Tree information can be generated by recursively repeating the process.
  • inter prediction which will be described later, may be used when decoding such an occupancy code.
  • a method called "Octree” that recursively divides the octree with the above-mentioned rectangular parallelepiped always as a cube, and "QtBt” that performs quadtree division and binary tree division in addition to octree division can be used. Whether or not to use "QtBt" is transmitted from the point group encoding device 100 side as control data.
  • the tree synthesis unit 2020 is configured to decode the coordinates of each point based on any tree configuration determined in the point cloud encoding device 100. ing.
  • the approximate surface synthesizing unit 2030 is configured to generate approximate surface information using the tree information generated by the tree synthesizing unit 2020, and decode the point group based on the approximate surface information.
  • the approximate surface information is obtained by decoding the points instead of decoding individual point clouds. It is an approximation of the existence area of the group with a small plane.
  • the approximate surface synthesizing unit 2030 can generate approximate surface information and decode the point group by, for example, a technique called "Trisoup". A specific processing example of "Trisoup” will be described later. Also, when decoding a sparse point group acquired by Lidar or the like, this process can be omitted.
  • the geometric information reconstruction unit 2040 reconstructs geometric information (decoding process position information in the coordinate system assumed by ).
  • the inverse coordinate transformation unit 2050 receives as input the geometric information reconstructed by the geometric information reconstruction unit 2040, transforms the coordinate system assumed by the decoding process into the coordinate system of the output point group signal, and converts the position information. configured to output.
  • the upsampling unit 2120 is configured to receive the geometric information reconstructed by the geometric information reconstructing unit 2040 and perform upsampling processing as described later.
  • the frame buffer 2130 is configured to receive the point cloud upsampled by the upsampling unit 2120 and store it as a reference frame.
  • the stored reference frames are read from the frame buffer 2130 and used as reference frames when the tree synthesis unit 2020 inter-predicts temporally different frames.
  • whether or not to use a reference frame at which time for each frame may be determined, for example, based on control data transmitted as a bitstream from the point group encoding device 100.
  • the geometric information output from the geometric information reconstruction unit 2040 is stored in the frame buffer 2130 as a reference frame, and then the reference frame stored in the frame buffer 2130 is used when inter prediction is performed by the tree synthesis unit 2020. may be up-sampled by the up-sampling unit 2120 and then input to the tree synthesis unit 2020 .
  • the upsampling unit 2120 may be configured to be included inside the tree synthesis unit 2020, as shown in FIG.
  • the configuration example shown in FIG. 10 will be described below.
  • the tree synthesizing unit 2020 acquires from the frame buffer 2130 an already-decoded point cloud that is different in time from the point cloud to be decoded, and inputs it to the motion compensation unit 2021 .
  • the motion compensation unit 2021 is configured to perform motion compensation using motion information (motion vectors, etc.) decoded from control data. Since a known method can be applied to a specific motion compensation method, details thereof are omitted.
  • the motion compensation unit 2021 may be configured to perform class classification processing on each point in the decoded point group and apply different motion compensation processing to each class.
  • the motion compensation unit 2021 may be configured to assign a class of either "ground” or "object” to each point, and apply motion compensation only to points considered to be "object”.
  • the upsampling unit 2021 is configured to input the motion-compensated point group and perform upsampling processing as described later.
  • the upsampling unit 2021 may be configured to perform upsampling processing only for a specific class.
  • the upsampling unit 2021 may be configured to perform upsampling processing only on the "ground” points, or to perform upsampling processing only on the "object” points.
  • the upsampling unit 2021 when the above-described class classification is performed based on the value of the z-axis coordinate (height component) of each point, the upsampling unit 2021 performs motion compensation based on the z-coordinate of each point in the point group. Alternatively, it may be configured to control whether or not to execute the upsampling process.
  • the sampler 2021 may be configured to perform upsampling.
  • the upsampler 2021 may be configured to perform upsampling.
  • the second threshold is a value greater than the first threshold.
  • the probability estimation unit 2022 is configured to estimate the probability that the value of each bit of the occurrence code is 0 or that the value of each bit of the occurrence code is 1, using the point group after upsampling as input. ing.
  • the occupation information decoding unit 2023 is configured to decode the occupation code by entropy decoding based on the probability estimated by the probability estimation unit 2022 .
  • the tree configuration unit 2024 is configured to configure a tree based on the above-mentioned Occupancy Code value.
  • the attribute information decoding unit 2060 is configured to receive a bitstream related to attribute information (attribute information bitstream) among the bitstreams output from the point cloud encoding device 100 and decode the syntax.
  • the decoding process is, for example, context adaptive binary arithmetic decoding process.
  • the syntax includes control data (flags and parameters) for controlling attribute information decoding processing.
  • the attribute information decoding unit 2060 is configured to decode the quantized residual information from the decoded syntax.
  • the inverse quantization unit 2070 performs inverse quantization 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. and configured to generate dequantized residual information.
  • the inverse quantized residual information is output to either the RAHT section 2080 or the LoD calculation section 2090 according to the features of the point cloud to be decoded. Which one is output is specified by control data decoded by attribute information decoding section 2060 .
  • the RAHT unit 2080 receives as input the inverse quantized residual information generated by the inverse quantization unit 2070 and the geometric information generated by the geometric information reconstruction unit 2040, and performs a Haar transform called RAHT (Region Adaptive Hierarchical Transform) ( In the decoding process, a kind of inverse Haar transform is used to decode the attribute information of each point.
  • RAHT Region Adaptive Hierarchical Transform
  • a kind of inverse Haar transform is used to decode the attribute information of each point.
  • the LoD calculation unit 2090 is configured to receive the geometric information generated by the geometric information reconstruction unit 2040 and generate LoD (Level of Detail).
  • LoD is a reference relationship (referred point and referenced point ) is information for defining
  • LoD classifies each point included in geometric information into a plurality of levels, and encodes or decodes the attributes of points belonging to lower levels using attribute information of points belonging to higher levels. This is information that defines the structure.
  • Non-Patent Document 1 As a specific method for determining LoD, for example, the method described in Non-Patent Document 1 may be used.
  • the inverse lifting unit 2100 uses the LoD generated by the LoD calculation unit 2090 and the inverse quantized residual information generated by the inverse quantization unit 2070 to determine the attribute information of each point based on the hierarchical structure defined by the LoD. is configured to decode the As a specific reverse lifting process, for example, the method described in Non-Patent Document 1 can be used.
  • the inverse color conversion unit 2110 uses 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 side of the point cloud encoding device 100. is configured to perform inverse color conversion processing. Whether or not to execute the inverse color conversion process 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 the attribute information of each point in the point cloud through the above processing.
  • FIG. 3 is an example of the structure of encoded data (bitstream) received by the geometric information decoding unit 2010.
  • FIG. 3 is an example of the structure of encoded data (bitstream) received by the geometric information decoding unit 2010.
  • the bitstream may contain GPS2011.
  • GPS2011 is also called a geometry parameter set, and is a set of control data related to decoding of geometric information. A specific example will be described later.
  • Each GPS 2011 includes at least GPS id information for individual identification when multiple GPS 2011 exist.
  • the bitstream may contain GSH2012A/2012B.
  • GSH2012A/2012B is also called geometry slice header or geometry data unit header, and is a set of control data corresponding to slices described later.
  • the term “slice” will be used, but the term “slice” can also be read as a data unit. A specific example will be described later.
  • GSH 2012A/2012B includes at least GPS id information for designating GPS 2011 corresponding to each GSH 2012A/2012B.
  • the bitstream may contain slice data 2013A/2013B next to GSH 2012A/2012B.
  • the slice data 2013A/2013B includes data obtained by encoding geometric information.
  • An example of the slice data 2013A/2013B is an occupancy code, which will be described later.
  • the bitstream has a configuration in which one GSH 2012A/2012B and one GPS 2011 correspond to each slice data 2013A/2013B.
  • GSH2012A/2012B which GPS 2011 to refer to is designated by GPS id information, so a common GPS 2011 can be used for multiple slice data 2013A/2013B.
  • GPS2011 does not necessarily need to transmit for each slice.
  • FIG. 3 it is possible to configure a bitstream such that GPS 2011 is not encoded immediately before GSH 2012B and slice data 2013B.
  • FIG. 3 is just 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 bitstream.
  • the bitstream may include a sequence parameter set (SPS) 2001, as shown in FIG. Also, in the same way, it may be shaped into a configuration different from that in FIG. 3 at the time of transmission. Furthermore, it may be combined with a bitstream decoded by the attribute information decoding unit 2060, which will be described later, and transmitted as a single bitstream.
  • SPS sequence parameter set
  • FIG. 4 is an example of the syntax configuration of GPS2011.
  • syntax name explained below is just an example. As long as the functionality of the syntaxes described below is similar, the syntax names can be different.
  • the GPS 2011 may include GPS id information (gps_geom_parameter_set_id) for identifying each GPS 2011.
  • the Descriptor column in FIG. 4 means how each syntax is encoded.
  • ue(v) means an unsigned zero-order exponential Golomb code, and u(1) means a 1-bit flag.
  • the GPS 2011 may include a flag (interprediction_enabled_flag) that controls whether or not the tree synthesis unit 2020 performs inter prediction.
  • inter prediction is not performed when the value of interpretation_enabled_flag is "0", and that inter prediction is performed when the value of interpretation_enabled_flag is "1".
  • interpretation_enabled_flag may be included in the SPS2001 instead of the GPS2011.
  • the geometric information decoding unit 2020 may be configured to additionally decode the following syntax when performing inter prediction, that is, when the value of the interpolation_enabled_flag is "1".
  • the GPS 2011 may include a flag (reference_upsampling_enabled_flag) that controls whether to apply upsampling by the upsampling unit 2120 when performing inter prediction.
  • a flag reference_upsampling_enabled_flag
  • upsampling is not applied when the value of reference_upsampling_enabled_flag is "0", and that upsampling is applied when the value of reference_upsampling_enabled_flag is "1".
  • the geometric information decoding unit 2020 may be configured to additionally decode the following syntax when upsampling is applied, that is, when the value of reference_upsampling_enabled_flag is "1".
  • the GPS 2011 may include syntax (upsampling_number_div2) that controls the number of upsampling points. How to specifically use the value of the syntax will be described later.
  • the GPS 2011 may include a syntax (upsampling_interval) that controls the interval between upsampling points. How to specifically use the value of the syntax will be described later.
  • upsampling_interval a syntax that controls the interval between upsampling points. How to specifically use the value of the syntax will be described later.
  • the GPS 2011 may include a flag (trisoup_enabled_flag) that controls whether Trisoup is used in the approximate surface synthesis unit 2030.
  • Trisoup is not used when the value of trisoup_enabled_flag is "0", and that Trisoup is used when the value of trisoup_enabled_flag is "1".
  • the geometric information decoding unit 2020 may be configured to additionally decode the following syntax when using Trisoup, that is, when the value of trisoup_enabled_flag is "1".
  • trisoup_enabled_flag may be included in SPS2001 instead of GPS2011.
  • the GPS 2011 may include a flag (trisoup_multilevel_enabled_flag, first flag) that controls whether to allow Trisoup at multiple levels.
  • Trisoup_multilevel_enabled_flag when the value of trisoup_multilevel_enabled_flag is '0', Trisoup at multiple levels is not permitted. It may be defined that Trisoup is allowed.
  • the value of the syntax may be regarded as the value for Trisoup at a single level, that is, "0".
  • trisoup_multilevel_enabled_flag may be defined to be included in SPS2001 instead of GPS2011.
  • the value of the syntax may be regarded as the value for Trisoup at a single level, ie, "0".
  • the geometric information decoding unit 2020 may be configured to additionally decode the following syntax when trisoup at multiple levels is permitted, that is, when the value of trisoup_multilevel_enabled_flag is "1".
  • the GPS 2011 may include syntax (log2_trisoup_max_node_size_minus3) that defines the maximum value of the Trisoup node size when allowing Trisoup at multiple levels.
  • the syntax may be expressed as a logarithmic value with base 2 for the maximum value of the actual Trisoup node size. Further, the syntax may express the maximum value of the actual Trisoup node size as a value obtained by subtracting 3 after converting to base 2 logarithm.
  • the GPS 2011 may include syntax (log2_trisoup_min_node_size_minus3) that defines the minimum value of the Trisoup node size when allowing Trisoup at multiple levels.
  • the syntax may be expressed as a logarithmic value with base 2 for the minimum value of the actual Trisoup node size. Furthermore, the syntax may express the minimum value of the actual Trisoup node size as a value after converting to base 2 logarithm and then subtracting 3.
  • the value of the syntax may be constrained to always be 0 or more and log2_trisoup_max_node_size_minus3 or less.
  • the geometric information decoding unit 2020 may be configured to additionally decode the following syntax when Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0".
  • the GPS 2011 may include syntax (log2_trisoup_node_size_minus3) to specify the Trisoup node size when not allowing Trisoup at multiple levels.
  • the syntax may be expressed as a logarithmic value with base 2 for the actual Trisoup node size. Further, the syntax may express the actual Trisoup node size as a value after converting to base 2 logarithm and then subtracting 3.
  • Up-sampling unit 2120 Upsampling in the upsampling section 2120 will be described below with reference to FIGS. 5 and 6. FIG.
  • FIG. 5 is a flowchart showing an example of upsampling in the upsampling section 2120.
  • step S501 the upsampling unit 2120 performs upsampling on all points included in the point group reconstructed from the geometric information output from the geometric information reconstructing unit, that is, the positional information. Determine whether it is finished.
  • the upsampling unit 2120 ends the process in step S504. On the other hand, if the processing of all points has not been completed, the upsampling unit 2120 proceeds to step S502.
  • step S502 the upsampling unit 2120 calculates an offset vector.
  • the offset vector vu may be calculated as normalized so that the L2 norm of vu is 1, for example. That is, the upsampling section 2120 may calculate the offset vector vu based on the following equation.
  • vu vp/(X2+Y2+Z2)1/2
  • the upsampling section 2120 may use approximate calculations to perform integer operations for the square root calculation and division described above. Also, in the approximate calculation described above, if the absolute value of vp is too small, the error due to the integer calculation becomes too large, so i ⁇ vu, which will be described later, may be obtained instead of vu.
  • the offset vector vu is calculated as a vector that points in the same direction as the vector vp that points to the point P starting from the origin O and that has a predetermined size (for example, L2 norm) for the point P to be up-sampled. For example, it may be calculated by a method other than the above.
  • the offset vector vu is calculated so as to be normal to the spherical surface, it can be calculated by a method other than the above. I don't mind.
  • the upsampling section 2120 may derive the offset vector vu by a method that includes some approximation errors with respect to the direction and magnitude described above.
  • the upsampling unit 2120 moves to step S503.
  • step S503 the upsampling unit 2120 performs upsampling based on the offset vector vu calculated in step S502.
  • FIG. 6A shows an example of how the point P looks after upsampling.
  • i shown in FIG. 6B is a parameter that controls the upsampling interval, and a value decoded as the syntax (upsampling_interval) that controls the interval of the upsampling points included in GPS2011 is used.
  • N shown in FIG. 6B is a parameter that controls the number of points generated by upsampling for one input point, and the value decoded as the syntax (upsampling_number_div2) that controls the number of upsampling points included in GPS2011 is use.
  • Upsampling can be realized, for example, by adding a point having a coordinate value vs as follows, where vp is the coordinate of point P.
  • 2N points are added to one input point by upsampling.
  • the upsampling unit 2120 After performing upsampling as described above, the upsampling unit 2120 returns to step S501 and performs the following processing.
  • FIG. 7 is a flowchart showing an example of processing in the tree synthesizing unit 2020. As shown in FIG. An example of synthesizing a tree using "Octree" will be described below.
  • step S701 the tree synthesizing unit 2020 confirms whether or not all depth processes have been completed.
  • the depth number may be included as control data in a bitstream transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 .
  • the tree synthesizing unit 2020 calculates the node size of the depth.
  • the initial Depth node size may be defined as '2 raised to the power of Depth'. That is, when the depth number is N, the node size of the first depth may be defined as 2 to the Nth power.
  • the node size at the second and subsequent Depths may be defined by decreasing the number of N by one. That is, the node size of the second depth is defined as "2 to the (N-1) power", the node size of the third depth is defined as "2 to the (N-2) power", . may be defined as
  • node size is always defined as a power of 2
  • the value of the exponent part (N, N ⁇ 1, N ⁇ 2, etc.) may be simply considered as the node size.
  • node size refers to the value of the exponent part.
  • step S709 the tree synthesis unit 2020 proceeds to step S702.
  • the tree synthesizing unit 2020 processes The depth number may be varied based on the value of the syntax that defines the minimum value of the Trisoup node size (log2_trisoup_min_node_size_minus3) or the syntax that defines the Trisoup node size (log2_trisoup_node_size_minus3). In such a case, for example, it may be defined as follows.
  • Trisoup node size can be defined by, for example, (log2_trisoup_min_node_size_minus3+3).
  • the Trisoup node size can be defined as (log2_trisoup_node_size_minus3+3).
  • step S709 if the processing for all the processing depth numbers has been completed, the tree synthesizing unit 2020 proceeds to step S709; otherwise, the tree synthesizing unit 2020 proceeds to step S702.
  • the tree synthesizing unit 2020 may determine that Trisoup is applied to all nodes having a node size (N-number of processing depths) when proceeding to step S709.
  • step S702 the tree synthesizing unit 2020 determines whether it is necessary to decode Trisoup_applied_flag, which will be described later, at the relevant depth.
  • the tree synthesizing unit 2020 may determine that "decoding of Trisoup_applied_flag is required”.
  • the tree synthesis unit 2020 may determine that "decoding of Trisoup_applied_flag is unnecessary" when the above condition is not satisfied.
  • the maximum Trisoup node size can be defined, for example, by (log2_trisoup_max_node_size_minus3+3).
  • step S703 the tree synthesizing unit 2020 determines whether or not all nodes included in the depth have been processed.
  • the tree synthesizing unit 2020 moves to step S701 and performs the processing of the next depth.
  • step S704 the tree synthesizing unit 2020 confirms whether decoding of the Trisoup_applied_flag determined in step S702 is necessary.
  • step S705 If it is determined that decoding of Trisoup_applied_flag is necessary, the tree synthesizing unit 2020 proceeds to step S705, and if it is determined that decoding of Trisoup_applied_flag is not required, the tree synthesizing unit 2020 proceeds to step S708. .
  • step S705 the tree synthesizing unit 2020 decodes Trisoup_applied_flag.
  • Trisoup_applied_flag is a 1-bit flag (second flag) that indicates whether or not Trisoup is applied to the target node. For example, it may be defined that Trisoup is applied to the target node when the flag value is "1", and that Trisoup is not applied to the target node when the flag value is "0".
  • the tree synthesizing unit 2020 moves to step S706.
  • step S706 the tree synthesizing unit 2020 checks the value of Trisoup_applied_flag decoded in step S705.
  • step S707 the tree synthesizing unit 2020 stores the target node as a node to which Trisoup is applied, that is, as a Trisoup node. It is assumed that the node division by "Octree" is no longer applied to such a target node. After that, the tree synthesizing unit 2020 advances to step S703 to process the next node.
  • step S708 the tree synthesizing unit 2020 decodes the information called the occpancy code.
  • the occpancy code is divided into 8 nodes (called child nodes) by dividing the target node in half along the x, y, and z axes. This is information indicating whether or not a point to be decoded is included.
  • the occupation code assigns 1-bit information to each child node, and if the 1-bit information is "1", it is defined that the point to be decoded is included in the child node. If the bit information is '0', it may be defined that the point to be decoded is not included in the child node.
  • the tree synthesizing unit 2020 When decoding such an occurrence code, the tree synthesizing unit 2020 pre-estimates the probability that each child node has a point to be decoded, and entropy-decodes the bits corresponding to each child node based on the probability. good.
  • the point group encoding device 100 may perform entropy encoding.
  • inter-prediction may be used to estimate such probabilities.
  • the method described in Non-Patent Document 1 can be applied.
  • a point cloud upsampled by the upsampling unit 2120 may be used as a reference point cloud for inter prediction.
  • the tree synthesizing unit 2020 advances to step S703 to process the next node.
  • step S709 the tree synthesizing unit 2020 decodes the Trisoup information.
  • the tree synthesizing unit 2020 executes the process of step S709 only when Trisoup is used, that is, when the value of trisoup_enabled_flag is "1". That is, if Trisoup is not used, tree synthesizing section 2020 advances to step S710 and terminates the process.
  • FIG. 8 is a flowchart showing an example of decoding processing for Trisoup information.
  • step S801 the tree synthesizing unit 2020 decodes syntax that controls sampling intervals of decoding points.
  • step S802 the tree synthesizing unit 2020 determines whether the processing of all Trisoup hierarchies has been completed.
  • the total number of Trisoup hierarchies can be defined as follows.
  • the total number of Trisoup layers can be defined as (maximum Trisoup node size - minimum Trisoup node size + 1).
  • the total number of Trisoup hierarchies can be defined by (log2_trisoup_max_node_size_minus3 ⁇ log2_trisoup_min_node_size_minus3+1).
  • Trisoup at multiple levels that is, when the value of trisoup_multilevel_enabled_flag is "0", the total number of Trisoup layers is 1.
  • the tree synthesizing unit 2020 proceeds to step S807 and ends the processing. If the processing of all Trisoup hierarchies has not been completed, the tree synthesizing unit 2020 moves to step S803.
  • step S803 the tree synthesizing unit 2020 decodes the number of unique segments in the Trisoup hierarchy.
  • the number of unique segments is the number of sides forming a Trisoup node belonging to the Trisoup hierarchy.
  • step S803 instead of decoding the number of unique segments, the tree synthesizing unit 2020 may decode a flag indicating whether (one or more) unique segments exist in the Trisoup hierarchy as described above. .
  • Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0", it is obvious that a unique segment exists in the Trisoup hierarchy. may omit the decoding of the flag indicating whether there is (one or more) unique segments in .
  • the tree synthesizing unit 2020 moves to step S804.
  • step S804 the tree synthesizing unit 2020 confirms the number of unique segments belonging to the Trisoup hierarchy.
  • the tree synthesizing unit 2020 proceeds to step S802 to proceed to the processing of the next Trisoup hierarchy.
  • step S803 when the flag indicating whether (one or more) unique segments exist in the Trisoup hierarchy is decoded in step S803, the tree synthesizing unit 2020 determines that the Trisoup hierarchy contains unique segments. After decoding the number of unique segments in the layer, the process proceeds to step S805, and if there is no unique segment in the Trisoup layer, the process proceeds to step S802.
  • step S805 the tree synthesizing unit 2020 decodes whether each unique segment includes a vertex used for Trisoup processing.
  • the number of vertices that can exist for each unique segment may be limited to only one point.
  • the tree synthesizing unit 2020 moves to step S806.
  • step S806 the tree synthesizing unit 2020 decodes position information indicating where the vertex exists on each unique segment for each unique segment determined to have a vertex in step S805.
  • the position information may be encoded with an L-bit equal-length code.
  • the tree synthesizing unit 2020 After decoding the vertex positions for all unique segments having vertices in the Trisoup hierarchy, the tree synthesizing unit 2020 proceeds to step S802 to proceed to the processing of the next Trisoup hierarchy.
  • FIG. 9 is a diagram showing an example of functional blocks of the point group encoding device 100 according to this embodiment.
  • the point group encoding device 100 includes 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, Geometric information reconstruction unit 1060, color conversion unit 1070, attribute transfer unit 1080, RAHT unit 1090, LoD calculation unit 1100, lifting unit 1110, attribute information quantization unit 1120, attribute information encoding unit 1130 , an up-sampling unit 1140 and a frame buffer 1150 .
  • the coordinate transformation unit 1010 is configured to perform transformation processing from the three-dimensional coordinate system of the input point group to any different coordinate system. Coordinate transformation may transform the x, y, z coordinates of the input point cloud to arbitrary s, t, u coordinates, for example, by rotating the input point cloud. Also, as one variation of transformation, the coordinate system of the input point cloud may be used as it 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. Note that when the quantization step size is 1, the position information of the input point group matches the position information after quantization. That is, when the quantization step size is 1, it is equivalent to not performing quantization.
  • the tree analysis unit 1030 is configured to receive the position information of the quantized point group as input and generate an occupancy code indicating at which node in the encoding target space the point exists based on the tree structure described later. It is
  • the tree analysis unit 1030 is configured to generate a tree structure in this process by recursively partitioning the encoding target space into rectangular parallelepipeds.
  • a tree structure can be generated by recursively executing the process of dividing the rectangular parallelepiped into multiple rectangular parallelepipeds until the rectangular parallelepipeds reach a predetermined size.
  • Each rectangular parallelepiped is called a node.
  • each rectangular parallelepiped generated by dividing a node is called a child node, and an occupancy code is expressed by 0 or 1 as to whether or not a point is included in the child node.
  • the tree analysis unit 1030 is configured to generate an occupancy code while recursively dividing a node until it reaches a predetermined size.
  • 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.
  • tree-structured control data may be configured so that it can be decoded according to the procedure described in FIGS.
  • the approximate surface analysis unit 1040 is configured to use the tree information generated by the tree analysis unit 1030 to generate approximate surface information.
  • the approximate surface information is obtained by decoding the points instead of decoding individual point clouds. It is an approximation of the existence area of the group with a small plane.
  • the approximate surface analysis unit 1040 may be configured to generate approximate surface information by, for example, a technique called “Trisoup”. Also, when decoding a sparse point group acquired by Lidar or the like, this process can be omitted.
  • the geometric information encoding unit 1050 encodes 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 to generate a bitstream (geometric information bitstream).
  • the bitstream may contain, for example, the syntax described in FIG.
  • the encoding process is, for example, context adaptive binary arithmetic encoding process.
  • the syntax includes control data (flags and parameters) for controlling decoding processing of position information.
  • the geometric information reconstruction unit 1060 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 geometric information reconstruction unit 1060 generates geometric information (code It is configured to reconstruct the coordinate system assumed by the transformation processing, that is, the position information after the coordinate transformation in the coordinate transformation unit 1010).
  • the upsampling unit 1140 is configured to receive the geometric information reconstructed by the geometric information reconstructing unit 1060 and perform the upsampling described with reference to FIGS. 5 and 6, for example.
  • the frame buffer 1150 is configured to receive the point cloud upsampled by the upsampling unit 1140 and store it as a reference frame.
  • the stored reference frames are read from the frame buffer 1150 and used as reference frames when the tree analysis unit 1030 inter-predicts temporally different frames.
  • whether or not the reference frame at which time is to be used for each frame is determined, for example, based on the value of the cost function representing the coding efficiency, and the information of the reference frame to be used is used as control data for the point group decoding device. 200.
  • the geometric information output from the geometric information reconstruction unit 1060 is stored in the frame buffer 1150 as a reference frame, and then the reference frame stored in the frame buffer 1150 is used when inter prediction is performed by the tree analysis unit 1030. may be up-sampled by up-sampling section 1140 and then input to tree analysis section 1030 .
  • the upsampling unit 1140 may be configured to be included inside the tree analysis unit 1030 .
  • the color conversion unit 1070 is configured to perform color conversion when the input attribute information is color information. Color conversion does not necessarily need to be executed, and whether or not to execute color conversion processing is encoded as part of control data and transmitted to the point cloud decoding device 200 .
  • the attribute transfer unit 1080 performs distortion of attribute information based on the position information of the input point group, the position information of the point group after reconstruction by the geometric information reconstruction unit 1060, and the attribute information after color change by the color conversion unit 1070. is configured to correct the attribute value so that is minimized.
  • a specific correction method for example, the method described in Non-Patent Document 2 can be applied.
  • the RAHT unit 1090 receives 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 uses a type of Haar transformation called RAHT (Region Adaptive Hierarchical Transform) to transform each configured to generate point residual information;
  • RAHT Region Adaptive Hierarchical Transform
  • the LoD calculation unit 1100 is configured to receive the geometric information generated by the geometric information reconstruction unit 1060 and generate LoD (Level of Detail).
  • LoD is a reference relationship (referred point and referenced point ) is information for defining
  • LoD classifies each point included in geometric information into a plurality of levels, and encodes or decodes the attributes of points belonging to lower levels using attribute information of points belonging to higher levels. This is information that defines the structure.
  • Non-Patent Document 2 As a specific method for determining LoD, for example, the method described in Non-Patent Document 2 may be used.
  • the lifting unit 1110 is configured to generate residual information through a lifting process using the LoD generated by the LoD calculation unit 1100 and the attribute information after the attribute transfer by the attribute transfer unit 1080.
  • Non-Patent Document 2 As a specific lifting process, for example, the method described in Non-Patent Document 2 may be used.
  • the attribute information quantization section 1120 is configured to quantize the residual information output from the RAHT section 1090 or the lifting section 1110 .
  • the case where the quantization step size is 1 is equivalent to the case where no quantization is performed.
  • the attribute information encoding unit 1130 performs encoding processing using the quantized residual information output from the attribute information quantization unit 1120 as a syntax, and generates a bitstream related to attribute information (attribute information bitstream). is configured as
  • the encoding process is, for example, context adaptive binary arithmetic encoding process.
  • the syntax includes control data (flags and parameters) for controlling attribute information decoding processing.
  • the point cloud encoding device 100 is configured to input position information and attribute information of each point in the point cloud, perform encoding processing, and output a geometric information bitstream and an attribute information bitstream. ing.
  • the point cloud encoding device 100 and the point cloud decoding device 200 described above may be implemented as a program that causes a computer to execute each function (each process).
  • the present invention is applied to the point group encoding device 100 and the point group decoding device 200 as examples, but the present invention is not limited to such examples.
  • a point cloud encoding/decoding system having the functions of the point cloud encoding device 100 and the point cloud decoding device 200 can be similarly applied.
  • the United Nations-led Sustainable Development Goals (SDGs) Goal 9 "Develop resilient infrastructure, It will be possible to contribute to the promotion of sustainable industrialization and the expansion of innovation.
  • Point group processing system 100 Point group encoding device 1010... Coordinate transformation 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... Up-sampling unit 1150... Frame buffer 200...
  • Point group 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 calculator 2100 Inverse lifting unit 2110
  • Inverse color conversion unit 2120 Upsampling unit 2130 Frame buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

A point cloud decoding device 200 according to the present invention is provided with: a geometric information reconstructing unit 2040 for reconstructing position information of a point cloud; an upsampling unit 2120 for upsampling the point cloud reconstructed by the geometric information reconstructing unit 2040; and a tree synthesizing unit 2020 for performing inter prediction with reference to the upsampled point cloud. The upsampling unit 2120 calculates an offset vector from the coordinates of each point in the reconstructed point cloud, and performs the upsampling using the offset vectors.

Description

点群復号装置、点群復号方法及びプログラムPoint group decoding device, point group decoding method and program
 本発明は、点群復号装置、点群復号方法及びプログラムに関する。 The present invention relates to a point cloud decoding device, a point cloud decoding method, and a program.
 非特許文献1には、幾何情報のインター予測技術が開示されている。 Non-Patent Document 1 discloses an inter-prediction technique for geometric information.
 しかしながら、非特許文献1では、動き補償した参照点群の点の分布を基に、符号化対象点群の部分空間(ノード)毎の点の存在有無を推定する。この時、特に、参照点群及び符号化対象点群の両方が疎な場合、動き補償の結果に少しでもずれがあると、十分に時間方向の相関を活用できないという問題点があった。 However, in Non-Patent Document 1, based on the distribution of points in the motion-compensated reference point group, the presence or absence of points in each subspace (node) of the point group to be encoded is estimated. At this time, especially when both the reference point group and the encoding target point group are sparse, there is a problem that if there is even a slight deviation in the result of motion compensation, the correlation in the time direction cannot be fully utilized.
 そこで、本発明は、上述の課題に鑑みてなされたものであり、参照点群をアップサンプリングすることで位置情報のインター予測による符号化効率を高めることができる点群復号装置、点群復号方法及びプログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above-mentioned problems, and a point cloud decoding device and a point cloud decoding method that can increase the encoding efficiency by inter prediction of position information by upsampling the reference point cloud. and to provide programs.
 本発明の第1の特徴は、点群復号装置であって、点群の位置情報を再構成するように構成されている幾何情報再構成部と、前記幾何情報再構成部で再構成された点群をアップサンプリングするように構成されているアップサンプル部と、前記アップサンプルされた点群を参照してインター予測を行うように構成されているツリー合成部と、を備え、前記アップサンプル部は、前記再構成された点群における各点の座標からオフセットベクトルを算出し、前記オフセットベクトルを用いてアップサンプリングを行うように構成されていることを要旨とする。 A first feature of the present invention is a point cloud decoding device, a geometric information reconstruction unit configured to reconstruct position information of the point cloud, and a geometric information reconstructed by the geometric information reconstruction unit an upsampling unit configured to upsample a point cloud; and a tree synthesis unit configured to perform inter prediction with reference to the upsampled point cloud, the upsampling unit is configured to calculate an offset vector from the coordinates of each point in the reconstructed point group, and perform upsampling using the offset vector.
 本発明の第2の特徴は、点群復号装置であって、複数レベルでのTrisoupを許可するか否かを制御する第1フラグを復号するように構成されている幾何情報復号部を備えることを要旨とする。 A second feature of the present invention is a point cloud decoding device comprising a geometric information decoding unit configured to decode a first flag that controls whether or not Trisoup at multiple levels is permitted. is the gist.
 本発明の第3の特徴は、点群復号方法であって、点群の位置情報を再構成するように構成されている幾何情報再構成部と、前記幾何情報再構成部で再構成された点群をアップサンプリングする工程Aと、前記アップサンプリングされた点群を参照してインター予測を行う工程Bと、を備え、前記工程Aにおいて、前記再構成された点群における各点の座標からオフセットベクトルを算出し、前記オフセットベクトルを用いてアップサンプリングを行うことを要旨とする。 A third feature of the present invention is a point group decoding method, which includes a geometric information reconstruction unit configured to reconstruct position information of the point cloud, and A step A of upsampling a point cloud, and a step B of performing inter prediction with reference to the upsampled point cloud, wherein in the step A, from the coordinates of each point in the reconstructed point cloud The gist is to calculate an offset vector and perform upsampling using the offset vector.
 本発明の第4の特徴は、コンピュータを、点群復号装置として機能させるプログラムであって、前記点群復号装置は、点群の位置情報を再構成するように構成されている幾何情報再構成部と、前記幾何情報再構成部で再構成された点群をアップサンプリングするように構成されているアップサンプル部と、前記アップサンプリングされた点群を参照してインター予測を行うように構成されているツリー合成部と、を備え、前記アップサンプル部は、前記再構成された点群における各点の座標からオフセットベクトルを算出し、前記オフセットベクトルを用いてアップサンプリングを行うように構成されていることを要旨とする。 A fourth feature of the present invention is a program for causing a computer to function as a point cloud decoding device, wherein the point cloud decoding device is configured to reconstruct position information of a point cloud for geometric information reconstruction. an upsampling unit configured to upsample the point cloud reconstructed by the geometric information reconstruction unit; and an inter prediction with reference to the upsampled point cloud. and a tree synthesizing unit configured to calculate an offset vector from the coordinates of each point in the reconstructed point cloud, and perform upsampling using the offset vector. The gist of it is that
 本発明によれば、参照点群をアップサンプリングすることで位置情報のインター予測による符号化効率を高めることができる点群復号装置、点群復号方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide a point cloud decoding device, a point cloud decoding method, and a program that can improve the encoding efficiency of position information based on inter prediction by upsampling the reference point cloud.
図1は、一実施形態に係る点群処理システム10の構成の一例を示す図である。FIG. 1 is a diagram showing an example of the configuration of a point cloud processing system 10 according to one embodiment. 図2は、一実施形態に係る点群復号装置200の機能ブロックの一例を示す図である。FIG. 2 is a diagram showing an example of functional blocks of the point cloud decoding device 200 according to one embodiment. 図3は、一実施形態に係る点群復号装置200の幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例を示す図である。FIG. 3 is a diagram showing an example of the configuration of encoded data (bitstream) received by the geometric information decoding unit 2010 of the point group decoding device 200 according to one embodiment. 図4は、GPS2011のシンタックス構成の一例を示す図である。FIG. 4 is a diagram showing an example of the syntax configuration of GPS2011. 図5は、一実施形態に係る点群復号装置200のアップサンプル部2120におけるアップサンプリングの一例を示すフローチャートである。FIG. 5 is a flowchart showing an example of upsampling in the upsampling unit 2120 of the point cloud decoding device 200 according to one embodiment. 図6Aは、一実施形態に係る点群復号装置200のアップサンプル部2120の動作を説明するための図である。FIG. 6A is a diagram for explaining the operation of the upsampling unit 2120 of the point cloud decoding device 200 according to one embodiment. 図6Bは、一実施形態に係る点群復号装置200のアップサンプル部2120の動作を説明するための図である。FIG. 6B is a diagram for explaining the operation of the upsampling unit 2120 of the point cloud decoding device 200 according to one embodiment. 図7は、一実施形態に係る点群復号装置200のツリー合成部2020における処理の一例を示すフローチャートである。FIG. 7 is a flowchart showing an example of processing in the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment. 図8は、一実施形態に係る点群復号装置200のツリー合成部2020によるTrisoup情報の復号処理の一例を示すフローチャートである。FIG. 8 is a flowchart showing an example of decoding processing of Trisoup information by the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment. 図9は、一実施形態に係る点群符号化装置100の機能ブロックの一例を示す図である。FIG. 9 is a diagram showing an example of functional blocks of the point cloud encoding device 100 according to one embodiment. 図10は、一実施形態に係る点群復号装置200のツリー合成部2020の機能ブロックの一例を示す図である。FIG. 10 is a diagram showing an example of functional blocks of the tree synthesizing unit 2020 of the point cloud decoding device 200 according to one embodiment.
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. It should be noted that constituent elements in the following embodiments can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the following description of the embodiments is not intended to limit the scope of the invention described in the claims.
(第1実施形態)
 以下、図1~図10を参照して、本発明の第1実施形態に係る点群処理システム10について説明する。図1は、本実施形態に係る実施形態に係る点群処理システム10を示す図である。
(First embodiment)
A point group processing system 10 according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 10. FIG. FIG. 1 is a diagram showing a point cloud processing system 10 according to an embodiment according to this embodiment.
 図1に示すように、点群処理システム10は、点群符号化装置100及び点群復号装置200を有する。 As shown in FIG. 1, the point cloud processing system 10 has a point cloud encoding device 100 and a point cloud decoding device 200.
 点群符号化装置100は、入力点群信号を符号化することによって符号化データ(ビットストリーム)を生成するように構成されている。点群復号装置200は、ビットストリームを復号することによって出力点群信号を生成するように構成されている。 The point cloud encoding device 100 is configured to generate encoded data (bitstream) 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 bitstream.
 なお、入力点群信号及び出力点群信号は、点群内の各点の位置情報と属性情報とから構成される。属性情報は、例えば、各点の色情報や反射率である。 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.
 ここで、かかるビットストリームは、点群符号化装置100から点群復号装置200に対して伝送路を介して送信されてもよい。また、ビットストリームは、記憶媒体に格納された上で、点群符号化装置100から点群復号装置200に提供されてもよい。 Here, such a bitstream may be transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 via a transmission channel. Also, the bitstream may be stored in a storage medium and then provided from the point cloud encoding device 100 to the point cloud decoding device 200 .
(点群復号装置200)
 以下、図2及び図10を参照して、本実施形態に係る点群復号装置200について説明する。図2は、本実施形態に係る点群復号装置200の機能ブロックの一例について示す図である。
(Point group decoding device 200)
The point group decoding device 200 according to the present embodiment will be described below with reference to FIGS. 2 and 10. FIG. FIG. 2 is a diagram showing an example of functional blocks of the point group decoding device 200 according to this embodiment.
 図2に示すように、点群復号装置200は、幾何情報復号部2010と、ツリー合成部2020と、近似表面合成部2030と、幾何情報再構成部2040と、逆座標変換部2050と、属性情報復号部2060と、逆量子化部2070と、RAHT部2080と、LoD算出部2090と、逆リフティング部2100と、逆色変換部2110と、アップサンプリング部2120と、フレームバッファ2130とを有する。 As shown in FIG. 2, the point cloud decoding device 200 includes 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 It has information decoding section 2060 , inverse quantization section 2070 , RAHT section 2080 , LoD calculation section 2090 , inverse lifting section 2100 , inverse color conversion section 2110 , upsampling section 2120 and frame buffer 2130 .
 幾何情報復号部2010は、点群符号化装置100から出力されるビットストリームのうち、幾何情報に関するビットストリーム(幾何情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The geometric information decoding unit 2010 is configured to receive as input a bitstream related to geometric information (geometric information bitstream) among the bitstreams output from the point cloud encoding device 100 and decode the syntax.
 復号処理は、例えば、コンテキスト適応二値算術復号処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The decoding process is, for example, context adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling decoding processing of position information.
 ツリー合成部2020は、幾何情報復号部2010によって復号された制御データ及び後述するツリー内のどのノードに点群が存在するかを示すoccupancy codeを入力として、復号対象空間内のどの領域に点が存在するかというツリー情報を生成するように構成されている。 The tree synthesizing unit 2020 receives the control data decoded by the geometric information decoding unit 2010 and an occupancy code indicating in which node in the tree described later the point group exists, and determines in which region in the decoding target space the point is located. It is configured to generate tree information that exists.
 なお、occupancy codeの復号処理をツリー合成部2020内部で行うよう構成されていてもよい。 It should be noted that the decoding process of the occupancy code may be configured to be performed inside the tree synthesizing unit 2020 .
 本処理は、復号対象空間を直方体で区切り、occupancy codeを参照して各直方体内に点が存在するかを判断し、点が存在する直方体を複数の直方体に分割し、occupancy codeを参照するという処理を再帰的に繰り返すことで、ツリー情報を生成することができる。 This process divides the decoding target space into rectangular parallelepipeds, refers to the occupancy code to determine whether points exist in each rectangular parallelepiped, divides the rectangular parallelepiped in which the points exist into multiple rectangular parallelepipeds, and refers to the occupancy code. Tree information can be generated by recursively repeating the process.
 ここで、かかるoccupancy codeの復号に際して、後述するインター予測を用いてもよい。 Here, inter prediction, which will be described later, may be used when decoding such an occupancy code.
 本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。「QtBt」を使用するか否かは、制御データとして点群符号化装置100側から伝送される。 In this embodiment, a method called "Octree" that recursively divides the octree with the above-mentioned rectangular parallelepiped always as a cube, and "QtBt" that performs quadtree division and binary tree division in addition to octree division can be used. Whether or not to use "QtBt" is transmitted from the point group encoding device 100 side as control data.
 或いは、制御データによってPredicitive codingを使用するように指定された場合、ツリー合成部2020は、点群符号化装置100において決定した任意のツリー構成に基づいて各点の座標を復号するように構成されている。 Alternatively, when the control data specifies to use Predictive coding, the tree synthesis unit 2020 is configured to decode the coordinates of each point based on any tree configuration determined in the point cloud encoding device 100. ing.
 近似表面合成部2030は、ツリー合成部2020によって生成されたツリー情報を用いて近似表面情報を生成し、かかる近似表面情報に基づいて点群を復号するように構成されている。 The approximate surface synthesizing unit 2030 is configured to generate approximate surface information using the tree information generated by the tree synthesizing unit 2020, and decode the point group based on the approximate surface information.
 近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 For example, when decoding 3D point cloud data of an object, when the point clouds are densely distributed on the surface of the object, the approximate surface information is obtained by decoding the points instead of decoding individual point clouds. It is an approximation of the existence area of the group with a small plane.
 具体的には、近似表面合成部2030は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成し、点群を復号することができる。「Trisoup」の具体的な処理例については後述する。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface synthesizing unit 2030 can generate approximate surface information and decode the point group by, for example, a technique called "Trisoup". A specific processing example of "Trisoup" will be described later. Also, when decoding a sparse point group acquired by Lidar or the like, this process can be omitted.
 幾何情報再構成部2040は、ツリー合成部2020によって生成されたツリー情報及び近似表面合成部2030によって生成された近似表面情報を元に、復号対象の点群データの各点の幾何情報(復号処理が仮定している座標系における位置情報)を再構成するように構成されている。 The geometric information reconstruction unit 2040 reconstructs geometric information (decoding process position information in the coordinate system assumed by ).
 逆座標変換部2050は、幾何情報再構成部2040によって再構成された幾何情報を入力として、復号処理が仮定している座標系から、出力点群信号の座標系に変換を行い、位置情報を出力するように構成されている。 The inverse coordinate transformation unit 2050 receives as input the geometric information reconstructed by the geometric information reconstruction unit 2040, transforms the coordinate system assumed by the decoding process into the coordinate system of the output point group signal, and converts the position information. configured to output.
 アップサンプル部2120は、幾何情報再構成部2040によって再構成された幾何情報を入力として、後述する通りアップサンプル処理を行うように構成されている。 The upsampling unit 2120 is configured to receive the geometric information reconstructed by the geometric information reconstructing unit 2040 and perform upsampling processing as described later.
 フレームバッファ2130は、アップサンプル部2120でアップサンプルされた点群を入力とし、参照フレームとして保存するように構成されている。保存した参照フレームは、ツリー合成部2020において時間的に異なるフレームのインター予測を行う場合に、フレームバッファ2130から読み出されて参照フレームとして使用される。 The frame buffer 2130 is configured to receive the point cloud upsampled by the upsampling unit 2120 and store it as a reference frame. The stored reference frames are read from the frame buffer 2130 and used as reference frames when the tree synthesis unit 2020 inter-predicts temporally different frames.
 ここで、各フレームに対してどの時刻の参照フレームを用いるかどうかは、例えば、点群符号化装置100からビットストリームとして伝送されてくる制御データに基づいて決定されてもよい。 Here, whether or not to use a reference frame at which time for each frame may be determined, for example, based on control data transmitted as a bitstream from the point group encoding device 100.
 なお、ここでは、アップサンプル部2120でアップサンプルした後にフレームバッファ2130に保存する場合の例を説明したが、この順番は、逆でもよい。 Here, an example of storing in the frame buffer 2130 after being upsampled by the upsampling unit 2120 has been described, but this order may be reversed.
 すなわち、幾何情報再構成部2040から出力される幾何情報を参照フレームとしてフレームバッファ2130へ保存し、その後、ツリー合成部2020にてインター予測を行う際に、フレームバッファ2130に保存されていた参照フレームをアップサンプル部2120でアップサンプルしてからツリー合成部2020に入力してもよい。 That is, the geometric information output from the geometric information reconstruction unit 2040 is stored in the frame buffer 2130 as a reference frame, and then the reference frame stored in the frame buffer 2130 is used when inter prediction is performed by the tree synthesis unit 2020. may be up-sampled by the up-sampling unit 2120 and then input to the tree synthesis unit 2020 .
 さらに別の例として、図10に示すように、アップサンプル部2120は、ツリー合成部2020の内部に含まれるように構成されていてもよい。以下、図10に示す構成例について説明する。 As yet another example, the upsampling unit 2120 may be configured to be included inside the tree synthesis unit 2020, as shown in FIG. The configuration example shown in FIG. 10 will be described below.
 ツリー合成部2020は、フレームバッファ2130から、復号対象の点群とは時刻の異なる既に復号済みの点群を取得し、動き補償部2021へ入力する。 The tree synthesizing unit 2020 acquires from the frame buffer 2130 an already-decoded point cloud that is different in time from the point cloud to be decoded, and inputs it to the motion compensation unit 2021 .
 動き補償部2021は、制御データから復号した動き情報(動きベクトル等)を用いて動き補償を行うように構成されている。動き補償の具体的な方法は、公知の手法を適用できるため、詳細については省略する。 The motion compensation unit 2021 is configured to perform motion compensation using motion information (motion vectors, etc.) decoded from control data. Since a known method can be applied to a specific motion compensation method, details thereof are omitted.
 ここで、動き補償部2021は、復号済みの点群内の各点にクラス分類処理を行い、クラスごとに異なる動き補償処理を適用するように構成されていてもよい。 Here, the motion compensation unit 2021 may be configured to perform class classification processing on each point in the decoded point group and apply different motion compensation processing to each class.
 例えば、動き補償部2021は、点毎に「地面」及び「物体」のどちらかのクラスを割り当て、「物体」と見なされた点のみに動き補償を適用するように構成されていてもよい。 For example, the motion compensation unit 2021 may be configured to assign a class of either "ground" or "object" to each point, and apply motion compensation only to points considered to be "object".
 アップサンプル部2021は、前記動き補償済みの点群を入力して、後述の様にアップサンプル処理を行うように構成されている。 The upsampling unit 2021 is configured to input the motion-compensated point group and perform upsampling processing as described later.
 上述のように、クラス分類に基づいた動き補償処理が行われている場合、アップサンプル部2021は、アップサンプル処理についても特定のクラスのみアップサンプル処理を行うように構成されていてもよい。 As described above, when motion compensation processing based on class classification is performed, the upsampling unit 2021 may be configured to perform upsampling processing only for a specific class.
 例えば、アップサンプル部2021は、「地面」の点のみに対して、アップサンプリング処理を行う、或いは、「物体」の点のみに対してアップサンプル処理を行うように構成されていてもよい。 For example, the upsampling unit 2021 may be configured to perform upsampling processing only on the "ground" points, or to perform upsampling processing only on the "object" points.
 上述のクラス分類が、例えば、各点のz軸座標(高さ成分)の値を基に行われている場合、アップサンプル部2021は、動き補償後の点群の各点のz座標を基に、アップサンプル処理を実行するか否かを制御するように構成されていてもよい。 For example, when the above-described class classification is performed based on the value of the z-axis coordinate (height component) of each point, the upsampling unit 2021 performs motion compensation based on the z-coordinate of each point in the point group. Alternatively, it may be configured to control whether or not to execute the upsampling process.
 具体的には、z軸座標が、第1閾値以上であり(又は、第1閾値よりも大きく)、且つ、第2閾値以下である(又は、第2閾値よりも小さい)場合にのみ、アップサンプル部2021は、アップサンプル処理を行うよう構成されていてもよい。 Specifically, only when the z-axis coordinate is greater than or equal to the first threshold (or greater than the first threshold) and less than or equal to the second threshold (or less than the second threshold) The sampler 2021 may be configured to perform upsampling.
 上述とは逆に、z軸座標が、第1閾値以下である(又は、第1閾値よりも小さい)、又は、第2閾値以上である(又は、第2閾値よりも大きい)場合にのみ、アップサンプル部2021は、アップサンプルを行うよう構成されていてもよい。ここで、第2閾値は、第1閾値より大きな値であるとする。 Contrary to the above, only if the z-axis coordinate is less than or equal to the first threshold (or less than the first threshold) or greater than or equal to the second threshold (or greater than the second threshold) The upsampler 2021 may be configured to perform upsampling. Here, it is assumed that the second threshold is a value greater than the first threshold.
 確率推定部2022は、アップサンプル後の点群を入力として、occpancy Codeの各ビットの値が0である確率、又は、occpancy Codeの各ビットの値が1である確率を推定するように構成されている。 The probability estimation unit 2022 is configured to estimate the probability that the value of each bit of the occurrence code is 0 or that the value of each bit of the occurrence code is 1, using the point group after upsampling as input. ing.
 占有情報復号部2023は、確率推定部2022で推定した確率に基づいて、エントロピー復号によってoccpancy Codeを復号するように構成されている。 The occupation information decoding unit 2023 is configured to decode the occupation code by entropy decoding based on the probability estimated by the probability estimation unit 2022 .
 ツリー構成部2024は、上述のoccpancy Codeの値に基づいて、ツリーを構成するように構成されている。 The tree configuration unit 2024 is configured to configure a tree based on the above-mentioned Occupancy Code value.
 属性情報復号部2060は、点群符号化装置100から出力されるビットストリームのうち、属性情報に関するビットストリーム(属性情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The attribute information decoding unit 2060 is configured to receive a bitstream related to attribute information (attribute information bitstream) among the bitstreams output from the point cloud encoding device 100 and decode the syntax.
 復号処理は、例えば、コンテキスト適応二値算術復号処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The decoding process is, for example, context adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling attribute information decoding processing.
 また、属性情報復号部2060は、復号したシンタックスから、量子化済み残差情報を復号するように構成されている。 Also, the attribute information decoding unit 2060 is configured to decode the quantized residual information from the decoded syntax.
 逆量子化部2070は、属性情報復号部2060によって復号された量子化済み残差情報と、属性情報復号部2060によって復号された制御データの一つである量子化パラメータとを元に、逆量子化処理を行い、逆量子化済み残差情報を生成するように構成されている。 The inverse quantization unit 2070 performs inverse quantization 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. and configured to generate dequantized residual information.
 逆量子化済み残差情報は、復号対象の点群の特徴に応じて、RAHT部2080及びLoD算出部2090のいずれかに出力される。いずれに出力されるかは、属性情報復号部2060によって復号される制御データによって指定される。 The inverse quantized residual information is output to either the RAHT section 2080 or the LoD calculation section 2090 according to the features of the point cloud to be decoded. Which one is output is specified by control data decoded by attribute information decoding section 2060 .
 RAHT部2080は、逆量子化部2070によって生成された逆量子化済み残差情報及び幾何情報再構成部2040によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換(復号処理においては、逆Haar変換)の一種を用いて、各点の属性情報を復号するように構成されている。RAHTの具体的な処理としては、例えば、非特許文献1に記載の方法を用いることができる。 The RAHT unit 2080 receives as input the inverse quantized residual information generated by the inverse quantization unit 2070 and the geometric information generated by the geometric information reconstruction unit 2040, and performs a Haar transform called RAHT (Region Adaptive Hierarchical Transform) ( In the decoding process, a kind of inverse Haar transform is used to decode the attribute information of each point. As a specific processing of RAHT, for example, the method described in Non-Patent Document 1 can be used.
 LoD算出部2090は、幾何情報再構成部2040によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。 The LoD calculation unit 2090 is configured to receive the geometric information generated by the geometric information reconstruction unit 2040 and generate LoD (Level of Detail).
 LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 LoD is a reference relationship (referred point and referenced point ) is information for defining
 言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD classifies each point included in geometric information into a plurality of levels, and encodes or decodes the attributes of points belonging to lower levels using attribute information of points belonging to higher levels. This is information that defines the structure.
 LoDの具体的な決定方法としては、例えば、非特許文献1に記載の方法を用いてもよい。 As a specific method for determining LoD, for example, the method described in Non-Patent Document 1 may be used.
 逆リフティング部2100は、LoD算出部2090によって生成されたLoD及び逆量子化部2070によって生成された逆量子化済み残差情報を用いて、LoDで規定した階層構造に基づいて各点の属性情報を復号するように構成されている。逆リフティングの具体的な処理としては、例えば、非特許文献1に記載の方法を用いることができる。 The inverse lifting unit 2100 uses the LoD generated by the LoD calculation unit 2090 and the inverse quantized residual information generated by the inverse quantization unit 2070 to determine the attribute information of each point based on the hierarchical structure defined by the LoD. is configured to decode the As a specific reverse lifting process, for example, the method described in Non-Patent Document 1 can be used.
 逆色変換部2110は、復号対象の属性情報が色情報であり且つ点群符号化装置100側で色変換が行われていた場合に、RAHT部2080又は逆リフティング部2100から出力される属性情報に逆色変換処理を行うように構成されている。かかる逆色変換処理の実行の有無については、属性情報復号部2060によって復号された制御データによって決定される。 The inverse color conversion unit 2110 uses 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 side of the point cloud encoding device 100. is configured to perform inverse color conversion processing. Whether or not to execute the inverse color conversion process is determined by the control data decoded by the attribute information decoding unit 2060 .
 点群復号装置200は、以上の処理により、点群内の各点の属性情報を復号して出力するように構成されている。 The point cloud decoding device 200 is configured to decode and output the attribute information of each point in the point cloud through the above processing.
(幾何情報復号部2010)
 以下、図3~図4を用いて幾何情報復号部2010で復号される制御データについて説明する。
(Geometric information decoding unit 2010)
The control data decoded by the geometric information decoding unit 2010 will be described below with reference to FIGS. 3 and 4. FIG.
 図3は、幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例である。 FIG. 3 is an example of the structure of encoded data (bitstream) received by the geometric information decoding unit 2010. FIG.
 第1に、ビットストリームは、GPS2011を含んでいてもよい。GPS2011は、ジオメトリパラメータセットとも呼ばれ、幾何情報の復号に関する制御データの集合である。具体例については後述する。各GPS2011は、複数のGPS2011が存在する場合に個々を識別するためのGPS id情報を少なくとも含む。 First, the bitstream may contain GPS2011. GPS2011 is also called a geometry parameter set, and is a set of control data related to decoding of geometric information. A specific example will be described later. Each GPS 2011 includes at least GPS id information for individual identification when multiple GPS 2011 exist.
 第2に、ビットストリームは、GSH2012A/2012Bを含んでいてもよい。GSH2012A/2012Bは、ジオメトリスライスヘッダ或いはジオメトリデータユニットヘッダとも呼ばれ、後述するスライスに対応する制御データの集合である。以降では、スライスという呼称を用いて説明するが、スライスをデータユニットと読み替えることもできる。具体例については後述する。GSH2012A/2012Bは、各GSH2012A/2012Bに対応するGPS2011を指定するためのGPS id情報を少なくとも含む。 Second, the bitstream may contain GSH2012A/2012B. GSH2012A/2012B is also called geometry slice header or geometry data unit header, and is a set of control data corresponding to slices described later. In the following description, the term "slice" will be used, but the term "slice" can also be read as a data unit. A specific example will be described later. GSH 2012A/2012B includes at least GPS id information for designating GPS 2011 corresponding to each GSH 2012A/2012B.
 第3に、ビットストリームは、GSH2012A/2012Bの次に、スライスデータ2013A/2013Bを含んでいてもよい。スライスデータ2013A/2013Bには、幾何情報を符号化したデータが含まれている。スライスデータ2013A/2013Bの一例としては、後述するoccupancy codeが挙げられる。 Third, the bitstream may contain slice data 2013A/2013B next to GSH 2012A/2012B. The slice data 2013A/2013B includes data obtained by encoding geometric information. An example of the slice data 2013A/2013B is an occupancy code, which will be described later.
 以上のように、ビットストリームは、各スライスデータ2013A/2013Bに、1つずつGSH2012A/2012B及びGPS2011が対応する構成となる。 As described above, the bitstream has a configuration in which one GSH 2012A/2012B and one GPS 2011 correspond to each slice data 2013A/2013B.
 上述のように、GSH2012A/2012Bにて、どのGPS2011を参照するかをGPS id情報で指定するため、複数のスライスデータ2013A/2013Bに対して共通のGPS2011を用いることができる。 As described above, in GSH2012A/2012B, which GPS 2011 to refer to is designated by GPS id information, so a common GPS 2011 can be used for multiple slice data 2013A/2013B.
 言い換えると、GPS2011は、スライスごとに必ずしも伝送する必要がない。例えば、図3のように、GSH2012B及びスライスデータ2013Bの直前では、GPS2011を符号化しないようなビットストリームの構成とすることもできる。 In other words, GPS2011 does not necessarily need to transmit for each slice. For example, as shown in FIG. 3, it is possible to configure a bitstream such that GPS 2011 is not encoded immediately before GSH 2012B and slice data 2013B.
 なお、図3の構成は、あくまで一例である。各スライスデータ2013A/2013Bに、GSH2012A/2012B及びGPS2011が対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。 It should be noted that the configuration in FIG. 3 is just 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 bitstream.
 例えば、図3に示すように、ビットストリームは、シーケンスパラメータセット(SPS)2001を含んでいてもよい。また、同様に、伝送に際して、図3と異なる構成に整形されてもよい。更に、後述する属性情報復号部2060で復号されるビットストリームと合成して単一のビットストリームとして伝送されてもよい。 For example, the bitstream may include a sequence parameter set (SPS) 2001, as shown in FIG. Also, in the same way, it may be shaped into a configuration different from that in FIG. 3 at the time of transmission. Furthermore, it may be combined with a bitstream decoded by the attribute information decoding unit 2060, which will be described later, and transmitted as a single bitstream.
 図4は、GPS2011のシンタックス構成の一例である。 FIG. 4 is an example of the syntax configuration of GPS2011.
 なお、以下で説明するシンタックス名は、あくまで一例である。以下で説明したシンタックスの機能が同様であれば、シンタックス名は異なっていても差し支えない。  The syntax name explained below is just an example. As long as the functionality of the syntaxes described below is similar, the syntax names can be different.
 GPS2011は、各GPS2011を識別するためのGPS id情報(gps_geom_parameter_set_id)を含んでもよい。 The GPS 2011 may include GPS id information (gps_geom_parameter_set_id) for identifying each GPS 2011.
 なお、図4のDescriptor欄は、各シンタックスが、どのように符号化されているかを意味している。ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(1)は、1ビットのフラグであることを意味する。 The Descriptor column in FIG. 4 means how each syntax is encoded. ue(v) means an unsigned zero-order exponential Golomb code, and u(1) means a 1-bit flag.
 GPS2011は、ツリー合成部2020でインター予測を行うか否かを制御するフラグ(interprediction_enabled_flag)を含んでもよい。 The GPS 2011 may include a flag (interprediction_enabled_flag) that controls whether or not the tree synthesis unit 2020 performs inter prediction.
 例えば、interprediction_enabled_flagの値が「0」の時はインター予測を行わないと定義し、interprediction_enabled_flagの値が「1」の時はインター予測を行うと定義してもよい。 For example, it may be defined that inter prediction is not performed when the value of interpretation_enabled_flag is "0", and that inter prediction is performed when the value of interpretation_enabled_flag is "1".
 なお、interprediction_enabled_flagは、GPS2011ではなくSPS2001に含んでいてもよい。 Note that the interpretation_enabled_flag may be included in the SPS2001 instead of the GPS2011.
 幾何情報復号部2020は、インター予測を行うとき、すなわち、interprediction_enabled_flagの値が「1」の時、追加で以下のシンタックスを復号するように構成されていてもよい。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when performing inter prediction, that is, when the value of the interpolation_enabled_flag is "1".
 GPS2011は、インター予測を行う場合に、アップサンプル部2120によるアップサンプリングを適用するか否かを制御するフラグ(reference_upsampling_enabled_flag)を含んでもよい。 The GPS 2011 may include a flag (reference_upsampling_enabled_flag) that controls whether to apply upsampling by the upsampling unit 2120 when performing inter prediction.
 例えば、reference_upsampling_enabled_flagの値が「0」の時はアップサンプリングを適用しないと定義し、reference_upsampling_enabled_flagの値が「1」の時はアップサンプリングを適用すると定義してもよい。 For example, it may be defined that upsampling is not applied when the value of reference_upsampling_enabled_flag is "0", and that upsampling is applied when the value of reference_upsampling_enabled_flag is "1".
 幾何情報復号部2020は、アップサンプリングを適用するとき、すなわち、reference_upsampling_enabled_flagの値が「1」の時、追加で以下のシンタックスを復号するように構成されていても良い。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when upsampling is applied, that is, when the value of reference_upsampling_enabled_flag is "1".
 GPS2011は、アップサンプリング点数を制御するシンタックス(upsampling_number_div2)を含んでもよい。当該シンタックスの値を具体的にどのように使うかについては後述する。 The GPS 2011 may include syntax (upsampling_number_div2) that controls the number of upsampling points. How to specifically use the value of the syntax will be described later.
 GPS2011は、アップサンプリング点の間隔を制御するシンタックス(upsampling_interval)を含んでも良い。当該シンタックスの値を具体的にどのように使うかについては後述する。 The GPS 2011 may include a syntax (upsampling_interval) that controls the interval between upsampling points. How to specifically use the value of the syntax will be described later.
 GPS2011は、近似表面合成部2030でTrisoupを使用するか否かを制御するフラグ(trisoup_enabled_flag)を含んでもよい。 The GPS 2011 may include a flag (trisoup_enabled_flag) that controls whether Trisoup is used in the approximate surface synthesis unit 2030.
 例えば、trisoup_enabled_flagの値が「0」の時はTrisoupを使用しないと定義し、trisoup_enabled_flagの値が「1」の時はTrisoupを使用すると定義してもよい。 For example, it may be defined that Trisoup is not used when the value of trisoup_enabled_flag is "0", and that Trisoup is used when the value of trisoup_enabled_flag is "1".
 幾何情報復号部2020は、Trisoupを使用するとき、すなわち、trisoup_enabled_flagの値が「1」の時、追加で以下のシンタックスを復号するように構成されていてもよい。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when using Trisoup, that is, when the value of trisoup_enabled_flag is "1".
 なお、trisoup_enabled_flagは、GPS2011ではなくSPS2001に含んでいてもよい。 Note that trisoup_enabled_flag may be included in SPS2001 instead of GPS2011.
 GPS2011は、複数レベルでのTrisoupを許可するか否かを制御するフラグ(trisoup_multilevel_enabled_flag、第1フラグ)を含んでもよい。 The GPS 2011 may include a flag (trisoup_multilevel_enabled_flag, first flag) that controls whether to allow Trisoup at multiple levels.
 例えば、trisoup_multilevel_enabled_flagの値が「0」の時は複数レベルでのTrisoupを許可しない、すなわち、単一のレベルでのTrisoupを行うと定義し、trisoup_multilevel_enabled_flagの値が「1」の時は複数レベルでのTrisoupを許可すると定義してもよい。 For example, when the value of trisoup_multilevel_enabled_flag is '0', Trisoup at multiple levels is not permitted. It may be defined that Trisoup is allowed.
 なお、当該シンタックスがGPS2011に含まれない場合、当該シンタックスの値を単一のレベルでのTrisoupを行う場合の値、すなわち、「0」とみなしてよい。 If the syntax is not included in GPS2011, the value of the syntax may be regarded as the value for Trisoup at a single level, that is, "0".
 なお、trisoup_multilevel_enabled_flagは、GPS2011ではなくSPS2001に含まれるよう定義してもよい。この場合、SPS2001にtrisoup_multilevel_enabled_flagが含まれていない場合、当該シンタックスの値を単一のレベルでのTrisoupを行う場合の値、すなわち、「0」とみなしてよい。 Note that trisoup_multilevel_enabled_flag may be defined to be included in SPS2001 instead of GPS2011. In this case, if the SPS 2001 does not include the trisoup_multilevel_enabled_flag, the value of the syntax may be regarded as the value for Trisoup at a single level, ie, "0".
 幾何情報復号部2020は、複数レベルでのTrisoupを許可するとき、すなわち、trisoup_multilevel_enabled_flagの値が「1」の時、追加で以下のシンタックスを復号するように構成されていても良い。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when trisoup at multiple levels is permitted, that is, when the value of trisoup_multilevel_enabled_flag is "1".
 GPS2011は、複数レベルでのTrisoupを許可するとき、Trisoupノードサイズの最大値を規定するシンタックス(log2_trisoup_max_node_size_minus3)を含んでもよい。 The GPS 2011 may include syntax (log2_trisoup_max_node_size_minus3) that defines the maximum value of the Trisoup node size when allowing Trisoup at multiple levels.
 当該シンタックスは、実際のTrisoupノードサイズの最大値について、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズの最大値について、2を底とする対数に変換した後に3を引いた後の値として表現されていてもよい。 The syntax may be expressed as a logarithmic value with base 2 for the maximum value of the actual Trisoup node size. Further, the syntax may express the maximum value of the actual Trisoup node size as a value obtained by subtracting 3 after converting to base 2 logarithm.
 GPS2011は、複数レベルでのTrisoupを許可するとき、Trisoupノードサイズの最小値を規定するシンタックス(log2_trisoup_min_node_size_minus3)を含んでもよい。 The GPS 2011 may include syntax (log2_trisoup_min_node_size_minus3) that defines the minimum value of the Trisoup node size when allowing Trisoup at multiple levels.
 当該シンタックスは、実際のTrisoupノードサイズの最小値について、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズの最小値について、2を底とする対数に変換した後に3を引いた後の値として表現されていてもよい。 The syntax may be expressed as a logarithmic value with base 2 for the minimum value of the actual Trisoup node size. Furthermore, the syntax may express the minimum value of the actual Trisoup node size as a value after converting to base 2 logarithm and then subtracting 3.
 また、当該シンタックスの値は、必ず0以上かつlog2_trisoup_max_node_size_minus3以下となるように制約されていてもよい。 In addition, the value of the syntax may be constrained to always be 0 or more and log2_trisoup_max_node_size_minus3 or less.
 幾何情報復号部2020は、複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時、追加で以下のシンタックスを復号するように構成されていても良い。 The geometric information decoding unit 2020 may be configured to additionally decode the following syntax when Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0".
 GPS2011は、複数レベルでのTrisoupを許可しないとき、Trisoupノードサイズを規定するシンタックス(log2_trisoup_node_size_minus3)を含んでもよい。 The GPS 2011 may include syntax (log2_trisoup_node_size_minus3) to specify the Trisoup node size when not allowing Trisoup at multiple levels.
 当該シンタックスは、実際のTrisoupノードサイズについて、2を底とする対数に変換した値として表現されていてもよい。更に、当該シンタックスは、実際のTrisoupノードサイズについて、2を底とする対数に変換した後に3を引いた後の値として表現されていてもよい。 The syntax may be expressed as a logarithmic value with base 2 for the actual Trisoup node size. Further, the syntax may express the actual Trisoup node size as a value after converting to base 2 logarithm and then subtracting 3.
(アップサンプル部2120)
以下、図5~図6を用いてアップサンプル部2120でのアップサンプリングについて説明する。
(Up-sampling unit 2120)
Upsampling in the upsampling section 2120 will be described below with reference to FIGS. 5 and 6. FIG.
 図5は、アップサンプル部2120におけるアップサンプリングの一例を示すフローチャートである。 FIG. 5 is a flowchart showing an example of upsampling in the upsampling section 2120. FIG.
 図5に示すように、ステップS501において、アップサンプル部2120は、幾何情報再構成部から出力される幾何情報、すなわち、位置情報を再構成した点群に含まれる全ての点について、アップサンプリングが終了したか否かを判定する。 As shown in FIG. 5, in step S501, the upsampling unit 2120 performs upsampling on all points included in the point group reconstructed from the geometric information output from the geometric information reconstructing unit, that is, the positional information. Determine whether it is finished.
 全ての点の処理を終了した場合は、アップサンプル部2120は、ステップS504において、処理を終了する。一方、全ての点の処理を終了していない場合は、アップサンプル部2120は、ステップS502へ進む。 When all points have been processed, the upsampling unit 2120 ends the process in step S504. On the other hand, if the processing of all points has not been completed, the upsampling unit 2120 proceeds to step S502.
 ステップS502において、アップサンプル部2120は、オフセットベクトルを算出する。 In step S502, the upsampling unit 2120 calculates an offset vector.
 以下、図6Aに示すxyz空間上の点Pに対してオフセットベクトルを求める場合を例に説明する。ここで、点Pの座標は(X、Y、Z)とし、原点Oを始点とし点Pを終点とするベクトルをvpとする。 An example of obtaining an offset vector for a point P on the xyz space shown in FIG. 6A will be described below. Here, the coordinates of the point P are (X, Y, Z), and the vector starting from the origin O and ending at the point P is vp.
 オフセットベクトルvuは、例えば、vuのL2ノルムが1となるように正規化したものとして算出されてもよい。すなわち、アップサンプル部2120は、以下の式に基づいて、オフセットベクトルvuを算出してもよい。 The offset vector vu may be calculated as normalized so that the L2 norm of vu is 1, for example. That is, the upsampling section 2120 may calculate the offset vector vu based on the following equation.
 vu=vp/(X2+Y2+Z2)1/2
 なお、アップサンプル部2120は、上述の平方根の計算及び除算については、近似計算を用いて整数演算となるようにしてもよい。また、上述の近似計算の際に、vpの絶対値が小さすぎると整数演算による誤差が大きくなりすぎるため、vuの代わりに後述するi・vuを求めてもよい。
vu = vp/(X2+Y2+Z2)1/2
Note that the upsampling section 2120 may use approximate calculations to perform integer operations for the square root calculation and division described above. Also, in the approximate calculation described above, if the absolute value of vp is too small, the error due to the integer calculation becomes too large, so i·vu, which will be described later, may be obtained instead of vu.
 オフセットベクトルvuは、アップサンプリングの対象となる点Pについて、原点Oを始点として点Pを指すベクトルvpと同じ方向を指し且つ所定の大きさ(例えば、L2ノルム)を持つベクトルとして算出されていれば、上述以外の手法で算出されても差し支えない。 The offset vector vu is calculated as a vector that points in the same direction as the vector vp that points to the point P starting from the origin O and that has a predetermined size (for example, L2 norm) for the point P to be up-sampled. For example, it may be calculated by a method other than the above.
 言い換えると、点Pが原点Oを中心とした球上に存在すると考えた場合に、球面に対して法線方向となるようにオフセットベクトルvuが算出されていれば、上述以外の手法で算出されても差し支えない。 In other words, assuming that the point P exists on a sphere centered on the origin O, if the offset vector vu is calculated so as to be normal to the spherical surface, it can be calculated by a method other than the above. I don't mind.
 また、アップサンプル部2120は、上述の方向や大きさについて、多少の近似誤差を含む方法でオフセットベクトルvuを導出してもよい。 Also, the upsampling section 2120 may derive the offset vector vu by a method that includes some approximation errors with respect to the direction and magnitude described above.
 アップサンプル部2120は、オフセットベクトルvuを算出した後、ステップS503へ移る。 After calculating the offset vector vu, the upsampling unit 2120 moves to step S503.
 ステップS503において、アップサンプル部2120は、ステップS502で算出したオフセットベクトルvuに基づいてアップサンプリングを行う。 In step S503, the upsampling unit 2120 performs upsampling based on the offset vector vu calculated in step S502.
 ここでも、図6Aの点Pのアップサンプリングを行う場合を例に説明する。図6Bは、点Pのアップサンプリング後の様子の例を示している。 Again, the case of upsampling the point P in FIG. 6A will be described as an example. FIG. 6B shows an example of how the point P looks after upsampling.
 ここで、図6B中に示すiは、アップサンプリング間隔を制御するパラメータであり、GPS2011に含まれるアップサンプリング点の間隔を制御するシンタックス(upsampling_interval)として復号した値を用いる。 Here, i shown in FIG. 6B is a parameter that controls the upsampling interval, and a value decoded as the syntax (upsampling_interval) that controls the interval of the upsampling points included in GPS2011 is used.
 また、図6B中に示すNは、1つの入力点に対してアップサンプリングによって生成する点数を制御するパラメータであり、GPS2011に含まれるアップサンプリング点数を制御するシンタックス(upsampling_number_div2)として復号した値を用いる。 Also, N shown in FIG. 6B is a parameter that controls the number of points generated by upsampling for one input point, and the value decoded as the syntax (upsampling_number_div2) that controls the number of upsampling points included in GPS2011 is use.
 アップサンプリングは、例えば、点Pの座標をvpとしたとき、以下の通り、座標値vsを持つ点を追加することで実現できる。 Upsampling can be realized, for example, by adding a point having a coordinate value vs as follows, where vp is the coordinate of point P.
 vs=vp±ni・vu(n=1,2,...,N)
 この場合、1つの入力点に対して、2N点がアップサンプリングによって追加される。
vs=vp±ni·vu (n=1, 2, . . . , N)
In this case, 2N points are added to one input point by upsampling.
 以上のように、アップサンプル部2120は、アップサンプリングを行った後、ステップS501へ戻り、次の点の処理を行う。 After performing upsampling as described above, the upsampling unit 2120 returns to step S501 and performs the following processing.
(ツリー合成部2020)
 以下、図7~図8を用いてツリー合成部2020の処理について説明する。図7は、ツリー合成部2020における処理の一例を示すフローチャートである。なお、以下では「Octree」を使用してツリーを合成する場合の例について説明する。
(Tree synthesis unit 2020)
The processing of the tree synthesizing unit 2020 will be described below with reference to FIGS. 7 and 8. FIG. FIG. 7 is a flowchart showing an example of processing in the tree synthesizing unit 2020. As shown in FIG. An example of synthesizing a tree using "Octree" will be described below.
 ステップS701において、ツリー合成部2020は、全てのDepthの処理が完了したかどうかを確認する。なお、Depth数は、点群符号化装置100から点群復号装置200に伝送するビットストリーム内に制御データとして含まれていてもよい。 In step S701, the tree synthesizing unit 2020 confirms whether or not all depth processes have been completed. Note that the depth number may be included as control data in a bitstream transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 .
 ツリー合成部2020は、当該Depthのノードサイズを算出する。「Octree」の場合、最初のDepthのノードサイズは、「2のDepth数乗」と定義されてもよい。すなわち、Depth数をNとする場合、最初のDepthのノードサイズは、2のN乗と定義されてもよい。 The tree synthesizing unit 2020 calculates the node size of the depth. For 'Octree', the initial Depth node size may be defined as '2 raised to the power of Depth'. That is, when the depth number is N, the node size of the first depth may be defined as 2 to the Nth power.
 また、2番目以降のDepthでのノードサイズは、Nの数を1つずつ減じていくことで定義されてもよい。すなわち、2番目のDepthのノードサイズは、「2の(N-1)乗」として定義され、3番目のDepthのノードサイズは、「2の(N-2)乗」として定義され、・・・と定義されてもよい。 Also, the node size at the second and subsequent Depths may be defined by decreasing the number of N by one. That is, the node size of the second depth is defined as "2 to the (N-1) power", the node size of the third depth is defined as "2 to the (N-2) power", . may be defined as
 或いは、ノードサイズは、常に2のべき乗で定義されるため、単純に指数部分(N、N-1、N-2、等)の値をノードサイズと考えてもよい。以降の説明では、ノードサイズとは、指数部分の値を指すこととする。 Alternatively, since the node size is always defined as a power of 2, the value of the exponent part (N, N−1, N−2, etc.) may be simply considered as the node size. In the following description, node size refers to the value of the exponent part.
 全てのDepthの処理が完了した場合は、ツリー合成部2020は、ステップS709へ進み、全てのDepthの処理が完了していない場合は、ツリー合成部2020は、ステップS702へ進む。 If the processing of all depths is completed, the tree synthesis unit 2020 proceeds to step S709, and if the processing of all depths is not completed, the tree synthesis unit 2020 proceeds to step S702.
 言い換えると、当該Depthがn番目のDepthの時、(N-n)=0の場合は、ツリー合成部2020は、ステップS709へ進み、(N-n)>0の場合は、ツリー合成部2020は、ステップS702へ進む。 In other words, when the depth is the n-th depth, if (N−n)=0, the tree combining unit 2020 proceeds to step S709; goes to step S702.
 ここで、Trisoupを使用するか否かを制御するフラグ(trisoup_enabled_flag)がTrisoupを使用することを示している場合、すなわち、trisoup_enabled_flagの値が「1」の時は、ツリー合成部2020は、処理するDepth数を、Trisoupノードサイズの最小値を規定するシンタックス(log2_trisoup_min_node_size_minus3)又はTrisoupノードサイズを規定するシンタックス(log2_trisoup_node_size_minus3)の値に基づいて変化させてもよい。かかる場合、例えば、以下のように定義してもよい。
処理Depth数=全Depth数―(最小の)Trisoupノードサイズ
 ここで、最小のTrisoupノードサイズについては、例えば、(log2_trisoup_min_node_size_minus3+3)で定義できる。同様に、Trisoupノードサイズについては、(log2_trisoup_node_size_minus3+3)で定義できる。
Here, when the flag (trisoup_enabled_flag) for controlling whether or not to use Trisoup indicates that Trisoup is used, that is, when the value of trisoup_enabled_flag is "1", the tree synthesizing unit 2020 processes The depth number may be varied based on the value of the syntax that defines the minimum value of the Trisoup node size (log2_trisoup_min_node_size_minus3) or the syntax that defines the Trisoup node size (log2_trisoup_node_size_minus3). In such a case, for example, it may be defined as follows.
Processing Depth number=Total Depth number−(minimum) Trisoup node size Here, the minimum Trisoup node size can be defined by, for example, (log2_trisoup_min_node_size_minus3+3). Similarly, the Trisoup node size can be defined as (log2_trisoup_node_size_minus3+3).
 この場合、全ての処理Depth数の処理が完了した場合は、ツリー合成部2020は、ステップS709へ進み、そうでない場合は、ツリー合成部2020は、ステップS702へ進む。 In this case, if the processing for all the processing depth numbers has been completed, the tree synthesizing unit 2020 proceeds to step S709; otherwise, the tree synthesizing unit 2020 proceeds to step S702.
 言い換えると、(処理Depth数―n)=0の場合は、ツリー合成部2020は、ステップS709へ進み、(処理Depth数-n)>0の場合は、ツリー合成部2020は、ステップS702へ進む。 In other words, if (number of processing depths−n)=0, the tree synthesizing unit 2020 proceeds to step S709, and if (number of processing depths−n)>0, the tree synthesizing unit 2020 proceeds to step S702. .
 また、ツリー合成部2020は、ステップS709へ進む際のノードサイズ(N―処理Depth数)を持つ全てのノードには、Trisoupが適用されると判定してもよい。 Also, the tree synthesizing unit 2020 may determine that Trisoup is applied to all nodes having a node size (N-number of processing depths) when proceeding to step S709.
 ステップS702において、ツリー合成部2020は、当該Depthにて後述するTrisoup_applied_flagを復号する必要があるか否かを判定する。 In step S702, the tree synthesizing unit 2020 determines whether it is necessary to decode Trisoup_applied_flag, which will be described later, at the relevant depth.
 例えば、「複数レベルでのTrisoupが許可(trisoup_multilevel_enabled_flagの値が「1」)」で、且つ、「当該Depthのノードサイズ(N-n)が最大のTrisoupノードサイズ以下」の場合に、ツリー合成部2020は、「Trisoup_applied_flagの復号が必要である」と判定してもよい。 For example, when "Trisoup at multiple levels is enabled (the value of trisoup_multilevel_enabled_flag is "1")" and "the node size (Nn) of the relevant Depth is equal to or smaller than the maximum Trisoup node size", the tree synthesizing unit 2020 may determine that "decoding of Trisoup_applied_flag is required".
 また、ツリー合成部2020は、上述の条件が満たされない場合、「Trisoup_applied_flagの復号が必要ない」と判定してもよい。 Also, the tree synthesis unit 2020 may determine that "decoding of Trisoup_applied_flag is unnecessary" when the above condition is not satisfied.
 ここで、最大のTrisoupノードサイズについては、例えば、(log2_trisoup_max_node_size_minus3+3)で定義できる。 Here, the maximum Trisoup node size can be defined, for example, by (log2_trisoup_max_node_size_minus3+3).
 上述の判定が完了したら、ツリー合成部2020は、ステップS703へ移る。 After the above determination is completed, the tree synthesizing unit 2020 moves to step S703.
 ステップS703において、ツリー合成部2020は、当該Depthに含まれる全てのノードの処理が完了したかどうかを判定する。 In step S703, the tree synthesizing unit 2020 determines whether or not all nodes included in the depth have been processed.
 当該Depthの全てのノードの処理が完了したと判定した場合、ツリー合成部2020は、ステップS701へ移り、次のDepthの処理を行う。 When it is determined that the processing of all nodes of the depth has been completed, the tree synthesizing unit 2020 moves to step S701 and performs the processing of the next depth.
 一方、当該Depthの全てのノードの処理が完了していない場合、ツリー合成部2020は、ステップS704へ移る。 On the other hand, if the processing of all nodes of the relevant depth has not been completed, the tree synthesizing unit 2020 moves to step S704.
 ステップS704において、ツリー合成部2020は、ステップS702で判定したTrisoup_applied_flagの復号の要否について確認する。 In step S704, the tree synthesizing unit 2020 confirms whether decoding of the Trisoup_applied_flag determined in step S702 is necessary.
 Trisoup_applied_flagの復号が必要であると判定されている場合は、ツリー合成部2020は、ステップS705へ進み、Trisoup_applied_flagの復号が必要でないと判定されている場合は、ツリー合成部2020は、ステップS708へ移る。 If it is determined that decoding of Trisoup_applied_flag is necessary, the tree synthesizing unit 2020 proceeds to step S705, and if it is determined that decoding of Trisoup_applied_flag is not required, the tree synthesizing unit 2020 proceeds to step S708. .
 ステップS705において、ツリー合成部2020は、Trisoup_applied_flagを復号する。 In step S705, the tree synthesizing unit 2020 decodes Trisoup_applied_flag.
 Trisoup_applied_flagは、対象ノードにTrisoupを適用するか否かを示す1ビットのフラグ(第2フラグ)である。例えば、かかるフラグの値が「1」の時に対象ノードにTrisoupを適用すると定義し、かかるフラグの値が「0」の時に対象ノードにTrisoupを適用しないと定義してもよい。 Trisoup_applied_flag is a 1-bit flag (second flag) that indicates whether or not Trisoup is applied to the target node. For example, it may be defined that Trisoup is applied to the target node when the flag value is "1", and that Trisoup is not applied to the target node when the flag value is "0".
 ツリー合成部2020は、Trisoup_applied_flagを復号した後、ステップS706へ移る。 After decoding Trisoup_applied_flag, the tree synthesizing unit 2020 moves to step S706.
 ステップS706において、ツリー合成部2020は、ステップS705で復号したTrisoup_applied_flagの値を確認する。 In step S706, the tree synthesizing unit 2020 checks the value of Trisoup_applied_flag decoded in step S705.
 対象ノードにTrisoupを適用する場合、すなわち、Trisoup_applied_flagの値が「1」の場合は、ツリー合成部2020は、ステップS707へ移る。 When Trisoup is applied to the target node, that is, when the value of Trisoup_applied_flag is "1", the tree synthesizing unit 2020 moves to step S707.
 対象ノードにTrisoupを適用しない場合、すなわち、Trisoup_applied_flagの値が「0」の場合は、ツリー合成部2020は、ステップS708へ移る。 When Trisoup is not applied to the target node, that is, when the value of Trisoup_applied_flag is "0", the tree synthesizing unit 2020 proceeds to step S708.
 ステップS707において、ツリー合成部2020は、対象ノードを、Trisoupを適用するノード、すなわち、Trisoupノードとして記憶する。かかる対象ノードに対しては、これ以上、「Octree」によるノードの分割を適用しないこととする。その後、ツリー合成部2020は、ステップS703に進み、次のノードの処理へ移る。 In step S707, the tree synthesizing unit 2020 stores the target node as a node to which Trisoup is applied, that is, as a Trisoup node. It is assumed that the node division by "Octree" is no longer applied to such a target node. After that, the tree synthesizing unit 2020 advances to step S703 to process the next node.
 ステップS708において、ツリー合成部2020は、occpancy codeと呼ばれる情報を復号する。 In step S708, the tree synthesizing unit 2020 decodes the information called the occpancy code.
 occpancy codeは、「Octree」の場合は、対象ノードをx、y、z軸方向にそれぞれ半分に分割して、8つのノード(子ノードと呼ぶ)に分割した際に、それぞれの子ノード内に復号対象の点が含まれているか否かを示す情報である。 In the case of "Octree", the occpancy code is divided into 8 nodes (called child nodes) by dividing the target node in half along the x, y, and z axes. This is information indicating whether or not a point to be decoded is included.
 例えば、occpancy codeは、各子ノードに対して1ビットの情報を割り当て、かかる1ビットの情報が「1」の場合は、かかる子ノード内に復号対象の点が含まれると定義され、かかる1ビットの情報が「0」の場合は、かかる子ノード内に復号対象の点が含まれないと定義されてもよい。 For example, the occupation code assigns 1-bit information to each child node, and if the 1-bit information is "1", it is defined that the point to be decoded is included in the child node. If the bit information is '0', it may be defined that the point to be decoded is not included in the child node.
 ツリー合成部2020は、かかるoccpancy codeを復号する際に、各子ノードに復号対象の点が存在する確率を予め推定し、その確率に基づいて各子ノードに対応するビットをエントロピー復号してもよい。 When decoding such an occurrence code, the tree synthesizing unit 2020 pre-estimates the probability that each child node has a point to be decoded, and entropy-decodes the bits corresponding to each child node based on the probability. good.
 同様に、点群符号化装置100においては、エントロピー符号化してもよい。更に、かかる確率の推定に、インター予測を用いてもよい。インター予測の具体的な方法としては、例えば、非特許文献1に記載の方法を適用できる。更に、インター予測を行う際の参照点群に、アップサンプル部2120でアップサンプルした点群を用いてもよい。 Similarly, the point group encoding device 100 may perform entropy encoding. Furthermore, inter-prediction may be used to estimate such probabilities. As a specific inter-prediction method, for example, the method described in Non-Patent Document 1 can be applied. Furthermore, a point cloud upsampled by the upsampling unit 2120 may be used as a reference point cloud for inter prediction.
 ツリー合成部2020は、occpancy codeを復号した後、ステップS703へ進み、次のノードの処理へ移る。 After decoding the opportunity code, the tree synthesizing unit 2020 advances to step S703 to process the next node.
 ステップS709において、ツリー合成部2020は、Trisoup情報の復号を行う。ツリー合成部2020は、ステップS709の処理については、Trisoupを使用する場合、すなわち、trisoup_enabled_flagの値が「1」の時のみ実行する。すなわち、Trisoupを使用しない場合は、ツリー合成部2020は、ステップS710へ進み、処理を終了する。 In step S709, the tree synthesizing unit 2020 decodes the Trisoup information. The tree synthesizing unit 2020 executes the process of step S709 only when Trisoup is used, that is, when the value of trisoup_enabled_flag is "1". That is, if Trisoup is not used, tree synthesizing section 2020 advances to step S710 and terminates the process.
 図8は、Trisoup情報の復号処理の一例を示すフローチャートである。 FIG. 8 is a flowchart showing an example of decoding processing for Trisoup information.
 図8に示すように、ステップS801において、ツリー合成部2020は、復号点のサンプリング間隔を制御するシンタックスを復号する。 As shown in FIG. 8, in step S801, the tree synthesizing unit 2020 decodes syntax that controls sampling intervals of decoding points.
 ステップS802において、ツリー合成部2020は、全Trisoup階層の処理が完了したかどうかを判定する。ここで、全Trisoup階層の数は、以下の通り定義できる。 In step S802, the tree synthesizing unit 2020 determines whether the processing of all Trisoup hierarchies has been completed. Here, the total number of Trisoup hierarchies can be defined as follows.
 複数レベルでのTrisoupを許可するとき、すなわち、trisoup_multilevel_enabled_flagの値が「1」の時は、全Trisoup階層数は、(最大Trisoupノードサイズ-最小Trisoupノードサイズ+1)で定義できる。 When allowing Trisoup at multiple levels, that is, when the value of trisoup_multilevel_enabled_flag is "1", the total number of Trisoup layers can be defined as (maximum Trisoup node size - minimum Trisoup node size + 1).
 すなわち、かかる場合、全Trisoup階層数は、(log2_trisoup_max_node_size_minus3―log2_trisoup_min_node_size_minus3+1)で定義できる。 That is, in this case, the total number of Trisoup hierarchies can be defined by (log2_trisoup_max_node_size_minus3−log2_trisoup_min_node_size_minus3+1).
 複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時は、全Trisoup階層数は、1である。 When Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0", the total number of Trisoup layers is 1.
 全てのTrisoup階層の処理が完了した場合は、ツリー合成部2020は、ステップS807へ進み、処理を終了する。全てのTrisoup階層の処理が完了していない場合は、ツリー合成部2020は、ステップS803へ移る。 When the processing of all Trisoup hierarchies has been completed, the tree synthesizing unit 2020 proceeds to step S807 and ends the processing. If the processing of all Trisoup hierarchies has not been completed, the tree synthesizing unit 2020 moves to step S803.
 ステップS803において、ツリー合成部2020は、当該Trisoup階層におけるユニークセグメント数を復号する。ユニークセグメント数は、当該Trisoup階層に属するTrisoupノードを構成する辺の数である。 In step S803, the tree synthesizing unit 2020 decodes the number of unique segments in the Trisoup hierarchy. The number of unique segments is the number of sides forming a Trisoup node belonging to the Trisoup hierarchy.
 ステップS803では、ツリー合成部2020は、上述のように、ユニークセグメント数を復号する代わりに、当該Trisoup階層にユニークセグメントが(1つ以上)存在するか否かを示すフラグを復号してもよい。 In step S803, instead of decoding the number of unique segments, the tree synthesizing unit 2020 may decode a flag indicating whether (one or more) unique segments exist in the Trisoup hierarchy as described above. .
 更に、複数レベルでのTrisoupを許可しないとき、すなわち、trisoup_multilevel_enabled_flagの値が「0」の時は、当該Trisoup階層にユニークセグメントが存在することは自明であるため、ツリー合成部2020は、当該Trisoup階層にユニークセグメントが(1つ以上)存在するか否かを示すフラグの復号を省略してもよい。 Furthermore, when Trisoup at multiple levels is not permitted, that is, when the value of trisoup_multilevel_enabled_flag is "0", it is obvious that a unique segment exists in the Trisoup hierarchy. may omit the decoding of the flag indicating whether there is (one or more) unique segments in .
 ツリー合成部2020は、ユニークセグメント数を復号した後、ステップS804へ移る。 After decoding the number of unique segments, the tree synthesizing unit 2020 moves to step S804.
 ステップS804において、ツリー合成部2020は、当該Trisoup階層に属するユニークセグメント数を確認する。 In step S804, the tree synthesizing unit 2020 confirms the number of unique segments belonging to the Trisoup hierarchy.
 ユニークセグメント数が0の場合、すなわち、当該Trisoup階層にはTrisoupノードが1つも含まれない場合は、ツリー合成部2020は、ステップS802へ進み、次のTrisoup階層の処理へ移る。 If the number of unique segments is 0, that is, if the Trisoup hierarchy does not include even one Trisoup node, the tree synthesizing unit 2020 proceeds to step S802 to proceed to the processing of the next Trisoup hierarchy.
 ユニークセグメント数が0より大きい場合は、ツリー合成部2020は、ステップS805へ移る。 If the number of unique segments is greater than 0, the tree synthesizing unit 2020 moves to step S805.
 なお、ステップS803で当該Trisoup階層にユニークセグメントが(1つ以上)存在するか否かを示すフラグを復号した場合、ツリー合成部2020は、当該Trisoup階層にユニークセグメントが存在する場合は、当該Trisoup階層におけるユニークセグメント数を復号した後、ステップS805へ進み、当該Trisoup階層にユニークセグメントが存在しない場合はステップS802へ進む。 Note that when the flag indicating whether (one or more) unique segments exist in the Trisoup hierarchy is decoded in step S803, the tree synthesizing unit 2020 determines that the Trisoup hierarchy contains unique segments. After decoding the number of unique segments in the layer, the process proceeds to step S805, and if there is no unique segment in the Trisoup layer, the process proceeds to step S802.
 ステップS805において、ツリー合成部2020は、各ユニークセグメントに対してTrisoup処理に用いる頂点が含まれるか否かを復号する。 In step S805, the tree synthesizing unit 2020 decodes whether each unique segment includes a vertex used for Trisoup processing.
 なお、各ユニークセグメントに対して存在できる頂点は、1点のみに制限してもよい。この場合、頂点が存在するユニークセグメント数が=頂点数と解釈できる。 It should be noted that the number of vertices that can exist for each unique segment may be limited to only one point. In this case, the number of unique segments in which vertices exist can be interpreted as = the number of vertices.
 ツリー合成部2020は、当該Trisoup階層の全てのユニークセグメントについて頂点の有無を復号した後、ステップS806へ移る。 After decoding the presence/absence of vertices for all unique segments in the Trisoup hierarchy, the tree synthesizing unit 2020 moves to step S806.
 ステップS806において、ツリー合成部2020は、ステップS805において頂点が存在すると判定された各ユニークセグメントに対して、各ユニークセグメント上のどこに頂点が存在するのかという位置情報を復号する。 In step S806, the tree synthesizing unit 2020 decodes position information indicating where the vertex exists on each unique segment for each unique segment determined to have a vertex in step S805.
 位置情報は、例えば、当該Trisoup階層におけるTrisoupノードサイズがL(2のL乗)の場合、Lビットの等長符号で符号化されていてもよい。 For example, if the Trisoup node size in the Trisoup hierarchy is L (2 to the L power), the position information may be encoded with an L-bit equal-length code.
 ツリー合成部2020は、当該Trisoup階層において、頂点が存在する全てのユニークセグメントに対して頂点位置を復号した後、ステップS802へ移り、次のTrisoup階層の処理へ進む。 After decoding the vertex positions for all unique segments having vertices in the Trisoup hierarchy, the tree synthesizing unit 2020 proceeds to step S802 to proceed to the processing of the next Trisoup hierarchy.
(点群符号化装置100)
 以下、図9を参照して、本実施形態に係る点群符号化装置100について説明する。図9は、本実施形態に係る点群符号化装置100の機能ブロックの一例について示す図である。
(Point group encoding device 100)
The point group encoding device 100 according to this embodiment will be described below with reference to FIG. FIG. 9 is a diagram showing an example of functional blocks of the point group encoding device 100 according to this embodiment.
 図9に示すように、点群符号化装置100は、座標変換部1010と、幾何情報量子化部1020と、ツリー解析部1030と、近似表面解析部1040と、幾何情報符号化部1050と、幾何情報再構成部1060と、色変換部1070と、属性転移部1080と、RAHT部1090と、LoD算出部1100と、リフティング部1110と、属性情報量子化部1120と、属性情報符号化部1130と、アップサンプル部1140と、フレームバッファ1150とを有する。 As shown in FIG. 9, the point group encoding device 100 includes 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, Geometric information reconstruction unit 1060, color conversion unit 1070, attribute transfer unit 1080, RAHT unit 1090, LoD calculation unit 1100, lifting unit 1110, attribute information quantization unit 1120, attribute information encoding unit 1130 , an up-sampling unit 1140 and a frame buffer 1150 .
 座標変換部1010は、入力点群の3次元座標系から、任意の異なる座標系への変換処理を行うよう構成されている。座標変換は、例えば、入力点群を回転することにより、入力点群のx、y、z座標を任意のs、t、u座標に変換してもよい。また、変換のバリエーションの1つとして、入力点群の座標系をそのまま使用してもよい。 The coordinate transformation unit 1010 is configured to perform transformation processing from the three-dimensional coordinate system of the input point group to any different coordinate system. Coordinate transformation may transform the x, y, z coordinates of the input point cloud to arbitrary s, t, u coordinates, for example, by rotating the input point cloud. Also, as one variation of transformation, the coordinate system of the input point cloud may be used as it is.
 幾何情報量子化部1020は、座標変換後の入力点群の位置情報の量子化及び座標が重複する点の除去を行うように構成されている。なお、量子化ステップサイズが1の場合は、入力点群の位置情報と量子化後の位置情報とが一致する。すなわち、量子化ステップサイズが1の場合は、量子化を行わない場合と等価になる。 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. Note that when the quantization step size is 1, the position information of the input point group matches the position information after quantization. That is, when the quantization step size is 1, it is equivalent to not performing quantization.
 ツリー解析部1030は、量子化後の点群の位置情報を入力として、後述のツリー構造に基づいて、符号化対象空間のどのノードに点が存在するかについて示すoccupancy codeを生成するように構成されている。 The tree analysis unit 1030 is configured to receive the position information of the quantized point group as input and generate an occupancy code indicating at which node in the encoding target space the point exists based on the tree structure described later. It is
 ツリー解析部1030は、本処理において、符号化対象空間を再帰的に直方体で区切ることにより、ツリー構造を生成するように構成されている。 The tree analysis unit 1030 is configured to generate a tree structure in this process by recursively partitioning the encoding target space into rectangular parallelepipeds.
 ここで、ある直方体内に点が存在する場合、かかる直方体を複数の直方体に分割する処理を、直方体が所定のサイズになるまで再帰的に実行することでツリー構造を生成することができる。なお、かかる各直方体をノードと呼ぶ。また、ノードを分割して生成される各直方体を子ノードと呼び、子ノード内に点が含まれるか否かについて0又は1で表現したものがoccupancy codeである。 Here, if a point exists within a certain rectangular parallelepiped, a tree structure can be generated by recursively executing the process of dividing the rectangular parallelepiped into multiple rectangular parallelepipeds until the rectangular parallelepipeds reach a predetermined size. Each rectangular parallelepiped is called a node. In addition, each rectangular parallelepiped generated by dividing a node is called a child node, and an occupancy code is expressed by 0 or 1 as to whether or not a point is included in the child node.
 以上のように、ツリー解析部1030は、所定のサイズになるまでノードを再帰的に分割しながら、occupancy codeを生成するように構成されている。 As described above, the tree analysis unit 1030 is configured to generate an occupancy code while recursively dividing a node until it reaches a predetermined size.
 本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。 In this embodiment, a method called "Octree" that recursively divides the octree with the above-mentioned rectangular parallelepiped always as a cube, and "QtBt" that performs quadtree division and binary tree division in addition to octree division can be used.
 ここで、「QtBt」を使用するか否かについては、制御データとして点群復号装置200に伝送される。 Here, whether or not to use "QtBt" is transmitted to the point cloud decoding device 200 as control data.
 或いは、任意のツリー構成を用いるPredicitive codingを使用するように指定されてもよい。かかる場合、ツリー解析部1030が、ツリー構造を決定し、決定されたツリー構造は、制御データとして点群復号装置200へ伝送される。 Alternatively, it may be specified to use Predictive coding with an arbitrary tree structure. In this case, 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.
 例えば、ツリー構造の制御データは、図7及び図8で説明した手順で復号できるよう構成されていてもよい。 For example, tree-structured control data may be configured so that it can be decoded according to the procedure described in FIGS.
 近似表面解析部1040は、ツリー解析部1030によって生成されたツリー情報を用いて、近似表面情報を生成するように構成されている。 The approximate surface analysis unit 1040 is configured to use the tree information generated by the tree analysis unit 1030 to generate approximate surface information.
 近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。
具体的には、近似表面解析部1040は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成するように構成されていてもよい。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。
For example, when decoding 3D point cloud data of an object, when the point clouds are densely distributed on the surface of the object, the approximate surface information is obtained by decoding the points instead of decoding individual point clouds. It is an approximation of the existence area of the group with a small plane.
Specifically, the approximate surface analysis unit 1040 may be configured to generate approximate surface information by, for example, a technique called “Trisoup”. Also, when decoding a sparse point group acquired by Lidar or the like, this process can be omitted.
 幾何情報符号化部1050は、ツリー解析部1030によって生成されたoccupancy code及び近似表面解析部1040によって生成された近似表面情報等のシンタックスを符号化してビットストリーム(幾何情報ビットストリーム)を生成するように構成されている。ここで、ビットストリームには、例えば、図4で説明したシンタックスを含まれていてもよい。 The geometric information encoding unit 1050 encodes 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 to generate a bitstream (geometric information bitstream). is configured as Here, the bitstream may contain, for example, the syntax described in FIG.
 符号化処理は、例えば、コンテキスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The encoding process is, for example, context adaptive binary arithmetic encoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling decoding processing of position information.
 幾何情報再構成部1060は、ツリー解析部1030によって生成されたツリー情報及び近似表面解析部1040によって生成された近似表面情報に基づいて、符号化対象の点群データの各点の幾何情報(符号化処理が仮定している座標系、すなわち、座標変換部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 geometric information reconstruction unit 1060 generates geometric information (code It is configured to reconstruct the coordinate system assumed by the transformation processing, that is, the position information after the coordinate transformation in the coordinate transformation unit 1010).
 アップサンプル部1140は、幾何情報再構成部1060によって再構成された幾何情報を入力として、例えば、図5及び図6で説明したアップサンプリングを行うように構成されている。 The upsampling unit 1140 is configured to receive the geometric information reconstructed by the geometric information reconstructing unit 1060 and perform the upsampling described with reference to FIGS. 5 and 6, for example.
 フレームバッファ1150は、アップサンプル部1140でアップサンプリングされた点群を入力とし、参照フレームとして保存するように構成されている。 The frame buffer 1150 is configured to receive the point cloud upsampled by the upsampling unit 1140 and store it as a reference frame.
 保存された参照フレームは、ツリー解析部1030において時間的に異なるフレームのインター予測を行う場合に、フレームバッファ1150から読み出されて参照フレームとして使用される。 The stored reference frames are read from the frame buffer 1150 and used as reference frames when the tree analysis unit 1030 inter-predicts temporally different frames.
 ここで、各フレームに対してどの時刻の参照フレームを用いるかどうかが、例えば、符号化効率を表すコスト関数の値に基づいて決定され、使用する参照フレームの情報が制御データとして点群復号装置200へ伝送されてもよい。 Here, whether or not the reference frame at which time is to be used for each frame is determined, for example, based on the value of the cost function representing the coding efficiency, and the information of the reference frame to be used is used as control data for the point group decoding device. 200.
 なお、ここでは、アップサンプル部1140でアップサンプリングした後にフレームバッファ1150に保存する場合の例を説明したが、この順番は逆でもよい。 Here, an example of storing in the frame buffer 1150 after upsampling by the upsampling unit 1140 has been described, but this order may be reversed.
 すなわち、幾何情報再構成部1060から出力される幾何情報が参照フレームとしてフレームバッファ1150へ保存され、その後、ツリー解析部1030にてインター予測を行う際に、フレームバッファ1150に保存されていた参照フレームがアップサンプル部1140でアップサンプリングされてからツリー解析部1030に入力されてもよい。 That is, the geometric information output from the geometric information reconstruction unit 1060 is stored in the frame buffer 1150 as a reference frame, and then the reference frame stored in the frame buffer 1150 is used when inter prediction is performed by the tree analysis unit 1030. may be up-sampled by up-sampling section 1140 and then input to tree analysis section 1030 .
 さらに別の例として、アップサンプル部1140は、ツリー解析部1030内部に含まれるよう構成されていてもよい。 As yet another example, the upsampling unit 1140 may be configured to be included inside the tree analysis unit 1030 .
 色変換部1070は、入力の属性情報が色情報であった場合に、色変換を行うように構成されている。色変換は、必ずしも実行する必要は無く、色変換処理の実行の有無については、制御データの一部として符号化され、点群復号装置200へ伝送される。 The color conversion unit 1070 is configured to perform color conversion when the input attribute information is color information. Color conversion does not necessarily need to be executed, and whether or not to execute color conversion processing is encoded as part of control data and transmitted to the point cloud decoding device 200 .
 属性転移部1080は、入力点群の位置情報、幾何情報再構成部1060における再構成後の点群の位置情報及び色変換部1070での色変化後の属性情報に基づいて、属性情報の歪みが最小となるように属性値を補正するように構成されている。具体的な補正方法は、例えば、非特許文献2に記載の方法を適用できる。 The attribute transfer unit 1080 performs distortion of attribute information based on the position information of the input point group, the position information of the point group after reconstruction by the geometric information reconstruction unit 1060, and the attribute information after color change by the color conversion unit 1070. is configured to correct the attribute value so that is minimized. As a specific correction method, for example, the method described in Non-Patent Document 2 can be applied.
 RAHT部1090は、属性転移部1080による転移後の属性情報及び幾何情報再構成部1060によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換の一種を用いて、各点の残差情報を生成するように構成されている。RAHTの具体的な処理としては、例えば、非特許文献2に記載の方法を用いることができる。 The RAHT unit 1090 receives 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 uses a type of Haar transformation called RAHT (Region Adaptive Hierarchical Transform) to transform each configured to generate point residual information; As a specific processing of RAHT, for example, the method described in Non-Patent Document 2 can be used.
 LoD算出部1100は、幾何情報再構成部1060によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。 The LoD calculation unit 1100 is configured to receive the geometric information generated by the geometric information reconstruction unit 1060 and generate LoD (Level of Detail).
 LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 LoD is a reference relationship (referred point and referenced point ) is information for defining
 言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD classifies each point included in geometric information into a plurality of levels, and encodes or decodes the attributes of points belonging to lower levels using attribute information of points belonging to higher levels. This is information that defines the structure.
 LoDの具体的な決定方法としては、例えば、非特許文献2に記載の方法を用いてもよい。 As a specific method for determining LoD, for example, the method described in Non-Patent Document 2 may be used.
 リフティング部1110は、LoD算出部1100によって生成されたLoD及び属性転移部1080での属性転移後の属性情報を用いて、リフティング処理により残差情報を生成するように構成されている。 The lifting unit 1110 is configured to generate residual information through a lifting process using the LoD generated by the LoD calculation unit 1100 and the attribute information after the attribute transfer by the attribute transfer unit 1080.
 リフティングの具体的な処理としては、例えば、非特許文献2に記載の方法を用いてもよい。 As a specific lifting process, for example, the method described in Non-Patent Document 2 may be used.
 属性情報量子化部1120は、RAHT部1090又はリフティング部1110から出力される残差情報を量子化するように構成されている。ここで、量子化ステップサイズが1の場合は、量子化を行わない場合と等価である。 The attribute information quantization section 1120 is configured to quantize the residual information output from the RAHT section 1090 or the lifting section 1110 . Here, the case where the quantization step size is 1 is equivalent to the case where no quantization is performed.
 属性情報符号化部1130は、属性情報量子化部1120から出力される量子化後の残差情報等をシンタックスとして符号化処理を行い、属性情報に関するビットストリーム(属性情報ビットストリーム)を生成するように構成されている。 The attribute information encoding unit 1130 performs encoding processing using the quantized residual information output from the attribute information quantization unit 1120 as a syntax, and generates a bitstream related to attribute information (attribute information bitstream). is configured as
 符号化処理は、例えば、コンテキスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The encoding process is, for example, context adaptive binary arithmetic encoding process. Here, for example, the syntax includes control data (flags and parameters) for controlling attribute information decoding processing.
 点群符号化装置100は、以上の処理により、点群内の各点の位置情報及び属性情報を入力として符号化処理を行い、幾何情報ビットストリーム及び属性情報ビットストリームを出力するように構成されている。 Through the above processing, the point cloud encoding device 100 is configured to input position information and attribute information of each point in the point cloud, perform encoding processing, and output a geometric information bitstream and an attribute information bitstream. ing.
 また、上述の点群符号化装置100及び点群復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。 Also, the point cloud encoding device 100 and the point cloud decoding device 200 described above may be implemented as a program that causes a computer to execute each function (each process).
 なお、上記の各実施形態では、本発明を点群符号化装置100及び点群復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、点群符号化装置100及び点群復号装置200の各機能を備えた点群符号化/復号システムにも同様に適用できる。 In the above-described embodiments, the present invention is applied to the point group encoding device 100 and the point group decoding device 200 as examples, but the present invention is not limited to such examples. A point cloud encoding/decoding system having the functions of the point cloud encoding device 100 and the point cloud decoding device 200 can be similarly applied.
 なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 In addition, according to this embodiment, for example, since it is possible to improve the overall service quality in video communication, the United Nations-led Sustainable Development Goals (SDGs) Goal 9 "Develop resilient infrastructure, It will be possible to contribute to the promotion of sustainable industrialization and the expansion of innovation.
10…点群処理システム
100…点群符号化装置
1010…座標変換部
1020…幾何情報量子化部
1030…ツリー解析部
1040…近似表面解析部
1050…幾何情報符号化部
1060…幾何情報再構成部
1070…色変換部
1080…属性転移部
1090…RAHT部
1100…LoD算出部
1110…リフティング部
1120…属性情報量子化部
1130…属性情報符号化部
1140…アップサンプル部
1150…フレームバッファ
200…点群復号装置
2010…幾何情報復号部
2020…ツリー合成部
2030…近似表面合成部
2040…幾何情報再構成部
2050…逆座標変換部
2060…属性情報復号部
2070…逆量子化部
2080…RAHT部
2090…LoD算出部
2100…逆リフティング部
2110…逆色変換部
2120…アップサンプリング部
2130…フレームバッファ
 
 
 
10... Point group processing system 100... Point group encoding device 1010... Coordinate transformation 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... Up-sampling unit 1150... Frame buffer 200... Point group 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 calculator 2100 Inverse lifting unit 2110 Inverse color conversion unit 2120 Upsampling unit 2130 Frame buffer

Claims (12)

  1.  点群復号装置であって、
     点群の位置情報を再構成するように構成されている幾何情報再構成部と、
     前記幾何情報再構成部で再構成された点群をアップサンプリングするように構成されているアップサンプル部と、
     前記アップサンプリングされた点群を参照してインター予測を行うように構成されているツリー合成部と、を備え、
     前記アップサンプル部は、前記再構成された点群における各点の座標からオフセットベクトルを算出し、前記オフセットベクトルを用いてアップサンプリングを行うように構成されていることを特徴とする点群復号装置。
    A point cloud decoding device,
    a geometric information reconstruction unit configured to reconstruct position information of the point cloud;
    an upsampling unit configured to upsample the point cloud reconstructed by the geometric information reconstruction unit;
    a tree synthesizer configured to perform inter prediction with reference to the upsampled point cloud;
    The point cloud decoding device, wherein the up-sampling unit is configured to calculate an offset vector from the coordinates of each point in the reconstructed point cloud, and perform up-sampling using the offset vector. .
  2.  前記アップサンプル部は、座標空間の原点を始点として前記再構成された点群における各点の座標を指すベクトルと同じ方向を指し且つ所定の大きさを持つベクトルとして前記オフセットベクトルを算出するように構成されていることを特徴とする請求項1に記載の点群復号装置。 The up-sampling unit calculates the offset vector as a vector pointing in the same direction as a vector pointing to the coordinates of each point in the reconstructed point group with the origin of the coordinate space as a starting point and having a predetermined size. 2. The point group decoding device according to claim 1, wherein:
  3.  前記所定の大きさは、「L2ノルムが1である」と定義されていることを特徴とする請求項2に記載の点群復号装置。 The point cloud decoding device according to claim 2, wherein the predetermined size is defined as "the L2 norm is 1".
  4.  前記アップサンプル部は、前記オフセットベクトルと、アップサンプリング間隔を制御するパラメータと、前記アップサンプリングによって生成する点数を制御するパラメータに基づいて、アップサンプル点を算出するように構成されていることを特徴とする請求項1~3のいずれか1項に記載の点群復号装置。 The upsampling unit is configured to calculate upsampling points based on the offset vector, a parameter for controlling an upsampling interval, and a parameter for controlling the number of points generated by the upsampling. The point group decoding device according to any one of claims 1 to 3.
  5.  前記アップサンプリング間隔を制御するパラメータ及び前記アップサンプリングによって生成する点数を制御するパラメータを、それぞれ制御データとしてビットストリームから復号するように構成されている幾何情報復号部を備えることを特徴とする請求項4に記載の点群復号装置。 A geometric information decoding unit configured to decode a parameter for controlling the upsampling interval and a parameter for controlling the number of points generated by the upsampling as control data, respectively, from a bitstream. 5. The point group decoding device according to 4.
  6.  点群復号装置であって、
     複数レベルでのTrisoupを許可するか否かを制御する第1フラグを復号するように構成されている幾何情報復号部を備えることを特徴とする点群復号装置。
    A point cloud decoding device,
    A point cloud decoding device, comprising: a geometric information decoding unit configured to decode a first flag that controls whether or not Trisoup at multiple levels is permitted.
  7.  前記幾何情報復号部は、前記第1フラグの値が前記複数レベルでのTrisoupを許可することを示す場合、最大Trisoupノードサイズ及び最小Trisoupノードサイズを復号するように構成されていることを特徴とする請求項6に記載の点群復号装置。 The geometric information decoding unit is configured to decode a maximum Trisoup node size and a minimum Trisoup node size when the value of the first flag indicates that Trisoup at the multiple levels is permitted. The point group decoding device according to claim 6.
  8.  前記第1フラグの値が前記複数レベルでのTrisoupを許可することを示す場合、ノード毎に対象ノードにTrisoupを適用するか否かを示す第2フラグを復号するように構成されているツリー合成部を備えることを特徴とする請求項6又は7に記載の点群復号装置。 tree composition configured to decode a second flag indicating whether or not to apply Trisoup to the target node for each node if the value of the first flag indicates to allow Trisoup at the multiple levels; 8. The point group decoding device according to claim 6, further comprising a unit.
  9.  前記ツリー合成部は、前記第1フラグの値が前記複数レベルでのTrisoupを許可することを示す場合、Depthごとに前記第2フラグの復号の要否を判定し、前記第2フラグの復号が必要であると判定されたDepthに属するノードのみ、ノードごとに前記第2フラグを復号するように構成されていることを特徴とする請求項8に記載の点群復号装置。 When the value of the first flag indicates that Trisoup at the plurality of levels is permitted, the tree synthesizing unit determines whether decoding of the second flag is necessary for each depth, and determines whether the decoding of the second flag is necessary. 9. The point group decoding device according to claim 8, wherein only nodes belonging to the depth determined to be necessary are configured to decode the second flag for each node.
  10.  前記ツリー合成部は、前記第1フラグの値が前記複数レベルでのTrisoupを許可することを示す場合で、且つ、前記Depthにおけるノードサイズが最大Trisoupノードサイズ以下で且つ最小Trisoupノードサイズより大きい場合に、前記第2フラグを復号する必要があると判定し、前記第2フラグを復号する必要があると判定されたDepthに属するノードのみ、ノード毎に前記第2フラグを復号するように構成されていることを特徴とする請求項8に記載の点群復号装置。 When the value of the first flag indicates that the Trisoup at the multiple levels is permitted, and the node size at the depth is equal to or less than the maximum Trisoup node size and greater than the minimum Trisoup node size and only the nodes belonging to the Depth for which it is determined that the second flag needs to be decoded are configured to decode the second flag for each node 9. The point group decoding device according to claim 8, wherein:
  11.  点群復号方法であって、
     点群の位置情報を再構成するように構成されている幾何情報再構成部と、
     前記幾何情報再構成部で再構成された点群をアップサンプリングする工程Aと、
     前記アップサンプリングされた点群を参照してインター予測を行う工程Bと、を備え、
     前記工程Aにおいて、前記再構成された点群における各点の座標からオフセットベクトルを算出し、前記オフセットベクトルを用いてアップサンプリングを行うことを特徴とする点群復号方法。
    A point cloud decoding method comprising:
    a geometric information reconstruction unit configured to reconstruct position information of the point cloud;
    A step A of upsampling the point cloud reconstructed by the geometric information reconstruction unit;
    A step B of performing inter prediction with reference to the upsampled point cloud,
    A point cloud decoding method, wherein in the step A, an offset vector is calculated from the coordinates of each point in the reconstructed point cloud, and upsampling is performed using the offset vector.
  12.  コンピュータを、点群復号装置として機能させるプログラムであって、
     前記点群復号装置は、
      点群の位置情報を再構成するように構成されている幾何情報再構成部と、
      前記幾何情報再構成部で再構成された点群をアップサンプリングするように構成されているアップサンプル部と、
      前記アップサンプリングされた点群を参照してインター予測を行うように構成されているツリー合成部と、を備え、
     前記アップサンプル部は、前記再構成された点群における各点の座標からオフセットベクトルを算出し、前記オフセットベクトルを用いてアップサンプリングを行うように構成されていることを特徴とするプログラム。
    A program that causes a computer to function as a point cloud decoding device,
    The point group decoding device is
    a geometric information reconstruction unit configured to reconstruct position information of the point cloud;
    an upsampling unit configured to upsample the point cloud reconstructed by the geometric information reconstruction unit;
    a tree synthesizer configured to perform inter prediction with reference to the upsampled point cloud;
    The program, wherein the up-sampling unit is configured to calculate an offset vector from the coordinates of each point in the reconstructed point group, and perform up-sampling using the offset vector.
PCT/JP2022/026209 2021-07-02 2022-06-30 Point cloud decoding device, point cloud decoding method, and program WO2023277128A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021111088A JP2023007934A (en) 2021-07-02 2021-07-02 Point group decryption device, point group decryption method and program
JP2021-111088 2021-07-02

Publications (1)

Publication Number Publication Date
WO2023277128A1 true WO2023277128A1 (en) 2023-01-05

Family

ID=84692757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026209 WO2023277128A1 (en) 2021-07-02 2022-06-30 Point cloud decoding device, point cloud decoding method, and program

Country Status (2)

Country Link
JP (1) JP2023007934A (en)
WO (1) WO2023277128A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6732152B1 (en) * 2017-10-12 2020-07-29 三菱電機株式会社 Point cloud encoder
US20210029187A1 (en) * 2019-07-03 2021-01-28 Lg Electronics Inc. Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus and point cloud data reception method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6732152B1 (en) * 2017-10-12 2020-07-29 三菱電機株式会社 Point cloud encoder
US20210029187A1 (en) * 2019-07-03 2021-01-28 Lg Electronics Inc. Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus and point cloud data reception method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DRICOT ANTOINE; ASCENSO JOAO: "Adaptive Multi-level Triangle Soup for Geometry-based Point Cloud Coding", 2019 IEEE 21ST INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP), IEEE, 27 September 2019 (2019-09-27), pages 1 - 6, XP033660072, DOI: 10.1109/MMSP.2019.8901791 *

Also Published As

Publication number Publication date
JP2023007934A (en) 2023-01-19

Similar Documents

Publication Publication Date Title
CN113615181B (en) Method and device for point cloud encoding and decoding
US11645812B2 (en) Inter-component residual prediction for color attributes in geometry point cloud compression coding
US20210314616A1 (en) Predictor index signaling for predicting transform in geometry-based point cloud compression
CN113632142A (en) Method and device for point cloud compression
WO2022070469A1 (en) Point group decoding device, point group decoding method, and program
CN115885317A (en) Point cloud decoding device, point cloud decoding method, and program
WO2022071284A1 (en) Point group decoding device, point group decoding method, and program
WO2022076171A1 (en) Gpcc planar mode and buffer simplification
WO2023277128A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2021256486A1 (en) Point group decoding device, point group decoding method, and program
WO2022071282A1 (en) Point group decoding device, point group decoding method, and program
WO2022071285A1 (en) Point group decoding device, point group decoding method, and program
EP4133724A1 (en) Global scaling for point cloud data
WO2021262939A1 (en) Scale factor for quantization parameter values in geometry-based point cloud compression
JP2023053827A (en) Point group decoding device, point group decoding method and program
WO2023132330A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2023132331A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2023132329A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024009675A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024009676A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024009562A1 (en) Point cloud decoding device, point cloud decoding method, and program
WO2024009561A1 (en) Point cloud decoding device, point cloud decoding method, and program
US12002244B2 (en) Global scaling for geometry-based point cloud coding
US20230342987A1 (en) Occupancy coding using inter prediction with octree occupancy coding based on dynamic optimal binary coder with update on the fly (obuf) in geometry-based point cloud compression
JP2024058011A (en) Point group decoding device, point group decoding method and program

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE