Progressive multi-level transmission and display of triangular meshes
First Claim
Patent Images
1. A method for generating a multi-level progressive representation of a triangular mesh, comprising steps of:
- specifying a collection of vertex and triangle lists, with one pair (vertex list, triangle list) being provided for each Level of Detail in order of decreasing Level of Detail, wherein a pair (vertex list, triangle list) of a Level of Detail i is referred to as a batch of Level of Detail i;
for each Level of Detail i of the triangular mesh, determining a total number of vertices (nvi) of the Level of Detail i as the sum of vertices in batches i, i+1 . . . ,Lmax, where x represents a lowest Level of Detail; and
for each triangle vertex index that is not between 0 and (nvi -1), specifying a vertex representative index, whereinif the vertex representative index is not between 0 and (nvi -1), specifying a vertex representative index for the triangle vertex index, with a succession of vertex representative indices being specified such that a last vertex representative index is between 0 and (nvi -1).
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a representation and file format for a multi-level progressive transmission or display of a triangular mesh, referred to as a Progressive Multi-Level Representation (PMR). Methods are disclosed for generating the PMR, for progressively building a triangular mesh from a PMR representation, and for extracting a particular level of detail of a triangular mesh from the PMR representation.
56 Citations
25 Claims
-
1. A method for generating a multi-level progressive representation of a triangular mesh, comprising steps of:
-
specifying a collection of vertex and triangle lists, with one pair (vertex list, triangle list) being provided for each Level of Detail in order of decreasing Level of Detail, wherein a pair (vertex list, triangle list) of a Level of Detail i is referred to as a batch of Level of Detail i; for each Level of Detail i of the triangular mesh, determining a total number of vertices (nvi) of the Level of Detail i as the sum of vertices in batches i, i+1 . . . ,Lmax, where x represents a lowest Level of Detail; and for each triangle vertex index that is not between 0 and (nvi -1), specifying a vertex representative index, wherein if the vertex representative index is not between 0 and (nvi -1), specifying a vertex representative index for the triangle vertex index, with a succession of vertex representative indices being specified such that a last vertex representative index is between 0 and (nvi -1). - View Dependent Claims (2, 3)
-
-
4. A computer data structure for representing a multi-level progressive representation of a triangular mesh, comprising:
-
triangular mesh vertex coordinates and triangle vertex indices, stored in batches from a level of detail (Lmax) associated with a lowest resolution, to a level of detail (1), associated with a highest resolution; and vertex representative indices for triangle vertex indices having a value outside of a range allowed in a current level of detail. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for extracting a particular level of detail i from a multi-level progressive representation of a triangular mesh, comprising steps of:
-
determining vertices and triangles participating in the level of detail i, the step of determining including a step of determining a highest index nvi of a vertex participating in the level of detail; and for each triangle participating in the level of detail, and for each vertex index of the triangle, replacing each vertex index with a representative vertex index that is in a valid range of indices between 0 and (nvi -1). - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for use in a computer system for generating a multi-level progressive representation of a triangular mesh, comprising steps of:
-
assigning levels of detail (LODs) to vertices and triangles; and determining vertex representatives, such that a representative of a vertex is a vertex of a higher LOD of decreased resolution. - View Dependent Claims (18, 19)
-
-
20. A method for defining a partial ordering of edge collapse specifications given a sequence of edge collapse specifications, comprising steps of:
-
obtaining a final ordered list of edge collapses; redoing the collapses in their original order and computing vertex levels; and examining the current level of all vertices in a star of a collapsed edge, wherein each level greater than zero indicates that the corresponding vertex was the outcome of a collapse. - View Dependent Claims (21)
-
-
22. A method for lowering a Level of Detail (LOD) of a triangular mesh from a Level L +1 to a Level L, comprising steps of:
-
providing a progressive multi-level representation of the triangular mesh; and providing a smooth transition between two adjacent LODs when detail is added to the triangular mesh by transitioning from Level L +1 to Level L, the step of providing comprising steps of, adding vertices of triangles of Level L to the triangular mesh, wherein the added vertices have a representative in a lower LOD triangular mesh; determining new triangles having new vertices (vertices of Level L), where the coordinates of the vertex representatives are used first for producing a triangular mesh that is geometrically the same as the Level L +1 triangular mesh; and linearly interpolating the coordinates of the vertices from the produced triangular mesh to the coordinates of the new vertices using a parameter A that varies between 0 and 1.
-
-
23. A system for generating a representation of a triangular mesh, comprising:
-
a memory storing a data structure for representing a multi-level progressive representation of the triangular mesh, the data structure comprising (a) triangular mesh vertex coordinates and triangle vertex indices stored in batches from a level of detail (Lmax) associated with a lowest resolution to a level of detail (1) associated with a highest resolution, and (b) vertex representative indices for triangle vertex indices having a value outside of a range allowed in a current level of detail; at least one data processing unit; and a program executed by the at least one data processing unit for extracting a particular level of detail i from the multi-level progressive representation, the program operating to determine those vertices and triangles participating in the level of detail i, including determining a highest index nvi of a vertex participating in the level of detail, and for each triangle participating in the level of detail, and for each vertex index of the triangle, the program operating to replace each vertex index with a representative vertex index that is in a valid range of indices between 0 and (nvi -1). - View Dependent Claims (24, 25)
-
Specification