Les
principaux pionniers de la compression de données furent sans doute C.
Shannon et R. M. Fano. Ils démontrèrent que l'on pouvait coder un message en
utilisant la probabilité d'apparition d'un symbole ainsi que la base 2. Ils
ont établi 3 propriétés qui permettent de compresser un message : · Chaque code (ou presque) a un nombre de
bits différent. · Le code correspondant à un symbole dont la
probabilité d'apparition dans le message est faible sera codé avec plus de
bits, le code dont le symbole respectif a une plus grande probabilité
d'apparaître aura un nombre de bits moins élevé. · Même si les codes ont des longueurs
différentes, cela ne doit pas empêcher de pouvoir les décoder de façon
distincte. L’algorithme
de Shannon Fano se décompose en différentes étapes : · Dresser une table triée par ordre croissant
des fréquences d'apparition des symboles. · Diviser cette table en deux parties. La
somme des fréquences de la première partie devant être le plus égal possible
à la somme des fréquences de la deuxième partie. · Affecter le chiffre binaire 0 à la moitié
supérieure, la moitié inférieure prenant le chiffre binaire 1. · Répéter les opérations 2 et 3 aux deux
parties, jusqu'à ce que chaque symbole ne représente plus qu'une partie de la
table. |