300 likes | 441 Views
Haeyoung Lee. Mathieu Desbrun. Pierre Alliez. USC. USC. INRIA. Angle-Analyzer: A Triangle-Quad Mesh Codec. Introduction: 3D Compression. Focus. A Single-rate, Lossy Compression Single-rate vs progressive compression Lossy vs. lossless compression Contribution: Better Bitrates
E N D
Haeyoung Lee Mathieu Desbrun Pierre Alliez USC USC INRIA Angle-Analyzer:A Triangle-Quad Mesh Codec
Focus • A Single-rate, Lossy Compression • Single-rate vs progressive compression • Lossy vs. lossless compression • Contribution: Better Bitrates • 40% better in connectivity, 20% better in geometry • Improves transmission time, storage space, …
Previous Work: Connectivity • 3 main approaches, based on: • Triangle strips • Edge/gate traversal • Valence
Edge/Gate Traversal I [Rossignac 99]& follow-ups: EdgeBreaker • 5 symbols (+2 for arbitrary genus) • Spiraling depth-first spanning tree traversal • Connectivity:~4 b/v
Edge/Gate Traversal II [Gumhold 00] : CutBorder Machine • 6 Symbols • Breadth-first traversal • Connectivity: ~3.55 b/v [Isenburg & Snoeyink 00] • Polygon meshes Overall, 2V symbols
Valence-based Approaches I • [Touma & Gotsman 98] • Deterministic traversal by pivoting around vertices • [Isenburg & Snoeyink 99] • Edge collapses • One valence symbol per removed vertex
Valence-based Approaches II [Alliez & Desbrun 01] • Improvements upon [TG98]: • Adaptive traversal • Worst case: 3.24b/v • [Li & Kuo 98] & [Khodakovsky, Alliez, Desbrun, Schröder 02] Polygon meshes using duality Overall, only V symbols
Previous Work: Geometry Delta Encoding [Deering 95] Predictions [Taubin & Rossignac 98] • Global Quantization [Touma & Gotsman 98] • Vector Quantization [Lee & Ko 00] Occurrence [Devillers & Gandoin 00, 02] Wavelet-based compression [KWS 00]
Our Algorithm: Angle-Analyzer • Our Goal: • Triangle, Quad, and Hybrid Meshes (most common!) • + Easiness of implementation Mix edge/gate traversal & valence approach! • Our Contribution: • 20% better than [TG98] 40% better in connectivity 19% better in geometry
Our Algorithm: Angle-Analyzer • Our Connectivity Encoder: • Small number of fixed symbols, easy to code • Adaptive traversal & low-entropy sequence • Our Geometry Encoder: • Local coordinate system • Intrinsic & extrinsic angles • Entropy-driven quantization
front vertex left front right front front face gate gate V1 V0 V0 V1 front vertex left front right front back face front face gate gate V1 V0 V0 V1 back face Angle-Analyzer: Definitions • Gate • Front Vertices • Back Face • Front Face • Active Gate List • Gate Lists in a Stack Blue: visitedGrey: to be visited
Triangle Mesh Connectivity • Only 5 symbols: C, CW, CCW, S, J V1 V0 V1 V0 V0 V1 C (Create) CW (Mesh Clockwise) CCW (Mesh Counterclockwise) V1 V0 V1 V0 J (Join) S (Skip)
Quad Mesh Connectivity • 8 symbols: C2, CR, CL, Mesh, DCCW, DCW, S, JQ Red: new, Grey: old Yellow: possibly new CR (Create Right Front) C2(Create 2) CL (Create Left Front) JQ (Join for Quad) Mesh (just mesh) DCW (Double -Clockwise) DCCW (Double -Counterclockwise)
front vertex left front right front front face V1 V0 V0 V1 back face Hybrid Mesh Connectivity • 12 symbols, depending on the front face: • C, CW, CCW, S, J, • C2, CR, CL, Mesh, DCCW, DCW, JQ
J CW Adaptive Traversal - Heuristic Minimize #J(JQ) by choosing best gate: • min angle between two successive gates Geometry-driven adaptive traversal with [AD01]: with new heuristic:
Geometry-Driven Traversal Improvements due to new heuristic:
Connectivity for Triangle Meshes • 40% better on average Bit rates in b/v
V0 X-axis Z-axis V1 Y-axis Front face Front vertex (x,y,z) Angle-Analyzer: Geometry (1) • Local Coordinate Based Geometry • 2-pass algorithm: • Range search • Transform global to Local Coordinate system then Quantize
V0 a V1 Front face b g (a, b, g) Front vertex Angle-Analyzer: Geometry (2) • Angle-based Geometry • Single-pass algorithm: • Just quantize angles! • Predefined ranges for angles: • (0, p) for a, b • (-p, p) for g
V0 Front face V1 Front vertex Angle-Analyzer: Geometry(3) • Entropy-Driven Geometry Encoding • Choose one among 8 candidates on a cube with lowest local entropy • Easy to extend: pick whatever vertex is the cheapest for an equivalent geometric error…
Discussion on Geometry Bit Rate Distortion computed with Metro
Discussion on Geometry • Better visual results (i.e., distortion) for less bits! Original Angle–Analyzer (6.88b/v) TG-9bit (7.32b/v)
Discussion on Geometry Better visual results (i.e., distortion) for less bits! Original TG-10bit (7.94b/v) Angle–Analyzer (6.58b/v)
Result Overview 20% better in overall ratios than TG98 with 12bit
Work Done • A single-rate compression algorithm for 3D triangle-quad meshes • Contribution to connectivity • Fixed number of Symbols (smaller than previous) • New geometry-driven adaptive traversal (40% better) • Contribution to geometry • New intrinsic and extrinsic angle encoding • New local coordinate frame • New entropy-driven quantization (19% better) • Competitive compression ratios (20%better)
Future Work Goal: • Extending Angle-Analyzer to handle polygonal meshes and non-manifold meshes • Reducing bit rate further on geometry Why: • Many non-manifold meshes in practice • Comparatively little work on non-manifold mesh compression (Devillers & Gandouin) • Seems like geometry compression is not optimal…
Acknowledgements • IMSC, NSF • Yiying Tong • Laehyun Kim • Anna Kyrikou