Anticrénelage

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

L’anticrénelage ou anti-aliasing, ou encore lissage de police, est une méthode permettant d'éviter le crénelage, un phénomène qui survient lorsqu'on visualise certaines images numériques dans certaines résolutions.

Principe[modifier | modifier le code]

Une image numérique est composée de pixels. Lorsqu'elle est redimensionnée, le bord des formes ayant un angle particulier prend la forme d'escalier : c'est le crénelage, ou aliasing. Pour supprimer cet effet visuel disgracieux, on utilise l’anticrénelage, ou anti-aliasing. Ci-dessous, la lettre située à gauche a été générée sans anti-aliasing : on note un effet d'escalier désagréable. La lettre de droite a bénéficié d'un anti-aliasing : ses bords sont adoucis.

Antialiasing comparaison.gif

L'anti-aliasing peut s'effectuer de manière logicielle, ou matérielle.

Méthode matérielle[modifier | modifier le code]

Il s'agit notamment de la méthode utilisée dans les appareils photographiques numériques et les caméras vidéos numériques. Le capteur photosensible est recouvert par un filtre anticrénelage (anti-aliasing) multi-fonction qui a pour but notamment de lisser les pixels présentant des fréquences spatiales élevées (les détails), laissant intactes les fréquences basses (les zones peu détaillées et épaisses).

Lorsque l'anticrénelage est de très faible amplitude son effet est similaire à celui de la diffraction.

À forte intensité et associé à d'autres limitations, s'il réduit effectivement les artefacts et autres défauts des images, il entraîne un léger flou sur les images mais tout à fait rectifiables par des méthodes logicielles.

Méthode logicielle, numérique[modifier | modifier le code]

Ce procédé consiste à échelonner la couleur des pixels au niveau des limites entre deux zones de couleur ou de contraste différent. L'échantillonnage de la couleur d'un pixel est ainsi réalisé en fonction de sa proximité avec les deux zones de couleur. Une fois ce procédé appliqué, la frontière entre les deux zones aura l'air légèrement plus floue mais ne présentera plus cet aspect d'escalier. La plupart des cartes graphiques procèdent à l'anticrénelage au niveau matériel rendant ainsi l'application plus rapide. Néanmoins, l'application de cette option consomme énormément de mémoire vidéo et a tendance tout de même à faire chuter notablement les performances des programmes l'employant. En conjonction avec du filtrage anisotrope, le nombre d'images par seconde (IPS — en anglais framerate ou FPS pour "frames per second") peut être facilement divisé par deux.

Exemple :

Anti-aliased-diamonds.png

Le losange de gauche n'est pas corrigé. Ses bords forment un escalier. Celui de droite est corrigé.

Anti-aliased diamond enlarged.png

Des pixels plus ou moins gris ont été ajoutés pour simuler le fait que ces pixels sont en partie colorés par la forme noire et en partie par le fond blanc.

Il existe de nombreux algorithmes d'anti-crénelage.

  • Oversampling : L'oversampling est une méthode simple mais extrêmement coûteuse en performance. Il s'agit de calculer une image deux ou quatre fois plus grande que la résolution souhaitée, puis de la réduire jusqu'à cette dernière. L'interpolation de la grande image en petite image élimine d'elle-même toute trace d'aliasing.
  • Multisampling ou FSAA : Le multisampling est une méthode complexe pour éliminer l'aliasing, mais elle reste beaucoup moins gourmande en performance que l'oversampling. Il s'agit de repérer les arêtes des polygones dans l'image finale et ensuite d'appliquer un lissage entre les pixels adjacents ne provenant pas du même polygone. Le problème de cette technique est qu'elle ne lisse pas les textures comportant une couche alpha (de la transparence) comme les grillages, le multisampling considérant que tous les pixels de la texture (y compris ceux qui sont transparents) proviennent du même polygone. Du coup, il ne fait pas la différence entre les pixels vus à travers la texture et les pixels de la texture elle-même.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]