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

Иллюстрации

Показать все

Изобретение относится к средствам для преобразования вещественное-в-комплексное с малой задержкой. Технический результат заключается в уменьшении задержки преобразования. Конфигурация банков фильтров с перекрытием содержит каскад синтеза и каскад анализа. Каскад синтеза принимает первый сигнал, сегментированный на временные блоки, и выводит на этой основе промежуточный сигнал, подлежащий приему каскадом анализа, образуя основу для вычисления второго сигнала, сегментированного на временные кадры. В варианте осуществления каскад синтеза выполнен с возможностью выдавать приближенное значение промежуточного сигнала во временном блоке, расположенном на L-1 временных блоков впереди своего выходного блока, причем приближенное значение вычисляется на основе любых доступных временных блоков первого сигнала, так что приближенное значение вносит вклад во второй сигнал в каскаде анализа. Задержка обычно уменьшается на L-1 блоков. Применения включают в себя обработку аудиосигнала в общем и, в частности, вещественное-в-комплексное преобразование. 3 н. и 19 з.п. ф-лы, 12 ил., 1 табл.

Реферат

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

Данная заявка испрашивает приоритет предварительной патентной заявки США № 61/602848, поданной 24 февраля 2012, и предварительной патентной заявки США № 61/622389, поданной 10 апреля 2012, настоящим включенных в данный документ посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

В области техники цифровой обработки сигналов существует много приложений, где два фильтра взаимодействуют однонаправлено или двунаправлено. В однонаправленной взаимосвязи один фильтр может принимать выход другого и выполнять операции над ним. В качестве одного примера, преобразование «вещественное-в-комплексное» представления в частотной области для сигнала может происходить в виде этапа синтеза «частота-время», за которым следует анализ «время-частота». Поскольку фильтр преобразования по своему характеру вносит ненулевую задержку, конфигурации из двух или большего числа фильтров могут иметь значительную полную задержку, которая в некоторых ситуациях может вызывать неудобство. По этой и другим причинам были предложены альтернативные решения, включая преобразование вещественное-в-комплексное, описанное в патенте США №6980933 Заявителя. Будет желательным, однако, предложить дополнительные альтернативы в дополнение к этому подходу.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

фиг. 1 и 2 - обобщенная блок-схема фильтров с конечной импульсной характеристикой (КИХ, FIR), действующих в качестве фильтров синтеза в системах обработки аудио;

фиг. 3a - упрощенная схема сигналов, показывающая в различные моменты времени содержимое двух буферов, выдающих промежуточный сигнал (y) на основании входного сигнала, и, кроме того, выдающих выходной сигнал на основании промежуточного сигнала;

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

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

фиг. 6а, 6b, 7 и 8a, 8b показывают системы обработки аудио, в которых могут использоваться варианты осуществления изобретения; и

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

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

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

I. КРАТКОЕ ОПИСАНИЕ

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

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

каскад синтеза,

каскад анализа, коммуникативно соединенный с выходом каскада синтеза, и

процессор.

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

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

В этом первом примере осуществления каскад синтеза разрешает каскаду анализа осуществлять доступ к приближенному значению промежуточного представления во временной области во временном блоке, расположенном на d1≥1 временных блока впереди своего выходного временного блока. Приближенное значение вычисляется на основе любых доступных временных блоков первого представления в частотной области, другие временные блоки заменяются временными блоками «по умолчанию», такими как временной блок, имеющий все свои выборки равными нулю или нейтральному значению, представляющему отсутствие энергии сигнала (нет возбуждения датчика). Как используется в настоящем документе, в данный момент времени, выходной временной блок каскада синтеза является самым ранним временным блоком, в котором набор временных блоков первого представления в частотной области, являющийся достаточным для точного вычисления того же (то есть, самого раннего) временного блока, будет доступным в нормальной работе каскада синтеза. Другими словами, будет возможным уточнять приближенное значение в точное значение той же величины (временного блока) после истечения времени, соответствующего d1 временным блокам, в предположении, что временные блоки первого представления в частотной области принимаются нормальным или ожидаемым образом. С помощью доступных данных в этот момент, также будет возможным вычислять точное значение заранее вместо уточнения имеющегося приближенного значения. Ясно, что разновидности этого примера осуществления могут быть сконфигурированы с возможностью выводить два или большее число приближенных значений, таких как приближенные значения для последовательности временных блоков.

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

