Antialiàsing

De Viquipèdia
Dreceres ràpides: navegació, cerca
Amb aliàsing
(a)
Amb antialiàsing
(b)
Amb antialiàsing basat en la transformada de Fourier
(c)
Figura 1

En el processament digital de senyal, l'Anti-aliasing és la tècnica emprada per reduir el mínim els fenòmens de distorsió coneguts com a aliàsing quan es representa un senyal d'alta resolució en una resolució inferior. L'Antialiàsing és utilitzat en fotografia digital, infografia, àudio digital, i moltes altres aplicacions.

L'Antialiasing consisteix a treure els components del senyal que tenen una major freqüència de la que pot ser resolta pel mostreig del dispositiu. Aquesta eliminació es fa abans de prendre les mostres en una resolució inferior. Quant el mostreig es realitza sense l'eliminació d'aquesta part del senyal, es produeixen fenòmens no desitjats, com el soroll negre i blanc de la part superior de la figura 1-a.

En el context del processament digital de senyals, un procediment d'antialiàsing podria ser, per exemple, el filtratge de les freqüències que excedeixen el criteri de Nyquist, limitant així l'amplada de banda del senyal. No obstant això, el terme antialiàsing apareix amb major freqüència en el context dels gràfics per ordinador.

En infografia, l'antialiàsing és un algorisme que permet evitar els fenòmens associats a l'aliàsing gràfic, com ara els patrons de Moiré. La figura 1-a mostra a la part superior les distorsions visuals espúries que apareixen en una imatge sintètica amb detalls petits, quan l'antialiàsing no s'utilitza. En contraposició amb la figura 1-b, on s'ha utilitzat un esquema d’antialiàsing, en aquesta imatge els quadres blancs i negres es fonen en tons de gris, que és el que s'espera quan el dispositiu gràfic és incapaç de mostrar la finesa dels detalls. La figura 1-c mostra la imatge que resulta en aplicar una segona estratègia d’antialiàsing, aquesta vegada basada en la transformada de Fourier de la imatge

Exemple en pantalles LCD[modifica | modifica el codi]

Rombe amb aliasing i sense
A dalt a l'esquerra: una versió amb Aliasing d'una forma simple. A dalt a la dreta: una versió amb Anti-aliasing de la mateixa forma. Dreta: Imatge Anti-aliasing ampliada x5.
Imatge anti-aliasing ampliada x5

A la imatge exemple, s'utilitza anti-aliàsing per barrejar els "píxels frontera" d'una mostra gràfica. Això redueix l'efecte estètic desagradable de línies esglaonades que apareixen en el gràfic amb aliàsing a dalt a l'esquerra. L'anti-aliàsing s'aplica sovint en la representació de text en una pantalla d'ordinador per a mostrar contorns suaus que emulen millor l'aparença del text produït per mètodes convencionals d'impressió de tinta sobre paper.

Especialment amb els tipus mostrats a les típiques pantalles de LCD, és comú l'ús de tècniques de subpixel rendering com ClearType. La representació de subpíxeles requereix un filtre antialiàsing especial amb equilibri de color per convertir el que seria greu distorsió dels colors en franges de color perceptibles amb prou feines-. Resultats equivalents es poden obtenir fent cada sub-píxel direccionable com si fos un píxel complet, i el subministrament d'un filtre antialiàsing hardware com es fa en el controlador de pantalla del portàtil OLPC XO-1. La Geometria dels píxels té importància en tot el que s'ha dit, no importa si l'antialiàsing i l'adreçament de subpixel es realitza per programari o per maquinari.

Solucions aproximades en temps real per l'aliasing[modifica | modifica el codi]

Només hi ha un grapat de primitives que es fan servir a nivell més baix en un motor de renderitzat en temps real; que són: punts, línies i triangles. Donat això, si es vol dibuixar una primitiva en blanc sobre un fons negre, és possible dissenyar una primitiva on les vores siguin borroses, aconseguint una mena d'anti-aliasing. No obstant això, aquesta solució té dificultats per les primitives adjacents (com els triangles que comparteixen una aresta.)

Una altra solució és usar un buffer per a les dades a nivell de sub-píxel i pintar les primitives cuidadosament en un cert ordre(des de més lluny fins a més a prop). Així es pot aconseguir una imatge raonablement bona, sense oblidar el consum de memoria que provoca tenir dades a nivell de sub-píxel.

Ja que això requereix que les primitives estiguin en un cert ordre, té una interacció bastant dolenta amb una interfície de programació per fer aplicacions com ara OpenGL. Per tant les últimes solucions simplement tenen dos o més pixels secundaris per cada pixel principal, incloent tota la informació de color per a cada sub-píxel. Alguna informació pot ser compartida entre els sub-píxels (com el Z-buffer.)

Mètodes de antialiàsing[modifica | modifica el codi]

Sobremostreig o postfiltració

Els objectes es mostren amb una resolució més alta i es despleguen amb una resolució menor. S’incrementa l’índex de mostreig al considerar la pantalla com si estigués coberta amb una quadrícula més delgada que la real. Es calculen les intensitat en les posicions de la quadricula de subpixel i llavors es combinen els resultats per obtenir les intensitats de píxel.

Màscares de pes de píxels

Consisteix en atorgar més pes als subpíxeles propers al centre de l’àrea d’un píxel, ja que es considera que aquests subpíxeles son més importants al determinar la intensitat general d’un píxel.

Mostreig d’àrea o prefiltració.

Determinar la intensitat del píxel al calcular el traslape de cada píxel amb els objectes que s’ha de desplegar. Les àrees en que es sobreposen píxels s’obtenen al determinar on s’intersequen les fronteres de l’objecte amb les fronteres de píxels individuals.

Fases de píxel

Canviar la posició de desplegament de les àrees de píxels. S’aplica mitjançant microcolocació del feix d’electrons en relació amb la geometria de l’objecte.

Vegeu també[modifica | modifica el codi]


A Wikimedia Commons hi ha contingut multimèdia relatiu a: Antialiàsing Modifica l'enllaç a Wikidata