Compressing Hexahedral Volume Meshes Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis.

Slides:



Advertisements
Similar presentations
1 Lecture 7 - Meshing Applied Computational Fluid Dynamics Instructor: André Bakker © André Bakker ( ) © Fluent Inc. (2002)
Advertisements

Geometry Image Xianfeng Gu, Steven Gortler, Hugues Hoppe SIGGRAPH 2002 Present by Pin Ren Feb 13, 2003.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Chapter 12: Surface Area and Volume of Solids
Dual Marching Cubes: An Overview
Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

1 Displaced Subdivision Surfaces Aaron Lee Princeton University Henry Moreton Nvidia Hugues Hoppe Microsoft Research.
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.
Streaming Computation of Delaunay Triangulations Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Yuanxin Liu UNC Chapel Hill Martin Isenburg.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
CSE351/ IT351 Modeling and Simulation
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.
Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill Reverse Decoding of the Edgebreaker Encoding S PIRALE R EVERSI.
Spatial and Temporal Data Mining
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.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Compressing the Property Mapping of Polygon Meshes Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill.
Content Subdivision First some basics (control point polygon, mesh)
Compressing Polygon Mesh Connectivity
Scientific Visualization Data Modelling for Scientific Visualization CS 5630 / 6630 August 28, 2007.
Streaming Compression of Triangle Meshes Martin Isenburg University of California at Berkeley Jack Snoeyink University of North Carolina at Chapel Hill.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
Mesh Parameterization: Theory and Practice Non-Planar Domains.
Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva.
Progressive Encoding of Complex Iso-Surfaces Peter Schröder Caltech ASCI Alliance Center for Simulation of Dynamic Response of Materials Joint work with:
University of British Columbia Compressing Connectivity.
Voronoi diagrams of “nice” point sets Nina Amenta UC Davis “The World a Jigsaw”
Scientific Visualization Data and Geometry Processing for Scientific Visualization CS 5630 / 6630 August 28, 2007.
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.
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.
1 Finite-Volume Formulation. 2 Review of the Integral Equation The integral equation for the conservation statement is: Equation applies for a control.
Polyhedron A polyhedron is simply a three-dimensional solid which consists of a collection of polygons, joined at their edges. A polyhedron is said to.
Grid Generation.
© Imperial College LondonPage 1 Topological Analysis of Packings Gady Frenkel, R. Blumenfeld, M. Blunt, P. King Application to flow properties in granular.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Semi-regular 3D mesh progressive compression and transmission based on an adaptive wavelet decomposition 21 st January 2009 Wavelet Applications in Industrial.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
A. Polyhedrons 1. Vocabulary of Polyhedrons 2. Building Polyhedrons a. Create a net from the Polyhedron b. Create the Polyhedron from the net B. Prisms.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
Spectral Compression of Mesh Geometry (Karni and Gotsman 2000) Presenter: Eric Lorimer.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
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,
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Fifth International Conference on Curves and Surfaces Incremental Selective Refinement in Hierarchical Tetrahedral Meshes Leila De Floriani University.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 10, 2015 TRIANGLE MESHES 3D MESHES MESH OPERATIONS.
June 23, Variational tetrahedral meshing of mechanical models for FEA Matthijs Sypkens Smit Willem F. Bronsvoort CAD ’08 Conference, Orlando, Florida.

Lecture 7 - Meshing Applied Computational Fluid Dynamics
Rossignac, Szymczak, King, Safonova
Variational Tetrahedral Meshing
Unit 11: 3-Dimensional Geometry
A Brief History of 3D MESH COMPRESSION ORAL, M. ELMAS, A.A.
Extensions to Edgebreaker
Efficient Edgebreaker for surfaces of arbitrary topology
Progressive coding Motivation and goodness measures
Wavelet-based Compression of 3D Mesh Sequences
Iso-Surface extraction from red and green samples on a regular lattice
Presentation transcript:

Compressing Hexahedral Volume Meshes Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis

Overview Volume Meshes Related Work Compressing Connectivity –Coding with Edge Degrees –Boundary Propagation –Adaptive Traversal Compressing Geometry –Parallelogram Prediction Demo

Take this home: “The connectivity of a hexahedral mesh can be coded through a sequence of its edge degrees.” “This encoding naturally exploits the regularity commonly found in such data sets.”

Volume Meshes

scientific & industrial applications – thermodynamics – structural mechanics – … visualization & simulation unstructured / irregular (  not on a grid ) tetrahedral, hexahedral, polyhedral

Hexahedral Volume Meshes have “numerical advantages in finite element computations” challenging to generate their internal structure looks “nice” compared to tetrahedral meshes

