Title: Compression opportunities using progressive meshes
1Compression opportunities using progressive meshes
- Hugues Hoppe
- Microsoft Research
- SIGGRAPH 98 course 3D Geometry compression
2Triangle Meshes
3Triangle Meshes
v2,f1 (nx,ny,nz) (u,v)v2,f2 (nx,ny,nz)
(u,v)
corner attrib.
4Complex meshes
43,000 faces
lots of faces!
Challenges - rendering - storage - transmission
geometrycompression
5Talk outline
- Progressive mesh (PM) representation
- Analysis of PM compression
- Improved PM compression
- Progressive simplicial complex (PSC) repr.
6Progressive mesh representation
- Basic idea
- Simplify arbitrary mesh through sequence of
transformations. - Record
- simplified meshsequence of inverse
transformations
7Simplification Edge collapse
ecol(vs ,vt , vs )
vt
vl
vl
vr
vr
vs
vs
13,546
500
152
150 faces
M0
M1
M175
Mn
ecol0
ecoln-1
ecoli
8Invertible! Vertex split transformation
attributes
vspl(vs ,vl ,vr , vs ,vt ,)
vt
vl
vr
vl
vr
vs
vs
9Reconstruction process
10PM benefits
PM
Mn
Vn
lossless
M0
Fn
vspl
attributes
- progressive transmission
- continuous-resolution
- smooth LOD
- geometry compression
11Application Progressive transmission
- Transmit records progressively
time
M0
Receiver displays
M0
( progressive GIF JPEG)
12Application Continuous-resolution LOD
- From PM, extract Mi of any desired complexity.
3,478 faces?
M0
vspl0
vspl1
vspli-1
vspln-1
Mi
13Property Vertex correspondence
Mc
Mf
M0
v1
v1
Mn
v2
v2
v3
v3
v4
v5
v6
v7
v8
14Application Smooth transitions
Mc
Mf
M0
v1
v1
Mn
v2
v2
v3
v3
v4
v5
Mfc
v6
v7
V
F
V
v8
can form a smooth visual transition geomorph
15BUT, geometry compression?
M0
vspl0
vspl1
vspli-1
vspln-1
Mn
- M0 is typically small
- key is encoding of vspli
16Vertex split encoding
Record
vspli (vs ,vl ,vr ,vs ,vt ,)
vt
vl
vl
vr
vr
vs
vs
Analysis
- connectivity n(log2n4) bits vs. n(6log2n) bits
17Vertex split encoding
Record
vspli (vs ,vl ,vr ,vs ,vt ,)
vt
vl
vl
vr
vr
vs
vs
Analysis
- connectivity n(log2n4) bits vs. n(6log2n) bits
18Vertex split encoding
Record
vspli (vs ,vl ,vr ,vs ,vt ,)
vt
vl
vl
vr
vr
vs
vs
Analysis
- connectivity n(log2n4) bits vs. n(6log2n) bits
- geometry 40n bits vs. 96n bits
19Summary of vsplit encoding
?
(n is vertices, 2n is faces)
42,712 facesn21,373151 Kbytes (ignoring
corners)
20Improved PM compression
- Connectivity
- group vsplits ? forest splits Taubin etal98
- permute vsplits
- Geometry
- apply smoothing Taubin etal98
- local prediction single delta
- Face attributes
- already negligible
- Corner attributes
- wedge data structure
21Compression of connectivity
vl
vr
vs
- Problem locating vsplit on mesh (using either
flclw or vs ) requires log2i bits.
22Progressive Forest Split (PFS)
Taubin,Gueziec,Horn,Lazarus98
M0
vspl0
vspl1
vspl5
vspln-1
vspl2
vspl3
vspl4
23Other solution permutation of vsplits
M0
flclw,1
flclw,2
M0
?flclw
- We record ?flclw and minimize ?flclw by permuting
vsplits.
24Legal vsplit permutations
- Determine dependencies between vsplits
- Xia Varshney 96
- Hoppe 97
- vsplit is candidate if it has no dependencies.
- Greedy algorithm
- Maintain candidate vsplits in balanced tree,
sorted by flclw . - Remove vsplit with smallest ?flclw and update
candidate tree.
25Result of permuting vsplits
9.7n
(log2n4)n
9.7n10.3n
(now linear)
- Drawback intermediate meshes Mi (0ltiltn) lose
geometric accuracy. - O(n log n) bits to undo permutation.
26Layered permutations
(mesh complexity increasing exponentially)
checkpoints
M0
vspl0
vspl1
vspln-1
vspl2
vspl3
vspl4
vspl5
vspl6
vspl7
vspl8
vspl9
vspl10
M0
27Results using layered permutations
checkpoints
growth factor
connectivitybits (nverts)
1
549
9.7n
0.1 bit/vert
9
2.00
9.8n
13
1.63
9.8n
visuallyidentical tooriginal PM !
19
1.40
9.9n
24
1.30
10.0n
35
1.20
10.2n
66
1.10
10.5n
20,373
1.00
16.4n
28Geometry local prediction delta
vt
vs
vs
29Result of predicted delta
9.7n
20.9n
?
- Intermediate meshes Mi (0ltiltn) have minor loss
in geometric accuracy.
30Corner attributes
vertex
face
31Wedge data structure
vertex
wedge
face
32Vsplit encoding of wedges
(6 new corners)
1..6 wedge attribute deltas
33Results using wedges
9.7n
20.9n
23.7n
10 corner continuity booleans 2.5n bits wedge
attribute deltas 21.2n bits
(16-bit nx,ny,nz at corners)
34Estimating normals from wedges
9.7n
20.9n
2.5n
88 Kbytes
original
35Progressive Simplicial Complexes
- SIGGRAPH 97
- (Joint work with Jovan Popovic)
36PM restrictions
- Supports only meshes (orientable,
2-dimensional manifolds) - Preserves topological type
M0
Mn
Mi
167,744
8,000
2,522
37Progressive Simplicial Complexes
- Represent arbitrary triangulations
- any dimension,
- non-orientable,
- non-manifold,
- non-regular,
- Progressively encode both geometry and topology.
38Generalization
PM
PSC
edge collapse(ecol)
vertex split(vspl)
39LOD sequence
M1
M22
M116
Mn
gvspl1
gvspli
gvspln-1
40Generalized vertex split
- Connectivity
- PM (log2n4)n bits
- PSC (log2n7)n bits
41Space analysis
geometry!
connectivity
connectivity
materials
42PSC analysis
PSC
Mn
Vn
lossless
M1
gvspl
Kn
single vertex
arbitrarysimplicial complex
() progressive geometry and topology () no
base mesh () 3 bit / vertex overhead ()
slower decompression
43Summary Progressive geometry
- Connectivity
- group vsplits ? forest splits Taubin etal98
- permute vsplits
- Geometry
- apply smoothing Taubin etal98
- local prediction single delta
- Face attributes
- already negligible
- Corner attributes
- wedge data structure
44Conclusions
- Geometry storage overwhelms connectivity,
particularly for simplified meshes. - Progressive representations
- reasonable compression
- benefits LOD
- Texture coordinates?
45Beyond Gouraud shading
44,000 triangles
- Future
- bump mapping
- environment mapping
Texture mapping!
200n bits (JPEG)
Cohen-etal98
46Simultaneous streaming
progressivegeometry
progressivetexture
network
runtime tradeoffof geometry texture(platform-d
ependent)
viewer / application
47References
- H. Hoppe. Progressive meshes. Computer Graphics
(SIGGRAPH 96), pages 99-108. - J. Popovic, H. Hoppe. Progressive simplicial
complexes. Computer Graphics (SIGGRAPH 97),
pages 217-224. - H. Hoppe. Efficient implementation of
progressive meshes. Computers Graphics, Vol.
22, pages 27-36, 1998. - http//research.microsoft.com/hoppe/