Progressive encoding of complex isosurfaces
Download
1 / 24

Progressive Encoding of Complex Isosurfaces - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Progressive Encoding of Complex Isosurfaces' - juana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Progressive encoding of complex isosurfaces

Progressive Encoding of Complex Isosurfaces

Haeyoung Lee Mathieu Desbrun Peter Schröder

USC USC Caltech


Motivation
Motivation

  • Largest meshes come from volume data

    • MRI, CT, Laser Scan

    • Scientific simulation

  • Challenging to store and/or transmit


Background on compression

T r a n s m i s s i o n

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

Single-rate


Our context
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


Outline
Outline

  • Definitions

  • Previous Work

  • Our progressive compression

    • Connectivity

    • Geometry

  • Our results

  • Conclusion and Future work


Definitions
Definitions

  • Volume data

  • Binary Sign

  • Isosurface

  • Piercing edge

  • Homogeneous

  • Inhomogeneous


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


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


Our contributions
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


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)


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


Our encoder at a glance
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


Connectivity encoding
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


Context modeling
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)


Geometry encoding

w/o geo

w/o geo

w/ geo

w/ geo

Geometry Encoding?

  • Sometimes, octree bits enough!

    • Octree provides coarse geometry during decoding

      • Barycenters of midpoints of the piercing edges


Geometry encoding1

P

P

Center

Center

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


Implementation
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


Our results 1
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


Our results 2
Our Results (2)

8+ 100% geo.

145,708

0.47

5

622

303.47

Oct. level

Bytes

Distort (10-4)

8

20,324

3.66

7

8,411

32.72


Our results 3

5

507 bytes

166.18

7

8,605 bytes

22.02

8 + 33% geo.

92,156 bytes

4.06

8 + 100% geo.

226,554 bytes

0.65

Our Results (3)

Octree level

Bytes passed

Distortion(10-4)


Results 4
Results (4)

  • For High Genus, High Complexity Geometry

30Kb 115Kb 602Kb


Results 5
Results (5)

  • Encoding a raw mesh often requires > 15b/v

3.45 b/v

(0.09 + 3.39)

3.95 b/v

(0.58 + 3.37)

3.21 b/v

(0.51 + 2.70)


Conclusion
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


Future work
Future Work

  • Reducing bit rate further

    • Sophisticated binary valued wavelet?

  • View-dependent compression

    • View-dependent encoding

    • View-dependent decoding

  • Volume compression

    • Neighboring isosurfaces