IP Library Granted Patent US 12,664,693
Granted Patent B2
US 12,664,693 · App. 18/605,306 · Granted Jun 23, 2026

Method to generate for global displacement transformation in mesh compression

Inventors: Pranav Kadam (Palo Alto, CA); Shan Liu (Palo Alto, CA); Chao Huang (Palo Alto, CA); Thuong Nguyen Canh (Palo Alto, CA); Xiaozhong Xu (Palo Alto, CA)
Assignee: TENCENT AMERICA LLC
G06T9/001G06T3/14G06T3/60G06T7/68G06T2207/20021G06T2207/20048
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,664,693
App. No.
18/605,306
Granted
Jun 23, 2026
Kind
B2
Abstract

A method of encoding a mesh includes determining a symmetry plane that divides the mesh into a first side and a second side opposite the first side, the mesh comprising a plurality of vertices, the first side comprising a first set of vertices, the second side comprising a second set of vertices; determining, for each vertex in the first set, a predicted vertex on the second side that is symmetric to a corresponding vertex in the first set; determining a transformation function that transforms each predicted vertex on the second side, the transformation function determined in accordance with a loss function; applying the transformation function that transforms each predicted vertex on the second side; determining a displacement vector between each transformed predicted vertex and a corresponding vertex in the second set; and generating a bitstream that comprises each encoded vertex in the first set and each displacement vector.

Claims (38)

1 . A method of encoding a mesh, comprising:

determining a symmetry plane that divides the mesh into a first side and a second side opposite the first side, the mesh comprising a plurality of vertices, the first side comprising a first set of vertices, the second side comprising a second set of vertices;

determining, for each vertex in the first set, a predicted vertex on the second side that is symmetric to a corresponding vertex in the first set;

determining, from a plurality of transformation functions, a transformation function that transforms each predicted vertex on the second side, the transformation function determined in accordance with a loss function;

applying the transformation function that transforms each predicted vertex on the second side;

determining a displacement vector between each transformed predicted vertex and a corresponding vertex in the second set, wherein the transformation function minimizes a number of bits for encoding each displacement vector; and

generating a bitstream that comprises each encoded vertex in the first set and each displacement vector.

2 . The method according to claim 1 , wherein the determining the transformation process comprises performing a registration process between the first set of vertices and the second set of vertices.

3 . The method according to claim 2 , wherein the registration process outputs, as the transformation function, a rotation function that rotates each predicted vertex on the second side.

4 . The method according to claim 3 , wherein the registration process outputs, as the transformation function, a translation function that translates each predicted vertex on the second side.

5 . The method according to claim 2 , wherein the loss function comprises (i) a mean square error function that minimizes the displacement vector between each transformed predicted vertex and the corresponding vertex in the second set and (ii) a cost function that minimizes the number of bits used to encode the displacement vector between each transformed predicted vertex and the corresponding vertex in the second set.

6 . The method according to claim 5 , wherein the mean square error function is weighted higher than the cost function.

7 . The method according to claim 5 , wherein the cost function is weighted higher than the mean square error function.

8 . The method according to claim 1 , further comprising:

performing a decimation on the mesh to reduce the number of vertices in the mesh,

wherein the transformation function is applied to the decimated mesh.

9 . A method of encoding a mesh, comprising:

generating a bitstream that comprises a portion of the mesh,

wherein a symmetry plane is determined that divides the mesh into a first side and a second side opposite the first side, the mesh comprising a plurality of vertices, the first side comprising a first set of vertices, the second side comprising a second set of vertices,

wherein, for each vertex in the first set, a predicted vertex on the second side that is symmetric to a corresponding vertex in the first set is determined,

wherein a transformation function is determined, from a plurality of transformation functions, that transforms each predicted vertex on the second side, the transformation function determined in accordance with a loss function;

wherein the transformation function that transforms each predicted vertex on the second side is applied,

