IP Library Granted Patent US 12664693
Granted Patent B2
US 12664693 · 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 12664693
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.