Truncated binary encoding
|
Truncated binary encoding is an entropy encoding typically used for uniform probability distributions with a finite alphabet. It is parameterized by a maximum number n. It is slightly more general than binary encoding which is only optimal where n is a power of two.
For example, if n is 4, binary encoding allocates these codewords:
Number | Encoding |
---|---|
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
UNUSED | 101 |
UNUSED | 110 |
UNUSED | 111 |
Instead, truncated binary allocates:
Number | Encoding |
---|---|
0 | 00 |
1 | 01 |
2 | 10 |
3 | 110 |
4 | 111 |
You can think of this as allocating an UNUSED to the first few symbols (until you run out of UNUSEDs), to make the first few symbols' codewords shorter.