3D MODEL COMPRESSION USING IMAGE ... - Bilkent University
3D MODEL COMPRESSION USING IMAGE ... - Bilkent University 3D MODEL COMPRESSION USING IMAGE ... - Bilkent University
progressive is coding of the tiles. The tiles that corresponds to the lower subbands of the transformed image can be transmitted first and the reconstruction of the mesh can be done using them plus zeros padded instead of the other tiles. As the tiles corresponding to the higher subbands received, the reconstructed mesh can be refined. Here in this thesis this approach is not implemented. So our JPEG2000 coder is not a progressive coder. After the bitstream is obtained by the SPIHT encoder, it should be arithmetically coded. We used gzip software as an arithmetic coder [61]. It is an implementation of the Lempel-Ziv coding algorithm [62]. For comparison purposes, both the original vertex list and the SPIHT bitstream are compressed using gzip software. 2.4.1 Coding of the Map Image. The map images provide the projected vertex indices as its pixel values (Equation 2.9). The most important issue in the compression of these images is that it should be lossless. So no quantization can be done on the image. The pixel values has a wide range and they are equiprobable. Thus, a coding structure like Huffman of Lempel-Ziv is not appropriate for this kind of data. For compression of these map images, a new algorithm which uses the principles of differential coding is proposed. The basis assumption of the proposed algorithm is near pixels represent near vertices. In the perfect case all K vertices of the mesh would be projected. Thus, a list of vertex locations on the image-like representation is created. The i t h entry of the list LCoor(i) is defined as follows, ⎧ ⎨ [n 1 , n 2 ], I[n 1 , n 2 ] = i , LCoor(i) = ⎩ 0, otherwise (2.17) 53
where i = 1, ..., v. Then the LCoor list is differentially coded. First the non-zero enteries of LCoor are found as; q(j) = {i | LCoor(i) ≠ [0, 0] and j = 1, ..., G, } (2.18) where G is the number of non-zero enteries of the LCoor list. The LCoor is updated as; LCoor(q(j + 1)) = LCoor(q(j + 1)) − LCoor(q(j)). (2.19) By this way a predicted version of LCoor is created whose mean is around 0 and variance is concentrated around the mean. Thus predicted version of LCoor can be compressed more efficiently. Then the LCoor list is converted to a bitstream and sent to the receiver. What the receiver does is reversing the procedure. It finds again the first nonzero entry and it neighbors, inverses the predictions of the neighbors and then add those neighbors to the buffer. Processing the elements in the buffer one by one reverses the encoding process. 2.4.2 Encoding Parameters vs. Mesh Quality Two issues defining the mesh quality are: (i) Length of the used bitstream (SPIHT) & Quantization level for JPEG2000, (ii) Number of wavelet decomposition levels. Decreasing the length of the bitstream leads to more compression at the expense of higher distortion. Increasing the number of wavelet decomposition levels usually leads to higher compression ratios at the expense of more computational cost. 54
- Page 19 and 20: Chapter 1 Introduction The demand t
- Page 21 and 22: the fundamentals behind compression
- Page 23 and 24: Connectivity of a mesh is a quadrup
- Page 25 and 26: 1.2 Compression Compression is sele
- Page 27 and 28: most frequently used letter in Engl
- Page 29 and 30: and vertex removal to obtain the co
- Page 31 and 32: A triangle strip is a part of trian
- Page 33 and 34: Figure 1.6: Decoding example for Ed
- Page 35 and 36: Figure 1.7: TG Encoding of the same
- Page 37 and 38: the surfaces. In Figure 1.8 an illu
- Page 39 and 40: and the error can simply be found b
- Page 41 and 42: ows of Ṽ that are corresponding t
- Page 43 and 44: drawing 2 triangles for each unit s
- Page 45 and 46: (a) (b) (c) (d) (e) Figure 1.14: Pr
- Page 47 and 48: value of a mesh is 6. They observe
- Page 49 and 50: samples of the original model. So t
- Page 51 and 52: The proposed projection method is c
- Page 53 and 54: neighborhood information between pi
- Page 55 and 56: for rectangular sampling and for qu
- Page 57 and 58: (a) (b) Figure 2.3: Projected verte
- Page 59 and 60: Increasing the number of multiresol
- Page 61 and 62: A typical natural image is low-pass
- Page 63 and 64: it is put into LSP. The same proced
- Page 65 and 66: Figure 2.7: 1D lifting scheme witho
- Page 67 and 68: Thus, instead of predicting non-zer
- Page 69: M 1 Mesh−to−Image Transform M 2
- Page 73 and 74: Finally, using the projected vertex
- Page 75 and 76: Author Name Type Bitrate (bpv) Deer
- Page 77 and 78: Author Name Bitrate (bpv) Popovic &
- Page 79 and 80: (a) (b) (d) (e) Figure 3.1: Reconst
- Page 81 and 82: Bitstream Detail Size Size Org. - R
- Page 83 and 84: the distortion levels as color leve
- Page 85 and 86: (a) (b) (c) Figure 3.4: (10.1 bpv).
- Page 87 and 88: (a) (b) (c) Figure 3.6: (20.6 bpv).
- Page 89 and 90: (a) (b) (c) Figure 3.8: Homer Simps
- Page 91 and 92: (a) (b) (c) Figure 3.10: Homer Simp
- Page 93 and 94: (a) (b) (c) Figure 3.11: Homer Simp
- Page 95 and 96: (a) (b) (c) Figure 3.13: Homer Simp
- Page 97 and 98: (a) (b) (c) Figure 3.15: Distortion
- Page 99 and 100: (a) (b) (c) (d) (e) (f) Figure 3.17
- Page 101 and 102: (a) (b) (c) (d) (e) (f) Figure 3.19
- Page 103 and 104: (a) (b) (c) Figure 3.21: (12.4 bpv)
- Page 105 and 106: (a) (b) (c) Figure 3.23: (11.9 bpv)
- Page 107 and 108: (a) (b) (c) Figure 3.25: 9 Handle T
- Page 109 and 110: (a) (b) (c) Figure 3.27: (7.63 bpv)
- Page 111 and 112: (a) (b) (c) Figure 3.29: (10.8 bpv)
- Page 113 and 114: parameterization, projection operat
- Page 115 and 116: each mesh frame separately, group o
- Page 117 and 118: [7] I. Guskov, W. Sweldens and P. S
- Page 119 and 120: [26] J. Zhang, C. B. Owen, “Octre
progressive is coding of the tiles. The tiles that corresponds to the lower subbands<br />
of the transformed image can be transmitted first and the reconstruction of the<br />
mesh can be done using them plus zeros padded instead of the other tiles. As<br />
the tiles corresponding to the higher subbands received, the reconstructed mesh<br />
can be refined. Here in this thesis this approach is not implemented. So our<br />
JPEG2000 coder is not a progressive coder.<br />
After the bitstream is obtained by the SPIHT encoder, it should be arithmetically<br />
coded. We used gzip software as an arithmetic coder [61]. It is an<br />
implementation of the Lempel-Ziv coding algorithm [62]. For comparison purposes,<br />
both the original vertex list and the SPIHT bitstream are compressed<br />
using gzip software.<br />
2.4.1 Coding of the Map Image.<br />
The map images provide the projected vertex indices as its pixel values<br />
(Equation 2.9). The most important issue in the compression of these images<br />
is that it should be lossless. So no quantization can be done on the image. The<br />
pixel values has a wide range and they are equiprobable. Thus, a coding structure<br />
like Huffman of Lempel-Ziv is not appropriate for this kind of data.<br />
For compression of these map images, a new algorithm which uses the principles<br />
of differential coding is proposed. The basis assumption of the proposed<br />
algorithm is near pixels represent near vertices. In the perfect case all K vertices<br />
of the mesh would be projected. Thus, a list of vertex locations on the image-like<br />
representation is created. The i t h entry of the list LCoor(i) is defined as follows,<br />
⎧<br />
⎨ [n 1 , n 2 ], I[n 1 , n 2 ] = i ,<br />
LCoor(i) =<br />
⎩<br />
0, otherwise<br />
(2.17)<br />
53