SLIDE 1 Encoding Normal Vectors using Optimized Spherical Coordinates
- J. Smith, G. Petrova, S. Schaefer
Texas A&M University
SLIDE 2
Motivation
SLIDE 3
Motivation
SLIDE 4
Motivation
SLIDE 5
Motivation
SLIDE 6 Normal Vectors
- On floating-point normal vectors [Meyer et al. 2010]
– 96 bit vectors redundant – Only 51 bits are sufficient to represent floating point accuracy
- Is floating point necessary?
– Bound error – Robust – Efficient encode / Decode
SLIDE 7
Point Distribution
SLIDE 8
Point Distribution
SLIDE 9
Point Distribution
SLIDE 10
Point Distribution
SLIDE 11 Related Work
[Botsch et al. 2002] [Taubin et al. 1998]
SLIDE 12 Related Work
[Oliveira and Buxton 2006] [Griffith et al. 2007]
SLIDE 13 Related Work
[Deering 1995] [Górski et al. 2004]
SLIDE 14 Related Work
[Meyer et al. 2010]
SLIDE 15 Contributions
- User Specified Maximal Bounded Error
- Variable Bit Encoding
- Constant Time Encode and Decode
– Independent of accuracy
- Differential Encoding Method
– Usable with other methods
SLIDE 16
Spherical Coordinates
SLIDE 17
Spherical Coordinates
SLIDE 18
Rectangular Domain
SLIDE 19
Solve for Minimum Nθ(j)
SLIDE 20
Choose Nφ
ε = 4ο Nφ= 23
SLIDE 21
Choose Nφ
ε = 4ο Nφ= 34
SLIDE 22
Choose Nφ
ε = 4ο Nφ= 81
SLIDE 23
Minimize Encoding Points
SLIDE 24
Uniform Encoding Points
# of symbols = 2112
SLIDE 25
Optimized Encoding Points
# of symbols = 1334
SLIDE 26
Regions on the Sphere
SLIDE 27 Variable Bit Encoding
3 bits 6 bits
SLIDE 28
Moving Frame
SLIDE 29
Moving Frame
SLIDE 30
Moving Frame
SLIDE 31
Moving Frame
SLIDE 32
Moving Frame
SLIDE 33
Moving Frame
SLIDE 34 Arithmetic Encoder
- Adaptive Arithmetic Coding [F. Wheeler 1996]
– Source code at http://www.cipr.rpi.edu/˜wheeler/ac
8 bits 10 bits 3 bits
SLIDE 35 Arithmetic Encoder - Phi
100000 200000 300000 400000 500000 600000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
SLIDE 36 Arithmetic Encoder - Phi
100000 200000 300000 400000 500000 600000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3 4 5 5 5 6 6 6 6
SLIDE 37
No Moving Frame
SLIDE 38
Moving Frame
SLIDE 39 Timings
20 40 60 80 100 120 Ours ONV Sphere1 Octa HealPix Sextant Encode 1.2 Decode 1.2 Encode .0045 Decode .0045
SLIDE 40 Conclusions
- Encoding method that produces the smallest
file sizes for a given maximum error
- Constant time encoding and decoding
- Differential encoding frame to improve
encoding techniques