La puissance toujours accrue des ordinateurs et la disponibilité de périphériques graphiques performants ont contribué au développement de l’informatique graphique, l’infographie. Cette utilisation privilégiée de l’ordinateur pour créer, stocker puis manipuler des dessins ou des images a bouleversé le mode de travail de plusieurs professions, et tout particulièrement de celles qui utilisent l’ordinateur pour la synthèse d’images représentant des modèles de la réalité. La synthèse d’images est probablement née en 1963 avec le logiciel graphique Sketchpad, développé par I. Sutherland. Depuis, les progrès n’ont cessé, tant sur le plan matériel (amélioration des performances et baisse des coûts) que sur celui des logiciels (processeurs en parallèle, «pipelines»).
Cet essor remarquable a permis à la synthèse d’images de conquérir de nombreux marchés industriels et commerciaux. La conception et/ou la fabrication assistée(s) par ordinateur (CAO, CFAO) sont largement utilisées dans les domaines de la mécanique, de l’électronique, de l’architecture et de l’urbanisme; le graphique d’affaires ou de communication permet de remplacer d’importants volumes de documents par des dessins et des schémas, plus lisibles. Ainsi, les applications de cette technique ont trait aussi bien à la simulation de la conduite d’engins et de véhicules qu’à la visualisation de solutions d’équations mathématiques. Elles concernent également, et très largement, le domaine de l’audiovisuel, où elles sont utilisées pour concevoir les génériques d’émissions de télévision, les dessins animés, certaines séquences de films…
Le principe de réalisation d’une image de synthèse
Une image de synthèse traduit visuellement des images numérisées, elle permet de créer, à partir de données réelles, des séries d’images associées, sur lesquelles seront effectués des traitements d’ombrage, de texture, d’animation.
L’environnement matériel
La synthèse d’images fait appel à des ordinateurs qui utilisent des algorithmes de plus en plus perfectionnés et dont la capacité de mémoire doit stocker, outre le programme, les images créées. De telles stations de travail peuvent gérer 200 000 polygones par seconde, ce qui revient à manipuler en temps réel des images complexes, avec leur rendu de couleur et de lumière. Une image de qualité satisfaisante nécessite une résolution d’écran élevée, qui se mesure en points image, ou pixels (contraction de picture element). Ainsi, le stockage d’une image issue d’un écran matriciel de résolution 1 024 × 1 024 nécessite 1 Mo (million d’octets) de mémoire. Des résolutions inférieures se traduisent par un aspect en escalier des lignes obliques (phénomène d’aliassage), lequel ne peut être estompé que par un travail direct sur la grille des pixels.
Un certain nombre de moyens de communication entre l’homme et le calculateur complètent la station de travail: ce sont les périphériques d’entrée (clavier, souris, boule roulante, tablette à numériser) et les périphériques de sortie (écran graphique, imprimante, traceur). Enfin, un logiciel graphique, ou programme d’application, est choisi selon ses fonctionnalités et le type de matériel utilisé. Ces logiciels sont en général modulaires: modeleur volumique, module de dessin et de cotation, module de simulation dynamique. La publication, en 1985, de la première norme graphique GKS (Graphical Kernel System, «noyau de système graphique») fournit un environnement normalisé et permet de concevoir des applications portables, indépendantes de périphériques particuliers.
Les images produites sont des projections sur un écran plan d’objets définis dans un espace tridimensionnel. Des traitements sont ensuite effectués sur le plan de projection. Le développement actuel d’algorithmes puissants permet de résoudre, par exemple, des problèmes géométriques (coupe d’un polygone, orientation d’un contour, test d’inclusion d’un point dans un polygone), les problèmes de l’affichage sur une mémoire de trame (affichage des segments de droite, remplissage d’un ou de plusieurs polygones), le traitement des phénomènes d’aliassage.
Le phénomène d’aliassage
Il s’observe lorsque les images sont affichées sur une mémoire «discrète» (basse définition des mémoires d’images numériques). Il en résulte une image crénelée, en marches d’escalier, le long des frontières de zones d’intensités ou de couleurs différentes, ou encore des images moirées. Le phénomène se manifeste également, pour de petits objets, sous la forme de clignotements, correspondant à leur apparition ou à leur disparition selon leur position dans la scène. Ces problèmes sont résolus grâce à des algorithmes d’échantillonnage de la scène en fonction de la définition d’affichage de l’écran de visualisation.Le développement des micro-ordinateurs a rendu possible l’adaptation d’un grand nombre de logiciels jusqu’alors utilisables seulement sur de gros ordinateurs. Pour être performants, les micro-ordinateurs doivent être munis d’une puissante carte d’accélération à base de microprocesseurs et d’un processeur graphique.
Comment réalise-t-on une séquence d’animation?
Qu’il s’agisse d’imiter la réalité ou de créer une scène, la réalisation d’une séquence d’animation suit toujours le même processus: modélisation, visualisation et animation.
À partir de figures géométriques simples (droite, polygone, cercle…), le concepteur va construire un modèle de la scène ou de l’objet. Les différentes techniques de rendu vont permettre ensuite l’habillage, qui assure la qualité visuelle du produit: choix des couleurs, détermination et emplacement des sources de lumière, définition des coefficients de réaction de la lumière, simulation ou numérisation par caméra des matériaux. Il ne restera plus alors qu’à animer la scène: déplacement de personnages et d’objets, modification d’éclairement…
La modélisation
Dans le processus qui conduit à la réalisation d’une image de synthèse, la première étape consiste à introduire dans la mémoire de l’ordinateur les informations nécessaires à la définition de la scène. Ces données sont structurées pour permettre leur exploitation efficace par les algorithmes de visualisation et de rendu.
Modélisation filaire d’une constructionLa modélisation géométrique désigne la représentation d’objets du point de vue de leurs propriétés géométriques (et non pas fonctionnelles). Un modèle géométrique est généralement créé à partir d’un terminal graphique. Il ne faut cependant pas confondre l’image qui apparaît sur le terminal et le modèle de l’objet comme résultat de calculs à partir de données réelles.
La modélisation «fil de fer»
Cette modélisation bidimensionnelle, encore employée car peu coûteuse, fut l’un des premiers systèmes informatisés d’aide à la conception. Elle reste cependant inadaptée pour la représentation d’un objet complexe, c’est pourquoi les logiciels de CAO ont intégré la modélisation 3 D (en trois dimensions); les objets sont mémorisés sous la forme de segments 3 D, d’où le nom de modèle «fil de fer». Ce modèle conserve les coordonnées des sommets et des arêtes joignant ces sommets. Il nécessite une puissance de calcul minime et peu de place dans la mémoire de l’ordinateur. Il peut être utilisé pour la visualisation en temps réel lors de la mise au point de séquences.
Toutefois, cette modélisation est de toute évidence très équivoque du fait de l’ambiguïté vide/plein, de l’impossibilité de calcul des masses, de la difficulté d’élimination des parties cachées.
La modélisation surfacique
Les inconvénients du modèle «fil de fer» ont conduit à l’approche surfacique. Celle-ci tient compte des propriétés géométriques des objets considérés, qui sont définis par association d’éléments de surface dont les contours sont délimités par les arêtes.
Cette méthode, utilisée en CFAO, remplace avantageusement les maquettes en bois ou en argile, notamment dans la conception de fuselages d’avions, de coques de navires, de carrosseries de voitures. Ce modèle permet la définition de surfaces parfois très complexes, mais n’autorise pas la vérification automatique de la cohérence des objets créés.
La modélisation volumique
Pour décrire et visualiser des objets solides, le développement de modèles volumiques prend en compte leurs propriétés tant géométriques que topologiques. Ainsi, différents schémas de représentation des solides – arbre de construction, représentation par frontières ou énumération spatiale – ont été élaborés.
L’arbre de construction
C’est le système de représentation le plus utilisé pour la modélisation d’objets tridimensionnels. Il combine des solides au moyen d’opérations ensemblistes. Ce principe est récursif: de nouvelles opérations peuvent intervenir sur les objets déjà créés. La structure naturelle sous-jacente est donc un arbre dont les nœuds sont des opérations booléennes, et les feuilles des objets primitifs. La puissance de représentation de ce schéma est liée au nombre et à la qualité des primitives. Un ensemble de primitives adaptées aux objets à représenter permet d’avoir des représentations concises, faciles à manipuler. L’arbre de construction est donc adapté à la description d’objets paramétrés et d’usage fréquent (pièces mécaniques, éléments de mobilier, pièces de charpente…). Il l’est moins pour la modélisation des formes vivantes ou dans le domaine du design, car il ne décrit pas explicitement les contours de l’objet représenté.
La représentation par frontières
Ce schéma de représentation mémorise les faces, les arêtes, les sommets, ainsi que les relations topologiques entre ces éléments: la frontière de l’objet est explicitement décrite. Cette information est essentielle dans certains cas, comme l’usinage des surfaces, le calcul des masses, le rendu des textures… Toutes les méthodes utilisent en fait une «facétisation» implicite, effectuée lors de l’affichage.
L’énumération spatiale
L’espace bidimensionnel de l’écran est pavé de carrés élémentaires, les pixels; de façon analogue, on peut définir des volumes élémentaires, les voxels. La représentation d’un solide sous forme d’énumération spatiale consiste à fournir la liste des cellules qui sont occupées par ce solide. L’énumération spatiale exige un espace de mémoire considérable et présente d’autres inconvénients, comme la perte de continuité.
Les modèles volumiques, utilisant des primitives classiques comme le cube ou la sphère, sont satisfaisants en CAO, mais ne le sont plus pour représenter des objets naturels comme des arbres ou des nuages. Il a donc fallu étudier la possibilité du passage d’une représentation à une autre, ou élaborer des modèles complexes.
La conversion entre les modèles
Le pouvoir de représentation d’un schéma est lié à une spécificité du modèle. Ce sera, par exemple, le nombre et la qualité des primitives pour un schéma du type arbre de construction; l’utilisation de courbes et de surfaces, l’approximation polynomiale de courbes (Bézier, B-Spline, Bêta-Spline) définies paramétriquement en chacun de leurs points de contrôle pour un schéma de représentation par frontières. La conversion d’un schéma dans un autre nécessite l’élaboration d’algorithmes utilisant le domaine de représentation du premier comme ensemble de primitives pour le second. On peut citer l’évaluation des frontières d’un arbre de construction (usinage des surfaces en CFAO, visualisation d’objets connus en infographie).
Les modèles complexes
Les modèles précédents ne répondent pas au besoin de représentation d’images réalistes en synthèse d’images. De nouveaux procédés ont été développés pour modéliser les surfaces complexes, plissées, les fluides, et les objets naturels très irréguliers, comme les nuages, les feuilles, les arbres, le relief terrestre.
La construction par déplacement
Les objets prismatiques, les surfaces de révolution, par déplacement dans l’espace 2 D (à deux dimensions), selon une direction implicite, permettent de générer des formes. Ces objets peuvent s’ajouter aux primitives utilisées dans les arbres de construction.
La construction par déformation
L’objet modélisé peut être décrit par une suite d’opérations ou de transformations géométriques. Les modèles développés permettent de tordre, de plier, de tasser, d’enrouler une ou plusieurs surfaces d’un objet, donc de le déformer. Le problème inverse (reconstruction de la surface déformée) nécessite encore des temps de calcul prohibitifs.
Modèles complexes construits par déformation
La modélisation de surfaces complexes – récursifs fractal (montagne, arbre, nuage) et graftal (plante, arbre), stochastique (feu, fumée, nuages), spectral, physique (vagues, plantes) – permet la représentation d’images réalistes en images de synthèse. La simulation de nuages ou de surfaces floconneuses, par exemple, nécessite une modélisation de la densité du nuage, ainsi que l’interaction de la lumière avec un tel objet, par une fonction de distribution spatiale. La recherche de visualisation d’objets aux formes libres conduira, à moyen terme, au développement de ces modèles.
La visualisation
Ce premier processus de synthèse d’images aboutit à la visualisation de l’objet ou de la scène sur un support: écran, table traçante… Cette scène est retravaillée pour améliorer le réalisme des images obtenues. On utilise différentes méthodes pour éliminer les parties cachées, créer des ombres portées, étudier des textures, des effets de transparence, de réflexion ou de réfraction.
L’élimination des parties cachées
Dans la réalité, nous appréhendons la notion de profondeur parce que les objets sont en général opaques et/ou cachés en partie. La projection d’un objet sous forme «fil de fer» est ambiguë, car elle ne rend pas compte de la distance à l’œil des divers éléments de la scène. Dans une telle représentation, on ne distingue pas le vide du plein, une même représentation peut donc conduire à plusieurs objets, ou même créer des solides «impossibles», sans aucun sens physique. L’élimination des parties cachées est donc nécessaire pour saisir sans ambiguïté les objets visualisés.
Pour résoudre ce problème, de nombreux algorithmes sont proposés. Selon la nature des données de la scène à traiter, le résultat du processus de visualisation et le type d’utilisation des algorithmes peuvent être très différents. L’image cherchée est-elle du type «tableau de pixels» ou doit-elle être connue par ses contours? Veut-on une image de qualité, sans phénomène d’aliassage ni effets d’optique? Veut-on travailler en temps réel ou en temps différé? Veut-on aboutir à un procédé interactif?
La couleur
En infographie, la couleur est indispensable au rendu réaliste des images. Plus on veut rendre compte de paramètres (textures, ombrages…), plus la palette en est étendue. Plusieurs modèles de représentation des couleurs ont été élaborés. Ils s’appuient sur la théorie trichromique des couleurs ou sur leur perception subjective, elle-même fondée sur les notions de teinte, de saturation, de luminance ou d’intensité. Le coloriage de surfaces texturées ou ombrées accroît le réalisme de la scène et influence l’animation.
L’éclairement
La différence d’intensité des couleurs à la surface d’un objet produit une impression de volume et de relief. La variation d’intensité dépend directement de la nature des sources de lumière présentes dans la scène. Les modèles diffèrent selon le type de lumière (ambiante, directionnelle ou ponctuelle) que l’on veut simuler. Par ailleurs, ces modèles doivent tenir compte de l’aspect des matériaux constituant les objets de la scène. Il peut s’agir de surfaces rugueuses, réfléchissantes, translucides, transparentes, ou d’objets flous (nuages).
On admet généralement que l’éclairement d’un objet comporte des composantes qui dépendent de la position de l’observateur: la lumière peut être ambiante, diffuse, spéculaire… À l’heure actuelle, les méthodes et les modèles proposés n’apportent qu’une réponse partielle à ce problème complexe.
L’ombrage
L’éclairement d’une scène renseigne, par l’intermédiaire des ombres, sur la forme et la disposition des objets. Une telle visualisation est primordiale dans les simulations des conditions réelles (visibilité pour un pilote, ensoleillement dans une implantation architecturale). Le problème revient à déterminer les objets, ou les parties d’objets, visibles depuis la source de lumière. Si la source est ponctuelle, la zone d’ombre a des contours nets; dans le cas d’une source non ponctuelle, l’objet éclairé permet de définir une zone d’ombre et une zone de pénombre. Divers procédés sont employés, comme le calcul des ombres portées pendant l’affichage (ou celui fondé sur le coupage), la méthode des volumes d’ombre, celle du tampon de profondeur ou encore celle du tracé de rayons.
L’algorithme de tampon de profondeur
C’est l’une des principales méthodes d’élimination des parties cachées. L’image produite est représentée par une matrice de pixels. Pour chaque pixel, la méthode gère deux valeurs: une couleur et une profondeur (distance à l’œil de l’objet vu en ce pixel).
Pour traiter un élément, on détermine, par balayage, les pixels de l’image dans laquelle il se projette. La profondeur est calculée, puis affectée, avec la couleur, en chacun de ces pixels. Cet affichage, effectué pour tous les éléments de la scène, donne la couleur des pixels de l’image finale.
L’algorithme de tracé de rayons
C’est, à l’heure actuelle, l’algorithme qui produit les images les plus réalistes. Il prend en compte la plupart des effets optiques (réflexions multiples, transparences, réfractions, sources lumineuses multiples) et permet des effets (bleu atmosphérique, brouillard) et des simulations (surfaces granuleuses bien plus réalistes que celles obtenues par le placage d’une texture). En 1982, le groupe MAGI (Mathematical Application Group Inc.) innove en utilisant le tracé de rayons pour réaliser les images de synthèse de Tron, de Walt Disney, devenu un film de référence.
Pour l’instant, cette méthode ne résout ni les problèmes complexes d’illumination indirecte d’une scène par l’intermédiaire d’un miroir, ni les effets de lumière diffuse dans les scènes d’intérieur, ni les mouvements divers (êtres vivants, vagues sur l’océan, branches d’un arbre sous le vent).
Génération et applications des textures
La représentation des textures apporte un très grand réalisme aux images de synthèse. On distingue deux classes de textures: les textures planes, dites textures 2 D, et les textures volumiques, dites textures 3 D. Les textures 2 D sont définies «à plat» puis plaquées sur la surface des objets. Les textures 3 D sont définies pour tous les points de l’espace, les objets étant ensuite sculptés dans l’espace de la texture.
Imagerie 3D : texturageLa façon la plus simple d’utiliser des textures planes est l’acquisition par caméra de textures naturelles puis leur numérisation. Cette texture informatique sera mise en perspective ou «collée» à la surface des modèles. Mais la taille de la texture est limitée, et l’espace mémoire occupé par une bibliothèque de textures numérisées est très important.
Plusieurs méthodes sont utilisées pour générer des textures planes: méthodes fractale, spectrale, syntaxique… Les textures solides ou volumiques sont définies pour tous les points de l’espace et pour un matériau donné à l’aide d’algorithmes spécifiques. Il est ainsi possible de générer des images de marbre tout à fait réalistes, mais également des textures de bois, de granite, et même de feu, de nuages, de coquillages… Une texture volumique est indépendante de la forme de l’objet, il n’y a donc plus de problème de continuité ou de raccordement de texture entre deux surfaces contiguës de cet objet. La mise en perspective de certaines textures naturelles numérisées provoque l’apparition de moirés. Un filtrage a priori ou simultané de l’image permet de réduire l’aliassage, du moins pour des compressions modérées.
Si des résultats intéressants sont obtenus par les diverses méthodes de génération de textures, aucune ne permet de résoudre tous les cas envisagés, car il n’existe pour l’instant pas de modèle mathématique satisfaisant.
La compression d’images
Une image de qualité en couleurs exige une codification de chaque pixel sur 24 bits pour une palette de 16,7 millions de couleurs. Si l’on affiche des images sur des moniteurs à haute résolution, une seconde d’animation, à 25 images par seconde, exigera 100 Mo d’espace de stockage sur le disque.
La visualisation d’animations en temps réel ne peut pas être assurée par la technologie des disques durs, dont les taux de transfert sont trop lents (de 1 à 2 Mo/s). Une animation vidéo nécessite le transfert de 20 Mo/s. Aussi des recherches s’effectuent-elles dans le domaine de la compression (ou compactage) d’images en vue d’une normalisation. Un premier standard, l’algorithme JPEG (joint photographics experts group), a été adopté pour les images fixes, et un second, le MPEG (motion pictures experts group), pour les animations, est en passe de s’imposer.
Selon la nature des images, le taux de compression varie de 15 à 40 fois la taille initiale. Un processeur spécialisé tel le CL550 de C-Cube comprime plus de 14 millions de pixels par seconde. Des cartes à base de ce processeur permettent de compacter et de décompacter des images en couleurs dans des temps acceptables, de l’ordre de 600 ms.