В примере осуществления каскад синтеза является FIR-фильтром с импульсной характеристикой , где каждый коэффициент является N-вектором последовательных значений. На основании входной последовательности FIR-фильтр выводит выходной временной блок . В настоящем документе обозначает поэлементное матричное умножение (произведение Адамара), и суммирование также является поэлементным. N-векторы формируются из субблоков xn. Полагается, что FIR-фильтр является нетривиальным в том смысле, что первый блок коэффициентов является ненулевым, , так что выходной временной блок yn нельзя вычислять, пока не будет введен самый ранний входной временной блок xn.

Необходимо отметить, что FIR-фильтр имеет порядок Ls.

В дальнейшем развитии предыдущего примера осуществления FIR-фильтр содержит один или более выходных буферов для сохранения приближенных значений различных временных блоков промежуточного представления во временной области. Буферы обновляются в каждом случае, когда FIR-фильтр принимает новый временной блок первого представления в частотной области для сигнала. Обновление состоит в приращении буфера на новый временной блок, предварительно умноженный на соответствующие коэффициенты импульсной характеристики. (Как используется в этом раскрытии, предварительное умножение не относится к намеченному порядку следования блока значений и блоков коэффициентов; в действительности, поэлементное умножение является коммутативной операцией). Следовательно, буферы, принявшие относительно большее число обновлений, хранят более надежные приближенные значения, чем буферы, принявшие относительно меньшее число обновлений. После того, как буфер подвергся полному числу Ls+1 обновлений после последнего сброса (или очистки), он содержит точное значение интересующего временного блока. В этом варианте осуществления, однако, приближенное значение временного блока выдается только после Ls+1-d1 обновлений. Другими словами, вклады от остающихся, еще недоступных временных кадров являются такими, как если бы эти временные кадры были установлены в нуль.

В примере осуществления FIR-фильтр содержит один или более входных буферов для сохранения принятых недавних временных блоков для первого представления в частотной области. Блок взвешенного суммирования отвечает за выработку приближенного значения для временного блока, расположенного на d1 временных блоков впереди своего нормального времени вывода. С этой целью блок взвешенного суммирования извлекает Ls+1-d1 буферных значений, предварительно умножает их на соответствующие блоки коэффициентов (коэффициенты импульсной характеристики) и суммирует результаты поэлементно.

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

Более высокое процентное отношение будет в нормальных условиях повышать точность. Предпочтительно, полная масса примененных блоков коэффициентов составляет, по меньшей мере, 60%, 70% или 80% от полной массы. Здесь, p является числом, которое зависит от d1. В некоторых вариантах осуществлениях можно иметь p=d1.

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

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

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

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

II. ПРИМЕРЫ ОСУЩЕСТВЛЕНИЯ

Фиг. 6a кратко представляет в форме блок-схемы систему 600 обработки сигналов, в которой могут быть реализованы варианты осуществления настоящего изобретения. Начиная слева, временной сигнал (например, представление во временной области аудиосигнала, полученное посредством возбуждения акустической волной акустического преобразователя, который выводит цифровой сигнал), подается на косинусно-модулированный банк 660 фильтров, который может соответствовать типу QMF или псевдо-QMF. Банк 660 фильтров обеспечивает столько выходных сигналов, сколько диапазонов частот (или частотных элементов сигнала) у него имеется. Поскольку банк 660 фильтров является косинусно-модулированным, выходные сигналы традиционно называются вещественными составляющими спектра. Как входной временной сигнал, так и выходные частотные сигналы могут сегментироваться на временные блоки и/или на один или более каналов. Из выходных сигналов от банка 660 фильтров первое подмножество подается на каскад 611 преобразования вещественное-в-комплексное, который конвертирует вещественные составляющие спектра в комплексные составляющие спектра путем добавления мнимой части, соответствующей синусоидальной модуляции исходного временного сигнала. Комплексные спектральные коэффициенты подаются на каскад 640 частично комплексной обработки. Остающиеся выходные сигналы (второе подмножество) от банка 660 фильтров задерживаются в линии 630 задержки, чтобы поступать на каскад 640 частично комплексной обработки синхронно с комплексными составляющими спектра из первого подмножества. Первое и второе подмножества образуют частично комплексное представление в частотной области для исходного сигнала, которое может подвергаться специфической для приложения обработке в каскаде 640 обработки. Специфическая для приложения обработка может включать в себя операции, которые, как известно или ожидается, будут касаться проблем наложения спектров (или других трудностей, возникающих в связи с обработкой критически дискретизированных сигналов) в частотном диапазоне, который соответствует первому подмножеству частотных диапазонов. Поскольку представление в частотной области включает в себя полные комплексные спектральные коэффициенты в этом частотном диапазоне, схема обработки с этими функциями обычно будет менее чувствительной к проблемам наложения спектров и/или искажениям (артефактам), которые могут иначе снизить воспринимаемое качество аудио- или видеосигнала.

