Expose

Comment est codée une image au format bmp

1 Rappel

- Généralités sur le codage En informatique, toute information (texte, image, son.) est codée sous forme binaire, c'est à dire composée de 0 et de 1. L'unité d'information la plus petite est appelée un bit (« binary digit »), une série de 8 bits est appelée un octet (en anglais byte). Un octet permet de stocker un caractère, telle qu'une lettre, un chiffre.

1.1Comment l'information est-elle codée en binaire ?

Pour ce qui est des nombres, cette opération s'effectue via une reconversion en base 2. Un entier naturel est un entier positif ou nul. Le nombre de bits à utiliser dépend de la fourchette des nombres que l'on désire utiliser.

- Avec un bit, il est possible d'obtenir 2 (= 21 ) valeurs : 0 et 1 - Avec 2 bits, il est possible de représenter 4 (= 2²) valeurs différentes : 00, 01, 10 et 11 - Avec un octet (8 bits), il est possible de représenter 256 (= 28 ) valeurs, soit des nombres entiers compris entre 0 et 255 - Pour un groupe de n bits, il est possible de représenter ___ valeurs, soit des nombres entiers compris entre 0 et ____

2 Les images

2.1 Le codage des images

  

2.1.1 Deux catégories de codage d'images

On distingue 2 grandes catégories de codage d'images :

- Le codage vectoriel : l'image est codée par un ensemble de formules mathématiques

- Le codage Bitmap ou matriciel : l'image est codée comme un tableau de points

image vectorielle                bitmap

Exemple : représentation d'un cercle en codage vectoriel ou de type bitmap

2.1.2 Le codage Bitmap (ou codage matriciel)

2.1.2.1 Principe

Bitmap signifie « carte de bits ». C'est la façon la plus simple de coder une image : l'image est décrite point par point. Les points d'une image sont appelés des pixels (« picture elements »). Chaque pixel est décrit par un nombre indiquant sa couleur. L'image est donc représentée par une série de nombres. Le codage de l'image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne, en commençant par le pixel en bas à gauche. Le codage est simple mais l'image bitmap occupe beaucoup de place mémoire : les pixels sont petits, donc nombreux ! Ce qui explique la nécessité de compression.

2.1.2.2 Les 3 paramètres

Pour les images bitmap, il y a 3 paramètres :

- le nombre de colonnes

- le nombre de lignes

- le nombre de couleurs par pixel

Les deux premiers paramètres donnent la définition de l'image, c'est-à-dire le nombre total de pixels

(nombre de lignes * nombre de colonnes, par exemple : 800*600 = 480 000)

2.1.2.3 Le codage de la couleur

Chaque case du tableau contient une valeur qui représente la couleur du pixel associé. Selon le nombre de couleurs autorisées, la valeur est stockée sur un certain nombre de bits. Les bitmaps existent donc sous différents formats, selon le nombre de couleurs possibles pour un pixel. Le nombre maximum de couleurs autorisées pour une image est donc égal à 2^nombre de bits par case .

Bitmap noir et blanc : Chaque case contient 1 bit (0 ou 1) permettant de définir 2 couleurs : noir ou blanc.

Bitmap 16 couleurs : chaque case contient 4 bits permettant de définir 16 couleurs (24 possibilités).

Bitmap 256 couleurs : chaque case contient 8 bits (1 octet) permettant de définir 256 couleurs (28 possibilités).

Avec un codage RVB (Rouge, Vert, Bleu) on peut attribuer 3 valeurs à chaque pixel : Rouge (de 0 à 255), Vert (de 0 à 255)

et Bleu (de 0 à 255).

2.1.2.4 Taille en octets d'une image Bitmap

La taille en octets d'une image Bitmap se définit ainsi : Nb_de_colonnes * Nb_de_lignes * Nb_de_bits_par_pixel / 8 = Nb de pixels

Exemple : représentation d'un cercle en bitmap noir et blanc

La taille de l'image est un paramètre important à considérer pour des raisons de stockage sur le disque dur (emplacement disponible) mais aussi lors de la construction d'un site Web. Lorsqu'on affiche des images sur une page Web, il faut se poser la question de la durée du chargement des fichiers

2.2 La compression d'images numériques

2.2.1 Principe général de la compression

Les données (texte, son, images, vidéo, programmes) ont besoin d'être compressées pour des raisons d'espace de stockage et parfois de vitesse de transfert. La compression consiste à réduire la taille d'un fichier numérique à l'aide de diverses techniques.

La plupart sont basées sur des formules mathématiques qui permettent de traiter les redondances (c'est-à-dire les éléments qui apparaissent plusieurs fois à l'identique) en les remplaçant par des codes plus courts. Ceci permet, après une étape de décompression, de récupérer le fichier tel qu'il était initialement (compression sans perte, par exemple la compression ZIP utilisable sur tous types de données).

TEST

image crée sur paint (enregistré en BMP)

resultat sur hex Editor Neo (Un editeur hexadécimal )

Les deux premiers octet "42 4D" sont la signature de ce type de fichier "BM" en Ascii. Il signifie que l'on a une image au format BMP. Le "66" est la taille de l'image (66 en hexadécimal donne 102 en décimal). Les deux "0A" sur la ligne 00000010 sont les dimension de l'image (0A en hexadecimal donne 10 en décimal). Le "01" qui suit est le nombre de plan (toujours à 1). le "01" suivant indique le nombre de bit par pixel, ici 1 signifie monochrome (2 couleurs). Les FF sont les pixels noirs et les 00 sont les pixels blancs