УСТРОЙСТВО И СПОСОБ ОПРЕДЕЛЕНИЯ МНОЖЕСТВА ЛОКАЛЬНЫХ ЧАСТОТНЫХ ЦЕНТРОВ ТЯЖЕСТИ В СПЕКТРЕ АУДИОСИГНАЛА
APPARATUS AND METHOD FOR DETERMINING PLURALITY OF LOCAL CENTRE OF GRAVITY FREQUENCIES OF SPECTRUM OF AUDIO SIGNAL

Варианты технических решений предлагаемого изобретения относятся к системе обработки аудиосигнала, точнее, к устройству и способу определения множества частот локального центра тяжести в спектре аудиосигнала.
В области цифровой обработки звука растет потребность в технических средствах, отвечающих самьм критическим требованиям введения в новый музыкальный контекст ранее записанных аудиосигналов, хранящихся, например, в базе данных. При решении подобной задачи требуется адаптация акустических свойств сигнала верхних семантических уровней, таких как высота тона, тональность, звукоряд. Общей целью всех манипуляций в этом направлении является радикальное преобразование акустических параметров исходного музыкального материала при сохранении, по возможности, наилучшего субъективно воспринимаемого качества звучания. Другими словами, требуется, чтобы при коренном изменении звучания таких музыкальных фрагментов внедренный семпл воспринимался на слух естественно. Теоретически для этого требуются универсальные технологии обработки звука, применимые к сигналам различного типа, в том числе - к музыкальному контенту с неоднородной полифонической текстурой.
Для решения этой задачи недавно был предложен метод, заключающийся в анализе, преобразовании и синтезе аудиосигналов на базе элементов многополосной модуляции [(см. S.Disch and В.Edier, "An amplitude- and frequency modulation vocoder for audio signal processing." („Вокодер АЧМ для обработки аудиосигналов") Proc.of the Int. Conf. on Digital Audio Effects (DAFx). 2008; S.Disch and B.Edier, "Multiband perceptual modulation analysis, processing and synthesis of audio signals" (Анализ, обработка и синтез аудиосигналов на основе многополосной перцептуалъной модуляции) Proc.of the IEEE-ICASSP, 2009).] Главное в предлагаемом подходе - декомпозиция многоголосия на составляющие, воспринимаемые как целостные звуковые сегменты, и последующая обработка всех элементов сигнала, содержащихся в каждом сегменте. Одновременно предложен способ синтеза, благодаря которому после любых радикальных преобразований сигнала на выходе обеспечивается перцептуально сбалансированное и благозвучное воспроизведение. Если составляющие не подвергаются никаким изменениям, предлагаемый способ предусматривает транспарентность или частичную транспарентность воспринимаемого качества звучания многих тест-сигналов (см. S.Disch and В.Edier, "An amplitude- and frequency modulation vocoder for audio signal processing", Proc.of the Int. Conf. on Digital Audio Effects (DAFx), 2008).
Важным этапом обработки полифонической музыки блочным способом, к примеру, частью процедуры декомпозиции при многополосной модуляции, является оценивание локальных центров тяжести (COG) [(см. J. Anantharaman, A. Krishnamurthy, and L. Feth, "Intensity-weighted average of instantaneous frequency as a model for frequency discrimination" ("Средневзвешенный показатель интенсивности мгновенной частоты как модель частотной дискриминации") J. Acoust. Soc. Am., vol. 94, p.723-729, 1993; Q. Xu, L.L. Feth, J.N. Anantharaman, and A.K. Krishnamurthy, "Bandwidth of spectral resolution for the "c-o-g" effect in vowel-like complex sounds" ("Ширина полосы спектрального разрешения при определении "центра тяжести" в вокализованных сложных звуках") Acoustical Society of America Journal, vol. 101, p.3149-+, May 1997)] в последовательных во времени спектрах. В этой публикации представлен итеративный алгоритм, применимый для адаптивной спектральной декомпозиции сигнала, согласованной с локальными центрами тяжести (COG) сигнала.
Подход с использованием COG напоминает классическое частотно-временное перераспределение. Шире ознакомиться с этим методом можно, обратившись к [см. А. Fulop and K. Fitz, "Algorithms for computing the time-corrected instantaneous frequency (reassigned) spectrogram, with applications" (Алгоритмы расчета спектрограммы мгновенной частоты, скорректированной по времени, (перераспределенной) и их применение). Journal of the Acoustical Society of America, vol. 119, p.360-371, 2006]. По существу, при время-частотном перераспределении обычная частотно-временная сетка стандартного кратковременного (оконного) преобразования Фурье (ОПФ) смещается на спектрограмме в сторону скорректированной по времени мгновенной частоты, обнаруживая временные и спектральные уплотнения энергии, которые локализуются в данном случае лучше, чем на спектрограмме ОПФ с компромиссным частотно-временным разрешением. Часто параметры перераспределения используют как оптимизированные входные данные для последующего парциального мониторинга [см. K. Fitz and L. Haken, "On the use of time-frequency reassignment in additive sound modeling" ("О применении время-частотного перераспределения в аддитивном звуковом моделировании"), Journal of the Audio Engineering Society, vol. 50(11), p.879-893, 2002].
Другие публикации по данной тематике ставят задачу оценивания кратных опорных частот путем группирования гармонически связанных спектральных пиков в обособленные источники [см. A Klapuri, "Signal Processing Methods For the Automatic Transcription of Music" ("Методы обработки сигналов для автоматического музыкального транскрибирования"), Ph.D. thesis, Tampere University of Technology, 2004; Chunghsin Yeh, "Multiple fundamental frequency estimation of polyphonic recordings" ("Оценивание кратных опорных частот в полифонических фонограммах"), Ph.D. thesis, Ecole doctorale edite, Universite de Paris, 2008)]. Однако для сложных музыкальных фонограмм, скомпилированных из множества источников, такой подход не может быть применен.
В некоторых случаях в обработке сигналов могут быть задействованы вокодеры. Один из подклассов устройств кодирования речевой информации составляют фазовые вокодеры. По фазовым вокодерам вышло в свет пособие: "The Phase Vocoder: A tutorial" ("Фазовый вокодер: руководство"). Mark Dolson, Computer Music Journal, Volume 10, No.4, pages 14 to 27, 1986. Еще одно тематическое издание - это "New phase vocoder techniques for pitch-shifting, harmonizing and other exotic effects" ("Новые технологии фазового вокодера для изменения основного тона, гармонизации и других экзотических эффектов") L. Laroche and M. Dolson, proceedings 1999, IEEE workshop on applications of signal processing to audio and acoustics. New Paltz, New York, October 17 to 20, 1999, pages 91 to 94.
Фиг.17 и 18 иллюстрируют варианты конструктивных решений и приложений фазового вокодера известного уровня техники.
На фиг.17 показана схема реализации банка фильтров фазового вокодера 1700, где на вход 500 подается исходный аудиосигнал, а на выход 510 поступает синтезированный аудиосигнал. В частности, каждый канал банка фильтров на фиг.17 имеет в своем составе полосовой фильтр 501 и последовательно соединенный с ним осциллятор 502. Выходные сигналы всех осцилляторов 502 по всем каналам суммируются с помощью сумматора 503. Сумматор 503 формирует и выдает выходной сигнал 510.
Каждый фильтр 501 генерирует, во-первых, сигнал с амплитудным кодированием A(t), и, во-вторых, сигнал с частотным кодированием f(t). Как амплитудный, так и частотный сигналы представлены во временной области. Сигнал с амплитудным кодированием отображает поведение во времени амплитуды в пределах полосы пропускания фильтра, а сигнал с частотным кодированием отражает изменение во времени частоты сигнала на выходе фильтра.
На фиг.18 показана принципиальная схема фильтра 501. Входной сигнал делится на два параллельных тракта. Сигнал одного из трактов умножается на синусоиду с амплитудой 1,0 и с частотой, равной средней частоте полосового фильтра, что отражено элементом 551, Сигнал второго тракта умножается на косинусоиду с такой же амплитудой и частотой, что также отражено элементом 551. Таким образом, два параллельных тракта идентичны друг другу, за исключением фазы множительной волны. Затем, произведение от умножения по каждому тракту вводится в фильтры низких частот 553. Сама операция умножения известна также как простая кольцевая модуляция. Умножение любого сигнала на синусоидальную или косинусоидальную волну постоянной частоты приводит к одновременному смещению всех частотных составляющих исходного сигнала в сторону как плюса, так и минуса значения частоты гармоники. Если полученный результат пропустить через соответствующий низкочастотный фильтр, сохранится только низкочастотная компонента. Такая последовательность действий известна еще как гетеродинирование. Гетеродинирование осуществляется по каждому из обоих параллельных трактов, но, поскольку по одному тракту генерируются синусоидальные колебания, а по второму - косинусоидальные, результирующие гетеродинированные сигналы по двум этим трактам расходятся по фазе на 90°. Следовательно, верхний [на схеме] фильтр низких частот 553 генерирует прямоугольный сигнал 554, а нижний фильтр 553 формирует синфазный сигнал [555]. Эти два сигнала, именуемые также сигналами I и Q, передаются в преобразователь координат 556, который трансформирует ортогональное представление в амплитудно-фазовое представление.
Сигнал с амплитудным кодированием, соответствующий A(t) на фиг.17, поступает на выход 557. Фазовый сигнал вводится в блок развертывания фазы 558. На выходе блока 558 фазовое значение находится не в диапазоне от 0 до 360°, а линейно возрастает. Это "развернутое" фазовое значение вводится в фазочастотный преобразователь 559, который может быть реализован, например, в виде вычислителя разности фаз, который вычитает из фазы текущего момента времени фазу предшествующего момента времени с получением показателя частоты в текущий момент времени.
Это значение частоты складывается с постоянным значением частоты f; канала фильтра i для получения меняющегося во времени значения частоты на выходе 560.
i
Частота на выходе 560 имеет постоянную составляющую F; и переменную, называемую "флуктуацией частоты", отображающей отклонения текущей частоты сигнала в канале фильтра от среднего значения частоты F.
i
Таким образом, как показано на фиг.5 и 6, фазовый вокодер разделяет спектральные и временные данные. Данные спектра содержатся в специальном канале банка фильтров и в показателе частоты f, а данные времени включены в показатели флуктуации частоты и амплитуды во времени.
По-другому фазовый вокодер может быть интерпретирован через преобразование Фурье. Такая трактовка включает в себя ряд последовательно перекрывающих преобразований Фурье, выполняемых с использованием окон с конечной продолжительностью. При разложении по Фурье внимание фокусируется на значениях амплитуды и фазы для всех полос пропускания фильтра или шагов частотного разрешения в отдельно взятый момент времени. Если в варианте с банком фильтров ресинтез представляет собой классический пример аддитивного синтеза с подстройкой варьируемых во времени амплитуды и частоты по каждому гетеродину, то синтез по Фурье выполняется через реконструкцию реально-виртуальной формы с суммированием и наложением последовательных обратных преобразований Фурье. При разложении Фурье количество полос пропускания фильтра фазового вокодера совпадает с числом точек в преобразовании Фурье. Подобно этому, равномерная разбивка по частоте каждого фильтра может быть принята как основная особенность преобразования Фурье. Вместе с тем, конфигурация полос пропускания фильтров, то есть крутизна срезов их границ, определяется формой оконной функции, приложенной перед оцифровкой. Если брать форму представляющего параметра, например оконной функции Хэмминга, крутизна спада частотной характеристики фильтра возрастает прямо пропорционально длительности окна.
Следует обратить внимание на то, что два разных вида анализа фазового вокодера применены только при реализации банка полосовых фильтров. Выходные параметры этих фильтров выражены в виде варьирующихся во времени амплитуд и частот с помощью одной и той же операции для обоих технических решений. Главная цель фазового вокодера - сепарировать временную и спектральную информацию. Оперативная задача состоит в разделении сигнала на ряд полос спектра и в описании характеристик изменяющегося во времени сигнала в каждой полосе.
Решающее значение здесь имеют две основные операции: масштабирование времени и транспонирование основного тона. Записанную фонограмму всегда просто воспроизвести в замедленном темпе за счет считывания ее с пониженной частотой дискретизации. Это похоже на проигрывание магнитной записи на замедленной скорости. Однако при столь примитивном способе продления времени звучания основной тон понижается в том же соотношении, в каком увеличивается время. Замедление эволюции звука без изменения частоты основного тона требует четкого разграничения временной и спектральной информации. Как уже отмечалось выше, это - именно то, на что направлено действие фазового вокодера. Удлинение меняющихся во времени сигналов с амплитудным и частотным кодированием A(t) и f(t), как показано на фиг.5а, никак не влияет на частоту индивидуальных осцилляторов, замедляя при этом извлечение сложного по составу звука. Результатом является продленное звучание с исходным основным тоном. Согласно преобразованию Фурье процедура масштабирования времени такова, что при необходимости продления времени звучания инверсные БПФ просто могут быть разнесены дальше, чем БПФ анализа. В итоге в данной реализации спектральные изменения в синтезируемом звуке происходят медленнее, чем в оригинальном, а перемасштабирование фазы выполняется ровно с тем же коэффициентом, с каким продлен звук.
Другим приложением является транспонирование основного тона. Поскольку фазовый вокодер может изменять продолжительность звукового сигнала, не меняя частоту его основного тона, выполнимо и противоположное преобразование, а именно изменение основного тона при сохранении длительности звучания. Высота тона модифицируется путем применения требуемого коэффициента в пределах взятой шкалы времени с последующим воспроизведением полученного звукового сигнала с частотой дискретизации, умноженной на тот же коэффициент. Например, чтобы поднять основной тон на одну октаву, необходимо сначала увеличить продолжительность звукового сигнала, применив коэффициент 2, после чего воспроизвести его с частотой дискретизации, вдвое превышающей первоначальную.
th
14
Применение вокодеров для обработки аудиосигналов показано, например, в: Sascha Disch, Bemd Edier: "An Amplitude-and-Frequency-Modulation Vocoder for Audio Signal Processing" ("Применение амплитудной и частотной модуляции в вокодере для обработки аудиосигнала"). Proceedings of the 11 International Conference on Digital Audio Effects (DAFx-08), Espoo, Finland, September 1-4, 2008. В этой публикации предлагается оценивать кандидатные (candidate) локальные центры тяжести путем нахождения положительно-отрицательных переходов в функции позиции центра тяжести. Для этого функцию позиции центра тяжести вычисляют для каждой величины спектра (например, для каждой амплитуды или каждого значения плотности мощности) для каждого временного блока аудиосигнала. В данном контексте речь идет о блоках величиной N=2 точек при частоте дискретизации 48 кГц. Вследствие этого вычислительная трудоемкость оценивания кандидатных локальных центров тяжести очень высока.
Кроме того, необходима процедура постселекции, обеспечивающая примерную равноудаленность позиций оцененных центров тяжести на перцептуальной шкале.
Целью настоящего изобретения является усовершенствование способа определения множества частот локальных центров тяжести спектра звукового сигнала с целью снижения его вычислительной трудоемкости.
Поставленная задача решается с помощью устройства по п.1 и способа по п.20 формулы изобретения.
Конструктивное решение данного изобретения представляет собой устройство для определения множества частот локальных центров тяжести спектра звукового сигнала. Устройство имеет в своем составе определитель смещения (/сдвига), определитель частоты и контроллер итерации. Определитель смещения устанавливает частоту смещения для каждой частоты старта итерации из множества стартовых частот итерации в спектре аудиосигнала, где количество дискретных значений спектра превышает количество показателей начала итерации. Определитель частоты выбирает новое множество стартовых частот итерации путем повышения или понижения каждой частоты старта итерации из множества частот старта итерации на соответствующую установленную частоту смещения. Далее, контроллер итерации пересылает новый набор частот начала итерации на определитель смещения для последующей итерации или в том случае, если выполнено заданное условие конца итерирования, представляет совокупность частот локального центра тяжести, эквивалентную новому множеству частот начала итерации.
В основе предлагаемых конструктивных решений лежит главная идея изобретения, в соответствии с которой частоты смещения устанавливают как набор частот начала итерации, а затем начальные частоты итерации корректируют с помощью выделенных среди них частот смещения. Это повторяется многократно до тех пор, пока не будет выполнено заданное условие конца процедуры. В силу того, что количество частот начала итерации меньше количества отсчетов спектра, вычислительная сложность значительно снижается в сравнении с другими известными подходами.
14
Скажем, число частот начала итерации может быть между 10 и 100. Это значительно меньше числа дискретов N=2, упомянутого выше. В приведенном примере вычислительная трудоемкость может быть сокращена более чем в 100 раз.
Дополнительно, может быть легко приведено в соответствие спектральное разрешение путем варьирования количества стартовых частот итерации и/или подбором параметров вычисления частоты смещения.
В ряде реализации изобретения применимо совмещение частот с использованием совместителя частот. Совместитель частот объединяет две смежные частоты из множества частот начала итерации, если интервал между ними меньше минимального шага по частоте.
Некоторые варианты конструкции изобретения включают в себя дополнитель частоты. Дополнитель частоты вводит в набор инициирующих частот итерации дополнительную частоту старта итерации, если интервал между двумя соседними частотами начала итерации превышает максимальный частотный шаг. В частности, это может быть применено в случае, когда инициализация выполняется по оценке предыдущего (по времени) блока.
Многие конструктивные решения по данному изобретению относятся к предлагаемому здесь же способу определения совокупности частот локального центра тяжести спектра аудиосигнала. Способ заключается в определении частоты смещения для каждой стартовой частоты итерации из множества частот инициализации итерации, в определении нового множества стартовых частот итерации и обеспечении новой совокупности стартовых частот итерации для выполнения следующего итеративного вычисления или в предоставлении набора частот локального центра тяжести. Частота смещения для каждой частоты из множества частот старта итерации определяется на базе спектра аудиосигналов, где количество дискретных значений спектра превышает количество частот запуска итерации. Новая совокупность стартовых частот итерации определяется путем повышения или понижения каждой из множества частот старта итерации на установленную частоту смещения. При удовлетворении заданным условиям совокупность частот локального центра тяжести предусматривает занесение ее в память, дальнейшую передачу или последующую обработку. Для этого множество частот локального центра тяжести должен быть равен новому множеству частот инициализации итерации.
В некоторых осуществлениях совокупность частот локального центра тяжести, определенных для предшествующего временного блока аудиосигнала, используют в качестве частот старта первой итерации следующего временного блока аудиосигнала. В таких случаях большие интервалы между стартовыми частотами итерации может заполнять дополнитель частот.
Далее варианты технических решений в рамках предлагаемого изобретения представлены более детально в форме описания прилагаемых фигур, где:
фиг.1 представляет собой принципиальную блок схему определителя совокупности частот локального центра тяжести;
фиг.2 представляет собой принципиальную блок схему определителя совокупности частот локального центра тяжести;
фиг.3 представляет собой принципиальную блок схему определителя совокупности частот локального центра тяжести с предварительной обработкой;
фиг.3а представляет собой диаграмму полного спектра в сопоставлении со сглаженным линейным спектром;
фиг.4 схематически отображает оценки локальных центров тяжести фрагмента спектра двух отдельных тонов;
фиг.5 схематически отображает оценки локальных центров тяжести фрагмента спектра двух ритмических тональных сигналов;
фиг.6 схематически отображает оценки локальных центров тяжести фрагмента спектра звучания перебора струн;
фиг.7 схематически отображает оценки локальных центров тяжести фрагмента спектра звучания оркестра;
фиг.8 представляет собой блок-схему адаптивного банка фильтров;
фиг.9 схематически отображает сегментацию полосы пропускания по локальным центрам тяжести фрагмента спектра мощности звучания перебора струн;
фиг.10 схематически отображает сегментацию полосы пропускания по локальным центрам тяжести фрагмента спектра мощности звучания оркестра;
фиг.11 представляет собой принципиальную схему преобразователя аудиосигнала в параметрическое представление;
фиг.12 представляет собой принципиальную схему преобразователя аудиосигнала в параметрическое представление;
фиг.12а представляет собой принципиальную схему преобразователя аудиосигнала в параметрическое представление;
фиг.13а представляет собой принципиальную схему блока синтеза;
фиг.13b отображает схему для изменения тональности полифонического звучания;
фиг.13с отображает схему квинтового круга;
фиг.14 представляет собой блок-схему способа определения множества частот локального центра тяжести;
фиг.15 представляет собой блок-схему способа определения множества частот локального центра тяжести;
фиг.15а отображает схему итерации при оценивании центра тяжести;
фиг.16 представляет собой блок-схему алгоритма добавления стартовой частоты итерации;
фиг.17 отображает схему устройства синтезирующее - анализирующего вокодера известного уровня техники; и
фиг.18 отображает схему устройства фильтра, входящего в конструкцию на фиг.17, на известном уровне техники.
Далее, для объектов и функциональных блоков, одинаковых или схожих по своим функциональным свойствам, и для их описания на разных фигурах во избежание избыточности вспомогательной информации будут частично использоваться одинаковые номера ссылок.
На фиг.1 представлена принципиальная блок схема устройства 100 для определения множества частот локального центра тяжести 132 спектра 102 аудиосигнала в соответствии с предлагаемым изобретением. В конструкцию устройства 100 введены определитель смещения 110, определитель частоты 120 и контроллер итерации 130. Определитель смещения 110 соединен с определителем частоты 120, определитель частоты 120 соединен с контроллером итерации 130, и контроллер итерации 130 соединен с определителем смещения 110. Определитель смещения 110 выделяет в спектре 102 аудиосигнала частоту смещения 112 для каждой из множества частот старта итерации. Спектр 102 представлен дискретными значениями, количество которых больше количества частот начала итерации. Определитель частоты 120 задает новую совокупность стартовых частот итерации 122, повышая или понижая каждую из множества частот начала итерации на соответствующую установленную частоту смещения 112. Затем контроллер итерации 130 пересылает новый набор частот старта итерации 122 на определитель смещения 110 для обеспечения дальнейшего итерирования.
И альтернативно или дополнительно, если выполнено введенное условие останова итерации, формируется множество частот локального центра тяжести 132, равное или заданное равным новому множеству частот старта итерации 122.
Так как количество частот, инициирующих итерацию, меньше количества дискретных отсчетов спектра, вычислительная трудоемкость определения множества частот локального центра тяжести 132 снижается по сравнению с методами установления частот локального центра тяжести на основе функций, вычисляемых для каждого дискретного значения спектра.
Разрешающая способность и/или точность определения частоты локального центра тяжести может быть адаптирована к каждому конкретному случаю путем варьирования количества частот начала итерации и/или параметров вычисления частоты смещения. За счет этого меняется также вычислительная трудоемкость, но, в силу того, что количество стартовых частот итерации чаще всего не превышает число дискретов спектра, может быть гарантирована низкая вычислительная сложность.
9
20
Дискретными величинами спектра 102 могут быть, скажем, амплитудно-частотные характеристики спектра, значения спектральной плотности мощности или другие показатели, полученные преобразованием аудиосигнала по Фурье. Число отсчетов спектра 102 во фрейме аудиосигнала может находиться, например, между 1000 и 100000 или между 2 and 2. В противоположность этому, количество стартовых частот итерации может лежать, допустим, между 5 и 500. Благодаря значительной количественной разнице между дискретными значениями спектра 102 и частотами инициации итерирования существенно снижается вычислительная стоимость в сравнении с другими известными подходами.
Частота локального центра тяжести 132 может представлять собой частоту, где спектр 102 аудиосигнала может содержать, например, максимальную амплитуду или скопление амплитуд или наибольшую плотность мощности или верхний экстремум другого значения, выведенного в результате Фурье-преобразования аудиосигнала.
Например, для выполнения первой итерации множество стартовых частот итерации может быть распределено по спектру 102 или равномерно, или согласно заданной функции распределения, или в произвольном порядке. Используя спектр 102 и частоты инициации итерирования, определитель смещения 110 находит частоты смещения 112, которые могут служить показателем удаленности частоты старта итерации от локального центра тяжести. На основании полученных данных определитель частоты 120 компенсирует расстояние между локальным центром тяжести и частотой старта итерации, повышая или понижая (в зависимости от положительного или отрицательного значения частоты смещения) частоту начала итерации на соответствующие вычисленные частоты смещения. Затем обновленный набор стартовых частот итерации 122 передается на определитель смещения 110 для дальнейшего итерирования или, если достигнут заданный предел итерации, используется для определения совокупности частот локального центра тяжести 132.
Устройство 100 способно определять множество частот локального центра тяжести 132 для каждого из множества временных блоков аудиосигнала. Другими словами, аудиосигнал может обрабатываться временными блоками. Для каждого временного блока с помощью преобразования Фурье может быть сгенерирован спектр 102 и определена совокупность частот локального центра тяжести 132.
Вводимыми критериями останова итерации могут быть, например, каждая частота смещения, ниже максимальной частоты смещения, сумма всех частот смещения, меньшая максимальной суммы частот смещения, или сумма частоты смещения, заданной для текущего блока времени, и частоты смещения, заданной для предыдущего блока времени, меньшая порогового показателя смещения.
Спектр 102, поступающий на определитель смещения 110, может иметь как линейное, так и логарифмическое представление. Например, множество частот начала итерации может быть распределено эквидистантно по логарифмическому спектру 102 для выполнения первой итерации и задания закономерности определения множеств частот локальных центров тяжести 132 таким образом, чтобы они распределялись в перцептуальном масштабе.
Определитель смещения 110, определитель частоты 120 и контроллер итерации 130 могут быть реализованы как обособленные единицы аппаратного обеспечения, как элементы устройства цифровой обработки сигналов, микроконтроллера или компьютера или в виде компьютерной программы или программного обеспечения, предназначенных для выполнения с использованием микроконтроллера или компьютера.
На фиг.2 представлена принципиальная модульная схема реализации устройства 200 для определения множества частот локальных центров тяжести 132 спектра 102 аудиосигнала в соответствии с настоящим изобретением. Устройство 200 аналогично устройству [100] на фиг.1, кроме того, что оно расширено дополнителем частот 210, совместителем частот 220 и компенсатором частот 230. В этом примере определитель частоты 120 соединен с компенсатором частот 230, компенсатор частот 230 соединен с контроллером итерации 130, контроллер итерации 130 соединен с дополнителем частот 210, дополнитель частот 210 соединен с совместителем частот 220, и совместитель частот 220 соединен с определителем смещения 110. Как вариант, позиции дополнителя частот 210 и совместителя частот 220 могут быть изменены, и/или компенсатор частоты 230 может быть размещен между контроллером итерации 130 и дополнителем частот 210, между дополнителем частот 210 и совместителем частот 220 или между уплотнителем частот 220 и определителем смещения 110.
Дополнитель частот 210 вводит в новое множество стартовых частот итерации 122 дополнительную частоту старта итерации, если интервал между двумя смежными частотами начала итерации в данном новом множестве стартовых частот итерации 122 больше максимального интервала между частотами. При этом интервал между частотами и максимальный интервал между частотами могут измеряться по линейной или по логарифмической шкале.
Иначе говоря, дополнитель частот 210 вводит добавочную частоту начала итерации, если промежуток между двумя соседними стартовыми частотами итерации слишком большой. Особый интерес может представлять, например, ситуация, когда множество частот локального центра тяжести 132, определенное для текущего блока времени, передается на определитель смещения 110 для использования в качестве совокупности стартовых частот итерации для первой итерации следующего временного блока. Однако и в ходе итерирования одного временного блока также может быть добавлена частота старта итерации.
Совокупность частот локального центра тяжести может использоваться как база для генерации нового множества частот пуска итерирования.
Стартовые частоты набора первой итерации временного блока могут быть распределены, например, равномерно относительно друг друга, как описано выше, или частоты совокупности локального центра тяжести 132, определенные для предшествующего временного блока аудиосигнала, могут использоваться в качестве стартовых частот первой итерации текущего временного блока.
Совместитель частот 220 объединяет две смежные частоты начала итерации из нового набора стартовых частот итерации 122, если интервал между этими двумя частотами меньше минимального шага частот. Повторим, что интервал между частотами и минимальный шаг частот могут быть представлены в линейном или в логарифмическом масштабе.
Иными словами, совместитель частот 220 может заместить две соседние стартовые частоты итерации одной частотой старта итерации, если расстояние между ними ниже установленного предела.
Компенсатор частот 230 удаляет из нового набора стартовых частот итерации 132 частоту старта итерации, если данная частота превышает заданный верхний экстремум частоты спектра 102 аудиосигнала, или если эта частота старта итерации ниже заданного нижнего экстремума частоты спектра 102 аудиосигнала. Например, задаваемой максимальной частотой может быть самая высокая частота в составе спектра 102, а задаваемой минимальной частотой может быть самая низкая частота в спектре 102.
Говоря иначе, компенсатор частот 230 удаляет частоты пуска итерации из нового множества стартовых частот итерации 122, если они расположены за пределами частотного диапазона спектра 102 аудиосигнала.
Дополнитель частот 210 и компенсатор частот 230 являются факультативными компонентами устройства 200.
Дополнитель частот 210, совместитель частот 220 и компенсатор частот 230 могут быть реализованы как модульные аппаратные средства или интегрированы, как упомянутые выше определитель смещения 110, определитель частоты 120 и контроллер итерации 130.
На фиг.3 показана принципиальная модульная схема устройства 300 для определения совокупности частот локального центра тяжести 132 спектра 102 аудиосигнала 302 согласно данному изобретению. Устройство 300 аналогично устройству на фиг.1, кроме того, что в него дополнительно введен препроцессор 310. Препроцессор 310 соединен с определителем смещения 110. Препроцессор 310 генерирует частотный спектр Фурье для временного блока аудиосигнала 302 и на базе частотного спектра Фурье временного блока генерирует сглаженный спектр. Затем, препроцессор 310 генерирует спектр 102 аудиосигнала 302 для передачи на определитель смещения 110 выполняя деление частотного спектра Фурье на сглаженный спектр. После этого препроцессор 310 преобразует спектр в логарифмическое представление и передает логарифмический спектр 102 на определитель смещения 110. И наоборот, препроцессор 310 может преобразовывать частотный спектр Фурье в логарифмический масштаб перед генерацией сглаженного спектра и перед выполнением деления частотного спектра Фурье на сглаженный спектр.
В ряде конструктивных решений для каждого (временного) блока сигнала спектральную плотность мощности (psd) оценивают, вычисляя спектральную энергию ДПФ [дискретного преобразования Фурье]. В дальнейшем для устранения глобального тренда спектральную плотность мощности (psd/спм) нормализуют по сглаженной спм, вычисленной, например, путем подстановки полинома низкого порядка с выполнением кепстрального сглаживания или путем фильтрации в частотном направлении. Перед выполнением деления обе величины также могут быть временно сглажены, например, с помощью БИХ-фильтра первого порядка с постоянной времени, скажем, 200 мс. Затем спм предварительно переносят на перцептуальную (логарифмическую) шкалу для упрощения фрагментации спектра на неравномерные частотные полосы, соответствующие слуховому восприятию, и для нахождения их центров тяжести (COG). За счет этого задача сводится к приведению ряда примерно одинаковых сегментов в соответствие с позициями оцененных локальных центров тяжести сигнала. В качестве перцептуальной шкалы может быть применена шкала ЭППП, обеспечивающая лучшее спектральное разрешение низких частот, чем, скажем, шкала БАРКов (см. В.С.J. Moore and В.R. Glasberg "A revision of Zwicker's loudness model" ["Пересмотр модели громкости Цвикера"] Acta Acustica, vol. 82, p.335-345, 1996"). При этом также может использоваться шкала барков. Преобразованный спектр может быть построен интерполяцией равномерно дискретизированного спектра в направлении спектральных отсчетов, имеющих шаг, соответствующий шкале ЭППП (ERB) (см. уравнение 2).
<mrow><mtext>ERB(f)</mtext><mo>=</mo><mtext>21</mtext><msub><mrow><mtext>.4log</mtext></mrow><mrow><mtext>10</mtext></mrow></msub><mtext>(0</mtext><mtext>.00437f</mtext><mo>+</mo><mtext>1)</mtext><mtext> </mtext><mtext>(2)</mtext></mrow>
Альтернативно оценку спектральной плотности мощности (спм/psd) для каждого блока сигнала получают вычислением спектральной энергии ДПФ. Далее, спм предварительно переносят на перцептуальную шкалу для упрощения сегментации спектра на перцептуально адаптированные неравномерные частотные полосы с заданными центров тяжести (COG). Благодаря этому проблема упрощается до упорядочения ряда приблизительно одинаковых сегментов в соответствии с позициями оцененных локальных центров тяжести сигнала. В качестве перцептуальной шкалы может быть применена шкала ЭППП, что обеспечивает лучшее спектральное разрешение низких частот, чем, например, шкала БАРКов. Картированный спектр рассчитывают с применением интерполяции равномерно дискретизированного спектра в направлении спектральных отсчетов, имеющих период, соответствующий шкале ЭППП (ERB) (см. уравнение 2).
Впоследствии для устранения глобального тренда, характерного для спектров реальных звуков, картированную спм нормализуют в соответствии с основной тенденцией, которую рассчитывают линейной регрессией, минимизируя критерий наименьших квадратов. Перед делением обе величины временно сглаживают с помощью, например, БИХ-фильтров первого порядка H(z), каждый из которых имеет константу времени, например, τ=200 мс, как определено уравнениями 2а, где Т - период отсчетов подполосы ДПФ, полученный умножением входного периода дискретизации на шаг по времени ДПФ.
<mtable columnalign="left"><mtr><mtd><mi>H</mi><mo stretchy="false">(</mo><mi>z</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msub><mi>a</mi><mn>1</mn></msub><msup><mi>z</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mi>a</mi><mn>1</mn></msub><mo>=</mo><mi>exp</mi><mo stretchy="false">(</mo><mo>−</mo><mfrac><mi>T</mi><mi>τ</mi></mfrac><mo stretchy="false">)</mo><mtext> </mtext><mo stretchy="false">(</mo><mn>2</mn><mi>a</mi><mo stretchy="false">)</mo></mtd></mtr></mtable>
Эти шаги предварительной обработки могут предотвратить глобальный сдвиг к низким частотам при последующем итерировании позиции COG и стабилизировать оцененные позиции для последовательных временных блоков, соответственно.
На фиг.3а на диаграмме 350 в качестве примера сопоставлены полное графическое 360 и сглаженное линейное 370 представления спектра.
Препроцессор 310 может быть реализован как отдельная схемотехническая единица, как элемент устройства цифровой обработки сигналов, как микропроцессор или компьютер, или осуществлен в виде программного обеспечения.
На фиг.15 дана блок-схема алгоритма 1500 определения множества частот локального центра тяжести спектра аудиосигнала для реализации в соответствии с предлагаемым изобретением. Алгоритм 1500 детализирует вариант процедуры итеративного оценивания центра тяжести, описанной выше.
Для каждого временного блока k может быть инициирован упорядоченный перечень 1510 с равномерно разбитой сеткой из N кандидатных позиций с(n) через интервал S. Параметр S задает спектральное разрешение оценок, полученных в ходе итерационного процесса. Если перефразировать, то параметр S определяет предполагаемый локальный объем оценивания центра тяжести COG. с
<mtable columnalign="left"><mtr><mtd><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>n</mi><mi>S</mi></mtd></mtr><mtr><mtd><mi>n</mi><mo>∈</mo><mo stretchy="false">[</mo><mn>1,2</mn><mo>…</mo><mo>,</mo><mi>N</mi><mo stretchy="false">]</mo><mtext> </mtext><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Например, при длине временного блока 2^14 отсчетов спектр ДПФ состоит из 2^13+1 отсчет. Это соответствует представлению шкалы ЭППП, также имеющей 2^3+1 отсчет. Если выбрать разрешение COG эквивалентным 0,5 ЭППП, получим S=47 отсчетам при частоте дискретизации 48 кГц и, следовательно, N=174 исходным кандидатным равноудаленным точкам. Скажем, итерацией определено 40-50 окончательных позиций COG. Общее число конечных позиций COG зависит от характеристик сигнала, весов g(i) и разрешения COG, измеренного в ЭППП (см. также уравнения 4). Например, ощутимыми для разрешения COG будут значения в интервале 0,1-1 ЭППП.
Процедура итерирования состоит из двух циклов. В первом цикле 1410 вычисляют смещение posOff(n) кандидатной позиции с(п) от истинного локального центра тяжести, применяя линейную функцию с наклоном от отрицательного к положительному значению размером 2S, взвешенную g(i), к каждой кандидатной позиции п на предварительно оцененной psd блока сигнала (см. уравнения 4).
<mtable columnalign="left"><mtr><mtd><mi>p</mi><mi>o</mi><mi>s</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mstyle displaystyle="true"><mo>∑</mo><mrow><msub><mrow /><mi>i</mi></msub><mo stretchy="false">(</mo><msub><mi>w</mi><mi>n</mi></msub><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi>i</mi><mi>d</mi><mi>x</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow></mstyle></mrow><mrow><mstyle displaystyle="true"><mo>∑</mo><mrow><msub><mrow /><mi>i</mi></msub><msub><mi>w</mi><mi>n</mi></msub><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow></mfrac></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>w</mi><mi>n</mi></msub><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>=</mo><mi>p</mi><mi>s</mi><mi>d</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>i</mi><mi>d</mi><mi>x</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>⋅</mo><mi>g</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>i</mi><mi>d</mi><mi>x</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>=</mo><mi>i</mi><mo>−</mo><mi>S</mi><mo>+</mo><mn>0.5</mn></mtd></mtr><mtr><mtd><mi>i</mi><mi>d</mi><mi>x</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mi>x</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>i</mi><mo>∈</mo><mo stretchy="false">[</mo><mn>0,1,2</mn><mo>…</mo><mn>,2</mn><mi>S</mi><mo>−</mo><mn>1</mn><mo stretchy="false">]</mo><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Иначе говоря, определитель смещения 110 может определять частоту смещения, называемую также смещением позиции, на основании множества дискретных значений спектра (в данном примере - значений спектральной плотности мощности), множества соответствующих значений весового показателя g(i) и соответствующих значений параметра расстояния idxOff (i). Значения расстояния могут быть равноудаленными друг от друга на логарифмической шкале, где все величины параметра расстояния меньше, чем максимальное значение расстояния (в приведенном примере - S). Далее, параметр расстояния может иметь положительные или отрицательные значения, как, например, видно из уравнения 4. Весовой параметр может основываться на взвешивающей функции, например, в форме прямоугольника или окна с более или менее крутыми срезами. За счет этого снижается влияние больших пиков вдали от частоты старта итерации (в этом примере называемая также кандидатной), для которой в данный момент определяется частота смещения. Другими словами, значения весового параметра могут быть одинаковыми (допустим, для прямоугольника), или могут уменьшаться для увеличения абсолютных величин соответствующего параметра расстояния (например, чтобы ослабить влияние пиков с большим интервалом).
На фигуре 15а отображен порядок определения смещения кандидатной позиции posOff(n). Диаграмма из вертикальных стержней 1590 соответствует дискретам Wn(i) спектральной плотности мощности (psd) с центром в кандидатной позиции с(n), взвешивающая функция представлена величинами g(i), и линейная функция наклонной прямой обозначена как idxOff(i).
На следующем шаге (см. уравнение 5) все кандидатные позиции перечня корректируют 1420 смещением их позиции.
<mrow><mtext>c(n):</mtext><mo>=</mo><mtext>c(n)</mtext><mo>+</mo><mtext>posOff(n)</mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext>(5)</mtext></mrow>
Каждая кандидатная позиция, выходящая за заданные границы (частоты, выше максимальной и ниже минимальной частот спектра), исключается 1525 из перечня, как следует из (6), и количество оставшихся кандидатных позиций N сокращается на 1.
<mtable columnalign="left"><mtr><mtd><mi>i</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo><</mo><mi>S</mi><mo stretchy="false">)</mo><mo>∨</mo><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>></mo><mi>N</mi><mi>S</mi><mo stretchy="false">)</mo><mo>→</mo></mtd></mtr><mtr><mtd><mi>c</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>:</mo><mo>=</mo><mi>c</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>∀</mo><mi>x</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>n</mi><mo>+</mo><mn>1,</mn><mo>…</mo><mo>,</mo><mi>N</mi><mo>−</mo><mn>1</mn><mo stretchy="false">]</mo></mtd></mtr><mtr><mtd><mi>N</mi><mo>:</mo><mi>N</mi><mo>−</mo><mn>1</mn><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Если абсолютная величина суммы фактического и предшествующих смещений кандидатной позиции, как определено в (7а), меньше установленного порога, эта кандидатная позиция с(n) не корректируется в последующих итерациях, а сохраняется в перечне и таким образом участвует в дальнейшем механизме фузии „кандидатур".
<mrow><mi>s</mi><mi>u</mi><mi>m</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>p</mi><mi>o</mi><mi>s</mi><mi>O</mi><mi>f</mi><msub><mi>f</mi><mi>k</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>p</mi><mi>o</mi><mi>s</mi><mi>O</mi><mi>f</mi><msub><mi>f</mi><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mtext> </mtext><mo stretchy="false">(</mo><mn>7</mn><mi>a</mi><mo stretchy="false">)</mo></mrow>
Если |sum0ff(n)| всех кандидатур меньше установленного порога (см. уравнение 7b), первый цикл итерации завершается 1440, прерывая процесс итерирования. Все оставшиеся в реестре кандидатуры составляют окончательную совокупность оценок позиций COG. Следует обратить внимание, что этот тип условия также прерывает итерацию в случае, если смещения позиции многократно переключаются между двумя значениями, всегда однозначно приводя к завершению.
<mrow><mi>max</mi><mo stretchy="false">(</mo><mo>|</mo><mi>s</mi><mi>u</mi><mi>m</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>|</mo><mo stretchy="false">)</mo><mo><</mo><mi>t</mi><mi>h</mi><mi>r</mi><mi>e</mi><mi>s</mi><mn>1</mn><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>7</mn><mi>b</mi><mo stretchy="false">)</mo></mrow>
Иначе следующий этап итерации может быть выполнен при скорректированных кандидатных позициях 1520.
Например, порог thres1 может быть задан равным или меньшим, чем один отсчет (2 отсчета, 5 отсчетов или 10 отсчетов).
Второй цикл итеративно объединяет 1540 две ближайшие (до определенной степени сближения) кандидатные позиции, нарушающие 1570 установленное ограничение близости из-за корректировки позиции в ходе первого цикла, в одну новую кандидатную позицию, за счет этого обеспечивая перцептивную фузию. Степень близости prox2 1530 - это спектральный интервал между двумя кандидатными позициями (см. уравнения 8).
<mtable columnalign="left"><mtr><mtd><mi>p</mi><mi>r</mi><mi>o</mi><mi>x</mi><mn>2</mn><mo><</mo><mi>t</mi><mi>h</mi><mi>e</mi><mi>s</mi><mn>2</mn></mtd></mtr><mtr><mtd><mi>p</mi><mi>r</mi><mi>o</mi><mi>x</mi><mn>2</mn><mo>=</mo><mrow><mo>|</mo><mrow><mi>c</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>−</mo><mi>c</mi><mrow><mo>(</mo><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mo>|</mo></mrow></mtd></mtr><mtr><mtd><mi>t</mi><mi>h</mi><mi>e</mi><mi>s</mi><mn>2</mn><mo>:</mo><mo>=</mo><mi>S</mi><mtable><mtr><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd></mtr></mtable><mtable><mtr><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd><mtd><mrow /></mtd></mtr></mtable><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mtd></mtr></mtable>
Например, заданная величина порога thres2 может быть S отсчетов, S/2 отсчетов, 2S отсчетов или иной между 1 отсчетом и 10S отсчетами.
Каждая вновь рассчитанная совмещенная кандидатная позиция инициализируется в позиции взвешенного среднего энергии двух прежних кандидатур (см. уравнения 9).
<mtable columnalign="left"><mtr><mtd><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>:</mo><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mi>w</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>w</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mrow><mi>w</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>w</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></mfrac></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>w</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mstyle displaystyle="true"><munder><mo>∑</mo><mi>i</mi></munder><mrow><msub><mi>w</mi><mi>n</mi></msub><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow></mstyle><mo>=</mo><mstyle displaystyle="true"><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo stretchy="false">(</mo><mi>p</mi><mi>s</mi><mi>d</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>i</mi><mi>d</mi><mi>x</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>⋅</mo><mi>g</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mi>c</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>:</mo><mo>=</mo><mi>c</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>∀</mo><mi>x</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>n</mi><mo>+</mo><mn>1,</mn><mo>…</mo><mo>,</mo><mi>N</mi><mo>−</mo><mn>1</mn><mo stretchy="false">]</mo></mtd></mtr><mtr><mtd><mi>N</mi><mo>:</mo><mi>N</mi><mo>−</mo><mn>1</mn><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Обе прежние кандидатуры удаляются из перечня, а новая совмещенная кандидатная позиция вносится в реестр. Как результат, число оставшихся кандидатных позиций N уменьшается на 1. Итерация второго цикла кончается 1570, если нет больше кандидатных позиций, нарушающих предел сближения. Последний набор кандидатных COG составляет позиции оцененных локальных центров тяжести.
Частоты оцененного центра тяжести могут быть сохранены 1560, переданы или использованы для дальнейшей обработки.
Для ускорения итерационного процесса задание начальных условий для каждого нового блока предпочтительно выполнять, используя оценку позиции COG, полученную на базе предыдущего блока, так как она уже является надежным обоснованием текущих позиций. Так происходит, в частности, в силу перекрывания блока при анализе и временного сглаживания при предварительной обработке, следовательно, при расчете временного перемещения позиций COG учитывается соответствующее ограниченное изменение.
При этом необходимо обеспечивать достаточный объем оценок начального положения, чтобы, кроме того, фиксировать возможное возникновение нового центра тяжести. Поэтому прогалы в оценках кандидатных позиций, перекрывающие заданную величину интервала, предположим, расположенные в интервале S,…, 2S, заполняются новыми кандидатными позициями COG (см. уравнения 10), таким образом создавая для потенциальных новых кандидатур условия нахождения в пределах действия функции корректировки позиции. Фигура 16 показывает блок-схему такого расширения 1600 алгоритма. Дополнительные кандидатные позиции вносятся в перечень в ходе цикла, который завершается 1620, когда не обнаружено больше ни одного пробела, превышающего 2S.
<mtable columnalign="left"><mtr><mtd><mi>i</mi><mi>f</mi><mi>p</mi><mi>r</mi><mi>o</mi><mi>x</mi><mn>1</mn><mo>></mo><mn>2</mn><mi>S</mi><mo>→</mo></mtd></mtr><mtr><mtd><mi>p</mi><mi>r</mi><mi>o</mi><mi>x</mi><mn>1</mn><mo>=</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>−</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>c</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>:</mo><mi>c</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>∀</mo><mi>x</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>N</mi><mo>,</mo><mi>N</mi><mo>−</mo><mn>1,</mn><mo>…</mo><mo>,</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">]</mo></mtd></mtr><mtr><mtd><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>:</mo><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>N</mi><mo>:</mo><mo>=</mo><mi>N</mi><mo>+</mo><mn>1</mn><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>10</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Другими словами, для множества частот локальных центров тяжести или оценок локальных центров тяжести 1602 рассчитывают частотный интервал между частотами соседних локальных центров тяжести 1610. Если 1620 интервал между двумя смежными частотами центра тяжести превышает максимальный шаг по частоте, к множеству частот локального центра тяжести добавляется частота локального центра тяжести 1630. После заполнения всех пробелов, превышающих максимальный интервал между частотами, совокупность частот локального центра тяжести может быть сохранена 1640 для следующего временного блока.
На фигурах 4, 5, 6, и 7 наглядно представлены результаты, полученные с помощью предлагаемого алгоритма итерационного оценивания локального COG, описанного выше, которые были практически приложены к различным объектам испытаний. Объектами испытаний являются два раздельных чистых тона 400, два комбинационных тона 590, перебор струн 600 (испытательная установка "MPEG Test Set - sm03"), и оркестровая музыка (А. Вивальди "Времена года. Весна, Allegro") 700. На этих фигурах представлены перцепционно адаптированные, сглаженные и нормализованные (с устраненными глобальными трендами) спектры 410, 595, 610, 710 в сочетании с оценками центров тяжести (COG) (ссылки легенд 12-26). Оценки COG пронумерованы в порядке возрастания. В то время как, например, оценки 22, 26 на фигуре 4 и оценки 18 и 19 на фигуре 6 соответствуют синусоидальным составляющим сигнала, оценка 22 на фиг.5, оценки 23 и 25 на фиг.6 и большинство оценок на фиг.7 отображают спектрально расширенные или комбинационные компоненты, которые, тем не менее, были должным образом распознаны, сегментированы и сгруппированы в перцептуальные элементы.
На фиг.8 показана принципиальная модульная схема адаптивного банка фильтров сигнала 800 как вариант реализации изобретения. Адаптивный банк фильтров сигнала 800 состоит из определителя 100 множества частот локального центра тяжести 132 спектра звукового сигнала 802 и набора полосовых фильтров 810. Совокупность полосовых фильтров 810 предназначается для фильтрации акустического сигнал 802 и подготовки отфильтрованного аудиосигнала 812 для передачи, хранения или последующей обработки. Для этого центральная частота и ширина полосы пропускания каждого полосового фильтра из множества полосовых фильтров 810 базируются на множестве частот локальных центров тяжести 132.
Например, каждый из множества полосовых фильтров 810 соответствует частоте локального центра тяжести, где центральная частота и полоса пропускания полосового фильтра зависят от соответствующей частоты локального центра тяжести и смежных частот локального центра тяжести соответствующей частоты локального центра тяжести.
Ширину полосы пропускания совокупности полосовых фильтров 810 определяют так, чтобы весь спектр был закрыт без пробелов.
Фильтры могут быть решены согласно логарифмической частотной шкале в соответствии с первоначальными оценками центров тяжести, полученными в логарифмическом масштабе, а результирующие спектральные веса могут быть преобразованы в линейную область, или наоборот, возможны конструктивные решения, где фильтры спроектированы в линейной области в соответствии с обратно преобразованными позициями COG.
Другими словами, в последнем варианте технического решения после оценивания COG, скажем, в адаптированной к ЭППП области, позиции COG преобразуют обратно в
линейную область решением уравнения 2 для f, а затем, в линейной области, набор из N полосовых фильтров рассчитывают в виде спектральных весов, которые должны быть приложены непосредственно к исходному спектру ДПФ широкополосного сигнала.
n
Для первого и предпочтительного варианта осуществления позиции COG далее обрабатывают в области эквивалентной прямоугольной полосы пропускания (ЭППП). Набор из N полосовых фильтров рассчитывают как спектральные весовые функции weights длиной М согласно уравнению (10а). Говоря иначе, набор полосовых фильтров может быть рассчитан в форме спектральных весов, которые после преобразования в линейную область будут применены к исходному спектру ДПФ широкополосного сигнала.
Допустим, полосовые фильтры сконструированы с заданным спадом длиной 2·rollOff с синус-квадратичной характеристикой. Чтобы достичь желаемого соответствия с позициями оцененных COG, можно применить методику проектирования, описываемую ниже.
L
U
Сначала рассчитываются средние позиции между оценками позиций смежных COG, где m(n) обозначает нижнюю среднюю точку, a m(n) - верхнюю среднюю точку позиции COG c(n) по отношению к соседним с ней. Затем в этих точках перехода центруются спады спектральных весов так, что срезы соседних фильтров суммируются в один. Среднее сечение полосовой весовой функции выбирают, чтобы ее плоская вершина была равна единице, при этом остальные выборочные точки устанавливают на нуль. Фильтры для n=0 и n=N имеют только один срез и выполняют функции ФНЧ и ФВЧ соответственно.
<mtable columnalign="left"><mtr><mtd><mi>w</mi><mi>e</mi><mi>i</mi><mi>g</mi><mi>h</mi><mi>t</mi><msub><mi>s</mi><mi>n</mi></msub><mo stretchy="false">(</mo><mi>m</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>{</mo><mtable columnalign="left"><mtr><mtd><msup><mi>sin</mi><mn>2</mn></msup><mo stretchy="false">(</mo><msub><mi>k</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>m</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mtext> </mtext><msub><mi>m</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>−</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo><</mo><mi>m</mi><mo><</mo><msub><mi>m</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi></mtd></mtr><mtr><mtd><mn>1</mn><mtext> </mtext><mtext> </mtext><mtext> </mtext><msub><mi>m</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo>≤</mo><mi>m</mi><mo>≤</mo><msub><mi>m</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>−</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi></mtd></mtr><mtr><mtd><msup><mi>sin</mi><mn>2</mn></msup><mo stretchy="false">(</mo><msub><mi>k</mi><mi>U</mi></msub><mo stretchy="false">(</mo><mi>m</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mtext> </mtext><msub><mi>m</mi><mi>U</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>−</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo><</mo><mi>m</mi><mo><</mo><msub><mi>m</mi><mi>U</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi></mtd></mtr><mtr><mtd><mn>0</mn><mtext> </mtext><mtext> </mtext><mtext> </mtext><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></mrow></mtd></mtr><mtr><mtd><mi>m</mi><mo>∈</mo><mo stretchy="false">[</mo><mn>0,1</mn><mo>…</mo><mo>,</mo><mi>M</mi><mo>−</mo><mn>1</mn><mo stretchy="false">]</mo></mtd></mtr><mtr><mtd><msub><mi>m</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>−</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>m</mi><mi>U</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mrow><mfrac><mrow><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>−</mo><mi>c</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>k</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>m</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mi>m</mi><mo>−</mo><msub><mi>m</mi><mi>L</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">)</mo><mfrac><mi>π</mi><mrow><mn>4</mn><mo>⋅</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mi>k</mi><mi>U</mi></msub><mo stretchy="false">(</mo><mi>m</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mi>m</mi><mo>−</mo><msub><mi>m</mi><mi>U</mi></msub><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>−</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi><mo stretchy="false">)</mo><mfrac><mi>π</mi><mrow><mn>4</mn><mo>⋅</mo><mi>r</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>O</mi><mi>f</mi><mi>f</mi></mrow></mfrac><mo>+</mo><mfrac><mi>π</mi><mn>2</mn></mfrac><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>10</mn><mi>a</mi><mo stretchy="false">)</mo></mtd></mtr></mtable>
При задании характеристик спада необходим компромисс между спектральной
избирательностью, с одной стороны, и разрешающей способностью по времени, с другой стороны. Кроме того, предусмотрев множественное перекрытие спектра совокупностью фильтров, можно внести дополнительную степень свободы в ограничения, существующие при проектировании. Альтернативой здесь может быть адаптивный режим преобразования сигнала, например, для улучшения воспроизведения нестационарностей.
Наконец, позиции COG и спектральные весовые функции преобразуют обратно в линейную область путем решения уравнения (2) для f, получая уравнение (10b). И в завершение, получают спектральные веса в линейном масштабе, которые должны быть применены к спектру ДПФ широкополосного сигнала.
<mrow><mi>f</mi><mo stretchy="false">(</mo><mi>E</mi><mi>R</mi><mi>B</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mrow><mn>0.00437</mn></mrow></mfrac><mrow><mo>(</mo><mrow><msup><mrow><mn>10</mn></mrow><mrow><mfrac><mrow><mi>E</mi><mi>R</mi><mi>B</mi></mrow><mrow><mn>21.4</mn></mrow></mfrac></mrow></msup><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>10</mn><mi>b</mi><mo stretchy="false">)</mo></mrow>
Благодаря использованию логарифмического спектра и инициализации при равномерно разнесенных частотах старта итерации может быть достигнута направленность к перцептуальной сегментации (узкие полосы пропускания - для низких частот и широкие полосы пропускания - для высоких частот), хотя в некоторых участках спектра ширина полосы фильтров для низких частот может превышать ширину полосы фильтров для верхних частот, поскольку позиции частот локальных центров тяжести зависят от акустического сигнала.
Например, фронты полосовых фильтров могут быть расположены в центре частот каждых двух сопредельных центров тяжести в логарифмическом или линейном масштабе.
И наоборот, перекрывание нескольких полосовых фильтров также возможно.
В некоторых технических исполнениях концепция изобретения может иметь приложение для банков фильтров или фазовых вокодеров. Описанная концепция может быть применена в музыкальном аранжировании, допустим, для варьирования основных тонов только по одному или по запрограммированному числу каналов.
На фигурах 9 и 10 отображено осуществление описанных выше разработок в виде оригинальных - без предобработки - спектральных плотностей мощности (psd) 910, 1010 в блоке сигнала 900, 1000 и набора полосовых фильтров 920, 1020. Хорошо видно, что каждый фильтр выстроен по результатам оценивания центра тяжести и попарно гладко перекрывает смежные с ним подполосовые фильтры. Фиг.9 соответствует фиг.6, а фиг.10 соответствует фиг.7.
На фиг.11 дана принципиальная модульная схема осуществления изобретения в виде преобразователя 1100 звукового сигнала 1102 в параметрическое представление 1132. Устройство 1100 содержит определитель 100 множества частот локального центра тяжести 132 спектра акустического сигнала 1102, оцениватель полосы пропускания 1110, оцениватель модуляции 1120 и выходной интерфейс 1130. Определитель 100 множества частот локального центра тяжести 132 называется анализатором сигналов, а оцениватель модуляции 1120 состоит из комплекта полосовых фильтров 810.
Анализатор сигналов 100 анализирует сегмент звукового сигнала 1102 для получения результата анализа 132 в форме частот локального центра тяжести 132. Результат анализа 132 поступает в оцениватель полосы пропускания 1110 для оценивания данных 1112 о количестве полосовых фильтров 810 для сегмента аудиосигнала на основании результата анализа сигнала 132. Таким образом, информация 1112 о наборе полосовых фильтров 810 рассчитывается в адаптивном в отношении сигнала режиме.
В частности, информация 1112 о множестве полосовых фильтров 810 содержит данные о форме фильтра. Сведения о форме фильтра могут включать в себя ширину полосы пропускания полосового фильтра и/или центральную частоту полосового фильтра для конкретного сегмента аудиосигнала и/или спектральную форму функции преобразования амплитуды в параметрический или непараметрический формат.Важно, что ширина полосы пропускания полосового фильтра не постоянна по всей полосе частот, но может зависеть от центральной частоты полосового фильтра. К примеру, зависимость такова, что ширина полосы фильтра увеличивается с повышением средних частот и уменьшается с их понижением.
Анализатор сигналов 100 делает спектральный анализ сегмента акустического сигнала и, в частности, может разложить спектр по плотности мощности, чтобы распознать зоны энергетической концентрации, поскольку такие области распознаются и человеческим ухом при восприятии и дальнейшей обработке звука.
Устройство, относящееся к изобретению 1100, дополнительно включает в себя оцениватель модуляции 1120 для оценивания амплитудной 1122 или частотной 1124 модуляции по каждой полосе для множества полосовых фильтров 810 данного сегмента аудиосигнала. Для этого оцениватель модуляции 1120 использует информацию 1112 о наборе полосовых фильтров 810, что будет рассмотрено позже.
Дополнительно, в устройство на фиг.11, являющееся предметом изобретения, введен блок выходного интерфейса 1130, предназначенный для передачи, хранения или обработки данных по амплитудной модуляции 1112, частотной модуляции 1124 или информации о множестве полосовых фильтров 810, куда могут входить характеристики формы фильтра, такие как значения центральных частот полосовых фильтров для конкретного сегмента/блока аудиосигнала, или другие параметры, о которых говорилось выше. Выходными данными является параметрическое представление 1132.
На фиг.12 и 12а даны принципиальные схемы двух предпочтительных технических решений оценивателя модуляции 1120, анализатора сигналов 100 и оценивателя полосы пропускания 1110, объединенных в модуль, называемый „оценивание несущей частоты". Оцениватель модуляции 1120 предпочтительно включает в себя полосовой фильтр 1120а, который обеспечивает полосовой сигнал. Это - входная информация для анализатора-преобразования сигналов 1120b. Выходные данные блока 1120b используются для расчета параметров AM и ЧМ. Данные амплитудной модуляции аналитического сигнала рассчитываются блоком 1120 с. Выходной канал блока анализа сигнала 1120b является входным каналом умножителя 1120d, который на другом входе получает сигнал гетеродина 1120е и который управляется рабочей несущей частотой fc 1210 полосы пропускания 1120а. Далее определяется фаза выходного сигнала умножителя с помощью блока 1120f. Мгновенная фаза дифференцируется в блоке 1120g с целью получения конечной информации о ЧМ. Дополнительно на фиг.12а показан препроцессор 310, генерирующий ДПФ-спектр аудиосигнала.
Звуковой сигнал разлагается путем декомпозиции при многополосной модуляции в адаптивный к сигналу ряд (аналитических) полосовых сигналов, каждый из которых затем делится на синусоидальную несущую и ее амплитудную модуляцию (AM) и частотную модуляцию (ЧМ). Набор полосовых фильтров рассчитывают так, чтобы, с одной стороны, полнополосный спектр был перекрыт без швов, а с другой стороны, чтобы каждый из всех фильтров совпадал с локальным центром тяжести. При этом учитывается механизм слухового восприятия человека благодаря выбору полосы пропускания фильтров, которая соответствует перцептуальной шкале, например, шкале эквивалентной прямоугольной полосы пропускания (ЭППП/ERB) [см. В.С.J. Moore and В.R. Glasberg "A revision of Zwicker's loudness model" ("Пересмотр модели громкости Цвикера") Acta Acustica, vol.82, p.335-345, 1996"].
Локальный COG соответствует средней частоте, которая воспринимается слушателем благодаря спектральным составляющим в этой области частотного диапазона. Кроме того, полосы, сосредоточенные в положениях локальных центров тяжести, соответствуют фазовой синхронизации на основе областей воздействия классических фазовых вокодеров [см. J. Laroche and M. Dolson, "Improved phase vocoder timescale modification of audio" ("Усовершенствованная модификация аудио на базе временной шкалы фазового вокодера"), IEEE Transactions on Speech and Audio Processing, vol. 7, №3, p.323-332, 1999], Ch. Duxbury, M. Davies, and M. Sandier "Improved timescaling of musical audio using phase locking at transients" ("Усовершенствованное временное масштабирование музыкального аудио с использованием фазовой синхронизации при нестационарных процессах") in 112th AES Convention, 2002, A. Robel "A new approach to transient processing in the phase vocoder" ("Новый подход к нестационарным процессам в фазовом вокодере") Proc. of the Int. Conf. on Digital Audio Effects (DAFx), p.344-349, 2003, A. Robel "Transient detection and preservation in the phase vocoder" ("Выявление и предотвращение нестационарного процесса в фазовом вокодере"), hit. Computer Music Conference (ICMC'03), p.247-250, 2003]. Как представление огибающей полосового сигнала, так и традиционная фазовая синхронизация области влияния сохраняют огибающую времени полосового сигнала: или по своей сути, или, как в последнем случае, обеспечивая при синтезе локальную спектральную фазовую когерентность. Что касается синусоидальной несущей частоты, соответствующей оцененному локальному центру тяжести, то как AM, так и ЧМ удерживаются в пределах амплитудной огибающей и гетеродинируемой фазы аналитических полосовых сигналов, соответственно. Специальный способ синтеза реконструирует выходной сигнал из несущих частот, AM и ЧМ.
14
Принципиальная блочная схема декомпозиции сигнала на несущие сигналы и ассоциированные с ними модуляционные составляющие изображена на фигуре 12. На схеме отображен поток сигнала для экстракции одной компоненты. Остальные составляющие разделяются аналогичным способом. На практике, разделение выполняется совокупно для всех составляющих на поблочной основе, при рабочих параметрах, например: размер фрейма N=2при частоте дискретизации 48 кГц и 75%-ном перекрывании при анализе, что приблизительно соответствует интервалу времени 340 мс и шагу 85 мс с применением для каждого взвешенного фрейма дискретного преобразования Фурье (ДПФ). Весовое окно может быть с „плоской вершиной" в соответствии с уравнением (1). Это предупреждает N/2 центрированных отсчетов, передаваемых для последующего модуляционного синтеза, от искажения за счет наклонных срезов окна анализа. Для повышения точности может быть использована более высокая степень перекрывания за счет увеличения вычислительной сложности.
<mrow><mi>w</mi><mi>i</mi><mi>n</mi><mi>d</mi><mi>o</mi><mi>w</mi><msub><mrow><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow><mrow><mi>a</mi><mi>n</mi><mi>a</mi><mi>l</mi><mi>y</mi><mi>s</mi><mi>i</mi><mi>s</mi></mrow></msub><mo>=</mo><mrow><mo>{</mo><mtable columnalign="left"><mtr><mtd><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mrow><mfrac><mrow><mn>2</mn><mi>i</mi><mi>π</mi></mrow><mi>N</mi></mfrac></mrow><mo>)</mo></mrow><mtext> </mtext><mn>0</mn><mo><</mo><mi>i</mi><mo><</mo><mfrac><mi>N</mi><mn>4</mn></mfrac></mtd></mtr><mtr><mtd><mn>1</mn><mtext> </mtext><mtext> </mtext><mfrac><mi>N</mi><mn>4</mn></mfrac><mo>≤</mo><mi>i</mi><mo>≤</mo><mfrac><mrow><mn>3</mn><mi>N</mi></mrow><mn>4</mn></mfrac></mtd></mtr><mtr><mtd><msup><mi>sin</mi><mn>2</mn></msup><mo stretchy="false">(</mo><mfrac><mrow><mn>2</mn><mi>i</mi><mi>π</mi></mrow><mi>N</mi></mfrac><mo stretchy="false">)</mo><mtext> </mtext><mfrac><mrow><mn>3</mn><mi>N</mi></mrow><mn>4</mn></mfrac><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>N</mi><mtext> </mtext><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow></mrow>
Имея спектральное представление, далее можно рассчитать ряд адаптивных к сигналу спектральных весовых функций (имеющих полосовую характеристику), совпадающий с позициями локальных COG. После полосового взвешивания спектра, сигнал преобразуется во временную область, а аналитический сигнал выводится преобразованием Гильберта. Эти две последовательные операции можно эффективно объединить, рассчитывая одностороннее ОДПФ для каждого полосового сигнала. В последующем каждый аналитический сигнал гетеродинируется своей расчетной несущей частотой. В завершение, сигнал глубже декомпозируется на его амплитудную огибающую и траекторию его мгновенной частоты (МгнЧ) путем вычисления фазовой производной с получением желаемого сигнала AM и ЧМ (see also "S.Disch and В.Edier, "An amplitude - and frequency modulation vocoder for audio signal processing," Proc. of the Int. Conf. on Digital Audio Effects (DAFx), 2008).
Соответственно, на фиг.13 а дана принципиальная блочная схема устройства 1300, синтезирующего параметрическое представление аудиосигнала. Например, предпочтительный вариант осуществления основывается на операции сложения с наложением (OLA) в области модуляции, то есть - в области, которая существует перед генерированием полосового сигнала во временной области. Входной сигнал, который может представлять собой битстрим, или может проходить по прямому соединению на анализатор или модификатор, делится на составляющую AM 1302, составляющую ЧМ 1304 и несущую 1306. Синтезатор AM предпочтительно включает в себя устройство сложения наложением 1310 и, дополнительно, контроллер сборки компонент 1320, который, предпочтительно не только содержит блок 1310, но и блок 1330, который является сумматором с наложением в синтезаторе ЧМ. Синтезатор ЧМ дополнительно содержит в себе: частотный сумматор с наложением 1330, фазовый интегратор 1332, фазовый комбинатор 1334, который также может выполнять функции обычного сумматора и фазовращатель 1336, управляемый контроллером сборки компонент 1320 для регенерации фазовой постоянной от блока к блоку таким образом, чтобы фаза сигнала предшествующего блока была непрерывной с фазой текущего блока. Поэтому можно сказать, что добавление фазы в элементах 1334, 1336 соответствует восстановлению постоянной, потерянной во время дифференцирования в блоке 1120g на фиг.12 на стороне анализатора. Относительно перспективы потери данных в перцептивной области следует отметить, что это - единственная потеря информации, то есть - потеря постоянной составляющей дифференциатором 1120g на фиг.12. Эта потеря может быть компенсирована добавлением фазовой постоянной, определенной контроллером сборки компонент 1320.
Сложение с наложением (OLA) применено в параметрической области, а не к готовому восстановленному сигналу во избежание биений между смежными временными блоками. Операцией OLA управляет механизм совмещения составляющих, который, регулируемый спектральной близостью (измеренной по шкале ERB), выполняет попарное соединение компонент текущего блока с их предшественниками в предыдущем блоке. Дополнительно при сборке выравниваются абсолютные фазы составляющих текущего блока по составляющим предшествующего блока.
Подробнее, во-первых сигнал ЧМ добавляется к несущей, а результат поступает на операцию OLA, выходной сигнал которой в дальнейшем интегрируется. Генератор синусоидальных колебаний 1340 получает результирующий фазовый сигнал. Сигнал амплитудной модуляции обрабатывается на второй стадии OLA. В завершение, выходной сигнал гетеродина модулируется 1350 по своей амплитуде результирующим сигналом AM для взвешенного суммирования в выходном сигнале 1360.
Следует подчеркнуть, что надлежащая сегментация спектра сигнала при модуляционном анализе имеет первостепенное значение для получения достоверного результата дальнейшей обработки параметров модуляции. В силу этого, здесь предлагается новейший алгоритм сегментации.
Соответственно, на фиг.13b представлена реализация описанной концепции 1300 для изменений тональности при полифоническом звучании.
Главной задачей является транспонирование аудиосигнала с сохранением изначальной скорости воспроизведения. Использование предлагаемой системы позволяет достичь этого простым умножением всех компонентов несущей на постоянный коэффициент. Поскольку временная структура входного сигнала зависит исключительно от сигналов AM, ее не затрагивают расширения спектрального интервала несущей.
Еще больший эффект может быть достигнут выборочной обработкой: тональность музыкальной пьесы может быть изменена, скажем, из минора в мажор или наоборот. Для этого только требуется некоторой подгруппе несущих, соответствующих определенным предварительно заданным частотным интервалам, присвоить надлежащие новые величины. Для выполнения этой задачи частоты несущей квантуют 1370 до тональных частот ("питчей" - pitch) MIDI, которые затем адаптируют 1372 к соответствующим новым питчам MIDI (зная априори тональность и лад аранжируемой музыкальной пьесы). Необходимые преобразования изображены на фиг.13Ъ.
Основные тональные изменения MIDI, необходимые для картирования перехода из мажора в натуральный минорный лад, могут быть заимствованы из квинтового круга 1390, показанного на фиг.13с. Смена мажора на минор выполняется переходом на три шага против часовой стрелки, минор на мажор меняется тремя ходами по часовой стрелке. Наконец, преобразованные ноты MIDI конвертируются обратно 1374, для получения 1376 измененных несущих частот, которые используются для синтеза 1378. Специальный MIDI-режим распознавания атаки/затухания не требуется, поскольку временные характеристики преимущественно представлены немодифицированной амплитудной модуляцией и, таким образом, сохранились. Произвольные карты аранжировки могут быть составлены для возможности изменения других оттенков (например, перехода в гармонический минор).
На фиг.14 дана блок-схема способа 1400 определения совокупности частот локального центра тяжести спектра звукового сигнала в соответствии с предлагаемым изобретением. Способ 1400 заключается в определении 1410 частоты смещения для каждой частоты старта итерации из множества стартовых частот итерации, определении 1420 нового множества частот старта итерации и обеспечении 1430 нового множества частот старта итерации для продолжения итерирования или обеспечении 1440 совокупности частот локального центра тяжести. Частоту смещения для каждой частоты старта итерации из множества стартовых частот итерации определяют 1410 на основании спектра аудиосигналов, где количество дискретных значений спектра превышает количество частот запуска итерации. Новое множество частот старта итерации определяют 1420, повышая или понижая каждую частоту старта итерации из множества стартовых частот итерации на соответствующую вычисленную частоту смещения. Совокупность частот локальных центров тяжести формируют 1440 для хранения, передачи или последующей обработки, если достигнут заданный предел итерации. Для этого множество частот локального центра тяжести устанавливают равным новому множеству стартовых частот итерации.
Некоторые реализации изобретения относится к алгоритму итеративной сегментации спектров акустических сигналов в зависимости от оцененных локальных центров тяжести.
Современное музыкальное и звукогенерирующее оборудование часто основывается на манипулировании предварительно записанными отрывками фонограмм, так называемыми семплами [/сэмплами/самплами], взятыми из гигантской базы данных. Следовательно, растет массовая потребность в гибком слиянии таких семплов с любым новым музыкальным контекстом. Для этих целей необходимы самые современные средства обработки цифрового сигнала, способные реализовывать такие акустические эффекты, как смещение высоты тона, растягивание временной шкалы или гармонизация. Часто ключевую часть таких средств обработки составляет адаптивная к сигналу процедура сегментации спектра на блочной основе. На основании этого предложен новейший алгоритм сегментации спектра на базе локальных центров тяжести (COG). К примеру, этот способ может применяться для декомпозиции при многополосной модуляции аудиосигналов. В более широком контексте, этот алгоритм может использоваться в области усовершенствования вокодера.
В ряде приложений предлагаемый алгоритм сегментации состоит в итеративном оценивании исходного перечня кандидатных позиций COG в спектре с его корректировкой по вычисляемым оценкам. В процессе доводки выполняются добавления, удаления или слияния кандидатур позиций, благодаря чему подход не требует априорного знания общего числа конечных оценок COG. Итерирование может быть выполнено за два цикла. Все необходимые операции осуществляются в области спектрального представления сигнала.
Существенным этапом процесса аранжировки музыкальных фонограмм на блочной (полифонической) основе является оценивание локальных центров тяжести (COG) по последовательным во времени спектральным дискретам. Развитие направления адаптивного разложения сигнала с многополосной модуляцией послужило мотивацией для представления детально разработанного способа и алгоритма оценивания множественных локальных центров тяжести (COG) спектра произвольного акустического сигнала. Одновременно, спроектирован и описан набор рабочих полосовых фильтров, согласованных с оцененными позициям COG. Эти фильтры могут быть использованы для последующего разложения широкополосного сигнала на зависимые перцепционно адаптированные подполосовые сигналы.
Представлены и рассмотрены опытные образцы приложения предлагаемого способа. Выработанный в конкретном контексте механизма декомпозиции с многополосной модуляцией, предложенный алгоритм потенциально может быть применен в более широких сферах пост-процессинга звука, создания акустических эффектов и усовершенствования рабочих свойств вокодера.
В отличие от методов время-частотного перераспределения описываемый алгоритм выполняет сегментацию спектра непосредственно в масштабе слухового восприятия, тогда как время-частотное перераспределение исключительно предусматривает улучшение локализации спектрограммы и оставляет проблему сегментации на более поздние стадии, например, раздельный трекинг.
В отличие от методов, стремящихся к оцениванию кратных основных частот, настоящий подход не пытается разложить сигнал на его источники, а, скорее, сегментирует спектры на перцептивные элементы, которыми далее можно манипулировать совместно.
Среди прочих аспектов описан новый алгоритм оценивания множественных локальных центров тяжести (COG), сопровождаемый формированием набора полосовых фильтров, согласованных с рассчитанными позициями COG. Для наглядности представлены и рассмотрены некоторые практические результаты оценивания COG и формирования набора согласованных полосовых фильтров.
Несмотря на то, что здесь в основном рассматривается оборудование с точки зрения его технического устройства, понятно, что аспекты материальной части тесно связаны с описанием соответствующих способов ее применения, и какое-либо изделие или блок соответствуют особенностям метода или технологической операции. Аналогично, рассматриваемые технологии и рабочие операции непосредственно связаны с соответствующим машинным оборудованием и его элементной базой.
Относящийся к изобретению кодированный аудиосигнал может быть сохранен в цифровой запоминающей среде или может быть транслирован в среде передачи информации, такой как беспроводная передающая среда или проводная передающая среда, например, Интернет.
В зависимости от конечного назначения и особенностей практического применения изобретение может быть реализовано в аппаратных или программных средствах. В реализации могу быть применены такие цифровые носители информации, как гибкий диск, DVD, "Блю-рей", CD, ПЗУ, ППЗУ, программируемое ПЗУ, СППЗУ или ФЛЭШ-память, содержащие электронно-считываемые управляющие сигналы, которые взаимодействуют (или совместимы) с программируемой компьютерной системой таким образом, что предлагаемый способ может быть осуществлен. Следовательно, цифровая среда хранения данных может быть читаемой компьютером.
Некоторые варианты конструкции согласно данному изобретению имеют в своем составе носитель информации, содержащий электронно-считываемые сигналы управления, совместимый с программируемой компьютерной системой и способный участвовать в реализации одного из описанных здесь способов.
В целом данное изобретение может быть реализовано как компьютерный программный продукт с кодом программы, обеспечивающим осуществление одного из предлагаемых способов при условии, что компьютерный программный продукт используется с применением компьютера. Код программы может, например, храниться на машиночитаемом носителе.
Различные варианты реализации включают в себя компьютерную программу, хранящуюся на машиночитаемом носителе, для осуществления одного из описанных здесь способов.
Таким образом, формулируя иначе, относящийся к изобретению способ осуществляется с помощью компьютерной программы, имеющей код программы, обеспечивающий реализацию одного из описанных здесь способов, если компьютерную программу выполняют с использованием компьютера.
Далее, следовательно, техническое исполнение изобретенного способа включает в себя носитель данных (либо цифровой накопитель информации, либо читаемую компьютером среду), содержащий записанную на нем компьютерную программу, предназначенную для осуществления одного из способов, описанных здесь.
Отсюда следует, что реализация изобретения подразумевает наличие потока данных или последовательности сигналов, представляющих компьютерную программу для осуществления одного из описанных здесь способов. Поток данных или последовательность сигналов могут быть рассчитаны на передачу через средства связи, например Интернет.
Кроме того, реализация включает в себя аппаратные средства, например, компьютер или программируемое логическое устройство, предназначенные или приспособленные для осуществления одного из описанных здесь способов.
Далее, для технического исполнения требуется компьютер с установленной на нем компьютерной программой, записанной на машиночитаемом носителе, для осуществления одного из описанных здесь способов.
Некоторые версии конструкции для реализации одной или всех функциональных возможностей описанных здесь способов могут потребовать применения программируемого логического устройства (например, полевой программируемой матрицы логических элементов). В зависимости от назначения версии базовый матричный кристалл может сочетаться с микропроцессором с целью осуществления одного из описанных здесь способов. Как правило, описываемые способы могут быть реализованы с использованием любого аппаратного средства.
Описанные выше конструктивные решения являются только иллюстрациями основных принципов настоящего изобретения. Подразумевается, что для специалистов в данной области возможность внесения изменений и усовершенствований в компоновку и элементы описанной конструкции очевидна. В силу этого, представленные здесь описания и пояснения вариантов реализации изобретения ограничиваются только рамками патентных требований, а не конкретными деталями.