Vous êtes sur la page 1sur 23

Codage de l’information

1 CODAGE: LA THÉORIE DE L'INFORMATION

1.1 Quantifier l’information

Il faut se donner une unité élémentaire d'information. En informatique, le choix s'est porté sur le bit (0 ou 1) qui permet de traduire deux états physiques

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)

Avec un bit on peut avoir soit 1, soit 0.

Avec 2 bits on peut avoir quatre états différents (2*2 = 2 2 ):

0 0 0 1 1 0 1 1
0
0
0
1
1
0
1
1
 

0

0 0

0

0 1

0

1 0

0

1

1

1

0 0

Avec 3 bits on peut avoir huit états différents (2*2*2 = 2 3 ):

1

0 1

1

1 0

1

1

1

Avec huit bits on a 2*2*2*2*2*2*2*2= 2 8 = 256 possibilités

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

La fonction qui, à un nombre n de dispositifs fait correspondre le nombre de combinaisons possibles

est du type :

f :

n

2 n

Sa fonction réciproque

g :

k

log 2 (k) permet donc de faire correspondre un nombre

de combinaisons possibles k au nombre de bits nécessaires.

On peut calculer ainsi le nombre de bits nécessaires pour coder une information.

Pour coder un alphabet de 26 lettres et 6 signes de ponctuation il faut log 2( 32) dispositifs soit 5 bits.

Le regroupement de chiffres par série de 8, que l'on appelle un octet. permet une lisibilité plus grande, au même titre que l'on apprécie, en base décimale, de regrouper les chiffres par trois pour pouvoir distinguer les milliers. Par exemple le nombre 1 256 245 est plus lisible que 1256245.

Il existe deux autres regroupements de bits utilisés pour les traitements internes de l’information :

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).

Quelques exemples de codages :

Pour coder un point (pixel) d'une image qui est noir ou blanc il faut log 2 (2)=1 soit 1 bit Pour coder un point (pixel) d'une image comportant 4 couleurs II faut log 2 (4)=2 soit 2 bits Pour coder un point (pixel) d'une image comportant 256 nuances de gris II faut log 2 (256)=8 soit 8 bits, 1 octet Pour coder un point (pixel) d'une image comportant 256 couleurs II faut log 2 ( 256)=8 soit 8 bits, 1 octet Pour coder un point (pixel) d'une image comportant 65536 couleurs II faut log 2 ( 65536)= 16 soit 16 bits donc 2 octets ou 1 word remarque Un fichier image comportant 65636 couleurs sera le double en taille d'un fichier comportant 256 couleurs et non 256 fois plus grand (65536 =256 2 )

1.2 Les unités de mesure de l'information

1 bit unité élémentaire (représenté par 0 ou 1) un octet (ou byte) = 8 bits un mot (ou word) = 16 bits un mot double (ou dword) = 32 bits

Un kilo-octet (Ko) ne vaut pas 1000 octets mais 2 10 = 1024 octets

Un méga-octet (Mo) vaut Un giga-octet (Go) vaut Un tera-octet (To) vaut

1024 Ko = 1 048 576 octets 1024 Mo = 1 073 741 824 octets 1024 Go = 1 099 511 627 776 octets

2

LES DIFFÉRENTES FORMES D'INFORMATION

Deux types d'informations sont traitées par l'ordinateur : les instructions et les données. Elles sont toujours représentées sous forme binaire.

2.1 Le texte

Les données textes correspondent aux caractères alphanumériques. Le codage est réalisé au moyen d'une table. II existe plusieurs codage

Le plus utilisé est le code ASCII étendu , codage sur 8 bits (un octet) pour pouvoir coder plus de caractères 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).

Les codes 0 à 31 ne sont pas des caractères. On les appelle caractères de contrôle car ils permettent de faire des actions telles que:

o

retour à la ligne (CR)

o

Bip sonore (BEL)

Les codes 65 à 90 représentent les lettres majuscules

Les codes 97 à 122 représentent les lettres minuscules (il suffit de modifier le 5 ème bit pour passer de majuscules à minuscules, c'est-à-dire ajouter 32 au code ASCII en base décimale)

5 è m e bit pour passer de majuscules à minuscules, c'est-à-dire ajouter 32 au code
2.2 Les nombres Les données numériques sont de différents types  Les nombres entiers naturels

2.2 Les nombres

Les données numériques sont de différents types

Les nombres entiers naturels

Les nombres entiers relatifs

Les nombres fractionnaires

Les nombre en notation scientifique.

Le codage ne s'effectue pas par des tables mais par des algorithmes associés au type de la donnée

On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci puisse les stocker, les manipuler. Toutefois le problème est qu'un nombre mathématique peut être infini (aussi grand que l'on veut), mais la représentation d'un nombre dans un ordinateur doit être fait sur un nombre de bits prédéfini. Il s'agit donc de prédéfinir un nombre de bits et la manière de les utiliser pour que ceux-ci servent le plus efficacement possible à représenter l'entité. Ainsi il serait idiot de coder un caractère sur 16 bits (65536 possibilités) alors qu'on en utilise généralement moins de 256

2.2.1 Les nombres entiers naturels

