Les logiciels de compression de données
De nos jours, la puissance des processeurs augmente plus vite que les capacités de stockage, et énormément plus vite que la bande passante d'Internet, qui, malgré les nouvelles technologies, a du mal a augmenter car cela demande d'énormes changement dans les infrastructures telles que les installations téléphoniques.
Ainsi, on préfère réduire la taille des données en exploitant la puissance des processeurs plutôt que d'augmenter les capacités de stockage et de télécommunication.
Qu'est-ce que la compression de données?
La compression consiste en la réduction de la taille physique de blocs d'informations. Un compresseur utilise un algorithme qui sert à optimiser les données en utilisant des considérations propres au type de données à compresser, un décompresseur est donc nécessaire pour reconstruire les données originelles grâce à l'algorithme inverse de celui utilisé pour la compression.
La méthode de compression dépend du type de données à compresser: on ne compressera pas de la même façon une image qu'un fichier audio...
Compression physique et logique
La compression physique agit sur les données même, il s'agit de regarder les données redondantes d'un train de bits à un autre.
La compression logique est effectuée par un raisonnement logique en substituant une information par une information équivalente.
Compression symétrique et asymétrique
Dans le cas de la compression symétrique, la même méthode est utilisée pour compresser et décompresser l'information, il faut donc la mêce quantité de travail pour chacune de ces opérations. C'est ce type de compression qui est utilisée dans les transmission de données.
La compression asymétrique demande plus de travail pour l'une des deux opérations, on recherche souvent des algorithmes pour lesquels la compression est plus lente que la décompression. Les algorithmes étant plus rapides en compression qu'en décompression peuvent être nécessaire lorsque l'on archive des données auxquels on n'accède peu souvent (pour des raisons de sécurité par exemple) et que l'on ne veut pas perdre de temps à les archiver.
Compression avec pertes
Les programmes ont besoin de conserver leur intégrité pour fonctionner, en effet il n'est pas concevable de reconstruire à l'a peu près un programme en omettant parfois des lettres et en en ajoutant certaines là oû il ne faut pas...
La compression avec pertes se permet d'éliminer quelques informations pour avoir le meilleur taux de compression possible, tout en gardant un résultat qui soit le plus impreceptible possible, cela est le cas de certaines compressions d'images ou de sons. Pour une image de zèbre par exemple, l'algorithme n'effacera pas les rayures mais pourra pourquoi pas les modifier légèrement pour pouvoir appliquer l'algorithme de façon optimale.
Encodage adaptif, semi adaptif et non adaptif
Certains algorithmes de compression sont basés sur des dictionnaires spécifiques à un type de données, ce sont des encodeurs non adaptifs. Les occurences de lettres dans un fichier texte par exemple dépendent de la langue dans laquelle celui-ci est écrit.
Un encodeur adaptif s'adapte aux données qu'il va devoir compresser, il ne part pas avec un dictionnaire déjà préparé pour un type de données.
Un encodeur semi-adaptif construira celui-ci en fonction de ce qu'il va trouver: il construit le dictionnaire en parcourant le fichier, puis compresse le dit fichier.
Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.
Autre référence: La compression des données (VDN Informatique)
Marques de logiciels de compression de données: