COMPRESSION : introduction

L'utilisation d'Internet implique la manipulation fréquente de fichiers "compressés", parfois avec des formats exotiques...
Cette page fait le point sur les possibilités, les formats et les contraintes.

Généralités

Compresser des fichiers est une pratique aussi courante qu'indispensable en informatique. Elle consiste à stocker les données dans un nouveau format moins encombrant que l'original.

Très schématiquement, un texte contenant vingt fois la lettre A est compressé sous la forme 20(A) : cinq caractères en remplacent vingt. Ce gain de place induit d'autres bénéfices dont le principal est l'accélération des transferts entre ordinateurs. Faire circuler moins de bits sur les réseaux diminue les temps de connexion, encombre moins les lignes de communication et limite les dépenses télématiques. Autre argument en faveur de la compression, les logiciels dédiés savent regrouper différents éléments (fichiers de données, applications, etc.) en un seul fichier compressé ; c'est la fonction d'archivage.

Souvent confondu avec la compression, l'encodage transforme les fichiers binaires, un exécutable par exemple, en fichiers texte, l'ASCII des informaticiens. Une fois encodé, le fichier peut transiter par courrier électronique, l'e-mail transportant l'ASCII sans altérer les données. La combinaison encodage et compression sert lors des transferts de fichiers par les réseaux hétérogènes, dont Internet est le meilleur exemple.

La compression et l'encodage sollicitent beaucoup le processeur et la mémoire. La rapidité de ces opérations dépend donc de la puissance de la machine. Des cartes d'extension pour PC soulagent le processeur lorsque ces traitements deviennent répétitifs comme pour un serveur d'images, par exemple.

Le destinataire d'un fichier encodé et/ou compressé doit le décoder et/ou le décompresser avant de l'exploiter. Ces traitements nécessitent aussi puissance de calcul et espace mémoire. Plus gênant, ils imposent de recourir à un logiciel compatible avec celui utilisé par l'expéditeur.

Or, de très nombreuses méthodes d'encodage et de compression coexistent, issues des différentes plates-formes informatiques. Ce problème est contourné de deux façons : soit en utilisant un logiciel à vocation universelle (Winzip pour PC, Stuffit pour MacOS, etc.), soit en expédiant une archive auto-extractible (.exe pour PC, .sea pour MacOS, etc.). Celle-ci est une application capable de décoder et/ou décompresser les données qu'elle contient. Seul inconvénient, elle augmente la taille de l'archive de plusieurs kilo-octets , annulant les gains de compression pour les petits fichiers.

Définitions

La compression consiste à coder les données d'un fichier d'une manière plus compacte que l'original afin de diminuer son encombrement. La décompression rétablit le fichier dans son état initial.

Encodage/décodage
L'encodage consiste à convenir un fichier binaire en un fichier texte (ASCII). Le décodage rétablit le fichier dans son état initial. C'est le rôle de programme venu d'UNIX tel UUencode-UUdecode, ou du format MIME-64
Compression sans perte
Elle garantit que le fichier compressé puis décompressé est identique à l'original. Ce type de compression est obligatoire pour les fichiers binaires et les fichiers texte. C'est le cas d'ARJ, de ZIP ou de GIF
Compression avec perte
Elle admet la perte des données considérées redondantes ou inutiles en échange d'un meilleur taux de compression. Un fichier compressé puis décompressé selon cette méthode sera différent de l'original. Les images, les sons et la vidéo utilisent la compression avec perte. Ceux sont par exemple les formats JPEG pour les images ou MPEG pour le son et/ou la vidéo.
Taux de compression
C'est le gain de taille entre le fichier original et le fichier compressé, exprimé en pourcentage. Le taux de compression sans perte dépasse rarement 50 %. Les meilleurs taux, jusqu'à 95 % et plus, sont atteints avec les algorithmes de compression avec perte.
Formats de compression
Ils sont souvent originaire d'un environnement informatique précis et restent liés à un type de machines ou de système d'exploitation. Les formats de compression sont généralement reconnaissables à l'extension, codée sur un à trois caractères, qui suit leur nom pour une compatibilité avec le format DOS. Il existe des formats de compression conçus pour certains types de données : JPEG pour l'image fixe, MPEG pour la vidéo et le son, etc.
Archive
C'est le nom donné à un unique fichier compressé rassemblant plusieurs fichiers.

Conclusion

La compression est une nécessité absolue lorsqu'il s'agit de stocker ou de transférer de grands fichiers ou de nombreux petits fichiers. L'envoi de quelques petits fichiers (eMail) peut se faire sans compression. Quelle que soit la quantité d'informations expédiée, l'encodage est indispensable pour assurer la cohérence des données transmises.

Le choix du format de compression tient à la nature des données et aux plates-formes informatiques destinataires. Dans le cas d'Internet, il est impératif de sélectionner des formats universels de compression et d'encodage pour les fichiers de données. Les exécutables doivent être traités avec les formats adaptés à leur plate-forme d'exécution (Stuffit pour la compression, BinHex pour l'encodage dans le cas de MacOS, par exemple).