Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE ANTIALIASING
Ing. Gabriel Mañana Guichón1
imagen en imagen en
espacio continuo espacio discreto
FIGURA 1. Retícula de muestreo utilizada en la digitalización de una imagen continua.
Ingenierla e Investigación 25
QUINCE AÑOS DE INGENIERfA DE SISTEMAS
,--- retícula de
muestreo
para rotación
de 45°
imagen resultante
ción seguido de un nuevo muestreo es llamado específicamente en tareas tales como el proce-
coniontarnente remuestreo de imágenes. samiento de imágenes digitales. Nos provee el
fundamento matemático necesario para el aná-
La siguiente figura (Figura 3) muestra el marco lisis de señales discretas, dándonos una visión
conceptual del procesamiento de imágenes di- precisa de los problemas que surgen con el
gitales referenciado en este artículo. En un prin- muestreo de señales continuas, así como una
cipio la imagen digital es obtenida por medio de buena idea de las posibles soluciones. Para es-
un sistema electrónico de adquisición (básica- to nos brinda una elegante formulación mate-
mente puede estar compuesto de una cámara mática que describe la relación existente entre
de video y un equipo conversor análogo-digital, .una señal continua y sus muestras. En el caso
donde hay una primera etapa de muestreo). En que nos interesa esta formulación será utilizada
seguida pasa por una etapa de remuestreo
en la solución de problemas relacionados con
compuesta de un proceso de reconstrucción de
la reconstrucción de imágenes y la aparición de
la señal continua y un nuevo proceso de mues-
distorsiones o aliasing.
treo en las posiciones deseadas. La posición
exacta de las nuevas muestras estará determi- Por reconstrucción nos referimos al proceso de
nada por la transformación espacial en particu- interpolación aplicado a las muestras y por alia-
lar que se aplique. Para evitar distorsiones en sing a las distorsiones causadas por la presen-
la imagen final se utilizan técnicas de filtrado cia, en la señal continua, de altas frecuencias
digital (antialiasing) fundamentadas en la teoría que no son reproducibles en la imagen resultan-
del muestreo. te dadas las limitaciones impuestas por la reso-
lución del dispositivo de salida (monitor, etc.).
Teoría del muestreo
Además de definir los límites teóricos del proce-
La teoría del muestreo es una herramienta fun- so de reconstrucción de una señal continua a
damental en el estudio de sistemas digitales, partir de una entrada discreta, la teoría del
26 Ingenierfa e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
muestreo
sistema de
adquisición de
imágenes algoritmos de barrido
digitales
remuestreo (resampling)
imagen imagen
reconstrucción muestreo
de entrada de salida
transformaciones
espaciales
teoría del
muestreo
muestreo nos permite establecer la calidad de Cuando se aplica una transformación espacial,
las diferentes técnicas de filtrado o antialiasing. con el muestreo puntual son descartados inter-
val os completos de la imagen de entrada. Si
Aliasing esta imagen de entrada varía en forma suave,
la información perdida puede ser recuperada
A través de las técnicas de reconstrucción de por medio de interpolación, esto es, reconstruc-
imágenes se resuelve uno de los primeros pro- ción. Sin embargo, si los intervalos descartados
blemas que aparecen al trabajar en un dominio son lo suficientemente complejos (la imagen de
discreto: muestrear en posiciones arbitrarias entrada varía en forma abrupta en intensidad),
una entrada originalmente discreta. Otro proble- el proceso de interpolación puede resultar defi-
ma aparece sin embargo al evaluar la salida dis- ciente y por ende la información descartada,
irrecuperable. En este caso se dice que la señal
creta. Este problema, que hace parte de la etapa
o imagen de entrada ha sido submuestreada
de remuestreo, se describe a continuación.
(undersampled) y cualquier intento de recons-
La imagen resultante, como ya se ha visto, ha trucción dará origen a distorsiones o aliasing.
sido generada a partir de un muestreo puntual Estas distorsiones, causadas por la presencia
de altas frecuencias no reproducibles, apare-
de la imagen de entrada reconstruida. Por
cen en forma de bordes escalonados o patrones
muestreo puntual nos referimos a un proceso
de Moiré.
de muestreo "ideal" donde el valor de cada pun-
to es tomado en forma independiente de sus El filtrado empleado para contrarrestar estos
vecinos. Esto es, cada punto en la imagen de efectos es llamado antialiasing y se fundamenta
entrada tiene influencia en un punto, y solo uno, en los principios bien establecidos por la teoría
de la imagen de salida. del muestreo. Una técnica típica de filtrado se
Ingeniarla e Investigación 27
QUINCE AÑOS DE INGENIERíA DE SISTEMAS
basa en el desenfoque de la imagen de entrada - Si este es el caso, ¿cómo puede ser recons-
antes de ser remuestreada. Esto permite que truida g(x) a partir de gs(x)?
los puntos muestreados hayan sido influidos
por los puntos vecinos que luego serán descar- La solución se encuentra en el dominio de la
tados. De esta forma las distorsiones pueden frecuencia donde es utilizado el análisis espec-
disminuirse pero no ser eliminadas. Una ima- tral para examinar el espectro de la información
gen de salida totalmente libre de distorsiones muestreada. Las conclusiones derivadas del
análisis de este problema serán útiles en la eta-
solo puede ser obtenida muestreando a una fre-
pa de remuestreo y serán indicativas del filtrado
cuencia lo suficientemente alta, como lo dicta la
necesario para evitar las distorsiones.
teoría del muestreo. Sin embargo, las limitacio-
nes impuestas por la resolución del dispositivo El importante teorema del muestreo nos permi-
de salida por lo general impiden esta alternativa te relacionar la resolución de la retícula de
y por lo tanto se recurre a "suavizar" la imagen muestreo con la naturaleza de la imagen, más
de entrada antes de volverla a muestrear. específicamente con las frecuencias espaciales
presentes en la imagen. En forma intuitiva se
Si bien los principios de la teoría del muestreo
puede notar que cuanto más compleja (en tér-
ofrecen sendos fundamentos teóricos para
minos de detalle) sea la imagen, más densa
afrontar el problema de las distorsiones, existen deberá ser la retícula para poder reproducir es-
limitaciones prácticas en la implementación de tos detalles. En términos formales el teorema
los filtros ideales propuestos por esta teoría. De del muestreo establece lo siguiente:
aquí que se hayan propuesto numerosos algo-
ritmos para lograr soluciones aproximadas. En Una señal continua univariada, limitada en frecuen-
este artículo se presenta un algoritmo para el ciaS puede ser reproducida completamente a partir
I
4 En esta parte se asume un conocimiento básico sobre la teoria de Fourier (análisis y síntesis).
5 Esto con el fin de evitar espectros de extensión infinita, imposibles de reproducir sin superposición.
28 Ingenierla e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
g(x)
~
.s= puntos de
x
g(x)
intervalo de
muestreo
(a) (b)
g(x) g(x)
/ñal original
"'~ñal interpolada
(e) (d)
FIGURA 4. Representación en el dominio del espacio del muestreo de una onda seno.
Ingenierla e Investigación 29
QUINCE AÑOS DE INGENIERfA DE SISTEMAS
la) espectro de I g( f) I
frecuencia de ~x)
Á fmax fs f
(b) espectro de
frecuencia de la
función ele muestreo
~ ~ ~
f
fs
(el espectro de
frecuenciel de la Igs(f)1
función muestreada
~ Á ~
f
. .. .."'.
h( f) = r Ifl < f_
O Ifl~fmax
..,. .....
,
.'
fmax f
Á f
30 Ingenierfa e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
Ingenierla e Investigación 31
QUINCE AÑOS DE INGENIERfA DE SISTEMAS
(a) espectro de I g( f) I
frecuencia de g(x)
Á fmax r, f
lb) espectro de
frecuencia de la
función de muestreo
~ ~ ~
f
fs < 2fmax
(e) espectro de
frecuencia de la 19s(f)1
función muestreada
~
f
h(f)
f I f
fmax
~
f
FIGURA 6. Muestreo y reconstrucción de una onda seno, utilizando una frecuencia de muestreo inadecuada (fs < 2fs).
32 Ingenierfa e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
Ahora, teniendo en cuenta que r = 1/2, el área La fracción obtenida multiplicada por el área del
de intersección entre una línea de ancho 2a y círculo (1tr2), representa el área efectiva de in-
un pixel se puede expresar en términos de la tersección.
función cov (d) y en términos del ancho de la
Hnea: La razón de modelar el pixel de salida (p.e. mo-
nitor) como un círculo corresponde a la técnica
d >= r, O
cov( d, r) =
1 d.Jr2 - d2 1 d
d < r, -
2
- 1t r2
- - arcsen-
1t r
FIGURA 7.
Ingenierla e Investigación 33
QUINCE AÑOS DE INGENIERíA DE SISTEMAS
de filtrado propuesta por Greene y Heckbert en con un filtro cuadrado (box filter). Aplicando un
1986 (con orígenes en Feibush, Levoy y Cook, filtro cuyos pesos cambian a través de su núcleo
1980), Y la razón se encuentra en el hecho de se pueden obtener mejores resultados. Crow
que el mapeo inverso de un círculo (su preima- (1981) por ejemplo plantea la utilización de
gen en el espacio de la textura) siempre es una "ventanas de Barlett", tres de la cuales se mues-
elipse. Sin importar el tamaño, ecentricidad u tran en la siguiente tabla:
orientación, la forma es invariante y este hecho
es explotado por el método. Esta técnica está
basada en algoritmos desarrollados para el ma-
peo de texturas. TABLA 2
Ventanas de Barlett utilizadas
en el posfiltrado
Supermuestreo o posfiltrado
de una imagen supermuestreada
El proceso de utilizar más de una muestra por 3x3 5x5 7x7
pixel es conocido como supermuestreo. Se uti-
liza una retícula de muestreo más densa que la 12 1 1 2 3 2 1 1 2 3 4 321
retícula de salida. Si se tiene una relación de 3 242 24642 2 4 6 8 642
a 1, por ejemplo, se tienen 9 muestras por cada 1 2 1 3 6 9 6 3 3 6 9 12 963
pixel de salida. El valor de este pixel se calcula 24642 4 8 12 16 12 8 4
a partir del promedio de las muestras tomadas 1 2 3 2 1 3 6 9 12 963
en las respectivas preimágenes. 2 4 6 8 642
1 2 3 4 321
Formalmente el método consiste en tres eta-
pas, pero en la práctica la segunda y la tercera
se combinan en una sola:
El mecanismo radica en centrar la ventana so-
1. El dominio continuo de la imagen es mues-
bre un pixel de la supermuestra y calcular la
treado a n veces la resolución del monitor o
suma de los productos de cada pixel por el peso
dispositivo de salida. En la práctica esto sig-
nifica que la imagen es generada a una re- correspondiente en núcleo del filtro. Este valor,
solución n veces mayor que la resolución del dividido por la suma de los pesos del núcleo, es
monitor. el valor del pixel correspondiente en la imagen
de salida. Desplazando la ventana a través de
2. La imagen muestreada es sometida a un fil- la imagen de alta resolución se obtienen los pi-
tro pasa bajos a la frecuencia de Nyquist del xeles de la imagen filtrada.
monitor.
Un efecto secundario del supermuestreo está
3. La imagen filtrada es remuestreada a la re- en el desenfoque de la imagen original. Esto
solución del monitor. ocurre a causa de la integración que se lleva a
Los algoritmos desarrollados dentro de esta cabo entre los vecinos de cada pixel. Esto sig-
técnica difieren en el valor de n yen la forma del nifica que existe un compromiso en la elección
filtro utilizado. Usualmente para una resolución del tamaño del filtro. Un filtro grande tendrá una
de 512 x 512 se utiliza un supermuestreo de frecuencia de corte más baja y por lo tanto será
2048 x 2048 (n = 4). La imagen de alta resolu- más eficiente al reducir las distorsiones causa-
ción generada es reducida a la resolución final das por el aliasing. Sin embargo, el efecto de
de 512 x 512 promediando el valor de los pixe- desenfoque será mayor y adicionalmente será
les y esto equivale a aplicar una convolución más costoso en términos computacionales.
34 Ingenierfa e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
FIGURAS.
A este algoritmo se le agregan dos ciclos, lla- l/línea con antialiasing: basado en el algoritmo
mados "ciclos ortogonales", dentro del ciclo de Kelvin Thompson,
1/ Nth Graphics, Austin, Texas.
principal. Una vez determinada la posición del
1/
pixel central, el primer ciclo examina los pixeles 1/ equipo: Silícon Graphics, Personal Iris 35
adyacentes en la dirección positiva del eje me- 1/ pixeles: RGBA/8 bits@canal
nor y el segundo examina los pixeles adyacen- 1/ enteros: 32 bits
tes en la dirección negativa. En cada pixel
1/ PIXEL
visitado, el algoritmo calcula la distancia que typedef unsigned char BYTE;
hay desde el centro del pixel a línea central del typedef struct PIXEL PIXEL;
segmento que se está pintando. Esta distancia struct PIXEL {
BYTE r: 11 rojo
es utilizada (generalmente a través de una ta-
BYTE g; 1/ verde
bla) para calcular el área efectiva del pixel que BYTE b; 11 azul
es cubierta por el segmento de línea. Para cal- BYTE a; 11 opacidad
Ingenierla e Investigación 35
QUINCE AÑOS DE INGENIERíA DE SISTEMAS
};
1/ puntofijo
typedef int FXD;
1/macros
# define FXD_FRACCION 16
# define FXD_ZERO O
# define ANCHO_MAX 1280 1/ monitor: 1024 x 1280
1/ tablasprecalculadas
# define AREA (d) area [d] 1/ d en [O, 255]
# define VP _FACTOR (m) factor [m] 11 dist. vertical -> dist. perp.
11 sqrt (1/(1+m"2»
# define BLEND (el, cf) ( (((255-(cl»*(cf» » 8) + (cl» 11 cl: color línea {O, 255}
11 cf: color fondo {O, 255}
void
línea_aa (int xi, int yi, int xf, int yf, BYTE r, BYTE g, BYTE b, BYTE a, PIXEL* pBuf)
{
36 Ingenierla e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
11 DELTAS
nDX = xf - xi: 1/ dx >O
nDY = yf - yi;
11 categoría s/pendiente
nDir = O; I/0~m<1
if (nDY < O) I/m<O
{
nDir I=DY _LT_ZERO;
nDY = -nDY; 1/ siempre m > O (simetría)
}
if (nDY > nDX) 1/ abs(m) > 1
{
nDir I=DY _GT _DX;
SWAP(nDX, NDY); 1/ siempre primer cuadrante (simetría)
Ingenierfa e Investigación 37
QUINCE AÑOS DE INGENIERíA DE SISTEMAS
11 direcciones iniciales
pBres = pBuf + ADDR( (Iong)xi, (Iong)yi );
nAdyDirlnc = incAdy[nDir];
nDiagDirlnc = incDiag[nDir];
nOrtDirlnc = incOrt[nDir];
11 distanciasperpendiculares
fxPendiente = (nDY« FXD_FRACCION) I nDX;
fxlncOrtCur = VP _FACTOR (fxPendiente);
fxlncAdyBres = FXDMUL (fxPendiente, fxlncOrtCur);
fxlncDiagBres = fxlncOrtCur - fxlncAdyBres;
fxDistBres = FXD_ZERO;
11 Bresenham
nAdylnc = nDY« 1;
nDiaglnc = (nDY - nDX)« 1;
nBres = nAdylnc - nDX;
do {
11 pixel central
fFACT = fOP*AREA (abs (fxDistBres»;
pBres ->r = BLEND «BYTE) (fFACT*r), pBres->r);
pBres ->g = BLEND «BYTE) (fFACT*g), pBres->g);
pBres ->b = BLEND «BYTE) (fFACT*b), pBres->b);
"ciclo ortogonal t
for ( fxDistCur = fxlncOrtCur - fxDistBres, pCur = pBres + nOrtDirlnc;
fxDistCur < fxPmax;
fxDistCur += fxlncOrtCur; pCur += nOrtDirlnc )
{
fFACT =fOP*
pBres -> r = BLEND «BYTE) (tFACT*r), pBres-> r);
pBres-> 9 = BLEND «BYTE) (fFACT*g), pBres-> g);
pBres-> b = BLEND «BYTE) (fFACT*b), pBres-> b);
}
38 Ingenierla e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
}
else
{.
nBres += nDiaglnc;
pBres += nDiagDirlnc·sizeof(PIXEL);
fxDistBres += fxlncDiagBres;
}
-nDX;
} "línea_aa
Ingenierfa e Investigación 39
QUINCE AÑOS DE INGENIERfA DE SISTEMAS
1/ se borra el bitmap
Una vez generada la imagen con el texto, de
BitBit (hMemDC,
O, alta resolución, se le aplica un proceso de de-
O, senfoque (blur) de radio de efecto 2, 3, o mayor,
nTextWidth, dependiendo como siempre del equipo destino,
nTextHeight, tamaño de la letra, estilo (normal, negrita, etc.)
hdc,
y calidad final deseada.
O,
O,
Una vez aplicado el proceso de desenfoque se
BLACKNESS);
debe reducir la imagen a la resolución del mo-
1/ se pinta el texto en el dispositivo de memoria nitqr. Para esto se utiliza un núcleo de interpo-
pText->apply(pOwner->HWindow,
lación apropiado, una ventana de Barlett por
hMemDc,
rText.lett, ejemplo (ver Tabla 2), que se hace pasar sobre
rText.top, la imagen, avanzando KERNEL_SIZE en cada
SRCCOPY); paso. Cada vez que el núcleo es centrado sobre
1/ recupera objeto gráfico previo, la imagen se toman KERNEL_SIZE*KER-
l/libera dispositivo de memoria NEL_SIZE muestras, que promediadas según
SelectObject(hMemDc, hPrevObject); los pesos del núcleo conforman el valor del pixel
DeleteDC(hMemDC) ; en la imagen de salida.
LOGFONT If;
40 Ingenierla e Investigación
QUINCE AÑOS DE INGENIERIA DE SISTEMAS
BIBllOGRAFIA
ANGEL, Edward, Computer Graphics, Addison- NIÑO, LUIS., Y HERNÁNDEZ, GERMÁN., "Trans-
Wesley, MA, 1990. formaciones Geométricas de Imágenes Digita-
les", Memorias del Tercer Encuentro de
BRESENHAM, J.E., Ambiguities in Incremental Une Geometría y sus Aplicaciones, Universidad Pe-
Rastering, IEEE Computer Graphics and Appli- dagógica, 1993.
cations, 7(5), pp. 31-43, 1987.
THOMPSON, Kelvin, Graphics Gems, Academic
CATMULL, E., A Hidden-Surface Algorithm with An- Press, MA, pp. 40-48, 105-106, 1990.
tialiasing, Computer Graphics, 12(3), pp. 6-11,
WATT, Alan, Fundamentals o, Three-Dimensional
1975.
ComputerGraphics, Addíson-wesley, GB, 1989.
CROW, F.C., A Comparison o, Antialiasing Techni-
WOLBERG, George, Digitallmage Warping, IEEE
ques, IEEE Computer Graphics and Applica-
Computer Society Press, Los Alamitos, CA,
tions, 1(1), pp. 40-49, 1981. 1990.
Ingenierla e Investigación 41