Presentation is loading. Please wait.

Presentation is loading. Please wait.

High-Pass Quantization for Mesh Encoding Olga Sorkine, Daniel Cohen-Or, Sivan Toledo Eurographics Symposium on Geometry Processing, Aachen 2003.

Similar presentations


Presentation on theme: "High-Pass Quantization for Mesh Encoding Olga Sorkine, Daniel Cohen-Or, Sivan Toledo Eurographics Symposium on Geometry Processing, Aachen 2003."— Presentation transcript:

1 High-Pass Quantization for Mesh Encoding Olga Sorkine, Daniel Cohen-Or, Sivan Toledo Eurographics Symposium on Geometry Processing, Aachen 2003

2 Overview Geometry quantization Visual quality Connection to spectral properties

3 Geometry quantization – introduction Each mesh vertex is represented by Cartesian coordinates, in floating-point. Geometry compression requires quantization, normally 10-16 bits/coordinate (x i, y i, z i )

4 Geometry quantization – introduction Using smoothness assumptions, the quantized coordinates are predicted and the prediction errors are entropy-coded [Touma and Gotsman 98]

5 Quantization error Quantization necessarily introduces errors. The finer the sampling, the more it suffers.

6 Quantization error An example: coarsely-sampled sphere originalQuantized to 8 bits/coordinate

7 Quantization error A finely-sampled sphere with the same quantization originalSame quantization to 8 bits/coordinate

8 Quantization 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.

9 Quantization – 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.

10 Relative (laplacian) coordinates Represent each vertex relatively to its neighbours average of the neighbours the relative coordinate vector

11 Laplacian matrix A  Mat n  n (R) the adjacency matrix D  Mat n  n (R) the degree-diagonal matrix: Then, the Laplacian matrix L  Mat n  n (R) is:

12 Laplacian matrix The previous form is not symmetric. We will use the symmetric Laplacian:

13 Properties of L Sort the eigenvalues of L in accending order: We can represent the geometry in L ’s eigenbasis: eigenvectors “frequencies” low frequency components high frequency components

14 Previous usages of Laplacian matrix [Karni and Gotsman 00] – progressive geometry compression –Use the eigenvectors of L as a new basis of R n –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.

15 Previous 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)

16 Previous 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

17 Quantizing the  - coordinates Transform Cartesian to  -coordinates: Quantize  -coordinates To get back Cartesian coordinates: (fixed-point quantization)

18 Discussion of the linear system The matrix L is singular, so L  1 doesn’t exist. Adding one anchor point fixes this problem (substitute one vertex (x, y, z) – removes translation degrees of freedom)

19 Discussion 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

20 Spectrum of quantization error Write x as: x = a 1 e 1 + a 2 e 2 + … + a n e n Therefore,  = Lx = 1 a 1 e 1 + 2 a 2 e 2 + … + n-1 a n-1 e n-1 + n a n e n Quantization error for  (    + q  ) is: q  = c 1 e 1 + c 2 e 2 + … + c n-1 e n-1 + c n e n Resulting error in x : q x = L  1 q  = (1/ 1 )c 1 e 1 + (1/ 2 )c 2 e 2 + … + (1/ n-1 )c n-1 e n-1 + (1/ n )c n e n large i – high frequencies high frequency error – here c i are large (1/ i ) is small – attenuates high-frequency errors (1/ i ) is large – amplifies low-frequency errors Small i – low frequencies low frequencies – small c i Thus, the error in x will contain strong low-frequency components but weak high-frequency components.

21 Discussion of the linear system Example of low-frequency error: –Find the differences between the horses…

22 Discussion of the linear system Example of low-frequency error: –This one is the original horse model

23 Discussion 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)

24 Making 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

25 Rectangular 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

26 Choosing 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.

27 The effect of anchors on the error Positive error – vertex moves outside of the surface Negative error – vertex moves inside the surface 0 – Cartesian quantization 8b/c  -quantization 7b/c 4 anchors  -quantization 7b/c 20 anchors  -quantization 7b/c 2 anchors

28 Visual 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 – x’║ vis =  ║x – x’║ 2 + (1 –  )║GL(x) – GL(x’)║ 2  = 0.5 We are not sure that  should be 0.5 …

29 Visual error metric We measured the two error components separately: M q = ║x – x’║ 2 S q = ║GL(x) – GL(x’)║ 2 E vis =  M q + (1 –  ) S q

30 Rate-distortion curves

31 Some results original  -quantization, entropy 7.62 Cartesian quantization, entropy 7.64 We compare to Touma-Gotsman predictive coder that uses Cartesian quantization E vis [  =0.5] = 5.3 E vis [  =0.15] = 2.3 E vis [  =0.5] = 2.5 E vis [  =0.15] = 2.6

32 Some results original  -quantization, entropy 6.69 Cartesian quantization, entropy 7.17 We compare to Touma-Gotsman predictive coder that uses Cartesian quantization E vis [  =0.5] = 1.8 E vis [  =0.15] = 0.9 E vis [  =0.5] = 4.8 E vis [  =0.15] = 4.9

33 Some results original  -quantization, entropy 10.3 Cartesian quantization, entropy 10.3 We compare to Touma-Gotsman predictive coder that uses Cartesian quantization E vis [  =0.5] = 6.4 E vis [  =0.15] = 3.9 E vis [  =0.5] = 5.0 E vis [  =0.15] = 5.1

34 Time statistics The least-squares system was solved using QR factorization of the normal equations Implementation on 2 GHz P4 using TAUCS library Models# verticesFactorization (sec.)Solving (sec.) Eight 27180.1270.006 Horse 198510.9800.040 Fandisk 201111.5950.056 Venus 500024.8030.151 Max Planck 10008610.7900.318

35 Conclusions 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…

36 Acknowledgements 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.

37 Thank you!

38 Discussion of the linear system Another example:

39 Discussion of the linear system Original model

40 Discussion of the linear system This is the model after quantizing  to 7 bits/coordinate, one anchor

41 Invertible 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

42 Invertible Laplacian artifacts Produces bad results when we quantize , because no smoothness constraints are posed on the anchors


Download ppt "High-Pass Quantization for Mesh Encoding Olga Sorkine, Daniel Cohen-Or, Sivan Toledo Eurographics Symposium on Geometry Processing, Aachen 2003."

Similar presentations


Ads by Google