Presentation is loading. Please wait.

Presentation is loading. Please wait.

Extensions to Edgebreaker

Similar presentations


Presentation on theme: "Extensions to Edgebreaker"— Presentation transcript:

1 Extensions to Edgebreaker
Siggraph'98 Course21: 3D Geometry Compression Extensions to Edgebreaker Jarek Rossignac GVU Center and College of Computing Georgia Tech, Atlanta Jarek Rossignac 1

2 Edgebreaker extensions and improvements
Better connectivity compression Tighter guaranteed upper bound (King&Rossignac, Gumhold): 1.80T bits Sufficiently regular meshes (with Szymczak and King): 0.81T bits guaranteed Delphi Connectivity predictors (with Coors): between 0.2T and 1.5T bits Topological extensions Quadrilateral meshes (with Szymczak and King): 1.34T bits Handles/holes (with Safonova, Szymczak, Lopes, and Tavares) Non manifold solids (with Cardoze) Implementation (with Safonova, Coors, Szymczak, Shikhare, Lopes) Retiling and loss optimization Optimal quantization (with King and Szymczak): best B and T Piecewise regular resampling (with Szymczak and King) 1T bits total Uniform C-triangles (with Attene, Falcidieno, Spagnuolo): 0.4T bits total Higher dimension Tetrahedra for FEM (with Szymczak): 7T bits (prior to entropy) Pentatopes for 4D simulations (with Szymczak, and with Snoeyink)

3 Edgebereaker compression contributors
King (Atlanta): 1.84Tbits, quads Gumhold (Germany): 1.80T bits Rossignac (Atlanta): Edgebreaker Safonova (CMU): Holes, code Szymczak (Atlanta): regularity, resampling Shikhare (India): translation My latest achievment: “the compression of Greg’s bunny” As you see, it took an international congregation of expert hunters to surround the beast. Attene (Italy): retiling Isenburg (UCS): Reversi Coors (Germany): Prediction Lopes (Brasil): Handles Gotsman (Israel): Polygons

4 Guaranteed 1.84T bit (King&Rossignac 99)
Siggraph'98 Course21: 3D Geometry Compression Guaranteed 1.84T bit (King&Rossignac 99) “Guaranteed 3.67v bits encoding of planar triangle graphs” Proc. 11th Canadian Conference on Computational Geometry, August 1999 Encoding of symbols that follow a C C is 0, S is 10, R is 11 3 possible encoding systems for symbols that do not follow a C Code I: C is 0, S is 100, R is 101, L is 110, E is 111 Code II: C is 00, S is 111, R is 10, L is 110, E is 01 Code III: C is 00, S is 010, R is 011, L is 10, E is 11 One of these 3 codes takes less than (2-1/6)T bits Use a 2-bit switch to identify which code is used for each model Jarek Rossignac 6

5 Guaranteed 1.80T bit(Gumhold 00)
“New bounds on the encoding of planar triangulations”, S. Gumhold, Siggraph course notes on “3D Geometry Compression” 1.8T bits guaranteed for encoding CLERS string Exploits the length of the outer boundary of T-patch (>2) Not convenient for treating non-manifolds (See later) CE is impossible Was at least 3, C increased it to at least 4, can’t have an E CCRE is impossible Was at least 3, CC increased it to at least 5, R reduced it by 1, can’t have an E These constraints impact the probability of the next symbol and improve coding

6 Triangulated quad 1.34T bits guaranteed
"Connectivity Compression for Irregular Quadrilateral Meshes" D. King, J. Rossignac, A Szymczak. Triangulate quads as you reach them Always \ , never / Consecutive in CLERS sequence Guaranteed 2.67 bits/quad 1.34T bits Cheaper to encode that triangulation Less than Tutte’s lowest bound Fewer Q-meshes than T-meshes With same vertex count Theoretical proof Extended to polygons Fan boundaries FaceFixer, Isenburg&Snoeyink

