1 / 60

Compressing the Property Mapping of Polygon Meshes

Compressing the Property Mapping of Polygon Meshes. Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill. 3. 6. 7. 6. 7. 2. 0. 0. 3. 1. 2. 1. 4. 5. 5. Polygon Meshes. 6. 7. 0. 3. 1. 2. 4. 5. Polygon Meshes. connectivity. 5. face 0 0 1 2 3. 3.

Download Presentation

Compressing the Property Mapping of Polygon Meshes

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. Compressing the Property Mapping of Polygon Meshes Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill

  2. 3 6 7 6 7 2 0 0 3 1 2 1 4 5 5 Polygon Meshes

  3. 6 7 0 3 1 2 4 5 Polygon Meshes connectivity 5 face0 0 1 2 3 3 face1 3 2 5 7 face2 1 4 5 2 4 1 0 face3 6 0 3 7 2 face4 6 4 1 0 face5 6 7 5 4

  4. Connectivity Compression recent compressionresults report improvements of ~ 10.98 % ~ 0.22 b/v on compression rates of ~ 2.32 b/v

  5. 10 11 11 10 8 5 0 3 12 13 3 0 0 3 11 10 1 2 1 2 1 2 5 8 0 3 9 4 6 7 2 4 13 1 9 12 6 7 Properties

  6. Properties property mapping 5 10 11 11 10 face0 0 1 2 3 3 8 5 0 3 face1 3 2 4 5 3 0 0 3 face2 1 6 7 2 4 1 0 1 2 1 2 face3 10 0 3 11 1 2 2 face4 8 9 1 0 9 4 6 7 face5 10 11 13 12 13 12

  7. Property Mapping (1) Mesh properties can be attached “per-vertex” • # of Bones • Bone IDs • Bone Weights

  8. Property Mapping (2) Mesh properties can be attached “per-face” • Shader IDs

  9. Property Mapping (3) Mesh properties can be attached “per-corner” • Normals • TexCoords • Colors

  10. ?    ?   ? ?  ?  ?               ?    ?  ?   Definitions (1)

  11. smooth corner crease corner smooth vertex crease vertex corner vertex smooth edge crease edge blend edge Definitions (2)

  12. Previous Work • Gumhold & Strasser: “edge bits”Real-time compression of triangle mesh connectivity, SIGGRAPH, 1998 • Taubin et al: “discontinuity bits”Geometry coding and VRML, Proceedings of the IEEE, 1998 • Isenburg & Snoeyink: “vertex and corner bits”Face Fixer: Compressing Polygon Mesheswith Properties, SIGGRAPH, 2000

  13. Corner and Vertex Bits 1

  14. Corner and Vertex Bits 1 0 0

  15. Corner and Vertex Bits 1 0 0 1

  16. Corner and Vertex Bits 1 0 0 0 1

  17. Corner and Vertex Bits 1 1 0 0 0 1

  18. Corner and Vertex Bits 1 0 1 1 0 0 0 1

  19. Corner and Vertex Bits 1 0 0 1 1 0 0 0 1

  20. Corner and Vertex Bits 1 0 0 0 1 1 0 0 0 1

  21. Corner and Vertex Bits 1 0 1 0 0 1 1 0 0 0 1

  22. Corner and Vertex Bits 0 1 0 1 0 0 1 1 0 0 0 1

  23. Corner and Vertex Bits 0 0 1 0 1 0 0 1 1 0 0 0 1

  24. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1

  25. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1

  26. Corner and Vertex Bits 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1

  27. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1

  28. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1

  29. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1

  30. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 1

  31. Corner and Vertex Bits 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1

  32. Corner and Vertex Bits 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1

  33. Corner and Vertex Bits 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1

  34. Improve the Coding improve the vertex & corner bit approach: • Don’t write all bits!  Rules R1 toR4 • Try to predict the remaining bits!  Predictions P1 toP4

  35. Rules • some bit configurations cannot occur not all bits are needed, because some can be inferred • four simple rules: • rule R1 saves vertex bits • rules R2, R3, and R4 save corner bits

  36. Rule R1 marks current vertex and current corner ? ? if a vertex has only one corner, then it must be a smooth vertex  saves 1 vertex bit

  37. Rule R2 currentlyprocessed bit (s) ? 0 0 ? ? ? vertex bit if a crease vertex has only two corners, then both of them must be crease corners  saves 2 corner bits

  38. Rule R3 alreadyprocessed corners 0 ? 1 0 0 0 0 0 0 ? 0 1 each crease vertex must have at least two crease corners, this has only one so far  saves 1 corner bit

  39. Rule R4 0 ? 0 ? 0 0 0 0 0 ? 0 ? corner bits each crease vertex must have at least two crease corners, this has none so far  saves 2 corner bits

  40. Predictions • some bit configurations are more likely than others fewer bits are needed, because many can predicted correctly • eight simple predictions: • predictions P1 and P2 for vertex bits • predictions P3 to P8 for corner bits

  41. Prediction P1 1 0 1 0 0 0 0 0 1 1 0 ? ? previouslyprocessed vertex some edge connects to a previously processed vertex along a crease  assume crease edge  predict vertex bit: 0

  42. Prediction P2 ? ? 1 0 0 0 0 0 1 1 otherwise  assume nothing  predict nothing

  43. Prediction P3 1 0 1 0 0 0 0 0 ? 1 ? 1 0 0 0 1 0 0 previouslyprocessed vertex the current edge connects to a previously processed vertex along a crease  assume crease edge  predict corner bit: 1

  44. Prediction P4 0 1 0 0 0 ? currentedge 1 ? 1 1 0 0 0 0 0 1 1 the current edge connects to a previously processed vertex, but not along a crease  assume smooth edge  predict corner bit: 0

  45. Prediction P5 creasecorners 0 1 1 ? 0 0 ? 0 1 0 1 there have been already two (or more) crease corners  assume crease vertex  predict corner bit: 0

  46. degree-1 2 Prediction P6 0 ? 1 1 ? 0 0 0 smoothcorner there has been one crease, but since then less than smooth corners  assume crease vertex  predict corner bit: 0

  47. degree-1 2 Prediction P7 0 ? 1 0 0 0 0 0 ? 0 there have been already preceding smooth corners  assume crease vertex  predict corner bit: 1

  48. Prediction P8 currently processed bit 0 0 0 ? ? 0 otherwise  assume nothing  predict nothing

  49. # of 0s # of 1s p0 = p1 = n n Entropy For a sequence of n bits givenp0 : probability of bit 0 occurringp1 : probability of bit 1 occurring Entropy = - n (p0log2(p0) + p1log2(p1))

  50. # of 0s given C # of 1s given C p0|C = p1|C = # times given C # times given C Entropy with Context For a sequence of n bits givenp0|C : probability of bit 0 occurring given Cp1|C : probability of bit 1 occurring given C Entropy = - n (p0|C log2(p0|C) + p1|C log2(p1|C)) C

More Related