Ослабление опережающих эхо-сигналов в цифровом звуковом сигнале

Иллюстрации

Показать все

Изобретение касается способа и устройства ослабления опережающих эхо-сигналов в цифровом звуковом сигнале, получаемом путем кодирования посредством преобразования, при этом при декодировании для текущего кадра указанного цифрового звукового сигнала способ содержит этап определения (CONC) логически связанного сигнала на основании, по меньшей мере, воспроизведенного сигнала текущего кадра, этап разделения (DIV, 301) указанного логически связанного сигнала на подблоки выборок определенной длины, этап вычисления (ENV, 302) временной огибающей логически связанного сигнала, этап обнаружения (DETECT, 304) перехода временной огибающей в зону высокой энергии, этап определения (DETECT, 304) подблоков низкой энергии, предшествующих подблоку, в котором был обнаружен переход, и этап ослабления (АТТ) в определенных подблоках. Способ выполняют таким образом, что осуществлять ослабление по коэффициенту ослабления, вычисляемому для каждого из определенных подблоков, в зависимости от временной огибающей логически связанного сигнала и временной огибающей воспроизведенного сигнала предыдущего кадра. Технический результат - повышение эффективности декодирования при ослаблении опережающих эхо-сигналов. 4 н. и 8 з.п. ф-лы, 19 ил.

Реферат

Настоящее изобретение касается способа и устройства для ослабления опережающих эхо-сигналов в цифровом звуковом сигнале.

Для передачи цифровых звуковых сигналов по сетям передачи, например, как по стационарным, так и по мобильным сетям, применяют процесс сжатия (исходное кодирование) с использованием систем кодирования типа временного кодирования или частотного кодирования посредством преобразования.

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

На фиг.1 в качестве примера показана принципиальная схема кодирования и декодирования цифрового звукового сигнала посредством преобразования, включающая известный процесс анализа-синтеза путем сложения/перекрывания.

Некоторые музыкальные последовательности, такие как звуки ударных инструментов, и некоторые сегменты речи, такие как взрывные звуки (/k/, /t/, …), характеризуются исключительно резкими атаками, выражающимися очень быстрыми переходами и очень сильным изменением динамики сигнала на протяжении нескольких выборок. Пример перехода представлен на фиг.1, начиная от выборки 410.

Для обработки кодирования/декодирования входной сигнал разбивают на блоки выборок длиной L (в данном случае показаны вертикальными пунктирными линиями). Входной сигнал обозначают х(n). Разбивка на последовательные блоки приводит к образованию блоков xN=[x(N.L)…x(N.L+L-1)]=[xN(0)…xN(L-1)], где N является индексом кадра, а L является длиной кадра. В случае модифицированного дискретного косинус-преобразования MDCT (от "Modified Discrete Cosine Transform" на английском языке) два блока xN(n) и xN+1(n) анализируют совместно и получают блок трансформированных коэффициентов, соответствующих кадру с индексом N.

Разделение на блоки, называемые также кадрами, производимое путем кодирования посредством преобразования, абсолютно не зависит от звукового сигнала, поэтому переходы появляются в любой точке окна анализа. Однако после декодирования посредством преобразования воспроизведенный сигнал содержит «шум» (или искажение), возникающий в результате операции квантования (Q)-обратного квантования (Q-1). Этот шум кодирования распределяется во времени относительно равномерно на всем временном носителе трансформируемого блока, то есть по всей длине окна длиной 2L выборок (с перекрыванием L выборок). Как правило, энергия шума кодирования пропорциональна энергии блока и зависит от скорости декодирования.

Для блока, содержащего атаку (как блок 320-340 на фиг.1), энергия сигнала является высокой, поэтому шум тоже имеет повышенный уровень.

При кодировании посредством преобразования уровень шума кодирования ниже уровня сигнала для выборок с высокой энергией, которые следуют сразу за переходом, но этот уровень выше уровня сигнала для выборок с более низкой энергией, в частности, на части, предшествующей переходу (выборки 160-140 на фиг.1). Для вышеуказанной части отношение сигнал/шум является отрицательным, и происходящее в результате ухудшения может отрицательно сказаться при восприятии на слух. Опережающим эхо-сигналом называют шум кодирования, предшествующий переходу, а запаздывающим эхо-сигналом называют шум, последующий за переходом.