Ingredients geometry : positions of vertices connectivity : which vertices form a hexahedron properties: attached to vertices density, pressure, heat,...

Standard Representation connectivity geometry vtx 1 ( x, y, z ) vtx 2 ( x, y, z ) vtx 3 ( x, y, z ) vtx v hex hex hex 3 75… hex h 8h * 32 bits 3v * 32 bits hexahedra vertices log 2 ( v ) 16  size: 3.23 MB 1.69 less than 84 KB

Related Work

Surface Mesh Compression –Geometry Compression, [ Deering, 95 ] –Topological Surgery, [ Taubin & Rossignac, 98 ] –Cut-Border Machine, [ Gumhold & Strasser, 98 ] –Triangle Mesh Compression, [ Touma & Gotsman, 98 ] –Edgebreaker, [ Rossignac, 99 ] –Spectral Compression of Geometry, [ Karni & Gotsman, 00 ] –Face Fixer, [ Isenburg & Snoeyink, 00 ] –Valence-driven Connectivity Coding, [ Alliez & Desbrun, 01 ] –Near-Optimal Coding, [ Khodakovsky, Alliez, Desbrun & –Degree Duality Coder, [ Isenburg, 02 ] –Polygonal Parallelogram Prediction, [ Isenburg & Alliez, 02 ] Schröder, 02 ]

Volume Mesh Compression –Grow & Fold, [ Szymczak & Rossignac, 99 ] –Cut-Border Machine, [ Gumhold, Guthe & Strasser, 99 ] !! only for tetrahedral meshes !! –Rendering of compressed volume data, [ Yang et al., 01] Simplification: –Simplification of tetrahedral meshes, [ Trotts et al., 98 ] –Progressive Tetrahedralizations, [ Staadt & Gross, 98 ] Progressive Compression: –Implant Sprays, [ Pajarola, Rossignac & Szymczak, 99 ]

Surface / Volume Connectivity a mesh with v vertices has maximal surfaces: 2v-2triangles  ~ 6v indices v-1quadrilaterals  ~ 4v indices  connectivity dominates geometry even more for volume meshes volumes: O ( v 2 ) tetrahedra  ~ 12v indices O ( v 2 )hexahedra  ~ 8v indices

Degree Coding for Connectivity Triangle Mesh Compression, [ Touma & Gotsman, 98 ] Valence-driven Connectivity Coding, [ Alliez, Desbrun, 01 ] Degree Duality Coder, [ Isenburg, 02 ] Near-Optimal Connectivity Coding, [ Khodakovsky, Alliez, Desbrun, Schröder, 02 ] compressed with arithmetic coder  converges to entropy

Entropy for a symbol sequence of t types # of type t pi =pi =  i = 1 t Entropy = p i log 2 ( ) bits pipi 1 # total 2.0 bits 1.3 bits 0.2 bits

Average Distribution vertex degrees face degrees [ over a set of 11 polygonal meshes ]

“Worst-case” Distribution … vertex degrees … … [ Alliez & Desbrun, 01 ]  3.241… bpv [ Tutte, 62 ]

Adaptation to Regularity 6 vertex degrees face degrees vertex degrees face degrees vertex degrees face degrees 4...

Degree Coding for Volumes ? tri  tetquad  hex vertex degrees  edge degrees

Regular Volume Meshes? elements for regular 2D tiling – regular triangle – regular quadrilateral – regular hexagon elements for regular 3D tiling – regular tetrahedron – regular hexahedron

Compressing Connectivity

Space Growing similar in spirit to “region growing”: algorithm maintains hull enclosing processed hexahedra  pick incomplete face on hull process adjacent hexahedra record degrees of its free edges 1.initialize hull with a border face 2.iterate until done

Coding with Edge Degrees focus face

Coding with Edge Degrees focus face

Coding with Edge Degrees focus face slots

Coding with Edge Degrees

border faces incomplete faces

Coding with Edge Degrees

edges on hull maintain slot count

Coding with Edge Degrees edges with a slot count of zero are “zero slots” zero slots

Coding with Edge Degrees

Resulting Symbols – border edge degrees – interior edge degrees Y NNNNNNNNNNNNN – border ?... Y NNNNNNNNNNNNN – join ?

Average Distributions border degrees interior degreesborder? 2 join? no yes no yes

Possible Configurations

hut step bridge roof pit den tunnel gapcorner

Configuration: “hut” “hut” hut zero-slots:0 free faces5 free edges8 free vertices4 not a zero slot free edge free vertex free face

Configuration: “step” “step” 0 this is a zero slot step zero-slots:1 free faces4 free edges5 free vertices2

