4 ms·
I would suggest you actually read the whole thread before commenting, as it started by explaining how outliers *do not* make the rest of the list encode with 4
by ot 5y ago
I would suggest you actually read the whole thread before commenting, as it started by explaining how outliers *do not* make the rest of the list encode with 4 bits per integer.
> I do not see how fixed length deltas can be competitive on arbitrary inputs.
I also already explained this, most lists in practical applications exhibit local properties that are exploited by blocking.
Using Huffman/arithmetic coding generally doesn't work well because the cost of storing the probability tables does not break even with the savings. There was a recent line of work [1] that attempted this with ANS, a faster cousin of arithmetic coding, and the results were honestly underwhelming considering the complexity involved.
[1] https://dl.acm.org/doi/abs/10.1145/3159652.3159663 https://dl.acm.org/doi/abs/10.1145/3159652.3159663
> In the end the result is probably heavily dependent on the exact structure of the integer lists
Yes, I did not claim that this works with any list, for any encoding scheme you can construct adversarial cases that do not compress well, that's just information theory. But that applies also to the schemes you're floating.
- danbruc 5y agoYou are misunderstanding me, I am not primarily talking about outliers. I am saying if the deltas are big in magnitude but concentrated on only a few different values, then encoding the deltas directly is wasteful. Whether you then use entropy coding, which also deals with outliers for free, or whether you use something more sophisticated than deltas, for example double deltas or subtracting the minimum delta, was not really my point. Maybe it was a bit confusing that I first brought this up in the context of outliers.