wherein a displacement vector between each transformed predicted vertex and a corresponding vertex in the second set is determined, wherein the transformation function minimizes a number of bits for encoding each displacement vector, and

wherein the portion of the mesh in the bitstream comprises each vertex in the first set and each displacement vector.

10 . The method according to claim 9 , wherein the transformation process comprises a registration process between the first set of vertices and the second set of vertices.

11 . The method according to claim 10 , wherein the registration process outputs, as the transformation function, a rotation function that rotates each predicted vertex on the second side.

12 . The method according to claim 11 , wherein the registration process outputs, as the transformation function, a translation function that translates each predicted vertex on the second side.

13 . The method according to claim 10 , wherein the loss function comprises (i) a mean square error function that minimizes the displacement vector between each transformed predicted vertex and the corresponding vertex in the second set and (ii) a cost function that minimizes the number of bits used to encode the displacement vector between each transformed predicted vertex and the corresponding vertex in the second set.

14 . The method according to claim 13 , wherein the mean square error function is weighted higher than the cost function.

15 . The method according to claim 13 , wherein the cost function is weighted higher than the mean square error function.

16 . A method decoding an encoded mesh, comprising:

receiving a bitstream comprising the encoded mesh,

wherein the mesh is divided by a symmetry plane that divides the mesh into a first side and a second side opposite the first side, the mesh comprising a plurality of vertices, the first side comprising a first set of vertices, the second side comprising a second set of vertices,

wherein, for each vertex in the first set, a predicted vertex on the second side that is symmetric to a corresponding vertex in the first set is determined,

wherein a transformation function is determined, from a plurality of transformation functions, that transforms each predicted vertex on the second side, the transformation function determined in accordance with a loss function,

wherein the transformation function that transforms each predicted vertex on the second side is applied,

wherein a displacement vector between each transformed predicted vertex and a corresponding vertex in the second set is determined, wherein the transformation function minimizes a number of bits for encoding each displacement vector, and

wherein the bitstream comprises each encoded vertex in the first set and each displacement vector.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2024
From: KADAM, PRANAV; LIU, SHAN; HUANG, CHAO; NGUYEN CANH, THUONG; XU, XIAOZHONG
To: TENCENT AMERICA LLC
Reel/Frame 066781/0042 →
Continuity (2)
Provisional Application 63456774 · Apr 3, 2023
Related Publication 20240331204A1 · Oct 3, 2024
References Cited (13)
US 4686630A · Marsland · 1987 [cited by examiner]
US 20140300598A1 · Ahn et al. · 2014 [cited by applicant]
US 20200265552A1 · Hemmer · 2020 [cited by examiner]
US 20200356011A1 · Su · 2020 [cited by examiner]
US 20210136395A1 · Jun et al. · 2021 [cited by applicant]
US 20240029316A1 · Nguyen Canh et al. · 2024 [cited by applicant]
CN 106022267A · 2016 [cited by examiner]
International Search Report issued Jul. 12, 2024 in International Application No. PCT/US 24/22754. [cited by applicant]
Written Opinion issued Jul. 12, 2024 in International Application No. PCT/US 24/22754. [cited by applicant]
Aleksey Golovinskiy, et al., “Symmetry-Aware Mesh Processing”, Mathematics of Surfaces 2009, Sep. 2009 (19 pages total) Retrieved from the Internet: https://gfx.cs.princeton.edu/pubs/Golovinskiy_2009_SMP/index.php. [cited by applicant]
Qian-Yi Zhou, et al., “Fast Global Registration,” Intel Labs, Computer Vision—ECCV 2016: 14th European Conference, 2016, pp. 1-16. [cited by applicant]
Paul J. Besl, et al., “A Method for Registration of 3-D Shapes,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 14, No. 2, 1992, pp. 239-256. [cited by applicant]
Heng Yang, et al., “TEASER: Fast and Certifiable Point Cloud Registration,” IEEE Transactions on Robotics (T-RO), 2020, pp. 1-44. [cited by applicant]