Compression de données
La compression des données est un ensemble d'étapes permettant de compacter les données dans un espace plus petit, tout en permettant de revoir les données originales. La compression est un processus à double sens : un algorithme de compression peut être utilisé pour réduire un paquet de données, mais il peut aussi être exécuté dans l'autre sens, pour décompresser le paquet dans sa forme originale. La compression des données est utile en informatique pour économiser de l'espace disque ou pour réduire la largeur de bande utilisée lors de l'envoi de données (par exemple, sur Internet).
Compression sans perte
La compression sans perte emballe les données de manière à ce que le paquet compressé puisse être décompressé et que les données puissent être extraites exactement comme elles sont entrées. C'est très important pour les programmes informatiques et les archives, car même une très petite modification d'un programme informatique le rendra inutilisable.
Ce type de compression fonctionne en réduisant l'espace perdu dans une donnée. Par exemple, si vous recevez un paquet de données contenant "AAAAABBBB", vous pouvez le compresser en "5A4B", qui a la même signification mais occupe moins d'espace. Ce type de compression est appelé "encodage de longueur de course", car vous définissez la longueur de la "course" d'un caractère. Dans l'exemple ci-dessus, il y a deux runs : un run de 5 A et un autre de 4 B.
Le problème du codage par longueur de course est qu'il ne fonctionne que sur de longs morceaux de données de même valeur. Si vous recevez un paquet contenant "ABBAABAAB", vous pouvez le compresser en "1A2B2A1B2A1B" ; mais c'est plus long que l'original ! Dans ce cas, une autre méthode peut être utilisée : vérifier la fréquence à laquelle une valeur particulière apparaît dans l'ensemble du paquet de données. C'est ce qu'on appelle souvent la compression de fréquence.
Le type de compression de fréquence le plus courant est appelé codage de Huffman, du nom du scientifique qui en a eu l'idée. L'idée de base est de donner un code à chaque valeur distincte d'une donnée : les valeurs qui apparaissent tout le temps reçoivent des codes plus courts, et celles qui n'apparaissent qu'une ou deux fois reçoivent des codes plus longs.
Exemples de compression sans perte
- Formats d'archivage : Zip, GZip, bZip2, 7-Zip, etc.
- Images/diagrammes : GIF, PNG, PCX
- Audio : FLAC, WavPack
- Vidéo : FFV1, H.264/MPEG-4 AVC Profil hautement prédictif
- Compresseurs de programme : UPX
Compression avec perte
Pour certains types de données, la compression avec perte peut aller beaucoup plus loin ; c'est le cas le plus souvent des fichiers média, comme la musique et les images. La compression avec perte perd une partie des données, de sorte qu'il y a moins de données à stocker. Selon les informations perdues, les gens ne remarquent pas qu'elles manquent. Par conséquent, il suffit de les supprimer des données.
Bien sûr, cela ne fonctionnera pas pour les programmes informatiques et autres données de ce type où chaque élément est important ; jeter des éléments d'un programme informatique est généralement malsain pour le programme.
Exemples de compression avec perte
- Images : JPEG
- Audio : MP3, Windows Media
- Vidéo : Vidéo MPEG, DivX, Windows
Questions et réponses
Q : Qu'est-ce que la compression de données ?
R : La compression des données est le processus qui consiste à regrouper des données dans un espace plus restreint, tout en permettant d'accéder à nouveau aux données d'origine.
Q : Quel est l'objectif de la compression des données en informatique ?
R : La compression des données est utile en informatique pour économiser de l'espace disque et pour réduire la bande passante nécessaire à l'envoi de données sur l'internet.
Q : La compression des données est-elle un processus à sens unique ?
R : Non, la compression des données est un processus à double sens. Elle peut être utilisée pour réduire la taille des paquets de données, mais elle peut également être utilisée en sens inverse pour décompresser le paquet et lui redonner sa forme initiale.
Q : Quels sont les avantages de la compression des données pour l'envoi de données sur l'internet ?
R : La compression des données permet de réduire la largeur de bande nécessaire à l'envoi des données, ce qui réduit le temps nécessaire à l'envoi des données.
Q : Pourquoi est-il important que les données originales puissent être visualisées après la compression ?
R : Si les données originales ne sont pas accessibles après la compression, l'utilité des données compressées est limitée.
Q : La compression des données peut-elle accélérer le transfert de fichiers volumineux ?
R : Oui, la compression des données peut accélérer le transfert de fichiers volumineux, car le transfert de fichiers plus petits prend moins de temps.
Q : Qu'est-ce qu'un algorithme de compression ?
R : Un algorithme de compression est un ensemble d'étapes utilisées pour comprimer des données dans un espace plus petit tout en permettant de visualiser à nouveau les données d'origine.