На фиг.1 можно заметить, что опережающий эхо-сигнал затрагивает кадр, предшествующий переходу, а также кадр, в котором происходит переход.

Психологические акустические эксперименты показали, что человеческое ухо осуществляет очень ограниченное по времени предшествующее маскирование звуков, порядка нескольких миллисекунд. Шум, предшествующий атаке, или опережающий эхо-сигнал слышен, если продолжительность эхо-сигнала превышает продолжительность предшествующего маскирования.

Человеческое ухо осуществляет также более длительное последующее маскирование, от 5 до 60 миллисекунд, во время перехода от последовательностей высокой энергии к последовательностям низкой энергии. Таким образом, приемлемая степень или допустимый уровень дискомфорта при запаздывающих эхо-сигналах выше, чем при опережающих эхо-сигналах.

Более критический феномен опережающих эхо-сигналов доставляет тем больше неудобства, чем длиннее длина блоков по числу выборок. Вместе с тем, при кодировании посредством преобразования необходимо иметь надежное разрешение наиболее существенных частотных зон. При фиксированной частоте дискретизации и при фиксированной скорости, увеличив число точек окна, получают больше бит для кодирования частотных полос, признанных полезными при помощи психологической акустической модели, поэтому предпочтительно используют блоки большой длины. Например, при кодировании MPEG AAC (Advanced Audio Coding) используют окно большой длины, которое содержит фиксированное число выборок 2048, то есть имеет продолжительность 64 мс на частоте дискретизации 32 кГц. В устройствах кодирования посредством преобразования, применяемых для речевых приложений, часто используют окно продолжительностью 40 мс при 16 кГц и продолжительность обновления кадра 20 мс.

Были предложены разные решения с целью снижения вышеупомянутого дискомфортного влияния опережающих эхо-сигналов.

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

Соответствующая технология фильтрации описана в статье под названием High Quality Audio Transform Coding at 64 kbits, IEEE Trans. on Communications, Vol 42, No 11, November 1994, авторы Y.Mahieux и J.P.Petit.

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

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

Технология, не требующая передачи вспомогательных параметров, описана во французской патентной заявке FR 0601466. Описанный способ позволяет распознавать присутствие опережающих эхо-сигналов и ослабить опережающие эхо-сигналы цифрового звукового сигнала, созданного посредством иерархического кодирования (с созданием многоуровневого битового потока) на основании декодирования посредством преобразования, создающего опережающие эхо-сигналы, и временного кодирования, не создающего опережающих эхо-сигналов.

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

Эта технология не требует передачи специальной вспомогательной информации от кодера, но требует присутствия контрольного сигнала, полученного путем временного кодирования.

Не все декодеры, применяющие декодирование посредством преобразования, используют контрольный сигнал, полученный путем временного декодирования. Кроме того, в случае, когда такой контрольный сигнал поступает на декодер, он не всегда позволяет вычислять ослабление опережающих эхо-сигналов.

Кодер в масштабе стерео, например, с расширением стерео согласно норме UIT-T G.729.1, может работать следующим образом.

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

Декодер G.729.1 в расширенном варианте сначала декодирует сигнал моно и в зависимости от переданных параметров выявляет преобразованные коэффициенты двух каналов, левого и правого.

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

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

Поэтому существует потребность в точной технологии ослабления опережающих эхо-сигналов при декодировании в случае, когда сигнал, получаемый при временном декодировании, отсутствует или является неэффективным и когда кодер не передает никакой вспомогательной информации. Кроме того, эта технология должна быть применимой для кодирования моно и стерео.

В этой связи объектом настоящего изобретения является способ ослабления опережающих эхо-сигналов в цифровом звуковом сигнале, получаемом путем кодирования посредством преобразования, при этом при декодировании для текущего кадра этого цифрового звукового сигнала способ содержит:

