Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Specialized data compression

by GrandFather (Cardinal)
on Sep 11, 2012 at 08:50 UTC ( #992958=note: print w/ replies, xml ) Need Help??


in reply to Specialized data compression

Could 8 bit deltas for the x, y, z values gain you anything? If acceleration tends to be straight line then converting to a vector form may gain you something, especially if you then delta encode.

A quite different technique that works well for some types of data is to treat each bit position (or groups of adjacent bits - nibbles for example) in the data as a separate stream and run length encode each "stream". That gives excellent compression for the most significant bits and almost none for the least significant bits, but overall may give substantially better results than general purpose Huffaman type encoding.

True laziness is hard work


Comment on Re: Specialized data compression
Re^2: Specialized data compression
by wanna_code_perl (Pilgrim) on Sep 16, 2012 at 16:12 UTC

    Thanks for the suggestions! It took me a few days to think this through and try some things.

    Indeed, per your suggestion I have tried deltas for x,y,z, although they don't all fit in 8 bits (some deltas will of course overflow 16-bit as well), so I use a variable width int (8, 16, or 32 bit), which was a pretty big win, even after compression.

    The bitwise transposition you refer to is interesting, but was complex and didn't change things much once xz got ahold of it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://992958]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2014-09-02 02:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (18 votes), past polls