IP Library › Granted Patent US 12,400,370
Granted Patent B2
US 12,400,370 · App. 17/987,848 · Granted Aug 26, 2025

Mesh patch syntax

Inventors: Danillo Graziosi (Flagstaff, AZ); Alexandre Zaghetto (San Jose, CA); Ali Tabatabai (Cupertino, CA)
Assignees: SONY GROUP CORPORATION; SONY CORPORATION OF AMERICA
G06T9/001G06T17/20
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,400,370
App. No.
17/987,848
Granted
Aug 26, 2025
Kind
B2
Abstract

New syntax elements are used to extend patch types, and the syntax is added to the V3C standard. The new syntax defines patches that encode meshes by projecting connected triangles to a 2D surface, patches that encode triangles or triangle strips without any projection, or patches that are tracked over time and are encoded by projecting connected triangles to a 2D surface. Furthermore, the syntax allows for different ways of coding the mesh-specific information. For instance, the syntax enables three different encoding methods for the vertex position: explicit (directly added to the atlas stream), embedded on video data (occupancy map data), or encoded using an external mesh encoder.

Claims (64)

1. A method programmed in a non-transitory memory of a device, the method comprising:

encoding a received mesh using patches;

performing an encoding implementation for vertex position including: directly adding received vertex position information to an atlas stream, and embedding the received vertex position information on received video data, and by using an external mesh coder;

encoding patch connectivity by using one of:

a binary implementation including sending the patch connectivity to an external encoder, or

an explicit implementation by representing triangles by three or four indices and storing the three or four indices in patch data;

encoding patch vertices by using one of:

the binary implementation by sending the patch connectivity to the external encoder,

an occupancy map implementation including a symbol to identify a position of the vertex in the patch, or

an explicit implementation where two coordinates indicate the position in the patch to derive a third coordinate; and

encoding patch mapping coordinates by using one of:

the binary implementation performed by sending the patch connectivity to the external encoder,

an explicit implementation including sending the patch mapping coordinates inside the patch data or

an implicit implementation by assuming the value as the patch position of a corresponding vertex,

which results in encoded vertex position information.

2. The method of claim 1 wherein encoding the mesh using patches comprises projecting connected triangles to a two dimensional surface.

3. The method of claim 1 wherein encoding the mesh using patches comprises using patches that encode triangles or triangle strips without any projection.

4. The method of claim 1 wherein encoding the mesh using patches comprises using patches that are tracked over time and are encoded by projecting connected triangles to a two dimensional surface.

5. The method of claim 1 wherein the video data comprises occupancy map data.

6. The method of claim 1 wherein performing the encoding implementation for vertex position includes delta information for geometry correction.

7. An apparatus comprising:

a non-transitory memory for storing an application, the application for:

encoding a received mesh using patches;

performing an encoding implementation for vertex position including: directly adding received vertex position information to an atlas stream, and embedding the received vertex position information on received video data, and by using an external mesh coder;

encoding patch connectivity by using one of:

a binary implementation including sending the patch connectivity to an external encoder, or

an explicit implementation by representing triangles by three or four indices and storing the three or four indices in patch data;

encoding patch vertices by using one of:

the binary implementation by sending the patch connectivity to the external encoder,

an occupancy map implementation including a symbol to identify a position of the vertex in the patch, or

an explicit implementation where two coordinates indicate the position in the patch to derive a third coordinate; and

encoding patch mapping coordinates by using one of:

the binary implementation performed by sending the patch connectivity to the external encoder,

an explicit implementation including sending the patch mapping coordinates inside the patch data or

an implicit implementation by assuming the value as the patch position of a corresponding vertex,

which results in encoded vertex position information; and

a processor coupled to the memory, the processor configured for processing the application.

8. The apparatus of claim 7 wherein encoding the mesh using patches comprises projecting connected triangles to a two dimensional surface.

9. The apparatus of claim 7 wherein encoding the mesh using patches comprises using patches that encode triangles or triangle strips without any projection.

10. The apparatus of claim 7 wherein encoding the mesh using patches comprises using patches that are tracked over time and are encoded by projecting connected triangles to a two dimensional surface.

11. The apparatus of claim 7 wherein the video data comprises occupancy map data.

12. The apparatus of claim 7 wherein performing the encoding implementation for vertex position includes delta information for geometry correction.

13. A system comprising:

one or more cameras for acquiring three dimensional content; and

an encoder configured for:

encoding a received mesh using patches;

