Streaming Compression of Triangle Meshes - PowerPoint PPT Presentation

About This Presentation
Title:

Streaming Compression of Triangle Meshes

Description:

Streaming Compression. of Triangle Meshes. Martin Isenburg ... sleeping bags. compressed air. JPG. GIF. digital. text, programs ... images. voice, music ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 47
Provided by: martini5
Learn more at: http://www.cs.unc.edu
Category:

less

Transcript and Presenter's Notes

Title: Streaming Compression of Triangle Meshes


1
Streaming Compressionof Triangle Meshes
Martin Isenburg University of Californiaat
Berkeley
Jack Snoeyink University of North Carolina at
Chapel Hill
Peter Lindstrom Lawrence LivermoreNational Labs
2
Compression
3
Compression
  • physical
  • sleeping bags
  • compressed air

4
Mesh Compression
Geometry Compression Deering, 95
  • Efficient Rendering
  • Progressive Transmission
  • Maximum Compression

5
Current Schemes
Triangle Mesh Compression Touma Gotsman 98
Cut-Border Machine Gumhold Strasser 98
Edgebreaker Rossignac 99
Face Fixer Isenburg Snoeyink 00
Angle Analyzer Lee, Alliez Desbrun 02
Degree Duality Coder Isenburg 02
Out-of-Core Compression Isenburg Gumhold 03
FreeLence Kälberer et al. 05
6
Current Approach
7
Current Approach
8
Underlying Assumption
  • original ordering of vertices and triangles is
    not important
  • no need to preserve it
  • compressor is allowed to re-order
  • impose canonical ordering
  • only encode connectivity graph
  • re-order mesh based on some deterministic
    traversal

9
Original Orderings
rendering the first 20to 40 percent of
thetriangle array
10
Connectivity Traversal
Entire Mesh As Input
vertices
triangles
11
Large Meshes
3D scans
isosurfaces
12
Large Meshes
3D scans
isosurfaces
13
Limited Main Memory
  • impossible to construct / store data structures
    for mesh traversal

14
Out-of-Core Compression
  • OoC-Mesh
  • on-disk clustering
  • construct in advance
  • cache LRU clusters
  • OoC-Compressor
  • make few queries

15
Out-of-Core Compression
  • OoC-Mesh
  • on-disk clustering
  • construct in advance
  • cache LRU clusters
  • OoC-Compressor
  • make few queries
  • Decompression
  • streaming

16
Streaming
17
Streaming
  • physical
  • water in a pipe
  • drip coffee
  • triangle meshes

18
Two Types of Streaming
  • progressive

?
?
?
19
Non-Progressive Streaming
  • consume immediately
  • potentially without end
  • keep small buffer
  • delete data if no longer needed

20
Streaming Mesh Formats
  • interleave introduce finalize

Streaming Meshes Isenburg and Lindstrom 05
v 1.32 0.12 0.23v 1.43 0.23 0.92v
0.91 0.15 0.62f 1 2 3done 2 v
0.72 0.34 0.35f 4 1 3done 1 v
0.72 1.03 0.35 ? ? ? ?
21
Outputting Streaming Meshes
  • isosurface
  • 235 million vertices
  • 469 million triangles

over8 Gigabyte
  • marching cubes
  • extract layer by layer
  • output elements as extracted
  • finalize vertices of previous layer

Richtmeyer-Meshkov instability simulation at LLNL
22
Streaming Simplification
Stream Algorithm for Wu Kobbelt 03
Large Mesh Simplification Isenburg et al.
03
23
Streaming Compression
24
Streaming Compression (1)
  • streaming API

bool open(FILE file, int bits) bool
write_vertex(float position)bool
write_triangle(int index, bool finalize) bool
close()
25
Streaming Compression (2)
  • when writing a vertex
  • insert in hash
  • when writing a triangle
  • look-up active vertices
  • determine configuration
  • compress triangle
  • positions of new vertices
  • remove finalized data structures

