Le codage des données en informatique

2x

matrixPour bien comprendre le codage des données informatiques et notamment les données numériques photo, vidéo, audio ,etc…, il convient de comprendre globalement le fonctionnement des systèmes informatiques.

Par exemple, allez comprendre pourquoi une photo de 5Mp (Mégapixels) à un poids de 2,3Mo (Mégaoctets)…?!?L’informatique, ce sont des composant électroniques connectés entre eux et à des terminaux. Il sont alimentés par de l’énergie électrique et reçoivent des données d’une part pour les retransmettre d’autre part soit à un autre composant soit à un terminal créant l’interface avec l’utilisateur.

1. Le langage informatique

Les données sont sous forme de signaux électriques de faible puissance.
On dit souvent qu’un ordinateur ne communique qu’avec des 0 et des 1… une communication binaire donc. C’est effectivement comme ça que ça se passe. Toute information transmise est codée avec des 0 et des 1 !
Ca ressemble un peu à du morse en fait, sauf que plutôt que de décrire une information par une suite d’impulsions courtes et longues pouvant varier en nombre d’impulsions, on définit chaque information par une suite de 8 caractères variant uniquement entre les valeurs 0 et 1.

Exemple:
En Morse on code en impulsions:

morse_Ala lettre A par: Impulsion courteImpulsion longue

 

morse_1le chiffre 1 par: Imp.CourteImp.LongueImp.LongueImp.LongueImp.Longue 

En informatique on code en octets de 0 et de 1:

la lettre A par: 01000001
le chiffre 1 par: 00110001

Concrètement ?
Concrètement, 0 est traduit par l’absence de signal électrique et 1 par la présence de signal électrique.

Chronogramme-binaire_e
code 01100101 => e

 

2. En quelles unités de mesure parle-t-on?

Bit (contraction de binary digit)
Chiffre binaire ne pouvant donc prendre que 2 valeurs: 0 ou 1 ce qui équivaut à Oui/Non ou encore « Présence d’un signal »/ »Pas de signal », Éteint/Allumé, Vertical/Horizontal, …

Byte
« Le Byte est la plus petite unité adressable d’un ordinateur. »
Il peut contenir plusieurs Bits. En évoluant, l’informatique s’est accordé sur une quantité de 8bits dans 1Byte. La plus petite information stockée par un ordinateur ne peut donc pas être inférieure à 1B et toutes les informations informatiques seront stockées en de mutliples Bytes.

Octet
Un octet est un regroupement de 8bits.

Différence Byte / Octet
L’Octet diffère du Byte du fait qu’il est toujours constitué de 8bits tandis que le Byte est une unité de stockage qui peut contenir un nombre variable de bits. En télécommunication par exemple, il peut contenir 8 ou 9 bits.

Attention confusion (en informatique)
1octet = 1 Byte = 8bits  =>  1Mo = 1MB = 8 Mb
¡¡¡ De nombreux médias font la confusion entre toutes ces unités. !!!
Si j’achète un disque de stockage de 1Tb il fera en fait 125 Go ;)

Nom Multiples Valeur possible
bit b, Kb, Mb, Gb,… 0, 1
Byte B, KB, MB, GB,… 000 (3bit), O1O11O(6bit), 01001101 (8bits), 010010101(9bits)
octet o, Ko, Mo, Go,… 00000000, 01001101, 01010101, …

— > Voir maintenant l’Application aux couleurs en codage des photographies numériques (Pas encore en ligne)

Combien de possibilités de valeurs différentes donne ce langage binaire sur 8 bits ?

On a bien compris que toute information est codée en octets ou bytes. Mais pourquoi s’est-on arrêté à cette composante de 8 bits ?

2x1 bit, c’est un nombre pouvant prendre soit la valeur 0, soit la valeur 1 donc 2 valeurs différentes.
2 bits, c’est une chaine composée de deux nombres pouvant chacun prendre soit la valeur 0, soit la valeur 1. Sur 2 bit on peut donc obtenir 00, 01, 10, 11 soit 2*2=2^2= 4 valeurs différentes.
3 bits c’est une chaine de 3 nombres égaux à 0 ou 1 soit 000, 001, 011, 111, 110, 100, 010, 101 et donc 2*2*2=2^3=8 possibilités !
– 4 bits on a 2^4=16 valeurs différentes
5 bits -> 2^5= 32 valeurs
– 6 bits -> 64 valeurs
– 7 bits -> 128 valeurs- 8 bits = 1 octet = 1 Byte informatique => 256 valeurs différentes

Avec les puissance de 2 imposées par la logique binaire du tout ou rien, le nombre d’informations transmises double à chaque bit supplémentaire.

1 octet de données peut donc prendre 256 valeurs différentes. Avec 1 octet on peut donc définir 256 couleurs différentes, 256 symboles différents, 256 types de données, 256 tout ce que l’on veut !
Et avec 2 octets ? Et bien 256*256 = 65 536 informations différentes et 3 octets -> 16 777 216 soit plus de 16 Millions d’informations , 4 -> 4 294 967 296, …

C’est bien beau qu’un octet puisse prendre 256 valeurs, mais pourquoi ne pas s’être arrêté à un septet de 7 bits (64 valeurs) ou un nonet de 9 bits (512 valeurs) ?
Cette réponse est débattue dans le post Pourquoi 1 octet ? – a venir

Pour aller plus loin:

Exercice:
Je vous propose d’aller traduire l’information ci-dessous à l’aide du traducteur en ligne
01100100 01100001 01110110 01101001 01100100 00100000 01110100 01110010 01101001 01100010 01100001 01101100 00101110 01100011 01101111 01101101

Ce message comporte 15 caractères codés chacun sur 1 octet. Il comporte donc 15 octets. En l’écrivant dans un fichier texte simplifié et en l’enregistrant mon fichier texte « pèse » 4Ko soit 4000 octets. J’imagine que les 4000-15=3985 octets comportent les informations de date, de format et autres de mon texte.

D’autre part, ce n’est pas parce qu’un fichier comporte 20 Millions de caractères qu’il va peser plus de 20 Mo. En effet une bonne part de ces caractères se répètent. Le format d’enregistrement du fichier aura tout à voir avec la manière d’agencer les informations pour indicer les valeurs des caractères, leurs emplacements etc… pour en faire un fichier « plus léger ».
C’est ainsi que les formats Jpeg et mp3 permettent de « gagner du poids » sur vos fichiers image et audio. Cependant cette « compression » des données engendre des simplifications et donc des pertes de définition, de qualité !!!

Related posts

Pour commenter sans FB c'est ici ? (laissez votre contact si vous le souhaitez)