compressing multiresolution triangle meshes emanuele danovaro, leila de floriani, paola magillo,...

27
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences University of Genova (Italy) http://www.disi.unige.it/research/Geometric_modeling/

Upload: bartholomew-edwards

Post on 26-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Compressing MultiresolutionTriangle Meshes

Emanuele Danovaro, Leila De Floriani,

Paola Magillo, Enrico Puppo

Department of Computer and Information Sciences

University of Genova (Italy)http://www.disi.unige.it/research/Geometric_modeling/

Page 2: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Outline

• Motivations

• The vertex-based MultiTriangulation (MT)

• The basic query on a multiresolution model: Selective Refinement

• Encoding a vertex-based MT

• Encoding the partial order

• Encoding the MT components

• Comparisons

• Conclusions and Future Work

Page 3: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Motivations (1)

• Simplicial meshes: used for describing surfaces, objects, scalar and vector fields

• Applications: terrain modeling, virtual reality, scientific data visualization, etc.

• Availability of very large meshes:

research activity on

• mesh simplification

• multiresolution geometric models

Page 4: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Motivations (2)

• Mesh simplification: computationally expensive task

• Multiresolution geometric models:

• Compact way of encoding the steps performed by a simplification algorithm as a partial order

• Virtually continuous set of meshes at different Levels Of Detail (LOD) can be extracted from such models

Page 5: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Multiresolution Geometric Models

Multiresolution Model

Page 6: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Simplicial MultiComplex (SMC)[De Floriani, Magillo, Puppo, SSD’99]

• General multiresolution geometric model for k-D spatial entities through simplicial complexes

• Suitable for handling multidimensional data

• Independent of a specific simplification strategy

• Dimension-independent data structure for an SMC implemented in a library for multiresolution modeling, available in the public domain

Page 7: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Vertex-based MultiTriangulation (MT)

• Specialization of the SMC for the two-dimensional case (triangle meshes)

• Built on the basis of a specific local update: vertex insertion / removal

Page 8: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Vertex-based MT

• Consider a sequence of updates incrementally refining a mesh at low resolution

• Dependency between updates: an update i depends on an update j if i removes some triangle created by j

• Dependency defines a partial order over the set of updates

Page 9: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

The MultiTriangulation

• The MT captures the partial order of updates• An MT is described by a directed

acyclic graph (DAG) where:• nodes: updates• arcs: dependencies

Page 10: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

The MultiTriangulation

All subsets of nodes closed with respect to the partial order describe all triangulations represented in the MT

Page 11: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Selective Refinement

• Extract a mesh M from an MT such that• the resolution of M satisfies some user-defined

requirement

• M contains a minimal number of triangles among all meshes satisfying the resolution constraint

• Application dependent queries are specific instance of selective refinement

Page 12: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Selective Refinement: View-Dependent Resolution

Page 13: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Selective refinement: Intersection with a Line of Interest at Variable Resolution

Page 14: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Selective Refinement: Window Query at Variable Resolution

Page 15: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Algorithms for Selective Refinement

• Breadth-first DAG traversal for retrieving a mesh satisfying the conditions in the selective refinement query

• Scheme: • start form a previously extracted mesh (or from the mesh at

low resolution)

and

• refine the mesh where the resolution is too low(Expansion phase)

• coarsen the mesh where the resolution is unnecessarily high(Contraction phase)

Page 16: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Expansion StepPerform update u=(u-,u+) on the current mesh

• On the DAG: Parents (u): feasibility of update u

• On the current mesh: Refine: replace the triangles in u- with those in u+

Page 17: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Contraction StepUndo update u=(u-,u+) on the current mesh

• On the DAG: Children (u): feasibility of update u

• On the current mesh: Abstract: replace the triangles in u+ with those in u-

Page 18: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Data Structures for an MT

• Objectives:• Implement primitive operations (Children, Parents, Refine

and Abstract ) with an optimal worst-case time complexity

• Optimize storage space

• Two issues:

• Encoding dependencies

• Encoding updates

Page 19: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Encoding Dependencies

• Direct encoding: for each node u, encode links to its parents and to its children in the DAG

