Martin Isenburg Jack Snoeyink University of North Carolina Chapel Hill Mesh Collapse Compression.

Slides:



Advertisements
Similar presentations
Progressive Simplicial Complexes Jovan Popovic Carnegie Mellon University Jovan Popovic Carnegie Mellon University Hugues Hoppe Microsoft Research Hugues.
Advertisements

Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex hole in f face f disconnected subdivision.
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Least-squares Meshes Olga Sorkine and Daniel Cohen-Or Tel-Aviv University SMI 2004.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
3D Surface Parameterization Olga Sorkine, May 2005.
Multiresolution Analysis of Arbitrary Meshes Matthias Eck joint with Tony DeRose, Tom Duchamp, Hugues Hoppe, Michael Lounsbery and Werner Stuetzle Matthias.
Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.
Martin Isenburg University of North Carolina at Chapel Hill Craig Gotsman Technion - Israel Institute of Technology Stefan Gumhold University of Tübingen.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
March 2, D Mesh Coding and Transmission Lihang Ying Department of Computing Science University of Alberta.

Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions.
Max-Plank Institut für Informatik systematic error parallelogram rule polygonal rules exact prediction Geometry Prediction for High Degree Polygons Martin.
Compressing Hexahedral Volume Meshes Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis.
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.
Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill Reverse Decoding of the Edgebreaker Encoding S PIRALE R EVERSI.
Simplification of Arbitrary Polyhedral Meshes Shaun D. Ramsey* Martin Bertram Charles Hansen University of Utah University of Kaiserslautern University.
Surface Simplification & Edgebreaker Compression for 2D Cel Animations Vivek Kwatra & Jarek Rossignac GVU Center, College of Computing Georgia Institute.
Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill.
With Parallelogram Prediction Compressing Polygon Mesh Geometry Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis.
Compressing the Property Mapping of Polygon Meshes Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill.
Compressing Polygon Mesh Connectivity
Streaming Compression of Triangle Meshes Martin Isenburg University of California at Berkeley Jack Snoeyink University of North Carolina at Chapel Hill.
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
University of British Columbia Compressing Connectivity.
Coding with ASCII: compact, yet text-based 3D content Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill and INRIA Sophia-Antipolis.
An Introduction to 3D Geometry Compression and Surface Simplification Connie Phong CSC/Math April 2007.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Topological Surgery Progressive Forest Split Papers by Gabriel Taubin et al Presented by João Comba.
Out-of-Core Compression for Gigantic Polygon Meshes Martin IsenburgStefan Gumhold University of North CarolinaWSI/GRIS at Chapel Hill Universität Tübingen.
Compact Representations of Separable Graphs From a paper of the same title submitted to SODA by: Dan Blandford and Guy Blelloch and Ian Kash.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
1 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Mesh Compression.
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.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
Triangular Mesh Decimation
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
1 Compressing Triangle Meshes Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Spectral Compression of Mesh Geometry (Karni and Gotsman 2000) Presenter: Eric Lorimer.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
1 Compressing TINs Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Lee Byung-Gook Dongseo Univ.
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,
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 10, 2015 TRIANGLE MESHES 3D MESHES MESH OPERATIONS.
Decimation of Triangle Meshes Paper by W.J.Schroeder et.al Presented by Guangfeng Ji.

Rossignac, Szymczak, King, Safonova
Author:Puneet Maheshwari, Parag Agarwal, Balakrishnan Prabhakaran
Decimation Of Triangle Meshes
A Brief History of 3D MESH COMPRESSION ORAL, M. ELMAS, A.A.
Arthur D Gregory, Andrei State, Ming C Lin,
Meshing of 3-D Data Clouds for Object Description
Efficient Edgebreaker for surfaces of arbitrary topology
Volume Graphics (lecture 4 : Isosurface Extraction)
Progressive coding Motivation and goodness measures
Boolean Operations for Free-form Models Represented in Geometry Images
Chap 10. Geometric Level of Detail
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Presentation transcript:

Martin Isenburg Jack Snoeyink University of North Carolina Chapel Hill Mesh Collapse Compression

Introduction A novel scheme for encoding triangle mesh topology.

Introduction A novel scheme for encoding triangle mesh topology. –triangle mesh

Introduction A novel scheme for encoding triangle mesh topology. –triangle mesh –encoding

Introduction A novel scheme for encoding triangle mesh topology. –triangle mesh –encoding –topology

Triangle Mesh Computer Graphics Surface description Hardware support Used everyday Used everywhere Used by everybody Increasingly complex

Encoding Compressed representation Decrease storage and transmission time

Topology geometry versus topology x 0 y 0 z x 1 y 1 z x 2 y 2 z x 3 y 3 z x 4 y 4 z x n y n z n.....

