Download presentation
Presentation is loading. Please wait.
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/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.