Title: HighPass Quantization for Mesh Encoding
1High-Pass Quantization
for Mesh Encoding
- Olga Sorkine, Daniel Cohen-Or, Sivan Toledo
- Eurographics Symposium on Geometry Processing,
Aachen 2003
2Overview
- Geometry quantization
- Visual quality
- Connection to spectral properties
3Geometry quantization introduction
- Each mesh vertex is represented by Cartesian
coordinates, in floating-point. - Geometry compression requires quantization,
normally 10-16 bits/coordinate
(xi, yi, zi)
4Geometry quantization introduction
- Using smoothness assumptions, the quantized
coordinates are predicted and the prediction
errors are entropy-coded Touma and Gotsman 98
5Quantization error
- Quantization necessarily introduces errors.
- The finer the sampling, the more it suffers.
6Quantization error
- An example coarsely-sampled sphere
original
Quantized to 8 bits/coordinate
7Quantization error
- A finely-sampled sphere with the same quantization
original
Same quantization to 8 bits/coordinate
8Quantization error discussion
- Quantization of the Cartesian coordinates
introduces high-frequency errors to the surface. - High-frequency errors alter the visual appearance
of the surface affect normals and lighting. - Only conservative quantization (usually 12-16
bits) avoids these visual artifacts.
9Quantization our approach
- Transform the Cartesian coordinates to another
space using the Laplacian matrix of the mesh. - Quantize the transformed coordinates.
- The quantization error in the regular Cartesian
space will have low frequency. - Low-frequency errors are less apparent to a human
observer.
10Relative (laplacian) coordinates
- Represent each vertex relatively to its
neighbours
average of the neighbours
the relative coordinate vector
11Laplacian matrix
- A? Matn?n(R) the adjacency matrix
- D? Matn?n(R) the degree-diagonal matrix
- Then, the Laplacian matrix L? Matn?n(R) is
12Laplacian matrix
- The previous form is not symmetric. We will use
the symmetric Laplacian
13Properties of L
- Sort the eigenvalues of L in accending order
- We can represent the geometry in Ls eigenbasis
frequencies
eigenvectors
low frequency components
high frequency components
14Previous usages of Laplacian matrix
- Karni and Gotsman 00 progressive geometry
compression - Use the eigenvectors of L as a new basis of Rn
- Transmit the coordinates according to this
spectral basis - First transmit the lower-eigenvalue coefficients
(low frequency components), then gradually add
finer details by transmitting more coefficients.
15Previous usages of Laplacian matrix
- Taubin 95 surface smoothing
- Push every vertex towards the centroid of its
neighbours, i.e. - v (I ?L)v
- Iterate, with positive and negative values of ?
(to reduce shrinkage effect)
16Previous usages of Laplacian matrix
- Ohbuchi et al. 01 mesh watermarking
- Embed a bitstring in the low-frequency
coefficients - Changes in low-frequency components are not
visible - Alexa 02 morphing using relative coordinates
- Produces locally smoother morphs
- Gotsman et al. 03
- A more general class of Laplacian matrices
- Mesh embedding on a sphere using eigenvectors
17Quantizing the ? - coordinates
- Transform Cartesian to ?-coordinates
- Quantize ?-coordinates
- To get back Cartesian coordinates
(fixed-point quantization)
18Discussion of the linear system
- The matrix L is singular, so L?1 doesnt exist.
- Adding one anchor point fixes this problem
(substitute one vertex (x, y, z) removes
translation degrees of freedom)
19Discussion of the linear system
- By quantizing the ?, we put high-frequency error
into ?. - L has very small eigenvalues, so L?1 has very
large eigenvalues (? ?? 1/?) - Thus, L?1 amplifies small errors and reverses the
frequencies.
Small quantization error for ?, high frequency
NOT so small !! low frequency
20Spectrum of quantization error
- Write x as x a1 e1 a2 e2 an en
- Therefore, ? Lx ?1a1 e1 ?2a2 e2
?n-1an-1 en-1 ?nan en - Quantization error for ? (? ? ? q? ) is
- q? c1 e1 c2 e2
cn-1 en-1 cn en - Resulting error in x
- qx L?1 q? (1/?1)c1 e1 (1/?2)c2 e2
(1/?n-1)cn-1 en-1 (1/?n)cn en
large ?i high frequencies
Small ?i low frequencies
low frequencies small ci
high frequency error here ci are large
(1/?i) is small attenuates high-frequency
errors
(1/?i) is large amplifies low-frequency errors
Thus, the error in x will contain strong
low-frequency components but weak
high-frequency components.
21Discussion of the linear system
- Example of low-frequency error
- Find the differences between the horses
22Discussion of the linear system
- Example of low-frequency error
- This one is the original horse model
23Discussion of the linear system
- Example of low-frequency error
- This is the model after quantizing ? to 8
bits/coordinate - There is one anchor point (front left leg)
24Making the error lower
- We add more anchor points, whose Cartesian
coordinates are known, as well as the ? -
coordinates. - This nails the geometry in place, reducing the
low-frequency error
25Rectangular Laplacian
- We add equations for the anchor points
- By adding anchors the matrix becomes rectangular,
so we solve the system in least-squares sense
L
constrained anchor points
26Choosing the anchor points
- A greedy scheme.
- Add one anchor point at a time.
- Each time nail down the vertex that achieved the
maximal error after reconstruction. - This process is slow, but it is done only by the
encoder. - Only a small number of anchors is needed. We
experiment with 0.1, which gives very good
results.
27The effect of anchors on the error
Positive error vertex moves outside of the
surface
0
Negative error vertex moves inside the surface
?-quantization 7b/c 4 anchors
?-quantization 7b/c 20 anchors
?-quantization 7b/c 2 anchors
Cartesian quantization 8b/c
28Visual error metric
- Euclidean distance between and does not
faithfully represent the visual error (Cartesian
quantization errors are small but the normals
change a lot...) - Karni and Gotsman 2000 propose a visual
metric - x xvis ?x x2 (1 ?)GL(x)
GL(x)2 -
- ? 0.5
- We are not sure that?? should be 0.5
29Visual error metric
- We measured the two error components separately
- Mq x x2
- Sq GL(x) GL(x)2
- Evis ? Mq (1 ?) Sq
-
30Rate-distortion curves
31Some results
We compare to Touma-Gotsman predictive coder that
uses Cartesian quantization
original
?-quantization, entropy 7.62
Cartesian quantization, entropy 7.64
Evis?0.5 2.5 Evis?0.15 2.6
Evis?0.5 5.3 Evis?0.15 2.3
32Some results
We compare to Touma-Gotsman predictive coder that
uses Cartesian quantization
original
?-quantization, entropy 6.69
Cartesian quantization, entropy 7.17
Evis?0.5 1.8 Evis?0.15 0.9
Evis?0.5 4.8 Evis?0.15 4.9
33Some results
We compare to Touma-Gotsman predictive coder that
uses Cartesian quantization
original
?-quantization, entropy 10.3
Cartesian quantization, entropy 10.3
Evis?0.5 6.4 Evis?0.15 3.9
Evis?0.5 5.0 Evis?0.15 5.1
34Time statistics
- The least-squares system was solved using QR
factorization of the normal equations - Implementation on 2 GHz P4 using TAUCS library
35Conclusions
- The spectrum of the quantization error affects
the visual quality of the quantized mesh - We have proposed a quantization method that
concentrates the error in the low-frequencies - The method requires the computational effort of
solving a linear least-squares system. - Much more research is needed to fully understand
the spectral behavior of meshes
36Acknowledgements
- Christian Rössl and Jens Vorsatz from
Max-Planck-Institut für Informatik for the models - Israel Science Foundation founded by the Israel
Academy of Sciences and Humanities - The Israeli Ministry of Science
- IBM Faculty Partnership Award
- German Israel Foundation (GIF)
- EU research project Multiresolution in Geometric
Modelling (MINGLE), grant HPRN-CT-1999-00117.
37Thank you!
38Discussion of the linear system
39Discussion of the linear system
40Discussion of the linear system
- This is the model after quantizing ? to 7
bits/coordinate, one anchor
41Invertible square Laplacian
- We could simply eliminate the anchors from the
system, erasing the rows and the columns of the
anchor vertices - Use this reduced Laplacian instead of L and
remember the anchors (x, y, z) positions
separately
42Invertible Laplacian artifacts
- Produces bad results when we quantize ?, because
no smoothness constraints are posed on the anchors