Activités

Transcription

Activités
Informatique et Sciences du Numérique
3 : LA COMPRESSION DE DONNEES
Représentation de l’information
Algorithmique
Langages et programmation
Architectures matérielles
CONNAISSANCES ABORDEES
Numérisation : Coder sous forme d'un code standard ou d'une liste de valeurs numériques
Numérisation : Numériser une image sous forme d'un tableau de valeurs numériques
Formats : Identifier quelques formats
Formats : Choisir un format approprié
PROBLEMATIQUE
Comprendre comment est codé une information numérique et l’intérêt de compresser ces données
CONDITIONS DE DEROULEMENT DE L’ACTIVITE
Phases de
travail
Objectifs
A) Mise en
situation
Comprendre la problématique de la compression
de données à travers l’exemple de la photographie
numérique
Etude d’une documentation constructeur
B) Activités
Comprendre le codage d’une image
Comprendre le contenu de l’entête d’un fichier
Calculer la taille d’un fichier image
Calculer le taux de compression d’un
format JPEG.
C) Synthèse
Rendre par écrit un compte rendu synthétique de
la séance
Rédiger un compte-rendu
LOGICIELS UTILISES
-
Editeur hexadécimal HexEdit Neo 5.12
Editeur d’images GIMP 2.6.10
DUREE : 1 Séance
Activités
Informatique et Sciences du Numérique
1. PROBLEMATIQUE
Il est dorénavant courant de pouvoir faire une photo numérique avec une résolution de capteur de plus de 10
Méga pixels.
Extrait du produit EOS 450 D de Canon http://www.canon.fr/For_Home/Product_Finder/Cameras/Digital_SLR/EOS_450D/
En format brut (format RAW), un pixel couleur (RVB = Rouge Vert Bleu) peut être codé et stocké sur trois Octets
(1 octet pour chacune des trois couleurs).
A partir de la doc constructeur de l’appareil photo, estimer la taille d’une photographie couleur avec la résolution
maximum du capteur.
L’appareil est équipé d’une carte mémoire de 16 GBytes (16 GOctets). Combien de photos est-il possible de
stocker ?
La taille moyenne d’un disque dur de PC est d’environ 500 GO. Combien de photos est-il possible de stocker sur
ce support ?
Une connexion Internet de bonne qualité ADSL est estimée à 1 Mo/s. Quel temps serait-il nécessaire pour
transférer une photo ?
Conclure sur l’utilité de la compression.
Informatique et Sciences du Numérique
2. ACTIVITE : CODAGE DE L’IMAGE
CODAGE D’UN PIXEL
Avec le logiciel GIMP, créer une image de 1 pixel par 1 pixel
sur fond blanc.
Utiliser plusieurs fois la touche « + » pour zoomer.
Sauvegarder cette image en format brut (.raw) en utilisant
enregistrer sous, puis sélectionner le type de fichier et
données d’images RAW.
Constater, dans Image puis propriétés de l’image que la taille
du fichier est de 3 octets.
La couleur d’un pixel est obtenu est combinant les trois
couleurs : RVB (Rouge, Vert et Bleu). Chacune de ces couleur
est codée sur 1 octet soit 256 niveaux de coloration.
Combien de combinaisons de couleur est-il possible d’obtenir
sur un pixel codé en RVB sur 3 Octets ?
Glisser votre fichier enregistré préalablement en données d’image RAW dans le logiciel HexEdit
Vérifier que le contenu de votre fichier est bien constitué de trois
octets. Le code hexadécimal de gauche donne l’intensité affecté
pour la composante ROUGE (255 en décimal), celui du milieu la
composante VERTE et celui de droite la composante BLEUE.
Par synthèse additive, vous obtenez un pixel BLANC.
Informatique et Sciences du Numérique
CODAGE D’UN ENSEMBLE DE PIXELS
Avec le logiciel GIMP, créer une image de 1 pixel de hauteur et 6 pixels de largeur sur fond blanc.
Utiliser l’outil Crayon avec une brosse de type Circle (01) pour créer les pixels.
Générer l’image pour obtenir une suite : Rouge, Vert, Jaune, Bleu, Noir et Blanc. Enregistrer sous le nom
« couleur » cette image en RAW. Noter la taille de cette nouvelle image.
Dans Image, puis Mode, choisir le mode niveaux de gris. Enregistrer sous le nom « gris » cette image en RAW.
Noter la taille de cette nouvelle image.
CODAGE BITMAP
Bitmap, connu aussi sous son abréviation BMP, est un format d’image matricielle ouvert développé par
Microsoft et IBM. C’est un des formats d’images les plus simples à développer et à utiliser pour
programmer. Il est lisible par quasiment tous les visualiseurs et éditeurs d’images.
SOURCE : Wikipédia
Enregistrer votre image « couleur » sous l’extension .bmp et noter la taille du fichier. Pourquoi la taille du fichier
(74 octet) est-elle différente et surtout plus importante qu’un format RAW ?
Glisser votre fichier dans HexEdit et tenter une explication.
A partir du site http://www.commentcamarche.net/contents/video/format-bmp.php3 sur l’entête d’un fichier
BitMap et du code HexEdit, retrouver l’information qui correspond à la taille du fichier. Retrouvez-vous bien les
74 Octets attendus ?
Informatique et Sciences du Numérique
3. ACTIVITE : TAUX DE COMPRESSION JPEG
http://www.commentcamarche.net/contents/video/jpeg-jpg.php3
Avec le logiciel GIMP, créer une image de 800 pixels de hauteur et 800 pixels de largeur sur fond blanc avec un
grand point noir.
Enregistrer en format RAW puis en format JPEG (options standard). Evaluer dans ce cas le taux de compression du
format JPEG.
Informatique et Sciences du Numérique
4. ACTIVITE : EXERCICE SUR LE CODAGE BITMAP
Ci-joint le fichier hexa d’un dessin (une œuvre) enregistré en format bitmap. Aucune autre information
n’est donnée :
A partir du fichier, donner les caractéristiques suivantes :
-
Taille du fichier,
Largeur et longueur de l’image en pixels,
Taille totale de l’image,
Nombre de couleurs utilisé à l’enregistrement du fichier,
Compression utilisée à l’enregistrement.
Sous HEXEDIT, la lecture du code hexa se fait à l’envers. Par exemple, un
ensemble de 4 octets
se lira 0000a6ca soit 42698 en décimale.
5. POUR ALLER PLUS LOIN …
Le format bitmap autorise une compression RLE.
Décrire succinctement la méthode utilisée par une méthode RLE en donnant quelques exemples pour le
codage de texte à répétition.
Informatique et Sciences du Numérique
6. SITOGRAPHIE
Entête des fichiers BitMap :
http://www.commentcamarche.net/contents/video/format-bmp.php3
Compression de données
http://neocortex.chez.com/projet/La%20Compression%20de%20donn%E9e.pdf
Convertisseur hexa, décimal, binaire :
http://sebastienguillon.com/test/javascript/convertisseur.html
POUR ALLER PLUS LOIN :
Codage de Huffman :
http://www.commentcamarche.net/contents/video/huffman.php3#q=huffman&cur=1&url=%2F
Compression RLE :
http://www.commentcamarche.net/contents/video/compimg.php3
Compression de Lempel-Ziv
http://www.commentcamarche.net/contents/video/lzw.php3
Informatique et Sciences du Numérique
ANNEXE 1 : LE FORMAT BMP
Extrait du site : http://www.commentcamarche.net/contents/video/format-bmp.php3
Le format BMP est un des formats les plus simples 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 grâce à une palette indexée. Le format BMP a été
étudié de telle manière à obtenir un bitmap indépendant du périphérique d'affichage (DIB, Device
independent bitmap).
La structure d'un fichier bitmap est la suivante :
•
•
•
•
En-tête du fichier (en anglais file header)
En-tête du bitmap (en anglais bitmap information header, appelé aussi information Header)
Palette (optionnellement)
Corps de l'image
Entête du fichier
L'entête du fichier fournit des informations sur le type de fichier (Bitmap), sa taille et indique où
commencent les informations concernant l'image à proprement parler.
L'entête est composé de quatre champs :
•
•
•
•
La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères.
o BM, 424D en hexadécimal, indique qu'il s'agit d'un Bitmap Windows.
o BA indique qu'il s'agit d'un Bitmap OS/2.
o CI indique qu'il s'agit d'une icone couleur OS/2.
o CP indique qu'il s'agit d'un pointeur de couleur OS/2.
o IC indique qu'il s'agit d'une icone OS/2.
o PT indique qu'il s'agit d'un pointeur OS/2.
La taille totale du fichier en octets (codée sur 4 octets)
Un champ réservé (sur 4 octets)
L'offset de l'image (sur 4 octets), en français décalage, c'est-à-dire l'adresse relative du début
des informations concernant l'image par rapport au début du fichier
Entête de l'image
L'entête de l'image fournit des informations sur l'image, notamment ses dimensions et ses couleurs.
L'entête de l'image est composé de quatre champs :
•
•
La taille de l'entête de l'image en octets (codée sur 4 octets). Les valeurs hexadécimales
suivantes sont possibles suivant le type de format BMP :
o 28 pour Windows 3.1x, 95, NT, ...
o 0C pour OS/2 1.x
o F0 pour OS/2 2.x
La largeur de l'image (sur 4 octets), c'est-à-dire le nombre de pixels horizontalement (en anglais
width)
Informatique et Sciences du Numérique
•
•
•
•
•
•
•
•
•
La hauteur de l'image (sur 4 octets), c'est-à-dire le nombre de pixels verticalement (en anglais
height)
Le nombre de plans (sur 2 octets). Cette valeur vaut toujours 1
La profondeur de codage de la couleur(sur 2 octets), c'est-à-dire le nombre de bits utilisés pour
coder la couleur. Cette valeur peut-être égale à 1, 4, 8, 16, 24 ou 32
La méthode de compression (sur 4 octets). Cette valeur vaut 0 lorsque l'image n'est pas
compressée, ou bien 1, 2 ou 3 suivant le type de compression utilisé :
o 1 pour un codage RLE de 8 bits par pixel
o 2 pour un codage RLE de 4 bits par pixel
o 3 pour un codage bitfields, signifiant que la couleur est codé par un triple masque
représenté par la palette
La taille totale de l'image en octets (sur 4 octets).
La résolution horizontale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre
horizontalement
La résolution verticale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre verticalement
Le nombre de couleurs de la palette (sur 4 octets)
Le nombre de couleurs importantes de la palette (sur 4 octets). Ce champ peut être égal à 0
lorsque chaque couleur a son importance.
Palette de l'image
La palette est optionnelle. Lorsqu'une palette est définie, elle contient successivement 4 octets pour
chacune de ses entrées représentant :
•
•
•
•
La composante bleue (sur un octet)
La composante verte (sur un octet)
La composante rouge (sur un octet)
Un champ réservé (sur un octet)
Codage de l'image
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.
•
•
•
•
Les images en 2 couleurs utilisent 1 bit par pixel, ce qui signifie qu'un octet permet de coder 8
pixels
Les images en 16 couleurs utilisent 4 bits par pixel, ce qui signifie qu'un octet permet de coder 2
pixels
Les images en 256 couleurs utilisent 8 bits par pixel, ce qui signifie qu'un octet code chaque pixel
Les images en couleurs réelles utilisent 24 bits par pixel, 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.
Chaque ligne de l'image doit comporter un nombre total d'octets qui soit un multiple de 4; si ce n'est pas
le cas, la ligne doit être complétée par des 0 de telle manière à respecter ce critère.

Documents pareils

Images numériques

Images numériques 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 grâce à une palette indexée. L...

Plus en détail