A tutorial on the range variant of asymmetric numeral systems
Information Theory
2020-10-08 v3 math.IT
Computation
Abstract
This paper is intended to be a brief and accessible introduction to the range variant of asymmetric numeral systems (ANS), a system for lossless compression of sequences which can be used as a drop in replacement for arithmetic coding (AC). Because of the relative simplicity of ANS, we are able to provide enough mathematical detail to rigorously prove that ANS attains a compression rate close to the Shannon limit. Pseudo-code, intuitive interpretation and diagrams are given alongside the mathematical derivations. A working Python demo which accompanies this tutorial is available at https://raw.githubusercontent.com/j-towns/ans-notes/master/rans.py.
Keywords
Cite
@article{arxiv.2001.09186,
title = {A tutorial on the range variant of asymmetric numeral systems},
author = {James Townsend},
journal= {arXiv preprint arXiv:2001.09186},
year = {2020}
}