Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
View Patent ↗A three-dimensional data encoding method includes: selecting, as one or more candidates for calculating a predicted value of attribute information of a first three-dimensional point, one or more three-dimensional points from a plurality of three-dimensional points, the one or more three-dimensional points being closest to the first three-dimensional point; calculating a predicted value using pieces of attribute information of the one or more three-dimensional points selected as the one or more candidates; calculating a prediction residual that is a difference between the attribute information of the first three-dimensional point and the predicted value calculated; and generating a bitstream, based on the prediction residual. In the selecting, when the plurality of three-dimensional points include three-dimensional points equidistant from the first three-dimensional point, the one or more candidates are selected based on a first Morton code of the first three-dimensional point.
1. A three-dimensional data encoding method, comprising:
selecting, as one or more candidates for calculating a predicted value of attribute information of a first three-dimensional point, one or more three-dimensional points from a plurality of three-dimensional points based on one or more distances from the first three-dimensional point;
calculating a predicted value using pieces of attribute information of the one or more three-dimensional points selected as the one or more candidates;
calculating a prediction residual that is a difference between (i) the attribute information of the first three-dimensional point and (ii) the predicted value calculated; and
generating a bitstream, based on the prediction residual,
wherein in the selecting, when the plurality of three-dimensional points include three-dimensional points equidistant from the first three-dimensional point, the one or more candidates are selected based on a first Morton code of the first three-dimensional point,
the plurality of three-dimensional points are one-dimensionally arranged in order of Morton codes, belong to a first layer higher than a layer to which the first three-dimensional point belongs, and comprise a first group and a second group,
the first group includes one or more third three-dimensional points having Morton codes closer to the first Morton code than other three-dimensional points included in the plurality of three-dimensional points,
the second group neighbors the first group, and the second group includes one or more fourth three-dimensional points having Morton codes greater than the first Morton code, the one or more fourth three-dimensional points belonging to the first layer,
the second group is searched for the one or more candidates after the first group, and
when the third three-dimensional points included in the first group are selected as the one or more candidates, and a distance between the first three-dimensional point and one of the one or more third three-dimensional points is equal to a distance between the first three-dimensional point and one of the one or more fourth three-dimensional points, the one or more third three-dimensional points are maintained as the one or more candidates.
2. The three-dimensional data encoding method according to claim 1 ,
wherein in the selecting, when the plurality of three-dimensional points include second three-dimensional points equidistant from the first three-dimensional point, one or more three-dimensional points having Morton codes closer to the first Morton code than other three-dimensional points included in the plurality of three-dimensional points are selected as the one or more candidates.
3. The three-dimensional data encoding method according to claim 1 ,
wherein when the one or more third three-dimensional points included in the first group are selected as the one or more candidates, and a distance between the first three-dimensional point and one of the one or more third three-dimensional points is equal to a distance between the first three-dimensional point and one of the one or more fourth three-dimensional points, the one or more candidates are not updated.
4. The three-dimensional data encoding method according to claim 1 ,
wherein the plurality of three-dimensional points comprise a third group neighboring the first group and including one or more fifth three-dimensional points having Morton codes less than the first Morton code, and
the third group is searched for the one or more candidates after the second group.
5. The three-dimensional data encoding method according to claim 4 ,
wherein the plurality of three-dimensional points comprise a fourth group and a fifth group, the fourth group neighboring the third group and including one or more three-dimensional points having Morton codes greater than the Morton codes of the one or more third three-dimensional points, the fifth group neighboring the fourth group and including one or more three-dimensional points having Morton codes less than the Morton codes of the one or more fourth three-dimensional points, and
the third group, the fourth group, and the fifth group are searched for the one or more candidates in stated order.
6. The three-dimensional data encoding method according to claim 5 ,
wherein each of the first group, the second group, the third group, the fourth group, and the fifth group includes a single three-dimensional point.
7. A three-dimensional data decoding method, comprising:
obtaining a prediction residual of a first three-dimensional point among a plurality of three-dimensional points by obtaining a bitstream;
selecting, as one or more candidates for calculating a predicted value of attribute information of a first three-dimensional point, one or more three-dimensional points from three-dimensional points based on one or more distances from the first three-dimensional point;
calculating a predicted value using pieces of attribute information of the one or more three-dimensional points selected as the one or more candidates;
calculating the attribute information of the first three-dimensional point by adding the predicted value and the prediction residual,
wherein in the selecting, when the plurality of three-dimensional points include three-dimensional points equidistant from the first three-dimensional point, the one or more candidates are selected based on a first Morton code of the first three-dimensional point,
the plurality of three-dimensional points are one-dimensionally arranged in order of Morton codes, belong to a first layer higher than a layer to which the first three-dimensional point belongs, and comprise a first group and a second group,
the first group includes one or more third three-dimensional points having Morton codes closer to the first Morton code than other three-dimensional points included in the plurality of three-dimensional points,
the second group neighbors the first group, and the second group includes one or more fourth three-dimensional points having Morton codes greater than the first Morton code, the one or more fourth three-dimensional points belonging to the first layer,
the second group is searched for the one or more candidates after the first group, and
when the third three-dimensional points included in the first group are selected as the one or more candidates, and a distance between the first three-dimensional point and one of the one or more third three-dimensional points is equal to a distance between the first three-dimensional point and one of the one or more fourth three-dimensional points, the one or more third three-dimensional points are maintained as the one or more candidates.
8. A three-dimensional data encoding device, comprising:
a processor; and
memory,
wherein using the memory, the processor:
selects, as one or more candidates for calculating a predicted value of attribute information of a first three-dimensional point, one or more three-dimensional points from a plurality of three-dimensional points based on one or more distances from the first three-dimensional point;
calculates a predicted value using pieces of attribute information of the one or more three-dimensional points selected as the one or more candidates;
calculates a prediction residual that is a difference between (i) the attribute information of the first three-dimensional point and (ii) the predicted value calculated; and
generates a bitstream, based on the prediction residual,
wherein in the selecting, when the plurality of three-dimensional points include three-dimensional points equidistant from the first three-dimensional point, the one or more candidates are selected based on a first Morton code of the first three-dimensional point,
the plurality of three-dimensional points are one-dimensionally arranged in order of Morton codes, belong to a first layer higher than a layer to which the first three-dimensional point belongs, and comprise a first group and a second group,
the first group includes one or more third three-dimensional points having Morton codes closer to the first Morton code than other three-dimensional points included in the plurality of three-dimensional points,
the second group neighbors the first group, and the second group includes one or more fourth three-dimensional points having Morton codes greater than the first Morton code, the one or more fourth three-dimensional points belonging to the first layer,
the second group is searched for the one or more candidates after the first group, and
when the third three-dimensional points included in the first group are selected as the one or more candidates, and a distance between the first three-dimensional point and one of the one or more third three-dimensional points is equal to a distance between the first three-dimensional point and one of the one or more fourth three-dimensional points, the one or more third three-dimensional points are maintained as the one or more candidates.
9. A three-dimensional data decoding device, comprising:
a processor; and
memory,
wherein using the memory, the processor:
obtains a prediction residual of a first three-dimensional point among a plurality of three-dimensional points by obtaining a bitstream;
selects, as one or more candidates for calculating a predicted value of attribute information of a first three-dimensional point, one or more three-dimensional points from three-dimensional points based on one or more distances from the first three-dimensional point;
calculates a predicted value using pieces of attribute information of the one or more three-dimensional points selected as the one or more candidates;
calculates the attribute information of the first three-dimensional point by adding the predicted value and the prediction residual,
wherein in the selecting, when the plurality of three-dimensional points include three-dimensional points equidistant from the first three-dimensional point, the one or more candidates are selected based on a first Morton code of the first three-dimensional point,
the plurality of three-dimensional points are one-dimensionally arranged in order of Morton codes, belong to a first layer higher than a layer to which the first three-dimensional point belongs, and comprise a first group and a second group,
the first group includes one or more third three-dimensional points having Morton codes closer to the first Morton code than other three-dimensional points included in the plurality of three-dimensional points,
the second group neighbors the first group, and the second group includes one or more fourth three-dimensional points having Morton codes greater than the first Morton code, the one or more fourth three-dimensional points belonging to the first layer,
the second group is searched for the one or more candidates after the first group, and
when the third three-dimensional points included in the first group are selected as the one or more candidates, and a distance between the first three-dimensional point and one of the one or more third three-dimensional points is equal to a distance between the first three-dimensional point and one of the one or more fourth three-dimensional points, the one or more third three-dimensional points are maintained as the one or more candidates.
10. The three-dimensional data encoding method according to claim 1 ,
wherein in the selecting, the one or more three-dimensional points selected as the one or more candidates have a shorter distance from the first three-dimensional point than other three-dimensional points included in the plurality of three-dimensional points.
11. The three-dimensional data encoding method according to claim 1 ,
wherein the selecting includes selecting, as another one or more candidates, one or more three-dimensional points from the plurality of three-dimensional points, the one or more three-dimensional points selected as the other one or more candidates having a shorter distance from the first three-dimensional point than the selected one or more candidates.
12. The three-dimensional data decoding method according to claim 7 ,
wherein in the selecting, the one or more three-dimensional points selected as the one or more candidates have a shorter distance from the first three-dimensional point than other three-dimensional points included in the plurality of three-dimensional points.
13. The three-dimensional data decoding method according to claim 7 ,
wherein the selecting includes selecting, as another one or more candidates, one or more three-dimensional points from the plurality of three-dimensional points, the one or more three-dimensional points selected as the other one or more candidates having a shorter distance from the first three-dimensional point than the selected one or more candidates.