home     blog     about     contact
Daniel Strecker's Blog - daniel-strecker.com
published: 2021-02-26
last change: 2021-03-03

Universal Coding

skip Intro bla bla, look at diagrams!

Variable, arbitrary length encodings for integers, which are also self-delimited (i.e. an integer prefix code) is very useful for all integer numbers like lengths or timestamps in communication protocol specifications or other structured data formats. They are suitable especially for use in blockchain and cryptographic protocols.

Examples for such codes are the universal codes, e.g. the Exponential-Golomb coding, of which Elias gamma coding is a special case. Elias omega coding has some superior properties, though the inventor Peter Elias >>chose the name omega for the code because he considered it to be "penultimate", that is "not quite ultimate"<< ( https://arxiv.org/pdf/1906.05004.pdf ).


Fig. 1: Wide Range View of Code Lengths
Fig. 2: Zoom In 0
Fig. 3: Zoom In 1
Fig. 4: Zoom In 2 (log scale)

The following diagrams are in linear x-axis scale, unlike those above, which are in log scale.

Fig. 5: Zoom In 2 (linear scale)
Fig. 6: Zoom In 3
Fig. 7: Zoom In at 1 KiB