Eu estou procurando um algoritmo simples para DCT rápido e IDCT de matriz [NxM]

Estou à procura de um algoritmo simples para executar rapidamenteDCT (tipo 2) de uma matriz de qualquer tamanho [NxM] e também um algoritmo para a transformação inversaIDCT (também chamado de DCT tipo 3).

Preciso de um algoritmo DCT-2D, mas mesmo um algoritmo DCT-1D é bom o suficiente, porque posso usar o DCT-1D para implementar o DCT-2D (e o IDCT-1D para implementar o IDCT-2D).

O código PHP é preferível, mas qualquer algoritmo claro o suficiente fará.

Meu script PHP atual para implementar o DCT / IDCT é muito lento sempre que o tamanho da matriz for maior que [200x200].

Eu esperava encontrar uma maneira de pré-formar DCT de até [4000x4000] em menos de 20 segundos. Alguém sabe como fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion