VoIP (Voice-over-IP) - IP-телефония - система связи, при которой аналоговый звуковой сигнал от одного абонента дискретизируется (кодируется в цифровой) вид, компрессируется и пересылается по цифровым каналам связи до второго абонента, где производится обратная операция - декомпрессия, декодирование и воспроизведение аналогового сигнала.
Возможность передачи голосовых сообщений через сеть с пакетной коммутацией впервые была реализована в 1993 году. Данная технология получила название VoIP (Voice over IP). Одним из частных приложений данной технологии является IP-телефония - услуга по передаче телефонных разговоров абонентов по протоколу IP.
Основными преимуществами технологии VoIP является сокращение требуемой полосы пропускания, что обеспечивается учётом статистических характеристик речевого трафика:
С другой стороны трафик VoIP критичен к задержкам пакетов в сети, но обладает толерантностью (устойчивостью) к потерям отдельных пакетов. Так потеря до 5 % пакетов не приводит к ухудшению разборчивости речи.
В соответствии с этим при передаче телефонного трафика по технологии VoIP должны учитываться жёсткие требования рек. ISO 9000 к качеству услуг, характеризующие качество установления соединения и качество соединения. Основным показателем качества в первом случае является время установления соединения. Во втором случае показателями качества являются сквозные (воспринимаемые пользователем) задержки и качество воспринимаемой речи. В связи с указанными аспектами уровень QoS можно соотнести с одним из четырёх классов.
Классы качества передачи речи по сетям IP
Показатели качества передачи речи | Классы качества услуги | ||||
---|---|---|---|---|---|
Лучшее | Высокое | Среднее | Низкое | ||
Время установления соединения | прямая IP-адресация | < 1.5 сек | < 4 сек | < 7 сек | - |
перевод номера E.164 в IP-адрес | < 2 сек | < 5 сек | < 10 сек | - | |
перевод номера E.164 в IP-адрес через расчётную организацию | < 3 сек | < 8 сек | < 15 сек | - | |
перевод имени e-mail в IP-адрес | < 4 сек | < 13 сек | < 25 сек | - | |
Сквозные задержки | по стандарту ETSI TS101329 | < 150 мс | < 250 мс | < 350 мс | < 450 мс |
по рекомендации ITU-T G.114 | < 150 мс | < 260 мс | < 400 мс | > 400 мс | |
Качество воспринимаемой речи | ETSI | Не хуже G.711 | Не хуже G.726 для 32 кбит/сек | Не хуже GSM-FR | С максимальными усилиями |
Баллы MOS | > 4.5 | 4.0 - 4.5 | 3.5 - 4.0 | 3.5 - 3.0 |
В результате для обеспечения требований QoS при передаче телефонного трафика по технологии VoIP (особенно в условиях ограниченной пропускной способности сети, характерной для сетей специальной связи) необходимо использовать ряд дополнительных механизмов, не существующих в классических IP-сетях. К этим механизмам относятся:
Источником информационных данных является речевой сигнал, возможной моделью которого является нестационарный случайный процесс. В первом приближении можно выделить следующие типы сигнальных фрагментов: вокализированные, невокализированные, переходные и паузы. При передаче речи в цифровой форме каждый тип сигнала при одной и той же длительности и одинаковом качестве требует различного числа бит для кодирования и передачи. Следовательно, скорость передачи разных типов сигнала также может быть различной, что обусловливает применение кодеков с переменной скоростью. В результате передача речевых данных в каждом направлении дуплексного канала рассматривается как передача асинхронных логически самостоятельных фрагментов цифровых последовательностей (транзакций) с датаграммной синхронизацией внутри транзакции, наполненной блоками различной длины. В основе кодека речи с переменной скоростью лежит классификатор входного сигнала, определяющий степень его информативности и, таким образом, задающий метод кодирования и скорость передачи речевых данных. Наиболее простым классификатором речевого сигнала является Voice Activity Detector (VAD), который выделяет во входном речевом сигнале активную речь и паузы. При этом, фрагменты сигнала, классифицируемые как активная речь, кодируются каким-либо из известных алгоритмов (как правило, на базе метода Code Excited Linear Prediction - CELP) с базовой скоростью 4-8 кбит/с. Фрагменты, классифицированные как паузы, кодируются и передаются с низкой скоростью порядка 0.1 - 0.2 Кбит/с, либо не передаются вообще. При этом передача минимальной информации о фрагментах пауз предпочтительна. Данная стратегия позволяет оптимизировать скорость кодирования до 2-4 кбит/с при достаточном качестве синтезируемой речи. При этом для особо критичных фрагментов речевого сигнала выделяется большая скорость передачи, для менее ответственных - меньшая. Вместе с тем необходимо отметить, что вокодер вносит дополнительную задержку порядка 15-45 мс, возникающую по следующим причинам:
Данную задержку необходимо учитывать при расчёте сквозных задержек. Проведённый в различных исследовательских группах анализ качества передачи речевых данных через сеть Интернет показывает, что основным источником возникновения искажений, снижения качества и разборчивости синтезированной речи является прерывание потока речевых данных, вызванное:
Это требует решения задачи оптимизации задержек в сети и создание алгоритмов компрессии речи устойчивых к потерям пакетов (восстановления потерянных пакетов).
Проприетарные:
Гибридный кодек, описанный в рекомендации G.728 в 1992 г, относится к категории LD-CELP – Low Delay - Code Excited Linear Prediction – Кодек с управляемым кодом линейным предсказанием и малой задержкой. Кодек обеспечивает скорость преобразования 16 Кбит/с, вносит задержку при кодировании от 3 до 5 мс и предназначен для использования в системах видеоконференций. В устройствах IP-телефонии данный кодек применяется достаточно редко.
Семейство включает кодеки G.729, G.729 Annex А, G.729 Annex B (содержит VAD и генератор комфортного шума). Кодеки G.729 сокращенно называют CS-ACELP Conjugate Structure - Algebraic Code Excited Linear Prediction – Сопряжённая структура с управляемым алгебраическим кодом линейным предсказанием. Процесс преобразования использует 21,5 MIPS и вносит задержку 15 мс. Скорость кодированного речевого сигнала составляет 8 Кбит/с. В устройствах VoIP данный кодек занимает лидирующее положение, обеспечивая наилучшее качество кодирования речевой информации при достаточно высокой компрессии.
Рекомендация G.723.1 описывает гибридные кодеки, использующие технологию кодирования речевой информации, сокращённо называемую – MP-MLQ (Multy-Pulse – Multy Level Quantization – Множественная Импульсная, Многоуровневая Квантизация), данные кодеки можно охарактеризовать, как комбинацию АЦП/ЦАП и вокодера. Как уже упоминалось выше, своим возникновением гибридные кодеки обязаны системам мобильной связи. Применение вокодера позволяет снизить скорость передачи данных в канале, что принципиально важно для эффективного использования как радиотракта, так и IP-канала. Основной принцип работы вокодера – синтез исходного речевого сигнала посредством адаптивной замены его гармонических составляющих соответствующим набором частотных фонем и согласованными шумовыми коэффициентами. Кодек G.723 осуществляет преобразование аналогового сигнала в поток данных со скоростью 64 Кбит/с (ИКМ), а затем при помощи многополосного цифрового фильтра/вокодера выделяет частотные фонемы, анализирует их и передаёт по IP-каналу информацию только о текущем состоянии фонем в речевом сигнале. Данный алгоритм преобразования позволяет снизить скорость кодированной информации до 5,3 – 6,3 Кбит/с без видимого ухудшения качества речи. Структурная схема кодека приведена на рисунке. Кодек имеет две скорости и два варианта кодирования: 6,3 Кбит/с с алгоритмом MP-MLQ и 5,3 Кбит/с с алгоритмом CELP. Первый вариант предназначен для сетей с пакетной передачей голоса и обеспечивает лучшее качество кодирования по сравнению с вариантом CELP, но менее адаптирован к использованию в сетях со смешанным типом трафика (голос/данные).
Процесс преобразования требует от DSP 16,4 – 16,7 MIPS (Million Instructions Per Second) и вносит задержку 37 мс. Кодек G.723.1 широко применяется в голосовых шлюзах и прочих устройствах IP-телефонии. Кодек уступает по качеству кодирования речи кодеку G.729а, но менее требователен к ресурсам процессора и пропускной способности канала.
Бесплатные:
Рекомендация G.726 описывает технологию кодирования с использованием Адаптивной Дифференциальной Импульсно-Кодовой Модуляции (АДИКМ) со скоростями: 32 Кбит/с, 24 Kбит/с, 16 Kбит/с. Процесс преобразования не вносит существенной задержки и требует от DSP 5,5 - 6,4 MIPS. Структурная схема кодека приведена на рисунке 4.
Кодек может применяться совместно с кодеком G.711 для снижения скорости кодирования последнего. Кодек предназначен для использования в системах видеоконференций.
Рекомендация, утверждённая МККТТ в 1984 г., описывает кодек, использующий ИКМ преобразование аналогового сигнала с точностью 8 бит, тактовой частотой 8 Кгц и простейшей компрессией амплитуды сигнала. Скорость потока данных на выходе преобразователя составляет 64 Кбит/с (8 Бит ´ 8 КГц). Для снижения шума квантования и улучшения преобразования сигналов с небольшой амплитудой, при кодировании используется нелинейное квантование по уровню согласно специальному псевдо - логарифмическому закону A или m - Law.
Первые ИКМ кодеки с нелинейным квантованием появились уже в 60-х гг. Кодек G.711 широко распространён в системах традиционной телефонии с коммутацией каналов. Несмотря на то, что рекомендация G.711 в стандарте Н.323 является основной и первичной, в шлюзах IP-телефонии данный кодек применяется редко из-за высоких требований к полосе пропускания и задержкам в канале передачи (всё-таки 64 Кбит/с это много). Использование G.711 в системах IP-телефонии обосновано лишь в тех случаях, когда требуется обеспечить максимальное качество кодирования речевой информации при небольшом числе одновременных разговоров.
Компания AudioCodes, приложившая в своё время немало усилий по созданию кодека G.723.1 специально для использования в сетях IP-телефонии, предлагает свою новую разработку - кодек NetCoder. По словам AudioCodes, кодек обладает качеством превосходящим популярные кодеки G.723.1 и G.729 и не требует значительных вычислительных ресурсов. Однако, производители голосовых шлюзов пока не торопятся поддерживать данное творение в своих продуктах. Не включен этот кодек также и в семейство кодеков стандарта Н.323. Использовать сегодня NetCoder в голосовых шлюзах можно не без риска потери совместимости с шлюзами других производителей, установленных в сети. Кодек NetCoder работает в диапазоне скоростей 4,8 – 9,6 Кбит/с, при формировании кадра вносит задержку 20 мс и имеет встроенный механизм оптимальной трансляции речевых пауз, основанный на технологии порогового детектирования голосовой активности VAD и автоматическую регулировку скорости передачи.
Таблица сравнительная оценка качества кодеков
Кодек | Тип кодека | Скорость кодирования | Размер кадра | Оценка |
---|---|---|---|---|
G.711 | ИКМ | 64 Кбит/с | 0,125 мс | 4,1 |
G.726 | АДИКМ | 32 Кбит/с | 0,125 мс | 3,85 |
G.728 | LD – CELP | 16 Кбит/с | 0,625 мс | 3,61 |
G.729 | CS – ACELP (без VAD) | 8 Кбит/с | 10 мс | 3,92 |
G.729 | 2-х кратное кодирование | 8 Кбит/с | 10 мс | 3,27 |
G.729 | 3-х кратное кодирование | 8 Кбит/с | 10 мс | 2,68 |
G.729a | CS – ACELP | 8 Кбит/с | 10 мс | 3,7 |
G.723.1 | MP – MLQ | 6,3 Кбит/с | 30 мс | 3,9 |
G.723.1 | ACELP | 5,3 Кбит/с | 30 мс | 3,65 |
Net Coder | ? | 4,8 – 9,6 Кбит/с | 20 мс | * |
Оценка кодеков произведена по традиционной 5-ти бальной шкале, где наилучшему качеству звучания соответствует наибольший бал.
Сигнальные протоколы обеспечивают установку звонка, регистрацию IP телефона на сервер провайдера, переадресацию вызова, передачу имени и номера абонента. В настоящее время широкое распространение получили следующие сигнальные протоколы:
SIP (англ. Session Initiation Protocol - протокол установления сессии) - обеспечивает передачу голоса и сигнала, не является чисто сигнальным, протокол, разработанный IETF MMUSIC Working Group, и предлагаемый стандарт установления, изменения и завершения интерактивного пользовательского сеанса, включающего мультимедийные элементы, такие как видео, голос, мгновенные сообщения (instant messaging), он-лайн игры и виртуальная реальность. В ноябре 2000 года SIP был утверждён как сигнальный протокол проекта 3GPP и постоянный элемент архитектуры IMS. Наряду с H.323, SIP - один из основополагающих протоколов Voice over IP.
В сводной таблице представлены характеристики кодеков семейства Н.323
Кодек | Тип кодека | Скорость кодирования | Задержка при кодировании |
---|---|---|---|
G.711 | ИКМ | 64 Кбит/с | 0,75 мс |
G.726 | АДИКМ | 32 Кбит/с | 1 мс |
G.728 | LD – CELP | 16 Кбит/с | От 3 до 5 мс |
G.729 | CS – ACELP | 8 Кбит/с | 10 мс |
G.726 a | CS – ACELP | 8 Кбит/с | 10 мс |
G.723.1 | MP – MLQ | 6,3 Кбит/с | 30 мс |
G.723.1 | ACELP | 5,3 Кбит/с | 30 мс |
Задержки пакетов в IP-сетях определяются:
В соответствии с этим существует несколько подходов к оптимизации задержек с целью обеспечения требуемого качества передачи.
С учётом возможных потерь пакетов в сети для восстановления речевого потока на приёмной стороне используется протокол реального времени - Real Time Protocol (RTP). В заголовке данного протокола, в частности, передаются временная метка и номер пакета. Эти параметры позволяют при минимальных задержках определить порядок и момент декодирования каждого пакета, а также интерполировать потерянные пакеты. Восстановленная последовательность, с возможными пропусками как одиночных пакетов, так и групп пакетов, поступает на декодер. Декодер должен обеспечить восстановление речевой информации, заполнение пауз фоновым шумом, а также эхокомпенсацию кодируемого сигнала, обнаружение и детектирование телефонной сигнализации.