Transformada de coseno discreta


Una transformada de coseno discreta ( DCT ) expresa una secuencia finita de puntos de datos en términos de una suma de funciones coseno que oscilan a diferentes frecuencias . El DCT, propuesto por primera vez por Nasir Ahmed en 1972, es una técnica de transformación ampliamente utilizada en el procesamiento de señales y la compresión de datos . Se utiliza en la mayoría de los medios digitales , incluidas imágenes digitales (como JPEG y HEIF , donde se pueden descartar pequeños componentes de alta frecuencia), vídeo digital (como MPEG y H.26x ),audio digital (como Dolby Digital , MP3 y AAC ), televisión digital (como SDTV , HDTV y VOD ), radio digital (como AAC + y DAB + ) y codificación de voz (como AAC-LD , Siren y Opus ). Los DCT también son importantes para muchas otras aplicaciones en ciencia e ingeniería , como el procesamiento de señales digitales , dispositivos de telecomunicaciones , reducción del ancho de banda de la red.uso y métodos espectrales para la solución numérica de ecuaciones diferenciales parciales .

El uso de funciones de coseno en lugar de seno es fundamental para la compresión, ya que resulta (como se describe a continuación) que se necesitan menos funciones de coseno para aproximar una señal típica , mientras que para las ecuaciones diferenciales los cosenos expresan una elección particular de condiciones de contorno . En particular, una DCT es una transformada relacionada con Fourier similar a la transformada discreta de Fourier (DFT), pero usando solo números reales. Las DCT generalmente están relacionadas con los coeficientes de la serie de Fourier de una secuencia extendida periódica y simétricamente, mientras que las DFT están relacionadas con los coeficientes de la serie de Fourier de secuencias extendidas solo periódicamente. Los DCT son equivalentes a los DFT de aproximadamente el doble de longitud, que operan con datos reales con simetría uniforme (ya que la transformada de Fourier de una función real e incluso es real e incluso), mientras que en algunas variantes los datos de entrada y / o salida se desplazan a la mitad una muestra. Hay ocho variantes DCT estándar, de las cuales cuatro son comunes.

La variante más común de la transformada de coseno discreta es la DCT de tipo II, que a menudo se denomina simplemente "DCT". Este fue el DCT original propuesto por primera vez por Ahmed. Su inversa, la DCT de tipo III, se denomina correspondientemente a menudo simplemente "la DCT inversa" o "la IDCT". Dos transformadas relacionadas son la transformada sinusoidal discreta (DST), que es equivalente a una DFT de funciones reales e impares , y la transformada de coseno discreta modificada (MDCT), que se basa en una DCT de superposicióndatos. Los DCT multidimensionales (MD DCT) se desarrollan para extender el concepto de DCT a señales MD. Hay varios algoritmos para calcular MD DCT. Se ha desarrollado una variedad de algoritmos rápidos para reducir la complejidad computacional de implementar DCT. Uno de ellos es el entero DCT [1] (IntDCT), una aproximación entera del estándar DCT, [2] utilizado en varios estándares internacionales ISO / IEC e ITU-T . [2] [1]

La compresión DCT, también conocida como compresión de bloques, comprime los datos en conjuntos de bloques DCT discretos. [3] Los bloques DCT pueden tener varios tamaños, incluidos 8x8 píxeles para el DCT estándar y tamaños de DCT enteros variados entre 4x4 y 32x32 píxeles. [1] [4] El DCT tiene una fuerte propiedad de "compactación de energía", [5] [6] capaz de lograr una alta calidad con altos índices de compresión de datos . [7] [8] Sin embargo, pueden aparecer artefactos de compresión en bloques cuando se aplica una alta compresión DCT.


Nasir Ahmed , el inventor de la transformada de coseno discreta (DCT), que propuso por primera vez en 1972.
Ilustración de las extensiones pares / impares implícitos de los datos de entrada de DCT, para N = 11 puntos de datos (puntos rojos), para los cuatro tipos más comunes de DCT (tipos I-IV).
Las cuatro etapas básicas de la computación 3D DCT-II usando el algoritmo VR DIF.
La etapa de mariposa única del algoritmo VR DIF.
Frecuencias DCT bidimensionales de JPEG DCT
Un ejemplo que muestra ocho filtros diferentes aplicados a una imagen de prueba (arriba a la izquierda) multiplicando su espectro DCT (arriba a la derecha) con cada filtro.
Tamaño original, escalado 10x (vecino más cercano), escalado 10x (bilineal).
Funciones base de la transformación coseno discreta con sus correspondientes coeficientes (específicos para nuestra imagen).
DCT de la imagen = .
A la izquierda está la imagen final. En el medio está la función ponderada (multiplicada por un coeficiente) que se agrega a la imagen final. A la derecha está la función actual y el coeficiente correspondiente. Las imágenes se escalan (utilizando interpolación bilineal) por un factor de 10 ×.