- этап определения логически связанного сигнала на основании, по меньшей мере, воспроизведенного сигнала текущего кадра;

- этап разделения указанного логически связанного сигнала на подблоки выборок определенной длины;

- этап вычисления временной огибающей логически связанного сигнала;

- этап обнаружения перехода временной огибающей в зону высокой энергии;

- этап обнаружения подблоков низкой энергии, предшествующих подблоку, в котором был обнаружен переход; и

- этап ослабления в определенных подблоках, при этом способ отличается тем, что ослабление осуществляют по коэффициенту ослабления, вычисляемому для каждого из определенных подблоков, в зависимости от временной огибающей логически связанного сигнала.

Таким образом, коэффициент ослабления определяют на собственных характеристиках декодируемого сигнала, которые не требуют передачи информации от кодера, или сигнала, полученного путем декодирования, не генерирующего опережающих эхо-сигналов.

Коэффициент, предназначенный для каждого подблока и вычисляемый на основании воспроизведенного сигнала, позволяет повысить качество обработки ослабления опережающих эхо-сигналов.

Логически связанный сигнал можно определить на основании воспроизведенного сигнала текущего кадра и второй части текущего кадра, что будет пояснено ниже со ссылками на фиг.2. В этом случае способ не требует введения временной задержки.

В случае если можно позволить себе применить временную задержку, логически связанный сигнал определяют как воспроизведенный сигнал текущего кадра и следующего кадра.

Логически связанный сигнал можно физически сохранять в разных местах в виде подблоков.

Этапы вышеупомянутого способа можно дополнить различными частными вариантами выполнения, описанными ниже, которые можно применять независимо или в комбинации друг с другом.

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

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

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

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

В варианте выполнения временную огибающую определяют путем вычисления энергии по подблокам.

Предпочтительно способ дополнительно содержит этап вычисления и сохранения в памяти временной огибающей текущего кадра после этапа ослабления в определенных подблоках.

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

Предпочтительно коэффициент ослабления значением 1 применяют для выборок указанного подблока, содержащего переход, а также для выборок следующих подблоков в текущем кадре.

Таким образом, ослабление блокируется в этих подблоках, которые не содержат опережающих эхо-сигналов.

В частном варианте выполнения изобретения коэффициент ослабления определяют для каждого определенного подблока с выполнением следующих этапов:

- вычисляют отношение максимальной энергии, определенной в подблоке, содержащем переход, к энергии текущего подблока;

- отношение сравнивают с первым порогом;

- в случае если отношение меньше или равно первому порогу, коэффициенту ослабления придают значение, блокирующее ослабление;

- в случае если отношение превышает первый порог:

- отношение сравнивают со вторым порогом;

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

- в случае если отношение превышает второй порог, коэффициенту ослабления придают значение сильного ослабления.

Этот частный вариант выполнения оказался исключительно эффективным и простым в применении.

Предпочтительно способ предусматривает определение функции сглаживания между вычисленными коэффициентами по каждой выборке.

Это позволяет также избегать воспринимаемых на слух артефактов во время слишком резкого изменения значений ослабления.

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

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

Объектом настоящего изобретения является также устройство для ослабления опережающих эхо-сигналов в цифровом звуковом сигнале, полученном при помощи устройства кодирования посредством преобразования, в котором для обработки текущего кадра этого цифрового звукового сигнала устройство, связанное с декодером, содержит:

- модуль определения логически связанного сигнала на основании, по меньшей мере, воспроизведенного сигнала текущего кадра;

- модуль разделения указанного логически связанного сигнала на подблоки выборок определенной длины;

- модуль вычисления временной огибающей логически связанного сигнала;

- модуль обнаружения перехода временной огибающей в зону высокой энергии;

- модуль определения подблоков низкой энергии, предшествующих подблоку, в котором обнаружен переход; и

- модуль ослабления в определенных подблоках.

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

Объектом изобретения является также декодер для декодирования цифрового звукового сигнала, содержащий описанное выше устройство.

