IP Library Granted Patent US 10,783,669
Granted Patent B2
US 10,783,669 · App. 16/142,990 · Granted Sep 22, 2020

Texture coordinate compression using texture atlas

Inventors: Michael Hemmer (San Francisco, CA); Pierre Alliez (Sophia Antipolis, FR)
Assignee: Google LLC
G06T9/001
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 10,783,669
App. No.
16/142,990
Granted
Sep 22, 2020
Kind
B2
Abstract

An encoder may perform a method of compressing texture coordinates using texture atlas. In one example implementation, the method may include predicting texture coordinates of a corner of a triangle, the triangle being one of a plurality of triangles of a geometric mesh, the predicting based on a corresponding texture atlas and local information associated with the corner. The method further includes determining a residual vector based on the predicted texture coordinates, performing entropy encoding of the residual vector along with residual vectors of other corners of the geometric mesh, and generating compressed data based on the entropy encoding.

Claims (39)

1. A computer-implemented method, comprising:

predicting, by a texture coordinate prediction module, texture coordinates of a corner of a triangle, the triangle being one of a plurality of triangles of a geometric mesh, the predicting based on a corresponding texture atlas and local information associated with the corner, and the local information including texture coordinates of the corner based on geometric prediction;

determining, by a residual vector module, a residual vector based on the predicted texture coordinates;

performing, by an entropy module, entropy encoding of the residual vector along with residual vectors of other corners of the geometric mesh; and

generating, by the entropy module, compressed data based on the entropy encoding.

2. The computer-implemented method of claim 1 , wherein the local information associated with the corner further includes one or more of:

texture coordinates of other corners of the triangle that are predicted based on geometric prediction; and

texture coordinates of other corners of other triangles in a vicinity of the corner.

3. The computer-implemented method of claim 2 , wherein the geometric prediction is a parallelogram prediction, a multi-parallelogram prediction, or a position-based prediction.

4. The computer-implemented method of claim 1 , wherein the predicted texture coordinates of the corner include two-dimensional texture coordinates associated with a corresponding pixel of a two-dimensional texture atlas of the geometric mesh, the geometric mesh being a three-dimensional mesh.

5. The computer-implemented method of claim 4 , wherein the two-dimensional texture coordinates are UV coordinates.

6. The computer-implemented method of claim 1 , wherein the residual vector is a difference vector representing a difference between the predicted texture coordinates and actual texture coordinates of the corner.

7. The computer-implemented method of claim 1 , wherein the texture atlas is generated by unwrapping the geometric mesh, the geometric mesh being a three-dimensional image and the texture atlas being a two-dimensional image.

8. The computer-implemented method of claim 1 , wherein predicting the texture coordinates of the corner further includes:

predicting the texture coordinates of the corner using a convolutional neural network (CNN).

9. The computer-implemented method of claim 8 , wherein the CNN is trained using known texture models.

10. A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform mesh compression, comprising:

predicting texture coordinates of a corner of a triangle, the triangle being one of a plurality of triangles of a geometric mesh, the predicting based on a corresponding texture atlas and local information associated with the corner, and the local information including texture coordinates of the corner based on geometric prediction;

determining a residual vector based on the predicted texture coordinates;

performing entropy encoding of the residual vector along with residual vectors of other corners of the geometric mesh; and

generating compressed data based on the entropy encoding.

11. The computer-readable storage medium of claim 10 , wherein the local information associated with the corner further includes one or more of:

texture coordinates of other corners of the triangle that are predicted based on geometric prediction; and

texture coordinates of other corners of other triangles in a vicinity of the corner.

12. The computer-readable storage medium of claim 11 , wherein the geometric prediction is a parallelogram prediction, a multi-parallelogram prediction, or a position-based prediction.

13. The computer-readable storage medium of claim 10 , wherein the predicted texture coordinates of the corner include two-dimensional UV coordinates associated with a corresponding pixel of a two-dimensional texture atlas of the geometric mesh, the geometric mesh being a three-dimensional mesh.

14. The computer-readable storage medium of claim 13 , wherein the two-dimensional texture coordinates are UV coordinates.

15. The computer-readable storage medium of claim 10 , wherein the residual vector is a difference vector representing a difference between the predicted texture coordinates and actual texture coordinates of the corner.

16. The computer-readable storage medium of claim 10 , wherein the texture atlas is generated by unwrapping the geometric mesh, the geometric mesh being a three-dimensional image and the texture atlas being a two-dimensional image.

17. The computer-readable storage medium of claim 10 , wherein predicting the texture coordinates of the corner further comprises code for:

predicting the texture coordinates of the corner using a convolutional neural network (CNN).

18. The computer-readable storage medium of claim 17 , wherein the CNN is trained using known texture models.

19. An encoder, comprising:

a texture coordinate prediction module configured to predict texture coordinates of a corner of a triangle, the triangle being one of a plurality of triangles of a geometric mesh, the predicting based on a corresponding texture atlas and local information associated with the corner, and the local information includes texture coordinates of the corner based on geometric prediction;

a residual vector module to determine a residual vector based on the predicted texture coordinates; and

an entropy module to perform entropy encoding of the residual vector along with residual vectors of other corners of the geometric mesh and generate compressed data based on the entropy encoding.

20. The encoder of claim 19 , wherein the texture coordinate prediction module is further configured to predict the texture coordinates based on the local information associated with the corners which further includes one or more of:

texture coordinates of other corners of the triangle that are predicted based on geometric prediction; and

texture coordinates of other corners of other triangles in a vicinity of the corner.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Mar 10, 2023
From: INRIA CENTRE AT UNIVERSITÉ CÔTE D'AZUR
To: GOOGLE LLC
Reel/Frame 063026/0073 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2018
From: HEMMER, MICHAEL; ALLIEZ, PIERRE
To: GOOGLE LLC
Reel/Frame 047043/0503 →
Continuity (1)
Related Publication 20200098137A1 · Mar 26, 2020