transformada discreta del coseno (dct)

27
Transformada discreta del coseno (DCT) Página 1 TRANSFORMADA DISCRETA DEL COSENO (DCT) La transformada discreta del coseno (DCT), - también denominada transformada del coseno -, es la más ampliamente utilizada en compresión de imágenes. Esta transformada cuenta con una buena propiedad de compactación de energía y es muy similar a la KLT Karhunen-Loève Transform), que produce coeficientes incorrelados, con la diferencia de que los vectores base de la DCT dependen sólo del orden de la transformada seleccionado, y no de las propiedades estadísticas de los datos de entrada. La decorrelación de coeficientes es muy importante para compresión, ya que, el posterior tratamiento de cada coeficiente se puede realizar de forma independiente, sin pérdida de eficiencia de compresión. Otro aspecto importante de la DCT es la capacidad de cuantificar los coeficientes utilizando valores de cuantificación que se eligen de forma visual. Esta transformada ha tenido una gran aceptación dentro el tratamiento digitalde imagen, debido al hecho de que, para los datos de una imagen convencional, que tienen una alta correlación entre elementos, su comportamiento es virtualmente indistinguible de la KLT (caso más óptimo). La DCT está bastante relacionada con la DFT , con la diferencia de que es una transformada real, debido a que los vectores base se componen exclusivamente de funciones coseno muestreadas. Además la DCT minimiza algunos de los problemas que surgen con la aplicación de la DFT a series de datos, como veremos más adelante. DCT UNIDIMENSIONAL La respuesta del sistema visual humano depende de la frecuencia espacial. Si pudiéramos, de algún modo descomponer una imagen en un conjunto imágenes, cada una con una frecuencia espacial particular, podríamos separar la estructura de la imagen que el ojo puede ver a partir de la estructura que es imperceptible. La DCT puede proporcionar una buena aproximación a esta descomposición. Para comprender cómo una imagen puede ser descompuesta en sus frecuencias espaciales fundamentales, primero consideraremos el caso unidimensional. (a) F(n) (secuencia de ocho muestras con valores en el intervalo 0..255); (b) F(n) representa a F(n) después de un cambio al intervalo de valores -128..+127;

Upload: others

Post on 27-Jun-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 1

TRANSFORMADA DISCRETA DEL COSENO (DCT)

La transformada discreta del coseno (DCT), - también denominada transformada delcoseno -, es la más ampliamente utilizada en compresión de imágenes. Esta transformada cuenta conuna buena propiedad de compactación de energía y es muy similar a la KLT Karhunen-LoèveTransform), que produce coeficientes incorrelados, con la diferencia de que los vectores base de laDCT dependen sólo del orden de la transformada seleccionado, y no de las propiedades estadísticasde los datos de entrada.

La decorrelación de coeficientes es muy importante para compresión, ya que, el posteriortratamiento de cada coeficiente se puede realizar de forma independiente, sin pérdida de eficiencia decompresión. Otro aspecto importante de la DCT es la capacidad de cuantificar los coeficientesutilizando valores de cuantificación que se eligen de forma visual.

Esta transformada ha tenido una gran aceptación dentro el tratamiento digital de imagen, debidoal hecho de que, para los datos de una imagen convencional, que tienen una alta correlación entreelementos, su comportamiento es virtualmente indistinguible de la KLT (caso más óptimo).

La DCT está bastante relacionada con la DFT , con la diferencia de que es una transformadareal, debido a que los vectores base se componen exclusivamente de funciones coseno muestreadas.Además la DCT minimiza algunos de los problemas que surgen con la aplicación de la DFT a seriesde datos, como veremos más adelante.

DCT UNIDIMENSIONAL

La respuesta del sistema visual humano depende de la frecuencia espacial. Si pudiéramos, dealgún modo descomponer una imagen en un conjunto imágenes, cada una con una frecuencia espacialparticular, podríamos separar la estructura de la imagen que el ojo puede ver a partir de la estructuraque es imperceptible. La DCT puede proporcionar una buena aproximación a esta descomposición.

Para comprender cómo una imagen puede ser descompuesta en sus frecuencias espacialesfundamentales, primero consideraremos el caso unidimensional.

(a) F(n) (secuencia de ocho muestras con valores en el intervalo 0..255);(b) F'(n) representa a F(n) después de un cambio al intervalo de valores -128..+127;

Page 2: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 2

(c) Coeficientes C(k) de la DCT de F'(n).

La Fig. 2.73 representa un conjunto de ocho funciones base co/sinusoidales de amplituduniforme, cada una muestreada en ocho puntos. La forma de onda superior izquierda (k=0) essimplemente una constante, mientras que las otras siete (k=1, ... , 7) presentan un comportamientoalterno a frecuencias más altas progresivamente.

Estas formas de onda (que se denominan funciones base cosinusoidales), son ortogonales; esdecir, si realizamos el producto de dos formas de onda cualquiera, y sumamos estos productos a lolargo de todos los puntos de muestreo, obtendremos un resultado nulo, mientras que si multiplicamosuna forma de onda por sí misma, el resultado será una constante.

