progressive encoding of complex isosurfaces
DESCRIPTION
Progressive Encoding of Complex Isosurfaces. Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech. Motivation. Largest meshes come from volume data MRI, CT, Laser Scan Scientific simulation - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/1.jpg)
Progressive Encoding of Progressive Encoding of Complex IsosurfacesComplex Isosurfaces
Haeyoung Lee Mathieu Desbrun Peter Schröder
USC USC Caltech
![Page 2: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/2.jpg)
2
MotivationMotivationLargest meshes come from volume data
MRI, CT, Laser Scan Scientific simulation
Challenging to store and/or transmit
![Page 3: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/3.jpg)
3
Background on Background on CompressionCompression 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
![Page 4: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/4.jpg)
4
Our ContextOur Context High genus and many components
Remeshing impractical » best known coders unusable!
Extracted from volume data Very special mesh structure
V: 280039CC:183Genus: 425Skull, extracted from 257x257x257 MRI
volume data
![Page 5: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/5.jpg)
5
OutlineOutlineDefinitionsPrevious WorkOur progressive compression
Connectivity Geometry
Our resultsConclusion and Future work
![Page 6: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/6.jpg)
6
DefinitionsDefinitionsVolume dataBinary SignIsosurfacePiercing edgeHomogeneousInhomogeneous
![Page 7: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/7.jpg)
7
Previous Work (1)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
![Page 8: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/8.jpg)
8
Previous Work (2)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
![Page 9: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/9.jpg)
9
Our ContributionsOur ContributionsProgressive 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
![Page 10: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/10.jpg)
10
Our Design Choices (1)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)
![Page 11: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/11.jpg)
11
Our Design Choices (2)Our Design Choices (2)Dual Contouring [Ju et al 02, SW02]
Watertight meshes Sharp features
for hermite data Vertices in cells,
not on edges
![Page 12: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/12.jpg)
12
Our Encoder At A GlanceOur Encoder At A Glance•Read in & Process volume data•Build Octree •Create Isosurface by DC
•Encode Geometry
•Encode Connectivity during a breadth-first traversal
![Page 13: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/13.jpg)
13
Connectivity EncodingConnectivity 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
![Page 14: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/14.jpg)
14
Context ModelingContext ModelingCompression 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)
![Page 15: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/15.jpg)
15
Geometry Encoding?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
![Page 16: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/16.jpg)
16
Geometry Encoding 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
Center
P
![Page 17: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/17.jpg)
17
ImplementationImplementationBeware of Memory Footprint!
Octree data structure can be overkill» 2573 grids use up more than 1Gb
We use a “linearized” data structure» Unfolds the octree in a bitmap» No pointers, no recursive calls» Allows 10253 grids (or bigger) on your
PC
![Page 18: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/18.jpg)
18
Our Results (1)Our Results (1)Total: 6.10b/v on average out of 10 modelsConnectivity:
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
![Page 19: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/19.jpg)
19
Our Results (2)Our Results (2)
Oct. levelBytes Distort (10-4)
5622
303.47
78,41132.72
820,324
3.66
8+ 100% geo.
145,7080.47
Bonsai (level 5 to end of geo)
0
50
100
150
200
9 10 11 12 13 14 15 16 17 18
Log(bytes,2)
Dis
torti
on
![Page 20: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/20.jpg)
20
Our Results (3)Our Results (3)
Octree levelBytes passedDistortion(10-4)
5507 bytes
166.18
8 + 33% geo. 92,156 bytes
4.06
8 + 100% geo.
226,554 bytes0.65
78,605 bytes
22.02
Headscan (level 5 to end of geo)
0
50
100
150
200
8 10 12 14 16 18
Log(bytes, 2)
Dis
torti
on
![Page 21: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/21.jpg)
21
Results (4)Results (4)For High Genus, High Complexity Geometry
30Kb 115Kb 602Kb
![Page 22: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/22.jpg)
22
Results (5)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)
![Page 23: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/23.jpg)
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
![Page 24: Progressive Encoding of Complex Isosurfaces](https://reader035.vdocuments.net/reader035/viewer/2022081517/568167f6550346895ddd70b8/html5/thumbnails/24.jpg)
24
Future WorkFuture Work Reducing bit rate further
Sophisticated binary valued wavelet? View-dependent compression
View-dependent encoding View-dependent decoding
Volume compression Neighboring isosurfaces