КОРРЕКЦИЯ КОЭФФИЦИЕНТА УСИЛЕНИЯ ПОСЛЕ КВАНТОВАНИЯ ПРИ КОДИРОВАНИИ АУДИО
GAIN FACTOR CORRECTION IN AUDIO CODING

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящая технология относится к коррекции коэффициента усиления при кодировании аудио, основанном на схемах квантования, в которых квантование разделено на представление коэффициента усиления и представление вектора формы (так называемое кодирование аудио на основе «gain-shape» («коэффициента усиления и вектора формы»)) и, в частности, к коррекции коэффициента усиления после квантования.
УРОВЕНЬ ТЕХНИКИ
Современные службы связи предназначены для обработки многих различных типов аудиосигналов. Хотя основной аудиоконтент представляет собой речевые сигналы, желательно обрабатывать более общие сигналы, такие как музыка и смешение музыки и речи. Хотя пропускная способность в сетях связи постоянно увеличивается, по-прежнему имеется большой интерес в том, чтобы ограничить необходимую полосу пропускания на каждый канал связи. В мобильных сетях меньшая полоса пропускания передачи для каждого вызова приводит к более низкому расходу энергии как в мобильном устройстве, так и в базовой станции. Это дает экономию энергии и затрат для оператора мобильной связи, в то время как конечный пользователь получает более долгий срок работы батареи и увеличенное время разговора. Кроме того, при уменьшении расходуемой полосы пропускания на каждого пользователя мобильная сеть может обслужить большее количество пользователей параллельно.
Сегодня доминирующей технологией сжатия для мобильных речевых служб является линейное предсказание с кодовым возбуждением (CELP), которое достигает хорошего качества аудио для речи при малых полосах пропускания. Оно широко используется в имеющихся кодеках, таких как AMR (адаптивный многоскоростной), WB-AMR (адаптивный многоскоростной широкополосный) и GSM-EFR (улучшенный полноскоростной для глобальной системы мобильной связи). Однако для общих аудиосигналов, таких как музыка, технология CELP имеет низкую производительность. Эти сигналы часто могут быть лучше представлены посредством использования кодирования, основанного на частотном преобразовании, например, с помощью кодеков ITU-T G.722.1 [1] и G.719 [2]. Однако кодеки на основе области преобразования обычно работают на более высокой битовой скорости, чем речевые кодеки. Имеется разрыв между речевой областью и областью общего аудио с точки зрения кодирования, и желательно увеличить производительность кодеков на основе области преобразования на более низких битовых скоростях.
Кодеки на основе области преобразования требуют компактного представления коэффициентов преобразования частотной области. Эти представления часто полагаются на векторное квантование (VQ), в котором коэффициенты кодируются в группах. Среди различных способов векторного квантования имеется векторное квантование на основе коэффициента усиления и вектора формы. Этот подход применяет нормализацию к векторам перед кодированием отдельных коэффициентов. Коэффициент нормализации и нормализованные коэффициенты упоминаются как коэффициент усиления и форма вектора, которые могут быть закодированы отдельно. Структура на основе коэффициента усиления и вектора формы обладает многими преимуществами. Посредством разделения коэффициента усиления и вектора формы кодек может быть легко адаптирован к переменным уровням входных сигналов от источника посредством разработки квантователя коэффициента усиления. Это также выгодно с точки зрения восприятия, когда коэффициент усиления и вектор формы могут нести разную важность в различных частотных областях. Наконец, разделение коэффициента усиления и вектора формы упрощает конфигурацию квантователя и делает ее менее сложной с точки зрения памяти и вычислительных ресурсов по сравнению с неограниченным векторным квантователем. Функциональный краткий обзор квантователя на основе коэффициента усиления и вектора формы можно видеть на фиг. 1.
При применении к спектру частотной области, структура на основе коэффициента усиления и вектора формы может использоваться для формирования спектральной огибающей и представления тонкой структуры. Последовательность значений коэффициента усиления формирует огибающую спектра, в то время как векторы формы дают спектральные детали. С точки зрения восприятия выгодно разделить спектр с использованием неоднородной структуры полос, которая согласуется с частотным разрешением слуховой системы человека. Это обычно означает, что узкие полосы используются для низких частот, в то время как большие полосы используются для высоких частот. Важность спектральной тонкой структуры с точки зрения восприятия меняется в зависимости от частоты, но также зависит от характеристик самого сигнала. Кодеры с преобразованием часто используют слуховую модель для определения важных частей тонкой структуры и назначения доступных ресурсов самым важным частям. Спектральная огибающая часто используется как входная информация для слуховой модели. Кодер вектора формы квантует векторы формы с использованием назначенных битов. Фиг. 2 показывает пример системы кодирования на основе преобразования с помощью слуховой модели.
В зависимости от точности квантователя вектора формы значение коэффициента усиления, используемое для воссоздания вектора, может являться более или менее соответствующим. Особенно, когда выделенных битов мало, значение коэффициента усиления далеко отклоняется от оптимального значения. Один способ решения состоит в том, чтобы закодировать корректирующий коэффициент, который учитывает несоответствие коэффициента усиления после квантования вектора формы. Другое решение состоит в том, чтобы сначала закодировать вектор формы, а затем вычислить оптимальный коэффициент усиления с учетом квантованного вектора формы.
Решение закодировать коэффициент коррекции коэффициента усиления после квантования вектора формы может расходовать значительную битовую скорость. Если скорость уже является низкой, это означает, что больше битов должно быть взято в другом месте, и может уменьшить доступную битовую скорость для тонкой структуры.
Кодирование вектора формы перед кодированием коэффициента усиления является более хорошим решением, но если битовая скорость для квантователя вектора формы определена на основе квантованного значения коэффициента усиления, то квантование коэффициента усиления и квантование вектора формы зависели бы друг от друга. Итерактивное решение, вероятно, могло бы разрешить эту взаимную зависимость, но это может быстро стать слишком сложным для выполнения в реальном времени на мобильном устройстве.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача состоит в том, чтобы получить регулировку коэффициента усиления при декодировании аудио, которое было закодировано с раздельными представлениями коэффициента усиления и вектора формы.
Эта задача решается в соответствии с приложенной формулой изобретения.
Первый аспект включает в себя способ регулировки коэффициента усиления, который включает в себя следующие этапы:
- Оценивается показатель точности представления вектора формы.
- Определяется коррекция коэффициента усиления на основе оценочного показателя точности.
- Представление коэффициента усиления регулируется на основе определенной коррекции коэффициента усиления.
Второй аспект включает в себя устройство регулировки коэффициента усиления, которое включает в себя:
- Измеритель точности, выполненный с возможностью оценивать показатель точности представления вектора формы и определять коррекцию коэффициента усиления на основе оценочного показателя точности.
- Регулятор огибающей, выполненный с возможностью регулировать представление коэффициента усиления на основе определенной коррекции коэффициента усиления.
Третий аспект включает в себя декодер, включающий в себя устройство регулировки коэффициента усиления в соответствии со вторым аспектом.
Четвертый аспект включает в себя сетевой узел, включающий в себя декодер в соответствии с третьим аспектом.
Предложенная схема коррекции коэффициента усиления улучшает воспринимаемое качество системы кодирования аудио на основе коэффициента усиления и вектора формы. Схема имеет низкую вычислительную сложность и требует небольшого количества дополнительных битов или не требует вообще.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящая технология вместе со своими дополнительными задачами и преимуществами лучше всего может быть понята посредством ссылки на последующее описание, рассмотренное вместе с сопроводительными чертежами.
Фиг. 1 иллюстрирует примерную схему векторного квантования на основе коэффициента усиления и вектора формы;
Фиг. 2 иллюстрирует примерную схему кодирования и декодирования на основе области преобразования;
Фиг. 3A-C иллюстрируют векторное квантование на основе коэффициента усиления и вектора формы в упрощенном случае;
Фиг. 4 иллюстрирует примерный декодер области преобразования с использованием показателя точности для определения коррекции огибающей;
Фиг. 5A-B иллюстрируют примерный результат масштабирования синтеза с коэффициентами усиления, когда вектор формы является разреженным импульсным вектором;
Фиг. 6A-B иллюстрирует, как наибольшая высота импульса может указать точность вектора формы;
Фиг. 7 иллюстрирует пример основанной на скорости функции затухания для варианта осуществления 1;
Фиг. 8 иллюстрирует пример зависящей от скорости и максимальной высоты импульса функции регулировки коэффициента усиления для варианта осуществления 1;
Фиг. 9 иллюстрирует другой пример зависящей от скорости и максимальной высоты импульса функции регулировки коэффициента усиления для варианта осуществления 1;
Фиг. 10 иллюстрирует вариант осуществления настоящей технологии в контексте основанной на преобразовании MDCT системы кодера и декодера аудио;
Фиг. 11 иллюстрирует пример функции отображения показателя стабильности на коэффициент ограничения регулировки коэффициента усиления;
Фиг. 12 иллюстрирует пример системы кодера и декодера с модуляцией ADPCM с адаптивным размером шага;
Фиг. 13 иллюстрирует пример в контексте системы кодера и декодера аудио на основе модуляции ADPCM подполос;
Фиг. 14 иллюстрирует вариант осуществления настоящей технологии в контексте системы кодера и декодера аудио на основе модуляции ADPCM подполос;
Фиг. 15 иллюстрирует примерный кодер на основе области преобразования, включающий в себя классификатор сигналов;
Фиг. 16 иллюстрирует другой примерный декодер на основе области преобразования, использующий показатель точности для определения коррекции огибающей;
Фиг. 17 иллюстрирует вариант осуществления устройства регулировки коэффициента усиления в соответствии с настоящей технологией;
Фиг. 18 иллюстрирует вариант осуществления регулировки коэффициента усиления в соответствии с настоящей технологией более подробно;
Фиг. 19 - блок-схема последовательности операций, иллюстрирующая способ в соответствии с настоящей технологией;
Фиг. 20 - блок-схема последовательности операций, иллюстрирующая вариант осуществления способа в соответствии с настоящей технологией; и
Фиг. 21 иллюстрирует вариант осуществления сети в соответствии с настоящей технологией.
ПОДРОБНОЕ ОПИСАНИЕ
В последующем описании одинаковые условные обозначения будут использоваться для элементов, выполняющих одинаковые или подобные функции.
Прежде чем настоящая технология будет подробно описана, будет проиллюстрировано кодирование на основе коэффициента усиления и вектора формы («gain-shape») со ссылкой на фиг. 1-3.
<mover accent="true"><mi>g</mi><mo>^</mo></mover>
<mover accent="true"><mi>g</mi><mo>^</mo></mover>
Фиг. 1 иллюстрирует примерную схему векторного квантования на основе коэффициента усиления и вектора формы. Верхняя часть фигуры иллюстрирует сторону кодера. Входной вектор x направляется в блок 10 вычисления нормы, который определяет норму вектора (коэффициент усиления) g, обычно эвклидову норму. Эта точная норма квантуется в квантователе 12 нормы, и обратная величина 1/
квантованной нормы
направляется в умножитель 14 для масштабирования входного вектора x в вектор формы. Вектор формы квантуется в квантователе 16 вектора формы. Представления квантованного коэффициента усиления и вектора формы направляются в мультиплексор 18 битового потока. Эти представления проиллюстрированы пунктирными линиями, чтобы указать, что они могут, например, представлять индексы в таблицах (кодовых книгах), а не фактические квантованные значения.
<mover accent="true"><mi>g</mi><mo>^</mo></mover>
<mover accent="true"><mi>x</mi><mo>^</mo></mover>
Нижняя часть фиг. 1 иллюстрирует сторону декодера. Демультиплексор 20 битового потока принимает представления коэффициента усиления и вектора формы. Представление вектора формы направляется в деквантователь 22 вектора формы, и представление коэффициента усиления направляется в деквантователь 24 коэффициента усиления. Полученный коэффициент усиления
направляется в умножитель 26, где он масштабирует полученный вектор формы, что дает воссозданный вектор
.
Фиг. 2 иллюстрирует примерную схему кодирования и декодирования на основе области преобразования. Верхняя часть фигуры иллюстрирует сторону кодера. Входной сигнал направляется в частотный преобразователь 30, например, основанный на модифицированном дискретном косинусном преобразовании (MDCT), для получения частотного преобразования X. Частотное преобразование X направляется в блок 32 вычисления огибающей, который определяет энергию E(b) каждой частотной полосы b. Эти энергии квантуются в энергии К(b) в квантователе 34 огибающей. Квантованные энергии К(b) направляются в блок 36 нормализации огибающей, который масштабирует коэффициенты частотной полосы b преобразования X с помощью обратной величины соответствующей квантованной энергии К(b) огибающей. Полученные масштабированные векторы формы направляются в квантователь 38 тонкой структуры. Квантованные энергии К(b) также направляются в блок 40 выделения битов, который выделяет биты для квантования тонкой структуры каждой частотной полосе b. Как отмечено выше, выделение битов R(b) может быть основано на модели слуховой системы человека. Представления квантованных коэффициентов усиления К(b), и соответствующие квантованные векторы формы направляются в мультиплексор 18 битового потока.
Нижняя часть фиг. 2 иллюстрирует сторону декодера. Демультиплексор 20 битового потока принимает представления коэффициента усиления и вектора формы. Представления коэффициента усиления направляются в деквантователь 42 огибающей. Сформированные энергии огибающей К(b) направляются в блок 44 выделения битов, который определяет выделение битов R(b) принятых векторов формы. Представления векторов формы направляются в деквантователь 46 тонкой структуры, который управляется посредством выделения R(b) битов. Декодированные векторы формы направляются в блок 48 формирования огибающей, который масштабирует их с помощью соответствующих энергий огибающей К(b) для формирования воссозданного частотного преобразования. Это преобразование направляется в обратный частотный преобразователь 50, например, основанный на обратном модифицированном дискретном косинусном преобразовании (IMDCT), который производит выходной сигнал, представляющий синтезированное аудио.
Фиг. 3A-C иллюстрируют описанное выше векторное квантование по схеме коэффициента усиления и вектора формы в упрощенном случае, когда частотная полоса b представлена двухмерным вектором X(b) на фиг. 3A. Этот случай является достаточно простым для иллюстрации на чертеже, но также и достаточно общим, чтобы проиллюстрировать проблему с квантованием по схеме коэффициента усиления и вектора формы (на практике векторы обычно имеют 8 или больше размерностей). Правая сторона фиг. 3A иллюстрирует точное представление по схеме коэффициента усиления и вектора формы вектора X(b) с коэффициентом усиления E(b) и вектором формы (вектором единичной длины) N'(b).
<mover accent="true"><mi>N</mi><mo>^</mo></mover>
<mover accent="true"><mi>N</mi><mo>^</mo></mover>
Однако, как проиллюстрировано на фиг. 3B, точный коэффициент усиления E(b) кодируется в квантованный коэффициент усиления К(b) на стороне кодера. Поскольку обратная величина квантованного усиления К(b) используется для масштабирования вектора X(b), получающийся в результате масштабированный вектор N(b) будет указывать в верном направлении, но не обязательно будет единичной длины. Во время квантования вектора формы масштабированный вектор N(b) квантуется в квантованный вектор формы
(b). В этом случае квантование основано на схеме импульсного кодирования [3], которая создает вектор формы (или направление) из суммы целочисленных импульсов со знаком. Импульсы могут быть добавлены друг к другу для каждой размерности. Это означает, что разрешенные позиции квантования вектора формы представлены большими точками в прямоугольных решетках, проиллюстрированных на фиг. 3B-C. Результат состоит в том, что квантованный вектор формы
(b) в общем случае не будет совпадать с вектором формы (направлением) N(b) (и N'(b)).
Фиг. 3C иллюстрирует, что точность квантования вектора формы зависит от выделенных битов R(b) или, эквивалентно, от общего количества импульсов, доступных для квантования вектора формы. В левой части фиг. 3C квантование вектора формы основано на 8 импульсах, тогда как квантование вектора формы в правой части использует только 3 импульса (пример на фиг. 3B использует 4 импульса).
Таким образом, понятно, что в зависимости от точности квантователя вектора формы значение К(b) коэффициента усиления, используемое для воссоздания вектора X(b) на стороне декодера, может быть более или менее соответствующим. В соответствии с настоящей технологией коррекция коэффициента усиления может быть основана на показателе точности квантованного вектора формы.
Показатель точности, используемый для коррекции коэффициента усиления, может быть получен из параметров, уже доступных в декодере, но он также может зависеть от дополнительных параметров, назначенных для показателя точности. Как правило, параметры могут включать в себя количество выделенных битов для вектора формы и сам вектор формы, но они также могут включать в себя значение коэффициента усиления, соответствующее вектору формы, и предварительно сохраненную статистику о сигналах, которые типичны для системы декодирования и кодирования. Краткий обзор системы, включающей в себя показатель точности и коррекцию или регулировку коэффициента усиления, показан на фиг. 4.
<mover accent="true"><mi>N</mi><mo>^</mo></mover>
c
Фиг. 4 иллюстрирует примерный декодер 300 области преобразования, использующий показатель точности для определения коррекции огибающей. Во избежание нагромождений на чертеже проиллюстрирована только сторона декодера. Сторона кодера может быть реализована, как показано на фиг. 2. Новая функциональная возможность состоит в устройстве 60 регулировки коэффициента усиления. Устройство 60 регулировки коэффициента усиления включает в себя измеритель 62 точности, выполненный с возможностью оценивать показатель точности A(b) представления вектора формы
(b) и определять коррекцию коэффициента усиления g(b) на основе предполагаемого показателя точности A(b). Оно также включает в себя регулятор 64 огибающей, выполненный с возможностью регулировать представление коэффициента усиления К(b) на основе определенной коррекции коэффициента усиления.
Как указано выше, коррекция коэффициента усиления в некоторых вариантах осуществления может выполняться без затрат дополнительных битов. Это делается посредством оценки коррекции коэффициента усиления из параметров, уже доступных в декодере. Этот процесс может быть описан как оценка точности закодированного вектора формы. Обычно эта оценка включает в себя получение показателя точности A(b) из характеристик квантования вектора формы, указывающих разрешение квантования вектора формы.
Вариант осуществления 1
В одном варианте осуществления настоящая технология используется в системе кодера/декодера аудио. Система основана на преобразовании, и используемое преобразование является модифицированным дискретным косинусным преобразованием (MDCT), использующим синусоидальные окна с 50%-ным перекрытием. Однако следует понимать, что любое преобразование, подходящее для кодирования с преобразованием, может использоваться вместе с соответствующей сегментацией и окнами.
Кодер варианта осуществления 1
Входное аудио извлекается в кадры с использованием 50%-ного перекрытия с помощью симметричного синусоидального окна. Каждый взятый в окно кадр затем преобразовывается в спектр X преобразования MDCT. Спектр разделяется на подполосы для обработки, причем ширина подполос неоднородна. Спектральные коэффициенты кадра m, принадлежащего полосе b, обозначается как X(b, m) и имеют полосу пропускания BW(b). Поскольку большинство этапов кодера и декодера может быть описано в пределах одного кадра, мы опускаем индекс кадра и используем нотацию только X(b). Полоса пропускания должна предпочтительно увеличиться с увеличением частоты, чтобы соответствовать частотному разрешению слуховой системы человека. Среднеквадратичное значение (RMS) каждой полосы используется в качестве коэффициента нормализации и обозначается E(b):
T
где X(b) обозначает транспонирование X(b).
bands
bands
Среднеквадратичное значение может рассматриваться как значение энергии на коэффициент. Последовательность коэффициентов нормализации E(b) для b=1, 2,..., N формирует огибающую спектра MDCT, где N обозначает количество полос. Далее последовательность квантуется для передачи декодеру. Чтобы гарантировать, что нормализация может быть инвертирована в декодере, получается квантованная огибающая К(b). В этом примерном варианте осуществления коэффициенты огибающей являются скаляром, квантованным в логарифмической области с использованием размера шага 3 дБ, и индексы квантователя дифференцированно кодируются с использованием кодирования Хаффмана. Квантованная огибающая используется для нормализации спектральных полос, то есть:
Следует отметить, что если бы для нормализации использовалась не квантованная огибающая E(b), вектор формы имел бы среднеквадратичное значение 1, то есть:
Посредством использования квантованной огибающей К(b) вектор формы будет иметь среднеквадратичное значение, близкое к 1. Эта возможность будет использована в декодере для создания приближения значения коэффициента усиления.
Объединение нормализованных векторов формы N(b) формирует тонкую структуру спектра MDCT. Квантованная огибающая используется для получения выделения битов R(b) для кодирования нормализованных векторов формы N(b). Алгоритм выделения битов предпочтительно использует слуховую модель для выделения битов для наиболее важных для восприятия частей. Любая схема квантователя может использоваться для кодирования вектора формы. Общим для всех схем является то, что они могут быть разработаны в предположении, что ввод нормализован, и это упрощает конфигурацию квантователя. В этом варианте осуществления квантование вектора формы делается с использованием схемы импульсного кодирования, которая создает синтезированный вектор формы из суммы целочисленных импульсов со знаком [3]. Импульсы могут быть добавлены друг к другу для формирования импульсов разной высоты. В этом варианте осуществления выделение битов R(b) обозначает количество импульсов, присвоенных полосе b.
Индексы квантователя из квантования огибающей и квантования вектора формы мультиплексируются в битовый поток, который будет сохранен или передан декодеру.
Декодер варианта осуществления 1
<mover accent="true"><mi>N</mi><mo>^</mo></mover>
Декодер демультиплексирует индексы из битового потока и передает соответствующие индексы каждому модулю декодирования. Сначала получается квантованная огибающая К(b). Затем из квантованной огибающей выводится выделение битов тонкой структуры с использованием выделения битов, идентичного использованному в кодере. Векторы формы
(b) тонкой структуры декодируются с использованием индексов и полученного выделения битов R(b).
Теперь перед масштабированием декодированной тонкой структуры с помощью огибающей определяются дополнительные коэффициенты коррекции усиления. Сначала получаются среднеквадратичные значения, соответствующие коэффициентам усиления:
RMS
Коэффициент g(b) являются масштабным коэффициентом, который нормализует среднеквадратичное значение в 1, то есть:
В этом варианте осуществления мы стремимся минимизировать среднеквадратичную ошибку (MSE) синтеза:
с помощью решения
MSE
c
Поскольку g(b) зависит от входного вектора формы N(b), он не известен в декодере. В этом варианте осуществления оценивается воздействие с использованием показателя точности. Отношение этих коэффициентов усиления определяется как коэффициент коррекции усиления g(b):
Когда точность квантования вектора формы является хорошей, коэффициент коррекции близок к 1, то есть:
<mover accent="true"><mi>N</mi><mo>^</mo></mover>
MSE
RMS
RMS
c
MSE
RMS
RMS
Однако, когда точность
(b) является низкой, g(b), и g(b) будут отклоняться. В этом варианте осуществления, когда вектор формы кодируется с использованием импульсной схемы кодирования, низкая скорость сделает вектор формы разреженным, и g даст завышенную оценку соответствующего коэффициента усиления с точки зрения MSE. Для этого случая g(b) должен быть ниже 1, чтобы компенсировать выброс. На фиг. 5A-B приведена иллюстрация случая вектора формы импульса с низкой скоростью. Фиг. 5A-B иллюстрирует пример масштабирования синтеза с помощью коэффициентов усиления g (фиг. 5B) и g(фиг. 5A), когда вектор формы является разреженным импульсным вектором. Масштабирование с помощью g дает импульсы, которые слишком высоки в смысле MSE.
max
max
c
max
С другой стороны, остроконечный или разреженный целевой сигнал может быть хорошо представлен с помощью импульсного вектора формы. Хотя разреженность входного сигнала может не быть известна на стадии синтеза, разреженность формы синтеза может служить индикатором точности синтезированного вектора формы. Одним способом измерить разреженность формы синтеза является высота максимального пика в векторе формы. Смысл этого состоит в том, что разреженный входной сигнал более вероятно формирует высокие пики в векторе формы синтеза. На фиг. 6A-B приведена иллюстрация того, как пиковая высота может указать точность двух импульсных векторов с равной скоростью. На фиг. 6A имеется 5 доступных импульсов (R(b)=5) для представления изображенной пунктиром формы. Поскольку форма является довольно постоянной, кодирование сформировало 5 выделенных импульсов равной высоты 1, то есть p=1. На фиг. 6B также имеется 5 доступных импульсов для представления изображенной пунктиром формы. Однако в этом случае форма является остроконечной или разреженной, и самый большой пик представлен тремя импульсами друг на друге, то есть p=3. Это указывает, что коррекция коэффициента усиления g(b) зависит от оцененной разреженности p квантованного вектора формы.
MSE
c
c
max
Как отмечено выше, входной вектор формы N(b) не известен декодеру. Поскольку g (b) зависит от входного вектора формы N(b), это означает, что коррекция или компенсация коэффициента усиления g(b) на практике не может основываться на идеальном уравнении (8). В этом варианте осуществления коррекция коэффициента усиления g(b) вместо этого основывается на битовой скорости с точки зрения количества импульсов R(b), высоте самого большого импульса в векторе формы p(b) и частотной полосе, то есть:
Было замечено, что более низкие скорости обычно требуют затухания коэффициента усиления для минимизации MSE. Зависимость от скорости может быть реализована как поисковая таблица t(R(b)), которая обучается на соответствующих данных аудиосигнала. Примерная поисковая таблица может быть видна на фиг. 7. Поскольку векторы формы в этом варианте осуществления имеют разные ширины, скорость предпочтительно может быть выражена как количество импульсов на отсчет. Таким образом, для всех полос пропускания может использоваться одно и то же зависимое от скорости затухание. Альтернативное решение, которое используется в этом варианте осуществления, состоит в том, чтобы использовать размер шага T в таблице в зависимости от ширины полосы. Здесь мы используем 4 разных полосы пропускания в 4 разных группах и, следовательно, требуем 4 размера шага. Пример размеров шагов находится в таблице 1. С использованием размера шага значение поиска получается посредством использования операции округления t(⌊R (b) · T ⌋]), где ⌊ ⌋ представляет округление до ближайшего целого числа.
Таблица 1
Группа полос
Ширина полосы
Размер шага T
1
8
4
2
16
4/3
3
24
2
4
34
1
Другая примерная поисковая таблица дана в таблице 2.
Таблица 2
Группа полос
Ширина полосы
Размер шага T
1
8
4
2
16
4/3
3
24
2
4
32
1
max
max
Оцененная разреженность может быть реализована как другая поисковая таблица u(R(b), p(b)), основанная и на количестве импульсов R(b), и на высоте максимального импульса p(b). Примерная поисковая таблица показана на фиг. 8. Поисковая таблица u служит показателем точности A(b) для полосы b, то есть:
MSE
THR
c
Было отмечено, что приближение g было более подходящим для нижнего частотного диапазона с точки зрения восприятия. Для более высоких частот тонкая структура становится менее важной для восприятия, и соответствие энергии или значение RMS становится жизненно важным. Поэтому затухание коэффициента усиления может быть применено только ниже некоторого номера полосы b. В этом случае коррекция коэффициента усиления g(b) будет иметь явную зависимость от частотной полосы b. Получающаяся в результате функция коррекции коэффициента усиления может в этом случае быть определена как:
<mover accent="true"><mi>X</mi><mo>^</mo></mover>
Описание до этого момента также может использоваться для описания существенных особенностей примерного варианта осуществления на фиг. 4. Таким образом, в варианте осуществления на фиг. 4 заключительный синтез
(b) вычисляется как:
max
max
В качестве альтернативы функция u(R(b), p(b)) может быть реализована как линейная функция максимальной импульсной высоты p и выделенной битовой скорости R(b), например как:
где наклон k определяется посредством:
min
max
min
max
min
max
max
max
Функция зависит от параметра настройки a, который дает начальный коэффициент затухания для R(b)=1 и p(b) =1. Функция проиллюстрирована на фиг. 9 с параметром настройки a=0,41. Обычно uε[0,7, 1,4] и uε[0, u]. В уравнении (14) u является линейной в различии между p(b) и R(b). Другая возможность состоит в том, чтобы иметь разные коэффициенты наклона для p(b) и R(b).
Битовая скорость для данной полосы может существенно измениться для данной полосы между смежными кадрами. Это может привести к быстрым изменениям коррекции коэффициента усиления. Такие изменения являются особенно критическими, когда огибающая довольно стабильная, то есть общие изменения между кадрами являются довольно небольшими. Это часто происходит для музыкальных сигналов, которые обычно имеют более стабильные энергетические огибающие. Во избежание того, чтобы затухание коэффициента усиления вносило нестабильность, может быть добавлена дополнительная адаптация. Краткий обзор такого варианта осуществления дан на фиг. 10, на которой измеритель 66 стабильности добавлен к устройству 60 регулировки коэффициента усиления в декодере 300.
2
Адаптация может быть основана, например, на показателе стабильности огибающей К(b). Пример такого показателя должен вычислять квадрат эвклидова расстояния между смежными векторами огибающей log:
Здесь ΔE(m) обозначает квадрат эвклидова расстояния между векторами огибающей для кадра m и кадра m-1. показатель стабильности также может быть подвергнут низкочастотной фильтрации для более гладкой адаптации:
Подходящим значением для коэффициента α может быть 0,1. Сглаженный показатель стабильности может затем использоваться для создания ограничения использования затухания, например, сигмоидальная функция, такая как:
1
2
3
где параметры могут быть установлены как C=6, C=2 и C=1,9. Следует отметить, что эти параметры должны рассматриваться как примеры, в то время как фактические значения могут быть выбраны с большей свободой. Например:
1
C ε[1, 10]
2
C ε[1, 4]
3
C ε[-5, 10]
min
min
Фиг. 11 иллюстрирует пример функции отображения показателя стабильности ΔẼ(m) на коэффициент ограничения регулировки усиления g. Приведенное выше выражение для g предпочтительно реализовано как поисковая таблица или с помощью простой ступенчатой функции, такой как:
min
<mrow><msub><mover accent="true"><mi>g</mi><mo>^</mo></mover><mi>c</mi></msub></mrow>
Переменная ограничения затухания g ε[0, 1] может использоваться для создания адаптированной по стабильности модификации коэффициента усиления
(b) как:
<mover accent="true"><mi>X</mi><mo>^</mo></mover>
После оценки коэффициента усиления заключительный синтез
(b) вычисляется как:
<mover accent="true"><mi>X</mi><mo>^</mo></mover>
<mover accent="true"><mi>X</mi><mo>^</mo></mover>
В описанных изменениях варианта осуществления 1 объединение синтезированных векторов
(b) формирует синтезированный спектр
, который далее обрабатывается с использованием обратного преобразования MDCT с симметричным синусоидальным окном и добавляется к выходному синтезу с использованием стратегии перекрывания и добавления.
Вариант осуществления 2
В другом примерном варианте осуществления вектор формы квантуется с использованием набора квадратурных зеркальных фильтров (QMF) и схемы адаптивной дифференциальной импульсно-кодовой модуляции (ADPCM) для квантования вектора формы. Пример схемы ADPCM подполосы дан в ITU-T G.722 [4]. Входной аудиосигнал предпочтительно обрабатывается в сегментах. Примерная схема ADPCM показана на фиг. 12 с адаптивным размером шага S. При этом адаптивный размер шага квантователя вектора формы служит показателем точности, который уже присутствует в декодере и не требует дополнительной сигнализации. Однако размер шага квантования должен быть извлечен из параметров, используемых процессом декодирования, а не из синтезированного вектора формы непосредственно. Краткий обзор этого варианта осуществления показан на фиг. 14. Однако прежде чем этот вариант осуществления будет описан подробно, примерная схема ADPCM, основанная на наборе фильтров QMF, будет описана со ссылкой на фиг. 12 и 13.
Фиг. 12 иллюстрирует пример системы кодера и декодера ADPCM с адаптивным размером шага квантования. Квантователь 70 ADPCM включает в себя сумматор 72, который принимает входной сигнал и вычитает оценку предыдущего входного сигнала для формирования сигнала ошибки e. Сигнал ошибки квантуется в квантователе 74, выходные данные которого направляются в мультиплексор 18 битового потока, а также в блок 76 вычисления размера шага и деквантователь 78. Блок 76 вычисления размера шага адаптирует размер шага квантования S для получения приемлемой ошибки. Размер шага квантования S направляется в мультиплексор 18 битового потока, а также управляет квантователем 74 и деквантователем 78. Деквантователь 78 выдает оценку ошибки e сумматору 80. Другой вход сумматора 80 принимает оценку входного сигнала, который был задержан элементом 82 задержки. Это формирует текущую оценку входного сигнала, который направлен в элемент 82 задержки. Задержанный сигнал также направляется в блок 76 вычисления размера шага и (с изменением знака) в сумматор 72 для формирования сигнала ошибки e.
Деквантователь 90 ADPCM включает в себя декодер 92 размера шага, который декодирует принятый размер шага квантования S и направляет его в деквантователь 94. Деквантователь 94 декодирует оценку ошибки К, которая направляется в сумматор 98, другой вход которого принимает выходной сигнал сумматора, задержанный элементом 96 задержки.
Фиг. 13 иллюстрирует пример в контексте системы кодера и декодера аудио на основе модуляции ADPCM подполос. Сторона кодера аналогична стороне кодера варианта осуществления на фиг. 2. Существенные отличия заключаются в том, что частотный преобразователь 30 был заменен на набор 100 фильтров QMF (квадратурных зеркальных фильтров) для анализа, и что квантователь 38 тонкой структуры был заменен на квантователь ADPCM, такой как квантователь 70 на фиг. 12. Сторона декодера аналогична стороне декодера варианта осуществления на фиг. 2. Существенные отличия заключаются в том, что обратный частотный преобразователь 50 заменен на набор 102 фильтров синтеза QMF, и что деквантователь 46 тонкой структуры был заменен на деквантователь ADPCM, такой как деквантователь 90 на фиг. 12.
Фиг. 14 иллюстрирует вариант осуществления настоящей технологии в контексте системы кодера и декодера аудио на основе модуляции ADPCM подполос. Во избежание нагромождений на чертеже проиллюстрирована только сторона декодера 300. Сторона кодера может быть реализована как на фиг. 13.
Кодер варианта осуществления 2
Кодер применяет набор фильтров QMF для получения сигналов подполос. Вычисляются значения RMS каждого сигнала подполосы, и сигналы подполос нормализуются. Огибающая (b), выделение битов подполос R(b) и нормализованные векторы формы N(b) получаются, как в варианте осуществления 1. Каждая нормализованная подполоса подается в квантователь ADPCM. В этом варианте осуществления модуляция ADPCM работает прямым адаптивным способом и определяет шаг масштабирования S(b) для использования для подполосы b. Шаг масштабирования выбирается для минимизации MSE по кадру подполосы. В этом варианте осуществления шаг выбирается посредством тестирования всех возможных шагов и выбора того шага, который дает минимальное значение MSE:
где Q(x,s) является функцией квантования ADPCM переменной x с использованием размера шага s. Выбранный размер шага может использоваться для формирования квантованного вектора формы:
Индексы квантователя из квантования огибающей и квантования вектора формы мультиплексируются в битовый поток, который будет сохранен или передан декодеру.
Декодер варианта осуществления 2
<mover accent="true"><mi>N</mi><mo>^</mo></mover>
Декодер демультиплексирует индексы из битового потока и направляет соответствующие индексы в каждый модуль декодирования. Квантованная огибающая К(b) и выделение битов R(b) получаются, как в варианте осуществления 1. Синтезированные векторы формы
(b) получаются из декодера ADPCM или деквантователя вместе с адаптивными размерами шагов S (b). Размеры шагов указывают точность квантованного вектора формы, причем меньший размер шага соответствует более высокой точности и наоборот. Одна возможная реализация заключается в том, чтобы сделать точность A(b) обратно пропорциональной размеру шага с использованием коэффициента пропорциональности γ:
min
min
min
где γ должен быть установлен для достижения желаемого отношения. Один возможный выбор: γ=S, где S - минимальный размер шага, что дает точность, равную 1, для S(b)=S.
c
Коэффициент коррекции усиления g может быть получен с использованием функции отображения:
MSE
RMS
Функция отображения h может быть реализована как поисковая таблица на основе скорости R(b) и частотной полосы b. Эта таблица может быть определена посредством кластеризации оптимальных значений коррекции коэффициентов усиления g/gэтими параметрами и вычисления записи таблицы с помощью усреднения оптимальных значений коррекции коэффициентов усиления для каждого кластера.
После оценки коррекции коэффициентов усиления синтез подполосы X(b) вычисляется как:
Выходной аудиокадр получается посредством применения набора фильтров синтеза QMF к подполосам.
В примерном варианте осуществления, показанном на фиг. 14, измеритель 62 точности в устройстве 60 регулировки коэффициента усиления принимает еще не декодированный размер шага квантования S(b) непосредственно из принятого битового потока. В качестве альтернативы, как отмечено выше, следует декодировать его в деквантователе 90 ADPCM и направить его в декодированной форме в измеритель 62 точности.
Дополнительные альтернативы
Показатель точности может быть дополнен параметром класса сигнала, полученным в кодере. Это может быть, например, различитель речи/музыки или оценка уровня фонового шума. Краткий обзор системы, включающей в себя классификатор сигналов, показан на фиг. 15-16. Сторона кодера на фиг. 15 аналогична стороне кодера на фиг. 2, но снабжена классификатором 104 сигналов. Сторона декодера 300 на фиг. 16 аналогична стороне декодера на фиг. 4, но снабжена дополнительным входом класса сигнала в измерителе 62 точности.
Класс сигнала может быть включен в коррекцию коэффициента усиления, например, посредством зависимой от класса адаптации. Если мы предполагаем, что классы сигналов представляют собой речь или музыку и имеют значения C=1 и C=0, соответственно, мы можем ограничить действие регулировки коэффициента усиления только во время речи, то есть:
В другом альтернативном варианте осуществления система может действовать как модуль предсказания вместе с частично закодированной коррекцией или компенсацией коэффициента усиления. В этом варианте осуществления показатель точности используется для улучшения предсказания коррекции или компенсации коэффициента усиления таким образом, что остающаяся ошибка коэффициента усиления может быть закодирована с помощью меньшего количества битов.
c
При создании коэффициента g коррекции или компенсации коэффициента усиления можно захотеть сделать компромисс между соответствием значения RMS или энергии и минимизацией MSE. В некоторых случаях соответствие энергии становится более важным, чем точная форма волны. Например, это справедливо для более высоких частот. Чтобы приспособиться к этому, заключительная коррекция коэффициента усиления в дополнительном варианте осуществления может быть сформирована посредством использования взвешенной суммы разных значений коэффициента усиления:
c
где g - коррекция коэффициента усиления, полученная в соответствии с одним из описанных выше подходов. Весовой коэффициент β может быть сделан адаптивным, например, по частоте, битовой скорости или типу сигнала.
Описанные здесь этапы, функции, процедуры и/или блоки могут быть реализованы в аппаратных средствах с использованием любой традиционной технологии, такой как технология дискретных схем или интегральных схем, в том числе электронных схем общего назначения и специализированных схем.
В качестве альтернативы по меньшей мере некоторые из описанных здесь этапов, функций, процедур и/или блоков могут быть реализованы в программном обеспечении для исполнения подходящим устройством обработки, таким как микропроцессор, процессор цифровых сигналов (DSP) и/или любое подходящее программируемое логическое устройство, такое как программируемая пользователем вентильная матрица (FPGA).
Также следует понимать, что может быть возможным заново использовать общие возможности обработки декодера. Например, это может быть сделано посредством повторного программирования существующего программного обеспечения или посредством добавления новых программных компонентов.
<mrow><mover accent="true"><mi>N</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover accent="true"><mi>E</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover accent="true"><mi>E</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
Фиг. 17 иллюстрирует вариант осуществления устройства 60 регулировки коэффициента усиления в соответствии с настоящей технологией. Этот вариант осуществления основан на процессоре 110, например, микропроцессоре, который исполняет программный компонент 120 для оценки показателя точности, программный компонент 130 для определения коррекции коэффициента усиления, программный компонент 140 для регулировки представления коэффициента усиления. Эти программные компоненты хранятся в памяти 150. Процессор 110 взаимодействует с памятью по системной шине. Параметры
, R(b),
принимаются контроллером 160 ввода/вывода (I/O), управляющим шиной ввода/вывода, с которой соединены процессор 110 и память 150. В этом варианте осуществления параметры, принятые контроллером 160 ввода/вывода, сохраняются в памяти 150, где они обрабатываются программными компонентами. Программные компоненты 120, 130 могут реализовать функциональность блока 62 в описанных выше вариантах осуществления. Программный компонент 140 может реализовать функциональность блока 64 в описанных выше вариантах осуществления. Отрегулированное представление усиления
, полученное из программного компонента 140, выводится из памяти 150 контроллером 160 ввода/вывода по шине ввода/вывода.
max
c
c
THR
c
c
c
RMA
RMA
<mrow><mover accent="true"><mi>N</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover accent="true"><mi>N</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover accent="true"><mi>N</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
Фиг. 18 иллюстрирует вариант осуществления регулировки коэффициента усиления в соответствии с настоящей технологией более подробно. Блок 200 оценки затухания выполнен с возможностью использовать принятое выделение битов R(b) для определения затухания коэффициента усиления t(R(b)). Блок 200 оценки затухания, например, может быть реализован как поисковая таблица или в программном обеспечении, основанном на линейном уравнении, таком как уравнение (14) выше. Выделение битов R(b) также направляется в блок 202 оценки точности вектора формы, который также принимает оценочную разреженность p(b) квантованного вектора формы, например представленную высотой самого высокого импульса в представлении вектора формы
. Блок 202 оценки точности вектора формы, например, может быть реализован как поисковая таблица. Оценочное затухание t(R(b)) и оценочная точность формы A(b) умножаются в умножителе 204. В одном варианте осуществления это произведение t(R(b))·A(b) непосредственно формирует коррекцию коэффициента усиления g(b). В другом варианте осуществления коррекция коэффициента усиления g(b) формируется в соответствии с уравнением (12) выше. Для этого требуется переключатель 206, которым управляет блок 208 сравнения, который определяет, является ли полоса частот b меньше частотного ограничения b. Если это верно, тогда коррекция g(b) равна t(R(b))·A(b). Иначе коррекция g(b) устанавливается равной 1. Коррекция коэффициента усиления g(b) направляется в другой умножитель 210, другой вход которого принимает соответствующий RMS коэффициент усиления g(b). Соответствующий RMS коэффициент усиления g(b) определяется посредством блока 212 вычисления соответствующего RMS коэффициента усиления на основе принятого представления вектора формы
и соответствующей полосы пропускания BW(b), см. уравнение (4) выше. Полученное в результате произведение направляется в другой умножитель 214, который также принимает представление вектора формы
и представление коэффициента усиления К(b) и формирует синтез
.
Обнаружение стабильности, описанное со ссылкой на фиг. 10, может быть включено в вариант осуществления 2, а также в другие описанные выше варианты осуществления.
<mrow><mover accent="true"><mi>N</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover accent="true"><mi>g</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo></mrow>
c
c
Фиг. 19 является блок-схемой последовательности операций, иллюстрирующей способ в соответствии с настоящей технологией. Этап S1 оценивает показатель точности A(b) представления вектора формы
. Показатель точности, например, может быть получен из характеристик квантования вектора формы, таких как R(b), S(b), указывающих разрешение квантования вектора формы. Этап S2 определяет коррекцию коэффициента усиления, такую как g(b),
, g'(b), на основе оценочного показателя точности. Этап S3 регулирует представление коэффициента усиления К(b) на основе определенной коррекции коэффициента усиления.
max
Фиг. 20 является блок-схемой последовательности операций, иллюстрирующей вариант осуществления способа в соответствии с настоящей технологией, в котором вектор формы был закодирован с использованием импульсной схемы кодирования, и коррекция коэффициента усиления зависит от оценочной разреженности p(b) квантованного вектора формы. Предполагается, что показатель точности уже был определен на этапе S1 (фиг. 19). Этап S4 оценивает затухание коэффициента усиления, которое зависит от выделенной битовой скорости. Этап S5 определяет коррекцию коэффициента усиления на основе оценочного показателя точности и оценочного затухания коэффициента усиления. После этого процедура переходит на этап S3 (фиг. 19) для регулировки представления коэффициента усиления.
Фиг. 21 иллюстрирует вариант осуществления сети в соответствии с настоящей технологией. Она включает в себя декодер 300, снабженный устройством регулировки коэффициента усиления в соответствии с настоящей технологией. Этот вариант осуществления иллюстрирует беспроводной терминал, но возможны также другие сетевые узлы. Например, если в сети используется технология передачи голоса по протоколу IP, узлы могут содержать компьютеры.
В сетевом узле на фиг. 21 антенна 302 принимает закодированный аудиосигнал. Радиоблок 304 преобразовывает этот сигнал в параметры аудио, которые направляются в декодер 300 для формирования цифрового аудиосигнала, как описано выше со ссылкой на различные варианты осуществления. Цифровой аудиосигнал затем подвергается цифроаналоговому (D/A) преобразованию и усиливается в блоке 306 и, наконец, направляется в громкоговоритель 308.
Хотя приведенное выше описание фокусируется на основанном на преобразовании кодировании аудио, те же самые принципы также могут быть применены к кодированию аудио во временной области с раздельными представлениями коэффициента усиления и вектора формы, например, к кодированию CELP.
Специалисты в области техники поймут, что в настоящей технологии могут быть сделаны различные модификации и изменения без отступления от ее объема, который определен приложенной формулой изобретения.
СОКРАЩЕНИЯ
ADPCM Адаптивная дифференциальная импульсно-кодовая модуляция
AMR Адаптивный многоскоростной
WB-AMR Адаптивный многоскоростной широкополосный
CELP Линейное предсказание с кодовым возбуждением
GSM-EFR Улучшенный полноскоростной для глобальной системы мобильной связи
DSP Процессор цифровых сигналов
FPGA Программируемая пользователем вентильная матрица
IP Протокол Интернета
MDCT Модифицированное дискретное косинусное преобразование
MSE Среднеквадратичная ошибка
QMF Квадратурный зеркальный фильтр
RMS Среднеквадратичное значение
VQ Векторное квантование
ССЫЛКИ
[1] "ITU-T G.722.1 ANNEX C: A NEW LOW-COMPLEXITY 14 KHZ AUDIO CODING STANDARD", ICASSP 2006
[2] "ITU-T G.719: A NEW LOW-COMPLEXITY FULL-BAND (20 KHZ) AUDIO CODING STANDARD FOR HIGH-QUALITY CONVERSATIONAL APPLICATIONS", WASPA 2009
[3] U. Mittal, J. Ashley, E. Cruz-Zeno, "Low Complexity Factorial Pulse Coding of MDCT Coefficients using Approximation of Combinatorial Functions," ICASSP 2007
[4] "7 kHz Audio Coding Within 64 kbit/s", [G.722], IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, 1988