Cost-driven framework for progressive compression of textured meshes

US11568575B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11568575-B2
Application numberUS-201916411919-A
CountryUS
Kind codeB2
Filing dateMay 14, 2019
Priority dateFeb 19, 2019
Publication dateJan 31, 2023
Grant dateJan 31, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques of compressing level of detail (LOD) data involve sharing a texture image LOD among different mesh LODs for single-rate encoding. That is, a first texture image LOD corresponding to a first mesh LOD may be derived by refining a second texture image LOD corresponding to a second mesh LOD. This sharing is possible when texture atlases of LOD meshes are compatible.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: obtaining, by processing circuitry of a server computer configured to encode information related to a surface of a three-dimensional object, data representing an initial level of detail (LOD), the initial LOD including an initial mesh LOD and an initial texture image LOD, the initial mesh LOD including an initial triangular mesh and an initial texture atlas; generating, by the processing circuitry, a plurality of LODs based on the initial LOD, each of the LODs of the plurality of LODs including a respective mesh LOD and a respective texture image LOD, a first texture image LOD of a first LOD of the plurality of LODs being a refinement of a second texture image LOD of a second LOD of the plurality of LODs; and performing, by the processing circuitry, single-rate encoding operations on the respective mesh LODs of a sequence of LODs of the plurality of LODs to produce a sequence of single-rate encoded mesh LODs, the single-rate encoded mesh LODs, when combined with an encoding of corresponding texture image LODs, forming an efficient compression of the data that, upon decoding, enables a client computer to render the surface at a plurality of LODs. 2. The method as in claim 1 , further comprising: performing a texture encoding operation on the respective texture image LODs of the sequence of LODs to produce encoded texture image LODs; and combining the encoded texture image LODs with the single-rate encoded mesh LODs to produce a hybrid-encoded recovery bitstream. 3. The method as in claim 2 , wherein the texture encoding operation is a progressive encoding operation, and the encoded texture image LODs are progressive-encoded texture image LODs. 4. The method as in claim 2 , further comprising transmitting the hybrid-encoded recovery bitstream to the client computer, the client computer being configured to perform a decompress operation on the hybrid-encoded recovery bitstream to render the surface on a display connected to the client computer at a specified LOD. 5. The method as in claim 1 , wherein the first LOD includes a first mesh LOD, and the second LOD includes a second mesh LOD, the first mesh LOD including a first texture atlas, the second mesh LOD including a second texture atlas, and wherein generating the plurality of LODs includes specifying the initial texture atlas such that the first texture atlas and the second texture atlas are compatible with the initial texture atlas. 6. The method as in claim 1 , wherein the first LOD includes a first mesh LOD, and the second LOD includes a second mesh LOD, the first mesh LOD including a first texture atlas, the second mesh LOD including a second texture atlas, and wherein generating the plurality of LODs includes generating an abstraction of the initial mesh LOD, the abstraction including a set of edges that form a one-to-one correspondence with a set of seam edges of the initial mesh LOD. 7. The method as in claim 6 , wherein generating the abstraction includes specifying the abstraction. 8. The method as in claim 6 , wherein generating the abstraction includes performing a mesh decimation operation on the initial mesh LOD. 9. The method as in claim 8 , wherein performing the mesh decimation operation includes performing a full-edge collapse operation on the initial mesh LOD. 10. The method as in claim 6 , wherein generating the abstraction includes performing an optimal Delaunay triangulation operation on the initial mesh LOD. 11. The method as in claim 6 , wherein generating the abstraction includes performing a variational shape approximation on the initial mesh LOD. 12. The method as in claim 1 , wherein the method further comprises performing a LOD selection operation to produce the sequence of LODs, the LOD selection operation including optimizing a cost function of candidate sequences of mesh LODs. 13. The method as in claim 12 , wherein performing the LOD selection operation further includes, for each of a candidate sequence of a specified number of LODs, generating, as the cost function, a sum of costs per LOD improvement, where the cost of an LOD improvement is based on a product of an amount of bits used and a distortion of an improved LOD. 14. The method as in claim 12 , wherein performing the LOD selection operation further includes, for a first element of the plurality of LODs, removing the first element of the plurality of LODs in response to a distortion of the LOD of the first element being less than a distortion of the LOD of a second element and a bitrate of the LOD of the first element being less than the bitrate of the LOD of the second element. 15. The method as in claim 12 , wherein selecting the sequence of LODs includes generating a directed acyclic graph (DAG) that represents the plurality of LODs, each node of the DAG representing a LOD of the plurality of LODs. 16. The method as in claim 15 , wherein generating the DAG includes generating a cost for each edge of the DAG. 17. A computer program product comprising a nontransitory storage medium, the computer program product including code that, when executed by processing circuitry of a user device configured to encode information related to a surface of a three-dimensional object, causes the processing circuitry to perform a method, the method comprising: obtaining data representing an initial level of detail (LOD), the initial LOD including an initial mesh LOD and an initial texture image LOD, the initial mesh LOD including an initial triangular mesh and an initial texture atlas; generating a plurality of LODs based on the initial LOD, each of the LODs of the plurality of LODs including a respective mesh LOD and a respective texture image LOD, a first texture image LOD of a first LOD of the plurality of LODs being a refinement of a second texture image LOD of a second LOD of the plurality of LODs; and performing single-rate encoding operations on the respective mesh LODs of a sequence of LODs of the plurality of LODs to produce a sequence of single-rate encoded mesh LODs, the single-rate encoded mesh LODs, when combined with an encoding of corresponding texture image LODs, forming an efficient compression of the data that, upon decoding, enables a user client computer to render the surface at a plurality of LODs. 18. The computer program product as in claim 17 , wherein the first LOD includes a first mesh LOD, and the second LOD includes a second mesh LOD, the first mesh LOD including a first texture atlas, the second mesh LOD including a second texture atlas, and wherein generating the plurality of LODs includes specifying the initial texture atlas such that the first texture atlas and the second texture atlas are compatible with the initial texture atlas. 19. An electronic apparatus configured to encode information related to a surface of a three-dimensional object, the electronic apparatus comprising: memory; and controlling circuitry coupled to the memory, the controlling circuitry being configured to: obtaining data representing an initial level of detail (LOD), the initial LOD including an initial mesh LOD and an initial texture image LOD, the initial mesh LOD including an initial triangular mesh and an initial texture atlas; generating a plurality of LODs based on the initial LOD, each of the LODs of the plurality of LODs including a respective mesh LOD and a respective texture image LOD, a first texture image LOD of a first LOD of the plurality of LODs being a refinement of a second texture image LOD of a second LOD of the plurality of LODs; and pe

Assignees

Inventors

Classifications

  • Level of detail · CPC title

  • Texture mapping · CPC title

  • Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00) · CPC title

  • G06T9/20Primary

    Contour coding, e.g. using detection of edges · CPC title

  • Scaling of whole images or parts thereof, e.g. expanding or contracting · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11568575B2 cover?
Techniques of compressing level of detail (LOD) data involve sharing a texture image LOD among different mesh LODs for single-rate encoding. That is, a first texture image LOD corresponding to a first mesh LOD may be derived by refining a second texture image LOD corresponding to a second mesh LOD. This sharing is possible when texture atlases of LOD meshes are compatible.
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06T9/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 31 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).