compression of Sparse Voxel Octrees
Posted 18 March 2011 - 04:24 AM
Jon Olick says you can get it down to a bit and a half per voxel utilizing some compression techniques... any ideas to how this could be possible?
Posted 18 March 2011 - 02:11 PM
Posted 18 March 2011 - 03:01 PM
Posted 18 March 2011 - 03:35 PM
According to his paper, his storage is 8 bytes per voxel. He only mentions positional data is 1.15 bits in comparison to triangle storage. According to his storage structure, 1 byte is allocated for the children mask. A byte has 8 bits and a voxel has 6 possible children (sides of the cube), plus itself so 7 bits in total. 8 / 7 = 1.142 positional bits per voxel. He probably just rounded that up to 1.15. His encoding is similar to how PNG files are encoded before they are compressed with deflate. Stochastic data doesn't compress very well, so if you filter the data to minimize entropy, compression algorithms like deflate will do a much better job. In his case, he stores the relative values instead of absolute values (exactly what PNG does).
Posted 18 March 2011 - 04:42 PM
Ive actually moved to displacement mapping (see my other post http://www.devmaster...82256#post82256) and its going quite well, and with that yes all i do is literally save the png file and displacement map is compressed.
So far I got my voxel model to be about 1.45 bytes positional data and not sure at all how I would compress colours in the state they are in, so I think im much better off with displacement maps, and then I would get pretty nice compression, even without knowing much about compression.
what do you think nut... would displacement map models compress detail better than a voxel model?
Posted 18 March 2011 - 06:34 PM
Posted 19 April 2011 - 01:24 PM
So I finally read what you said TheNut and I finally understand!! (sort of) :)
So you store the voxels as neighbouring bits from each other, and it comes to about 8 bits a voxel... how do you compress further than that?
I sorta gather entropy is when the data turns to complete noise.
Posted 19 April 2011 - 04:39 PM
and by filter, do you mean make all the similar colours the same colour, that would be a good image filter to go into huffman code, is that what you mean?
Posted 20 April 2011 - 06:46 PM
As Olick wrote, store colors as difference to parent with some quantization. Process of quantization is essentially lossy filtering.
Posted 21 April 2011 - 04:06 AM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users