47370 (665778), страница 11
Текст из файла (страница 11)
Суммарный список параметров алгоритма MELP-1200, передаваемых от кодера к декодеру за один речевой фрейм длительностью 45 мс, представлен в табл. 6.5.
Таблица 6.5
Параметр | «Голосовой» фрейм (бит) | «Шумовой» фрейм (бит) |
Линейные спектральные пары | 25 | 25 |
Амплитуды преобразования Фурье сигнала возбуждения | – | – |
Коэффициенты усиления (2 за фрейм) | 5+5 | 5+5 |
Период основного тона, общая озвученность фрейма | 7+7 | 7+7 |
Озвученность по полосам | 2+2 | – |
Флаг периодичности | 1 | 1 |
Защита от ошибок | – | – |
Синхробит | – | – |
Всего за кадр, 22.5 мс | 54 | 50 |
Вокодер с битовой скоростью 2,4 кбит/с для работы в каналах с величиной ошибок до 5% (MELP–C–2400). Для исправления ошибок битового потока было исследовано несколько классов кодов. Наиболее оптимальными в смысле качества восстановленной речи оказались коды Хэмминга (8,4), позволяющие исправлять одиночную ошибку в четырех информационных битах и определять наличие ошибки в 2 бита, а также коды Голея (23,12), исправляющие три ошибки в двенадцати информационных битах. При проектировании был сделан выбор в пользу кодов Хэмминга. В результате к 54 информационным битам добавлялись 54 проверочных, и общая скорость битового потока составила 2,4 кбит/с.
Предлагаемый алгоритм построения низкоскоростного вокодера MELP—С-2400 был промоделирован на персональном компьютере с использованием языка программирования «СИ» при представлении данных в формате с фиксированной запятой. Для определения качества синтезированной речи использовалась диагностическая мера приемлемости (Diagnostic Acceptability Measure — DAM). Для этой цели были использованы шесть wav-файлов с мужскими голосами и шесть wav-файлов с женскими голосами, которые затем прослушивались на выходе тракта 30 слушателями, после чего определялась средняя оценка мнений — MOS. Такой метод называется методом субъективной оценки качества.
Таким образом, на основании полученных результатов можно сделать следующие выводы:
1. Вокодер MELP-I200 имеет разборчивость синтезированной речи близкую к вокодеру MELP-2400 и может быть использован в каналах с пропускной способностью 1,2 кбит/с,
2. При битовых ошибках в канале более 1% вокодер MELP—С-2400 существенно улучшает качество синтезированной речи.
Что касается улучшения качества корректирующих кодов, то наиболее целесообразным представляется применение сверточных кодов со скоростью 1/3. Как показывают исследования, в этом случае при использовании схемы декодера Виттерби с мягким решением приемлемое качество речи можно обеспечивать при вероятности канальной ошибки до 10%. В каналах с памятью эффективным может оказаться применение каскадных кодов (например, последовательное кодирование кодами Рида-Соломона или сверточными кодами) или турбокодов.
Дальнейшее понижение скорости битового потока вокодера возможно при использовании модифицированных кодовых книг, отражающих возможные сочетания ЛСП, и суммарного векторного кодирования речевых параметров. При этом ожидаемая скорость речепреобразующих устройств может не превысить 800 бит/с при словесной разборчивости речи не менее 90%.
Далее рассмотрим кодеки и протоколы, непосредственно используемые в IP-телефонии. Эта тема очень важна, так как есть концепции по переводу в режим IP-телефонии всех сотовых и стационарных сетей.
Задача управления установлением соединений. Общий принцип действия Интернет-телефонии состоит в передаче аналогового речевого сигнала от телефонного аппарата или учрежденческой АТС в маршрутизатор для сжатия и преобразования речевого сигнала в пакеты данных. Эти пакеты передаются по сети Интернет в удаленный маршрутизатор. Последний преобразует пакеты данных обратно в речевой сигнал, который и передается в телефонный аппарат или на УАТС. В соответствии с такой схемой, описанной, в частности, в рекомендациях МСЭ Н.323/Н.248, требуется выполнение достаточно сложных преобразований между техникой Интернет-телефонии и коммутируемой телефонной сетью общего пользование. Одним из путей преодоления возникших трудностей, предпринятых группой инженерной поддержки Интернета IETF (Internet Engineering Task Force), стада разработка протокола запуска соединения SIP (Session Initiation Protocol). Он применим для интегрированной среды Интернета и коммутируемой телефонной сети общего пользования.
SIP относится к протоколам прикладного уровня семиуровневой эталонной модели ВОС МОС как структура протокола HTTP типа "клиент-сервер". При обработке пакетов этого протокола команды и состояния могут передаваться в виде чистого текста посредством считывания данных пакетов HTTP. Поэтому протокол SIP очень подходит для архитектуры передачи по широкомасштабной информационно-вычислительной сети. В его структуре должен быть сформирован, по крайней мере, один сервер соединений SIP в дополнение к агентам пользователей. Сервер соединений SIP может работать как сервер-представитель (proxy-server), сервер изменения направления (redirect server), сервер регистрации (registry server), сервер речевой почты (voice mail server), и др. Сервер соединений функционально является интегрированным программным обеспечением и может быть соединен с существующей коммутируемой сетью общего пользования, сетью Интернет-телефонии и т.п.
Протоколы Н.323 и SIP во многом схожи. Оба они поддерживают как двухстороннюю, так и многостороннюю связь. Протоколы обеспечивают возможность передачи мультимедийных данных по протоколу реального времени RTP (Real Time Protocol) и родственному ему управляющему транспортному протоколу реального времени RTCP (Realtime Transport Control Protocol). Последний выполняет функции поддержки обратной связи, синхронизации, обеспечения пользовательского интерфейса, но не управляет передачей данных. Вместе с тем протоколы Н.323 и SIP резко различаются концепциями и основополагающими принципами. Н.323 довольно тяжеловесен. Его описание занимает 1400 страниц и содержит целый стек протоколов, точно регламентирующих все процедуры. Это упрощает взаимодействие существующих сетей, но вызывает затруднения при адаптации новых применений. Что же касается протокола SIP. то это типичный Интернет-протокол, работа которого основана на обмене короткими тестовыми строками. Его описание занимает гораздо меньший объем (250 страниц), и он хорошо взаимодействует с другими протоколами.
Строго говоря, протокол SIP тоже определяет многоуровневый стек, который включает сетевой уровень, транспортный уровень, уровень транзакций, необязательный уровень диалога и собственно прикладной уровень, или уровень услуги. Однако эти уровни достаточно просты по сравнению с иерархией протокола Н.323. Так, сетевой уровень протокола SIP обеспечивает связь и взаимодействие с соответствующим протоколом сети Интернет (IP), чтобы каждый элемент протокола SIP связывался по Интернету. Транспортный уровень протокола SIP определяет, как клиент посылает запросы и принимает ответы и как сервер принимает запросы и посылает ответы по сети. Сервер протокола SIP представляет собой сетевой элемент, принимающий запросы, чтобы обслужить их и посылает обратно ответы на эти запросы. Транспортный уровень ответствен также за формирование сообщений SIP и их передачу по сети. Следующим уровнем протокола S1P является уровень транзакций. Транзакцией называется запрос, посылаемый уровнем транзакций клиента (с помощью транспортного уровня) уровню транзакций сервера вместе СО всеми ответами на запросы, посланные уровнем транзакций сервера, обратно клиенту. Уровень транзакций ответствен за согласование последовательности сообщений и за повторную передачу и фильтрацию дублирующих сообщений протокола SIP при ненадежности транспортного уровня. В любой задаче, выполняемой клиентом агента пользователя, применяется последовательность транзакций. Уровень, находящийся над уровнем транзакций, – это пользователь транзакций или уровень услуг. Иначе говоря, это приложение, запускаемое на самом верхнем уровне стека протокола SIP, который обеспечивает конкретную функцию элемента.
Между уровнем услуг я уровнем транзакций может существовать необязательный уровень диалога. Диалог по протоколу SIP идентифицирует набор соответствующих транзакций. Например, при стандартном телефонном соединении двумя транзакциями, относящимися к одному диалогу по протоколу SIP, являются установка соединения и разъединение. Уровень диалога ответствен за согласование последовательностей транзакций и управление при их неполноте. Элементы протокола SIP посылают запросы и ответы другим элементам SIP в форме сообщений. Эти сообщения содержат обширную информацию, касающуюся таких деталей, как адреса источников, адреса назначения, подробности маршрутов, указатели соединений, последовательные номера, и другие сведения относительно работы протокола. Формат сообщений SIP обладает значительной гибкостью в том смысле, что информация в заголовке может быть составлена и упорядочена внутри сообщения, и возможна ситуация, когда сообщения логически эквивалентны, тогда как синтаксически они различны. Например, протокол SIP не указывает для многих заголовков порядок, в котором они должны появляться в сообщении. Кроме того, заголовки SIP обычно нейтральны, и стеки протокола от разных поставщиков могут строить сообщения различными способами. Однако важно, что все стеки протокола SIP совместимы друг с другом.
Декодирование сообщений SIP выполняется грамматическим анализатором, который является интегральной составляющей стека протокола SIP. Он изучает сообщение и извлекает информацию, относящуюся к конкретному уровню. Вследствие различия путей, по которым может быть получено сообщение SIP, передающее одну и ту же информацию, грамматический анализатор имеет возможность выделять информацию заголовка, данные о параметрах, и т.п., независимо от формирования сообщения. Например, грамматический анализатор может копировать печатные знаки верхнего и нижнего регистра, варианты выделения заголовка, печатные знаки в строке, пробелы, знаки препинания, знаки в таблицах, и т.п. Таким образом, грамматический анализатор обеспечивает функции комплексного анализа. Стеки протокола SIP обычно представляются как общие готовые компоненты и реализуют полную спецификацию протокола SIP, делая их пригодными для использования с любым типом элемента SIP.
Каждый тип элементов протокола SIP представляет разные степени функциональной сложности, и количество сообщений, обрабатываемых каждым типом элемента, варьируется. Например, компоненты агента пользователя SIP и серверы агента пользователя могут выполнять сложные задачи обработки и связи, например, при установке соединения, хотя число сообщений, обрабатываемых клиентом агента пользователя, обычно сравнительно невелико. Так, сервер агента пользователя может только обрабатывать сообщения в связи с запросами на установление соединений, поступающих от клиента. Если соединение установлено и никаких изменений в его параметрах не произошло, клиент или сервер агента пользователя не будут обрабатывать дальнейшие сообщения до тех пор, пока соединение не завершится. С другой стороны, иные элементы (такие, как серверы изменения направления протокола SIP) выполняют более простые задачи обработки, но принимают значительно большее количество сообщений. Например, сервер изменения направления протокола SIP выполняет сравнительно простую задачу регистрации отображения между адресом источника SIP и адресом IP, которого адрес источника SIP может достичь. Это фундаментальная задача в сети SIP, так как серверы изменения направления используются представителями SIP, чтобы получить IP-адрес аппарата пользователя для маршрутизации соединения. Это важно, в частности, в случаях, когда доступ к сети получают мобильные клиенты, так как обычно адреса IP назначаются динамически и могут часто меняться. Кроме того, для гарантии, что отображаемая информация не устарела, каждый мобильный клиент обычно посылает с частыми интервалами сообщение REGISTER. Из изложенного ясно, что число сообщений, которые должны обрабатываться сервером изменения направления, существенно больше, чем число сообщений, обрабатываемых клиентом агента пользователя. Например, серверы текущей регистрации могут обрабатывать от 200 до 1000 операций регистрации в секунду.