Hacker News new | ask | show | jobs
by infogulch 1583 days ago
> decoder using probability information for the output symbol from the previous iteration, the state of the RANS decoder being tracked using a value

> state of the RANS decoder including sufficient information to generate the output symbol for the current iteration if the state of the RANS decoder is greater than a threshold

I am not a lawyer. That reads to me like a 'relaxation'/optimization of the decoder to allow for iterations that don't yield any symbols, but still transforms the decoder state which affects subsequent symbols.

It's interesting, but feels a bit obvious to me. IIRC zstd decoder spec explicitly describes a state machine that is updated as bytes are read and symbols emitted and it doesn't seem like a big leap to imagine some ops taking multiple iterations. Then again I'm not exactly drowning in novel compression algorithms that I invented myself, so...

I wonder if you'd work around it if you it 'transpose' the problem and consider it to be variable bytes-per-instruction but still one instruction-per-symbol.