Дискретное косинусное преобразование

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Дискретное косинусное преобразование (англ. Discrete Cosine Transform, DCT) — одно из ортогональных преобразований. Вариант косинусного преобразования для вектора действительных чисел. Применяется в алгоритмах сжатия информации с потерями, например, MPEG и JPEG. Это преобразование тесно связано с дискретным преобразованием Фурье и является гомоморфизмом его векторного пространства.

Математически преобразование можно осуществить умножением вектора на матрицу преобразования. При этом матрица обратного преобразования с точностью до множителя равна транспонированной матрице. В математике матрицы выбирают так, чтобы преобразование было ортонормированным, а постоянный множитель равен единице. В компьютерных приложениях это не всегда так.

Различные периодические продолжения сигнала ведут к различным типам ДКП. Ниже приводятся матрицы для первых четырёх типов ДКП:

Именно чаще всего встречается в практических приложениях благодаря свойству «уплотнения энергии».

для вектора из 8 чисел часто называют . Наиболее распространён двумерный вариант преобразования для матриц 8x8, состоящий из последовательности сначала для каждой строки, а затем для каждого столбца матрицы.

Существуют алгоритмы быстрого -преобразования, похожие на алгоритм быстрого преобразования Фурье. Для и других вариантов с фиксированной размерностью вектора существуют также алгоритмы, позволяющие свести количество операций умножения к минимуму.

Существуют аналоги , приближающие косинус числами, легко получающимися путём небольшого количества операций сдвига и сложения, что позволяет избежать операций умножения и тем самым повысить скорость вычислений.

Литература[править | править вики-текст]

  • C. Loeffler, A. Ligtenberg and G. Moschytz. Practical Fast 1-D DCT Algorithms with 11 Multiplications // Proc. Int’l. Conf. on Acoustics, Speech, and Signal Processing 1989 (ICASSP '89), pp. 988—991.

Ссылки[править | править вики-текст]