Download presentation
Presentation is loading. Please wait.
1
Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”
2
Triangle Meshes {f 1 } : { v 1, v 2, v 3 } {f 2 } : { v 3, v 2, v 4 } … connectivity geometry {v 1 } : (x,y,z) {v 2 } : (x,y,z) … face attributes {f 1 } : “skin material” {f 2 } : “brown hair” …
3
Triangle Meshes {v 2,f 1 } : (n x,n y,n z ) (u,v) {v 2,f 2 } : (n x,n y,n z ) (u,v) … corner attrib. {f 1 } : { v 1, v 2, v 3 } {f 2 } : { v 3, v 2, v 4 } … connectivity geometry {v 1 } : (x,y,z) {v 2 } : (x,y,z) … face attributes {f 1 } : “skin material” {f 2 } : “brown hair” …
4
Complex meshes 43,000 faces lots of faces! Challenges: - rendering - storage - transmission geometry compression
5
Talk outline l Progressive mesh (PM) representation l Analysis of PM compression l Improved PM compression l Progressive simplicial complex (PSC) repr.
6
Progressive mesh representation Basic idea: l Simplify arbitrary mesh through sequence of transformations. l Record: simplified mesh + sequence of inverse transformations simplified mesh + sequence of inverse transformations
7
Simplification: Edge collapse 13,546500152 150 faces M0M0M0M0 M1M1M1M1 M 175 ecol 0 ecol i ecol n-1 MnMnMnMn ecol(v s,v t, v s ) vlvlvlvl vrvrvrvr vtvtvtvt vsvsvsvs vsvsvsvs vlvlvlvl vrvrvrvr (optimization) ’ ’
8
Invertible! Vertex split transformation vsvsvsvs vlvlvlvl vrvrvrvr vspl(v s,v l,v r, v s,v t,…) vlvlvlvl vrvrvrvr vtvtvtvt vsvsvsvs ’’ ’ ’ attributes
9
150 M0M0M0M0 M1M1M1M1 vspl 0 152 Reconstruction process M 175 500 … vspl i … 13,546 vspl n-1 MnMnMnMn progressive mesh (PM) representation vspl 0 … vspl i … vspl n-1 M0M0M0M0 MnMnMnMn
10
PM benefits PM VnVnVnVn MnMnMnMn M0M0M0M0 n progressive transmission n continuous-resolution n smooth LOD n geometry compression lossless n single resolution vspl FnFnFnFn attributes
11
Application: Progressive transmission Transmit records progressively: M0M0M0M0 Receiver displays: time M0M0M0M0 vspl 0 vspl 1 vspl i-1 MiMiMiMi (~ progressive GIF & JPEG) MnMnMnMn vspl n-1
12
Application: Continuous-resolution LOD From PM, extract M i of any desired complexity. M0M0M0M0 vspl 0 vspl 1 vspl i-1 vspl n-1 MiMiMiMi 3,478 faces? 3,478 M0M0M0M0 MnMnMnMn MiMiMiMi ~400K faces/sec! (200 MHz Pentium Pro)
13
Property: Vertex correspondence MnMnMnMn M0M0M0M0 McMcMcMc MfMfMfMf v1v1v1v1 v2v2v2v2 v3v3v3v3 v4v4v4v4 v5v5v5v5 v6v6v6v6 v7v7v7v7 v8v8v8v8 v1v1v1v1 v2v2v2v2 v3v3v3v3 M f-1 v1v1v1v1 v2v2v2v2 v3v3v3v3 v4v4v4v4 v5v5v5v5 v6v6v6v6 v7v7v7v7 ecol M f-2 v1v1v1v1 v2v2v2v2 v3v3v3v3 v4v4v4v4 v5v5v5v5 v6v6v6v6 ecol ecol
14
Application: Smooth transitions MnMnMnMn M0M0M0M0 McMcMcMc MfMfMfMf v1v1v1v1 v2v2v2v2 v3v3v3v3 v4v4v4v4 v5v5v5v5 v6v6v6v6 v7v7v7v7 v8v8v8v8 v1v1v1v1 v2v2v2v2 v3v3v3v3 can form a smooth visual transition: geomorph VF MfcMfcMfcMfc V
15
BUT, geometry compression? M0M0M0M0 vspl 0 vspl 1 vspl i-1 MnMnMnMn vspl n-1 n M 0 is typically small n key is encoding of vspl i
16
vsvsvsvs vlvlvlvl vrvrvrvr vlvlvlvl vrvrvrvr vtvtvtvt ’ vsvsvsvs ’ Record: Analysis: vspl i (v s,v l,v r,v s,v t,…) ’’ Vertex split encoding n connectivity:n(log 2 n+4) bitsvs.n(6log 2 n) bits l v s (log 2 i bits) l v l & v r (~5 bits)
17
vsvsvsvs vlvlvlvl vrvrvrvr vlvlvlvl vrvrvrvr vtvtvtvt ’ vsvsvsvs ’ vspl i (v s,v l,v r,v s,v t,…) ’’ Vertex split encoding n connectivity:n(log 2 n+4) bitsvs.n(6log 2 n) bits n geometry:~40n bitsvs.96n bits 16-bit quantization & variable-length encoding [Deering95] Record: l v s (log 2 i bits) l v l & v r (~5 bits) Analysis: l v t - v s (delta) l v s - v s (delta) ’’
18
vsvsvsvs vlvlvlvl vrvrvrvr vlvlvlvl vrvrvrvr vtvtvtvt ’ vsvsvsvs ’ Record: Analysis: vspl i (v s,v l,v r,v s,v t,…) ’’ Vertex split encoding n connectivity:n(log 2 n+4) bitsvs.n(6log 2 n) bits l v s (log 2 i bits) l v l & v r (~5 bits) l predict face attrib. n geometry:~40n bitsvs.96n bits l v t - v s (delta) l v s - v s (delta) ’’
19
Summary of vsplit encoding (n is #vertices, ~2n is #faces) 42,712 faces n=21,373 151 Kbytes (ignoring corners) ?
20
Improved PM compression l Connectivity n group vsplits forest splits [Taubin etal98] n permute vsplits l Geometry n apply smoothing [Taubin etal98] n local prediction + single delta l Face attributes n already negligible l Corner attributes n wedge data structure
21
Compression of connectivity l Detail: f lclw, nrot vsvsvsvs vlvlvlvl vrvrvrvr l Problem: locating vsplit on mesh (using either f lclw or v s ) requires log 2 i bits.
22
Progressive Forest Split (PFS) M0M0M0M0 vspl 0 vspl 1 vspl 5 vspl n-1 vspl 2 vspl 3 vspl 4 n PM:n(4+log 2 n) bits [Taubin,Gueziec,Horn,Lazarus98] fsplit 0 fsplit 1 fsplit 2 fsplit logn … n PFS:n(8..10) bits
23
M0M0M0M0 Other solution: permutation of vsplits l We record f lclw and minimize f lclw by permuting vsplits. M0M0M0M0 f lclw,1 f lclw,2 f lclw
24
Legal vsplit permutations l Determine dependencies between vsplits n [Xia & Varshney 96] n [Hoppe 97] vsplit is candidate if it has no dependencies. l Greedy algorithm: n Maintain candidate vsplits in balanced tree, sorted by f lclw. n Remove vsplit with smallest f lclw and update candidate tree.
25
Result of permuting vsplits 9.7n ~(log 2 n+4)n 9.7n…10.3n n Drawback: intermediate meshes M i (0<i<n) lose geometric accuracy. n O(n log n) bits to undo permutation. (now linear)
26
Layered permutations M0M0M0M0 M0M0M0M0 vspl 0 vspl 1 vspl n-1 vspl 2 vspl 3 vspl 4 vspl 5 vspl 6 vspl 7 vspl 8 vspl 9 vspl 10 M0M0M0M0 M0M0M0M0 checkpoints (mesh complexity increasing exponentially)
27
Results using layered permutations # checkpoints growth factor connectivity bits (n=#verts) 1549 9.7n 92.00 9.8n 131.63 191.40 9.9n 241.30 10.0n 351.20 10.2n 661.10 10.5n 20,3731.00 16.4n + 0.1 bit/vert visually identical to original PM !
28
vtvtvtvt ’ vsvsvsvs ’ l Restrict v s to equal v s. ’ Geometry: local prediction + delta vsvsvsvs xx l Record single delta from prediction, in a local coordinate frame. l Predict position of v t ’.
29
Result of predicted delta n Intermediate meshes M i (0<i<n) have minor loss in geometric accuracy. 9.7n 20.9n ?
30
Corner attributes vertex corner face
31
wedge Wedge data structure vertex face corner
32
Vsplit encoding of wedges (6 new corners) 10 corner continuity booleans + 1..6 wedge attribute deltas
33
Results using wedges 9.7n 20.9n 23.7n 10 corner continuity booleans : 2.5n bits wedge attribute deltas : 21.2n bits (16-bit n x,n y,n z at corners)
34
Estimating normals from wedges 9.7n 20.9n 2.5n 88 Kbytes original
35
Progressive Simplicial Complexes [SIGGRAPH 97] (Joint work with Jovan Popovic)
36
PM restrictions: l Supports only “meshes” (orientable, 2-dimensional manifolds) l Preserves topological type 167,7448,0002,522 M0M0M0M0 MnMnMnMn … M i …
37
Progressive Simplicial Complexes l Represent arbitrary “triangulations”: n any dimension, n non-orientable, n non-manifold, n non-regular, … l Progressively encode both geometry and topology.
38
Generalization edge collapse (ecol) vertex split (vspl) vertex unification (vunify) generalized vertex split (gvspl) PMPSC
39
PSC representation LOD sequence M1M1M1M1 M 22 gvspl 1 … M 116 … gvspl i … gvspl n-1 MnMnMnMn
40
Generalized vertex split vunify gvspl Connectivity: PM :(log 2 n+4)n bits PM :(log 2 n+4)n bits PSC :(log 2 n+7)n bits PSC :(log 2 n+7)n bits 0-simplex 1-simplices 2-simplices
41
Space analysis geometry!connectivityconnectivitymaterials
42
PSC analysis PSC MnMnMnMn M1M1M1M1 gvspl (+) progressive geometry and topology (+) no “base mesh” (–) 3 bit / vertex overhead (–) slower decompression lossless single vertex VnVnVnVn KnKnKnKn arbitrary simplicial complex
43
Summary: Progressive geometry l Connectivity n group vsplits forest splits [Taubin etal98] n permute vsplits l Geometry n apply smoothing [Taubin etal98] n local prediction + single delta l Face attributes n already negligible l Corner attributes n wedge data structure
44
Conclusions l Geometry storage overwhelms connectivity, particularly for simplified meshes. l Progressive representations: n reasonable compression n benefits: LOD l Texture coordinates?
45
Beyond Gouraud shading Texture mapping! 44,000 triangles Future: bump mappingbump mapping environment mappingenvironment mapping ~200n bits (JPEG) [Cohen-etal98]
46
Simultaneous streaming progressive geometry progressive texture viewer / application network runtime tradeoff of geometry & texture (platform-dependent)
47
References l H. Hoppe. Progressive meshes. Computer Graphics (SIGGRAPH 96), pages 99-108. l J. Popovic, H. Hoppe. Progressive simplicial complexes. Computer Graphics (SIGGRAPH 97), pages 217-224. l H. Hoppe. Efficient implementation of progressive meshes. Computers & Graphics, Vol. 22, pages 27-36, 1998. l http://research.microsoft.com/~hoppe/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.