7 Quad meshes (King,Rossignac,Szymczak 99)
Siggraph'98 Course21: 3D Geometry Compression Quad meshes (King,Rossignac,Szymczak 99) “Connectivity Compression of Irregular Quad Meshes” Surfaces often approximated by irregular quad meshes Instead of triangulating, we encode quads directly Measured 0.24V to 1.14V bits, guaranteed 2.67V bits (vs 3.67) Equivalent to a smart triangulation + Edgebreaker Only \-splits (no /-split), as seen from the previous quad Guarantees the triangle-pair is consecutive in triangle tree First triangle of each quad cannot be R or E: 13 symbol pairs possible x ? Jarek Rossignac 10

8 Encoding polygon meshes, 5P bits
D. King, J. Rossignac, and A. Szymczak, “Connectivity compression for irregular quadrilateral meshes,” Technical Report TR–99–36, GVU, Georgia Tech, 1999. Triangulate each polygon as a fan and encode as CLERS Record which edges are added (1 bit per triangle) Guaranteed cost: min(5V, 5P) bits using primal or dual Guaranteed cost: 2.5 bits per edge Exploit planarity for geometry prediction M. Isenburg and J. Snoeylink, “Face fixer: Compressing polygon meshes with properties,” in Siggraph 2000, Computer Graphics Proceedings, 2000, pp. 263–270. B. Kronrod and C. Gotsman,“Efficient Coding of Non-Triangular Meshes”, Technical Report, Computer Science Department, Technion-Israel Institute of Technology, 1999. L C S E

9 Face Fixer (Isenburg&Snoeyink 00)
Face Fixer: Compressing Polygon Meshes with Properties Siggraph 2000 Encodes a label per edge Extends to polygons Represents polygon-spanning tree and its dual vertex-tree Encodes partition of mesh into regions (superfaces) Discusses how to encode attributes Needs 2.5T bits for simple triangle meshes Compared to 1.83T bits guaranteed by Edgebreaker Needs 4V bit encoding for simple quad-meshes Compared to measured 0.24V to 1.14V bits, guaranteed 2.67V bits of King&Rossignac&Szymczak

10 Face fixer results

11 Khodakowsky et al Encodes vertex valences and face valences
Near-Optimal Connectivity Encoding of 2-Manifold Polygon Meshes Khodakovsky, P. Alliez, M. Desbrun, P. Schroder, Encodes vertex valences and face valences Achieves Tutte’s optimal limit if you ignore splits

12 Khodakowsky vs FaceFixer

13 Manifold meshes may have handles
Number of handles H Is half the smallest number of closed curves cuts necessary to make the surface homeomorphic to a disk T=2V+4(H-S) T triangles, E edges, V vertices, H handles, S shells Euler: T-E+V=2S -2H 2 borders per edge and 3 borders per triangle: 2E=3T H=S-(T-E+V)/2 Shared edges: E=3T/2 3 borders per triangle, 2 borders per edge disk

14 Simple encoding of handles in Edgebreaker
“A Simple Compression Algorithm for Surfaces with Handles”, H. Lopes, J. Rossignac, A. Safanova, A. Szymczak and G. Tavares. ACM Symposium on Solid Modeling, Saarbrucken. June 2002. VST and TST miss 2 edges per handle Encode their adjacency explicitly As corner pairs of “glue” edges Additional connectivity cost 2Hlog(3T) Need to restart zipping From each glue edge S*

15 Example: EB compression of torus
Each handle creates two S that will not be able to go left Encode the pair of opposite corner IDs

16 Plug holes with dummy triangle fans
C. Touma and C. Gotsman, “Triangle mesh compression,” in Graphics Interface, 1998. Encoder Create a dummy vertex Triangulate the hole as a star Encode mesh with the holes filled Encode the IDs of dummy vertices Skip tip ID of biggest hole RLE number of initial Cs Decoder Receives filled mesh and IDs of dummy vertices Reconstructs complete mesh Removes star if dummy vertices What is a hole? With Safonova, Szymczak

