Читать книгу Informationswissenschaft: Theorie, Methode und Praxis / Sciences de l'information: théorie, méthode et pratique - Группа авторов - Страница 33
Algorithmes de compression4
ОглавлениеDécrire une image matricielle nécessite une grande quantité de données. En effet, puisqu’une image est composée d’un très grand nombre de pixels qui ont tous une couleur parmi un nombre de couleurs qui peut être gigantesque, le poids d’une image peut être très important. Par exemple, à une résolution de 300 ppp, 5 une image de 10 cm x 15 cm est composée de plus de 2 millions de pixels. Si chaque pixel peut avoir une couleur dans un ensemble de plus de 16 millions de couleurs (un cas tout-à-fait usuel pour les images naturelles), il est alors nécessaire de disposer de 24 bits par pixel.6 Un calcul montre que l’on obtient un fichier d’un poids de plus de 6 Mo.
C’est considérable, et cela pose la question du stockage des images lorsqu’elles sont en grande quantité, et aussi celle de leur transmission à travers un réseau. Pour y répondre, une intense activité de recherche est menée dans le domaine de la compression des données numériques. En effet, on peut (et il faut!) se demander s’il est possible de décrire une image de manière plus économique. Les succès dans ce domaine de recherche sont grands, et il est aujourd’hui courant de compresser efficacement les images matricielles avec toute sorte d’algorithmes de compression.
Essentiellement, il existe deux types d’algorithmes de compression: les algorithmes «sans perte», et les algorithmes «avec perte». Les algorithmes sans perte permettent de conserver la totalité de l’information originale, alors que les algorithmes avec perte ne permettent pas de retrouver l’image originale. L’utilisation de ce deuxième type d’algorithme permet des taux de compression spectaculaires.
Mais la compression est un sujet délicat dans le monde des archives et des bibliothèques puisqu’elle est souvent considérée comme un élément à éviter dans le cadre de l’archivage à long terme.7
De sorte à permettre une meilleure appréhension du sujet, quelques algorithmes simples et standards sont brièvement présentés dans la suite de cet article.
Pour ce faire, rappelons que toute information numérique se présente sous la forme d’une suite de 0 et de 1. Une telle suite est appelée un mot dans l’alphabet {0,1}. Le nombre de 0 et de 1 qui forment un mot est appelé la longueur de ce mot. Un algorithme de compression a comme objectif de remplacer un mot contenant une information d’intérêt par un mot d’une longueur plus faible. De plus, ce remplacement doit se faire sans perte d’information, ou avec une perte acceptable. Pour obtenir cet effet de compression, l’idée est de supprimer toutes les formes de redondance qui apparaissent.
Il est à noter qu’il est impossible de définir un algorithme de compression capable de remplacer n’importe quel mot par un mot de longueur plus faible. Plus précisément, cela est impossible sans perte d’information. En d’autres termes, pour tout algorithme de compression sans perte d’information, il existe au moins un mot que l’algorithme n’arrive pas à remplacer par un mot de longueur plus petite (en fait, il est possible de prouver que pour tout algorithme sans perte, il existe un nombre infini de mots qui ne peuvent pas être compressés en des mots de longueur plus faible).
Cela veut dire qu’avant de définir un algorithme de compression, il faut déterminer quel type d’information il s’agit de compresser. Certains algorithmes sont efficaces pour compresser du texte, alors que d’autres sont particulièrement efficaces pour compresser des images. Et parmi les algorithmes efficaces pour compresser les images, certains sont spécifiquement construits pour compresser des images qui représentent du texte en noir/blanc, alors que d’autres sont efficaces pour des images non-textuelles. En effet, tout type de données a un genre de redondance particulier dont il s’agit de tirer profit au mieux. Comme premier exemple, voyons l’algorithme de compression suivant.