Le choix à faire (c'est-à-dire le nombre de bits à utiliser) dépend de la fourchette des nombres que l'on désire utiliser.

Pour coder des nombres entiers naturels compris entre 0 et 255, il nous suffira de 8 bits (un octet) car

2 8 =256. D'une manière générale un codage sur n bits pourra permettre de représenter des nombres entiers naturels compris entre 0 et 2 n -1.

Pour représenter un nombre entier naturel après avoir défini le nombre de bits sur lequel on le code, il suffit de ranger chaque bit dans la cellule binaire correspondant à son poids binaire de la droite vers la gauche, puis on "remplit" les bits non utilisés par des zéros.

Exemple : le nombre 65 s’écrit en binaire 1000001 et sera codé par l’octet 01000001

On est limité par les capacités de traitement de la machine. Dans le cas où l'ordinateur travaille avec des registres de 16 bits (blocs de mémoire que l'ordinateur peut adresser.) On ne peut pas dépasser la valeur de 2 16 soit 65535 (plus grand nombre que l'on puisse coder). Si on essaie une opération dont le résultat est supérieur on a un dépassement de capacité (Overflow).

2.2.2 Les nombres entiers relatifs

Un entier relatif est un entier pouvant être positif ou négatif. Il faut donc coder le nombre de telle façon que l'on puisse savoir s'il s'agit d'un nombre positif ou d'un nombre négatif, et il faut de plus que les règles d'addition soient conservées. L'astuce consiste à utiliser un codage que l'on appelle complément à deux.

un entier relatif positif ou nul sera représenté en binaire (base 2) comme un entier naturel, à la seule différence que le bit de poids fort (le bit situé à l'extrême gauche) représente le signe. Il faut donc s'assurer pour un entier positif ou nul qu'il est à zéro (0 correspond à un signe positif, 1 à un signe négatif).

D'une manière générale le plus grand entier relatif positif codé sur n bits sera 2 n-1 -1 donc codé sur un octet ce sera 2 7 -1=128-1=127

Exemple : le nombre +65 sera codé par l’octet 01000001 donc identique à l’entier naturel 65.

un entier relatif négatif sera représenté grâce au codage en complément à deux.

Principe du complément à deux: soit à représenter un nombre négatif. (-65)

o

Prenons son opposé (son équivalent en positif) donc 65

o

On le représente en base 2 sur n-1 bits soit 01000001

o

On complémente chaque bit (on inverse, c'est-à-dire que l'on remplace les zéros par des 1 et vice-versa) ce qui donne 10111110

o

On ajoute 1 ce qui donne 10111111 (remarquer le bit du signe à 1 donc -)

On remarquera aussi qu'en ajoutant le nombre et son complément à deux on obtient 0

01000001

10111111

00000000

(avec une retenue de 1

)

2.2.3 Le son

Le son est une vibration de l'air, c'est-à-dire une suite de surpression et de dépressions de l'air par rapport à une moyenne, qui est la pression atmosphérique. D'ailleurs pour s'en convaincre, il suffit de placer un objet bruyant (un réveil par exemple) dans une cloche à vide pour s'apercevoir que l'objet initialement bruyant n'émet plus un seul son dès qu'il n'est plus entouré d'air!

La façon la plus simple de reproduire un son actuellement est de faire vibrer un objet. De cette façon un violon émet un son lorsque l'archet fait vibrer ses cordes, un piano émet une note lorsque l'on frappe un touche, car un marteau vient frapper une corde et la faire vibrer.

Pour reproduire des sons, on utilise actuellement des haut-parleurs. Il s'agit en fait d'une membrane reliée à un électro-aimant, qui, suivant les sollicitations d'un courant électrique va aller en avant et en arrière très rapidement, ce qui provoque une vibration de l'air situé devant lui, c'est-à-dire du son!

de cette façon on produit des ondes sonores qui peuvent être représentées sur un graphique comme les variations de la pression de l'air (ou bien de l'électricité dans l'électro-aimant) en fonction du temps. On obtient alors une représentation de la forme suivante:

On obtient alors une représentation de la forme suivante: Cette représentation d'un son est appelée audiogramme

Cette représentation d'un son est appelée audiogramme. On peut remarquer qu'un audiogramme présente une fréquence fondamentale, à laquelle se superposent des fréquences plus élevées, appelées harmoniques.

C'est ce qui permet d'arriver à distinguer plusieurs sources sonores: les fréquences graves auront des fréquences basses, et les sons aigus des fréquences élevées

Echantillonnage du son

Pour pouvoir représenter un son sur un ordinateur, il faut arriver à le convertir en valeurs numériques, car celui-ci ne sait travailler que sur ce type de valeurs. Il s'agit donc de relever des petits échantillons de son (ce qui revient à relever des valeurs de pression) à des intervalles de temps précis. On appelle cette action l'échantillonnage ou numérisation du son. L'intervalle de temps entre deux échantillon est appelé taux d'échantillonnage. Etant donné que pour arriver à restituer un son qui semble continu à l'oreille il faut des échantillons tous les quelques 100 000 ème de seconde, il

est plus pratique de raisonner sur le nombre d'échantillons par seconde, exprimés en Hertz (Hz). Voici quelques exemples de taux d'échantillonnage et de qualités de son associées:

Taux d'échantillonage

44000

Hz

Qualité du son qualité CD

22000

Hz

qualité radio

8000 Hz

qualité téléphone

La valeur du taux d'échantillonnage, pour un CD audio par exemple, n'est pas arbitraire, elle découle en réalité du théorème de Shannon, qui stipule que pour numériser fidèlement une valeur ayant une fréquence donnée, il faut numériser au double de cette fréquence. Or l'oreille humaine n'arrive pas à distinguer des sons dont la fréquence dépasse 22 000 Hz, ainsi il faut numériser à 44 Khz!

Représentation informatique du son

A chaque échantillon (correspondant à un intervalle de temps) est associé une valeur qui détermine la valeur de la pression de l'air à ce moment, le son n'est donc plus représenté comme une courbe continue présentant des variations mais comme une suite de valeurs pour chaque intervalle de temps:

comme une courbe continue présentant des variations mais comme une suite de valeurs pour chaque intervalle
L'ordinateur travaille avec des bits, il faut donc déterminer le nombre de valeurs que l'échantillons
L'ordinateur travaille avec des bits, il faut donc déterminer le nombre de valeurs que l'échantillons

L'ordinateur travaille avec des bits, il faut donc déterminer le nombre de valeurs que l'échantillons peut prendre, cela revient à fixer le nombre de bits sur lequel on code les valeurs des échantillons.

Avec un codage sur 8 bits, on a 2 8 possibilités de valeurs, c'est-à-dire 256 valeurs possibles

Avec un codage sur 16 bits, on a 2 16 possibilités de valeurs, c'est-à-dire 65536 valeurs possibles

Avec la seconde représentation, on aura bien évidemment une qualité de son bien meilleure, mais

Avec la seconde représentation, on aura bien évidemment une qualité de son bien meilleure, mais aussi un besoin en mémoire beaucoup plus important.

Enfin, la stéréophonie nécessite deux canaux sur lesquels on enregistre individuellement un son qui sera fourni au haut-parleur de gauche, ainsi qu'un son qui ser diffusé sur celui de droite.

Un son est donc représenté (informatiquement) de plusieurs paramètres:

la fréquence d'échantillonnage

le nombre de bits d'un échantillon

le nombre de voies (un seul correspond à du mono, deux à de la stéréo, et quatre à de la quadriphonie)

Mémoire requise pour stocker un son

Il est simple de calculer la taille d'une séquence sonore non compressée. En effet, en connaissant le nombre de bits sur lequel est codé un échantillon, on connaît la taille de celui-ci (la taille d'un

échantillon est le nombre de bits

).

Pour connaître la taille d'une voie, il suffit de connaître le taux d'échantillonnage, qui va nous permettre de savoir le nombre d'échantillons par seconde, donc la taille qu'occupe une seconde de musique. Celle-ci vaut:

Taux d'échantillonnage x Nombre de bits

Ainsi, pour savoir l'espace mémoire que consomme un extrait sonore de plusieurs secondes, il suffit de multiplier la valeur précédente par le nombre de seconde:

Taux d'échantillonnage x Nombre de bits x nombre de secondes

Enfin, la taille finale de l'extrait est à multiplier par le nombre de voies (elle sera alors deux fois plus

importante en stéréo qu'en mono

La taille en bits d'un extrait sonore est ainsi:

).

