24
Progressive Encoding of Progressive Encoding of Complex Isosurfaces Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech

Progressive Encoding of Complex Isosurfaces

  • Upload
    juana

  • View
    60

  • Download
    8

Embed Size (px)

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 Presentation

Citation preview

Page 1: Progressive Encoding of  Complex Isosurfaces

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

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

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

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

5

OutlineOutlineDefinitionsPrevious WorkOur progressive compression

Connectivity Geometry

Our resultsConclusion and Future work

Page 6: Progressive Encoding of  Complex Isosurfaces

6

DefinitionsDefinitionsVolume dataBinary SignIsosurfacePiercing edgeHomogeneousInhomogeneous

Page 7: Progressive Encoding of  Complex Isosurfaces

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21

Results (4)Results (4)For High Genus, High Complexity Geometry

30Kb 115Kb 602Kb

Page 22: Progressive Encoding of  Complex Isosurfaces

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

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

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