• Storage cost: 8n+6nlog(n) bits, where n = number of vertices in the MT

• Parents and Children implemented in time linear in the size of the output

• DAG encoding by Klein and Gumhold (1998): an update u and its parents are linked into a loop.

• Storage cost: 20n+4nlog(n) bits

• Only Parents implemented in optimal time; Children implemented in O(j2), where j = #children

Page 20: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Encoding Updates: Explicit Structure

• Special case of the explicit structure with zero-adjacencies for Simplicial MultiComplexes (SSD’99)

• It stores the collection of all triangles in u- and in u+; for each triangle, explicit reference to its vertices

• Storage cost: 25n+25nlog(n) bits• Coordinates of the vertices: 96n bits

• References to the vertices for all t triangles: 6nlog(t) bits

• Cost for all updates 4n+(t+n)log(t) bits

• Refine and Abstract in time linear in (#u-) + (#u+)

Page 21: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Encoding Vertex-Based Updates

• No need to store the triangles in the update

• Two tasks to be performed efficiently:

• Recognize the trianglesof u- in the current mesh(primitive Refine)

• Given the polygon Pbounding u+, generate u-(primitive Abstract)

Page 22: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Encoding Vertex-Based Updates

• Store the MT vertices as triplets of coordinates(cost = 96n bits)

• For each update u, store a starting edge s on the polygon P bounding u (cost = 3nlog(n) bits)

• Analysis of two encoding structures for the triangulation T of u-1. an encoding based on a traversal of T [Taubin et al., 1998]

2. an encoding based on ranking all triangulations of a polygon with k sides

Page 23: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

An Encoding Based on Traversal• Given a current edge e and a current triangle t, look at the edges of t

different from e:

• Code 01:edge following e in ccw order on P

• Code 10: edge preceding e in ccw order on P

• Code 00: the other two edges of t are not on P

• Code 11: the other two edges of t are both on P

• Storage cost: 8n bits (2 bits per triangle in u-)

• Refine and Abstract in O(k), where k is the size of P

Page 24: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

An Encoding Based on Ranking

• Basic Idea: enumerating all triangulations of a given k-polygon

• It stores log(Ek) bits for each update bounded by a k-polygon, where Ek is the number of all distinct isomorphic triangulations of a k-polygon (lower bound)

• For each polygon size k, compute the canonical representations of all possible triangulations of a k-polygon and sort them lexicographically

• A specific triangulation represented by storing its rank in the sorted sequence of canonical representations

• For updates of size k=6 (average case), storage cost = 7n bits• Refine and Abstract performed in O(k log(k)) time

Page 25: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Results from Comparisons

• Compact DAG encoding (C) requires 20% less storage than direct DAG encoding (D)

• Compact update encodings require approximately 1/10 of the storage needed by the explicit encoding

• (Explicit + C) requires only 4% less wrt (Explicit + D)

• Both explicit data structures require about 2.5 times the space needed to store the mesh at full resolution

• Both compact encodings based on traversal and on ranking are more economical wrt a data structure for updates proposed by Klein and Gumhold (1998)

Page 26: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Results from Comparison• MT1 = Explicit + Direct DAG encoding

• MT2 = Traversal + Direct DAG encoding

• MT3 = Ranking + Compact DAG encoding

MT1 MT2 MT3

Parents O(j) O(j) O(j)

Children O(j) O(j) O(j2)

Refine/Abstract O(k) O(k) O(k log k)

MT1 MT2 MT3

Full Resolution 266 % 72 % 61 %

MT1 100 % 27 % 23 %

Page 27: Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences

Conclusions

• Vertex-based MultiTriangulation: based on vertex insertion/removal

• Compact data structures for encoding a vertex-based MT• Compression of almost 80% wrt explicit data structure

• Compression of almost 40% wrt mesh at full resolution

• Current Work:• Comparison with hierarchical structures based on regular

triangular subdivisions

• Design of a compact data structure for a 3D vertex-based MT (Danovaro et al. 2001)

• Future Work:• Out-of-core data structures

• Out-of-core simplification and selective refinement algorithms