Taux d'échantillonnage x Nombre de bits x nombre de secondes x nombre de voies

En conclusion :

Deux facteurs sont importants

La résolution (nombre de bits pour le codage)

La fréquence de l'échantillonnage (nombre de mesures par seconde)

Plus la résolution est élevée, plus on distingue des niveaux différents Plus la fréquence d'échantillonnage est grande plus « on est proche du signal » analogique.

Un CD audio est codé sur 16 bits et 44,1 kHz, c'est à dire 44 100 échantillons par seconde. L'enregistrement stéréo nécessite de coder deux canaux (deux signaux)

1 minute de musique

Calcul de la bande passante = 44100 *16 (2 bytes) *2 (2 canaux)

= 44100*60*2 (2 octets)*2(2 canaux)

= 1,38 Mbits

r

(pour une transmission sans perte) FM fréquence 32 kHz Lecteurs DAT 48 kHz

10 M bytes

2.2.4

Les images :

2.2.4.1 Le fonctionnement de l'oeil humain

Grâce à la cornée (l'enveloppe translucide de l'oeil) et de l'iris (qui en se fermant permet de doser la quantité de lumière), une image se forme sur la rétine. Celle-ci est composée de petits bâtonnets et de cônes.

Les bâtonnets permettent de percevoir la luminosité et le mouvement, tandis que les cônes permettent de différencier les couleurs. Il existe en réalité trois sortes de cônes:

une sorte pour le rouge

une sorte pour le vert

une sorte pour le bleu

Ainsi, lorsqu'un type de cône fait défaut, la perception des couleurs est imparfaite, on parle alors de daltonisme.

2.2.4.2 Synthese additive et soustractive

Il existe deux types de synthèse de couleur:

La synthèse soustractive est le fruit de l'ajout de composantes de la lumière. Les composantes de la lumière sont directement ajoutée à l'émission, c'est le cas pour les moniteurs ou les télévisions en couleur. Lorsque l'on ajoute les trois composantes, on obtient du blanc.

l'on ajoute les trois composantes, on obtient du blanc. ∑ La synthèse additive résulte de l'ajout

La synthèse additive résulte de l'ajout de trois matières de couleurs différentes. Les composantes de la lumière sont donc ajoutées après réflection sur un objet, c'est le cas pour l'imprimerie. Les trois couleurs primaires sont alors le cyan, le magenta et le jaune, et leur ajout donne du noir. Toutefois, le noir obtenu n'étant que partiellement noir en pratique, les imprimeurs rajoutent une composante que l'on appelle noir pur. On parle alors de quadrichromie, ou CMYK (Cyan, Magenta, Jaune, Noir pur).

2.2.4.3 Les images fixes II existe deux types d'images numériques, les images vectorielles et les

2.2.4.3 Les images fixes

II existe deux types d'images numériques, les images vectorielles et les images bipmap ou rasters

Image vectorielle

Une image vectorielle est constituée de vecteurs. Un vecteur peut être une droite, un point, une courbe ou une fonction. Ce type ne correspond pas à la représentation d'images photographiques. Mais il est bien adapté au dessin technique pour la création de formes géométriques.

