На днях Google запустил новый сервис: бесплатные звонки по США стали доступны для пользователей gmail-а. Сервис направляет вызовы на городские и мобильные телефоны. Доступ к сервису через раздел «chat» и меню «call phone».
Какие технологии лежат в основе интернет-телефонии и как развивается эта область? Своей точкой зрения на эти и другие вопросы поделился Олег Ховайко, выпускник МИФИ, живущий в США, изобретатель, программист, разработчик алгоритмов, в т.ч. алгоритма поиска Вилбура-Ховайко.
В заключение интервью – рекомендации о том, как получить бесплатные номера на входящие звонки и как звонить дешево.
Д.К.: Что вообще представляет из себя интернет-телефония, и каковы её отличия от других видов телефонии?
О.Х.: Я думаю, Вы имели дело с проводными или сотовыми телефонами. Принципиальное отличие между ними заключается «каналообразующей среде», то есть в том, какую среду они использут для формирования канала связи. Сотовые телефоны используют радиоканал к базовой станции, а проводные – пару проводов до АТС.
Интернет-телефония, как видно из названия, использует интернет-соединение в качестве каналообразующей среды. Иными словами, разговор передаётся через цифровую сеть передачи данных. Поэтому интернет-телефонию часто называют Voice Over IP (голос по интернет-протоколу), VOIP.
Д.К.: И в чём состоят преимущества VOIP перед другими видами телефонии?
О.Х.: В первую очередь – в цене. Для организации интернет-телефонии не требуется специально выделенная кабельная сеть или частотный диапазон, отведённые только для этого сервиса. Если интернет-соединение уже имеется, то разворачивание сетевой инфраструктуры не требуется, голос передаётся в том же канале, что и другой трафик. Здесь можно найти аналогию с электрической сетью: если у вас в доме есть электросеть, вы в неё можете включить телевизор, чайник, пылесос и т.п. Однажды проложенная кабельная инфраструктура используется многократно, и ее новое использование стоит относительно дешево.
Д.К.: Каковы особенности передачи голосового сигнала по интернету?
О.Х.: Стандартный телефонный (проводной) канал пропускает частоты от 300 Гц до 3,4 кГц. В этом диапазоне человеческий голос передается достаточно разборчиво. Из теоремы Котельникова следует, что частота сэмплинга при оцифровке этого сигнала должна быть в два раза выше верхней частоты, чтобы передать его без искажений. Принято оцифровывать с частотой 8 кГц – примерно в два раза выше верхней границы телефонного канала. Существует несколько кодеков для оцифровки голоса для и-телефонии. Например, стандарт G.711 для кодека.
Д.К.: Здесь не помешает объяснить в двух словах, что такое кодек.
Кодек – это сокращённое название «кодер-декодер». Он представляет собою программный модуль или аппаратное устройство, которое кодирует оцифрованый сигнал для передачи в канал связи, и наоборот, принятый сигнал декодирует, превращая его в поток сэмплов, которые далее ЦАПом преобразуются в аналоговый сигнал. Кодек применяют для компрессии звукового потока, т.е. для сокращения объема данных.
Д.К.: Понятно. Вернемся к кодеку G.711.
О.Х.: На самом деле, стандарт G.711 определяет два кодека, немного о отличающиеся алгоритмами. Но оба кодека использует нелинейное логарифмическое кодирование входного сигнала. То есть, входные отсчёты (сэмплы) оцифрованого звука имеют разрядность 14 бит, которые идут с частотой 8кГц. Посредством нелинейного кодирования кодек снижает разрядность до 8 бит на сэмпл, и, таким образом, создает поток данных 64кбит/с. Подробнее об этом простом кодеке Вы можете прочесть здесь
Д.К.: Какой ширины канал нужен для передачи голоса?
О.Х.: Зависит от применяемого кодека. Для простого кодека, типа G.711, требуется канал порядка 96kbps. Из них 64kbps занимает полезная нагрузка, а остальное – служебные данные, как то, заголовки IP пакетов и т.п.
Заметим, что G.711 не использует каких-то сложных алгоритмов компрессии, ибо изначально был разработан для нужд цифровой телефонии в 70-х годах, где предполагалась реализация в его виде аппаратного устройства на жёсткой логике. То есть он изначально телефонный, а не компьютерный, но в и-телефонии он весьма популярен – в силу просторы реализации и бесплатности стандарта. Вообще и-телефония многое унаследовала из классических телефонных стандартов.
Есть и другие кодеки. Например кодек G.729 работает в полосе примерно 32кбит/с, то есть примерно втрое меньше, чем G.711, но он платный. Лицензия стоит в настояшее время $10/канал, если я не ошибаюсь.
А вообще, с развитием цифровой телефонии, кодеки активно развиваются, и сейчас существуют более 20-ти разных кодеков. Это развитие стандартов связано с развитием сотовой и спутниковой связи, где частотный ресурс ограничен, и производительность сети напрямую зависит от того, насколько кодек может сжать голосовой поток.
В общем случае, чем эффективнее кодек, чем он лучше сжимает голос – тем он сам сложнее, и тем больше вычислительных ресурсов он требует.
Кроме того, при использовании сильно сжимающих кодеков появляются две проблемы. Во-первых, это задержка, связанная с заполнением пакета. Для передачи приходится ждать, пока IP пакет наполнится сильно сжатыми данными. И если такой пакет потеряется в сети – это на слух будет заметно, как пропадание голоса абонента на интервал в доли секунды. Именно это является причиной «провалов» при разговоре по сотовому телефону в зоне неувереного приёма, или при VOIP-телефонии (то же, что и-телефония) по интернет-соединению плохого качества.
Д.К.: Какие кодеки используются на практике?
О.Х.: Разные системы используют разные кодеки. В открытых стандартах SIP-телефонии наиболее популярны G.711, G.729. В сотовых сетях – GSM-кодек.
У Скайпа свой закрытый кодек, он обеспечивает сильное сжатие сигнала. Это заметно по загрузке процессора компьютера и оперативной памяти: когда работает Скайп, происходит сжатие и декомпрессия сигнала. В настоящее время набирают популярность кодеки с высоким разрешением, они дают лучшее качество звука, приемлемое даже для передачи музыки.
Дмитрий Крылов, PhD, независимый эксперт по инновационным технологиям