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.

La compression non destructive.