Для передачи голоса по IP-сети, человеческий голос оцифровывается (АЦП) при помощи импульсно-кодовой модуляции, сжимается (кодируется) и разбивается на пакеты. На принимающей стороне, происходит обратная процедура - данные извлекаются из пакетов, декодируются и преобразуются обратно в аналоговый сигнал (ЦАП).
Кодирование вносит дополнительную задержку порядка 15—45 мс, возникающую по следующим причинам:
- использование буфера для накопления сигнала и учёта статистики последующих отсчётов (алгоритмическая задержка);
- математические преобразования, выполняемые над речевым сигналом, требуют процессорного времени (вычислительная задержка).
Подобная задержка появляется и при декодировании речи на другой стороне.
Задержку кодека необходимо учитывать при расчёте сквозных задержек (см. выше). Кроме того, сложные алгоритмы кодирования/декодирования требуют более серьёзных затрат вычислительных ресурсов системы.
Проведённый в различных исследовательских группах анализ качества передачи речевых данных через Интернет показывает, что основным источником возникновения искажений, снижения качества и разборчивости синтезированной речи является прерывание потока речевых данных, вызванное:
- потерями пакетов при передаче по сети связи;
- превышением допустимого времени доставки пакета с речевыми данными.
Это требует решения задачи оптимизации задержек в сети и создание алгоритмов компрессии речи, устойчивых к потерям пакетов (восстановления потерянных пакетов).
Кодеки
Применяемые алгоритмы сжатия голоса при передаче по IP-сети довольно разнообразны. Некоторые практически не сжимают голос, оставляя его на уровне импульсно-кодовой модуляции (т.е. 64 килобит в секунду), другие кодеки позволяют сжимать цифровой голосовой поток в 8 и более раз за счёт эффективных алгоритмов кодирования. Существует немало хороших свободных кодеков, использование которых не требует лицензирования. Для других же требуется достижения соответствующей лицензионной сертификации между производителем оборудования (программного обеспечения) и авторами метода сжатия.
Открытые:
| Проприетарные:
|
Сравнительные характеристики VoIP-кодеков[4]
Кодек | Полезная нагрузка пакета, байт | Скорость передачи, кбит/с | Алгоритмическая задержка, миллисекунд | Занимаемый поток, кбит/с | |
IP-пакеты | Ethernet-фреймы | ||||
G.711 | 64,8 | ||||
G.723.1 (6.3) | 6,3 | 37,5 | 6,9 | 17,1 | |
G.723.1 (5.3) | 5,3 | 37,5 | 5,9 | ||
G.726-32 | 32,8 | 42,7 | |||
G.726-24 | 24,8 | 34,7 | |||
G.726-16 | 16,8 | 26,7 | |||
G.729 (8) | 8,8 | 18,7 | |||
G.729 (6.4) | 6,4 | 7,2 | 17,1 |