Estoy buscando un algoritmo simple para DCT rápido e IDCT de matriz [NxM]

Estoy buscando un algoritmo simple para realizar rápidoDCT (tipo 2) de una matriz de cualquier tamaño [NxM], y también un algoritmo para la transformación inversaIDCT (también llamado DCT tipo 3).

Necesito un algoritmo DCT-2D, pero incluso un algoritmo DCT-1D es lo suficientemente bueno porque puedo usar DCT-1D para implementar DCT-2D (e IDCT-1D para implementar IDCT-2D).

El código PHP es preferible, pero cualquier algoritmo que sea lo suficientemente claro servirá.

Mi script PHP actual para implementar DCT / IDCT es muy lento cuando el tamaño de la matriz es mayor que [200x200].

Esperaba encontrar una forma de preformar DCT de hasta [4000x4000] en menos de 20 segundos. Alguien sabe como hacerlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta