Presentation is loading. Please wait.

Presentation is loading. Please wait.

Compressing Polygon Mesh Connectivity

Similar presentations


Presentation on theme: "Compressing Polygon Mesh Connectivity"— Presentation transcript:

1 Compressing Polygon Mesh Connectivity
with Degree Duality Prediction Martin Isenburg University of North Carolina at Chapel Hill

2 Overview Background Connectivity Compression Coding with Degrees
Duality Prediction Adaptive Traversal Example Run Conclusion

3 Background

4 Polygon Meshes connectivity geometry :k ~ 4 :k ~ 6 face1 1 2 3 4
k v log2 (v) :k ~ :k ~ 6 face face face facef The connectivity, super-linear … can be compressed constant. The geometry, linear, quantization, predictive techiques Here the vertices can be ordered arbitrarily, as long as they are referenced correctly. 4 24 ~ 96 v vertex1 ( x, y, z ) vertex2 ( x, y, z ) vertex3 ( x, y, z ) vertexv 5

5 Mesh Compression Maximum Compression Connectivity Polygon Meshes
Geometry Compression [Deering, 95] Fast Rendering Progressive Transmission Maximum Compression Geometry Connectivity Triangle Meshes Polygon Meshes Maximum Compression Connectivity Polygon Meshes

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

7 Results 2.115 1.189 44 % model gain triceratops galleon cessna …
bits per vertex (bpv) model gain triceratops galleon cessna tommygun cow teapot Face Fixer Degree Duality 2.115 2.595 2.841 2.213 1.669 1.189 2.093 2.543 1.781 1.127 44 % 19 % 11 % % 20 % 33 % min / max / average gain [%] = 11 / 55 / 26

8 Connectivity Compression

9 Connectivity Compression
assumption order of vertices does not matter advantage no need to “preserve” indices approach code only the “connectivity graph” re-order vertices appropriately

10 Connectivity Graphs connectivity of simple meshes is homeomorphic to planar graph  enumeration  asymptotic bounds [William Tutte 62 / 63] number of planar triangulations with v vertices << 3.24 bpv 6 log2 (v) bpv

11 Spanning Tree  extends to meshes of non-zero genus
Succinct Representations of Graphs [Turan, 84] Short encodings of planar graphs and maps [Keeler & Westbrook, 95] Geometric Compression through Topological Surgery [Taubin & Rossignac, 98] explicitly encode both spanning trees  extends to meshes of non-zero genus

12 Region Growing Triangle Mesh Compression [Touma & Gotsman, 98]
Cut-Border Machine [Gumhold & Strasser, 98] Edgebreaker [Rossignac, 99] Simple Sequential Encoding [de Floriani et al., 99] Dual Graph Approach [Lee & Kuo, 99] Face Fixer [Isenburg & Snoeyink, 00] Classified into three main approaches similarities Grow boundaries on the mesh ! Include face after face ! Describe change of boundary ! differences What is a boundary ? How can including a face change the boundaries ?

13 Classification code symbols are associated with edges, faces, or vertices: boundary focus edge-based processed region unprocessed region boundary focus face-based boundary focus vertex-based We use the mesh element with which the description of a boundary change can be associated with to classify them as “face-based”, “edge-based, and “vertex-based”.

14 Edge-Based Compression Schemes

15 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessed region focus . . . F F R

16 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessed region F . . . F F R F

17 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
Face Fixer, [Isenburg & Snoeyink, 00] processed region F unprocessed region F . . . F F R F F

18 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
Face Fixer, [Isenburg & Snoeyink, 00] processed region R F unprocessed region F . . . F F R F F R

19 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
Face Fixer, [Isenburg & Snoeyink, 00] processed region F R F unprocessed region F . . . F F R F F R F

20 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
Face Fixer, [Isenburg & Snoeyink, 00] processed region R F R F unprocessed region F . . . F F R F F R F R

21 Edge-Based Dual Graph Approach, [Lee & Kuo, 99]
? ? ? ? ? Dual Graph Approach, [Lee & Kuo, 99] Face Fixer, [Isenburg & Snoeyink, 00] processed region R F F R F unprocessed region F . . . . . . F F R F F R F R F 5 . . . 4 3 6

22 Face-Based Compression Schemes

23 Face-Based Cut-Border Machine, [Gumhold & Strasser, 98]
Edgebreaker, [Rossignac, 99] processed region unprocessed region focus . . . C R

