Règles d'anticrénelage sous-pixel

11

J'ai récemment eu un problème avec l'anticrénelage sous-pixel du texte , qui produit des couleurs très dures et m'a fait me demander comment cela devait être fait correctement:

entrez la description de l'image ici

J'ai dessiné quelques cas d'une tuile noire couvrant les tiers des pixels ci-dessous.

entrez la description de l'image ici

Les couleurs correspondent à celles que je vois, mais quand je regarde un texte correctement anticrénelé, le résultat n'est pas aussi brillant et distrayant:

de www.lagom.nl

Je suppose qu'il doit y avoir un équilibre entre une bonne intensité lumineuse et la bonne couleur. Quelles méthodes sont utilisées pour l'anti-crénelage sous-pixel qui donnent de si bons résultats?


Mise à jour:

J'ai rendu une théière blanche à une image avec une largeur 3x et avec un multi-échantillonnage. Ci-dessous, je compare la moyenne tous les 3 pixels avec l'attribution de chacun à RVB. Les couleurs semblent toujours trop vives dans certains cas (surtout par rapport à l'exemple ci-dessus à partir d' ici ), pas que mon téléphone les capture bien.

entrez la description de l'image icientrez la description de l'image ici

entrez la description de l'image icientrez la description de l'image ici

entrez la description de l'image icientrez la description de l'image ici OK, donc mon moniteur a besoin d'un peu de poussière

jozxyqk
la source
Je crois que certains écrans ont une disposition différente des couleurs primaires. Avez-vous vu vos résultats sur différents types d'écran?
trichoplax
@trichoplax non, mais je suis convaincu que mes deux moniteurs sont RVB. Ici aussi, je suis plus intéressé par la façon dont les techniques d'anticrénelage sous-pixel sont censées fonctionner plutôt que par un correctif pour mon problème.
jozxyqk
Je ne voulais pas dire différentes couleurs primaires, je voulais juste dire que le rouge, le vert et le bleu sont disposés en différents motifs géométriques, donc votre algorithme devrait savoir quel motif est utilisé afin de donner de bons résultats.
trichoplax
1
@trichoplax oui, désolé j'aurais dû clarifier, les deux moniteurs ont des pixels divisés en tiers dans l'ordre RVB de gauche à droite comme sur cette photo .
jozxyqk
1
Dans une certaine mesure, le texte en italique aura des franges de couleur moins visibles car les lignes inclinées ne permettent pas à la même couleur d'être présente pendant plus de quelques pixels consécutifs verticalement.
trichoplax

Réponses:

3

Je ne sais pas ce qui se passe là-bas. En regardant le rendu des "considérations" dans votre exemple, les "inconvénients" ressemblent à ce que vous obtenez lorsque vous effectuez un anticrénelage sous-pixel brut, sans appliquer le "correctif" nécessaire pour le rendre agréable. Mais alors le "der" dans le même mot semble qu'il n'y a pas d'anti-aliasing sous-pixel.

Vous pouvez trouver un bon article sur le fonctionnement de l'anti-aliasing de sous-pixels à la recherche de beauté ici https://www.grc.com/ct/ctwhat.htm et pour la partie "correction" ici https: //www.grc. com / ct / freeandclear.htm et ici https://www.grc.com/ct/cttech.htm

Cela revient à dire: si vous calculez simplement les intensités R / G / B en calculant la zone couverte pour chaque sous-pixel, les franges de couleur résultantes sont très laides / irritantes. Pour y remédier, vous devez appliquer un filtre flou horizontal / passe-bas à l'image sous-pixel. Le résultat est une image moins nette mais qui a également des couleurs beaucoup moins saturées. C'est-à-dire quelque chose comme votre exemple "Check you".

pgroke
la source
2

Quelles méthodes sont utilisées pour l'anti-crénelage sous-pixel qui donnent de si bons résultats?

Vous pixellisez simplement les lettres comme si elles étaient 3 fois plus larges.

Les résultats diffèrent dans la façon dont vous pixellisez les courbes, notamment le type de schéma d'anticrénelage / d'échantillonnage qu'il utilise et s'il utilise des indications de police . Pour une vue d'ensemble, voir Textes Rasterization Exposures by Anti-Grain Geometry (IIRC c'est ce que Chromium / PDFium utilise) ou le rendu Subpixel sur Wikipedia.

Qu'est-ce que l'image attachée va, je ne pense pas qu'elle ait quoi que ce soit à voir avec le rendu sous-pixel. Cela peut être n'importe quoi: mauvaise géométrie des pixels , mauvais gamma, mauvaise conversion de l'espace colorimétrique, ...

Ecir Hana
la source
Je m'attendrais à des problèmes avec la géométrie des pixels, le gamma ou la conversion de l'espace colorimétrique à apparaître comme une distorsion des couleurs à des points arbitraires de l'image, plutôt que le cycle régulier vu dans l'image de la question. Le fait qu'il passe horizontalement entre l'anticrénelage de couleurs exagéré et l'antialiasing de niveaux de gris purs indique que la première application de l'antialiasing a été effectuée à une échelle différente.
trichoplax
Je n'ai pas l'explication complète, car la distorsion ne semble pas être alignée entre les différentes lignes de texte, mais il semble que le problème soit lié au rendu sous-pixel du texte déjà tramé plutôt qu'au texte vectoriel.
trichoplax
@trichoplax Ce que j'essaie de dire, c'est que je doute qu'il y ait un problème avec le rendu sous-pixel d'Anti-Grain. Au lieu de cela, je suppose que l'entrée est altérée plus tôt qu'elle n'entre dans le rasterizer. Ou plus tard, mais pas dans le rasterizer lui-même.
Ecir Hana
Oui, je pense que le rendu sous-pixel est appliqué correctement, mais lorsqu'il est appliqué à du texte pré-tramé, il n'est pas possible de donner un bon résultat. Je ne pense pas que le rendu soit cassé, je pense juste qu'il est alimenté par le mauvais type de texte.
trichoplax