IP Library › Granted Patent US 12,646,220
Granted Patent B2
US 12,646,220 · App. 18/208,111 · Granted Jun 2, 2026

Systems and methods for reflection symmetry-based mesh coding

Inventors: Thuong Nguyen Canh (Palo Alto, CA); Xiaozhong Xu (Palo Alto, CA); Xiang Zhang (Palo Alto, CA); Chao Huang (Palo Alto, CA); Shan Liu (Palo Alto, CA)
Assignee: TENCENT AMERICA LLC
G06T9/001G06T7/68
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,646,220
App. No.
18/208,111
Granted
Jun 2, 2026
Kind
B2
Abstract

The various implementations described herein include methods and systems for encoding video. In one aspect, a method includes receiving a mesh with polygons representing a surface of an object; detecting a first symmetric region in the mesh that includes a first symmetry line to divide the first symmetric region into a first partition and a second partition. The method includes recursively determining whether one of the first partition or the second partition includes a second symmetric region until no symmetric region is detected in both the first partition and the second partition. The method includes in response to detecting the second symmetric region within one of the first partition or the second partition: determining a second symmetry line within the second symmetric region to divide the first or the second partition into a third sub-partition and a fourth sub-partition; and compressing information of the third sub-partition, the second symmetry line and the first symmetry line into a bitstream.

Claims (41)

1 . A method for encoding a mesh performed by a computing system having memory and one or more processors, the method comprising:

receiving a mesh with polygons representing a surface of an object;

detecting a first symmetric region in the mesh comprising a first symmetry line to divide the first symmetric region into a first partition and a second partition;

recursively determining whether one of the first partition or the second partition includes a second symmetric region until no symmetric region is detected in both the first partition and the second partition;

in response to detecting the second symmetric region within one of the first partition or the second partition: determining a second symmetry line within the second symmetric region to divide the first or the second partition into a third sub-partition and a fourth sub-partition; and

compressing information of the third sub-partition, the second symmetry line and the first symmetry line into a bitstream, wherein a reflected vertex is a vertex of the first partition that is reflected about the first symmetry line, and the reflected vertex and a corresponding vertex from the second partition has a first displacement, and the method includes compressing information about the first displacement into the bitstream.

2 . The method of claim 1 , further comprising:

compressing a first set of information about the third sub-partition into the bitstream.

3 . The method of claim 1 , further comprising:

prior to detecting the first symmetric region, partitioning the mesh into a first symmetric portion and a second asymmetric portion, wherein detecting the first symmetric region in the mesh comprises determining the first symmetry line, and compressing information of the second asymmetric portion into the bitstream.

4 . The method of claim 3 , wherein partitioning the mesh into the first symmetric portion and the second asymmetric portion further comprises:

in accordance with a determination that the mesh includes one or more non-connected mesh components, separating the mesh into respective non-connected mesh components.

5 . The method of claim 1 , wherein compressing the information about the first symmetry line into the bitstream comprises encoding a set of vertices of the first partition.

6 . The method of claim 1 , further comprising:

reconstructing the mesh using the first symmetry line and information about a normal direction of the first symmetry line, a distance of an encoded vertex from the first symmetry line.

7 . The method of claim 1 , wherein determining the first symmetry line comprises determining a first symmetry plane containing the first symmetry line, and wherein compressing the information about the first symmetry line into the bitstream comprises encoding the first symmetry plane.

8 . The method of claim 7 , wherein the first symmetry plane is encoded using a symmetry pair of vertices comprising a first vertex and a second vertex such that a reflection of the first vertex about the first symmetry plane provides the second vertex.

9 . The method of claim 8 , wherein the first vertex of the symmetry pair of vertices is encoded in mesh data or is signaled with the first symmetry plane.

10 . The method of claim 7 , wherein the first symmetry plane is modelled using a linear equation having four parameters that are signaled.

11 . The method of claim 1 , further comprising: providing a displacement vector comprising respective displacements between a set of vertices of the first partition and a corresponding set of vertices of the second partition, and the method includes compressing information about the displacement vector into the bitstream.

12 . The method of claim 1 , wherein the first partition and the second partition comprise an almost symmetric mesh.

13 . The method of claim 1 , wherein the first line of symmetry is a reflectional plane of symmetry.

14 . A computing system, comprising:

control circuitry;

memory; and

one or more sets of instructions stored in the memory and configured for execution by the control circuitry, the one or more sets of instructions comprising instructions for:

receiving a mesh with polygons representing a surface of an object;