Configuration: “bridge” “bridge” 0 0 bridge zero-slots:2 free faces3 free edges2 free vertices--

“hut” or “roof” for the free face of “hut” that potentially forms a roof: “join?” / Y N hut roof ? “roof”  “join” operation

other “join” operations free vertex already on hull free edge already on hull hutstep for every free vertex / edge: “join?” / Y N

Adaptive traversal to avoid “join”operations

Reason for “join” operations hull

Reason for “join” operations hull

Reason for “join” operations hull

Reason for “join” operations hull

Reason for “join” operations processed region unprocessed region hull

Reason for “join” operations processed region unprocessed region hull

Reason for “join” operations processed region unprocessed region hull

Reason for “join” operations processed region unprocessed region hull

Reason for “join” operations processed region unprocessed region join hull

Adaptive Traversal Valence-driven connectivity encoding for 3D meshes [ Alliez & Desbrun, 01 ]  avoid creation of cavities focus face  pick face with largest # of zero slots

Propagating the border information

Explaining Example border face border face & slot count = 1

Explaining Example border face border edges

Explaining Example interior edges incomplete faces

Explaining Example for everything else: “border?” / Y N remaining elements

hanger ra bump … warped hutch c … Results ( Connectivity ) raw bits per hexahedron ( bph ) model compressed … : 14 1 : 28 1 : : : : 226 ratio average compression ratio = 1 : 163

hanger ra bump … warped hutch c … Results ( Connectivity ) raw bits per hexahedron ( bph ) model compressed … : 14 1 : 28 1 : : : : 226 ratio average compression ratio = 1 : 163

Compressing Geometry

Predictive Compression 1.quantize positions with b bits ( , , ) ( 1008, 67, 718 ) floating point integer

Predictive Compression 1.quantize positions with b bits 2.traverse positions ( , , ) ( 1008, 67, 718 ) floating point integer

Predictive Compression 1.quantize positions with b bits 2.traverse positions 3.predict position from neighbors ( , , ) ( 1008, 67, 718 ) floating point integer ( 1004, 71, 723 ) prediction

Predictive Compression 1.quantize positions with b bits 2.traverse positions 3.predict position from neighbors 4.store corrective vector ( , , ) ( 1008, 67, 718 ) floating point integer ( 4, -3, -5 ) corrector ( 1004, 71, 723 ) prediction

Parallelogram Rule across “non-convex” triangles across “non-planar” triangles within “planar” & “convex” quadrilateral Triangle Mesh Compression, [ Touma & Gotsman, 98 ]

8 Position Predictions init hut v 0 0 v 1 v 0 v 2 v 1 v 3 v 0 - v 1 + v 2 v 4 2v 0 – v 8 (or v 0 ) v 5 v 1 – v 0 + v 4 v 6 v 2 – v 1 + v 5 v 7 v 3 – v 2 + v 6 vertex prediction rule

hanger ra bump … warped hutch c … Results ( Geometry ) raw bits per vertex ( bpv ) model compressed 48.0 … : : : : : : 8.1 ratio average compression ratio = 1 : 3.7

Demo

Summary degree coding for volume mesh connectivity – edge degrees – boundary propagation – adaptive traversal parallelogram prediction for volume mesh geometry – “within” predictions

Current / Future Work Mixed Volume Meshes – hex + tet + prism + pyramid cells Universal Connectivity Coder – face, vertex, and edge degrees – tri / quad / poly surfaces – tet / hex / poly volumes – surface mesh = cell of volume mesh – bit-rate like specialized coder

Acknowledgements data sets Alla Sheffer Steven Owen Scott Mitchell Claudio Silva financial support ARC TéléGéo grant from INRIA

Thank You!

Old Beijing & Duck Whoever had expressed interest in going to eat duck in the ancient-style “hutong” area: meet me minutes after end of PG in front of hotel bring : map address card of your hotel ~100 yuan (smaller bills for subway / bus)

Configurations: “roof” “roof” zero-slots:0 adjacent faces:1 free faces4 free edges4 free vertices-- roof

Configurations: “tunnel” tunnel “tunnel” zero-slots:2 adjacent faces:4 free faces2 free edges-- free vertices

corner Configuration: “corner” “corner” zero-slots:2 adjacent faces:3 free faces3 free edges3 free vertices

gap Configuration: “gap” “gap” zero-slots:3 adjacent faces:4 free faces2 free edges1 free vertices

Configurations: “pit” pit zero-slots:4 adjacent faces:5 free faces1 free edges-- free vertices-- “pit”

den Configurations: “den” zero-slots:4 adjacent faces:6 free faces-- free edges-- free vertices-- “den”