3D MODEL COMPRESSION USING IMAGE ... - Bilkent University

3D MODEL COMPRESSION USING IMAGE ... - Bilkent University 3D MODEL COMPRESSION USING IMAGE ... - Bilkent University

signal.ee.bilkent.edu.tr
from signal.ee.bilkent.edu.tr More from this publisher
27.01.2015 Views

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

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!