1 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Mesh Compression.

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Memory-Efficient Sliding Window Progressive Meshes Pavlo Turchyn University of Jyvaskyla.
Geometry Compression Michael Deering, Sun Microsystems SIGGRAPH (1995) Presented by: Michael Chung.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
Discrete Geometry Tutorial 2 1
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.

Cutting a surface into a Disk Jie Gao Nov. 27, 2002.
Martin Isenburg Jack Snoeyink University of North Carolina Chapel Hill Mesh Collapse Compression.
Martin Isenburg University of North Carolina at Chapel Hill Triangle Fixer: Edge-based Connectivity Compression.
Face Fixer Compressing Polygon Meshes with Properties Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Content Subdivision First some basics (control point polygon, mesh)
Compressing Polygon Mesh Connectivity
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
Mesh Parameterization: Theory and Practice Non-Planar Domains.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
An Introduction to 3D Geometry Compression and Surface Simplification Connie Phong CSC/Math April 2007.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Topological Surgery Progressive Forest Split Papers by Gabriel Taubin et al Presented by João Comba.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
Modeling and representation 2 – the economics of polygon meshes 3.1 Compressing polygonal models 3.2 Compressing the geometry (information per vertex)
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Viewpoint Entropy-driven Simplification Pascual Castelló 1, Mateu Sbert 2, Miguel Chover 1 and Miquel Feixas 2 1 Universitat Jaume I de Castelló, Spain.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Mesh Generation 58:110 Computer-Aided Engineering Reference: Lecture Notes on Delaunay Mesh Generation, J. Shewchuk (1999)
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
1 Compressing Triangle Meshes Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Managing the Level of Detail in 3D Shape Reconstruction and Representation Leila De Floriani, Paola Magillo Department of Computer and Information Sciences.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Generating Realistic Terrains with Higher-Order Delaunay Triangulations Thierry de Kok Marc van Kreveld Maarten Löffler Center for Geometry, Imaging and.
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
1 Compressing TINs Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Rendering Large Models (in real time)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke

CS Computer Graphics II
Surface Approximation with Triangle Meshes
CS475 3D Game Development Level Of Detail Nodes (LOD)
Parallel Model Simplification of Very Large Polygonal Meshes
Jarek Rossignac GVU Center Georgia Institute of Technology
Meshes.
Chapter III Modeling.
Progressive coding Motivation and goodness measures
Image Compression Purposes Requirements Types
Chap 10. Geometric Level of Detail
Presentation transcript:

1 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Mesh Compression

2 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Why Geometric Compression? o Availability of large geometric datasets in mechanical CAD, virtual reality, medical imaging, scientific visualization, geographic information systems, etc. o Need for mspeeding up transmission of geometric models mreducing the costs of memory and of auxiliary storage required by such models menhancing rendering performances: limitations on on-board memory and on data transfer speed

3 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Why Geometric Compression?... Compression methods aimed at two complementary tasks: mcompression of geometry: efficient encoding of numerical information attached to the vertices (position, surface normal, color, texture parameters) mcompression of mesh connectivity: efficient encoding of the mesh topology Compression methods developed for triangle meshes

4 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Compression of Geometry (Deering, 1995; Chow, 1997) o Positions, normals and colors quantized to significantly fewer than 32 bits (single-precision IEEE floating point) with little loss in visual quality o Example: quantization for position information: mnormalizing object geometry to a unit cube mpositions quantized to q bits (q<=16) by truncating the less significant m bits of position components, where m=16-q o Optimizations: mpositions are "delta-encoded", i.e., just the difference between a vertex position and that of its predecessor in the bitstream is encoded mquantization assignment can be done by partitioning the triangle mesh into parts of similar detail based on triangle size and curvature

5 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Compression of Connectivity o Two kinds of compression techniques: mDirect techniques: Goal: minimize the number of bits needed to encode connectivity m Progressive techniques: Goal: an interrupted bitstream must provide a description of the whole object at a lower level of detail

6 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Direct Methods o Triangle strips (and triangle fans) used in graphics API (e.g., OpenGL) o Generalized triangle meshes (Deering 1995; Evans et al., 1996; Chow, 1997; Bar Yehuda and Gotsman 1996) o Topological surgery (Taubin and Rossignac, 1996) o Sequence of triangles in a shelling order (De Floriani, Magillo and Puppo, 1998)

7 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Triangle Strips o Defined as a collection of sequences of vertices o Each triangle in a strip has its vertices at three consecutive positions o Encoding: mnumber and lengths of the strips mtwo vertex references per strip mone vertex reference per triangle mone bit per triangle (swap code) o Drawbacks: meach vertex must be encoded twice on average mit is difficult to obtain few long strips from a generic mesh [Evans et al., 1996] Sequence: 1,2,3,4,5,6,