26
Possible Configurations
written triangle
start
add
fill
start1
end
join
active elements
27
Compressing a Triangle
  • configuration
  • specify active vertex
  • log2(width) bits
  • better use cache

add
  • specify other active vertices
  • use local edge lists
  • position of new vertices
  • parallelogram prediction
  • finalization flags

28
Demo
  • compress triangles immediately
  • use delay buffer

29
Greedy Local Reordering
Improving connectivity compression by reordering
triangles in a delay buffer
18
lucy
16
14
(original)
12
(spectral)
10
bpv
(geometric)
8
(breadth)
6
4
(depth)
2
st. matthew
0
(original)
25
50
1K
5K
100
250
500
10K
50K
(spectral)
none
(geometric)
delay buffer size
30
out-of-core
344 MB
compressed
(coordinates uniformly quantized to 18 bits)
31
Example Processing Pipeline
32
Pipelined Stream-Processing
  • conventional processing
  • super-linear speedup
  • minimal end-to-end I/O delay
  • optimal disk caching

33
Demo Pipeline
regular volume grid
v 1.32 0.12 0.23v 1.43 0.23 0.92v
0.91 0.15 0.62f 1 2 3done 2 v
0.72 0.34 0.35f 4 1 3done 1 ?
? ? ?
256
256
256
smextract smclean smsimp smcompress
P2
P3
P1
P4
grid.raw
mesh.smc
34
Conclusion
35
Current Schemes do not Scale
9 GB
1 MB
36
Problems of Current Schemes
entire mesh as input
IO-inefficient for large data
186 million vertices(2 GB)
dedicated out-of-core data structure(11
GB) global reordering ofmesh
duringcompression
372 milliontriangles(4 GB)
37
Streaming Approach
bool open(FILE file, int bits) bool
write_vertex(float position)bool
write_triangle(int index, bool finalize) bool
close()
38
out-of-core
344 MB
compressed
(coordinates uniformly quantized to 18 bits)
39
Alternate Approaches
  • different re-ordering strategy
  • higher correlation
  • deterministic growing strategy
  • let compressor choose correct
  • degree-based coding
  • need to relax max delay constraint
  • geometry
  • local coordinate system, angles,
  • connectivity

40
Compressing Volume Meshes
standard
streaming
2.14 bpt
3.88 bpt
rate
torso
7 min
8 sec
time
115 MB
3 MB
memory
1.81 bpt
3.56 bpt
rate
fighter
11 min
12 sec
time
140 MB
6 MB
memory
41
Current/Future Work
  • implement more stream modules
  • streaming surface reconstruction
  • streaming stripification
  • streaming re-meshing
  • streaming smoothing
  • streaming segmentation
  • streaming feature extraction
  • streaming

42
Acknowledgements
  • meshes
  • Stanford University, Cyberware
  • support
  • NSF grant 0429901
  • "Collaborative Research Fundamentalsand
    Algorithms for Streaming Meshes."
  • U.S. DOE / LLNL W-7405-Eng-48
  • Max Planck Institute für Informatik

43
Thank You
streaming compression API http//www.cs.unc.edu/
isenburg/smc
44
(No Transcript)
45
Stream-Processing Modules
  • tasks that process mesh elements one at a time
  • e.g. for each triangle t
  • tasks that only require access to local neighbors
  • e.g. for each triangle t of vertex v
  • tasks that are order independent
  • e.g. collapse edges shorter than ?

46
triceratops.obj 2832 vertices 2834
polygonsv 3.661 0.002 -0.738v 3.719
0.347 -0.833v 3.977 0.311 -0.725v 4.077
0.139 -0.654 ? ? ? ? f 2806 2810
2815 2821f 2797 2801 2811 2805f 2789
2793 2802 2796f 2783 2794 2788 ? ?
? ?
2832! permutations
2806
2834! permutations
Write a Comment
User Comments (0)
About PowerShow.com