MDCT¶
MDCT (Modified Discrete Cosine Transform, модифицированное дискретное косинусное преобразование) — это разновидность дискретного косинусного преобразования, применяемая в цифровой обработке сигналов, в первую очередь для сжатия аудиоданных с потерями. MDCT относится к классу ортогональных преобразований, основанных на наложении окон, и обеспечивает эффективное представление сигнала в частотной области при устранении артефактов блокировки, характерных для классического DCT.
¶Принцип работы и математическая основа
MDCT является преобразованием, работающим с перекрывающимися блоками данных. В отличие от стандартного дискретного косинусного преобразования (DCT), которое обрабатывает непересекающиеся сегменты сигнала, MDCT использует окна, перекрывающиеся на 50 %. Это позволяет избежать резких границ между блоками, которые приводят к появлению слышимых искажений (блочных артефактов) при восстановлении сигнала.
Математически MDCT для последовательности из \(2N\) отсчётов \(x(n)\) (где \(n = 0, 1, \dots, 2N-1\)) определяется как:
\[ X(k) = \sum_{n=0}^{2N-1} x(n) \cdot h(n) \cdot \cos\left[\frac{\pi}{N}\left(n + \frac{1}{2} + \frac{N}{2}\right)\left(k + \frac{1}{2}\right)\right] \]
где \(k = 0, 1, \dots, N-1\) — индекс частотного коэффициента, \(h(n)\) — оконная функция (например, синусоидальное окно). Обратное преобразование (IMDCT) восстанавливает \(2N\) отсчётов из \(N\) коэффициентов, но для получения непрерывного сигнала используется перекрытие и сложение (overlap-add) с предыдущим и последующим блоками.
Ключевое свойство MDCT — это свойство совершенного восстановления (perfect reconstruction) при условии использования подходящей оконной функции и отсутствия квантования. Это означает, что при прямом и обратном преобразовании без потерь исходный сигнал восстанавливается точно.
¶История и развитие
MDCT было впервые предложено Джоном П. Принсеном и Аланом Б. Брэдли в 1986 году в статье «Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation» (IEEE Transactions on Acoustics, Speech, and Signal Processing). Изначально преобразование разрабатывалось для систем анализа-синтеза речи, но быстро нашло применение в аудиокодировании.
В 1987 году MDCT было включено в стандарт MPEG-1 Audio Layer III (MP3) как часть гибридного фильтра. Позднее оно стало основой для большинства современных аудиокодеков, включая AAC, HE-AAC, Vorbis, Opus, WMA и AC-3 (Dolby Digital). В 1990-е годы развитие MDCT было связано с оптимизацией оконных функций и алгоритмов быстрого вычисления.
¶Свойства и особенности
¶Перекрытие окон
MDCT обрабатывает блоки длиной \(2N\) отсчётов, но выдаёт \(N\) коэффициентов. Это приводит к избыточности в 2 раза, которая компенсируется перекрытием блоков на 50 %. При восстановлении сигнала каждый отсчёт восстанавливается из двух соседних блоков, что устраняет артефакты на границах.
¶Оконные функции
Для MDCT используются специальные оконные функции, удовлетворяющие условию совершенного восстановления. Наиболее распространённые:
- Синусоидальное окно (sine window): \(h(n) = \sin\left(\frac{\pi}{2N}(n + 0.5)\right)\)
- Окно Кайзера-Бесселя (Kaiser-Bessel derived window)
- Окно с низким уровнем боковых лепестков (Low-overlap window)
Выбор окна влияет на частотное разрешение и уровень спектральной утечки.
¶Вычислительная сложность
MDCT может быть вычислено с помощью быстрого алгоритма, основанного на БПФ (FFT), что даёт сложность \(O(N \log N)\). Для реального времени используются оптимизированные реализации, такие как библиотеки libavcodec, FDK-AAC и др.
¶Применение в аудиокодировании
MDCT является ключевым компонентом большинства современных аудиокодеков с потерями. Процесс кодирования обычно включает:
- Разбиение на кадры — сигнал делится на перекрывающиеся блоки (обычно 1024 или 2048 отсчётов).
- Применение окна — к каждому блоку применяется оконная функция.
- MDCT — преобразование временного блока в частотные коэффициенты.
- Квантование и кодирование — коэффициенты квантуются с учётом психоакустической модели, что позволяет отбросить несущественные для восприятия частоты.
- Упаковка в битовый поток — квантованные данные кодируются энтропийным кодером (например, кодом Хаффмана).
При декодировании выполняются обратные операции: деквантование, IMDCT, перекрытие и сложение.
¶Примеры кодеков, использующих MDCT
- MP3 — использует гибридный фильтр, включающий MDCT для длинных блоков (576 коэффициентов) и коротких блоков (192 коэффициента).
- AAC (Advanced Audio Coding) — стандарт MPEG-2/4, использует MDCT с длиной окна 1024 или 960 отсчётов, а также короткие окна 128 или 120 отсчётов для переходных процессов.
- Vorbis — открытый кодек, использует MDCT с переменным размером окна (от 64 до 8192 отсчётов).
- Opus — гибридный кодек, сочетающий SILK (для речи) и CELT (для музыки), где CELT основан на MDCT.
- AC-3 (Dolby Digital) — использует MDCT с длиной блока 512 отсчётов.
- WMA (Windows Media Audio) — использует MDCT с модифицированным окном.
¶Достоинства и недостатки
¶Достоинства
- Высокая эффективность сжатия: MDCT обеспечивает хорошее частотное разрешение при низкой вычислительной сложности.
- Отсутствие блочных артефактов благодаря перекрытию окон.
- Возможность адаптации к стационарным и переходным участкам сигнала (смена длины окна).
- Полная обратимость при отсутствии квантования.
¶Недостатки
- Задержка ввода-вывода: из-за перекрытия окон MDCT вносит задержку, равную длине блока (обычно 20–40 мс для аудио).
- Чувствительность к ошибкам передачи: потеря одного блока может привести к искажению двух соседних блоков.
- Необходимость в психоакустической модели для эффективного квантования.
¶Сравнение с другими преобразованиями
| Преобразование | Тип | Перекрытие | Применение |
|---|---|---|---|
| DCT (II) | Неперекрывающееся | Нет | JPEG, MPEG-1 Video |
| MDCT | Перекрывающееся | 50 % | Аудиокодеки (MP3, AAC, Vorbis) |
| FFT | Неперекрывающееся | Нет | Спектральный анализ, OFDM |
| DWT (вейвлеты) | Перекрывающееся | Да | JPEG 2000, аудиокодирование |
¶Интересные факты
- MDCT иногда называют «модифицированным косинусным преобразованием с перекрытием» (TDAC — Time Domain Aliasing Cancellation), так как его математическая основа — подавление наложения спектров во временной области.
- В 2000-х годах MDCT было адаптировано для кодирования изображений (например, в формате JPEG XR), но не получило широкого распространения.
- Алгоритм MDCT входит в стандарт ISO/IEC 14496-3 (MPEG-4 Audio) и является обязательным для всех профилей AAC.
¶Источники
- Princen, J. P., & Bradley, A. B. (1986). Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation. IEEE Transactions on Acoustics, Speech, and Signal Processing, 34(5), 1153–1161.
- Malvar, H. S. (1992). Signal Processing with Lapped Transforms. Artech House.
- Bosi, M., & Goldberg, R. E. (2003). Introduction to Digital Audio Coding and Standards. Kluwer Academic Publishers.
- ISO/IEC 14496-3:2009 — Information technology — Coding of audio-visual objects — Part 3: Audio.
- Rao, K. R., & Yip, P. (1990). Discrete Cosine Transform: Algorithms, Advantages, Applications. Academic Press.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


