|
Рекомендация ITU-T G.729 - это CS-ACELP вокодер (Conjugate-structure Algebraic-code-excited Linear-Prediction). Алгоритм основан на модели кодирования с использованием линейного предсказания с возбуждением по алгебраической кодовой книге (CELP-модель). Кодер оперирует с кадрами речевого сигнала длиной 10мс, дискретизованными с частотой 8КГц, что соответствует 80 16-битным отсчетам в линейном законе. Для каждого кадра производится анализ речевого сигнала и выделяются параметры модели (коэффициенты фильтра линейного предсказания, индексы и коэффициенты усиления в адаптивной и фиксированной кодовых книгах). Далее эти параметры кодируются и передаются в канал.
В декодере битовая посылка используется для восстановления параметров сигнала возбуждения и коэффициентов синтезирующего фильтра. Речь восстанавливается путем пропускания сигнала возбуждения через кратковременный синтезирующий фильтр.
Синтезирующий фильтр имеет полюсную передаточную функцию 10-го порядка. Для работы синтезатора основного тона используется адаптивная кодовая книга. В последующем, речь улучшается адаптивной постфильтрацией.
В случае потери передаваемой кодером битовой посылки, исходные данные для речевого синтезатора получаются интерполяцией данных с предыдущих "хороших" кадров, но при этом энергия интерполированного речевого сигнала постепенно уменьшается, что не создает особого дискомфорта у слушателя.
Вокодер обрабатывает кадры речевых сигналов длиной 10мс. Дополнительно, существует задержка длиной 5мс (look-ahead buffer), что в сумме выливается в алгоритмическую задержку 15мс. Также, задержки речевого сигнала в практическом приложении этого алгоритма определяются временем, затрачиваемым на:
- процессы кодирования и декодирования;
- передачу по каналу;
- мультиплексирование при комбинировании аудиоданных с другими видами данных.
Полное описание рекомендации можно найти в документах (или на сайте ITU):
- ITU-T Recommendation G.729, Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear-prediction (CS-ACLEP)
Алгоритм реализован для ЦПОС семейства TMS320C54x фирмы Texas Instruments.
Реализация удовлетворяет следующим требованиям:
- функционирует в режиме реального времени;
- совместима со всеми ЦПОС в рамках семейства TMS320C54x (не используются специфические особенности старших моделей, таких как TMS320C548, TMS320C549 и пр.);
- полностью совместима с требованиями стандарта ITU-T G.729 - достигнуто побитовое соответствие тестовым векторам
Ресурсоемкость реализации для TMS320C54x (версия 1.0)
Загрузка процессора |
| | G.729 кодер | G.729 декодер |
Вычислительный ресурс (пиковая загрузка на один канал), млн.оп./с. | 21.15 | 3.71 |
24.86 |
Память |
программа, К слов | 7.4 |
таблицы, К слов | 2.92 |
данные, К слов | 1.2(heap) + 0.05 + 1.67 * N |
Всего, К слов | 11.57 + 1.67 * N |
Таким образом, на одном процессоре TMS320C549 с 32 килословами внутренней памяти и мощностью 100MIPS можно реализовать независимую обработку четырех речевых каналов
По следующим звуковым файлам вы сможете оценить качество алгоритма G.729:
Исходная речь | 
|
Речь, упакованная кодером G.729 и восстановленная декодером G.729 при нулевых потерях | 
|
Можно получить подробную документацию по представленным реализациям алгоритма ITU-T G.729, описание API реализаций, подробные инструкции по встраиванию алгоритма в систему обработки речевых сигналов:
ITU-T G.729 для TMS320C54x (формат Word)
Использовались материалы сайта http://www.dsp.sut.ru.
|