Presentation is loading. Please wait.

Presentation is loading. Please wait.

Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Similar presentations


Presentation on theme: "Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”"— Presentation transcript:

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 MfcMfcMfcMfc 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/


Download ppt "Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”"

Similar presentations


Ads by Google