ПЕРЕКЛЮЧАЕМАЯ АУДИО КОДИРУЮЩАЯ/ДЕКОДИРУЮЩАЯ СХЕМА С МУЛЬТИРАЗРЕШЕНИЕМ
MULTI-RESOLUTION SWITCHED AUDIO ENCODING/DECODING SCHEME

Данное изобретение связано с аудио кодированием и, особенно, со схемами кодирования с низким битрейтом.
В технике известны кодирующие схемы области частот, такие как МР3 или ААС. Эти кодирующие устройства в частотной области основаны на преобразовании "область временного интервала", последующая стадия квантизации, на которой ошибкой квантизации управляют, используя информацию от перцепционного модуля, и стадию кодирования, на которой квантованные спектральные коэффициенты и соответствующая сторонняя информация закодированы без потери информации с использованием кодовых таблиц.
С другой стороны, есть кодирующие устройства, которые очень хорошо подходят для обработки речи, такие как AMR-WB+, описанные в 3GPP TS 26.290. Такие речевые кодирующие схемы выполняют линейную прогнозирующую фильтрацию сигнала на временном интервале. Линейная прогнозирующая фильтрация получается из линейного анализа предсказания входного сигнала на временном интервале. Получающиеся коэффициенты линейного прогнозирующего (LP) фильтра квантуются/кодируются и передаются как сторонняя информация. Процесс известен как кодирование методом линейного предсказания (LPC). На выходе фильтра формируется разностный сигнал предсказания или сигнал ошибки предсказания, который также известен как сигнал возбуждения, кодированный с использованием стадий анализа синтеза кодирующего устройства ACELP или, альтернативно, кодированный с использованием кодирующего устройства на базе преобразования Фурье с наложением. Решение между кодированием ACELP и кодированием преобразованного сигнала возбуждения, которое также называют ТСХ кодированием, делают, используя алгоритм замкнутого разомкнутого контура.
Схемы кодирования аудио в частотной области, такие как высокоэффективная ААС (НЕ-АСС) схема кодирования, которая комбинирует схему ААС кодирования и технику спектрального повторения полос (SBR) и может комбинироваться с объединенным стерео или многоканальным кодирующим инструментом, который известен под названием "MPEG окружение".
С другой стороны, у речевых кодирующих устройств, таких как AMR-WB+, также есть уровень высокочастотного расширения и функциональность стерео.
Кодирующие схемы в частотной области показывают высокое качество при низком битрейте для музыкальных сигналов. Проблемой, однако, является качество речевых сигналов при низком битрейте.
Речевые кодирующие схемы показывают высокое качество для речевых сигналов даже при низком битрейте, но показывают низкое качество для других сигналов при низком битрейте.
Объектом данного изобретения является обеспечение концепции улучшенного кодирования/декодирования.
Это достигается аудио кодирующим устройством в соответствии с п.1, методом кодирования аудио в соответствии с заявлением п.9, декодером в соответствии с п.10, методом декодирования в соответствии с п.19, кодируемого сообщения в соответствии с п.20 или компьютерной программой в соответствии с п.21 формулы изобретения.
Данное изобретение основано на идее, что гибрид или двухрежимная переключаемая схема кодирования/декодирования имеет преимущество, поскольку для определенной особенности сигнала может выбираться лучший кодирующий алгоритм. Другими словами, данное изобретение не ищет кодирующий алгоритм сигнала, который отлично подобран ко всем особенностям сигнала. Такая схема всегда была бы компромиссом, что может быть замечено по огромным техническим различиям между свойствами аудио кодирующими устройствами, с одной стороны, и речевыми кодирующими устройствами, с другой стороны. Вместо этого данное изобретение комбинирует различные кодирующие алгоритмы, такие как алгоритм для кодирования речи, с одной стороны, и алгоритм для кодирования аудио, с другой стороны, в пределах переключательной схемы так, чтобы для каждой части аудио сигнала оптимально был выбран соответствующий кодирующий алгоритм. Кроме того, это также особенность данного изобретения, оба кодирующих канала включают преобразователь время/частота, но в одном кодирующем канале предусмотрен дальнейший преобразователь сигнала, такой процессор LPC. Этот преобразователь служит для подтверждения, что второй канал кодирования лучше подходит для определенной особенности сигнала, чем первый канал кодирования. Однако, это также особенность данного изобретения, сигнал на выходе процессора также преобразован в спектральное представление.
Оба преобразователя, то есть первый преобразователь в первом кодирующем канале и второй преобразователь во втором кодирующем канале, выполнены с возможностью осуществления преобразующего кодирования с мультиразрешением, где разрешение соответствующего преобразователя устанавливается в зависимости от аудио сигнала, и в частности, в зависимости от аудио сигнала, фактически закодированного в соответствующем кодирующем канале так, чтобы достигнуть хороший компромисс между качеством, с одной стороны, и битрейтом, с другой стороны, или с точки зрения определенного постоянного качества, чтобы достигнуть самого низкого битрейта, или с точки зрения постоянного битрейта, чтобы получить лучшее качество.
В соответствии с данным изобретением, разрешение времени/частоты этих двух преобразователей может быть установлено предпочтительно, независимо друг от друга так, чтобы каждый раз преобразователь мог быть подобран оптимально к требованиям разрешения времени/частоты соответствующего сигнала. Эффективность битов, то есть отношение между полезными битами, с одной стороны, и битами сторонней информации, с другой стороны, выше для больших размеров блока/длин окна. Поэтому предпочтено, чтобы на оба преобразователя функционировали на большей длине окна, поскольку в основном к длинной временной части аудио сигнала и к более коротким размерам блока/длинам окна относится то же самое количество сторонней информации. Желательно, чтобы разрешение времени/частоты в каналах кодирования могло также быть под влиянием других инструментов кодирования/декодирования, расположенных в этих каналах. Желательно, чтобы второй канал кодирования, включающий преобразователь сигнала, такой как процессор LPC, включал другую гибридную схему, такую как канал ACELP, с одной стороны, и схему ТСХ, с другой стороны, где второй преобразователь включен в схему ТСХ. Желательно, чтобы разрешение преобразователя времени/частоты, расположенного в канале ТСХ, было также под влиянием решения кодирования, так, чтобы часть сигнала во втором канале кодирования была обработана в канале ТСХ, имеющем второй преобразователь, или в канале ACELP, не имеющем преобразователя время/частота.
В основном ни преобразователь сигнала, ни второй канал кодирования, и, в частности, первый канал обработки во втором канале кодирования и второй канал обработки во втором кодирующем канале, не должны быть связанными с речью элементами, такими как анализатор LPC для преобразователя сигнала, кодирующее устройство ТСХ для второго канала обработки и кодирующее устройство ACELP для первого канала обработки. Другие решения также полезны, когда оценены другие особенности сигнала аудио сигнала, отличающегося от речи, с одной стороны, и музыки, с другой стороны. Могут использоваться любые преобразователи сигнала и каналы кодирования, и лучший подходящий алгоритм может быть найден схемой анализа синтеза так, чтобы, на стороне кодирующего устройства, для каждой части аудио сигнала были проведены все альтернативы кодирования и был отобран лучший результат, где лучший результат может быть найден с использованием целевой функции к результатам кодирования. Тогда, идентификация сторонней информации декодера, лежащая в основе алгоритма кодирования для определенной части закодированного аудио сигнала, присоединяется к закодированному аудио сигналу кодировщиком выходного интерфейса так, чтобы декодер не заботился ни о каких решениях о стороне кодирующего устройства или о любых особенностях сигнала, но просто выбирал канал кодирования в зависимости от переданной сторонней информации. Кроме того, декодер не только выберет правильный канал декодирования, но также выберет основанный на сторонней информации, закодированной в кодируемом сообщении, какое разрешение времени/частоты должно быть применено в соответствующем первом канале декодирования и соответствующем втором канале декодирования.
Таким образом, данное изобретение обеспечивает схему кодирования/декодирования, которая комбинирует преимущества различных кодирующих алгоритмов и избегает недостатков этих кодирующих алгоритмов, которые возникают, когда часть сигнала должна была бы быть закодирована алгоритмом, который не соответствует к текущему кодирующему алгоритму. Кроме того, данное изобретение избегает любых неудобств, которые создаются, если возникают различные требования к разрешению времени/частоты при обработке различных частей аудио сигнала в различных каналах кодирования. Вместо этого благодаря переменному разрешению времени/частоты преобразователей «время/частота» в обоих каналах, любые искажения, которые возникали бы в сценарии, где используется одинаковое разрешение времени/частоты для обоих кодирующих каналов, или в котором возможно только неизменное разрешение времени/частоты для любых кодирующих каналов, по крайней мере, уменьшаются или даже полностью устраняются.
Второй выключатель опять осуществляет переключение между двумя каналами обработки, но в области, отличающейся от "внешней" области первого канала. Снова работа одного "внутреннего" канала, главным образом, определяется исходной моделью или SNR вычислениями, и другого "внутреннего" канала может определяться моделью слуха (ушной раковины) и/или психоакустической моделью, то есть маскированием или, по крайней мере, включением аспектов кодирования в частотной/спектральной области. Например, у одного "внутреннего" канала есть преобразователь в области частот/спектральный преобразователь, и у другого канала есть устройство, кодирующее в другой области, такой как область LPC, причем это кодирующее устройство, например, CELP или ACELP с обработкой входного сигнала без спектрального преобразования.
Дальнейшее предпочтительное воплощение - это аудио кодирующее устройство, включающее первый информационный канал, такой как кодирование в спектральной области, второй источник информации или SNR ориентированный канал кодирования, такой как канал кодирования LPC-области, и переключатель для того, чтобы переключиться между первым каналом кодирования и вторым каналом кодирования, причем второй канал кодирования включает преобразователь в области, отличающейся от временного интервала, такой как аналитический этап LPC, формирующий сигнал возбуждения, и где второй канал кодирования, кроме того, включает специальную область, такую как канал обработки области LPC, и специальную спектральную область, такую как LPC спектральный канал обработки, и дополнительный выключатель для того, чтобы переключиться между специальным кодирующим каналом и специальным спектральным каналом обработки.
Дальнейшее воплощение изобретения - это аудио декодирующее устройство, включающее первую область, такую как спектральный канал декодирования, вторую область, такую как канал декодирования LPC для того, чтобы декодировать сигнал, такой как сигнал возбуждения во второй области, и третью область, такую как LPC-спектральный канал декодера, для того, чтобы декодировать сигнал, такой как сигнал возбуждения в третьей области, такой как спектральная область LPC, где третья область получена путем выполнения преобразования частоты от второй области, где обеспечен первый переключатель для второго сигнала области и третьего сигнала области, и где обеспечен второй переключатель для того, чтобы переключиться между декодером для первой области и декодером для второй области или третьей области.
Предпочтительные решения данного изобретения описаны в приложенных рисунках, где:
Фиг.1a - блок-схема устройства кодирования в соответствии с первым аспектом данного изобретения;
Фиг.1b - блок-схема устройства декодирования в соответствии с первым аспектом данного изобретения;
Фиг.1с - блок-схема устройства кодирования в соответствии с дальнейшим аспектом данного изобретения;
Фиг.2а - блок-схема устройства кодирования в соответствии со вторым аспектом данного изобретения;
Фиг.2b - схематическая диаграмма устройства декодирования в соответствии со вторым аспектом данного изобретения;
Фиг.2с - блок-схема устройства кодирования в соответствии с дальнейшим аспектом данного изобретения;
Фиг.3а иллюстрирует блок-схему устройства кодирования в соответствии с дальнейшим аспектом данного изобретения;
Фиг.3b иллюстрирует блок-схему устройства декодирования в соответствии с дальнейшим аспектом данного изобретения;
Фиг.3с иллюстрирует схематическое представление устройства/метода кодирования с каскадными выключателями;
Фиг.3d иллюстрирует схематическую диаграмму устройства или метода декодирования, в котором используются каскады объединителей;
Фиг.3е иллюстрирует сигнала на временном интервале и соответствующее представление кодированного сигнала, иллюстрирующего короткие пересекающиеся области, которые включены в оба кодированных сигнала;
Фиг.4а иллюстрирует блок-схему с выключателем, помещенным перед каналами кодирования;
Фиг.4b иллюстрирует блок-схему устройства кодирования с выключателем, помещенным за каналами кодирования;
Фиг.5а иллюстрирует форму волны речевого сегмента на временном интервале как квазипериодический или подобный импульсу сегмент сигнала;
Фиг.5b иллюстрирует спектр сегмента фиг.5а;
Фиг.5с иллюстрирует не голосовой сегмент на временном интервале, как, например, сегмент, подобный шуму;
Фиг.5d иллюстрирует спектр временного интервала фиг.5с;
Фиг.6 иллюстрирует блок-схему кодирующее устройство CELP анализа через синтез;
Фиг.7а и 7d иллюстрируют обладающие голосом/не обладающие голосом сигналы возбуждения, как, например, подобные импульсу сигналы;
Фиг.7е иллюстрирует часть кодирующего устройства стадия LPC, предоставляющая краткосрочную информацию о предсказании и ошибку предсказания (возбуждения) сигнал;
Фиг.7f иллюстрирует дальнейшее воплощение устройства LPC для того, чтобы сформировать взвешенный сигнал;
Фиг.7g иллюстрирует устройство для преобразования взвешенного сигнала в сигнал возбуждения путем применения обратной операции "взвешивания" и последующего анализа возбуждения, как требуется в преобразователе 537 на фиг.2b;
Фиг.8 иллюстрирует блок-схему объединенного многоканального алгоритма в соответствии с решением данного изобретения;
Фиг.9 иллюстрирует предпочтительное решение для алгоритма расширения полосы частот;
Фиг.10а иллюстрирует подробное описание переключателя, выполняющего решение разомкнутого контура; и иллюстрирует переключатель, работающий в алгоритме замкнутого контура;
Фига 11А иллюстрирует блок-схему аудио кодирующего устройства в соответствии с другим аспектом данного изобретения;
Фиг.11В иллюстрирует блок-схему другого решения предлагаемого аудио декодера;
Фиг.12А иллюстрирует другое решение предлагаемого кодирующего устройства;
Фиг.12В иллюстрирует другое решение предлагаемого декодера;
Фиг.13А иллюстрирует взаимосвязь между разрешением и длиной окна/преобразования;
Фиг.13В иллюстрирует обзор ряда окон преобразования для первого кодирующего канала и переход от первого ко второму кодирующему каналу;
Фиг.13С иллюстрирует множество различных последовательностей окон, включая последовательность окон для первого кодирующего канала и последовательность для перехода ко второму каналу;
Фиг.14А иллюстрирует создание предпочтительного решения для второго кодирующего канала;
Фиг.14В иллюстрирует короткие окна, примененные во втором кодирующем канале;
Фиг.14С иллюстрирует окна среднего размера, примененные во втором кодирующем канале;
Фиг.14D иллюстрирует длинные окна, примененные во втором канале кодирования;
Фиг.14Е иллюстрирует типичную последовательность фреймов ACELP и фреймов ТСХ в пределах суперфрейма;
Фиг.14F иллюстрирует различные длины преобразования, соответствующие различным разрешениям времени/частоты для второго канала кодирования; и
Фиг.14G иллюстрирует конструкцию окна с использованием определений фиг.14F.
Фиг.11А иллюстрирует решение аудио кодирующего устройства для того, чтобы закодировать аудио сигнал. Кодирующее устройство включает первый канал кодирования 400 для того, чтобы закодировать аудио сигнал, используя первый кодирующий алгоритм, чтобы получить первый закодированный сигнал.
Аудио кодирующее устройство, кроме того, включает второй канал кодирования 500 для того, чтобы закодировать аудио сигнал, используя второй кодирующий алгоритм, чтобы получить второй закодированный сигнал. Первый кодирующий алгоритм отличается от второго кодирующего алгоритма. Дополнительно, первый переключатель 200, выполненный с возможностью переключиться между первым кодирующим каналом и вторым кодирующим каналом так, чтобы для части аудио сигнала или первый закодированный сигнал, или второй закодированный сигнал были в кодированном выходном сигнале 801.
Аудио кодирующее устройство, иллюстрированное на фиг.11А дополнительно, включает анализатор сигнала 300/525, который выполнен с возможностью проанализировать часть аудио сигнала, чтобы определить, представлена ли часть аудио сигнала как первый кодируемый сигнал или второй кодируемый сигнал в кодированном выходном сигнале 801.
Анализатор сигнала 300/525, кроме того, выполнен с возможностью определять соответствующее непостоянное разрешение времени/частоты первого преобразователя 410 в первом кодирующем канале 400 или втором преобразователе 523 во втором кодирующем канале 500. Данное разрешение применено, когда сформирован первый кодируемый сигнал или второй кодируемый сигнал, представляющий часть аудио сигнала.
Аудио кодирующее устройство дополнительно включает выходной интерфейс 800 для того, чтобы сформировать кодированный выходной сигнал 801, состоящий из кодированного представления части аудио сигнала и информации, указывающей, является ли представление аудио сигнала первым закодированным сигналом или вторым закодированным сигналом, и указанием на разрешение времени/частоты, используемое для того, чтобы декодировать первый закодированный сигнал и второй закодированный сигнал.
Второй канал кодирования обычно отличается от первого канала кодирования тем, что второй канал кодирования дополнительно включает преобразователь области для того, чтобы преобразовать аудио сигнал из области, в которой аудио сигнал обрабатывается в первом канале кодирования, в другую область. Обычно преобразователь области - процессор LPC 510, но преобразователь области может быть осуществлен любым другим способом, до тех пор, пока преобразователь области отличается от первого преобразователя 410 и второго преобразователя 523.
Первый преобразователь 410 является преобразователем времени/частоты, обычно включающим формирователь окна 410а и преобразователь 410b. Формирователь окна 410а применяет аналитическое окно к входному аудио сигналу, и преобразователь 410b выполняет преобразование сигнала в сформированном окне в спектральное представление.
Аналогично, второй преобразователь 523 обычно включает формирователь окна 523а, последовательно соединенный с преобразователем 523b. Формирователь окна 523а получает сигнал, сформированный преобразователем 510, и формирует обработанное функцией окна представление сигнала. Выходные данные формирователя окна 523а поступают на преобразователь 523b, чтобы сформировать спектральное представление. Преобразователь может быть FFT или предпочтительно процессором MDCT, осуществляющим соответствующий алгоритм с использованием программного обеспечения или аппаратных средств или смешанного использования аппаратных средств/программного обеспечения. Альтернативно, преобразователь может быть банк фильтров, выполненный как QMF банк фильтров, который может быть основан на действительной или комплексной модуляции фильтра прототипа. Для реализации определенного банка фильтров используется окно. Однако, для реализации другого банка фильтров, обработка функцией окна, как это требуется для алгоритма преобразования, основанного на FFT MDCT, не является необходимой. Когда используется банк фильтров, тогда банк фильтров имеет переменное разрешение, и это разрешение управляет разрешением по частоте банка фильтров, и дополнительно, разрешением по времени или только разрешением по частоте. Однако когда преобразователь осуществлен как FFT или MDCT или любой другой соответствующий преобразователь, тогда разрешение по частоте связано с разрешением по времени, при этом увеличение разрешения по частоте, полученной с большим размером временного блока автоматически, соответствует более низкому разрешению по времени и наоборот.
Дополнительно, первый канал кодирования может включить блок квантизации/кодирования 421, и второй канал кодирования может также включать один или более инструментов дальнейшего кодирования 524.
Важно, что анализатор сигнала выполнен с возможностью сформировать управляющий сигнал разрешения для первого преобразователя 510 и для второго преобразователя 523. Таким образом, осуществлен независимый контроль разрешения в обоих кодирующих каналах, чтобы иметь кодирующую схему, которая, с одной стороны, обеспечивает низкий битрейт, и с другой стороны, обеспечивает максимальное качество при низком битрейт. Чтобы достигнуть низкого битрейт, необходимы более длинные окна или большие длины преобразования, но в ситуациях, когда эти большие длины приведут к искажениям из-за низкого временного разрешения, применяются более короткие длины окна и короткие длины преобразования, которые приводят к более низкому частотному разрешению. Предпочтительно, чтобы в анализаторе сигнала использовался статистический анализ или любой другой анализ, который подходит для соответствующих алгоритмов в каналах кодирования. В одном варианте выполнения, в котором первый канал кодирования является кодирующим каналом в области частот, таким как кодирующее устройство на базе ААС, и в котором второй канал кодирования включает преобразователь области в виде процессора LPC 510, анализатор сигнала, управляя переключателем 200, выполняет разделение речи/музыки так, чтобы речевая часть аудио сигнала поступала во второй канал кодирования. Музыкальная часть аудио сигнала, управляемая переключателем 200, как обозначено линиями управления, поступает в первый канал кодирования 400. Альтернативно, как будет рассмотрено далее на фиг.1C или фиг.4В, переключатель может также быть помещен перед выходным интерфейсом 800.
Кроме того, анализатор сигнала может получить аудио сигнал, поступающий на переключатель 200, или аудио сигнал, сформированный переключателем 200. Кроме того, анализатор сигнала выполняет анализ, чтобы к не только подать аудио сигнал в соответствующий канал кодирования, но также определить подходящее разрешение времени/частоты соответствующего преобразователя в соответствующем кодирующем канале, такого как первый преобразователь 410 и второй преобразователь 523, как обозначено линиями управления разрешением, соединяющими анализатор сигнала и преобразователь.
Фиг.11В включает предпочитаемое воплощение аудио декодера, соответствующего аудио кодирующему устройству на фиг.11А.
Аудио декодер на фиг.11В выполнен с возможностью декодирования закодированного аудио сигнала, такого как кодированный выходной сигнал 801, сформированный выходной интерфейс 800 на фиг.11А. Кодированный сигнал включает первый кодированный аудио сигнал, кодированный в соответствии с первым кодирующим алгоритмом, второй кодированный сигнал, кодированный в соответствии со вторым кодирующим алгоритмом, второй кодирующий алгоритм отличается от первого кодирующего алгоритма, и информацию, указывающую, используются ли первый кодирующий алгоритм или второй кодирующий алгоритм для того, чтобы декодировать первый кодированный сигнал и второй кодированный сигнал, и информацию о разрешении времени/частоты для первого закодированного аудио сигнала и второго закодированного аудио сигнала.
Аудио декодер включает первый канал декодирования 431, 440 для того, чтобы декодировать первый кодированный сигнал, основанный на первом кодирующем алгоритме. Кроме того, аудио декодер включает второй канал декодирования для того, чтобы декодировать второй кодированный сигнал, используя второй кодирующий алгоритм.
Первый канал декодирования включает первый управляемый преобразователь 440, выполненный с возможностью преобразования из спектральной области во временной интервал. Управляемый преобразователь выполнен с возможностью управления, используя информацию о разрешении времени/частоты от первого кодированного сигнала, чтобы получить первый декодированный сигнал.
Второй канал декодирования включает второй управляемый преобразователь, выполненный с возможностью преобразования из спектрального представления во временное представление, второй управляемый преобразователь 534, выполненный с возможностью управления, используя информацию о разрешении времени/частоты 991 для второго кодированного сигнала.
Декодер дополнительно включает диспетчер 990 для того, чтобы управлять первым преобразователем 540 и вторым преобразователем 534 в соответствии с информацией о разрешении времени/частоты 991.
Кроме того, декодер включает преобразователь области для того, чтобы сформировать синтезируемый сигнал, используя второй декодированный сигнал, чтобы выполнить обратное преобразование, осуществленное преобразователем области 510 в кодирующем устройстве фиг.11А.
Обычно преобразователь области 540 является LPC синтезирующим процессором, которым управляют, используя информацию о LPC фильтре, включенную в кодированное сообщение, где эта информация о LPC фильтре была сформирована процессором LPC 510 на фиг.11А и была введена в выходной сигнал кодирующего устройства как сторонняя информация. Аудио декодер, наконец, включает объединитель 600 для того, чтобы объединить первый декодированный сигнал, сформированный первым преобразователем области 440 и синтезированный сигнал, чтобы получить декодированный аудио сигнал 609.
В предлагаемом исполнении первый канал декодирования дополнительно включает деквантизатор/декодер 431 для того, чтобы выполнить преобразования, обратные выполненным соответствующим блоком 421 кодирующего устройства. Однако ясно, что квантизация не может быть полностью обратима, так как это операция с потерями информации. Однако деквантизатор полностью обращает определенную неоднородность квантизации, такую как логарифмическая квантизация или квантизация с уплотнением.
Во втором канале декодирования применена соответствующая стадия 533 для того, чтобы осуществить операции, обратные примененным на стадии 524. Предпочтительно, чтобы стадия 524 включала однородную квантизацию. Поэтому, у соответствующей стадии 533 не будет определенной стадии деквантизации для того, чтобы убрать однородную квантизацию.
Первый преобразователь 440 так же, как второй преобразователь 534, может включать соответствующие обратные преобразователи 440а, 534а, окна синтеза 440b, 534b, последовательно соединенные с блоком перекрытие/добавление 440с, 534с. Блоки перекрытие/добавление требуются, когда применяются преобразователи, и более определенно, обратные преобразователи 440а, 534а, используют совмещение вводимых преобразований, таких как модифицированное дискретное косинусное преобразование. Тогда, операция перекрытие/добавление выполнит отмену совмещения временного интервала (TDAC). Однако когда применяются преобразователи, не использующие совмещения преобразований, такие как обратное FFT, блок перекрытие/добавление 440с не требуется. В таком исполнении может быть применена операция перекрытия с затуханием или кроссфейд, чтобы избежать возникновения искажений, вызванных разбиением на блоки.
Аналогично, объединитель 600 может быть переключаемым объединителем или обеспечивать кроссфейд, или использовать совмещение для того, чтобы избежать искажений, вызванных разбиением на блоки, когда объединителем осуществляется переход с обработкой функцией окна, подобно блоку, осуществляющему перекрытие/добавление в пределах текущего кодирующего канала.
Фиг.1а иллюстрирует решение изобретения, имеющего два каскада переключателей. Моно сигнал, сигнал стерео или многоканальный сигнал подаются на переключатель 200. Переключателем 200 управляет блок 300. На вход блока выбора поступает подаваемый на вход переключателя 200. Альтернативно, блок 300 решения может также получить стороннюю информацию, которая включена в моно сигнал, сигнал стерео или многоканальный сигнал или, по крайней мере, связана с сигналом, где существует эта информация, которая может быть, например, сформирована первоначально при формировании моно сигнала, сигнала стерео или многоканального сигнала.
Блок выбора/анализатор сигнала 300 приводит в действие выключатель 200, чтобы сформировать сигнал в канале кодирования частотной области 400, иллюстрированном в верхней части фиг.1а, или в канале LPC кодирования 500, иллюстрированном в нижней части фиг.1а. Основной элемент канала кодирования частотной области - это блок спектрального преобразования 410, который служит для преобразования общего выходного сигнала стадии предварительной обработки (как будет обсуждено позже) в спектральную область. Блок спектрального преобразования может включать алгоритм MDCT, QMF, алгоритм FFT, вейвлет анализ или банк фильтров, такой как банк фильтров с критической выборкой, имеющий определенное число каналов, где сигналы подполос в этом банке фильтров могут быть реальными сигналами или комплексными сигналами. Выходные данные блока спектрального преобразования 410 кодируются с использованием спектрального аудио кодирующего устройство 421, которое может включать блоки обработки, известные из схемы кодирования ААС.
Вообще, обработка в канале 400 является обработкой, базирующейся на модели восприятия или информационной модели слуха. Таким образом, этот канал моделирует человеческий аудиторный звук, получаемый системой. Обратное к этому - это обработка в канале 500, которая должна сформировать сигнал возбуждения, разностный или области LPC. Вообще, обработка в канале 500 является обработкой на базе речевой модели или модели формирования информации. Для речевых сигналов этой моделью является модель системы, формирующей человеческую речь/звук. Если, однако, звук поступает из различных источников, требующих различных моделей формирования звука, который должен быть закодирован, то обработка в канале 500 может отличаться.
В канале кодирования 500 основной элемент - это устройство LPC 510, формирующее информацию LPC, которая используется для того, чтобы управлять параметрами LPC фильтра. Эта LPC информация передается в декодер. Выходной сигнал LPC процессора 510 - это сигнал LPC-области, который состоит из сигнала возбуждения и/или взвешенного сигнала.
LPC процессор вообще формирует сигнал области LPC, который может быть любым сигналом в области LPC, таким как сигнал возбуждения на фиг.7е, или взвешенным сигналом на фиг.7f, или любым другим сигналом, который был сформирован, с применением коэффициентов LPC фильтра к аудио сигналу. Кроме того, устройство LPC может также определить эти коэффициенты и может также квантовать/кодировать эти коэффициенты.
Решение в блоке выбора может быть адаптивным сигналом так, чтобы блок выбора выполнил разделение музыки/речи и управлял переключателем 200 таким способом, при котором музыкальные сигналы поступают в первый канал 400, а речевые сигналы поступают во второй канал 500. В одном решении информация о выборе блока выбора поступает в выходной битовый так, чтобы декодер мог использовать эту информацию о выборе, для выполнения правильных операций по декодированию.
Такой декодер иллюстрирован на фиг.1b. Сигнал, сформированный спектральным аудио кодирующим устройством 421, является после передачи входным для спектрального аудио декодера 431. Выходной сигнал спектрального аудио декодера 431 поступает на преобразователь во временную область 440. Аналогично, выходной сигнал канала кодирования LPC области 500 на фиг.1а поступает на декодер и обрабатывается элементами 531, 533, 534, и 532 для того, чтобы получить сигнал возбуждения LPC. Сигнал возбуждения LPC поступает на блок 540 LPC синтеза, который получает, на другой вход, информацию LPC, сформированную соответствующим аналитическим этапом LPC 510. Выходной сигнал преобразование во временную область 440 и/или выходной сигнал блок 540 LPC синтеза поступает на переключатель 600. Переключателем 600 управляет управляющий сигнал переключателя, который был, например, сформирован блоком выбора/анализа сигнала 300, или который обеспечен извне формирователем оригинального моно сигнала, сигнала стерео или многоканального сигнала. Выходной сигнал переключателя 600 является полным моно сигналом, сигналом стерео или многоканальным сигналом.
Входной сигнал переключателя 200 и блока выбора/анализа сигнала 300 может быть моно сигналом, стерео сигналом, многоканальным сигналом или вообще аудио сигналом. В зависимости от выбора, который может быть получен из переключателя входных сигналов 200 или из любого внешнего источника, такого как формирователь оригинального аудио сигнала, лежащего в основе входного сигнала переключателя 200, осуществляется переключение между каналом кодирования частоты 400 и LPC, кодирующим каналом 500. Канал кодирования частоты 400 включает блок спектрального преобразования 410, соединенный с блоком 421 квантования/кодирования. Блок квантования/кодирования может включать любую из функциональностей известных от современных кодирующих устройств области частот, таких как кодирующее устройство ААС. Кроме того, операцией по квантизации в блоке 421 квантования/кодирования можно управлять через физикоакустический модуль, который формирует физикоакустическую информацию, такую как маскирующий физикоакустический частотный порог, которая поступает на блок 421.
В LPC, кодирующем канале, выходной сигнал переключателя обработан LPC процессором 510, формирующим стороннюю LPC информацию и сигнал LPC-области. Кодирующее устройство возбуждения интелектуально включает дополнительный переключатель для того, чтобы переключить дальнейшую обработку сигнала LPC-области между операцией по квантизации/кодированию 522 в LPC-области или блоком 524 квантизации/кодирования, который обрабатывает данные в LPC-спектральной области. С этой целью спектральный преобразователь 523 установлен на входе блока 524 квантования/кодирования. Переключателем 521 управляют режимом разомкнутого контура или режимом замкнутого контура в зависимости от определенных параметров настройки, таких как, например, описанных в технической спецификации AMR-WB+.
Для режима управления замкнутого контура кодирующее устройство дополнительно включает обратное преобразование квантования/кодирования 531 для сигнала области LPC, обратное преобразование квантования/кодирования 533 для спектрального сигнала области LPC и обратного спектрального преобразователя 534 для выходного сигнала блока 533. Закодированный и снова расшифрованный сигналы во вторых каналах обработки подаются на устройство управления переключателем 525. В устройстве управления переключателем 525 эти два выходных сигнала сравниваются друг с другом и/или с целевой функцией или с целевой функцией, вычисленной на основе сравнения искажения в обоих сигналах так, чтобы использовался сигнал, имеющий более низкое искажение, для того, чтобы решить, как управлять переключателем 521. Альтернативно, в случае, если оба канала обеспечивают непостоянные битрейты, может быть выбран канал, обеспечивающий более низкий битрейт, даже когда отношение сигнал/шум этого канала ниже, чем отношение сигнал/шум другого канала. Альтернативно, целевая функция может использовать на входе отношение сигнал/шум каждого сигнала и битрейт каждого сигнала и/или дополнительные критерии, чтобы найти лучшее решение для определенной цели. Если, например, цель такова, что битрейт должен быть настолько низким, насколько возможно, то целевая функция в большой степени основывалась бы на битрейте двух сигналов, сформированных элементами 531, 534. Однако, когда главная цель состоит в том, чтобы иметь высшее качество для определенного битрейта, тогда управление переключателем 525 могло бы, например, исключить сигнал, который имеет битрейт выше допустимого битрейта, и если оба сигнала имеют битрейт ниже допустимого битрейта, управление переключателем выбрало бы сигнал, имеющий лучшее отношение сигнал/шум, то есть имеющий меньшие искажения квантизации/кодирования.
Схема декодирования в соответствии с данным изобретением, как заявлено прежде, иллюстрирована на фиг.1b. Для каждого из трех возможных видов выходного сигнала существует определенный блок декодирования/деквантизации 431, 531 или 533. В то время как блок 431 формирует спектр временного интервала, который преобразуется во временной интервал, используя преобразователь частоты/времени 440, блок 531 формирует сигнал LPC-области, и блок 533 формирует LPC-спектр. Для обеспечения того, чтобы входные сигналы, подаваемые на переключатель 532, находились в LPC-области, установлен LPC-спектр/LPC-преобразователь 534. Выходные данные переключателя 532 преобразуются обратно во временной интервал, используя блок 540 синтеза LPC, которым управляет информация, сформированная и переданная кодирующим LPC устройством. Тогда, за блоком 540, в обоих каналах есть информация о временном интервале, которая переключена в соответствии с управляющим сигналом переключателя, чтобы получить окончательный аудио сигнал, такой как моно сигнал, сигнал стерео или многоканальный сигнал, который зависит от входного сигнала в схему кодирования на фиг.1а.
Фиг.1с иллюстрирует дальнейшее воплощение с различным расположением переключателя 521 подобно принципу, иллюстрированному на фиг.4b.
Фиг.2а иллюстрирует предпочтительную схему кодирования в соответствии со вторым аспектом изобретения. Общая схема предварительной обработки, соединенная с входом переключателя 200, может включать блок окружающего/объединенного стерео 101, который формирует на выходе параметры объединенного стерео и моно выходной сигнал, который сформирован путем понижающего микширования входного сигнала, который является сигналом, имеющим два или больше канала. Вообще, сигнал, формируемый на выходе блока 101, может также быть сигналом, имеющим больше каналов, но из-за функциональности понижающего микширования блока 101, число каналов на выходе блока 101 будет меньшим, чем число входных каналов в блок 101.
Общая схема предварительной обработки может включить альтернативно блоку 101 или в дополнение к блоку 101 блок 102 расширения полосы частот. В решении на фиг. 2а выходной сигнал блока 101 поступает на блок 102 расширения полосы частот, который, в кодирующем устройстве на фиг.2а, формирует на выходе сигнал с ограниченной полосой, такой как низкочастотный сигнал. Как правило, этот сигнал дискретизируется с более низкой частотой (например, с частотой в два раза ниже). Кроме того, для высокочастотного входного сигнала в блок 102, формируются и форматируются в поток битов мультиплексором 800 параметры расширения полосы частот, такие как параметры огибающей спектра, обратные параметры фильтрации, параметры уровня шума и т.д., известные из НЕ-ААС характеристики MPEG-4.
Как правило, блок выбора/анализа сигнала 300 получает входной сигнал в блок 101 или в блок 102, чтобы выбрать между, например, режимом музыки или режимом речи. В режиме музыки выбирается верхний канал кодирования 400, в то время как в режиме речи выбирается нижний канал кодирования 500. Как правило, блок выбора/анализа сигнала дополнительно управляет блоком 101 окружающее/объединенное стерео и/или блоком 102 расширения полосы частот, чтобы адаптировать функциональность этих блоков к определенному сигналу. Таким образом, когда блок выбора/анализа сигнала решает, что определенная временная часть входного сигнала относится к первому режиму, такому как музыкальный режим, то определенными особенностями блока 101 и/или блока 102 может управлять блок выбора/анализа сигнала 300. Альтернативно, когда блок выбора/анализа сигнала 300 решает, что сигнал относится к режиму речи или, вообще, к LPC-области, тогда определенными особенностями блоков 101 и 102 можно управлять в соответствии выходным сигналом блока выбора/анализа сигнала.
Предпочтительно, чтобы спектральное преобразование кодирующего канала 400 было сделано с использованием операции MDCT, которая, еще более предпочтительно, является операцией MDCT с искажением времени, где искажением можно управлять между нолем и высокой величиной искажения. В нулевом искажении операция MDCT с искажением времени в блоке 411 - это обычная, известная в технике, операция MDCT. Величина искажения времени вместе со сторонней информацией в искаженном времени может быть передана/введена в битовый поток мультиплексором 800 как сторонняя информация.
В LPC кодирующем канале кодирующее устройство LPC-области может включать ядро ACELP 526, вычисляющее передачу основного тона, интервал основного тона и/или информацию кодовой таблицы, такую как индекс кодовой таблицы и передача. Режим ТСХ, известный из 3GPP TS 26.290, включает обработку перцепционно взвешенного сигнала в области преобразования. Фурье преобразованный, взвешенный сигнал квантуется с использованием многоуровневой квантизирующей решетки (алгебраический VQ) и шумового фактора квантизации. Преобразование вычисляется в окнах длиной 1024, 512, или 256 отсчетов. Сигнал возбуждения восстанавливается с использованием обратной фильтрации путем пропускания квантованного взвешенного сигнала через фильтр обратного взвешивания.
В первом кодирующем канале 400 спектральный преобразователь предпочтительно включает адаптированную операцию MDCT, включающую определенные оконные функции, следующие за стадией квантизации/кодирования, которая может состоять из единственной векторной стадии квантизации, но предпочтительно является объединенным скалярным квантизация/энтропия кодировщиком, подобным блоку квантизации/кодирования в кодирующем канале частотной области, то есть в блоке 421 на фиг.2а.
Во втором кодирующем канале есть блок 510 LPC с последующим переключателем 521, за которым следует блок 526 ACELP или блок 527 ТСХ. ACELP описан в 3GPP, TS 26.190 и ТСХ описан в 3GPP TS 26.290. В общем, блок 526 ACELP получает сигнал возбуждения LPC, который вычислен процедурой, описанной на фиг.7е. Блок 527 ТСХ получает взвешенный сигнал, как показано на фиг.7f.
-1
В ТСХ преобразование применено к взвешенному сигналу, вычисленному, пропуская входной сигнал через фильтр взвешивания на базе LPC. В фильтре взвешивания используется решение изобретения, даваемое выражением (1-A(z/γ))/(1-µz). Таким образом, взвешенный сигнал - это сигнал области LPC, и его преобразование - это LPC-спектральная область. Сигнал, обработанный блоком ACELP 526, является сигналом возбуждения и отличается от сигнала, обработанного блоком 527, но оба сигнала находятся в LPC области.
-1
-1
<mrow><mfrac><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mo>−</mo><mi>μ</mi><msup><mi>z</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mn>1</mn><mi>A</mi><mrow><mo>(</mo><mrow><mi>z</mi><mo>/</mo><mi>γ</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mfrac><mrow><mo>(</mo><mrow><mn>1</mn><mo>−</mo><mi>A</mi><mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>
В стороне декодера, иллюстрированной на фиг.2b, после обратного спектрального преобразования в блоке 537, применена обратная фильтрация весовых коэффициентов, так что (1-µz)/(1-A(z/γ)). Затем сигнал фильтруется путем (1-А(z)), чтобы попасть в область LPC возбуждения. Таким образом, преобразование в блоке 534 области LPC и блоке 537 ТСХ, включающем обратное преобразование и затем фильтрацию посредством
, чтобы преобразовать взвешенную область в область возбуждения.
Хотя блок 510 в фиг.1а, 1с, 2а, 2с иллюстрирует единственный блок, блок 510 может сформировать различные сигналы, пока эти сигналы находятся в области LPC. Фактический режим блока 510, такой как режим сигнала возбуждения или режим взвешенного сигнала, может зависеть от фактического положения переключателя. Альтернативно, у блока 510 может быть два параллельных устройства обработки, где одно устройство осуществлено подобно, изображенному на фиг.7е, и другое устройство осуществлено, как показано на фиг.7f. Следовательно, область LPC на выходе блока 510 может представлять или сигнал возбуждения LPC, или LPC взвешенный сигнал, или любой другой сигнал области LPC.
-1
1
-1
Предпочтительно, чтобы во втором канале кодирования (ACELP/TCX) фиг.2а или 2с сигнал перед кодированием предварительно обрабатывался фильтром 1-0.68z, создающим предискажения. В декодере ACELP/TCX, изображенном на фиг.2b, синтезируемый сигнал обрабатывается обратным фильтром 1/(1-0.68z~), устраняющим эти предискажения. Предискажения могут формироваться в блоке 510 LPC, где сигнал предварительно предискажен перед анализом LPC и квантизацией. Точно так же устранение предискажений может быть частью блока LPC 540 синтеза LPC.
Фиг.2с иллюстрирует дальнейшее решение для реализации устройства на фиг.2а, но с другим расположением переключателя 521 подобно схеме на фиг.4b.
В предпочтительном решении первым переключателем 200 (см. фиг.1а или 2а) управляют посредством решения разомкнутого контура (как показано на фиг.4а), и вторым переключателем управляют посредством решения с замкнутого контура (как показано на рисунке 4b).
-1
Например, на фиг.2с, второй выключатель расположен после блоков ACELP и ТСХ, как показано на фиг.4b. Тогда, в первом канале обработки, первая область LPC представляет возбуждение LPC, и во втором канале обработки, вторая область LPC представляет LPC взвешенный сигнал. Таким образом, первый сигнал области LPC получен путем фильтрации (1-А(z)), чтобы преобразовать его в разностный сигнал LPC области, в то время как второй сигнал LPC области получен с использованием фильтра (1-A(z/γ))/(1-µz), чтобы преобразовать сигнал во взвешенный в LPC области.
Фиг.2b иллюстрирует схему декодирования, соответствующую схеме кодирования на фиг.2а. Битовый поток, сформированный мультиплексором битового потока 800, изображенным на фиг. 2а, является входным битовым потоком демультиплексора 900. В зависимости от информации, полученной, например, из битового потока в блоке определения режима 601, управляют выключателем со стороны декодера 600, чтобы или отправить сигналы от верхнего канала, или сигналы от нижнего канала к блоку 701 расширения полосы частот. Блок 701 расширения полосы частот получает от мультиплексора битового потока 900 стороннюю информацию и, на основании этой сторонней информации и выходного сигнала блока определения режима 601, восстанавливает высокочастотную полосу, основанную на выходном сигнале низкочастотной полосы переключателя 600.
Сигнал с полной полосой, сформированный блоком 701, поступает на объединенный блок 702 обработки объединенного стерео/окружения, который восстанавливает два канала стерео или несколько мультиканалов. Вообще, блок 702 формирует больше каналов, чем было введено в этот блок. В зависимости от применения, вход в блок 702 может даже включать два канала, такие как в стерео режиме, и может даже включать больше каналов, пока на выходе этого блока больше каналов, чем на входе в этот блок.
Переключатель 200, как показано, переключается между обоими каналами так, чтобы только один канал получает обрабатываемый сигнал, а другой канал не получает обрабатываемый сигнал. В альтернативном решении, однако, переключатель может также быть установлен, например, за аудио кодирующим устройством 421 и кодирующим устройством возбуждения 522, 523, 524, что означает, что оба канала 400, 500 обрабатывают тот же самый сигнал параллельно. Чтобы не удвоить битрейт, выбирается только сигнал, сформированный одним из кодирующих каналов 400 или 500, для записи в выходной битовый поток. Блок выбора будет тогда работать так, чтобы сигнал, записанный в выходной битовый поток, минимизировал определенную функцию стоимости, где функция стоимости может быть сформированным битрейтом, или созданным перцепционным искажением, или комбинированной функцией стоимости битрейт/перцепционное искажение. Поэтому, или в этом режиме или в режиме, иллюстрированном на рисунках, блок выбора может также работать в методе замкнутого контура, чтобы удостовериться, что в битовый поток записан только выходной сигнал того канала кодирования, который имеет для данного перцепционного искажения самый низкий битрейт или, для данного битрейта, имеет самое низкое перцепционное искажение. В методе замкнутого контура вход обратной связи может быть получен из выходных сигналов трех блоков квантизатор/счетчика 421, 522 и 424, изображенных на фиг.1а.
В решении, имеющем два переключателя, то есть первый переключатель 200 и второй выключатель 521, предпочтительно, чтобы временное разрешение для первого переключателя было ниже, чем временное разрешение для второго выключателя. Заявленные по-другому, блоки входного сигнала в первый переключатель, который может быть переключен через операцию по переключению, больше чем блоки, переключенные вторым переключателем, работающим в LPC-области. Например, частотная область/LPC-область, переключаемая 200, может переключить блоки длины 1024 отсчетов, а второй переключатель 521 может переключить блоки, имеющие 256 отсчетов каждый.
Хотя некоторые из фиг.1а-10b иллюстрированы как блок-схемы устройства, эти боки одновременно являются иллюстрацией метода, где функциональность блока соответствуют шагам метода.
Фиг.3а иллюстрирует аудио кодирующее устройство, формирующее закодированный аудио сигнал, как выходной сигнал первого канала кодирования 400 и второго канала кодирования 500. Кроме того, закодированный аудио сигнал предпочтительно включает стороннюю информацию, такую как параметры предварительной обработки с общего уровня предварительной обработки или, как обсуждено в связи с предыдущими рисунками, информацию об управлении переключателем.
Предпочтительно, первый канал кодирования служит для того, чтобы закодировать аудио промежуточный сигнал 195 в соответствии с первым кодирующим алгоритмом, причем у первого кодирующего алгоритма есть информационная модель слуха. Первый канал кодирования 400 формирует первый выходной сигнал кодирующего устройства, который является закодированным спектральным информационным представлением промежуточного аудио сигнала 195.
Кроме того, второй канал кодирования 500 выполнен с возможностью кодирования промежуточного аудио сигнала 195 в соответствии со вторым алгоритмом кодирования, второй кодирующий алгоритм, основанный на информационной модели источника и формирования, во втором выходном сигнале кодирующего устройства, закодированные параметры информационной модели источника представляют промежуточный аудио сигнал.
Аудио кодирующее устройство, кроме того, включает общую стадию предварительной обработки для предварительной обработки сигнала 99, чтобы сформировать промежуточный аудио сигнал 195. Определенно, общая стадия предварительной обработки служит для того, чтобы обработать водной сигнал 99 так, чтобы промежуточный аудио сигнал 195, то есть результат общего алгоритма предварительной обработки был сжатой версией входного звукового сигнала.
Предпочтительный метод кодирования аудио для того, чтобы сформировать закодированный аудио сигнал, включает шаг кодирования 400, промежуточного аудио сигнала 195 в соответствии с первым кодирующим алгоритмом, первый кодирующий алгоритм, основанный на информационной модели слуха и формирования, в первом выходном сигнале закодирована спектральная информация, представляющая аудио сигнал; шаг 500 является кодированием аудио промежуточного сигнала 195 в соответствии со вторым кодирующим алгоритмом, который основан на информационной модели источника и формирования, во втором выходном сигнале, закодированы параметры информационной модели источника, представляющие промежуточный сигнал 195, и шаг общей предварительной обработки 100 входного звукового сигнала 99, чтобы получить аудио промежуточный сигнал 195, где на шаге общей предварительной обработки входной звуковой сигнал 99 обработан так, чтобы аудио промежуточный сигнал 195 был сжатой версией входного звукового сигнала 99, причем закодированный аудио сигнал включает для определенной части аудио сигнала или первый выходной сигнал или второй выходной сигнал. Метод предпочтительно включает дальнейший шаг, кодирующий определенную часть аудио сигнала промежуточного звена, использующий первый кодирующий алгоритм, или использующий второй кодирующий алгоритм, или кодирующий сигнал с использованием обоих алгоритмов, формируя выходной сигнал как результат обоих алгоритмов, или результат первого кодирующего алгоритма, или результат второго кодирующего алгоритма.
Вообще, алгоритм кодирования аудио, используемый в первом канале кодирования 400, отражает и моделирует ситуацию восприятия аудио. Органом слуха для аудио информации обычно является человеческое ухо. Человеческое ухо может быть смоделировано как анализатор частот. Поэтому, выходной сигнал первого канала кодирования кодирует спектральную информацию. Предпочтительно, первый канал кодирования, кроме того, включает физико-акустическую модель для того, чтобы дополнительно использовать маскирующий физико-акустический порог. Этот маскирующий физико-акустический порог используется, при квантовании аудио спектральных компонент, где предпочтительно, квантизация выполнена таким образом, что вводится шум квантизации при квантовании спектральных аудио компонент, которые скрыты ниже маскирующего физико-акустического порога.
Второй канал кодирования представляет модель источника информации, которая отражает формирование аудио звука. Поэтому, информационные модели источника могут включать речевую модель, которая отражена аналитическим этапом LPC, то есть этапом преобразования сигнала на временном интервале в область LPC и впоследствии обработки остаточного сигнала LPC, то есть сигнала возбуждения. Альтернативные звуковые модели источника являются звуковыми моделями для того, чтобы представить определенный инструмент или любые другие звуковые генераторы, такие как определенный звуковой источник, существующий в реальном мире. Выбор между различными звуковыми моделями источников может быть выполнен, когда доступны несколько звуковых моделей источников, например, выбор может быть основан на вычислении SNR, то есть на вычислении, которое из моделей источников выбирает лучшую, подходящую для того, чтобы закодировать определенную временную часть/или частотную часть аудио сигнала. Предпочтительно, однако, чтобы переключение между каналами кодирования было выполнено во временном интервале, то есть чтобы определенный временной интервал кодировался с использованием одной модели, и определенный другой временной интервал промежуточного сигнала кодировался с использованием другого канала кодирования.
Модели источника информации представлены определенными параметрами. Относительно модели речи параметрами являются параметры LPC и закодированные параметры возбуждения, когда рассматривают современный речевой кодер, такой как AMR-WB+. AMR-WB+ включает кодирующее устройство ACELP и кодирующее устройство ТСХ. В этом случае закодированные параметры возбуждения могут быть глобальной передачей, уровнем шума и кодами переменной длины.
Фиг.3b иллюстрирует декодер, соответствующий кодирующему устройству, иллюстрированному на фиг.3а. Вообще, фиг.3b иллюстрирует аудио декодер, предназначенный для декодирования закодированный аудио сигнала, чтобы получить декодированный аудио сигнал 799. Декодер включает первый канал декодирования 450 для того, чтобы декодировать кодированный в соответствии с первым кодирующим алгоритмом сигнал, основанный на информационной модели слуха. Аудио декодер, кроме того, включает второй канал декодирования 550 для того, чтобы расшифровать кодированное информационное сообщение в соответствии со вторым кодирующим алгоритмом, основанным на модели источника информации. Аудио декодер, кроме того, включает объединитель для того, чтобы объединить выходные сигналы первого канала декодирования 450 и второго канала декодирования 550, чтобы получить объединенный сигнал. Объединенный сигнал, иллюстрированный на фиг.3b, является декодированным аудио промежуточным сигналом 699, который поступает на общий блок постобработки, обрабатывающий декодированный аудио промежуточный сигнал 699, который является объединенным сигналом, сформированным объединителем 600 так, чтобы выходной сигнал общего блока предварительной обработки был расширенной версией объединенного сигнала. Таким образом, у декодированного аудио сигнала 799 есть расширенное информационное содержание по сравнению с декодированным аудио промежуточным сигналом 699. Это информационное расширение обеспечено общим блоком постобработки с помощью параметров пред/пост обработки, которые могут быть переданы от кодирующего устройства до декодера или которые могут быть получены из расшифрованного аудио промежуточного сигнала непосредственно. Предпочтительно, однако, чтобы параметры пред/пост обработки передавались от кодирующего устройства до декодера, так как эта процедура позволяет улучшенное качество декодированного аудио сигнала.
Фиг.3с иллюстрирует аудио кодирующее устройство для того, чтобы закодировать входной аудио сигнал 195, который может быть равным промежуточному аудио сигналу 195 на фиг.3а в соответствии с предпочтительным решением данного изобретения. Входной аудио сигнал 195 присутствует в первой области, которая может, например, быть временным интервалом, но которая может также быть любой другой областью, такой как область частот, область LPC, спектральная область LPC или любая другая область. Вообще, преобразование от одной области в другую область выполняется конверсионным алгоритмом, таким как любой из известных конверсионных алгоритмов времени/частоты или конверсионных алгоритмов частоты/времени.
Альтернативное преобразование от временного интервала, например, в область LPC является результатом LPC фильтрования сигнала временного интервала, который приводит к разностному сигналу LPC или сигналу возбуждения. Любые другие операции по фильтрованию, формирующие фильтрованный сигнал, который оказывает влияние на значительное число отсчетов сигнала перед преобразованием, могут использоваться в качестве алгоритма преобразования в зависимости от обстоятельств. Поэтому, взвешивание аудио сигнала, базирующееся на LPC взвешивающем фильтре, является дальнейшим преобразованием, которое формирует сигнал в области LPC. Во временном/спектральном преобразовании изменение единственной спектральной компоненты оказывает влияние на все компоненты временного интервала перед преобразованием. Аналогично, модификация любого отсчета временного интервала окажет влияние на каждый компонент частотной области. Точно так же модификация отсчета сигнала возбуждения в ситуации с областью LPC будет иметь, благодаря длине фильтра LPC, воздействие на значительное число компонентов перед фильтрованием LPC. Точно так же модификация компонента перед преобразованием LPC окажет влияние на многие компоненты, полученные этим LPC преобразованием благодаря внутреннему эффекту памяти фильтра LPC.
Аудио кодирующее устройство на фиг.3с включает первый канал кодирования 400, который формирует первый кодированный сигнал. Этот первый кодированный сигнал может оказаться в четвертой области, которая является, в предпочтительном решении, временной-спектральной областью, то есть областью, которая получается, когда сигнал временного интервала обработан через преобразование время/частота.
Поэтому, в первом кодирующем канале 400, предназначенном для кодирования аудио сигнала, используется первый кодирующий алгоритм, чтобы получить первый кодированный сигнал, где этот первый кодирующий алгоритм может включать или, возможно, не включать алгоритм преобразования время/частота.
Аудио кодирующее устройство, кроме того, включает второй канал кодирования 500 для того, чтобы закодировать аудио сигнал. Во втором канале кодирования 500 используется второй кодирующий алгоритм, который отличается от первого кодирующего алгоритма, чтобы получить второй кодированный сигнал.
Аудио кодирующее устройство, кроме того, включает первый переключатель 200 для того, чтобы переключиться между первым каналом кодирования 400 и вторым каналом кодирования 500 так, чтобы для части входного аудио сигнала, или первый кодированный сигнал на выходе блока 400, или второй кодированный сигнал на выходе второго канала кодирования были включены в выходной сигнал кодирующего устройства.
Таким образом, когда для определенной части входного аудио сигнала 195 первый кодированный сигнал в четвертой области включен в выходной сигнал кодирующего устройства, второй кодированный сигнал, который является или первым обработанным сигналом во второй области, или вторым обработанным сигналом в третьей области, не включен в выходной сигнал кодирующего устройства. Это обеспечивает то, что данное кодирующее устройство имеет эффективный битрейт. В решениях любые временные интервалы аудио сигнала, которые включены в два различных кодированных сигнала, являются небольшими по сравнению с длиной фрейма, как будет обсуждено в связи с фиг.3. Эти небольшие части полезны для кроссфейда одного кодированного сигнала сообщения с другим кодируемым сигналом в случае переключения переключателя, чтобы уменьшить искажения, которые могли бы произойти без кроссфейда. Поэтому, кроме интервала плавного наложения сигналов, каждый блок временного интервала представлен кодированным сигналом только единственной области.
Как иллюстрировано на фиг.3с, второй канал кодирования 500 включает преобразователь 510 для того, чтобы преобразовать аудио сигнал в первой области, то есть сигнал 195, во вторую область. Кроме того, второй канал кодирования 500 включает первый канал обработки 522 для того, чтобы обработать аудио сигнал во второй области, чтобы получить первый обработанный сигнал, который является, предпочтительно, находится также во второй области так, что первый канал обработки 522 не осуществляет изменение области.
Второй канал кодирования 500, кроме того, включает второй канал обработки 523, 524, который преобразовывает аудио сигнал во второй области в третью область, которая отличается от первой области и которая также отличается от второй области, и который обрабатывает аудио сигнал в третьей области, чтобы получить второй обработанный сигнал на выходе второго канала обработки 523, 524.
Кроме того, второй канал кодирования включает второй переключатель 521 для того, чтобы переключиться между первым каналом обработки 522 и вторым каналом обработки 523, 524 так, чтобы для части входного аудио сигнала во второй канал кодирования или первый обработанный сигнал во второй области или второй обработанный сигнал в третьей области были во втором кодированном сигнале.
Фиг.3d иллюстрирует соответствующий декодер для того, чтобы декодировать закодированный аудио сигнал, сформированный кодирующим устройством на фиг.3с. Вообще, каждый блок аудио сигнала первой области представлен сигналом второй области или сигналом третьей области или кодированным сигналом четвертой области, кроме, возможно, интервала плавного наложения сигналов, который предпочтительно, мал по сравнению с длиной одного фрейма, чтобы получить систему, которая является, насколько это возможно, у критического предела частоты осуществления выборки. Закодированный аудио сигнал включает первый закодированный сигнал, второй закодированный сигнал во второй области и третий закодированный сигнал в третьей области, причем первый закодированный сигнал, второй закодированный сигнал и третий закодированный сигнал, все касаются различных временных частей декодированного аудио сигнала, и, причем вторая область, третья область и первая область для декодированного аудио сигнала отличаются друг от друга.
Декодер включает первый канал декодирования для того, чтобы расшифровать сигнал, основанный на первом кодирующем алгоритме. Первый канал декодирования иллюстрирован блоками 431, 440 на фиг.3d и предпочтительно включает преобразователь частота/время. Первый закодированный сигнал находится предпочтительно в четвертой области и преобразуется в первую область, которая является областью для декодированного выходного сигнала.
Декодер на фиг.3d, кроме того, включает второй канал декодирования, который включает несколько элементов. Этими элементами являются первый канал обратной обработки 531 для обратного преобразования второго закодированного сигнала и получения обратно обработанного сигнала во второй области на выходе блока 531. Второй канал декодирования, кроме того, включает второй канал обратной обработки 533, 534 для обратной обработки третьего кодированного сигнала, чтобы получить второй обратно обработанный сигнал во второй области, где второй канал обратной обработки включает преобразователь для того, чтобы преобразовать сигнал из третьей области во вторую область.
Второй канал декодирования, кроме того, включает первый объединитель 532 для объединения первого обратно обработанного сигнала и второго обратно обработанного сигнала, чтобы получить сигнал во второй области, где этот объединенный сигнал, в первый момент времени, находится только под влиянием первого обратно обработанного сигнала и, в более поздний момент времени, только под влиянием второго обратно обработанного сигнала.
Второй канал декодирования, кроме того, включает преобразователь 540 для того, чтобы преобразовать объединенный сигнал в первую область.
Наконец, декодер, иллюстрированный на фиг.3d, включает второй объединитель 600 для того, чтобы объединить первый декодированный сигнал от блоков 431, 440 и выходного сигнала преобразователя 540, чтобы получить декодированный выходной сигнал в первой области. Далее, декодированный выходной сигнал в первой области в первый момент времени находится только под влиянием сигнала, сформированного преобразователем 540, и в более поздний момент времени находится только под влиянием первого декодированного сигнала, сформированного блоками 431,440.
Эта ситуация иллюстрирована, с точки зрения кодирующего устройства, представленного на фиг.3е. Верхняя часть фиг.3е иллюстрирует в схематическом представлении аудио сигнал первой области, такой как аудио сигнал временного интервала, где индекс времени увеличивается слева направо, и диаграмму 3 можно было бы рассмотреть как поток аудиосэмплов, представляющих сигнал 195 на фиг.3с. Фиг.3е иллюстрирует фреймы 3а, 3b, 3с, 3d, который может быть сформированы при переключении между первым кодированным сигналом и первым обработанным сигналом и вторым обработанным сигналом, как иллюстрировано на диаграмме 4 на фиг.3е. Первый кодированный сигнал, первый обработанный сигнал и второй обработанный сигнал находятся в различных областях, и чтобы удостовериться, что переключатель между различными областями не приводит к возникновению искажений на стороне декодера, у фреймов 3а, 3b сигнала временного интервала есть плавно накладывающийся диапазон, который обозначен областью кроссфейда, и такая область кроссфейда показана на фреймах 3b и 3с. Однако области кроссфейда нет между фреймами 3d и 3с, что означает, что фрейм 3d также представлен вторым обработанным сигналом, то есть сигналом в третьей области, и нет никакого изменения области между фреймами 3с и 3d. Поэтому, вообще, предпочтено устанавливать область кроссфейда, когда нет изменения области, и устанавливать область кроссфейда, то есть временной интервал аудио сигнала, который кодируется с использованием двух кодированных/обработанных сигналов, когда есть изменение области, т.е. есть переключение любого из двух переключателей. Предпочтительно кроссфейд осуществляется для других изменений области.
В решении, в котором первый кодированный сигнал или второй обработанный сигнал были сформированы процедурой MDCT, имеющей, например, 50-процентное наложение, каждого сэмпла временного интервала, включенного в два последующих фрейма. Из-за особенностей MDCT, однако, это не приводит к переполнению, так как MDCT - критически дискретизирующая система. В этом контексте, критически дискретизирующая система означает, что число спектральных компонент то же самое, что и число сэмплов временного интервала. MDCT выгоден тем, что эффект пересечения обеспечивается без определенной области пересечения, так что пересечение блока MDCT и следующего блока MDCT обеспечивается без переполнения, которое нарушило бы критическое требование осуществления дискретизации.
Предпочтительно, чтобы первый кодирующий алгоритм в первом канале кодирования отделении был основан на информационной модели слуха, и второй кодирующий алгоритм во втором канале кодирования был основан на модели источника информации или SNR модели. Модель SNR определенно не связана с определенным механизмом формирования звука, но она является одним способом кодирования, который может быть выбран среди множества способов кодирования, базирующихся, например, на решении замкнутого контура. Таким образом, модель SNR - это любая доступная модель кодирования, но которая не обязательно должна быть связана с физической природой генератора звука, которая является любой параметризованной моделью кодирования, отличающейся от информационной модели слуха, которая может быть выбрана решением замкнутого контура и особенно путем сравнения различных SNR результатов различных моделей.
На фиг.3с показан контроллер 300, 525. Этот контроллер может включать функциональность блока выбора 300, представленного на фиг. 1а, и, дополнительно, может включать функциональность управляющего устройства переключателем 525, представленным на фиг.1а. Вообще, контроллер предназначен для того, чтобы управлять первым переключателем и вторым переключателем на адаптированном пути сигнала. Контроллер служит для того, чтобы проанализировать входной сигнал первого переключателя, или выходной сигнал первого или второго канала кодирования, или выходные сигналы, полученные путем кодирования и декодирования в первом и втором каналах кодирования с использованием целевой функции. Альтернативно, или дополнительно, контроллер служит, чтобы проанализировать входной сигнал во второй переключатель или выходной сигнал первого канала обработки или второго канала обработки или сигнал, полученный путем обработки и обратной обработки от первого канала обработки и второго канала обработки, с использованием целевой функции.
В одном решении, в первом канале кодирования или во втором канале кодирования осуществляется совмещение результатов алгоритма преобразования время/частота, такого как MDCT или алгоритм MDST, который отличается от прямого преобразования FFT, в котором не реализуется эффект совмещения. Кроме того, один или оба канала включают блок квантизатора/кодирования энтропии. Определенно, только второй канал обработки второго канала кодирования включает преобразователь время/частота, вводящий операцию по совмещению, и первый канал обработки второго канала кодирования включает квантизатор и/или кодировщик энтропии и не осуществляет операцию совмещения. Операцию совмещения осуществляет преобразователь время/частота предпочтительно, применяя обработку аналитическим окном, и алгоритм преобразования MDCT. Определенно, обработка аналитическим окном служит, чтобы применить функцию окна к последовательным накладывающимся фреймам так, чтобы сэмпл сигнала, обработанного функцией окна, находился, по крайней мере, в двух последующих фреймах, обработанных функцией окна.
В одном решении первый канал обработки включает кодер ACELP, и второй канал обработки включает спектральный преобразователь MDCT и квантизатор для того, чтобы квантовать спектральные компоненты и получить квантованные спектральные компоненты, где каждая квантованная спектральная компонента является нулем или определена одним индексом квантования множества различных возможных индексов квантования.
Кроме того, предпочтено, чтобы первый переключатель 200 работал в режиме разомкнутого контура, и второй переключатель работал в режиме замкнутого контура.
Как заявлено ранее, оба кодирующих канала служат, чтобы закодировать аудио сигнал в блоке интеллектуальным способом, в котором первый переключатель или второй переключатель переключается так, чтобы переключение имело место, в минимуме, после блока предопределенного числа сэмплов сигнала, предопределенного числа, формирующего длину фрейма для соответствующего переключателя. Таким образом, интервал для того, чтобы переключиться первому переключателю, может быть, например, блоком 2048 или 1028 сэмплов, и длиной фрейма, основанной на переключении первого переключателя 200, и может быть переменным, но, предпочтительно, фиксированным на таком довольно длительном периоде.
И обратно, размер блока для второго переключателя 521, то есть, когда второй переключатель 521 переключается от одного способа к другому, существенно меньше, чем размер блока для первого переключателя. Предпочтительно, оба размера блоков для переключателей выбраны таким образом, что дина более длительного блока является целым числом, умноженным на размер более короткого блока. В предпочтительном решении размер блока первого переключателя 2048 или 1024, и размер блока второго переключателя - 1024 или более предпочтительно - 512 и еще более предпочтительно - 256 и еще более предпочтительно - 128 сэмплов так, чтобы второй выключатель мог переключиться максимально 16 раз, когда первый переключатель переключается только один раз. Предпочтительное максимальное отношение размеров блоков составляет 4:1.
В еще одном варианте осуществления контроллер 300, 525 служит, чтобы выполнить разделение речи и музыки для первого переключателя таким способом, которым выбор речи преобладает относительно выбора музыки. В этом решении принят выбор речи, даже когда часть меньше чем 50 % фрейма для первого переключателя является речью и часть больше чем 50 % фрейма является музыкой.
Кроме того, контроллер служит для того, чтобы уже переключиться на режим речи, когда довольно небольшая часть первого фрейма является речью и, определенно, когда часть первого фрейма является речью, которая составляет 50% длины меньшего второго фрейма. Таким образом, предпочтительно, переключающее решение речь/одобрение уже переключается на речь, даже тогда, когда, например, только 6% или 12% блока, соответствующего длине фрейма первого переключателя, является речью.
Эта процедура предпочтительна для того, чтобы в одном решении полностью использовать способность экономии битрейта первого канала обработки, у которого есть ядро кодирования обладающей голосом речи, и не потерять качество для остальной части большого первого фрейма, которая является не речью вследствие того, что второй канал обработки включает преобразователь и, поэтому, полезен для аудио сигналов, у которых есть также не речевые сигналы. Предпочтительно, этот второй канал обработки включает преобразование MDCT с перекрытием, которое выбрано критически, и которое даже при небольших размерах окна обеспечивает высокую эффективность, и свободно от операции совмещения благодаря отмене обработки по совмещению временных интервалов, такой как перекрытие и добавление на стороне декодера. Кроме того, большой размер блока для первого канала кодирования, которым является предпочтительно ААС подобный MDCT канал кодирования, полезен, так как неречевые сигналы обычно довольно постоянны, и длинное окно преобразования обеспечивает высокочастотное разрешение и, поэтому, высокое качество и, дополнительно, обеспечивает малый битрейт благодаря психоакустически управляемому модулю квантизации, который может также быть применен к преобразованию, основанному на режиме преобразования во втором канале обработки второго канала кодирования.
Относительно декодера, иллюстрированного на фиг.3d, предпочтительно, чтобы передаваемый сигнал включал явный индикатор, такой как сторонняя информация 4а, как иллюстрировано на фиг.3е. Эта сторонняя информация 4а извлекается распознавателем битового потока, не иллюстрированным на фиг.3d, чтобы направить соответствующий первый кодированный сигнал, первый обработанный сигнал или второй обработанный сигнал в правильный процессор, такой как первый канал декодирования, первый канал обратной обработки или второй канал обратной обработки, изображенный на фиг.3d. Поэтому, закодированный сигнал имеет не только кодированный/обработанный сигнал, но также и включает стороннюю информацию, касающуюся этих сигналов. В других решениях, однако, может быть неявная передача сигналов, которая позволяет анализатору битового потока стороны декодера различать определенные сигналы. Это описано в общих чертах на фиг.3е, где первый обработанный сигнал или второй обработанный сигнал является выходным сигналом второго канала кодирования и, поэтому, второго закодированного сигнала.
Предпочтительно, чтобы первый канал декодирования и/или второй канал обратной обработки включал процедуру MDCT, чтобы преобразовать спектральную область во временной интервал. С этой целью установлен сумматор с перекрытием, выполняющий функцию отмены совмещения временных интервалов, которая, в то же самое время, обеспечивает кроссфейд, чтобы избежать блокирующих искажений. Вообще, первый канал декодирования преобразовывает сигнал, кодируемый в четвертой области в первую область, в то время как второй канал обратной обработки выполняет преобразование третьей области во вторую область и преобразователь, впоследствии связанный с первым объединителем, обеспечивает преобразование второй области в первую область так, чтобы на входе объединителя 600, были только сигналы первой области, которые представляют расшифрованный выходной сигнал решения, представленного на фиг.3d.
Фиг.4а и 4b иллюстрируют два различных решения, которые отличаются расположением переключателя 200. На фиг.4а переключатель 200 помещен между выходом общего блока 100 предварительной обработки и входом двух каналов кодирования 400, 500. Решение на фиг.4а обеспечивает поступление аудио сигнала только в единственный канал кодирования, при этом другой канал кодирования, который не связан с выходным сигналом общего блока предварительной обработки, не работает и, поэтому, выключен или находится в состоянии сна. Это решение предпочтительно тем, что неактивный канал кодирования не потребляет энергии и вычислительных ресурсов, что полезно для мобильных приложений, в частности для приложений, которые имеют питание от батарей и, поэтому, имеют общее ограничение расхода энергии.
С другой стороны, однако, решение на фиг.4b может быть предпочтительным, когда расход энергии не является проблемой. В этом решении и каналы кодирования 400, 500 активны все время, и только выходной сигнал выбранного канала кодирования для определенной части времени и/или определенной части частот отправлен к битовому потоку формирователем, который может быть осуществлен как мультиплексор битового потока 800. Поэтому, в решении на фиг. 4b, активны все время и кодирующие каналы, и выходной сигнал канала кодирования, который выбран блоком 300 решения, введен в битовый выходной поток, в то время как от выходных данных, то есть выходного сигнала, другого, не выбранного канала кодирования 400, отказываются, то есть эти данные не поступают в выходной битовый поток и закодированный аудио сигнал.
Предпочтительно, чтобы второе правило кодирования/правило декодирования основывалось на LPC кодирующего алгоритма. В основанном на LPC речевом кодировании осуществляется разделение между квазипериодическими подобными импульсу сегментами сигнала возбуждения или частями сигнала и подобными шуму сегментами сигнала возбуждения или частями сигнала. Это выполняется для осуществления очень низкого битрейта LPC вокодерами (2.4 kbps) как показано на фиг.7b. Однако при среднем уровне битрейта в кодерах CELP формируется возбуждение для добавления масштабированных векторов из адаптивной кодовой таблицы и фиксированной кодовой таблицы.
Квазипериодические, подобные импульсу сегменты сигнала возбуждения, то есть сегменты сигнала, имеющие определенный основной тон, кодируются с использованием других алгоритмов, чем подобные шуму сигналы возбуждения. В то время как квазипериодические подобные импульсу сигналы возбуждения связаны с обладающей голосом речью, сигналы подобные шуму связаны с не обладающей голосом речью.
На фиг.5а и 5d приведен пример. Здесь представлены обсужденные в качестве примера квазипериодические, подобные импульсу сегменты сигнала или части сигнала, и подобные шуму сегменты сигнала или части сигнала. Определенно, представленная на фиг.5с и 5d, обладающая голосом речь, как иллюстрировано на фиг.5а во временном интервале и на фиг.5b в области частот, обсуждена в качестве примера квазипериодической, подобной импульсу части сигнала, и не обладающий голосом речевой сегмент обсужден в качестве примера части сигнала, подобной шуму. Вообще, речь может быть классифицирована как обладающая голосом или голосовая, не обладающая голосом или не голосовая и смешанная. Диаграммы в областях времени и частоты для выбранных голосовых и не голосовых сегментов показаны на фиг.5а 5d. Голосовая речь является квазипериодической на временном интервале и гармонически структурированной в области частот, в то время как скорость не голосовой речи подобна случайному широкополосному сигналу. Спектр голосовой речи на коротком временном интервале характеризуется хорошей структурой формант. Хорошая гармоническая структура является следствием квазипериодичности речи и может быть приписана вибрирующим голосовым связкам. Структура формант (огибающая спектра) возникает из-за взаимодействия источника и вокального тракта. Вокальный тракт состоит из зева и впадины рта. Форма огибающей спектра, которая "соответствует" спектру обладающей голосом речи на коротком промежутке времени, связана с характеристиками передачи вокального тракта и спектральным наклоном (6 децибелов / Октава) из-за глоттального пульса. Огибающая спектра характеризуется рядом пиков, которые называют формантами. Формантами являются резонансные моды вокального тракта. Для среднего вокального тракта в пределах 5 кГц есть три - пять формант. Амплитуды и положения первых трех формант, обычно обнаруживающиеся ниже 3 кГц, довольно важны оба в речевом синтезе и восприятии. Более высокочастотные форманты также важны для широкой группы и не голосовых представлений речи. Свойства речи связаны с физической речевой формирующей системой следующим образом. Голосовая речь формируется возбуждением вокального тракта с квазипериодическим глоттальным воздушным пульсом, созданным вибрирующими голосовыми связками. Частота периодического пульса упоминается как фундаментальная частота или основной тон. Не голосовая речь формируется путем сжатия воздуха при прохождении через вокальный трактат. Носовые звуки происходят из-за акустической связи носового тракта с вокальным трактом, и согласные звуки формируются путем выпуска воздуха под давлением, которое было создано за преградой в тракте.
Таким образом, подобная шуму часть аудио сигнала не показывает ни подобной импульсу структуры на временном интервале, ни гармонической структуры в области частот, как иллюстрировано на фиг.5с и фиг.5d, что отличается от квазипериодической подобной импульсу части, как иллюстрировано, например, на фиг.5а и фиг.5b. Как будет описано в общих чертах позже, разделение между подобными шуму частями и квазипериодическими подобными импульсу частями может также осуществляться после LPC для сигнала возбуждения. В LPC методе моделируется вокальный тракт и из сигнала извлекается возбуждение вокальных трактов.
Кроме того, квазипериодические подобные импульсу части и подобные шуму части могут произойти своевременно, то есть что означает, что часть аудио сигнала в одно и то же время является шумовой, а другая часть аудио сигнала является квазипериодической, то есть тональной. Альтернативно, или дополнительно, особенность сигнала может отличаться в различных диапазонах частот. Таким образом, определение, является ли аудио сигнал шумовым или тональным, может также быть выполнено с частотной селекцией так, чтобы определенный диапазон частот или несколько определенных диапазонов частот рассматриваются как шумовые, а другие диапазоны частот рассматриваются как тональные. В этом случае определенная временная часть аудио сигнала могла бы включать тональные компоненты и шумовые компоненты.
Фиг.7а иллюстрирует линейную модель системы, формирующей речь. Эта система предполагает двухстадийное возбуждение, то есть ведущий импульс голосовой речи, как показано на фиг.7с, и случайный шум для не голосовой речи, как показано на фиг.7d. Вокальный тракт смоделирован как идеальный фильтр 70, который обрабатывает импульсы, представленные на фиг.7с или на фиг.7d, сформированные глоттальной моделью 72. Следовательно, система на фиг.7а может быть сведена к модели идеального фильтра на фиг.7b, имеющего блок усиления 77, прямой путь 78 и путь обратной связи 79 и блок сложения 80. На пути обратной связи 79, есть прогнозирующий фильтр 81, и целая система синтеза модели источника, иллюстрированная на фиг.7b, может быть представлена, с использованием функции z-области следующим образом:
S(z)=g/(1-A(z))·X(z),
где g представляет усиление, A(z) - прогнозирующий фильтр, как определено LP анализом, Х (z) - сигнал возбуждения и S(z) является выходной синтезированной речью.
Фиг.7с и 7d дают графическое описание временного интервала с синтезированной голосовой и не голосовой речью при использовании линейной системной модели источника. Эта система и параметры возбуждения в вышеупомянутом уравнении неизвестны и должны быть определены из конечного набора речевых сэмплов. Коэффициенты A(z) получены, используя линейное предсказание входного сигнала и квантизацию коэффициентов фильтра. В линейном предсказателе p-го порядка текущий образец речевой последовательности предсказывается в виде линейной комбинации p переданных сэмплов. Коэффициенты предсказателя могут быть определены известными алгоритмами, такими как алгоритм Левинсона-Дербина, или вообще методом автокорреляции или методом отражения.
Фиг.7е иллюстрирует более подробное описание аналитического LPC блока 510. Аудио сигнал входит в блок определения параметров фильтра, который определяет информацию о фильтре A(z). Эта информация создается как краткосрочная информация предсказания, требуемая для декодера. Краткосрочная информация предсказания запрашивается фактическим фильтром предсказания 85. Текущий сэмпл аудио сигнала и ожидаемое значение для текущего сэмпла поступают на вычитатель 86 и вычитаются так, чтобы для текущего сэмпла сигнал ошибки предсказания был сформирован в линии 84. Последовательность таких ошибок сэмплов сигнала предсказания очень схематично иллюстрирована на фиг.7с или 7d. Поэтому, диаграммы на фиг.7а, 7b можно рассматривать как своего рода исправленный подобный импульсному сигналу.
В то время как фиг.7е иллюстрирует предпочтительный способ вычисления сигнала возбуждения, фиг.7f иллюстрирует предпочтительный способ вычисления взвешенного сигнала. В отличие от фиг.7е, фильтр 85 отличается, когда γ отличается от 1. Величина меньшая, чем 1, предпочтена для γ. Кроме того, в присутствующем блоке 87 µ является числом, предпочтительно меньшим чем 1. Вообще, элементы на фиг.7е и 7f могут быть осуществлены, как описано в 3GPP TS 26.190 или 3GPP TS 26.290.
Фиг.7G иллюстрируют обратную обработку, такую как в элементе 537 на фиг.2b, которая может быть применена на стороне декодера. В частности, блок 88 формирует не взвешенный сигнал из взвешенного сигнала, и блок 89 вычисляет возбуждение из не взвешенного сигнала. Вообще, все сигналы кроме не взвешенного сигнала на фиг.7G находятся в области LPC, но сигнал возбуждения и взвешенный сигнал являются различными сигналами в той же самой области. Блок 89 формирует сигнал возбуждения, который может использоваться вместе с выходным сигналом блока 536. Тогда, общее обратное преобразование LPC может быть выполнено в блоке 540, представленном на фиг.2b.
Впоследствии будет обсуждено кодирующее устройство CELP анализа через синтез, показанное на фиг. 6, чтобы иллюстрировать модификации, относящиеся к этому алгоритму. Кодирующее устройство CELP обсуждено подробно в "Speech Coding: A Tutorial Review", Andreas Spanias, Proceedings of the IEEE, Vol. 82, No.10, October 1994, pages 1541-1582. Кодирующее устройство CELP, как иллюстрировано на фиг.6, включает предсказатель долгосрочного периода 60 и предсказатель краткосрочного периода 62. Кроме того используется кодовая таблица, которая обозначена 64. Фильтр перцепционного взвешивания W (z) представлен блоком 66, и контроллер минимизации ошибки обозначен блоком 68. Сигнал s(n) является входным сигналом на временном интервале. Будучи перцепционно взвешенным, взвешенный сигнал подается на вычитатель 69, который вычисляет ошибку между взвешенным синтезированным сигналом в на выходе блока 66 и оригинальным взвешенным сигналом Sw(n). Вообще, коэффициенты фильтра краткосрочного предсказания A(z) вычислены LP блоком анализа и квантованы в А(z), как обозначено на фиг.7е. Информация долгосрочного предсказания Af(z) включает долгосрочное предсказание усиления (передачи) g и векторный квантованный индекс, то есть вычислены ссылки кодовой таблицы на сигнал ошибки предсказания в выходном сигнале блока LPC анализа, отмеченного как блок 10а на фиг.7е. Параметрами LTP являются затухание основного тона и усиление (передача). В CELP это обычно реализуется в виде адаптивной кодовой таблицы, содержащей прошлый сигнал возбуждения (не разностный). Адаптивное затухание СВ и усиление находятся путем минимизации среднеквадратической взвешенной ошибки.
Алгоритм CELP кодирует тогда разностный сигнал, полученный после краткосрочных и долгосрочных предсказаний, используя кодовую таблицу, например, Гауссовых последовательностей. Алгоритм ACELP, где "А" обозначает "Алгебраический", имеет определенную алгебраически разработанную кодовую таблицу.
Кодовая таблица может содержать более или менее длинные векторы, где каждый вектор длиной несколько сэмплов. Коэффициент усиления g масштабирует кодовый вектор, и полученный код фильтруется фильтром синтеза долгосрочного предсказания и фильтром синтеза краткосрочного предсказания. "Оптимальный" кодовый вектор выбирается таким образом, что перцепционно взвешенная среднеквадратическая ошибка на выходе вычитателя 69 минимизирована. Процесс поиска в CELP делается оптимизацией анализа через синтез как иллюстрировано на фиг.6.
Для конкретных случаев, когда фрейм является смесью не голосовой и голосовой речи или когда речь формируется по музыке, более соответствующим может быть кодирование ТСХ, предназначенное для кодирования возбуждения в LPC области. В кодирующей процедуре ТСХ используется взвешенный сигнал в области частот без предположений о формировании возбуждения. ТСХ является тогда более естественным, чем кодирование CELP и не ограничен голосовой или не голосовой исходными моделями возбуждения. ТСХ также является кодированием, ориентированным на модель источника, с использованием линейного прогнозирующего фильтра для того, чтобы смоделировать форманты сигналов, подобных речи.
В AMR-WB+ подобных кодировщиках имеет место выбор между различными режимами ТСХ и ACELP, как известно из описания AMR-ВБ. Режимы ТСХ отличаются длиной блока дискретного преобразования Фурье (ДПФ=ОРТ) для различных режимов, и может быть выбран лучший режим с использованием подхода анализ через синтез или посредством режима прямого «упреждения».
Как обсуждено в связи с фиг.2а и 2b, общий блок предварительной обработки 100 предпочтительно включает объединенный многоканальный блок (окружающее/объединенное стерео устройство) 101 и дополнительный блок расширения полосы частот 102. Соответственно, декодер включает блок расширения полосы частот 701 и последовательно соединенный многоканальный блок 702. Предпочтительно, чтобы в кодирующем устройстве объединенный многоканальный блок 101 был подсоединен прежде, чем блок расширения полосы частот 102, и, на стороне декодера, блок 701 расширения полосы частот должен быть подсоединен перед объединенным многоканальным блоком 702 относительно направления обработки сигнала. Впрочем, альтернативно, общий блок предварительной обработки может включать объединенный многоканальный блок без последовательно соединенного блока расширения полосы частот, или блок расширения полосы частот без соединенного объединенного многоканального блока.
Предпочтительный пример для объединенного многоканального блока на стороне кодирующего устройства 101а, 101b и на стороне декодера 702а, 702b иллюстрирован на фиг.8. Множество оригинальных входных каналов Е входят в смеситель с сокращением каналов 101а так, чтобы смеситель с сокращением сформировал k каналов передачи, где число k больше чем или равно единице и меньше чем или равно Е.
Предпочтительно, чтобы входные каналы Е поступали в объединенный многоканальный анализатор параметров 101b, который формирует информация о параметрах. Эта информация о параметрах предпочтительно закодирована методом без потери информации (кодирование энтропии), таким как кодирование различия и последующее кодирование с использованием алгоритма Хаффмана или, альтернативно, последующим арифметическим кодированием. Закодированная информация о параметрах, сформированная блоком 101b, передается к декодеру параметров 702b, который может быть частью блока 702 на фиг.2b. Декодер параметров 702b расшифровывает переданную информацию о параметрах и передает декодированную информацию о параметрах в смеситель с расширением 702а. Смеситель с расширением каналов 702а получает k каналов передачи и формирует на выходе множество каналов L, где число L больше чем или равно k и меньше чем или равно Е.
Информация о параметрах может включать межканальные различия уровня, межканальные временные различия, межканальные фазовые различия и/или межканальные различия мер когерентности, как известно в технике ВСС, или как известно и описано подробно в стандарте MPEG, окружения. Число переданных каналов может быть единственным моно каналом для приложений с ультранизким битрейтом или может включать совместимое стерео приложение или может включать совместимый стерео сигнал, то есть два канала. Как правило, число входных каналов Е может быть пять или возможно еще больше. Альтернативно, множество входных каналов Е может также быть множеством аудио объектов Е, как известно в контексте кодирования пространственных аудио объектов (SAOC).
В одном решении смеситель с сокращением выполняет взвешенное или не взвешенное сложение оригинальных входных каналов Е, или сложение Е входных аудио объектов. В случае аудио объектов, как входных каналов, объединенный многоканальный анализатор параметров 101b вычисляет аудио параметры объекта, такие как матрица корреляции между аудио объектами предпочтительно для каждого временного интервала и еще более предпочтительно для каждого диапазона частот. С этой целью весь частотный диапазон может быть разделен, по крайней мере, на 10 и, предпочтительно, на 32 или 64 диапазона частот.
Фиг.9 иллюстрирует предпочтительное решение для выполнения блока 102 расширения полосы частот на фиг.2а и соответствующего блока 701 расширения полосы частот на фиг.2b. На стороне кодирующего устройства блок расширения полосы частот 102 предпочтительно включает низкочастотный фильтр 102b, блок сэмплера с пониженной частотой выборки, который следует за низкочастотным фильтром, или который является частью обратного QMF, которое действует на только половину полос QMF, и анализатор высоких частот 102а. Входной оригинальный аудио сигнал в блок 102 расширения полосы частот фильтруется низкочастотным фильтром, чтобы сформировать сигнал в низкой полосе частот, который подается в канал кодирования и/или в переключатель. У фильтра нижних частот есть частота среза, которая может быть в диапазоне от 3 кГц до 10 кГц. Кроме того, блок 102 расширения полосы частот включает анализатор высоких частот для того, чтобы вычислить параметры расширения полосы частот, такие как информация о параметре огибающей спектра, информация о параметре уровня шума, информация о параметре обратного фильтрования, дальнейшая информация о параметрах, касающаяся определенных гармонических линий в полосе высоких частот и дополнительных параметрах подробно обсужденных в стандарте MPEG-4 в главе, связанной с повторением диапазона частот.
На стороне декодера блок расширения полосы частот 701 включает восстановитель 701а, регулировщик 701b и объединитель 701с. Объединитель 701с комбинирует декодированный сигнал низкой полосы частот и восстановленный и адаптированный сигнал высокочастотной полосы, сформированный регулировщиком 701b. Входной сигнал в регулировщик 701b обеспечен восстановителем, которым управляют, чтобы получить сигнал высокочастотной полосы из сигнала низкочастотной полосы, путем повторения диапазона или, вообще, расширением полосы частот. Внесение исправлений, выполненное восстановителем 701а, может быть внесением исправлений, выполненное гармоническим способом или негармоническим способом. Сигнал, сформированный восстановителем 701а, впоследствии, адаптируется регулировщиком 701b с использованием переданной параметрической информации о расширении полосы частот.
Как обозначено на фиг.8 и фиг.9, в предпочтительном решении у описанных блоков может быть вход контроля режима. Этот входной сигнал контроля режима получается из выходного сигнала блока 300 решения. В таком предпочтительном решении параметр соответствующего блока может быть приспособлен к выходному сигналу блока выбора, то есть к тому, сделан ли в предпочтительном решении выбор речи или выбор музыки для определенной временной части аудио сигнала. Предпочтительно, чтобы контроль режима относился только к одной или большему числу функциональностей этих блоков, но не ко всем функциональностям этих блоков. Например, выбор может влиять только на восстановитель 701а, но, возможно, не влияет на другие блоки на фиг.9, или может, например, влиять только на объединенный многоканальный анализатор параметров 101b на фиг.8, но не другие блоки на фиг.8. Это выполнение предпочтительно, так как при этом получаются более высокая гибкость, более высокое качество и более низкий битрейт выходного сигнала путём обеспечения гибкости общего блока предварительной обработки. С другой стороны, однако, использование в общем блоке предварительной обработки алгоритмов для обоих видов сигналов позволяет осуществлять эффективную схему кодирования/декодирования.
Фиг.10а и фиг.10b иллюстрируют два различных выполнения блока выбора 300. На фиг.10а изображено решение разомкнутого контура. Здесь, сигнал анализатора 300а блока решения подчиняется определённым правилам, чтобы решить, есть ли у определенной временной части или определенной частотной области входного сигнала особенность, которая требует, чтобы эта часть сигнала была закодирована в первом канале кодирования 400 или во втором канале кодирования 500. С этой целью анализатор сигнала 300а может проанализировать входной звуковой сигнал в общий блок предварительной обработки или может проанализировать аудио сигнал, сформированный общей стадией предварительной обработки, то есть промежуточный аудио сигнал, или может проанализировать промежуточный сигнал в блоке общей предварительной обработки, такой как выходной сигнал смесителя с сокращением, который может быть моно сигналом или который может быть сигналом, имеющим k каналов на фиг.8. На выходной стороне анализатор сигнала 300а формирует решение о переключении для того, чтобы управлять переключателем 200 на стороне кодирующего устройства и соответствующем переключателем 600 или объединителем 600 на стороне декодера.
Хотя второй переключатель 521 не обсужден подробно, нужно подчеркнуть, что второй переключатель 521 может быть позиционирован способом, аналогичным позиционированию первого переключателя 200, как обсуждено в связи с фиг.4а и фиг.4b. Таким образом, альтернативным положением переключателя 521 на фиг.3с является выход обоих каналов обработки 522, 523, 524 так, чтобы и каналы обработки работали параллельно, и только выходной сигнал одного канала обработки записывался в битовый поток через формирователь битового потока, который не иллюстрирован на фиг.3с.
Кроме того, второй объединитель 600 может обладать определенной функциональностью кроссфейда, как обсуждено на фиг.4с. Альтернативно или дополнительно, у первого объединителя 532 могла бы быть та же самая функциональность кроссфейда. Кроме того, оба объединителя могут иметь ту же самую функциональность кроссфейда, или могут иметь различные функциональности кроссфейда, или могут не иметь никаких функциональностей кроссфейда вообще, так что оба объединителя будут переключателями без любой дополнительной функциональности кроссфейда.
Как обсуждено прежде, обоими выключателями можно управлять путем решения разомкнутого контура или решения замкнутого контура, как обсуждено в связи с фиг.10а и фиг.10b, где контроллеры 300, 525 на фиг.3с могут иметь отличающийся или те же самые функциональности для обоих переключателей.
Кроме того, функциональность искажения времени, которая адаптивна к сигналу, может существовать не только в первом канале кодирования или первом канале декодирования, но может также существовать во втором канале обработки второго канала кодирования на стороне кодирующего устройства так же, как на стороне декодера. В зависимости от обработанного сигнала обе функциональности искажения времени могут иметь одинаковую информацию об искажении времени так, чтобы такое же искажение времени было применено к сигналам в первой области и во второй области. Это сокращает нагрузку обработки и может быть полезно в некоторых случаях, в случаях, когда последовательные блоки имеют одинаковые характеристики искажения времени. В альтернативных решениях, однако, предпочтено иметь независимых оценщиков искажения времени для первого канала кодирования и второго канала обработки во втором канале кодирования.
Закодированный согласно изобретению аудио сигнал может быть сохранен на цифровом носителе данных или может быть передан в среде передачи, такой как беспроводная среда передачи или среда передачи по проводам, такая как Интернет.
В различных решениях переключатель 200, изображенный на фиг.1а или 2а, переключается между двумя каналами кодирования 400, 500. В дальнейшем решении могут быть дополнительные каналы кодирования, такие как третий канал кодирования, или даже четвертый канал кодирования, или даже больше каналов кодирования. На стороне декодера переключатель 600, изображенный на фиг.1b или 2b, переключается между двумя каналами декодирования 431, 440 и 531, 532, 533, 534, 540. В дальнейшем решении могут быть дополнительные каналы декодирования, такие как третий канал декодирования, или даже четвертый канал декодирования, или даже больше каналов декодирования. Точно так же другие переключатели 521 или 532 могут переключаться больше чем между двумя различными кодирующими алгоритмами, когда присутствуют такие дополнительные каналы кодирования/декодирования.
Фиг.12А иллюстрирует предпочтительное решение выполнения кодирующего устройства, и фиг.12В иллюстрирует предпочтительное решение соответствующего выполнения декодера. В дополнение к элементам, обсужденным ранее относительно соответствующих номеров ссылки, решение на фиг.12А иллюстрирует отдельный физикоакустический модуль 1200, и дополнительно иллюстрирует предпочтительное выполнение дополнительных инструментов кодирующего устройства, иллюстрированных в блоке 421 на фиг.11А. Этими дополнительными инструментами являются формирователь временного шума (TNS) 1201 и середина/сторона кодирующий инструмент (MYS) 1202. Кроме того, дополнительные функциональности элементов 421 и 524 иллюстрированы в блоке 421/542 как объединенное выполнение масштабирования, анализа шумового заполнения, квантизации, арифметического кодирования спектральных компонентов.
В соответствующем выполнении декодера на фиг.12В иллюстрированы дополнительные элементы, которые являются инструментом расшифровки M\S 1203 и инструментом TNS-декодера 1204. Кроме того, басовый постфильтр, не иллюстрированный ранее, обозначен как 1205. Блок обработки функцией окна перехода 532 соответствует элементу 532 на фиг.2В, который иллюстрирован как переключатель, но который выполняет своего рода кроссфейд, который может быть кроссфейдом с повышенной частотой выборки или кроссфейдом с критически выбранной частотой выборки. Последний осуществляется как операция MDCT, где сигналы на двух совмещаемых временных интервалах перекрываются и суммируются. Где возможно, предпочтительно используется обработка с критически выбранной частотой дискретизации, так как при этом полный битрейт может быть уменьшен без потери качества. Дополнительный блок обработки функцией окна перехода 600 соответствует объединителю 600 на фиг. 2В, который опять иллюстрирован как переключатель, но ясно, что этот элемент выполняет своего рода кроссфейд с критически выбранной частотой дискретизации, или с некритически выбранной частотой дискретизации, чтобы избежать искажений блокирования, и специфических искажений, возникающих при переключении, когда один блок был обработан в первом канале, и другой блок был обработан во втором канале. Когда, однако, обработки в обоих каналах хорошо соответствуют друг другу, тогда операция кроссфейда может "хуже" жесткого переключения, где кроссфейд, как понимается, является "мягким" переключением между обоими каналами.
Концепция, иллюстрированная на фиг.12А и 12В, позволяет кодировать сигналы, имеющие произвольное соединение речи и аудио, и эта концепция демонстрирует сопоставимую или лучшую, чем наиболее хорошая технология кодирования, которая могла бы быть создана для кодирования или речи или произвольного аудио содержания. Общая структура кодирующего устройства и декодера может быть описана как общая пред-пост обработка, состоящая из функциональной единицы MPEG окружения (MPEGS), для управления с стерео или многоканальной обработкой, и расширенная единица SBR (eSBR), которая управляет параметрическим представлением более высоких звуковых частот во входном сигнале. Тогда, есть два канала: один, состоящий из измененного продвинутого аудио кодирующего инструмента (ААС), и другой, состоящий из кодирования на основе линейного предсказания (LP или область LPC), которое, в свою очередь, является или представлением области частот или представлением временного интервала LPC остаточного (разностного) сигнала. Все переданные спектры для обоих, ААС и LPC, представлены в области MDCT после квантизации и арифметического кодирования. Представление временного интервала использует кодирующую схему возбуждения ACELP. Базовая структура показана на фиг.12А для кодирующего устройства и фиг.12В для декодера. Поток данных на этой диаграмме направлен слева направо, сверху вниз. Функцией декодера является поиск описания квантованного аудио спектра или временного представления сигнала в битовом потоке и декодирование квантованных величин и другой информации о восстановлении.
В случае передачи спектральной информации декодер должен восстановить квантованные спектры, и осуществить процесс восстановления спектра с использованием любых инструментов в битовом потоке для того, чтобы получить фактический спектр сигнала, как описано во входном битовом потоке, и, наконец, преобразовать спектр из области частот во временной интервал. После начального восстановления и масштабирования реконструированного спектра есть дополнительные инструменты, которые изменяют один или больше спектров, чтобы обеспечить более эффективное кодирование.
В случае передачи временного представления сигнала интервала декодер должен восстановить квантованный временной сигнал и осуществить процесс восстановления временного сигнала с использованием любых инструментов в битовом потоке, чтобы получить фактический сигнал на временном интервале, как описано во входном битовом потоке.
Для каждого из дополнительных инструментов, которые воздействуют на данные о сигнале, сохраняется возможность "пройти через", и во всех случаях, когда обработка опущена, спектры или временные сэмплы на входе передаются непосредственно через инструмент без модификации.
В местах, где битовый поток изменяет свое представление сигнала из временной области в спектральную область или из LP области в не LP область или наоборот, декодер должен облегчить переход из одной области в другую путем соответствующей обработки функцией окна перехода с наложением-сложением.
Обработка eSBR и MPEGS применена аналогичным образом к обоим путям кодирования после обработки перехода.
Входной сигнал в инструмент демультиплексирования битовогопотока является битовым потоком. Демультиплексор разделяет битовый поток на части для каждого инструмента, и обеспечивает каждый из инструментов информацией о битовом потоке, связанным с этим инструментом.
Выходными данными инструмента демультиплексора битового потока являются:
- В зависимости типа ядра, кодирующего текущий фрейм, или:
- квантованные и закодированные спектры без шума, представленные путем
- информации о масштабных коэффициентах
- арифметически закодированных спектральных линий
- или параметры линейного предсказания (LP) вместе с сигналом возбуждения, представленным:
- квантованными и арифметически закодированными спектральными линиями (преобразование кодированного возбуждения, ТСХ), или
- ACELP кодированным возбуждением временного интервала
- Спектральная информация о заполнении шумом (как опция)
- Информация о решении M/S (как опция)
- Информация о формировании временного шума (TNS) (как опция)
- Информация управления банком фильтров
- Информация об управлении устранением искажений времени (TW) (как опция)
- Информация об управлении улучшенным расширением спектра за счет репликации (повторения) спектральных полос (eSBR)
- Информация об управлении MPEG окружением (MPEGS)
Инструмент декодирования масштабных коэффициентов без шума берет информацию от демультиплексора битового потока, разбирает эту информацию и расшифровывает масштабные коэффициенты, кодированные методом Хаффмана, и DPCM.
На вход инструмента декодирования масштабных коэффициентов без шума подается:
- информация о масштабных коэффициентах закодированных спектров без шума.
На выходе инструмента декодирования масштабных коэффициентов без шума появляется:
- расшифрованное представление в виде целых чисел масштабных коэффициентов.
Инструмент декодирования спектра без шума берет информацию от демультиплексора битового потока, разбирает ту информацию, декодирует арифметически закодированные данные и восстанавливает квантованные спектры. На входы к этому инструменту декодирования спектра без шума поступают:
- спектры, закодированные без шума. На выходе инструмента декодирования спектра без шума появляются:
- квантованные величины компонент спектров.
Инструмент обратной квантизации берет квантованные величины компонент спектров и преобразовывает целочисленные значения в не масштабированные восстановленные спектры. Этот квантизатор является компандирующим квантизатором, чей коэффициент компандирования зависит от выбранного основного способа кодирования.
На входы инструмента обратной квантизации поступают:
- квантованные величины компонент спектров.
На выходе инструмента обратной квантизации формируются:
- демасштабированные обратно квантизированные компоненты спектров.
Инструмент заполнения шумом используется, чтобы заполнить спектральные промежутки в декодированных спектрах, которые возникают, когда квантованные спектральные величины равны нулю, например, из-за сильного ограничения на требование бит в кодирующем устройстве. Использование инструмента заполнения шумом является дополнительным.
На входы инструмента заполнения шумом подаются:
- демасштабированные обратно квантизированные компоненты спектров.
- Параметры заполнения шумом:
- расшифрованное представление в виде целых чисел масштабных коэффициентов.
На выходах инструмента заполнения шумом формируются:
- демасштабированные обратно квантизированные компоненты спектров, которые ранее квантовались в ноль.
- Измененное представление в виде целых чисел масштабных коэффициентов. Инструмент перемасштабирования преобразовывает представление в виде целых чисел масштабных коэффициентов к фактическим значениям и умножает демасштабированные обратно квантизированные спектры на соответствующие масштабные коэффициенты.
На входы инструмента перемасштабирования поступают:
- Декодированное представление в виде целых чисел масштабных коэффициентов.
- Демасштабированные обратно квантизированные спектры. На выходе инструмента перемасштабирования формируются:
- Масштабированные обратно квантизированные спектры.
Для краткого обзора инструмента M\S, пожалуйста, обратитесь к ISO/IEC 14496-3, подраздел 4.1.1.2.
Для краткого обзора инструмента формирования временного шума(TNS), пожалуйста, обратитесь к ISO/IEC 14496-3, подраздел 4.1.1.2.
Инструмент банк фильтров/переключение блоков применяет обратное частотное преобразование, которое было выполнено в кодирующем устройстве. Для инструмента банк фильтров используется обратное модифицированное дискретное косинусное преобразование (IMDCT). IMDCT может настаиваться, чтобы обеспечить 120, 128, 240, 256, 320, 480, 512, 576, 960, 1024 или 1152 спектральных коэффициентов.
На входы инструмента банк фильтров подаются:
- спектры (обратно квантованные),
- информация управления банком фильтров.
На выходе(ах) инструмента банк фильтров формируется (формируются):
- Аудио сигнал(ы), восстановленные на временном интервале.
Инструмент банк фильтров с искаженным временем/переключениеблоков заменяет обычный инструмент банк фильтров/переключение блоков, когда допустим режим искажения времени. Банком фильтров является то же самое (IMDCT), которое относится к обычному банку фильтров, причем дополнительно обработанные функцией окна сэмплы искаженного (деформированного) временного интервала отображаются в линейный временной интервал путем передискретизации с изменяющейся во времени частотой.
На входы инструмента банк фильтров с искаженным временем поступают:
- Обратно квантованные спектры.
- Информация управления банком фильтров.
- Информация об управлении искажениями времени. На выходе (ах) инструмента банк фильтров с искаженным временем формируется (формируются):
- Аудио сигнал(ы), восстановленные на линейном временном интервале. Расширенный инструмент SBR (eSBR) восстанавливает высокочастотную полосу аудио сигнала. Это основано на повторении (репликации) последовательностей гармоник, усеченных во время кодирования. В результате, для того чтобы реконструировать спектральные характеристики оригинального сигнала, формируется огибающая спектра с восстановленной полосой высоких частот, применяется обратная фильтрация, и добавляются шумовые и синусоидальные компоненты. На вход инструмента eSBR подаются:
- Квантованные данные об огибающей спектра.
- Разнообразные данные об управлении
- сигнал на временном интервале от основного декодера ААС.
На выходе инструмента eSBR формируется:
- сигнал на временном интервале или
- представление сигнала в QMF-области, например, в случае, если используется инструмент MPEG-окружение.
Инструмент MPEG-окружение (MPEGS) формирует множество сигналов из одного или более входных сигналов, применяя сложную процедуру смешения с расширением к входному сигналу(ам), которой управляют соответствующие пространственные параметры. В контексте USAC MPEGS используется для того, чтобы закодировать многоканальный сигнал, передавая стороннюю информацию о параметрах вместе с передаваемым сигналом с сокращенным числом каналов.
На вход инструмента MPEGS подается:
- сигналом с сокращенным числом каналов или
- представление сигнала сокращенным числом каналов в QMF-области от инструмента eSBR.
На выходе инструмента MPEGS формируется:
- многоканальный сигнал на временном интервале.
Инструмент классификатор сигнала анализирует оригинальный входной сигнал и формирует из него информацию об управлении, которая вызывает выбор различных способов кодирования. Анализ входного сигнала является реализацией, зависящей и пытающейся выбрать оптимальное ядро кодирования для данного входного фрейма сигнала. Выходной сигнал классификатора сигнала может (как опция) также использоваться, чтобы влиять на поведение других инструментов, например, MPEG-окружения, расширенного SBR, банка фильтров с искаженным временем и других.
На вход инструмента классификатор сигнала подается:
- оригинальный неизмененный входной сигнал,
- дополнительные параметры, зависящие от реализации.
На выходе инструмента классификатор сигнала формируется:
- управляющий сигнал для управления выбором ядра кодирования (не LP кодирования фильтрованной области частот, LP кодирования фильтрованной области частот, или LP кодирования фильтрованной временной области).
В соответствии с данным изобретением, разрешение времени/частоты в блоке 410 на фиг.12А и в конвертере 523 на фиг.12А управляется в зависимости от аудио сигнала. Взаимосвязь между длиной окна, длиной преобразования, временным и частотным разрешением иллюстрированы на фиг.13А, где становится ясно, что для большой длины окна временное разрешение понижается, но разрешение частот становится высоким, и для короткой длины окна временное разрешение высоко, но частотное разрешение низкое.
В первом канале кодирования, который является предпочтительно ААС кодирующим каналом, элементы, обозначенные 410, 1201, 1202, 4021 на фиг.12А, могут использовать различные окна, где форма окна определена анализатором сигнала, который предпочтительно находится в блоке 300 классификатора сигнала, но который может также быть отдельным модулем. Кодирующее устройство выбирает одно из окон, иллюстрированных на фиг.13В, у которых есть различные разрешения времени/частоты. Разрешение времени/частоты первого длинного окна, второго окна, четвертого окна, пятого окна и шестого окна равно 2048 значений выборки для длины преобразования 1024. У короткого окна, иллюстрированного в третьей линии на фиг.13В, разрешение времени составляет 256 значений выборки в соответствии с размером окна. Это соответствует длине преобразования 128.
Аналогично, у последних двух окон есть длина окна, равная 2304, которая является лучшей для разрешения частоты, чем окно в первой линии, но более низкой для временного разрешения. Длина преобразования для окон в последних двух линиях равна 1152.
В первом канале кодирования могут быть построены различные последовательности окон, которые построены из окон преобразования на фиг.13В. Хотя на фиг.13С иллюстрирована только короткая последовательность, в то время как другие "последовательности" состоят из единственного окна, могут также быть построены длинные последовательности, состоящие из большего количества окон. Отметим, что согласно фиг.13В, для меньшего числа коэффициентов, то есть 960 вместо 1024, временное разрешение также ниже, чем для соответствующего более высокого числа коэффициентов, такого как 1024.
Фиг.14А-14G иллюстрируют различные разрешения/размеры окна во втором канале кодирования. В предпочтительном решении данного изобретения у второго канала кодирования есть первый канал обработки, который является кодером временного интервала ACELP 526, и второй канал обработки, включающий банк фильтров 523. В этом канале суперфрейм длиной, например, 2048 сэмплов подразделен на фреймы по 256 образцов. Отдельные фреймы по 256 сэмплов могут отдельно использоваться так, чтобы могла быть применена последовательность четырех окон, где каждое окно покрывает два фрейма, когда используется MDCT с 50-процентным наложением. Тогда используется высокое разрешение, как иллюстрировано на фиг.14D. Альтернативно, когда сигнал позволяет использовать более длинные окна, быть использована последовательность такая, как изображённая на фиг.14С, где применен двойной размер окна, имеющий 1024 сэмпла для каждого окна (средние окна), так чтобы одно окно покрыло четыре фрейма при 50-процентном наложении.
Наконец, когда сигнал таков, что может использоваться длинное окно, это длинное окно покрывает более чем 4096 сэмплов снова с 50-процентным наложением.
В привилегированном решении, в котором есть два канала, где у одного канала есть кодирующее устройство ACELP, положение фрейма ACELP, обозначенное "А" в суперфрейме, может также определять размер окна, примененного для двух смежных фреймов ТСХ, обозначенных "Т" на фиг. 14Е. В основном представляет интерес использование длинных окон, когда бы это ни было возможно. Однако должны быть применены короткие окна, когда один фрейм Т расположен между двумя фреймами А. Средние окна могут быть применены, когда есть два смежных фрейма Т. Однако когда есть три смежных фрейма Т, соответствующее большее окно не может быть эффективным из-за дополнительной сложности. Поэтому, третий фрейм Т, хотя и не предшествует фрейму А, может быть обработан коротким окном. Когда у целого суперфрейма только есть фреймы 1, тогда может быть применено длинное окно.
Фиг.14F иллюстрирует несколько альтернатив для окон, где размер окна всегда 2х (двухкратное) число 1g спектральных коэффициентов из-за предпочтительного 50-процентного наложения. Однако могут быть применены другие проценты наложения для всех каналов кодирования так, что отношение между размером окна и диной преобразования может также отличаться от двух и даже приблизиться единице, когда не применено никакое совмещение временных интервалов.
Фиг.14G иллюстрирует правила для того, чтобы построить окно, основанное на правилах, данных на фиг.14F. Величина ZL иллюстрирует нули в начале окна. Величина L иллюстрирует число коэффициентов окна в зоне совмещения. Величины в части М являются "1" единицами, не вводящими любое совмещение в результате наложения со смежным окном, у которого есть нулевые величины в части, соответствующей М. Часть М сопровождается правой зоной наложения R, за которой следует зона нулей ZR, которые соответствовали бы части М следующего окна.
Ниже приведены материалы, которые описывают предпочтительное и подробное выполнение изобретенной схемы кодирования/расшифровки аудио, особенно относительно стороны декодера.
Окна и последовательности окон
Квантизация и кодирование сделаны в области частот. С этой целью временной .сигнал времени отображается в область частот в кодирующем устройстве. Декодер выполняет обратное отображение, как описано в подпункте 2. В зависимости от сигнала кодер может изменить разрешение времени/частоты при использовании трех различных размеров окон: 2304, 2048 и 256. Чтобы переключаться между окнами, используются окна перехода LONG_START_WINDOW, LONG_STOP_WINDOW, START_WINDOW_LPD, STOP_WINDOW_1152, STOP_START_WINDOW и STOP_START_WINDOW_1152. В таблице 5.11 приведены окна, определена соответствующая длина преобразования и показана схематически форма окон. Используется три длины преобразования: 1152, 1024 (или 960) (относятся к длинному преобразованию) и 128 (или 120) коэффициентов (относятся к короткому преобразованию).
Последовательность окон состоит из окон так, что raw_data_block всегда содержит данные, представленные 1024 (или 960) выходных сэмплов. Элемент данных window_sequence обозначает последовательность фактически используемых окон. Фиг.13С иллюстрирует, как последовательность окон образуется из индивидуальных окон. См. подпункт 2 для получения более детальной информации о преобразовании и окнах.
Масштабирующие полосы и группировка
См. ISO/IEC 14496-3, п. 4, подпункт 4.5.2.3.4
Как описано в ISO/IEC 14496-3, п. 4, подпункт 4.5.2.3.4, ширина масштабирующих полос основана на имитации критических полос человеческой слуховой системы. По этой причине число масштабирующих полос в спектре и их ширина зависит от длины преобразования и частоты осуществления выборки. В табл. 4.110-4.128, в ISO/IEC 14496-3, п.4, подпункт 4.5.4, приведен список смещений начал каждой масштабирующей полосы для длин преобразований 1024 (960) и 128 (120) и частот дискретизации. Таблицы, изначально разработанные для LONG_WINDOW, LONG_START_WINDOW and LONG_STOP_WINDOW, используются для START_WINDOW_LPD и STOP_START_WINDOW. Таблицами смещений для STOP_WINDOW_1152 и STOP_START_WINDOW_1152 являются табл. 4-10.
Функция декодирования lpd_channel_stream()
Элемент битового потока lpd_channel_stream() содержит всю необходимую информацию, чтобы декодировать один фрейм "области линейного предсказания" кодированного сигнала. Он получает сигнал для одного фрейма кодированного сигнала, который кодирован в LPC-области, т.е. включает шаг LPC фильтрации. Остаточный сигнал этого фильтра (так называемое "возбуждение") затем представлен или с помощью модуля ACELP, или в области MDCT преобразования ("преобразование кодированного возбуждения ", ТСХ). Чтобы достичь хорошего приближения к характеристикам сигнала, один фрейм разбивается на четыре более коротких единицы равного размера, каждая из которых кодируется или с использованием кодирующей схемы ACELP, или ТСХ.
Этот процесс аналогичен кодирующей схеме, описанной в 3GPP TS 26.290. Из этого документа взята незначительно отличающаяся терминология, где один "суперфрейм" обозначает сегмент сигнала из 1024 сэмплов, где "фрейм" составляет в точности четверть от 1024 сэмплов, т.е. 256 сэмплов. Каждый из этих фреймов далее подразделяется на четыре "субфрейма" равной длины. Заметим, что в данном подразделе используется эта терминология.
Определения, элементы данных
acelp_core_mode
Это битовое поле обозначает точную схему расположения бит в случае, если ACELP используется как режим кодирования Ipd.
lpd_mode
Это битовое поле обозначает режимы кодирования каждого из четырех фреймов в одном суперфрейме битового потока lpd_channel_stream() (соответствует одному ААС фрейму). Режим кодирования сохраняется в массиве mod[] и может принимать значения от 0 до 3. Отображение from lpd_mode в mod[] определяется ниже в табл. 1.
Табл. 1 - Отображение режимов кодирования для lpd_channel_stream()
Значение битов в определяемом режиме
оставшиеся mod[] элементы
Ipd_mode
bit 4
bit 3
bit 2
bit 1
bit 0
0…15
0
mod[3]
mod[2]
mod[1]
mod[0]
16…19
1
0
0
mod[3]
mod[2]
mod[1]=2 mod[0]=2
20…23
1
0
1
mod[1]
mod[0]
mod[3]=2 mod[2]=2
24
1
1
0
0
0
mod[3]=2 mod[2]=2 mod[1]=2 mod[0]=2
25
1
1
0
0
1
mod[3]=3 mod[2]=3 mod[1]=3 mod[0]=3
26…31
Reserved
mod[0…3] Значения в массиве mod[] обозначают соответствующие режимы кодирования каждого фрейма:
Табл. 2 - Режимы кодирования, обозначенные mod[]
величина mod[x]
Режим кодирования фрейма
Элемент битового потока
0
ACELP
acelp_coding()
1
one frame of TCX
tcx_coding()
2
TCX covering half a superframe
tcx_coding()
3
TCX covering entire superframe
tcx_coding()
acelp_coding()
Элемент синтаксической структуры, который содержит все данные для декодирования одного фрейма ACELP сигнала возбуждения.
tcx_coding()
Элемент синтаксической структуры, который содержит все данные для декодирования одного фрейма с использованием основанного на MDCT преобразования кодированного возбуждения (ТСХ).
first_tcx_flag
Флаг, показывающий текущий обрабатываемый фрейм ТСХ, который первый в суперфрейме.
lpc_data()
синтаксической структуры, который содержит все данные для декодирования набора всех параметров LPC фильтра, требуемых для декодирования текущего суперфрейма.
first_lpd_flag
Флаг, показывающий, что текущий суперфрейм является первым в последовательности суперфреймов, которая кодирована в LPC области. Этот флаг может быть также определён из истории элемента битового потока core_mode (core_mode0 и core_model в случае channel_pair_element) в соответствии с табл. 3.
Табл. 3 - Определение first_lpd_flag
core_mode - предыдущего фрейма (суперфрейма)
core_mode текущего фрейма (суперфрейма)
first_Ipd_flag
0
1
1
1
1
0
По аналогии с [8], раздел 5.2.2, существует 26 следующих вариантов ACELP или ТСХ в одном суперфрейме битового потока lpd_channel_stream. Один из этих 26 вариантов режима обозначен в битовом потоке элементом lpd_mode. Отображение lpd_mode на действующий режим кодирования для каждого фрейма в подфрейме показано в табл. 1 и табл.2.
Табл. 4 - Масштабирующие полосы частот для длины окна 2304 при STOP_START_1152_WINDOW и STOP_1152_WINDOW 44.1 и 48 кГц
fs [кГц]
44.1,48
num_swb_long_window
49
swb
swb_offset_long_window
swb
swb_offset_long_window
0
0
25
216
1
4
26
240
2
8
27
264
3
12
28
292
4
16
29
320
5
20
30
352
6
24
31
384
7
28
32
416
8
32
33
448
9
36
34
480
10
40
35
512
11
48
36
544
12
56
37
576
13
64
38
608
14
72
39
640
15
80
40
672
16
88
41
704
17
96
42
736
18
108
43
768
19
120
44
800
20
132
45
832
21
144
46
864
22
160
47
896
23
176
48
928
24
196
1152
Табл. 5 - Масштабирующие полосы частот для длины окна 2304 при STOP_START_1152_WINDOW и STOP_1152 WINDOW 32 кГц
fs [кГц]
32
num_swb_long_window
51
swb
swb_offset_long_window
swb
swb_offset_long_window
0
0
26
240
1
4
27
264
2
8
28
292
3
12
29
320
4
16
30
352
5
20
31
384
6
24
32
416
7
28
33
448
8
32
34
480
9
36
35
512
10
40
36
544
11
48
37
576
12
56
38
608
13
64
39
640
14
72
40
672
15
80
41
704
16
88
42
736
17
96
43
768
18
108
44
800
19
120
45
832
20
132
46
864
21
144
47
896
22
160
48
928
23
176
49
960
24
196
50
992
25
216
1152
Табл. 6 - Масштабирующие полосы частот для длины окна 2304 при STOP_START_1152_WINDOW и STOP_1152_WINDOW 8 кГц
fs [кГц]
8
num_swb_long_window
40
swb
swb_offset_long_window
swb
Swb_offset_long_window
0
0
21
288
1
12
22
308
2
24
23
328
3
36
24
348
4
48
25
372
5
60
26
396
6
72
27
420
7
84
28
448
8
96
29
476
9
108
508
10
120
31
544
11
132
32
580
12
144
33
620
13
156
34
664
14
172
35
712
15
188
36
764
16
204
37
820
17
220
38
880
18
236
39
944
19
252
1152
20
268
Табл. 7 - Масштабирующие полосы частот для длины окна 2304 при STOP_START_1152_WINDOW и STOP_1152_WINDOW 11.025,12 и 16 кГц
fs [кГц]
11.025,12, 16
num_swb_long_window
43
swb
swb_offset_long_window
swb
swb_offset_long_window
0
0
22
228
1
8
23
244
2
16
24
260
3
24
25
280
4
32
26
300
5
40
27
320
6
48
28
344
7
56
29
368
8
64
30
396
9
72
31
424
10
80
32
456
11
88
33
492
12
100
34
532
13
112
35
572
14
124
36
616
15
136
37
664
16
148
38
716
17
160
39
772
18
172
40
832
19
184
41
896
20
196
42
960
21
212
1152
Табл. 8 - Масштабирующие полосы частот для длины окна 2304 при STOP_START_1152_WINDOW и STOP_1152_WINDOW 22.05 и 24 кГц
fs [кГц]
22.05 and 24
num_swb_long_window
47
swb
swb_offset_long_window
swb
swb_offset_long_window
0
0
24
160
1
4
25
172
2
8
26
188
3
12
27
204
4
16 .
28
220
5
20
29
240
6
24
30
260
7
28
31
284
8
32
32
308
9
36
33
336
10
40
34
364
11
44
35
396
12
52
36
432
Ц
60
37
468
14
68
38
508
15
76
39
552
16
84
40
600
17
92
41
652
18
100
42
704
19
108
43
768
20
116
44
832
21
124
45
896
22
136
46
960
23
148
1152
Табл. 9 - Масштабирующие полосы частот для длины окна 2304 при STOP_START_1152_WINDOW и STOP 1152 WINDOW 64 кГц
fs [кГц]
64
num_swb_long_window
47(46)
swb
swb_offset_long_window
swb
swb_offset_long_window
0
0
24
172
1
4
25
192
2
8
26
216
3
12
27
240
4
16
28
268
5
20
29
304
6
24
30
344
7
28
31
384
8
32
32
424
9
36
33
464
10
40
34
504
11
44
35
544
12
48
36
584
13
52
37
624
14
56
38
664
15
64
39
704
16
72
40
744
17
80
41
784
18
88
42
824
19
100
43
864
20
112
44
904
21
124
45
944
22
140
46
984
23
156
1152
Табл. 10 - Масштабирующие полосы частот для длины окна 2304 при STOP START 1152 WINDOW и STOP 1152 WINDOW 88.2 и 96 кГц
fs [кГц]
88.2 and 96
num_swb_long_window
41
swb
swb_offset_long_window
swb
swb_offset_long_window
0
0
21
120
1
4
22
132
2
8
23
144
3
12
24
156
4
16
25
172
5
20
26
188
6
24
27
212
7
28
28
240
8
32
29
276
9
36
30
320
10
40
31
384
11
44
32
448
12
48
33
512
13
52
34
576
14
56
35
640
15
64
36
704
16
72
37
768
17
80
38
832
18
88
39
896
19
96
40
960
20
108
1152
Таблицы ссылок на масштабирующие полосы частот
Для всех других ссылок на масштабирующие полосы частот, пожалуйста, обратитесь к ISO/IEC 14496-3, раздел 4, с таблицы 4.129 раздела 4.5.4 до таблицы 4.147.
Квантизация
Для квантизации спектральных коэффициентов ААС в кодирующем устройстве используется не однородный квантизатор. Поэтому декодер должен выполнить инверсию не однородной квантизации после декодирования Хаффмана коэффициентов масштабирования (см. подпункт 6.3), и декодирования данных без шума (см. подпункт 6.1).
Для квантизации спектральных коэффициентов ТСХ используется однородный квантизатор. Никакая обратная квантизация не необходима в декодере после декодирования спектральных данных без шума.
Банк фильтров и переключение блока
Описание инструмента
i,k
i,n
i,n
(i-1),n
i,n
Временное/частотное представление сигнала отображается во временную область и подается на модуль банка фильтров. Этот модуль состоит из обратного модифицированного дискретного косинумного преобразования (IMDCT), окна и функции наложения-сложения. Чтобы адаптировать разрешение времени/частоты банка фильтров к особенностям входного сигнала, используется инструмент переключения. Число N представляет длину окна, где N - функция window_sequence (см. подпункт 1.1). Для каждого канала N/2 величин частот-времени X преобразуются в x величины на временном интервале N, с использованием IMDCT. После применения функции окна, для каждого канала, первая половина z последовательности добавляется ко второй половине предыдущего блока, обработанного функцией окна, последовательности z, чтобы восстановить на выходе сэмплы для каждого канала out.
Определения
window_sequence
2 бита, показывающие какая используется последовательность окон (т.е. размер блока).
window_shape
1 бит, показывающий какая выбрана оконная функция.
На фиг.13С показано восемь window_sequences (ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE, EIGHT_SHORT_SEQUENCE, LONG_STOP_SEQUENCE, STOP_START_SEQUENCE, STOP_1152_SEQUENCE, LPD_START_SEQUENCE, STOP_START_1152_SEQUENCE).
В последовательности LPD_SEQUENCE ссылаются на все доступные варианты режимов окна/кодирования в так называемом кодеке области линейного предсказания (см. раздел 1.3). В контексте декодирования фрейма, кодированного в частотной области, важно знать, является ли режим кодирования следующего фрейма в LP области, что обозначено LPD_SEQUENCE. Однако точная структура LPD_SEQUENCE обеспечивает декодирование кодированного фрейма в LP области.
Процесс декодирования IMDCT
Аналитическим выражением IMDCT является:
<mrow><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><mfrac><mn>2</mn><mi>N</mi></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mfrac><mi>N</mi><mn>2</mn></mfrac><mo>−</mo><mn>1</mn></mrow></munderover><mrow><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>cos</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mn>2</mn><mi>π</mi></mrow><mi>N</mi></mfrac><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><msub><mi>n</mi><mn>0</mn></msub></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>k</mi><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mstyle><mtext> for 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N</mtext></mrow>
где:
n = индекс сэмпла;
i = индекс окна;
k = индекс спектрального коэффициента;
N = длина окна, основанная на величине window_ sequence;
0
n=(N/2+1)/2.
Окно синтеза длины N для обратного преобразования является функцией синтаксического элемента window_sequence и алгоритмического содержания. Это определено следующим образом:
Длина окна 2304:
<mrow><mi>N</mi><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>2304,</mn><mtext> if STOP_1152_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>2304</mtext><mtext>, if STOP_START_1152_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Длина окна 2048:
<mrow><mi>N</mi><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>2048,</mn><mtext> if ONLY_LONG_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>2048,</mn><mtext> if LONG_START_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>256,</mn><mtext> if EIGHT_SHORT_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>2048,</mn><mtext> if LONG_STOP_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>2048,</mn><mtext> if STOP_START_SEQOENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>2048,</mn><mtext> if LPD_START_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Интерпретации блока перехода are следующие:
<mrow><mi>и</mi><mi>з</mi><mtext> ONLY_LONG_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>ONLY_LONG_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LONG_START_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LPD_START_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> LONG_START_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>EIGHT_SHORT_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LONG_STOP_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> LONG_STOP_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>O</mi><mi>N</mi><mi>L</mi><mi>Y</mi><mo>_</mo><mi>L</mi><mi>O</mi><mi>N</mi><mi>G</mi><mo>_</mo><mi>S</mi><mi>E</mi><mi>Q</mi><mi>U</mi><mi>E</mi><mi>N</mi><mi>C</mi><mi>E</mi></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>L</mi><mi>O</mi><mi>N</mi><mi>G</mi><mo>_</mo><mi>S</mi><mi>T</mi><mi>A</mi><mi>R</mi><mi>T</mi><mo>_</mo><mi>S</mi><mi>E</mi><mi>Q</mi><mi>U</mi><mi>E</mi><mi>N</mi><mi>C</mi><mi>E</mi></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>L</mi><mi>P</mi><mi>D</mi><mo>_</mo><mi>S</mi><mi>T</mi><mi>A</mi><mi>R</mi><mi>T</mi><mo>_</mo><mi>S</mi><mi>E</mi><mi>Q</mi><mi>U</mi><mi>E</mi><mi>N</mi><mi>C</mi><mi>E</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> ENGHT_SHORT_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>EIGHT_SHORT_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LONG_STOP_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>STOP_START_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> LPD_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LPD_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>STOP_1152_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>STOP_START_1152_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> STOP_START_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>EIGHT_SHORT_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LONG_STOP_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> LPD_START_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtext>LPD_SEQUENCE</mtext></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> STOP_1152_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>ONLY_LONG_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LONG_START_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><mi>и</mi><mi>з</mi><mtext> STOP_START_1152_SEQUENCE в </mtext><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>EIGHT_SHORT_SEQUENCE</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>LONG_STOP_SEQUENCE</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Оконная обработка и переключение блока
В зависимости от элемента window_sequence и window_shape используются различные окна преобразований. Объединение половин окна описывает следующие представления всех возможных последовательностей окон window_sequences.
Для window_shape == 1, коэффициенты окна определяются окном Кайсера-Бесселя (KBD) следующим образом:
<mrow><msup><mrow /><mi>W</mi></msup><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><msup><mi>N</mi><mrow><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></msup><mo>=</mo><msqrt><mrow><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mi>n</mi></munderover><mrow><mrow><mo>[</mo><mrow><mi>W</mi><mo>'</mo><mrow><mo>(</mo><mrow><mi>p</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow></mstyle></mrow><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>/</mo><mn>2</mn></mrow></munderover><mrow><mrow><mo>[</mo><mrow><mi>W</mi><mo>'</mo><mrow><mo>(</mo><mrow><mi>p</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow></mstyle></mrow></mfrac></mrow></msqrt><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mtext>N</mtext><mn>2</mn></mfrac></mrow>
<mrow><msup><mrow /><mi>W</mi></msup><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><msup><mi>N</mi><mrow><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></msup><mo>=</mo><msqrt><mrow><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>−</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><mrow><mrow><mo>[</mo><mrow><mi>W</mi><mo>'</mo><mrow><mo>(</mo><mrow><mi>p</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow></mstyle></mrow><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>/</mo><mn>2</mn></mrow></munderover><mrow><mrow><mo>[</mo><mrow><mi>W</mi><mo>'</mo><mrow><mo>(</mo><mrow><mi>p</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow></mstyle></mrow></mfrac></mrow></msqrt><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mtext>N</mtext><mtext>2</mtext></mfrac><mo>≤</mo><mtext>n</mtext><mo><</mo><mi>N</mi></mrow>
где:
W', оконная функция Кайсера-Бесселя, см. [5], определенная как:
<mrow><mi>W</mi><mo>'</mo><mrow><mo>(</mo><mrow><mi>n</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>I</mi><mn>0</mn></msub><mrow><mo>[</mo><mrow><mi>π</mi><mi>α</mi><msup><mrow><msqrt><mrow><mn>10</mn><mo>−</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mi>n</mi><mo>−</mo><mi>N</mi><mo>/</mo><mn>4</mn></mrow><mrow><mi>N</mi><mo>/</mo><mn>4</mn></mrow></mfrac></mrow><mo>)</mo></mrow></mrow></msqrt></mrow><mn>2</mn></msup></mrow><mo>]</mo></mrow></mrow><mrow><msub><mi>I</mi><mn>0</mn></msub><mrow><mo>[</mo><mrow><mi>π</mi><mi>a</mi></mrow><mo>]</mo></mrow></mrow></mfrac><mtext> </mtext><mi>д</mi><mi>л</mi><mi>я</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo>≤</mo><mfrac><mtext>N</mtext><mtext>2</mtext></mfrac></mrow>
<mrow><msub><mi>I</mi><mn>0</mn></msub><mrow><mo>[</mo><mi>x</mi><mo>]</mo></mrow><mo>=</mo><msup><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>∞</mi></munderover><mrow><mrow><mo>[</mo><mrow><mfrac><mrow><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mi>x</mi><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mi>k</mi></msup></mrow><mrow><mi>k</mi><mo>!</mo></mrow></mfrac></mrow><mo>]</mo></mrow></mrow></mstyle></mrow><mn>2</mn></msup></mrow>
<mrow><mi>α</mi><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>4</mn><mtext> для N</mtext><mo>=</mo><mtext>2048</mtext><mrow><mo>(</mo><mrow><mtext>1920</mtext></mrow><mo>)</mo></mrow></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mtext>6 для N</mtext><mo>=</mo><mtext>256</mtext><mrow><mo>(</mo><mrow><mtext>240</mtext></mrow><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
α=альфа фактор ядра окна,
В другом случае, для window_shape == 0, используется синусоидальное окно:
<mrow><msup><mrow /><mi>W</mi></msup><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><msup><mi>N</mi><mrow><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></msup><mo>=</mo><mi>sin</mi><mrow><mo>(</mo><mrow><mfrac><mi>π</mi><mi>N</mi></mfrac><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mtext> </mtext><mtext>for 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mi>N</mi><mn>2</mn></mfrac></mrow>
<mrow><msup><mrow /><mi>W</mi></msup><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><msup><mi>N</mi><mrow><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></msup><mo>=</mo><mi>sin</mi><mrow><mo>(</mo><mrow><mfrac><mi>π</mi><mi>N</mi></mfrac><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mtext> </mtext><mtext>for </mtext><mfrac><mtext>N</mtext><mtext>2</mtext></mfrac><mo>≤</mo><mtext>n</mtext><mo><</mo><mi>N</mi></mrow>
Длина окна N может быть 2048(1920) или 256(240) для KBD и синусоидального окна. В случае STOP_1152_SEQUENCE и STOP_START_1152_SEQUENCE, N может быть 2048 или 256, склоны окна аналогичные, но плоская вершина длиннее.
Только в случае LPD_START_SEQUENCE правая часть окна является синусоидальным окном длиной 64 сэмпла.
В подпунктах a)-h) этого раздела показано, как получить возможные последовательности окон.
Для всех типов window_sequences (последовательность окон) window_shape (форма окна) левой половины первого окна преобразования определяется формой окна предыдущего блока. Следующая формула выражает этот факт:
<mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mtext> if window_shape_previous_block</mtext><mo>=</mo><mo>=</mo><mtext>1</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mtext>W</mtext><mrow><mtext>SIN_LEFT</mtext><mtext>,N</mtext></mrow></msub><mrow><mo>(</mo><mtext>n</mtext><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mtext>if window_shape_previous_block</mtext><mo>=</mo><mo>=</mo><mtext>0</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
где:
window_shape_previous_block (форма окна предыдущего блока); window_shape предыдущего блока (i-1).
Для первого декодируемого блока first raw_data_block() форма окна window_shape левой и правой половин окна одинаковы.
a) ONLY_LONG_SEQUENCE:
window_sequence == ONLY_LONG_SEQUENCE последовательность окон является равной одному LONG_WINDOW с полной длиной окна N_l равной 2048 (1920).
При форме окна window_shape == 1, окно для ONLY_LONG_SEQUENCE дается следующим выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_l/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_1/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_l</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
При window_shape == 0 окно для ONLY_LONG_SEQUENCE может быть описано выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_l/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_1/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_l</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
i,n
После оконной обработки величины (z) временной области могут быть описаны выражением:
i,n
i,n
z=w(n)·x;
b) LONG_START_SEQUENCE:
Длинная стартовая последовательность LONG_START_SEQUENCE необходима, чтобы получить правильное перекрытие и сложение для переходного блока из NLY_LONG_SEQUENCE в EIGHT_SHORT_SEQUENCE.
Длина окна N_l и N_s устанавливается равной 2048 (1920) и 256 (240) соответственно.
Если window_shape == 1, то окно для LONG_START_SEQUENCE дается следующим выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_l/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>1.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mtext>for N_l/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>0.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Если window_shape == 0 , то окно для LONG_START_SEQUENCE выглядит как:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_l/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>1.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mtext>for N_l/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>0.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Обработанные функцией окна величины могут быть вычислены с использованием формулы, описанной в а).
с) EIGHT JSHORT
Последовательность окон window_sequence == EIGHT_SHORT состоит из восьми перекрывающихся и сложенных SHORT_WINDOWs (коротких окон) с длиной N_s, равной 256 (240) каждое. Общая длина последовательности окон вместе с предшествующими и последующими нулями составляет 2048 (1920). Каждый из восьми коротких блоков сначала раздельно обрабатывается функцией окна. Номер короткого блока индексируется переменной j=0, … , M-1(M=N_l/N_s).
0
Форма окна window_shape предыдущего блока влияет только на первый из восьми 'коротких блоков (W(n)) only. Если window_shape == 1, оконная функция дается выражением:
<mrow><msub><mi>W</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_s/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><msub><mi>W</mi><mrow><mn>1</mn><mo>−</mo><mrow><mo>(</mo><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_s/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
В другом случае window_shape == 0, оконная функция может быть описана как:
<mrow><msub><mi>W</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_s/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
<mrow><msub><mi>W</mi><mrow><mn>1</mn><mo>−</mo><mrow><mo>(</mo><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s/2</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_s/2</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>N_s</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
i,n
Перекрытие и сложение последовательности восьми коротких окон EIGHTJ3HORT window_sequence получается обработкой оконной функцией величин z во временной области и описывается выражением:
<mrow><msub><mi>z</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mtext>x</mtext><mrow><mtext>0</mtext><mtext>,n-</mtext><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac></mrow></msub><mo>⋅</mo><msub><mi>W</mi><mn>0</mn></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mn>4</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>x</mi><mrow><mi>j</mi><mo>−</mo><mn>1,</mn><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>j</mi><mo>−</mo><mn>3</mn></mrow><mo>)</mo></mrow><mo>⋅</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></msub><mo>⋅</mo><msub><mi>W</mi><mrow><mi>j</mi><mo>−</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>j</mi><mo>−</mo><mn>3</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>+</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>j</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></msub><mo>⋅</mo><msub><mi>W</mi><mi>j</mi></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>j</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 1</mtext><mo>≤</mo><mtext>j</mtext><mo><</mo><mtext>M</mtext><mtext>, </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mrow><mo>(</mo><mrow><mtext>2j-1</mtext></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>x</mi><mrow><mi>M</mi><mo>−</mo><mn>1,</mn><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>M</mi><mo>−</mo><mn>3</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></msub><mo>⋅</mo><msub><mi>W</mi><mrow><mi>M</mi><mo>−</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>M</mi><mo>−</mo><mn>3</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mrow><mo>(</mo><mrow><mtext>2M-1</mtext></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mrow><mo>(</mo><mrow><mn>2</mn><mi>M</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mrow><mo>(</mo><mrow><mtext>2M</mtext><mo>+</mo><mtext>1</mtext></mrow><mo>)</mo></mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
d) LONG_STOP_SEQUENCE
Эта последовательность окон необходима, чтобы переключиться из EIGHT_SHORT_SEQUENCE обратно в ONLY_LONG_SEQUENCE.
Если window_shape == 1 окно для LONG_STOP_SEQUENCE дается следующим выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>0.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mtext>for </mtext><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mn>4</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>1.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>/</mo><mn>2</mn></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_l/2</mtext><mo>≤</mo><mtext>N_l</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Если window_shape == 0 окно для LONG_START_SEQUENCE определяется выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>0.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mtext>for </mtext><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mn>4</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mn>1.0,</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>/</mo><mn>2</mn></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd columnalign="left"><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_l/2</mtext><mo>≤</mo><mtext>N_l</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Обработанные оконной функцией величины на временном интервале могут быть вычислены с использованием формулы, описанной в а).
е) STOP_START_SEQUENCE:
Элемент STOP_START_SEQUENCE необходим, чтобы получить правильное перекрытие и сложение для блока перехода из EIGHT_SHORT_SEQUENCE в EIGHT_SHORT_SEQUENCE, когда необходима только длинная последовательность ONLY_LONG_SEQUENCE.
Длины окон N_l N_s равны 2048 (1920) и 256 (240) соответственно.
Если window_shape == 1, окно для STOP_START_SEQUENCE дается следующим выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Если window_shape == 0, окно для STOP_START_SEQUENCE выглядит как:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext><mo>+</mo><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Обработанные оконной функцией величины на временном интервале могут быть вычислены с использованием формулы, описанной в а).
f) LPD_START_SEQUENCE:
Элемент LPD_START_SEQUENCE необходим, чтобы получить правильное перекрытие и сложение для блока перехода из ONLY_LONG_SEQUENCE в LPD_SEQUENCE.
Длины окон N_l и N_s равны 2048 (1920) and 256 (240) соответственно.
Если window_shape == 1, окно для LPD_START_SEQUENCE дается выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>2</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mfrac bevelled="true"><mi>s</mi><mn>2</mn></mfrac></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Если window_shape == 0, окно для LPD_START_SEQUENCE выглядит как:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>2</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mfrac bevelled="true"><mi>s</mi><mn>2</mn></mfrac></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>−</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l-N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Обработанные оконной функцией величины на временном интервале могут быть вычислены с использованием формулы, описанной в а).
g) STOP_1152_SEQUENCE:
Элемент STOP_1152JSEQUENCE необходим, чтобы получить правильное перекрытие и сложение для блока перехода из LPDJSEQUENCE в ONLY_LONG_SEQUENCE.
Длины окон N_l  и N_s равны 2048 (1920) и 256 (240) соответственно.
Если window_shape == 1, окно для STOP_1152_SEQUENCE дается выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>2</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mn>2</mn><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>2</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>2</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>2N_l-3N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_l</mtext><mo>+</mo><mfrac><mrow><mtext>3N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Если window_shape === 0, окно для STOP_1152JSEQUENCE выглядит как:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>2</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mn>2</mn><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>2</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>2</mn><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>2N_l</mtext><mo>+</mo><mtext>3N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> N_l</mtext><mo>+</mo><mfrac><mrow><mtext>3N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Обработанные оконной функцией величины на временном интервале могут быть вычислены с использованием формулы, описанной в а).
h) STOP_START_1152_SEQUENCE:
Элемент STOPJ3TART_1152_SEQUENCE необходим, чтобы получить правильное перекрытие и сложение для блока перехода из LPD_SEQUENCE в EIGHT_SHORT_SEQUENCE, когда необходима только длинная последовательность ONLY_LONG_SEQUENCE.
Длины окон N_l и N_s равны 2048 (1920) и 256 (240) соответственно. Если window_shape == 1, окно для STOP_START_SEQUENCE дается выражением:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>2</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mn>2</mn><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Если window_shape == 0, окно для STOP_START_SEQUENCE выглядит как:
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mn>2</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>N_l</mtext><mo>+</mo><mn>2</mn><mtext>N_s</mtext></mrow><mtext>4</mtext></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>2</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>4</mn></mfrac><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.0,</mn></mrow></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><mtext>3N_l</mtext></mrow><mtext>4</mtext></mfrac><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi><mo>≤</mo><mi>n</mi><mo><</mo><mi>N</mi><mo>_</mo><mi>l</mi><mo>+</mo><mi>N</mi><mo>_</mo><mi>s</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Обработанные оконной функцией величины на временном интервале могут быть вычислены с использованием формулы, описанной в а).
Перекрытие и сложение с предыдущей последовательностью окон
i,n
Помимо перекрытия и сложения последовательности восьми коротких окон EIGHT_SHORT window_sequence первая (левая) часть каждой последовательности окон window_sequence перекрывается и складывается со второй (правой) частью предыдущей последовательности окон window_sequence, что приводит к окончательному значению .величин out во временной области.
Математическое описание этой операции может быть дано следующим образом.
В случае ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE, EIGHT_SHORT_SEQUENCE, LONG_STOP_SEQUENCE, STOP_START_SEQUENCE, LPD_START_SEQUENCE:
<mrow><mi>o</mi><mi>u</mi><msub><mi>t</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>+</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>−</mo><mn>1,</mn><mi>n</mi><mo>+</mo><mfrac><mi>N</mi><mn>2</mn></mfrac></mrow></msub></mrow>
<mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mtext>N</mtext><mtext>2</mtext></mfrac></mrow>
;
, N=2048 (1920)
И в случае STOP_1152_SEQUENCE, STOP_START_1152_SEQUENCE:
<mrow><mi>o</mi><mi>u</mi><msub><mi>t</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>+</mo><msub><mi>z</mi><mrow><mi>i</mi><mo>−</mo><mn>1,</mn><mi>n</mi><mo>+</mo><mfrac><mrow><mi>N</mi><mo>_</mo><mi>l</mi></mrow><mn>2</mn></mfrac><mo>+</mo><mfrac><mrow><mn>3</mn><mi>N</mi><mo>_</mo><mi>s</mi></mrow><mn>4</mn></mfrac></mrow></msub></mrow>
<mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mrow><mtext>N_l</mtext></mrow><mtext>2</mtext></mfrac></mrow>
;
, N_l=2048, N_s=256
В случае LPD_START_SEQUENCE, следующая последовательность является LPDJSEQUENCE. Чтобы получить хорошее перекрытие и сложение к левой части LPD_SEQUENCE применяется окно SIN или KBD.
<mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>N</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mi>sin</mi><mrow><mo>(</mo><mrow><mfrac><mi>π</mi><mi>N</mi></mfrac><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>
<mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mfrac><mtext>N</mtext><mtext>2</mtext></mfrac></mrow>
With N=128
В случае STOP_1152_SEQUENCE, STOP_START_1152_SEQUENCE предыдущей последовательностью является LPD_SEQUENCE. Чтобы получить хорошее перекрытие и сложение, к левой части LPD_SEQUENCE применяется окно TDAC.
IMDCT
См. подпункт 2.3.1
Обработка оконной функцией и переключение блоков
В зависимости от элемента window_shape используются различные прототипы окон преобразования с избыточной частотой выборки, длина окон с избыточной частотой выборки определяется как
OS
N=2·n_long·os_factor_win
Для window_shape == 1, коэффициенты окна даются окном Кайсера-Бесселя (KBD) следующим образом:
<mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi><mo>−</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></munderover><mrow><mrow><mo>[</mo><mrow><mi>W</mi><mrow><mo>(</mo><mrow><mi>p</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow></mstyle></mrow><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub><mo>/</mo><mn>2</mn></mrow></munderover><mrow><mrow><mo>[</mo><mrow><mi>W</mi><mrow><mo>(</mo><mrow><mi>p</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow></mstyle></mrow></mfrac></mrow></msqrt><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><msub><mtext>N</mtext><mrow><mtext>OS</mtext></mrow></msub></mrow><mn>2</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub></mrow>
где:
W, оконная функция Кайсера-Бесселя, см. [5], определенная как:
<mrow><mi>W</mi><mo>'</mo><mrow><mo>(</mo><mrow><mi>n</mi><mo>,</mo><mi>α</mi></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mrow><mo>[</mo><mrow><mi>π</mi><mi>α</mi><msqrt><mrow><mn>1.0</mn><mo>−</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mi>n</mi><mo>−</mo><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub><mo>/</mo><mn>4</mn></mrow><mrow><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub><mo>/</mo><mn>4</mn></mrow></mfrac></mrow><mo>)</mo></mrow></mrow></msqrt></mrow><mo>]</mo></mrow></mrow><mrow><msub><mi>I</mi><mn>0</mn></msub><mrow><mo>[</mo><mrow><mi>π</mi><mi>α</mi></mrow><mo>]</mo></mrow></mrow></mfrac><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo>≤</mo><mfrac><mrow><msub><mtext>N</mtext><mrow><mtext>OS</mtext></mrow></msub></mrow><mn>2</mn></mfrac></mrow>
<mrow><msub><mi>I</mi><mn>0</mn></msub><mrow><mo>[</mo><mi>x</mi><mo>]</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>∞</mi></munderover><mrow><msup><mrow><mrow><mo>[</mo><mrow><mfrac><mrow><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mi>x</mi><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mi>k</mi></msup></mrow><mrow><mi>k</mi><mo>!</mo></mrow></mfrac></mrow><mo>]</mo></mrow></mrow><mn>2</mn></msup></mrow></mstyle></mrow>
α = альфа фактор ядра окна, α=4
С другой стороны, для window-shape == 0, применяется синусоидальное окно (SIN):
<mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mfrac><mrow><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mo>=</mo><mi>sin</mi><mrow><mo>(</mo><mrow><mfrac><mi>π</mi><mrow><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub></mrow></mfrac><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mfrac><mrow><msub><mtext>N</mtext><mrow><mtext>OS</mtext></mrow></msub></mrow><mn>2</mn></mfrac><mo>≤</mo><mi>n</mi><mo><</mo><msub><mi>N</mi><mrow><mi>O</mi><mi>S</mi></mrow></msub></mrow>
Для всех видов window_sequences прототип, используемый для левой части окна определяется формой окна предыдущего блока. Следующая формула выражает этот факт:
<mrow><mi>l</mi><mi>e</mi><mi>f</mi><mi>t</mi><mo>_</mo><mi>w</mi><mi>i</mi><mi>n</mi><mi>d</mi><mi>o</mi><mi>w</mi><mo>_</mo><mi>s</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi><mrow><mo>[</mo><mi>n</mi><mo>]</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi></mrow></msub><mrow><mo>[</mo><mi>n</mi><mo>]</mo></mrow><mo>,</mo><mtext> if window_shape_previous_block</mtext><mo>=</mo><mo>=</mo><mtext>1</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mtext>W</mtext><mrow><mtext>SIN</mtext></mrow></msub><mrow><mo>[</mo><mi>n</mi><mo>]</mo></mrow><mo>,</mo><mtext> if window_shape_previous_block</mtext><mo>=</mo><mo>=</mo><mtext>0</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Аналогично прототип для правильной формы окна определен следующей формулой:
<mrow><mi>r</mi><mi>i</mi><mi>g</mi><mi>h</mi><mi>t</mi><mo>_</mo><mi>w</mi><mi>i</mi><mi>n</mi><mi>d</mi><mi>o</mi><mi>w</mi><mo>_</mo><mi>s</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi><mrow><mo>[</mo><mi>n</mi><mo>]</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>W</mi><mrow><mi>K</mi><mi>B</mi><mi>D</mi></mrow></msub><mrow><mo>[</mo><mi>n</mi><mo>]</mo></mrow><mo>,</mo><mtext> if window_shape</mtext><mo>=</mo><mo>=</mo><mtext>1</mtext></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mtext>W</mtext><mrow><mtext>SIN</mtext></mrow></msub><mrow><mo>[</mo><mi>n</mi><mo>]</mo></mrow><mo>,</mo><mtext> if window_shape</mtext><mo>=</mo><mo>=</mo><mtext>0</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Так как длины перехода уже определены, это должно быть дифференцировано только между EIGHT_SHORT_SEQUENCE и всеми другими:
a)EIGHT SHORT SEQUENCE:
Следующий код на языке Си описывает обработку оконной функцией и внутреннее перекрытие-сложение последовательности EIGHT_SHORT_SEQUENCE:
TCX, основанный на MDCT
Описание инструмента
Когда core_mode равен 1, и когда выбран один или больше из трех режимов TCX кодирования, как "линейная область предсказания", то есть один из 4 элементов массива mod[] больше чем 0, используется инструмент TCX, основанный на MDCT. TCX, основанный на MDCT, получает квантованные спектральные коэффициенты от арифметического декодера. Прежде чем применить обратное преобразование MDCT, квантованные коэффициенты сначала дополняются комфортным шумом, чтобы получить во временной области взвешенный синтезированный сигнал, который затем подается на LPC-фильтр взвешенного синтезированного сигнала.
Определения
Ig
Число квантованных спектральных коэффициентов на выходе арифметического декодера
noise_factor
Индекс уровня шума квантизации
noise level
Уровень шума, внесенного реконструированным спектром
noise[]
Вектор сформированного шума
global_gain
Индекс перемасштабирующего усиления квантизации
g
перемасштабирующее усиление
rms
Средний квадрат синтезированного сигнала во временной области х[],
х[]
Синтезированный сигнал во временной области
Процесс декодирования
ТСХ на основе MDCT получает от арифметического декодера множество Ig квантованных спектральных коэффициентов, которые определены величинами mod[] и last_lpd_mode. Эти две величины также определяют длину и форму окна, которое будет применено в обратном MDCT. Окно составлено из трех частей, левой части перекрытия сэмплов L, средней части сэмплов М и правой части перекрытия сэмплов R. Чтобы получить окно MDCT длины 2*lg, слева добавлены нули ZL и нули ZR с правой стороны, как показано на фиг.14G для табл. 3/фиг.14F.
Табл. 3 - Число спектральных коэффициентов как функция last_lpd_mode и mod[]
Величины last_Ipd_mode
Величина mod[x]
Число Ig спектральных коэффициентов
ZL
L
М
R
ZR
0
1
320
160
0
256
128
96
0
2
576
288
0
512
128
224
0
3
1152
512
128
1024
128
512
1…3
1
256
64
128
128
128
64
1…3
2
512
192
128
384
128
192
1..3
3
1024
448
128
896
128
448
Окно MDCT дается выражением
<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>f</mi><mi>o</mi><mi>r</mi><mtext> 0</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>ZL</mtext></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>L</mi><mi>E</mi><mi>F</mi><mi>T</mi><mo>,</mo><mi>L</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mi>Z</mi><mi>L</mi></mrow><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mtext>for ZL</mtext><mo>≤</mo><mtext>nZL</mtext><mo>+</mo><mtext>L</mtext></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mtext>for ZL</mtext><mo>+</mo><mtext>L</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>ZL</mtext><mo>+</mo><mtext>L</mtext><mo>+</mo><mtext>M</mtext></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>W</mi><mrow><mi>S</mi><mi>I</mi><mi>N</mi><mo>_</mo><mi>R</mi><mi>I</mi><mi>G</mi><mi>H</mi><mi>T</mi><mo>,</mo><mi>R</mi></mrow></msub><mrow><mo>(</mo><mrow><mi>n</mi><mo>−</mo><mi>Z</mi><mi>L</mi><mo>−</mo><mi>L</mi><mo>−</mo><mi>M</mi></mrow><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mtext>for ZL</mtext><mo>+</mo><mtext>L</mtext><mo>+</mo><mtext>M</mtext><mo>≤</mo><mtext>ZL</mtext><mo>+</mo><mtext>L</mtext><mo>+</mo><mtext>M</mtext><mo>+</mo><mtext>R</mtext></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mtext>for ZL</mtext><mo>+</mo><mtext>L</mtext><mo>+</mo><mtext>M</mtext><mo>+</mo><mtext>R</mtext><mo>≤</mo><mtext>n</mtext><mo><</mo><mtext>2lg</mtext></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Квантованные спектральные коэффициенты quant[], сформированные арифметическим декодером и добавленные комфортным шумом. Уровень введенного шума определен декодированным параметром noise_factor следующим образом:
noise_level = 0.0625 *(8-noise_factor)
Затем, с использованием случайной функции random_sign(), формирующей случайные величины -1 или +1, вычисляется вектор шума noise[].
noise[i] = random_sign()*noise_level;
Векторы quant[] и noise[] объединяются, чтобы сформировать вектор реконструированных спектральных коэффициентов r[], способом, в котором 8 последовательных нулей в quant[] заменяются компонентами шума noise[]. Последовательности из 8 ненулевых значений определяются в соответствии с формулой:
<mrow><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>r</mi><mi>l</mi><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mo>=</mo><mn>1</mn><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mi>i</mi><mtext> </mtext><mo>∈</mo><mrow><mo>[</mo><mrow><mn>0,1</mn><mi>g</mi><mo>/</mo><mn>6</mn></mrow><mo>]</mo></mrow></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>r</mi><mi>l</mi><mrow><mo>[</mo><mrow><mi>lg</mi><mo>/</mo><mn>6</mn><mo>+</mo><mi>i</mi></mrow><mo>]</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mn>7</mn></munderover><mrow><mrow><mo>|</mo><mrow><mi>q</mi><mi>u</mi><mi>a</mi><mi>n</mi><mi>t</mi><mrow><mo>[</mo><mrow><mi>lg</mi><mo>/</mo><mn>6</mn><mo>+</mo><mn>8.</mn><mrow><mo>[</mo><mrow><mi>i</mi><mo>/</mo><mn>8</mn></mrow><mo>]</mo></mrow><mo>+</mo><mi>k</mi></mrow><mo>]</mo></mrow></mrow><mo>|</mo></mrow><mtext> </mtext><mi>f</mi><mi>o</mi><mi>r</mi><mtext> </mtext><mi>i</mi><mtext> </mtext><mo>∈</mo><mrow><mo>[</mo><mrow><mi>lg</mi><mo>/</mo><mn>6</mn></mrow><mo>]</mo></mrow></mrow></mstyle></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Тогда реконструированный спектр получается как:
<mrow><mi>r</mi><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>q</mi><mi>u</mi><mi>a</mi><mi>n</mi><mi>t</mi><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mtext> </mtext><mi>i</mi><mi>f</mi><mtext> </mtext><mi>r</mi><mi>l</mi><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mi>n</mi><mi>o</mi><mi>i</mi><mi>s</mi><mi>e</mi><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow><mtext> </mtext><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
Перед использование обратного MDCT применяется спектральное сглаживание в соответствии со следующими шагами:
m
1. Вычисление энергии E 8-мерного блока с индексом m для каждого 8-мерного блока первой четверти спектра.
m
m
I
m
2. Вычисление выражения R=sqrt(E/E), где I является индексом блока с максимальной величиной из всех E.
m
m
3. если R<0.1, то R=0.1
m
m-1
m
m-1
4. если R<R, то R=R
m
Каждый 8-размерный блок, лежащий в первой четверти спектра, затем умножается на параметр R.
Реконструированный (восстановленный) спектр поступает на обратное преобразование MDCT. He обработанный оконной функцией выходной сигнал х[] перемасштабируется с использованием параметра усиления g, полученного инверсией квантизации декодированного индекса decoded global_gain:
global_gain/28/(2.rms)
g=10
Где rms вычисляется как:
<mrow><mi>r</mi><mi>m</mi><mi>s</mi><mo>=</mo><msqrt><mrow><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mi>lg</mi><mo>/</mo><mn>2</mn></mrow><mrow><mn>3</mn><mo>*</mo><mi>lg</mi><mo>/</mo><mn>2</mn><mo>−</mo><mn>1</mn></mrow></munderover><mrow><msup><mi>x</mi><mn>2</mn></msup><mrow><mo>[</mo><mi>i</mi><mo>]</mo></mrow></mrow></mstyle></mrow><mrow><mi>L</mi><mo>+</mo><mi>M</mi><mo>+</mo><mi>R</mi></mrow></mfrac></mrow></msqrt></mrow>
Тогда демасштабированный синтезированный во временной области сигнал равен:
w
x[i]=x[i]·g
После демасштабирования применяется обработка оконной функцией и перекрытие/сложение.
-1
-1
Восстановленный ТСХ сигнал х(n) затем фильтруется с использованием фильтра A(z)(1-αz)/(A(z/λ), чтобы найти сигнал возбуждения, который поступит на фильтер синтеза. Заметим, что за подфрейм для фильтрации используется интерполирующий LP фильтр. Как только возбуждение определено, сигнал восстанавливается путем пропускания возбуждения через фильтр синтеза 1/Â(z) и затем через фильтр 1/(1-0.68z), как описано выше.
Заметим, что возбуждение также необходимо, чтобы обновить адаптивную кодовую таблицу ACELP и позволить переключаться от ТСХ к ACELP в последующем фрейме. Отметим также, что продолжительность синтеза ТСХ дана длиной фрейма ТСХ (без наложения): 256,512 или 1024 сэмпла для значений mod[] 1,2 или 3 соответственно.
Определения
Определения могут быть найдены в ISO/IEC 14496-3, подраздел 1, подпункт 1.3 (Термины и определения) и в 3GPP TS 26.290, раздел 3 (Определения и сокращения).
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего метода, где блок или устройство соответствуют шагу метода или особенности шага метода. Аналогично, аспекты, описанные в контексте шага метода также, представляют описание соответствующего блока или пункта, или особенности соответствующего устройства.
Закодированный согласно изобретению аудио сигнал может быть сохранен на цифровом носителе данных или может быть передан на среде передачи, такой как беспроводная среда передачи или проводная среда передачи, такая как Интернет.
В зависимости от определенных требований выполнения воплощения изобретения могут быть осуществлены в аппаратных средствах или в программном обеспечении. Воплощение может быть выполнено с использованием цифрового носителя данных, например дискеты, DVD, компакт-диска, ROM, EPROM, EEPROM или FLASH памяти, на которых с помощью электроники сохранены удобочитаемые управляющие сигналы, которые могут быть использованы программируемой компьютерной системой, таким образом, что будет выполнен соответствующий метод.
Некоторые воплощения согласно изобретению включают носитель информации, на который с помощью электроники записаны удобочитаемые управляющие сигналы, которые могут быть использованы программируемой компьютерной системой таким образом, что будет выполнен один из описанных здесь методов.
Вообще, воплощения данного изобретения могут быть осуществлены как продукт компьютерной программы с программным кодом, служащим для того, чтобы выполнить один из методов, когда компьютерная программа выполняется на компьютере. Программный код может, например, быть сохранен на машиночитаемом носителе.
Другие воплощения включают компьютерную программу для того, чтобы выполнить один из описанных здесь методов, сохраненный на машиночитаемом носителе.
Другими словами, воплощением изобретенного метода тогда является компьютерная программа, имеющая программный код для того, чтобы выполнить один из описанных здесь методов, когда компьютерная программа выполняется на компьютере.
Дальнейшим воплощением изобретенных методов тогда является носитель информации (или цифровой носитель данных, или удобочитаемая компьютером среда), включающая компьютерную программу для того, чтобы выполнить один из описанных здесь методов.
Дальнейшим воплощением изобретенного метода тогда является поток данных или последовательность сигналов, представляющих компьютерную программу для того, чтобы выполнить один из описанных здесь методов. Поток данных или последовательность сигналов могут, например, формироваться, чтобы быть переданными через систему передачи данных, например, через Интернет.
Дальнейшее воплощение включает средство обработки, например, компьютер, или программируемое логическое устройство, выполненное с возможностью осуществить один из описанных здесь методов.
Дальнейшее воплощение включает компьютер, на который затем установлена компьютерная программа для того, чтобы выполнить один из описанных здесь методов.
В некоторых воплощениях может использоваться программируемое логическое устройство (например, программируемую логическую интегральную схему), выполненное с возможностью осуществления некоторых или всех описанных здесь методов. В некоторых воплощениях программируемая логическая интегральная схема может взаимодействовать с микропроцессором, чтобы выполнить один из описанных здесь методов. Вообще, методы предпочтительно выполняются любым устройством на базе аппаратных средств.
Описанные выше воплощения просто являются иллюстрациями для воплощения принципов данного изобретения. Подразумевается, что модификации и изменения величин и описанных здесь деталей будут очевидны для специалистов, квалифицированных в технике. Поэтому, есть намерение ограничиться только формулой изобретения, а не определенными деталями, представленными посредством описания и объяснения воплощений.
Литература
[1] ISO/IEC 11172-3:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s, Part 3: Audio.
[2] ITU-T Rec.H.222.0 (1995) ISO/IEC 13818-1:2000, Information technology - Generic coding of moving pictures and associated audio information: - Part 1: Systems.
[3] ISO/IEC 13818-3:1998, Information technology - Generic coding of moving pictures and associated audio information: - Part 3: Audio.
[4] ISO/IEC 13818-7:2004, Information technology - Generic coding of moving pictures and associated audio information: - Part 7: Advanced Audio Coding (AAC).
[5] КОЛЕС 14496-3:2005, Information technology - Coding of audio-visual objects - Part 1: Systems
[6] ISO/IEC 14496-3:2005, Information technology - Coding of audio-visual objects - Part 3: Audio
[7] ISOAEC 23003-1:2007, Information technology - MPEG audio technologies - Part 1: MPEG Surround
[8] 3GPP TS 26.290 V6.3.0, Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Transcoding functions
[9] 3GPP TS 26.190, Adaptive Multi-Rate - Wideband (AMR-WB) speech codec; Transcoding functions
[10] 3GPP TS 26.090, Adaptive Multi-Rate (AMR) speech codec; Transcoding functions