QUELQUES FORMATS D`IMAGE

Transcription

QUELQUES FORMATS D`IMAGE
QUELQUES FORMATS
D'IMAGE
Avec les premiers systèmes d'affichage graphiques, les images
étaient des objets encombrants mais simples constitués d'une
matrice de valeurs éventuellement associée à quelques
informations annexes. Les progrès des méthodes de traitement
d'image et les applications nouvelles ont conduit à une
multiplication des formats existants.
Il n'existe pas, parmi les programmes d'applications qui traitent
ou générent des images, de conventions répandues pour
standardiser le format sélectionné par défaut. Il appartiendra au
concepteur d'un site de coder les images dans les formats les
plus appropriés, éventuellement en utilisant un programme de
conversion. En effet, les formats ne sont pas équivalents car ils
différent par:
Les types d'image supportés
Les algorithmes de compression utilisés
Les possibilités de spécification de tables de couleur et
de fonction gamma
Une autre caractéristique à considérer dans le cadre d'une
diffusion Internet est le caractère plus ou moins répandu d'un
format. Un concepteur de site a clairement intérêt à se limiter
aux formats les plus connus. Ceci explique l'apparition de
standards de facto dans ce domaine.
Les formats suivants sont fréquemment utilisés sur le Web:
BMP
GIF
PNG
TIFF
JPEG
PostScript
BMP Bit Mapped Picture
Le format BMP est un format assez ancien qui est encore utilisé
à cause de sa simplicité. Il est une évolution du format PCX des
première version de Paintbrush. En général une image en
format BMP ne différera d'une image brute que par un
enregistrement d'en-tête contenant les dimensions de l'image.
Une possibilité de compression d'image a été prévue avec ce
format. Toutefois ce compactage est basé sur un algorithme
RLE (Run Lenght Encoding) dont l'efficacité est assez faible.
Les gains réalisés ne justifient pas la complexité induite sur le
décodage. Aussi l'utilisation de la compression BMP est
déconseillée. Si le volume de l'information nécessitait une
compression il serait préférable d'employer les formats GIF,
PNG ou JPEG.
Le format BMP est prévu pour supporté des données codées sur
1, 2, 4 , 8 et 24 bits. Toutefois tous les programmes
d'application ne supportent pas l'intégralité de cette norme et en
particulier les programmes adaptés aux anciennes versions de
MS-Windows.
GIF Graphic Interchange Format
Le format GIF est sans doute encore le format le plus répandu
sur le réseau et est particulièrement bien adapté aux images
calculées. Ses caractéristiques principales sont:
Support du codage des pixels en 8 bits associés à une
table de 256 couleurs
Possibilité d'affichage en flot continu, il n'est pas
nécessaire d'avoir reçu l'ensemble de l'image pour
commencer la visualisation. Les capacités de stockage
entrelacé permettent des effets d'affichage en plusieurs
passes (du plus grossier à la pleine définition).
La définition de zones transparentes peut faire apparaitre
l'image comme n'étant pas de forme rectangulaire.
Les données sont compressées par un algorithme
réversible le LZW. Après décompression l'image initiale
sera intégralement restituée. Cet algorithme est efficace
sur une image constituée de plages de couleurs. Il le sera
moins si l'image comporte des dégradés de couleur.
La société Unisys à fait valoir un brevet sur l'algorithme de
compression et a prétendu réclamer des droits d'utilisation aux
développeurs. Bien que la situation soit confuse et
qu'apparemment les logiciels de compression circulent
librement, ceci a incité à définir d'autres normes pour le Web.
PNG Portable Network Graphics
Le format PNG a été défini pour succéder au GIF. Il est bien
sur entièrement du domaine public et présente quelques
extensions par rapport au GIF.
Possibilité de codage en vraies couleurs. Un pixel peut
être codé sur 48 bits.
Intégration de la correction gamma.
Contrôle de qualité de la transmission
Il est donc plus général que le GIF mais est encore assez
rarement supporté par les navigateurs. Il a fait l'objet d'une
recommendation du W3 Consortium.
TIFF Tagged Interchange File Format
Ce format a été conçu comme un format d'archivage capable de
décrire un grand nombre de fichiers graphiques. Aussi, la
définition du format est particulièrement complexe et les
logiciels ne supportent en général qu'un sous ensemble de la
définition. L'utilisation de cette spécification ne garantit pas la
compatibilité des données. Par ailleurs, l'utilisation de champs
référencés par des pointeurs impose de recevoir l'ensemble de
l'image avant de la visualiser.
Ces raisons amènent à déconseiller l'emploi du format TIFF.
JPEG Joint Photographic Expert Group
Le JPEG a été conçu comme un format complémentaire du GIF
et spécialisé dans le codage de documents photographiques. Il
est donc capable de prendre des documents en vrai couleur
(codés sur 24 bits). L'originalité principale de ce format réside
dans son algorithme de compactage qui autorise un certain
niveau de dégradation de l'image pour améliorer ses
performances.
L'idée de base est qu'un processus de filtrage préalable élimine
l'information non pertinente et accroit l'homogénéité de l'image.
Le produit généré sera d'autant plus compact que ce filtrage
aura été poussé. L'opérateur devra donc réaliser un compromis
entre compacité et fidélité de restitution.
Le format JPEG est particulièrement efficace mais présente
deux limitations principales:
Dans la mesure où l'image décompactée diffère de
l'image initiale ce format n'est pas recommandé pour une
archive de référence ou lorsque l'image transmise doit
être manipulée par des traitements numériques.
L'algorithme de compactage n'est pas adapté aux images
issues de tracé. Il présenterait des performances très
médiocre sur des trames noir et blanc.
PostScript ou EPS
Le PostScript est un langage de programmation défini par
Adobe en 1985. Il est spécialisé dans le contrôle d'appareils de
restitution. Il a été conçu afin de rendre la description d'un
graphique indépendante de l'imprimante ou du traceur utilisé, et
aussi pour déporter la gestion du tracé vers le périphérique.
Le langage est essentiellement composé de commandes de
tracé: ordres graphiques élémentaires, écriture de textes,
sélection de polices de caractères ou d'une trame de
remplissage, rotation et dilatation. Pour pouvoir adapter les
objets graphiques à une fenêtre de tracé, il comporte également
des instructions arithmétiques élémentaires. Enfin il est possible
de décrire une image et ses couleurs.
Le code suivant permet de tracer un carré et de le remplir:
/inch { 72 mul}
newpath
1 inch 1 inch moveto
2 inch 1 incn lineto
2 inch 2 inch lineto
1 inch 2 inch lineto
closepath fill
D'une certaine manière, l'EPS ne code pas une image mais son
processus d'élaboration. Ce procédé garantit une restitution
optimale même si le dispositif d'impression diffère de celui
prévu initialement. Ceci est particulièrement sensible pour les
trames, une image tramée codée en format GIF ne pourra pas
être convertie en plages de couleurs alors que ceci sera facile à
partir du PostScript.
Par contre il n'existe pas de moyen pour segmenter un
programme PostScript en différentes pages à moins de le tracer
effectivement. C'est pour cela qu'a été défini une norme
d'encapsulation. L'encapsulation du PostScript est constituée de
commentaires et sera donc ignorée de l'imprimante. Par contre
elle founira une information au préprocesseur. Une application
courante est la transformation d'un texte pour le disposer en
pluisieurs colonnes sur une même page. Il existe plusieurs
niveaux d'encapsulation, la première ligne du fichier indique le
dialecte choisi. Ainsi un code en niveau 1 est précédé de:
%!PS-Adobe-1.0
Le PostScript est couramment utilisé pour télécharger des
versions imprimables dans de bonnes conditions de documents
HTML. Il peut également être efficace pour transférer des
images constituées de textes et de vecteurs.
Par contre, il convient de controler le processus de codage. En
effet, puisque ce langage accepte un format bitmap, il est facile
de réaliser une copie d'écran et aprés un codage élémentaire de
l'entourer d'instruction EPS. Le fichier résultant sera accepté par
une imprimante, mais ce procédé de codage le rend inadapté à
une utilisation sur Internet (pas de compactage, format
statiques). Or les convertisseurs de format utilisant ce procédé,
il faudra se limiter pour la diffusion aux documents en PS natif.
Il existe de nombreux ouvrages sur ce langage, et en particulier
des documents de référence publiés par Adobe. On trouvera
une introduction rapide au PostScript à l'URL
http://www.cs.indiana.edu/docprojet/programming/postscript/postscript.html
Taille des fichiers
La taille des fichiers images est un paramètre important pour un
site Web parce qu'elle influe directement sur les temps de
transfert en ligne et donc sur le confort de l'utilisateur et
l'agrément de l'accès au site.
A titre comparatif, les algorithmes de codages ont été testés sur
les trois images qui illustrent cette page:
Une photo couleur numérisée
Une vue satellite (canal visible de GOES)
Un tracé de contour à partir d'un fond de carte numérique
Les conversions ont été réalisées à travers les logiciels
ghostscript et xv.
Carte
Satellite
Tableau
BMP
58430 182686
360450
GIF
7023
70288
64389
TIFF
9202
73324
298692
JPEG
44109 41714
22541
PostScript 88671 1110367 731752
Comme le montre le tableau précédent qui indique la taille des
fichiers générés, le format GIF est optimal pour les tracés. Pour
obtenir une efficacité de compactage équivalente en JPEG il
faudrait considérablement dégrader l'image. Par contre le JPEG
est très supérieur pour la photo numérisée et reste optimal pour
l'image satellite. Dans ce dernier cas, le choix du GIF peut se
justifier, malgré son efficacité moindre, si l'image doit subir des
traitements numériques.
La taille des fichiers PostScript est supérieure à celle des
fichiers BMP qui sont générés sans aucun algotithme de
compactage. Ceci illustre les performances parfois décevantes
des logiciels de conversion en génération de code PostScript.