IP Library Granted Patent US 12688648
Granted Patent B2
US 12688648 · App. 18/166,179 · Granted Jul 21, 2026

Motion compression for efficient dynamic mesh coding

Inventors: Khaled Mammou (Danville, CA); Alexandros Tourapis (Los Gatos, CA)
Assignee: Apple Inc.
G06T17/20G06T15/04G06T17/205G06V10/25G06T9/001G06T2200/04
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 12688648
App. No.
18/166,179
Granted
Jul 21, 2026
Kind
B2
Abstract

A method of encoding motion data associated with an input data corresponding to set of 3D meshes M(i), the motion data including at least one of geometry and vertex attribute changes from one frame to another, can include: dividing input mesh M(i) into a set of patches P(i, j), each patch P(i, j) corresponding to a corresponding patch P(k, l) in a previously encoded reference frame; quantizing at least one of vertices and attributes of each patch P(i, j); predicting residuals based on a difference between quantized vertices or attributes of each patch P(i, j) with respect to corresponding patch P(k, l) in the previously encoded reference frame; and entropy encoding the predicted residuals.

Claims (47)

1 . A method of encoding motion data associated with an input data corresponding to a set of 3D meshes M(i), the motion data including at least one of geometry and vertex attribute changes from one frame to another, the method comprising:

dividing input mesh M(i) into a set of patches P(i, j), each patch P(i, j) corresponding to a corresponding patch P(k, l) in a previously encoded reference frame;

quantizing at least one of vertices and attributes of each patch P(i, j);

predicting residuals based on a difference between the quantized vertices or attributes of each patch P(i, j) with respect to a corresponding patch P(k, l) in the previously encoded reference frame; and

entropy encoding the predicted residuals;

wherein the input data is time consistent so that P(i, j) and P(k, l) have the same connectivity.

2 . The method of claim 1 , wherein quantizing at least one of the vertices and attributes of each patch P(i, j) further comprises applying uniform quantization to all vertices or attributes.

3 . The method of claim 1 , wherein quantizing at least one of the vertices and attributes of each patch P(i, j) further comprises applying adaptive quantization that changes a quantization level based on at least one of user input or analysis of mesh M(i).

4 . The method of claim 1 , wherein predicting the residuals based on a difference between quantized vertices or attributes of each patch P(i, j) with respect to corresponding patch P(k, l) in the previously encoded reference frame comprises making at least one of spatial and temporal predictions.

5 . The method of claim 1 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using a delta temporal predictor.

6 . The method of claim 1 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using an average spatial predictor.

7 . The method of claim 1 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using an average predictor using temporal and spatial information.

8 . The method of claim 1 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using a spatial-temporal parallelogram predictor.

9 . The method of claim 1 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using a spatial parallelogram predictor.

10 . The method of claim 1 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using geometry-guided predictors.

11 . The method of claim 1 , wherein entropy encoding the predicted residuals comprises using an entropy coder that is a context adaptive binary arithmetic conder (CABAC).

12 . The method of claim 11 , further comprising employing a CABAC encoder together with Exponential Golomb codes to compress both predictor index and prediction residuals.

13 . A method of encoding motion data associated with an input data corresponding to set of 3D meshes M(i), the motion data including at least one of geometry and vertex attribute changes from one frame to another, the method comprising:

dividing input mesh M(i) into a set of patches P(i, j), each patch P(i, j) corresponding to a corresponding patch P(k, l) in a previously encoded reference frame;

quantizing at least one of vertices and attributes of each patch P(i, j);

predicting residuals based on a difference between quantized vertices or attributes of each patch P(i, j) with respect to corresponding patch P(k, l) in the previously encoded reference frame; and

entropy encoding the predicted residuals;

wherein predicting the residuals based on the difference between the quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises comparing the residuals using two or more predictors and selecting the residuals based on rate distortion performance of the two or more predictors.

14 . The method of claim 13 , wherein the two or more predictors are selected from the group consisting of:

a delta temporal predictor;

a average spatial predictor;

an average predictor using temporal and spatial information;

a spatial parallelogram predictor;

a spatial-temporal parallelogram predictor; or

geometry-guided predictors.

15 . A method of encoding motion data associated with an input data corresponding to set of 3D meshes M(i), the motion data including at least one of geometry and vertex attribute changes from one frame to another, the method comprising:

dividing input mesh M(i) into a set of patches P(i, j), each patch P(i, j) corresponding to a corresponding patch P(k, l) in a previously encoded reference frame;

quantizing at least one of the vertices and attributes of each patch P(i, j);

predicting residuals based on a difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame; and

entropy encoding the predicted residuals;

wherein if the input data is not time consistent, the method further comprises preprocessing the input data by applying a time consistent remeshing process so that P(i, j) and P(k, l) have the same connectivity.

16 . The method of claim 15 , wherein quantizing at least one of the vertices and attributes of each patch P(i, j) further comprises applying uniform quantization to all vertices or attributes.

17 . The method of claim 15 , wherein quantizing at least one of the vertices and attributes of each patch P(i, j) further comprises applying adaptive quantization that changes a quantization level based on at least one of user input or analysis of mesh M(i).

18 . The method of claim 15 , wherein predicting the residuals based on the difference between the quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises making at least one of the spatial and temporal predictions.

19 . The method of claim 15 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using a delta temporal predictor.

20 . The method of claim 15 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using an average spatial predictor.

21 . The method of claim 15 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using an average predictor using temporal and spatial information.

22 . The method of claim 15 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using a spatial-temporal parallelogram predictor.

23 . The method of claim 15 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using a spatial parallelogram predictor.

24 . The method of claim 15 , wherein predicting the residuals based on the difference between quantized vertices or attributes of each patch P(i, j) with respect to the corresponding patch P(k, l) in the previously encoded reference frame comprises using geometry-guided predictors.

25 . The method of claim 15 , wherein entropy encoding the predicted residuals comprises using an entropy coder that is a context adaptive binary arithmetic coder (CABAC).

26 . The method of claim 25 , further comprising employing a CABAC encoder together with Exponential Golomb codes to compress both predictor index and prediction residuals.