• Aucun résultat trouvé

Graphisme 2D et Images Numériques

N/A
N/A
Protected

Academic year: 2022

Partager "Graphisme 2D et Images Numériques"

Copied!
142
0
0

Texte intégral

(1)

Graphisme 2D et Images Numériques

(*) Cours réalisé grâce aux documents de Gaëtan Rey et Stéphane Lavirotte

et grâce aux informations de Wikipedia

Présentation: Stéphane Lavirotte Auteurs: … et al*

(2)

Histoire et évolution de l’image

Introduction

2 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(3)

Historique 1/3

 Pourquoi l’image ?

– L’homme a besoin de représenter ce qu’il voit pour

Communiquer,

Se souvenir,

Se divertir, …

 Types d’images

– Dessins, – Gravures, – Peintures,

(4)

Historique 2/3

 De puis quand utilise-t-on l’image ?

– Les peintures et les dessins animaliers de la grotte Chauvet (Ardèche) : il y a 30 000 ans.

– Les hiéroglyphes égyptiens : il y a 6000 ans

4 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(5)

Historique 3/3

 L’ère de la photographie

– Littéralement : « peindre avec la lumière ».

– Depuis Aristote, on savait mettre la réalité en boîte !!!

– La date officielle de l'invention de la photographie est 1839

date à laquelle Arago (1786 - 1853) présente à l'Académie des sciences l‘invention de Daguerre (1787 - 1851), le daguerréotype, qui est en fait une amélioration de celle de Niépce (1765 - 1833).

(Wikipédia)

– Le premier procédé véritablement pratique de photographie en couleur, l’autochrome, inventé par les frères Louis (1864 - 1948) et Auguste (1862 - 1954 ) Lumière en 1903.

(6)

L’image informatique 1/3

 Avant les années 80s

– Le calcul scientifique se fait dans de grands centres sur des

"mainframes" et le traitement par lots est de mise :

Un opérateur reçoit les programmes sous forme de cartes perforées.

Il fourni un listing quelque temps plus tard.

Les données à analyser sont stockées que sur bande magnétique (...Kbytes)

L'espace disque est coûteux et inaccessible à l'utilisateur

– Les sorties graphiques sont obtenues de façon laborieuse:

Hardware : le matériel de traçage est cher et délicat à opérer,

Software : les utilisateurs normaux doivent programmer

entièrement leur sortie graphique : il faut souvent lire 1 carte perforée par point

Les dessins sont collés sur le document (scotch double-face)

6 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(7)

L’image informatique 2/3

 Dans les années 80s, arrivent :

– Les micro-ordinateurs personnels,

– Les réseaux qui relient ces ordinateurs entre eux et aux mainframes

– Les imprimantes laser, qui remplacent rapidement les traceurs – Les terminaux qui permettent le travail interactif depuis son

bureau. Ces terminaux sont d'abord ASCII, puis graphique, puis en couleur.

– L’augmentation de la capacité de stockage

locale: disques des ordinateurs

de transport: cassettes audio (DAT), vidéo (Exabyte), …

(8)

L’image informatique 3/3

 Problèmes

– Il n'y a aucune compatibilité entre

Les différents systèmes d'exploitation,

Le pilotage des divers matériels graphiques

– Aucune application graphique n'est portable

D'une machine à l'autre,

D’un terminal graphique à l'autre sur une même machine

 => Nécessité de définir un standard

8 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(9)

L’image informatique

 Les années 90 une nouvelle ère qui voit

– La disparition des mini-ordinateurs, remplacés par des stations de travail avec CPU, mémoire, disques..

– L'apparition des terminaux X (terminaux graphiques) – Le standard X11 qui équipe les stations de travail, les

terminaux X, et fonctionne à travers le réseau Ethernet (TCP/IP)

– L'explosion des réseaux qui permettent les applications de type client-serveur

– Les imprimantes PostScript:

La disparition des métafichiers autres que PostScript et PostScript Encapsulé

(10)

Définitions

Images

Bitmap vs Vectoriel

10 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(11)

Afficher sur un écran: le Pixel

 Technologie d’affichage

– L’image s’affiche sur un écran (ou moniteur) – Système de coordonnées

– Chaque point est un élément phosphorescent – Point dénommé pixel (PICture ELement)

Elément minimal adressable par le contrôleur vidéo

Rectangulaire, approximativement carré

 Image = ensemble de pixels

– Tableau 2D de pixels

x

y 0

(12)

Définition vs Résolution

 Ecran ou Image

– Définition = nombre de (pixel) constituant l'image

« dimension informatique » (le nombre de colonnes de l'image que multiplie son nombre de lignes)

Pour un écran:

VGA = 640x480 XGA = 1024x768

– Résolution = nombre de points par unité de

longueur (1 pouce)

Points par Pouce (PPP), en anglais DPI (Dots Per Inch)

Utilisé pour la numérisation

2,54cm

12 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(13)

Si on double la Résolution

 Combien de points obtient-on pour une image dont on

double la résolution ?

(14)

Un peu de vocabulaire

 Le Point Par Pouce (PPP) est une unité de précision

 Elle est communément utilisée pour définir

– La résolution d'un scanner (on parle de « finesse de numérisation »)

– La résolution d'une imprimante (on parle de « précision de l'impression »).

 Plus cette valeur est élevée et meilleure est la qualité.

 Exemple

– Ainsi, une résolution de 300 ppp signifie que l'image a une définition de 300 points, sur une longueur de 2,54 cm. Le point, dès lors, mesure 2,54 cm / 300 = 8,467 μm.

14 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(15)

Codage des couleurs

 Chaque pixel contient une valeur

