Presentation is loading. Please wait.

Presentation is loading. Please wait.

Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions.

Similar presentations


Presentation on theme: "Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions."— Presentation transcript:

1 Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions

2 Take this home: “We predict texture coordinates with 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 Meshes - Basic Ingredients connectivity geometry face 1 1 2 3 4 face 2 3 4 3 face 3 5 2 1 3 face f 725 6291 6293 vertex 1 ( x 1 y 1 z 1 ) vertex 2 ( x 2 y 2 z 2 ) vertex 3 ( x 3 y 3 z 3 ) vertex v ( x v y v z v )

6 Meshes - Optional Properties mapping values face 1 1 2 3 4 face 2 3 4 5 face 3 5 6 1 7 face f 9152 123 271 texcoord 1 ( u 1 v 1 ) texcoord 2 ( u 2 v 2 ) texcoord 3 ( u 3 v 3 ) texcoord t ( u t v t )

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

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

9 Geometry Compression [ Deering, 95 ] – Fast Rendering – Progressive Transmission – Maximum Compression Connectivity Geometry Properties – Mapping – Values Geometry Compression [ Deering, 95 ] Mesh Compression Properties Values Maximum Compression Normals Colors Material Attributes Texture Coordinates Texture Coordinates

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

11 Generalization of TG coder Connectivity Compressing Polygon Mesh Connectivity with Degree Duality Prediction [ Isenburg, 02 ] Near-optimal connectivity coding of Polygonal Meshes [ Khodakovsky et al, 02 ] Compressing Polygon Mesh Geometry with Parallelogram Prediction [ Isenburg & Alliez, 02 ] Geometry

12 Compressing Vertex Positions

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

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 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 Compression of Mesh Geometry [ Karni & Gotsman, 00 ] expensive numerical computations

16 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 Geometry Compression [ Khodakovsky et al., 00 ] modifies mesh prior to compression

17 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 Compression for interactive transmission [ Devillers & Gandoin, 00 ] poly-soups; complex geometric algorithms

18 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 compression for triangle meshes [ Lee & Ko, 00 ] local coord-system + vector-quantization

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

20 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 ] dihedral + internal = heavy trigonometry

21 Linear Prediction Schemes

22 1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector ( 1.2045, -0.2045, 0.7045 ) ( 1008, 68, 718 ) floating point integer

23 Linear Prediction Schemes 1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector use traversal order implied by the connectivity coder

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

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

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

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

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

29 Parallelogram Rule good prediction bad prediction “non-convex” bad prediction “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-predictions often find existing parallelograms (  quadrilaterals ) “within” versus “across”  within-predictions avoid creases within-prediction across-prediction

34 Texture Coordinate Mappings

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

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

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

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

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

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

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

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 Compressing Texture 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 Example Scenarios (1) processed vertex ring 1 17 16 11 13 within-prediction T 16 – T 11 + T 13

49 Example Scenarios (2) 0 1 1 0 0 29 30 21 19 20 22 25 26 smooth edge within-prediction T 20 – T 19 + T 21 across-prediction T 22 – T 25 + T 26

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

51 Example Scenarios (4) 0 1 1 0 0 0 82 83 81 80 74 within-prediction T 81 – T 74 + T 80 center-prediction BB mid

52 Example Bit-Rates ( 10 bit ) within by prediction type model acrossnearbycenter -.-7.59.818.9 -.-8.310.319.0 -.-7.310.718.3 “1398” “1412” “1510” 9.5 10.4 9.9 lion wolf raptor 5.68.59.720.2 5.99.111.120.2 5.58.48.919.5 total 6.3 6.6 6.3

53 Selection Histogram within frequency of prediction type model acrossnearbycenter -.-55 %35 %10 % -.-49 %39 %12 % -.-53 %36 %11 % “1398” “1412” “1510” lion wolf raptor 82 %14 %3 %1 % 84 %13 %2 %1 % 78 %18 %5 %1 %

54 Alternative Approaches

55 “make texture coordinates implicit ” change the mesh (re-meshing) Geometry Images [ Gu et al, 02 ] Bounded Distortion piece-wise Mesh Parameterization [ Sorkine et al, 02 ] Space-Optimized Texture Maps [ Balmelli et al, 02 ] change the image (re-texturing)

56 Summary & Acknowledgments

57 Summary (1) use the parallelogram predictor for texture coordinates avoid unreasonable predictions across discontinuities (“seams”) switch to less-promising predictor compress resulting corrective vectors with separate arithmetic contexts

58 Summary (2) compression software as benchmark for future research is available on the Web http://www.cs.unc.edu/~isenburg/pmc/ local link

59 Acknowledgments Archaeology Technology Labs, North Dakota State University Curious Labs, California

60 Thank You! http://www.cs.unc.edu/~isenburg/pmc/


Download ppt "Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions."

Similar presentations


Ads by Google