17 Non-Manifolds Solid models have non-manifold edges and vertices
1 2 3 4 5 Non-Manifolds Solid models have non-manifold edges and vertices Compression exploits manifold data structures Matchmaker: Manifold BReps for non-manifold r-sets Rossignac&Cardoze, ACM Symposium on Solid Modeling, 1999. Match pairs of incident faces for each NME Respects surface orientation & minimizes number of NMVs

18 Delphi: Guessed Connectivity = 0.74T bits
“Guess Connectivity: Delphi Encoding in Edgebreaker”, V. Coors and J. Rossignac, GVU Technical Report. June 2002. Predict Edgebreaker code from decoded mesh Already traversed covered area Active loop c X d g(c) Vr Vl v GE c.v c.n c.p c.o Figure 2: Connectivity guessed by parallelogram prediction

19 Delphi correct guesses
Guess C Guess L X g(c) Guess R Guess S Guess E Figure 3: Guess clers Symbol based on geometry prediction. Depending on the model, between 51% and 97% of guesses are correct. 83% correct guesses: 1.47bpv = 0.74T bits

20 Delphi: Wrong non-C guesses
Guess wrong R Situation L X g(c) Situation C Situation S Guess wrong L Situation R Guess wrong S Guess wrong E Figure 5 Wrongly guessed non-C triangles. They grey triangle shows the actual situation. The yellow triangle visualizes the parallelogram prediction. Half of the wrong guesses are Cs mistaken for Rs

21 Delphi wrong C-guesses
Guess C in X g(c) Situation S Situation R Situation L Situation E Figure 4: Wrongly guesses C triangles 28% of wrong guesses are Rs mistaken for Cs.

22 Apollo sequence encoding of Delphi
Figure 6: Example Apollo encoding: Let us assume that we guessed the first triangle of the example correctly as type C. We than predict the tip of the right triangle at g(c) using the parallelogram rule. SinceBecause the distance of g(c) and the active border is too large, we guess again a type C triangle. Unfortunately, that guess was wrong. In fact, the right triangle, shown in gray color in the first picture, is of type R. In the Apollo sequence we encode this situation as (f,R) and continue the traversal with the left triangle of R. The prediction scheme is performed for all triangle in Edgebreaker sequence and leads to the following Apollo sequence: ((t), (f, R), (t), (t), (t), (t), (t), (t), (t), (f,R), (t), (t), (t)). With a trivial encoding scheme we can compress this sequence with 16 bits instead of 32 bits for the corresponding CLERS sequence.

23 Remeshing techniques What if you do not need to preserve the exact model Allow discrepancy between original and received models Imprecise vertex locations Different connectivity New selection of vertices on or near the surface Simpler topology Now we can use other representations Subdivision surface Semi analytic (CSG) Implicit (radial basis function interpolant) Or develop new ones designed for better compression One parameter per sample (normal displacement, not tangential) Want most vertices to be regular elevation over 2D grid (PRM) Want mostly triangles to be isosceles (SwingWrapper)

24 Piecewise Regular Meshes (PRM)
“Piecewise Regular Meshes: Construction and Compression”. A. Szymczak, J. Rossignac, and D. King. To appear in Graphics Models, Special Issue on Processing of Large Polygonal Meshes, 2002. Split surface into terrain-like reliefs Resample each relief on a regular grid Merge reliefs and fill topological cracks Encode irregular part with Edgebreaker Compress with range coder (2 char context) Parallelogram prediction (x,y) & z

25 PRM error <0.02% with same V-count

26 PRM results: 1T bits total, with 0.02% error
Resampling chosen to limit surface error to less than 0.02% Using 12-bit quantization on vertex location Measured using Metro Decreases Entropy by 40% 80% storage savings when compared to Touma&Gotsman 0.6T - 1.8T bits total (geometry and connectivity) 89% Geometry 8% Connectivity of the regular part of reliefs 3% Irregular triangles Simple implementation Re-sampling: 5 mns (not optimized) Compression: 4 seconds Simpler than MAPS (Lee, SIG98)

