compressing texture coordinates martin isenburgjack snoeyink university of north carolina at chapel...
Post on 19-Dec-2015
218 Views
Preview:
TRANSCRIPT
CompressingTexture Coordinates
Martin Isenburg Jack SnoeyinkUniversity of North Carolina at Chapel Hill
with h
Selective LinearPredictions
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.”
Overview
• Background
• Compressing Vertex Positions
• Linear Prediction Schemes
• Texture Coordinate Mappings
• Compressing Texture Coordinates
• Alternative Approaches
• Summary
Meshes - Basic Ingredients
• connectivity
• geometry
face1 1 2 3 4face2 3 4 3face3 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 - Optional Properties
• mapping
• values
face1 1 2 3 4face2 3 4 5face3 5 6 1 7
facef 9152 123 271
texcoord1 ( u1 v1 )texcoord2 ( u2 v2 )texcoord3 ( u3 v3 )
texcoordt ( ut vt )
• – Fast Rendering
– Progressive Transmission
– Maximum Compression
• Geometry Compression [Deering, 95]
Mesh Compression
Maximum Compression
• Geometry Compression [Deering, 95]– Fast Rendering
– Progressive Transmission
– Maximum Compression• Connectivity
• Geometry
• Properties
Geometry Compression [Deering, 95]
Mesh Compression
Properties
Maximum Compression
• 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
NormalsColorsMaterial AttributesTexture CoordinatesTexture Coordinates
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
Generalization of TG coder
• ConnectivityCompressing 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
Compressing Vertex Positions
• 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
Compressing Vertex Positions
• Classic approaches [95 – 98]:– linear prediction
• Recent approaches [00 – 02]:– spectral
– re-meshing
– space-dividing
– vector-quantization
– feature discovery
– angle-based
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]
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
Progressive GeometryCompression
[Khodakovsky et al., 00]
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
Geometric Compressionfor interactive transmission
[Devillers & Gandoin, 00]
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
Vertex data compressionfor triangle meshes
[Lee & Ko, 00]
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
certain 3D models +expensive matching
Compression of engineeringmodels by repeated feature
[Shikhare et al., 01]discovery
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
Linear Prediction Schemes
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
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 bythe connectivity coder
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
Linear Prediction Schemes
1. quantize positions with b bits
2. traverse positions
3. linear prediction from neighbors
4. store corrective vector0
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
Taubin & Rossignac, 98
Prediction: Spanning Tree
A
BC D
E
processed regionunprocessed region
P
P = αA + βB + γC + δD + εE + …
Touma & Gotsman, 98
Prediction: Parallelogram Rule
processed regionunprocessed region
P
P = A – B + C
A
BC
Non-triangular Faces
Question: Why would a mesh have
a non-triangular face?Answer: Because there was noreason to triangulate it!
This face was “convex”and “planar”.
use this info for better predictions
within-predictions often find existing parallelograms ( quadrilaterals)
“within” versus “across”
within-predictions avoid creases
within-predictionacross-prediction
Texture Mapping (1)
“the process of applying a texture image to a mesh”
mesh textured meshtextureimage
Texture Mapping (2)
“putting every 3D polygon of the mesh in correspondence with a
2D polygon in the image”
“some vertices of the mesh havemultiple corresponding locations in
texture space”
Discontinuities in Mapping (1)
3
5
5
5
3
3
5
5
5
3
13
9711
11
11
Discontinuities in Mapping (2)
“vertices may have multiple associated texture coordinates”
3
3 5
5
9
11
7
13
creasecorner
0smoothcorner
0
Encoding the Mapping (1)
1. distinguish vertices
2. distinguish corners
smoothvertex
creasevertex
cornervertex
1 0 0
0 1
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
Selective Linear Prediction
• analyze neighborhood
• use most promising predictor “within” (for polygon meshes only) “across” “nearby” “center”
• avoid unreasonable predictions
• compress with different contexts
Example Scenarios (2)
0
1
1
00
29
30
21
19
20
22
2526
smooth edge
within-prediction
T20 – T19 + T21
across-prediction
T22 – T25 + T26
Example Scenarios (4)
011
00
0
82
83
81
8074
within-prediction
T81 – T74 + T80
center-prediction
BBmid
Example Bit-Rates (10 bit)
within
by prediction typemodel across nearby center
-.- 7.5 9.8 18.9-.- 8.3 10.3 19.0-.- 7.3 10.7 18.3
“1398”“1412”“1510”
9.5
10.49.9
lionwolf
raptor
5.6 8.5 9.7 20.2
5.9 9.1 11.1 20.25.5 8.4 8.9 19.5
total
6.36.66.3
Selection Histogram
within
frequency of prediction typemodel across nearby center
-.- 55 % 35 % 10 %-.- 49 % 39 % 12 %-.- 53 % 36 % 11 %
“1398”“1412”“1510”
lionwolf
raptor
82 % 14 % 3 % 1 %
84 % 13 % 2 % 1 %78 % 18 % 5 % 1 %
Alternative Approaches
“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)
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
Summary (2)
• compressionsoftware asbenchmarkfor futureresearch isavailable onthe Web
http://www.cs.unc.edu/~isenburg/pmc/locallink
top related