# Transformada de coseno discreta

La transformada de coseno discreta (DCT del inglés Discrete Cosine Transform) es una transformada basada en la Transformada de Fourier discreta, pero utilizando únicamente números reales.Fue publicada por el Profesor Ingeniero Nasir Ahmed y colaboradores en 1974

## Introducción

La transformada de coseno discreta expresa una secuencia finita de varios puntos como resultado de la suma de distintas señales sinusoidales (con distintas frecuencias y amplitudes). Como la transformada discreta de Fourier (abreviada, DFT) la DCT trabaja con una serie de números finitos, pero mientras la DCT solo trabaja con cosenos la DFT lo hace con exponenciales complejos.
Formalmente, la transformada de coseno discreta es una función lineal e invertible del dominio real $\mathbb {R} ^{N}$ al dominio real $\mathbb {R} ^{N}$, que también se puede entender de forma equivalente a una matriz de $N\times N$ posiciones.
También existe la DCT multidimensional, que se puede considerar como la multiplicación separable de varias DCT. Por ejemplo la DCT de dos dimensiones es una transformada normal calculada por cada fila y columna.

### Características útiles para la compresión de imágenes

* La DCT tiene una buena capacidad de compactación de la energía al dominio transformado, es decir, que la transformada de coseno discreta consigue concentrar la mayor parte de la información en pocos coeficientes transformados tal y como muestra la imagen.
* La transformación es independiente de los datos. El algoritmo aplicado no varía con los datos que recibe, como sí sucede en otros algoritmos de compresión.
* Hay fórmulas para el cálculo rápido del algoritmo, como podría ser la FFT para la DFT.
* Produce pocos errores en los límites de los bloques imagen. La minimización de los errores a los bloques imagen permite reducir el efecto de bloque en las imágenes reconstruidas.
* Tiene una interpretación frecuencial de los componentes transformados. La capacidad de interpretar los coeficientes en el punto de vista frecuencial permite aprovechar al máximo la capacidad de compresión.

## Definición formal

La transformada de coseno discreta $F(k)$ de una función discreta $f(j):\mathbb {R} ^{N}\to \mathbb {R} ^{N}$, (donde $\mathbb {R}$ denota el conjunto de los números reales) en la cual $j=0,1,2,\cdots ,N-1$ se define como:
    $F(k)={\frac {{\sqrt {2}}c(k)}{\sqrt {N}}}\sum _{j=0}^{N-1}f(j)\cos \left[{\frac {(2j+1)k\pi }{2N}}\right]$
    donde $c(k)={\frac {1}{\sqrt {2}}}$ para $k=0$ y $c(k)=1$ para otros números enteros hasta N-1.
Otras definiciones, en las cuales $F(k)=X_{k}$ y $f(j)=x_{j}$ son las siguientes:

### DCT-I

    $X_{k}={\frac {1}{2}}(x_{0}+(-1)^{k}x_{N-1})+\sum _{j=1}^{N-2}x_{j}\cos \left[{\frac {\pi }{N-1}}jk\right]\quad \quad k=0,\dots ,N-1.$

### DCT-II

    $X_{k}=\sum _{j=0}^{N-1}x_{j}\cos \left[{\frac {\pi }{N}}\left(j+{\frac {1}{2}}\right)k\right]\quad \quad k=0,\dots ,N-1.$
Esta es la forma más típicamente utilizada.

### DCT-III

    $X_{k}={\frac {1}{2}}x_{0}+\sum _{j=1}^{N-1}x_{j}\cos \left[{\frac {\pi }{N}}\left(k+{\frac {1}{2}}\right)j\right]\quad \quad k=0,\dots ,N-1.$

### DCT-IV

    $X_{k}=\sum _{j=0}^{N-1}x_{j}\cos \left[{\frac {\pi }{N}}\left(j+{\frac {1}{2}}\right)\left(k+{\frac {1}{2}}\right)\right]\quad \quad k=0,\dots ,N-1.$

### DCT-V - VIII

También existen las DCT de la V a la VIII.
Las variantes más usadas de estas ecuaciones son la DCT-I y la DCT-II. La DCT-III se conoce popularmente como la IDCT (transformada inversa). Cada una de estas posibles variaciones es debida a la periodicidad y el tipo de simetría aplicada a las muestras originales.

## Aplicaciones

* DV
* AC-3
* JPEG
* MJPEG
* MPEG-1
* MPEG-2
* MPEG-4
* Vorbis
Algunas de las aplicaciones encima mencionadas utilizan una variante de la DCT que es la MDCT