IP Library › Granted Patent US 12,586,257
Granted Patent B2
US 12,586,257 · App. 18/852,799 · Granted Mar 24, 2026

Method for encoding and decoding a 3D point cloud, encoder, decoder

Inventor: Shuo Gao (Beijing, CN)
Assignee: Beijing Xiaomi Mobile Software Co., Ltd.
G06T9/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,586,257
App. No.
18/852,799
Granted
Mar 24, 2026
Kind
B2
Abstract

Method for decoding, from a bitstream, the geometry of a 3D point cloud by decoding information constituting a geometrical representation of the geometry, preferably implemented in a decoder, including: receiving and decoding a bitstream, wherein the bitstream contains octree information including information about octree structure of the volume of the point cloud and vertex information including information about vertex presence and position of a vertex on edges of the cuboids; determining triangles by connecting the vertices of one cuboid of the octree structure; voxelization of the triangles to determine points of the point cloud, wherein at least one triangle is extended at along at least one side for voxelization.

Claims (55)

1 . A method for decoding, from a bitstream, geometry of a three-dimensional (3D) point cloud, implemented in a decoder, comprising:

receiving and decoding the bitstream, wherein the bitstream contains octree information comprising information about an octree structure of a volume of the point cloud and vertex information comprising information about vertex presence and position of a vertex on edges of cuboids of leaf nodes of the octree structure;

determining triangles by connecting vertices of one cuboid relating to a leaf node of the octree structure; and

voxelization of the triangles to determine points of the point cloud, and

wherein at least one triangle of the triangles is extended along at least one side for voxelization, and

an extension is provided by a halo parameter and the extension is set in advance.

2 . A method for encoding a three-dimensional (3D) point cloud into a bitstream, implemented in an encoder, comprising:

obtaining octree information comprising an octree structure of a volume comprising a plurality of cuboids;

obtaining vertex information from surfaces of the point cloud for each cuboid relating to a leaf node of the plurality of cuboids, wherein the vertex information comprises information about vertex presence and position of a vertex on edges of the cuboid;

encoding the octree information and the vertex information into a bitstream;

reconstructing point cloud geometry data by using octree information and vertex information obtained in a preceding encoding process, wherein reconstructing the point cloud geometry data comprises:

determining triangles by connecting vertices of one cuboid relating to a leaf node of the octree structure; and

voxelization of the triangles to determine points of the point cloud, and

wherein at least one triangle of the triangles is extended along at least one side for voxelization, and

an extension is provided by a halo parameter and the extension is set in advance.

3 . The method according to claim 2 , wherein the encoding is a Trisoup encoding.

4 . The method according to claim 1 , wherein the at least one triangle is extended at two sides or three sides for voxelization.

5 . The method according to claim 1 , wherein each triangle in a cuboid is extended, or at least one triangle in each cuboid of the point cloud having a triangle is extended.

6 . The method according to claim 1 , wherein

the at least one triangle is extended a same extension for each side, or

the at least one triangle is extended a different extension for at least two sides.

7 . The method according to claim 1 , wherein a Möller-Trumbore algorithm is used for voxelization, and/or voxelization of a point is obtained by rounding coordinates of the point to nearest integers.

8 . The method according to claim 7 , wherein

a convex hull requirement is −ε≤u,v,w,

ε>0, and

u, v, and w are barycentric coordinates of the triangle.

9 . The method according to claim 7 , wherein

a convex hull requirement is −ε u ≤u, −ε v ≤v and −ε w ≤w,

ε u , ε v , ε w >0,

u, v, and w are barycentric coordinates of the triangle, and

at least one of ε u ≠ε w , ε u ≠ε v , or ε v ≠ε w .

10 . The method according to claim 1 , wherein

the extension is provided by a halo parameter, and

the halo parameter of the extension is at least one of less than ¼ of sampling precision of the voxelization or less than ⅛ of the sampling precision of the voxelization.

11 . The method according to claim 1 , wherein

an extension is provided by a halo parameter and

the halo parameter is encoded in the bitstream, or in a Geometry Parameter Set.

12 . An encoder to encode a three-dimensional (3D) point cloud into a bitstream, the encoder comprising at least one processor and a memory, wherein the memory stores instructions when executed by the at least one processor perform operations comprising:

obtaining octree information comprising an octree structure of a volume comprising a plurality of cuboids;

obtaining vertex information from surfaces of the point cloud for each cuboid relating to a leaf node of the plurality of cuboids, wherein the vertex information comprises information about vertex presence and position of a vertex on edges of the cuboid;