– La valeur stockée est codée sur un certain nombre de bits déterminant la couleur ou l'intensité du pixel

Bitmap noir et blanc: 1 bit = 20 possibilités (noir / blanc)

Bitmap 16 couleurs ou 16 niveaux de gris: 4 bits = 24 =16 possibilités

Bitmap 256 couleurs ou 256 niveaux de gris: 1 octet (8 bits) = 28 = 256 possibilités

Palette de couleurs (colormap): défition d’une palette, ou table des couleurs, contenant l'ensemble des couleurs pouvant être utilisées dans l'image. Chaque couleur associée à un indice (image en

couleurs indexées). Codage sur 8 bits = 256 couleurs utilisables

(16)

La Transparence

 C’est une caractéristique permettant de définir le

niveau d'opacité des éléments d'une image, c'est-à-dire la possibilité de voir à travers l'image des éléments

graphiques située derrière celle-ci.

 Il existe deux modes de transparence :

– La transparence simple s'applique pour une image indexée et consiste à définir parmi la palette de couleurs une des couleurs comme transparente

– La transparence par couche alpha (ou canal alpha, en anglais alpha channel) consiste à rajouter pour chaque pixel de

l'image un octet définissant le niveau de transparence (de 0 à 255).

16 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(17)

Les calques

 Une image numérique peut être le résultat de la combinaison des contenus de différents calques.

 On doit penser l'image comme une superposition de transparents ou de filtres. Cela permet d'organiser au mieux son image, d'optimiser les possibilités de

création sur l'image, et de gagner en temps de travail et en terme d'efficacité

– on dispose un ou plusieurs éléments sur chaque calque qu'on peut à tout moment supprimer, modifier sans altérer

l'ensemble des autres calques.

(18)

Formats

Images Bitmap

18 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(19)

L'image Bitmap

 L'image Bitmap (image matricielle) est une image numérique représentée par une matrice de points

– On code tout les points de l’image. Si elle représente une ligne droite, on code chaque point de la ligne.

 Avantages d'une image bitmap

– Format proche du hardware (sauf processeur dédié) – Adaptable aux images complexes

– Adapté aux traitements d'images (si utilisée en mode nuancé)

 Inconvénients d'une image bitmap

– Modifications spatiales difficiles

(20)

Calcul de la Taille d’une Image

 Poids d’une image en octet (1 octet = 8 bits)

– Une image est un tableau 2D

– Chaque case contient une valeur sur 1 bit, 4 bits, 8 bits, 16 bits, 24 bits ou 32 bits

– Nombre de points d’une image = nb lignes x nb colonnes – Poids d’une image = nombre de points x taille info couleur

 Exemple d’une image 640 x 480 en vraie couleurs

– 640 x 480 = 307.200 points

– Chaque point est codé sur 24 bits – 24 bits / 8 = 3 octets

– Nb points x taille = 307.200 x 3 = 921.600 octets – 1 Ko = 1024 octets = 210

– Donc 921.600 octets / 1024 = 900 Ko

20 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(21)

Exemple de Tailles d’Images

Met en évidence la quantité de mémoire vidéo nécessaire pour l’affichage de l’image

Définition de

l'iImage Noir et Blanc

(1 bit) 256 Couleurs

(8 bits) 65000 Couleurs

(16 bits) True Color (24 bits)

320x200 7.8 Ko 62.5 Ko 125 Ko 187.5 Ko

640x480 37.5 Ko 300 Ko 600 Ko 900 Ko

800x600 58.6 Ko 468.7 Ko 937.5 Ko 1.4 Mo

1024x768 96 Ko 768 Ko 1.5 Mo 2.3 Mo

1280x1024 160 Ko 1.25 Mo 2.5 Mo 3.75 Mo

1920x1080 253 Ko 1.98 Mo 3.96 Mo 5.93 Mo

(22)

Taille Image ≠ Taille du Fichier

 Le format d’une image est

– une représentation informatique de l'image,

– associée à des informations sur la façon dont l'image est codée et fournissant éventuellement des indications sur la manière de la décoder et de la manipuler.

 La plupart des formats sont composés

– d'un en-tête contenant des attributs (dimensions de l'image, type de codage, LUT, etc.),

