Открыть сервис

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 является ключевым компонентом большинства современных аудиокодеков с потерями. Процесс кодирования обычно включает:

  1. Разбиение на кадры — сигнал делится на перекрывающиеся блоки (обычно 1024 или 2048 отсчётов).
  2. Применение окна — к каждому блоку применяется оконная функция.
  3. MDCT — преобразование временного блока в частотные коэффициенты.
  4. Квантование и кодирование — коэффициенты квантуются с учётом психоакустической модели, что позволяет отбросить несущественные для восприятия частоты.
  5. Упаковка в битовый поток — квантованные данные кодируются энтропийным кодером (например, кодом Хаффмана).

При декодировании выполняются обратные операции: деквантование, 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 →