27 SwingWrapper: semi-regular retiling
“SwingWrapper: Retiling Triangle Meshes for Better Compression”, M. Attene, B. Falcidieno, M. Spagnuolo and J. Rossignac, Technical Report. March 2002 Resample mesh to improve compression Try to form regular triangles All C triangles are Isosceles with both new edges of length L Fill cracks with irregular triangles Encode connectivity with Edgebreaker Encode one hinge angle per vertex L

28 Swing-Wrapper resolution control

29 SwingWrapper results: 0.4Tb total (0.01%)
L2 error 0.007% 3.5Tb total 0.36Tb wrt original T 678-to-1 compression 1505T L2 error 0.15% 5.2Tb total 0.06Tb wrt original T 4000-to-1 compression 134,074T WRL=4,100,000B

30 SwingWrapper vs Aliez&Desbrun
“Progressive Encoding for Lossless Transmission of 3D Meshes”, P. Alliez and M. Desbrun, Proc. of SIGGRAPH 2001. Original:268K triangles WRL file: 8.5 Mbytes  = 0.4%: 62K triangles encoded with bytes  = 1.6%: 18K triangles encoded with bytes  = 4.1%: 9K triangles encoded with 5624 bytes

31 Summary Topological Surgery (MPEG-4): RLE of TST and VST
Edgebreaker connectivity (CLERS): Efficient Wrap&Zip or Reversi decompression Guarantee 1.80Tb for simple meshes and 0.81T for mostly regular meshes Simple extensions to handles, holes, and non-manifold boundaries Delphi connectivity predictors: between 0.2Tb and 1.5Tb Smart triangulation of quad-meshes: 1.34T bits Encode vertex location using reordering and parallelogram prediction Publicly available 2 page source code and examples Resampling and simplification Simplification (vertex clustering and edge-collapse) Optimal compromise between quantization and simplification (E=K/V) Piecewise Regular Meshes (reliefs): 1Tb total geometry+connectivity (0.02% error) Swing&Wrapper: Isosceles Cs, 0.36Tb total ( 0.007% error), 0.06Tb (0.15% error)

32 Publications on Edgebreaker
“Geometric compression through Topological Surgery,” G. Taubin and J. Rossignac, ACM Transactions on Graphics, vol. 17, no. 2, pp. 84–115, 1998. “Geometry coding and VRML,” G. Taubin, W. Horn, F. Lazarus, and J. Rossignac, Proceeding of the IEEE, vol. 96, no. 6, pp. 1228–1243, June 1998. “Edgebreaker: Connectivity compression for triangle meshes,” J. Rossignac, IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 1, pp. 47–61, 1999. “Optimal Bit Allocation in Compressed 3D Models”. Davis King and Jarek Rossignac. Computational Geometry, 14:91–118, 1999. “Wrap&Zip decompression of the connectivity of triangle meshes compressed with Edgebreaker,” J. Rossignac and A. Szymczak. Computational Geometry: Theory and Applications, 14(1-3): , 1999. “Grow&Fold: Compression of Tetrahedral Meshes,” A. Szymczak and J. Rossignac. Proc. ACM Symposium on Solid Modeling, pp , June 1999. “An Edgebreaker-based efficient compression scheme for regular meshes,” A. Szymczak, D. King, and J. Rossignac, in Proceedings of 12th Canadian Conference on Computational Geometry, 20(2):257–264, 2000. “Compressing the connectivity of tetrahedral meshes,” A. Szymczak and J. Rossignac. Computer-Aided Design, 2000. “3D Compression and progressive transmission,” J. Rossignac. Lecture at the ACM SIGGRAPH conference July 2-28, “3D compression made simple: Edgebreaker on a corner-table.” J. Rossignac, A. Safonova, and A. Szymczak. In Proceedings of the Shape Modeling International Conference, 2001. “Edgebreaker on a Corner Table: A simple technique for representing and compressing triangulated surfaces”, J. Rossignac, A. Safonova, A. Szymczak, in Hierarchical and Geometrical Methods in Scientific Visualization, Farin, G., Hagen, H. and Hamann, B., eds. Springer-Verlag, Heidelberg, Germany, to appear in 2002. “Guess Connectivity: Delphi Encoding in Edgebreaker”, V. Coors and J. Rossignac, GVU Technical Report. June 2002. “A Simple Compression Algorithm for Surfaces with Handles”, H. Lopes, J. Rossignac, A. Safanova, A. Szymczak and G. Tavares. ACM Symposium on Solid Modeling, Saarbrucken. June 2002.