24 Face-Based Cut-Border Machine, [Gumhold & Strasser, 98]
Edgebreaker, [Rossignac, 99] processed region unprocessed region C . . . C R C

25 Face-Based Cut-Border Machine, [Gumhold & Strasser, 98]
Edgebreaker, [Rossignac, 99] processed region R unprocessed region C . . . C R C R

26 Face-Based Cut-Border Machine, [Gumhold & Strasser, 98]
Edgebreaker, [Rossignac, 99] processed region R R unprocessed region C . . . C R C R R

27 Face-Based Cut-Border Machine, [Gumhold & Strasser, 98]
? ? ? ? ? Cut-Border Machine, [Gumhold & Strasser, 98] Edgebreaker, [Rossignac, 99] processed region R C R unprocessed region C . . . . . . C R C R R C 5 . . . 4 3 6

28 Vertex-Based Compression Schemes

29 Vertex-based Triangle Mesh Compression, [Touma & Gotsman, 98] . . . 6
processed region unprocessed region Processing a face means focus . . . 6

30 Vertex-based Triangle Mesh Compression, [Touma & Gotsman, 98] . . . 5
processed region 5 unprocessed region . . . 6 5

31 Vertex-based Triangle Mesh Compression, [Touma & Gotsman, 98] . . . 5
processed region 5 unprocessed region . . . 6 5

32 Vertex-based Triangle Mesh Compression, [Touma & Gotsman, 98] . . . 5
processed region 5 unprocessed region . . . 6 5

33 Vertex-based Triangle Mesh Compression, [Touma & Gotsman, 98] . . .
? ? ? ? ? Triangle Mesh Compression, [Touma & Gotsman, 98] processed region 6 5 unprocessed region . . . 6 5 6 . . . 5 . . . 4 3 6

34 Coding with Vertex and Face Degrees

35 Coding with Degrees while ( unprocessed faces ) move focus to a face  face degree for ( free vertices )  case switch ( case ) “add”:  vertex degree “split”:  offset “merge”:  index, offset

36 Example Traversal Their scheme grows a region on the mesh by including triangle after triangle into the compression boundary. Three cases can arise: A new vertex is added, the boundary is split, or two boundaries are merged. The decoder simply replays what happens during encoding. The only data structure that need to be maintained by are these compression boundaries.

37 “add” free vertex . . . . . . focus (widened) 3 exit focus end slot
boundary focus (widened) focus 3 processed region exit focus end slot unprocessed region free vertices 5 boundary slots 4 start slot . . . 4 5 3 4 3 4 3 . . . 5 4 4 5

38 free vertex “splits” boundary
unprocessed region S split offset focus processed region . . . 4 5 3 4 3 . . . 5 4 4

39 free vertex “merges” boundary
boundary in stack unprocessed region stack focus processed region M merge offset processed region . . . 4 5 3 4 3 . . . 5 4 4

40 Resulting Code two symbol sequences compress with arithmetic coder
vertex degrees (+ “split” / “merge”) face degrees compress with arithmetic coder  converges to entropy . . . 4 3 4 4 4 6 5 S M 4 4 . . . . . . 3 4 4 4 5 4 4 4 6 4 4 4 . . .

41  Entropy for a symbol sequence of t types 1
Entropy = pi • log2( ) bits pi 0.2 bits i = 1 # of type t pi = 1.3 bits # total 2.0 bits

42 Average Distributions
add merge split case 3 4 5 6 7 8 9+ face degrees 2 3 4 5 6 7 8 9+ vertex degrees

43 Adaptation to Regularity
6 vertex degrees face degrees 3 ... 3 vertex degrees face degrees 6 ... 4 vertex degrees face degrees ...

44 “Worst-case” Distribution
3 3 i = 3 pi = 1 [Alliez & Desbrun, 01]  3.241… bpv [Tutte, 62] 4 i = 3 i • pi = 6 5 6 7 8 9 vertex degrees   face degrees

45 Compressing with Duality Prediction

46 Degree Correlation high-degree faces are “likely” to be surrounded by low-degree vertices and vice-versa  mutual degree prediction

47 Face Degree Prediction
fdc  3.3 3.3  fdc  4.3 4.3  fdc  4.9 4.9  fdc 3 focus (widened) 4 3 average degree of focus vertices fdc = = 3.333 3 “face degree context”

