Модифицированное дискретное косинус-преобразование

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

Модифицированное дискретное косинус-преобразование (МДКП) является преобразованием Фурье и основывается на дискретном косинусном преобразовании (ДКП-IV). Это преобразование с перекрытием. Оно выполняется на последовательных блоках объемных наборов данных, каждый из последующих блоков перекрывается. Это происходит следующим образом: вторая половина предыдущего блока совпадает с первой половиной следующего. Такое перекрытие, вдобавок к функциям ДКП, делает МДКП особенно полезным для сжатия сигналов тех приложений, где необходимо избежать появления артефактов, которые обычно выходят за границы блоков. Таким образом, МДКП работает в форматах MP3, AC-3, Vorbis и AAC для сжатия аудио, к примеру.

МДКП было разработано Принсоном, Джонсоном и Брэдли в 1987 г., ему предшествовала работа 1986 г. Принстона и Брэдли. Тогда они разработали основной принцип устранения временных помех (ПУВП), описанный ниже. (Здесь также существует аналогичное преобразование, МДСП, основанное на дискретном синусном преобразовании. А также на других, реже используемых вариациях МДКП, основанных на различных типах комбинаций ДСП и ДКП).

В MP3, МДКП применяется не к аудио-сигналу непосредственно, а на выходе 32-полосного многофазного квадратурного фильтра (МКФ). Выход в этом МДКП обработан по формуле аннулирования временных помех, чтобы уменьшить типичные помехи МКФ-фильтров. Такое сочетание набора фильтров с МДКП называется гибридным (i) набором фильтров или подзона МДКП (i). Напротив, AAC, как правило, использует чистое МДКП; только (ранее используемые) MPEG-4 AAC-SSR (от Sony) обрабатываются 4-полосным набором МКФ из МКДП. ATRAC использует стековые квадратурные зеркальные фильтры (КЗФ), а затем МДКП.

Определение[править | править код]

Поскольку МДКП является преобразованием с перекрытием, оно немного отличается от других преобразований Фурье. В МДКП в два раза меньше выходов, чем входов (в отличие от других преобразований, где выходов ровно столько же, сколько входов).

В частности, это линейная функция: (где  — множество вещественных чисел)

2N — вещественные числа x0, …, x2N-1 преобразуются в вещественные числа X0, …, XN-1 в соответствии с формулой:



(Коэффициент нормализации здесь в начале преобразования, а множество произвольно и отличается в разных вариациях условий. Результат нормализации МДКП и ОМДКП показан ниже.)

Обратное преобразование[править | править код]

Обратное МДКП известно как ОМДКП. Поскольку они отличаются количеством входов и выходов, то на первый взгляд может показаться, что МДКП нельзя преобразовать в обратное. Однако наилучшая обратимость преобразования достигается применением (i) ОМДКП к перекрывающимся блокам, и является причиной устранения ошибок перед извлечением исходных данных. Этот способ известен как принцип устранения временных помех (ПУВП).

ОМДКП преобразует вещественные числа X0, …, XN-1 множества N в вещественные числа y0, …, y2N-1 множества 2N в соответствии с формулой:



(Как и для ДКП-IV, в ортогональном преобразовании, в обратном используется та же форма).

В случае, если МДКП используется с интервальной нормализацией (см. ниже), коэффициент этой нормализации в начале формулы ОМДКП нужно умножить на 2 (то есть получается 2/N).

Вычисление[править | править код]

Несмотря на то, что прямое применение формулы МДКП потребует O(N²) операций, можно произвести вычисления только O(N log N)-сложности, рекурсивно факторизируя вычисления, как в быстром преобразовании Фурье (БПФ). Возможно также проведение МДКП с помощью других преобразований, таких как БПФ или ДКП, дополнительно обработав входные и выходные данные алгоритмами сложности O(N).

Также, как было уже описано, любой алгоритм для ДКП-IV сразу же предоставляет метод для вычисления МДКП или ОМДКП любой размерности.