English version

Вокодер LD-CELP на 16кбит/с

Реализация вокодера выполнена на основе процедур описанных в рекомендации G.728. Однако, данная реализация не является реализацией стандарта G728 с побитовым соответствием контрольным тестовым векторам стандарта G728. Тем не менее, между ними сохранена совместимость, позволяюща им работать друг с другом в обе стороны с полным сохранением качества звука. Алгоритм предназначен для компрессии и передачи речевых данных со скоростью 16 кбит/с.

Входной сигнал с частотой дискретизации 8кГц, компандированный по А- или µ-закону (G711), преобразуется для получения линейного кода. В алгоритме LD-CELP предполагается, что входной сигнал лежит в диапазоне от -4095 до +4095 (А-закон). В случае µ-закона линейный код будет лежать в диапазоне от -8031 до +8031, следовательно, входные величины должны быть дополнительно разделены на 2 перед началом кодирования.

Единственная информация, передаваемая от кодера декодеру, - это индекс в кодовой книге квантованных векторов возбуждения. Другие 3 вида параметров будут периодически обновляться: коэффициент усилени для сигнала возбуждения, коэффициенты синтезирующего фильтра, коэффициенты взвешивающего фильтра. Эти параметры вычисляются адаптивным способом на основании сигнала, предшествующего текущему вектору. Коэффициент усилени сигнала возбуждения обновляется с каждым новым вектором, а коэффициенты синтезирующего и взвешивающего фильтров обновляются каждые 4 вектора (т.е. каждые 20 отсчетов = период адаптации 2.5 мс). Хотя цикл адаптации в алгоритме равен 4 векторам, размер буфера по-прежнему составляет 1 вектор (5 отсчетов). Такой размер буфера позволяет достичь величины end-to-end задержки менее чем 2 мс.

Для вычисления коэффициентов линейного предсказания синтезирующего фильтра 50го порядка, взвешивающего фильтра 10го порядка и фильтра предсказател коэффициента усиления 10го порядка используется процедура, реализующа метод Левинсона-Дарбина. Вызывается данная процедура на трех подфрагментах и в качестве параметров получает размерность фильтра и указатели на массив автокорреляционных коэффициентов и массив выходных данных (куда будут помещены вычисленные коэффициенты предсказания). Для уменьшения числа операций "окружения" (изменения указателей, переинициализаций переменных и.т.п.) вычисление коэффициентов производится сразу для пар (2й,3й коэффициенты, 4й, 5й ....) за один шаг алгоритма.

В анализаторе осуществляется поиск среди 1024 кодовых векторов в кодовой книге возбуждений квантованной речи и определяетс индекс лучшего кодового вектора, который дает соответствующий квантованный речевой вектор, наиболее приближенный к вектору входной речи.

Для снижения сложности поиска 10-битовая 1024-элементна кодовая книга разбивается на две меньшие кодовые книги: 7-битовую "книгу форм", состоящую из 128 независимых кодовых векторов, и 3-битовую "книгу коэффициентов усиления", состоящую из 8 скалярных величин, симметричных относительно нуля (т.е. 1 бит для знака и 2 бита для модуля). Окончательное значение кодового вектора представляет собой результат произведени лучшего вектора формы (из 7-битовой книги форм) и лучшего уровня коэффициента усиления.

Как только лучшие индексы (книги форм и книги коэффициентов усиления) определены, их соединяют для формирования выходной величины модуля поиска в кодовой книге в один 10-битовый индекс.

При получении из канала связи индекса возбуждения по адресу, указнному в индексе, восстанавливается вектор возбуждения, выбранный анализатором LD-CELP.

Декодированный речевой вектор получается путем фильтрации масштабированного вектора возбуждения через синтезирующий фильтр.

[наверх] [на главную]


Реализация для ЦПОС семейства TMS320C3x

Алгоритм реализован для ЦПОС семейства TMS320C3x фирмы Texas Instruments.

Реализация удовлетворяет следующим требованиям:

  • функционирует в режиме реального времени;
  • совместима со всеми ЦПОС в рамках семейства TMS320C3x

Ресурсоемкость реализации для TMS320C3x

Загрузка процессора

 

Кодер

Декодер

Вычислительный ресурс (пиковая загрузка на один канал), млн.оп./с.

14.01

10.38

24.39

Память

программа, К слов

1.91

таблицы, К слов

0.84

данные, К слов

2.43

Всего, К слов

5.18

[наверх] [на главную]

Звук

По следующим звуковым файлам вы сможете оценить качество алгоритма LD-CELP:

Исходная речь

fspeech.wav

Речь, упакованная кодером LD-CELP и восстановленная декодером LD-CELP при нулевых потерях

fspeech_ld-celp.wav

[наверх] [на главную]

Документация

Можно получить подробную документацию по представленным реализациям алгоритма LD-CELP, описание API реализации, подробные инструкции по встраиванию алгоритма в систему обработки речевых сигналов:
LD-CELP для TMS320C3x (формат Word)

[наверх] [на главную]


Навигация

Описание рекомендации

Реализация для TMS320C3x

Звук

Документация


По вопросам приобретения библиотек, исходных текстов программ или реализаций готовых устройств на основе малогабаритных DSP модулей обращайтесь по e-mail:

e-mail в графическом файле

Подробная контактная информация представлена в разделе "О Центре"

Copyright © 1999-2009, Центр ЦОС СПб ГУТ