Introduction à l'informatique

TP2 - CODAGE DE L'INFORMATION
Exemple du codage des caractères
et des images Bitmap


1- Codage des caractères

1.1 Le code ASCII standard

Initialement le codage des caractères utilise un code numérique de 7 bits : le code ASCII standard (ASCII = American Standard Code for Information Interchange).

  1. Combien le code ASCII compte-t-il de caractères ?
  2. Sachant que le code hexadécimal du caractére E est 45, donner sa valeur en binaire puis en décimal.
  3. Inversement le caractère e est codé 101 en décimal, donner sa valeur en binaire puis en hexadécimal.
Voir code ASCII

Le code ASCII étendu

Ce code 8 bits a été créé afin d'intégrer des caractères accentués (ü, î, Å, ...), des caractères utilitaires (£, ½, «, ...) et des caractères semi-graphiques qui permettent de tracer des tableaux ou des dessins sur les écrans ne pouvant afficher que du texte (░, ▒, ╚, ╬, ╗, ...).

  1. Combien y a-t-il de caractères en plus par rapport au code standard ?
Voir code ASCII étendu

1.2 Le code Unicode

Ce code permet de coder 65536 caractères incluant la plupart des alphabets, des signes topographiques, des signes mathématiques...

table unicode
  1. Combien faut-il de bits pour ce code ?

2- Codage d'une image bitmap

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 : ce mot est la contraction de 'picture elements'. Chaque pixel est décrit par un nombre indiquant sa couleur. Sur un écran, les couleurs sont reproduites grâce à des petits points 'porteur de couleur' appelés les chromophores : un pixel contient 3 chromophores rouge, vert et bleu.

L'image est donc représentée par une série de nombres, chacun représentant la couleur d'un pixel. Les bitmaps existent sous différents formats, selon le nombre de couleurs possibles pour un pixel. Le fichier bitmap contient également un en-tête comprenant différents renseignements, tels que ses dimensions et son format.

Le codage de l'image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne.

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, mais nous n'en parlerons pas ici.

2.1 Bitmap monochrome

Ce format ne connaît que deux couleurs : noir et blanc. C'est pourquoi dans ce format l'en-tête est suivie d'une palette associant un code de couleur, par exemple 0 pour noir et 1 pour blanc, au code RVB nécessaire à l'affichage.

2.1.1 Bases du codage 

Les questions suivantes doivent être traitées en codant 0 pour noir et 1 pour blanc.

  1. Combien faut-il de bits pour coder la couleur d'un pixel dans ce format ?
  2. Combien faut-il d'octets pour stocker une image de 800 sur 600 pixels dans ce format ? Donner le résultat en octets puis en kilooctets.
  3. Quelle suite de digits binaires utilise-t-on pour décrire une alternance de points blancs et noirs ? Quelles sont les deux valeurs possibles pour un octet décrivant une alternance de points blancs et noirs ? (donner cette valeur en binaire, puis en hexadécimal).
  4. Ecrire en hexadécimal
    1. la suite d'octets binaires représentant une suite de 32 points noirs.
    2. la suite d'octets binaires représentant une suite de 32 points blancs.
    3. la suite d'octets binaires représentant une suite de 32 points alternativement blancs et noirs, commençant par un point blanc.
  5. Dessinez l'image noir et blanc de 10 lignes de 16 pixels dont le codage hexadécimal est (attention on commence en haut à gauche): FDDA 5DDD B8CF F8CF F047 3047 1DDC 0000 1249 8003. Que représente cette image ?

2.1.2 Codage hexadécimal

Les questions suivantes doivent être traitées en codant 1 pour noir et 0 pour blanc. Les opérations se font à partir d'un terminal.
  1. Créer un répertoire ~/Bureau/Stockage/L1/IntroInfo/TP2 et copier dedans l'image /home/IntroInfo/TP2/image_noire.im1.  
  2. Se déplacer dans votre répertoire IntroInfo/TP2.
  3. Ouvrir le fichier avec le programme eog (oui, elle est noire. Résolution 16x10) pour visualiser l'image.
  4. Quitter eog et dupliquer l'image vers image_music.im1 (qui sera l'image de travail).
  5. Charger l'image image_music.im1 avec l'éditeur ghex (ou autre !).
  6. Une fois le code du fichier image_music.im1 dans l'éditeur, remplacer tous les FF en fin de fichier par les codes hexa qui encodent l'image ci-dessous. Sauver régulièrement l'image pour la visualiser avec eog.

    Musiciens !

2.3 Bitmap 16 couleurs

Remarque : dans ce format comme dans le précédent l'en-tête est suivie d'une palette décrivant le code RVB des couleurs utilisables.

  1. Combien faut-il de bits pour coder la couleur d'un pixel dans ce format ?
  2. Combien faut-il de chiffres pour coder la couleur d'un point en hexadécimal ?
  3. Combien faut-il d'octets pour stocker une image de 800 sur 600 pixels dans ce format ? Donner le résultat en octets puis en kilooctets.

2.4 Bitmap couleurs réelles

Dans ce format chaque chromophore est codé sur un octet, ce qui signifie qu'il faut 3 octets pour coder chaque pixel, en prenant soin de respecter l'ordre de l'alternance bleu, vert et rouge.

  1. Combien peut-on coder de couleurs différentes dans ce format ?
  2. Combien faut-il d'octets pour stocker une image de 800 sur 600 pixels dans ce format ? Donner le résultat en octets, en kilooctets puis en mégaoctets.
  3. Ce format de couleur est repris par de nombreux langages, en général en hexadécimal. Par exemple en HTML la valeur de couleur FFFFFF est du blanc, FF0000 du rouge vif, 00FF00 du vert et 0000FF du bleu vif. Quel sera en HTML le code du jaune vif sachant qu'il résulte de la superposition du rouge vif et du vert ? Donner également les valeurs binaires et décimales de ce code.
  4. Soit un pixel de couleur orange dont les trois couleurs de bases (RVB) sont : 255, 128,0. Donner les valeurs binaires et hexadécimales correspondantes.

Liens utiles

Codage Image

http://www.commentcamarche.net/video/format-bmp.php3

http://www.techno-science.net/index.php?onglet=articles&article=9&page=2

Logiciels utilisés

Ghex : http://developer.gnome.org/ghex/3.6/ghex-getting-started.html.fr

Eye of Gnome (eog) : http://projects.gnome.org/eog/
Sophie Millet Samson Pierre Cong Duc Pham Eric Gouardères Meriem Halilali Amine Medad