8 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Generalized Triangle Strips (with direct vertex encoding) o 1,2,3,4,5,6,7,8 NO! o 1,2,3,4,5,6,7,5,8 YES Another way of encoding with swap codes: it tells on which open side the new vertex must be attached o 1,2,0,3,0,4,0,5,0,6,0,7,1,

9 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Generalized Triangle Meshes (Deering, 1995) o Definition of a new syntax for a generalized strip o Use of a mesh buffer: a queue of maximum length 16 of previously used vertices o Encoding: mone bit per vertex to indicate whether the vertex must be inserted into the mesh buffer mtwo bits per triangle to indicate how to continue the current strip (three possible codes) mone bit per triangle to indicate whether a new vertex should be read or a vertex from the mesh buffer must be used  4 bits of address to access a vertex of the mesh buffer o Cost: ~11 bits per vertex for connectivity

10 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Generalized Triangle Meshes o Example: mR = Restart mRO = Replace Oldest mRM = Replace Middle mP = Push mnumber = vertex index in mesh m-number = vertex index in buffer (from top) R 6 P RO 1 RO 7 P RO 2 RO 3 RM 4 RM 8 P RO 5 RO 9 P RO 10 RM 11 RO 17 P RM 16 P RM -3 RO 15 P RM -5 RO 6 RM 14 P RO 13 RM -9 RO 12 RM 18 P RM -3 RO 15 P RO -5 RO 6 RM 14 P RO 13 P RM -9 RO 23 RO -10 RO -7 RM 30 RM 29 RM 28 RM -1 RO -2 RM -3 RM 27 RO 26 RM -4 RO 25 RO -5 QUEUE: 6,7,8,9,17,16,...

11 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Topological Surgery (Taubin and Rossignac, 1996) o Vertex spanning tree formed by selecting the minimum number of edges in the input mesh which connect all its vertices o The edges of the vertex spanning tree decompose the mesh into a collection of non-overlapping triangle strips (runs) o Such triangle strips form a spanning tree of the triangles of the mesh

12 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Topological Surgery o Example:

13 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... Topological Surgery o Encoding structure: vertex + triangle spanning trees o Order imposed on the vertices by the spanning tree exploited for computing estimates of the position of a vertex from the position of its 3 or 4 ancestors in the tree o Cost: between 2.5 and 7 bits per vertex to encode connectivity o Drawbacks: mdecompression stage complicated by large memory requirements (all information must be kept in main memory when reconstructing the mesh) mdifficult to implement

14 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... A Compression Method based on Shelling (De Floriani, Magillo and Puppo, 1998) o Based on a shelling order: a sequence of all the triangles in the mesh with the property that the boundary of the set of triangles corresponding to any subsequence forms a simple polygon o The compression algorithm works for every triangulated surface homeomorphic to a sphere or a disk o Encoding: four 2-bits codes per edge: SKIP, VERTEX, LEFT, RIGHT

15 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... A Compression Method based on Shelling o Start from an arbitrary triangle, whose boundary forms the current polygon o Loop on the edges of the current polygon: for each edge e: mtry to add the triangle t externally adjacent to e mif successful, update the current polygon min any case, send a code mwhen necessary, send a vertex è Each vertex is sent just once è Each edge is examined at most once

16 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... A Compression Method based on Shelling mif t brings a new vertex ==> VERTEX + vertex coordinates mif t does not exist or cannot be added ==> SKIP

17 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... A Compression Method based on Shelling mif t shares the polygon edge to the left of e ==> LEFT mif t shares the polygon edge to the right of e ==> RIGHT

18 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... A Compression Method based on Shelling o Properties of the Shelling Method mEvery vertex is encoded only once mEach edge is examined at most once mCompression and decompression algorithms: Gwork in time linear in the size of the mesh Gno numerical computations Gconceptually simple and easy to implement mAdjacencies between triangles are reconstructed directly from the sequence at no additional cost mCost: Gin theory: at most 6 bits of connectivity per vertex Gin practice: less than 4.5 bits of connectivity per vertex

19 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Sequence of Triangles in a Shelling Order... Experimental Results (on TINs) Exp #vert #tri #code bits compress. decompr. bits /vert time(tri/s) time(tri/s) U (51879) 2.414(35331) U (52483) 1.603(35271) U (53899) 0.734(35174) U (56930) 0.348(35172) A (54099) 0.855(35749) A (53894) 0.853(35455) A (53877) 0.867(35545) A (53798) 0.880(35275) B (58076) 0.298(35469) B (58292) 0.308(35581) B (57892) 0.304(35421) B (58149) 0.308(35305) U1--4: uniform resolution (in decreasing order) A1--4: one fourth of the area is at high resolution, the rest is coarse B1--4: one 16th of the area is at high resolution, the rest is coarse

