IP Library › Granted Patent US 12,335,522
Granted Patent B2
US 12,335,522 · App. 18/144,686 · Granted Jun 17, 2025

Vertex position coding in mesh compression

Inventors: Jun Tian (Belle Mead, NJ); Chao Huang (Palo Alto, CA); Xiaozhong Xu (State College, PA); Xiang Zhang (Sunnyvale, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/597H04N19/105H04N19/17
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,335,522
App. No.
18/144,686
Granted
Jun 17, 2025
Kind
B2
Abstract

In a method, a plurality of candidate predictions of a current vertex is determined. The current vertex is included in a plurality of vertices of a mesh. The plurality of candidate predictions is determined based on a plurality of triangles in the mesh. Each of the plurality of predictions corresponds to a respective candidate prediction. A prediction of the current vertex is determined from the plurality of candidate predictions. The prediction is identified by a prediction index that is predetermined based on a number of the plurality of candidate predictions of the current vertex being equal to or larger than a threshold value. Prediction information of the current vertex is encoded based on the determined prediction. The prediction information includes the prediction index identifying the prediction of the current vertex.

Claims (58)

1. A method of mesh processing performed in a video encoder, the method comprising:

determining a plurality of candidate predictions of a current vertex, the current vertex being included in a plurality of vertices of a mesh, the plurality of candidate predictions being determined based on a plurality of triangles in the mesh, each of the plurality of triangles corresponding to a respective candidate prediction;

determining a prediction of the current vertex based on the plurality of candidate predictions, the prediction being identified by a prediction index that is predetermined based on a number of the plurality of candidate predictions of the current vertex being equal to or larger than a threshold value; and

encoding prediction information of the current vertex based on the determined prediction, the prediction information including the prediction index identifying the prediction of the current vertex, wherein:

the prediction index is encoded as a first prediction index when the number of the plurality of candidate predictions of the current vertex is equal to the threshold value, the first prediction index indicating the prediction of the current vertex is associated with a first one of a plurality of candidate predictors in a prediction list, and

the prediction index is encoded as a second prediction index when the number of the plurality of candidate predictions of the current vertex is larger than the threshold value, the second prediction index indicating the prediction of the current vertex is associated with a second one of the plurality of candidate predictors in the prediction list.

2. The method of claim 1 , wherein the threshold value is equal to or larger than 2 and equal to or smaller than 5.

3. The method of claim 1 , wherein the determining the plurality of candidate predictions of the current vertex further comprises:

determining a first triangle of the plurality of triangles for the current vertex, the first triangle sharing an edge with a second triangle of the plurality of triangles, the current vertex being included in the second triangle and opposite to the shared edge; and

determining a first candidate prediction of the plurality of candidate predictions based on the determined first triangle via a parallelogram prediction in which the first candidate prediction and the first triangle form a first parallelogram.

4. The method of claim 3 , wherein the determining the plurality of candidate predictions of the current vertex further comprises:

determining an average prediction of the plurality of candidate predictions.

5. The method of claim 4 , wherein the determining the prediction of the current vertex further comprises:

determining the prediction list for the current vertex, the prediction list including the average prediction and the plurality of candidate predictions subsequent to the average prediction in the prediction list, an order of the plurality of candidate predictions in the prediction list being based on an order of the plurality of triangles in the mesh, and each of the plurality of candidate predictors in the prediction list being associated with a respective prediction index.

6. The method of claim 5 , wherein the plurality of triangles is ordered based on an Edgebreaker algorithm in which the plurality of triangles is labelled in a spiraling triangle-spanning-tree order.

7. The method of claim 1 , wherein:

the prediction index is encoded as a third prediction index when the number of the plurality of candidate predictions of the current vertex is equal to or larger than the threshold value, the third prediction index indicating that the prediction of the current vertex is associated with a third one of the plurality of candidate predictors in the prediction list.

8. The method of claim 5 , wherein the determining the prediction of the current vertex further comprises:

determining a prediction difference between each of the plurality of candidate predictors in the prediction list and the current vertex; and

determining the prediction from the plurality of candidate predictors in the prediction list that corresponds to a minimum prediction difference of the prediction differences.

9. The method of claim 5 , wherein the determining the prediction of the current vertex further comprises:

determining the prediction in a subset of the plurality of candidate predictors of the prediction list that has a minimum prediction difference.

10. The method of claim 5 , wherein the determining the respective prediction index further comprises:

determining the respective prediction index for each of the plurality of candidate predictors in the prediction list based on one of a fixed length coding, a variable length coding, and a differential coding.

11. The method of claim 1 , wherein:

the prediction information of the current vertex includes residual information indicating a difference between the current vertex and the determined prediction, and

the method further comprising:

encoding the residual information.

12. A method of mesh processing performed in a video decoder, the method comprising:

receiving a bitstream including coded information of a mesh including a plurality of vertices, the coded information including a prediction index that identifies a prediction of a current vertex;

determining a plurality of candidate predictions of the current vertex of the mesh, the plurality of candidate predictions being determined based on a plurality of triangles in the mesh, each of the plurality of triangles corresponding to a respective candidate prediction;

determining the prediction of the current vertex from a plurality of candidate predictors in a prediction list that is associated with the plurality of candidate predictions, the prediction being identified by the prediction index that is predetermined based on a number of the plurality of candidate predictions of the current vertex being equal to or larger than a threshold value; and

reconstructing the current vertex based on the determined prediction, wherein:

when the number of the plurality of candidate predictions of the current vertex is equal to the threshold value, the prediction index is a first prediction index and the prediction of the current vertex is determined with a first one of the plurality of candidate predictors in the prediction list according to the first prediction index, and

when the number of the plurality of candidate predictions of the current vertex is larger than the threshold value, the prediction index is a second prediction index and the prediction of the current vertex is determined with a second one of the plurality of candidate predictors in the prediction list according to the second prediction index.

13. The method of claim 12 , wherein the threshold value is equal to or larger than 2 and equal to or smaller than 5.

14. The method of claim 12 , wherein the determining the plurality of candidate predictions of the current vertex further comprises:

determining a first triangle of the plurality of triangles for the current vertex, the first triangle sharing an edge with a second triangle of the plurality of triangles, the current vertex being included in the second triangle and opposite to the shared edge; and

determining a first candidate prediction of the plurality of candidate predictions based on the determined first triangle via a parallelogram prediction in which the first candidate prediction and the first triangle form a first parallelogram.

15. The method of claim 14 , wherein the determining the plurality of candidate predictions of the current vertex further comprises:

determining an average prediction of the plurality of candidate predictions.

16. The method of claim 15 , wherein the determining the prediction of the current vertex further comprises:

determining the prediction list for the current vertex, the prediction list including the average prediction and the plurality of candidate predictions subsequent to the average prediction in the prediction list, an order of the plurality of candidate predictions in the prediction list being based on an order of the plurality of triangles in the mesh, and each of the plurality of candidate predictors in the prediction list being associated with a respective prediction index.

17. The method of claim 16 , wherein the plurality of triangles is ordered based on an Edgebreaker algorithm in which the plurality of triangles is labelled in a spiraling triangle-spanning-tree order.

18. The method of claim 12 , wherein:

when the number of the plurality of candidate predictions of the current vertex is equal to or larger than the threshold value, the prediction index is a third prediction index and the prediction of the current vertex is determined with a third one of the plurality of candidate predictors in the prediction list according to the third prediction index.

19. The method of claim 16 , wherein the determining the prediction of the current vertex further comprises:

determining a prediction difference between each of the plurality of candidate predictors in the prediction list and the current vertex; and

determining the prediction from the plurality of candidate predictors in the prediction list that corresponds to a minimum prediction difference of the prediction differences.

20. A method of processing mesh data, the method comprising:

processing a bitstream of the mesh data according to a format rule, wherein:

the bitstream includes coded information of a mesh with a plurality of vertices, the coded information including a prediction index that identifies a prediction of a current vertex of the mesh; and

the format rule specifies that:

a plurality of candidate predictions is determined for the current vertex of the mesh, the plurality of candidate predictions being determined based on a plurality of triangles in the mesh, each of the plurality of triangles corresponding to a respective candidate prediction;

the prediction of the current vertex is determined from a plurality of candidate predictors in a prediction list that is associated with the plurality of candidate predictions, the prediction being identified by the prediction index that is predetermined based on a number of the plurality of candidate predictions of the current vertex being equal to or larger than a threshold value; and

the current vertex is processed based on the determined prediction, wherein:

when the number of the plurality of candidate predictions of the current vertex is equal to the threshold value, the prediction index is a first prediction index and the prediction of the current vertex is determined with a first one of the plurality of candidate predictors in the prediction list according to the first prediction index, and

when the number of the plurality of candidate predictions of the current vertex is larger than the threshold value, the prediction index is a second prediction index and the prediction of the current vertex is determined with a second one of the plurality of candidate predictors in the prediction list according to the second prediction index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2023
From: TIAN, JUN; HUANG, CHAO; XU, XIAOZHONG; ZHANG, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 063569/0486 →
Continuity (2)
Provisional Application 63359669 · Jul 8, 2022
Related Publication 20240015324A1 · Jan 11, 2024
References Cited (12)
US 20180189982A1 · Laroche et al. · 2018 [cited by applicant]
US 20210090301A1 · Mammou · 2021 [cited by examiner]
US 20230082092A1 · Kang · 2023 [cited by examiner]
EP 4325853A1 · 2024 [cited by examiner]
GB 2551389A · 2017 [cited by examiner]
KR 20030073100A · 2003 [cited by examiner]
WO WO2020123252A1 · 2020 [cited by examiner]
WO WO2022225333A1 · 2022 [cited by examiner]
Touma, Costa, and Craig Gotsman. “Triangle mesh compression.” Proceedings-Graphics Interface. Canadian Information Processing Society, 1998, pp. 1-9. [cited by applicant]
Maglo, Adrien, et al. “3d mesh compression: Survey, comparisons, and emerging trends.” ACM Computing Surveys (CSUR) 47.3 (2015): 1-41. [cited by applicant]
A. S. Jarek Rossignac and A. Szymczak. “3d compression made simple: Edgebreaker on a corner table”. In Proceedings of Shape Modeling International Conference, Genoa, Italy, 2001, pp. 1-7. [cited by applicant]
International Search Report with Written Opinion issued in Application No. PCT/US2023/067051, mailed Sep. 26, 2023, 11 pages. [cited by applicant]