La compression d'images numériques - Binaire, hexadécimale et ascii
TPE 2002
Site optimisé pour Internet Explorer 5 et pour une résolution de 1024 x 768

HOMEPAGE
Sommaire
Introduction

Les images

Binaire, hexadécimale et ascii
Image numérique
Le canon à électrons
Images et couleurs


Compression
Introduction

Sans pertes
Méthodes basées sur les répétitions
Méthodes de type dictionnaire
Méthodes statistiques

Avec pertes
La compression JPEG
La compression fractale
La compression par ondelettes

CONCLUSION
Conclusion
Bibliographie

 


 

 


a) Le binaire

Vers la fin des années 30, Claude Shannon démontra qu'à l'aide de "contacteurs" (interrupteurs) fermés pour "vrai" et ouverts pour "faux" on pouvait effectuer des opérations logiques en associant le nombre " 1 " pour "vrai" et "0" pour "faux". Ce langage est nommé langage binaire. C'est avec ce langage que fonctionnent les ordinateurs. Il permet d'utiliser deux chiffres (0 et 1) pour faire des nombres. L'homme travaille quant à lui avec 10 chiffres (0,1,2,3,4,5,6,7,8,9), on parle alors de base décimale.



b) Le bit

Bit signifie "binary digit", c'est-à-dire 0 ou 1 en numérotation binaire. C'est la plus petite unité d'information manipulable par une machine.

On peut les représenter physiquement:

- par une impulsion électrique, qui, lorsqu'elle atteint une certaine valeur, correspond à la valeur 1.
- par des trous dans une surface.
- grâce à des bistables, c'est-à-dire des composants qui ont deux états d'équilibre (un correspond à l'état 1, l'autre à 0).

 

Le nombre d'état possible varie en fonction du nombre de bit.

Avec un bit on peut avoir soit 1, soit 0.
Avec 3 bits on peut avoir huit états différents (2*2*2 ou 2^3):

Etats possibles
000
001
010
011
100
101
110
111


Avec huit bits on a 2^8 ou 2*2*2*2*2*2*2*2=256 possibilités, c'est ce que l'on appelle un octet.

Voici le tableau des 40 premiers états binaire possibles avec entre parenthèse les correspondant en décimale

00000000 (0)
00001010 (10)
00010100 (20)
00011110 (30)
00000001 (1)
00001011 (11)
00010101 (21)
00011111 (31)
00000010 (2)
00001100 (12)
00010110 (22)
00100000 (32)
00000011 (3)
00001101 (13)
00010111 (23)
00100001 (33)
00000100 (4)
00001110 (14)
00011000 (24)
00100010 (34)
00000101 (5)
00001111 (15)
00011001 (25)
00100011 (35)
00000110 (6)
00010000 (16)
00011010 (26)
00100100 (36)
00000111 (7)
00010001 (17)
00011011 (27)
00100101 (37)
00001000 (8)
00010010 (18)
00011100 (28)
00100110 (38)
00001001 (9)
00010011 (19)
00011101 (29)
00100111 (39)

Cette notion peut être étendue à n bits, on a alors 2^n possibilités.




c) L'octet

L'octet est une unité d'information composé de 8 bits. Il permet de stocker un caractère, telle qu'une lettre, un chiffre.Ce regroupement de nombres par série de 8 permet une lisibilité plus grande, au même titre que l'on apprécie, en base décimale, de regrouper les nombres par trois pour pouvoir distinguer les milliers. Parexemple le nombre 1 256 245 est plus lisible que 1256245.

Remarque

Une unité d'information composée de 16 bits est généralement appelée mot (en anglais word)
Une unité d'information de 32 bits de longueur est appelée double mot (en anglais double word, d'où l'appelation dword).

d) La base hexadécimale

Les nombres binaires étant de plus en plus longs, il a fallu introduire une nouvelle base: la base hexadécimale. La base hexadécimale consiste à compter sur une base 16, c'est pourquoi au-delà des 10 premiers chiffres on a décidé d'ajouter les 6 premières lettres : A,B,C,D,E,F.).

Base décimale
0
1
2
3
4
5
6
7
Base hexadéciamale
0
1
2
3
4
5
6
7
Base binaire codée sur 4 bits
0000
0001
0010
0011
0100
0101
0110
0111
Base décimale
8
9
10
11
12
13
14
15
Base hexadéciamale
8
9
A
B
C
D
E
F
Base binaire codée sur 4 bits
1000
1001
1010
1011
1100
1101
1110
1111

 

e) Le code ascii

La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son équivalent en code numérique: c'est le code ASCII (American Standard Code for Information Interchange - traduisez " Code American Standard pour l'Echange d'Informations"). Le code ASCII de base représentait les caractères sur 7 bits (c'est-à-dire 128 caractères possibles, de 0 à 127). Le code ASCII a été mis au point pour la langue anglaise, il ne contient donc pas de caractères accentués, ni de caractères spécifiques à une langue. Pour coder ce type de caractère il faut recourir à un autre code. Le code ASCII a donc été étendu à 8 bits (un octet) pour pouvoir coder plus de caractères (on parle d'ailleurs de code ASCII étendu...). Ce code attribue les valeurs 0 à 255 aux lettres majuscules et minuscules, aux chiffres, aux marques de ponctuation et aux autres symboles (caractères accentués dans le cas du code iso-latin1).