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

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

Jan 15, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

Progressive Encoding of Progressive Encoding of Complex IsosurfacesComplex 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

2

MotivationMotivationMotivationMotivationLargest meshes come from volume data

MRI, CT, Laser Scan Scientific simulation

Challenging to store and/or transmit

Page 3: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

3

Background on Background on CompressionCompressionBackground 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

4

Our ContextOur ContextOur 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

5

OutlineOutlineOutlineOutline

Definitions

Previous Work

Our progressive compression Connectivity Geometry

Our results

Conclusion and Future work

Page 6: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

6

DefinitionsDefinitionsDefinitionsDefinitions

Volume data

Binary Sign

Isosurface

Piercing edge

Homogeneous

Inhomogeneous

Page 7: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

7

Previous Work (1)Previous Work (1)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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

8

Previous Work (2)Previous Work (2)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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

9

Our ContributionsOur ContributionsOur 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

10

Our Design Choices (1)Our Design Choices (1)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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

11

Our Design Choices (2)Our Design Choices (2)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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

12

Our Encoder At A GlanceOur Encoder At A GlanceOur 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

13

Connectivity EncodingConnectivity EncodingConnectivity 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

14

Context ModelingContext ModelingContext 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

15

Geometry Encoding?Geometry Encoding?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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

16

Geometry Encoding Geometry Encoding 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

17

ImplementationImplementationImplementationImplementation

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

Page 18: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

18

Our Results (1)Our Results (1)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

Page 19: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

19

Our Results (2)Our Results (2)Our Results (2)Our Results (2)

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

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

Page 20: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

20

Our Results (3)Our Results (3)Our Results (3)Our Results (3)

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

Headscan (level 5 to end of geo)

0

50

100

150

200

8 10 12 14 16 18

Log(bytes, 2)

Dis

tort

ion

Page 21: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

21

Results (4)Results (4)Results (4)Results (4)

For High Genus, High Complexity Geometry

30Kb 115Kb 602Kb

Page 22: Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

22

Results (5)Results (5)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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

23

ConclusionConclusionConclusionConclusion 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 Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

24

Future WorkFuture WorkFuture WorkFuture Work Reducing bit rate further

Sophisticated binary valued wavelet?

View-dependent compression View-dependent encoding View-dependent decoding

Volume compression Neighboring isosurfaces