– des données (l'image proprement dite)

– une zone de métadonnées (metadata en anglais) servant à préciser les informations concernant l'image comme :

La date, l'heure et le lieu de la prise de vue,

les caractéristiques physiques de la photographie (sensibilité ISO, vitesse d'obturation, usage du flash…)

22 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(23)

Une image qui se dessine

Formats Vectoriels

(24)

L’Image Vectorielle

L'image vectorielle est constituée de traits et de courbes définis par des éléments mathématiques appelés primitives graphiques

On code une description de l'image (traits, surfaces,...)

Pour une droite on stocke que les 2 extrémités

Avantages des images vectorielles

Adaptable à chaque périphérique (car ajustable, coordonnées relatives, adaptable aux drivers intelligents, ...)

Stockage moins encombrant (la taille ne dépend que de la complexité du document lui même)

Adapté aux objets mathématiques et leur extension (voiture, avion , ...)

Inconvénients des images vectorielles

Mal adapté aux images quelconques

Difficulté de traitement d'une partie de l'image

24 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(25)

Les formats en détail

Formats d’Images

(26)

Format d‘Images Bitmap

Quelques précautions à prendre concernant les formats d'images:

Il est important de bannir les formats propriétaires et de leur préférer des formats libres de tous droits,

Il faut prendre garde aux différentes versions que peut recouvrir un format particulier.

Ex: cas pour le format TIFF qui varie selon les versions et qui fait que certaines versions de TIFF ne sont pas reconnues par certains logiciels.

Les 5 formats les plus courants (voir annexes):

BMP GIF JPEG PNG TIFF

 Des données sauvegardées dans les images

26 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(27)

Tableau Récapitulatif

Compression des données

Nombre de couleurs supportées

Affichage

progressif Animations Transparence JPEG Oui, réglable

(avec perte) 16 millions Oui Non Non

JPEG 2000 (av/ss perte) Oui 16 millions Oui Non Oui

GIF (sans perte) Oui 256 (palette) Oui Oui Oui

PNG (sans perte) Oui

de 256 (palette) jusqu'à 16

millions (et +) Oui Non Oui (couche alpha)

MNG Oui de 256 (palette)

jusqu'à 16 Oui Oui Oui (couche alpha)

(28)

Comparaison de Formats

 Cas d’étude pour une imagette

– Dessin de petite taille avec peu de couleurs

– La même image sauvegardée dans deux formats

Une image en jpg, la même image en gif

 Qui est qui ? Quel est le plus petit fichier ?

Présentation: Stéphane Lavirotte - Auteurs: ... et al* 28

Format GIF 318 octets

Format JPG 706 octets

(29)

Formats Propriétaires

 Création de formats par les grandes firmes

– Evite d’avoir un accès facile aux données – Evite de payer des royalties à d’autres

 Exemple d’un format ROM Nintendo

– .rgcn: Nintendo Character Graphics Resource

L'image de l'image (ça paraît stupide, mais c'est comme ça)

– . rlcn - Nintendo Colour Resource

Une palette de couleurs (qui peut être commune à plusieurs images)

– .rcsn - Nintendo Screen Resource

(30)

Annexes

30 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(31)

Compléments Historiques

(32)

Graphical Kernel System 1/9

 En 1985, l'ISO définit le premier standard graphique GKS

– avec pour objectif de traiter tous les périphériques (écran, imprimantes, …) sur un pied d'égalité

quel que soit leur nombre dans une application graphique,

quel que soit leur constructeur.

 Les fabricants interfacent leurs produits avec le standard GKS

 Les applications graphiques deviennent portables

32 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(33)

Graphical Kernel System 2/9

Les concepts de GKS sont toujours d'actualité

Le concept de primitive et d'attribut graphiques

GKS identifie et normalise le contenu d'une page et le décrit avec 4 primitives graphiques:

traits,

surfaces,

textes,

polylines;

Chaque primitive possède des attributs:

épaisseur,

contour ou remplissage,

(34)

Graphical Kernel System 3/9

 Le concept de primitive et d'attribut graphiques

– GKS définit ~300 opérations sur les primitives et leurs attributs

Ces opérations constituent le NOYAU (KERNEL) de GKS.

– Dans chaque langage de programmation PASCAL, FORTRAN ..., GKS définit une syntaxe pour chaque opération

En FORTRAN, CALL GPL (N, X, Y) trace une polyline de N-1 segments par les N points de coordonnées X(N),Y(N)

– La notion d'attribut courant

les attributs d'une primitive doivent être définis avant une

opération du KERNEL sur cette primitive et restent valides pour les opérations suivantes sur les primitives de ce type.

34 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(35)

Graphical Kernel System 4/9

 Le concept de station de travail (workstation)

– Il s'agit indifféremment d'une fenêtre sur un écran, d'une

imprimante, d'un traceur... où par ex. le CALL GPL(N, X, Y) sera effectué

– Une station de travail

est référencée logiquement par un workstation ID

est référencée physiquement par un workstation type (variable entière)

ex. 7878 pour la Falco, 12201 pour un fichier PostScript GKS;

le workstation type se réfère à un logiciel de gestion appelé driver, lequel pilote le hardware attaché à la workstation

(36)

Graphical Kernel System 5/9

 Le concept de station de travail (workstation)

– Il n'y a pas limitation sur le nombre de workstations utilisées dans un même programme.

On peut afficher sur un ou plusieurs écrans, tout en fabriquant un ou plusieurs fichiers qui seront imprimés ou tracés ultérieurement

– Dans une application, une workstation est successivement définie, ouverte, activée, sélectionnée, fermée

36 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(37)

Graphical Kernel System 6/9

 Le concept de métafichier

– Le métafichier

stocke dans un format défini les primitives et attributs graphiques d'une page

est un fichier ASCII que l'on peut échanger par réseau (mail, ftp ASCII, …)

permet le transport de l'information graphique; une "image"

(illustration) stockée dans un métafichier peut, en principe, être reprise par la même ou par une autre application

(38)

Graphical Kernel System 7/9

 GKS contient des concepts graphiques nouveaux (pour l’époque)

– le locateur,

– les transformations,

– la précision d'une fonte, – le clipping,

– la segmentation... (un segment est un objet composé de plusieurs primitives)

38 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(39)

Graphical Kernel System 8/9

 Les défaults de GKS

– Il faut beaucoup d'effort pour écrire un programme de haut niveau graphique en n'utilisant que les 4 primitives de base.

– Il manque les fonctionnalités nécessaires à la présentation de données sous forme d'histogrammes, axes, lego plots, échelles logarithmiques... (qui existaient déjà dans HPLOT bien avant GKS)

– En dépit de l'ISO, 9 différentes implémentations de GKS existent et présentent quelques différences entre elles.

GKS GRAL de GTS-GRAL (Darmstadt puis CERN)

UNIGKS de UNIRAS...

(40)

Graphical Kernel System 9/9

 Les défaults de GKS

– Des standards graphiques sont hors GKS

GDDM sur IBM/VM,

GL sur Silicon Graphics et IBM-RS 6000, DI 3000 (USA)

– Le stockage ASCII des informations graphiques sur métafichier est gourmand en taille de fichier;

– De plus, si la relecture de l'information du métafichier est possible, la manipulation n'en est pas aisée

40 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(41)

BitMaP

BMP

(42)

BMP (1)

 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 manière à obtenir un bitmap indépendant du périphérique d'affichage (DIB, Device independent bitmap).

42 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(43)

BMP (2)

 La structure d'un fichier BMP 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

(44)

BMP (3)

Entête du fichier

Elle fournit des informations sur le type de fichier (Bitmap), sa taille et indique où commencent les informations concernant l'image à proprement parler.

Elle est composé de quatre champs :

La signature (sur 16 bits), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères.

BM, 424D en hexadécimal, indique qu'il s'agit d'un Bitmap Windows.

BA indique qu'il s'agit d'un Bitmap OS/2.

CI indique qu'il s'agit d'une icone couleur OS/2.

CP indique qu'il s'agit d'un pointeur de couleur OS/2.

IC indique qu'il s'agit d'une icone OS/2.

PT indique qu'il s'agit d'un pointeur OS/2.

La taille totale du fichier en octets (codée sur 32 bits)

Un champ réservé (sur 32 bits)

L'offset de l'image (sur 32 bits), 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

44 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(45)

BMP (4)

Entête de l'image

elle fournit des informations sur l'image, notamment ses dimensions et ses couleurs.

L'entête de l'image est composé de 11 champs :

La taille de l'entête de l'image en octets (codée sur 32 bits). Les valeurs hexadécimales suivantes sont possibles suivant le type de format

BMP :

28 pour Windows 3.1x, 95, NT, ...

0C pour OS/2 1.x F0 pour OS/2 2.x

La largeur de l'image (sur 32 bits), c'est-à-dire le nombre de pixels horizontalement (en anglais width)

La hauteur de l'image (sur 32 bits), c'est-à-dire le nombre de pixels verticalement (en anglais height)

(46)

BMP (5)

 Entête de l'image

La méthode de compression (sur 32 bits). Cette valeur vaut

0 pour aucune compression

1 pour un codage RLE de 8 bits par pixel 2 pour un codage RLE de 4 bits par pixel

3 pour un codage bitfields, signifiant que la couleur est codé par un triple masque représenté par la palette

4 pour un codage JPEG 5 pour un codage PNG

La taille totale de l'image en octets (sur 32 bits).

46 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(47)

BMP (6)

 Entête de l'image

La résolution horizontale (sur 32 bits), c'est-à-dire le nombre de pixels par mètre horizontalement

La résolution verticale (sur 32 bits), c'est-à-dire le nombre de pixels par mètre verticalement

Le nombre de couleurs de la palette (sur 32 bits)

Le nombre de couleurs importantes de la palette (sur 32 bits). Ce champ peut être égal à 0 lorsque chaque couleur a son

importance.

(48)

BMP (7)

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

48 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(49)

BMP (8)

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

(50)

Graphics Interchange Format

GIF

50 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(51)

GIF (1)

 Le format GIF (Graphic Interchange Format) créé par la société Compuserve. Il était sous brevet Unisys. Le

dernier brevet sur le GIF a expiré le 11 août 2006.

 Il existe deux versions de ce format de fichier développées respectivement en 1987 et 1989 :

– GIF 87a supportant la compression LZW, l'entrelacement (permettant un affichage progressif), une palette de 256

couleurs et la possibilité d'avoir des images animées (appelées GIFs animés) en stockant plusieurs images au sein du même fichier.

(52)

GIF (2)

 Ce format supporte de 2 à 256 couleurs parmi 16.8 millions dans sa palette.

 Compression

– L'algorithme de compression permet une compression sans perte mais dont l'efficacité dépend de plusieurs facteurs

de l' existence de zones "homogènes".

de l'orientation de l'image

– Ceci est simplement dû au fait que la lecture des données de l'image se fait en commençant par le pixel en haut et à gauche et se fait en ligne.

52 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(53)

GIF (3)

 Transparence

– La transparence est possible.

 Entrelaçage

– L'entrelaçage (différent selon le navigateur) est possible mais il fait que les images ont en général un poids en octets plus

important que celles dont les données ne sont pas entrelacées (différence qui peut parfois s'avérer relativement importante).

 Animation

– Les animations sont supportées par ce format (attention à l'entrelaçage).

 Usages

(54)

Joint Photographic Experts Group

JPEG

54 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(55)

JPEG (1)

Le JPEG (Joint Photographic Expert Group) est la

représentation d'une norme ISO et il est libre de droits.

Il permet une représentation en vraies couleurs (16 millions).

La compression utilisée est une compression avec perte.

Le but premier de l'algorithme utilisé est de permettre un taux de compression important dans le but que les modifications

apportées sur l'image ne soient pas visibles à l'oeil (ce qui est vrai pour les taux de compression les plus faibles mais qui n'est plus vrai pour les taux de compression les plus élevés).

(56)

JPEG (2)

 Attention, une compression de 10% ne signifie pas une perte de 10% des informations (la perte n'est pas

linéaire, et dépend des données de chaque image).

 De plus, il faut être vigilant car l'échelle de compression n'est pas forcément la même selon les logiciels (ce n'est pas standardisé du tout).

 Attention également, chaque fois qu'une image JPEG est enregistrée, il y a perte car il y a compression. Il

n'est également pas possible d'utiliser le format JPEG sans perte de données (même avec le taux de

compression le plus faible).

56 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(57)

JPEG (3)

 Transparence

– Ce format ne supporte pas la transparence.

– La raison en est que pour qu'une transparence existe, il faut

"indiquer" dans le fichier que les pixels de telle ou telle couleur ne seront pas affichés à l'écran lors de la lecture des données de l'image.

– Le problème est que lorsque la compression s'effectue avec perte, à la décompression un pixel peut très bien ne pas avoir la même couleur, ce qui signifie que l'effet de la transparence pourrait changer après compression, chose qui n'est pas

acceptable.

(58)

JPEG (4)

 Entrelaçage

– Ce format supporte l'entrelaçage. La visualisation de l'image s'effectue d'abord à très faible qualité (faible encombrement) puis la qualité augmente au fur et à mesure des passages

jusqu'à atteindre la qualité finale de l'image.

 Animation

– Ce format ne supporte pas les animations.

 Usages

– Représentation de prédilection : les images "naturelles" avec des grands dégradés de couleurs (transition douce de

couleurs).

58 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(59)

JPEG 2000 (1)

 Le format JPEG présente un inconvénient majeur :

la qualité de l'image après modification.

C'est pourquoi, les membres du groupe JPEG, se sont remis à travailler sur l'élaboration d'un nouveau format de codage d'images plus performant : Le JPEG 2000.

 Le format JPEG 2000 permet

dans une zone définie, des manipulations géométriques tels que la rotation, la permutation du paysage par

rapport au portait.

de définir une ou plusieurs zones d'une image afin d'en préserver la qualité. En effet, ce système permet de

dégrader les régions les moins stratégiques de l'image

(60)

JPEG 2000 (2)

 De plus, un code d'erreur, permet de détecter si une

erreur est survenue lors de la transmission des données de l'image. Malheureusement, le JPEG 2000 ne permet pas la correction de ses erreurs.

 Compression

– Le format JPEG 2000 est basé sur un système d'ondelette qui permet une compression plus importante tout en préservant la qualité de l'image (la perte de qualité est imperceptible à l'œil nu). Le seul point faible de la compression à ondelette est le téléchargement obligatoire d'un plug-in.

 Nombre de couleurs supportées

– Le JPEG 2000 supporte 16 millions de couleurs

 Transparence

– Le JPEG 2000 gère la transparence.

60 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(61)

PNG

(62)

PNG (1)

 PNG (Portable Network Graphics) est un format libre de droit qui émane des recommandations du

consortium W3 (1996).

– Il est recommandé de l'utiliser sur internet même si son principal inconvénient est de ne pas être reconnu par les navigateurs d'ancienne génération

 Nombre de couleurs supportées

– 3 types d'images sont possibles: vraies couleurs, niveaux de gris et 8 bits basée sur l'utilisation d'une palette.

62 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(63)

PNG (2)

 Compression

– La compression est sans perte et réputée pour son efficacité...

 Transparence

– La transparence est supportée avec la possibilité d'utiliser des masques (fusion de 2 images)

 Entrelaçage

– L'affichage entrelacé est possible

 Animation

– il ne supporte pas les animations. Il existe cependant son équivalent qui supporte les animations: le format MNG

(64)

MNG (1)

 Le MNG (Multiple-image Network Graphics) est libre de droit et étroitement lié au format d'image PNG.

 La version 1.0 des spécifications sont sortie le 31 janvier 2001. MNG est très récent et n’est pas aussi largement soutenu que le PNG.

 La structure des fichiers au format MNG est

fondamentalement identique à celle des fichiers PNG, différant seulement

– dans la signature et

– dans l'utilisation d’unités d’information discrètes fournissant une grande variété de dispositifs d'animation.

 Les images utilisées dans l'animation sont stockées dans le fichier MNG comme une encapsulation

d’images au format PNG ou JNG.

64 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(65)

MNG (2)

 Deux versions de MNG de complexité réduite ont été également créées. Elles permettent à des applications d'inclure le support de MNG à un certain degré, sans devoir mettre toutes les spécifications de MNG

– MNG-LC (Low Complexity)

– MNG-VLC (Very Low Complexity).

 Très peu de navigateurs Web supportent ce format.

– Néanmoins plusieurs navigateurs Web tels que Netscape Navigator et Konqueror affichent déjà MNG

– Mozilla a retiré le support de MNG dans la version 1.5a et dans toutes les futures versions et ne semble pas se vouloir le

(66)

APNG

 Le format APNG (Animated Portable Network

Graphics) est une autre extension du format PNG. Il est par conséquent libre de droits

 Le format APNG est specialement conçu pour faire des animations graphiques pour le web.

 MNG est un autre format d'images animées très lié à PNG. L'avantage d'APNG est la taille réduite de la librairie et sa compatibilité avec de vieilles

implémentations de PNG.

66 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(67)

Tagged Image File Format

TIFF

(68)

TIFF (1)

 Attention aux différentes (pour ne pas dire multiples) versions existantes de ce format d'images qui rendent sa diffusion parfois difficile.

 Statut par rapport aux brevets

– Aldus corporation.

 Nombre de couleurs supportées

– 16 millions.

 Compression

– Ce format d'images peut être avec ou sans compression. De plus, il existe différents modes de compressions (sans perte) possibles que l'on peut choisir (ou pas) lors de l'enregistrement du fichier. Toutes ces possibilités expliquent la multitude des formats TIFF que l'on peut rencontrer et qui est à l'origine de problèmes de compatibilités entre logiciels.

68 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(69)

TIFF (2)

 Transparence

– Ce format ne supporte pas la transparence.

 Entrelaçage

– Ce format ne supporte pas l'entrelaçage.

 Animation

– Ce format ne supporte pas les animations.

 Usage

– Tous usages (sauf internet).

– Format non utilisé sur internet car trop volumineux.

(70)

Des informations stockées dans les images

Metadonnées dans les Images

70 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(71)

Exif (1)

 L' Exif (Exchangeable image file format) est une spécification de format de fichier pour les images utilisées par les appareils photographiques

numériques.

 Il a été établi par le JEIDA (Japan Electronic Industry Development Association ). Cette spécification repose sur des formats existants tels que

– JPEG,

– TIFF version 6.0

– RIFF format de fichier audio WAVE,

 en y ajoutant des balises de métadonnées.

(72)

Exif (2)

 Les métadonnées définies dans ce format couvrent un large éventail de données, dont :

– Information de la date et de l'heure. Les appareils numériques enregistrent la date et l'heure de la prise de vue et l'insèrent dans les métadonnées.

– Les réglages de l'appareil. Cela comprend des informations statiques telles que la marque et le modèle de l'appareil et des informations variables telles que l'orientation, l'ouverture, la vitesse d'obturation, la longueur de focale, la sensibilité...

– Des informations géographiques provenant d'un éventuel système GPS connecté à l'appareil.

– Description et information des droits d'auteur.

72 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(73)

Exif (3)

 Les données Exif sont incorporées au fichier d'image lui-même.

 Le format Exif est essentiellement destiné à être généré lors de la création du fichier et à n'être jamais modifié ensuite

– Certains éléments peuvent être endommagés en cas de modification d'autres éléments.

– Pour ajouter ou modifier des métadonnées (titre, mot clé, etc.) d'utiliser un autre format comme XMP ou IPTC.

 La spécification Exif n'est plus maintenue car il n'y a

(74)

XMP (1)

Le XMP (Extensible Metadata Platform) est un format de

métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme.

Il a été lancé par Adobe Systems (qui possède la marque XMP et le contrôle des spécification) en avril 2001 en étant intégré à la version 5.0 d'Adobe Acrobat.

XMP permet d'enregistrer sous forme d'un document XML des informations relatives à un fichier : titre, auteur,

historique des modifications, etc.

XMP défini différentes méthodes pour stocker ce document XML au sein même de fichiers

JPEG, JPEG 2000, GIF, PNG, TIFF HTML,

Adobe Illustrator, PSD, PostScript, etc.

74 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(75)

XMP (2)

Bien qu'ouvert à tout type de données pouvant intégrer un document XML, XMP prédéfini la façon de stocker un certain nombre d'informations les plus courantes, en reprenant en particulier des éléments de Dublin Core et d'Exif.

Avantages

Stocker les métadonnées au sein même du fichier permet de

garantir l'association métadonnées-fichier et facilite les échanges Grâce à XML, le format est aisément extensible sans créer de

problème de compatibilité

L'usage d'Unicode permet l'intégration de texte en n'importe quelle langue (ce qui n'est pas le cas avec des solutions

concurrentes et plus anciennes comme IPTC ou Exif)

(76)

IPTC

L’IPTC (International Press Telecommunications Council) est un consortium fondé en 1965 et réunissant les principales agences de presses du monde.

Sa tâche consiste à développer et maintenir des standards techniques destinés à faciliter l'échange des données dans ce domaine.

Les standards de l'IPTC sont employés par la quasi totalité des grandes agences de presse du monde.

L'IPTC regroupe actuellement environ 55 entreprises et

organisations actives dans le monde de la presse, provenant de tous les continents excepté l'Amérique du Sud.

Métadonnées

L'IPTC a défini un standard informatique pour le stockage des métadonnées (titre, auteur, agence, copyright, etc.) relatives aux images de presse, utilisé en particulier dans les fichiers JPEG et TIFF.

Une version a été adaptée pour s'appuyer sur une solution alternative plus récente et performante, XMP.

76 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(77)

Une image qui se dessine

Formats Vectoriels

(78)

PostScript

78 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(79)

PostScript (1)

 Historique

– Créé vers la fin des années 70 par John Gaffney de the Evans &

Sutherland Computer Corporation

– Développé par Design System puis Adobe Systèmes

Incorporated continua le développement comme un langage outil indépendant pour le formatage de page.

– Malgré ses qualités et ses extensions comme EPS (Encapsulated PostScript), PostScript n'est guère populaire que sur les plates- formes Unix tandis que son avatar, le PDF, est très utilisé sur les plates-formes Macintosh et Windows.

– Cependant il reste le format le plus utilisé bien que la plus part

(80)

PostScript (2)

Il repose sur des formulations vectorielles de ses éléments.

Ce langage inter plates-formes permet d'obtenir un fichier unique comportant tous les éléments constituant la page (textes, images, polices, couleurs, etc.).

Le Postscript est indissociable de l'environnement dans

lequel il sera exécuté. Étant donné le caractère totalement dynamique de ce langage, il sera en fait interprété.

L'interpréteur est composé d'une pile, et d'un ou plusieurs dictionnaires.

La pile sert de stockage temporaire pour les paramètres des fonctions, puis pour leurs résultats.

Les dictionnaires permettent le stockage des variables, ainsi que du code des fonctions.

Exemple ghostscript et ghostview

80 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(81)

PostScript (3)

 Nous pouvons commencer par dessiner grâce a PostScript en considérant le géométrie de la page.

– Les coordonnées des points sur la pages ont comme unité le pixel qui représente 1/72eme de pouce dans le langage

PostScript.

– Le point en bas et à gauche de la page a pour coordonnées (0,0)

– la taille de la page par defaut (type letter) est

horizontalement de 612 pixels

verticalement de 792 pixels.

– Autre type pour les pages

(82)

PostScript (4)

 La deuxième étape est de placer le pinceau à la

position initiale du tracé. Ceci peut être réalisé par la commande

 x y moveto

– Où x et y sont respectivement l'abscisse et l'ordonné où va être placé le pinceau

– Où x et y sont considérés comme des nombres entiers correspondant à des pixels.

– En PostScript les arguments sont avant les commandes !

82 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(83)

PostScript (5)

 Maintenant nous sommes prêt à tracer une ligne.

Commençons avec une figure simple : le segment. La commande pour réaliser ceci est

 xx yy lineto

– Où xx et yy sont les coordonnées du point correspondant a la fin du segment. Son point de départ est la position courante du pinceau x et y.

 Exemple

% initialisation % 100 100 moveto

% Dessin d’un rectangle % 300 100 lineto

(84)

PostScript (5)

 Autres exemples de commandes

– Déplacement relatif au point précédent

x y rmoveto

– Dessin de ligne relatif au point précédent

x y rlineto

– Modifier l’épaisseur de trait

x setlinewidth

– Dessin d’arc de cercle

x y r a b arc

84 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(85)

Scalable Vector Graphics

SVG

(86)

SVG (1)

SVG (Scalable Vector Graphics ) est une spécification du

W3C. C'est un format de fichier basé sur XML permettant de décrire des ensembles de graphiques vectoriels.

Il existe 3 spécifications SVG rédigées par le W3C :

SVG : spécification complète

SVG Mobile : spécifications allegées dédiées aux systèmes embarqués

SVG Print : spécification dédiée pour l'impression de documents

SVG 1.1 et SVG Mobile sont des recommandations du W3C depuis le 14 janvier 2003.

SVG 1.2 est toujours en Working draft (brouillon)

SVG Mobile 1.2 est en Last call for comments (dernier brouillon)

86 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(87)

SVG (2)

 Avantages du langage SVG

– interopérable : étant issu du XML, il offre la possibilité d'utiliser tous les outils XML dont les parsers, les outils de

transformations, les bases de données, les feuilles de style...

– ouvert : les spécifications sont publiques et leur implémentation est libre

– complet : support des formes de base, des dégradés, d'animations, d'effets, du texte, de script (Javascript)

(88)

SVG (3)

<?xml version="1.0" encoding="utf-8"?>

<svg

xmlns="http://www.w3.org/2000/svg"

xmlns:xlink="http://www.w3.org/1999/xlink"

xmlns:ev="http://www.w3.org/2001/xml-events"

version="1.1"

baseProfile="full"

x="0" y="0"

width="300" height="200"

id="svg2">

<title>Rectangles</title>

<defs

id="defs4" />

<g

id="layer1">

<rect

width="300" height="120"

x="0" y="20«

fill="green" id="rect1306" />

</g>

</svg>

88 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(89)

SVG (4)

 SVG peut être visualisé nativement avec certains navigateurs Web

– Konqueror – Opera

– Mozilla Firefox

– ou à l'aide d'un plug-in pour d'autres.

 Certaines interfaces graphiques l'utilisent pour la gestion et l'affichage d'icônes, et d'interface

– X.org – GNOME

(90)

Pour en savoir plus sur les formats

Quelques Références

90 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(91)

Références (1)

 Historique

– http://www.hominides.com/html/art/grotte-chauvet.htm – http://fr.wikipedia.org/wiki/Hi%C3%A9roglyphe

 GIF

– http://fr.wikipedia.org/wiki/Graphics_Interchange_Format

 JPEG

– http://fr.wikipedia.org/wiki/JPEG

 PNG

– http://fr.wikipedia.org/wiki/Portable_Network_Graphics

 TIFF

(92)

Références (2)

 APNG

– http://fr.wikipedia.org/wiki/APNG

 Exif

– http://exif.org/

 PostScript

– http://melusine.eu.org/syracuse/postscript/

– http://fr.wikipedia.org/wiki/PostScript

 SVG

– http://www.yoyodesign.org/doc/w3c/svg1/

– http://svgfr.org/

– http://fr.wikipedia.org/wiki/SVG

92 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(93)

La Couleur

(94)

RVB

 Le RVB (RGB)

– Rouge, vert et bleu sont les trois couleurs primaires en synthèse additive

– Les 24 bits d'une couleur se décomposent en 3 fois 8 bits :

8 bits sont consacrés à la teinte primaire rouge

8 bits sont consacrés à la teinte primaire vert

8 bits sont consacrés à la teinte primaire bleu.

94 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(95)

CMJN

 Le CMJN (CMYK)

– Le cyan, le magenta et le jaune sont les trois couleurs primaires en synthèse soustractive

(96)

TSL

 Le TSL (HSL)

– Contrairement aux espaces RVB et CMYK, le système HLS est indépendant du support.

la teinte (en anglais Hue), correspondant à la perception de la couleur (T-shirt mauve ou orange),

la saturation, décrivant la pureté de la couleur, c'est-à-dire son caractère vif ou terne (T-shirt neuf ou délavé),

la luminance, indiquant la quantité de lumière de la couleur, c'est- à-dire son aspect clair ou sombre (T-shirt au soleil ou à l'ombre).

96 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(97)

TSV

 Le TSV (HSV)

– HSV(Hue, Saturation, Value) est un espace colorimétrique.

– Le modèle HSV, ou HSB (Hue, Saturation, Brightness), defini un espace de couleur en fonction de ses trois composants

– Teinte, le type de couleur (comme rouge, bleu, jaune...):

– Saturation, l'intensité de la couleur:

Parfois appelé "pureté"

Plus faible est la saturation d'une couleur, plus l'image sera

"grisée" et plus elle apparaitra fade

– Valeur, la "brillance" de la couleur

(98)

YUV

 Le YUV

– La premier représente la luminance et les deux autres représentent la chrominance.

– YUV est utilisé dans les systèmes de diffusion télévisuelle PAL et NTSC.

– Le modèle YUV se rapproche beaucoup plus de la perception humaine des couleurs que le RGB, mais pas autant que HSV.

– Dans le traitement des signaux vidéo couleur, on ajuste les

coefficients des signaux U et V de telle sorte que la valeur crête à crête soit égale à la valeur maximale de Y, soit 0,7 V.

Y = 0,299R + 0,587V + 0,114B U = 0,492(BY)

= − 0,147R − 0,289V + 0,436B V = 0,877(R Y)

= 0,615R − 0,515V − 0,100B

98 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(99)

YDbDr

 Le YDbDr

YDbDr est l'espace colorimétrique utilisé dans la norme de télévision couleur SÉCAM.

Y est la luminance, et Db et Dr sont les différences de couleur rouge et bleue.

Les composantes YDbDr entretiennent les relations suivantes avec les composantes de l'espace de couleur RGB

Y = + 0.299R + 0.587G + 0.114B Db = + 1.505(B - Y)

(100)

Et l’Œil Humain…

 Le gamut de l'œil humain

– Soit un espace à 3 dimensions basé sur les composantes Rouge, Vert, Bleu où tous les points ont une position définie dans un repère orthonormé par les 3 coordonnées (r,v,b).

– L'œil humain n'est capable de percevoir qu'une partie de cet espace.

– L'ensemble des points de cet espace qui correspond aux

possibilités visuelles de l'œil humain forme un patatoïde, qui, projeté sur un plan convenablement orienté, donne une figure en forme de fer à cheval.

100 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(101)

Le Gamut de l’œil humain

 Le gamut de l'œil humain

(102)

Ou comment réduire la taille physique des données

La Compression des Données

102 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(103)

Compression (1)

 Pourquoi compresser les données?

De nos jours, la puissance des processeurs augmente plus vite que les

capacités de stockage, et énormément plus vite que la bande passante des réseaux, car cela demande d'énormes changements dans les

infrastructures de télécommunication.

Pour pallier ce manque, on réduit la taille des données en exploitant la puissance des processeurs plutôt qu'en augmentant les capacités de stockage et de transmission des données.

 Qu'est-ce que la compression de données?

La compression consiste à réduire la taille physique de blocs d'informations.

Un compresseur utilise un algorithme qui sert à optimiser les données en utilisant des considérations propres à celles-ci.

Un décompresseur est nécessaire pour reconstruire les données originelles

(104)

Compression (2)

 Le quotient de compression, aussi parfois appelé ratio de compression, est une mesure de la performance d'un algorithme de compression de données

informatiques.

– Le degré de réduction de la taille des données obtenues par une méthode de compression peut être évalué au moyen du quotient défini par la formule :

Q = taille initiale/taille finale

– Plus une compression sera forte, plus le quotient de compression sera lui aussi élevé.

Image d’origine = 800 Ko

Image compressée = 50 Ko

Quotient de compression = 800/50 = 16

104 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

(105)

Compression (3)

Le taux de compression est défini comme étant le rapport du volume des données après compression sur le volume initial des données.

De ce fait, plus le taux de compression est faible, plus la taille du fichier compressé résultant est faible.

Le taux de compression exprimé en pourcentage ainsi défini est donné par la formule :

( [Volume final] / [Volume initial] )* 100.

Taux de compression = (50/800)*100 = 6.25%

Le gain de compression est défini comme le gain en volume rapporté au volume initial des données.

Cette définition est en fait complémentaire de la première. Plus le taux de compression est élevé, plus la taille du fichier compressé résultant est

faible.

La formule correspondante exprimée en pourcentage s’écrit :

([Volume initial] - [Volume final])/[Volume initial] * 100

(106)

Compression (4)

 Compression physique et logique

La compression physique agit directement sur les données

il s'agit de regarder les données redondantes d'un train de bits à un autre.

La compression logique est effectuée par un raisonnement logique en substituant une information par une information équivalente.

 Compression symétrique et asymétrique

Dans le cas de la compression symétrique, la même méthode est utilisée pour compresser et décompresser l'information

Il faut donc la même quantité de travail pour chacune de ces opérations.

C'est ce type de compression qui est généralement utilisée dans les transmissions de données.

La compression asymétrique demande plus de travail pour l'une des deux opérations.

On recherche souvent des algorithmes pour lesquels la compression est plus lente que la décompression.

Des algorithmes plus rapides en compression qu'en décompression peuvent être nécessaire lorsque l'on archive des données auxquelles on n'accède peu souvent.

106 Présentation: Stéphane Lavirotte - Auteurs: ... et al*

Références

Documents relatifs

Ces deux coins ne pour- raient pas être des coins d'un petit carré, ils devraient donc être «noyés» dans un des petits carrés, ce qui demande au moins deux pièces de plus, et

Suite à ces recherches et grâce aux discussions menées avec les équipes des espaces jeunesse, nous en sommes venues à la conclusion que les adolescents

[r]

De plus, connaître l'usage de certaines formules permet de mieux appréhender le contenu d'un document, tel pour une minute notariée (contrat de mariage,

Si vous utilisez CURA pour la première fois, il faut indiquer au logiciel le modèle d'imprimante 3D que nous utilisons dans la classe : Choisir dans la liste proposée,

Dans le cadre de l’analyse des dispositifs de formation intégrant les Technologies d’Information et de Communication, nous nous interrogeons sur le rôle spécifique que peut

Elle a raconté son premier millésime dans un récit paru en 2011, Dans les vignes, chroniques d’une reconversion.. Elle est également l’auteure de Recettes de ma vigne

Figure 11 – Génération d’un code de Freeman Après le calcul du code de Freeman de chaque forme, nous définissons des ensembles de transformations permettant