Max-Plank Institut für Informatik systematic error parallelogram rule polygonal rules exact prediction Geometry Prediction for High Degree Polygons Martin Isenburg Stefan Gumhold Ioannis Ivrissimtzis Hans-Peter Seidel INFORMATIK
Compression real stuff – sleeping bags – compressed air polygon meshes – faster downloads / less storage – collaborative CAD – distribution of simulation results – archival of spare parts / history
Movies “Rustboy” animated short by Brian Taylor
Engineering “Audi A8” created by Roland Wolf
Architectural Visualization “Atrium” created by Karol Myszkowski and Frederic Drago
Product Catalogues “Bedroom set-model Assisi” created by Stolid
Historical Study scanning of “Michelangelo’s David” courtesy of Marc Levoy
Computer Games screen shot of “The village of Gnisis”, The Elder Scrolls III
– Efficient Rendering – Progressive Transmission – Maximum Compression Connectivity Geometry Properties Mesh Compression Geometry Compression [ Deering, 95 ] storage / network main memory Maximum Compression
Most Popular Coder Triangle Mesh Compression [ Touma & Gotsman, 98 ] M 54 S 66 6 connectivity with vertex degrees ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) geometry with corrective vectors
Coding Connectivity
Predicting Geometry
Not Triangles … Polygons! Face Fixer [ Isenburg & Snoeyink, 00 ]
Coding Polygon Connectivity Compressing Polygon Mesh Connectivity with Degree Duality … [ Isenburg, 02 ] same compression in primal and dual !!
Predicting Polygon Geometry Compressing Polygon Mesh Geometry with Parallelogram … [ Isenburg & Alliez, 02 ] but … does not work well in the dual !!
High Degree Polygons v2v2 v1v1 v0v0 v4v4 v2v2 v1v1 v0v0 v3v3 c 0 = c 1 = c 2 = c 3 = c 0 = 0.8 c 1 =-0.6 c 2 =-0.4 c 3 =1.2 v3v3 v4v4 c 0 = c 1 = c 2 = c 3 = c 4 = c 0 = v2v2 v1v1 v0v0 v3v3 v4v4 v5v5 v6v6 v2v2 v1v1 v3v3 v0v0 c 0 = 1.0 c 1 =-1.0 c 2 =1.0 polygonal rules: v p = c 0 v 0 + c 1 v 1 + … + c p-1 v p-1 v2v2 v1v1 v2v2 v1v1 v0v0 v3v3 v3v3 v0v0 v2v2 v1v1 v0v0 v3v3 v2v2 v1v1 v0v0 v3v3 parallelogram rule: v 3 = v 0 – v 1 + v 2
Overview Motivation Geometry Compression Frequency of Polygons Polygonal Prediction Rules Results Discussion INFORMATIK
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Geometry Compression [ Deering, 95 ] Geometric Compression through topological surgery [ Taubin & Rossignac, 98 ] Triangle Mesh Compression [ Touma & Gotsman, 98 ] Java3DMPEG - 4Virtue3D
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Spectral Compression of Mesh Geometry [ Karni & Gotsman, 00 ] expensive numerical computations
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Progressive Geometry Compression [ Khodakovsky et al., 00 ] modifies mesh prior to compression
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Geometric Compression for interactive transmission [ Devillers & Gandoin, 00 ] poly-soups; complex geometric algorithms
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Vertex data compression for triangle meshes [ Lee & Ko, 00 ] local coord-system + vector-quantization
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Angle-Analyzer: A triangle- quad mesh codec [ Lee, Alliez & Desbrun, 02 ] dihedral + internal = heavy trigonometry
Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates High-Pass Quantization for Mesh Encoding [ Sorkine et al., 03 ] basis transformation with Laplacian matrix
Linear Prediction Schemes 1. quantize positions with b bits 2. traverse positions 3. linear prediction from neighbors 4. store corrective vector ( , , ) ( 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 by the 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 vector position distribution corrector distribution ( 1004, 71, 723 )( 1008, 68, 718 ) position ( 4, -3, -5 ) correctorprediction
Deering, 95 Prediction: Delta-Coding A processed region unprocessed region P P = A
Taubin & Rossignac, 98 Prediction: Spanning Tree A B C D E processed region unprocessed region P P = α A + βB + γC + δD + εE + …
Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region P P = A – B + C A B C
“within”- predictions often find existing parallelograms ( i.e. quadrilateral faces ) “within” versus “across” “within”- predictions avoid creases within-prediction across-prediction
Overview Motivation Geometry Compression Frequency of Polygons Polygonal Prediction Rules Results Discussion INFORMATIK
Discrete Fourier Transform ( 1 ) where. The Discrete Fourier Transform ( DFT ) of a complex vector is a basis transform that is described by the matrix:
Discrete Fourier Transform ( 2 ) Here is the Fourier Transform of.
Discrete Fourier Transform ( 3 ) Rewriting the equation makes the change of basis more obvious. This basis is called the Fourier Basis. basis vectors
Geometric Interpretation v2v2 v1v1 v0v0 v3v3 v4v4
The parallelogram rule predicts the highest frequency to be zero: Predict with Low Frequencies v2v2 v1v1 v0v0 v3v3 v3v3 v2v2 v1v1 v0v0 v3v3 v3v3
Overview Motivation Geometry Compression Frequency of Polygons Polygonal Prediction Rules Results Discussion INFORMATIK
Eliminate High Frequencies ( 1 ) v3v3 v2v2 v1v1 v4v4 v0v0 v3v3 v5v5 v3v3 v2v2 v1v1 v4v4 v0v0 v3v3 v5v5
Eliminate High Frequencies ( 2 ) v2v2 v3v3 v1v1 v0v0 v4v4 v1v1 v0v0 v4v4 v2v2 v3v3
Eliminate High Frequencies ( 3 ) v1v1 v0v0 v4v4 v3v3 v2v2 v1v1 v0v0 v4v4 v3v3 v2v2
Computing the Coefficients given k of n points are known: 1. write polygon in Fourier basis 2. put n-k highest frequencies to zero 3. invert known sub-matrix 4. calculate prediction coefficients known points missing points
Example: n = 5, k = 3 v0v0 v1v1 v4v4 v2v2 v3v3 missing points v0v0 v1v1 v4v4 v2v2 v3v3 known points
Example: n = 5, k = 3 v0v0 v1v1 v4v4 v2v2 v3v3 missing points known points
Polygonal Predictors v2v2 v1v1 v0v0 v3v3 v2v2 v1v1 v0v0 v3v3 c 0 = 1.0 c 1 = c 2 = c 0 = 1.0 c 1 =-2.0 c 2 =2.0 v2v2 v1v1 v0v0 v3v3 c 0 = 1.0 c 1 = c 2 = v2v2 v1v1 v0v0 v3v3 c 0 = 1.0 c 1 = c 2 = three vertices are known v2v2 v1v1 v0v0 v4v4 v3v3 c 0 = c 1 = c 2 = c 3 = v3v3 v2v2 v0v0 v3v3 c 0 = 1.0 c 1 =-1.0 c 2 =1.0 c 3 =-1.0 c 4 =1.0 v4v4 v5v5 c 0 = c 1 = c 2 = c 3 = c 4 = c 5 = v2v2 v1v1 v0v0 v3v3 v4v4 v5v5 v6v6 v2v2 v1v1 v0v0 v3v3 v4v4 c 0 =1.0 c 1 =-1.0 c 2 =1.0 c 3 =-1.0 c 4 =1.0 c 5 =-1.0 c 6 = 1.0 v7v7 v5v5 v6v6 v1v1 one vertex is missing
Overview Motivation Geometry Compression Frequency of Polygons Polygonal Prediction Rules Results Discussion INFORMATIK
Test Set of Dual Meshes
Parallelogram vs. Polygonal
Prediction Rule Histogram hexagon heptagon pentagon octagon
Dual vs. Primal Compression ( coordinates quantized at 14 bits of precision )
Average Prediction Error
Overview Motivation Geometry Compression Frequency of Polygons Polygonal Prediction Rules Results Discussion INFORMATIK
Validation of Predictors eliminating the highest frequency in a mesh element – + + parallelogram predictor [ Touma & Gotsman, 98 ] + – + – + – + Lorenzo predictor [ Ibarria et al, 03 ]
Exact barycentric prediction after dualization polygons of even order have a highest frequency of zero
Thank You INFORMATIK