Смекни!
smekni.com

Кодеры речи (стр. 14 из 16)

Задача практической реализации низкоскоростного воко­дера, имевшего приемлемое качество синтезированной речи при ошибках в канале до 5%, решалась в два этапа. Первоначально была снижена скорость битового речевого потока до 1,2 кбит/с без существенной деградации качества выходного речевого сигнала. Далее были выбраны оптимальные в смысле качества синтезированной речи коды, исправляющие ошибки, и разработан метод замены выбитых речевых параметров на интерполированные значения параметров предшествующих фреймов. После этого суммарная скорость потока информационных и проверочных бит составила 2,4 кбит/с.

Вокодер с битовой скоростью 1,2 кбит/с. При понижении скорости битового потока основное внимание уделялось сохранению разборчивости речи. Анализ алгоритма MELP–2400 показал, что амплитуды преобразования Фурье сигнала возбуждения отвечают в основном за узнаваемость диктора и передачу интонации. Поэтому в спроектированном вокодере MELP–1200 они не используются. Передача коэффициента усиления один раз за фрейм также не приводит к существенному ухудшению разборчивости. Для дальнейшего понижения битовой скорости была разработана техника передачи линейных спектральных пар (ЛСП) только по четным фреймам с помощью адаптивного выбора фреймов на основе решетчатой структуры с критичными изменениями. Для нечетных фреймов вектор ЛСП находился с помощью интерполяционных методов. Также для уменьшения числа бит была использована частота границы голосовой активности с двухбитовой кодировкой.

Суммарный список параметров алгоритма 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 был про­моделирован на персональном компьютере с использованием языка программирования «СИ» при представлении данных в формате с фиксированной запятой. Для определения качества синтезированной речи использовалась диагностическая мера приемлемости (DiagnosticAcceptabilityMeasure — 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 (InternetEngineeringTaskForce), стада разработка протокола запуска соединения SIP (SessionInitiationProtocol). Он применим для интегрированной среды Интернета и коммутируемой телефонной сети общего пользования.

SIP относится к протоколам прикладного уровня семиу­ровневой эталонной модели ВОС МОС как структура про­токола HTTP типа "клиент-сервер". При обработке пакетов этого протокола команды и состояния могут передаваться в виде чистого текста посредством считывания данных пакетов HTTP. Поэтому протокол SIP очень подходит для архитектуры передачи по широкомасштабной информационно-вычи­слительной сети. В его структуре должен быть сформирован, по крайней мере, один сервер соединений SIP в дополнение к агентам пользователей. Сервер соединений SIP может рабо­тать как сервер-представитель (proxy-server), сервер изменения направления (redirectserver), сервер регистрации (registryserver), сервер речевой почты (voicemailserver), и др. Сервер соединений функционально является интегрированным про­граммным обеспечением и может быть соединен с существую­щей коммутируемой сетью общего пользования, сетью Ин­тернет-телефонии и т.п.

Протоколы Н.323 и SIP во многом схожи. Оба они поддерживают как двухстороннюю, так и многостороннюю связь. Протоколы обеспечивают возможность передачи муль­тимедийных данных по протоколу реального времени RTP (RealTimeProtocol) и родственному ему управляющему транспортному протоколу реального времени RTCP (Real­timeTransportControlProtocol). Последний выполняет функ­ции поддержки обратной связи, синхронизации, обеспечения пользовательского интерфейса, но не управляет передачей данных. Вместе с тем протоколы Н.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 совместимы друг с другом.