Le principe exposé ici concerne les images matricielles1 à 2 dimensions, qui sont couramment utilisées en informatique. Il existe d’autres types d’images.
Principe
L’image matricielle ou « bitmap2 » en anglais, est la façon la plus simple de coder une image en informatique. L’image est représentée sous la forme d’un ensemble de points contenus dans un tableau. On retrouve ce type d’image dans le format BMP.
Le Pixel3
Chaque case de l’image matricielle est appelée pixel. Chaque pixel est alors décrit par un nombre. La façon la plus simple de coder une image est alors d’utiliser le 1 pour indiquer que la case est pleine et le 0 pour le vide. Dans l’exemple ci-contre, l’image est composée de 64 pixels.
La définition de l’image
La définition d’une image correspond à sa dimension en hauteur et largeur, exprimée en pixels.
Plus l’image comporte de pixels, plus elle sera détaillée, mais plus elle sera « lourde » informatiquement également. La place occupée en mémoire et en stockage sera plus importante, le temps d’affichage ou de transfert sera plu long.
L’exemple précédent correspond à une définition de 8×8, soient 64 pixels. Une image définie sur 800 colonnes et 600 lignes (800×600) est donc composée de 480 000 pixels. Une image de 3 000 pixels de large et 2 000 pixels de haut aura une définition de 6 MegaPixels.
La couleur
Le codage des images en couleur reprend le même principe en associant chaque couleur à un nombre. Dans ce nouvel exemple, 4 couleurs sont nécessaires (blanc, noir, rouge et bleu). En binaire, 2 bits sont nécessaires pour coder 4 informations différentes4. La palette de couleurs est ainsi codée sur 2 bits. Le nombre de bits nécessaires au codage des couleurs d’une image dépend donc du nombre de couleurs à représenter (palette).
Le codage
Dans le premier exemple, l’image est en noir et blanc. La palette est donc composée de seulement 2 couleurs. Chaque pixel est codé sur 1 bit (0 ou 1). Dans le second exemple, l’image est composée de 4 couleurs et nécessite donc 2 bits pour coder la palette.
Le codage RVB
Le codage RVB (RGB en anglais) est très utilisé. Son principe repose sur la décomposition d’une couleur en 3 composantes Rouge, Vert et Bleu. Chacune de ces composantes est représentée par un nombre de 0 à 255 et codée sur 8 bits (1 octet). Ce codage sur 3 octets (24 bits) permet donc de disposer d’une palette de 16 777 216 ( 224 )
Codage | Palette de couleurs | |
1 bits | → 21 | 2 |
2 bits | → 22 | 4 |
4 bits | → 24 | 16 |
8 bits | → 28 | 256 |
16 bits | → 216 | 65 536 |
Poids d’une image
Le poids d’une image représente la quantité de mémoire nécessaire pour la stocker. Il dépend donc du nombre de pixels (définition) et de couleurs utilisées (codage).
Plus la définition sera importante, plus la place occupée en mémoire sera importante. Plus le nombre de couleurs sera élevé, plus la place occupée en mémoire sera importante.
Calcul du poids
L’image en noir et blanc nécessite 64 pixels codés sur 1 bit. Elle occupera donc 64 bits en mémoire, ce qui représente 8 octets.
La seconde image, elle en couleur, nécessite toujours 64 pixels mais est codée sur 2 bits. Elle occupera donc 256 bits en mémoire ( 8 x 8 x 2 = 128), ce qui représente 16 octets.
De façon générale, on pourrait calculer le poids de l’image à l’aide de la formule :
Nombre de colonnes x nombre de lignes x nombre de bits ÷ 8 (5)
Ainsi, le poids d’une image dont la définition serait 800 x 600 et qui serait codée sur 16 bits (256 couleurs) serait de 960 000 octets ( 800 x 600 x 16 ÷ 8), soit 960 Ko ou 0,96 Mo.
La même image utilisant un codage RVB occuperait 1 440 000 octets soit 1,44 Mo (3 fois plus de place).
Compression d’images
Le poids d’une image matricielle peut rapidement devenir important.
- Le format BMP est un format non compressé. Il est donc plus lourd.
- Le format JPEG, très répandu, propose une compression. Il permet de réduire le poids d’une image mais avec une certaine perte de qualité (fonction du taux de compression).
- Le format PNG, très utilisé sur Internet, est également un format compressé, mais sans perte d’information. Les images générées sont donc logiquement un peu plus lourdes. L’avantage par rapport au JPEG, est qu’il gère la transparence (opacité).
Pour aller plus loin
Données & Métadonnées
Un fichier d’image informatique contient toujours un en-tête où sont enregistrées différentes informations nécessaires au bon décodage de l’image. On y retrouve entre autres, le nombre de bits par pixels dans l’image, le type de compression utilisé, le nombre de couleurs dans la palette, la largeur et la hauteur de l’image… Voir la partie Convention de la fiche 05 encodage informatique d’un texte.
Les appareils photos numériques enregistrent également d’autres données (données EXIF) dans le fichier informatique. Elles indiquent entre autres, les données relatives à la prise de vue (focale, ouverture, exposition, orientation, date, heure, lieu…)
Résolution
Un confusion est souvent faite entre la définition d’une image et sa résolution.
La résolution est une valeur représentant une densité de points (ou pixels) sur une longueur donnée. Elle s’exprime en points par pouce (PPP ou DPI pour les anglophones : dot per inch). Cette valeur n’est utile que lorsqu’on imprime l’image. (1 pouce correspond à 2,54 cm). La résolution n’a aucun impact sur le poids d’une image !. Avec résolution de 300 ppp, 300 pixels occupent 2,54 cm alors qu’avec une résolution de 96 ppp, seulement 96 pixels occupent la même longueur.
Dimension = Définition ÷ Résolution
Définition de l’image | Résolution | Taille d’impression |
---|---|---|
300 x 200 pixels | 300 ppp | 2,54 x 1,7 cm |
300 x 200 pixels | 96 ppp | 7,94 x 5,29 cm |
Pour une même image, plus la résolution est élevée
- Plus l’image imprimée sera petite (les pixels seront plus « serrés »).
- Plus les détails seront précis.
Les images vectorielles
Ces images sont composées d’objets géométriques (segments, courbes, polygones…), possédant des attributs (position, couleur, remplissage…). Contrairement à une image matricielle, une image vectorielle peut être agrandie indéfiniment, sans perte de qualité.
LadyofHats [Domaine Public] Wikimedia.org
- Une image matricielle est définie par un tableau (matrice). L’analogie avec la mosaïque peut être faite. ↩︎
- Mot constitué de « bit » (élément numérique) et « map » (carte). ↩︎
- Mot provenant de l’anglais « picture element » (élément d’image) ↩︎
- Voir l’article « le binaire » ↩︎
- 1 octet correspond à 8 bits. Voir la fiche « le binaire » ↩︎
[pdf-embedder url= »https://www.openedu.fr/wp-content/uploads/2019/11/08_encodage_informatique_image.pdf »]