АНАЛОГОВЫЙ ИЛИ ЦИФРОВОЙ?
СЖАТИЕ ЦИФРОВЫХ СИГНАЛОВ
АЛГОРИТМЫ СЖАТИЯ РЕЧИ

VocalTec готовит Internet-телефонию


Связь-одна из важнейших статей расходов в современном бизнесе. Не говоря о необходимости постоянно общаться с клиентами, дилерами, поставщиками, современная деловая жизнь немыслима без постоянной надежной связи между различными филиалами компаний и центральным офисом. В поисках рынков сбыта бизнес в наши дни легко перешагивает границы стран и континентов. (Слово "легко" здесь не стоит понимать буквально: на самом деле с расширением масштабов компаний и их выходом на мировой уровень связан целый ряд совершенно новых проблем.) Можно сказать, что здесь как раз и наблюдается хорошо известный переход количества в новое качество; в частности, географический масштаб компаний становится настолько велик, что уровень затрат на обеспечение обмена информацией между разными их подразделениями кардинально возрастает.

Информационный поток в пределах компании составляют телефонные переговоры, передача факсимильной информации и обмен данными. Понятно, что чем меньше информационный поток между подразделениями, тем менее емкие каналы связи компания арендует и тем меньше ее расходы на телекоммуникации. Снизить пропускную способность каналов связи, необходимую для поддержания информационного обмена в компании, можно двумя способами (не считая тривиальных чисто полицейских способов вроде визирования каждого предназначенного к отправке документа у специально приставленного человека): во-первых, с помощью различных методов сжатия информации, а во-вторых - путем рационального использования пропускной способности имеющихся каналов связи, недопущения различного рода "простоев" установленной линии связи.