Система 600 обработки аудио может быть описана на более абстрактном уровне, как на фиг. 6b, причем за каскадом 691 обработки перекрытия-и-сложения следует каскад 693 обработки блока, расположенный после такового по ходу обработки. При условии постоянного размера блока из N выборок, обработка 691 перекрытия-и-сложения включает в себя формирование подпоследовательностей из K последовательных блоков каждая (содержащих K×N выборок) и применение к ним оконной функции. Последовательные окна перекрываются, так что данный блок будет включен более чем в одно окно, в различных позициях относительно оконной функции. Последовательные окна накладываются одно на другое и прибавляются, чтобы получать блоки промежуточного сигнала, причем подразумевается, что данный блок промежуточного сигнала не будет точно известным до тех пор, пока входной сигнал не прошел настолько, что все входные блоки, которые вносят вклад через временные окна, частью которых они являются, являются доступными. В каскаде 693 обработки блока, подпоследовательности из K' последовательных блоков (K'×N выборок каждая) промежуточного сигнала используются в качестве входных для операции обработки, имеющей один блок (N выборок) в качестве выходного. Число K блоков, обрабатываемых одновременно каскадом 691 обработки перекрытия-и-сложения, может отличаться от числа K' блоков, обрабатываемых в каскаде 693 обработки блока (см. фиг. 3a). Альтернативно, эти числа могут быть равными, K=K' (см. фиг. 6). Обработка блока может быть многофазной реализацией субдискретизированного однородно модулированного банка фильтров. Один блок выходных данных будет закончен, когда вклад будущих блоков станет нулевым вследствие конечной длины окна. Иначе говоря, каждый выходной блок из N выборок вычисляется из K'×N входных выборок (размер окна), и для каждых N входных выборок имеются N (законченных) выходных выборок.

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

Фиг. 7 является обобщенной блок-схемой, показывающей систему 700 обработки аудио с наличием многополосного фильтра 770 в соответствии с примером осуществления настоящего изобретения. Многополосный фильтр 770 принимает вещественное представление аудиосигнала в частотной области и выводит частично комплексное представление сигнала в частотной области. В многополосном фильтре 770 имеются по существу два параллельных тракта обработки, из которых первый тракт обработки отвечает за режим обработки первого субполосного диапазона (который может быть представлен составляющими спектра, относящимися к первому подмножеству частотных элементов сигнала), и второй тракт обработки отвечает за второй субполосный диапазон частот. На фиг. 7 второй тракт обработки представлен верхней входной линией к процессору 740, а именно линией 730 задержки. Первый тракт обработки, как представлено нижними линиями, проходящими к процессору 740, дополнительно подразделяется на два параллельных пути, из них один путь является линией 750 задержки в чистом виде, так что процессор 740 принимает и необработанный экземпляр первого субполосного диапазона представления в частотной области для аудиосигнала, и обработанный экземпляр того же сигнала, однако задержанного настолько, что его синхронно принимает процессор 740. Обработанный экземпляр сигнала получают преобразованием вещественное-в-мнимое, осуществляемым последующими каскадами 710 синтеза частота-время и анализа 720 время-частота. Следовательно, из исходного представления аудиосигнала в частотной области, которое относится к вещественным (например, косинусно-модулированным) составляющим спектра, через промежуточное представление во временной области получают представление с мнимыми (например, синусно-модулированными) составляющими. В альтернативном примере осуществления каскад 710 синтеза принимает мнимое представление, и каскад 720 анализа выводит вещественное представление. В любом случае процессор 740 конфигурируется для объединения соответствующих мнимых составляющие спектра и вещественных составляющих спектра, причем каждые принимаются из линии 750 задержки с тем, чтобы получить комплексное представление аудиосигнала в первом субполосном диапазоне. Комплексное представление далее объединяется в процессоре 740 с необработанным представлением второго субполосного диапазона, полученного из линии 730 задержки, так что частично комплексное представление получают на выходе процессора 740.

