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.