Error_Reporting(E_ALL & ~E_NOTICE); $PAGE_RIGHT_ARR = array('h323'); $PAGE_TITLE = "Компоненты H.323. Рекомендация ITU-T G.729"; $PAGE_WORDS = "оператор, качество, связь, технологии, стандарты, h.323, g.711, g.723, g.728, g.722, g.729, IP-телефония, IP телефония, IP-телефон, IP телефон, компьютерная телефония, интернет-телефония, звонки через интернет, международные, междугородние, бесплатные, компьютер-телефон, телефон-телефон, компьютер-компьютер"; $PAGE_DESCR = "Компоненты H.323. Рекомендация ITU-T G.729"; $PAGE_CLASS = "Интернет, Сервис, Услуги, Связь, IP-Телефония, Internet, Технологии, Электронная коммерция"; $PAGE_MENU = 'описание компоненты
Здесь приведена исчерпывающая информация о компонентах стандарта H.323.
Описание рекомендации Реализация для TMS320C54x Реализация для TMS320C62x Звук Документация
Рекомендация ITU-T G.729 (Приложения A и B)
Рекомендация 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мс. Также, задержки речевого сигнала в практическом приложении этого алгоритма определяются временем, затрачиваемым на:
Помимо "чистой" рекомендации G.729, существуют "приложения" (annexes) А и B. Приложение А - версия рекомендации, менее требовательная к вычислительной мощности ЦПОС за счет некоторого ухудшения качества кодирования. Алгоритм теоретически должен потреблять на 40-50% меньше временного ресурса, чем "чистая" G.729. Изменения, в основном, касаются следующих частей алгоритма: поиск периода основного тона и поиск параметров возбуждения по алгебраической кодовой книге. Приложение В добавляет в кодер часть классификации входного речевого сигнала. Это, так называемый, VAD - voice activity detector. Классификатор входного сигнала определяет, что в данный момент присутствует на входе - речь или пауза. В моменты пауз битовый поток понижается с 8 кбит/с до 0.8 кбит/с. Более того, в моменты пауз в битовом потоке передается информация о структуре фонового шума, чтобы на стороне декодера у слушателя не возникало дискомфорта от "чистых" пауз между фразами - т.е. присутствует генератор комфортного шума.
Полное описание рекомендации можно найти в документах (или на сайте ITU):
Многоканальная реализация для ЦПОС семейства TMS320C54x
Алгоритм реализован для ЦПОС семейства TMS320C54x фирмы Texas Instruments.
Реализация удовлетворяет следующим требованиям:
Ресурсоемкость реализации для TMS320C54x (версия 1.3)
Загрузка процессора | ||||
G.729.AB кодер | G.729.AB декодер | G.729.A кодер | G729.A декодер | |
Вычислительный ресурс (пиковая загрузка на один канал), млн.оп./с. | 10.9 | 2.44 | 10.9 | 2.2 |
13.34 | 13.1 | |||
Память | |
программа, К слов | 9.65 |
таблицы, К слов | 3.13 + 0.06 * N |
данные, К слов | 1.3 + 1.8 * N |
Всего, К слов | 14.08 + 1.86 * N |
где N - число одновременно реализуемых каналов.
Таким образом, на одном процессоре TMS320C549 с 32 килословами внутренней памяти и мощностью 100MIPS можно реализовать независимую обработку семи речевых каналов
Многоканальная реализация для ЦПОС семейства TMS320C62x
Алгоритм реализован для ЦПОС семейства TMS320C62x фирмы Texas Instruments.
Реализация удовлетворяет следующим требованиям:
Ресурсоемкость реализации для TMS320C62x
Загрузка процессора | ||||
G.729.AB кодер | G.729.AB декодер | G.729.A кодер | G729.A декодер | |
Вычислительный ресурс (пиковая загрузка на один канал), млн.оп./с. | 13.33 | 2.88 | 13.3 | 2.5 |
16.21 | 15.8 | |||
Память | |
программа, К байт | 90.25 |
таблицы, К байт | 8.4 |
данные, К байт | 1.9 * N + 1.7 * N |
Всего, К байт | 98.65 + 3.6 * N |
где N - число одновременно реализуемых каналов.
Таким образом, на одном процессоре TMS320C6201 мощностью 1600MIPS можно реализовать независимую обработку двенадцати речевых каналов
Звук
По следующим звуковым файлам вы сможете оценить качество алгоритма G.729.AB:
Исходная речь | |
Речь, упакованная кодером G.729.AB и восстановленная декодером G.729.AB при нулевых потерях |
Документация
Можно получить подробную документацию по представленным реализациям алгоритма ITU-T G.729 (Приложения A и B), описание API реализаций, подробные инструкции по встраиванию алгоритма в систему обработки речевых сигналов:
ITU-T G729.AB для TMS320C54x (формат Word)
ITU-T G729.AB для TMS320C62x (формат Word)
Использовались материалы сайта http://www.dsp.sut.ru.