progressive encoding of complex isosurfaces

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

Upload: juana

Post on 25-Feb-2016

60 views

Category:

Documents


8 download

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

TRANSCRIPT

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