Images bipmap ou raster

Chaque pixel ou point de l'image est codé : l'image est une matrice de points Pixel est la contraction de « picture element »

Le codage de la couleur

Une image est donc représentée par un tableau à deux dimensions dont chaque case est un pixel. Pour représenter informatiquement une image, il suffit donc de créer un tableau à deux dimensions dont chaque case contient une valeur. La valeur stockée dans une case est codée sur un certain nombre de bits, le nombre de bits déterminant la couleur ou l'intensité du pixel. Il existe plusieurs codages possibles:

bitmap noir et blanc: en stockant un bit dans chaque case, il est possible de définir deux couleurs (noir ou blanc)

bitmap 256 niveaux de gris: en stockant un octet dans chaque case, il est possible de définir

2 8 intensités de pixels, c'est-à-dire 256 dégradés de gris allant du noir au blanc

palette de couleurs (colormap): grâce à cette méthode, on peut définir une palette contenant l'ensemble des couleurs pouvant être contenues dans l'image. A chacune des ces couleurs est associée un indice. Ainsi en codant ces indices sur 8 bits il est possible de définir 256 couleurs utilisables, c'est-à-dire que chaque case du tableau à deux dimensions représentant l'image va contenir un nombre indiquant l'indice de la couleur à utiliser

true color: cette représentation permet de représenter une image en définissant chacune des composantes (RGB: rouge, vert, bleu). Chaque pixel est représenté par un entier comportant les trois composantes, chacune codée sur un octet, c'est-à-dire au total 24 bits (soit 2 24 = 16 millions de couleurs environ). Il est possible de rajouter une quatrième composante permettant d'ajouter une information de transparence ou de texture, chaque pixel est alors codée sur 32 bits.

Le produit du nombre lignes et de colonnes s'appelle la résolution spatiale Le nombre de couleur ou d'intensité s'appelle la dynamique La qualité de l'image dépend en grande partie de la résolution.

Si on agrandit l'image , on a un effet de « pixélisation » ou d'escaliers

La taille de l'image est calculée nbre de lignes x nbre de colonnes x nbre de couleur ou d'intensités

Taille d'une image :

