|
Алгоритм CELP (Code Excited Linear Prediction) построен на модели кодирования с использованием процедуры анализа-через-синтез, линейного предсказания и векторного квантования. Для моделирования кратковременного спектра речевого сигнала (формантной структуры) используется фильтр линейного предсказания 10-го порядка. Для формирования сигнала возбуждения используются адаптивная и стохастическая кодовые книги. Таким образом, CELP анализ состоит из трёх основных процедур:
кратковременное линейное предсказание;
долговременный поиск по адаптивной кодовой книге;
поиск по стохастической кодовой книге
CELP синтез состоит из этих же процедур, выполненных в обратном порядке.
Вычислительная сложность алгоритма определяется процедурами поиска оптимальных векторов возбуждения по двум кодовым книгам. CELP4600 имеет улучшенный алгоритм поиска по адаптивной и стохастической кодовым книгам по сравнению с алгоритмом FS1016.
Кодер оперирует с кадрами речевого сигнала длиной 30мс (240 отсчётов), дискретизированными с частотой 8КГц. Для каждого кадра производится анализ речевого сигнала, и выделяются передаваемые параметры CELP-модели. Далее эти параметры кодируются в битовый поток и передаются в канал. Встроенный в алгоритм определитель речевой активности (VAD - voice activity detector) позволяет снижать скорость выходного цифрового потока в паузах до 900 бит/с.
В декодере предусмотрен алгоритм компенсации потерь, который интерполирует потерянные кадры и сохраняет приемлемое качество речи до 15% одиночных потерь.
Алгоритм реализован для ЦПОС семейства TMS320C3x фирмы Texas Instruments.
Реализация удовлетворяет следующим требованиям:
- функционирует в режиме реального времени;
- совместима со всеми ЦПОС в рамках семейства TMS320C3x
Ресурсоемкость реализации для TMS320C3x
Загрузка процессора |
| | Кодер | Декодер |
Вычислительный ресурс (пиковая загрузка на один канал), млн.оп./с. | 21.84 | 2.63 |
24.47 |
Память |
программа, К слов | 6.98 |
таблицы, К слов | 11.85 |
данные, К слов | 8.36 |
Всего, К слов | 27.19 |
По следующим звуковым файлам вы сможете оценить качество алгоритма CELP4600:
Исходная речь | 
|
Речь, упакованная кодером CELP4600 и восстановленная декодером CELP4600 при нулевых потерях и выключенном VAD | 
|
Речь, упакованная кодером CELP4600 и восстановленная декодером CELP4600 при нулевых потерях и включенном VAD | 
|
Можно получить подробную документацию по представленным реализациям алгоритма CELP4600, описание API реализации, подробные инструкции по встраиванию алгоритма в систему обработки речевых сигналов:
CELP4600 для TMS320C3x (формат Word)
Использовались материалы сайта http://www.dsp.sut.ru.
|