Download presentation
Presentation is loading. Please wait.
1
Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech
2
2 MotivationMotivation Largest meshes come from volume data MRI, CT, Laser Scan Scientific simulation Challenging to store and/or transmit
3
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
4 Our Context High genus and many components Remeshing impractical »best known coders unusable! Extracted from volume data Very special mesh structure V: 280039 CC:183 Genus: 425 Skull, extracted from 257x257x257 MRI volume data
5
5 OutlineOutline Definitions Previous Work Our progressive compression Connectivity Geometry Our results Conclusion and Future work
6
6 DefinitionsDefinitions Volume data Binary Sign Isosurface Piercing edge Homogeneous Inhomogeneous
7
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
8 Previous Work (2) Progressive Isosurface Compression Laney et al. 2002 »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
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
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
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
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
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
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
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
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
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 1025 3 grids (or bigger) on your PC
18
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
19 Our Results (2) Oct. level Bytes Distort (10 -4 ) 5 622 303.47 7 8,411 32.72 8 20,324 3.66 8+ 100% geo. 145,708 0.47
20
20 Our Results (3) Octree level Bytes passed Distortion(10 -4 ) 5 507 bytes 166.18 8 + 33% geo. 92,156 bytes 4.06 8 + 100% geo. 226,554 bytes 0.65 7 8,605 bytes 22.02
21
21 Results (4) For High Genus, High Complexity Geometry 30Kb 115Kb 602Kb
22
22 Results (5) Encoding a raw mesh often requires > 15b/v 3.95 b/v (0.58 + 3.37) 3.21 b/v (0.51 + 2.70) 3.45 b/v (0.09 + 3.39)
23
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
24 Future Work Reducing bit rate further Sophisticated binary valued wavelet? View-dependent compression View-dependent encoding View-dependent decoding Volume compression Neighboring isosurfaces
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.