¿Qué es una explicación intuitiva de DCT (transformación discreta del coseno)? ¿Como funciona?

Piense en una imagen de, digamos, un océano. La imagen probablemente será en general suave (sin bordes afilados, etc.) y contendrá algunas ondas aquí y aquí. Esta imagen (como cualquier imagen) está representada por un mapa de bits, es decir, mantenemos para cada píxel en alguna ubicación (x, y) su valor de intensidad, algún número real de 0 a 1.

Ahora, digamos que queremos expresar la imagen de manera diferente. En lugar de mantener el valor de cada píxel, queremos expresar la imagen mediante una suma de ondas (cosenos) con diferentes amplitudes y frecuencias. Entonces, en lugar de tener mxn píxeles (para una imagen m por n), ahora tenemos ondas mxn; cada onda con una amplitud y frecuencia diferentes, y nuestro valor de “píxel” en (x, y), que ahora se llama coeficiente y no un píxel, contiene la amplitud de un coseno predeterminado con una frecuencia conocida.

Con esta representación, nuestra imagen es ahora una suma de ondas. ¿Por qué podemos hacer eso? Piensa en la imagen del océano. Como contiene ondas de algún tipo, parece razonable que podamos sumar algunas ondas y combinarlas (mediante interferencia de ondas, etc.) para describir exactamente esta imagen. Sorprendentemente, resulta que se puede usar una suma de ondas cuidadosamente seleccionadas (cosenos, en este caso) para describir casi cualquier tipo de imagen. Incluso si la imagen contiene contornos y transiciones nítidas, como bordes, podemos sumar muchos cosenos y obtener un borde en el dominio espacial.

Y lo que es más, esta transformación de la imagen en cosenos es invertible: podemos transformar la imagen de un lado a otro del espacio de la imagen al espacio de transformación. En la práctica, la transformada discreta del coseno es lineal y ortogonal y, por lo tanto, es muy eficiente y fácil de usar.