Mini-cours au groupe de travail "Images"
MMI, Lyon
Arnaud Chéritat

Retour


29 janvier 2016
2e partie, suite


Moirés.

C'est un phénomène bien connu (aussi appelé aliassage, et en anglais: alias). Il y a une analyse classique en terme d'échantillonnage de signal et d'analyse de Fourier. Et c'est en effet de l'échantillonnage que l'on fait dans notre algorithme.

L'alias est particulièrement fort en cas d'échantillonnage de zébrures. Les moirés apparaissent quand l'espacement entre les zébrures devient en gros la distance entre deux pixels, plus précisément quand se produit une résonance entre le signal et la grille d'échantillonnage. J'illustre le phénomène avec un dessin :

Anti-aliasing (anticrénelage)

Une méthode simple de réduction de l'alias consiste à faire un sur-échantillonnage et à prendre des moyennes.


Le principe.

On peut soit inclure le sur-échantillonnage dans le programme, soit lui faire produire une image trop grande que l'on réduit avec un logiciel de dessin, comme GIMP (mais attention au GAMMA ! Nous avons abordé la question du gamma dans la séance suivante, voir les notes correspondantes).

Ci-dessous une série illustrant l'amélioration progressive de qualité pour une fenêtre de 40 sur 40 pixels où l'on divise le pas de la grille de sur-échantillonnage par 2 à chaque fois (ce qui multiplie par 4 le nombre d'échantillons).


1 échantillon par pixel


4 échantillons par pixel


16 échantillons par pixel


64 échantillons par pixel


256 échantillons par pixel


10000 échantillons par pixel

À la limite, on aura une couleur de pixel exactement égale à la proportion d'aire contenue dans le pixel. Notez cependant que cela ne suffit pas à faire disparaître totalement les moirés. Ils ont quelque-chose d'intrinsèque à la réduction en pixels et à la façon qu'à notre système visuel de détecter des motifs.

Parmi les pistes pour réduire les moirés : on choisit, au lieu d'une grille homotétique, un motif de sur-échantillonnage qui évite les résonances (low discrepancy). Je n'ai jamais pris la peine de le faire mais je pense que ça vaut le coup.

Ci-dessous j'ai fait appliquer à un logiciel de traitement d'image une méthode de rééchantillonage nommée "bicubic" ou "B-spline", dont je ne connais pas le fonctionnement, mais qui induit un certain niveau de flou qui est très efficace contre les moirés.

Avec notre algorithme, l'image en 4800×4800 pixels réduite d'un facteur 8 (64 échantillons par pixels) en 600×600 par "bicubic" :

Si l'image apparaît trop claire sur votre écran, c'est qu'il y a un problème de gamma-correction (voir plus tard dans ce cours), voici une autre version plus sombre.

Pour conclure je signale que j'utilise quasi-systématiquement le sur-échantillonnage pour améliorer la qualité de mes images, presque toujours en utilisant un logiciel de traitement d'image (en ce moment : GIMP ou XnView). Cela non seulement réduit les moirés, mais adoucit les effets d'escalier, donnant l'illusion que la résolution d'écran est plus grande que ce qu'elle est. Avec la rapidité des machines actuelles, le sur-coût en temps de calcul n'est plus un problème.

On n'a cependant toujours pas résolu le problème de cette transition brusque entre le bleu clair et le bleu foncé.


Suite de la séance