Document Sample

3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech, Atlanta http://www.gvu.gatech.edu/~jarek Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 1 How should one measure shape complexity? • Number of components, handles and holes • Algebraic degree of bounding surfaces • Number of vertices in mesh • Stabbing number • Area3/volume2 • Curvature integral • Number of branches in skeleton • … • Number of bits required to store or transmit the model Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 2 Storage size depends on • The shape, topology, and attributes of the model • Choice of representation • Acceptable accuracy loss • Compression used Error Storage Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 3 Storage size depends on representation 2D 1D 0D Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 4 Overall objective and issues • Find the most compact representation for each object • If you want loss-less encoding – Not much freedom • Triangle mesh or CSG? • Sphere(C,r) or NURBS • If you accept lossy encoding – How do you define the error? – Can you compute it? – How to convert between representations? • Boundary-to-CSG – How to compress each representation? • We focus on triangle meshes – Popular, supported, simplest – Representing polyhedra, Bsplines, and Subdivision surfaces Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 5 Focus on explicit representation (T-mesh) • Samples: Location and attributes (color, mass) • Connectivity: Triangle/vertex incidence • Fit: Rule for bending triangles (subdivision surfaces, NURBS) Samples (vertices): vertex 1 x y z c vertex 2 x y z c vertex 3 x y z c V(3B+k) bits Triangle/vertex incidence: v4 Triangle 1 1 2 3 Triangle 2 3 24 Triangle 3 4 5 2 t3 Triangle 4 7 5 6 v5 v2 Triangle 5 6 5 8 T = 2V V(6log2V) bits Triangle 6 8 51 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 6 Storage size depends on accuracy (7,7) • Depends on vertex data quantization – Represent coordinates as normalized integers • Coordinates relative to bounding rectangle • Select unit for desired resolution [0..2B] (0,0) • Vertex coordinates = B-bit integers (6<B<14) Error EB • Depends on the sampling density (LOD) ET – Storage grow with the density of samples – Sub-sampled or simplified down to T triangles: Error ET T • Estimate ET = K/T (where K approximates shape complexity) • Optimal choice of B and T (King&Rossignac) – Reduce error with a storage cap: F = T+3BcT/2 – Reduce storage with a cap on error bound: E=EB+ET Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 7 Triangle count reduction techniques (LOD) • Quantize & cluster vertex data (Rossignac&Borrel’92) – remove degenerate triangles (that have coincident vertices) – Adapted by P. Lindstrom for out-of-core simplification • Repeatedly collapse best edge (Ronfard&Rossignac96) – while minimizing maximum error bound – Adapted by M. Garland for least square error Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 8 Different Error Measures screen • Image (color) fidelity (view dependent) eye – Error on the color of pixels – Sensitive to view direction and surface orientation Silhouette – Too constraining for most 3D applications has moved • Shading models are approximate • Users can’t detect shading inaccuracies • Screen space geometric error (view-dependent) eye – Measures silhouette displacement Hidden part – Must preserve depth order appeared – Bounded by projection of 3D deviation A • Geometric 3D deviation (view-independent) H(A,B) – Bound defined by model/application tolerance B – Hausdorff: H(A,B)=max(d(a,B),d(b,A)), aA, bB dev(A,B) – Expensive to compute: (F1,F2,F3) – Poor measure of discrepancy – Often approximated conservatively Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 9 Storage may be reduced by compression A • Vertex coordinates (compress to 2 Bytes/vertex) B – Normalize/quantize coordinates C – Predict using decoded neighbors D – Store corrections using entropy compression V V=aA+bB+cC+dD+X C C R • Incidence (< 2 bits/vertex) R C C C – Depth-first triangle-tree (spiral) C R C – Encode as string of symbols C CCCCRCCRCRC… • Fit rule and parameters (constant cost?) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 10 Complexity of a shape = Storage/Error curve Storage Error of the approximating model Curve depends on representation and compression scheme used Estimate ET = K/T Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 11 Terminology vertex • Vertex: – Location of a sample corner • Triangles: triangle – Decompose approximating surface border • Edge: – Bounds one or more triangles edge – Joins two vertices • Corner: – Abstract association of a triangle with a vertex – May have its own attributes (not shared by corners with same vertex) • Used to capture surface discontinuities • Border (oriented half-edge, dart): – Association of a triangles with a bounding edge. – Orientation cycle around triangle, inverse of opposite border • A triangle has 3 borders and 3 corners Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 12 First, the case of a simple mesh • A simple mesh is homeomorphic to a triangulated sphere – Orientable – Manifold – No boundary (no holes) – No handles (no throu-holes) • Properties – Each edge has exactly 2 incident triangles – Each vertex has a single cycle of incident triangles – May be drawn as a planar graph Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 13 Dual graphs and spanning trees From Bosen • Dual graph: – Nodes represent triangles – Links represent edges • That join adjacent triangles • Vertex Spanning Tree (VST) – Edge-set connecting all vertices – No cycles – Cuts mesh into simply connected polygon with no interior vertices • Triangle-Spanning Tree (TST) – Graph of remaining edges – No loops – Connects all triangles TST VST Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 14 Euler formula for Simple Meshes • Mesh has V vertices, E edges, and T triangles • E = (V-1)+(T-1) – VST has V nodes and thus V-1 links – TST has T nodes and thus T-1 links • E = 3T/2 – There are 3 borders (edge-uses) per triangle – There are twice more edge-uses then edges • Therefore: T = 2V - 4 – Because (V-1)+(T-1) = 3T/2 – we have V-2 = 3T/2-T = T/2 – There are about twice as many triangles as vertices • The number C of corners (vertex-uses) is about 6V – C=3T=6V-12 – On average, a vertex is used 6 times Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 15 Representation as independent triangles • For each triangle: – For each one of its 3 corners, store: • Location • Attributes (may be the same for neighboring corners) • Each vertex location is repeated (6 times on average) – geometry = 36 B/T (float coordinates: 9x4 B/T) – Plus 3 attribute-sets per triangle (6 per vertex) vertex 1 vertex 2 vertex 3 Triangle 1 xyzxyzxyz Triangle 2 xyzxyzxyz Triangle 3 xyzxyzxyz Very verbose! Not good for traversal. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 16 Representation as Triangle strips • Continue a strip by attaching a new triangle to an edge of the previous one L R R • Need only indicate which edge and when to start a new strip – 1 Left/Right bit per triangles – 1 strip-end bit per triangle • Send one vertex per triangle – Plus 2 vertices per strip to start it • Each vertex is transmitted twice on average Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 17 36-to-1 compression ratio Independent triangles: 576V bits Triangle Strips: 214V bits (coordinates as floats 9x32T bits) (1.1x3x4B/T + 1B/S + 1b/T) Each vertex encoded ~ 6 times Each vertex encoded ~ twice vertex 1 vertex 2 vertex 3 vertex 1 xyz Strip 1 10 Triangle 1 xyzxyzxyz vertex 2 xyz Strip 2 7 Triangle 2 xyzxyzxyz L vertex 3 xyz Triangle 3 xyzxyzxyz R R V and T tables V(6log V) bits V(3B+k) bits Triangle 1 2 Example: V=1000, B=10, k=0 1 2 3 vertex 1 x y z c Triangle 2 3 2 4 Samples+incidence storage costs: vertex 2 x y z c Triangle 3 4 5 2 (3B+6log2V)V = (30+60)V = 98V bits vertex 3 x y z c Triangle 4 7 5 6 Triangle 5 6 5 8 Can be compressed to: (14+2)V = 16V bits Triangle 6 8 5 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 18 Connectivity compression: An old challenge • Tutte: Theoretical lower bound (Tutte 62): can’t guarantee < 1.62 bits per triangle • Itai,Rodeh: Representation of graphs, Acta Informatica, 82 • Turan: On the succinct representation of graphs, Discrete Applied Math, 84: 6Tb • Naor: Succinct representation of unlabeled graphs, Discrete Applied Math, 90 • Keeler,Westbrook: Encoding planar graphs, Discrete Applied Math, 93: 2.3Tb • Deering: Geometry Compression, Siggraph, 95 • Denny,Sohler: Encode 2D triangulation as permutation of points, CCCG, 97: 0Tb Topological Surgery Taubin&Rossignac Valence-based Edgebreaker Cutborder Gotsman&team Rossignac&team Gumhold&Strasser Spirale Reversi Snoeyink&Isenburg Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 19 A simple and elegant solution (?) Given the left and right boundaries L of a triangle strip (corridor), we L L L need T (left/right) bits to encode its triangulation. ex: LRRLLRLRR R R R R R Connecting vertices into a single spiral (Hamiltonian walk) defines the left and the right boundaries (walls) of a long corridor. Store vertices in their order along the wall. (Can use former vertices to predict location of new ones.) Encode connectivity using only 1 (left/right) bit per triangle ! Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 20 But..but..wait a minute! It doesn’t work! The corridor may L have warts ? R Warts are ? R hard to avoid The spiral may bifurcate The corridor may bifurcate Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 21 3Tb encoding of VST and TST suffices Guaranteed 3Tb connectivity (2Tb T-tree + 2Vb V-tree) 4 5 1 3 6 1 2 2 2 7 3 + 3 12 4 4 5 7 12 5 11 6 9 7 11 6 7 8 10 9 10 7 8 8 7 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 22 Topological Surgery (TS) Taubin-Rossignac IBM’95, VRML, MPEG-4 “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. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 23 Run-length encoding of TST and VST Most nodes have a single child. - Group them into runs - Store structure of each tree (2 bits per run) - Store left/right bit per triangle 5 5 4 2 3 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 24 TS example Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 25 Spiral is better than other traversal orders Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 26 TS spiral joins topological layers Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 27 Results TS (MPEG-4) vs VRML Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 28 Topological Surgery: Results and Impact • Results: – Compresses to less than 12 bits per triangle • Connectivity: about 2.0 T bits (increases for smaller meshes) • Geometry: 6 bits per coordinate (decreases with tessellation&quantization) • Publications and impact of Topological Surgery: – Interfaced to VRML 2.0 offered by IBM (1995) – Core of the MPEG-4 standard for 3D Compression – Geometric compression through topological surgery, Taubin&Rossignac • ACM Transactions on Graphics, 17(2):84-116, April 1998 (Best Paper Award) – Geometry coding and VRML, Taubin, Horn, Lazarus, & Rossignac • Proceedings of the IEEE, 96(6):1228-1243, June 1998 – Inspired several approaches • Touma,Gotsman: Triangle Mesh Compression, GI, 98 • Gumbold,Straßer: Realtime Compression of Triangle Mesh Connectivity, Siggraph, 98 • Taubin,Gueziec,Horn,Lazarus: Progressive forest split compression, Siggraph, 98 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 29 Edgebreaker (EB) Second generation 3D compression Faster, simpler, more effective “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”. D. King and J. 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):119-135, 1999. “Connectivity compression for irregular quadrilateral meshes,” D. King, J. Rossignac, and A. Szymczak, Technical Report TR–99–36, GVU, Georgia Tech, 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. “3D Compression and progressive transmission,” J. Rossignac. Lecture at the ACM SIGGRAPH conference July 2- 28, 2000. “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, 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 . Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 30 Edgebereaker compression contributors Gumhold King Rossignac (Atlanta): (Atlanta): (Germany): Safonova 1.80T bits 1.84Tbits, Edgebreaker quads (CMU): Holes, code Szymczak (Atlanta): regularity, resampling Shikhare (India): translation Attene (Italy): Isenburg (UCS): retiling Coors Reversi Lopes (Brasil): Handles Gotsman (Israel): (Germany): Polygons Prediction Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 31 Edgebreaker is a state machine ? C? Marked (visited) x Not marked x Last visited ? L? ? Next to be encoded x To-do stack if tip vertex not marked then C ? ? R else if left neighbor marked x then if right neighbor marked then E else L else if right neighbor marked then R else S ? S ? Encode sequence of codes x C: 0, L:110, R: 101, S:100, E:111 Only 2T bits (because |C|=V=T/2) ? ? E and vertices x as encountered by C operations Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 32 Edgebreaker compression ? C ? x C C R ? L ? C R C C x C R C C ? R CCCCRCCRCRC… ? x RR R ? S ? LC L E x E S R CR ? ? E …CRSRLECRRRLE x Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 33 EB re-numbering of vertices Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 34 Corner table: data structure for T-meshes “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. c.l • Table of corners, for each corner c store: c.v c.r – c.v : integer reference to vertex table c c.p – c.o : integer reference to opposite corner c.n • Make the 3 corners of each triangle consecutive c.t – List them according to ccw orientation of triangles c.o – Trivial access to triangle ID: c.t = INT(c/3) – c.n = 3c.t + (c+1)MOD 3, c.p = c.n.n, c.l = c.p.o, c.r = c.n.o vo Triangle 0 corner 0 1 7 2 vertex 1 x y z Triangle 0 corner 1 2 8 1 3 vertex 2 x y z Triangle 0 corner 2 3 5 3 2 0 4 5 4 vertex 3 x y z Triangle 1 corner 3 2 9 Triangle 1 corner 4 1 6 1 vertex 4 x y z Triangle 1 corner 5 4 2 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 35 Computing adjacency from incidence • c.o can be derived from c.v (needs not be transmitted): • Build table of triplets {min(c.n.v, c.n.n.v), max(c.n.v, c.n.n.v), c} voa – 230, 131, 122, 143, 244, 125, … 2 Triangle 1 corner 0 1 a Triangle 1 corner 1 2 b 1 3 3 2 Triangle 1 corner 2 3 c 0 4 5 4 • Sort (bins, linear cost): Triangle 2 corner 3 2 c – 122, 125 ...131... 143 ...230...244 … 1 Triangle 2 corner 4 1 d Triangle 2 corner 5 4 e • Pair-up consecutive entries 2k and 2k+1 – (122, 125)...131... 143...230...244… voa Triangle 1 corner 0 1 a • Their corners are opposite Triangle 1 corner 1 2 b 2 – (122,125)...131...143...230...244… Triangle 1 corner 2 3 5 c 1 3 3 2 Triangle 2 corner 3 2 c 0 4 5 4 Triangle 2 corner 4 1 d Triangle 2 corner 5 4 2 e 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 36 Edgebreaker compression algorithm Source code, examples: http://www.gvu.gatech.edu/~jarek/edgebreaker/eb vo recursive procedure compress (c) T1 c0 1 7 v1 x y z repeat { T1 c1 2 8 c.t.m:=1; # mark the triangle as visited v2 x y z if c.v.m == 0 # test whether tip vertex was visited T1 c2 3 5 v3 x y z then { write(vertices, c.v); # append vertex index to “vertices” T2 c3 2 9 write(clers, C); # append encoding of C to “clers” v4 x y z T2 c4 1 6 c.v.m:= 1; # mark tip vertex as visited T2 c5 4 2 c:=c.r } # continue with the right neighbor c.v else if c.r.t.m==1 # test whether right triangle was visited c.r then if c.l.t.m== 1 # test whether left triangle was visited c.l c then {write(clers, E); # append encoding of E to clers string c.t return } # exit (or return from recursive call) else {write(clers, R); # append encoding of R to clers string c.o c:=c.l } # move to left triangle RR R else if c.l.t.m == 1 # test whether left triangle was visited b then {write(clers, L); # append encoding of L to clers string LC L E c:=c.r } # move to right triangle E a S R else {write(clers, S); # append encoding of S to clers string CR compress(c.r); # recursive call to visit right branch first c:=c.l } } # move to left triangle vertices=…ab, clers = ...CRSRLECRRRLE (2T bit code: C=0, L=110, R=101, S=100, E=111) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 37 EB decompression: how come it works? Receive the CLERS sequence Decode it Construct the triangle tree Decode&reconstruct vertices RR R LC L E …CRSRLECRRRLE E S R R C How to zip up the cracks? “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):119-135, 1999. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 38 Wrap&Zip EB decompression (with Szymczak) Orient bounding edges while building triangle tree at decompression. All oriented clockwise (up tree), except for C and the seed triangle: seed C L E R S Then ZIP all pairs of adjacent bounding edges when both point away from their common vertex. R RR R RR RR R L C L E L C L E LC L E CRSRLECRRRLE S R S R E R E R E RS R C C C Linear time complexity. Zip only after L and E. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 39 Wrap&Zip more complex example Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 40 Spirale Reversi decompression for EB M. Isenburg and J. Snoeyink. Spirale reversi: Reverse decoding of the Edgebreaker encoding. Technical Report TR-99-08, Department of Computer Science, University of British Columbia, October 4 1999. C R L S E compression clers = …CCRRCCRRRCRRCRCRRCCCRRCRRCRCRRRCRCRCRRSCRRSLERERLCRRRSEE reversi = EESRRRCLRERELSRRCSRRCRCRCRRRCRCRRCRRCCCRRCRCRRCRRRCCRRCC… decompression Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 41 Reversi details 1 1 1 1 2 O=E O = EE O = EES O = EESRRRCLR O = EESRRRCLRER 1 2 1 O = EESRRRCLRERELSRRC O = EESRRRCLREREL O = EESRRRCLRERELSRRCS O = EESRRRCLRERELSRRCSRRCRCRCRRRCRCRRCRRCCCRRCRCRRCRRRCCRRCC… Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 42 Edgebreaker Results • Compression results for connectivity information – Guaranteed 2T bits for any simple mesh (improved later to 1.80T bits) – Entropy down to 0.9T bits for non-trivial large models • Frequency: C=50%, R about 35%, S and E = 1-to-5% – Source code available: 3 page detailed pseudo-code, arrays of integers, fast • http://www.gvu.gatech.edu/~jarek/edgebreaker/eb • Publications <http://www.gvu.gatech.edu/~jarek/papers> – Rossignac, Edgebreaker Compression, IEEE TVCG’99 • Sigma Xi Best Paper Award – Rossignac&Szymczak, Wrap&zip, CGTA’99 – King&Rossignac: Guaranteed 3.67V bit encoding..., CCCG’99 – Szymczak&King&Rossignac: Mostly regular meshes, CCCG’00 – …. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 43 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) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 44 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 45 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 46 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* Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 47 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 48 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 49 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 2 1 3 3 2 0 4 5 4 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 50 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 g(c) d c.v X c v c Vl c.n c.p Vr cGc E c.o c Figure 2: Connectivity guessed by parallelogram prediction Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 51 Delphi correct guesses X Depending on the model, g(c) g(c) g(c) between 51% and 97% X X of guesses are correct. Guess C Guess L Guess R X X g(c) g(c) Guess S Guess E Figure 3: Guess clers Symbol based on geometry prediction. 83% correct guesses: 1.47bpv = 0.74T bits Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 52 Delphi: Wrong non-C guesses Guess wrong R Guess wrong L g(c) g(c) g(c) g(c) g(c) g(c) X X X X X X Situation L Situation C Situation S Situation R Situation C Situation S Half of the wrong guesses are Cs mistaken for Rs Guess wrong S Guess wrong E X X X X X g(c) g(c) g(c) g(c) g(c) Situation C Situation R Situation L Situation C Situation S Figure 5 Wrongly guessed non-C triangles. They grey triangle shows the actual situation. The yellow triangle visualizes the parallelogram prediction. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 53 Delphi wrong C-guesses Guess C in 28% of wrong X X guesses are Rs g(c) g(c) mistaken for Cs. Situation R Situation L X X g(c) g(c) Situation S Situation E Figure 4: Wrongly guesses C triangles Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 54 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. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 55 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) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 56 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 57 PRM error <0.02% with same V-count Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 58 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) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 59 SwingWrapper: semi-regular retiling “SwingWrapper: Retiling Triangle Meshes for Better Compression”, M. Attene, B. Falcidieno, M. Spagnuolo and J. Rossignac, Technical Report. March 2002 L • Resample mesh to improve compression • Try to form regular triangles – All C triangles are Isosceles L – with both new edges of length L • Fill cracks with irregular triangles • Encode connectivity with Edgebreaker • Encode one hinge angle per vertex 180¡ L 3/2 180¡+ x x C Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 60 Swing-Wrapper resolution control Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 61 SwingWrapper results: 0.4Tb total (0.01%) C L E R S 13,642T 1505T 134,074T L2 error 0.007% L2 error 0.15% WRL=4,100,000B 3.5Tb total 5.2Tb total 0.36Tb wrt original T 0.06Tb wrt original T 678-to-1 compression 4000-to-1 compression Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 62 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 37072 bytes = 1.6%: 18K triangles encoded with 10314 bytes = 4.1%: 9K triangles encoded with 5624 bytes Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 63 Grow&Fold: compression of Tetrahedra “Grow&Fold: Compressing the connectivity of tetrahedral meshes,” A. Szymczak and J. Rossignac. CAD, 2000. “Grow&Fold: Compression of Tetrahedral Meshes,” A. Szymczak and J. Rossignac ACM Symp. 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) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 64 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) Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 65 Some Research Issues Definition and measure of shape complexity Good measure of discrepancy between two shapes Efficient algorithm for measuring discrepancy Definition of equivalence classes of “similar” shapes Most compact encoding for a class (representative) Visualization of variability in a class Constant cost per handle, hole, and non-manifold singularity Compact encoding of topology (handles, knots, braids) Decomposing shape into topologically simple, natural features Encoding cell complexes Encoding higher-dimensional models and attributes Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 66 Questions? • Progressive transmission • Selective decompression • Streaming • Animation • Optimal coding Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 67 Progressive transmission “Multi-resolution 3D approximations for rendering complex scenes,” J. Rossignac and P. Borrel. Geometric Modeling in Computer Graphics, pp. 455-465, 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. 2002. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 68 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):119-135, 1999. “Grow&Fold: Compression of Tetrahedral Meshes,” A. Szymczak and J. Rossignac. Proc. ACM Symposium on Solid Modeling, pp. 54-64, 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, 2000. “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. Jarek Rossignac, CoC & GVU Center, Georgia Tech May, 2002 3D Compression Challenges , 69

DOCUMENT INFO

Shared By:

Categories:

Tags:

Stats:

views: | 0 |

posted: | 2/1/2013 |

language: | English |

pages: | 69 |

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.