ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ПЕРЕДАЧИ РЕЧЕВЫХ СИГНАЛОВ М.Б. Будько
Научный руководитель - кандидат технических наук Г.П. Жигулин
Цель исследования заключается в выявлении современных подходов к передаче потокового аудио, оптимизации перспективных механизмов и реализации собственной системы передачи акустических сигналов, обладающей способностью динамической настройки в зависимости от состояния сети. В статье рассматривается механизм прерывистой передачи и описываются методы, положенные в основу разработанного алгоритма определения речевой активности.
Введение
Большинство существующих сетей связи имеют достаточно развитую по охвату и содержанию инфраструктуру ввиду доступности для специализирующихся в области телекоммуникаций компаний высокотехнологичных средств. Поэтому для поддержания конкурентоспособности многие уже сейчас строят свою политику на предоставлении дополнительных услуг, что будет главным направлением развития цифровых сетей. К таким услугам относятся: видео и аудио по запросу, приложения электронного бизнеса и др.
Перспективными для передачи аудиоконтента как составляющей указанных услуг являются:
- механизм потоковой передачи;
- механизм прерывистой передачи (кодирование с переменной скоростью).
Потоковая передача аудио позволяет пользователю начать прослушивание без
полной загрузки файла, а также выполнять команды управления.
Для передачи речи по сетям существуют два метода кодирования:
- с постоянной скоростью;
- с переменной скоростью.
Постоянная скорость кодирования является традиционным подходом, предполагающим применение одной и той же схемы кодирования ко всем речевым сегментам. Но даже при использовании алгоритмов многоимпульсного и кодового возбуждения, обеспечивающих высокое качество при относительно невысоких скоростях передачи, на скорости 4 кбит/с и меньше качество речи снижается [1].
Одна из возможностей дальнейшего снижения скорости передачи - переход к переменной скорости кодирования, основанной на том, что информация, необходимая для описания сигнала, изменяется во времени.
В речи, особенно при двустороннем разговоре, существуют паузы между звуками, словами и существенные паузы между предложениями. Средняя длительность пауз может составлять до половины общего времени разговора двух абонентов. Ввиду различной информационной избыточности в представлении периодов молчания и звуков активной речи на соответствующих сегментах могут быть применены разные схемы кодирования.
Если одновременно организовано несколько соединений, то экономия полосы пропускания оказывается существенной, что позволяет организовать еще ряд соединений без выделения или прокладки дополнительных каналов связи.
Высокая эффективность использования сетей достигается, когда применяется коллективный доступ с кодовым разделением (CDMA - Code Division Multiple Access) [1]. Системы с CDMA включают модуль контроля переменной скорости (VRCU -Variable Rate Control Unit), созданный для обеспечения оптимального распределения полосы пропускания канала между различными источниками информации. Модуль
анализирует мультиплексируемые каналы для определения скорости передаваемых по ним данных и осуществляет распределение полосы пропускания (рис. 1).
Требования пользователей Возможности канала связи
Рис. 1. Схема управления потоками данных с переменными скоростями
Каждый источник информации формирует соответствующий информационный поток г(п), который является функцией кадра п и поступает в кодер канала [1]. Затем полученные цифровые потоки (каждый со своей избыточностью, переменной скоростью К(п) и динамически выделенной полосой пропускания) поступают в мультиплексор.
Модуль УЯСИ для обеспечения оптимального распределения ресурсов канала связи анализирует [1]:
- потребности источников информации;
- потребности системы;
- потребности пользователей;
- возможности канала связи.
Таким образом, поскольку современные сети обладают возможностями управления потоками, то актуальной является задача разработки самих алгоритмов кодирования с переменной скоростью, а также модификации существующих для перехода к переменным скоростям передачи.
Основная часть
Существуют следующие способы кодирования речи с переменной скоростью:
- на основе фонетической классификации;
- на основе энергетической классификации;
- обеспечивающие постоянное качество синтезированной речи.
В ходе исследования были проанализированы:
- указанные способы, на примерах конкретных реализаций;
- стандарты ITU-T G729 Annex B и G723.1 Annex A, включающие описания алгоритмов определения периодов молчания;
- RFC 3389, описывающий формат полезной нагрузки комфортного шума.
В результате была построена общая схема кодирования-декодирования с переменной скоростью и выделены характерные для указанной схемы функциональные блоки (рис. 2):
- блок определения речевой активности (VAD - Voice Activity Detector);
- генератор комфортного шума (CNG - Comfort Noise Generator).
Сегмент речевого сигнала
Восстановленный речевой сегмент
Рис. 2. Общая схема кодирования-декодирования с переменной скоростью
Основные требования, предъявляемые к алгоритмам УАО и СКО:
- низкие вычислительные затраты, поскольку работа ведется на речевом фрагменте «вместе» с кодированием и другими алгоритмами обработки речи в режиме реального времени;
- быстрая адаптация к изменению уровню шума (фона);
- быстрая реакция на начала звуков после паузы;
- восприятие согласных звуков - щелевых (ф, ш и т.д.) и аффрикатов (ц и ч) -или их начальных участков как активной речи, а не фона;
- использование универсального звукового фрагмента для заполнения пауз с возможностью циклической прокрутки или генерация шума, похожего на естественный;
- высокие показатели работы алгоритма VAD при низком показателе SNR (Signal Noise Ratio - отношение сигнал/шум), т.е. в случае, при котором уровень шума может даже превышать уровень сигнала.
В разработанном программном продукте учтены все пункты, кроме последнего. Стабильность работы алгоритма VAD в случае большой зашумленности сигнала требует работы со спектрами или использования других, достаточно трудоемких для вычислительной техники алгоритмов, например, алгоритма на основе подсчета числа переходов через ноль (zero crossing algorithm), алгоритмов предсказания или др. Решение этого вопроса требует дополнительного исследования.
Следует отметить, что время обработки не должно превышать интервал времени между последовательными речевыми сегментами. Другими словами, если каждый сегмент содержит 20 мс речи, то во избежание дополнительных задержек и потерь данных время работы алгоритма на конкретном устройстве не должно превышать 20 мс с учетом кодирования.
Предложенный алгоритм VAD имеет вычислительную сложность менее 300 тыс.оп./с над числами с плавающей точкой, рассчитанную по максимальной ветви программы, что позволяет, наращивая его функциональность, увеличить вычислительную сложность почти на порядок.
CNG практически не требует процессорного времени, поскольку его работа состоит в интерпретации принятого байта как усредненной амплитуды фона и проигрывании (при необходимости циклически) заранее записанного в файл и считанного при инициализации в буфер шумового сэмпла с учетом принятого значения громкости.
Алгоритм VAD основан на работе с адаптивными уровнями фона и активной речи (с фоном). Формулы для расчета соответствующих уровней аналогичны и имеют вид:
Acur =(1 -a)-AL + a • Pcur, где ALcur, AL - рассчитанный адаптивный уровень сигнала с учетом текущего и предыдущего отсчетов, соответственно; a (0 < a < 1) - константа, определяющая скорость реакции на текущий отсчет сигнала; Pcur - мощность текущего отсчета сигнала, вычисленная как квадрат его амплитуды. При приходе следующего отсчета ALcur в формулу подставляется как AL.
Таким образом, кратко один цикл работы VAD можно описать следующим образом:
- запоминаем предыдущий AL1 (адаптивный уровень 1), характеризующий фон;
- считаем AL1;
- считаем AL2 (адаптивный уровень 2), характеризующий активность речи;
- сравниваем отношение AL2 / AL1 с заданным пороговым значением;
- если идет первая секунда разговора или количество превышений порога больше заданного процента от размера сегмента, то принимается решение о наличии активной речи;
- в другом случае принимается решение о наличии только шума. Тогда в начале каждого периода молчания, а затем через каждую секунду формируется уровень комфортного шума, исходя из значения AL1.
Для тестирования применялась схема без использования кодирования.
На рис. 3-5 приведены графики изменения исходного сигнала, решения VAD и отношения AL2 к AL1 во времени, соответственно.
На графиках отображен один и тот же временной интервал. Подписи к осям х и у не приводятся, так как в конкретном случае они не несут смысловой нагрузки, а внимание следует уделять изменению графиков.
На рис. 3 приводится пример непрерывной речи. На рис. 4 верхние участки графика являются решениями УАО о наличии периодов молчания. Даже визуально можно определить, насколько механизм УАО позволяет сократить объем передаваемых данных. Рис. 5 демонстрирует принцип, на основании которого УАО принимает решение.
Рис. 3. График изменения исходного сигнала во времени
Рис. 4. График изменения решения УДР во времени
Рис. 5. График изменения отношения А1.2 к во времени
В результате выполнены следующие пункты: - разработка базовых алгоритмов УАБ и СКО;
- подбор фонового шума (адаптированный коричневый шум), прокручиваемого циклически (если пауза длится более одной секунды);
- адаптация алгоритма VAD для быстрой речи и согласных звуков, похожих хотя бы начальным участком на шум (с помощью деления блока данных на подблоки и их дифференциальной оценки; особое внимание уделяется последнему подблоку, который может содержать начало звукового сегмента);
- введение дополнительного параметра: допустимого процента превышений порога, при котором блок данных оценивается еще как шум (защита от импульсных помех, увеличение параметра улучшает работу VAD, но может «резать» речь - необходима настройка);
- внесение в программу блоков для обработки тестовых звуковых файлов вне real time, для возможности получения и сравнения графиков:
■ адаптивного уровня для шума;
■ адаптивного уровня для голоса;
■ отношения указанных уровней;
■ решения VAD;
■ итогового звука;
- интерфейс с возможностью настройки различных параметров шума и выводом результата работы VAD в процентах для real time речи и хранимых файлов (для быстрого сравнения результата работы VAD);
- выбор основного регулируемого параметра для подстройки под различные типы речи (допустимый процент превышений порога, при котором блок данных оценивается еще как шум);
- анализ кода функций VAD и CNG на предмет количества операций с плавающей точкой.
Заключение
В статье рассмотрен механизм прерывистой передачи аудиопотока, описаны методы, положенные в основу разработанного алгоритма определения речевой активности.
Литература
1. Быков С.Ф., Журавлев В.И., Шалимов И.А. Цифровая телефония. // М.: Радио и связь, 2003. С.94-109.