Таким декодером может быть, например, декодер типа G.729.1 SWB/стерео, рассмотренный в пункте 23 UIT-T, комиссия 16.

Изобретение можно применять для такого декодера в режиме стерео или в режиме моно SWB (от "super Wide Band" на английском языке).

Наконец, объектом изобретения является компьютерная программа, содержащая кодовые команды для осуществления этапов описанного выше способа ослабления, когда эти команды исполняет процессор.

Другие отличительные признаки и преимущества настоящего изобретения будут более очевидны из нижеследующего описания, представленного исключительно в качестве не ограничительного примера, со ссылками на прилагаемые чертежи, на которых:

фиг.1 (уже описана) - известная система кодирования-декодирования посредством преобразования;

фиг.2 - конфигурация воспроизведенного сигнала относительно текущего кадра сигнала;

фиг.3 - устройство ослабления опережающих эхо-сигналов в декодере цифрового звукового сигнала;

фиг.4а - логически связанный сигнал, когда переход находится во второй части текущего кадра;

фиг.4b - логически связанный сигнал, когда переход находится в воспроизведенном сигнале текущего кадра;

фиг.5 - блок-схема общего варианта выполнения этапов вычисления коэффициента ослабления в соответствии с настоящим изобретением;

фиг.6 - детальная блок-схема осуществления способа ослабления согласно варианту выполнения изобретения;

фиг.7 - частный вариант вычисления коэффициента ослабления в соответствии с настоящим изобретением;

фиг.8а - пример цифрового звукового сигнала, для которого применяют изобретение согласно варианту выполнения;

фиг.8b - тот же цифровой звуковой сигнал, для которого применяют изобретение согласно версии выполнения;

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

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

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

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

фиг.13а и 13b - соответственно кодер и декодер типа G.729.1 SWB/стерео, при этом декодер содержит устройство ослабления в соответствии с настоящим изобретением;

фиг.14а и 14b - соответственно кодер и декодер типа G.729.1 SWB, при этом декодер содержит устройство ослабления в соответствии с настоящим изобретением;

фиг.15 - пример устройства ослабления в соответствии с настоящим изобретением.

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

xrec.N(n)=h(n+L)xtr.N-1(N-L)+h(n)xtr.N(n) при n∈[0.L-1],

где N является индексом кадра, L является длиной кадра, Xrec.N является воспроизведенным сигналом кадра N, xtr.N является сигналом длиной 2L, полученным путем инверсного преобразования MDCT кадра N. Не вдаваясь в детали предобразования MDCT и инверсного преобразования MDCT, можно указать, что определяют промежуточный сигнал xtr.N длиной 2L для кадра N, например:

где yr(n) и yi(n) являются промежуточными сигналами, подробное описание которых опускается.

При этом можно показать, что воспроизведенный сигнал xrec.N кадра N соответствует:

xrec.N(n)=h(n+L)xtr.N-1(n+L)+h(n)xtr.N(n) при n∈[0.L-1]

Таким образом, воспроизведение осуществляют посредством сложения-перекрывания.

Следует отметить, что промежуточный сигнал содержит несимметричную часть и симметричную часть. Во время декодирования кадра N принимают битовый поток, который позволяет найти xtr.N; таким образом, можно воспроизвести xrec.N(n), n=0…L-1. С другой стороны, имеется в наличии только «половина» информации о будущем кадре с индексом N+1, то есть xtr.N, т=L…2L-1 о будущем кадре с индексом N+1. Необходимо отметить, что для всех версий выполнения преобразования MDCT (и инверсного преобразования) можно определять промежуточный сигнал xtr.N, имеющий вышеуказанную форму. Однако в некоторых вариантах выполнения сигнал xtr.N сам по себе не является эксплицитным, и в наличии имеются только промежуточные сигналы yr(n) и yi(n), содержащие «временное свертывание».