Comenzaremos con un conjunto de ocho muestras arbitrarias sobre la escala de grises (F(n)),tal y como se muestra en la Fig. 2.72(a). Las muestras tienen valores comprendidos en el intervalo de0 a 255, pero después de un cambio de nivel a 128 (para obtener una mejor aproximación a travésde funciones base cosinusoidales), los valores de las muestras (F'(n)) estarán en el rango (-128, +127)como indica la Fig. 2.72(b).

El objetivo es descomponer estas ocho muestras en un conjunto de formas de onda dediferentes frecuencias espaciales.

cualquier valor de ocho muestras tales como aquellos de la Fig. 2.72(b). Los coeficientes C(k) sonrepresentados gráficamente en la Fig. 2.72(c).

La Fig. 2.74 presenta una secuencia en la que las ocho formas de onda ponderadas sonsumadas progresivamente, comenzando con la frecuencia mas baja (añadiendo una más cada vez),hasta que finalmente se reconstruye el conjunto original de muestras. Los coeficientes representadosen la Fig. 2.72 (c) son la salida de una DCT de 8-puntos para valores de ocho muestras en la Fig.2.72(b).

El coeficiente que pondera la función base constante (k=0) se denomina coeficiente DC. Elresto de coeficientes se denominan coeficientes AC. Observar que el término DC proporciona elpromedio sobre el conjunto de muestras.

Page 3: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 3

Figura 2.73: Funciones base cosinusoidales.

Por ejemplo, si cogemos el producto de las formas de onda 0 y 1, y sumamos a lo largo detodos los puntos de muestreo, el resultado es cero. Por otra parte, si hacemos el producto de la formade onda 1 por si misma, el producto en cada punto de muestreo es el cuadrado del valor de la formade onda; por lo tanto, la suma de los productos a lo largo de todos los puntos de muestreo es unaconstante positiva (que se utiliza para definir un factor de ponderación para las formas de onda).

Las formas de onda ortogonales son independientes. Es decir, no existe la posibilidad de queuna forma de onda dada, pueda representarse a través de una combinación de las demás formas de

Page 4: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 4

onda. Sin embargo, el conjunto completo de ocho formas de onda, cuando se ponderan mediantenúmeros denominados coeficientes y se suman entre sí, puede utilizarse para representar

Page 5: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 5

Page 6: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 6

Figura 2.74: Funciones cosinusoidales sumadas de forma progresiva.

El proceso de descomponer un conjunto de muestras en un conjunto ponderado de funcionesbase cosinusoidales se denomina Transformada Discreta del Coseno Directa (DCT), y al métodode reconstruir el conjunto de muestras a partir del conjunto ponderado de funciones basecosinusoidales se le conoce como Transformada Discreta del Coseno Inversa (IDCT). Si lasecuencia muestreada es mayor de ocho muestras, puede dividirse en grupos de ocho muestras y laDCT puede calcularse independientemente para cada grupo. Debido a que las funciones basecosinusoidales siempre tienen el mismo conjunto de valores en cada uno de los puntos de muestreodiscretos, solamente cambian los valores de los coeficientes, de un grupo de muestras al siguiente.

DCT BIDIMENSIONAL

La DCT unidimensional puede extenderse a dos dimensiones para su aplicación a imágenes.La Fig. 2.75 muestra un conjunto de 64 funciones base cosinusoidales bidimensionales (imágenes base)que se generaron multiplicando un conjunto de funciones base unidimensionales (de ocho puntos)orientadas horizontalmente (Fig. 2.73), por un conjunto verticalmente orientado de las mismasfunciones.

Las imágenes base orientadas horizontalmente representan las frecuencias horizontales y lasorientadas verticalmente representan las frecuencias verticales. Por convenio, el término DC de lasfunciones base horizontales esta situado a la izquierda, y arriba en el caso de las funciones baseverticales. Por consiguiente, la fila superior y la columna de la izquierda tienen variaciones de intensidaden una dimensión, que si se representan, serían las mismas que las de la Fig. 2.73. (Para propósitos deilustración, un grisneutro representacero en estasfiguras, el blancor e p r e s e n t aa m p l i t u d e spositivas, y elnegro representaa m p l i t u d e snegativas.)

Page 7: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 7

Figura 2.75: Imágenes base de la DCT;modelo en zig-zag.

Cuando ponderamos por un adecuado conjunto de 64 coeficientes, estas funciones basepueden utilizarse para representar cualquier valor de 64 muestras. La Fig. 2.75 también muestra lasecuencia en que estas 64 funciones base son progresivamente sumadas. Este modelo en zig-zag,(utilizado en los algoritmos JPEG), aproximadamente ordena las funciones de menor a mayor frecuenciaespacial.

Page 8: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 8

Debido a que las funciones base de la DCT bidimensional son productos de dos funciones baseunidimensionales, la única función base constante (coeficiente DC) se encuentra en la esquina superiorizquierda del conjunto.

CUANTIFICACIÓN Y REPRESENTACIÓN DE LA DCT ENTERA

La cuantificación nos permite reducir la precisión con la que los coeficientes de la DCT serepresentan cuando se convierte la DCT a una representación entera. Esto puede ser muy importanteen compresión de imagen, en donde se tiende a anular muchos coeficientes - especialmente los de altasfrecuencias espaciales- .

Los valores cuantificados pueden ser asignados individualmente para cada coeficiente DCT,utilizando el criterio basado en la visibilidad de las funciones base.

Si medimos el umbral de visibilidad de una función base determinada - amplitud del coeficientea partir de la cual la función base es detectable por el ojo humano - podemos dividir (cuantificar) loscoeficientes por ese valor (con el apropiado redondeo a valores enteros). Si multiplicamos(decuantificar) los coeficientes así obtenidos por ese valor antes de la reconstrucción, crearemos unacondición en la que el ojo no podría detectar ninguna diferencia entre los coeficientes DCTcuantificados y sin cuantificar. Si estamos dispuestos a tolerar algunos " defectos " visibles en la imagenreconstruida, podríamos dividir por un valor más grande que el correspondiente al umbral de visibilidad.

Este proceso de ponderación y truncamiento de los coeficientes de la DCT a valores enterosse denomina cuantificación, y el restablecimiento aproximado de la magnitud de los coeficientesoriginales de la DCT recibe el nombre de decuantificación.

BLOQUES DE LA DCT

En principio toda serie de muestras de cualquier tamaño puede descomponerse en una DCTbidimensional. Tomaremos como ejemplo para las explicaciones un tamaño 8x8. Por supuesto, lamayoría de las imágenes son muchos más grandes que 8x8 y deben dividirse en bloques de muestrasde este tamaño. Cada bloque 8x8 se transforma independientemente, pero esta segmentación enbloques conlleva algunos problemas.

Debido a que la imagen se divide en bloques 8x8, las frecuencias espaciales en la imagen y lasfrecuencias espaciales de las funciones base no son precisamente equivalentes. Una simple función basecoseno de una frecuencia dada puede representar únicamente una fase particular de una oscilaciónespacial en el bloque; la representación de una fase arbitraria, por tanto, requiere bien una función senoo un armónico coseno de la frecuencia fundamental.

La segmentación en bloques 8x8 puede también producir " efectos de bloque " -

Page 9: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 9

TRANSFORMADA DISCRETA DEL COSENO UNIDIMENSIONAL

discontinuidades visibles entre bloques adyacentes -. Si fijáramos todos los coeficientes AC a cero,entonces el coeficiente DC tendría que representar todas las muestras en un bloque. En aquellos puntosdonde los términos DC difieran notablemente de bloque a bloque, la discontinuidad sería visible. Estosefectos de bloque aparecen como bordes en la imagen, y los bordes abruptos implican altas frecuenciasespaciales. Sin embargo, estas frecuencias espaciales tienen lugar en las transiciones entre bloques yson provocadas por la ausencia de coeficientes AC. En este caso se necesitan coeficientes AC no nulospara suprimir este efecto.

DEFINICIÓN MATEMÁTICA

El par transformado para la DCT unidimensional de una secuencia { F(n), 0 # n # N-1} se define como,

podemos expresar esta transformada de forma matricial C= { c(k,n) }de la forma:

Al aplicar la transformada discreta del coseno muchos de los coeficientes obtenidos sonpequeños, es decir, la mayoría de la energía de los datos se almacena en pocos coeficientes. El par dela transformada discreta del coseno bidimensional se obtiene de forma sencilla a partir del casounidimensional y de la propiedad de separabilidad,

Page 10: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 10

TRANSFORMADA DISCRETA DEL COSENO BIDIMENSIONAL

La Fig. 2.76 muestra ejemplos de la transformada del coseno de diferentes imágenes.

Figura 2.76: Ejemplos de la DCT de diversas imágenes .

A modo de resumen destacaremos las propiedades más importantes de la DCT:

1. La DCT es real y ortogonal, es decir,

C = C* Y C-1 = CT

2. La DCT no es la parte real de la DFT unitaria. Sin embargo, la DCT de una secuencia estarelacionada con la DFT de su extensión simétrica.

Page 11: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 11

3. La DCT es una transformada rápida. La DCT de un vector de N elementos puede calcularse en (Nlog2 N) operaciones a través de una FFT de N-puntos. Para demostrar esto definimos una nuevasecuencia Fo(n) en la que reordenamos los elementos pares e impares de F(n) de la forma

Ahora, dividiremos el sumatorio de la ecuación (par transformado), en términos pares eimpares,

Cambiando el índice del sumatorio en elsegundo término a n'= N-n-1 y reagrupando, obtenemos

que prueba el resultado previamente establecido. Para la inversa de la transformada discreta delcoseno, expresaremos los datos de puntos pares como

Los datos de los puntos impares se obtienen partiendo de que

Page 12: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 12

Por lo tanto, si calculamos la FFT de N-puntos inversa de la secuencia "(k) C(k) ejBk/2N,podemos también obtener la DCT inversa en N log2 N operaciones.

4. La transformada discreta del coseno tiene una excelente compactación de energía para datosaltamente correlados. Esto es debido a las siguientes propiedades:

4.1. Los vectores base de la transformada discreta del coseno (es decir, filas de C) son los vectoresbase de la matriz QC con tridiagonal simétrica, definida como,

4.2. La transformada discreta del coseno NxN esta muy relacionada con la transformada KL de unasecuencia estacionaria de Markov de primer orden de longitud N (siendo R su matriz de covarianza),cuando el parámetro de correlación D es próximo a la unidad. La razón es que R-1, es una matriz dediagonal simétrica, que para un escalar $2=(1-D2)/(1+D2) y "=D/(1+D2) satisface la relación

Esto da lugar a la aproximación

$2 R-1ñQC , para D = 1

Por lo tanto los vectores de R y los de QC, serán bastante parecidos. Esta propiedad de la DCT

Page 13: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 13

junto con el hecho de que la DCT es una transformada rápida la ha convertido en una sustituta útil parala KLT de secuencias de Markov de primer orden altamente correladas.

Page 14: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 14

APLICACIONES DE LA DCT

Si consultamos la literatura técnica comprobaremos que después de la DFT, la DCT es la másampliamente utilizada. Esto no es sorprendente, ya que, como hemos comentado la DCT tiene unascaracterísticas óptimas en cuanto a compactación de energía y además se aproxima a la transformadamás adecuada estadísticamente para la decorrelación de una señal (gobernada por un proceso deMarkov), es decir a la KLT. El desarrollo de varios algoritmos rápidos para una implementacióneficiente de la DCT, que emplean únicamente aritmética real, ha contribuido aún más a su popularidad.Asimismo, la reducción en la complejidad de cálculo de estos algoritmos y la estructura recursivacontribuye a simplificar el hardware notablemente.

Como se ha mencionado anteriormente, la DCT es ortogonal y separable. Esto implica que unaDCT bidimensional pueda implementarse mediante dos transformadas unidimensionales. Esta propiedadpermite que los algoritmos desarrollados para una dimensión pueden extenderse directamente a dosdimensiones. Esto es una ventaja desde el punto de vista de simulación y también para la realización delhardware.

La DCT es una de las principales herramientas de compresión de datos para aplicaciones enteleconferencia, videoteléfonos, transmisión de imagen progresiva, videotexto, HDTV, etc...En lo que se refiere al tratamiento digital de imágenes, repasaremos las principales aplicaciones en ordende importancia.

CODIFICACIÓN DE IMAGEN

La DCT (al igual que las demás transformadas discretas) puede aplicarse a codificación deimagen, desde un punto de vista de reducción de ancho de banda o compresión de datos. El objetivoes conseguir que una imagen (dominio espacial) o secuencia de imágenes (dominios espacial-temporal),se traslade a un dominio transformado de tal forma que se reduzca el ancho de banda para latransmisión o los requerimientos para el almacenamiento; de tal forma que la subsiguiente recuperaciónde la imagen o secuencia de imágenes mediante la transformada inversa, no presente una distorsiónperceptible.

La minimización de la distorsión es significante desde el punto de vista subjetivo, y a pesar deque se han definido muchas medidas cuantitativas (error cuadrático medio - MSE-, error absolutomedio - MAE-, coeficiente de correlación - CC-, etc..), la DCT cuenta con la ventaja de que sea elobservador humano el último en juzgar la calidad de las imágenes procesadas.

Mientras que los criterios cuantitativos y subjetivos (visuales) son los puntos de referencia paraevaluar un algoritmo, son igualmente importantes otros factores tales como la complejidad de laimplementación (realización hardware) y las diversas características opcionales pertenecientes a cadaaplicación específica.

Page 15: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 15

En codificación transformada de imágenes, una imagen NxN es dividida generalmente enbloques, cada uno de tamaño LxL. Por simplicidad las filas y las columnas de una imagen, y también delbloque, se supone que son del mismo tamaño (por esta suposición no se pierde generalidad).

En general, se han utilizado bloques de tamaño 8x8 y 16x16 en codificación de imagen. Estosbloques de tamaño pequeño permiten a un ingeniero introducir características adaptativas basadas enla actividad o detalle existente en el bloque.

Gracias a esta división, la complejidad del hardware (tamaño de la memoria y lógicacomputacional) se reduce considerablemente en comparación con la DCT bidimensional de un cuadrocompleto (un cuadro simple puede ser de tamaño 512x512). Aunque puede existir correlación entrebloque adyacentes, esto no es suficiente para justificar una transformada de tamaño de bloque superiora 16x16. Por lo tanto este tamaño de bloque de 16x16 es la mejor solución de compromiso, teniendoen cuenta la distribución estadística de las imágenes, cuantificadores, y el ruido de los canales.

Por otro lado, los codificadores de videoconferencia y videoteléfonos basados en la DCT sehan desarrollado utilizando bloques de 8x8 ó 16x16. Asimismo el algoritmo básico de codificación deimágenes estáticas (recomendado por JPEG), está basado en la aplicación de una DCT bidimensionalcon tamaño de bloques 8x8.

El algoritmo básico JPEG es aplicable a imágenes estáticas y en movimiento (secuencias deimágenes) transmitidas a través de la red digital de servicios integrados (RDSI), tanto de banda estrechacomo de banda ancha.

Después de dividir la imagen en bloques de tamaño LxL en el dominio transformado, el selectordescarta algunos de los coeficientes tanto de forma adaptativa como fija. Una interpretación física deeste proceso de selección puede observarse en la Fig. 2.75 en la que se muestran las imágenes base dela DCT bidimensional. El bloque superior izquierdo es de intensidad uniforme, representando elpromedio de un bloque de imagen. La progresión de izquierda a derecha representa un númerocreciente de bordes verticales. De forma similar, la progresión desde arriba hacia abajo representa unnúmero creciente de bordes horizontales; en el bloque inferior derecho se produce la mezcla máximade bordes horizontales y verticales (este bloque tiene una forma de tablero de ajedrez).

El descarte de los coeficientes de alta frecuencia en el dominio de la DCT bidimensional implicala supresión de las imágenes base correspondientes a la imagen original, por lo tanto podemosconsiderar la DCT bidimensional como un proceso de descomposición desde el dominio espacial haciael dominio de las imágenes base de la DCT. Esta descomposición estructural puede utilizarseadaptativamente seleccionando los coeficientes de la transformada bloque por bloque base, para suposterior procesado (ver Fig. 2.77), mediante la asignación a cada bloque de un número finito de clasesbasada en la distribución de sus coeficientes.

Page 16: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 16

Fig ura 2.77: Distribución enfrecuencia de los coeficientes de la DCT bidimensional y las características de bloque que representan; elcoeficiente DC es el cuadradito de la esquina superior izquierda.

Las siguientes operaciones incluyen la cuantificación y codificación, antes de transmitir lainformación de la imagen en un flujo de bits serie a través de un enlace digital (microondas,cable coaxial, fibra óptica o satélite), hacia el receptor que realizará las operaciones inversas. Aunquela Fig. 2.78 muestra la codificación de imagen basada en la DCT, es igualmente válida para codificaciónde imagen a través de cualquier transformada ortogonal.

c) Una imagen (NxN) se divide en bloques de tamaño (LxL).

Page 17: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 17

Figura 2.78: Codificación de imagen basada en la DCT.

En la Fig. 2.78, Xs(u,v) es el coeficiente seleccionado para un posterior procesado. Xsq(u,v)es el valor cuantificado de Xs(u,v). Esta es también la salida del decodificador, siempre que el canaltenga ruido. La imagen de error [ x (m,n)- x'(m,n)] es la contribución acumulada del ruido decuantificación, selector, algunos errores de bit no corregidos debido a perturbaciones en el canal, y losefectos de la utilización de una longitud finita de palabra en la DCT y su inversa.

Los fundamentos, principios, y conceptos en codificación de imagen son válidos para lastransformadas discretas (salvo que se especifique, se supone que estas transformadas son unitarias).Teóricamente, podemos aplicar una transformada diferente a lo largo de cada dimensión. Sin embargo,en la práctica rara vez se realiza de esta manera.

Si se puede utilizar cualquier transformada discreta para compresión de imagen ...

... ¿ Por qué no emplear mejor la DFT ?

Además de una mejor compactación de energía, la DCT posee otra ventaja interesante respectoa la DFT. Como acabamos de ver, para facilitar la implementación de la codificación de una imagenNxN, normalmente se divide en bloques LxL(siendo L <<N). Consideraremos únicamente uno de estosbloques. Cuando se lleva a cabo la transformada discreta de Fourier del bloque, se asume laperiodicidad del mismo, por lo que se repite a lo largo de todo el plano bidimensional que contiene laimagen.

Figura 2.79: (a) Periodicidad supuesta por una DFT de un bloque 4x4. (b) "Periodicidad" impuesta por la DCT.

Page 18: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 18

En la Fig. 2.79 queda reflejado un bloque de pixels 4x4. En la transformada de Fourier el pixelB del borde derecho será "tratado" por el algoritmo como si estuviera seguido por el pixel A, ¡ que estarealmente en el borde izquierdo !. Si los niveles de gris en cada pixel difieren considerablemente,cualquier reconstrucción del bloque a partir de únicamente un número limitado de coeficientes de Fourierdará lugar a valores erróneos en A y B. Este fenómeno conocido como efecto de bloque , tiende ahacer muy visibles los límites de los bloques en la compresión utilizando la transformada de Fourier,especialmente cuando la proporción de compresión es elevada; sin embargo, la DCT no presenta eldefecto anteriormente mencionado.

Mientras que la teoría de Fourier implica la repetición de los bloques LxL, la teoría de la DCTimpone esta repetición sobre bloques "hipotéticos" 2Lx2L, que están relacionados con los bloquesoriginales LxL a través de simetrías especulares.

La consecuencia de esta simetría especular se ilustra en la Fig. 2.79(b), donde queda patenteque después del pixel B, le sigue otro pixel B, eliminando así la discontinuidad. Esto provoca unareducción considerable del efecto de bloque.

Antes de terminar esta sección vamos a hacer unos comentarios acerca del tamaño del bloqueen compresión basada en la transformada. Resumiendo, sabemos que la codificación transformada esmás fácil de implementar si se utilizan bloques de tamaño pequeño. Sin embargo, es importante que loscoeficientes de la transformada estén tan decorrelados como sea posible, y aunque la transformadaapropiada decorrelará los coeficientes dentro del mismo bloque, existen siempre ciertas correlacionesentre coeficientes de bloques adyacentes. Esto es debido al hecho de que para dos bloques contiguoscualquiera, los pixels de cada bloque cerca del borde común estarán correlados entre sí.

Generalmente, cuanto más grandes son los bloques más pequeñas son las correlaciones de loscoeficientes entre bloques. Otra consideración importante de especial interés en el tamaño de losbloques es la adaptatividad. En codificación transformada adaptativa, inicialmente se clasifica cadabloque en tres o cuatro clases dependiendo de su nivel de actividad, una medida derivada de loscoeficientes transformados " no-DC". Cada clase tiene su propio procedimiento para la cuantificaciónde coeficientes y asignación de bit a los niveles cuantificados. En un sistema adaptativo tenemos querecordar la identidad de cada bloque, que para cuatro clases requeriría dos bits por bloque. Estos sedenominan bits de cabecera. Por lo tanto, cuanto más pequeño es el tamaño del bloque, más grandees la contribución de los bits de cabecera con respecto al conjunto de los pixels.

Un ejemplo de compresión de imagen basada en la DCT se muestra en la Fig. 2.80. Laimagen 256x256 de la Fig. 2.80(a) fue dividida en bloques 16x16. Únicamente los 128 coeficientestransformados con las varianzas más elevadas fueron retenidos por cada bloque (la varianza de cadacoeficiente fue calculada tomando el promedio total sobre todos los bloques). Los coeficientes quequedaban eran normalizados por sus desviaciones estándar y cuantificados con un cuantificadoruniforme de 16 niveles, que producía una relación de compresión de 2bits/pixel. La imagen reconstruidaa partir de los datos comprimidos se presenta en la Fig. 2.80(b).

Page 19: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 19

Figura 2.80: Ejemplo de compresión de imagen empleando la DCT. La imagen 256x256 - 8 bits/pixel en (a) fuedividida en bloques 16x16. Únicamente los 128 coeficientes con las varianzas más elevadas quedaron en cada

bloque. El cuantificador utilizado fue un cuantificador uniforme, resultando una relación de compresión dedatos de 2 bits/pixel. La imagen reconstruida se muestra en (b).

Como conclusión a la compresión de imagen basada en la DCT, podemos decir que los datosse clasifican de acuerdo con el grado de importancia de su contribución tanto a la información contenidacomo a la calidad subjetiva de la imagen; una vez que se logra tal clasificación, entonces aquelloselementos de los datos que no son importantes, desde el punto de vista de la escala de grises y lacapacidad de resolución espacial del receptor pueden ser omitidos; esto hace posible un mayor gradode compresión de imagen.

FILTRADO DE IMAGEN

Algunos ejemplos de filtrado basado en la DCT se ilustran en las Fig's 2.81 hasta 2.83.Conformando la respuesta del filtro, se puede obtener la imagen filtrada deseada. Si elegimos un filtropara "realzar" las altas frecuencias (filtro paso alto), Fig. 2.81, se obtienen imágenes con mayor nitidez(detalles de alta frecuencia) sin errores debidos a efectos de bloque (también denominados efectos deborde). Estos últimos son característicos del filtrado DFT en bloques, debido a que se asume laperiodicidad de la imagen, tal y como acabamos de ver. Cuando tienen lugar las transiciones deluminancia en los extremos, el rango dinámico de las imágenes puede reducirse a través de un filtradohomomórfico.

Figura 2.81: Filtrado de imágenes basado en la DCT.

Page 20: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 20

Figura 2.82: Filtrado Homomórfico de imágenes .

Figura 2.83: Realzado de imágenes comprimidas.

Un ejemplo de filtrado homomórfico a través de la DCT se muestra en la Fig. 2.82. El filtradode imágenes comprimidas basado en la DCT también puede realizarse como indica la Fig. 2.83.Introduciendo un pre-procesador logarítmico en la entrada y un post-procesador exponencial a la salidaen la Fig. 2.83, se puede conseguir el filtrado de imágenes comprimidas.La Fig. 2.84 muestra varios ejemplos de filtrado basado en la DCT.

Page 21: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 21

Fig. 2.84: Filtrado lineal generalizado utilizando la DCT. (a) imagen original; (b) filtrado paso bajo; (c)filtrado paso banda; (d) filtrado paso alto.

RECONOCIMIENTO DE PATRONES (TRANSFORMADA DE MANDALA)

La transformada Mandala puede definirse sobre cualquier transformada discreta, y no es másque una forma de agrupar los coeficientes transformados con la intención de aplicarlos al reconocimientode patrones.

De todas las transformadas discretas posibles vamos a aplicar esta " transformada " a la DCT,lo que da lugar a la denominada transformada Mandala/DCT que se describe en la Fig.2.85

Figura 2.85: Transformada Mandala/DCT.

Cada bloque en (b) representa la transformación del bloque correspondiente del dominioespacial (a). Cada bloque de Mandala se forma a partir de todos los bloques transformados (b).

Al igual que en codificación de imagen, la imagen original se divide en bloques de tamaño LxLy cada bloque se transforma independientemente, dando lugar a un conjunto de bloques en el dominiotransformado. Los coeficientes de estos bloques se ordenan en bloques de Mandala, de tal forma queel bloque superior izquierda esta compuesto por los valores de los coeficientes de la transformada,mientras que el bloque inferior derecha constituye el contenido de los coeficientes transformados defrecuencia más alta. Cada uno de los restantes bloques de Mandala tiene coeficientes de una frecuenciaespecífica horizontal y vertical, según se desprende de los bloques de la transformada. Estos bloquesprogresan horizontalmente a la derecha y verticalmente a la parte inferior, hacia frecuencias espacialescrecientes horizontales y verticales, respectivamente.

Dependiendo de la transformada discreta utilizada, esta particular forma de ordenar los bloques

Page 22: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 22

recibe el nombre de transformada Mandala/Fourier, Mandala/DCT, Mandala/Walsh, etc..La relación entre los bloques de Mandala (Fig. 2.85(c)) y los bloques transformados (Fig. 2.85 (b)) essimplemente una clasificación de coeficientes de una forma a la otra, mientras que cada bloque de latransformada se genera a partir del correspondiente bloque espacial. Las frecuencias comunes sonagrupadas como bloques de Mandala.

Utilizando varios dibujos característicos a partir de bloques de Mandala, se ha simulado unexperimento de reconocimiento de patrones (basado en la Mandala/DCT), discriminando con éxitoentre objetos naturales y construidos por el hombre. Este experimento incluye clasificación decaracterísticas, e implementación de diferentes clasificadores (decisión estadíst. de superficies).

TRANSMISIÓN PROGRESIVA DE IMÁGENES

Otra aplicación de la DCT, que se deriva de la compresión, es la transmisión de imágenes sobrecanales con un ancho de banda pequeño, tales como líneas telefónicas. Si una imagen se envía en suforma original sobre canales de banda estrecha, la transmisión de la imagen completa puede llevar untiempo considerable. Para agilizar esta transmisión se han desarrollado varios métodos en los que lacalidad de la imagen se crea jerárquicamente.

El objetivo que persiguen estos métodos es desarrollar las características significativas de laimagen en una etapa inicial, para que al visualizarla se pueda responder de modo interactivo. Otrasconsideraciones, tales como la complejidad de la técnica y la robustez frente al ruido asociado al canal,juegan papeles importantes en las ventajas de un método.

Las aplicaciones de la transmisión progresiva de imagen incluye teleconferencia, telediagnósticomédico, videotexto, servicios de seguridad, etc...

¿ Como se realiza la transmisión progresiva de imágenes basada en la DCT?

En general una imagen NxM se divide en bloques, cada uno de tamaño KxL. Después deconformar los bloques en el dominio transformado, los coeficientes de la transformada cuantificadosson transmitidos en una cierta secuencia (bien adaptativamente, controlados por sus varianzas, o deforma fija) al receptor. El receptor reconstruye la imagen conformando la inversa de los grupos decoeficientes de la transformada y añadiendo sucesivamente a la imagen información basada en las etapasprevias. Los detalles y la fidelidad de la imagen se mejoran sucesivamente, casi sin pérdidas en laimagen, en la etapa final.

Por supuesto, existen diversas variantes del método original, todas ellas con el objetivo dereducir la velocidad de bit y mejorar la calidad de la imagen durante las etapas intermedias. La Fig. 2.86representa un esquema general de transmisión progresiva de imagen.

Page 23: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 23

Figura 2.86: Esquema de reconstrucción progresiva de imagen basado en el dominio transformado.

DCT RÁPIDA

El método más sencillo para implementar la DCT es seguir las ecuaciones teóricas. Por ejemplo,para el caso de una DCT bidimensional de ocho puntos, comprobamos que existe un límite superior de64 multiplicaciones y 56 sumas para cada DCT unidimensional. (Los términos " coseno " puedencombinarse con las constantes antes del cálculo, ya que, las funciones coseno se convierten en númerosdiscretos en cada posición). Por lo tanto, una DCT completa de 8x8 realizada de esta forma , enformato unidimensional separable - ocho filas y luego ocho columnas -, requeriría 1024 multiplicacionesy 869 sumas, además de las operaciones adicionales para cuantificar los coeficientes.

Si realmente la DCT necesitara tantas operaciones para su cálculo, tendríamos que elegir unalgoritmo diferente para la compresión de imágenes. De hecho, el algoritmo más eficiente para la DCT8x8, requiere sólo 54 multiplicaciones, 464 sumas, y 6 desplazamientos aritméticos para producir unmétodo adecuado de cuantificación.

Las técnicas de la DCT rápida aprovechan la ventaja que ofrecen las simetrías existentes en lasecuaciones de la DCT. Con un simple repaso de las funciones base (Fig. 2.73) se distinguen lassimetrías de las funciones base unidimensionales, que pueden utilizarse para reducir el número deoperaciones. Las amplitudes pueden asociarse con los signos adecuados antes de la multiplicación

De esta forma, el número total de operaciones es 22 multiplicaciones y 28 sumas. Además, silos coeficientes de la DCT se ponderan de tal forma que una multiplicación se combina con lacuantificación, tenemos únicamente 14 multiplicaciones y 28 sumas para producir una sistema adecuadode cuantificación.

Page 24: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 24

Un método más sofisticado para una DCT rápida unidimensional queda reflejado en la Fig. 2.87.

Figura 2.87: Diagrama de un algoritmo de la DCT rápida unidimensional.

En este gráfico el orden de las operaciones es de izquierda a derecha y las líneas se suman enlos nodos donde convergen. Si una línea contiene una flecha, la señal se cambia de signo antes de lasuma (es decir, se resta) con la otra señal que alcanza el nodo. Así pues, si miramos en las líneas deentrada 0 y 7 (las líneas superior e inferior del lado derecho del diagrama), las señales se suman y serestan. La multiplicación de una señal se indica mediante una caja. Los algoritmos de la DCT rápidahacen uso de una operación básica denominada rotación. La rotación de dos entradas x e y por unángulo Q produce una nueva representación de X e Y (X= x cos (Q)+ y sen (Q), Y= -x sen (Q)+y cos(Q)). La rotación se realiza en las cajas etiquetadas "Rot". Si la entrada a la rotación es positiva la líneade entrada aparece como "+" y si es negativa como "-". La rotación puede ser tanto para ángulosnegativos como positivos. Señalar que una negación de una entrada a una rotación puede ser "absorbida " en las constantes de rotación y no constituir una operación extra. El número de operacionesen este caso se reduce a 13 multiplicaciones y 29 sumas.

En conclusión, una DCT rápida es una secuencia de operaciones que calcula de forma eficienteel conjunto de sumas y restas ponderadas, confeccionando los coeficientes de la DCT. Por supuesto,la eficiencia se determina en parte por la arquitectura de cálculo utilizada, por eso no existe el "mejor"algoritmo. Sin embargo, existen algunos muy buenos como el del diagrama anterior.

Page 25: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 25

DCT RÁPIDA BASADA EN LA DFT

Existe un número de similitudes entre la DFT sobre entradas reales y la DCT. Por ejemplo, unaDCT de N puntos puede expresarse en términos de las partes real e imaginaria de una DFT de N puntosy rotaciones de las salidas de la DFT (ese algoritmo es bastante similar al visto anteriormente). Siguiendouna línea muy diferente de razonamiento, los primeros coeficientes de la DFT de 2N puntos con lasimetría adecuada de los valores de entrada puede utilizarse para calcular una DCT de N puntos. Esteanálisis tiene un interés particular, ya que nos conduce a una estructura muy eficiente de la DCT.

Para calcular una DCT de 8 puntos a partir de las ecuaciones para la DFT de 16 puntos conentradas reales, multiplicamos cada salida de la DFT por un factor de ponderación que se deriva de lanormalización requerida por la definición de la DCT. Este método simplificado queda representado enla Fig. 2.88.

Figura 2.88: Diagrama de flujo de la DCT rápida unidimensional basada en la DFT; a1=0,707,a2=0,541, a3=0,707, a4=1,307, y a5=0,383.

Esta versión de la DCT tiene 13 multiplicaciones y 29 sumas, lo que la hace competitiva frenteal mejor método que se ha logrado con otras técnicas. Lo que la hace especial, sin embargo, son laspropiedades que tiene para la implementación de la DCT ponderada.

Aunque se necesitan 13 multiplicaciones, 8 son para ponderar la salida final al rango correcto.Si las salidas se van a cuantificar no necesitan ponderación, ya que, los factores de ponderación sonabsorbidos por las divisiones requeridas para cuantificar las salidas.

De esta manera, antes de la cuantificación realmente sólo se necesitan 5 multiplicaciones, lo que

Page 26: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 26

supone el más eficiente cuantificador de la DCT unidimensional conocido.

Aunque, hasta aquí hemos estado considerando únicamente la DCT rápida en su forma directa,la DCT rápida inversa puede obtenerse fácilmente invirtiendo la dirección de los diagramas para la DCTdirecta - es decir, recorriendo éstos de derecha a izquierda - . Esto es debido a una propiedad básicade las transformadas ortogonales ...

... la inversa de la transformada es igual a la transpuesta, y la transpuesta puede obtenersetransponiendo el diagrama. El número de ramas del diagrama es igual al número de uniones, y por lotanto la complejidad de la DCT inversa es idéntica a la de la DCT directa para cualquier algoritmorápido.

Ya que la DCT bidimensional es separable, se puede calcular como DCT's unidimensionalessobre todas las filas, y más tarde sobre las columnas formadas por los coeficientes de las filas.

SÍNTESIS

* Después de la DFT, la DCT es la transformada más ampliamente utilizada en el tratamiento digital de imagen.

* la DCT tiene unas características óptimas en cuanto a compactación de energía y se aproxima a la transformada másadecuada estadísticamente para la decorrelación de una señal (transformada de Karhunen-Loève).

* La DCT es una transformada real y ortogonal.

*Esta transformada puede implementarse a través de algoritmos rápidos, y puede estar basada en elcorrespondiente a la FFT.

* La aplicación más importante de la DCT es la compresión de imagen.

*Otras aplicaciones menos usuales de la DCT son el filtrado, la transmisión progresiva de imágenes yel reconocimiento de patrones.

Page 27: TRANSFORMADA DISCRETA DEL COSENO (DCT)

Transformada discreta del coseno (DCT) Página 27

Figura 0 : Funciones base de la DCT unidimensional.