18
Progressive Encoding of Complex Iso-Surfaces Peter Schröder Caltech ASCI Alliance Center for Simulation of Dynamic Response of Materials Joint work with: Haeyoung Lee & Mathieu Desbrun (USC) Review October 28, 2003

Progressive Encoding of Complex Iso-Surfaces Peter Schröder Caltech ASCI Alliance Center for Simulation of Dynamic Response of Materials Joint work with:

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Progressive Encoding of ComplexIso-Surfaces

Peter Schröder

Caltech ASCI Alliance Center for Simulation of Dynamic Response of Materials

Joint work with: Haeyoung Lee & Mathieu Desbrun (USC)

Review

October 28, 2003

2

Motivation

• Big simulations produce big data…– many times relevant results given as iso-surface

• Many other applications– MRI, CT, Laser Scan

• science, medicine, industry, art history…

3

Background on Compression

• Mesh Encoding vs. Geometry Encoding– Connectivity + Geometry, or Geometry only

• Single-rate vs. Progressive Compression– Progressivity is essential for very large datasets

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: 280039CC:183Genus: 425

Skull, extracted from 257x257x257 MRI volume data

5

Previous Work

• 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

• Progressive Isosurface Compression– Laney et al. 2002

• Distance transformation & wavelet decomposition

– Samet and Kochut 2002• Octree encoding, without explicit geometry

– Far worse rates than general mesh encoders

6

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

7

Definitions

• Volume data• Binary Sign• Isosurface• Piercing edge• Homogeneous• Inhomogeneous

8

Our Design Choices

• Adaptive Octree for Connectivity Encoding– Enable progressive localization– Provide contexts for entropy coding– Avoid redundancy

• Dual Contouring [Ju et al 02, SW02]– Watertight meshes– Sharp features for hermite data– Vertices in cells, not on edges

9

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

10

Connectivity Encoding

• Sign bits (Inside/Outside)– Encode binary signs at grid vertices

• Cells with children: encode necessary signs• Cells without children: deduce from parent

• Leaf bits (Leaf/Non-leaf)– Encode the presence of children

• Identify non-empty cells

• Context modeling in coder– Sign bitstream:

• 15-bit context (best bit rates): 7 neighbors + 8 of parent

– Leaf bitstream: • 1-bit context: previous bit (best bit rates)

11

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

12

Center

P

Implementation Details

• 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

• 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

Center

P

13

Results

• 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

14

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

tort

ion

Results

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

15

Headscan (level 5 to end of geo)

0

50

100

150

200

8 10 12 14 16 18

Log(bytes, 2)

Dis

tort

ion

Results

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

16

Results

• For High Genus, High Complexity Geometry

30Kb 115Kb 602Kb

17

Results

• 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)

18

Conclusion & Future Work

• 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

• Reducing bit rate further– Sophisticated binary valued wavelet?

• View-dependent compression– View-dependent encoding– View-dependent decoding

• Volume compression– Neighboring isosurfaces