33 Papers on Lossy Compression
“Multi-resolution 3D approximations for rendering complex scenes,” J. Rossignac and P. Borrel. Geometric Modeling in Computer Graphics, pp , Springer Verlag, Eds. B. Falcidieno and T.L. Kunii, Genova, Italy, June 28-July 2, 1993. “The IBM 3D Interaction Accelerator (3DIX)”, P. Borrel, K.S. Cheng, P. Darmon, P. Kirchner, J. Lipscomb, J. Menon, J. Mittleman, J. Rossignac, B.O. Schneider, and B. Wolfe, RC 20302, IBM Research, 1995. “Geometric Simplification,” J. Rossignac, in Interactive Walkthrough of Large Geometric Databases (ACM Siggraph Course Notes 32), pp. D1-D11, Los Angeles, 1995. “Full-range approximations of triangulated polyhedra,” R. Ronfard and J. Rossignac. Proceedings of Eurographics’96, Computer Graphics Forum, pp. C-67, Vol. 15, No. 3, August 1996. “Simplification and Compression of 3D Scenes”, J. Rossignac, Eurographics Tutorial, 1997. “Geometric Simplification and Compression,” J. Rossignac, in Multiresolution Surface Modeling Course, ACM Siggraph Course notes 25, Los Angeles, 1997. “Compressed Progressive Meshes,” R. Pajarola and J. Rossignac. IEEE Transactions on Visualization and Computer Graphics, vol. 6, no. 1, pp, 79-93, 2000. “Squeeze: Fast and progressive decompression of triangle meshes,” R. Pajarola and J. Rossignac, in Proceedings of Computer Graphics International Conference, 2000, pp. 173–182. Switzerland, June 2000. “Implant Sprays: Compression of Progressive Tetrahedral Mesh Connectivity,” R. Pajarola, J. Rossignac, A. Szymczak. Proceedings of IEEE Visualization, San Francisco, October 24-29, 1999. “An Unequal Error Protection Method for Progressively Compressed 3-D Meshes”, G. Al-Regib, Y. Altunbasak and J. Rossignac. Proc. IEEE International Conf. on Acoustics, Speech and Signal Processing ICASSP'02. Orlando, May 2002. “Piecewise Regular Meshes: Construction and Compression”. A. Szymczak, J. Rossignac, and D. King. To appear in Graphics Models, Special Issue on Processing of Large Polygonal Meshes, 2002. “SwingWrapper: Retiling Triangle Meshes for Better Compression”, M. Attene, B. Falcidieno, M. Spagnuolo and J. Rossignac, Technical Report. March 2002. “A joint source and channel coding approach for progressiv ely compressed 3D mesh transmission,” G. Al-Regib, Y. Altunbasak and J. Rossignac, ICIP, 2002. “Protocol for streaming compressed 3D animations over lossy channels”, G. Al-Regib, Y. Altunbasak, J. Rossignac. and R. Mersereau, IEEE Int. Conf. on Multimedia and Expo (ICME), Lausanne, August

34 Encoding the corner attributes
Siggraph'98 Course21: 3D Geometry Compression Encoding the corner attributes Jarek Rossignac GVU Center and College of Computing Georgia Tech, Atlanta Jarek Rossignac 1

35 Common attributes Attributes: One per corner
parameters for color and texture calculations Could be the same for all 3 corners (flat triangle) Could be the same for two adjacent corners (smooth half-edge) Could be the same for opposite corners of an edge (smooth edge) Could be the same for all coincident corners (smooth vertex) Linear interpolation of shape and attributes over triangle

