1 / 60

Compressing Texture Coordinates

Compressing Texture Coordinates. with h Selective Linear Predictions. Martin Isenburg. Jack Snoeyink. University of North Carolina at Chapel Hill. Take this home:.

emanuelu
Download Presentation

Compressing Texture Coordinates

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CompressingTexture Coordinates with hSelective LinearPredictions Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill

  2. Take this home: “We predict texture coordinateswith four different rules – taking into account the presence of mapping discontinuities.” “We compress the corresponding corrective vectors with different arithmetic contexts.”

  3. Overview • Background • Compressing Vertex Positions • Linear Prediction Schemes • Texture Coordinate Mappings • Compressing Texture Coordinates • Alternative Approaches • Summary

  4. Background

  5. face1 1 2 3 4 face2 3 4 3 face3 5 2 1 3 facef 725 6291 6293 vertex1 ( x1 y1 z1 ) vertex2 ( x2 y2 z2 ) vertex3 ( x3 y3 z3 ) vertexv ( xv yv zv ) Meshes - Basic Ingredients • connectivity • geometry

  6. face1 1 2 3 4 face2 3 4 5 face3 5 6 1 7 facef 9152 123 271 texcoord1 ( u1 v1 ) texcoord2 ( u2 v2 ) texcoord3 ( u3 v3 ) texcoordt ( ut vt ) Meshes - Optional Properties • mapping • values

  7. Mesh Compression • Fast Rendering • Progressive Transmission • Maximum Compression Geometry Compression[Deering, 95] Maximum Compression

  8. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry • Properties Geometry Compression[Deering, 95] Maximum Compression Properties

  9. NormalsColors Material AttributesTexture Coordinates Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry • Properties • Mapping • Values Geometry Compression[Deering, 95] Maximum Compression Properties Texture Coordinates Values

  10. Connectivity “coding with vertex degrees” - optimal? • Geometry “parallelogram prediction” - most popular! “…treat like vertex positions …” Triangle Mesh Compression • Texture Coordinates ??? Triangle Mesh Compression [Touma & Gotsman, Graphics Interface 98] Yes! But …

  11. Connectivity Compressing Polygon Mesh Connectivity withDegree Duality Prediction[Isenburg, 02] Near-optimal connectivity coding of PolygonalMeshes[Khodakovsky et al, 02] • Geometry Compressing Polygon Mesh Geometry withParallelogram Prediction[Isenburg & Alliez, 02] Generalization of TG coder

  12. CompressingVertex Positions

  13. Geometry Compression[Deering, 95] Java3D Geometric Compression through topological surgery [Taubin & Rossignac, 98] MPEG-4 Triangle Mesh Compression [Touma & Gotsman, 98] Virtue3D Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction

  14. Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based

  15. expensive numericalcomputations Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based Spectral Compressionof Mesh Geometry [Karni & Gotsman, 00]

  16. modifies mesh priorto compression Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based Progressive GeometryCompression [Khodakovsky et al., 00]

  17. poly-soups; complexgeometric algorithms Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based Geometric Compressionfor interactive transmission [Devillers & Gandoin, 00]

  18. local coord-system +vector-quantization Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based Vertex data compressionfor triangle meshes [Lee & Ko, 00]

  19. Compression of engineeringmodels by repeated feature [Shikhare et al.,01] discovery certain 3D models +expensive matching Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based

  20. dihedral + internal =heavy trigonometry Compressing Vertex Positions • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based Angle-Analyzer: A triangle-quad mesh codec [Lee, Alliez & Desbrun,02]

  21. Linear Prediction Schemes

  22. integer floating point (1008,68,718) (1.2045,-0.2045,0.7045) Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

  23. use traversal order implied bythe connectivity coder Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

  24. prediction apply prediction rule (1004,71,723) Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

  25. corrector distribution position distribution 3500 70 3000 60 2500 50 2000 40 1500 30 1000 20 500 10 position prediction corrector 0 0 (1008,68,718) (1004,71,723) (4,-3,-5) Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

  26. P = A P A Deering, 95 Prediction: Delta-Coding processed region unprocessed region

  27. P = αA + βB + γC + δD + εE + … P A B C D E Taubin & Rossignac, 98 Prediction: Spanning Tree processed region unprocessed region

  28. P = A – B + C P A B C Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region

  29. Parallelogram Rule good prediction badprediction badprediction “non-convex” “non-planar”

  30. Not Triangles … Polygons! Face Fixer[Isenburg & Snoeyink,00]

  31. Non-triangular Faces Question: Why would a mesh have a non-triangular face?

  32. Non-triangular Faces Question: Why would a mesh have a non-triangular face? Answer: Because there was no reason to triangulate it! This face was “convex” and “planar”. use this info for better predictions

  33. “within” versus “across”  within-predictions avoid creases across-prediction within-prediction  within-predictions often find existing parallelograms ( quadrilaterals)

  34. Texture Coordinate Mappings

  35. textureimage textured mesh mesh Texture Mapping (1) “the process of applying a texture image to a mesh”

  36. Texture Mapping (2) “putting every 3D polygon of the mesh in correspondence with a2D polygon in the image”

  37. 3 3 3 3 5 5 5 5 5 5 Discontinuities in Mapping (1) “some vertices of the mesh havemultiple corresponding locations in texture space”

  38. 3 3 11 13 9 11 7 11 9 11 7 5 5 13 Discontinuities in Mapping (2) “vertices may have multiple associated texture coordinates”

  39. 0 0 smooth vertex crease vertex corner vertex 0 0 smooth corner crease corner Encoding the Mapping (1) 1. distinguish vertices 1 2. distinguish corners 0 1

  40. 1 27 Encoding the Mapping (2) 26 24 23 25

  41. 0 0 0 1 39 1 40 0 Encoding the Mapping (3) 37 38

  42. Why Discontinuities ? • cuts required to flatten mesh • no boundary • non-zero genus • piece-wise texture mapping • author / artist decision • easier for automated techniques • additional cuts to meet objectives • angle/area preserving parameterization • minimizing texture stretch

  43. Piece-wise Mappings (1)

  44. Piece-wise Mappings (2)

  45. CompressingTexture Coordinates

  46. Selective Linear Prediction • analyze neighborhood • use most promising predictor  “within” (for polygon meshes only)  “across”  “nearby”  “center” • avoid unreasonable predictions • compress with different contexts

  47. Unreasonable Predictions

  48. processed vertex ring 1 17 within-prediction T16– T11 + T13 Example Scenarios (1) 13 16 11

  49. 1 0 30 0 0 1 29 smooth edge across-prediction within-prediction T22– T25 + T26 T20– T19 + T21 Example Scenarios (2) 20 19 21 22 26 25

  50. processed vertex ring 1 57 crease edge nearby-prediction T50 Example Scenarios (3) 50 53 54 52 47 44

More Related