В своей статье, опубликованной в предыдущем номере журнала ("Сети", # 8/96, с. 20), я рассказал об одном из возможных способов повышения экономичности использования каналов связи. Напомню, что речь там шла о переходе к передаче оцифрованного голоса по цепям с коммутацией пакетов, и в качестве примера рассматривалось использование для этой цели сетей frame relay. Возможно, в свое время мы расскажем более подробно об этом новом подходе к организации голосового обмена, крайне, на наш взгляд, интересном. Тем не менее надо признать, что сегодня описанный способ снижения

телекоммуникационных расходов представляет интерес скорее теоретический, чем практический. Дело в том (и об этом в прошлый раз говорилось), что в полной мере реализовать голосовой обмен через сети с коммутацией пакетов скорее всего удастся только после повсеместного внедрения ATM, что, по-видимому, произойдет не слишком скоро. Пока же к услугам желающих сэкономить таким образом - сети frame relay и старый добрый IP. Ни одна из этих технологий сейчас не дает возможности устанавливать высококачественную связь, хотя нет сомнений, что такая возможность не заставит себя ждать. Проблемы у обеих технологий общие: недостаток пропускной способности, задержки, неравномерное прибытие пакетов. К этому следует добавить отсутствие единых стандартов в этой области. Так что экономия пропускной способности каналов, обеспечивающих работоспособность компании, будет еще некоторое время достигаться только за счет сжатия речи. Впрочем, проблема максимального сжатия речи без ущерба для качества останется актуальной и после того, как голосовой обмен через сети с коммутацией пакетов приобретет более широкое распространение - ведь чем "плотнее" удастся упаковать передаваемую речь, тем проще будет передавать ее по сети. Кроме того, само развитие методов сжатия речи приближает триумф технологии коммутации пакетов в области голосовой передачи.

АНАЛОГОВЫЙ ИЛИ ЦИФРОВОЙ?

Напомним в двух словах, в какой форме передаются сигналы в современных телефонных сетях. Конечно, мы здесь не в состоянии охватить даже малую часть этого вопроса. Укажем лишь те аспекты проблемы, которые важны для дальнейшего. Итак, телефонный аппарат, стоящий у вас дома на столе (к офисному телефону все сказанное ниже может и не относиться: если в офисе используется местная АТС, то там все может быть устроено по-другому), соединен с телефонной станцией парой проводов, именуемой абонентским шлейфом. Эта пара проводов используется и для подачи напряжения на цепь звукового сигнала телефонного аппарата при инициализации вызова, и для передачи звуковых сигналов АТС (непрерывный гудок, длинные или короткие гудки) на телефонный аппарат, и для передачи собственно речи во время связи.

Нас будет интересовать в первую очередь то, что происходит с голосовым сигналом на пути его передачи от микрофона одного телефонного аппарата к громкоговорителю другого. В настоящее время этот путь чаще всего выглядит (во всяком случае должен выглядеть; в реальности это происходит только в том случае, когда на АТС установлено современное оборудование) следующим образом: микрофон преобразует звуки речи в аналоговый сигнал, передаваемый по абонентскому шлейфу к АТС. Если вызов адресован абоненту, находящемуся в зоне действия той же АТС, то коммутационная аппаратура просто замыкает абонентские шлейфы друг на друга, никак не вмешиваясь в процесс голосового обмена. Если же голос предстоит передавать дальше, то установленное на АТС оборудование оцифровывает его (чуть ниже мы скажем, как это делается) и передает полученную последовательность цифр по магистральным каналам связи. На противоположном конце АТС-адресат получает поток цифровых данных, восстанавливает по ним аналоговый голосовой сигнал и передает этот сигнал по абонентскому шлейфу на телефонный аппарат. Оцифровывать голос при передаче начали в первую очередь потому, что цифровой сигнал более устойчив к помехам и его использование позволяет повысить качество связи. Поскольку все преобразования из аналоговой формы в цифровую производятся на аппаратном уровне, они не приводят к ощутимым для абонента задержкам (при использовании современной аппаратной базы суммарная задержка, связанная с оцифровкой-восстановлением, составляет около 125 мкс).

Два слова о собственно оцифровке сигнала. Еще в 60-х годах был принят алгоритм оцифровки голоса под названием импульсно-кодовой модуляции (Pulse-Code Modulation - PCM). Этот алгоритм (международный стандарт G.711) используется при передаче голоса в коммерческих телефонных сетях. Оцифровка голосового сигнала включает измерение уровня аналогового сигнала через равные промежутки времени. В соответствии со стандартом G.711 принимается, что для узнаваемости голоса необходимо обеспечить передачу его частотных составляющих в диапазоне от 200 до 3400 Гц. Известно, что для правильной передачи всех частотных составляющих необходимо измерять уровень сигнала с частотой 8 кГц. В стандарте также принимается, что оцифровка аналогового сигнала производится с восьмиразрядным разрешением. При этом обычно используется один из двух способов установления соответствия между амплитудой звукового сигнала и цифровым значением - либо A-кодирование (оно принято в Европе и Азии), либо m-кодирование (принятое в США, Канаде и некоторых других странах). И то и другое - просто таблицы соответствия между измеряемым значением напряжения и числом, при помощи которого оно кодируется. Для передачи одного голосового канала в цифровом виде требуется пропускная способность 64 кбит/с (8 кГц х 8 разрядов). Попутно заметим, что именно эта величина и используется в качестве единицы измерения пропускной способности каналов современных цифровых сетей (таких, например, как каналы иерархии T-1/E-1, используемые, в частности, для построения приобретающей все большую популярность сети ISDN).

СЖАТИЕ ЦИФРОВЫХ СИГНАЛОВ

Все, что выше говорилось о коммутируемых телефонных сетях общего пользования, применимо и для корпоративных сетей, построенных на выделенных или арендованных линиях. Большинство современных корпораций для телефонных переговоров использует скоростные цифровые линии связи, уплотняя несколько голосовых каналов для передачи по одной такой линии. В предыдущей статье ("Сети", #8/96) было вкратце описано, каким образом осуществляется уплотнение с разделением каналов по времени, так что сейчас мы на этом подробно останавливаться не будем. Для нас важнее другое: при таком способе организации связи компания платит за канал. Какой информационный поток удастся в этот канал "запихнуть" - это уже ее дело. Поэтому проблема сжатия сигнала чрезвычайно важна. Мало того, оказывается, что стоимость каналов связи настолько высока, что любое дополнительное оборудование, позволяющее уплотнить передаваемую информацию, окупается чрезвычайно быстро.

После того как аналоговый сигнал преобразован в цифровую форму, к нему можно применять различные способы обработки, которые невозможно использовать при работе с чисто аналоговым сигналом. В частности, оцифрованный сигнал перед передачей можно сжать, уменьшив таким образом пропускную способность, необходимую для передачи одного голосового соединения. Но при этом выигрывая в одном, пользователь часто проигрывает в другом. Во-первых, несмотря на то, что алгоритмы сжатия реализуются на аппаратном уровне, с использованием специализированных процессоров обработки цифрового сигнала (Digital Signal Processor - DSP), все-таки эта операция может привести к задержкам в передаче голоса. Для простых алгоритмов задержка невелика - единицы миллисекунд, однако для сложных алгоритмов, обеспечивающих значительное сжатие, продолжительность задержки может составлять около сотни миллисекунд, что вполне ощутимо при разговоре.

Вторая важная проблема состоит в том, что сжатие речи, как правило, снижает качество звука. Известно, что больших степеней сжатия цифровой информации можно достичь только при использовании алгоритмов, не допускающих полного восстановления сжимаемой информации.

Наконец, в-третьих, чем выше степень сжатия информации, тем сложнее (и соответственно дороже) оборудование требуется для осуществления этой операции. По мере усовершенствования технической базы сжатия речи это ограничение теряет свою жесткость, однако появляются все новые, более сложные алгоритмы, потребляющие большие вычислительные мощности.

А теперь рассмотрим наиболее, на наш взгляд, интересные и широко применяемые алгоритмы сжатия речи.

АЛГОРИТМЫ СЖАТИЯ РЕЧИ

Один из наиболее общепринятых и давно используемых алгоритмов сжатия речи называется ADPCM (Adaptive Differential Pulse Code Modulation; стандарт G.726 был принят в 1984 году). Этот алгоритм дает практически такое же качество воспроизведения речи, как и PCM, однако для передачи информации при его использовании требуется полоса всего в 32 кбит/с. Метод основан на том, что в аналоговом сигнале, передающем речь, невозможны резкие скачки интенсивности. Поэтому если кодировать не саму амплитуду сигнала, а ее изменение по сравнению с предыдущим значением, то можно обойтись меньшим числом разрядов. В ADPCM изменение уровня сигнала кодируется четырехразрядным числом, при этом частота измерения амплитуды сигнала сохраняется неизменной.

Все методы кодирования, основанные на определенных предположениях о форме сигнала, плохо работают в ситуации, когда сигнал может передаваться с резкими скачками амплитуды. Именно такой вид имеет аудиосигнал, генерируемый модемами или факсимильными аппаратами. Современные системы обмена информацией, поддерживающие цифровые линии связи, умеют распознавать факсимильный обмен и передают соответствующие сигналы непосредственно в цифровом виде, не преобразуя их в аудиосигнал.

Оба описанных метода кодирования (их называют методами кодирования формы сигнала) работают весьма прямолинейно. Для достижения более высоких степеней сжатия при сохранении пристойного качества звучания необходимы более усложненные методы, основанные на использовании более глубоких особенностей речи.

Многие из таких методов берут свое начало от изобретенного довольно давно метода LPC (Linear Predictive Coding). В качестве входного сигнала в LPC используется та же последовательность цифровых значений амплитуды, однако этот метод применяется не к отдельным цифровым значениям, а к определенным их блокам. Для каждого такого блока значений вычисляются его характерные параметры: частота, амплитуда и ряд других. Именно эти значения и передаются по сети. При таком подходе к кодированию речи, во-первых, возрастают требования к вычислительным мощностям специализированных процессоров, используемых для обработки сигнала, а во-вторых, увеличивается задержка при передаче, поскольку кодирование применяется не к отдельным значениям, а к некоторому их набору, который перед началом преобразования следует накопить в определенном буфере. Подчеркнем, что задержка в передаче речи при использовании этого метода связана не только с необходимостью обработки цифрового сигнала (эту задержку можно уменьшать, увеличивая мощность процессора), а непосредственно следует из характера метода сжатия. Этот метод позволяет, вообще говоря, достигать очень больших степеней сжатия, которым соответствует полоса пропускания 2,4 или 4,8 кбит/с, однако качество звука здесь сильно страдает. Поэтому в коммерческих приложениях он не используется, а применяется в основном для ведения служебных переговоров.

Более сложные методы сжатия речи основаны на применении LPC в сочетании с элементами кодирования формы сигнала. В этих алгоритмах используется кодирование с обратной связью, когда при передаче сигнала осуществляется оптимизация кода. Закодировав сигнал, процессор пытается восстановить его форму и сличает результат с исходным сигналом, после чего начинает варьировать параметры кодировки, добиваясь наилучшего совпадения. Достигнув такого совпадения, аппаратура передает полученный код по линиям связи; на противоположном конце происходит восстановление звукового сигнала. Ясно, что для использования такого метода требуются еще более серьезные вычислительные мощности.

Одной из наиболее распространенных разновидностей описанного метода кодирования является метод LD-CELP (Low-Delay Code-Excited Linear Prediction). Этот метод позволяет достичь удовлетворительного качества воспроизведения при пропускной способности 16 кбит/с; он был стандартизован Международным союзом электросвязи (International Telecommunications Union - ITU) в 1992 году как алгоритм кодирования речи G.728. Алгоритм применяется к последовательности цифр, получаемых в результате аналого-цифрового преобразования голосового сигнала с 16-разрядным разрешением.

Пять последовательных цифровых значений кодируются одним 10-битовным блоком - это и дает те самые 16 кбит/с. Для применения этого метода требуются очень большие вычислительные мощности, в частности, для прямолинейной реализации G.728 необходим процессор с быстродействием 44 mips.

В марте 1995 года ITU принял новый стандарт G.723, который предполагается использовать при сжатии речи для организации видеоконференций по телефонным сетям. Этот стандарт является частью более общего стандарта H.324, описывающего подход к организации таких видеоконференций, при этом целью является обеспечение видеоконференций с использованием обычных модемов. Основой G.723 является метод сжатия речи MP-MLQ (Multipulse Maximum Likelihood Quantization). Он позволяет добиться весьма существенного сжатия речи при сохранении достаточно высокого качества звучания.

В основе метода лежит описанная выше процедура оптимизации; с помощью различных усовершенствований можно сжимать речь до уровня 4,8; 6,4; 7,2 и 8,0 кбит/с. Структура алгоритма позволяет на основе программного обеспечения изменять степень сжатия голоса в ходе передачи. Вносимая кодированием задержка не превышает 20 мс.

Как показали испытания, проведенные ведущими американскими и европейскими телекоммуникационными компаниями, качество голоса, получаемое при сжатии методом MP-MLQ до уровня 6,4 кбит/с, не ниже того, что дает ADPCM при сжатии до 32 кбит/с.


Александр Крейнес - научный сотрудник Института кристаллографии Российской академии наук. С ним можно связаться по адресу электронной почты: kreines@xrayopt.ru.

VocalTec готовит Internet-телефонию

Кристи Эссик

Разрабатываемые версии программного обеспечения Internet Phone компании VocalTec, будут соответствовать стандарту H.323, предложенному International Telecommunications Union (ITU), благодаря чему пользователи смогут работать с продуктами для Internet-телефонии других производителей, в том числе с теми, которые предлагают компании Microsoft и Intel.

В первую очередь VocalTec Internet Phone, которое даст возможность пользователям разговаривать по Internet со своих ПК через микрофон, будет работать с NetMeeting компании Microsoft и Internet Phone компании Intel. Однако VocalTec будет способствовать тому, чтобы и другие производители систем для Internet-телефонии, а также сетевые и телекоммуникационные компании приняли стандарт H.323.

"H.323 создаст возможности для совместимости продуктов. VocalTec намеревается и дальше работать совместно с другими лидерами в области компьютерных сетей и телефонии над быстрой реализацией стандарта H.323", - сказал Илан Гэнор, исполнительный директор и председатель совета директоров компании VocalTec. Принимая стандарт, компании, которые выпускают программное обеспечение для Internet-телефонии и совместной работы в масштабах предприятия, как подчеркнул Гэнор, будут уверены в совместимости своих продуктов с продуктами других производителей.

Кроме интеграции стандарта H.323 в свое программное обеспечение Internet Phone, компания VocalTec намерена включить поддержку этого стандарта в продукт Internet Telephony Gateway Server.

С компанией VocalTec можно связаться по адресу http://www.vocaltec.com.


Кристи Эссик - корреспондент службы новостей IDG (филиала InfoWorld) в Сан-Франциско.