Модифицированное дискретное косинус-преобразование
Модифицированное дискретное косинус-преобразование (МДКП) является преобразованием Фурье и основывается на дискретном косинусном преобразовании (ДКП-IV). Это преобразование с перекрытием. Оно выполняется на последовательных блоках объемных наборов данных, каждый из последующих блоков перекрывается. Это происходит следующим образом: вторая половина предыдущего блока совпадает с первой половиной следующего. Такое перекрытие, вдобавок к функциям ДКП, делает МДКП особенно полезным для сжатия сигналов тех приложений, где необходимо избежать появления артефактов, которые обычно выходят за границы блоков.
Таким образом, МДКП работает в форматах MP3, AC-3, Vorbis и AAC для сжатия аудио, к примеру. Применяется также в кодеке Siren от компании Polycom.
МДКП было разработано Принсоном, Джонсоном и Брэдли в 1987 г.[1], ему предшествовала работа 1986 г. Принстона и Брэдли[2].
Тогда они разработали основной принцип устранения временных помех (ПУВП), описанный ниже. (Здесь также существует аналогичное преобразование, МДСП, основанное на дискретном синусном преобразовании. А также на других, реже используемых вариациях МДКП, основанных на различных типах комбинаций ДСП и ДКП).
В MP3, МДКП применяется не к аудио-сигналу непосредственно, а на выходе 32-полосного многофазного квадратурного фильтра (МКФ). Выход в этом МДКП обработан по формуле аннулирования временных помех, чтобы уменьшить типичные помехи МКФ-фильтров. Такое сочетание набора фильтров с МДКП называется гибридным (i) набором фильтров или подзона МДКП (i). Напротив, AAC, как правило, использует чистое МДКП; только (ранее используемые) MPEG-4 AAC-SSR (от Sony) обрабатываются 4-полосным набором МКФ из МКДП. ATRAC использует стековые квадратурные зеркальные фильтры (КЗФ), а затем МДКП.
Определение
Поскольку МДКП является преобразованием с перекрытием, оно немного отличается от других преобразований Фурье. В МДКП в два раза меньше выходов, чем входов (в отличие от других преобразований, где выходов ровно столько же, сколько входов).
В частности, это линейная функция:
[math]\displaystyle{ F\colon \mathbb{R}^{2N} \to \mathbb{R}^N }[/math]
(где [math]\displaystyle{ \mathbb{R} }[/math] — множество вещественных чисел)
2N — вещественные числа x0, …, x2N-1 преобразуются в вещественные числа X0, …, XN-1 в соответствии с формулой:
[math]\displaystyle{ X_k = \sum_{n=0}^{2N-1} x_n \cos \left[\frac{\pi}{N} \left(n+\frac{1}{2}+\frac{N}{2}\right) \left(k+\frac{1}{2}\right) \right] }[/math]
(Коэффициент нормализации здесь в начале преобразования, а множество произвольно и отличается в разных вариациях условий.
Результат нормализации МДКП и ОМДКП показан ниже.)
Обратное преобразование
Обратное МДКП известно как ОМДКП. Поскольку они отличаются количеством входов и выходов, то на первый взгляд может показаться, что МДКП нельзя преобразовать в обратное. Однако наилучшая обратимость преобразования достигается применением (i) ОМДКП к перекрывающимся блокам, и является причиной устранения ошибок перед извлечением исходных данных. Этот способ известен как принцип устранения временных помех (ПУВП).
ОМДКП преобразует вещественные числа X0, …, XN-1 множества N в вещественные числа y0, …, y2N-1 множества 2N в соответствии с формулой:
[math]\displaystyle{ y_n = \frac{1}{N} \sum_{k=0}^{N-1} X_k \cos \left[\frac{\pi}{N} \left(n+\frac{1}{2}+\frac{N}{2}\right) \left(k+\frac{1}{2}\right) \right] }[/math]
(Как и для ДКП-IV, в ортогональном преобразовании, в обратном используется та же форма).
В случае, если МДКП используется с интервальной нормализацией (см. ниже), коэффициент этой нормализации в начале формулы ОМДКП нужно умножить на 2 (то есть получается 2/N).
Вычисление
Несмотря на то, что прямое применение формулы МДКП потребует O(N²) операций, можно произвести вычисления только O(N log N)-сложности, рекурсивно факторизируя вычисления, как в быстром преобразовании Фурье (БПФ). Возможно также проведение МДКП с помощью других преобразований, таких как БПФ или ДКП, дополнительно обработав входные и выходные данные алгоритмами сложности O(N).
Также, как было уже описано, любой алгоритм для ДКП-IV сразу же предоставляет метод для вычисления МДКП или ОМДКП любой размерности.
Примечания
- ↑ J. P. Princen, A. W. Johnson und A. B. Bradley: Subband/transform coding using filter bank designs based on time domain aliasing cancellation, IEEE Proc. Intl. Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2161—2164, 1987. Initial description of what is now called the MDCT.
- ↑ John P. Princen, Alan B. Bradley: Analysis/synthesis filter bank design based on time domain aliasing cancellation, IEEE Trans. Acoust. Speech Signal Processing, ASSP-34 (5), 1153—1161, 1986. Described a precursor to the MDCT using a combination of discrete cosine and sine transforms.
Для улучшения этой статьи желательно: |