ОЦЕНКА ФОНОВОГО ШУМА В ЗВУКОВЫХ СИГНАЛАХ
ESTIMATION OF BACKGROUND NOISE IN AUDIO SIGNALS

Область техники
Варианты осуществления настоящего изобретения относятся к аудиокодированию и, в частности, к оценке фонового шума для поддержки принятия решения о звуковой активности.
Уровень техники
В системах связи, использующих прерывистую передачу (DTX), важно найти баланс между эффективностью и отсутствием уменьшения качества. В таких системах используется детектор активности для указания активных сигналов, например, речи или музыки, которые должны быть активно закодированы, и сегментов с фоновыми сигналами, которые могут быть заменены комфортным шумом, сформированным на стороне приемника. Если детектор активности будет слишком эффективен в обнаружении отсутствия активности, то это внесет отсечение активного сигнала, и это затем будет воспринято как субъективное ухудшение качества, когда отсеченный активный сегмент заменяется на комфортный шум. В то же время эффективность DTX уменьшается, если детектор активности недостаточно эффективен и классифицирует сегменты фонового шума как активные и затем активно кодирует фоновый шум, вместо того чтобы войти в режим DTX с комфортным шумом. В большинстве случаев проблема отсечения считается более неблагоприятной.
Фиг. 1 показывает обзорную блок-схему обобщенного детектора звуковой активности (SAD) или речевого детектора действия, VAD, который берет аудиосигнал в качестве входной информации и производит принятие решение об активности в качестве выходной информации. Входной сигнал разделяется на кадры данных, т.е. сегменты аудиосигнала, например, по 5-30 мс, в зависимости от реализации, и в качестве выходной информации производится одно принятие решения об активности на каждый кадр.
Первичное решение, "prim", принимается первичным детектором, проиллюстрированным на фиг. 1. Первичное решение в основном представляет собой лишь сравнение характеристик текущего кадра с характеристиками фона, которые оценены на основе предыдущих входных кадров. Различие между характеристиками текущего кадра и характеристиками фона больше порога приводит к первичному решению об активности. Блок добавления хвоста сигнала используется для расширения первичного решения на основе прошлых первичных решений для формирования окончательного решения, "flag". Причина использования хвоста сигнала состоит в том, чтобы в основном уменьшить/удалить риск отсечения середины и задней части пакета активности. Как обозначено на фигуре, контроллер операций может отрегулировать порог(и) для первичного детектора и продолжительность добавления хвоста сигнала в соответствии с характеристиками входного сигнала. Блок оценки фона используется для оценки фонового шума во входном сигнале. Фоновый шум также может упоминаться здесь как ʺфонʺ или ʺхарактеристика фонаʺ.
Оценка характеристики фона может быть сделана в соответствии с двумя в основном различными принципами, либо посредством использования первичного решения, т.е. с информацией обратной связи решения или метрики решения, что обозначено штрихпунктирной линией на фигуре 1, либо посредством использования некоторых других характеристик входного сигнала, т.е., без обратной связи решения. Также возможно использовать комбинации этих двух стратегий.
Пример кодека, использующего информацию обратной связи решения для оценки фона, является адаптивное узкополосное кодирование с переменной скоростью (AMR-NB), и примеры кодеков, в которых информация обратной связи решения не используется, являются усовершенствованный кодек с переменной скоростью кодирования (EVRC) и G.718.
Имеется много различных признаков и характеристик сигнала, которые могут использоваться, но одним общим признаком, используемым в VAD, являются частотные характеристики входного сигнала. Обычно используемый тип частотных характеристик представляет собой энергию кадра поддиапазона вследствие ее низкой сложности и надежной работы при низком SNR. Таким образом, предполагается, что входной сигнал разбит на различные частотные поддиапазоны, и оценивается уровень фона для каждого из поддиапазонов. Таким образом, одна из характеристик фонового шума представляет собой вектор со значениями энергии для каждого поддиапазона, Это значения, которые характеризуют фоновый шум во входном сигнале в частотной области.
Чтобы достигнуть отслеживания фонового шума, обновление оценочного значения фактического фонового шума может быть сделано по меньшей мере тремя разными способами. Один путь состоит в том, чтобы использовать автоматический регрессивный процесс для каждого частотного отрезка для обработки обновления. Примерами таких кодеков являются AMR-NB и G.718. В основном, для этого типа обновления размер шага обновления пропорционален наблюдаемому различию между текущим вводом и текущим оценочным значением фона. Другой путь состоит в том, чтобы использовать мультипликативное масштабирование текущей оценки с ограничением, чтобы оценочное значение никогда не могло быть больше, чем текущий ввод, или меньше, чем минимальное значение. Это означает, что оценочное значение увеличивается в каждом кадре, пока оно не выше, чем текущий ввод. В той ситуации текущий ввод используется в качестве оценочного значения. EVRC представляет собой пример кодека, использующего эту методику для обновления оценочного значения фона для функции VAD. Следует отметить, что EVRC использует разные оценочные значения фона для VAD и для подавления шумов. Следует отметить, что VAD может использоваться в других контекстах, нежели DTX. Например, в кодеках с переменной скоростью, таких как EVRC, VAD может использоваться в качестве части функции определения частоты.
Третий путь состоит в том, чтобы использовать так называемую минимальную методику, в которой оценочное значение представляет собой минимальное значение во время скользящего временного окна предшествующих кадров. Это в основном дает минимальное оценочное значение, которое масштабируется с использованием коэффициента компенсации для получения и приближенного усреднения среднего оценочного значения для стационарного шума.
В случаях высокого SNR, когда уровень активного сигнала намного выше, чем сигнал фона, может быть довольно легко принять решение о том, активен ли входной аудиосигнал. Однако для разделения активных и неактивных сигналов в случаях низкого SNR, и, в частности, когда фон является нестационарным или даже подобен активному сигналу по своим характеристикам, является очень трудным.
Сущность изобретения
Было бы желательно принимать более адекватные решения о том, содержит ли аудиосигнал активную речь или музыку. Здесь обеспечен улучшенный способ формирования оценочного значения фонового шума, который дает возможность детектору звуковой активности принимать более адекватные решения.
В соответствии с первым аспектом обеспечен способ оценки фонового шума для поддержки обнаружения звуковой активности в сегменте аудиосигнала. Способ предназначен для выполнения посредством блока оценки фонового шума. Способ содержит уменьшение текущего оценочного значения фонового шума, когда определено, что сегмент аудиосигнала содержит музыку, и текущее оценочное значение фонового шума превышает минимальное значение. Это должно быть выполнено, когда энергетический уровень сегмента аудиосигнала больше порога, превышающего долговременный минимальный энергетический уровень lt_min, который определяется по множеству предыдущих сегментов аудиосигнала, или когда энергетический уровень сегмента аудиосигнала меньше порога, превышающего lt_min, но в сегменте аудиосигнала не обнаружена пауза.
В соответствии со вторым аспектом обеспечен блок оценки фонового шума для поддержки обнаружения звука в сегменте аудиосигнала. Блок оценки фонового шума выполнен с возможностью: когда энергетический уровень сегмента аудиосигнала больше порога, превышающего долгосрочный минимальный энергетический уровень lt_min, или когда энергетический уровень сегмента аудиосигнала меньше порога, превышающего lt_min, но в сегменте аудиосигнала не обнаружена пауза: уменьшать текущее оценочное значение фонового шума, когда определено, что сегмент аудиосигнала содержит музыку, и текущее оценочное значение фонового шума превышает минимальное значение.
В соответствии с третьим аспектом обеспечен SAD, который содержит блок оценки фонового шума в соответствии со вторым аспектом.
В соответствии с четвертым аспектом обеспечен кодек, который содержит блок оценки фонового шума в соответствии со вторым аспектом.
В соответствии с пятым аспектом обеспечено устройство связи, которое содержит блок оценки фонового шума в соответствии со вторым аспектом.
В соответствии с шестым аспектом обеспечен сетевой узел, который содержит блок оценки фонового шума в соответствии со вторым аспектом.
В соответствии с седьмым аспектом обеспечена компьютерная программа, содержащая команды, которые при их исполнении по меньшей мере на одном процессоре предписывают по меньшей мере одному процессору выполнять способ в соответствии с первым аспектом.
В соответствии с восьмым аспектом обеспечен носитель, который содержит компьютерную программу в соответствии с седьмым аспектом.
Краткое описание чертежей
Упомянутые выше и другие объекты, признаки и преимущества раскрытой здесь технологии будут очевидны из последующего более конкретного описания вариантов осуществления, проиллюстрированных на прилагаемых чертежах. Чертежи не обязательно соблюдают масштаб, вместо этого акцент делается на иллюстрации принципов раскрытой здесь технологии.
Фиг. 1 - блок-схема, иллюстрирующая детектор активности и логическую схему определения хвоста сигнала.
Фиг. 2 - блок-схема последовательности операций, иллюстрирующая логическую схему принятия решения обновления фона в соответствии с иллюстративным вариантом осуществления.
Фиг. 4 и 5 показывают блок оценки фона в соответствии с разными иллюстративными вариантами осуществления.
Фиг. 5 - блок-схема, показывающая блок оценки фона энергии поддиапазона.
Фиг. 6-9 - схемы, показывающие, каким образом варианты осуществления дают возможность более хорошего отслеживания фонового шума в аудиосигналах
Подробное описание
Раскрытое здесь решение относится к оценке фонового шума в аудиосигналах. В обобщенном детекторе активности, проиллюстрированном на фиг. 1, функция оценки фонового шума выполняется блоком, обозначенным как ʺБлок оценки фонаʺ. Некоторые варианты осуществления описанного здесь решения показаны в отношении решений, ранее раскрытых в документах W02011/049514 и W02011/049515, которые включены в настоящий документ по ссылке. Раскрытое здесь решение будет сравниваться с реализациями этих ранее раскрытых заявках. Даже при том, что решения, раскрытые в документах W02011/049514 и W02011/049515, являются хорошими решениями, представленное здесь решение, тем не менее, имеет преимущества относительно этих решений. Например, представленное здесь решение имеет еще менее сложную реализацию, и оно еще более корректно отслеживает фоновый шум.
Рабочие характеристики VAD зависят от способности блока оценки фонового шума отследить характеристики фона - в особенности, когда дело доходит до нестационарных фонов. При помощи более хорошего отслеживания возможно сделать VAD более эффективным без увеличения риска отсечения речи.
Одна проблема с методами оценки текущего шума состоит в том, что для достижения хорошего отслеживания фонового шума при низком SNR необходим надежный детектор пауз. Для ввода только речи возможно использовать частоту следования слогов или тот факт, что человек не может говорить все время, чтобы найти паузы в речи. Такие решения могут предусматривать, что после достаточного времени отсутствия обновлений фона требования для обнаружения паузы "смягчаются", в результате чего более вероятно обнаружить паузу в речи. Это позволяет откликаться на резкие изменения характеристик или уровня шума. Некоторые примеры таких логических схем восстановления шума: 1) Поскольку речь содержат фрагменты произнесения с высокой корреляцией после достаточного количества кадров без корреляции, обычно безопасно предположить, что в речи имеется пауза. 2) Когда соотношение сигнал/шум SNR>0, энергия речи выше, чем фоновый шум, поэтому если энергия кадра близка к минимальной энергии в течение длительного времени, например, 1-5 секунд, также безопасно предположить, что он находится в речевой паузе. Хотя предшествующие методики хорошо работают с вводом только речи, они не достаточны, когда музыка рассматривается как активный ввод. В музыке могут иметься длинные сегменты с низкой корреляцией, которые, тем не менее, являются музыкой. Кроме того, динамика энергии в музыке также может инициировать ложное обнаружение паузы, что может привести к нежелательным ошибочным обновлениям оценочного значения фонового шума.
В идеальном случае обратная функция детектора активности, или так называемый "детектором возникновения паузы", будет необходима для управления оценкой шума. Это гарантировало бы, что обновление характеристик фонового шума выполняется только тогда, когда в текущем кадре нет активного сигнала. Однако, как указано выше, это непростая задача - определить, содержит ли сегмент аудиосигнала активный сигнал или нет.
Традиционно, когда было известно, что активный сигнал представляет собой речевой сигнал, детектор активности назывался детектором речевой активности (VAD). Термин VAD для детекторов активности также часто используется, когда входной сигнал может содержать музыку. Однако в современных кодеках детектор активности также обычно называют детектором звуковой активности (SAD), когда музыка также должна обнаруживаться как активный сигнал.
Блок оценки фона, проиллюстрированный на фиг. 1, использует информацию обратной связи от первичного детектора и/или блока хвоста сигнала, чтобы локализовать неактивные сегменты аудиосигнала. При разработке описанной здесь технологии было желание удалить или по меньшей мере уменьшить зависимость от такой обратной связи. Таким образом, для раскрытой здесь оценки фона авторы изобретения посчитали важным иметь возможность находить надежные признаки для идентификации характеристик сигналов фона, когда доступен только входной сигнал с неизвестной смесью активного сигнала и сигнала фона. Авторы изобретения также поняли, что нельзя предполагать, что входной сигнал начинается с сегмента шума, или даже, что входной сигнал представляет собой речь, смешанный с шумом, поскольку может случиться, что активный сигнал представляет собой музыку.
Один вклад вариантов осуществления настоящего изобретения в предшествующий уровень техники представляет собой выбор характеристик для использования, и больше того, как сочетать выбранные характеристики, чтобы достигнуть логической схемы оценки шума, которая работает достоверно c входной информацией разных типов.
Как мы видели выше, имеется несколько характеристик, которые хорошо работают для конкретных условий. Трудность состоит в том, чтобы объединить их таким образом, чтобы помочь при оценке шума и отслеживании шума. В частности, если нужно избежать предположений о начальных условиях, а полагаться только на характеристики сигнала на данный момент и иметь возможность обрабатывать условия, когда и речь, и музыка должны рассматриваться как активный ввод.
Фиг. 2 является блок-схемой последовательности операций, иллюстрирующей вариант осуществления способа оценки фонового шума в соответствии с предложенной здесь технологией. Способ предназначен для выполнения посредством блока оценки фонового шума, который может являться частью SAD. Блок оценки фонового шума и SAD могут далее содержаться в аудиокодере, который может в свою очередь содержаться в беспроводном устройстве или сетевом узле. Для описанного блока оценки фонового шума регулировка оценочного значения шума вниз не ограничена. Для каждого кадра возможное новое оценочное значение шума поддиапазона вычисляется независимо от того, содержит ли кадр шум или активное содержание, если новое значение ниже, чем текущее, оно используется непосредственно как наиболее вероятное из кадра с шумом. Следующая логическая схема оценки шума представляет собой второй этап, на котором определяется, может ли оценочное значение шума поддиапазона быть увеличено, и если может, то насколько, увеличение основано на ранее вычисленном возможном новом оценочном значении шума поддиапазона. В основном эта логическая схема принимает решение, является ли текущий кадр кадром с шумом, и если в этом нет уверенности, то может позволить меньшее увеличение по сравнению с тем, которое было первоначально оценено.
Способ, проиллюстрированный на фиг. 2, содержит: когда энергетический уровень сегмента аудиосигнала больше порога (202:1), превышающего долговременный минимальный энергетический уровень lt_min, или когда энергетический уровень сегмента аудиосигнала меньше порога (202:2), превышающего lt_min, но в сегменте аудиосигнала не обнаружена (204:1) пауза:
- уменьшение (206) текущего оценочного значения фонового шума, когда определено (203:2), что сегмент аудиосигнала содержит музыку, и текущее оценочное значение фонового шума превышает минимальное значение (205:1), обозначенное как T на фиг. 2 и далее иллюстрируемое, например, как 2*E_MIN в приведенном ниже коде.
Посредством описанного выше выполнения и обеспечения оценочного значения фонового шума SAD для SAD предоставляется возможность выполнить более адекватное обнаружение звуковой активности. Кроме того, предоставляется возможность восстановления после ошибочных обновлений оценочного значения фонового шума.
Энергетический уровень сегмента аудиосигнала, используемый в описанном выше способе, может быть альтернативно назван, например, энергией текущего кадра Etot, или энергией сегмента сигнала или кадра, и вычисляется посредством суммирования энергий поддиапазонов для текущего сегмента сигнала.
Другая энергетическая характеристика, использованная в упомянутом выше способе, т.е. долговременный минимальный энергетический уровень lt_min, является оценочным значением, которое определено по множеству предыдущих сегментов аудиосигнала или кадров. lt_min может альтернативно обозначаться, например, Etot_l_lp, Один основной метод получения lt_min будет состоять в том, чтобы использовать минимальное значение хронологии энергии текущего кадра по некоторому количеству прошлых кадров. Если значение, вычисленное как "энергия текущего кадра - долговременное минимальное оценочное значение" ниже порогового значения, обозначенного, например, THR1, энергия текущего кадра близка к долговременной минимальной энергии или находится около долговременной минимальной энергии. Таким образом, когда (Etot - lt_min)<THR1, энергия текущего кадра Etot может быть определена (202) как близкая к долговременной минимальной энергии lt_min. Случай, когда (Etot - lt_min)=THR1, может быть отнесен к любому из решений (202:1) или (202:2), в зависимости от реализации. Номер (202:1) на фиг. 2 указывает решение, что энергия текущего кадра не близка к lt_min, в то время как номер (202:2) указывает принятие решения, что энергия текущего кадра близка к lt_min. Другие номера на фиг. 2 в виде (XXX:Y) указывают соответствующие решения. Далее будет описана характеристика lt_min.
Минимальное значение, которое должно превысить текущее оценочное значение фонового шума, чтобы быть уменьшенным, может быть принято равным нулю или малому положительному значению. Например, как будет проиллюстрировано посредством приведенного ниже кода, может потребоваться, чтобы текущая полная энергия оценочного значения шума, которая может быть обозначена totalNoise и определена, например, как 10*log10∑backr[i], не превышала минимальное нулевое значение, чтобы уменьшение стало рассматриваться. В качестве альтернативы или в дополнение, каждый элемент в векторе backr[i], содержащий оценочные значения фона поддиапазонов, можно сравнить с минимальным значением E_MIN для уменьшения, которое должно быть выполнено. В приведенном ниже примере кода E_MIN представляет собой малое положительное значение.
Следует отметить, что в соответствии с предпочтительным вариантом осуществления предложенного здесь решения определение того, является ли энергетический уровень сегмента аудиосигнала больше, чем порог, превышающий lt_min, базируется только на информации, полученной из входного аудиосигнала, то есть, оно не основано на информации обратной связи из определения детектора звуковой активности.
Определение (204) того, содержит ли текущий кадр паузу, может быть выполнено по-разному на основе одного или более критериев. Критерий паузы также может упоминаться как детектор паузы. Может быть применен единственный детектор паузы или комбинация разных детекторов паузы. В комбинации детекторов паузы каждый из них может использоваться для обнаружения паузы в разных условиях. Одним индикатором того, что текущий кадр может содержать паузу или отсутствие активности, является то, что характеристика корреляции кадра является низкой, и что многие предыдущие кадры также имели низкие характеристики корреляции. Если текущая энергия является близкой к долговременной минимальной энергии и обнаружена пауза, фоновый шум может быть обновлен в соответствии с текущим вводом, как проиллюстрировано на фиг. 2. Пауза может считаться обнаруженной, когда в дополнение к тому, что энергетический уровень сегмента аудиосигнала меньше порога, превышающего lt_min, было определено, что предопределенное количество последовательных предыдущих сегментов аудиосигнала не содержат активный сигнал и/или динамика аудиосигнала превышает порог. Это также проиллюстрировано в приведенном ниже примере кода.
Уменьшение (206) оценочного значения фонового шума дает возможность обрабатывать ситуации, в которых оценочное значение фонового шума стало "слишком высоким", т.е. относительно истинного фонового шума. Это также можно выразить, например, как то, что оценочное значение фонового шума отклоняется от фактического фонового шума. Слишком высокое оценочное значение фонового шума может привести к неадекватным решениям SAD, когда текущий сегмент сигнала определяется как неактивный даже при том, что он содержит активную речь или музыку. Причина того, что оценочное значение фонового шума становится слишком высоким, состоит, например, в ошибочных или нежелательных обновлениях фонового шума в музыке, когда оценка шума ошибочно приняла музыку за фон и позволила увеличить оценочное значение шума. Раскрытый способ допускает такое ошибочно обновленное оценочное значение фонового шума, которое должно регулироваться, например, когда следующий кадр входного сигнала определен как содержащий музыку. Эта регулировка делается посредством принудительного уменьшения оценочного значения фонового шума, когда оценочное значение шума уменьшается, даже если текущая энергия сегмента входного сигнала выше, чем текущее оценочное значение фонового шума, например, в поддиапазоне. Следует отметить, что описанная выше логическая схема для оценки фонового шума используется для управления увеличением фоновой энергии поддиапазона. Всегда разрешается понизить энергию поддиапазона, когда энергия поддиапазона текущего кадра ниже оценочного значения фонового шума. Эта функция явно не показана на фигуре 2. Такое уменьшение обычно имеет фиксированную настройку для размера шага. Однако увеличивать оценочное значение фонового шума следует разрешить только в сотрудничестве с логической схемой решения в соответствии с описанным выше способом. Когда обнаружена пауза, энергия и характеристики корреляции также могут использоваться для определения (207), насколько большим должен быть размер шага регулировки для увеличения оценочного значения шума, прежде чем сделано фактическое обновление фонового шума.
Как ранее упомянуто, некоторые музыкальные сегменты может быть трудно отделить от фонового шума из-за того, что они очень похожи на шум. Таким образом, логическая схема обновления шума может случайно допускать увеличенные энергетические оценочные значения поддиапазонов даже при том, что входной сигнал был активным сигналом. Это может вызвать проблемы, поскольку оценочное значение шума может стать выше, чем должно быть.
В блоках оценки фонового шума предшествующего уровня техники энергетические оценочные значения поддиапазонов могли быть уменьшены только тогда, когда входная энергия поддиапазона стала ниже текущего оценочного значения шума. Однако, поскольку некоторые музыкальные сегменты может быть трудно отделить от фонового шума из-за того, что они очень похожи на шум, авторы изобретения поняли, что для музыки необходима стратегия восстановления. В описанных здесь вариантах осуществления такое восстановление может быть сделано посредством принудительного уменьшения оценочного значения шума, когда входной сигнал возвращается к характеристикам, присущим музыке. Таким образом, когда описанная выше логическая схема энергии и пауз предотвращает (202:1, 204:1) увеличение оценки шума, проверяется (203), имеется ли предположение, что входная информация является музыкой, и если это так (203:2), энергии поддиапазонов уменьшаются (206) на небольшую величину в каждом кадре, пока оценочные значения шума не достигают самого низкого уровня (205:2).
Раскрытое здесь решение также относится к блоку оценки фона, реализованному в аппаратных средствах и/или программном обеспечении. Блок 500 оценки фона в соответствии с вариантом осуществления схематично проиллюстрирован на фиг. 3. Предполагается, что блок 500 оценки фона содержит блок 502 ввода для приема измерений энергии и, возможно, измерений корреляции; и блок 505 вывода для обеспечения обновленного оценочного значения фонового шума. Блок 500 оценки фона также содержит процессор 503 и память 504, упомянутая память содержит команды 507, исполняемые упомянутым процессором 504. Исполнение команд 507 дает упомянутому блоку 500 оценки фона функциональную возможность выполнять по меньшей мере один вариант осуществления описанного выше способа оценки фонового шума. Другими словами, исполнение команд 507 с помощью средства 503 обработки дает блоку 500 оценки фона функциональную возможность: когда энергетический уровень сегмента аудиосигнала больше порога, превышающего долговременный минимальный энергетический уровень lt_min, который определен по множеству предыдущих сегментов аудиосигнала, или когда энергетический уровень сегмента аудиосигнала меньше порога, превышающего lt_min, но в сегменте аудиосигнала не обнаружена пауза:
- уменьшать текущее оценочное значение фонового шума, когда определено, что сегмент аудиосигнала содержит музыку, и текущее оценочное значение фонового шума превышает минимальное значение; команды 507 могут быть сохранены в виде машинного кода, например, представленного ниже в этом раскрытии. Команды или компьютерная программа могут быть переданы посредством носителя, прежде чем будут сохранены и/или исполнены блоком оценки фона. Такой носитель может представлять собой, например, электронный сигнал, оптический сигнал, радиосигнал или машиночитаемый запоминающий носитель.
Фиг. 4 показывает альтернативную реализацию блока оценки фона. Блок 400 оценки фона содержит блок 401 ввода/вывода, средство 402 определения энергии, выполненное с возможностью определять, является ли энергия текущего кадра близкой к долговременному минимальному оценочному значению энергии, детектор 403 паузы, выполненный с возможностью определять, содержит ли текущий кадр паузу, детектор музыки, выполненный с возможностью определять, содержит ли текущий кадр музыку. Блок 400 оценки фона также содержит блок 405 регулировки блока оценки фона, выполненный с возможностью: когда энергетический уровень сегмента аудиосигнала больше порога, превышающего долгосрочный минимальный энергетический уровень lt_min, или когда энергетический уровень сегмента аудиосигнала меньше порога, превышающего lt_min, но в сегменте аудиосигнала не обнаружена пауза: уменьшать текущее оценочное значение фонового шума, когда определено, что сегмент аудиосигнала содержит музыку, и текущее оценочное значение фонового шума превышает минимальное значение. Блок 405 регулировки блока оценки фона также может быть выполнен с возможностью выполнять, например, регулярную регулировку, как проиллюстрировано номером 208 на фиг. 3.
Блок оценки фона, как описано выше, может содержаться или быть реализован в VAD или SAD и/или в кодере и/или декодере, причем кодер и/или декодер могут быть реализованы в пользовательском устройстве, таком как мобильный телефон, ноутбук, планшет и т.д. Блок оценки фона также может содержаться в сетевом узле, таком как медиашлюз, например, как часть кодека.
Фиг. 5 является блок-схемой, схематично иллюстрирующей реализацию блока оценки фона в соответствии с иллюстративным вариантом осуществления. Входной блок 51 разделения на кадры сначала разделяет входной сигнал на кадры подходящей длины, например, 5-30 мс. Для каждого кадра блок 52 извлечения характеристик вычисляет по меньшей мере следующие характеристики из входящей информации: 1) Блок извлечения характеристик анализирует кадр в частотной области, и вычисляется энергия для множества поддиапазонов. Поддиапазоны представляют собой те же самые поддиапазоны, которые должны использоваться для оценки шума. 2) Блок извлечения характеристик также анализирует кадр во временной области и вычисляет корреляцию, обозначенную здесь, например, как cor_est и/или lt_cor_est, которая используется при определении, содержит ли кадр активное содержание. 3) Блок извлечения характеристик также использует полную энергию текущего кадра, например, обозначенную как Etot, для обновления характеристик хронологии энергии текущего и более ранних входных кадров, таких как долговременная минимальная энергия lt_min. Корреляция и энергетические характеристики затем подаются в блок 53 логической схемы принятия решения об обновлении.
Здесь логическая схема принятия решения в соответствии с раскрытым решением реализована в блоке 53 логической схемы принятия решения об обновлении, в котором корреляция и энергетические характеристики используются для принятия решения о том, является ли энергия текущего кадра близкой к долговременной минимальной энергии; является ли текущий кадр частью паузы (неактивный сигнал); и является ли текущий кадр частью музыки. Решение в соответствии с описанными здесь вариантами осуществления подразумевает, каким образом эти характеристики и принятые решения используются для обновления оценки фонового шума надежным образом.
Ниже будут описаны некоторые подробности реализации вариантов осуществления раскрытого здесь решения. Приведенные ниже подробности реализации взяты из варианта осуществления в кодере на основе G.718. Этот вариант осуществления использует некоторые функции, описанные в документах W02011/049514 и W02011/049515, части которых добавлены к этому раскрытию.
Следующие характеристики определены в измененном G.718, описанном в документе W02011/09514:
Etot;
Полная энергия для текущего входного кадра
Etot_l
Отслеживает огибающую минимальной энергии
Etot_l_lp;
Сглаженная версия огибающей минимальной энергии Etot_l
totalNoise;
Текущая полная энергия оценочного значения шума
bckr[i];
Вектор с оценочными значениями фона поддиапазонов
tmpN[i];
Предварительно вычисленное потенциальное новое оценочное значение шума
aEn;
Детектор шума, который использует несколько характеристик (счетчик)
harm_cor_cnt
Считает кадры начиная с последнего кадра с корреляцией или гармоническим событием
act_pred
Предсказание активности только из характеристик входного кадра
cor[i]
Вектор с оценочными значениями корреляции, для i=0 - конец текущего кадра, i=1 - начало текущего кадра, i=2 - конец предыдущего кадра
Следующие характеристики определены в измененном G.718, описанном в документе W02011/09515:
Etot_h
Отслеживает огибающую максимальной энергии
sign_dyn_lp;
Сглаженная динамика входного сигнала
Также характеристика Etot_v_h была определен в W02011/049514, но в этом варианте осуществления она была изменена и теперь реализована следующим образом:
Etot_v измеряет абсолютное изменение энергии между кадрами, т.е. абсолютное значение изменения мгновенной энергии между кадрами. В приведенном выше примере изменение энергии между двумя кадрами определено как "низкое", когда разность между энергией последнего и текущего кадра составляет меньше 7 единиц. Оно используется как индикатор того, что текущий кадр (и предыдущий кадр) могут являться частью паузы, т.е. содержать только фоновый шум. Однако такое низкое различие в качестве альтернативы может быть обнаружено, например, посреди речевого пакета. Переменная Etot_last представляет собой энергетический уровень предыдущего кадра.
Упомянутые выше этапы, описанные в коде, могут быть выполнены как часть этапов "вычисления/обновления корреляции и энергии" в блок-схеме последовательности операций на фиг. 2, т.е. как часть действий 201. В реализации документа W02011/049514 флаг VAD использовался для определения, содержал ли текущий сегмент аудиосигнала фоновый шум. Авторы изобретения поняли, что зависимость от информации обратной связи может быть проблематичной. В раскрытом здесь решении принятие решения о том, следует ли обновить оценочное значение фонового шума, не зависит от принятия решения VAD (или SAD).
Далее в раскрытом здесь решении следующие характеристики, которые не являются частью реализации документа W02011/049514, могут быть вычислены/обновлены как часть тех же самых этапов, т.е., этапов вычисления/обновления корреляции и энергии, проиллюстрированных на фиг. 2. Эти функции также использованы в логической схеме принятия решения о том, следует ли обновлять оценочное значение фона.
Чтобы достигнуть более адекватного оценочного значения фонового шума, ниже определены несколько характеристик. Например, определены новые относящиеся к корреляция характеристики cor_est и It_cor_est. Характеристика cor_est является оценочным значением корреляции в текущем кадре, и cor_est также используется для получения It_cor_est, которая представляет собой сглаженное долговременное оценочное значение корреляции.
cor_est=(cor[0]+cor[1]+cor[2])/3.0f;
st->lt_cor_est=0.01f*cor_est+0.99f * st->lt_cor_est;
Как определено выше, cor[i] представляет собой вектор, содержащий оценочные значения корреляции, и cor[0] представляет конец текущего кадра, cor[1] представляет начало текущего кадра, и cor[2] представляет конец предыдущего кадра.
Кроме того, вычисляется новая характеристика It_tn_track, которая дает долговременное оценочное значение того, как часто оценочные значения фона находятся близко к энергии текущего кадра. Когда энергия текущего кадра достаточно близка к текущему оценочному значению фона, это регистрируется посредством условия, которое сообщает (1/0), является ли фон близким. Этот сигнал используется для формирования долговременного измерения It_tn_track.
st->lt_tn_track=0,03f* (Etot - st->totalNoise < 10)+0.97f*st->lt_tn_track;
В этом примере 0,03 добавляется, когда энергия текущего кадра близка к оценочному значению фонового шума, и в ином случае оставшийся член составляет только 0,97 от предыдущего значения. В этом примере "близко" определяется таким образом, что разность между энергией текущего кадра Etot и оценочным значениям фонового шума totalNoise составляет меньше 10 единиц. Возможны также другие определения для "близко".
Кроме того, расстояние между текущим оценочным значением шума Etot и энергией текущего кадра totalNoise используется для определения характеристики lt_tn_dist, которая дает долговременное оценочное значение этого расстояния. Аналогичная характеристика lt_Ellp_dist создана для расстояния между долговременной минимальной энергией Etot_l_lp и энергией текущего кадра Etot.
st->lt_tn_dist=0.03f* (Etot - st->totalNoise)+0.97f*st->lt_tn_dist;
st->lt_Ellp_dist=0.03f* (Etot - st->Etot_l_lp)+0.97f*st->lt_Ellp_dist;
Введенная выше характеристика harm_cor_cnt используется для подсчета количества кадров, начиная с последнего кадра, имеющего корреляцию или гармоническое событие, т.е. начиная с кадра, удовлетворяющего некоторым критериям, относящимся к активности. Таким образом, при условии harm_cor_cnt == 0 подразумевается, что текущий кадр наиболее вероятно является активным кадром, поскольку он демонстрирует корреляцию или гармоническое событие. Это используется формирования долговременного сглаженного оценочного значения lt_haco_ev для того, как часто такие события имеют место. В этом случае обновление является несимметричным, то есть, используются разные временные константы, если оценочное значение увеличивается или уменьшается, как видно ниже.
Низкое значение введенной выше характеристики It_tn_track указывает, что входная энергия кадра не была близка к энергии шума для некоторых кадров. Это происходит из-за того, что It_tn_track уменьшается для каждого кадра, когда энергия текущего кадра не близка к оценочному значению энергии шума. It_tn_track увеличивается только тогда, когда энергия текущего кадра близка к оценочному значению энергии шума, как показано выше. Для получения более хорошего оценочного значения для того, сколько времени длится это "не отслеживание", т.е. энергия кадра далека от оценочного значения шума, счетчик low_tn_track_cnt для количества кадров с таким отсутствием отслеживания сформирован как:
В приведенном выше примере "низко" определено как ниже значения 0,05. Это должно рассматриваться как иллюстративное значение, которое может быть выбрано по-другому.
Для этапа "принятия решений о паузе и музыке", проиллюстрированного на фиг. 2, используются следующие три выражения кода для формирования обнаружения паузы, также обозначенного обнаружением фона. В других вариантах осуществления и реализациях другие критерии также могут быть добавлены для обнаружения паузы. Фактическое принятие решения о музыке сформировано в коде с использованием характеристик корреляции и энергии.
1: bg_bgd=Etot < Etot_l_lp+0.6f * st->Etot_v_h;
var
bg_bgd станет равным "1" или "истине", когда Etot будет находиться близко к оценочному значению фонового шума. bg_bgd служит в качестве маски для других детекторов фона. Таким образом, если bg_bgd не является "истиной", приведенные ниже детекторы шума 2 и 3 не должны оцениваться. Etot_v_h представляет собой оценочное значение различия шума, которое в качестве альтернативы может быть обозначено N. Etot_v_h получается из входной полной энергии (в логарифмической области) использующий Etot_v, который измеряет абсолютное изменение энергии между кадрами. Следует отметить, что увеличение характеристики Etot_v_h ограничено только максимумом малой постоянной величины, например, 0,2 для каждого кадра. Etot_l_lp представляет собой сглаженную версию огибающей минимальной энергии Etot_l.
2:aE_bgd=st->aEn == 0;
Когда aEn равно нулю, aE_bgd становится равным "1" или "истине". aEn представляет собой счетчик, который увеличивается, когда определяется, что активный сигнал присутствует в текущем кадре, и уменьшается, когда определяется, что текущий кадр не содержит активный сигнал. aEn не может увеличиться больше, чем на определенное число, например, 6, и не уменьшается ниже нуля. После нескольких последовательных кадров, например, 6, без активного сигнала, aEn будет равен нулю.
3: sd1_bgd=(st->sign_dyn_lp > 15) && (Etot - st->Etot_l_lp ) < st->Etot_v_h && st->harm_cor_cnt > 20;
Здесь sd1_bgd будет равно "1" или "истине", когда будут верны три разных условия: динамика сигнала sign_dyn_lp является высокой, в этом примере больше 15; энергия текущего кадра близка к оценочному значению шума; и: определенное количество кадров прошло без корреляции или гармонических событий, в этом примере 20 кадров.
Функция bg_bgd должна представлять собой флаг для обнаружения, что энергия текущего кадра близка к долговременной минимальной энергии. Последние две характеристики aE_bgd и sd1_bgd представляют собой обнаружение паузы или шума в разных условиях. aE_bgd представляет собой самый общий детектор из двух, в то время как sd1_bgd в основном обнаруживает речевые паузы при высоком SNR.
Новая логическая схема принятия решения в соответствии с вариантом осуществления раскрытой здесь технологии создана следующим образом в приведенном ниже коде. Логическая схема принятия решения содержит маскирующее условие bg_bgd и два детектора паузы aE_bgd и sd1_bgd. Также мог бы иметься третий детектор паузы, который оценивает долговременную статистику для того, насколько хорошо totalNoise отслеживает минимальное оценочное значение энергии. Условия, оценивающие, является ли первая строка истиной, представляют собой логическую схему принятия решения о том, насколько большим должен быть размер шага updt_step, и фактическое обновление оценки шума представляет собой присвоение, имеющее значения st->bckr[i] =-". Следует отметить, что tmpN[i] представляет собой ранее вычисленный потенциально новый уровень шума, вычисленный в соответствии с решением, описанным в документе W02011/049514. Логическая схема принятия решения соответствует части 209 фиг. 2, что частично обозначено в связи с приведенным ниже кодом.
Сегмент кода в последнем блоке кода, начинающийся с "/* Если в музыке... */", содержит принудительное масштабирование оценочного значения шума, которое используется, если предполагается, что текущая входная информация представляет собой музыка. Это определено как функция: длительный период плохого отслеживания фонового шума по сравнению с минимальным оценочным значением энергии, И частые возникновения случаев гармоник или корреляции, И последнее условие ʺtotalNoise>0ʺ является проверкой, что текущая полная энергия оценочного значения шума больше нуля, что подразумевает, что может рассматриваться уменьшение оценочного значения шума. Кроме того, определено, удовлетворяется ли условие ʺbckr[i] > 2 * E_MINʺ, где E_MIN - малое положительное значение. Это представляет собой проверку каждого элемента в векторе, содержащем оценочные значения фона поддиапазонов, в результате чего элемент должен превысить E_MIN, чтобы он был уменьшен (в примере посредством умножения на 0,98). Эти проверки осуществляются, чтобы избежать уменьшения оценочных значений до слишком малых значений.
Варианты осуществления улучшают оценку фонового шума, что дает возможность улучшенным рабочим характеристикам SAD/VAD достигать высокоэффективного решения DTX и избегать ухудшения качества речи или музыки, вызванного отсеканием.
С помощью удаления принятия решения с помощью обратной связи, описанного в документах W02011/09514, из Etot_v_h имеется более хорошее разделение между оценкой шума и SAD. Это имеет преимущества в том, что оценка шума не изменяется, если/когда изменяется функция/настройка SAD. Таким образом, определение оценочного значения фонового шума становится независимым от функции SAD. Также настройка логической схемы оценки шума становится легче, поскольку на нее не влияют побочные эффекты из SAD, когда оценочные значения шума изменяются.
Ниже следует описание фигур, иллюстрирующих проблемы, решенные с помощью раскрытых здесь вариантов осуществления.
Фиг. 6 является схемой, показывающей энергию Etot (точки) множества кадров аудиосигнала. Схема показывает фон, оцененный с помощью решения предшествующего уровня техники (более нижняя, более тонкая кривая, "x") и оцененный в соответствии с вариантами воплощения предложенного решения (более верхняя, более толстая кривая, "+"). Эта схема показывает, как варианты осуществления дают возможность лучше отслеживать фоновый шум, удерживая оценочное значение полной энергии на более высоком уровне и быстрее реагируя, например, около кадра 2510 по сравнению с 2610 для первоначального решения.
Фиг. 7 также является схемой, показывающей энергию Etot (точки) множества кадров аудиосигнала. Схема показывает фон, оцененный с помощью решения предшествующего уровня техники (более нижняя, более тонкая кривая, "x") и оцененный в соответствии с вариантом осуществления предложенного решения (более верхняя, более толстая кривая, "+"). Можно заметить, что оценка в соответствии с предложенным здесь решением отслеживает фоновый шум более эффективно, например, фоновый шум между фрагментами произнесения, в особенности в диапазоне номеров кадров 1600-1700.
Фиг. 8 также является схемой, показывающей энергию Etot (точки) множества кадров аудиосигнала. Схема показывает фон, оцененный с помощью решения предшествующего уровня техники (более верхняя, более тонкая кривая, "x") и оцененный в соответствии с вариантом осуществления предложенного решения (больше нижняя, более толстая кривая, "+"). Схема показывает выгоду предложенного решения по сравнению с тем, когда отслеживание (предшествующего уровня техники) фона является слишком эффективным. В то время как имеется пакет энергии в фоне между кадрами 2300 и 2400, имеется повышенный риск отсечения переднего конца фрагмента произнесения, начинающегося в кадре 2400.
Фиг. 9 также является схемой, показывающей энергию Etot (точки) множества кадров аудиосигнала, в этом случае музыкального сигнала. Музыкальный файл для этой иллюстрации имеет очень похожее на шум начало, и это вызывает неправильное принятие решения оценки шума и допускать обновление немного внутри файла (около кадра 200). Однако с принудительным уменьшением шума начинается восстановление в кадре 1700, и до кадра 2100 оценочное значение шума понижается до самого низкого уровня для принудительного уменьшения. Как можно видеть из фигуры, не было бы возможно иметь такое же уменьшение уровня фона с помощью обычной логической схемой обновления, поскольку входная информация выше, чем оценочное значение шума для большинства кадров.
Заключительные замечания
Описанный выше блок оценки фона может содержаться в SAD, кодеке и/или в устройстве, таком как устройство связи. Устройство связи может представлять собой пользовательское оборудование (UE) в виде мобильного телефона, видеокамеры, устройства звукозаписи, планшета, рабочей станции, ноутбука, телевизионной абонентской установки или домашнего сервера/домашнего шлюза/домашней точки доступа/домашнего маршрутизатора. Устройство связи может в некоторых вариантах осуществления представлять собой устройство сети связи, выполненное с возможностью кодирования и/или транскодирования. Примерами таких устройств сети связи являются серверы, такие как медиасерверы, серверы приложений, маршрутизаторы, шлюзы и базовые станции. Устройство связи также может быть выполнено с возможностью поместить его, т.е. встроить в транспортное средство, такое как корабль, управляемый дрон, самолет и дорожное транспортное средство, такое как автомобиль, автобус или грузовик. Такое встроенное устройство обычно принадлежало бы блоку телематики транспортного средства или развлекательно-информационной системе транспортного средства.
Описанные здесь этапы, функции, процедуры, модули, секции и/или блоки могут быть реализованы в аппаратных средствах с использованием любой традиционной технологии, такой как технология дискретных схем или интегральных схем, включающая в себя как электронные схемы общего назначения, так и специализированные схемы.
Конкретные примеры включают в себя один или более подходящим образом сконфигурированных цифровых сигнальных процессоров и других известных электронных схем, например, дискретные логические элементы, взаимосвязанные для выполнения специализированной функции, или специализированные интегральные схемы (ASIC).
В качестве альтернативы, по меньшей мере некоторые упомянутые выше этапы, функции, процедуры, модули, секции и/или блоки могут быть реализованы в программном обеспечении, таком как компьютерная программа для исполнения посредством подходящей схемы обработки, включающей в себя один или более блоков обработки. Программное обеспечение может быть перенесено посредством носителя, такого как электронный сигнал, оптический сигнал, радиосигнал или машиночитаемый запоминающий носитель, до и/или во время использования компьютерной программы в сетевых узлах.
Представленные здесь блок-схемы или схемы последовательности операций могут быть расценены как компьютерные блок-схемы или схемы последовательности операций, когда они выполняются одним или более процессорами. Соответствующее устройство может быть определено как группа функциональных модулей, в котором каждый этап, выполняемый процессором, соответствует функциональному модулю. В этом случае функциональные модули реализованы как компьютерная программа, работающая на процессоре.
Примеры схемы обработки включают в себя, но без ограничения, один или более микропроцессоров, один или более цифровых сигнальных процессоров (DSP), один или более центральных процессоров (CPU) и/или любую подходящую программируемую логическую схему, такую как одна или более программируемых пользователем вентильных матриц (FPGA) или один или более контроллеров с программируемой логикой (PLC). Таким образом, блоки или модули в конфигурациях в различных описанных выше узлах могут быть реализованы посредством комбинации аналоговых и цифровых схем и/или одного или более процессоров, снабженных программным обеспечением и/или программно-аппаратным обеспечением, например, сохраненным в памяти. Один или более этих процессоров, а также другие цифровые аппаратные средства, могут быть включены в одну интегрированную специализированную схему (ASIC), или несколько процессоров и различных цифровых аппаратных средств могут быть распределены по нескольким отдельным компонентам, либо укомплектованным отдельно, либо собранным в систему на микросхеме (SoC).
Также следует понимать, что может быть возможно повторно использовать общие возможности обработки любого традиционного устройства или блока, в котором реализована предложенная технология. Также может быть возможно повторно использовать существующее программное обеспечение, например, посредством перепрограммирования существующего программного обеспечения или добавления новых программных компонентов.
Описанные выше варианты осуществления даны лишь как примеры, и следует понимать, что предложенная технология не ограничена ими. Специалисты в области техники поймут, что различные модификации, комбинации и изменения могут быть внесены в варианты осуществления без отступления от текущего объема. В частности, решения для разных частей в разных вариантах осуществления могут быть объединены в других конфигурациях, если это технически возможно.
Использование слова "содержит" или "содержащий" должно быть интерпретировано как не ограничивающее, т.е. оно означает "состоит по меньшей мере из".
Также следует отметить, что в некоторых альтернативных реализациях функции/действия, отмеченные в блоках, могут происходить не в том порядке, который отмечен в блок-схемах последовательности операций. Например, два блока, показанные последовательно, фактически могут быть исполнены в значительной степени одновременно, или блоки иногда могут быть исполнены в обратном порядке в зависимости от предусмотренной функциональности/действий. Кроме того, функциональность заданного блока блок-схем последовательности операций и/или блок-схем может быть разделена на несколько блоков, и/или функциональность двух или более блоков блок-схем последовательности операций и/или блок-схемы может быть по меньшей мере частично объединена. Наконец, другие блоки могут быть добавлены/вставлены между проиллюстрированными блоками, и/или блоки/операции могут быть опущены без отступления от объема идей изобретения.
Следует понимать, что выбор взаимодействующих блоков, а также названия блоков в рамках этого раскрытия имеют лишь иллюстративную цель, и узлы, подходящие для исполнения любого из описанных выше способов, могут быть выполнены множеством альтернативных методов, чтобы иметь возможность исполнять предложенные процедурные действия.
Также следует отметить, что блоки, описанные в этом раскрытии, должны рассматриваться как логические объекты и не обязательно как отдельные физические объекты.
Ссылка на элемент в единственном числе не предполагает значения "один и только один", если так не заявлено явным образом, а означает "один или более". Все структурные и функциональные эквиваленты для элементов описанных выше вариантов осуществления, которые известны специалистам в области техники, явно включены в настоящий документ по ссылке и предполагаются охваченными настоящим документом. Кроме того, для устройства или способа не обязательно решать абсолютно все проблемы, которые стремится решить раскрытая здесь технология, чтобы они были охвачены настоящим документом.
В некоторых представленных здесь случаях подробные описания известных устройств, схем и способов опущены, чтобы не затруднять понимание описания раскрытой технологии ненужными подробностями. Все приведенные здесь формулировки, излагающие принципы, аспекты и варианты осуществления раскрытой технологии, а также их конкретные примеры, предусматривают охват их структурных и функциональных эквивалентов. Кроме того, предусматривается, что такие эквиваленты включают в себя как известные в настоящее время эквиваленты, так и эквиваленты, разработанные в будущем, например, любые разработанные элементы, которые выполняют ту же самую функцию, независимо от структуры.
Сокращения
AMR
Адаптивное кодирование с переменной скоростью
DTX
Прерывистая передача
VAD
Детектор речевой активности
3GPP
Проект партнерства по созданию сетей третьего поколения
SID
Дескриптор вставки тишины
SAD
Детектор речевой активности
SNR
Отношение сигнал/шум
WB
Широкополосный