*** Welcome to piglix ***

Asymmetric Numeral Systems


Asymmetric Numeral Systems (ANS) is a family of entropy coding methods introduced by Jarosław (Jarek) Duda, used in data compression since 2014 due to improved performance compared to the previously used methods. ANS combines the compression ratio of arithmetic coding (which uses nearly accurate probability distribution), with a processing cost similar to that of Huffman coding. In the tabled ANS (tANS) variant, this is achieved by constructing a finite state machine to operate on a large alphabet without using multiplication. Among others, ANS is used in the Facebook Zstandard compressor, in the Apple LZFSE compressor,Google Draco 3D compressor, in CRAM DNA compressor from popular SAMtools utilities and is considered for AV1 open video coding format from Alliance for Open Media.

The basic idea is to encode information into a single natural number . In the standard binary number system, we can add a bit of information to by appending at the end of which gives us . For an entropy coder, this is optimal if . ANS generalizes this process for arbitrary sets of symbols with an accompanying probability distribution . In ANS, if is the result of appending the information from to , then . Equivalently, , where is the amount of bits of information stored in number and is the amount of bits contained in symbol .


...
Wikipedia

...