Модифицированное дискретное косинусное преобразование
Модифицированное дискретное косинусное преобразование ( MDCT типа IV ) — это преобразование, основанное на дискретном косинусном преобразовании (DCT-IV), с дополнительным свойством перекрытия : оно предназначено для выполнения на последовательных блоках большего набора данных , где последующие блоки перекрываются так, что последняя половина одного блока совпадает с первой половиной следующего блока. Это перекрытие, в дополнение к свойствам DCT по уплотнению энергии, делает MDCT особенно привлекательным для приложений сжатия сигналов, поскольку оно помогает избежать артефактов, возникающих из-за границ блоков. В результате этих преимуществ MDCT является наиболее широко используемым методом сжатия с потерями при сжатии аудиоданных . Он используется в большинстве современных стандартов кодирования звука , включая MP3 , Dolby Digital (AC-3), Vorbis (Ogg), Windows Media Audio (WMA), ATRAC , Cook , Advanced Audio Coding (AAC), [1] Кодирование высокой четкости (HDC), [2] ЛДАК , Долби АС-4 , [3] и MPEG-H 3D-аудио , [4] а также стандарты кодирования речи , такие как AAC-LD (LD-MDCT), [5] Г.722.1 , [6] Г.729.1 , [7] КЕЛЬТ , [8] и Опус . [9] [10]
Дискретное косинусное преобразование (ДКП) было впервые предложено Насиром Ахмедом в 1972 году. [11] и продемонстрировано Ахмедом с Т. Натараджан и К. Р. Рао в 1974 году. [12] Позднее MDCT был предложен Джоном П. Принсеном, А. В. Джонсоном и Аланом Б. Брэдли в Университете Суррея в 1987 году. [13] после более ранней работы Принсена и Брэдли (1986) [14] MDCT разработать основополагающий принцип подавления псевдонимов во временной области (TDAC) , описанный ниже. (Также существует аналогичное преобразование, MDST, основанное на дискретном синусоидальном преобразовании , а также другие, редко используемые формы MDCT, основанные на различных типах DCT или комбинациях DCT/DST.)
В MP3 MDCT применяется не к аудиосигналу напрямую, а к выходу 32-полосного банка многофазных квадратурных фильтров (PQF). Выходные данные этого MDCT подвергаются постобработке с помощью формулы уменьшения псевдонимов, чтобы уменьшить типичное псевдонимы банка фильтров PQF. Такая комбинация набора фильтров с MDCT называется гибридным набором фильтров или поддиапазонным MDCT. С другой стороны, AAC обычно использует чистый MDCT; только (редко используемый) вариант MPEG-4 AAC-SSR (от Sony ) использует четырехполосный банк PQF, за которым следует MDCT. Подобно MP3, ATRAC использует составные квадратурные зеркальные фильтры (QMF), за которыми следует MDCT.
Определение
[ редактировать ]Как перекрывающееся преобразование, MDCT несколько необычен по сравнению с другими преобразованиями, связанными с Фурье, тем, что у него вдвое меньше выходных данных, чем входных (вместо того же числа). В частности, это линейная функция (где R обозначает множество действительных чисел ). 2 N действительных чисел x 0 , ..., x 2 N -1 преобразуются в N действительных чисел X 0 , ..., X N -1 по формуле:
(Коэффициент нормализации перед этим преобразованием, здесь единица, является произвольным соглашением и различается в зависимости от метода лечения. Ограничено только произведение нормализации MDCT и IMDCT, приведенное ниже.)
Обратное преобразование
[ редактировать ]Обратный MDCT известен как IMDCT . Поскольку количество входов и выходов разное, на первый взгляд может показаться, что MDCT не должен быть обратимым. Однако идеальная обратимость достигается за счет добавления ошибок перекрывающихся IMDCT последующих перекрывающихся блоков, что приводит к отмене и извлечению исходных данных; этот метод известен как устранение псевдонимов во временной области ( TDAC ).
IMDCT преобразует N действительных чисел X 0 , ..., X N -1 в 2 N действительных чисел y 0 , ..., y 2 N -1 по формуле:
(Как и в случае с DCT-IV , ортогональным преобразованием, обратное преобразование имеет ту же форму, что и прямое преобразование.)
В случае оконного MDCT с обычной оконной нормализацией (см. ниже) коэффициент нормализации перед IMDCT должен быть умножен на 2 (т. е. станет 2/ N ).
Вычисление
[ редактировать ]Хотя прямое применение формулы MDCT потребовало бы O( N 2 ) операций, можно вычислить то же самое со сложностью всего O( N log N ) путем рекурсивной факторизации вычислений, как в быстром преобразовании Фурье (БПФ). Можно также вычислить MDCT с помощью других преобразований, обычно ДПФ (БПФ) или ДКП, в сочетании с O( N этапами предварительной и постобработки ). Кроме того, как описано ниже, любой алгоритм для DCT-IV немедленно предоставляет метод вычисления MDCT и IMDCT четного размера.
Оконные функции
[ редактировать ]В типичных приложениях сжатия сигнала свойства преобразования дополнительно улучшаются за счет использования оконной функции w n ( n = 0, ..., 2 N -1), которая умножается на x n в MDCT и на y n в IMDCT. формулы, приведенные выше, чтобы избежать разрывов на границах n = 0 и 2 N, заставляя функцию плавно стремиться к нулю в этих точках. (То есть оконная функция применяется к данным до MDCT или после IMDCT.) В принципе, x и y могут иметь разные оконные функции, и оконная функция также может меняться от одного блока к другому (особенно для случай, когда объединяются блоки данных разного размера), но для простоты мы рассмотрим общий случай идентичных оконных функций для блоков одинакового размера.
Преобразование остается обратимым (то есть TDAC работает) для симметричного окна w n = w 2 N −1− n , пока w удовлетворяет условию Принсена-Брэдли:
- .
Используются различные оконные функции. Окно, которое создает форму, известную как модулированное преобразование с перекрытием (MLT). [15] [16] дается
и используется для MP3 и MPEG-2 AAC, и
для Ворбиса. AC-3 использует окно, производное от Кайзера-Бесселя (KBD) , а MPEG-4 AAC также может использовать окно KBD.
Обратите внимание, что окна, применяемые к MDCT, отличаются от окон, используемых для некоторых других типов анализа сигналов, поскольку они должны удовлетворять условию Принсена-Брэдли. Одна из причин этого различия заключается в том, что окна MDCT применяются дважды: как для MDCT (анализ), так и для IMDCT (синтез).
Связь с DCT-IV и происхождение TDAC
[ редактировать ]Как видно из определений, даже для N MDCT по существу эквивалентен DCT-IV, где входной сигнал сдвигается на N /2 и два N -блока данных преобразуются одновременно. Более внимательно исследуя эту эквивалентность, можно легко получить важные свойства, такие как TDAC.
Чтобы определить точную связь с DCT-IV, необходимо понимать, что DCT-IV соответствует чередующимся четным/нечетным граничным условиям: четный на левой границе (около n = -1/2), нечетный на правой границе. (около n = N − 1/2) и т. д. (вместо периодических границ, как для ДПФ ). Это следует из тождеств и . Таким образом, если его входные данные представляют собой массив x длины N , мы можем представить себе расширение этого массива до ( x , − x R , − x , x R , ...) и так далее, где x R обозначает x в обратном порядке.
Рассмотрим MDCT с 2 N входами и N выходами, где мы делим входы на четыре блока ( a , b , c , d ), каждый размером N /2. Если мы сдвинем их вправо на N /2 (из термина + N /2 в определении MDCT), то ( b , c , d ) пройдут за конец входов N DCT-IV, поэтому мы должны «сложить «их обратно согласно граничным условиям, описанным выше.
- Таким образом, MDCT из 2 N входов ( a , b , c , d ) в точности эквивалентен DCT-IV из N входов: (- c R - d , a - b R ), где R обозначает разворот, как указано выше.
(Таким образом, любой алгоритм вычисления DCT-IV можно тривиально применить к MDCT.)
Точно так же приведенная выше формула IMDCT составляет ровно 1/2 формулы DCT-IV (которая является ее собственной обратной), где выходной сигнал расширяется (посредством граничных условий) до длины 2 N и сдвигается обратно влево на N /2. . Обратный DCT-IV просто вернет входные данные (- c R - d , a - b R ) сверху. Когда это расширяется через граничные условия и сдвигается, получается:
- IMDCT (MDCT ( а , б , c , d )) знак равно ( а - б р , б - а р , c + d р , d + c р ) / 2.
Таким образом, половина выходных данных IMDCT является избыточной, поскольку b - a R = -( a - b R ) R , и то же самое для последних двух членов. Если мы сгруппируем входные данные в более крупные блоки A , B размера N , где A = ( a , b ) и B = ( c , d ), мы сможем записать этот результат более простым способом:
- IMDCT (MDCT ( А , B )) знак равно ( А - А р , B + B р ) / 2
Теперь можно понять, как работает TDAC. Предположим, что кто-то вычисляет MDCT последующего 2 N блока с перекрытием на 50% ( B , C ). Тогда IMDCT даст результат, аналогичный приведенному выше: ( B − B R , C + C R ) / 2. Когда это добавляется к предыдущему результату IMDCT в перекрывающейся половине, обратные члены отменяются, и можно получить просто B , восстанавливая исходные данные.
Происхождение TDAC
[ редактировать ]Происхождение термина «отмена псевдонимов во временной области» теперь ясно. Использование входных данных, выходящих за границы логического DCT-IV, приводит к совмещению данных таким же образом, как частоты за пределами частоты Найквиста накладываются на более низкие частоты, за исключением того, что это наложение происходит во временной области, а не во временной области. частотная область: мы не можем различить вклады a и b R в MDCT ( a , b , c , d ) или, что эквивалентно, в результат
- IMDCT (MDCT ( а , б , c , d )) знак равно ( а - б р , б - а р , c + d р , d + c р ) / 2.
Комбинации c - d R и т. д. имеют именно те знаки, которые исключаются при добавлении комбинаций.
Для нечетных N (которые редко используются на практике) N /2 не является целым числом, поэтому MDCT не является просто перестановкой сдвига DCT-IV. В этом случае дополнительный сдвиг на половину выборки означает, что MDCT/IMDCT становится эквивалентным DCT-III/II, и анализ аналогичен приведенному выше.
Гладкость и разрывы
[ редактировать ]Выше мы видели, что MDCT из 2 N входов ( a , b , c , d ) эквивалентно DCT-IV из N входов (- c р - d , а - б р ). DCT-IV разработан для случай, когда функция на правой границе нечетна, и поэтому значения вблизи правой границы близки к 0. Если входной сигнал гладкий, это так: самые правые компоненты a и b R равны последовательные во входной последовательности ( a , b , c , d ) и поэтому их разница невелика. Давайте посмотрим на середину интервала: если мы перепишем приведенное выше выражение как (- c р - d , а - б р ) знак равно (- d , а )-( б , c ) р , второй член, ( b , c ) R , дает гладкую переход посередине. Однако в первом члене (− d , a ) существует потенциальный разрыв, где правый конец − d соответствует левому концу a . Это причина использования оконной функции, которая уменьшает компоненты вблизи границ входной последовательности ( a , b , в , г ) в сторону 0.
TDAC для оконного MDCT
[ редактировать ]Выше было доказано свойство TDAC для обычного MDCT, показав, что добавление IMDCT последующих блоков в их перекрывающиеся половины восстанавливает исходные данные. Вывод этого обратного свойства для оконного MDCT лишь немного сложнее.
Рассмотрим перекрывающиеся последовательные наборы из 2 N входов ( A , B ) и ( , C ) для блоков A , B , C размера N. B Напомним выше, когда и являются MDCT, IMDCT и складываются в их перекрывающихся половинах, мы получаем , исходные данные.
Теперь мы предполагаем, что мы умножаем как входные данные MDCT , так и выходные данные IMDCT на оконную функцию длины 2 N . Как и выше, мы предполагаем симметричную оконную функцию, которая поэтому имеет вид где W — вектор длины N , а R, как и раньше, обозначает разворот. Тогда условие Принсена-Брэдли можно записать как , с поэлементным выполнением квадратов и сложений.
Поэтому вместо MDCTing , мы теперь MDCT (при этом все умножения выполняются поэлементно). Когда это IMDCT умножается и снова умножается (поэлементно) на оконную функцию, последняя половина N становится:
- .
(Обратите внимание, что у нас больше нет умножения на 1/2, поскольку нормализация IMDCT отличается в 2 раза в оконном случае.)
Аналогично, оконные MDCT и IMDCT дает в первой N половине:
- .
Сложив эти две половинки вместе, мы получим:
восстановление исходных данных.
См. также
[ редактировать ]- Дискретное косинусное преобразование
- Другие перекрывающиеся оконные преобразования Фурье включают:
- Формат аудиокодирования
- Сжатие звука (данных)
Ссылки
[ редактировать ]- ^ Ло, Фа-Лонг (2008). Стандарты мобильного мультимедийного вещания: технологии и практика . Springer Science & Business Media . п. 590. ИСБН 9780387782638 .
- ^ Джонс, Грэм А.; Слой, Дэвид Х.; Осенковский, Томас Г. (2013). Инженерный справочник Национальной ассоциации вещателей: Инженерный справочник NAB . Тейлор и Фрэнсис . стр. 558–9. ISBN 978-1-136-03410-7 .
- ^ «Dolby AC-4: доставка звука для развлекательных услуг нового поколения» (PDF) . Лаборатории Долби . Июнь 2015 года . Проверено 11 ноября 2019 г.
- ^ Блейдт, РЛ; Отправлять.; Нидермайер, А.; Челхан, Б.; Фуг, С.; и др. (2017). «Разработка телевизионной аудиосистемы MPEG-H для ATSC 3.0» (PDF) . Транзакции IEEE в области вещания . 63 (1): 202–236. дои : 10.1109/TBC.2017.2661258 . S2CID 30821673 .
- ^ Шнелл, Маркус; Шмидт, Маркус; Джандер, Мануэль; Альберт, Тобиас; Гейгер, Ральф; Руоппила, Веса; Экстранд, Пер; Бернхард, Гриль (октябрь 2008 г.). MPEG-4 Enhanced Low Delay AAC — новый стандарт высококачественной связи (PDF) . 125-я конференция AES. Фраунгофера ИИС . Общество аудиоинженеров . Проверено 20 октября 2019 г.
- ^ Луцки, Манфред; Шуллер, Джеральд; Гейер, Марк; Кремер, Ульрих; Вабник, Стефан (май 2004 г.). Рекомендации по задержке аудиокодека (PDF) . 116-я конференция AES. Фраунгофера ИИС . Общество аудиоинженеров . Проверено 24 октября 2019 г.
- ^ Нагиредди, Сиваннараяна (2008). Обработка голосовых и факсимильных сигналов VoIP . Джон Уайли и сыновья . п. 69. ИСБН 9780470377864 .
- ^ Презентация кодека CELT. Архивировано 7 августа 2011 г. в Wayback Machine Тимоти Б. Терриберри (65 минут видео, см. Также слайды презентации . Архивировано 16 ноября 2023 г. в Wayback Machine в формате PDF).
- ^ «Опус Кодек» . Опус (Главная страница). Фонд Xiph.org . Проверено 31 июля 2012 г.
- ^ Брайт, Питер (12 сентября 2012 г.). «Новый стандартизированный аудиокодек Opus выполняет любую роль: от онлайн-чата до музыки» . Арс Техника . Проверено 28 мая 2014 г.
- ^ Ахмед, Насир (январь 1991 г.). «Как я придумал дискретное косинусное преобразование» (PDF) . Цифровая обработка сигналов . 1 (1): 4–5. дои : 10.1016/1051-2004(91)90086-Z .
- ^ Ахмед, Насир ; Натараджан, Т.; Рао, КР (январь 1974 г.), «Дискретное косинусное преобразование», Транзакции IEEE на компьютерах , C-23 (1): 90–93, doi : 10.1109/TC.1974.223784 , S2CID 149806273
- ^ Принсен, Джон П.; Джонсон, AW; Брэдли, Алан Б. (1987). «Кодирование поддиапазонов/преобразований с использованием конструкции банка фильтров на основе отмены псевдонимов во временной области». ИКАССП '87. Международная конференция IEEE по акустике, речи и обработке сигналов . Том. 12. С. 2161–2164. дои : 10.1109/ICASSP.1987.1169405 . S2CID 58446992 .
- ^ Джон П. Принсен, Алан Б. Брэдли: Разработка банка фильтров анализа/синтеза на основе отмены псевдонимов во временной области , IEEE Trans. Акуст. Обработка речевых сигналов, ASSP-34 (5), 1153–1161, 1986. Описан предшественник MDCT, использующий комбинацию дискретных косинусных и синусоидальных преобразований.
- ^ HS Malvar, «Перекрывающиеся преобразования для эффективного преобразования/кодирования поддиапазонов», IEEE Trans. по акустике, речи и обработке сигналов , вып. 38, нет. 6, стр. 969–978 (уравнение 22), июнь 1990 г.
- ^ HS Malvar, «Банки модулированных фильтров QMF с идеальной реконструкцией», Electronics Letters , vol. 26, нет. 13, стр. 906–907 (уравнение 13), июнь 1990 г.
Библиография
[ редактировать ]- Энрике С. Мальвар, Обработка сигналов с помощью перекрывающихся преобразований (Artech House: Norwood MA, 1992).
- А.В. Джонсон и А.Б. Брэдли, «Кодирование с адаптивным преобразованием, включающее отмену псевдонимов во временной области», Speech Comm. 6 , 299-308 (1987).
- Алгоритмы см. в примерах:
- Чи-Мин Лю и Вен-Чи Ли, « Единый быстрый алгоритм для косинусно-модулированных наборов фильтров в современных аудиостандартах». [ постоянная мертвая ссылка ] ", J. Audio Engineering 47 (12), 1061-1075 (1999).
- В. Британак и К. Р. Рао, «Новый быстрый алгоритм для унифицированного прямого и обратного вычисления MDCT/MDST», Signal Processing 82 , 433-459 (2002).
- Владимир Николаевич и Герхард Феттвейс, «Вычисление прямого и обратного MDCT с использованием рекуррентной формулы Кленшоу», IEEE Trans. Сиг. Учеб. 51 (5), 1439-1444 (2003)
- Че-Хонг Чен, Бин-Да Лю и Джар-Ферр Янг, «Рекурсивные архитектуры для реализации модифицированного дискретного косинусного преобразования и его обратного», IEEE Trans. Сист. цепей. II: Аналоговая цифра. Сиг. Учеб. 50 (1), 38–45 (2003)
- Дж. С. Ву, Х. З. Шу, Л. Сенхаджи и Л. М. Луо, «Алгоритм смешанного счисления для вычисления прямых и обратных MDCT», IEEE Trans. Сист. цепей. Я: Рег. Статьи 56 (4), 784-794 (2009 г.)
- В. Британак, «Обзор эффективных реализаций MDCT в стандарте кодирования аудио MP3: ретроспектива и современное состояние», Signal. Процесс. 91 (4), 624-672(2011)