Матрица дискретного косинусного преобразования
Если у вас есть n
- n
изображение, A
, затем
DCT столбцов D
AA
и D'*A
обратный DCT столбцов A
.
Двумерный DCT A
может быть вычислен как D*A*D'
. Этот расчет иногда быстрее, чем использование dct2
, особенно, если вы вычисляете большое количество маленького DCTs, потому что D
потребности, которые будут определены только однажды.
Например, в сжатии JPEG, DCT каждого 8 8 блокируется, вычисляется. Чтобы выполнить этот расчет, используйте dctmtx
определить D
, и затем вычислите каждый DCT с помощью D*A*D'
(где A
каждый 8 8 блокируется). Это быстрее, чем вызов dct2
для каждого отдельного блока.