36 Corner table:data structure for T-meshes
c.v c.o Table of corners, for each corner c store: c.v : integer reference to vertex table c.o : integer reference to opposite corner c.a : index to table of corner attributes Table of vertex locations Table of attributes c.t Triangle 0 corner a Triangle 0 corner b Triangle 0 corner c Triangle 1 corner c Triangle 1 corner d Triangle 1 corner e v o a vertex 1 x y z vertex 2 x y z vertex 3 x y z vertex 4 x y z attribute a red attribute b blue 1 2 3 4 5

37 Reducing attribute references
Store a discontinuity bit for every corner Says if corner has same attribute than previous corner in cw order Total cost 3T bits (in fact, stores 2 bits per edge) One bit for ever edge/vertex pair Geometry coding and VRML Taubin, Horn, Lazarus, Rossignac Proc. IEEE, 86(6), 1998 Use additional 1 bit per vertex Identify vertices for which all corners have same attribute Avoiding sending bits for these corners (saves 20% to 70%) Face Fixer Isenburg&Snoeyink Siggraph 00

38 Compressing attribute values
Quantize to the minimum resolution Less than 24-bit color Discretized normals 1 bit selects hemisphere 2 bits select quadrant 2 more bits select sub-quadrant… Predict from previously decoded neighbors Average, Extrapolate Encode the difference

39 Attribute prediction Estimate vertex normal from geometry
For example, use sum of cross-products UxV Estimate texture coordinates 2-D prediction over T-mesh In Texture coordinate space U V

40 Single-resolution compression of Tetrahedral Meshes Grow&Fold
Siggraph'98 Course21: 3D Geometry Compression Single-resolution compression of Tetrahedral Meshes Grow&Fold Jarek Rossignac (with Andrzej Szymczak) GVU Center and College of Computing Georgia Tech, Atlanta Jarek Rossignac 1

41 Representing triangle and tetrahedra meshes
Siggraph'98 Course21: 3D Geometry Compression Representing triangle and tetrahedra meshes Vertices and values: 3x16+k bits/vertex x y z c vertex 1 vertex 2 vertex 3 Tetrahedron/vertex incidence: 4xlog2(V) bits/tetrahedron Tetrahedron 4 Tetrahedron 5 Tetrahedron 1 Tetrahedron 2 Tetrahedron 3 Tetrahedron 6 Tetrahedron 17 Tetrahedron 7 Tetrahedron 8 Tetrahedron 9 Tetrahedron 18 …. Triangle/vertex incidence: 3xlog2(V) bits/triangle 3 2 4 Triangle 4 7 5 6 Triangle 5 Triangle 1 Triangle 2 Triangle 3 Triangle 6 8 5 1 t3 v4 v2 v5 T ~ 6.5V Connectivity dominates storage cost! T = 2V Jarek Rossignac 6

42 Compressing tetrahedral meshes
Siggraph'98 Course21: 3D Geometry Compression Compressing tetrahedral meshes Non-uniform physical properties through space 3D samples with scalar value(s) Irregular tetrahedral mesh Finite elements resulting from automatic meshing Could be result of simplifying regular grids Incidence table dominates storage cost: 4Tlog(V) bits T=6V (usually between 4 and 7 times more tetrahedra than vertices) V may be very large (2563) Need to compress connectivity Want linear cost in T Jarek Rossignac 2

43 Grow&Fold Szymczak&Rossignac Encode tetra-tree (3bits per tetrahedron)
Siggraph'98 Course21: 3D Geometry Compression Grow&Fold Szymczak&Rossignac Grow&Fold: Compression of tetrahedral meshes, ACM Symposium on Solid Modeling 99 Encode tetra-tree (3bits per tetrahedron) Has internal and external triangle-faces Mark “fold” edges on external faces (4b/tet) 2 bits per face: mark zero or one of the edges 2 free faces per tetrahedron Results: 7 bits/tet Instead of 4log(V) 1 2 3 Jarek Rossignac 3


Download ppt "Extensions to Edgebreaker"

Similar presentations


Ads by Google