Le principe de la compression repose, pour faire simple,
sur l'idée qu'un certain nombre de données dans un fichier
sont répétitives. Imaginez un fruitier qui fait
l'inventaire de ses stocks ; il a deux façons de procéder :
soit il compte fruit par fruit : 1 banane + 1 banane + 1
banane + 1 orange + 1 orange + 1 banane + 1 banane + 1
orange + 1 orange + 1 orange + 1 orange + 1 orange + 1
orange + 1 orange + 1 orange + etc.
Soit il compte par lots : 3 bananes + 2 oranges + 2 bananes
+ 8 oranges + etc.
La deuxième méthode est nettement moins longue, et prend
nettement moins de place. Pour la compression de données,
c'est pareil.
Là où le fichier binaire écrit : 11111111000011111000000111
L’algorithme de compression écrit : 8*1,4*0,5*1,6*0,3*1
Le gain de place est évident et peut en outre s'appliquer à
tout type de fichiers : les exécutables, les images et bien
sûr les sons.
Pour rentrer dans les détails, un son, c'est une fréquence.
Une seconde de musique c'est donc une succession de
fréquences. Imaginons que dans la suite d'échantillons
composant une seconde de musique, nous ayons plusieurs fois
de suite la même fréquence, par exemple 10 fois. Si au lieu
de stocker ces 10 points, nous en stockions 1 seul et le
nombre de fois où il se répète, nous aurions besoin de
coder 2 nombres et non 10.
De nombreux compacteurs recourent à l'algorithme de
compression de Huffman qui code les données selon leur
récurrence statistique. : Plus une séquence de données se
répète dans le fichier, plus son code sera court. A
l'inverse, les séquences les plus rares sont dotées d'un
code plus long.
Cette technique repose sur l'utilisation d'un code de
longueur variable et la probabilité d'apparition d'un
événement (en l'occurrence ici d'une fréquence). A la
décompression, tous les codes sont confrontés à une table
de correspondance qui permet de ré attribuer chaque
séquence de données au code correspondant. Cette méthode
est utilisée dans tous les algorithmes de compression
(compression de fichiers texte, compression d'images,
compression de sons). C'est la phase finale de la
compression. C'est un codage non destructeur.
Evidemment, la démonstration ci-dessus, simplifiée au
possible, ne rend pas compte de la complexité des
algorithmes de compression mis en œuvre. par des logiciels
comme Winzip, WinARJ, WinRAR ou Stuff It. Mais le principe
est là, dans les grandes lignes.