Алгоритмы реализации детектора активности речи (VAD-Voice Activity Detector)

Методы обнаружения активности диктора (абонента) разделяются на следующие три группы:

- на основе обработки аналогового сигнала;

- на основе обработки цифрового сигнала;

- комбинированные методы.

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

Наиболее простым классифи­катором речевого сигнала является де­тектор активности речи (VAD — Voice Activity Detector), который выделяет во входном речевом сигнале активную речь и паузы. При этом фрагменты сиг­нала, классифицируемые как актив­ная речь, кодируются каким-либо из известных алгоритмов (как правило, методом CELP) с типичной скоростью 4...8 кбит/с. Фрагменты, классифи­цированные как паузы, кодируются и передаются с очень низкой скоростью (порядка 0,1...0,2 кбит/с) или не пере­даются вообще. Передача минималь­ной информации о паузных фрагмен­тах предпочтительна.

При использовании детектора активности речи возмож­ны следующие нежелательные явле­ния: разрывы в речи и возможность того, что шум будет неправильно идентифицирован как речь. Разрывы мо­гут существенно снизить общее качество речи. Вероятность идентифика­ции речи как шума или шума как ре­чи должна быть минимизирована, так как высокий коэффициент активности будет увеличивать интерференцию.

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

Реализация алгоритмов VAD бази­руется на следующих положениях:

- речь является нестационарным сигналом. Форма ее спектра обыч­но изменяется через короткие отрезки времени – 20...30 с;

- фоновый шум обычно стациона­рен на более длинном отрезке времени, немного изменяясь со временем;

- уровень речевого сигнала обыч­но выше уровня фонового шума (в противном случае речь была бы неразбор­чивой).

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

В системах, где уровень фоново­го шума очень низок, для определения участков тишины можно использовать простой энергетический порог сигна­ла. Иллюстрация работы такой разновидности VAD представлена на рисунке 5.7. Входной аналоговый сигнал поступает на вход устройства сравнения, в котором измеряется его амплитуда, и сравнивается с заданным пороговым значением. При превышении амплитудой входного сигнала заданного порога, сигнал поступает на вход кодека и кодируется по определенному алгоритму (интервал Т2 – Т3). Если амплитуда входного сигнала ниже порогового значения (Т1 – Т2), то в момент времени Т1 передается только служебная информация (длиной в несколько бит) о начале паузы, а в момент Т2 о ее окончании. Для выбора порогового значения необходимо постоянно отслеживать уровень шума.

 

 

Рис. 5.7. Обнаружение пауз речевого сигнала с помощью энергетической характеристики речевого сигнала

 

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

В системах, где существует переменный фоновый шум, нужно использовать более сложный алгоритм. Этот случай типичен для подвижных систем, где радиостанция размещается на движущемся объекте. В этих системах уровень шума очень высок и изме­няется, что делает невозможным при использовании только простого энер­гетического порога отличить смесь речи с фоновым шумом от одного фоно­вого шума. Так как уровень фоново­го шума может меняться, порог дол­жен быть адаптивным. Однако значе­ние порога должно обновляться толь­ко при отсутствии речи. Для этого проверяются спектральные характери­стики для определения, похож ли дан­ный отрезок на речь с часто изменя­ющейся формой спектра или на шум со стационарной спектральной плотно­стью. Так как речь может быть клас­сифицирована как голос с очень сла­бо изменяющимся сильным основным тоном, то для большей уверенности в том, что выделена речь, можно также рассматривать изменение в периодич­ности внутри фрейма.

Структурная схема VAD с обра­боткой в частотной области, применя­емого в системе GSM, приведена на рис. 5.8. Ее работа основана на разли­чии спектральных характеристик речи и шума. VAD определяет спектраль­ные отклонения входного воздействия от спектра фонового шума. Это осуществляется инверсным фильтром, коэф­фициенты которого устанавливаются применительно к воздействию на вхо­де только фонового шума.

При наличии на входе речи и шума инверсный фильтр осуществляет подавление компонентов шума и снижа­ет его интенсивность. Энергия смеси сигнала и шума на выходе инверсного фильтра сравнивается с порогом, который устанавливается в период воз­действия на входе только шума. Этот порог находится выше уровня энергии шумового сигнала. Превышение порогового уровня принимается за наличие на входе реализации сигнал+шум.

Исходными данными для работы алгоритма определения голосовой активности являются р+1 коэффици­ент автокорреляции и четыре коэффициента запаздывания долгосрочно­го предсказателя (один для каждого из четырех подфреймов), которые вы­числяются на каждом фрейме кодером источника RPE-LTP (где р – порядок LPC-анализа). Решение VAD принимается для каждого фрейма в конце теку­щей последовательности процессов об­работки.

Остаточная энергия LPC может быть определена при инверсной LPC-фильтрации текущего фрейма входно­го сигнала с дальнейшим суммирова­нием площадей остаточного сигнала. Процесс включает в себе два этапа об­работки: инверсную LPC-фильтрацию и вычисление энергии. Для повы­шения эффективности вычислений эти два процесса могут быть объединены в один следующим образом:

(5.10)

где Е – остаточная энергия; r(i) и A(i) – коэффициенты автокорреля­ции входного сигнала и средние LPC-коэффициенты, задаваемые соответ­ственно:

(5.11)

где N – размер фрейма анализа (160 выборок);

(5.12)

где aau - средний коэффициент. Уравнение (5.11) вычисляется кодером источника для определения его собст­венных LPC-параметров, и для его ис­пользования в алгоритме VAD допол­нительных вычислений не требуется.

Так как спектральные характери­стики фонового шума приняты стационарными на большом отрезке вре­мени, в алгоритме VAD используется усреднение значений автокорреляци­онной функции, относящихся к послед­нему фрейму. С этой целью два набора коэффициентов автокорреляции вычи­сляются следующим образом:

(5.13)

где h представляет текущий фрейм; h-1 – предыдущий фрейм и так да­лее до К-1 фрейма; К – число фреймов, используемых для вычисле­ния средних значений, обычно прини­мается равным четырем.

Средние LPC-параметры as вычи­сляются на основе средних коэффициентов автокорреляции с использованием алгоритма Дурбина. Коэффициенты автокорреляции средних LPC-параметров затем вычисляются с использованием

(5.14)

 

Рисунок 5.8. Структурная схема VAD с обра­боткой в частотной области

 

Для определения, является ли сигнал стационарным или нет, сред­ний спектр, представленный усред­ненными автокорреляционными LPC-параметрами Аa, сравнивается со сред­ними значениями автокорреляции сиг­нала, вычисленными в текущем фрейме с использованием уравнения

(5.15)

Если разница между Dfh и Dfh-i больше, чем установка порога, теку­щей фрейм считается нестационарным, если же меньше, текущий фрейм объявляется стационарным.

Так как речевой сигнал может быть спектрально стационарным длительное время, для различения речи и фонового шума в качестве индикатора используется периодичность речи. Значения задержек LTP для четырех подфреймов сравниваются с наимень­шим значением задержки. Если оставшиеся задержки очень близки к ми­нимальной задержке, фрейм считается периодическим, в противном случае – апериодическим.

Перед принятием окончательного Решения путем сравнения Е с пре­делом энергетического порога Uu вы­полняется проверка для выяснения, не нужно ли обновить значение поро­га. Порог обновляется, если изменение входного сигнала очень мало, что очень легко подтверждается проверкой значения r(0), или если высока вероят­ность появления неречевого сигнала, что проверяется с использованием ра­нее вычисленной информации о перио­дичности и стационарности. В первом случае, когда r(0) меньше установлен­ного значения Uниж, это показывает на отсутствие сигнала на входе. Энер­гетический порог устанавливается на его нижний предел, и VAD принима­ет решение. Во втором случае, когда r(0) выше Uниж для решения о следую­щем шаге используются вычисленные ранее флаги стационарности и перио­дичности стац и период. Если фла­ги стац и период показывают, что те­кущий входной фрейм стационарный и апериодический, выполняется адапта­ция. Однако для уверенности, что сиг­нал не временно стационарный, про­веряется несколько (обычно восемь) фреймов, чтобы определить, остают­ся ли условия для адаптации до того, как эта адаптация будет выполнена. В этом случае кроме обновления энер­гетического порога Uu, средние LPC параметры aau, которые используют­ся для инверсного фильтра, также об­новляются на вновь вычисленный на­бор а.

После предшествующих этапов обработки путем сравнения Е с Uu принимается окончательное решение, ели Е>Uu, то принимается решение наличии речи. Если принимается решение о наличии неречевого сигнала, применяются методы для ограничения возможности разрывов потока речи. Обычно это выполняется путем убавления этапа «накапливание» на входе VAD. Перед принятием окончательного решения о том, что речевой сигнал отсутствует, нужно последовательно продетектировать несколько «неречевых» фреймов. Число таких фреймов определяется длиной отказа накапливания, который составляет 60...100мс (или 5-6 фреймов), или после интервала накопления, все еще есть признаки наличия «не-речи», то выход VAD используется для сообщения этой информации контроллеру прерывистой передачи.

Формирование комфортного шума управляется речевым кодером. Ко­гда VAD обнаружит, что разговор пре­кращен, передатчик остается включен­ным еще в течение следующих пяти фреймов. Во время первых четырех фреймов характеристики фонового шу­ма оцениваются путем усреднения ко­эффициента усиления и коэффициен­тов фильтра LРC-анализа. Эти усред­ненные значения передаются в следу­ющем пятом фрейме, где и содержится информация о комфортном шуме (SID-фрейм). В декодере комфортный шум гене­рируется на основе LPC-анализа SID-фрейма. Для возможности адаптации комфортного шума SID-фреймы посылаются в течение речевых пауз каждые 480 мс.