Эффективное ослабление опережающих эхо-сигналов в цифровом звуковом сигнале
Иллюстрации
Показать всеИзобретение относится к средствам ослабления опережающих эхо-сигналов в цифровом звуковом сигнале. Технический результат заключается в обеспечении возможности ослабления высоких частот и паразитных опережающих эхо-сигналов при декодировании без передачи кодирующим устройством какой-либо вспомогательной информации. Ослабляют опережающие эхо-сигналы в цифровом звуковом сигнале, получаемом путем кодирования посредством преобразования. В декодированном сигнале обнаруживают положение атаки. Определяют зону опережающего эхо-сигнала, предшествующую положению атаки, обнаруженному в декодированном сигнале. Вычисляют коэффициенты ослабления на каждый подблок зоны опережающего эхо-сигнала в зависимости, по меньшей мере, от кадра, в котором была обнаружена атака, и от предыдущего кадра. Производят ослабление опережающего эхо-сигнала в подблоках зоны опережающего эхо-сигнала при помощи соответствующих коэффициентов ослабления. Способ ослабления опережающего эхо-сигнала дополнительно содержит этап применения адаптивной фильтрации для придания спектральной формы зоне опережающего эхо-сигнала на текущем кадре до обнаруженного положения атаки. 4 н. и 9 з.п. ф-лы, 12 ил.
Реферат
Настоящее изобретение касается способа и устройства для ослабления опережающих эхо-сигналов в цифровом звуковом сигнале.
Для передачи цифровых звуковых сигналов по сетям передачи, например, как по стационарным, так и по мобильным сетям, применяют процесс сжатия (или исходное кодирование) с использованием систем кодирования типа временного кодирования или частотного кодирования посредством преобразования.
Таким образом, областью применения способа и устройства в соответствии с настоящим изобретением является сжатие звуковых сигналов, в частности, цифровых звуковых сигналов, кодированных путем частотного преобразования.
На фиг. 1 в качестве примера показана принципиальная схема кодирования и декодирования цифрового звукового сигнала посредством преобразования, включающая в себя известный процесс анализа-синтеза путем сложения/перекрывания.
Некоторые музыкальные последовательности, такие как звуки ударных инструментов, и некоторые сегменты речи, такие как взрывные звуки (/k/, /t/, …), характеризуются исключительно резкими атаками, выражающимися очень быстрыми переходами и очень сильным изменением динамики сигнала на протяжении нескольких выборок. Пример перехода представлен на фиг. 1, начиная от выборки 410.
Для обработки кодирования/декодирования входной сигнал разбивают на блоки выборок длиной L, показанные на фиг. 1 вертикальными пунктирными линиями. Входной сигнал обозначают х(n), где n является индексом выборки. Разбивка на последовательные блоки приводит к образованию блоков XN(n)=[x(N.L)…x(N.L+L-1)]=[xN(0)…xN(L-1)], где N является индексом кадра, a L является длиной кадра. На фиг. 1 получено L=160 выборок. В случае модифицированного дискретного косинус-преобразования MDCT (от "Modified Discrete Cosine Transform" на английском языке) два блока XN(n) и XN+1(n) анализируют совместно и получают блок трансформированных коэффициентов, соответствующих кадру с индексом N.
Разделение на блоки, называемые также кадрами, производимое путем кодирования посредством преобразования, абсолютно не зависит от звукового сигнала, поэтому переходы могут появляться в любой точке окна анализа. Однако после декодирования посредством преобразования воспроизведенный сигнал содержит «шум» (или искажение), возникающий в результате операции квантования (Q)-инверсного квантования (Q-1). Этот шум кодирования распределяется во времени относительно равномерно на всем временном носителе трансформируемого блока, то есть по всей длине окна длиной 2L выборок (с перекрыванием L выборок). Как правило, энергия шума кодирования пропорциональна энергии блока и зависит от скорости кодирования/декодирования.
Для блока, содержащего атаку (как блок 320-480 на фиг. 1), энергия сигнала является высокой, поэтому шум тоже имеет повышенный уровень.
При кодировании посредством преобразования уровень шума кодирования обычно ниже уровня сигнала для сегментов с высокой энергией, которые следуют сразу за переходом, но этот уровень выше уровня сигнала для сегментов с более низкой энергией, в частности, на части, предшествующей переходу (выборки 160-410 на фиг. 1). Для вышеуказанной части отношение сигнал/шум является отрицательным, и происходящее в результате ухудшение может отрицательно сказаться при восприятии на слух. Опережающим эхо-сигналом называют шум кодирования, предшествующий переходу, а запаздывающим эхо-сигналом называют шум, последующий за переходом.
На фиг. 1 можно заметить, что опережающий эхо-сигнал затрагивает кадр, предшествующий переходу, а также кадр, в котором происходит переход.
Психологические акустические эксперименты показали, что человеческое ухо осуществляет очень ограниченное по времени опережающее маскирование звуков, порядка нескольких миллисекунд. Предшествующий атаке шум или опережающий эхо-сигнал слышен, если продолжительность эхо-сигнала превышает продолжительность опережающего маскирования.
Человеческое ухо осуществляет также более длительное последующее маскирование, от 5 до 60 миллисекунд, во время перехода от последовательностей высокой энергии к последовательностям низкой энергии. Таким образом, приемлемая степень или допустимый уровень дискомфорта при запаздывающих эхо-сигналах выше, чем при опережающих эхо-сигналах.
Более критический феномен опережающих эхо-сигналов доставляет тем больше неудобства, чем длиннее длина блоков по числу выборок. Вместе с тем, при кодировании посредством преобразования хорошо известно, что для стационарных сигналов чем больше длина трансформанты, тем больше коэффициент усиления кодирования. При фиксированной частоте дискретизации и при фиксированной скорости, увеличив число точек окна, получают больше бит на кадр для кодирования частотных полос, признанных полезными при помощи психологической акустической модели, поэтому предпочтительно используют блоки большой длины. Например, при кодировании MPEG AAC (Advanced Audio Coding) используют окно большой длины, которое содержит фиксированное число выборок 2048, то есть имеет продолжительность 64 мс на частоте дискретизации 32 кГц; проблему опережающих эхо-сигналов в данном случае решают за счет перехода от этих длинных окон к 8 коротким окнам через промежуточные (переходные) окна, что требует некоторой задержки кодирования для обнаружения присутствия перехода и для адаптации окон. Длина этих коротких окон равна, таким образом, 8 мс. При низкой скорости все же остается воспринимаемый на слух опережающий эхо-сигнал в несколько миллисекунд. Переключение окон позволяет ослабить, но не устранить опережающий эхо-сигнал. В устройствах кодирования посредством преобразования, применяемых для речевых приложений, таких как UIT-T G.722.1, G.722.1C или G.719, часто используют окно продолжительностью 40 мс при 16, 32 или 48 кГц (соответственно) и длину кадра 20 мс. Можно отметить, что кодирующее устройство UIT.T G.719 включает в себя механизм переключения окон с обнаружением перехода, однако при низкой скорости (как правило, 32 кбит/с) опережающий эхо-сигнал полностью не устраняется.
Были предложены разные решения с целью снижения вышеупомянутого дискомфортного влияния опережающих эхо-сигналов.
Переключение окон уже было упомянуто выше. Другое решение состоит в применении адаптивной фильтрации. В зоне, предшествующей атаке, воспроизводимый сигнал по сути дела представляет собой сумму оригинального сигнала и шума квантования.
Соответствующая технология фильтрации описана в статье под названием High Quality Audio Transform Coding at 64 kbits, IEEE Trans. on Communications, Том 42, №11, ноябрь 1994 г., авторы Y. Mahieux и J.P. Petit.
Применение такой фильтрации требует знания параметров, некоторые из которых, такие как коэффициенты предсказания и дисперсия сигнала, искаженного опережающим эхо-сигналом, определяют на декодере на основании зашумленных выборок. С другой стороны, такие данные, как энергия исходного сигнала, можно узнать только на кодере, поэтому необходимо осуществлять их передачу. Если принятый блок содержит резкое изменение динамики, к нему применяют обработку фильтрации.
Процесс вышеупомянутой фильтрации не позволяет воспроизвести исходный сигнал, но позволяет значительно уменьшить опережающие эхо-сигналы. При этом он требует передачи в декодер дополнительных вспомогательных параметров.
Были предложены различные методы ослабления опережающих эхо-сигналов без специальной передачи информации. Например, обзор ослабления опережающих эхо-сигналов в контексте иерархического кодирования представлен в статье В. Kövesi, S. Ragot, М. Gartner, Н. Taddei, "Pre-echo reduction in the ITU-T G.729.1 embedded coder", EUSIPCO, Лозанна, Швейцария, август 2008 г.
Типичный пример способа ослабления опережающих эхо-сигналов описан во французской патентной заявке FR 0856248. В этом примере определяют коэффициенты ослабления для каждого подблока в подблоках слабой энергии, предшествующих подблоку, в котором обнаружен переход или атака.
Например, вычисляют коэффициент ослабления g(k) для каждого подблока в зависимости от соотношения R(k) между энергией подблока с более высокой энергией и энергией рассматриваемого k-го подблока:
g(k)=f(R(k)),
где f является убывающей функцией со значениями от 0 до 1 и k является номером подблока. Возможны также другие определения коэффициента g(k), например, в зависимости от энергии En(k) в текущем подблоке и от энергии En(k-1) в предыдущем подблоке.
Если изменение энергии по отношению к максимальной энергии является незначительным, то никакого ослабления не требуется. При этом коэффициент g(k) фиксируют в значении ослабления, отменяющем ослабление, то есть 1. В противном случае коэффициент ослабления находится в пределах от 0 до 1.
В большинстве случаев, особенно когда опережающий эхо-сигнал мешает восприятию, кадр, который предшествует кадру с опережающим эхо-сигналом, имеет однородную энергию, которая соответствует энергии сегмента низкой энергии (как правило, фонового шума). Опыт показывает, что после обработки ослабления опережающего эхо-сигнала не желательно, чтобы энергия сигнала стала меньше средней энергии каждого подблока сигнала, предшествующего зоне обработки (как правило, энергии предыдущего кадра или энергии второй половины предыдущего кадра ).
Для обрабатываемого подблока k можно вычислить предельное значение коэффициента limg(k), чтобы получить точно такую же энергию, как и средняя энергия каждого подблока сегмента, предшествующего обрабатываемому сегменту. Естественно, это значение ограничено максимумом в 1, поскольку в данном случае нас интересуют значения ослабления. В частности:
где среднюю энергию предыдущего сегмента подвергли аппроксимации при помощи .
Полученное таким образом значение limg(k) служит нижним пределом при конечном вычислении коэффициента ослабления подблока:
g(k)=max(g(k), limg(k))
Затем определенные по подблокам коэффициенты ослабления g(k) сглаживают при помощи функции сглаживания, применяемой последовательно к каждой выборке, чтобы избегать резких изменений коэффициента ослабления на границах блоков.
Например, сначала можно определить коэффициент на каждую выборку как постоянную функцию по фрагментам:
gpre(n)=g(k), n=kL', …, (k+1)L'-1,
где L' является длиной подблока.
Затем функцию сглаживают в соответствии со следующим уравнением:
gpre(n):=αgpre(n-1)+(1-α) gpre(n), n=0, …, L-1?
при этом условно gpre(-1) является последним коэффициентом ослабления, полученным для последней выборки предыдущего подблока, и α является коэффициентом сглаживания, как правило: α=0,85.
Возможны также другие функции сглаживания. После вычисления коэффициентов gpre(n) осуществляют ослабление опережающего эхо-сигнала на воспроизведенном сигнале текущего кадра, xrec(n), умножив каждую выборку на соответствующий коэффициент:
xrec, g(n)=gpre(n) xrec(n), n=0, …, L-1,
где xrec, g(n) является сигналом, декодированным и подвергнутым последующей обработке ослабления опережающего эхо-сигнала.
Фиг. 2 и 3 иллюстрируют осуществление способа ослабления, описанного в вышеупомянутой известной патентной заявке.
В этих примерах сигнал подвергают дискретизации при 32 Гц, при этом длина кадра равна L=640 выборок, и каждый кадр делят на 8 подблоков из К=80 выборок.
В части а) на фиг. 2 показан кадр оригинального сигнала, дискретизированного при 32 Гц. Атака (или переход) в сигнале находится в подблоке, начинающемся с индекса 320. Этот сигнал кодируют при помощи устройства кодирования посредством преобразования типа MDCT с низкой скоростью (24 кбит/с).
В части b) фиг. 2 показан результат декодирования без обработки опережающего эхо-сигнала. Опережающий сигнал можно наблюдать, начиная от выборки 160, в подблоках, предшествующих подблоку, содержащему атаку.
В части с) показано изменение коэффициента ослабления опережающего эхо-сигнала (сплошная линия), полученного при помощи способа, описанного в вышеупомянутой известной патентной заявке. Пунктирной линией показан коэффициент до сглаживания. Можно отметить, что положение атаки определено вокруг выборки 380 (в блоке, ограниченном выборками 320 и 400).
В части d) показан результат декодирования после применения обработки опережающего эхо-сигнала (умножение сигнала b) с сигналом с)). Наблюдается сильное ослабление опережающего эхо-сигнала. На фиг. 2 видно также, что сглаженный коэффициент не поднимается до 1 в момент атаки, что предполагает уменьшение амплитуды атаки. Воспринимаемое влияние этого уменьшения является очень слабым, но его можно все же избежать. На фиг. 3 показан такой же пример, что и на фиг. 2, в котором перед сглаживанием значение коэффициента ослабления доведено до 1 для нескольких выборок подблока, предшествующего подблоку, в котором находится атака. Часть с) на фиг. 3 показывает пример такой коррекции.
В этом примере значение 1 коэффициента было применено к 16 последним выборкам предшествующего атаке подблока, начиная с индекса 364. Таким образом, функция сглаживания постепенно увеличивает коэффициент для получения значения, близкого к 1, в момент атаки. При этом амплитуда атаки сохраняется, как показано в части d) фиг. 3, но, с другой стороны, несколько выборок опережающего эхо-сигнала оказываются не ослабленными.
В примере на фиг. 3 уменьшение опережающего эхо-сигнала путем ослабления не позволяет уменьшить опережающий эхо-сигнал до уровня атаки по причине сглаживания коэффициента.
Другой пример с такой же регулировкой, что и на фиг. 3, показан на фиг. 4. На этой фигуре показаны 2 кадра для более наглядной иллюстрации характера сигнала перед атакой. В данном случае энергия первоначального сигнала перед атакой является более высокой (часть а)), чем в случае, представленном на фиг. 3, и сигнал перед атакой воспринимается на слух (выборки 0-850). В части b) можно наблюдать опережающий эхо-сигнал на сигнале, декодированном без обработки опережающего эхо-сигнала, в зоне 700-850. Согласно описанной выше процедуре ограничения ослабления, энергию сигнала зоны опережающего эхо-сигнала ослабляют до средней энергии сигнала, предшествующего зоне обработки. В части с) можно увидеть, что коэффициент ослабления, вычисленный с учетом ограничения энергии, близок к 1 и что опережающий эхо-сигнал по-прежнему присутствует в части d) после применения обработки опережающего эхо-сигнала (умножение сигнала b) с сигналом с)), несмотря на надлежащее приведение к уровню сигнала в зоне опережающего эхо-сигнала. Действительно, этот опережающий эхо-сигнал можно различить в виде волны, где, как видно, высокочастотная составляющая накладывается на сигнал в этой зоне.
Эта высокочастотная составляющая воспринимается на слух и создает помеху, и атака оказывается менее четкой (часть d фиг. 4).
Этот феномен можно объяснить следующим образом: в случае очень резкой и импульсивной атаки (как показано на фиг. 4) спектр сигнала (в кадре, содержащем атаку) является скорее белым и, следовательно, содержит много высоких частот. Таким образом, шум квантования тоже является белым и состоит из высоких частот, что не наблюдается в сигнале, предшествующем зоне опережающего эхо-сигнала. Таким образом, происходит резкое изменение спектра от одного кадра к другому, которое выражается в воспринимаемом н слух опережающем эхо-сигнале, несмотря на то, что энергия была приведена к надлежащему уровню.
Этот феномен показан также на фиг. 5а и 5b, на которых соответственно представлены спектрограммы оригинального сигнала на 5а, соответствующего сигналу в части а) фиг. 4, и спектрограмма сигнала с известным ослаблением опережающих эхо-сигналов на 5b, соответствующего сигналу, показанному на части d) фиг. 4.
В обрамленной части на фиг. 5b можно заметить опережающий эхо-сигнал, который остается воспринимаемым на слух.
Таким образом, существует потребность в методе ослабления опережающих эхо-сигналов при декодировании, который позволяет ослаблять также нежелательные высокие частоты или паразитные опережающие эхо-сигналы, причем без передачи кодирующим устройством какой-либо вспомогательной информации.
Настоящее изобретение позволяет усовершенствовать известные решения.
В связи с этом объектом настоящего изобретения является способ обработки ослабления опережающих эхо-сигналов в цифровом звуковом сигнале, получаемом путем кодирования посредством преобразования, при этом при декодировании способ содержит следующие этапы:
- в декодированном сигнале обнаруживают положение атаки;
- определяют зону опережающего эхо-сигнала, предшествующую положению атаки, обнаруженному в декодированном сигнале;
- вычисляют коэффициенты ослабления на каждый подблок зоны опережающего эхо-сигнала, по меньшей мере, в зависимости от кадра, в котором была обнаружена атака, и от предыдущего кадра;
- производят ослабление опережающего эхо-сигнала в подблоках зоны опережающего эхо-сигнала при помощи соответствующих коэффициентов ослабления.
Способ дополнительно содержит:
- этап применения адаптивной фильтрации для придания спектральной формы зоне опережающего эхо-сигнала на текущем кадре до обнаруженного положения атаки.
Таким образом, применяемое придание спектральной формы позволяет улучшить ослабление опережающего эхо-сигнала. Обработка позволяет ослабить составляющие опережающего эхо-сигнала, которые могли бы оставаться при применении ослабления опережающего эхо-сигнала согласно известным решениям.
Поскольку фильтрацию применяют до обнаруженного положения атаки, оно позволяет производить ослабление опережающего эхо-сигнала как можно ближе к атаке. Это компенсирует недостаток уменьшения эхо-сигнала посредством временного ослабления, которое ограничено зоной, не достигающей положения атаки (например, с запасом в 16 выборок).
Эта фильтрация не требует получения информации от кодирующего устройства.
Этот метод обработки ослабления опережающего эхо-сигнала можно применять с распознаванием или без распознавания сигнала, получаемого при временном декодировании, и при кодировании монофонического сигнала или стереофонического сигнала.
Адаптивная фильтрация обеспечивает адаптацию к сигналу и позволяет убирать только мешающие паразитные составляющие.
К этапам вышеуказанного способа можно добавлять независимо или в комбинации следующие частные варианты осуществления.
В частном варианте осуществления способ дополнительно содержит вычисление, по меньшей мере, одного параметра решения о фильтрации, применяемой к зоне опережающего эхо-сигнала, и адаптацию коэффициентов фильтрации в зависимости от указанного, по меньшей мере, одного параметра решения.
Таким образом, обработку применяют только в случае необходимости для соответствующего уровня адаптивной фильтрации.
В варианте выполнения указанный, по меньшей мере, один параметр решения является измерением силы обнаруженной атаки.
Действительно, сила атаки определяет присутствие воспринимаемых на слух высокочастотных составляющих в зоне опережающего эхо-сигнала. Если атака является резкой, существует реальный риск появления мешающей паразитной составляющей в зоне опережающего эхо-сигнала, и необходимо предусмотреть фильтрацию в соответствии с изобретением.
В возможном варианте вычисления этого параметра измерение силы обнаруженной атаки имеет следующий вид:
P=max(EN(k), EN(k+1))/min(EN(k-1), EN(k-2)), где k является номером подблока, в котором была обнаружена атака, и EN(k) является энергией k-го подблока.
Это вычисление является менее сложным и позволяет определить силу обнаруженной атаки.
Указанный, по меньшей мере, один параметр решения может быть также значением коэффициента ослабления в подблоке, предшествующем подблоку, содержащему положение атаки.
Действительно, атаку можно считать резкой, если это ослабление является значительным.
В другом варианте выполнения указанный, по меньшей мере, один параметр решения основан на анализе спектрального распределения сигнала зоны опережающего эхо-сигнала и/или сигнала, предшествующего зоне опережающего эхо-сигнала.
Это позволяет, например, определить степень высокочастотных составляющих в опережающем эхо-сигнале и узнать также, присутствовали ли уже эти высокочастотные составляющие в сигнале до зоны опережающего эхо-сигнала.
Так, в случае, если высокочастотные составляющие уже присутствовали до зоны опережающего эхо-сигнала, нет необходимости производить фильтрацию для ослабления этих высокочастотных составляющих, и адаптацию коэффициентов фильтрации осуществляют посредством их установки на 0 или на значение, близкое к 0.
Таким образом, адаптацию коэффициентов фильтрации можно осуществлять дискретно в зависимости от сравнения, по меньшей мере, одного параметра решения с заранее определенным порогом.
Коэффициенты фильтрации могут принимать заранее определенные значения из набора значений. Самым малым набором значений является набор, в котором возможны только два значения, то есть, например, выбор между фильтрацией и не фильтрацией.
В варианте выполнения адаптацию коэффициентов фильтрации осуществляют непрерывно в зависимости от указанного, по меньшей мере, одного параметра решения.
В этом случае адаптация может быть более точной и более постепенной.
В частном варианте выполнения фильтрация является фильтрацией с конечной импульсной реакцией с нулевой фазой функции перехода:
c(n)z-1+(1-2c(n))+c(n)z,
где с(n) является коэффициентом со значением от 0 до 0,25.
Этот тип фильтрации является не сложным и, кроме того, позволяет производить обработку без задержки (когда обработка останавливается перед концом текущего кадра). Благодаря нулевой задержке, фильтрация может ослаблять высокие частоты до атаки, не изменяя саму атаку.
Этот тип фильтрации позволяет избегать перерывов и плавно переходить от нефильтрованного сигнала к фильтрованному сигналу.
Согласно варианту выполнения, этап ослабления осуществляют одновременно с фильтрацией для придания спектральной формы посредством включения коэффициентов ослабления в коэффициенты, определяющие фильтрацию.
Объектом настоящего изобретения является также устройство для ослабления опережающих эхо-сигналов в цифровом звуковом сигнале, получаемом при помощи устройства кодирования путем преобразования, при этом устройство, связанное с декодером, содержит:
- модуль обнаружения положения атаки в декодированном сигнале;
- модуль определения зоны опережающего эхо-сигнала, предшествующей положению атаки, обнаруженной в декодированном сигнале;
- модуль вычисления коэффициентов ослабления для каждого подблока в зоне опережающего эхо-сигнала, по меньшей мере, в зависимости от кадра, в котором была обнаружена атака и от предыдущего кадра;
- модуль ослабления опережающих эхо-сигналов в подблоках зоны опережающего эхо-сигнала при помощи соответствующих коэффициентов ослабления.
Устройство дополнительно содержит:
- модуль адаптивной фильтрации для придания спектральной формы зоне опережающего эхо-сигнала на текущем кадре до обнаруженного положения атаки.
Объектом изобретения является также декодер для декодирования цифрового звукового сигнала, содержащий описанное выше устройство.
Объектом изобретения является также компьютерная программа, содержащая кодовые команды для осуществления этапов описанного выше способа ослабления, когда эти команды исполняет процессор.
Наконец, объектом изобретения является носитель записи, считываемый процессором, встроенный или не встроенный в устройство обработки, в случае необходимости, съемный, содержащий записанную компьютерную программу для осуществления описанного выше способа обработки.
Другие отличительные признаки и преимущества настоящего изобретения будут более очевидны из нижеследующего описания, представленного исключительно в качестве не ограничительного примера, со ссылками на прилагаемые чертежи, на которых:
Фиг. 1 (уже описана) - известная система кодирования-декодирования посредством преобразования.
Фиг. 2 (уже описана) - пример цифрового звукового сигнала, для которого применяют известный способ ослабления.
Фиг. 3 (уже описана) - другой пример цифрового звукового сигнала, для которого применяют известный способ ослабления.
Фиг. 4 (уже описана) - еще один пример цифрового звукового сигнала, для которого применяют известный способ ослабления.
Фиг. 5а и 5b - соответственно спектрограмма первоначального сигнала и спектрограмма сигнала с ослаблением опережающих эхо-сигналов при помощи известных решений (соответствуют частям а) и d) фиг. 4).
Фиг. 6 - устройство ослабления опережающих эхо-сигналов в декодере цифрового звукового сигнала, а также этапы, осуществляемые в рамках способа обработки согласно варианту выполнения изобретения.
Фиг. 7 - частотная реакция фильтра придания спектральной формы, применяемому согласно варианту выполнения изобретения, в зависимости от параметра фильтра.
Фиг. 8 - пример цифрового звукового сигнала, к которому применяют обработку в соответствии с изобретением.
Фиг. 9 - спектрограмма сигнала, соответствующая сигналу d) на фиг. 4, к которому применяют обработку в соответствии с изобретением.
Фиг. 10 - пример сигнала, первоначально имеющего высокочастотные составляющие, для которого применяют известный способ ослабления опережающих эхо-сигналов.
Фиг. 11 - такой же сигнал, что и на фиг. 11, первоначально имеющий высокочастотные составляющие, к которому применили обработку в соответствии с изобретением, без учета критерия решения на уровне применяемого фильтра.
Фиг. 12 - пример устройства ослабления в соответствии с изобретением.
На фиг. 6 показано устройство 600 обработки ослабления. В варианте выполнения это устройство использует метод ослабления опережающих эхо-сигналов в декодированном сигнале, например, описанный в патентной заявке FR 0856248. Он использует фильтрацию для придания спектральной формы зоне опережающего эхо-сигнала.
Устройство 600 содержит модуль 601 обнаружения, выполненный с возможностью осуществления этапа обнаружения (Detect.) положения атаки в декодированном звуковом сигнале.
Атака (или onset на английском языке) представляет собой быстрый переход и резкое изменение динамики (или амплитуды) сигнала. Этот тип сигналов можно обозначить общим термином «переходный». В дальнейшем для обозначения переходных сигналов будут использованы только термины «атака» или «переход».
В варианте выполнения каждый кадр из L выборок декодированного сигнала xrec(n) делят на К подблоков длиной L', например, L=640 выборок (20 мс) при 32 кГц, L'=80 выборок (2,5 мс), и К=8.
Специальные окна анализа-синтеза с короткой задержкой, аналогичные окнам, описанным в стандарте UIT-T G.718, применяют для аналитической части и для синтетической части преобразования MDCT. Так, окно синтеза MDCT содержит всего 415 не равных нулю выборок в отличие от 640 выборок в случае использования классических синусоидальных окон. В версии этого варианта выполнения можно использовать другие окна анализа/синтеза или можно использовать переключения между длинными и короткими окнами.
Кроме того, используют память MDCT xMDCT(n), которая дает версию с временным свертыванием ("folding" на английском языке) будущего сигнала. Эту память тоже делят на подблоки длиной L' и в зависимости от используемого окна MDCT используют только К' первых подблоков, где К' зависит от используемого окна, например, для синусоидального окна К'=4. Действительно, на фиг. 1 видно, что опережающий эхо-сигнал влияет на кадр, предшествующий кадру, в котором находится атака, и необходимо обнаружить атаку в будущем кадре, который частично содержится в памяти MDCT.
В данном случае уменьшение опережающих эхо-сигналов зависит от нескольких параметров:
- Декодированный сигнал в текущем кадре (который потенциально содержит опережающие эхо-сигналы) длиной L.
- Память инверсного преобразования MDCT, которое соответствует частично декодированному сигналу в кадре, следующем за сложением-перекрыванием.
- Средний уровень энергии в предыдущем кадре (или половине кадра).
Можно отметить, что содержащийся в памяти сигнал включает в себя временное свертывание (которое компенсируется при получении следующего кадра). Как будет описано ниже, в данном случае память MDCT в основном служит для оценки энергии по подблокам сигнала в следующем (будущем) кадре, и эта оценка считается достаточно точной для нужд обнаружения и уменьшения опережающего эхо-сигнала, когда ее осуществляют при помощи памяти MDCT на текущем кадре вместо полностью декодированного сигнала на будущем кадре.
Текущий кадр и память MDCT можно рассматривать как логически связанные сигналы, образующие сигнал длиной (К+K')L', разбитый на (К+К') последовательных блоков. В этих условиях энергию в k-ом подблоке определяют как:
когда k-й подблок находится в текущем кадре, и как:
когда подблок находится в памяти MDCT (которая представляет собой сигнал для будущего блока).
Таким образом, среднюю энергию подблоков текущего кадра определяют как:
Среднюю энергию подблоков во второй части текущего кадра определяют также как:
Переход, связанный с опережающим эхо-сигналом, обнаруживают, если соотношение превышает заранее определенный порог в одном из рассматриваемых подблоков.
Не меняя сущности изобретения, можно также применять другие критерии обнаружения.
Кроме того, положение атаки определяют как
где путем ограничения до L гарантируют, что память MDCT никогда не будет изменена. Возможны также другие методы более точной оценки положения атаки.
В вариантах выполнения с переключением окон можно использовать другие методы определения положения атаки с точностью от масштаба одного подблока вплоть до положения в выборке.
Устройство 600 содержит также модуль 602 определения, осуществляющий этап определения (ZPE) зоны опережающего эхо-сигнала, предшествующей обнаруженному положению атаки.
Значения энергии En(k) логически связывают между собой в хронологическом порядке сначала с временной огибающей декодированного сигнала, затем с огибающей сигнала следующего кадра, рассчитанного при помощи памяти трансформанты MDCT. В зависимости от этой логически связанной временной огибающей и от средних значений энергии и предыдущего кадра присутствие опережающего эхо-сигнала обнаруживают, если соотношение R(k) является достаточно большим.
Таким образом, подблоки, в которых обнаружен опережающий эхо-сигнал, образуют зону опережающего эхо-сигнала, которая, как правило, охватывает выборки n=0, …, pos-1, то есть от начала текущего кадра до положения атаки (pos).
В вариантах выполнения зона опережающего эхо-сигнала не обязательно должна начинаться в начале кадра и может потребовать оценки длины опережающего эхо-сигнала. Если применяют переключение окон, зону опережающего эхо-сигнала необходимо определять, чтобы учитывать используемые окна.
Модуль 603 устройства 600 осуществляет этап вычисления коэффициентов ослабления для подблоков определенной зоны опережающего эхо-сигнала в зависимости от кадра, в котором была обнаружена атака, и от предыдущего кадра.
В соответствии с описанием патентной заявки FR 0856248 коэффициенты ослабления g(k) оценивают для каждого подблока.
Например, коэффициент ослабления g(k) для каждого подблока вычисляют в зависимости от соотношения R(k) между энергией подблока с самой высокой энергией и энергией рассматриваемого k-го подблока:
g(k)=f(R(k)),
где f является убывающей функцией со значениями от 0 до 1. Возможны также другие определения коэффициента g(k), например, в зависимости от En(k) и от En(k-1).
Если изменение энергии по отношению к максимальной энергии является слабым, то нет необходимости в каком-либо ослаблении. В этом случае коэффициент фиксируют в значении ослабления, отменяющем ослабление, то есть 1. В противном случае коэффициент ослабления находится в пределах от 0 до 1.
Эти ослабления ограничивают в зависимости от средней энергии предыдущего кадра.
Для обрабатываемого подблока можно вычислить предельное значение коэффициента limg(k), чтобы получить точно такую же энергию, как и средняя энергия сегмента, предшествующего обрабатываемому подблоку. Разумеется, это значение ограничено максимумом в 1, поскольку в данном случае нас интересуют значения ослабления. В частности:
Полученное таким образом значение limg(k) служит нижним пределом при конечном вычислении коэффициента ослабления подблока:
g(k)=max(g(k), limg(k))
Затем коэффициенты ослабления g(k), определенные по подблокам, подвергают сглаживанию при помощи функции сглаживания, применяемой последовательно к каждой выборке, чтобы избегать резких изменений коэффициента ослабления на границах блоков.
Сначала коэффициент для каждой выборки определяют как постоянную функцию по фрагментам:
gpre(n)=g(k), n=kL', …, (k+1)L'-1
Например, функцию сглаживания определяют при помощи следующих уравнений:
gpre(n):=αgpre(n-1)+(1-α) gpre(n), n=0, …, L-1
при этом условно gpre(-l) является последним коэффициентом ослабления, полученным для последней выборки предыдущего подблока, и α является коэффициентом сглаживания, как правило: α=0,85.
Возможны также другие функции сглаживания.
Модуль 604 устройства 600 на фиг. 6 производит ослабление (Att.) в подблоках зоны опережающего эхо-сигнала при помощи полученных коэффициентов ослабления.
Таким образом, после вычисления коэффициентов gpre(n) ослабление опережающего эхо-сигнала осуществляют при помощи воспроизведенного сигнала текущего кадра, xrec(n), умножив каждую выборку на соответствующий коэффициент:
xrec, g(n)=gpre(n) xrec(n), n=0, …, L-1,
где xrec, g(n) является сигналом, декодированным и подвергнутым последующей обработке ослабления опережающего эхо-сигнала.
Устройство 600 содержит модуль фильтрации 606, выполненный с возможностью осуществления этапа (F) применения фильтрации для придания спектральной формы зоне опережающего эхо-сигнала на текущем кадре декодированного сигнала до обнаруженного положения атаки.
Как правило, фильтр придания спектральной формы является линейным фильтром. Поскольку операция умножения на коэффициент тоже является линейной операцией, их можно поменять местами: сначала можно осуществить фильтрацию для придания спектральной формы зоне опережающего эхо-сигнала, затем ослабление опережающего эхо-сигнала, умножив каждую выборку зоны опережающего эхо-сигнала на соответствующий коэффициент.
В примере выполнения фильтром, используемым для ослабления высоких частот в зоне опережающего эхо-сигнала, является фильтр FIR (фильтр с конечной импульсной реакцией) с 3 коэффициентами и с нулевой фазой переходной функции c(n)z-1+(1-2c(n))+c(n)z, где с(n) имеет значение от 0 до 0,25 и [с(n), 1-2 с(n), с(n)] являются коэффициентами фильтра придания спектральной формы; этот фильтр применяют при помощи уравнения с разностями:
xrec, f(n)=c(n) xrec, g(n-1)+(1-2 с(n)) xrec, g(n)+c(n) xrec, g(n+1),
где, например, с(n)=0,25 n=5, …, pos-5.
Частотная реакция этого фильтра показана на фиг. 7 в зависимости от коэффициента с(n), при с(n)=0,05, 0,1, 0,15, 0,2 и 0,25. Преимуществами использования этого фильтра являются его низкая степень сложности, его нулевая фаза и, следовательно, нулевая задержка (возможна, поскольку обработка останавливается перед концом текущего кадра), а также его частотная реакция, которая вполне соответствует характеристикам фильтра нижних частот.
Применение этого фильтра может компенсировать то, что време