Каскады 710, 720 синтеза и анализа могут быть осуществлены в виде последовательных реализаций обработки перекрытия-и-сложения и обработки (оконным методом) блоков, к которым изобретение может применяться, как изложено ниже. Работающий традиционно каскад 720 анализа выполняет обработку блока, чтобы вычислять выходной временной блок на основе точных значений K входных временных блоков. Согласно примеру осуществления, каскад 720 анализа основывается на вычислении приближенных значений L≥1 временных блоков и точных значений K-L блоков промежуточного сигнала временной области. Чтобы сделать это возможным, каскад 710 синтеза выдает приближенные значения, которые были вычислены на основе каких-либо доступных временных блоков первого субполосного диапазона для первого представления в частотной области, для использования каскадом 720 анализа. Таким образом, каскад 720 анализа может инициировать вычисления, приводящие к данному выходному временному кадру в более ранний момент времени. Поскольку выходной временной кадр базируется частично на приближенных значениях L временных блоков, его точность и/или надежность снижается до некоторой степени. Обычно существует обратная зависимость между выходной точностью и числом L приближенных временных блоков, заменявших точные временные блоки.

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

Временным шагом является N, и коэффициент перекрытия задан целым числом K>1. (Следовательно, K=Ls+1). Переменной дискретного времени является t. Окно синтеза (или фильтр-прототип) h(t) длиной NK выборок полагается нулевым вне временного интервала {0, 1, …, NK-1}. Для k-го временного интервала (или временного кадра) банка фильтров сигнал xk(t) с поддержкой длины NK создается из вектора субполосных выборок. Требуемыми операциями обычно являются преобразование частота-время, за которым следуют расширения на основании повторения и переключений времени. Полагается, что сигнал xk(t) является нулевым вне временного интервала {0, 1, …, NK-1}.

Полный синтез для вывода y(t) временной области описывается согласно

Вследствие перекрытия, имеются K вкладов в каждое выходное значение. Частичным синтезом, который может создаваться из временных интервалов при , является

Разностью между полным и частичным синтезом является

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

