СПОСОБ И УСТРОЙСТВО ДЛЯ ОБНАРУЖЕНИЯ ГОЛОСОВОЙ АКТИВНОСТИ
METHOD AND APPARATUS FOR DETECTING VOICE ACTIVITY

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к способу и устройству для обнаружения голосовой активности (VAD).
УРОВЕНЬ ТЕХНИКИ
В системах кодирования речи, используемых для разговорной речи, для того, чтобы увеличить эффективность кодирования, обычно используется прерывистая передача (DTX). Причина этого заключается в том, что разговорная речь содержит большое количество пауз, например, в то время как один человек говорит, другой слушает. Так, при прерывистой передаче кодировщик речи является активным в среднем приблизительно 50 процентов времени, и остаток может быть закодирован с использованием комфортного шума. Некоторыми примерными кодеками, у которых есть этот признак, являются адаптивное кодирование с переменной скоростью (AMR NB) и улучшенный кодек с переменной скоростью передачи данных (EVRC). AMR NB использует прерывистую передачу, а EVRC использует переменную скорость передачи данных (VBR), где алгоритм определения скорости передачи данных (RDA) решает, какую скорость передачи данных использовать для каждого фрейма, на основе решения VAD. При прерывистой передаче активные фреймы речи кодируются с использованием кодека, в то время как фреймы между активными областями заменяются комфортным шумом. Параметры комфортного шума оцениваются в кодировщике и отправляются декодеру, использующему уменьшенную частоту фреймов и более низкую скорость передачи данных, чем он использует для активной речи.
100
111
Для высококачественной прерывистой передачи, то есть для передачи без ухудшения качества речи, важно обнаруживать периоды речи во входном сигнале. Это обычно делается детектором голосовой активности (VAD) (который используется как в прерывистой передаче, так и в RDA). Фиг. 1 показывает обзорную блок-схему примера обобщенного VAD , который принимает входной сигнал , обычно поделенный на фреймы данных длиной от 5 до 30 мс в зависимости от реализации, в качестве ввода и формирует решения VAD в качестве вывода, обычно по одному решению для каждого фрейма. Таким образом, решение VAD является решением для каждого фрейма, указывающим, содержит ли фрейм речь или шум.
113
101
102
115
Предварительное решение vad_prim  в этом примере формируется первичным голосовым детектором , и в данном примере в основном является всего лишь сравнением признаков текущего фрейма и признаков фона (обычно оцениваемых по предыдущим входным фреймам), причем разность, превышающая некоторый порог, формирует положительное первичное решение. В других примерах предварительное решение может быть получено другими способами, некоторые из которых кратко обсуждаются далее в настоящем документе. Детали внутренней работы первичного голосового детектора не имеют первостепенной важности для настоящего изобретения, и любой первичный голосовой детектор, формирующий предварительное решение, будет полезен в данном контексте. Блок добавления хвостов сигнала в данном примере используется для того, чтобы расширить первичное решение на основе прошлых первичных решений и сформировать окончательное решение vad_flag . Причина использования хвостов сигнала главным образом заключается в том, чтобы уменьшить/устранить риск отсечения середины речи и окончания речевых пакетов. Однако, хвосты сигнала могут также использоваться для того, чтобы избежать отсечения в музыкальных пассажах.
117
115
117
Также возможно добавлять дополнительные хвосты сигнала с целью прерывистой передачи. На Фиг. 1 это проиллюстрировано дополнительным выходом vad_flag_dtx . Следует отметить, что обычно существует только один выход vad_flag, но логика хвостов сигнала использует другие настройки, когда выход должен использоваться для прерывистой передачи. В данном описании два выхода окончательного решения vad_flag  и vad_flag_dtx будут разделяться в большинстве вариантов осуществления для того, чтобы упростить описание. Однако решения, основанные на альтернативных настройках хвостов сигнала и одном выходе, также являются применимыми.
Существуют две главные причины для использования различных выходов окончательного решения или настроек хвостов сигнала в зависимости от того, используется ли решение VAD для прерывистой передачи или нет. Во-первых, с точки зрения качества речи к VAD предъявляются более высокие требования, когда он используется для прерывистой передачи. Следовательно, прежде, чем переключиться на комфортный шум, желательно удостовериться, что речь закончилась. Во-вторых, дополнительные хвосты сигнала могут использоваться для оценки характеристик фонового шума. Например в AMR NB первая оценка комфортного шума делается в декодере на основе конкретных используемых хвостов сигнала DTX.
Как было упомянуто выше, существует ряд различных признаков, которые могут быть использованы для обнаружения VAD. Одна возможность заключается в том, чтобы отслеживать только энергию фрейма и сравнивать ее с некоторым порогом для того, чтобы решить, содержит ли фрейм речь или нет. Эта схема достаточно хорошо работает при условиях, в которых отношение сигнал-шум (SNR) является хорошим, но плохо работает в случае низких значений SNR. При низких значениях SNR предпочтительно используются другие метрики, например, сравнение характеристик речи и шумовых сигналов. Для реализаций в реальном времени дополнительным требованием к функциональности VAD является вычислительная сложность, которая отражается в частом представлении VAD для SNR поддиапазона в стандартных кодеках. VAD поддиапазона обычно комбинирует отношения SNR различных поддиапазонов в некоторую общую метрику, которая сравнивается с порогом для принятия первичного решения.
100
106
105
100
VAD включает в себя блок извлеченияпризнаков, обеспечивающий энергию поддиапазона признака, и блок  оценки фона, который обеспечивает энергетические оценки поддиапазона. Для каждого фрейма VAD  вычисляет признаки. Для того, чтобы идентифицировать активные фреймы, признак (признаки) текущего фрейма сравниваются с оценкой того, как этот признак "выглядит" для фонового сигнала.
102
107
Блок  добавления хвостов сигнала используется для того, чтобы расширить решение VAD от первичного VAD на основе прошлых первичных решений с тем, чтобы сформировать заключительное решение VAD «vad_flag», то есть более старые решения VAD также принимаются во внимание. Как было упомянуто ранее, причина использования хвостов сигнала главным образом заключается в том, чтобы, уменьшить/устранить риск отсечения середины речи и конца речевых пакетов. Однако хвосты сигнала могут также использоваться для того, чтобы избежать отсечения в музыкальных пассажах. Контроллер  может корректировать порог (пороги) для первичного детектора и длину добавляемых хвостов сигнала в соответствии с характеристиками входного сигнала.
Известны также решения, где множественные признаки с различными характеристиками используются для первичного решения. Для определения голосовой активности, основанного на принципе SNR поддиапазона, было показано, что введение нелинейности в вычисление SNR поддиапазона, иногда называемой порогами значимости, может улучшить работу VAD для условий с неустановившимся шумом, например, для невнятных переходных разговоров или офисного шума. Однако в этих случаях обычно имеется одно первичное решение, которое используется для добавления хвостов сигнала, которое может адаптироваться к условиям входного сигнала для того, чтобы сформировать окончательное решение. Кроме того, многие алгоритмы определения голосовой активности имеют порог входной энергии для обнаружения тишины, то есть для достаточно низких уровней входного сигнала первичное решение сбрасывается в неактивное состояние.
Один пример, в котором пороги значимости использовались для того, чтобы создать двойное решение VAD, описывается в опубликованной международной патентной заявке WO2008/143569 A1. В этом случае двойное определение речевой активности использовалось для того, чтобы улучшить обновление фонового шума и обнаружение музыки. Однако, только агрессивный первичный VAD использовался для окончательного решения vad_flag.
В документе WO2008/143569 A1 для того, чтобы обнаружить присутствие музыки, использовалась метрика, основанная на отфильтрованной кратковременной активности низких частот. Эта метрика отфильтрованных низких частот обеспечивает медленно изменяющееся численное значение, подходящее для нахождения более или менее непрерывных типов звука, типичных для, например, музыки. Дополнительное решение vad_music может быть тогда обеспечено для добавления хвостов сигнала, позволяя обработать музыкальный звук определенным образом.
Существует несколько различных способов генерации множественных первичных решений VAD. Наиболее базовым было бы использовать те же самые признаки, что и исходный VAD, но получать второе первичное решение с использованием второго порога. Другой возможностью является переключать VAD в соответствии с оцениваемыми условиями SNR, например, путем использования энергии в условиях высоких значений SNR и переключения на работу с SNR поддиапазона для условий средних и низких значений SNR.
В опубликованной международной патентной заявке WO2011/049516 A1 раскрываются детектор голосовой активности и соответствующий ему способ. Детектор голосовой активности выполнен с возможностью обнаруживать голосовую активность в принятом входном сигнале. VAD включает в себя комбинационные логики, выполненные с возможностью получения сигнала от первичного голосового детектора VAD, указывающего на первичное решение VAD. Комбинационные логики далее получают по меньшей мере один сигнал от внешнего VAD, указывающий на решение о наличии голосовой активности, принятое внешним VAD. Процессор объединяет решения о наличии голосовой активности, содержащиеся в полученных сигналах, для того, чтобы сгенерировать модифицированное первичное решение VAD. Модифицированное решение VAD передается в блок добавления хвостов сигнала.
Одна проблема с хвостами сигнала состоит в том, чтобы решить, когда и в каком количестве их использовать. С точки зрения качества речи добавление хвостов сигнала является в основном положительным. Однако, нежелательно добавлять слишком длинные хвосты сигнала, так как любое удлинение хвостов сигнала уменьшит эффективность решения DTX. Поскольку нежелательно добавлять хвосты сигнала к каждой кратковременной вспышке активности, со стороны первичного детектора vad_prim обычно существует требование наличия минимального числа активных фреймов для того, чтобы рассматривать добавление некоторого хвоста сигнала для генерирования окончательного решения vad_flag. Однако для того, чтобы избежать отсечения речи, желательно сохранять это необходимое количество активных фреймов настолько малым, насколько это возможно.
Для неустановившегося шума малое количество необходимых активных фреймов может позволить самому шуму вызвать достаточно длительные события VAD, которые инициируют добавление хвостов сигнала. Таким образом для того, чтобы избежать чрезмерной активности, такое решение обычно не допускает длинных хвостов сигнала.
Другой проблемой с необходимым количеством активных фреймов перед добавлением хвостов сигнала для высокоэффективного VAD является его способность обнаруживать короткие паузы внутри фрагмента речи. В этом случае имеется фрагмент речи, который был обнаружен правильно, но говорящий делает небольшую паузу перед тем, как продолжить. Это заставляет VAD обнаружить паузу и еще раз требует нового периода активных первичных фреймов до того, как хвост сигнала вообще может быть добавлен. Это может вызвать раздражающие артефакты с отсечением концов последних речевых сегментов, такие как речевой фрагмент, заканчивающийся неречевым взрывом.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача вариантов осуществления настоящего изобретения состоит в том, чтобы решить по меньшей мере одну из обрисованных выше проблем, и эта задача решается с помощью способов и устройств в соответствии с прилагаемыми независимыми пунктами формулы изобретения, а также с помощью вариантов осуществления в соответствии с зависимыми пунктами формулы изобретения.
В соответствии с одним аспектом настоящего изобретения предлагается способ для обнаружения голосовой активности (VAD), включающий в себя создание сигнала, указывающего на первичное решение VAD, и определение того, должно ли выполняться добавление хвостов сигнала первичного решения VAD. Определение необходимости добавления хвостов сигнала делается в зависимости от меры краткосрочной активности и меры долгосрочной активности. Сигнал, указывающий на окончательное решение VAD, создается затем в зависимости от по меньшей мере определения необходимости добавления хвостов сигнала.
В одном варианте осуществления мера краткосрочной активности выводится из N_st последних первичных решений VAD.
В одном варианте осуществления мера долгосрочной активности выводится из N_lt последних окончательных решений VAD или из N_lt последних первичных решений VAD.
В одном варианте осуществления создаются две версии окончательных решений: первое окончательное решение VAD и второе окончательное решение VAD. Второе окончательное решение VAD может быть сделано без использования меры краткосрочной активности и/или меры долгосрочной активности, и мера долгосрочной активности может быть выведена из N_lt последних вторых окончательных решений VAD.
В одном варианте осуществления окончательное решение VAD равно первичному решению VAD, если определено, что добавление хвостов сигнала выполнять не надо. В случае, если определено, что добавление хвостов сигнала выполнять надо, окончательное решение VAD равно решению голосовой активности, указывающему на активный фрейм.
В соответствии с другим аспектом настоящего изобретения предлагается устройство для обнаружения голосовой активности. Это устройство включает в себя секцию ввода, механизм первичного голосового детектора и блок добавления хвостов сигнала. Секция ввода выполнена с возможностью приема входного сигнала. Механизм первичного голосового детектора соединяется с секцией ввода. Механизм первичного голосового детектора выполнен с возможностью обнаружения голосовой активности в принятом входном сигнале, а также создания сигнала, указывающего на первичное решение VAD, связанное с принятым входным сигналом. Блок добавления хвостов сигнала соединяется с механизмом первичного голосового детектора. Блок добавления хвостов сигнала выполнен с возможностью определения, должно ли быть выполнено добавление хвостов сигнала первичного решения VAD, а также создания сигнала, указывающего на окончательное решение VAD, по меньшей мере частично зависящее от определения необходимости добавления хвостов сигнала. Устройство дополнительно включает в себя блок оценки краткосрочной активности и блок оценки долгосрочной активности. Блок оценки краткосрочной активности соединяется с входом блока добавления хвостов сигнала. Блок оценки долгосрочной активности соединяется с выходом блока добавления хвостов сигнала. Блок добавления хвостов сигнала соединяется с выходом блока оценки краткосрочной активности и блока оценки долгосрочной активности. Блок добавления хвостов сигнала дополнительно выполнен с возможностью выполнения определения необходимости добавления хвостов сигнала в зависимости от меры краткосрочной активности и от меры долгосрочной активности.
В одном варианте осуществления блок оценки краткосрочной активности выполнен с возможностью определения меры краткосрочной активности из N_st последних первичных решений VAD.
В одном варианте осуществления блок оценки долгосрочной активности выполнен с возможностью определения меры долгосрочной активности из N_lt последних окончательных решений VAD или из N_lt последних первичных решений VAD.
В одном варианте осуществления предлагается устройство. Этот вариант осуществления основан на процессоре, например на микропроцессоре, который выполняет компонент программного обеспечения для создания сигнала, указывающего на первичное решение VAD, компонент программного обеспечения для определения, нужно ли выполнять добавление хвостов сигнала первичного решения VAD, а также компонент программного обеспечения для создания сигнала, указывающего на окончательное решение VAD, по меньшей мере частично зависящее от определения необходимости добавления хвостов сигнала. В этом варианте осуществления процессор выполняет компонент программного обеспечения для определения меры краткосрочной активности из N_st последних первичных решений VAD и/или компонент программного обеспечения для определения меры долгосрочной активности из N_lt последних окончательных решений VAD. Эти компоненты программного обеспечения хранятся в памяти.
В соответствии с другим аспектом настоящего изобретения предлагается компьютерная программа. Компьютерная программа включает в себя компьютерно-читаемые блоки кода, которые при их выполнении на устройстве заставляют устройство создавать сигнал, указывающий на первичное решение VAD, определять необходимость добавления хвостов сигнала первичного решения VAD на основе меры краткосрочной активности и меры долгосрочной активности, и создавать сигнал, указывающий на окончательное решение VAD, по меньшей мере частично зависящее от определения необходимости добавления хвостов сигнала.
В соответствии с другим аспектом настоящего изобретения предлагается компьютерный программный продукт. Компьютерный программный продукт включает в себя компьютерно-читаемый носитель и компьютерную программу для создания сигнала, указывающего на первичное решение VAD, определения необходимости добавления хвостов сигнала первичного решения VAD на основе меры краткосрочной активности и меры долгосрочной активности, и создания сигнала, указывающего на окончательное решение VAD, по меньшей мере частично зависящее от определения необходимости добавления хвостов сигнала, хранимую на компьютерно-читаемом носителе.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для более полного понимания вариантов осуществления настоящего изобретения в качестве примера приводится следующее описание, сопровождаемое чертежами, на которых:
Фиг. 1 показывает пример типичного VAD с оценкой фона.
Фиг. 2 иллюстрирует примерный вариант осуществления VAD в соответствии с настоящим изобретением.
Фиг. 3 представляет собой блок-схему, иллюстрирующую пример способа VAD в соответствии с одним вариантом осуществления настоящего изобретения.
Фиг. 4A иллюстрирует один примерный вариант осуществления VAD в соответствии с настоящим изобретением.
Фиг. 4B иллюстрирует другой примерный вариант осуществления VAD в соответствии с настоящим изобретением.
Фиг. 4C иллюстрирует еще один примерный вариант осуществления VAD в соответствии с настоящим изобретением.
Фиг. 5 иллюстрирует дополнительный примерный вариант осуществления VAD в соответствии с настоящим изобретением.
Фиг. 6 показывает вариант осуществления VAD с хвостами сигнала.
Фиг. 7 показывает один вариант осуществления дополнительного VAD.
ПОДРОБНОЕ ОПИСАНИЕ
Было найдено, что одним способом смягчения таких проблем является использование временных характеристик метрик первичного детектора и метрик окончательного решения. Было найдено, что они хорошо подходят для подстройки дополнительных хвостов сигнала. По меньшей мере одно из первичного решения, введенного в блок добавления хвостов сигнала, и окончательного решения, выведенного из блока добавления хвостов сигнала, предпочтительно используется для того, чтобы влиять на добавление хвостов сигнала, и наиболее предпочтительно используются оба решения. Первичное решение, введенное в блок добавления хвостов сигнала, может быть исходным первичным решением, полученным от первичного голосового детектора, или оно может быть модифицированной версией такого исходного первичного решения. Такая модификация может быть выполнена на основе выходов из других VAD.
200,
202
202
Один вариант осуществления типичного VAD использующий первичное решение, введенное в блок  добавления хвостов сигнала, и окончательное решение, выведенное из блока добавления хвостов сигнала, иллюстрируется на Фиг. 2.
206
205
207
201
213,
Блок  извлечения признаковобеспечивает энергию поддиапазона признака, блок  оценки фона обеспечивает энергетические оценки поддиапазона, контроллер  может корректировать порог (пороги) для первичного детектора и длину добавляемых хвостов сигнала в соответствии с характеристиками входного сигнала, и первичный голосовой детектор  принимает предварительное решение vad_prim  как описано со ссылкой на Фиг. 1.
200
203
204
213
215
217
В этом варианте осуществления детектор  голосовой активности дополнительно включает в себя блок  оценки краткосрочной активности и/или блок оценки долгосрочной активности. Временные характеристики определяются с использованием признаков краткосрочной активности первичного решения vad_prim  и долгосрочной активности окончательного решения vad_flag . Эти метрики затем используются для того, чтобы скорректировать добавление хвостов сигнала для улучшения характеристик VAD для использования в прерывистой передаче путем создания альтернативного окончательного решения vad_flag_dtx .
213
215
217
В данном случае краткосрочная активность измеряется путем подсчета количества активных фреймов в памяти последних N_st первичных решений vad_prim . Аналогичным образом долгосрочная активность измеряется путем подсчета количества активных фреймов в окончательном решении vad_flag  в последних N_lt фреймах. N_lt имеет значение больше чем N_st, предпочтительно значительно больше. Эти метрики затем используются для того, чтобы создать альтернативное окончательное решение vad_flag_dtx . Преимущество использования этих метрик заключается в том, что это упрощает настройку хвостов сигнала, поскольку легче добавить хвосты сигнала в те моменты времени, когда активность уже высока.
Высокая краткосрочная активность указывает либо на начало, либо на середину, либо на конец активного пакета. На первый взгляд эта метрика может показаться похожей на обычно используемый способ, требующий только количества последовательных активных фреймов, как отмечалось ранее. Однако, основное различие заключается в том, что краткосрочная активность не сбрасывается, когда появляется решение о неактивности. Вместо этого имеется память, которая помнит вплоть до N_st активных фреймов прежде, чем они в конечном счете будут удалены из памяти. Следовательно, неактивный фрейм лишь несколько уменьшит среднюю краткосрочную активность. Для достаточно высокой краткосрочной активности было бы безопасно добавить несколько фреймов хвоста сигнала, поскольку краткосрочная активность уже высока, и дополнительный хвост сигнала будет оказывать лишь небольшое влияние на общую активность. Рассеянные фреймы неактивности не будут уменьшать краткосрочную активность в достаточной степени для того, чтобы прервать такую работу хвостов сигнала.
Рассеянные фреймы неактивности могут соответствовать коротким паузам в середине речевой активности или могут быть ложным обнаружением неактивности, например, вызванным короткими последовательностями невокализированной речи. Путем использования краткосрочной активности описанным выше способом, добавление хвостов сигнала может поддерживаться во время таких случаев.
Аналогичным образом высокая долгосрочная активность указывает на то, что речевой пакет был активным в течение некоторого времени. Если долгосрочная активность является высокой, существует большая вероятность того, что можно добавить несколько дополнительных хвостовых фреймов, практически не влияя на общую активность.
В одном варианте осуществления краткосрочная активность и долгосрочная активность соответственно сравниваются с соответствующим предопределенным порогом. Если активность выше соответствующего порога, то добавляется предопределенное соответствующее количество фреймов хвостового сигнала.
Так как долгосрочная активность реагирует на фактический конец речевой активности относительно медленно, есть риск того, что большое количество добавленных хвостовых фреймов будет использоваться относительное длительное время после конца речевого пакета. В связи с этим можно также использовать низкую краткосрочную активность в качестве индикатора конца речевого пакета. Следовательно, в одном варианте осуществления может быть желательно ограничить длину дополнительного хвостового сигнала, если краткосрочная активность падает ниже предопределенного порога. Другими словами, достаточно низкая краткосрочная активность может переопределить добавление хвостовых фреймов сигнала, требуемое высокой долгосрочной активностью.
Далее приведенные выше варианты осуществления в большинстве случаев описываются как модификации существующих решений, в которых увеличение сложности является небольшим. Однако, возможно также спроектировать абсолютно новый VAD, который должен использовать вышеупомянутые метрики для того, чтобы обеспечить более надежное решение VAD.
310
320
330
340
342
В одном варианте осуществления, схематично проиллюстрированном на Фиг. 3, способ в детекторе голосовой активности для обнаружения голосовой активности в полученном входном сигнале включает в себя создание  сигнала, указывающего на первичное решение VAD, связанное с полученным входным сигналом, предпочтительно путем анализа характеристик полученного входного сигнала. Определяется , должно ли быть выполнено добавление хвостов сигнала первичного решения VAD. Создается сигнал, указывающий на окончательное решение VAD. Окончательное решение VAD равно первичному решению VAD, если определено, что добавление хвостов сигнала не нужно. Окончательное решение VAD равно решению голосовой активности, если определено, что добавление хвостов сигнала должно быть выполнено. Так как хвосты сигнала добавляются, решение голосовой активности указывает на активный фрейм, то есть на фрейм, содержащий речь, а не шум. Мера краткосрочной активности определяется  по последним N_st первичным решениям VAD, и/или мера долгосрочной активности определяется  по последним N_lt окончательным решениям VAD. Определение необходимости добавления хвостов сигнала выполняется в зависимости от меры краткосрочной активности и/или от меры долгосрочной активности. Независимо от того, что Фиг. 3 изображена как один поток событий, реальная система будет обрабатывать фреймы один за другим. Пунктирные стрелки показывают, что зависимость меры краткосрочной активности и/или меры долгосрочной активности справедлива для последующего фрейма.
330
217
204
330
215
204
Следует понимать, что Фиг. 3 иллюстрирует не поток сигналов, а скорее этапы способа, которые выполняются в соответствии с одним вариантом осуществления настоящего изобретения. Таким образом, создание окончательного решения  VAD может включать в себя создание альтернативного окончательного решения (например, vad_flag_dtx ) на основе мер краткосрочной активности и/или долгосрочной активности. Альтернативное окончательное решение, однако, не используется в качестве входа для блока  оценки долгосрочной активности, поскольку это создало бы обратную связь активности (из-за модификации признака, который должен быть измерен с добавлением скорректированных хвостов сигнала). Следовательно, создание окончательного решения  VAD может также включать в себя создание окончательного решения (например, vad_flag ) на основе традиционного способа хвостов сигнала и/или мер краткосрочной активности, но не мер долгосрочной активности, которое затем используется в качестве входа для блока  оценки долгосрочной активности, как показано на Фиг. 2.
400
412
401
402
401
412
401
402
401
402
400
403
404
403
402
403
404
402
404
402
403
404
402
В одном варианте осуществления, схематично проиллюстрированном на Фиг. 4A, детектор  голосовой активности включает в себя секцию  ввода, механизм  первичного голосового детектора и блок  добавления хвостов сигнала. Секция ввода выполнена с возможностью получения входного сигнала. Механизм  первичного голосового детекторасоединяется с секцией  ввода. Механизм  первичного голосового детекторавыполнен с возможностью обнаружения голосовой активности в полученном входном сигнале, а также создания сигнала, указывающего на первичное решение VAD, связанное с полученным входным сигналом. Блок  добавления хвостов сигналасоединяется с механизмом  первичного голосового детектора. Блок  добавления хвостов сигналавыполнен с возможностью определения необходимости добавления хвостов сигнала упомянутого первичного решения VAD, а также создания сигнала, указывающего на окончательное решение VAD. Окончательное решение VAD равно первичному решению VAD, если определено, что добавление хвостов сигнала не нужно. Окончательное решение VAD равно решению голосовой активности, если определено, что добавление хвостов сигнала должно быть выполнено. Детектор  голосовой активностидополнительно включает в себя блок  оценки краткосрочной активности и/или блок  оценки долгосрочной активности. Блок  оценки краткосрочной активностисоединяется с входом блока  добавления хвостов сигнала. Блок  оценки краткосрочной активностивыполнен с возможностью определения меры краткосрочной активности по последним N_st первичным решениям VAD. Блок  оценки долгосрочной активностисоединяется с выходом блока  добавления хвостов сигнала. Блок  оценки долгосрочной активностивыполнен с возможностью определения меры долгосрочной активности по последним N_lt окончательным решениям VAD. Блок  добавления хвостов сигналасоединяется с выходом блока  оценки краткосрочной активностии/или блока  оценки долгосрочной активности. Блок  добавления хвостов сигналадополнительно выполнен с возможностью выполнения определения хвостов сигнала в зависимости от меры краткосрочной активности и/или от меры долгосрочной активности. Определение хвостов сигнала в зависимости от меры краткосрочной активности и/или от меры долгосрочной активности может затем использоваться для того, чтобы скорректировать добавление хвостов сигнала с тем, чтобы улучшить характеристики VAD для использования в прерывистой передаче путем создания альтернативного окончательного решения.
Детектор голосовой активности обычно предусматривается в голосовом или звуковом кодеке. Такие кодеки обычно предусматриваются в различных оконечных устройствах, например, в телекоммуникационных сетях. Неограничивающими примерами являются телефоны, компьютеры и т.д. в которых выполняется обнаружение или запись звука.
410
В одном варианте осуществления окончательное решение VAD дается как дополнительный флаг , помимо окончательного решения VAD, принятого без использования мер краткосрочной активности или меры долгосрочной активности, обычно как окончательное решение VAD для использования в прерывистой передаче, как проиллюстрировано на Фиг. 4B. Две версии окончательных решений могут тогда использоваться параллельно различными блоками или функциональностями. В другом альтернативном варианте осуществления использование меры краткосрочной активности или меры долгосрочной активности может включаться и отключаться в зависимости от контекста, в котором предполагается использование решения VAD.
404
402
В другом варианте осуществления, где окончательное решение VAD не является доступным или является неподходящим для выполнения какого-либо анализа долгосрочной активности, анализ долгосрочной активности вместо этого может быть выполнен на первичном решении VAD. В таком варианте осуществления блок  оценки долгосрочной активности вместо этого соединяется с входом блока  добавления хвостов сигнала, как показано на Фиг. 4C, и мера долгосрочной активности оценивается по N_lt последним первичным решениям VAD.
В еще одном варианте осуществления оценки краткосрочной и долгосрочной активности могут быть выполнены на первичном и/или окончательном решении VAD, отличающемся от первичного и/или окончательного решения VAD, на котором должна быть выполнена дополнительная корректировка хвостов сигнала. Одна возможность заключается в том, чтобы иметь простой VAD, создающий первичное решение VAD, и простой блок добавления хвостов сигнала, модифицирующий его в окончательное решение VAD. Затем может быть проанализировано поведение краткосрочной и долгосрочной активности таких первичных и/или окончательных решений VAD. Однако, другая настройка VAD, например более усложненная, может затем использоваться для обеспечения представляющего интерес первичного решения VAD для корректировки добавления хвостов сигнала. Проанализированная активность из простой системы может затем быть использована для управления работой блока 402 добавления хвостов сигналаболее тщательно продуманной системы VAD, давая надежное окончательное решение VAD.
510
501
502
503
510
504
505
520
510
520
515
530
516
510
520
530
520
501
310
502
320
503
330
504
340
505
342
Далее будет описан пример варианта осуществления детектора 500 голосовой активности со ссылкой на Фиг. 5. Этот вариант осуществления основан на процессоре , например микропроцессоре, который выполняет компонент  программного обеспечения для того, чтобы создать сигнал, указывающий на первичное решение VAD, компонент  программного обеспечения для того, чтобы определить, должно ли быть выполнено добавление хвостов сигнала первичного решения VAD, и компонент  программного обеспечения для того, чтобы создать сигнал, указывающий на окончательное решение VAD. В этом варианте осуществления процессор  выполняет компонент  программного обеспечения для того, чтобы получить меру краткосрочной активности из последних N_st первичных решений VAD, и/или компонент  программного обеспечения для того, чтобы получить меру долгосрочной активности из последних N_lt окончательных решений VAD. Эти компоненты программного обеспечения хранятся в памяти . Процессор  обменивается информацией с памятью по системной шине . Аудиосигнал получается контроллером  ввода-вывода (I/O), который управляет шиной ввода-вывода, с которой соединены процессор  и память . В этом варианте осуществления сигналы, полученные контроллером  ввода-вывода, хранятся в памяти , где они обрабатываются компонентами программного обеспечения. Компонент  программного обеспечения может реализовать функциональность стадии  в варианте осуществления, описанном со ссылкой на Фиг. 3 выше. Компонент  программного обеспечения может реализовать функциональность стадии  в варианте осуществления, описанном со ссылкой на Фиг. 3 выше. Компонент  программного обеспечения может реализовать функциональность стадии  в варианте осуществления, описанном со ссылкой на Фиг. 3 выше. Компонент  программного обеспечения может реализовать функциональность стадии  в варианте осуществления, описанном со ссылкой на Фиг. 3 выше. Компонент  программного обеспечения может реализовать функциональность стадии  в варианте осуществления, описанном со ссылкой на Фиг. 3 выше.
530
510
520
516
Блок  ввода-вывода может быть связан с процессором  и/или памятью  через шину  ввода-вывода с тем, чтобы обеспечить ввод и/или вывод соответствующих данных, таких как входные сигналы и окончательные решения VAD.
В одном варианте осуществления счетчики активных фреймов в памяти первичных решений и окончательных решений используются как описано выше. В альтернативных вариантах осуществления было бы возможно также использовать взвешивание, которое зависит от времени нахождения активного фрейма в памяти. Это возможно как для первичного решения, принимаемого на основе краткосрочной активности, так и для окончательного решения, принимаемого на основе долгосрочной активности. В дополнительных вариантах осуществления можно использовать различные дополнительные хвосты сигнала в зависимости от других характеристик входного сигнала, таких как оценка уровня речи, уровня шума и/или SNR.
В дополнительных вариантах осуществления может быть интересным использовать более двух временных характеристик для того, чтобы лучше определить местоположение начала, середины, или конца активного речевого пакета.
В дополнительных вариантах осуществления описанные выше принципы решений хвостов сигнала могут быть также объединены с другими решениями для улучшения VAD, такими как принципы объединителя мульти-VAD, представленные в документе WO2011/049516. В этом случае модифицированное первичное решение VAD используется в качестве входа для блока оценки краткосрочной активности, и может использоваться блок добавления хвостов сигнала. Объединитель мульти-VAD тогда может рассматриваться как часть механизма первичного голосового детектора.
Аналогичным образом различные дополнительные подходы для оценки фона могут выгодно и легко интегрироваться с представленными идеями.
Кодек G.718 в соответствии со стандартами 3GPP2 используется в качестве основы для варианта осуществления, представленного ниже в настоящем документе. Подробное описание связанных частей может быть найдено, например, в опубликованной международной патентной заявке WO2009/000073 A1.
601
602
603
604
605
606
607
608
609
603
603
609
Фиг. 6 показывает блок-схему звуковой системы связи в соответствии с международной патентной заявкой WO2009/000073 A1, включающую в себя препроцессор , спектральный анализатор , детектор  звуковой активности, блок оценки шума, дополнительный уменьшитель шума, блок LP анализатора и отслеживания высоты тона, модуль  обновления оценки энергии шума, сигнальный классификатор  и звуковой кодировщик . Обнаружение звуковой активности (первая стадия классификации сигнала) выполняется в детекторе  звуковой активности, использующем оценки энергии шума, вычисленные в предыдущем фрейме. Выход детектора  звуковой активности является двоичной переменной, которая далее используется кодировщиком  и которая определяет, кодируется ли текущий фрейм как активный или как неактивный.
603
Модуль  «SAD на основе SNR» является модулем, в котором могут быть реализованы варианты осуществления настоящего изобретения. В настоящий момент представленный вариант осуществления покрывает только широкополосную цепочку сигналов, оцифрованную с частотой 16 кГц, но подобная модификация также была бы выгодна для узкополосной цепочки сигналов, оцифрованной с частотой 8 кГц, или для любых других частот дискретизации.
213
В одном варианте осуществления, основанном на принципах, представленных в документе WO2011/049516 A1, исходный VAD из документа WO2009/000073 A1 (VAD 1) используется в качестве первого VAD, генерирующего сигналы localVAD и vad_flag. Этот сигнал localVAD используется в данном описании в качестве сигнала VAD_prim , на основе которого делается оценка краткосрочной активности.
701
702
703
704
705
706
707
708
709
Дополнительный VAD (VAD 2) также основан на документе WO2009/000073 A1, но достигается путем использования модификаций для оценки фонового шума и SAD на основе SNR. Фиг. 7 показывает блок-схему для второго VAD. Эта блок-схема показывает препроцессор , спектральный анализатор , модуль  «SAD на основе SNR», блок оценки шума, дополнительный уменьшитель шума, блок  LP анализатора и отслеживания высоты тона, модуль  обновления оценки энергии шума, сигнальный классификатор  и звуковой кодировщик .
710
711
710
711
Эта блок-схема также показывает первичные и окончательные решения VAD для VAD 2, localVAD_he и vad_flag_he , соответственно. Сигналы localVAD_he и vad_flag_he используются в первичном голосовом детекторе VAD1 для производства сигнала localVAD.
Для этого варианта осуществления следующие переменные добавляются к состоянию кодировщика (Encoder_State):
Все эти состояния должны быть обнулены во время инициализации, например, это может быть сделано в подпрограмме wb_vad_init().
Далее обновляются признаки краткосрочной и долгосрочной активности, что должно быть сделано в конце обработки для каждого фрейма. Это может быть сделано путем добавления следующего кода в подходящем исходном файле:
Здесь переменная st указывает на выделенную переменную Encoder_State в кодировщике. Таким образом, для следующего фрейма переменная состояния st->vad_flag_cnt_50 будет содержать долгосрочную активность окончательного решения в форме количества фреймов, которые являются активными в пределах последних 50 фреймов, а переменная состояния st->vad_prim_cnt_16 будет содержать краткосрочную первичную активность в форме количества основных активных фреймов внутри последних 16 фреймов. Длина памяти краткосрочной активности, 16 фреймов, и длина памяти долгосрочной активности, 50 фреймов, являются значениями, используемыми в этом конкретном варианте осуществления. Эти цифры являются типичными значениями, которые могут использоваться в рабочей реализации, но абсолютные значения не являются критическими. Следовательно, эти числа могут быть адаптированы в различных типах реализаций, например, как подстройка свойств хвостов сигнала. Обычно длина памяти долгосрочной активности больше, чем длина памяти краткосрочной активности, и предпочтительно значительно больше, как в вышеприведенном примере. В типичном варианте осуществления соотношение между длиной памяти долгосрочной активности и длиной памяти краткосрочной активности находится в пределах от 2,5 до 5. Также это соотношение может быть адаптировано к различным типам реализаций, где ожидается частое присутствие различных типов звука.
Код для принятия решения о длине добавляемых хвостов сигнала hangover_short может быть реализован с использованием следующей модификации кода, где:
lp_snr является низкочастотной отфильтрованной оценкой SNR;
th_clean представляет собой порог SNR, используемый для принятия решения о том, является ли вход чистой речью;
thr1 представляет собой расчетный порог для первичного детектора.
Далее следует код, который необходим для адаптации хвостов сигнала, используемых для прерывистой передачи, hangover_short_dtx.
Также здесь имеется ряд заданных чисел, которые следует рассматривать как переменные проекта. Эти числа, следовательно, также могут адаптироваться в различных типах реализаций, например, как настройка свойств хвостов сигнала.
Код для реализации фактических хвостов сигнала может быть сделан со следующей модификацией:
flag - окончательное решение VAD, включая хвосты сигнала;
localVAD - первичное решение;
snr_sum - признак VAD в форме оценки SNR поддиапазона;
st->nb_active_frames - количество последовательных активных фреймов (первичных решений)
st->hangover_cnt - счетчик для используемых хвостовых фреймов.
Это модифицируется на следующее для того, чтобы включить новое решение VAD, которое будет использоваться для прерывистой передачи, vad_flag_dtx, используя определенную выше адаптацию хвостов сигнала прерывистой передачи hangover_short_dtx, что добавляет следующие переменные:
flag_dtx - окончательное решение VAD, которое также включает в себя специфичные для прерывистой передачи хвосты сигнала;
st->hangover_cnt_dtx - счетчик для количества хвостовых фреймов, используемых для прерывистой передачи.
С использованием признаков краткосрочной активности первичного решения и долгосрочной активности окончательного решения можно более конкретно добавлять дополнительные хвосты сигнала внутри речевых пакетов и в конце речевого пакета, и тем самым сократить отсечение речи, в частности для высокоэффективных VAD.
Долгосрочная активность окончательного решения также позволяет добавлять хвосты сигнала к кратковременным пакетам после более длинного речевого пакета, что уменьшает риск отсечения невокализированных концов со взрывными артефактами.
С использованием признаков активности становится возможным расширить хвосты сигнала на сегментах с уже высокой речевой активностью. Это обеспечивает более длительное расширение без риска существенного увеличения общей активности.
С использованием дополнительных признаков, представленных выше, возможно дальнейшее усовершенствование, который делает возможным расширение хвостов сигнала даже в более ограниченных условиях, таких как низкий уровень речи.
С использованием более агрессивного SAD может быть легче удалять любое отсечение речи путем добавления некоторого расширения хвостов сигнала, в частности, если это может быть сделано более конкретно для сегментов с уже высокой активностью. Это решение может быть легче настраиваемым, чем попытка перенастроить решение, которое основано на нескольких SAD, работающих параллельно.
Варианты осуществления, описанные выше, должны пониматься как небольшое количество иллюстративных примеров представленных идей. Специалистам в данной области техники будет понятно, что различные модификации, комбинации и изменения могут быть применены к этим вариантам осуществления без отступлений от общей области охвата представленных вариантов осуществления. В частности, различные части решений в различных вариантах осуществления могут быть объединены в других конфигурациях, если это технически возможно.