3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm

49
3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm Sridhar Lavu Masters Defense Electrical & Computer Engineering DSP Group Rice University September 2002

description

3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm. Sridhar Lavu Masters Defense Electrical & Computer Engineering. DSP Group. September 2002. Rice University. 3D Surfaces. Video games Animations - Bug’s Life, Toy Story 2 3D object modeling - CAD - PowerPoint PPT Presentation

Transcript of 3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm

Page 1: 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

Page 2: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

3D Surfaces

• Video games

• Animations - Bug’s Life, Toy Story 2• 3D object modeling - CAD• e-commerce

Page 3: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

3D Surfaces

• Geometry, color, texture• 3D scanning• Polygon meshes• Problem - large data sets• Geometry compression

100,000 triangles

Page 4: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Contribution

• 3D geometry coder• Multilevel representation

– Normal meshes

• EQ algorithm– Estimation-Quantization (EQ)– Local context information

• RD optimization

Page 5: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Related Work

• Zerotree coder for the wavelet coefficients of normal meshes

• RD optimization based quantization algorithm for the wavelet coefficients of meshes

Page 6: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Outline

• 3D surface data• Multilevel representation• Normal meshes• Wavelet transform• EQ algorithm• Error metrics• Results

Page 7: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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

Page 8: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Multilevel Representations

Original Coarse Multilevel triangular meshes

Original Normal meshes

Page 9: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Normal meshes

• Multilevel representation• Base mesh• Successively refine the mesh

– Subdivision

Page 10: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Subdivision

• Linear subdivision• Butterfly subdivision• Loop subdivision

Page 11: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Butterfly Subdivision

Page 12: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Normal Meshes

• Predict b and n• Find intersection• Store offset• 1 number per vertex

Page 13: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Wavelet Transforms

• Irregular data• Lifting scheme – predict and

update• Subdivision – predict step• Wavelet transforms

– Butterfly wavelet transform– Loop wavelet transform

Page 14: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Wavelet Transforms and Normal Meshes

Wavelet coefficients Non-normal vertices

Page 15: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Related Work - Zerotree

ZerotreesZerotree coding

Mesh zerotree

Meshzerotreecoding

EQ coding

Page 16: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Review

• Multilevel representations for meshes

• Normal meshes• Wavelet transforms

– Subdivision– Lifting

• Related work - ZT based algorithm• Contribution – EQ based algorithm

Page 17: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

3D EQ Coder

• Local context information• Model for wavelet coefficients

– Generalized Gaussian distribution

• EQ Algorithm– Estimate Step– Quantize Step– RD Optimization

Page 18: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Wavelet Coefficient Model

• Generalized Gaussian distribution

Page 19: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Wavelet Coefficient Model

• Generalized Gaussian (GGD) Shape Fixed at each level Variance Local neighborhood Mean Zero

Page 20: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

EQ Algorithm

• Scan the vertices– Estimate, quantize, encode

• Estimate step - variance– Local neighborhood– Causal neighborhood– Quantized neighbors

• Quantize step– Deadzone quantizer– RD optimization

Page 21: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

EQ Algorithm (cont.)

• RD optimization– Rate = -log(probability)– Distortion = MSE of coefficients

• Entropy coding– Arithmetic coder

Page 22: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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

Page 23: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Neighborhood

Page 24: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Ordering - Base Triangles

Page 25: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Ordering - Vertices

Page 26: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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

Page 27: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

• Error metrics• MSE ?• Hausdorff distance

• Min, max, mean, mean squared

Performance Measure

Page 28: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Results• Metric - PSNR • Bits-per-vertex (bpv)• Reconstructed mesh vs. original mesh• Metro and MeshDev software tools

Page 29: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Results - EQ vs. ZT

Page 30: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Results EQ vs. ZT(Lifted Butterfly)

Page 31: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Results - EQ vs. ZT(Loop Wavelets)

Page 32: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Results (Bounds)

• Upper bound– Complete context

• Lower bound– No context

Page 33: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Summary

• Multilevel representations• Normal meshes• Wavelet transforms• GGD model• Local context based coder• EQ vs. ZT

Page 34: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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)

Page 35: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm
Page 36: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Scaling Coefficients andConnectivity

• Scaling coefficients– Vertices of base mesh– Uniform quantization

• Connectivity– Semi-regular connectivity– Base mesh connectivity– TG Coder (lossless)

Page 37: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Lifting (Predict, Update)

Forward

Inverse

Page 38: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Lifting - Haar

• Split• Predict• Update

Page 39: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Loop Wavelet Transform

Page 40: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Causal Neighborhoods

Page 41: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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

Page 42: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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

Page 43: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Normal Predictable Set

Page 44: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Normal Unpredictable Set

Page 45: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Tangential Set

Page 46: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Hausdorff Distance

Page 47: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

Mesh Zerotree Coding

Page 48: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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

Page 49: 3D Geometry Coding  using Mixture Models and the Estimation Quantization Algorithm

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