# Coding for data compression with large target's symbol set (where the target symbol set is larger than the source symbol set)

For data compression, every codding that I've seen is binary. It means we convert a language with $$N$$ symbol size to a language with $$M=2$$ symbol size. For example, in Huffman coding, the goal is to find a binary coding ($$M=2$$) for English language ($$N=26$$).

If $$M$$ is not equal to $$2$$ and have a value larger than $$N$$, is there any method to find good coding (or optimal coding) for compression? Is there any research for this type of problem?
Is it a right assumption that when the target symbol size is larger, the goal is to find a map from a subset of source symbols to one target symbol?

## 1 Answer

Both arithmetic coding and asymmetric numeral systems can be done in arbitrary base $$b$$.

Is it a right assumption that when the target symbol size is larger, the goal is to find a map from a subset of source symbols to one target symbol?

The above algorithms do not work by finding a 'mapping' from source to target symbols. Such a mapping doesn't deal well with fractional 'bits' - where an event has a probability that does not fit nicely in the output size.

Instead these algorithms work conceptually by dumping buckets of entropy from source symbols into a single uniform pool of entropy (in arithmetic coding this is a single fractional number, in asymmetric numberal systems this is a single large number), while scooping out entropy on the other side with output symbols. The trick is that the 'bucket size' of source symbols and output symbols do not have to have the same size at all.