Progressive encoding of complex isosurfaces
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Progressive Encoding of Complex Isosurfaces PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Progressive Encoding of Complex Isosurfaces

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


  • Login