Кодер аудио и декодер, имеющий гибкие функциональные возможности конфигурации
Иллюстрации
Показать всеИзобретение относится к кодированию аудио-файлов с высоким качеством и низкой частотой следования битов. Технический результат заключается в оптимизации настроек конфигурации для всех канальных элементов одновременно. Технический результат достигается за счет считывания данных конфигурации для каждого канального элемента в секции конфигурации и считывания данных полезных данных для каждого канального элемента в секции полезных данных, декодирования множества канальных элементов, и конфигурирования конфигурируемого декодера так, чтобы конфигурируемый декодер конфигурировался в соответствии с первыми данными конфигурации декодера при декодировании первого канального элемента и в соответствии со вторыми данными конфигурации декодера при декодировании второго канального элемента. 6 н. и 12 з.п. ф-лы, 28 ил., 32 табл.
Реферат
Настоящее изобретение относится к кодированию аудио и, в частности, к кодированию с высоким качеством и низкой частотой следования битов, такому как известное из так называемого кодирования USAC (USAC = объединенное кодирование речи и аудио).
Кодер USAC определен в ISO/IEC CD 23003-3. Этот стандарт, названный "Information technology - MPEG audio technologies - Part 3: Unified speech and audio coding" подробно описывает функциональные блоки эталонной модели вызова для предложений по объединенному кодированию речи и аудио.
Фиг. 10a и 10b иллюстрируют блок-схемы кодера и декодера. Блок-схемы кодера и декодера USAC отражают структуру кодирования USAC MPEG-D. Общая структура может быть описана, подобно следующей: сначала имеется общая предварительная/пост-обработка, состоящая из функционального блока MPEG Surround (MPEGS) для управления стерео или многоканальной обработкой, и блок расширенного SBR (eSBR), который обрабатывает параметрическое представление аудио более высоких частот во входном сигнале. Затем имеются две ветви, одна, состоящая из тракта модифицированного инструмента усовершенствованного кодирования аудио (AAC), и другая, состоящая из тракта, основанного на кодировании с линейным предсказанием (область LP или LPC), что, в свою очередь, означает или представление в частотной области или представление во временной области остатка LPC. Все переданные спектры и для AAC и для LPC представлены в области MDCT после квантования и арифметического кодирования. Представление во временной области использует схему кодирования с ACELP возбуждением.
Базовая структура USAC MPEG-D показана на фиг. 10a и фиг. 10b. Поток данных в этой диаграмме направлен слева направо, сверху вниз. Функции декодера заключаются в том, чтобы найти описание квантованных спектров аудио или представления во временной области в полезных данных потока битов и декодировать квантованные значения и другую информацию реконструкции.
В случае переданной спектральной информации декодер должен восстановить квантованные спектры, обработать восстановленные спектры с помощью любых инструментов, которые являются активными в полезных данных потока битов, чтобы получить фактические спектры сигнала, как описано полезными данными введенного потока битов, и, наконец, преобразовать спектры из частотной области во временную область. После начальной реконструкции и масштабирования реконструкции спектра, имеются необязательные инструменты, которые модифицируют один или более спектров, чтобы обеспечить более эффективное кодирование.
В случае переданного представления сигнала во временной области декодер должен восстановить квантованный временной сигнал, обработать восстановленный временной сигнал с помощью любых инструментов, которые являются активными в полезных данных потока битов, чтобы получить фактический сигнал во временной области, который описан полезными данными введенного потока битов.
Для каждого из необязательных инструментов, которые оперирует над данными сигнала, опция "пройти через" («выполнить посредством») сохраняется, и во всех случаях, где обработка пропускается, спектры или выборки времени при их вводе передают непосредственно через этот инструмент без модификации.
В местах, где поток битов изменяет свое представление сигнала из временной области в представление в частотной области или из области LP в область не-LP или наоборот, декодер должен облегчить переход от одной области к другой посредством соответствующего вырезания окна наложения - добавления перехода.
Обработка eSBR и MPEGS применяется одинаковым образом к обоим трактам кодирования после обработки перехода.
Входными данными в инструмент демультиплексора полезных данных потока битов являются полезные данные USAC MPEG-D потока битов. Демультиплексор разделяет полезные данные потока битов на части для каждого инструмента и снабжает каждый из инструментов информацией полезных данных потока битов, относящихся к этому инструменту.
Выходными из инструмента демультиплексора полезных данных потока битов являются:
* В зависимости от основного типа кодирования в текущем кадре любые из:
- квантованные и свободные от шумов кодированные спектры, представленные посредством
- информации коэффициента масштабирования;
- арифметически кодированных спектральных линий
* или: параметры линейного предсказания (LP) вместе с сигналом возбуждения, представленным также любым из:
- квантованных и арифметически кодированных спектральных линий (возбуждение с кодированным преобразованием, TCX), или
- ACELP-кодированного возбуждения временной области
* Информации заполнения спектральным шумом (опционально)
* Информации решения M/S (опционально)
* Информации формирования временного шума (TNS) (опционально)
* Информации управления банком фильтров
* Информации управления обращенной деформацией шкалы времени (TW) (опционально)
* Информации управления расширенным спектральным ответом полосы пропускания (eSBR) (опционально)
* Информация управления MPEG Surround (MPEGS) (опционально)
Инструмент свободного от шумов декодирования коэффициента масштабирования принимает информацию от демультиплексора полезных данных потока битов, синтаксически анализирует эту информацию, и декодирует кодированные по Хаффману и DPCM коэффициенты масштабирования.
Входными данными для инструмента свободного от шумов декодирования коэффициента масштабирования являются:
* Информация коэффициента масштабирования для свободных от шумов кодированных спектров
Выходными данными для инструмента свободного от шумов декодирования коэффициента масштабирования являются:
* Декодированное целочисленное представление коэффициентов масштабирования:
Инструмент спектрального свободного от шумов декодирования принимает информацию от демультиплексора полезных данных потока битов, синтаксически анализирует эту информацию, декодирует арифметически кодированные данные, и восстанавливает квантованные спектры. Входными данными для этого инструмента свободного от шумов декодирования являются:
* Свободные от шумов кодированные спектры
Выходными данными для этого инструмента свободного от шумов декодирования являются:
* Квантованные значения спектров
Инструмент обратного квантователя принимает квантованные значения для спектров, и преобразует целочисленные значения в немасштабированные восстановленные спектры. Этот квантователь является квантователем компандирования, чей коэффициент компандирования зависит от выбранного основного режима кодирования.
Выходными данными для инструмента обратного квантователя являются:
* Квантованные значения для спектров
Выходными данными для инструмента обратного квантователя являются:
* Немасштабированные обратно квантованные спектры.
Инструмент заполнения шумом используется, чтобы заполнить спектральные промежутки в декодированных спектрах, которые имеют место, когда спектральное значение квантуется в ноль например, из-за сильного ограничения требования битов в кодере. Использование инструмента заполнения шума является опциональным.
Входными данными для инструмента заполнения шумом являются:
* Немасштабированные обратно квантованные спектры
* параметры заполнения шумом
* Декодированное целочисленное представление коэффициентов масштабирования
Выходными данными для инструмента заполнения шума являются:
* Немасштабированные обратно квантованные спектральные значения для спектральных линий, которые ранее были квантованы в нуль.
* Модифицированное целочисленное представление коэффициентов масштабирования
Инструмент перемасштабирования преобразует целочисленное представление коэффициентов масштабирования к реальным значениям, и умножает немасштабированные обратно квантованные спектры на релевантные коэффициенты масштабирования.
Входными данными для коэффициентов масштабирования являются:
* Декодированное целочисленное представление коэффициентов масштабирования
* Немасштабированные обратно квантованные спектры
Выходными данными от коэффициентов масштабирования являются:
* Масштабированные обратно квантованные спектры.
Для краткого обзора по инструменту M/S см. пожалуйста ISO/IEC 14496-3:2009, 4.1.1.2.
Для краткого обзора по инструменту временного формирования шума (TNS), см. пожалуйста ISO/IEC 14496-3:2009, 4.1.1.2.
Инструмент переключения блока/банка фильтров применяет инверсию отображения частоты, которое было выполнено в кодере. Обратное модифицированное дискретное косинусное преобразование (IMDCT) используется для инструмента банка фильтров. IMDCT может быть сконфигурировано, чтобы поддерживать 120, 128, 240, 256, 480, 512, 960 или 1024 спектральных коэффициентов.
Входными данными для инструмента банка фильтров являются:
* (Обратно квантованные) спектры
* Информация управления банком фильтров
Выходными данными для инструмента банка фильтров являются:
* Аудио сигнал(ы), восстановленные во временной области.
Инструмент переключения банка/блока фильтров с деформированной шкалой времени заменяет нормальный инструмент переключения банка/блока фильтров, когда режим деформации шкалы времени разрешен. Банк фильтров является тем же самым (IMDCT), что и для нормального банка фильтров, дополнительно вырезанные в виде окна выборки временной области отображаются из области деформированной шкалы времени в область с линейной шкалой временем посредством повторной дискретизации с изменением шкалы времени.
Входными данными для инструментов банка фильтров с деформированной шкалой времени являются:
* Обратно квантованные спектры
* Информация управления банком фильтров
* Информация управления деформированной шкалой времени
Выходом(ами) инструмента банка фильтров является:
* восстановленный аудио сигнал(ы) области с линейной шкалой времени
Инструмент расширенного SBR (eSBR) восстанавливает диапазон высоких частот аудио сигнала. Он основан на репликации последовательностей гармоник, усеченных во время кодирования. Он регулирует спектральную огибающую генерированного диапазона высоких частот и применяет обратное фильтрование, и добавляет шум и синусоидальные компоненты, чтобы заново создать спектральные характеристики первоначального сигнала.
Входными данными для инструмента eSBR являются:
* Квантованные данные огибающей
* смешанные данные управления
* сигнал временной области от базового декодера частотной области или базового декодера ACELP/TCX
Выходными данными для инструмента eSBR являются любое из:
* сигнала временной области или
* представления сигнала в QMF-области, например, используется в инструменте MPEG Surround.
Инструмент MPEG Surround (MPEGS) формирует множественные сигналы из одного или более сигналов ввода, применяя сложную процедуру смешения с увеличением числа каналов к сигналу(ам) ввода, которым управляют соответствующие пространственные параметры. В контексте USAC MPEGS используется для того, чтобы кодировать многоканальный сигнал посредством передачи параметрической побочной информации вместе с переданным смешанным с пониженным числом каналов сигналом.
Входными данными для инструмента MPEGS являются:
* сигнал временной области с пониженным числом каналов, или
* представление в QMF-области сигнала с пониженным числом каналов из инструмента eSBR
Выходными данными для инструмента MPEGS являются:
* многоканальный сигнал временной области
Инструмент Классификатор Сигнала анализирует первоначальный сигнал ввода и генерирует из него информацию управления, которая инициирует выбор различных режимов кодирования. Анализ сигнала ввода является зависимым от реализации и пытается выбрать оптимальный базовый режим кодирования для заданного кадра сигнала ввода. Выходные данные классификатора сигнала могут (необязательно) также использоваться, чтобы влиять на поведение других инструментов, например MPEG Surround, расширенного SBR, банка фильтров с деформацией временной шкалы и других.
Входными данными для инструмента Классификатора сигнала являются:
* первоначальный немодифицированный сигнал ввода
* дополнительные параметры, зависимые от реализации
Выходными данными для инструмента Классификатора сигнала являются:
* управляющий сигнал, чтобы управлять выбором базового кодера-декодера (не-LP фильтрованное кодирование в частотной области, LP фильтрованная частотная область или LP фильтрованное кодирование во временной области).
Инструмент ACELP обеспечивает способ, чтобы эффективно представить сигнал возбуждения во временной области посредством комбинирования долгосрочного предсказателя (адаптивное кодовое слово) с импульсно-подобной последовательностью (обновленное кодовое слово). Восстановленное возбуждение посылают через фильтр LP-синтеза, чтобы сформировать сигнал временной области.
Входными данными для инструмента ACELP являются:
* индексы адаптивной и обновленной кодовой книги
* значения адаптивного и обновленного коэффициентов усиления кодов
* другие данные управления
* обратно квантованные и интерполированные коэффициенты LPC фильтра
Выходными данными для инструмента ACELP являются:
* восстановленный аудио сигнал временной области
Инструмент основанного на MDCT средства декодирования TCX используется, чтобы вернуть взвешенное представление остатка LP из MDCT-области назад в сигнал временной области и выводит сигнал временной области, включающий в себя взвешенную фильтрацию LP-синтеза. IMDCT может быть сконфигурирован, чтобы поддерживать 256, 512, или 1024 спектральных коэффициентов.
Входными данными для инструмента TCX являются:
* (Обратно квантованные) спектры MDCT
* обратно квантованные и интерполированные коэффициенты LPC фильтра
Выходными данными для инструмента TCX являются:
* восстановленный аудио сигнал временной области
Технология, раскрытая в ISO/IEC CD 23003-3, который включен здесь по ссылке, обеспечивает определение канальных элементов, которые являются, например, элементами единственного канала, содержащими полезные данные только для единственного канала, или элементами пары каналов, содержащими полезные данные для двух каналов, или канальными элементами LFE (низкочастотное расширение), содержащими полезные данные для канала LFE.
Многоканальный аудио сигнал с пятью каналами может, например, быть представлен элементом единственного канала, содержащим центральный канал, первым элементом пары каналов, содержащей левый канал и правый канал, и вторым элементом пары каналов, содержащей левый канал окружающего звука (Ls), и правый канал окружающего звука (Rs). Эти различные элементы каналов, которые вместе представляют многоканальный аудио сигнал, подаются в декодер и обрабатываются, используя одно и ту же конфигурацию декодера. В соответствии с предшествующим уровнем техники конфигурация декодера, посланная в специфичном для USAC конкретном элементе конфигурации, применялась декодером ко всем элементам канала, и поэтому имеется ситуация, что элементы конфигурации, действительные для всех канальных элементов, не могут быть выбраны для индивидуального канального элемента оптимальным способом, но должны быть установлены для всех канальных элементов одновременно. С другой стороны, однако, было обнаружено, что канальные элементы для описания прямого многоканального сигнала с пятью каналами очень отличаются от друг друга. Центральный канал, являющийся элементом единственного канала, имеет значительно отличающиеся характеристики от элементов пары каналов, описывающих левый/правый каналы и левый окружающего звука/правый окружающего звука каналы, и дополнительно, характеристики двух элементов пары каналов также значительно отличаются вследствие того, что каналы окружающего звука содержат информацию, которая сильно отличается от информации, содержащейся в левом и правом каналах.
Выбор данных конфигурации для всех канальных элементов вместе сделал необходимым идти на компромиссы, так чтобы была выбрана конфигурация, которая неоптимальна для всех канальных элементов, но которая представляет компромисс между всеми канальными элементами. Альтернативно, конфигурация была выбрана, чтобы быть оптимальной для одного канального элемента, но это неизбежно привело к ситуации, что конфигурация была неоптимальной для других канальных элементов. Это, однако, приводит к увеличенной частоте следования в битах (частоте следования битов) для канальных элементов, имеющих неоптимальную конфигурацию или, альтернативно или дополнительно, приводит к уменьшенному качеству аудио для этих канальных элементов, которые не имеют оптимальных параметров настройки конфигурации.
Поэтому задачей настоящего изобретения является обеспечить улучшенную концепцию кодирования/декодирования аудио.
Этот задача достигается декодером аудио в соответствии с п. 1 формулы изобретения, способом декодирования аудио в соответствии с п. 14, кодером аудио в соответствии с п. 15, способом кодирования аудио в соответствии с п. 16, компьютерной программой в соответствии с п. 17, и сигналом кодированного аудио в соответствии с п. 18.
Настоящее изобретение основано на обнаружении того, что улучшенная концепция кодирования/декодирования аудио получается, когда данные конфигурации декодера для каждого индивидуального канального элемента передаются. В соответствии с настоящим изобретением, сигнал кодированного аудио поэтому содержит первый канальный элемент и второй канальный элемент в секции полезных данных потока данных и первые данные конфигурации декодера для первого канального элемента и вторые данные конфигурации декодера для второго канального элемента в секции конфигурации потока данных. Следовательно, секция полезных данных потока данных, где расположены данные полезных данных для канальных элементов, отделена от данных конфигурации для потока данных, где расположены данные конфигурации для канальных элементов. Предпочтительно, чтобы секция конфигурации являлась непрерывной частью последовательного потока битов, где все биты, принадлежащие этой секции полезных данных или непрерывной части потока битов, являются данными конфигурации. Предпочтительно, за секцией данных конфигурации следует секция полезных данных потока данных, где расположены полезные данные для канальных элементов. Изобретенный декодер аудио содержит модуль считывания потока данных для считывания данных конфигурации для каждого канального элемента в секции конфигурации и для считывания данных полезных данных для каждого канального элемента в секции полезных данных. Кроме того, декодер аудио содержит конфигурируемый декодер для декодирования множества канальных элементов и контроллер конфигурации для конфигурирования конфигурируемого декодера так, чтобы конфигурируемый декодер конфигурировался в соответствии с первыми данными конфигурации декодера при декодировании первого канального элемента и в соответствии со вторыми данными конфигурации декодера при декодировании второго канального элемента.
Таким образом, обеспечивается, что для каждого канального элемента оптимальная конфигурация может быть выбрана. Это позволяет оптимально принимать во внимание различные характеристики различных канальных элементов.
Кодер аудио в соответствии с настоящим изобретением скомпонован для того, чтобы кодировать сигнал многоканального аудио, имеющий, например, по меньшей мере два, три или предпочтительно более, чем три канала. Кодер аудио содержит процессор конфигурации для генерирования первых данных конфигурации для первого канального элемента и вторых данных конфигурации для второго канального элемента, и конфигурируемый кодер для кодирования сигнала многоканального аудио, чтобы получить первый канальный элемент и второй канальный элемент, используя первые и вторые данные конфигурации, соответственно. Кроме того, кодер аудио содержит генератор потока данных для генерирования потока данных, представляющего сигнал кодированного аудио, причем поток данных имеет секцию конфигурации, имеющую первые и вторые данные конфигурации, и секцию полезных данных, содержащую первый канальный элемент и второй канальный элемент.
Теперь кодер, так же как декодер, находятся в положении, чтобы определить индивидуальные и предпочтительно оптимальные данные конфигурации для каждого канального элемента.
Обеспечивается, что конфигурируемый декодер для каждого канального элемента конфигурируется таким способом, которым для каждого канального элемента может быть получен оптимум относительно качества аудио и частоты следования в битах, и более компромиссы больше не могут быть сделаны.
Ниже по тексту предпочтительные варианты осуществления настоящего изобретения описаны со ссылками на сопроводительные чертежи, на которых:
Фиг. 1 является блок-схемой декодера;
Фиг. 2 является блок-схемой кодера;
Фиг. 3a и 3b представляют таблицу, иллюстрирующую в общих чертах конфигурации канала для различных установок динамика;
Фиг. 4a и 4b идентифицируют и графически иллюстрируют различные установки параметров динамика;
Фиг. 5a - 5d иллюстрируют различные аспекты сигнала кодированного аудио, имеющего секцию конфигурации и секцию полезных данных;
Фиг. 6a иллюстрирует синтаксис элемента UsacConfig;
Фиг. 6b иллюстрирует синтаксис элемента UsacChannelConfig;
Фиг. 6c иллюстрирует синтаксис UsacDecoderConfig;
Фиг. 6d иллюстрирует синтаксис UsacSingleChannelElementConfig;
Фиг. 6e иллюстрирует синтаксис UsacChannelPairElementConfig;
Фиг. 6f иллюстрирует синтаксис UsacLfeElementConfig;
Фиг. 6g иллюстрирует синтаксис UsacCoreConfig;
Фиг. 6h иллюстрирует синтаксис SbrConfig;
Фиг. 6i иллюстрирует синтаксис SbrDfltHeader;
Фиг. 6j иллюстрирует синтаксис Mps212Config;
Фиг. 6k иллюстрирует синтаксис UsacExtElementConfig;
Фиг. 6l иллюстрирует синтаксис UsacConfigExtension;
Фиг. 6m иллюстрирует синтаксис escapedValue;
Фиг. 7 иллюстрирует различные альтернативы для идентификации и конфигурирования различных инструментов кодера/декодера для канального элемента индивидуально;
Фиг. 8 иллюстрирует предпочтительный вариант осуществления реализации декодера, имеющей параллельно работающие экземпляры декодера для генерирования 5.1 многоканального сигнала аудио;
Фиг. 9 иллюстрирует предпочтительную реализацию декодера согласно Фиг. 1 в форме последовательности операций;
Фиг. 10а иллюстрирует блок-схему кодера USAC; и
Фиг. 10b иллюстрирует блок-схему декодера USAC.
Информация высокого уровня, подобная частоте дискретизации, точной конфигурации канала, о содержащемся содержимом аудио, присутствует в потоке битов аудио. Это делает поток битов более законченным и делает транспорт конфигурации и полезных данных легче, когда внедрен в схемы транспорта, которые могут не иметь средств, чтобы явно передать эту информацию.
Структура конфигурации содержит объединенную длину кадра и индекса отношения частоты дискретизации SBR (coreSbrFrameLengthlndex)). Это гарантирует эффективную передачу обоих значений и обеспечивает, что незначащие комбинации длины кадра и отношения SBR не могут быть сигнализированы. Последнее упрощает реализацию декодера.
Конфигурация может быть расширена посредством специализированного механизма расширения конфигурации. Это предотвратит большую и неэффективную передачу расширений конфигурации, как известно из AudioSpecificConfig() MPEG-4.
Конфигурация допускает свободную сигнализацию позиций громкоговорителей, ассоциированных с каждым переданным каналом аудио. Сигнализация общего используемого канала на отображения громкоговорителей может быть эффективно сигнализирована посредством channelConfigurationlndex.
Конфигурация каждого канального элемента содержится в отдельной структуре таким образом, что каждый канальный элемент может быть сконфигурирован независимо.
Данные конфигурации SBR ("заголовок SBR") разделяются на SbrInfo() и SbrHeader(). Для SbrHeader() определена версия по умолчанию (SbrDfltHeader()), на которую можно эффективно ссылаться в потоке битов. Это уменьшает битовое требование в местах, где повторная передача данных конфигурации SBR необходима.
Более обычно применяемые изменения конфигурации для SBR могут быть эффективно сигнализированы с помощью элемента синтаксиса Sbrlnfo().
Конфигурация для параметрического расширения полосы частот (SBR) и инструментов параметрического кодирования стерео (MPS212, aka. MPEG Surround 2-1-2), тесно интегрируется в структуру конфигурации USAC. Это представляет намного лучший способ, которым обе технологии фактически используются в стандарте.
Синтаксис показывает механизм расширения, который допускает передачу существующего и будущих расширений на кодек.
Расширения могут быть помещены (то есть перемежаться) с канальными элементами в любом порядке. Это позволяет, чтобы расширения были считаны прежде или после конкретного канального элемента, к которому должно быть применено расширение.
Длина по умолчанию может быть определена для расширения синтаксиса, которое делает передачу расширений постоянной длины очень эффективной, так как длина полезных данных расширения не должна передаваться каждый раз.
Общий случай сигнализации значения с помощью механизма освобождения, чтобы расширить диапазон значений при необходимости, был разделен на блоки в специализированный оригинальный элемент синтаксиса (escapedValue()), который является достаточно гибким, чтобы охватить все желательные совокупности значений освобождения и расширений битовых полей.
КОНФИГУРАЦИЯ ПОТОКА БИТОВ
UsacConfig() (Фиг. 6a)
UsacConfig() был расширен, чтобы содержать информацию о содержащемся содержимом аудио, а также обо всем необходимом для полной установки декодера. Информация высокого уровня об аудио (частота дискретизации, конфигурации канала, длины кадра вывода) собирается вначале для свободного доступа от более высоких (прикладных) уровней.
channelConfigurationlndex, UsacChannelConfig() (Фиг. 6b)
Эти элементы дают информацию о содержащихся элементах потока битов и их отображении на громкоговорители. channelConfigurationlndex обеспечивает легкий и удобный способ сигнализировать одну из диапазона заранее заданных моно, стерео или многоканальных конфигураций, которые считались релевантными.
Для более сложных конфигураций, которые не охвачены посредством channelConfigurationlndex, UsacChannelConfig() обеспечивает свободное назначение элементов на позиции громкоговорителя из списка 32 позиций динамика, которые охватывают все в настоящее время известные позиции динамика во всех известных установках динамиков для домашнего воспроизведения звука или воспроизведения звука в кинотеатре.
Этот список позиций динамиков является расширенным набором списка, имеющегося в стандарте MPEG Surround (см. Таблицу 1 и фиг. 1 в ISO/IEC 23003-1). Четыре дополнительных позиции динамика были добавлены, чтобы быть в состоянии охватить в последнее время введенные установки динамика 22.2 (см. Фиг. 3a, 3b, 4a и 4b).
UsacDecoderConfig() (Фиг. 6c)
Этот элемент находится в основе конфигурации декодера, и как таковой, содержит всю дополнительную информацию, запрошенную декодером, чтобы интерпретировать поток битов.
В частности, структура потока битов определена здесь посредством явного заявления ряда элементов и их порядка в потоке битов.
Цикл по всем элементам затем обеспечивает конфигурацию всех элементов всех типов (единственный, пара, lfe, расширение).
UsacConfigExtension() (Фиг. 6l)
Чтобы обеспечить будущие расширения, эта конфигурация предоставляет мощный механизм для расширения конфигурации для еще не существующих расширений конфигурации для USAC.
UsacSingleChannelElementConfig() (Фиг. 6d)
Эта конфигурация элемента содержит всю информацию, необходимую для конфигурирования декодера, чтобы декодировать один единственный канал. Это является по существу информацией, относящейся к базовому кодеру, и если используется SBR, относящейся к SBR информацией.
UsacChannelPairElementConfig() (Фиг. 6e)
На аналогии с вышеупомянутым эта конфигурация элемента содержит всю информацию, необходимую для конфигурирования декодера, чтобы декодировать одну пару каналов. В дополнение к вышеупомянутой базовой конфигурации и конфигурации SBR она включает в себя специфические для стерео конфигурации, подобные точному виду примененного кодирования стерео (с или без MPS212, остаток и т.д.). Следует отметить, что этот элемент охватывает все виды опций кодирования стерео, доступные в UCAC.
UsacLfeElementConfig() (Фиг. 6f)
Конфигурация элемента LFE не содержит данных конфигурации, поскольку элемент LFE имеет статическую конфигурацию.
UsacExtElementConfig() (Фиг. 6k)
Эта конфигурация элемента может быть использована для конфигурирования любого вида существующего или будущих расширений кодека. Каждый тип элемента расширения имеет свое собственное выделенное значение ID. Поле длины включено, чтобы быть в состоянии удобным образом пропустить расширения конфигурации, неизвестные декодеру. Необязательное определение длины полезных данных по умолчанию дополнительно увеличивает эффективность кодирования полезных данных расширения, присутствующих в фактическом потоке битов.
Расширения, которые предполагаются, как уже объединенные с USAC, включают в себя: MPEG Surround, SAOC, и некоторый вид элемента FIL, как известно из MPEG-4 AAC.
UsacCoreConfig() (Фиг. 6g)
Этот элемент содержит данные конфигурации, которые оказывают влияние на установку базового кодера. В настоящее время существуют переключатели для инструмента деформации шкалы времени и инструмента заполнения шума.
SbrConfig() (Фиг. 6h)
Чтобы уменьшить служебные расходы в битах, произведенные частой повторной передачей sbr_header(), значения по умолчанию для элементов sbr_header(), которые обычно сохраняются постоянными, теперь переносятся в элементе конфигурации SbrDfltHeader(). Кроме того, статические элементы конфигурации SBR также переносятся в SbrConfig(). Эти статические биты включают в себя флаги для разрешения или запрещения конкретных признаков расширенного SBR, подобных гармонической транспозиции или интер-TES.
SbrDfltHeader() (Фиг. 6i)
Это переносит элементы sbr_header(), которые типично сохраняются постоянными. Влияющие на элементы вещи, такие как амплитудное разрешение, частотный диапазон разделительного фильтра, предварительное выравнивание спектра, теперь переносятся в SbrInfo(), что позволяет эффективно изменять их на лету.
Mps212Config() (Фиг. 6j)
Подобно вышеупомянутой конфигурации SBR, все параметры установки для инструмента MPEG Surround 2-1-2 собраны в этой конфигурации. Были удалены все элементы из SpatialSpecificConfig(), которые не являются релевантными или избыточными в этом контексте.
ПОЛЕЗНЫЕ ДАННЫЕ ПОТОКА БИТОВ
UsacFrame()
Это является наиболее внешней оболочкой полезных данных потока битов USAC и представляет блок (единицу) доступа USAC. Он содержит цикл по всем содержащимся канальным элементам и элементам расширения, которые сигнализируются в части конфигурации. Это делает формат потока битов намного более гибким в терминах того, что он может содержать и является будущим шаблоном для любого будущего расширения.
UsacSingleChannelElement()
Этот элемент содержит все данные, чтобы декодировать моно поток. Содержимое разделяется на относящуюся к базовому кодеру часть и относящуюся к eSBR часть. Последняя теперь намного более тесно связана с упомянутым базовым кодером, что также намного лучше отражает порядок, в котором данные требуются декодером.
UsacChannelPairElement()
Этот элемент охватывает данные для всех возможных способов закодировать стерео пару. В частности, все разновидности унифицированного кодирования стерео охватываются в пределах от традиционного основанного на M/S кодирования до полностью параметрического кодирования стерео с помощью MPEG Surround 2-1-2. stereoConfiglndex указывает, какая особенность фактически используется. Подходящие eSBR данные и MPEG Surround 2-1-2 данные посылаются в этом элементе.
UsacLfeElement()
Прежний lfe_channel_element() переименован только для того, чтобы следовать последовательной схеме обозначений.
UsacExtElement()
Этот элемент расширения был тщательно разработан, чтобы быть в состоянии быть максимально гибким, но в то же самое время максимально эффективным даже для расширений, которые имеют маленькие полезные данные (или часто не имеют вообще). Длина полезных данных расширения сигнализируется для не знающих декодеров, чтобы пропустить их. Определенные пользователем расширения могут быть сигнализированы посредством зарезервированного диапазона типов расширений. Расширения могут быть помещены свободно в порядке элементов. Диапазон элементов расширения уже был рассмотрен, включая механизм для записи байтов заполнения.
UsacCoreCoderData()
Этот новый элемент суммирует всю информацию, затрагивающую базовые кодеры, и следовательно также содержит потоки fd_channel_stream() и lpd_channel_stream().
StereoCoreToolInfo()
Чтобы облегчить удобочитаемость синтаксиса, вся относящаяся к стерео информация была захвачена в этом элементе. Он имеет дело с многочисленными зависимостями битов в режимах кодирования стерео.
UsacSbrData()
Функциональные возможности CRC и традиционные элементы описания масштабируемого кодирования аудио были удалены из того, что должно было быть элементом sbr_extension_data(). Чтобы уменьшить служебные расходы, вызванные частой повторной передачей информации SBR и данных заголовка, присутствие их может быть явно сигнализировано.
Sbrlnfo()
Данные конфигурации SBR, которые часто модифицируются «на лету». Они включают в себя элементы, управляющие такими вещами как разрешение по амплитуде, частотный диапазон разделительного фильтра (разделительного фильтра), предварительное выравнивание спектра, которое ранее требовало передачи полного sbr_header() (см. 6.3 в [N11660], "Efficiency").
SbrHeader()
Чтобы поддерживать способность SBR изменять значения в sbr_header() на лету, теперь возможно передавать SbrHeader() в UsacSbrData() в случае, если отличные значения от посланных в SbrDfltHeader() должны использоваться. Механизм bs_header_extra был поддержан, чтобы сохранить служебные расходы настолько низкими насколько возможно для большинства общих случаев.
sbr_data()
Снова, остатки масштабируемого кодирования SBR были удалены, так как они не применимы в контексте USAC. В зависимости от количества каналов sbr_data() содержит один sbr_single_channel_Element() или один sbr_channel_pair_element().
usacSampIingFrequencyIndex
Эта таблица является расширенным набором таблицы, используемой в MPEG-4, чтобы сигнализировать частоту осуществления выборки аудио кодека. Таблица была дополнительно расширена, чтобы также охватить частоты следования битов при осуществлении выборки, которые в настоящее время используются в операционных режимах USAC. Некоторые кратные значения частот осуществления выборки были также добавлены.
channelConfigurationlndex
Эта таблица является расширенным набором таблицы, используемой в MPEG-4, чтобы сигнализировать channelConfiguration. Она была дополнительно расширена, чтобы позволить сигнализировать обычно используемых и предполагаемых будущих установок параметров громкоговорителя. Индекс в эту таблицу сигнализируется 5 битами, чтобы учесть будущие расширения.
usacElementType
Существуют только 4 типа элемента. Один для каждого из четырех основных элементов потока битов: Usac-SingleChannelElement(), UsacChannelPairElement(), UsacLfeElement(), UsacExtEle-ment(). Эти элементы обеспечивают необходимую структуру верхнего уровня, в то же время поддерживая всю необходимую гибкость.
usacExtElementType
Внутри UsacExtElement() этот элемент позволяет сигнализировать множество расширений. Чтобы выдержать проверку временем, битовое поле было выбрано достаточно большим, чтобы учесть все мыслимые расширения. Из в настоящее время известных расширений уже несколько предложены для рассмотрения: элемент заполнения, MPEG Surround и SAOC.
usacConfigExtType
Если в некоторый момент будет необходимо расширить конфигурацию, он может быть обработан посредством UsacConfigExtension(), что затем может позволить назначать тип на каждую новую конфигурацию. В настоящее время единственным типом, который может быть сигнализирован, является механизм заполнения для этой конфигурации.
coreSbrFrameLengthlndex
Эта таблица должна сигнализировать множественные аспекты конфигурации декодера. В частности, ими являются длина выходного кадра, отношение SBR и результирующая длина кадра базового кодера (ccfl). В то же самое время она указывает количество частотных диапазонов