Конвергенция систем передачи речи и данных в единую мультимедийную сеть стала популярным трендом. Необходимость перехода от существующих сетей осознана рынком, процесс этот начался и постепенно набирает обороты. В статье обсуждаются вопросы высококачественной передачи речи с помощью технологий IP-телефонии.
Цифровые технологии, обычно именуемые IP-телефонией или VoIP, имеют реальный потенциал для удовлетворения новым рыночным требованиям за счет:
– удешевления себестоимости трафика при использовании пакетных сетей, а не выделенных линий связи;
– обеспечения необходимого класса обслуживания QoS для абонентов;
– обеспечения надлежащего уровня безопасности системы связи;
– увеличения емкости, уменьшения эксплуатационных расходов;
– совместного использование оборудования различных производителей;
– расширения абонентских сервисов;
– шлюзования звонков в сетях 3G, 4G, а также интеграции с популярными системами радиосвязи, например, APCO P25, DMR и др.;
– постепенной интеграции с системами передачи видео.
Постепенно переход на технологию IP-телефонии происходит и в тех приложениях, где традиционно использовалась специализированная техника, например, переговорные устройства, диспетчерские системы связи, радиосвязь. Безусловно, глубина использования технологий разная. Скажем, для систем радиосвязи требуется минимизация накладных расходов на передачу адресной и управляющей информации в VoIP-трафике, поэтому способ инкапсуляции этой информации в пакетах иной, чем в проводных сетях. Тем не менее технология VoIP предоставляет стандартизованные средства ретрансляции и шлюзования трафика и потому идеально подходит для объединения сегментов разнородных сетей или передачи данных на рабочие места операторов через стандартные сети фиксированной связи.
Безусловно, правильный дизайн всех компонентов IP-телефонии оказывает решающее значение для удовлетворения пользователей. При этом важны все аспекты системы:
– инфраструктурное и каналообразующее оборудование (линии связи, маршрутизаторы, шлюзы и т.д.) должно обеспечивать надлежащие характеристики по множеству параметров: полоса, задержка установления и разрыва соединения, максимальная задержка RTP-пакетов, сетевой джиттер и коэффициент потерь пакетов, надежность, функции безопасности (шифрование, VPN и т.д.), поддержка функций QoS в части приоритезации классов трафика;
– инфраструктурное оборудование VoIP (IP-АТС, шлюзы аналоговой телефонии, устройства записи речи, серверы конференцсвязи) должно поддерживать разнообразные функции как в части сигнализации (SIP или H.323), так и в части передачи и обработки речи (сжатие, подавление эха и шума , контроль качества речи (ITU-T G.107, G.109.) и т.д.). Кроме того, данный сегмент сети отвечает за разнообразные абонентские сервисы, такие как иерархический перевод вызовов, виртуальные совещания и т.д.
– абонентские окончания (цифровые/аналоговые телефоны, диспетчерские пульты, программные телефоны для ПК и мобильных устройств, переговорные устройства и т.д.) во многом определяют восприятие общего качества системы конечным потребителем. Наиболее критичными требованиями являются высококачественная обработка акустического эха в условиях высоких внешних шумов, минимизация общей задержки в аудиотракте, поддержка широкого набора кодеков для обеспечения оптимального качества речи.
Не пытаясь охватить все, в данной статье будут рассмотрены узкие места в дизайне инфраструктурного оборудования VoIP и абонентских окончаний, наиболее заметно влияющие на качество и восприятие речи, а именно, джиттер; кодеки и эхоподавление.
Наличие сетевого джиттера является фактом, который часто недооценивается при дизайне системы. Важно понимать основные причины его возникновения и то, как он связан с общей задержкой.
В традиционных телефонных сетях с коммутацией каналов общая задержка обычно не превышает 30…50 мс за исключением спутниковых каналов, где она может достигать величин порядка 250 мс. При этом задержка практически постоянная и меняется очень медленно. Фактически джиттер в этих сетях не превышает величину, равную одному таймслоту (125 мкс).
В рекомендациях ITU-T G.114, G.131 подробно изложены негативные последствия джиттера и задержки. Один из важных выводов состоит в том, что восприимчивость человека к эху очень сильно зависит от общей задержки (см. табл. 1 и рис. 1).
Рис. 1. Связь между задержкой и удовлетворенностью пользователей связью
|
Диапазон, мс |
Качество |
0…150 |
Приемлемо для большинства приложений |
150…400 |
Может считаться приемлемым, только если пользователи заранее знают о такой задержке |
>400 |
Неприемлемо для двусторонней связи, допустимо для одностороннего вещания или для ретрансляции факсимильных сообщений |
При этом сама задержка до величины 150 мс является вполне приемлемой для человека. Таким образом, тот факт, что в IP-телефонии задержка существенно больше, чем в традиционных сетях с коммутацией каналов, накладывает важнейшие требования по высококачественному подавлению эха. В противном случае качество связи является недостаточным. К вопросу о подавлении акустического и линейного эха мы вернемся в следующих разделах этой статьи. Казалось бы, величина порядка 150 мс является легко достижимой, однако необходимо рассмотреть ее источники:
– аудиодрайверы и операционная система;
– аудиокодирование;
– пакетизация;
– компенсация джиттера и потерь пакетов (PLC);
– задержка распространения сигнала, задержки в сетевом и инфраструктурном оборудовании.
Первый источник задержки (аудиодрайверы) часто исключается из рассмотрения, хотя на самом деле его влияние — один из важнейших факторов. Особенно оно существенно в связи с большим распространением в абонентских устройствах RISC-процессоров общего назначения (ARM, MIPS и т.д.) с операционными системами Linux, Android или их клонами. Ранее, когда абонентские устройства делались на базе специализированных сигнальных процессоров, можно было полагать, что задержка составляет величину порядка 5…10 мс, что соответствует кванту обработки речи и размеру блока речевых отсчетов. В операционных системах Windows, Linux, Android и т.д. все сильно лимитируется возможностями штатной аудиочасти этих ОС.
Немаловажным и неочевидным обстоятельством является требование обеспечить эхоподавление на абонентском окончании. А для этого следует обеспечить либо абсолютно синхронный ввод и вывод речевого потока, либо использовать такие эхоподавители, которые малочувствительны к рассинхронизации. Требование синхронизации между выводом и вводом аудио обычно приводит к увеличению аудиобуферов в операционной системе или приложении, что серьезно увеличивает задержку. К сожалению, задержка довольно существенно зависит от версии ядра используемой ОС и самих аудиодрайверов. Она может колебаться от величин порядка 60…80 мс (Windows или Ubuntu на ПК) до 200…300 мс для маломощных портативных устройств на базе процессора ARM9e с Linux. Кроме того, в таких ОС требуется предпринимать специальные средства для минимизации собственного джиттера, связанного с планировщиком задач, который может достигать 20…30 мс и более.
Существенно меньшие величины задержки (порядка 20 мс и менее) и малый собственный джиттер (единицы миллисекунд) достижимы либо в операционных системах реального времени, либо при использовании специализированного драйвера, работающего в режиме ядра.
На рисунке 2 приведены примеры собственного джиттера исходящего RTP-трафика.
Рис. 2. Гистограммы собственного джиттера исходящего RTP-трафика для типичных программных телефонов (x86, Windows XP)
|
С формальной точки зрения, джиттер есть разброс времени прохождения пакетов в сети. Существуют два основных источника этого разброса:
– особенности физического уровня приема-передачи пакетов;
– задержки из-за очередизации в коммутаторах.
Наиболее характерным примером первого случая является передача через точки доступа WiFi. Стандарт 802.11b/g определяет специальную посылку (beacon), которая информирует устройства об идентификаторе SSID, типе шифрования и т.д. Обычно интервал этих посылок составляет 100 мс. В связи с этим при передаче RTP-пакетов через WiFi некоторая доля пакетов (около 1%) задерживается на 100 мс и более (см. рис. 3). Несмотря на не слишком большую долю таких пакетов, они могут существенно повлиять на общую задержку и качество речи.
Задержка в сетевом и инфраструктурном оборудовании определяется не столько временем распространения (общепринятая величина 6 мкс/км), но и типом каналообразующего оборудования, а также очередями пакетов в коммутаторах. Последний эффект наиболее заметен при большом трафике или при программном шлюзовании (например, в VPN), когда загрузка процессоров коммутатора велика.
При передаче данных через интернет-узлы в глобальной сети джиттер может достигать нескольких десятков миллисекунд (см. рис. 4).
Рис. 3. Гистограммы джиттера RTP-пакетов при проводном и WiFi-соединениях (кодек G.711, пакетизация 20 мс, локальная сеть)
|
Рис. 4. Усредненное время двустороннего прохождения пакетов в глобальной сети (IEPM Home Page ‘Internet End-to-end Performance Monitoring’, www.slac.stanford.edu.)
|
Таким образом, статистика показывает, что пренебречь влиянием джиттера и соответствующей задержки на его компенсацию нельзя. Осознавая этот факт, международное сообщество ставит новую планку по задержке и джиттеру в глобальной сети. Например, рекомендация EUROCAE ED-138 специфицирует задержку 100 мс и джиттер 15 мс при уровне потери пакетов 0,5% как ближайшую достижимую цель.
Общий средний уровень потерь пакетов до единиц процентов не оказывает такого значительного влияния на качество речи. Существенно большее влияние оказывает нерегулярность их прихода, которая может вызывать эффект «проскальзывания» при компенсации джиттера, когда пакет приходит через интервал больший, чем текущая оценка максимально компенсируемого джиттера.
В этом случае пакет удаляется из очереди, т.к. его уже сочли потерянным. Часто при этом пропадает не один пакет, а несколько, и это уже становится заметно на слух.
Важно понимать, какое влияние на качество оказывает пакетизация. На первый взгляд, пакетизация сама по себе не вредна и даже полезна, т.к. сокращает оверхед на заголовки пакетов и эквивалентную полосу (см. табл. 2).
Кодек/пакетизация, мс |
G.711 |
G.729 |
G.722.1 (режим 24 Кбит/с) |
10 |
126.4 |
70.4 |
— |
20 |
95.2 |
39.2 |
55.2 |
30 |
84.8 |
28.8 |
— |
40 |
79.6 |
23.6 |
39.6 |
Однако при потере пакетов деградация качества существенно зависит от длины пакета, т.к. алгоритмы компенсации потерь пакетов (PLC) обычно имеют верхний предел компенсируемой потери в 60 мс. Рисунок 5 иллюстрирует тот факт, что пакетизация 40 мс существенно начинает ухудшать качество речи при потере более 5% пакетов.
Рис. 5. Зависимость качества речи (PESQ-MOS) для G.711 PLC при разной пакетизации
|
Для передачи речи с высоким качеством необходимо:
– использовать каналы связи с минимальной задержкой и предпринимать меры по минимизации сетевого джиттера;
– использовать высококачественные эхокомпенсаторы;
– использовать интеллектуальные адаптивные схемы компенсации джиттера и потерь пакетов;
– избегать использования кодеков без встроенного PLC;
– не использовать пакетизацию, большую 30 мс.
Общеизвестным фактором, влияющим на качество речи, является речевой кодек. Большое разнообразие предлагаемых кодеков иногда создает мнение, что можно использовать любые из них. Зачастую кодеки сравнивают только по одному параметру, что не совсем корректно. Для применения в реальных приложениях важны вопросы совместимости, частоты использования, алгоритмической сложности (и, как следствие, потребления, ресурсов), качества речи, поддержки алгоритмов компенсации потерь и детектирования речевой активности.
В таблице 3 ниже сравниваются наиболее важные свойства самых распространенных кодеков с точки зрения использования в IP-телефонии.
Кодек |
Алгоритм. сложность 5 |
Качество |
Скорость, Кбит/с |
Узкополосный режим |
Широкополосный режим |
Мин. пакетизация, мс |
Коррекция потерь пакетов |
Детектор речевой активности |
Совместимость |
G.711 |
0 |
отл. |
64 |
х |
|
10 |
|
|
отл. |
G.726 |
0,6 |
хор. |
16, 24, 32, 40 |
||||||
G.723.1 |
1,3 |
низ. |
5,3, 6,3 |
30 |
х |
х |
хор. |
||
G.728 |
2,5 |
отл. |
|
10 |
|
низ. |
|||
G.729 |
1 |
хор. |
8 |
х |
отл. |
||||
iLBC |
1,2 |
отл. |
13,3, 15,2 |
30, 20 |
низ. |
||||
AMR-NB |
1,7 |
4,75…12,2 |
20 |
||||||
G.711.1 |
0,8 |
64, 80, 96 |
х |
10 |
|||||
G.722 |
0,4 |
48, 56, 64 |
|
20 |
|
хор. |
|||
G.722.1 |
0,5 |
24, 32 |
|||||||
G.722.2 (AMR-WB) |
3 |
6…24 |
х |
низ. |
|||||
G.729.1 |
8…32 |
х |
Примечания:
1. Приведена общая информация, не относящаяся к продуктам IntegrIT.
2. Оценка алгоритмической сложности дана для типичного процессора и может быть использована для приблизительных оценок. Для конкретного процессора пропорции могут отличаться.
Видно, что нет ни одного кодека, который был бы наилучшим по всем показателям. Дополнительно хотелось бы отметить, что с наступлением эры широкополосной IP-телефонии будут широко внедряться новые кодеки, в первую очередь, G.711.1. Одним из его важных достоинств является то, что он обратно совместим с G.711 и обеспечивает лучшее качество даже в режиме совместимости. При этом он сохраняет алгоритмическую сложность на приемлемом уровне и потому будет активно внедряться в многоканальное VoIP-оборудование.
Несмотря на, казалось бы, слабую распространенность некоторых кодеков, их поддержка в оборудовании может обеспечивать важную функциональность. Например, поддержка AMR-NB необходима при шлюзовании голосового трафика в сети 3G.
Высококачественная VoIP-телефония нового поколения подразумевает не только использование соответствующих широкополосных кодеков, но и вводит стандарты новых сервисов для абонентов. Сервис «второй входящий вызов» и конференц-режим становятся де-факто стандартными. При этом мы не можем гарантировать, что все абоненты будут использовать один и тот же кодек, т.к. его выбор определяется как возможностями канала с этими абонентами, так и возможностями оконечного оборудования. Например, очевидно, что абонент аналогового телефонного окончания будет получать телефонное качество сервиса, но остальные участники конференции могут работать и в широкополосном режиме, и этот абонент не должен ограничивать качество связи для всех остальных абонентов. Соответственно, программное обеспечение VoIP должно иметь специальный модуль для обслуживания микширования и транскодирования.
Суммируя сказанное, мы видим, что следует:
– поддерживать широкий набор кодеков для обеспечения оптимального качества для каждого вызова;
– поддерживать как широкополосный, так и стандартный (узкополосный) режим кодирования;
– иметь функции адаптивного микширования абонентов и транскодирования.
Наличие эха является одним из наиболее заметных для пользователей факторов. Эхокомпенсатор, как правило, устанавливается непосредственно на абонентском окончании. Однако в ряде случаев для совместимости с устаревшим оборудованием необходима установка устройств подавления эха как в шлюзах линейных окончаний, так и на транзитных узлах.
Требования по подавлению эха в этих случаях различны. Многочисленные измерения показали, что реальный эхо-путь в абонентском окончании не превышает 12 мс (см. рис. 6).
Однако в транзитных узлах добавляются задержки коммутаторов, и общая величина может сильно вырасти. Общепринятыми требованиям по эхо-пути являются: на абонентском окончании — 16 мс; на транзитном узле — 64 мс; акустическое эхо — 256 мс.
Вопреки общему мнению, рекомендация G.168 специфицирует только часть параметров эхокомпенсаторов. В частности, она ничего не говорит о скорости сходимости, качестве речи и т.д. Она посвящена методикам тестирования эхоподавителя в целом. Как минимум, все эхокомпенсаторы должны быть проверены по этим методикам. Например, проверены такие важные аспекты как:
– сходимость на разных типах каналов (как в режиме одиночного разговора, так в режиме двойного разговора);
– сходимость в условиях наличия шумов разного уровня;
– нерасходимость в режиме слабой и сильной встречной речи в режиме двойного разговора;
– предотвращение неправильной сходимости на тональных сигналах;
– сходимость при резкой смене типа канала.
– Однако практика, а также другие рекомендации накладывают набор дополнительных требований:
– слабые искажения входного речевого сигнала как при включенном, так и при выключенном нелинейном процессоре (PESQ-MOS не хуже 4.1-4.2);
– умеренные искажения речевого сигнала в режиме двойного разговора (PESQMOS в диапазоне 3,5–3,8)
– обеспечение работы на линиях с высоким остаточным эхом (ERLE порядка –10…–6 дБ);
– обеспечение средств работы при высоком уровне нелинейных искажений (интермодуляция порядка –15 дБ);
– высокая номинальная скорость сходимости (100…200 мс);
– высокий уровень подавления речи в режиме двойного разговора;
– поддержка номинальной длины эхо-пути в диапазоне 16…128 мс.
На рисунке 7 приведен пример работы эхоподавителя. Слева — сигнал среднего качества (ERLE = 10 дБ), справа — тот же сигнал с высоким уровнем нелинейных искажений.
Таким образом, высококачественный эхоподавитель должен быть проверен в широком диапазоне входных воздействий.
Рис. 6. Гистограмма временной дисперсии для междугородных звонков (Figure II.6/G.168.)
|
Рис. 7. Пример работы эхоподавителя. Слева — сигнал среднего качества (ERLE =10 дБ), справа — тот же сигнал с высоким уровнем нелинейных искажений
|
Компания IntegrIT успешно работает на рынке несколько лет и сотрудничает с ведущими производителями интегральных схем и изделий телекоммуникационного назначения. VoIP-решения от IntegrIT отличаются широким ассортиментом необходимых компонентов, проверенным качеством, поддержкой множества наиболее популярных процессоров. При их дизайне были учтены все указанные выше проблемы. Также компания предлагает услуги адаптации VoIP-решения под аппаратную платформу заказчика, доработки под специфичные требования, позволяющие сократить сроки выхода изделий на рынок.
В таблице 4 сведены основные поставляемые компоненты с их краткими характеристиками.
Кодеки |
G.711, G.726, G.723.1, G.729AB, G.728, AMR-NB, AMR-WB, G.722, G.722.1, G.722.2, iLBC, G.711.1, G.729.1, адаптивный конференц-микшер, транскодеры |
RTP/RTCP |
Пакетизация 10…200 мс, интеллектуальная компенсация сетевого джиттера и потерь пакетов |
Эхоподавление |
Линейный эхо-компенсатор G. 168, акустический эхо-компенсатор CrystallSpeech |
Аналоговая сигнализация |
Универсальный генератор/детектор тональной сигнализации, генератор/детектор/режектор DTMF, АОН, CallerID и т.д. |
SIP и дополнительные виды обслуживания |
Удержание соединения, конференцсвязь (до 32 участников), соединения с ТФОП, перевод соединения, циркулярный вызов, система префиксов и планов нумерации, наведение справки, запрет входящих звонков, преобразование префиксов, ожидание вызова, преодоление запрета входящих вызовов, поиск свободной линии в пучке, переключение между соединениями, группы искания, тональный донабор, отбой последнего соединения, разные виды переадресации, автоинформатор, возврат вызова, группы дозвона, подбор вызовов, голосовое меню, служебные коды, услуга «следуй за мной к», вмешательство в вызов и приоритеты абонентов и т.д. |
Поддерживаемые платформы |
ARM9e, ARM11, Cortex, Marvell Kirkwood/Armada, C64xx/DaVinci/OMAP, Tensilica HiFi2/ConnXD2, x86 |
Подробнее о продукции IntegrIT см. на www.integrit.com/products.