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