Таким образом, в декодере, работающем на декодировании посредством преобразования, воспроизведенный сигнал текущего кадра (xrec.N(n), n = от 0 до L-1) получают путем взвешенного сложения второй части выхода инверсного преобразования коэффициентов MDCT предыдущего кадра (xtr.N-1(n), n = от 0 до 2L-1) и первой части выхода инверсного преобразования коэффициентов MDCT текущего кадра (xtr.N(n), n = от 0 до L-1). Вторая часть выхода инверсного преобразования коэффициентов MDCT текущего кадра (xtr.N(n), n = от 0 до 2L-1) будет сохранена в памяти и станет (xtr.N-1(n), n = от 0 до 2L-1) с целью использования для получения воспроизведенного сигнала следующего кадра. В дальнейшем для упрощения будут использоваться термины «первая часть текущего кадра», «вторая часть текущего кадра», «воспроизведенный сигнал текущего кадра». В следующем кадре вторая часть текущего кадра становится, таким образом, второй частью предыдущего кадра.

Чтобы еще больше упростить фигуры, для второй части текущего кадра вводят следующую обновленную запись, то есть с умножением на максимальное значение окна синтеза преобразования MDCT:

xcur2h,N(n)=h(L)·xtr.N(L+n), n = от 0 до L-1

В частности, для атаки, находящейся в текущем кадре в первой или второй части, способ ослабления опережающих эхо-сигналов согласно варианту выполнения позволяет сформировать логически связанный сигнал [xrec.N(0)…xrec.N(L-1) xcur2h,N(0)…Xcur2H,N(L-1)] на основании воспроизведенного сигнала текущего кадра xrec.N(n) и обновленного сигнала второй части текущего кадра xcur2h,N(n).

Этот логически связанный сигнал делят на подблоки выборок определенной длины, в данном случае четного числа.

Способ определяет подблоки текущего блока, требующие ослабления опережающих эхо-сигналов.

Способ ослабления содержит также этап вычисления коэффициента ослабления, применяемого для определенных подблоков. Вычисление производят для каждого из подблоков в зависимости от временной огибающей логически связанного сигнала.

Это вычисление можно также осуществлять в зависимости от временной огибающей воспроизведенного сигнала предыдущего кадра.

Как показано на фиг.3, устройство 100 ослабления содержит модуль 101 определения логически связанного сигнала, модуль 102 разделения логически связанного сигнала на подблоки, модуль 103 вычисления временной огибающей логически связанного сигнала, модуль 104 обнаружения перехода временной огибающей в зону высокой энергии и определения подблоков низкой энергии, предшествующих подблоку, в котором был обнаружен переход, и модуль 105 ослабления в определенных подблоках. Модуль ослабления выполнен с возможностью применения коэффициента ослабления для подблоков при помощи модуля 104, при этом модуль ослабления определяет коэффициент ослабления в зависимости от временной огибающей логически связанного сигнала.

Как показано на фиг.3, устройство ослабления входит в состав декодера, содержащего модуль 110 инверсного квантования (Q-1), модуль 120 инверсного преобразования (MDCT-1), модуль 130 воспроизведения сигнала путем сложения/перекрывания, как описано со ссылками на фиг.1, который направляет воспроизведенный сигнал в устройство ослабления в соответствии с настоящим изобретением.

На фиг.4а и 4b показаны примеры сигналов, содержащих переходы или атаки в сигнале. Явление опережающего эхо-сигнала присутствует, когда энергия одной части сигнала в окне MDCT значительно выше (атака) энергии других частей. При этом опережающий эхо-сигнал наблюдается в частях низкой энергии перед атакой. Следовательно, ослаблять опережающие эхо-сигналы необходимо именно в этой части.

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

На фиг.4а показан логически связанный сигнал с атакой сигнала во второй части текущего кадра. На этой фигуре показано разделение на K2 подблоков k длиной N2 выборок с N2=L/K2, K2=4. L первых выборок представляют собой воспроизведенный сигнал текущего кадра xrec2h,N(n), n=0,…,L-1. L следующих выборок (от L до 2L-1) представляют собой вторую часть текущего кадра xcur2h,N(n), n=0, …, L-1. В следующем кадре эта вторая часть становится первой частью предыдущего кадра.