On scanne une photo de 10 cm sur 15 cm En 300 dpi (standard de beaucoup d'imprimantes) Dpi « dot per inch » ou ppp « point par pouce » (2,54 cm)

Nombre points

En largeur 10 cm soit 10 / 2,54 * 300 =1181 points En hauteur 15 cm soit 15 / 2,54 * 300 = 1772 points Soit un total de 1181 *1772 = 2 092 732 points Si on code sur un byte ou octet on a un fichier de 2 Mo Exercice on scanne en 600 Dpi soit résolution double taille du fichier sans calcul environ 8 Mo (x4) Exercice on scanne en 1200 Dpi 4725 * 7087 = 32 Mo (Soit fois 16 logique puisque le nombre de point est x 16)

Dimensions de l'image Image en noir et blanc Image en 256 niveaux de gris Image en true color

320x200

7.8Ko

62.5Ko

187.5 Ko

640x480

37.5Ko

300Ko

900Ko

800x600

58.6Ko

468.7Ko

1.4Mo

1024*768

96Ko

768Ko

2.3Mo

2.2.5 Les images mobiles

Nous n'allons pas entrer dans le détail Comme pour le cinéma il faut au minimum 25 image secondes pou ne pas avoir de saccades. Exemple de la télévision 4/3 on a :

625 lignes 833 colonnes (625*833) Avec une dynamique de 8 bits (256 couleurs) Avec 50 images par seconde un film de 1h30 heures sans le son nécessite

625x833x1x50x5400=140 568 750 000 octets soit 137 274 170Ko = 134 057Mo = 131Go

ce qui pose des problèmes de bande passante et de stockage II faut donc compresser les images avec des algorithmes II existe plusieurs normes MPEG1 à 4 par exemple.

3

LA COMPRESSION DE DONNEES

3.1 Généralités

Quelques définitions :

Compresser est l'action de réduire la taille d'un fichier en modifiant le codage de l'information. Après la compression le fichier n'est donc plus lisible par le logiciel qui a servi à le créer et il change d'extension. Avant de pouvoir le réutiliser il faut le décompresser c'est-à-dire lui faire reprendre sa taille et son codage d'origine de façon à reconstruire l'information initiale.

Un Codec, abréviation de compresseur/décompresseur, est un élément logiciel ou matériel permettant de compresser et de décompresser des données multimédias numériques.

Le besoin de compression apparaît là ou la taille du fichier a un caractère critique. Par exemple :

Lors de l'envoi de courrier électronique, les fournisseurs d'accès limitent la taille des fichiers attachés pour éviter d'encombrer les boites aux lettres. La compression permettra de réduire la taille de vos fichiers et donc de pouvoir les envoyer.

La création d'image numérique est très coûteuse en mémoire car pour avoir une image de bonne qualité il faut qu'elle ait une définition importante et une palette de couleur assez grande. Le problème est identique pour les fichiers vidéos ou sonores. Donc la plupart des formats d'enregistrement des fichiers numériques multimédia sont des formats utilisant la compression.

Lors de la sauvegarde sur un support externe, il est très utile de pourvoir réduire la taille totale des données à sauvegarder afin de gagner en place et temps de sauvegarde.

Une archive est un fichier souvent compressé qui comporte plusieurs autres fichiers et/ou répertoires.

Archiver signifie que l'on regroupe dans un seul fichier un ensemble de fichiers et/ou de répertoires. Lorsque vous ajoutez un répertoire à une archive les fichiers et les sous-répertoires qu'il contient sont également ajoutés.

L'objectif de la compression est de diminuer le nombre de bits utilisés pour le stockage, la transmission de l'information. II existe une grande variété d'algorithmes. Définition d'un algorithme: méthode de résolution d'un problème suivant un enchaînement déterminé de règles opératoires Nous pouvons déterminer deux grands types et c'est peut-être le critère de comparaison le plus important pour les algorithmes de compression:

o Les algorithmes sans perte d'information (réversibles), cela signifie que lorsque des données sont compressées et ensuite décompressées, l'information originale contenue dans les données a été préservée. Aucune donnée n'a été perdue ou oubliée. Les données n'ont pas été modifiées. Exemple: GIF (Graphic Interchange Format)

o Les algorithmes avec perte d'information (irréversibles). Cette méthode de compression "jette", de façon sélective, quelques données d'une image dans le but d'effectuer la compression avec un taux de compression meilleur que la plupart des méthodes de compression sans pertes.

L'œil humain est limité dans le nombre de couleurs qu'il est capable de percevoir simultanément particulièrement si ces couleurs ne sont pas adjacentes dans l'image ou sont très contrastées. Un algorithme de compression intelligent peut tenir compte de ces limitations, analyser une image sur ces bases, et effectuer une réduction significative de la taille des données basée sur la suppression de l'information de certaines couleurs difficilement perceptibles par la plupart des gens.

Exemple : .JPEG .JPG (Joint Photography Expert Group)

Lorsque vous créez ces fichiers, il est conseillé de faire attention à ne pas trop compresser le fichier, sous peine de détériorer l'image.

3.2 Exemple d’un algorithme de compression : RLE

Run Length Encoding (RLE) : C'est un algorithme de compression créé pour compresser n'importe quel type de données sans tenir compte de l'information qu'elle contient. Il est extrêmement répandu, utilisé par des formats bitmaps tels que BMP, TIFF et PCX. RLE s'emploie à réduire la taille physique d'une répétition de chaîne de caractère. Cette chaîne répétée est appelée un passage (run) et est typiquement codée avec 2 octets. Le premier octet représente le nombre de caractères dans le passage et est appelé le compteur de passage (run count). Il peut prendre une valeur comprise entre 0 et 127. , car le compteur de passage va utiliser seulement 7 bits, le huitième bit ainsi libéré va servir à déterminer si oui ou non les données on été compressées. Le second octet est la valeur du caractère dans le passage qui peut prendre la valeur 0h à FFh. Ce dernier octet est appelé la valeur du passage (run value). Non compressé, un passage comprenant 15 caractères "A" devrait normalement prendre 15 octets à stocker. AAAAAAAAAAAAAAA La même chaîne après codage ne prend plus que 2 octets.

15A

Le "15A" généré pour représenter la chaîne de caractère est appelé un paquet RLE (RLE packet). Ici, le compteur de passage contient le nombre de répétitions soit 15. Le deuxième octet "A", la valeur du passage, contient la valeur répétée dans le passage. Un nouveau paquet est généré à chaque fois que le caractère change ou chaque fois que le nombre de caractères dans le passage excède la valeur maximum que peut prendre le compteur. Si l'on suppose que notre chaîne de 15 caractères contient maintenant 4 passages différents :

AAAAAAbbbXXXXXt En utilisant le codage RLE, cette chaîne pourra être compressée en 4 paquets de 2 octets.

6A3b5X1t

Ainsi, après le codage, la chaîne de 15 octets de départ prendra seulement 8 octets de données pour représenter la chaîne. Dans ce cas, RLE permet d'atteindre un taux de compression de 2:1.

3.3 Taux de compression

Le terme taux de compression (compression ratio) est utilisé pour se référer aux rapport entre la taille des données non compressées sur taille des données compressées. Si on peut compresser un fichier 10 x , on parlera alors d'un taux de 10:1 ce qui signifie très logiquement que sa taille a été divisée par 10. Ce sera également un critère d'efficacité entre différents algorithmes: Un algorithme ayant un taux de 10:1 sera 5 fois plus efficace qu'un algorithme n'ayant qu'un taux de compression de

2:1.

Le taux de compression (rapport entre la taille originale et la taille compressée) est relativement variable et est fonction du type d'information. Une compression avec perte peut atteindre 10 :1 et même 100 :1 mais il est plus fréquent d'obtenir des taux de 2 :1 ou 3 :1 sans perte ce qui n'est pas négligeable.

3.4

Les formats d'images

A chaque format d'image correspond un codage spécifique de l'information et éventuellement un

algorithme de compression.

3.4.1 BMP

Le format BMP est un format sans compression développé conjointement par Microsoft et IBM, ce

qui explique qu'il soit particulièrement répandu sur les plates-formes Windows et OS/2. Un fichier BMP est un fichier bitmap, c'est-à-dire un fichier d'image graphique stockant les pixels sous forme de tableau de points et gérant les couleurs soit en couleur vraie soit par une palette indexée de couleurs.

3.4.2 GIF (Graphic Interchange Format)

Une image GIF peut contenir de 2 à 256 couleurs (2, 4, 8, 16, 32, 64, 128 ou 256) parmi 16.8 millions

dans sa palette. Ainsi grâce à cette palette limitée en nombre de couleurs (et non limitée en couleurs différentes), les images obtenues par ce format ont une taille généralement très faible. Ce format supporte la compression LZW.

Le

format Gif 87a offre une fonction d'entrelacement permettant d'afficher l'image progressivement et

la

possibilité d'enregistrer des images animées (GIF animés) et le format Gif 89 ajoute la possibilité

de

définir une couleur transparente très utile lors de la superposition d'images.

3.4.3 JPEG

Développé par le Joint Picture Expert Group au cours des années 1980, le format JPEG ou JPG reste aujourd'hui un standard. Bien qu'avec perte, ce format peut gérer un taux de compression afin de

définir la qualité de l'image compressée. Il n'impose aucune limitation dans le nombre de couleurs de l'image, ce qui en fait le format de prédilection pour compresser les photos ou les images de 32 bits (16 millions du couleurs). Le processus de compression est très complexe et s'effectue en plusieurs passes. Il est basé sur la transformée en cosinus discrète (DCT), une formule mathématique dérivée de la transformée de Fourrier, appliquée à des blocs de pixels. Les paramètres de cette fonction mathématique font office

de taux de compression et permettent d'obtenir des rapports allant de 20:1 à 25:1.

3.4.4 PNG (Portable Network Graphics)

Le format PNG est un format de fichier graphique bitmap. Il a été mis au point en 1995 afin de fournir

une alternative libre au format GIF, format propriétaire dont les droits sont détenus par la société Unisys, propriétaire de l'algorithme de compression LZW. Le format PNG permet de stocker des images en noir et blanc, en couleurs réelles ainsi que des images indexées faisant usage d'une palette de 256

De plus, il supporte la transparence par couche alpha, c'est-à-dire la possibilité de définir 256 niveaux de transparence, tandis que le format GIF ne permet de définir qu'une seule couleur de la palette comme transparente. Il possède également une fonction d'entrelacement permettant d'afficher l'image progressivement.

La compression proposée par ce format est une compression sans perte meilleure que la compression

GIF

3.4.5 TIF (Tagged Image File Format)

Le format TIF ou TIFF est un format de fichier graphique bitmap mis au point en 1987.

Le format TIFF est un ancien format graphique, permettant de stocker des images bitmap de taille importante (plus de 4 Go compressées), sans perte de qualité et indépendamment des plates-formes ou des périphériques utilisés.

3.5

Les formats audios

3.5.1 WAV

Le format WAV est l'équivalent audio du format Bitmap. Également développé par IBM, il reprend le principe de la compression minimale. Pour simplifier, on peut dire que le WAV encode directement le son numérisé, sans aucune forme de compression, ce qui tend à produire des fichiers de taille conséquente. Pour cette raison, les fichiers WAV sont uniquement destinés aux sons très courts (tels que les jingles de Windows par exemple). Pour les fichiers musicaux plus long, on lui préfère indéniablement le format MP3.

3.5.2 MP3

Le MP3 " MPEG Audio layer 3 " est un format de compression de données audio par filtrage des données audio. Le but du filtrage est d'enlever les bandes de fréquences pauvres en informations auditives. Ce format permet de compresser à un taux de 1:12 les formats audio habituels (WAV ou CD audio). Il permet de faire tenir l'équivalent en fichiers de douze albums de musique sur un seul cd-rom. De plus, le format MP3 n'altère que faiblement le son pour l'oreille humaine.

3.5.3 OGG

Le format OGG (Ogg Vorbis) est une alternative au format MP3 qui est censée produire des fichiers de bien meilleure qualité pour une taille toutefois légèrement supérieure. Réclamé par les audiophiles qui jugent la compression MP3 trop drastique, il est développé en tant que logiciel libre, à l'inverse des formats MP3, AAC et WMA.

3.5.4 AAC

Le format AAC, développé par le Moving Picture Expert Group, a pour but de remplacer le MP3, prévu originellement pour accompagner les vidéos MPEG-1. Celui-ci gère le son des fichiers MPEG- 4 et doit offrir une qualité bien meilleure que le MP3 et gérer plus de canaux.

3.6 Les formats videos:

3.6.1 AVI (Audio Video Interleaved)

Format de fichier utilisé par Windows pour le stockage des images vidéos et du son, dans lequel les données vidéos alternent avec les données audios, accélérant ainsi la vitesse de restitution. Dans ce format, on dit que l'image et le son sont entrelacés.

3.6.2 MPG, MPEG2, MPEG4

Format multimédia obtenu par la compression MPEG ou MPG de séquences audios et vidéos. Le format MPEG-1 est d'une qualité équivalente au VHS des magnétoscopes. Sur le Web, il permet une meilleure représentation numérique des séquences audios et vidéos que les autres formats disponibles (AVI, Indeo, QuickTime, etc.). Le format MPEG-2, quant à lui, est utilisé pour le stockage de la vidéo et de l'audio sur DVD et la diffusion par les réseaux de télévision. Le MPEG-4 par ses possibilités de compresser très efficacement la vidéo est parfois vu comme le " MP3 de la Vidéo ". Cela explique la confusion de ceux qui utilisent parfois le terme impropre MP4

au lieu de MPEG-4. Il intègre les formats 2D et 3D, et permet une diffusion en streaming pour le bas et le haut débit. Le streaming est une technique permettant le téléchargement et l'écoute simultanée d'un fichier audio et/ou vidéo.

3.6.3 DIVX

Le format DivX est un format de compression/décompression vidéo permettant d'obtenir des vidéos compressées très peu volumineuses avec une perte de qualité très raisonnable. Ainsi le format DivX permet de stocker un film complet sur un CD-ROM de 650 ou 700 Mo. Les formats XVID, VP3, 3IVX sont des formats dérivés du DIVX.

4

La cryptographie

4.1 Généralités

Le mot cryptographie est un terme générique désignant l'ensemble des techniques permettant de chiffrer des messages, c'est-à-dire permettant de les rendre inintelligibles sans une action spécifique. Le verbe crypter est parfois utilisé mais on lui préfèrera le verbe chiffrer.

La cryptologie est essentiellement basée sur l'arithmétique:

Il s'agit dans le cas d'un texte de transformer les lettres qui composent le message en une succession de chiffres (sous forme de bits dans le cas de l'informatique car le fonctionnement des ordinateurs est basé sur le binaire), puis ensuite de faire des calculs sur ces chiffres pour:

d'une part les modifier de telle façon à les rendre incompréhensibles. Le résultat de cette modification (le message chiffré) est appelé cryptogramme (en anglais ciphertext) par opposition au message initial, appelé message en clair (en anglais plaintext)

faire en sorte que le destinataire saura les déchiffrer

Le fait de coder un message de telle façon à le rendre secret s'appelle chiffrement. La méthode inverse, consistant à retrouver le message original, est appelé déchiffrement.

retrouver le message original, est appelé déchiffrement . ∑ Le chiffrement se fait généralement à l'aide

Le chiffrement se fait généralement à l'aide d'une clef de chiffrement, le déchiffrement nécessite quant à lui une clef de déchiffrement

On appelle décryptement (le terme de décryptage peut éventuellement être utilisé également) le fait d'essayer de déchiffrer illégitimement le message (que la clé de déchiffrement soit connue ou non de l'attaquant). Lorsque la clé de déchiffrement n'est pas connue de l'attaquant on parle alors de cryptanalyse ou cryptoanalyse (on entend souvent aussi le terme plus familier de cassage). La cryptologie est la science qui étudie les aspects scientifiques de ces techniques, c'est-à-dire qu'elle englobe la cryptographie et la cryptanalyse.

4.2 Les deux types de chiffrement :

Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) consiste à utiliser la même clef pour le chiffrement que pour le déchiffrement.