Overview previous work simple meshes video example general meshes results summary

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ]

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] Geometry Compression

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] Short Encodings of Planar Graphs and Maps 4.6 bpv (4.6)

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] Topological Surgery 2.2 ~ 4.8 bpv (--)

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] Triangle Mesh Compression 0.2 ~ 2.9 bpv (--)

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] Edgebreaker 3.4 ~ 4.0 bpv (4.0)

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] A Simple and Efficient Encoding for Triangle Meshes 4.2 ~ 5.4 bpv (6.0)

Previous work Deering [ 95 ] Keeler Westbrook [ 95 ] Taubin Rossignac [ 96 ] Tauma Gotsman [ 98 ] Rossignac [ 98 ] DeFloriani et al [ 99 ] Isenburg Snoeyink [ 00 ] Face Fixer 3.9 ~ 4.1 bpv (6.0)

Simple Meshes (1) the mesh is a surface composed of triangles (2) the mesh has no boundary (3) the mesh has no holes (4) the mesh has no handles

Simple Mesh

Mesh Collapse Compression i Input:Output: a simple mesh- a sequence of code words - a permutation of vertices

Compression Scheme (1) initialize - declare arbitrary directed mesh edge as current edge

Compression Scheme (2) loop until done (and usually): - contract current edge - record the removed vertex - record the degree - select new current edge

Compression Scheme (2) loop until done (but occasionally): - divide mesh along current edge - record start symbol - continue on one mesh part - record end symbol - continue on other mesh part

Digons A triangulation with exception of the outer face that is bound by only two edges.

mc-edge From Mesh to Digon mc-vertex cut and openrearrange new mc-edge

Various Digons simple trivialcomplex dividing edge

Encode Algorithm encode( Mesh mesh, Codec codec ) { stack.push( digonify( mesh ) ); while ( not stack.empty( ) ) { digon = stack.pop( ); while ( not digon.trivial ( ) ) { if ( digon.complex() ) { subdigon = mc-divide( digon ); stack.push( subdigon ); codec.pushCode( “S” ); } else { degree = mc-contract( digon ); codec.pushCode( degree ); } codec.push( “E” ); }

mc-contract contract mc-edge removeselectcontract new mc-edgeloop

mc-divide divideselect dividing edgemc-edge

Video

Example

mc-vertex

Example mc-edge

Example digonify mc-edge

Example

mc-contract degree of removed vertex removed vertex

Example

mc-contract removed vertex degree of removed vertex

Example

mc-contract removed vertex degree of removed vertex

Example

mc-contract removed vertex degree of removed vertex

Example

mc-divide divided vertex

Example mc-divide divided vertex

Example push on stack

Example

mc-contract degree of removed vertex

Example

trivial digon trivial digon

Example trivial digon

Example pop from stack

Example

mc-contract degree of removed vertex

Example

mc-contract degree of removed vertex removed vertex

Example

trivial digon trivial digon

Example trivial digon

Example

mc-tree

Example mc-tree embedded mc-tree

Example mc-tree

Example Vertex permutation Code word sequence mc-encodingmc-tree

Decode algorithm decode( Mesh mesh, Codec codec ) { while ( not codec.empty( ) ) { code = codec.popCode( ); if ( code == “E” ) { stack.push( digon ); digon = new Digon( ); } else if ( code == “S” ) { subdigon = stack.pop( ); mc-join( digon, subdigon ); } else { mc-expand( digon, code ); } mesh = undigonify ( digon ); }

General Meshes (1) the mesh is a surface composed of triangles (2) the mesh can have a boundary (3) the mesh can have holes (4) the mesh can have handles

Simple Mesh

Boundary

Holes

Handle

Handle & Boundary

Handle & Holes

Encoding a Boundary mc-vertex mc-edgeadded edge

Encoding a Hole holeadded vertex

Encoding a Handle digon in stack After mc-contract: M + index + [0..5] After mc-divide: M + index + [0..1] Hiding in a trivial digon: M + index + [0..7]

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Results vertices/triangles bpvmesh 250/ ~ 1.7bishop 1524/ ~ 2.8bunny 1502/ ~ 3.4dragon 2832/ ~ 2.7triceratops 2655/ ~ 2.7beethoven 2562/ ~ 1.2shape

Summary We presented a novel scheme for encoding the topology of triangular meshes. The achieved compression rates of 1.1 ~ 3.4 bits/vertex compete with the best results known today. Currently we work on a progressive version of mc-compression.

Acknowledgements University of British Columbia at Vancouver, Canada Gene Lee and his RASP tools International Computer Science Institute (ICSI) at Berkeley, USA funding: NSERC, IRIS, UGF