encoding the octree information and the vertex information into a bitstream;

reconstructing point cloud geometry data by using octree information and vertex information obtained in a preceding encoding process, wherein reconstructing the point cloud geometry data comprises:

determining triangles by connecting vertices of one cuboid relating to a leaf node of the octree structure; and

voxelization of the triangles to determine points of the point cloud, and

wherein at least one triangle of the triangles is extended along at least one side for voxelization, and

an extension is provided by a halo parameter and the extension is set in advance.

13 . A decoder to decode a three-dimensional (3D) point cloud from a bitstream, the decoder comprising at least one processor and a memory, wherein the memory stores instructions when executed by the at least one processor cause the processor to perform the steps of the method according to claim 1 .

14 . A bitstream encoded by the method according to claim 2 .

15 . A non-transitory computer-readable storage medium comprising instructions when executed by a processor, causes the processor to perform the steps of the method according to claim 1 .

16 . The method according to claim 2 , wherein the at least one triangle is extended at two sides or three sides for voxelization.

17 . The method according to claim 2 , wherein each triangle in a cuboid is extended, or at least one triangle in each cuboid of the point cloud having a triangle is extended.

18 . The method according to claim 2 , wherein

the at least one triangle is extended a same extension for each side, or

the at least one triangle is extended a different extension for at least two sides.

19 . The method according to claim 2 , wherein a Möller-Trumbore algorithm is used for voxelization and/or voxelization of a point is obtained by rounding coordinates of the point to nearest integers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: GAO, SHUO
To: BEIJING XIAOMI MOBILE SOFTWARE CO., LTD.
Reel/Frame 068741/0392 →
Continuity (1)
Related Publication 20250252610A1 · Aug 7, 2025
References Cited (13)
US 10192353B1 · Chou et al. · 2019 [cited by applicant]
US 20090167763A1 · Waechter · 2009 [cited by examiner]
US 20210319595A1 · Ray et al. · 2021 [cited by applicant]
International Search Report dated Oct. 5, 2022 for PCT International Application No. PCT/CN2022/084542. [cited by applicant]
Written Opinion dated Oct. 5, 2022 for PCT International Application No. PCT/CN2022/084542. [cited by applicant]
Antoine Dricot et al.“Adaptive Multi-level Triangle Soup for Geometry-based Point Cloud Coding”, 2019 IEEE 21st International Workshop on Multimedia Signal Processing (MMSP), Sep. 27, 2019, 6 pages. [cited by applicant]
Ohji Nakagami(SONY).“PCC on Trisoup decode in G-PCC”, 124.MPEG Meeting;Oct. 8, 2018-Oct. 12, 2018 Macao; (Motion Picturet Expert Group or ISO/IEC JTC1/SC29/WG11)No. m44706, Oct. 9, 2018, 5 pages. [cited by applicant]
Alexander Schier et al.“Fast texture mapping for triangle soups using electrostatic monopole feld lines”,Computers & Graphics Elsevier, GB, vol. 77, Oct. 12, 2018, 16 pages. [cited by applicant]
“Convenor report of the 6′ WG 7 meeting”,137.MPEG Meeting;Jan. 17, 2022-Jan. 21, 2022 Online;(Motion Picturet Expert Group or ISO/IEC JTC1/SC29/WG11)No. n21121, Mar. 24, 2022, 53 pages. [cited by applicant]
Khaled Mammou et al.“G-PCC codee description v2”, 125.MPEG Meeting;Jan. 14, 2019-Jan. 18, 2019 Marrakech; (Motion Picturet Expert Group or ISO/IEC JTC1/SC29/WG11)No. N18189, Feb. 22, 2019, 39 pages. [cited by applicant]
Unno Kyohei et al.“m58776 Refinement of Trisoup variable node size extension for improving subjective quality”, Feb. 22, 2019, 12 pages. [cited by applicant]
“EE 13.50 on Triangle soup”,138.MPEG Meeting;Apr. 25, 2022-Apr. 29, 2022 Online;(Motion Picturet Expert Group or ISO/IEC JTC1/SC29/WG11)No. n21576, May 26, 2019, 6 pages. [cited by applicant]
Lasserre (Xiaomi)S:“[GPCC][Trisoup]Part 5 Improved rendering from triangles”, 138.MPEG Meeting;Apr. 25, 2022-Apr. 29, 2022 Online;(Motion Picturet Expert Group or ISO/IEC JTC1/SC29/WG11) No. m59292, Apr. 12, 2022, 15 pa… [cited by applicant]