Следует отметить, что вторая часть текущего кадра симметрична по свойству инверсного преобразования MDCT. Действительно, согласно изобретению ослабление опережающих эхо-сигналов осуществляют без введения дополнительного сигнала в декодирование посредством преобразования. Во время декодирования текущего кадра декодер синтезирует выборки xtr.N-1(n), n=0, …, 2L-1, но для воспроизведения xrec.N(n), n=0, …, L-1 может использовать только выборки xtr.N-1(n), n=0, …, L-1.

Таким образом, видно, что атака или переход находится в следующем кадре (хотя пока его положение получить невозможно), поэтому необходимо ослабить опережающий эхо-сигнал для L первых выборок текущего кадра воспроизведенного сигнала.

На фиг.4b показан этот же сигнал кадром позже, и на этот раз атака находится в текущем кадре воспроизведенного сигнала в третьем подблоке (k=2). Следовательно, необходимо ослабить опережающий сигнал в двух первых подблоках.

Способ ослабления опережающих эхо-сигналов в соответствии с настоящим изобретением предусматривает коэффициент ослабления опережающего эхо-сигнала для каждой выборки кадра. Далее со ссылками на фиг.5 и 6 следует описание этого способа.

На фиг.5 показана блок-схема, иллюстрирующая различные этапы вычисления коэффициента ослабления в соответствии с настоящим изобретением для текущего кадра.

На этапе 201 вычисляют временную огибающую воспроизведенного сигнала текущего кадра, а на этапе 202 вычисляют временную огибающую второй части обновленного текущего кадра.

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

