Source: https://igm.univ-mlv.fr/~duris/RESEAU/L3/L3-phyCodage-20092010.pdf