Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech
2 MotivationMotivation Largest meshes come from volume data MRI, CT, Laser Scan Scientific simulation Challenging to store and/or transmit
3 Background on Compression Mesh Encoding vs. Geometry Encoding Connectivity + Geometry, or Geometry only Single-rate vs. Progressive Compression Progressivity is preferred for huge meshes T r a n s m i s s i o n Single-rate Progressive
4 Our Context High genus and many components Remeshing impractical »best known coders unusable! Extracted from volume data Very special mesh structure V: CC:183 Genus: 425 Skull, extracted from 257x257x257 MRI volume data
5 OutlineOutline Definitions Previous Work Our progressive compression Connectivity Geometry Our results Conclusion and Future work
6 DefinitionsDefinitions Volume data Binary Sign Isosurface Piercing edge Homogeneous Inhomogeneous
7 Previous Work (1) Single-rate Isosurface Compression Connectivity: locate piercing edges »Saupe & Kuska ’01,’02: Octree »Zhang et al ’01: Binary sign and cell map »Yang & Wu ’02: 3D chessboard »Taubin ’02 (BLIC): Binary Sign map Geometry: displacements along piercing edges Much lower rates than general mesh encoders
8 Previous Work (2) Progressive Isosurface Compression Laney et al »Distance transformation & wavelet decomposition Samet and Kochut 2002 »Octree encoding, without explicit geometry Problems: »Very limited test sets »Bitrates much worse than single-rate encoders
9 Our Contributions Progressive Isosurface Codec Connectivity Encoding »Novel octree encoding of binary bitmaps Geometry Encoding »Dual contouring for crack-free visualization Best bitrates so far even better than any single-rate isosurface encoders
10 Our Design Choices (1) Adaptive Octree for Connectivity Encoding Enable progressive localization Provide contexts for entropy coding Avoid redundancy Horse: 9*9*9 (level 3) 17*17*17 (level 4) 33*33*33 (level 5)
11 Our Design Choices (2) Dual Contouring [Ju et al 02, SW02] Watertight meshes Sharp features for hermite data Vertices in cells, not on edges
12 Our Encoder At A Glance Read in & Process volume data Build Octree Create Isosurface by DC Encode Geometry Encode Connectivity during a breadth-first traversal
13 Connectivity Encoding Sign bits (Inside/Outside) Encode binary signs at grid vertices »Cells with children: encode necessary signs »Cells without children: deduce sign from the parent Leaf bits (Leaf/Non-leaf) Encode the presence of children »Identify non-empty cells
14 Context Modeling Compression ratios depend on context choice Sign bitstream: 15-bit context (best bit rates): 7 neighbors + 8 of parent »Differs from JBIG Leaf bitstream: 1-bit context: previous bit (best bit rates)
15 Geometry Encoding? Sometimes, octree bits enough! Octree provides coarse geometry during decoding »Barycenters of midpoints of the piercing edges w/o geo w/ geo w/o geo w/ geo
16 Geometry Encoding Local Coordinate System Least-square fitted plane »through midpoints of piercing edges Two passes »normal(z) & tangential(x,y) Context : 8 signs of the cell Center P P
17 ImplementationImplementation Beware of Memory Footprint! Octree data structure can be overkill »257 3 grids use up more than 1Gb We use a “linearized” data structure »Unfolds the octree in a bitmap »No pointers, no recursive calls »Allows grids (or bigger) on your PC
18 Our Results (1) Total: 6.10b/v on average out of 10 models Connectivity: 0.65 b/v on average 24% better than Taubin’s single-rate BLIC Geometry: 5.45 b/v on average For a distortion similar to 12-bit quantization
19 Our Results (2) Oct. level Bytes Distort (10 -4 ) , , % geo. 145,
20 Our Results (3) Octree level Bytes passed Distortion(10 -4 ) bytes % geo. 92,156 bytes % geo. 226,554 bytes ,605 bytes 22.02
21 Results (4) For High Genus, High Complexity Geometry 30Kb 115Kb 602Kb
22 Results (5) Encoding a raw mesh often requires > 15b/v 3.95 b/v ( ) 3.21 b/v ( ) 3.45 b/v ( )
23 ConclusionConclusion Progressive isosurface compression Progressive coding of binary octree Encoding of dual contouring mesh vertices Context modeling with arithmetic coding Competitive compression ratios 24% better than the leading single-rate on connectivity alone
24 Future Work Reducing bit rate further Sophisticated binary valued wavelet? View-dependent compression View-dependent encoding View-dependent decoding Volume compression Neighboring isosurfaces