Работа банка фильтров анализа основывается на окне g(t), которое полагается в документе для простоты имеющим такую же поддержку, как h(t) (K=K'). Во временном интервале m сигнал, подлежащий анализу, рассматривается на интервале и загружается в буфер анализа. Для случая сигнала этим буфером анализа является

Этот буфер затем обрабатывается методом окна g(t):

,

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

Чтобы буфер a(t) состоял из сегмента полностью синтезированного сигнала , необходимо чтобы . Это означает, что входные временные интервалы вплоть до должны обрабатываться банком фильтров синтеза, чтобы быть способными осуществлять доступ к временному интервалу m последующего анализа. Это налагает опорную задержку в K-1 временных интервалов в этой модельной системе синтеза, за которым следует анализ.

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

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

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

С помощью явного обращения к индексу m временного интервала, обновление буфера в традиционном анализе может быть описано, как изложено ниже

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

Буфером синтеза для индекса n временного интервала является

Обновление этого буфера является таким же, как для обычного случая и случая по изобретения, а именно

Следовательно, этот пример осуществления отличается от обычного, упомянутого выше способа в том, что более большая часть, чем лишь содержимое первого временного блока {0, 1, …, N-1} буфера синтеза, делается доступной для последующего каскада анализа.

На Фиг. 3a иллюстрируется содержимое буфера в конфигурации из двух взаимодействующих фильтров, первого фильтра (синтеза), содержащего K=Ls+1 отводов (для обеспечения промежуточного сигнала y на основе входного сигнала x), и второго фильтра (анализа), содержащего K'=LA+1 отводов (для обеспечения выходного сигнала z на основе промежуточного сигнала y). Сигналы вычерчены в виде трех различных моментов времени. Здесь белый цвет указывает уже существующие данные (из предшествующей итерации), более светлая штриховка указывает новые приближенные данные, и более темная штриховка указывает новые точные данные.

Первый фильтр, связанный с фильтром-прототипом (импульсной характеристикой) h, сконфигурирован для замены своих последних входных временных блоков нулевыми блоками, так что его наиболее недавних выходных блоков будут состоять из приближенных значений. На Фиг. 3b показывается пример реального фильтра-прототипа для блока размером N=8 выборок и окна длиной в K=10 блоков. Второй фильтр, который связан с фильтром-прототипом , сконфигурирован для использования последних выходных блоков из первого фильтра. Общая задержка схемы фильтра уменьшается на блоков. В эталонном исполнении с несимметричными прототипами задержка снижается от блоков до блоков. Фильтры-прототипы g и h вычерчены на фиг. 3a в том же масштабе времени, что и буферы.

Между t=0 и t=1 буфер синтеза (Buffer1) в первом фильтре увеличивается на кадр данных, который включает в себя последний по времени временной блок. Во время t=1 затем, наиболее давний блок (по отношению к самому левому) содержит точные промежуточные данные сигнала, готовые подлежать выводу в обычном фильтре. Между t=1 и t=2, L наиболее давних временных блоков копируются из буфера синтеза в буфер анализа (Buffer2) во втором фильтре, и содержимое буфера синтеза сдвигается на один временной блок. Буфер анализа подготовлен к приему скопированных временных блоков из буфера синтеза, будучи сдвинутым, между t=0 и t=1, на один блок (сравните знак сноски), тогда как дополнительные L-1 блоков данных отбрасываются или маркируются свободными, чтобы подлежать повторной записи. При t=1 в буфере анализа будут L доступных пространств временного блока.

В разновидности этого, причем точность несколько уменьшается, чтобы дополнительно снизить общую задержку, второй фильтр может использовать в качестве входных блоков точные старые и новые выходные блоки из первого фильтра (наиболее давняя порция ввода), приближенные выходные блоки из первого фильтра (промежуточная порция) и, в дополнение к этому, d2 блоков из нулей (последняя по времени порция). Для каждого дополнительного блока из нулей, который используется в качестве входного, полная задержка уменьшится на один временной блок. Этот подход, можно сказать, распределит усилия по снижению задержки по обоим фильтрам. Это может повлечь потенциальную выгоду, поскольку потеря точности меньше, чем в случае, где снижение задержки затрагивает только один фильтр, например, путем установки d2=0 и d1 в завышенное значение.

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

Отмечается, что буферы являются кольцевыми буферами длины , N является размером блока, и начальными позициями считывания-записи являются показанные в Таблице 1.

Таблица 1
Начальные позиции считывания-записи в буферах
Buffer1 считывание 0
запись 0
Buffer2 считывание 0
запись (K-L)×N

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

На первом этапе 902 новый блок временных выборок из косинусно-модулированного представления в частотной области для аудиосигнала получают с использованием косинусоидальной (де-)модуляции. На втором этапе 904 формируется массив из K временных блоков путем свертки нового блока из N временных выборок K раз периодически и взвешивания на третьем этапе 906 согласно прототипу синтеза общего типа, показанного на фиг. 3b. Затем, на четвертом и пятом этапе 908, 910, позиции считывания-записи (указатели) в Buffer1 увеличивают на N (причем значения переполнения осуществляют циклический переход благодаря цикличности), и обрабатываемый методом окна K-блочный массив добавляется к значениям, уже присутствующим в Buffer1. После этих этапов Buffer1 будет содержать один блок точных значений и K-1 блоков значений, полученных согласно различным приближениям. На шестом этапе 912 число L≥2 блоков копируется из Buffer1 в Buffer2 (с записью поверх предшествующего содержимого в Buffer2), так что, по меньшей мере, один приближенный блок внесет вклад в фильтрацию анализа, приводя к снижению задержки (L-1)×N выборками. Итерация продолжается, на седьмом этапе 914, повторной установкой N