20 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Direct Methods... A Compression Method based on Shelling o The method generalizes to surfaces with arbitrary genus o The algorithm automatically cuts the surface into simply connected meshes with a small overhead o No additional control codes required o Vertices belopnging to more than one patch are repeated o Cost: in practice, less than 5.5 bits of connectivity per vertex

21 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Sequence of Triangles in a Shelling Order... Experimental Results (on 3D meshes) Mesh #vert #tri # #repeated #code bits patches vert bits /vert eight shape cow femur pieta skull bunny fandisk phone

22 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Sequence of Triangles in a Shelling Order... Experimental Results (on 3D meshes) whole mesh patch 1 patch 2 …. + other 4 patches with few triangles each

23 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Sequence of Triangles in a Shelling Order... Experimental Results (on 3D meshes) whole mesh patch 1 patch 2 …. + other 78 patches with few triangles each

24 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Progressive Compression o Efficient encoding of the mesh produced by a simplification algorithm o A sequence of progressive LODs generated by iteratively applying a destructive operator which removes details from a mesh o An inverse constructive operator recovers such details o Encoding: mcoarsest mesh produced in the simplification process + sequence of construction operations

25 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... o Each LOD can be seen as a form of lossy compression of the original mesh o There is a trade-off between loading/transmission times and loss of detail o Compression rates are usually lower than those achieved by direct techniques

26 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Progressive Compression Methods o Progressive meshes (Hoppe, 1996) mdestructive operator = edge collapse o Sequence of edge swaps (De Floriani, Magillo and Puppo, 1998) mdestructive operator = vertex removal o Sequence of ordered vertex sequences (Snoeyink and van Kreveld, 1997) mdestructive operator = removal of a set of vertices

27 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Progressive Meshes (Hoppe, 1996) o Edge collapse: mreplace an edge e with a vertex v1 and the two triangles sharing e with two edges incident at v1 o Vertex split (inverse operation): mexpand a vertex v1 into an edge e=v1v2 and two edges e1 and e2 among those incident at v1 into two triangles v1 v2 e1 e2 e

28 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Progressive Meshes (Hoppe, 1996) o Encoding: mnew vertex v2 mreference to v1 mcode specifying the position of e1 and e2 in the set of edges incident at v1 o Cost: mn(log n + log(b(b-1))) bits of connectivity, where b = maximum degree of a vertex at any step mfor instance, for n=2 16 and b=2 3 ==> about 21.8*2 16 bits of connectivity

29 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Sequence of Edge Swaps (De Floriani, Magillo, Puppo, 1998) o Based on the iterative removal of a vertex of bounded degree (less than a constant b) selected according to an error-based criterion: mthe vertex which causes the least increase in the approximation error is always chosen  The polygonal hole  left by removing vertex v is retriangulated  The inverse constructive operator inserts vertex v and recovers the previous triangulation of 

30 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Sequence of Edge Swaps o The old triangulation T is recovered from the new one T' by first splitting the triangle t of T' containing vertex v and then applying a sequence of edge swaps...Progressive Compression... T T’

31 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Sequence of Edge Swaps o Encoding: mfor each removed vertex v: Ga vertex w and an integer number indicating a triangle around w (they define the triangle t of T' containing v)  the packed sequence of edge swap which generates T from T' T’ T Vertex: w Triangle index: 0 Swap sequence: 2 0 2

32 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Sequence of Edge Swaps o Cost: mn(log n +log b+ log((b-1)!)-1) bits of connectivity information mfor instance, for n=2 16 and b=2 3 ==> about 31.4*2 16 bits of connectivity o Properties: madaptivity to LOD generation is good since the vertices are removed by taking into account the accuracy of the resulting approximation  the criterion used in the retriangulation is encoded in the sequence of swaps: more general than other progressive methods

33 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Snoeyink and van Kreveld's Method o It applies to Triangulated Irregular Networks (TINs) based on Delaunay triangulation o Delaunay triangulation:  a triangulation is called a Delaunay triangulation if the circumcircle of any of its triangles does not contain any vertex in its interior

34 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial...Progressive Compression... Snoeyink and van Kreveld's Method o LOD generation process:  at each step, a maximal set of independent vertices (i.e., vertices which are not connected by an edge) of bounded degree is removed o The process of removing a set of vertices terminates in a logarithmic number of steps