Le chiffrement consiste alors à effectuer une opération entre la clé privée et les données

Le chiffrement consiste alors à effectuer une opération entre la clé privée et les données à chiffrer afin de rendre ces dernières inintelligibles. Ainsi, le moindre algorithme (tel qu'un OU exclusif) peut rendre le système quasiment inviolable (la sécurité absolue n'existant pas).

Toutefois, dans les années 40, Claude Shannon démontra que pour être totalement sûr, les systèmes à clefs privées doivent utiliser des clefs d'une longueur au moins égale à celle du message à chiffrer. De plus le chiffrement symétrique impose d'avoir un canal sécurisé pour l'échange de la clé, ce qui dégrade sérieusement l'intérêt d'un tel système de chiffrement.

Ainsi, dans les années 20, Gilbert Vernam et Joseph Mauborgne mirent au point la méthode du one time pad (traduisez méthode du masque jetable), basée sur une clé privée générée aléatoirement, utilisée une et une seule fois, puis détruite. Ainsi à la même époque le Kremlin et la Maison Blanche étaient reliés par le fameux téléphone rouge, c'est-à-dire un téléphone dont les communications étaient cryptées par une clé privée selon la méthode du masque jetable. La clé privée était alors échangée grâce à la valise diplomatique (jouant le rôle de canal sécurisé).