performing an encoding implementation for vertex position including: directly adding received vertex position information to an atlas stream, and embedding the received vertex position information on received video data, and by using an external mesh coder;

encoding patch connectivity by using one of:

a binary implementation including sending the patch connectivity to an external encoder, or

an explicit implementation by representing triangles by three or four indices and storing the three or four indices in patch data;

encoding patch vertices by using one of:

the binary implementation by sending the patch connectivity to the external encoder,

an occupancy map implementation including a symbol to identify a position of the vertex in the patch, or

an explicit implementation where two coordinates indicate the position in the patch to derive a third coordinate; and

encoding patch mapping coordinates by using one of:

the binary implementation performed by sending the patch connectivity to the external encoder,

an explicit implementation including sending the patch mapping coordinates inside the patch data or

an implicit implementation by assuming the value as the patch position of a corresponding vertex,

which results in encoded vertex position information.

14. The system of claim 13 wherein encoding the mesh using patches comprises projecting connected triangles to a two dimensional surface.

15. The system of claim 13 wherein encoding the mesh using patches comprises using patches that encode triangles or triangle strips without any projection.

16. The system of claim 13 wherein encoding the mesh using patches comprises using patches that are tracked over time and are encoded by projecting connected triangles to a two dimensional surface.

17. The system of claim 13 wherein the video data comprises occupancy map data.

18. The system of claim 13 wherein performing the encoding implementation for vertex position includes delta information for geometry correction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2022
From: GRAZIOSI, DANILLO; ZAGHETTO, ALEXANDRE; TABATABAI, ALI
To: SONY GROUP CORPORATION; SONY CORPORATION OF AMERICA
Reel/Frame 061964/0606 →
Continuity (2)
Provisional Application 63269912 · Mar 25, 2022
Related Publication 20230306644A1 · Sep 28, 2023
References Cited (17)
US 11450030B2 · Mammou · 2022 [cited by examiner]
US 11948338B1 · Mammou · 2024 [cited by examiner]
US 20210217203A1 · Kim · 2021 [cited by examiner]
US 20220108482A1 · Graziosi · 2022 [cited by examiner]
US 20220108483A1 · Graziosi · 2022 [cited by examiner]
US 20220326138A1 · Howell · 2022 [cited by examiner]
US 20230030913A1 · Mammou · 2023 [cited by examiner]
US 20230094734A1 · Kim · 2023 [cited by examiner]
US 20230298217A1 · Rondao Alface · 2023 [cited by examiner]
US 20230386087A1 · Marvie · 2023 [cited by examiner]
US 20230401755A1 · Mammou · 2023 [cited by examiner]
Danillo Graziosi (Sony) et al: “[V-PCC][EE2.6-related] Mesh Patch Data”, 132. MPEG Meeting; Oct. 12, 2020-Oct. 16, 2020; Online; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11 ), No. m55368 Oct. 7, 2020 (Oct. 7,… [cited by applicant]
Danillo B Graziosi (Sony) et al: “[V-CG] Sony's Dynamic Mesh Coding Call for Proposal Response”, 138. MPEG Meeting; Apr. 25, 2022-Apr. 29, 2022; Online; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m5928… [cited by applicant]
Danillo Graziosi (Sony) et al: “[V-PCC][EE2.6-related] Triangle Patch Data”, 132. MPEG Meeting; Oct. 12, 2020-Oct. 16, 2020; Online; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11 ), No. m55370 Oct. 7, 2020 (Oct… [cited by applicant]
Danillo Graziosi (Sony) et al: “[V-PCC][EE2.6-related] Tracked Patch Data”, 132. MPEG Meeting; Oct. 12, 2020-Oct. 16, 2020; Online; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11 ), No. m55372 Oct. 7, 2020 (Oct.… [cited by applicant]
Sungryeul Rhyu et al: “[V-PCC] [New Proposal] V-PCC extension for mesh coding” 126. MPEG Meeting; Mar. 25, 2019-Mar. 29, 2019; Geneva; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11 ), No. m47608 Mar. 20, 2019 (… [cited by applicant]
Esmaeil Faramarzi (Samsung) et al: “[V-PCC] Report on EE4FE 2.6 mesh coding with V-PCC”, 131. MPEG Meeting; Jun. 29, 2020-Jul. 3, 2020; Online; (Motion Picturi Expert Group or ISO/IEC JTC1/SC29/WG11 ), No. m54687 Jun. 2… [cited by applicant]