Diff Geo - Last century and present

Download Report

Transcript Diff Geo - Last century and present

Progressive Encoding of
Complex Isosurfaces
Haeyoung Lee Mathieu Desbrun
USC
USC
Peter Schröder
Caltech
Motivation
Largest meshes come from volume data

MRI, CT, Laser Scan

Scientific simulation
Challenging to store and/or transmit
2
Background on Compression

Mesh Encoding vs. Geometry Encoding


Connectivity + Geometry, or Geometry only
Single-rate vs. Progressive Compression

Progressivity is preferred for huge meshes
Progressive
T r a n s m i s s i o n
Single-rate
3
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
4
Outline
Definitions
Previous Work
Our progressive compression

Connectivity

Geometry
Our results
Conclusion and Future work
5
Definitions
Volume data
Binary Sign
Isosurface
Piercing edge
Homogeneous
Inhomogeneous
6
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
7
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
8
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
9
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)
10
Our Design Choices (2)
Dual Contouring [Ju et al 02, SW02]



Watertight meshes
Sharp features
for hermite data
Vertices in cells,
not on edges
11
Our Encoder At A Glance
•Read in & Process volume data
•Build Octree
•Create Isosurface by DC
•Encode Connectivity
during a breadth-first traversal
•Encode Geometry
12
Connectivity Encoding

Sign bits (Inside/Outside)

Encode binary signs at grid vertices
» Cells with children:
necessary signs
» Cells without children:
deduce sign from the parent

encode
Leaf bits (Leaf/Non-leaf)

Encode the presence of children
» Identify non-empty cells
13
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)
14
Geometry Encoding?
Sometimes, octree bits enough!

Octree provides coarse geometry during decoding
» Barycenters of midpoints of the piercing edges
w/o geo
w/o geo
w/ geo
w/ geo
15
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
P
P
Center
Center
16
Implementation
Beware 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
17
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
18
Our Results (2)
Bonsai (level 5 to end of geo)
200
Distortion
150
100
50
Oct. level
Bytes
0
5
9622
Distort (10-4) 303.47
10
11
8,411 12
32.72
8+ 100% geo.
8
7
13
14 20,324 15
Log(bytes,2)
3.66
16
145,708
17
18
0.47
19
Our Results (3)
Headscan (level 5 to end of geo)
200
150
5
7
Bytes passed
507 bytes
8,605 bytes
166.18
100
22.02
Distortion(10-4)
Distortion
Octree level
50
0
8 + 33% geo.
92,156 bytes
4.06
8
10
8 + 100% geo.
12
14
226,554 bytes
Log(bytes, 2)
0.65
16
18
20
Results (4)
For High Genus, High Complexity Geometry
30Kb
115Kb
602Kb
21
Results (5)
Encoding a raw mesh often requires > 15b/v
3.95 b/v
3.21 b/v
3.45 b/v
(0.58 + 3.37)
(0.51 + 2.70)
(0.09 + 3.39)
22
Conclusion

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
23
Future Work

Reducing bit rate further


Sophisticated binary valued wavelet?
View-dependent compression

View-dependent encoding

View-dependent decoding

Volume compression

Neighboring isosurfaces
24