Les limites du chiffrement symétrique

Le principal inconvénient d'un cryptosystème à clefs secrètes provient de l'échange des clés. En effet, le chiffrement symétrique repose sur l'échange d'un secret (les clés). Ainsi, se pose le problème de la distribution des clés :

Pour un groupe de n personnes utilisant un cryptosystème à clés secrètes, il est nécessaire de distribuer n x (n-1) / 2 clés.

Dans un chiffrement asymétrique les clés existent par paires :

Une clé publique pour le chiffrement

Une clé secrète pour le déchiffrement

Ainsi, dans un système de chiffrement à clé publique, les utilisateurs choisissent une clé aléatoire dont ils sont seuls connaisseurs (il s'agit de la clé privée). A partir de cette clé, ils déduisent chacun automatiquement un algorithme (il s'agit de la clé publique). Les utilisateurs s'échangent cette clé publique au travers d'un canal non sécurisé. Lorsqu'un utilisateur désire envoyer un message à un autre utilisateur, il lui suffit de chiffrer le message à envoyer au moyen de la clé publique du destinataire (qu'il trouvera par exemple dans un serveur de clés tel qu'un annuaire). Ce dernier sera en mesure de déchiffrer le message à l'aide de sa clé privée (qu'il est seul à connaître).

Ce dernier sera en mesure de déchiffrer le message à l'aide de sa clé privée (qu'il

Ce système est basé sur une fonction facile à calculer dans un sens (appelée fonction à trappe à sens unique ou en anglais one-way trapdoor function), mais qui est mathématiquement très difficile à inverser sans la clé privée (appelée trappe). Pour faire une image avec le "monde réel", il s'agit pour un utilisateur de créer une clé aléatoire (la clé privée), puis de fabriquer un grand nombre de cadenas (clé publique) qu'il dispose dans un casier accessible par tous (le casier joue le rôle de canal non sécurisé). Pour lui faire parvenir un document, chaque utilisateur peut prendre un cadenas (ouvert), fermer une valisette contenant le document grâce à ce cadenas, puis envoyer la valisette au propriétaire de la clé publique (le cadenas). Seul le propriétaire sera alors en mesure d'ouvrir la valisette avec sa clé privée. Le problème consistant à se communiquer la clé de déchiffrement n'existe plus, les clés publiques pouvant être envoyées librement. Le chiffrement par clés publiques permet donc à des personnes de s'échanger des messages cryptés sans pour autant possèder de secret en commun. En contrepartie tout le challenge consiste à (s')assurer que la clé publique que l'on récupère est bien celle de la personne à qui l'on souhaite faire parvenir l'information chiffrée !