48 Vertex Degree Prediction
vdc  6 vdc = 3 vdc = 4 vdc = 5 4 5 3 6 6 degree of focus face vdc = 6 “vertex degree context”

49 Compression Gain 1.192 1.189 model triceratops galleon cessna …
without with model triceratops galleon cessna tommygun cow teapot bits per vertex bits per vertex 1.192 2.371 2.811 1.781 1.632 1.189 2.093 2.543 1.781 1.127 min / max / average gain [%] = 0 / 31 / 17

50 Reducing the Number of Splits

51 Occurance of “splits”

52 Occurance of “splits”

53 Occurance of “splits”

54 Occurance of “splits”

55 Occurance of “splits” unprocessed region processed region

56 Occurance of “splits” unprocessed region processed region

57 Occurance of “splits” unprocessed region processed region

58 Occurance of “splits” unprocessed region processed region

59 Occurance of “splits” unprocessed region split processed region

60 Adaptive Traversal Valence-driven connectivity encoding for 3D meshes [Alliez & Desbrun, 01]  avoid creation of cavities exit focus focus

61 Compression Gain model triceratops galleon cessna … tommygun cow
without with model triceratops galleon cessna tommygun cow teapot … … splits … … bpv splits bpv min / max / average gain [%] = 4 / 23 / 10

62 Example Decoding Run

63 Example Decoding Run 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

64 Example Decoding Run 4 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

65 Example Decoding Run . . . . . . focus 6 4 6 6 3 3 4 5 4 5 4 4 2 4 4 3

66 Example Decoding Run . . . . . . 3 free vertex 4 6 6 3 3 4 5 4 5 4 4 2

67 Example Decoding Run . . . . . . exit focus 6 4 6 6 3 3 4 5 4 5 4 4 2

68 Example Decoding Run . . . . . . free vertices 5 4 6 6 3 3 4 5 4 5 4 4
2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

69 Example Decoding Run 3 5 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

70 Example Decoding Run 3 5 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

71 Example Decoding Run . . . . . . exit focus 4 4 6 6 3 3 4 5 4 5 4 4 2

72 Example Decoding Run 4 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

73 Example Decoding Run 5 4 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

74 Example Decoding Run . . . . . . 4 exit focus 4 6 6 3 3 4 5 4 5 4 4 2

75 Example Decoding Run . . . . . . 5 3 end slot focus (widened)
start slot 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

76 Example Decoding Run 4 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

77 Example Decoding Run . . . . . . exit focus 4 5 4 6 6 3 3 4 5 4 5 4 4
2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

78 Example Decoding Run . . . . . . focus (widened) 4 6 6 3 3 4 5 4 5 4 4
2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

79 Example Decoding Run 4 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

80 Example Decoding Run . . . . . . exit focus focus 4 4 6 6 3 3 4 5 4 5
2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

81 Example Decoding Run 3 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

82 Example Decoding Run . . . . . . 4 exit focus 4 6 6 3 3 4 5 4 5 4 4 2

83 Example Decoding Run . . . . . . focus (widened) 4 6 6 3 3 4 5 4 5 4 4
2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

84 Example Decoding Run 6 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

85 Example Decoding Run 2 6 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

86 Example Decoding Run 4 6 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

87 Example Decoding Run . . . . . . 4 exit focus 4 6 6 3 3 4 5 4 5 4 4 2

88 Example Decoding Run . . . . . . focus (widened) 4 6 6 3 3 4 5 4 5 4 4
2 4 4 . . . 3 3 5 . . . 4 4 4 6 5

89 Example Decoding Run . . . 5 4 6 6 3 3 4 5 4 5 4 4 2 4 4 . . . 3 3 5 5 . . . 4 4 4 6

90 Conclusion

91 Summary degree coding for polygonal connectivity duality prediction
adaptive traversal proof-of-concept implementation using Shout3D

92 Similar Result Near-Optimal Connectivity Coding of 2-manifold polygon meshes [Khodakovsky, Alliez, Desbrun, Schröder]  analysis of worst-case face degree and vertex degree distribution entropy  Tutte’s bounds Martin  France

93 Current Work (w. Pierre Alliez)
use polygons for better predictive geometry coding extend degree coding to volume mesh connectivity “fairly planar & convex” “edge degrees”

94 Thank You!


Download ppt "Compressing Polygon Mesh Connectivity"

Similar presentations


Ads by Google