3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm
description
Transcript of 3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm
3D Geometry Coding using
Mixture Models andthe Estimation Quantization
AlgorithmSridhar Lavu
Masters DefenseElectrical & Computer Engineering
DSP Group Rice UniversitySeptember 2002
3D Surfaces
• Video games
• Animations - Bug’s Life, Toy Story 2• 3D object modeling - CAD• e-commerce
3D Surfaces
• Geometry, color, texture• 3D scanning• Polygon meshes• Problem - large data sets• Geometry compression
100,000 triangles
Contribution
• 3D geometry coder• Multilevel representation
– Normal meshes
• EQ algorithm– Estimation-Quantization (EQ)– Local context information
• RD optimization
Related Work
• Zerotree coder for the wavelet coefficients of normal meshes
• RD optimization based quantization algorithm for the wavelet coefficients of meshes
Outline
• 3D surface data• Multilevel representation• Normal meshes• Wavelet transform• EQ algorithm• Error metrics• Results
3D geometry data
• Geometry• Polygon meshes• Geometry & connectivity
Geometry0.0 0.0 0.01.0 0.0 0.01.0 1.0 0.00.0 1.0 0.00.5 0.5 1.0
Connectivity0 1 22 3 10 1 41 2 42 3 43 0 4
Multilevel Representations
Original Coarse Multilevel triangular meshes
Original Normal meshes
Normal meshes
• Multilevel representation• Base mesh• Successively refine the mesh
– Subdivision
Subdivision
• Linear subdivision• Butterfly subdivision• Loop subdivision
Butterfly Subdivision
Normal Meshes
• Predict b and n• Find intersection• Store offset• 1 number per vertex
Wavelet Transforms
• Irregular data• Lifting scheme – predict and
update• Subdivision – predict step• Wavelet transforms
– Butterfly wavelet transform– Loop wavelet transform
Wavelet Transforms and Normal Meshes
Wavelet coefficients Non-normal vertices
Related Work - Zerotree
ZerotreesZerotree coding
Mesh zerotree
Meshzerotreecoding
EQ coding
Review
• Multilevel representations for meshes
• Normal meshes• Wavelet transforms
– Subdivision– Lifting
• Related work - ZT based algorithm• Contribution – EQ based algorithm
3D EQ Coder
• Local context information• Model for wavelet coefficients
– Generalized Gaussian distribution
• EQ Algorithm– Estimate Step– Quantize Step– RD Optimization
Wavelet Coefficient Model
• Generalized Gaussian distribution
Wavelet Coefficient Model
• Generalized Gaussian (GGD) Shape Fixed at each level Variance Local neighborhood Mean Zero
EQ Algorithm
• Scan the vertices– Estimate, quantize, encode
• Estimate step - variance– Local neighborhood– Causal neighborhood– Quantized neighbors
• Quantize step– Deadzone quantizer– RD optimization
EQ Algorithm (cont.)
• RD optimization– Rate = -log(probability)– Distortion = MSE of coefficients
• Entropy coding– Arithmetic coder
Normal vs. Tangential
• Smooth surfaces• Global error contribution
– Normal Higher– Tangential Lower
• Precision
– Normal Higher Lower – Tangential Lower Higher
• Most tangential components are zero– Single quantizer per level
Neighborhood
Ordering - Base Triangles
Ordering - Vertices
Summary of EQ Algorithm
• Pick • Determine ordering
– Ordering of base triangles– Ordering inside each base triangle
• Local causal neighborhood
• Estimate • Quantize using RD optimization• Normal vs. tangential
• Error metrics• MSE ?• Hausdorff distance
• Min, max, mean, mean squared
Performance Measure
Results• Metric - PSNR • Bits-per-vertex (bpv)• Reconstructed mesh vs. original mesh• Metro and MeshDev software tools
Results - EQ vs. ZT
Results EQ vs. ZT(Lifted Butterfly)
Results - EQ vs. ZT(Loop Wavelets)
Results (Bounds)
• Upper bound– Complete context
• Lower bound– No context
Summary
• Multilevel representations• Normal meshes• Wavelet transforms• GGD model• Local context based coder• EQ vs. ZT
Conclusion & Future Work
• Conclusions– GGD model + EQ algorithm– 0.5 – 1 dB gain
• Future work– Vertex based error for RD optimization
• New algorithms– Space-Frequency quantization (SFQ)
Scaling Coefficients andConnectivity
• Scaling coefficients– Vertices of base mesh– Uniform quantization
• Connectivity– Semi-regular connectivity– Base mesh connectivity– TG Coder (lossless)
Lifting (Predict, Update)
Forward
Inverse
Lifting - Haar
• Split• Predict• Update
Loop Wavelet Transform
Causal Neighborhoods
EQ – Unpredictable sets
• Empty causal neighborhood• Zero estimate• Classify as unpredictable (U) set• Model U set as zero-mean GGD• Use a single and for U set
EQ – Threshold step
• Iteration of E and Q steps• First iteration• Threshold coefficients• Partition U and P sets• Estimate and • Use estimates in next iteration
Normal Predictable Set
Normal Unpredictable Set
Tangential Set
Hausdorff Distance
Mesh Zerotree Coding
Results – Venus PSNR
BPV 0.25 0.5 1.0 2.0 3.0 4.0
EQ lifted BW 63.7 68.6 74.2 79.2 81.7 83.2
ZT lifted BW 63.0 68.2 73.7 78.9 81.7 81.9
EQ unlifted BW 63.5 68.6 74.1 78.9 81.4 83.0
ZT unlifted BW 62.4 67.8 73.0 78.4 81.2 81.5
EQ Loop Wavelet 60.0 65.3 71.3 76.4 79.4 81.4
ZT Loop Wavelet 60.9 66.1 71.8 77.1 79.7 79.7
Results – Rabbit PSNR
BPV 0.25 0.5 1.0 2.0 2.5 3.0
EQ lifted BW 70.3 75.7 80.9 84.2 85.1 85.6
ZT lifted BW 69.3 75.1 80.9 84.0 84.1 84.1
EQ unlifted BW 70.0 75.3 80.6 84.0 85.0 85.5
EQ unlifted BW 68.7 74.7 80.4 83.6 83.6 83.6