|
Алгоритм кодирования речи Vector Sum Excited Linear Prediction (VSELP) принадлежит к классу кодеров речи известных как Code Excited Linear Prediction (CELP). Кодеры такого рода используют кодовые книги, содержащие наборы векторов для апроксимации вектора возбуждения. Поиск апроксимирующего вектора требует значительного количества вычислений даже для кодовых книг минимально приемлемого размера. Алгоритм VSELP использует кодовые книги специальной структуры, что позволяет уменьшить вычислительные затраты.
Вычисление параметров линейного предсказания осуществляется один раз за полный фрагмент (20мс) автокорреляционным методом.
Поскольку коэффициенты отражения и соответствующие им коэффициенты линейного предсказания расчитываются один раз для фрагмента речи, коэффициеты для остальных подфрагментов линейно интерполируются.
Алгоритм VSELP использует метод "анализ-через-синтез" для выбора оптимального набора параметров речи по критерию минимальной энергии ошибки (MSE).
Средняя энергия рассчитывается один раз за фрагмент и квантуется пятью битовым квантователем. Наибольшее значение кода 31 соответствует средней энергии c уровнем -4dB относительно максимально возможного уровня энергии, равного квадрату максимального значения отсчета речи. Остальные уровни расположены c относительным интервалом -2dB.
После поиска части сигнала возбуждения в адаптивной кодовой книге, осуществляется поиск оставшейся части возбуждения в двух фиксированных кодовых книгах.
Адаптивная кодовая книга представляет собой память трансверсального (КИХ) фильтра с одним ненулевым коэффициентом и с переменной задержкой.
Алгоритм VSELP не содержит непосредственного квантования коэффициентов усиления. Осуществляется квантование только отдельных параметров.
Кодер VSELP каждые 20 мс формирует 160 бит данных (приложение 1), что соответствует скорости передачи 8000 б/с (из них один бит отводится на синхронизацию).
Декодер имеет сходную с кодером структуру. По принятым данным он востанавливает передаваемую речь. Для этого он:
декодирует LPC параметры;
формирует вектор из адаптивной кодовой книги;
формирует два вектора возбуждения из двух векторных кодовых книг;
рассчитывает три коэффициента усиления;
формирует сигнал возбуждения;
обновляет адаптивную кодовую книгу;
осуществляет префильтрацию вектора возбуждения;
синтезирует речь;
осуществляет постфильтрацию синтезированной речи
Префильтр основного тона повышает качество синтезированной речи, улучшая периодичность участков огласованной речи.
Адаптивный постфильтр улучшает субъективно воспринимаемое качество речи, маскируя шумы и улучшая "ясность" синтезированной речи.
Алгоритм реализован для ЦПОС семейства TMS320C3x фирмы Texas Instruments.
Реализация удовлетворяет следующим требованиям:
- функционирует в режиме реального времени;
- совместима со всеми ЦПОС в рамках семейства TMS320C3x
Ресурсоемкость реализации для TMS320C3x
Загрузка процессора |
| | Кодер | Декодер |
Вычислительный ресурс (пиковая загрузка на один канал), млн.оп./с. | 16.12 | 1.75 |
17.87 |
Память |
программа, К слов | 4.27 |
таблицы, К слов | 1.49 |
данные, К слов | 5.00 |
Всего, К слов | 10.76 |
По следующим звуковым файлам вы сможете оценить качество алгоритма VSELP:
Исходная речь | 
|
Речь, упакованная кодером VSELP и восстановленная декодером VSELP при нулевых потерях | 
|
Можно получить подробную документацию по представленным реализациям алгоритма VSELP, описание API реализации, подробные инструкции по встраиванию алгоритма в систему обработки речевых сигналов:
VSELP для TMS320C3x (формат Word)
Использовались материалы сайта http://www.dsp.sut.ru.
|