На этапе 203 определяют коэффициент ослабления на основании огибающих текущего кадра, определенных на этапах 201 и 202, и на основании огибающей воспроизведенного сигнала предыдущего кадра (Tenv(xrec.N-1(n)).

На факультативном этапе 204 определяют функцию сглаживания по полученным значениям коэффициента ослабления, чтобы избежать прерывистости, которая могла бы обнаружиться в обрабатываемом сигнале.

Далее со ссылками на фиг.6 следует подробное описание способа ослабления в варианте выполнения изобретения.

Так, на этапе 301, как показано на фиг.4а или 4b, сигнал разбивают на подблоки длиной N2=L/K2. Таким образом, получают 2 К2 подблоков.

На этапе 302 вычисляют энергию En(k) для К2 подблоков воспроизведенного сигнала xrec.N(n).

На этапе 303 вычисляют энергию каждого подблока второй части обновленного текущего кадра xcur2h,N(n). Отличаются только К2/2 значений с учетом симметрии этой части сигнала, как показано на фиг.4а.

На этапе 304 вычисляют максимум энергии подблоков сигнала xrec.N(n) и xcur2h(n) на К22/2=3К2/2 блоках и его индекс сохраняют в ind1.

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

На этапе 305 инициализируют счетчик цикла. В цикле этапов 306-309 на этапе 307 для каждого подблока, предшествующего подблоку с индексом indl, определяют коэффициент ослабления g(k) в зависимости от его энергии En(k), от максимальной энергии maxen и от средней энергии воспроизведенного сигнала предыдущего кадра xrec.N-1 и на этапе 308 этот коэффициент применяют для всех выборок подблока.

На этапе 310 вычисляют индекс первой выборки подблока с максимальной энергией. На этапе 311 проверяют, чтобы он был меньше длины кадра. Если это так, подблок с максимальной энергией находится в текущем кадре и коэффициент 1, то есть значение, блокирующее ослабление, применяют для всех выборок от начала подблока до конца кадра в цикле этапов 311-312-313.

На этапе 314 вычисляют и сохраняют в памяти среднюю энергию воспроизведенного текущего кадра, то есть К2 первых блоков воспроизведенного сигнала xrec.N(n). Ее будут использовать в следующем кадре для вычисления новых коэффициентов. В варианте уравнение этого этапа можно заменить другим уравнением, которое также учитывает ослабление опережающих эхо-сигналов, например, следующим уравнением:

Таким образом, учитывают обработанный сигнал, который больше не искажается опережающими эхо-сигналами.

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

Эту функцию сглаживания определяют, например, при помощи следующих уравнений:

gpre(0)=αgold+(1-α)gpre′(0)

gpre(i)=αgpre(i-1)+(1-α)gpre′(i), i=1, …, L-1

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

Последний коэффициент ослабления, полученный для последнего предназначенного для ослабления подблока текущего кадра, сохраняют в памяти для использования в следующем кадре на этапе 315.

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

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

xrecg.N(n)=g(n) xrec.N(n), n = от 0 до L-1

Далее со ссылками на фиг.7 следует подробное описание этапа 307 вычисления коэффициента ослабления для подблока в частном варианте выполнения изобретения.

В этом варианте выполнения сначала на этапе 401 вычисляют отношение maxen/En(k) максимальной энергии, определенной на этапе 304, к энергии обрабатываемого подблока.

На практике это отношение может быть инвертировано, и соответственно можно адаптировать пороговые значения.

На этапе 402 проверяют, является ли это отношение меньшим или равным первому порогу S1. Порог S1 устанавливают, например, в значении 16, причем это значение оптимизируют экспериментальным путем.

Если это так, то изменение энергии относительно максимальной энергии является слабым для создания дискомфортного опережающего эхо-сигнала, и нет необходимости в каком-либо ослаблении. В этом случае на этапе 403 коэффициент устанавливают в значении ослабления, блокирующем ослабление, то есть 1.

В противном случае, на этапе 404 проверяют, является ли отношение r меньшим или равным второму порогу S2. В данном примере порог S2 устанавливают в значении 32, причем это значение оптимизируют экспериментальным путем.

Если да, это значит, что может возникать небольшой мешающий опережающий эхо-сигнал, который следует немного ослабить, устанавливая на этапе 405 коэффициент в значении слабого ослабления, например 0,5. Когда отношение превышает этот второй порог, риск появления опережающего эхо-сигнала становится максимальным, и на этапе 406 коэффициенту присваивают значение сильного ослабления, например 0,1.

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

Таким образом, на этапе 407 вычисляют предельное значение коэффициента limr, при котором для данного подблока получают точно такую же энергию, что и средняя энергия предыдущего кадра. Затем на этапе 408 это значение ограничивают максимумом 1, поскольку в данном случае нужны значения ослабления.

Полученное таким образом значение limg служит нижним пределом при конечном вычислении коэффициента ослабления на этапе 409.

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

В случае многоскоростного кодирования/декодирования информацию о скорости можно учитывать для определения коэффициента ослабления.

На фиг.8а и 8b представлен типовой пример осуществления способа ослабления в соответствии с настоящим изобретением.

В этом сигнале сигнал дискретизируют по 8 кГц, длина кадра составляет 160 выборок, а каждый кадр делят на 4 подблока по 40 выборок.

В части а) фиг.8а показаны 3 кадра оригинального сигнала, соответствующие узкополосной части (0-4000 Гц) левого канала сигнала стерео, дискретизированного на 16 кГц. Атака или переход в сигнале находится в подблоке, начинающемся на показателе 360. Этот сигнал был закодирован, например, при помощи расширения стерео кодера G.729.1.

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

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

В части d) показан результат декодирования после применения обработки опережающего эхо-сигнала (умножение сигнала b) с сигналом с)). Здесь ясно видно, что опережающий эхо-сигнал подавлен.

На фиг.8b показан такой же типовой пример, для которого применили версию выполнения способа ослабления в соответствии с настоящим изобретением.

Если внимательно рассмотреть фиг.8а, то можно заметить, что сглаженный коэффициент не доходит до 1 в момент атаки, что предполагает уменьшение амплитуды атаки. Ощутимое влияние этого уменьшения является очень слабым, но, тем не менее, его можно избежать.

Для этого можно, например, перед сглаживанием применить значение коэффициента 1 для нескольких последних выбор