Настоящая заявка относится к стереофонической обработке или в общем случае к многоканальной обработке, причем многоканальный сигнал имеет два канала, такие как левый канал и правый канал, в случае стереосигнала или более двух каналов, например, три, четыре, пять или любое другое количество каналов.
Речевые стереосигналы и, в частности, диалоговые речевые стереосигналы получали намного меньше внимания со стороны исследователей, чем хранение и широковещательная передача стереофонической музыки. Действительно, в речевой связи в наше время все еще используется главным образом монофоническая передача. Однако с увеличением ширины частотной полосы и пропускной способности сетей предполагается, что связь на основе стереофонических технологий станет более популярной и придаст более хорошее восприятие прослушивания.
Эффективное кодирование стереофонического аудиоматериала в течение долгого времени изучалось в перцептивном аудиокодировании музыки для эффективного хранения или широковещательной передачи. На высоких битовых скоростях, когда сохранение формы сигнала является крайне важным, в течение долгого времени использовалась стереофония суммы и разности, известная как центральная/боковая стереофония (M/S, mid/side). Для низких битовых скоростей были внедрены стереофония интенсивности и позднее параметрическое стереофоническое кодирование. Самая последняя методика была применена в разных стандартах, таких как HeAACv2 и Mpeg USAC. Она формирует низведенный сигнал для двухканального сигнала и ассоциирует компактную пространственную вспомогательную информацию.
Совместное стереофоническое кодирование обычно строится на высоком частотном разрешении, т.е., на низком временном разрешении, частотно-временном преобразовании сигнала, и, таким образом, не совместимо с малой задержкой и обработкой во временной области, выполняемой в большинстве речевых кодеров. Кроме того, порожденная битовая скорость обычно является высокой.
С другой стороны, параметрическое стерео использует дополнительный набор фильтров, помещенный во внешнюю сторону кодера в качестве препроцессора и во внутреннюю сторону декодера в качестве постпроцессора. Таким образом, параметрическое стерео может использоваться с традиционными речевыми кодерами, такими как ACELP, поскольку оно выполняется в MPEG USAC. Кроме того, параметризация аудиосцены может быть достигнута с минимальным количеством вспомогательной информации, что подходит для низких битовых скоростей. Однако параметрическое стерео, как, например, в MPEG USAC, специально не предназначено для с малой задержки и не доставляет стабильного качество для различных диалоговых сценариев. В традиционном параметрическом представлении пространственной сцены ширина стереоизображения искусственно воспроизводится декоррелятором, примененным к двум синтезированным каналам, и этим управляют параметры межканальной когерентности (IC), вычисленные и переданные кодером. Для большей части стереофонической речи этот способ расширить стереоизображение не подходит для воссоздания естественного окружения речи, которая является довольно прямым звуком, поскольку она производится единственным истоком, расположенным в заданной позиции в пространстве (иногда с некоторой реверберацией помещения). В отличие от этого музыкальные инструменты имеют намного более естественную ширину, чем речь, и могут быть лучше имитированы посредством декорреляции каналов.
Проблемы также возникают, когда речь записана с помощью не синхронных микрофонов, как в конфигурации A-B, когда микрофоны отдалены друг от друга, или для бинауральной записи или рендеринга. Эти сценарии могут быть предположены для захвата речи на телеконференциях или для создания виртуальной аудиосцены с отдаленными дикторами в узле управления многосторонней связью (MCU). Время прихода сигнала тогда отличается у одного канала и другого канала в отличие от записи, сделанной на синхронных микрофонах, как X-Y (запись интенсивности) или M-S (центральная/боковая запись). Вычисление когерентности таких не выровненных по времени двух каналов может быть неправильно оценена, что приводит к невозможности искусственного синтеза окружения.
Ссылками на предшествующий уровень техники, относящимися к стереофонической обработке, являются патент США 5434948 или патент США 8811621.
Документ WO 2006/089570 A1 раскрывает почти прозрачную или прозрачную многоканальную схему кодера/декодера. Многоканальная схема кодера/декодера дополнительно формирует разностный сигнал типа формы сигнала. Этот разностный сигнал передается вместе с одним или более многоканальными параметрами декодеру. В отличие от полностью параметрического многоканального декодера усовершенствованный декодер формирует многоканальный выходной сигнал, имеющий улучшенное выходное качество вследствие дополнительного разностного сигнала. На стороне кодера левый канал и правый канал оба фильтруются посредством набора анализирующих фильтров. Затем для каждого сигнала частотной подполосы значение выравнивания и значение коэффициента усиления вычисляются для частотной подполосы. Такое выравнивание затем выполняется перед последующей обработкой. На стороне декодера выполняются устранение выравнивания и обработка усиления, и затем соответствующие сигналы синтезируются посредством набора синтезирующих фильтров для формирования декодированного сигнала левого канала и декодированного сигнала правого канала.
В таких применениях стереофонической обработки вычисление разности во времени между каналами между сигналом первого канала и сигналом второго канала является полезным, чтобы обычно выполнять процедуру широкополосного выравнивания по времени. Однако действительно существуют другие применения для использования разности во времени между каналами между первым каналом и вторым каналом, причем такими применениями среди прочих являются хранение или передача параметрических данных, стерео/многоканальная обработка, содержащая выравнивание по времени двух каналов, разность во времени оценки прихода для определения позиции динамика в помещении, пространственная фильтрация с формированием луча, декомпозиция переднего плана и фона или местоположение источника звука, например, акустическая триангуляция.
Для всех таких применений необходимо эффективное, точное и надежное определение разности во времени между каналами между сигналами первого и второго каналов.
Уже существует такое определение, известное под названием GCC-PHAT, или обобщенная взаимная корреляция с фазовым преобразованием. Обычно спектр взаимной корреляции вычисляется между двумя сигналами каналов, и затем функция взвешивания применяется к спектру взаимной корреляции для получения так называемого обобщенного спектра взаимной корреляции, прежде чем выполнить обратное спектральное преобразование, такое как обратное преобразование DFT, обобщенного спектра взаимной корреляции, чтобы найти представление во временной области. Это представление во временной области представляет значения для некоторых задержек по времени, и наиболее высокий пик представления во временной области тогда обычно соответствует временной задержке или разности во времени, т.е., временной задержке разности между двумя сигналами каналов.
Однако было показано, что, в частности, в сигналах, которые отличаются от чистой речи без какой-либо реверберации или фонового шума, надежность этой общей методики не является оптимальной.
Таким образом, задачей настоящего изобретения является обеспечение улучшенной концепции для оценки разности во времени между каналами между двумя сигналами каналов.
Эта задача решена посредством устройства для оценки разности во времени между каналами в соответствии с пунктом 1 формулы изобретения, или способа для оценки разности во времени между каналами в соответствии с пунктом 28 формулы изобретения, или компьютерной программы в соответствии с пунктом 30 формулы изобретения.
Настоящее изобретение основано на открытии того, что взвешивание сглаженного или не сглаженного спектра взаимной корреляции для получения взвешенного спектра взаимной корреляции должно быть выполнено с использованием первой процедуры взвешивания или с использованием второй процедуры взвешивания в зависимости от характеристики сигнала, оцененной анализатором сигналов, причем первая процедура взвешивания отличается от второй процедуры взвешивания.
В дополнительном варианте осуществления сглаживание спектра взаимной корреляции по временем, которым управляет спектральная характеристика спектра сигнала первого канала или сигнала второго канала, значительно улучшает надежность и точность определения разности по времени между каналами.
В предпочтительных вариантах осуществления определяется характеристика тональности/шума спектра, и в случае подобного тональному сигнала сглаживание является более сильным, в то время как в случае шумного сигнала сглаживание выполняется менее сильным.
Предпочтительно используется мера спектральной сглаженности, и в случае подобных тональному сигналов мера спектральной сглаженности будет низкой, и сглаживание станет более сильным, а в случае подобных шуму сигналов мера спектральной сглаженности будет высокой, например, приблизительно равной 1, и сглаживание будет слабым.
Таким образом, в соответствии с настоящим изобретением устройство для оценки разности во времени между каналами между сигналом первого канала и сигналом второго канала содержит калькулятор для вычисления спектра взаимной корреляции для временного блока для сигнала первого канала во временном блоке и сигнала второго канала во временном блоке. Устройство дополнительно содержит модуль оценки спектральной характеристики для оценки характеристики спектра сигнала первого канала и сигнала второго канала для временного блока, и дополнительно сглаживающий фильтр для сглаживания спектра взаимной корреляции по времени с использованием спектральной характеристики для получения сглаженного спектра взаимной корреляции. Затем сглаженный спектр взаимной корреляции дополнительно обрабатывается процессором для получения параметра разности во времени между каналами.
Для предпочтительных вариантов осуществления, относящихся к дополнительной обработке сглаженного спектра взаимной корреляции, выполняется адаптивная операция сравнения с порогом, в которой анализируется представление во временной области сглаженного обобщенного спектра взаимной корреляции для определения переменного порога, который зависит от представления во временной области, и пиковое значение представления во временной области сравнивается с переменным порогом, причем разность во времени между каналами определена как задержка по времени, ассоциированная с пиковым значением, находящимся в предопределенном отношении с порогу, например, больше порога.
В одном варианте осуществления переменный порог определяется как значение, являющееся равным целому кратному значения среди наибольших, например, десяти процентов значений представления во временной области или, в качестве альтернативы, в дополнительном варианте осуществления для переменного определения переменный порог вычисляется посредством умножения переменного порога на значение, причем значение зависит от характеристики отношения сигнала к шуму сигналов первого и второго канала, причем значение становится больше для более высокого отношения сигнала к шуму и становится меньше для более низкого отношения сигнала к шуму.
Как указано выше, вычисление разности во времени между каналами может использоваться во многих различных применениях, таких как хранение или передача параметрических данных, стерео/многоканальная обработка/кодирование, выравнивание по времени двух каналов, разность во времени оценки прибытия для определения позиции диктора в помещении с помощью двух микрофонов и известной расстановки микрофонов, в целях формирования луча, пространственной фильтрации, декомпозиции переднего плана и фона или определения местоположения источника звука, например, посредством акустической триангуляции на основе разностей во времени двух или трех сигналов.
Однако далее предпочтительная реализация и использование вычисления разности во времени между каналами описана в целях широкополосного выравнивания по времени двух стереосигналов в процессе кодирования многоканального сигнала, имеющего по меньшей мере два канала.
Устройство для кодирования многоканального сигнала, имеющего по меньшей мере два канала, содержит модуль определения параметра для определения параметра широкополосного выравнивания, с одной стороны, и множества параметров узкополосного выравнивания, с другой стороны. Эти параметры используются модулем выравнивания сигналов для выравнивания по меньшей мере двух каналов с использованием этих параметров для получения выровненных каналов. Затем процессор сигналов вычисляет центральный сигнал и боковой сигнал с использованием выровненных каналов, и центральный сигнал и боковой сигнал затем кодируются и пересылаются в закодированный выходной сигнал, который дополнительно имеет в качестве параметрической вспомогательной информации параметр широкополосного выравнивания и множество параметров узкополосного выравнивания.
На стороне декодера декодер сигнала декодирует закодированный центральный сигнал и закодированный боковой сигнал для получения декодированных центрального/бокового сигналов. Эти сигналы затем обрабатываются процессором сигналов для вычисления декодированного первого канала и декодированного второго канала. Эти декодированные каналы затем подвергаются устранению выравнивания с использованием информации о параметре широкополосного выравнивания и информации о множестве узкополосных параметров, включенных в закодированный многоканальный сигнал, для получения декодированного многоканального сигнала.
В конкретной реализации параметр широкополосного выравнивания является параметром разности во времени между каналами, и множество параметров узкополосного выравнивания являются разностями фаз между каналами.
Настоящее изобретение основано на открытии, что, в частности, для речевых сигналов, в которых имеется более одного диктора, но также и для других аудиосигналов, в которых существует несколько источников звука, разные места источников звука, которые отображаются на два канала многоканального сигнала, могут быть приняты во внимание для использования параметра широкополосного выравнивания, такого как параметр разности во времени между каналами, который применяется ко всему спектру одного или обоих каналов. В дополнение к этому параметру широкополосного выравнивания было обнаружено, что несколько параметров узкополосного выравнивания, которые отличаются для разных частотных подполос, дополнительно приводят к более хорошему выравниванию сигнала в обоих каналах.
Таким образом, широкополосное выравнивание, соответствующее одинаковой временной задержке в каждой частотной подполосе, вместе с выравниванием фаз, соответствующим разным вращениям фазы для разных частотных подполос, дает в результате оптимальное выравнивание обоих каналов, перед тем, как эти два канала преобразовываются в центральное/боковое представление, которое затем кодируется. Вследствие того, что было получено оптимальное выравнивание, энергия в центральном сигнале является максимально высокой, с одной стороны, и энергия в боковом сигнале состоит является минимально низкой, с другой стороны, и, таким образом может быть получен оптимальный результат кодирования с наиболее низкой возможной битовой скоростью или наиболее высоким возможным качеством звука для некоторой битовой скорости.
В частности, для диалогового речевого материала оказывается, что обычно имеются дикторы, являющиеся активным в двух разных местах. Кроме того, обычной является ситуация, в которой только один диктор говорит из первого места, и затем второй диктор говорит из второго места или местоположения. Влияние разных местоположений на двух каналах, таких как первый или левый канал и второй или правый канал, отражено разным временем прихода и, таким образом, некоторой временной задержкой между обоими каналами вследствие разных местоположений, и эта временная задержка изменяется время от времени. Обычно это влияние отражено в двух сигналах каналов как устранение широкополосного выравнивания, которое может быть указано параметром широкополосного выравнивания.
С другой стороны, другие эффекты, в частности, вследствие реверберации или дополнительных источников шума могут быть представлены индивидуальными параметрами выравнивания фаз для индивидуальных частотных полос, которые наложены на широкополосную разность во времени прихода или устранение широкополосного выравнивания обоих каналов.
Ввиду этого использование и параметра широкополосного выравнивания, и множества параметров узкополосного выравнивания поверх параметра широкополосного выравнивания приводит к оптимальному выравниванию канала на стороне кодера для получения хорошего и очень компактного центральный/боковой представления, в то время как, с другой стороны, соответствующее устранение выравнивания, последующее за декодированием на стороне декодера, приводит к высокому качеству звука для некоторой битовой скорости или на малой битовой скорости для некоторого требуемого качества звука.
Преимущество настоящего изобретения состоит в том, что оно обеспечивает новую схему стереофонического кодирования, намного более подходящую для стереофонического преобразования речи, чем существующие схемы стереофонического кодирования. В соответствии с изобретением технологии параметрического стереокодирования и технологии объединенного стереокодирования объединены, в частности, посредством использования разности во времени между каналами, возникающей в каналах многоканального сигнала, особенно в случае источников речи, а также и в случае других источников звука.
Несколько вариантов осуществления обеспечивают полезные преимущества, обсуждаемые далее.
Новый способ является гибридным подходом, смешивающим элементы из традиционного M/S-стерео и параметрического стерео. В традиционном M/S-стереоканалы пассивно низводятся для формирования центрального сигнала и бокового сигнала. Процесс может быть дополнительно расширен посредством вращения канала использованием преобразования Карунена-Лоэва (KLT), также известного как анализ главных компонентов (PCA, Principal Component Analysis), перед суммированием и дифференцированием каналов. Центральный сигнал закодирован в первичном коде, в то время как боковой сигнал передается вторичному кодеру. Усовершенствованное M/S стерео может дополнительно использовать предсказание бокового сигнала посредством центрального канала, закодированного в текущем или предыдущем кадре. Основная цель вращения и предсказания состоит в том, чтобы максимизировать энергию центрального сигнала, минимизируя энергию бокового сигнала. M/S стерео сохраняет форму сигнала и в этом аспекте является очень надежным в любых стереофонических сценариях, но может являться очень накладным с точки зрения расхода битов.
Для наиболее высокой эффективности на низких битовых скоростях параметрическое стерео вычисляет и кодирует параметры, такие как разности уровней между каналами (ILD), разности фаз между каналами (IPD), разности во времени между каналами (ITD) и межканальная когерентность (IC). Они в компактном виде представляют стереоизображение и являются ключевыми признаками аудиосцены (исходная локализация, панорамирование, ширина стерео и т.д.). Цель состоит в том, чтобы затем параметризовать стереосцену и закодировать только низведенный сигнал, который может находиться в декодере, и с помощью переданных ключевых признаков стерео может быть снова представлен в пространстве.
Наш подход смешивает эти две концепции. Во-первых, ключевые признаки стерео ITD и IPD вычисляются и применяются к двум каналам. Цель состоит в том, чтобы представить разность во времени в широкой полосе и по фазе в разных частотных полосах. Два канала затем выравниваются во времени и по фазе, и затем выполняется M/S-кодирование. Было обнаружено, что разности ITD и IPD полезны для моделирования стереофонической речи и являются хорошей заменой основанного на KLT вращении в M/S-кодировании. В отличие от полностью параметрического кодирования окружение моделируется больше не посредством IC, а непосредственно боковым сигналом, который закодирован и/или предсказан. Было обнаружено, что этот подход более надежен, особенно при обработке речевых сигналов.
Вычисление и обработка разностей ITD играют ключевую роль в изобретения. Разности ITD уже использовались на предшествующем уровне техники в кодировании бинауральных ключевых признаков (BCC), но таким образом, что это было неэффективно, когда разности ITD изменяются во времени. Для предотвращения этого недостатка была разработана заданная оконная обработка для сглаживания переходов между двумя разными разностями ITD и возможности незаметно переключаться с одного диктора на другого, размещенных в разных местах.
Дополнительные варианты осуществления относятся к процедуре, которая на стороне кодера выполняет определение параметра для определения множества параметров узкополосного выравнивания с использованием каналов, которые уже были выровнены с помощью ранее определенного параметра широкополосного выравнивания.
В соответствии с этим на стороне декодера выполняется устранение узкополосного выравнивания перед выполнением устранения широкополосного выравнивания с использованием обычно единственного параметра широкополосного выравнивания.
В дополнительных вариантах осуществления предпочтительно, что либо на стороне кодера, но еще более важно на стороне декодера, выполняется некоторая оконная обработка и операции наложения со сложением или любой вид плавного перехода от одного блока к следующему блоку после всех выравниваний и, в частности, после выравнивания по времени с использованием параметра широкополосного выравнивания. Это предотвращает какие-либо слышимые артефакты, например, щелчки, когда параметр временного или широкополосного выравнивания изменяется от блока к блоку.
В других вариантах осуществления применяются разные спектральные разрешения. В частности, сигналы канала подвергаются временно-спектральному преобразованию, имеющему высокочастотное разрешение, например, спектр DFT, в то время как параметры, такие как параметры узкополосного выравнивания, определяются для параметрических полос, имеющих низкое спектральное разрешение. Обычно параметрическая полоса имеет более чем одну спектральную линию, чем спектр сигнала, и обычно имеет набор спектральных линий из спектра DFT. Кроме того, параметрические полосы увеличиваются от низких частот до высоких частот, чтобы учесть психоакустические моменты.
Дополнительные варианты осуществления относятся к дополнительному использованию параметра уровня, такого как межуровневая разность, или другие процедуры обработки бокового сигнала, такие как параметры заполнения стерео и т.д. Закодированный боковой сигнал может быть представлен самим фактическим боковым сигналом или разностным сигналом предсказания, выполняемым с использованием центрального сигнала текущего кадра или любого другого кадра, или боковым сигналом или разностным боковым сигналом предсказания только в подмножестве частотных полос и параметрами предсказания только для остальных частотных полос, или даже параметрами предсказания для всех частотных полос без какой-либо информации бокового сигнала с высокочастотным разрешением. Следовательно, в последней упомянутой выше альтернативе закодированный боковой сигнал представлен только параметром предсказания для каждой параметрической полосы или только подмножества параметрических полос, и, таким образом, для остальных параметрических полос не существует информация о первоначальном боковом сигнале.
Кроме того, предпочтительно иметь множество параметров узкополосного выравнивания не для всех параметрических полос, отражающих ширину частотной полосы всего широкополосного сигнала, а только для множества низкочастотных полос, например, менее чем для 50 процентов параметрических полос. С другой стороны, параметры заполнения стерео не используются для нескольких низкочастотных полос, поскольку для этих частотных полос передается сам боковой сигнал или разностный сигнал предсказания, чтобы удостовериться, что по меньшей мере для низкочастотных полос доступно представление с правильной формой сигнала. С другой стороны, боковой сигнал не передается в представлении с точной формой сигнала для более высокочастотных полос, чтобы дополнительно уменьшить битовую скорость, а боковой сигнал обычно представлен параметрами заполнения стерео.
Кроме того, предпочтительно выполнять весь анализ параметров и выравнивание в одной и той же частотной области на основе одного и того же спектра DFT. С этой целью также предпочтительно использовать технологию обобщенной взаимной корреляции с фазовым преобразованием (GCC-PHAT) в целях определения разности во времени между каналами. В предпочтительном варианте осуществления этой процедуры, сглаживания спектра корреляции на основе информации о спектральной форме, информация предпочтительно является мерой спектральной сглаженности и выполнена таким образом, что сглаживание будет слабым в случае подобных шуму сигналов, и сглаживание станет более сильным в случае подобных тональным сигналов.
Кроме того, предпочтительно выполнять специальное вращение фазы, при которой учитываются амплитуды канала. В частности, вращение фазы распределено между двумя каналами в целях выравнивания на стороне кодера и, безусловно, в целях устранения выравнивания на стороне декодера, причем канал, имеющий более высокую амплитуду, рассматривается как ведущий канал и будет меньше затронет вращением фазы, т.е., будут будет подвергнут меньшему вращению, чем канал с более низкой амплитудой.
Кроме того, вычисление суммы и разности выполняется с использованием масштабирования энергии с помощью масштабного коэффициента, который получен из энергий обоих каналов и дополнительно ограничен некоторым диапазоном, чтобы удостовериться, что вычисление центрального/бокового сигналов не слишком сильно затрагивает энергию. Однако, с другой стороны, следует отметить, что в целях настоящего изобретения этот вид сохранения энергии не настолько важен, как в процедурах предшествующего уровня техники, поскольку время и фаза были выровнены ранее. Таким образом, энергетические колебания вследствие вычисления центрального сигнала и бокового сигнала из левого и правого каналов (на стороне кодера) или вследствие вычисления сигналов левого и правого каналов из центрального/бокового сигналов (на стороне декодера) не столь значительны, как на предшествующем уровне техники.
Далее предпочтительные варианты осуществления настоящего изобретения обсуждаются относительно следующих прилагаемых чертежей.
Фиг. 1 - блок-схема предпочтительной реализации устройства для кодирования многоканального сигнала;
Фиг. 2 - предпочтительный вариант осуществления устройства для декодирования закодированного многоканального сигнала;
Фиг. 3 - иллюстрация разных частотных разрешений и других связанных с частотой аспектов для некоторых вариантов осуществления;
Фиг. 4a иллюстрирует блок-схему последовательности этапов процедур, выполняемых в устройстве для кодирования в целях выравнивания каналов;
Фиг. 4b иллюстрирует вариант осуществления процедур, выполняемых в частотной области;
Фиг. 4c иллюстрирует вариант осуществления процедур, выполняемых в устройстве для кодирования с использованием окна анализа с участками заполнения нулями и диапазонами наложения;
Фиг. 4d иллюстрирует блок-схему последовательности этапов для дополнительных процедур, выполняемых в устройстве для кодирования;
Фиг. 4e иллюстрирует блок-схему последовательности этапов для демонстрации реализации оценки разности во времени между каналами;
Фиг. 5 иллюстрирует блок-схему последовательности этапов, иллюстрирующую дополнительный вариант осуществления процедур, выполняемых в устройстве для кодирования;
Фиг. 6a иллюстрирует блок-схему варианта осуществления кодера;
Фиг. 6b иллюстрирует блок-схему последовательности этапов соответствующего варианта осуществления декодера;
Фиг. 7 иллюстрирует предпочтительный сценарий синусного окна с малым наложением с заполнением нулями для стереофонического временно-частотного анализа и синтеза;
Фиг. 8 иллюстрирует таблицу, показывающую расход битов различных значений параметров;
Фиг. 9a иллюстрирует процедуры, выполняемые устройством для декодирования закодированного многоканального сигнала в предпочтительном варианте осуществления;
Фиг. 9b иллюстрирует реализацию устройства для декодирования закодированного многоканального сигнала;
Фиг. 9c иллюстрирует процедуру, выполненную в контексте устранения широкополосного выравнивания в контексте декодирования закодированного многоканального сигнала;
Фиг. 10a иллюстрирует вариант осуществления устройства для оценки разности во времени между каналами;
Фиг. 10b иллюстрирует схематическое представление дополнительной обработки сигнала, в которой применяется разность во времени между каналами;
Фиг. 10c иллюстрирует схематическое представление анализатора сигналов, реализованного как модуль оценки шума в варианте осуществления и модуль взвешивания в соответствии с вариантами осуществления изобретения;
Фиг. 10d иллюстрирует схематическое представление модуля взвешивания в соответствии с вариантами осуществления изобретения;
Фиг. 10e иллюстрирует схематическое представление процессора в соответствии с вариантами осуществления изобретения;
Фиг. 10f иллюстрирует схематическое представление модуля оценки шума в соответствии с вариантами осуществления изобретения;
Фиг. 11a иллюстрирует процедуры, выполняемые процессором, показанным на фиг. 10a;
Фиг. 11b иллюстрирует дополнительные процедуры, выполняемые процессором, показанным на фиг. 10a;
Фиг. 11c иллюстрирует дополнительную реализацию вычисления переменного порога и использование переменного порога в анализе представления во временной области;
Фиг. 11d иллюстрирует первый вариант осуществления для определения переменного порога;
Фиг. 11e иллюстрирует дополнительную реализацию определения порога;
Фиг. 11f иллюстрирует схематическое представление процессора в соответствии с вариантами осуществления изобретения;
Фиг. 12 иллюстрирует представление во временной области для сглаженного спектра взаимной корреляции для чистого речевого сигнала;
Фиг. 13 иллюстрирует представление во временной области сглаженного спектра взаимной корреляции для речевого сигнала, имеющего шум и окружение.
Фиг. 10a иллюстрирует вариант осуществления устройства для оценки разности во времени между каналами между сигналом первого канала, например, левого канала, и сигналом второго канала, например, правого канала. Эти каналы вводятся в временно-спектральный конвертер 150, который дополнительно проиллюстрирован относительно фиг. 4e как пункт 451.
Кроме того, представления во временной области сигналов левого и правого каналов вводятся в калькулятор 1020 для вычисления спектра взаимной корреляции для временного блока из сигнала первого канала во временном блоке и сигнала второго канала во временном блоке. Кроме того, устройство содержит модуль 1010 оценки спектральной характеристики для оценки характеристики спектра сигнала первого канала или сигнала второго канала для временного блока. Устройство также содержит сглаживающий фильтр 1030 для сглаживания спектра взаимной корреляции по времени с использованием спектральной характеристики для получения сглаженного спектра взаимной корреляции. Устройство также содержит процессор 1040 для обработки сглаженного спектра корреляции для получения разности во времени между каналами.
В качестве альтернативы, в другом варианте осуществления элемент 1030 не присутствует, и, таким образом, элемент 1010 также не является необходимым, как обозначено прерывистой линией 1035. Устройство также содержит анализатор 1037 сигналов, вычисляющий оценку характеристики сигнала, такую как оценочное значение 1038 шума. Эта оценка пересылается модулю 1036 взвешивания, выполненного с возможностью выполнения различных операций взвешивания в зависимости от оценки характеристики сигнала. Оценка характеристики сигнала предпочтительно также используется для управления процессором 1040, например, когда процессор 1040 выполняет операцию отбора пиковых значений. Фиг. 10c далее иллюстрирует сигнал анализатор 1037 и управляемый блок взвешивания 1036.
В частности, устройство в соответствии с вариантами осуществления настоящего изобретения направлено на оценку разности во времени между каналами между сигналом первого канала и сигналом второго канала. Это устройство содержит анализатор 1037 сигналов на фиг. 10a, калькулятор 1020 спектра взаимной корреляции на фиг. 10a, модуль 1036 взвешивания для взвешивания сглаженного или не сглаженного спектра взаимной корреляции на фиг. 10a и присоединенный далее процессор 1040 для обработки взвешенного спектра взаимной корреляции.
Временно-спектральный конвертер 150 элементов, модуль оценки 1010 спектральной характеристики, сглаживающий фильтр 1030 не являются необходимыми для базовой реализации настоящего изобретения, но являются предпочтительными для предпочтительных вариантов осуществления настоящего изобретения. Анализатор 1037 сигналов выполнен с возможностью оценки характеристики сигнала, такой как уровень 1038 шума сигнала первого канала, или сигнала второго канала, или обоих сигналов, или сигнала, полученного из сигнала первого канала или сигнала второго канала. Таким образом, характеристика сигнала или оценка характеристики сигнала, такая как оценочное значение шума, которые будут использоваться позже модулем 1036 взвешивания, и также предпочтительно будут использоваться процессором 1040, могут быть получены только из сигнала левого или первого канала, только из сигнала второго или правого канала, или могут быть получены из обоих сигналов. Получение характеристики сигнала из обоих сигналов, например, может представлять собой получение индивидуальной характеристики сигнала первого канала, дополнительной индивидуальной характеристики сигнала из сигнала второго или правого канала, и тогда окончательной характеристикой 1038 сигнала будет, например, среднее или средневзвешенное значение между обоими каналами. Здесь, например, взвешивание может быть сделано в соответствии с амплитудой таким образом, что разные амплитуды, например, в кадрах каналов приводят к разным влияниям соответствующего индивидуального оценочного значения шума на окончательный уровень 1038 шума. Кроме того, сигнал, полученный из сигнала первого канала и сигнала второго канала, может являться, например, объединенным сигналом, полученным посредством сложения сигнала левого или первого канала и сигнала второго или правого канала вместе для получения объединенного сигнала, и затем характеристика 1038 сигнала вычисляется на основе объединенного сигнала.
В предпочтительном варианте осуществления анализатор 1036 сигналов реализован модуль оценки или анализа шума. Однако также могут быть выполнены другие способы анализа сигнала, такие как анализ тональности, обнаружение голосовой активности, анализ переходных процессов, анализ стерео, анализ речи/музыки, анализ вносящего помехи говорящего, анализ музыкального фона, анализ чистой речи или любой другой анализ сигнала, чтобы определить, имеет ли сигнал первую характеристику или вторую характеристику, с тем чтобы была выбрана соответствующая процедура взвешивания.
Комбинация может представлять собой комбинацию с равными весовыми коэффициентами, т.е. комбинацию левого канала без какого-либо взвешивания и правого канала без какого-либо взвешивания, что соответствует весовым коэффициентам 1,0, или, в качестве альтернативы, могут быть применены разные весовые коэффициенты. Кроме того, сигнал, полученный из первого канала, или сигнал, полученный из второго канала, может быть получен посредством выполнения высокочастотной фильтрации или низкочастотной фильтрации, или может быть получен посредством выполнения обработки с использованием функции сжатия амплитуды или обратного сжатия амплитуды. Функция сжатия амплитуды может представлять собой логарифмическую функцию или функцию со значением показателя степени меньше 1. Функция обратного сжатия может представлять собой показательную функцию или функцию со значением показателя степени больше 1. Таким образом, в зависимости от некоторых реализаций, разные операции обработки могут быть применены к разным сигналам левого и правого канала, и оба канала могут быть объединены или не объединены. В предпочтительном варианте осуществления левый и правый каналы складываются вместе предпочтительно даже без какого-либо особого взвешивания, и оценка характеристики сигнала затем вычисляется на основе результата вычисления объединения.
Калькулятор 1020 для вычисления спектра взаимной корреляции для временного блока из сигнала первого канала во временном блоке и сигнала второго канала во временном блоке может быть реализован несколькими методами. Один метод состоит в том, что взаимная корреляция вычисляется на основе сигналов во временной области в кадрах во временной области, и затем результат преобразовывается из временной области в спектральную область. Другая реализация состоит в том, что посредством использования преобразования DFT или любого другого временно-спектрального преобразования последующие кадры сигнала первого канала и последующие кадры сигнала второго канала преобразовываются в спектральное представление, в котором последующие кадры могут накладываться или не накладываться. Таким образом, спектральное представление получается для каждого временного блока сигнала первого канала, и, соответственно, спектральное представление получается для каждого временного блока сигнала второго канала. Вычисление взаимной корреляции выполняется посредством умножения спектрального значения некоторого элемента k разрешения по частоте и некоторого индекса s временного блока или временного отсчета на сопряженное комплексное значение спектрального значения с тем же индексом k и тем же индексом s из спектрального представления того же самого временного блока второго канала. Другие процедуры вычисления взаимной корреляции, отличающиеся от описанного выше, также могут быть использованы для вычисления спектра взаимной корреляции для временного блока.
Модуль 1036 взвешивания выполнен с возможностью для взвешивания спектра взаимной корреляции, полученного калькулятором. В реализации спектр взаимной корреляции является не сглаженным спектром взаимной корреляции, но в других вариантах осуществления спектр взаимной корреляции сглаживается, причем это сглаживание является сглаживанием относительно времени. Таким образом, в целях вычисления сглаженного спектра взаимной корреляции может использоваться спектр взаимной корреляции последнего блока вместе с (не обработанным) спектром взаимной корреляции текущего блока, и в зависимости от реализации управляющая информация сглаживания может быть использована как есть, например, обеспечена модулем 1010 оценки спектральной характеристики на фиг. 10a. Однако сглаживание также может быть выполнено с использованием предопределенного, т.е. постоянного или независимого от времени настроечного параметра сглаживания. В соответствии с вариантами осуществления изобретения взвешенный спектр взаимной корреляции вычисляется с использованием первой процедуры 1036a взвешивания или с использованием второй процедуры 1036b взвешивания, которые проиллюстрированы, например, на фиг. 10d. В частности, выбор того, получается ли взвешенный спектр взаимной корреляции с использованием первой или второй процедуры, выполняется в зависимости от характеристики сигнала, оцененной анализатором 1037 сигналов. Таким образом, в соответствии с настоящим изобретением взвешивание с помощью первой характеристики взвешивания используется для некоторой характеристики сигнала первого канала или второго канала, или объединенного сигнала, в то время как вторая процедура взвешивания применятся в зависимости от другой характеристики сигнала, определенной анализатором 1037 сигналов. Результатом модуля 1036 взвешивания является взвешенный и сглаженный или не сглаженный спектр взаимной корреляции, который затем обрабатывается процессором 1040 для получения разности во времени между каналами между сигналом первого канала и сигналом второго канала.
Фиг. 10d иллюстрирует реализацию анализатора сигналов как модуля оценки шума и модуля взвешивания, соединенных с процессором 1040, в соответствии с вариантом осуществления изобретения. В частности, модуль 1037 оценки шума содержит калькулятор 1037a оценочного значения шума и классификатор 1037b оценочного значения шума. Классификатор 1037b оценочного значения шума выдает управляющий сигнал 1050, соответствующий выходному оценочному значению 1038 шума, сформированному блоком 1037 на фиг. 10a. Этот управляющий сигнал может быть приложен к первому переключателю 1036c или второму переключателю 1036d. В этой реализации обеспечены ядра 1036a обработки, реализующие первую процедуру взвешивания и другое вычислительное ядро для реализации второй процедуры 1036b взвешивания. В зависимости от реализации обеспечен только переключатель 1036c, и в зависимости от управляющего сигнала 1050 процедура взвешивания выбирается только посредством переключателя 1036c, т.е. спектр взаимной корреляции, определенный калькулятором 1020, подается на переключатель 1036c, и в зависимости от настройки переключателя пересылается либо в ядро 1036a, либо в ядро 1036b. В другой реализации переключатель 1036c отсутствует, и спектр взаимной корреляции, определенный блоком 1020, подается в оба ядра 1036a и 1036b обработки, и в зависимости от управления выходного переключателя 1036d выбираются либо выходные данные модуля 1036a, либо выходные данные модуля 1036b и пересылаются процессору 1040. Таким образом, в зависимости от реализации вычисляется только один взвешенный спектр взаимной корреляции, когда выбор вычисляется посредством управляющего сигнала 1050 и входного переключателя. В качестве альтернативы вычисляются оба взвешенных спектра взаимной корреляции, и только спектр взаимной корреляции, который выбран выходным переключателем 1036d, пересылается процессору 1040. Кроме того, может присутствовать только одно ядро обработки без каких-либо входного/выходного переключателей, и в зависимости от управляющего сигнала необходимая процедура взвешивания устанавливается для соответствующего временного блока. Таким образом, для каждого временного блока могут быть вычислены оценочное значение шума или управляющий сигнал 1050, и для каждого временного блока взвешивание может переключаться с одной процедуры взвешивания на другую процедуру взвешивания. В этом контексте следует отметить, что также могут быть реализованы три или более разных процедур взвешивания в зависимости от трех или более разных оценочных значений шума в зависимости от обстоятельств. Таким образом, настоящее изобретение берет на себя выбор не только между двумя разными процедурами взвешивания, но также включает в себя выбор между тремя или более процедурами взвешивания в зависимости от управляющего сигнала, полученного из характеристики шума сигналов первого и второго каналов.
В предпочтительной реализации первая процедура взвешивания содержит такое взвешивание, чтобы амплитуда была нормализована и фаза сохранена, и вторая процедура взвешивания содержит весовой коэффициент, полученный из сглаженного или не сглаженного спектра взаимной корреляции с использованием операции степенной функции, имеющей показатель степени меньше 1 или больше 0. Кроме того, первая процедура взвешивания может быть почти идентичной второй процедуре взвешивания за исключением того, что вторая процедура взвешивания использует показатель степени между 0 и 1, т.е., показатель степени больше 0 и меньше 1, в то время как первая процедура взвешивания не применяет степенную функцию или, другими словами, применяет показатель степени 1. Таким образом нормализация, выполненная второй процедурой взвешивания, сжимается, т.е. коэффициент нормализации, примененный первой процедурой взвешивания, имеет некоторое значение, и коэффициент нормализации, примененный через вторую процедуру взвешивания к тому же спектральному значению взаимной корреляции, имеет меньшую величину. Это применяется к более высоким спектральным значениям спектра взаимной корреляции. Однако для малых значений спектра взаимной корреляции значение нормализации для второй процедуры взвешивания больше, чем значение нормализации для первой процедуры взвешивания относительно того же спектрального значения спектра взаимной корреляции. Это справедливо вследствие того, что операция степенной функции с показателем степени меньше 1, например, операция функции квадратного корня, имеющая показатель степени 1/2, увеличивает малые значения, но уменьшает большие значения. Таким образом, дополнительные вычисления весового коэффициента для второй процедуры взвешивания также могут содержать какую-либо функцию сжатия, такую как логарифмическая функция. В предпочтительном варианте осуществления первая процедура взвешивания работает на основе взвешивания, применяемого к преобразованию фазы (PHAT), и вторая процедура взвешивания работает на основе вычислений, применяемых к модифицированной процедуре фазы спектра с использованием показателей степени (modified cross-power spectrum phase, MCSP).
Кроме того, вторая процедура взвешивания предпочтительно реализована содержащей такую нормализацию, что выходной диапазон второй процедуры нормализации находится в диапазоне, в котором размещен выходной диапазон первой процедуры нормализации, или выходной диапазон второй процедуры нормализации такой же, как и выходной диапазон первой процедуры нормализации. Это может быть реализовано, например, посредством вычисления абсолютных значений всех спектральных значений взвешенного посредством MCSP спектра взаимной корреляции посредством сложения всех величин одного спектрального представления, соответствующего одному временному блоку, и последующего деления результата на количество спектральных значений во временном блоке.
Обычно процессор 1040 на фиг. 10a выполнен с возможностью выполнять некоторые этапы обработки относительно взвешенного спектра взаимной корреляции, причем, в частности, выполняется определенная операция отбора пиковых значений, чтобы в итоге получить разности во времени между каналами. Предпочтительно эта операция отбора пиковых значений происходит во временной области, т.е., взвешенный и сглаженный или не сглаженный спектр взаимной корреляции преобразовывается из спектрального представления в представление во временной области, и затем, это представление во временной области анализируется, и, в частности, пик или несколько пиков отбираются на основе порога. В зависимости от настройки оценочного значения шума выполняется либо первая операция отбора пиковых значений, либо вторая операция отбора пиковых значений, причем предпочтительно обе операции отбора пиковых значений отличаются друг от друга относительно порога, используемого операцией отбора пиковых значений.
Фиг. 10e иллюстрирует ситуацию, являющуюся сходной относительно входного переключателя 1040 и выходного переключателя 1043 с процедурой на фиг. 10d. В реализации, проиллюстрированной на фиг. 10e, могут быть применены обе операции отбора пиковых значений, и результат "правильной" операции отбора пиковых значений может быть выбран выходным переключателем 1043. В качестве альтернативы входной переключатель присутствует, и в зависимости от управляющего сигнала 1050 выбирается только правильная процедура отбора пиковых значений, т.е. либо 1041, либо 1042. Таким образом, в реализации, не будет обоих переключателей, но в реализации будет либо входной переключатель 1040, либо выходной переключатель 1043 аналогично тому, что было получено ранее относительно фиг. 10d. В дополнительной реализации существует только одно ядро обработки, применяющее операцию отбора пиковых значений с переменным порогом, и управляющий сигнал 1050 используется, чтобы установить правильный порог в единственном ядре обработки. В предпочтительном варианте осуществления пороговая настройка выполняется таким образом, что второй порог выше, чем первый порог, причем второй порог, таким образом, используется, когда была применена вторая процедура взвешивания в блоке 1036b, и первый порог используется, когда была применена первая процедура взвешивания в блоке 1036a. Таким образом, когда обнаружен высокий уровень фонового шума, тогда применяется вторая процедура взвешивания с показателем степени между 0 и 1 или логарифмическая операция, т.е. процедура сжатия, и тогда порог для отбора пиковых значений должен быть ниже по сравнению с порогом отбора пиковых значений, который будет использоваться при обнаружении низкого уровня фонового шума, т.е., когда применяется первая процедура взвешивания, которая выполняет нормализацию с коэффициентом нормализации, который не полагается на функцию сжатия, такую как логарифмическая функция или степенная функция с показателем степени меньше 1.
Далее на фиг. 10f проиллюстрирована предпочтительная реализация анализатора сигналов как модуля 1037 оценки шума. В основном модуль 1037 оценки шума состоит из калькулятора 1037a оценочного значения шума и классификатора 1037b оценочного значения шума, как проиллюстрировано на фиг. 10d и также указано на фиг. 10f. Калькулятор 1037a оценочного значения шума содержит модуль 1060 оценки фонового шума и присоединенный далее модуль 1061 (временного) сглаживания, который может быть реализован, например, как БИХ-фильтр (IIR-фильтр).
В калькулятор 1037a оценочного значения шума или, в частности, в модуль 1060 оценки фонового шума вводится кадр сигнала левого или первого канала, кадр сигнала второго или правого канала или сигнала, полученный из такого сигнала канала или объединенный сигнал, полученный, например, посредством сложения представления во временной области сигнала первого канала и представления во временной области сигнала второго канала в одном и том же временном блоке.
Что касается классификатора 1037b оценочного значения шума, входной сигнал доставляется детектору 1070 активности сигнала, управляющему селектором 1071. На основе результата детектора 1070 деятельности сигнала селектор 1071 выбирает только активные кадры. Кроме того, далее к селектору 1071 присоединен калькулятор 1072 уровня сигнала. Вычисленный уровень сигнала затем передается модулю 1073 (временного) сглаживания, который реализован, например, как БИХ-фильтр. Затем в блоках 1074 происходит вычисление отношения сигнал к шуму, и результат сравнивается в модуле 1075 сравнения предпочтительно с предопределенным порогом, который находится, например, между 45 дБ и 25 дБ, и предпочтительно находится даже в диапазоне между 30 и 40 дБ, и более предпочтительно находится на уровне 35 дБ.
Выходными данными модуля 1075 сравнения является результат обнаружения, указывающий либо высокий уровень шума, либо низкий уровень шума, или указывающий, что пороговая настройка некоторым образом должна быть выполнена единственным процессором процедуры взвешивания, или, когда существуют два процессора процедуры взвешивания, как проиллюстрировано на фиг. 10d, тогда результат принятия решения модуля 1075 сравнения, т.е., сигнал 1050 управляет либо входным переключателем 1036c, либо выходным переключателем 1036d, чтобы переслать корректно взвешенный спектр взаимной корреляции процессору 1040.
Результат 1050 обнаружения предпочтительно вычисляется для каждого временного блока или кадра. Таким образом, когда, например, для некоторого кадра детектор 1070 активности сигнала указывает, что он является неактивным кадром, тогда для этого кадра не выполняется ни вычисление уровня сигнала, ни временное сглаживание, поскольку селектор 1071 выбирает только активный кадр. Таким образом, в варианте осуществления для неактивного кадра вычисление отношения сигнала к шуму (SNR) не выполняется, и, таким образом, в этом варианте осуществления для этого неактивного кадра, результат обнаружения не обеспечивается совсем. Таким образом, в реализации та же самая процедура взвешивания, которая была определена ранее относительно последнего активного кадра, в качестве альтернативы для неактивного кадра применяется либо первая процедура взвешивания, либо вторая процедура взвешивания, либо даже третья процедура взвешивания в качестве резервного решения. В качестве альтернативы калькулятор 1074 отношения сигнала к шуму может быть реализован, чтобы использовать для неактивного кадра уровень сглаженного по времени сигнала последнего активного кадра. Таким образом, результат обнаружения может либо быть получен даже для неактивных кадров, либо для неактивным кадров используется некоторая (резервная) процедура взвешивания, либо для неактивных кадров продолжает использоваться та же самая процедура взвешивания, которая была определена для последнего активного кадра, предшествующего неактивному кадру, в зависимости от обстоятельств.
В предыдущей заявке на патент [1] был внедрен модуль оценки разности во времени между каналами (Inter-channel Time Difference, ITD). Этот модуль оценки основан на обобщенной взаимной корреляции с фазовым преобразованием (Generalized Cross-Correlation with PHAse Transform, GCC-PHAT), методике, широко использованной в литературе TDOA (первоначальная статья [2], другая хорошая ссылка [3]). Разность во времени между двумя каналами обнаруживается посредством отбора пиковых значений выходных данных GCC. Наилучшая надежность может быть получена либо посредством использования большой длины окна анализа, либо посредством сглаживания спектра взаимной корреляции по времени. Основной вклад заявки [1] заключался в том, чтобы сделать это сглаживание адаптивным с помощью коэффициента сглаживания, зависящего от меры спектральной сглаженности.
Этапы модуля оценки ITD в заявке [1] могут быть описаны следующим образом.
1. Дискретное преобразование Фурье: сигнал левого канала и сигнал правого канала подвергаются кадрированию, обрабатываются с помощью оконной функции и преобразовываются в частотную область с использованием преобразования DFT
где - индекс временного отсчета, - индекс кадра, - индекс частоты, - длина кадра, - длина преобразования DFT, и - окно анализа.
2. Спектр взаимной корреляции: корреляция между двумя каналами вычисляется в частотной области
3. Сглаживание: спектр взаимной корреляции сглаживается по времени с коэффициентом сглаживания, зависящим от меры спектральной сглаженности. Более сильное сглаживание используется, когда спектральная сглаженность является низкой, чтобы сделать модуль оценки ITD более надежным на стационарных тональных сигналах. Более слабое сглаживание используется, когда спектральная сглаженность является высокой, чтобы побудить модуль оценки ITD быстрее адаптироваться на транзиентных сигналах т.е., когда сигнал быстро изменяется.
Сглаживание выполняется с использованием
где
и
4. Взвешивание: сглаженный спектр взаимной корреляции взвешивается посредством инверсии его величины. Это взвешивание нормализует амплитуду и сохраняет только фазу, поэтому оно называется фазовым преобразованием (PHAT).
5. Обратное преобразование: окончательная корреляция GCC получается посредством преобразования спектра взаимной корреляции обратно во временную область
6. Отбор пиковых значений: наиболее простой подход заключается в том, чтобы отыскать глобальный максимум абсолютного значения корреляции GCC, найденной на этапе 5. Если этот максимум имеет значение выше некоторого порога, ITD оценивается как задержка n, соответствующая этому максимуму. Более усовершенствованные подходы используют дополнительные подходы на основе механизмов запаздывания и/или "размытия" для получения более сглаженной по времени оценки ITD.
GGC-PHAT очень хорошо выполняется в окружающих условиях с низким шумом и с реверберацией (см., например, [3]). Однако, когда уровень фонового шума является высоким или в присутствии других компонентов сигнала (таких как музыка, транзиентные сигналы, сложные стереофонические сцены, кадры, классифицированные как неактивные, вносящие помехи говорящие) рабочие характеристики GCC-PHAT значительно снижаются. Тогда выходные данные GCC являются шумными и не содержат единственный сильный пик. Следовательно, отбор пиковых значений часто не находит правильной разности ITD. Это вызвано тем, что фазовое преобразование рассматривает все частоты одинаково, независимо от отношения сигнала к шуму. Тогда GCC загрязняется фазой элементов разрешения по частоте, имеющих низкое отношение сигнала к шуму.
Чтобы избежать этой проблемы, в литературе было предложено много других взвешиваний GCC. Было обнаружено, что один из них является был эффективным на наших проблемных тестовых сигналах. Сначала он был предложен в [4] и назван в то время модифицированной процедурой фазы спектра с использованием показателей степени (MCSP). Его хорошие рабочие характеристики в окружающих условиях с высоким шумом были позже подтверждены в нескольких других статьях (см., например, [5]). Взвешивание (этап 4 предшествующего уровня техники) модифицировано следующим образом.
где - параметр между 0 и 1. соответствует случаю обычной взаимной корреляции, и соответствует случаю GCC-PHAT. Обычно используется значение, которое меньше, но близко к 1, что позволяет модифицировать GCC-PHAT, делая акцент на элементы разрешения по частоте с высокой корреляцией, которые обычно соответствуют сигналу, в то время как элементы разрешения по частоте с низкой корреляцией соответствуют шуму. Более точно, мы обнаружили, что значение дало наилучшие рабочие характеристики (оно составляло 0,75 в [4] и 0,78 в [5]).
К сожалению, это новое взвешивание выполняется лучше, чем GCC-PHAT, только когда присутствует фоновый шум высокого уровня. Альтернативные сценарии, в которых новое взвешивание возможно выполняется лучше, чем GCC-PHAT, представляют неактивные кадры (т.е., обнаруживается отсутствие голосовой активности, что может указывать на низкий уровень речи), присутствие транзиентов, сложные стереофонические сценарии, музыку, оказывающих помехи говорящих, присутствие музыкального фона, неразборчивую речь. В чистых окружающих условиях, таких как речь без или лишь с небольшим уровнем фонового шума, музыки или других компонентов сигнала, которые отклоняются от чистой речи, GCC-PHAT по-прежнему выполняется лучше. Чтобы всегда достигать наилучших результатов, стало необходимо переключаться между двумя подходами в зависимости от содержания сигнала.
Чтобы обнаружить присутствие высокого уровня фонового шума в сигнале, используется модуль оценки шума вместе с детектором активности сигнала (SAD). Уровень сигнала может быть оценен на кадрах, в которых детектором активности сигнала обнаруживает сигнал, в то время как уровень шума оценивается модулем оценки шума. Тогда присутствие высокого уровня фонового шума обнаруживается просто посредством сравнения отношения сигнала к шуму (в дБ) с порогом, например, если , то обнаруживается высокий уровень шума.
Когда становится известно, содержит ли сигнал высокий уровень фонового шума, принимается решение выбрать либо взвешивание PHAT, либо взвешивание MCSP для вычисления GCC (этап 4 на предшествующем уровне техники). Отбор пиковых значений (этап 6 на предшествующем уровне техники) также может быть модифицирован в зависимости от того, обнаружен ли высокий уровень фонового шума, например, посредством понижения порога.
Далее по этапам описывается предпочтительный вариант осуществления.
0. Обнаружение высокого уровня фонового шума
a. Модуль оценки шума (например, из [6]) используется, чтобы оценить уровень фонового шума . Сглаживающий БИХ-фильтр используется, чтобы сгладить уровень шума по времени.
b. Детектор активности сигнала (например, из [6]) используется, чтобы классифицировать кадр как активный или неактивный. Активные кадры затем используются для вычисления уровня сигнала просто посредством вычисления энергии сигнала и сглаживания его по временем с использованием сглаживающего БИХ-фильтра.
c. Если отношение сигнала к шуму (в дБ) ниже порога (например, 35 дБ), то обнаруживается высокий уровень фонового шума.
1. Дискретное преобразование Фурье: такое же, как на предшествующем уровне техники
2. Спектр взаимной корреляции: такой же, как на предшествующем уровне техники
3. Сглаживание: такое же, как на предшествующем уровне техники, или согласно настоящему описанию на основе спектральной характеристики
4. Взвешивание
Если обнаружен низкий уровень фонового шума, то используется такое же взвешивание, как на предшествующем уровне техники (GCC-PHAT).
Если обнаружен высокий уровень фонового шума, то используется взвешивание MCSP
где (например, ). Чтобы поддерживать выходные данные GCC-MCSP в таком же диапазоне, как выходные данные GCC-PHAT, выполняется дополнительный этап нормализации
5. Обратное преобразование: такое же, как на предшествующем уровне техники
6. Отбор пиковых значений: отбор пиковых значений может быть адаптирован в случае, если обнаружен высокий уровень фонового шума и используется взвешивание MCSP. В частности, было обнаружено, что полезен низкий порог.
Кроме того, фиг. 10a иллюстрирует реализацию, которая отличается от реализации на фиг. 10c. В модуле 1036 взвешивания на фиг. 10c модуль взвешивания выполняет либо первую, либо вторую процедуру взвешивания. Однако в модуле 1036 взвешивания, проиллюстрированном на фиг. 10a, модуль взвешивания выполняет только вторую процедуру взвешивания относительно обозначения на фиг. 10d или 10c. Эта реализация является полезной, когда используется сглаживающий фильтр, проиллюстрированный в блоке 1030, который уже выполняет первую процедуру взвешивания, последующую за сглаживанием или вместе со сглаживанием, например, в одной математической или аппаратной операции. Таким образом, в случае выполнения первой процедуры взвешивания, которая является операцией нормализации без какого-либо сжатия в сглаживающем фильтре, сглаживающий фильтр 1030, с одной стороны, и фактический модуль 1036 взвешивания, с другой стороны, соответствуют фактическому модулю взвешивания для взвешивания сглаженного или не сглаженного спектра взаимной корреляции. Таким образом, в реализации на фиг. 10a только оценочное значение 1038 шума обеспечивается отдельному модулю 1036 взвешивания, и выбор между выходными данными сглаживающего фильтра 1030, который уже взвешен в соответствии с процедурой взвешивания, и между выходными данными фактического модуля 1036 взвешивания на фиг. 10a проделывается некоторой настройкой 1040 процессора, которая автоматически использует выходные данные из сглаживающего фильтра 1030, когда модуль 1036 взвешивания не обеспечивает выходной сигнал, но автоматически назначает более высокий приоритет выходным данным модуля 1036 взвешивания относительно выходных данных сглаживающего фильтра 1030, когда модуль 1036 взвешивания обеспечивает выходные данные. Затем оценочное значение 1038 шума или, как обсуждалось на других фигурах, управляющий сигнал 1050 используется либо для активации, либо для деактивации модуля 1036 взвешивания. Таким образом, фактический модуль взвешивания для взвешивания сглаженного или не сглаженного спектра взаимной корреляции с использованием процедуры взвешивания первого порядка может быть реализован многими различными способами, например в заданном режиме активации/деактивации на фиг. 10a, или в режиме с двумя ядрами на фиг. 10d с входным или выходным переключателем, или в соответствии с единственным ядром процедуры взвешивания, которое в зависимости от управляющего сигнала выбирает одну или другую процедуру взвешивания или адаптирует общий процессор взвешивания для выполнения первой или второй процедуры взвешивания.
Далее описывается предпочтительный вариант осуществления, в котором сглаживание выполняется перед взвешиванием. В этом контексте функциональность модуля оценки спектральной характеристики также отражена на фиг. 4e, элементы 453, 454, в предпочтительном варианте осуществления.
Кроме того, функциональность калькулятора 1020 спектра взаимной корреляции также отражена элементом 452 на фиг. 4e, описанной позже в предпочтительном варианте осуществления.
В соответствии с этим, функциональность сглаживающего фильтра 1030 также отражена элементом 453 в контексте фиг. 4e и описывается позже. Кроме того, функциональность процессора 1040 также описана в контексте фиг. 4e в предпочтительном варианте осуществления как элементы 456-459.
Предпочтительные варианты осуществления процессора 1040 также описаны на фиг. 10c
Предпочтительно оценка спектральной характеристики вычисляет шум или тональность спектра, причем предпочтительная реализация представляет собой вычисление меры спектральной сглаженности, составляющей около 0 в случае тональных или нешумных сигналов, и составляющей около 1 в случае шумных или подобных шуму сигналов.
В частности, сглаживающий фильтр тогда выполняется с возможностью применять более сильное сглаживание с первой степенью сглаживания по времени в случае первой менее шумной характеристики или первой более тональной характеристики, или применять более слабое сглаживание со второй степенью сглаживания по времени в случае второй более шумной или второй менее тональной характеристики.
В частности, первое сглаживание больше, чем вторая степень сглаживания, причем первая шумная характеристика содержит меньше шума, чем вторая шумная характеристика, или первая тональная характеристика является более тональной, чем вторая тональная характеристика. Предпочтительная реализация является мерой спектральной сглаженности.
Кроме того, как проиллюстрировано на фиг. 11a, процессор предпочтительно реализован для нормализации сглаженного спектра взаимной корреляции, как проиллюстрировано этапом 456 на фиг. 4e и 11a, до выполнения вычисления представления во временной области на этапе 1031, соответствующем этапам 457 и 458 в варианте осуществления на фиг. 4e. Однако, как изложено в общих чертах на фиг. 11a, процессор также может работать без нормализации на этапе 456 на фиг. 4e. Также процессор выполнен с возможностью анализировать представление во временной области, как проиллюстрировано в блоке 1032 на фиг. 11a, чтобы найти разность во времени между каналами. Этот анализ может быть выполнен любым известным методом и уже приведет к улучшенной надежности, поскольку анализ выполняется на основе спектра взаимной корреляции, сглаженного в соответствии со спектральной характеристикой.
Как проиллюстрировано на фиг. 11b, предпочтительной реализацией анализа 1032 во временной области является низкочастотная фильтрация представления во временной области, как проиллюстрировано этапом 458 на фиг. 11b, соответствующим этапу 458 на фиг. 4e, и дополнительная обработка 1033 использует операцию поиска/отбора пиковых значений в обработанном низкочастотным фильтром представлении во временной области.
Как проиллюстрировано на фиг. 11c, предпочтительная реализация операции отбора или поиска пиковых значений должна выполнять эту операцию с использованием переменного порога. В частности, процессор выполнен с возможностью выполнять операцию поиска/отбора пиковых значений в представлении во временной области, полученном из сглаженного спектра взаимной корреляции, определяя 1034 переменный порог из представления во временной области и сравнивая пик или несколько пиков представления во временной области (полученный со спектральной нормализацией или без нее) с переменным порогом, причем разность во времени между каналами определяется как задержка по времени, ассоциированная с пиком, находящимся в предопределенном отношении к порогу, например, являющимся больше переменного порога.
Как проиллюстрировано на фиг. 11d, один предпочтительный вариант осуществления, проиллюстрированный в псевдокоде, относящийся к фиг. 4e-b, описанный позже, состоит в сортировке 1034a значений в соответствии с их величиной. Затем, как проиллюстрировано на этапе 1034b на фиг. 11d, определяются наиболее высокие, например, 10% или 5% значений.
Затем, как проиллюстрировано на этапе 1034c, число, например, число 3 умножается на наименьшее значение из наибольших 10% или 5% для получения переменного порога.
Как заявлено, предпочтительно определяются наибольшие 10% или 5%, но также может быть полезно определить наименьшее значение из наибольших 50% значений и использовать большее число для умножения, например, 10. Естественно, может быть определена еще меньшая величина, например, наибольшие 3% значений, и наименьшее значение среди этих наибольших 3% значений тогда умножено на число, которое равно, например, 2,5 или 2, т.е. ниже чем 3. Таким образом, разные комбинации чисел и процентов могут использоваться в варианте осуществления, проиллюстрированном на фиг. 11d. Кроме процентов также могут изменяться числа, и предпочтительны числа больше, чем 1,5.
В дополнительном варианте осуществления, проиллюстрированном на фиг. 11e, представление во временной области делится на подблоки, как проиллюстрировано блоком 1101, и эти подблоки указаны на фиг. 13 номером 1300. В данном случае используется приблизительно 16 подблоков для пригодного диапазона, чтобы каждый подблок имел промежуток 20 задержки по времени. Однако количество подблоков может быть больше или меньше, чем это значение, и предпочтительно составляет больше 3 и меньше 50.
На этапе 1102 на фиг. 11e определяется пик в каждом подблоке, и на этапе 1103 определяется средний пик во всех подблоках. Затем на этапе 1104 определяется значение для умножения, которое зависит от отношения сигнала к шуму, с одной стороны, и в дополнительном варианте осуществления, зависит от разности между порогом и максимальным пиком, как обозначено слева от блока 1104. В зависимости от этих входных значений определяется одно из предпочтительно трех разных значений для умножения, причем значение для умножения может быть равно alow, ahigh и alowest.
Затем на этапе 1105 значение для умножения, определенное в блоке 1104, умножается на средний порог для получения переменного порога, который затем используется в операции сравнения в блоке 1106. Для операции сравнения может еще раз использоваться представление во временной области, введенное в блок 1101, или могут использоваться уже определенные пики в каждом подблоке, как изложено в общих чертах в блоке 1102.
Далее в общих чертах изложены дополнительные варианты осуществления относительно оценки и обнаружения пика в функции взаимной корреляции во временной области.
Оценка и обнаружение пика в функции взаимной корреляции во временной области, последующие из способа обобщенной взаимной корреляции (GCC-PHAT), для оценки разности во времени между каналами (ITD) не всегда являются очевидными вследствие различных входных сценариев. Чистый речевой ввод может привести к функции взаимной корреляции с малым отклонением с сильным пиком, в то время как речь в шумной реверберирующей окружающей среде может произвести вектор с высоким отклонением и пики с малыми, но все еще заметными величинами, указывающими существование ITD. Описан алгоритм обнаружения пиков, который является адаптивным и гибким, чтобы удовлетворять различным входным сценариям.
Вследствие ограничений задержки вся система может управлять выравниванием каналов по времени до некоторого предела, а именно, ITD_MAX. Предложенный алгоритм разработан для обнаружения, существует ли пригодная разность ITD в следующих случаях:
- Пригодная разность ITD вследствие заметного пика. Присутствует заметный пик в пределах [-ITD_MAX, ITD_MAX] функции взаимной корреляции.
- Нет корреляции. Когда нет корреляции между двумя каналами, нет какого-либо заметного пика. Должен быть определен порог, выше которого пик является достаточно сильным, чтобы его рассматривать как пригодное значение ITD. Иначе не должно сообщаться о какой-либо обработке ITD, и это значит, что разность ITD устанавливается равной нулю и выравнивание по времени не выполняется.
- Разность ITD выходит за пределы. Сильные пики функции взаимной корреляции за пределами области [-ITD_MAX, ITD_MAX] должны быть оценены, чтобы определить, существуют ли разности ITD, которые находятся за пределами способностей обработки системы. В этом случае не должно сообщаться о какой-либо обработке ITD, и, таким образом, выравнивание по времени не выполняется.
Чтобы определить, достаточно ли высока величина пика, чтобы рассматривать ее как значение разности во времени, должен быть определен подходящий порог. Для различных входных сценариев выходные данные функции взаимной корреляции варьируют в зависимости от разных параметров, например, окружающих условий (шум, реверберация и т.д.), расстановки микрофонов (AB, M/S и т.д.). Таким образом, важно адаптивно определить порог.
В предложенном алгоритме порог определяется посредством первого вычисления среднего значения грубого вычисления огибающей величины функции взаимной корреляции в области [-ITD_MAX, ITD_MAX] (фиг. 13), среднее значение затем соответствующим образом взвешивается в зависимости от оценки отношения сигнала к шуму.
Ниже дано поэтапное описание алгоритма.
Выходные данные обратного преобразования DFT методики GCC-PHAT, которые представляют взаимную корреляцию во временной области, перестраиваются из отрицательных в положительные задержки по времени (фиг. 12).
Вектор взаимной корреляции разделяется на три основных области: интересующая область, а именно, [-ITD_MAX, ITD_MAX], и область вне границ ITD_MAX, а именно, задержки по времени меньше -ITD_MAX (max_low) и больше ITD_MAX (max_high). Максимальные пики областей “вне диапазона” обнаруживаются и сохраняются для их сравнения с максимальным пиком, обнаруженным в интересующей области.
Чтобы определить, присутствует ли пригодная разность ITD, рассматривается подвекторная область [-ITD_MAX, ITD_MAX] функции взаимной корреляции. Подвектор разделяется на N подблоков (фиг. 13).
Для каждого подблока отыскиваются и сохраняются максимальная пиковая величина peak_sub и эквивалентная позиция задержки по времени index_sub.
Максимум локальных максимумов peak_max определяется и сравнивается с порогом для определения существования пригодного значения ITD.
Максимальное значение peak_max сравнивается с max_low и max_high. Если peak_max меньше любого из них обоих, тогда не сообщается об обработке itd, и выравнивание по времени не выполняется. Поскольку ITD обработка ограничивает систему, величины пиков вне диапазона не нужно оценивать.
Вычисляется среднее значение величин пиков:
Затем вычисляется порог посредством взвешивания с помощью весового коэффициента , зависящего от отношения сигнала к шуму:
В случаях, когда и , пиковая величина также сравнивается с немного более ослабленным порогом ( ), чтобы избежать отбраковки заметного пика вследствие высоких соседних пиков. Весовые коэффициенты могут составлять, например, ahigh=3, alow=2,5 и alowest=2, в то время как SNRthreshold может составлять, например, 20 дБ и связанное значение ε=0,05.
Предпочтительные диапазоны составляют от 2,5 до 5 для ahigh; от 1,5 до 4 для alow; от 1,0 до 3 для alowest; от 10 до 30 дБ для SNRthreshold; и от 0,01 до 0,5 для ε, где ahigh больше, чем alow, который больше, чем alowest.
Если peak_max > thres, эквивалентная задержка по времени возвращается как оцененная разность ITD, в ином случае обработка itd не сигнализируется (ITD=0). Дополнительные варианты осуществления описаны позже относительно фиг. 4e.
Фиг. 11f иллюстрирует предпочтительную реализацию определения пригодной выходной разности ITD (разности во времени между каналами).
Подблоки представления во временной области взвешенного и сглаженного или не сглаженного спектра взаимной корреляции поступают на этап определения в процессоре 1040. Этот этап 1120 определения определяет пригодный диапазон и непригодный диапазон в представлении во временной области, полученном из взвешенного и сглаженного или не сглаженного спектра взаимной корреляции. На этапе 1121 определяется максимальный пик в непригодном диапазоне, и на этапе 1122 определяется максимальный пик в пригодном диапазоне. В частности, по меньшей мере один максимальный пик определяется в непригодном диапазоне, и по меньшей мере один максимальный пик определяется в пригодном диапазоне. В блоке 1123 сравниваются максимальные пики пригодного диапазона и непригодного диапазона. В случае, если "пригодный пик", т.е., максимальный пик в пригодном диапазоне больше, чем “непригодный пик”, т.е., максимальный пик в непригодном диапазоне, тогда определение 1124 разности ITD фактически выполняется и обеспечиваются пригодные выходные данные разности ITD. Однако когда обнаружено, что “непригодный пик” больше, чем “пригодный пик”, или что непригодный пик имеет такой же размер, как пригодный пик, тогда пригодные выходные данные не обеспечиваются, и предпочтительно выдается сообщение об ошибке или выполняется какое-либо сопоставимое действие, чтобы сообщить это процессору.
Далее обсуждается предпочтительная реализация настоящего изобретения в блоке 1050 на фиг. 10b в целях дальнейшей обработки сигнала относительно фиг. 1-9e, т.е., в контексте стерео/многоканальной обработки/кодирования и выравнивания по времени двух каналов.
Однако, как заявлено и как проиллюстрировано на фиг. 10b, имеется много других областей, в которых также может выполняться дальнейшая обработка сигнала с использованием определенной разности во времени между каналами.
Фиг. 1 иллюстрирует устройство для кодирования многоканального сигнала, имеющего по меньшей мере два канала. Многоканальный сигнал 10 подается в модуль 100 определения параметров, с одной стороны, и в модуль 200 выравнивания сигналов, с другой стороны. Модуль 100 определения параметров определяет, с одной стороны, параметр широкополосного выравнивания и, с другой стороны, множество параметров узкополосного выравнивания из многоканального сигнала. Эти параметры выдаются через линию 12 параметров. Кроме того, как проиллюстрировано, эти параметры выдаются также через дополнительную линию 14 параметров на выходной интерфейс 500. На линии 14 параметров дополнительные параметры, такие как параметры уровня, пересылаются от модуля 100 определения параметров на выходной интерфейс 500. Модуль 200 выравнивания сигналов выполнен с возможностью выравнивания по меньшей мере двух каналов многоканального сигнала 10 с использованием параметра широкополосного выравнивания и множества параметров узкополосного выравнивания, принятых через линию 10 параметров, чтобы получить выровненные каналы 20 на выходе модуля 200 выравнивания сигналов. Эти выровненные каналы 20 пересылаются процессору 300 сигналов, который выполнен с возможностью вычисления центрального сигнала 31 и бокового сигнала 32 из выровненных каналов, принятых через линию 20. Устройство для кодирования также содержит кодер 400 сигналов для кодирования центрального сигнала из линии 31 и бокового сигнала из линии 32, чтобы получить закодированный центральный сигнал на линии 41 и закодированный боковой сигнал на линии 42. Оба этих сигнала пересылаются на выходной интерфейс 500 для формирования закодированного многоканального сигнала на выходной линии 50. Закодированный сигнал на выходной линии 50 содержит закодированный центральный сигнал из линии 41, закодированный боковой сигнал из линии 42, параметры узкополосного выравнивания и параметры широкополосного выравнивания из линии 14, и в некоторых случаях параметр уровня из линии 14, и дополнительно в некоторых случаях параметр заполнения стерео, сформированный кодером 400 сигнала и пересланный на выходной интерфейс 500 через линию 43 параметра.
Предпочтительно модуль выравнивания сигналов выполнен с возможностью выравнивать каналы из многоканального сигнала с использованием параметра широкополосного выравнивания, прежде чем модуль 100 определения параметров фактически вычислит узкополосные параметры. Таким образом, в этом варианте осуществления модуль 200 выравнивания сигналов отправляет широкополосные выровненные каналы обратно модулю 100 определения параметров через соединительную линию 15. Затем модуль 100 определения параметров определяет множество параметров узкополосного выравнивания уже относительно многоканального сигнала с выровненной широкополосной характеристикой. Однако в других вариантах осуществления параметры определяются без этой конкретной последовательности процедур.
Фиг. 4a иллюстрирует предпочтительную реализацию, в которой выполняется заданная последовательность этапов, обозначенная соединительной линией 15. На этапе 16 определяется параметр широкополосного выравнивания с использованием двух каналов, и получается параметр широкополосного выравнивания, такой как разность во времени между каналами, или параметр ITD. Затем на этапе 21 два канала выравниваются модулем 200 выравнивания сигналов, показанным на фиг. 1, с использованием параметра широкополосного выравнивания. Затем на этапе 17 определяются узкополосные параметры с использованием выровненных каналов в модуле 100 определения параметров, чтобы определить множество параметров узкополосного выравнивания, таких как множество параметров разности фаз между каналами для разных частотных полос многоканального сигнала. Затем на этапе 22 спектральные значения в каждой параметрической полосе выравниваются с использованием соответствующего параметра узкополосного выравнивания для этой заданной частотной полосы. Когда эта процедура на этапе 22 выполнена для каждой частотной полосы, для которой доступен параметр узкополосного выравнивания, затем выровненные первый и второй или левый/правый каналы доступны для последующей обработки сигналов посредством процессора 300 сигналов на фиг. 1.
Фиг. 4b иллюстрирует дополнительную реализацию многоканального кодера, показанного на фиг. 1, в которой несколько процедур выполняются в частотной области.
В частности, многоканальный кодер дополнительно содержит временно-спектральный конвертер 150 для преобразования многоканального сигнала временной области в спектральное представление по меньшей мере двух каналов в частотной области.
Кроме того, как проиллюстрировано в блоке 152, модуль определения параметров, модуль выравнивания сигналов и процессор сигналов, проиллюстрированные в блоках 100, 200 и 300 на фиг. 1, все работают в частотной области.
Кроме того, многоканальный кодер и, в частности, процессор сигналов дополнительно содержит спектрально-временной конвертер 154 для формирования представления во временной области по меньшей мере центрального сигнала.
Предпочтительно спектрально-временной конвертер дополнительно преобразовывает спектральное представление бокового сигнала, также определенного процедурами, представленными блоком 152, в представление во временной области, и тогда кодер 400 сигнала на фиг. 1 выполнен с возможностью также кодировать центральный сигнал и/или боковой сигнал как сигналы во временной области в зависимости от конкретной реализации кодера 400 сигнала на фиг. 1.
Предпочтительно временно-спектральный конвертер 150 на фиг. 4b выполнен с возможностью реализовывать этапы 155, 156 и 157 на фиг. 4c. В частности, этап 155 содержит обеспечение окну анализа по меньшей мере одного участка заполнения нулями на одном его конце и, в частности, участка заполнения нулями в начальной части окна и участка заполнения нулями в конечной части окна, как проиллюстрировано, например, на фиг. 7 ниже. Кроме того, окно анализа дополнительно имеет диапазоны наложения или участки наложения в первой половине окна, во второй половине окна, и дополнительно предпочтительно в средней части, являющиеся не накладывающимися диапазонами в зависимости от обстоятельств.
На этапе 156 каждый канал подвергается обработке с помощью оконной функции с использованием окна анализа с диапазонами наложения. В частности, каждый канал подвергается обработке с помощью оконной функции с использованием окна анализа таким образом, что получается первый блок канала. Далее получается второй блок этого же канала, который имеет некоторый диапазон наложения с первым блоком, и так далее, в результате чего после, например, пяти операций оконной обработки доступны пять блоков отсчетов, обработанных с помощью оконной функции, каждого канала, которые затем индивидуально преобразовываются в спектральное представление, как проиллюстрировано на этапе 157 на фиг. 4c. Такая же процедура выполняется для другого канала, чтобы также в конце этапа 157 была доступна последовательность блоков спектральных значений и, в частности, комплексных спектральных значений, таких как спектральные значения DFT или комплексные отсчеты частотной подполосы.
На этапе 158, который выполняется модулем 100 определения параметров на фиг. 1, определяется параметр широкополосного выравнивания, и на этапе 159, который выполняется модулем 200 выравнивания сигналов на фиг. 1, выполняется циклический сдвиг с использованием параметра широкополосного выравнивания. На этапе 160, снова выполняемым модулем 100 определения параметров на фиг. 1, определяются параметры узкополосного выравнивания для индивидуальных частотных полос/подполос, и на этапе 161 выровненные спектральные значения вращаются для каждой частотной полосы с использованием соответствующих параметров узкополосного выравнивания, определенных для заданных частотных полос.
Фиг. 4d иллюстрирует дополнительные процедуры, выполняемые процессором 300 сигналов. В частности, процессор 300 сигналов выполнен с возможностью вычислять центральный сигнал и боковой сигнал, как проиллюстрировано на этапе 301. На этапе 302 может быть выполнена некоторая дополнительная обработка бокового сигнала, и затем на этапе 303 каждый блок центрального сигнала и бокового сигнала преобразовывается обратно во временную область, и, на этапе 304, окно синтеза применяется к каждому блоку, полученному на этапе 303, и на этапе 305 выполняется операция наложения со сложением для центрального сигнала, с одной стороны, и операция наложения со сложением для бокового сигнала, с другой стороны, чтобы в итоге получить центральный/боковой сигналы во временной области.
В частности, операции этапов 304 и 305 в результате дают своего рода плавный переход из одного блока центрального сигнала или бокового сигнала в следующий блок центрального сигнала и бокового сигнала, выполненный таким образом, что даже когда происходят какие-либо изменения параметров, например, параметра разности во времени между каналами или параметра разности фаз между каналами, тем не менее это будет не слышно в центральном/боковом сигналах во временной области, полученных посредством этапа 305 на фиг. 4d.
Новое стереофоническое кодирование с малой задержкой представляет собой совместное стереофоническое кодирование Центральный/Боковой (M/S), использующее некоторые пространственные признаки, причем Центральный канал кодируется первичным монофоническим базовым кодером, и Боковой канал кодируется во вторичном базовом кодере. Принципы кодера и декодера изображены на фиг. 6a, 6b.
Стереофоническая обработка выполняется главным образом в частотной области (FD). При необходимости некоторая стереофоническая обработка может быть выполнена во временной области (TD) перед частотным анализом. Это имеет место для вычисления разности ITD, которая может быть вычислена и применена перед частотным анализом для выравнивания каналов по времени перед тем, как перейти к стереофоническому анализу и обработке. В качестве альтернативы обработка ITD может быть выполнена непосредственно в частотной области. Поскольку обычные речевые кодеры, например, ACELP, не содержат внутренней частотно-временной декомпозиции, стереофоническое кодирование добавляет дополнительный комплексный модулированный набор фильтров посредством набора анализирующих и синтезирующих фильтров перед базовым кодером и другого набора анализирующих/синтезирующих фильтров на стадии после базового декодера. В предпочтительном варианте осуществления используется DFT с супердискретизацией с малой областью наложения. Однако в других вариантах осуществления может использоваться любая комплекснозначная частотно-временная декомпозиция со сходным временным разрешением.
Стереофоническая обработка состоит из вычисления пространственных признаков: разности во времени между каналами (ITD), разностей фаз между каналами (IPD) и разностей уровней между каналами (ILD). Разность ITD и разности IPD используются на входном стереосигнале для выравнивания двух каналов L и R по времени и по фазе. Разность ITD вычисляется в широкополосной сети или во временной области, в то время как разности IPD и ILD вычисляются для каждой или части параметрических полос, соответствующих неоднородной декомпозиции частотного пространства. Когда два канала выровнены, применяется совместное M/S стерео, причем боковой сигнал предсказывается на основе центрального сигнала. Коэффициент усиления предсказания получается из разностей ILD.
Центральный сигнал затем кодируется первичным базовым кодером. В предпочтительном варианте осуществления первичный базовый кодер имеет стандарт 3GPP EVS или выполняет кодирование, полученное из него, которое может переключаться между режимом кодирования речи, ACELP и режимом музыки на основе преобразования MDCT. Предпочтительно ACELP и кодер на основе MDCT поддерживаются модулями расширения частотной полосы во временной области (TD-BWE, Time Domain BandWidth Extension) или интеллектуального заполнения промежутков (IGF Intelligent Gap Filling), соответственно.
Боковой сигнал сначала предсказывается посредством центрального канала с использованием коэффициентов усиления предсказания, полученных из разностей ILD. Разность может быть также предсказана посредством задержанной версии центрального сигнала или непосредственно закодирована вторичным базовым кодером, выполняемыми в предпочтительном варианте осуществления в области преобразования MDCT. Стереофоническая обработка в кодере может быть получена в итоге посредством фиг. 5, как будет разъяснено ниже.
Фиг. 2 иллюстрирует блок-схему варианта осуществления устройства для декодирования закодированного многоканального сигнала, принятого на входной линии 50.
В частности, сигнал принят входным интерфейсом 600. Соединенный с входным интерфейсом 600 декодер сигнала 700 и модуль 900 устранения выравнивания сигналов. Кроме того, процессор 800 сигналов соединен с декодером 700 сигнала, с одной стороны, и соединен с модулем устранения выравнивания сигналов, с другой стороны.
В частности, закодированный многоканальный сигнал содержит закодированный центральный сигнал, закодированный боковой сигнал, информацию о параметре широкополосного выравнивания и информацию о множестве узкополосных параметров. Таким образом, закодированный многоканальный сигнал на линии 50 может быть точно таким же сигналом как выдаваемый выходным интерфейсом 500 на фиг. 1.
Однако здесь важно отметить, что в отличие от иллюстрации на фиг. 1 параметр широкополосного выравнивания и множество параметров узкополосного выравнивания, включенные в закодированный сигнал в некоторой форме, могут являться точно такими же параметрами выравнивания, какие используются модулем 200 выравнивания сигналов на фиг. 1, но в качестве альтернативы также могут являться их обратными значениями, т.е., параметрами, которые могут использоваться посредством точно таких же операций, какие выполняются модулем 200 выравнивания сигналов, но с обратными значениями, и, таким образом, получается устранение выравнивания.
Таким образом информация о параметрах выравнивания может представлять собой параметры выравнивания, которые используется модулем 200 выравнивания сигналов на фиг. 1, или может представлять собой обратные значения, т.е., фактические “параметры устранения выравнивания”. Кроме того, эти параметры будут обычно квантованы в некоторой форме, как будет обсуждаться ниже относительно фиг. 8.
Входной интерфейс 600 на фиг. 2 разделяет информацию о параметре широкополосного выравнивания и множестве параметров узкополосного выравнивания из закодированных центрального/бокового сигналов и пересылает эту информацию через линию 610 параметров модулю 900 устранения выравнивания сигналов. С другой стороны, закодированный центральный сигнал пересылается декодеру 700 сигнала через линию 601 сигнала, и закодированный боковой сигнал пересылается декодеру 700 сигнала через линию 602 сигнала.
Декодер сигнала выполнен с возможностью декодирования закодированного центрального сигнала и для декодирования закодированного бокового сигнала для получения декодированного центрального сигнала на линии 701 и декодированного бокового сигнала на линии 702. Эти сигналы используются процессором 800 сигналов для вычисления декодированного сигнала первого канала или декодированного сигнала левого канала и для вычисления декодированного сигнала второго канала или декодированного сигнала правого канала из декодированного центрального сигнала и декодированного бокового сигнала, и декодированный первый канал и декодированный второй канал выдаются на линиях 801, 802, соответственно. Модуль 900 устранения выравнивания сигналов выполнен с возможностью устранения выравнивания декодированного первого канала на линии 801 и декодированного правого канала 802 с использованием информации о параметре широкополосного выравнивания и дополнительно с использованием информации о множестве параметров узкополосного выравнивания для получения декодированного многоканального сигнала, т.е., декодированного сигнала, имеющего по меньшей мере два декодированных и подвергнутых устранению выравнивания канала на линиях 901 и 902.
Фиг. 9a иллюстрирует предпочтительную последовательность этапов, выполняемых модулем 900 устранения выравнивания сигналов, показанным на фиг. 2. В частности, этап 910 принимает выровненные левый и правый каналы, доступные на линиях 801, 802 на фиг. 2. На этапе 910 модуль 900 устранения выравнивания сигналов устраняет выравнивание индивидуальных частотных подполос с использованием информации о параметрах узкополосного выравнивания для получения подвергнутых устранению выравнивания по фазе, декодированных первого и второго или левого и правого каналов в 911a и 911b. На этапе 912 каналы подвергаются устранению выравнивания с использованием параметра широкополосного выравнивания для получения в 913a и 913b каналов с устранением выравнивания по времени и по фазе.
На этапе 914 выполняется дополнительная обработка, которая содержит использование оконной обработки, или какой-либо операции наложения со сложением, или в целом какой-либо операции плавного перехода для получения в 915a или 915b декодированного сигнала с уменьшенными артефактами или без артефактов, т.е., декодированных каналов, которые не имеют артефактов, хотя обычно имеют переменные во времени параметры устранения выравнивания для широкой полосы, с одной стороны, и для множества узких полос, с другой стороны.
Фиг. 9b иллюстрирует предпочтительную реализацию многоканального декодера, проиллюстрированного на фиг. 2.
В частности, процессор 800 сигналов на фиг. 2 содержит временно-спектральный конвертер 810.
Процессор сигналов, кроме того, содержит конвертер 820 "из центрального/бокового в левый/правый" для вычисления на основе центрального сигнала M и бокового сигнала S сигнала L левого канала и сигнала R правого канала.
Однако важно отметить, что для вычисления каналов L и R посредством преобразования центральный/боковой-левый/правый в блоке 820 не должен обязательно использоваться боковой сигнал S. Вместо этого, как обсуждается позже, левый/правый сигналы первоначально вычисляются только с использованием параметра коэффициента усиления, полученного из параметра разности уровней между каналами ILD. Обычно коэффициент усиления предсказания также может рассматриваться как форма ILD. Коэффициент усиления может быть получен из разности ILD, но также может быть непосредственно вычислен. Предпочтительно больше не вычислять ILD, а вычислять коэффициент усиления предсказания непосредственно, и передавать и использовать в декодере коэффициент усиления предсказания, а не параметр ILD.
Таким образом, в этой реализации боковой сигнал S используется только в модуле 830 обновления каналов, который обеспечивает более хороший правый/левый сигнал с использованием переданного бокового сигнала S, как проиллюстрировано обходной линией 821.
Таким образом, конвертер 820 управляет использованием параметра уровня, полученного через ввод 822 параметра уровня, и фактически без использования бокового сигнала S, но модуль 830 обновления каналов затем работает использованием бокового сигнала 821, и в зависимости от конкретной реализации с использованием параметра заполнения стерео, принятого через линию 831. Модуль 900 выравнивания сигналов также содержит модуль 910 устранения выравнивания и масштабирования энергии. Масштабированием энергии управляет коэффициент масштабирования, полученный калькулятором 940 коэффициента масштабирования. В калькулятор 940 коэффициента масштабирования подаются выходные данные модуля 830 обновления каналов. На основе параметров узкополосного выравнивания, принятых через ввод 911, выполняется устранение выравнивания по фазе, и в блоке 920 на основе параметра широкополосного выравнивания, принятого через линию 921, выполняется устранение выравнивания по времени. Наконец, спектрально-временное преобразование 930 выполняется для получения декодированного сигнала.
Фиг. 9c иллюстрирует дополнительную последовательность этапов, обычно выполняемых в блоках 920 и 930 на фиг. 9b, в предпочтительном варианте осуществления.
В частности, узкополосные каналы с устранением выравнивания вводятся в модуль устранения широкополосного выравнивания, соответствующий блоку 920 на фиг. 9b. Преобразование DFT или какое-либо другое преобразование выполняется в блоке 931. После фактического вычисления отсчетов во временной области выполняется факультативная оконная обработка синтеза с использованием окна синтеза. Окно синтеза предпочтительно является точно таким же, как окно анализа, или получается из окна анализа, например, посредством интерполяции или децимации, но некоторым образом зависит от окна анализа. Эта зависимость предпочтительно такова, что коэффициенты умножения, определенные двумя накладывающимися окнами, составляют в целом 1 для каждой точки в диапазоне наложения. Таким образом, после окна синтеза в блоке 932 выполняется операция наложения и последующая операция сложения. В качестве альтернативы, вместо оконной обработки синтеза и операции наложения со сложением выполняется любой плавный переход между последующими блоками для каждого канала для получения декодированного сигнала с уменьшенными артефактами, как уже обсуждалось в контексте фиг. 9a.
При рассмотрении фиг. 6b становится ясно, что фактические операции декодирования для центрального сигнала, т.е. “декодер EVS”, с одной стороны, и для бокового сигнала, обратное векторное квантование VQ-1 и операция обратного преобразования MDCT (IMDCT) соответствуют декодеру 700 сигнала на фиг. 2.
Кроме того, операции DFT в блоках 810 соответствуют элементу 810 на фиг. 9b, функциональность обратной стереофонической обработки и обратного временного сдвига соответствуют блокам 800, 900 на фиг. 2 и обратные операции DFT 930 на фиг. 6b соответствуют соответствующей операции в блоке 930 на фиг. 9b.
Далее более подробно обсуждается фиг. 3. В частности, фиг. 3 иллюстрирует спектр DFT, имеющий индивидуальные спектральные линии. Предпочтительно спектр DFT или какой-либо другой спектр, проиллюстрированный на фиг. 3, является комплексным спектром, и каждая линия является комплексной спектральной линией, имеющей магнитуду и фазу или имеющей действительную часть и мнимую часть.
Кроме того, спектр также разделен на разные параметрические полосы. Каждая параметрическая полоса имеет по меньшей мере одну и предпочтительно более одной спектральной линии. Кроме того, частоты параметрических полос увеличиваются от низких до высоких. Обычно параметр широкополосного выравнивания является единственным параметром широкополосного выравнивания для всего спектра, т.е., для спектра, содержащего все частотные полосы 1-6, в иллюстративном варианте осуществления на фиг. 3.
Кроме того, множество параметров узкополосного выравнивания обеспечены таким образом, что имеется единственный параметр выравнивания для каждой параметрической полосы. Это означает, что параметр выравнивания для частотной полосы всегда относится ко всем спектральным значениям в соответствующей частотной полосе.
Кроме того, в дополнение к параметрам узкополосного выравнивания, также обеспечены параметры уровня для каждой параметрической полосы.
В отличие от параметров уровня, которые обеспечены для каждой параметрической полосы от частотной полосы 1 до частотной полосы 6, предпочтительно обеспечить множество параметров узкополосного выравнивания только для ограниченного количества низкочастотных полос, таких как частотные полосы 1, 2, 3 и 4.
Кроме того, параметры заполнения стерео обеспечены для определенного количества частотных полос за исключением низкочастотных полос, например, в иллюстративном варианте осуществления для частотных полос 4, 5 и 6, в то время как существуют спектральные значения бокового сигнала для нижних параметрических полос 1, 2 и 3 и, следовательно, никакие параметры заполнения стерео не существуют для этих нижних частотных полос, причем соответствующая форма волны получается с использованием либо самого бокового сигнала, либо разностного сигнала предсказания, представляющего боковой сигнал.
Как уже заявлено, существует больше спектральных линий в более высокочастотных полосах, например, в варианте осуществления на фиг. 3, семь спектральных линий в параметрической полосе 6 по сравнению лишь с тремя спектральными линиями в параметрической полосе 2. Естественно, однако, что количество параметрических полос, количество спектральных линий и количество спектральных линий в параметрической полосе, а также различные пределы для некоторых параметров будут отличаться.
Тем не менее фиг. 8 иллюстрирует распределение параметров и количество частотных полос, для которых обеспечены параметры, в некотором варианте осуществления, в котором в отличие от фиг. 3 фактически имеется 12 частотных полос.
Как проиллюстрировано, параметр уровня ILD обеспечен для каждой из 12 частотных полос и квантован с точностью квантования, представленной как пять битов на частотную полосу.
Кроме того, параметры узкополосного выравнивания IPD обеспечены только для низкочастотных полос до граничной частоты 2,5 кГц. Кроме того, параметр разности во времени между каналами или широкополосного выравнивания обеспечен только как единый параметр для всего спектра, но с очень высокой точностью квантования, представленной как восемь битов для всей частотной полосы.
Кроме того, обеспечены довольно грубо квантованные параметры заполнения стерео, представленные тремя битами на частотную полосу, но не для низкочастотных полос ниже 1 кГц, поскольку для низкочастотных полос фактически включен закодированный боковой сигнал или разностные спектральные значения бокового сигнала.
Далее предпочтительная обработка на стороне кодера описана в общих чертах относительно фиг. 5. На первом шаге выполняется анализ DFT левого и правого каналов. Эта процедура соответствует этапам 155-157 на фиг. 4c. На этапе 158 вычисляется параметр широкополосного выравнивания и, в частности, предпочтительная разность во времени между каналами (ITD) параметра широкополосного выравнивания. Как про иллюстрировано на этапе 170, выполняется временной сдвиг каналов L и R в частотной области. В качестве альтернативы этот временной сдвиг также может быть выполнен во временной области. Тогда выполняется обратное преобразование DFT, выполняется временной сдвиг во временной области, и выполняется дополнительное прямое преобразование DFT, чтобы опять получить спектральные представления после выравнивания с использованием параметра широкополосного выравнивания.
Параметры ILD, т.е., параметры уровня, и параметры фазы (параметры IPD) вычисляются для каждой параметрической полосы на сдвинутых представлениях каналов L и R, как проиллюстрировано на этапе 171. Этот этап соответствует этапу 160 на фиг. 4c, например. Сдвинутые по времени представления каналов L и R подвергаются вращению как функция параметров разности фаз между каналами, как проиллюстрировано на этапе 161 на фиг. 4c или фиг. 5. Далее вычисляются центральный/боковой сигналы, как проиллюстрировано на этапе 301 и предпочтительно дополнительно с операцией сохранения энергии, как обсуждается далее. На последующем этапе 174 выполняется предсказание S с помощью M как функция ILD и при необходимости с помощью прошлого сигнала M, т.е., центрального сигнала более раннего кадра. Далее выполняется обратное преобразование DFT центрального сигнала и бокового сигнала, которое соответствует этапам 303, 304, 305 на фиг. 4d в предпочтительном варианте осуществления.
На финальном этапе 175, центральный сигнал m во временной области и в некоторых случаях разностный сигнал кодируются, как проиллюстрировано на этапе 175. Эта процедура соответствует тому, что выполняет кодер 400 сигнала на фиг. 1.
В декодере в обратной стереофонической обработке боковой сигнал формируется в области DFT и сначала предсказывается из центрального сигнала как:
где g - коэффициент усиления, вычисленный для каждой параметрической полосы, и является функцией переданной разности уровней между каналами (ILD).
Разность предсказания тогда может быть уточнена двумя различными способами:
- Посредством вторичного кодирования разностного сигнала:
где - глобальный коэффициент усиления, переданный для всего спектра
- Посредством разностного предсказания, известного как заполнение стерео, предсказывающего разностный боковой спектр с помощью спектра ранее декодированного Центрального сигнала из предыдущего кадра DFT:
где - коэффициент усиления предсказания, переданный для каждой параметрической полосы.
Два типа уточнения кодирования могут быть смешаны в одном и том же спектре DFT. В предпочтительном варианте осуществления разностное кодирование применяется к более низким параметрическим полосам, в то время как разностное предсказание применяется к остальным частотным полосам. Разностное кодирование присутствует в предпочтительном варианте осуществления, как изображено на фиг.1, и выполняется в области преобразования MDCT после синтезирования разностного бокового сигнала во временной области и преобразования посредством MDCT. В отличие от преобразования DFT, преобразование MDCT критически дискретизировано и больше подходит для аудиокодирования. Коэффициенты преобразования MDCT непосредственно квантуются как вектор с помощью квантования с векторной решеткой, но в качестве альтернативы могут быть закодированы блоком скалярного квантования после статистического кодирования. В качестве альтернативы разностный боковой сигнал также может быть закодирован во временной области с помощью методики кодирования речи или непосредственно в области DFT.
1. Частотно-временной анализ: DFT
Важно, чтобы дополнительная частотно-временная декомпозиция из стереофонической обработки, выполняемая посредством преобразований DFT, давала возможность хорошего анализа аудиосцены без значительного увеличения общей задержки системы кодирования. По умолчанию используется временное разрешение 10 мс (в два раза меньше кадра базового кодера, 20 мс). Окна анализа и синтеза являются одинаковыми и симметричными. Окно представлено на уровне 16 кГц частоты дискретизации на фиг. 7. Можно заметить, что область наложения ограничена для уменьшения порождаемой задержки, и что заполнение нулями также добавлено, чтобы уравновесить циклический сдвиг при применении разности ITD в частотной области, как будет разъяснено далее.
2. Параметры стерео
Параметры стерео могут передаваться с наибольшим разрешением по времени стереофонического преобразования DFT. Его можно сократить до наименьшего разрешения, равного разрешению кадров базового кодера, т.е. 20 мс. По умолчанию, когда не обнаружены транзиенты, параметры вычисляются каждые 20 мс на двух окнах DFT. Параметрические полосы составляют неоднородную и не накладывающуюся декомпозицию спектра приблизительно после двукратной или четырехкратной эквивалентной прямоугольной полосы пропускания (ERB, Equivalent Rectangular Bandwidth). По умолчанию используется четырехкратная шкала ERB в общей сложности для 12 частотных полос для ширины частотной полосы 16 кГц (частота дискретизации 32 Кбит/с, сверхширокополосное стерео). Фиг. 8 обобщенно представляет пример конфигурации, для которой вспомогательная информация стерео передается со скоростью приблизительно 5 Кбит/с.
3. Вычисление ITD и временное выравнивание каналов
ITD вычисляется посредством оценки временной задержки прихода (Time Delay of Arrival, TDOA) с использованием обобщенной взаимной корреляции с фазовым преобразованием (Generalized Cross Correlation with Phase Transform, GCC-PHAT):
где L и R - частотные спектры левого и правого каналов соответственно. Частотный анализ может быть выполнен независимо от DFT, используемого для последующей обработки стереосигнала или может выполняться совместно. Далее приведен псевдокод для вычисления ITD.
L=fft(window(l));
R=fft(window(r));
tmp=L.* conj( R );
sfm_L=prod(abs(L).^(1/length(L)))/(mean(abs(L))+eps);
sfm_R=prod(abs(R).^(1/length(R)))/(mean(abs(R))+eps);
sfm=max(sfm_L, sfm_R);
h.cross_corr_smooth = (1-sfm)*h.cross_corr_smooth+sfm*tmp;
tmp=h.cross_corr_smooth./ abs( h.cross_corr_smooth+eps );
tmp=ifft( tmp );
tmp=tmp([length(tmp)/2+1:length(tmp) 1:length(tmp)/2+1]);
tmp_sort=sort( abs(tmp) );
thresh=3 * tmp_sort( round(0.95*length(tmp_sort)) );
xcorr_time=abs(tmp(-(h.stereo_itd_q_max - (length(tmp)-1)/2-1 ): - ( h.stereo_itd_q_min - (length(tmp)-1)/2-1 )));
%мягкий вывод для более хорошего обнаружения
xcorr_time=[xcorr_time 0];
xcorr_time2=filter([0.25 0.5 0.25],1,xcorr_time);
[m, i] = max(xcorr_time2(2:end));
if m > thresh
itd=h.stereo_itd_q_max - i+1;
else
itd=0;
end
Фиг. 4e иллюстрирует блок-схему последовательности этапов для реализации ранее проиллюстрированного псевдокода для получения надежного и эффективного вычисления разности во времени между каналами в качестве примера для параметра широкополосного выравнивания.
На этапе 451 выполняется анализ DFT сигналов временной области для первого канала (l) и второго канала (r). Этот анализ DFT обычно будет представлять собой такой же DFT, который обсуждался, например, в контексте этапов 155-157 на фиг. 5 или фиг. 4c.
Затем выполняется взаимная корреляция для каждого элемента разрешения по частоте, как проиллюстрировано на этапе 452.
Таким образом, получается спектр взаимной корреляции для всего спектрального диапазона левого и правого каналов.
На этапе 453 затем вычисляется мера спектральной сглаженности на основе спектров величины каналов L и R, и на этапе 454 выбирается большая мера спектральной сглаженности. Однако выбор на этапе 454 не обязательно должен быть выбором большего, но это определение единственного SFM от обоих каналов также может являться выбором и вычислением только левого канала или только правого канала или может являться вычислением средневзвешенного обоих значений SFM.
На этапе 455 спектр взаимной корреляции сглаживается по времени в зависимости от меры спектральной сглаженности.
Предпочтительно, мера спектральной сглаженности вычисляется посредством деления среднего геометрического спектра величин на среднее арифметическое спектра величин. Таким образом, значения для SFM находятся между 0 и 1.
На этапе 456 сглаженный спектр взаимной корреляции нормализуется по своей величине, и на этапе 457 вычисляется обратное преобразование DFT нормализованного и сглаженного спектра взаимной корреляции. На этапе 458 предпочтительно выполняется некоторый фильтр во временной области, но эта фильтрация во временной области также может не приниматься во внимание в зависимости от реализации, но предпочтительна, как будет изложено в общих чертах позже.
На этапе 459 выполняется оценка ITD посредством отбора пиковых значений функции обобщенной взаимной корреляции фильтра и посредством выполнения некоторой операции сравнения с порогом.
Если не получено пиков выше порога, то разность ITD устанавливается равной нулю, и выравнивание времени для этого соответствующего блока не выполняется.
Вычисление ITD также может быть получено в итоге следующим образом. Взаимная корреляция вычисляется в частотной области перед сглаживанием в зависимости от меры спектральной сглаженности (SFM, Spectral Flatness Measurement). Мера SFM ограничена между 0 и 1. В случае подобных шуму сигналов SFM будет высокой (т.е. приблизительно равной 1), и сглаживание будет слабым. В случае подобного тональному сигнала SFM будет низкой, и сглаживание станет более сильным. Сглаженная взаимная корреляция затем нормализуется посредством ее амплитуды перед преобразованием обратно во временную область. Нормализация соответствует преобразованию фазы взаимной корреляции и, как известно, показывает более хорошие рабочие характеристики, чем обычная взаимная корреляция в окружающих условиях с низким шумом и относительно высокой реверберацией. Полученная таким образом функция во временной области сначала фильтруется для достижения более надежного отбора пикового значения. Индекс, соответствующий максимальной амплитуде, соответствует оценке разности во времени между левым и правым каналом (ITD). Если амплитуда максимума ниже заданного порога, то оценочная разность ITD не рассматривается как надежная и устанавливается равной нулю.
Если выравнивание по времени применяется во временной области, разность ITD вычисляется в отдельном анализе DFT. Сдвиг выполняется следующим образом:
Это требует дополнительной задержки в кодере, наибольшее значение которой равно максимальной абсолютной разности ITD, которая может быть обработана. Вариация разности ITD по временем сглаживается посредством обработки с помощью окна анализа DFT.
В качестве альтернативы выравнивание по времени может быть выполнено в частотной области. В этом случае вычисление разности ITD и циклический сдвиг находятся в одной и той же области DFT, область совместно используется посредством этой другой стереофонической обработки. Циклическим сдвиг задан как:
Заполнение нулями окон DFT необходимо для моделирования временного сдвига с помощью циклического сдвига. Размер заполнения нулями соответствует максимальной абсолютной разности ITD, которая может быть обработана. В предпочтительном варианте осуществления заполнение нулями однородно разбито на обеих сторонах окон анализа посредством добавления 3,125 мс нулей на обоих концах. Тогда максимальная абсолютная возможная разность ITD равна 6,25 мс. В расстановке микрофонов A-B это соответствует для наихудшего случая максимальному расстоянию приблизительно 2,15 метров между этими двумя микрофонами. Вариация разности ITD во времени сглаживается обработкой с помощью окна синтеза и наложением со сложением DFT.
Важно, чтобы за временным сдвигом следовала оконная обработка сдвинутого сигнала. Это основное различие с кодированием бинауральных ключевых признаков (BCC, Binaural Cue Coding) предшествующего уровня техники, в котором временной сдвиг применяется к обработанному с помощью оконной функции сигналу, но не обрабатывается с помощью оконной функции далее на стадии синтеза. Как следствие, любое изменение разности ITD по времени производит искусственный транзиент/щелчок в декодированном сигнале.
4. Вычисление разностей IPD и вращение каналов
Разности IPD вычисляются после выравнивания по времени двух каналов для каждой параметрической полосы или по меньшей мере до заданного в зависимости от стереофонической конфигурации.
Затем разности IPD применяются к двум каналам для выравнивания их фаз:
Где , и b - индекс параметрической полосы, которому принадлежит индекс частоты k. Параметр ответственен за распределение величины поворота фазы между двумя каналами при выполнении выравнивания их фаз. зависит от IPD, но также и от относительного уровня амплитуды каналов, ILD. Если канал будет иметь более высокую амплитуду, он будет рассматриваться как ведущий канал и будет меньше затронут вращением фазы, чем канал с более низкой амплитудой.
5. Кодирование суммы и разности и бокового сигнала
Преобразование суммы и разности выполняется над выровненными по времени и фазе спектрами двух каналов таким образом, что в центральном сигнале энергия сохраняется.
где ограничено между 1/1,2 и 1,2, т.е. -1.58 и +1,58 дБ. Ограничение предотвращает артефакт при регулировке энергии M и S. Стоит отметить, что сохранение энергии является менее важным, когда время и фаза были заранее выровнены. В качестве альтернативы границы могут быть увеличены или уменьшены.
Боковой сигнал S затем предсказывается с помощью M:
где , где . В качестве альтернативы оптимальный коэффициент усиления предсказания g может быть найден посредством минимизации среднеквадратической ошибки (MSE) остатка и разностей ILD, выведенных с помощью предыдущего уравнения.
Разностный сигнал может быть смоделирован двумя способами: либо посредством предсказания его с помощью спектра с задержкой M, либо посредством его кодирования непосредственно в области преобразования MDCT.
6. Стереофоническое декодирование
Центральный сигнал X и Боковой сигнал S сначала преобразовываются в левый L и правый R каналы следующим образом:
где коэффициент усиления g для каждой параметрической полосы получается из параметра ILD:
, где
Для параметрических полос ниже cod_max_band два канала обновляются с помощью декодированного бокового сигнала:
Для более высоких параметрических полос боковой сигнал предсказывается, и каналы обновляются как:
Наконец, каналы умножаются на комплексное значение с целью восстановить первоначальную энергию и фазу между каналами стереосигнала:
где
где a определено и ограничено, как определено ранее, и где , и где atan2(x, y) - четырехквадрантный арктангенс от x, y.
Наконец, каналы сдвигаются по времени либо во временной, либо в частотной области в зависимости от переданных разностей ITD. Каналы во временной области синтезируются посредством обратных преобразований DFT и наложения со сложением.
Конкретные признаки изобретения относятся к комбинации пространственных признаков и объединенного стереофонического кодирования суммы и разности. В частности, пространственные признаки ITD и IPD вычисляются и применяются к (левому и правому) стереоканалам. Кроме того, вычисляются сумма и разность (сигналы M/S), и предпочтительно применяется предсказание S с помощью M.
На стороне декодера широкополосный и узкополосные пространственные признаки объединяются вместе объединенным стереофоническим кодированием суммы и разности. В частности, боковой сигнал предсказывается с помощью центрального сигнала с использованием по меньшей мере одного пространственного признака, такого как ILD, и обратная сумма и разность вычисляется для получения левого и правого каналов, и дополнительно широкополосный и узкополосные пространственные признаки применяются к левому и правому каналам.
Предпочтительно кодер имеет оконную обработку и наложение со сложением относительно выровненных по времени каналов после обработки с использованием ITD. Кроме того, декодер дополнительно имеет оконную обработку и операцию наложения со сложением сдвинутых или подвергнутых устранению выравнивания версий каналов после применения разности во времени между каналами.
Вычисление разности во времени между каналами с помощью способа GCC-PHAT является особенно надежным способом.
Новая процедура имеет преимущество над предшествующим уровнем техники, поскольку достигает кодирования битовой скорости стереофонического или многоканального аудио с малой задержкой. Это специально предназначено для надежности для различных по природе входных сигналов и различных настроек многоканальной или стереофонической записи. В частности, настоящее изобретение обеспечивает хорошее качество для стереофонического кодирования речи с низкой битовой скоростью.
Предпочтительные процедуры находят использование в распределении широковещательной передачи всех типов стереофонического или многоканального звукового контента, такого как речь и музыка, с постоянным качеством восприятия на низкой битовой скорости. Такими областями применения являются цифровое радио, приложения потоковой передачи или аудиосвязи через Интернет.
Хотя это изобретение было описано в отношении нескольких вариантов осуществления, существуют изменения, перестановки и эквиваленты, которые находятся в пределах объема этого изобретения. Также следует отметить, что существует много альтернативных методов реализации способов и композиций настоящего изобретения. Таким образом, подразумевается, что последующая приложенная формула изобретения должна интерпретироваться как включающая в себя все такие изменения, перестановки и эквиваленты, находящиеся в пределах истинной сущности и объема настоящего изобретения.
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где модуль или устройство соответствуют этапу способа или признаку этапа способа. Аналогичным образом аспекты, описанные в контексте этапа способа, также представляют описание соответствующего модуля, или элемента, или признака соответствующего устройства. Некоторые или все этапы способа могут быть исполнены (или использовать) аппаратное устройство, как, например, микропроцессор, программируемый компьютер или электронная схема. В некоторых вариантах осуществления некоторые или более из самых важных этапов способа могут быть исполнены таким устройством.
Закодированный сигнал изображения изобретения может быть сохранен на цифровом запоминающем носителе или может быть передан на носителе передачи, таком как беспроводной носитель передачи или проводной носитель передачи, например, Интернет.
В зависимости от некоторых требований реализации варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может быть выполнена с использованием цифрового запоминающего носителя, например, дискеты, цифрового универсального диска (DVD), диска Blu-Ray, компакт-диска (CD), постоянного запоминающего устройства (ПЗУ; ROM), программируемого постоянного запоминающего устройства (ППЗУ; PROM), стираемого программируемого постоянного запоминающего устройства (СППЗУ; EPROM), электрически стираемого программируемого постоянного запоминающего устройства (ЭСППЗУ; EEPROM) и флэш-памяти, имеющего сохраненные на нем считываемые электронным образом сигналы, которые взаимодействуют (или способны к взаимодействию) с программируемой компьютерной системой, в результате чего выполняется соответствующий способ. Таким образом, цифровой носитель информации может являться машиночитаемым.
Некоторые варианты осуществления в соответствии с изобретением содержат носитель данных, имеющий считываемые электронным образом управляющие сигналы, которые способны к взаимодействию с программируемой компьютерной системой, в результате чего выполняется один из описанных здесь способов.
В целом варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, программный код способен функционировать для выполнения одного из способов, когда компьютерный программный продукт выполняется на компьютере. Программный код, например, может быть сохранен на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из описанных в настоящем документе способов, сохраненную на машиночитаемом носителе.
Другими словами, вариант осуществления способа изобретения, таким образом, представляет собой компьютерную программу, имеющую программный код для выполнения одного из описанных здесь способов, когда компьютерная программа выполняется на компьютере.
Дополнительный вариант осуществления способов изобретения, таким образом, представляет собой носитель данных (или цифровой запоминающий носитель или машиночитаемый носитель), содержащий записанную на нем компьютерную программу для выполнения одного из способов, описанных в настоящем документе. Носитель данных, цифровой запоминающий носитель или носитель с записанными данными обычно являются материальными и/или непереходными.
Дополнительный вариант осуществления способа изобретения, таким образом, представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для выполнения одного из способов, описанных в настоящем документе. Поток данных или последовательность сигналов, например, могут быть выполнены с возможностью быть перенесенными через соединение передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например компьютер или программируемое логическое устройство, выполненное с возможностью или адаптированное для выполнения одного из способов, описанных в настоящем документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных в настоящем документе.
Дополнительный вариант осуществления в соответствии с изобретением содержит устройство или систему, выполненную с возможностью переносить (например, в электронном или оптическом виде) компьютерную программу для выполнения одного из способов, описанных в настоящем документе, к приемнику. Приемник, например, может являться компьютером, мобильным устройством, запоминающим устройством и т.п. Устройство или система, например, могут содержать файловый сервер для переноса компьютерной программы к приемнику.
В некоторых вариантах осуществления программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнения некоторой или всей функциональности способов, описанных в настоящем документе. В некоторых вариантах осуществления программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для выполнения одного из способов, описанных в настоящем документе. Обычно способы предпочтительно выполняются любым аппаратным устройством.
Устройство, описанное в настоящем документе, может быть реализовано с использованием аппаратного устройства, или с использованием компьютера, или с использованием комбинации аппаратного устройства и компьютера.
Способы, описанные в настоящем документе, могут быть выполнены с использованием аппаратного устройства, или с использованием компьютера, или с использованием комбинации аппаратного устройства и компьютера.
Описанные выше варианты осуществления являются лишь иллюстрацией принципов настоящего изобретения. Подразумевается, что модификации и вариации размещений и подробностей, описанных в настоящем документе, будут очевидны для других специалистов в области техники. Таким образом, подразумевается, что изобретение ограничено только объемом последующей патентной формулы изобретения, а не конкретными подробностями, представленными посредством описания и разъяснения представленных в настоящем документе вариантов осуществления.
Источники информации
[1] Patent application. "Apparatus and Method for Estimating an Inter-Channel Time Difference." International Application Number PCT/EP2017/051214.
[2] Knapp, Charles, and Glifford Carter. "The generalized correlation method for estimation of time delay." IEEE Transactions on Acoustics, Speech, and Signal Processing 24.4 (1976): 320-327.
[3] Zhang, Cha, Dinei Florêncio, and Zhengyou Zhang. "Why does PHAT work well in low-noise, reverberative environments?" Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on. IEEE, 2008.
[4] Rabinkin, Daniel V., et al. "DSP implementation of source location using microphone arrays." Advanced signal processing algorithms, architectures, and implementations VI. Vol. 2846. International Society for Optics and Photonics, 1996.
[5] Shen, Miao, and Hong Liu. "A modified cross power-spectrum phase method based on microphone array for acoustic source localization." Systems, Man and Cybernetics, 2009. SMC 2009. IEEE International Conference on. IEEE, 2009.
[6] 3GPP TS 26.445; Codec for Enhanced Voice Services (EVS); Detailed algorithmic description.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО И СПОСОБ ОЦЕНИВАНИЯ МЕЖКАНАЛЬНОЙ РАЗНИЦЫ ВО ВРЕМЕНИ | 2017 |
|
RU2711513C1 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ ПАРАМЕТРА ШИРОКОПОЛОСНОГО ВЫРАВНИВАНИЯ И МНОЖЕСТВА ПАРАМЕТРОВ УЗКОПОЛОСНОГО ВЫРАВНИВАНИЯ | 2017 |
|
RU2704733C1 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ ПОВТОРНОЙ ДИСКРЕТИЗАЦИИ СПЕКТРАЛЬНОЙ ОБЛАСТИ | 2017 |
|
RU2693648C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ СИХРОНИЗАЦИИ УПРАВЛЕНИЯ КАДРАМИ | 2017 |
|
RU2705007C1 |
СПОСОБ ДЛЯ КОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА И КОДЕР | 2017 |
|
RU2718231C1 |
ОБНАРУЖЕНИЕ ВЫСОКОГО КАЧЕСТВА В СТЕРЕОФОНИЧЕСКИХ РАДИОСИГНАЛАХ С ЧАСТОТНОЙ МОДУЛЯЦИЕЙ | 2012 |
|
RU2584009C2 |
УСТРОЙСТВО, СПОСОБ ИЛИ КОМПЬЮТЕРНАЯ ПРОГРАММА ДЛЯ ОБРАБОТКИ КОДИРОВАННОЙ АУДИОСЦЕНЫ С ИСПОЛЬЗОВАНИЕМ РАСШИРЕНИЯ ПОЛОСЫ ПРОПУСКАНИЯ | 2021 |
|
RU2820946C1 |
УСТРОЙСТВО, СПОСОБ ИЛИ КОМПЬЮТЕРНАЯ ПРОГРАММА ДЛЯ ОБРАБОТКИ КОДИРОВАННОЙ АУДИОСЦЕНЫ С ИСПОЛЬЗОВАНИЕМ СГЛАЖИВАНИЯ ПАРАМЕТРОВ | 2021 |
|
RU2818033C1 |
УСТРОЙСТВО, СПОСОБ ИЛИ КОМПЬЮТЕРНАЯ ПРОГРАММА ДЛЯ ОБРАБОТКИ КОДИРОВАННОЙ АУДИОСЦЕНЫ С ИСПОЛЬЗОВАНИЕМ ПРЕОБРАЗОВАНИЯ ПАРАМЕТРОВ | 2021 |
|
RU2822446C1 |
УСТРОЙСТВО И СПОСОБ ДЛЯ РАЗЛОЖЕНИЯ ВХОДНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ ЗАРАНЕЕ ВЫЧИСЛЕННОЙ ЭТАЛОННОЙ КРИВОЙ | 2011 |
|
RU2554552C2 |
Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в повышении точности оценки разности во времени между каналами между двумя сигналами каналов. Технический результат достигается за счет выполнения оценки характеристики сигнала первого канала, или сигнала второго канала, или обоих сигналов, или сигнала, полученного из сигнала первого канала или сигнала второго канала; вычисления спектра взаимной корреляции для временного блока из сигнала первого канала во временном блоке и сигнала второго канала во временном блоке; взвешивания сглаженного или не сглаженного спектра взаимной корреляции для получения взвешенного спектра взаимной корреляции с использованием первой процедуры взвешивания или с использованием второй процедуры взвешивания в зависимости от оцененной характеристики сигнала, причем первая процедура взвешивания отличается от второй процедуры взвешивания; и обработки взвешенного спектра взаимной корреляции для получения разности во времени между каналами. 4 н. и 28 з.п. ф-лы, 30 ил.
1. Устройство для оценки разности во времени между каналами между сигналом первого канала и сигналом второго канала, содержащее:
анализатор (1037) сигналов для оценки характеристики (1038) сигнала первого канала, или сигнала второго канала, или обоих сигналов, или сигнала, полученного из сигнала первого канала или сигнала второго канала;
калькулятор (1020) для вычисления спектра взаимной корреляции для временного блока из сигнала первого канала во временном блоке и сигнала второго канала во временном блоке;
модуль (1036) взвешивания для взвешивания сглаженного или не сглаженного спектра взаимной корреляции для получения взвешенного спектра взаимной корреляции с использованием первой процедуры (1036a) взвешивания или с использованием второй процедуры (1036b) взвешивания в зависимости от характеристики сигнала, оцененной анализатором (1037) сигналов, причем первая процедура взвешивания отличается от второй процедуры взвешивания; и
процессор (1040) для обработки взвешенного спектра взаимной корреляции для получения разности во времени между каналами.
2. Устройство по п. 1, в котором анализатор (1037) сигналов выполнен как модуль (1037) оценки шума для оценки уровня (1038) шума сигнала первого канала, или сигнала второго канала, или обоих сигналов, или сигнала, полученного из сигнала первого канала или сигнала второго канала, и в котором первая характеристика сигнала является первым уровнем шума, и вторая характеристика сигнала является вторым уровнем шума, или в котором анализатор (1037) сигналов выполнен с возможностью выполнять анализ речи/музыки, анализ оказывающего помехи говорящего, анализ музыкального фона, анализ чистой речи или любой другой анализ сигнала, чтобы определить, имеет ли сигнал первую характеристику или вторую характеристику.
3. Устройство по п. 1, в котором первая процедура (1036a) взвешивания выбирается для первой характеристики сигнала, и вторая процедура (1036b) взвешивания выбирается для второй характеристики сигнала, и в котором первая характеристика сигнала отличается от второй характеристики сигнала.
4. Устройство по п. 1, в котором первая процедура (1036a) взвешивания содержит такое взвешивание, что амплитуда нормализуется, а фаза сохраняется, или в котором вторая процедура (1036b) взвешивания содержит весовой коэффициент, полученный из сглаженного или не сглаженного спектра взаимной корреляции с использованием операции степенной функции, имеющей показатель степени меньше 1 или больше 0, или логарифмической функции.
5. Устройство по п. 1, в котором вторая процедура (1036b) взвешивания содержит такое взвешивание, что амплитуда нормализуется, а фаза сохраняется, и дополнительно содержит весовой коэффициент, полученный из сглаженного или не сглаженного спектра взаимной корреляции с использованием операции степенной функции, имеющей показатель степени меньше 1 или больше 0, или между 0,79 и 0,82.
6. Устройство по п. 1, в котором первая процедура (1036a) взвешивания работает в соответствии со следующим уравнением:
, или
в котором вторая процедура (1036b) взвешивания работает в соответствии со следующим уравнением:
,
где - значение взвешенного сглаженного или не сглаженного спектра взаимной корреляции для индекса частоты k и индекса времени s, полученное посредством применения первой процедуры взвешивания,
где - значение взвешенного сглаженного или не сглаженного спектра взаимной корреляции для индекса частоты k и индекса времени s, полученное посредством применения второй процедуры взвешивания,
где - значение сглаженного или не сглаженного спектра взаимной корреляции для индекса частоты k и индекса времени s, и
где - значение показателя степени, отличающееся от 1.
7. Устройство по п. 1, в котором вторая процедура (1036b) взвешивания содержит такую нормализацию, что выходной диапазон второй процедуры нормализации находится в диапазоне, в котором находится выходной диапазон первой процедуры нормализации, или что выходной диапазон второй процедуры нормализации такой же, как и выходной диапазон первой процедуры нормализации.
8. Устройство по п. 1, в котором вторая процедура (1036b) взвешивания содержит нормализацию на основе следующего уравнения:
,
где с левой стороны вышеприведенного уравнения представляет собой результат нормализованной взаимной корреляции для некоторого k и некоторого s, где с правой стороны вышеприведенного уравнения представляет собой результат взаимной корреляции до нормализации для некоторого k и некоторого s, и где s – индекс кадра, k – индекс частоты, а - длина преобразования DFT.
9. Устройство по п. 1, в котором процессор (1040) выполнен с возможностью выполнять первую операцию (1041) отбора пиковых значений или вторую операцию (1042) отбора пиковых значений в зависимости от того, использовалась ли первая процедура (1036a) взвешивания или вторая процедура (1036b) взвешивания, причем первая операция отбора пиковых значений отличается от второй операции отбора пиковых значений.
10. Устройство по п. 1, в котором вторая операция (1042) отбора пиковых значений используется, когда используется вторая процедура взвешивания, и в котором вторая операция (1042) отбора пиковых значений выполнена с возможностью применять второй порог, который меньше, чем первый порог, используемый первой операцией (1041) отбора пиковых значений.
11. Устройство по п. 2,
в котором модуль (1037) оценки шума выполнен с возможностью оценивать (1060) уровень фонового шума или выполнен с возможностью сглаживать (1061) оценочный уровень шума по времени или выполнен с возможностью использовать сглаживающий БИХ-фильтр.
12. Устройство по п. 2,
в котором модуль (1037) оценки шума дополнительно содержит детектор (1070) активности сигнала для классификации временного блока как активного или неактивного, причем модуль (1037) оценки шума выполнен с возможностью вычислять (1072) уровень сигнала с использованием одного или более активных временных блоков, или причем модуль (1037) оценки шума выполнен с возможностью сигнализировать (1050) о высоком уровне фонового шума, когда отношение сигнала к шуму ниже порога, причем порог находится в диапазоне от 45 дБ до 25 дБ.
13. Устройство по п. 1, дополнительно содержащее:
модуль (1010) оценки спектральный характеристики для оценки характеристики спектра сигнала первого канала или сигнала второго канала для временного блока;
сглаживающий фильтр (1030) для сглаживания спектра взаимной корреляции по времени с использованием спектральной характеристики для получения сглаженного спектра взаимной корреляции, и при этом модуль (1036) взвешивания выполнен с возможностью взвешивания сглаженного спектра взаимной корреляции.
14. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью нормализовать (1036a) сглаженный спектр взаимной корреляции c использованием величины сглаженного спектра взаимной корреляции.
15. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью
вычислять (1031) представление во временной области сглаженного спектра взаимной корреляции или нормализованного сглаженного спектра взаимной корреляции; и
анализировать (1032) представление во временной области для определения разности во времени между каналами.
16. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью выполнять (458) низкочастотную фильтрацию представления во временной области и далее обрабатывать (1033) результат низкочастотной фильтрации.
17. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью выполнять определение разности во времени между каналами посредством выполнения операции (1041, 1042) поиска пиковых значений или отбора пиковых значений в представлении во временной области, определенном из сглаженного спектра взаимной корреляции.
18. Устройство по п. 13,
в котором модуль (1010) оценки спектральной характеристики выполнен с возможностью определять в качестве спектральной характеристики шум или тональность спектра; и
в котором сглаживающий фильтр (1030) выполнен с возможностью применять более сильное сглаживание по времени с первой степенью сглаживания в случае первой менее шумной характеристики или первой более тональной характеристики, или применять более слабое сглаживание по времени со второй степенью сглаживания в случае второй больше шумной характеристики или второй менее тональной характеристики,
в котором первая степень сглаживания больше, чем вторая степень сглаживания, и в котором первая шумная характеристика содержит меньше шума, чем вторая шумная характеристика, или первая тональная характеристика является более тональной, чем вторая тональная характеристика.
19. Устройство по п. 13,
в котором модуль (1010) оценки спектральной характеристики выполнен с возможностью вычислять в качестве характеристики первую меру спектральной сглаженности спектра сигнала первого канала и вторую меру спектральной сглаженности второго спектра сигнала второго канала и определять характеристику спектра из первой и второй меры спектральной сглаженности посредством выбора максимального значения, посредством определения взвешенного среднего или не взвешенного среднего между мерами спектральной сглаженности, или посредством выбора минимального значения.
20. Устройство по п. 13,
в котором сглаживающий фильтр (1030) выполнен с возможностью вычислять сглаженное значение спектра взаимной корреляции для частоты посредством взвешенной комбинации значения спектра взаимной корреляции для частоты из временного блока и значения спектра взаимной корреляции для частоты из по меньшей мере одного прошлого временного блока, причем весовые коэффициенты для взвешенной комбинации определяются посредством характеристики спектра.
21. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью определять (1120) пригодный диапазон и непригодный диапазон в представлении во временной области, полученном из взвешенного сглаженного или не сглаженного спектра взаимной корреляции,
в котором по меньшей мере один максимальный пик в непригодном диапазоне обнаруживается (1121) и сравнивается (1123) с максимальным пиком в пригодном диапазоне, причем разность во времени между каналами определяется (1124), только когда максимальный пик в пригодном диапазоне больше, чем по меньшей мере один максимальный пик в непригодном диапазоне.
22. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью
выполнять (1102) операцию поиска пика в представлении во временной области, полученном из сглаженного спектра взаимной корреляции,
определять (1105) переменную фиксированного порога из представления во временной области; и
сравнивать (1106, 1035) пиковое значение с переменным порогом, причем разность во времени между каналами определена как задержка по времени, ассоциированная с пиковым значением, находящимся в предопределенном отношении с переменным порогом.
23. Устройство по п. 22,
в котором процессор (1040) выполнен с возможностью определять (1105) переменный порог как значение, равное целому кратному значению среди самого большого участка, такого как 10% значений представления во временной области.
24. Устройство по п. 1,
в котором процессор (1040) выполнен с возможностью определять (1102) максимальную пиковую амплитуду в каждом подблоке из множества подблоков представления во временной области, полученного из сглаженного спектра взаимной корреляции,
в котором процессор (1040) выполнен с возможностью вычислять (1105, 1034) переменный порог на основе средней пиковой магнитуды, полученной (1103) из максимальных пиковых величин множества подблоков, и
в котором процессор (1140) выполнен с возможностью определять разность во времени между каналами как значение задержки по времени, соответствующее максимальному пику из множества подблоков, который больше переменного порога.
25. Устройство по п. 24,
в котором процессор (1140) выполнен с возможностью вычислять (1105) переменный порог посредством умножения среднего порога, определенного как средний пик среди пиков в подблоках, на значение,
в котором значение определяется отношением характеристики SNR (отношения сигнала к шуму) сигнала первого и второго каналов, причем первое значение ассоциировано с первым значением SNR, и второе значение ассоциировано со вторым значением SNR, причем первое значение больше, чем второе значение, и причем первое значение SNR больше, чем второе значение SNR.
26. Устройство по п. 25,
в котором процессор выполнен с возможностью использовать (1104) третье значение (alowest), которое меньше, чем второе значение (alow) в случае, когда третье значения SNR меньше, чем второе значение SNR, и когда разность между порогом и максимальным пиком меньше, чем предопределенное значение.
27. Устройство по п. 2, в котором модуль (1037) оценки шума содержит модуль (1060) оценки фонового шума и модуль (1061) сглаживания по времени для обеспечения оценочного значения фонового шума, или
в котором модуль (1037) оценки шума содержит детектор (1070) активности сигнала, селектор (1071) кадра для выбора активного кадра только под управлением детектора (1070) активности сигнала и калькулятор (1072) уровня сигнала для вычисления уровня сигнала в активном кадре, и модуль (1073) сглаживания по времени для сглаживания результата калькулятора (1072) уровня сигнала по времени для обеспечения оценочного значения уровня сигнала, или
в котором модуль (1037) оценки шума выполнен с возможностью вычислять (1074) отношение сигнала к шуму из уровня сглаженного или не сглаженного сигнала и уровня сглаженного или не сглаженного фонового шума для кадра, и модуль (1075) сравнения для сравнения значения отношения сигнала к шуму с порогом для кадра для обеспечения уровня шума (1038, 1050) для кадра.
28. Устройство по п. 1, причем устройство выполнено с возможностью:
выполнения хранения или передачи оцененной разности во времени между каналами, или
выполнения стереофонической или многоканальной обработки или кодирования сигналов первого и второго каналов с использованием оцененной разности во времени между каналами, или
выполнения выравнивания по времени двух сигналов каналов с использованием разности во времени между каналами, или
выполнения оценки разности во времени прихода с использованием оцененной разности во времени между каналами, или
выполнения оценки разности во времени прихода с использованием разности во времени между каналами для определения позиции диктора в помещении с помощью двух микрофонов и известной расстановки микрофонов, или
выполнения формирования луча с использованием оцененной разности во времени между каналами, или
выполнения пространственной фильтрации с использованием оцененной разности во времени между каналами, или
выполнения декомпозиции переднего плана или фона с использованием оцененной разности во времени между каналами, или
выполнения операции определения местоположения источника звука с использованием оцененной разности во времени между каналами, или
выполнения определения местоположения источника звука с использованием оцененной разности во времени между каналами посредством выполнения акустической триангуляции на основе разностей во времени между сигналом первого канала и сигналом второго канала или сигналом первого канала, сигналом второго канала и по меньшей мере одним дополнительным сигналом.
29. Способ оценки разности во времени между каналами между сигналом первого канала и сигналом второго канала, причем упомянутый способ содержит этапы, на которых:
выполняют оценку характеристики сигнала первого канала, или сигнала второго канала, или обоих сигналов, или сигнала, полученного из сигнала первого канала или сигнала второго канала;
вычисляют спектр взаимной корреляции для временного блока из сигнала первого канала во временном блоке и сигнала второго канала во временном блоке;
взвешивают сглаженный или не сглаженный спектр взаимной корреляции для получения взвешенного спектра взаимной корреляции с использованием первой процедуры взвешивания или с использованием второй процедуры взвешивания в зависимости от оцененной характеристики сигнала, причем первая процедура взвешивания отличается от второй процедуры взвешивания; и
обрабатывают взвешенный спектр взаимной корреляции для получения разности во времени между каналами.
30. Способ по п. 29, дополнительно содержащий этапы, на которых:
оценивают характеристику спектра сигнала первого канала или сигнала второго канала для временного блока;
сглаживают спектр взаимной корреляции по времени с использованием спектральной характеристики для получения сглаженного спектра взаимной корреляции, причем взвешивание взвешивает сглаженный спектр взаимной корреляции.
31. Запоминающий носитель с сохраненной на нем компьютерной программой для выполнения способа по п. 29 при ее работе на компьютере или процессоре.
32. Запоминающий носитель с сохраненной на нем компьютерной программой для выполнения способа по п. 30 при ее работе на компьютере или процессоре.
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Токарный резец | 1924 |
|
SU2016A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
ИНДИВИДУАЛЬНОЕ ФОРМИРОВАНИЕ КАНАЛОВ ДЛЯ СХЕМ ВСС И Т.П. | 2005 |
|
RU2339088C1 |
Авторы
Даты
2021-12-17—Публикация
2019-04-03—Подача