Compression de données

Décembre 2016

Pourquoi compresser les 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 des réseaux, car cela demande d'énormes changements dans les infrastructures de télécommunication.

Ainsi, pour pallier ce manque, il est courant de réduire la taille des données en exploitant
la puissance des processeurs plutôt qu'en augmentant les capacités de stockage et de transmission des données.

Qu'est-ce que la compression de données?

La compression consiste à réduire 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 intrinsèquement du type de données à compresser : on ne compressera pas de la même façon une image qu'un fichier audio...

Caractérisation de la compression

La compression peut se définir par le quotient de compression, c'est-à-dire le quotient du nombre de bits dans l'image compressée par le nombre de bits dans l'image originale.

Le taux de compression, souvent utilisé, est l'inverse du quotient de compression, il est habituellement exprimé en pourcentage.

Enfin le gain de compression, également exprimé en pourcentage, est le complément à 1 du taux de compression :

Types de compressions et de méthodes


Compression physique et logique

La compression physique agit directement sur les données; il s'agit ainsi de regarder les données redondantes d'un train de bits à un autre.

La compression logique par contre 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ême quantité de travail pour chacune de ces opérations. C'est ce type de compression qui est généralement utilisée dans les transmissions 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. Des algorithmes plus rapides en compression qu'en décompression peuvent être nécessaire lorsque l'on archive des données auxquelles on n'accède peu souvent (pour des raisons de sécurité par exemple), car cela crée des fichiers compacts.

Compression avec pertes

La compression avec pertes (en anglais lossy compression), par opposition à la compression sans pertes (lossless compression), se permet d'éliminer quelques informations pour avoir le meilleur taux de compression possible, tout en gardant un résultat qui soit le plus proche possible des données originales. C'est le cas par exemple de certaines compressions d'images ou de sons, telles que le MP3 ou le format Ogg Vorbis.

Etant donné que ce type de compression supprime des informations contenues
dans les données à compresser, on parle généralement de méthodes de compression irréversibles.


Les fichiers exécutables ne peuvent par exemple pas être compressées selon
ce type de méthode car ils ont notamment besoin de conserver leur intégrité pour fonctionner. En effet, il n'est pas concevable de reconstruire approximativement un programme en omettant des bits en en ajoutant.


En revanche, les données multimédias (audio, vidéo) peuvent tolérer un certain niveau de dégradation sans que les capteurs sensoriels (oeil, tympan, etc.) ne discernent une dégradation significative.

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 occurrences 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.


Enfin un encodeur semi-adaptif construira celui-ci en fonction des données à compresser : il construit le dictionnaire en parcourant le fichier, puis compresse ce dernier.


A voir également :


Data compression
Data compression
La compresión de datos
La compresión de datos
Datenkomprimierung
Datenkomprimierung
Compressione di dati
Compressione di dati
Compressão de dados
Compressão de dados
Ce document intitulé «  Compression de données  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.