detecting a first symmetric region in the mesh comprising a first symmetry line to divide the first symmetric region into a first partition and a second partition;

recursively determining whether one of the first partition or the second partition includes a second symmetric region until no symmetric region is detected in both the first partition and the second partition;

in response to detecting the second symmetric region within one of the first partition or the second partition: determining a second symmetry line within the second symmetry region to divide the first or the second partition into a third sub-partition and a fourth sub-partition; and

compressing information of the third sub-partition, the second symmetry line and the first symmetry line into a bitstream, wherein a reflected vertex is a vertex of the first partition that is reflected about the first symmetry line, and the reflected vertex and a corresponding vertex from the second partition has a first displacement, and the instructions includes instructions for compressing information about the first displacement into the bitstream.

15 . The computing system of claim 14 , wherein the one or more sets of instructions further comprises instructions for compressing a first set of information about the third sub-partition into the bitstream.

16 . The computing system of claim 14 , wherein the one or more sets of instructions further comprise instructions for, prior to determining a symmetry plane of the mesh, partitioning the mesh into a first symmetric portion and a second asymmetric portion, wherein determining the symmetry plane of the mesh comprises determining a symmetry plane of the first symmetric portion, and compressing information of the second asymmetric portion into the bitstream.

17 . A non-transitory computer-readable storage medium storing one or more sets of instructions configured for execution by a computing device having control circuitry and memory, the one or more sets of instructions comprising instructions for:

receiving a mesh with polygons representing a surface of an object;

detecting a first symmetric region in the mesh comprising a first symmetry line to divide the first symmetric region into a first partition and a second partition;

recursively determining whether one of the first partition or the second partition includes a second symmetric region until no symmetric region is detected in both the first partition and the second partition;

in response to detecting the second symmetric region within one of the first partition or the second partition: determining a second symmetry line within the second symmetry region to divide the first or the second partition into a third sub-partition and a fourth sub-partition; and

compressing information of the third sub-partition, the second symmetry line and the first symmetry line into a bitstream, wherein a reflected vertex is a vertex of the first partition that is reflected about the first symmetry line, and the reflected vertex and a corresponding vertex from the second partition has a first displacement, and the instructions includes instructions for compressing information about the first displacement into the bitstream.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein the one or more sets of instructions further comprises instructions for compressing a first set of information about the third sub-partition into the bitstream.

19 . The non-transitory computer-readable storage medium of claim 17 , wherein the one or more sets of instructions further comprise instructions for, prior to determining a symmetry plane of the mesh, partitioning the mesh into a first symmetric portion and a second asymmetric portion, wherein determining the symmetry plane of the mesh comprises determining a symmetry plane of the first symmetric portion, and compressing information of the second asymmetric portion into the bitstream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: NGUYEN CANH, THUONG; XU, XIAOZHONG; ZHANG, XIANG; HUANG, CHAO; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 063949/0782 →
Continuity (2)
Provisional Application 63389316 · Jul 14, 2022
Related Publication 20240029316A1 · Jan 25, 2024
References Cited (14)
US 20050131660A1 · Yadegar et al. · 2005 [cited by applicant]
US 20170177770A1 · Letzelter · 2017 [cited by examiner]
US 20200029087A1 · Lim et al. · 2020 [cited by applicant]
US 20200288150A1 · Jun · 2020 [cited by examiner]
US 20200302632A1 · Oh · 2020 [cited by applicant]
US 20220159284A1 · Hur · 2022 [cited by examiner]
JP H11161800A · 1999 [cited by applicant]
JP 2015504559A · 2015 [cited by applicant]
WO WO2021062528A1 · 2021 [cited by applicant]
Golovinskiy, A., Podolak, J., & Funkhouser, T. (2009). Symmetry-aware mesh processing. Lecture Notes in Computer Science, 170-188. https://doi.org/10.1007/978-3-642-03596-8_10 (Year: 2009). [cited by examiner]
Tencent America LLC, ISRWO, PCT/US2023/025084, Sep. 8, 2023, 31 pgs. [cited by applicant]
Tencent America LLC, Extended European Search Report, EP Patent Application No. 23840112.9, Oct. 10, 2025, 6 pgs. [cited by applicant]
Patricio Simari et al., “Folding Meshes: Hierarchical Mesh Segmentation Based on Planar Symmetry”, Eurographics Symposium on Geometry Processing, 2006, 9 pgs. [cited by applicant]
Xiang Zhang et al., “Tencent's Response to the CfP of Dynamic Mesh Coding m59295”, Tencent, Apr. 2022, 37 pgs. [cited by applicant]