An Introduction to Arithmetic Coding | Synapse