4.3 Les fonctions de la cryptographie

La cryptographie est traditionnellement utilisée pour dissimuler des messages aux yeux de certains utilisateurs. Cette utilisation a aujourd'hui un intérêt d'autant plus grand que les communications via Internet circulent dans des infrastructures dont on ne peut garantir la fiabilité et la confidentialité. Désormais, la cryptographie sert non seulement à préserver la confidentialité des données mais aussi à garantir leur intégrité et leur authenticité.

La confidentialité consiste à rendre l'information inintelligible à d'autres personnes que les acteurs de la transaction. Vérifier l'intégrité des données consiste à déterminer si les données n'ont pas été altérées durant la communication (de manière fortuite ou intentionnelle). L'authentification consiste à assurer l'identité d'un utilisateur, c'est-à-dire de garantir à chacun des correspondants que son partenaire est bien celui qu'il croit être. Un contrôle d'accès peut permettre (par exemple par le moyen d'un mot de passe qui devra être crypté) l'accès à des ressources uniquement aux personnes autorisées. La non-répudiation de l'information est la garantie qu'aucun des correspondants ne pourra nier la transaction.

4.4 La signature électronique

4.4.1 Définition

La signature électronique (appelé aussi signature numérique) est un procédé permettant de garantir l'authenticité de l'expéditeur (fonction d'authentification), ainsi que de vérifier l'intégrité du message reçu.

La signature électronique assure également une fonction de non-répudiation, c'est-à-dire qu'elle permet d'assurer que l'expéditeur a bien envoyé le message (autrement dit elle empêche l'expéditeur de nier avoir expédié le message).

4.4.2 Fonction de hachage

Une fonction de hachage (parfois appelée fonction de condensation) est une fonction permettant d'obtenir un condensé (appelé aussi haché) d'un texte, c'est-à-dire une suite de caractères assez courte

représentant le texte qu'il condense. La fonction de hachage doit être telle qu'elle associe un et un seul haché à un texte en clair (cela signifie que la moindre modification du document entraîne la modification de son haché). D'autre part, il doit s'agir d'une fonction à sens unique (one-way function) afin qu'il soit impossible de retrouver le message original à partir du condensé.

de retrouver le message original à partir du condensé. Ainsi, le haché représente en quelque sorte

Ainsi, le haché représente en quelque sorte l'empreinte digitale (en anglais finger print) du document.

Utilité d'une fonction de hachage

En expédiant un message accompagné de son haché, il est possible de garantir l'intégrité d'un message, c'est-à-dire que le destinataire peut vérifier que le message n'a pas été altéré (intentionnellement ou de manière fortuite) durant la communication.

ou de manière fortuite) durant la communication. Lors de la réception du message, il suffit au

Lors de la réception du message, il suffit au destinataire de calculer le haché du message reçu et de le comparer avec le haché accompagnant le document. Si le message (ou le haché) a été falsifié durant la communication, les deux empreintes ne correspondront pas.

4.4.3 Le scellement des données

L'utilisation d'une fonction de hachage permet de vérifier que l'empreinte correspond bien au message reçu, mais rien ne prouve que le message a bien été envoyé par celui que l'on croit être l'expéditeur. Ainsi, pour garantir l'authentification du message, il suffit à l'expéditeur de chiffrer (on dit généralement signer) le condensé à l'aide de sa clé privée (le haché signé est appelé sceau) et d'envoyer le sceau au destinataire. A réception du message, il suffit au destinataire de déchiffrer le sceau avec la clé publique de l'expéditeur, puis de comparer le haché obtenu avec la fonction de hachage au haché reçu en pièce jointe. Ce mécanisme de création de sceau est appelé scellement.

Codage de l’information

1

1CODAGE: LA THÉORIE DE L'INFORMATION

1

1.1Quantifier l’information

1

1.2Les unités de mesure de l'information

2

2LES DIFFÉRENTES FORMES D'INFORMATION

4

2.1Le texte

4

2.2Les nombres

5

2.2.1Les nombres entiers naturels

6

2.2.2Les

nombres

entiers

relatifs

6

2.2.3Le son

 

8

2.2.4Les

images

:

13

2.2.5Les images mobiles

15

3LA COMPRESSION DE DONNEES

16

3.1Généralités

 

16

3.2Exemple d’un algorithme de compression : RLE

17

3.3Taux de compression

17

3.4Les formats d'images

18

3.4.1BMP

 

18

3.4.2GIF (Graphic Interchange Format)

18

3.4.3JPEG

 

18

3.4.4PNG (Portable Network Graphics)

18

3.4.5TIF (Tagged Image File Format)

18

3.5Les formats audios

19

3.5.1WAV

 

19

3.5.2MP3

19

3.5.3OGG

 

19

3.5.4AAC

19

3.6Les formats videos:

 

19

3.6.1AVI (Audio Video Interleaved)

19

3.6.2MPG, MPEG2, MPEG4

19

3.6.3DIVX

 

20

4La cryptographie

21

4.1Généralités

21

4.2Les deux types de chiffrement :

 

21

4.3Les

fonctions de la cryptographie

23

4.4La signature électronique

 

23

4.4.1Définition

 

23

4.4.2Fonction de hachage

 

23

4.4.3Le scellement des données

24