RU2815754C2 - Systems and methods for smoothing covariance - Google Patents

Systems and methods for smoothing covariance Download PDF

Info

Publication number
RU2815754C2
RU2815754C2 RU2022105189A RU2022105189A RU2815754C2 RU 2815754 C2 RU2815754 C2 RU 2815754C2 RU 2022105189 A RU2022105189 A RU 2022105189A RU 2022105189 A RU2022105189 A RU 2022105189A RU 2815754 C2 RU2815754 C2 RU 2815754C2
Authority
RU
Russia
Prior art keywords
band
frequency
frame
covariance matrix
frequency band
Prior art date
Application number
RU2022105189A
Other languages
Russian (ru)
Other versions
RU2022105189A (en
Inventor
Дэвид С. МАКГРАТ
Стефани БРАУН
Хуан Феликс ТОРРЕС
Original Assignee
Долби Лэборетериз Лайсенсинг Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Долби Лэборетериз Лайсенсинг Корпорейшн filed Critical Долби Лэборетериз Лайсенсинг Корпорейшн
Publication of RU2022105189A publication Critical patent/RU2022105189A/en
Application granted granted Critical
Publication of RU2815754C2 publication Critical patent/RU2815754C2/en

Links

Images

Abstract

FIELD: audio signal processing.
SUBSTANCE: invention relates to audio signal processing. Technical result is achieved by calculating the forcing factor for the frequency band as the ratio of the effective amount to the required amount; and for each frequency band of a plurality of frequency bands, generating a corresponding smoothed covariance matrix for a specific band for a current signal frame using a previously generated value of the corresponding smoothed covariance matrix for a specific band for a previous signal frame with respect to the current signal frame and a loss factor; and generating an audio signal for an audio service using frequency-domain representations of a sequence of signal frames in the time domain and further use of corresponding sets of corresponding smoothed covariance matrices for a specific band, wherein comparison, calculation and formation are performed by a system comprising one or more computer processors.
EFFECT: preventing excessive smoothing of values of audio signals and thereby preventing the addition of undesirable artefacts due to smoothing of audio signals.
24 cl, 7 dwg

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИCROSS REFERENCE TO RELATED APPLICATIONS

[0001] Настоящая заявка испрашивает приоритет предварительной заявки на патент США № 62/881,825, поданной 1 августа 2019 года, и предварительной заявки на патент США № 63/057,533, поданной 28 июля 2020 года, которые включены в настоящий документ по ссылке.[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62/881,825, filed August 1, 2019, and U.S. Provisional Patent Application No. 63/057,533, filed July 28, 2020, both of which are incorporated herein by reference.

ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD

[0002] Настоящее раскрытие относится к улучшениям для обработки сигналов. В частности, настоящее раскрытие относится к обработке аудиосигналов для улучшения сглаживания ковариации для улучшенной обработки.[0002] The present disclosure relates to improvements for signal processing. In particular, the present disclosure relates to processing audio signals to improve covariance smoothing for improved processing.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART

[0003] Аспект обработки аудиосигнала включает в себя представление многоканального звука слушателю таким образом, что слушатель может определить виртуальные пространственные местоположения для аудио, обеспечивая слушателю эффект погружения. Ранней реализацией этого является стерео, в котором слушатель может определить "направление" d пространстве, откуда исходит звук.[0003] The audio signal processing aspect involves presenting multi-channel audio to a listener such that the listener can determine virtual spatial locations for the audio, providing an immersive experience for the listener. An early implementation of this is stereo, in which the listener can determine the "direction" in space from which the sound is coming.

[0004] Более поздние разработки в этой технологии используют межканальные зависимости многоканальной системы для обеспечения более полного погружения в звук. Это может включать в себя использование ковариационной матрицы аудиоканалов.[0004] More recent developments in this technology utilize the inter-channel dependencies of a multi-channel system to provide a more immersive audio experience. This may involve using the audio channel covariance matrix.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0005] В настоящем документе раскрыты различные системы и способы обработки сигналов. Некоторые такие системы и способы могут включать в себя сглаживание значений ковариации для частотной полосы по последовательным кадрам.[0005] Various signal processing systems and methods are disclosed herein. Some such systems and methods may include smoothing covariance values for a frequency band over successive frames.

[0006] В некоторых примерах система и способ для сглаживания оценки ковариационной матрицы для последовательности сигнальных кадров в частотной полосе, способ содержит: для сигнальных кадров сравнение эффективного количества ячеек в частотной полосе с требуемым количеством ячеек для частотной полосы; вычисление коэффициента забывания для полосы как отношения эффективного количества к требуемому количеству; и если эффективное количество ячеек в частотной полосе меньше, чем требуемое количество, формирование текущей оценки значения ковариационной матрицы для текущего кадра с использованием ранее сформированной оценки значения ковариационной матрицы для предыдущего кадра относительно текущего кадра и коэффициента забывания; причем сравнение, вычисление и формирование выполняются системой, содержащей один или несколько компьютерных процессоров. Сглаженная ковариационная матрица может использоваться для улучшенной дальнейшей обработки сигнала посредством сокращения артефактов, вызванных грубыми переходами в матрице.[0006] In some examples, a system and method for smoothing a covariance matrix estimate for a sequence of signal frames in a frequency band, the method comprises: for signal frames, comparing an effective number of cells in the frequency band with a required number of cells for the frequency band; calculating the forgetting coefficient for the strip as the ratio of the effective amount to the required amount; and if the effective number of cells in the frequency band is less than the required number, generating a current estimate of the covariance matrix value for the current frame using the previously generated estimate of the covariance matrix value for the previous frame relative to the current frame and a forgetting rate; wherein the comparison, calculation and generation are performed by a system comprising one or more computer processors. The smoothed covariance matrix can be used to improve further signal processing by reducing artifacts caused by rough transitions in the matrix.

[0007] В некоторых таких примерах система и способ могут включать в себя вычисление эффективного количества ячеек как суммы значений отклика набора фильтров для частотной полосы.[0007] In some such examples, the system and method may include calculating an effective number of cells as the sum of the response values of a filter bank for a frequency band.

[0008] В некоторых таких примерах формирование использует фильтр первого порядка.[0008] In some such examples, the shaping uses a first order filter.

[0009] В некоторых таких примерах фильтр первого порядка включает в себя разность между значением для текущего кадра и ранее формированной оценкой для предыдущего кадра, разность взвешена посредством коэффициента забывания.[0009] In some such examples, the first order filter includes the difference between the value for the current frame and a previously generated estimate for the previous frame, the difference weighted by a forgetting factor.

[0010] В некоторых таких примерах система и способ также включают в себя сравнение коэффициента забывания с максимальным коэффициентом забывания; и установку коэффициента забывания равной минимуму из вычисленного коэффициента забывания и максимального разрешенного коэффициента забывания; причем сравнение и установка выполняются перед формированием текущей оценки значения ковариационной матрицы для текущего кадра.[0010] In some such examples, the system and method also include comparing a forgetting rate with a maximum forgetting rate; and setting the forgetting rate to the minimum of the calculated forgetting rate and the maximum allowed forgetting rate; wherein the comparison and setting are performed before generating a current estimate of the value of the covariance matrix for the current frame.

[0011] В некоторых таких примерах система и способ также включают в себя обнаружение, возникает ли транзиент в отслеживаемом кадре; и сброс сглаживания в ответ на обнаружение, что транзиент возникает, посредством установки текущей оценки значения ковариационной матрицы для отслеживаемого кадра равной исходному значению ковариационной матрицы для отслеживаемого кадра без использования коэффициента забывания для отслеживаемого кадра. Обнаружение может быть выполнено посредством использования аспектов декоррелятора приглушения.[0011] In some such examples, the system and method also include detecting whether a transient occurs in a monitored frame; and resetting the smoothing in response to detecting that a transient occurs by setting the current estimate of the covariance matrix value for the tracked frame to the original covariance matrix value for the tracked frame without using a forgetting factor for the tracked frame. Detection can be performed by using aspects of the muting decorrelator.

[0012] В некоторых таких примерах система и способ также включают в себя сохранение текущей оценки ковариационной матрицы настоящего кадра; и преобразование отсчетов сохраненной текущей оценки по частотным полосам, преобразование из одной структуры распределения полос в другую структуру распределения полос.[0012] In some such examples, the system and method also include storing a current estimate of the covariance matrix of the present frame; and converting the stored current estimate samples into frequency bands, converting from one band allocation structure to another band allocation structure.

[0013] Система и способ могут являться частью декодера аудиосигнала.[0013] The system and method may be part of an audio decoder.

[0014] Некоторые или все способы, описанные в настоящем документе, могут быть выполнены одним или несколькими устройствами в соответствии с инструкциями (например, программным обеспечением), сохраненными на одном или нескольких носителях долговременного хранения. Такие носители долговременного хранения могут включать в себя запоминающие устройства, такие как описанные в настоящем документе, в том числе, но без ограничения, оперативные запоминающие устройства (ОЗУ, RAM), постоянные запоминающие устройства (ПЗУ, ROM) и т.д. В соответствии с этим различные инновационные аспекты предмета изобретения, описанного в настоящем раскрытии, могут быть реализованы в носителе долговременного хранения, имеющем сохраненное на нем программное обеспечение. Программное обеспечение, например, может исполняться одним или несколькими компонентами системы управления, такими как раскрытые в настоящем документе. Программное обеспечение, например, может включать в себя инструкции для выполнения одного или нескольких способов, раскрытых в настоящем документе.[0014] Some or all of the methods described herein may be performed by one or more devices in accordance with instructions (eg, software) stored on one or more non-transitory storage media. Such non-transitory storage media may include storage devices such as those described herein, including, but not limited to, random access memory (RAM), read only memory (ROM), etc. Accordingly, various innovative aspects of the subject matter described in the present disclosure may be implemented in a non-transitory storage medium having software stored thereon. The software, for example, may be executed by one or more control system components, such as those disclosed herein. The software, for example, may include instructions for performing one or more methods disclosed herein.

[0015] По меньшей мере некоторые аспекты настоящего раскрытия могут быть реализованы через устройство или устройства. Например, одно или несколько устройств могут быть сконфигурированы для выполнения (по меньшей мере частично) способов, раскрытых в настоящем документе. В некоторых реализациях устройство может включать в себя систему интерфейса и систему управления. Система интерфейса может включать в себя один или несколько сетевых интерфейсов, один или несколько интерфейсов между системой управления и системой памяти, один или несколько интерфейсов между системой управления и другим устройством и/или один или несколько интерфейсов внешнего устройства. Система управления может включать в себя по меньшей мере один компонент из процессора общего назначения на одной или нескольких микросхемах, процессора цифровой обработки сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства, дискретной или транзисторной логики или дискретных аппаратных компонентов. В соответствии с этим в некоторых реализациях система управления может включать в себя один или несколько процессоров и один или несколько носителей информации долговременного хранения, функционально соединенных с одним или несколькими процессорами.[0015] At least some aspects of the present disclosure may be implemented through a device or devices. For example, one or more devices may be configured to perform (at least in part) the methods disclosed herein. In some implementations, the device may include an interface system and a control system. The interface system may include one or more network interfaces, one or more interfaces between a control system and a memory system, one or more interfaces between a control system and another device, and/or one or more external device interfaces. The control system may include at least one component of a general purpose processor on one or more chips, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete or transistor logic or discrete hardware components. Accordingly, in some implementations, the control system may include one or more processors and one or more non-transitory storage media operably coupled to the one or more processors.

[0016] Подробные сведения об одной или нескольких реализациях предмета изобретения, описанного в настоящей спецификации, изложены на прилагаемых чертежах и в описании ниже. Другие характерные признаки, аспекты и преимущества станут очевидны из описания, чертежей и формулы изобретения. Следует отметить, что относительные размеры следующих фигур могут не соблюдать масштаб. Одинаковые ссылочные номера и обозначения на различных чертежах обычно указывают одинаковые элементы, но разные ссылочные номера не обязательно обозначают разные элементы между разными чертежами.[0016] Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and in the description below. Other features, aspects and advantages will become apparent from the description, drawings and claims. It should be noted that the relative sizes of the following figures may not be to scale. The same reference numbers and symbols in different drawings generally indicate the same elements, but different reference numbers do not necessarily indicate different elements between different drawings.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0017] Фиг. 1 иллюстрирует пример канала сигнала, разделенного на отсчеты, кадры, ячейки и полосы.[0017] FIG. 1 illustrates an example of a signal channel divided into samples, frames, cells and stripes.

[0018] Фиг. 2 иллюстрирует блок-схему последовательности этапов для иллюстративного способа сглаживания ковариационной матрицы сигнала с использованием алгоритма сглаживания.[0018] FIG. 2 illustrates a flowchart for an exemplary method of smoothing a signal covariance matrix using a smoothing algorithm.

[0019] Фиг. 3 иллюстрирует блок-схему последовательности этапов (частичную) для иллюстративного способа сглаживания ковариационной матрицы сигнала с использованием алгоритма сглаживания с максимальным коэффициентом забывания.[0019] FIG. 3 illustrates a flowchart (partial) for an exemplary method of smoothing a signal covariance matrix using a maximum forgetting rate smoothing algorithm.

[0020] Фиг. 4 иллюстрирует блок-схему последовательности этапов (частичную) для иллюстративного способа сглаживания ковариационной матрицы сигнала с использованием алгоритма сглаживания с обнаружением транзиента.[0020] FIG. 4 illustrates a flowchart (partial) for an exemplary method of smoothing a signal covariance matrix using a transient detection smoothing algorithm.

[0021] Фиг. 5 иллюстрирует пример системы кодера/декодера с алгоритмом сглаживания в кодере.[0021] FIG. 5 illustrates an example of an encoder/decoder system with an anti-aliasing algorithm in the encoder.

[0022] Фиг. 6 иллюстрирует пример системы кодера/декодера с алгоритмом сглаживания в декодере.[0022] FIG. 6 illustrates an example of an encoder/decoder system with an anti-aliasing algorithm in the decoder.

[0023] Фиг. 7 иллюстрирует пример системы кодера/декодера с алгоритмом сглаживания как частью DTX.[0023] FIG. 7 illustrates an example of an encoder/decoder system with an anti-aliasing algorithm as part of the DTX.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

[0024] Настоящее раскрытие описывает способы и системы для сглаживания значений оценочной матрицы (например, ковариационной матрицы) во времени, включая случаи, в которых оценка вычислена на основе небольшого количества отсчетов, в результате чего несглаженная вариация этих значений может вызвать проблемы, такие как заметные артефакты в выходных данных (например, аудио).[0024] The present disclosure describes methods and systems for smoothing the values of an estimation matrix (e.g., a covariance matrix) over time, including cases in which the estimation is calculated based on a small number of samples, whereby unsmoothed variation of these values can cause problems such as noticeable artifacts in the output (eg audio).

[0025] Настоящее раскрытие также описывает (среди прочего) использование обнаружения транзиентов для предотвращения чрезмерного сглаживания значений и тем самым предотвращения добавления нежелательных артефактов вследствие сглаживания.[0025] The present disclosure also describes (among other things) the use of transient detection to prevent over-smoothing of values and thereby preventing the addition of unwanted artifacts due to dithering.

[0026] Термин "сглаживание", используемый в настоящем документе, относится к сокращению изменчивости значения последовательных кадров сигнала. Например, к сокращению изменчивости значений ковариации по последовательным кадрам.[0026] The term "smoothing" as used herein refers to reducing the variability in the value of successive frames of a signal. For example, to reduce the variability of covariance values over successive frames.

[0027] Термин "ковариация" в контексте настоящего документа относится к мере совместной изменчивости двух сигналов. Например, ковариация энергий сигналов.[0027] The term "covariance" as used herein refers to a measure of the joint variability of two signals. For example, covariance of signal energies.

[0028] Термин "ковариационная матрица", используемый настоящем документе, относится к матрице ковариаций нескольких сигналов. Термин “полосчатая ковариационная матрица” относится к ковариационной матрице, в которой несколько смежных частотных ячеек ковариационной матрицы для каждой ячейки объединены в полосу, в результате чего ковариация может быть представлена значительно меньшим количеством (равным количеству полос). Например, входные данные с 960 частотными ячейками могут стать 12 частотными полосами с 960 ячейками, распределенными равномерно или неравномерно по 12 полосам. Для представленных в настоящем документе примеров подразумевается, что "ковариационная матрица" является полосчатой ковариационной матрицей.[0028] The term "covariance matrix" as used herein refers to the covariance matrix of multiple signals. The term “banded covariance matrix” refers to a covariance matrix in which several adjacent frequency cells of the covariance matrix for each cell are combined into a band, with the result that the covariance can be represented by a significantly smaller number (equal to the number of bands). For example, input data with 960 frequency bins could become 12 frequency bands with 960 bins distributed evenly or unevenly across the 12 bands. For the examples presented herein, the “covariance matrix” is assumed to be a banded covariance matrix.

[0029] Термин "Оценочная матрица", используемый в настоящем документе, относится к выборочной ковариационной матрице. В контексте настоящего документа "ковариационная матрица" и "сглаженная матрица" включают в себя оценочные матрицы.[0029] The term "Estimation Matrix" as used herein refers to a sample covariance matrix. As used herein, "covariance matrix" and "smoothing matrix" include estimation matrices.

[0030] Термин "комплексная расширенная связь" (CACPL, complex advanced coupling), используемый в настоящем документе, относится к способу кодирования стереосигнала, посредством которого сигналы левого и правого каналов объединяются mid-сигнал (L+R)/2 и side-сигнал (L-R)/2, и затем side-сигнал предсказывается на основе mid-сигнала.[0030] The term "complex advanced coupling" (CACPL) as used herein refers to a stereo encoding method whereby the left and right channel signals are combined into a mid-signal (L+R)/2 and a side signal. (L-R)/2, and then the side signal is predicted based on the mid signal.

[0031] Термин "алгоритм сглаживания", используемый в настоящем документе, относится к сглаживанию ковариационной матрицы в соответствии с настоящим раскрытием, в частности, к сглаживанию на основе эффективного количества ячеек полосы. Термин "сглаженная матрица", используемый в настоящем документе, относится к ковариационной матрице, модифицированной алгоритмом сглаживания.[0031] The term "smoothing algorithm" as used herein refers to smoothing a covariance matrix in accordance with the present disclosure, particularly smoothing based on the effective number of stripe cells. The term "smoothed matrix" as used herein refers to a covariance matrix modified by a smoothing algorithm.

[0032] Термин "эффективное количество ячеек", используемый в настоящем документе, относится либо к фактическому количеству ячеек в полосе, либо к оценке количества эффективных ячеек в полосе. Пример оценки количества эффективных ячеек в полосе включает в себя суммирование значений отклика набора фильтров для этой полосы.[0032] The term "effective number of cells" as used herein refers to either the actual number of cells in a stripe or an estimate of the number of effective cells in a stripe. An example of estimating the number of effective cells in a band involves summing the response values of a bank of filters for that band.

[0033] Термин "коэффициент забывания", используемый в настоящем документе, относится к весовому значению, которое модифицирует значимость части функции.[0033] The term "forgetting factor" as used herein refers to a weighting value that modifies the significance of a portion of a feature.

[0034] Термин "DTX", используемый в настоящем документе, относится к модулю кодера, который обрабатывает события прерывистой передачи.[0034] The term "DTX" as used herein refers to an encoder module that processes discontinuous transmission events.

[0035] Решение проблемы сглаживания ковариации входных каналов описан в настоящем документе. Это улучшает технологию обработки сигналов, например, для служб передачи голоса и аудиоданных, например, обеспечивающих пользователям эффект присутствия (например, виртуальная реальность, дополненная реальность).[0035] A solution to the problem of smoothing the covariance of input channels is described herein. This improves signal processing technology, for example, for voice and audio services, for example, providing users with an immersive experience (eg, virtual reality, augmented reality).

[0036] В цифровой обработке сигналов, как показано на фиг. 1, входной сигнал (канал) разделен во временной области на кадры 101. Серия последовательных кадров может группироваться в последовательность 102 кадров. В частотной области сигнал может быть разделен на частотные интервалы, называемые ячейками 103. Заданную ячейку в заданном кадре называют отсчетом 106. Ячейки могут группироваться вместе в частотной полосе 104/105. Это позволяет выполнить статистическое усреднение по заданной полосе для заданной подвергнутого оконной обработке кадра/последовательности кадров ("окно" представляет собой функцию взвешивания, применяемую к кадру или последовательности кадров). Одним из применений этого усреднения является оценка ковариация между аудиоканалами.[0036] In digital signal processing, as shown in FIG. 1, the input signal (channel) is divided in the time domain into frames 101. A series of consecutive frames may be grouped into a frame sequence 102. In the frequency domain, the signal can be divided into frequency bins called cells 103. A given cell in a given frame is called a sample 106. Cells can be grouped together in a frequency band 104/105. This allows statistical averaging to be performed over a given stripe for a given windowed frame/sequence of frames (a "window" is a weighting function applied to a frame or sequence of frames). One application of this averaging is to estimate the covariance between audio channels.

[0037] Не все полосы обязательно содержат одинаковое количество ячеек. Например, более низкочастотные полосы 104 могут иметь меньшее количество ячеек на полосу, чем более высокочастотные частоты 105. Это означает, что для статистического анализа для более низкочастотных полос требуется большее окно (больше кадров) на ячейку для получения значимых статистических результатов, чем для более высокочастотной полосы. Данная ячейка в данном кадре может иметь связанную с ней энергию сигнала, и несколько значений ячеек могут быть усреднены по полосе и/или окну.[0037] Not all stripes necessarily contain the same number of cells. For example, lower frequency bands 104 may have fewer cells per band than higher frequency bands 105. This means that statistical analysis for lower frequency bands requires a larger window (more frames) per cell to obtain meaningful statistical results than for higher frequency bands. stripes. A given cell in a given frame may have signal energy associated with it, and multiple cell values may be averaged across a stripe and/or window.

Пример ковариационной матрицыExample of a covariance matrix

[0038] Взяв в качестве примера комплексную расширенную связь (CACPL), параметры α (комплексный коэффициент предсказания) и β (действительный коэффициент декорреляции) могут быть вычислены на основе элементов ковариационной матрицы mid-side (2×2) . Эта матрица вычисляется по ряду аналитических полос 1≤b≤B.[0038] Taking complex extended link (CACPL) as an example, the parameters α (complex prediction coefficient) and β (real decorrelation coefficient) can be calculated based on the elements of the mid-side (2×2) covariance matrix . This matrix is calculated from a series of analytical bands 1≤b≤B.

Уравнение 1 Equation 1

где члены в форме представляют собой ковариацию сигналов X и Y, вычисленную по частотной полосе b. Верхний индекс * обозначает комплексное сопряженное транспонирование значения. Приведенный выше пример представляет собой ковариационную матрицу 2 х 2. В различных реализациях возможно любое количество входных каналов (например, четырехканальная система с ковариационной матрицей 4×4). Приведенный выше пример предназначен для mid-сигналов (M) и side-сигналов (S), но специалист в данной области может экстраполировать представленное выше для других типов сигналов.where are the members in the form represent the covariance of signals X and Y , calculated over frequency band b. The superscript * denotes the complex conjugate transpose of the value. The example above is a 2 x 2 covariance matrix. In various implementations, any number of input channels is possible (for example, a four-channel system with a 4x4 covariance matrix). The above example is for mid signals (M) and side signals (S), but one skilled in the art can extrapolate the above for other signal types.

Сглаживающая функция и коэффициент забыванияSmoothing function and forgetting coefficient

[0039] Обычно сглаженная матрица может быть вычислена с использованием низкочастотного фильтра, разработанного в соответствии с требованиями к сглаживанию. В случае алгоритма сглаживания требования к сглаживанию таковы, что предыдущие оценки используются для искусственного увеличения количества частотных отсчетов (ячеек), используемых для формирования текущей оценки ковариационной матрицы. В некоторых вариантах осуществления вычисление сглаженной матрицы на основе входной ковариационной матрицы по последовательности кадров использует авторегрессивный низкочастотный фильтр первого порядка, который использует взвешенную сумму оценочных значений матрицы прошлых и текущих кадров:[0039] Typically, the smoothed matrix can be calculated using a low-pass filter designed according to the smoothing requirements. In the case of a smoothing algorithm, the smoothing requirements are such that previous estimates are used to artificially increase the number of frequency samples (cells) used to generate the current estimate of the covariance matrix. In some embodiments, computing the smoothed matrix based on input covariance matrix over a sequence of frames uses a first-order autoregressive low-pass filter that uses a weighted sum of the estimated values of a matrix of past and current frames:

Уравнение 2 Equation 2

где - коэффициент забывания или частота обновления, т.е. насколько большое внимание уделяется данным предыдущей оценки, и n - номер кадра. В некоторых вариантах осуществления это имеет значение только для кадров после первого кадра, поскольку нет значения для . В некоторых вариантах осуществления A[0] равно 0, что приводит к сглаживанию A[1]. В некоторых вариантах осуществления A[0] присваивается значение A[1], что приводит к отсутствию сглаживания A[1]. Алгоритм в уравнении 2 является примером алгоритма, который может использоваться для алгоритма сглаживания, но также могут использоваться другие уравнения. Например, в то время как уравнение 2 представляет низкочастотный фильтр первого порядка, также может использоваться конструктивное решение фильтра более высокого порядка. Важными факторами алгоритма (функции сглаживания) являются ретроспективный аспект использования ранее сглаженных результатов и коэффициент забывания для задания веса влияния этих результатов.Where - forgetting coefficient or update rate, i.e. how much attention is given to the previous evaluation data, and n is the frame number. In some embodiments, this only matters for frames after the first frame, since there is no meaning for . In some embodiments, A [0] is equal to 0, resulting in A [1] being smoothed. In some embodiments, A [0] is assigned the value of A [1], resulting in no smoothing of A [1]. The algorithm in Equation 2 is an example of an algorithm that can be used for the smoothing algorithm, but other equations can also be used. For example, while Equation 2 represents a first-order low-pass filter, a higher-order filter design can also be used. Important factors of the algorithm (smoothing function) are the retrospective aspect of using previously smoothed results and the forgetting factor for assigning weight to the influence of these results.

Коэффициент забыванияForgetting rate

[0040] Эффект фактора забывания заключается в том, что по мере применения сглаживания к последовательным кадрам предыдущие кадры все меньше и меньше влияют на сглаживание сглаживаемого (корректируемого) кадра.[0040] The effect of the forgetting factor is that as smoothing is applied to successive frames, previous frames have less and less influence on the smoothing of the frame being smoothed (corrected).

[0041] Когда коэффициент забывания в уравнении 1 равен единице ( ), сглаживание не происходит, и оно фактически действует как фильтр всех частот. Когда , уравнение действует как низкочастотный фильтр. Более низкий уделяет больше внимания старым данным ковариации, в то время как более высокий больше учитывает новую ковариацию. Коэффициент забывания больше единицы (например, ) реализуется как высокочастотный фильтр. В некоторых вариантах осуществления реализован максимальный допустимый коэффициент забывания . Это максимальное значение будет определять поведение алгоритма, как только значения ячеек/полосы становятся большими. В некоторых вариантах осуществления будет всегда реализовывать некоторое сглаживание в каждой полосе независимо от того, каков вычисленный коэффициент забывания; и будет применять сглаживающую функцию только к полосам с меньшим количеством ячеек, чем требуемое количество , оставляя большие полосы несглаженными.[0041] When the forgetting coefficient in Equation 1 is one ( ), no smoothing occurs, and it effectively acts as a filter for all frequencies. When , the equation acts as a low-pass filter. Lower pays more attention to older covariance data, while higher takes the new covariance into account more. The forgetting rate is greater than one (for example, ) is implemented as a high-pass filter. In some embodiments, a maximum allowable forgetting rate is implemented . This maximum value will determine the behavior of the algorithm once the cell/bar values become large. In some embodiments will always implement some smoothing in each band no matter what the calculated forgetting rate is; And will only apply the smoothing function to stripes with fewer cells than the required number , leaving large stripes unsmoothed.

[0042] В некоторых из тех вариантов осуществления коэффициент забывания для конкретной полосы вычисляется как минимум из максимального разрешенного коэффициента забывания и отношения эффективного количества ячеек в полосе и минимального количества ячеек , которые определены как дающие хорошую статистическую оценку на основе размера окна.[0042] In some of those embodiments, the band-specific forgetting ratio calculated as a minimum from the maximum allowed forgetting rate and the ratio of the effective number of cells in a strip and minimum number of cells , which are determined to give a good statistical estimate based on window size.

Уравнение 3 Equation 3

[0043] В некоторых вариантах осуществления является фактическим количеством ячеек для частотной полосы. В некоторых вариантах осуществления может быть вычислен на основе суммы частотной характеристики конкретной полосы, например, если частотной характеристикой полосы является , эффективное количество ячеек . В некоторых вариантах осуществления , такой как , остается в разумном диапазоне, например, . Это означает, что сглаживание применяется пропорционально к оценкам небольшой выборки, и сглаживание вообще не применяется к оценкам большой выборки. В некоторых вариантах осуществления , что заставляет сглаживать большие полосы до определенной степени независимо от их размера (например, ). В некоторых вариантах осуществления может быть выбран на основе имеющихся данных, которые дают наилучшие субъективные результаты. В некоторых вариантах осуществления может быть выбран на основе того, насколько желательно начальное сглаживание (первого последующего кадра после начального кадра данного окна).[0043] In some embodiments is the actual number of cells for the frequency band. In some embodiments can be calculated based on the sum of the frequency response of a particular band, for example if the frequency response of the band is , effective number of cells . In some embodiments , such as , remains within a reasonable range, e.g. . This means that smoothing is applied proportionally to small sample estimates, and no smoothing is applied at all to large sample estimates. In some embodiments , which causes large stripes to be smoothed to a certain extent regardless of their size (e.g. ). In some embodiments can be selected based on the available data that gives the best subjective results. In some embodiments can be chosen based on how much initial smoothing is desired (the first subsequent frame after the initial frame of a given window).

[0044] В примере, использующем набор фильтров анализа с более узкими низкочастотными полосами (т.е., с меньшим количеством ячеек, большим количеством кадров, необходимых для хорошего статистического анализа) и более широкими высокочастотными полосами (т.е., с большим количеством ячеек, меньшим количеством кадров, необходимых для хорошего статистического анализа) это приведет к увеличению степени сглаживания в низкочастотных полосах и уменьшению величины сглаживания (или вообще к отсутствию сглаживания, если ) в высокочастотных полосах.[0044] In an example using an analysis filter bank with narrower low frequency bands (i.e., fewer cells, more frames needed for good statistical analysis) and wider high frequency bands (i.e., more cells, with fewer frames required for good statistical analysis) this will lead to an increase in the degree of smoothing in the low frequency bands and a decrease in the amount of smoothing (or no smoothing at all if ) in high frequency bands.

[0045] Пример последовательности операций для этого способа показан на фиг. 2. Входной сигнал 201 FFT (быстрое преобразование Фурье) обеспечивает для заданной полосы во входном сигнале соответствующую ковариационную матрицу по окну. Извлекается 202 эффективное количество ячеек для этой полосы. Например, оно может быть вычислено посредством значений отклика набора фильтров полосы. Требуемое количество ячеек определяется 203, например, посредством субъективного анализа, сколько ячеек потребуется для обеспечения хорошего статистического анализа для окна. Коэффициент забывания вычисляется 204 посредством вычисления отношения рассчитанного количества ячеек к требуемому количеству ячеек. Для заданного кадра (кроме первого кадра) новое значение ковариационной матрицы вычисляется 205 на основе нового значения ковариации, вычисленного для предыдущего кадра, исходного значения для текущего кадра и коэффициента забывания. Новая (сглаженная) матрица, сформированная этими новыми значениями, используется в дальнейшей обработке 206 сигналов.[0045] An example flowchart for this method is shown in FIG. 2. The FFT (Fast Fourier Transform) input signal 201 provides, for a given band in the input signal, a corresponding windowed covariance matrix. An effective number of cells for this stripe is retrieved 202. For example, it can be calculated using the response values of a bank of bandpass filters. The required number of cells is determined 203, for example, by subjectively analyzing how many cells will be needed to provide a good statistical analysis for the window. The forgetting rate is calculated 204 by calculating the ratio of the calculated number of cells to the required number of cells. For a given frame (except the first frame), a new covariance matrix value is calculated 205 based on the new covariance value calculated for the previous frame, the original value for the current frame, and the forgetting rate. The new (smoothed) matrix formed by these new values is used in further signal processing 206.

[0046] На фиг. 3 показан пример модификации последовательности операций для максимального разрешенного коэффициента забывания. Как и на фиг. 2, для полосы вычисляется коэффициент забывания. Кроме того, определяется 302 максимальный разрешенный коэффициент забывания. Значения сравниваются 303, и если вычисленный коэффициент меньше, чем максимальный разрешенный коэффициент, то вычисленный коэффициент используется при сглаживании 305. Если вычисленный коэффициент больше, чем максимальный разрешенный коэффициент, максимальный разрешенный коэффициент используется 304 при сглаживании 305. В примере показан вычисленный коэффициент, который используется, если коэффициенты равны (не больше), но можно предусмотреть эквивалентную последовательность операций, в которой используется минимальное значение, если они равны.[0046] In FIG. Figure 3 shows an example of modifying the sequence of operations for the maximum allowed forgetting rate. As in FIG. 2, the forgetting coefficient is calculated for the strip. In addition, the maximum allowed forgetting rate is determined 302. The values are compared 303 and if the calculated coefficient is less than the maximum allowed coefficient, then the calculated coefficient is used in smoothing 305. If the calculated coefficient is greater than the maximum allowed coefficient, the maximum allowed coefficient is used 304 in smoothing 305. The example shows the calculated coefficient that is used , if the coefficients are equal (not greater), but an equivalent sequence of operations can be provided that uses the minimum value if they are equal.

Сброс сглаживанияReset smoothing

[0047] В некоторых вариантах осуществления может возникнуть желание избежать сглаживания транзиентов (внезапных изменений величины сигнала), поскольку это может привести к нежелательным искажениям/артефактам сигнала на выходе. В этих вариантах осуществления сглаживание может быть “сброшено” в точках, где в сигнале обнаруживаются транизиенты.[0047] In some embodiments, it may be desirable to avoid smoothing transients (sudden changes in signal magnitude) as this may result in unwanted signal distortion/artifacts at the output. In these embodiments, the smoothing may be “reset” at points where transients are detected in the signal.

[0048] Оценочная матрица предыдущего временного кадра может быть сохранена, чтобы обеспечить возможность вычисления сглаженного значения для текущего кадра. Если во входных сигналах во время этого кадра обнаружен транзиент, сглаживающая функция может быть настроена на повторную инициализацию.[0048] The estimation matrix of the previous time frame may be stored to allow a smoothed value to be calculated for the current frame. If a transient is detected in the input signals during this frame, the smoothing function can be set to reinitialize.

[0049] Когда обнаружен транзиент, прошлая оценка матрицы сбрасывается на текущую оценку, в результате чего выходные данные сглаживающего фильтра после транзиента представляют собой саму оценку (изменения не применяются). Другими словами, для кадра сброса После кадра сброса в последующих кадрах может быть снова применена сглаживающая функция до следующего сброса.[0049] When a transient is detected, the past matrix estimate is reset to the current estimate, causing the post-transient anti-aliasing filter output to be the estimate itself (no changes are applied). In other words, for a reset frame After a reset frame, the smoothing function can be applied again in subsequent frames until the next reset.

[0050] На фиг. 4 показана иллюстративная модификация последовательности операций для обнаружения транзиента. Выполняется определение 401, обнаружен ли транзиент для данного кадра. Если да 403, то новое значение матрицы остается таким же, как входное значение. Если нет 402, для этого кадра используется обычный алгоритм сглаживания. Комбинация (матрица) сглаженных и несглаженных (транзиент) значений кадра используется для обработки 404 сигналов.[0050] In FIG. 4 shows an exemplary modification of the process flow for transient detection. A determination is made 401 whether a transient is detected for a given frame. If yes 403, then the new matrix value remains the same as the input value. If there is no 402, the normal anti-aliasing algorithm is used for that frame. A combination (matrix) of smoothed and unsmoothed (transient) frame values is used to process the 404 signals.

[0051] В некоторых вариантах осуществления сглаживание сбрасывается, когда транзиент обнаружен на любом канале. Например, если существуют N каналов, может использоваться N детекторов транзиента (один на каждый канал), и если какой-либо из них обнаруживает транзиент, сглаживание сбрасывается, или конец сигнала, или конец сглаживания (сглаживание отключается).[0051] In some embodiments, dithering is reset when a transient is detected on any channel. For example, if there are N channels, N transient detectors (one per channel) can be used, and if any of them detect a transient, the dithering is reset, either the end of the signal or the end of the dithering (dithering is turned off).

[0052] Для примера входного стереосигнала каналы могут быть определены как отдельные (или, возможно, достаточно разные), в результате чего учет транзиентов в левом канале может означать, что важный транзиент в правом канале может быть неправильно сглажен (и наоборот). Поэтому используются два детектора транзиентов (левый и правый), и любой из них может вызвать сброс сглаживания всей матрицы 2×2.[0052] For an example stereo input signal, the channels may be defined as separate (or perhaps quite different), such that accounting for transients in the left channel may mean that an important transient in the right channel may not be properly smoothed (and vice versa). Therefore, two transient detectors are used (left and right), and either of them can reset the smoothing of the entire 2x2 matrix.

[0053] В некоторых вариантах осуществления сглаживание сбрасывается только на транзиентах для некоторых каналов. Например, если существуют N каналов, используются только M (меньше N, возможно 1) детекторов.[0053] In some embodiments, smoothing is only reset on transients for some channels. For example, if N channels exist, only M (less than N, possibly 1) detectors are used.

[0054] Для примера входного сигнала Ambisonics первого порядка (FOA, First Order Ambisonics) первый канал (W) может быть определен как самый важный по сравнению с другими тремя каналами (X, Y, Z), и учитывая пространственные отношения между сигналами FOA, вероятно, что транзиенты в последних трех каналах так или иначе будут отражены в канале W. Таким образом, система может быть настроена с детектором транзиента только на канале W, инициирующим сброс всей ковариационной матрицы 4×4, когда он обнаруживает транзиент на канале W.[0054] For an example of a First Order Ambisonics input signal (FOA), the first channel (W) can be determined to be the most important compared to the other three channels (X, Y, Z), and given the spatial relationships between the FOA signals, it is likely that the transients in the last three channels will be reflected in the W channel one way or another. Thus, the system can be configured with a transient detector on the W channel only, triggering a reset of the entire 4x4 covariance matrix when it detects a transient on the W channel.

[0055] В некоторых вариантах осуществления сбрасываются только элементы ковариации, которые испытали транзиент. Это означало бы, что транзиент в n-м канале приведет к сбросу значений только в n-й строке и в n-м столбце ковариационной матрицы (всей строки и всего столбца). Это может быть выполнено посредством отдельного отслеживания транзиентов на каждом канале, и обнаруженный транзиент на любом данном канале инициирует сброс позиций матрицы, которые соответствуют ковариации этого канала с другим каналом (и наоборот, а также тривиально с самим собой).[0055] In some embodiments, only covariance elements that have experienced a transient are reset. This would mean that a transient in the nth channel would reset the values in only the nth row and nth column of the covariance matrix (the entire row and the entire column). This can be accomplished by separately tracking transients on each channel, and a detected transient on any given channel triggers a reset of the matrix positions that correspond to that channel's covariance with the other channel (and vice versa, and also trivially with itself).

[0056] В некоторых вариантах осуществления сброс происходит только для большинства или порогового количеств каналов, обнаруживающих транзиент. Например, в четырехканальной системе пороговое значение может быть установлено для инициирования сброса только в том случае, если по меньшей мере два канала сообщают о транзиенте в одном и том же кадре.[0056] In some embodiments, the reset occurs only for a majority or a threshold number of channels detecting the transient. For example, in a four-channel system, a threshold can be set to trigger a reset only if at least two channels report a transient in the same frame.

Пример обнаружения транзиентаTransient detection example

[0057] Примером детектора транзиента является использование свойства приглушения декоррелятора приглушения, который может использоваться для определения, произошел ли транзиент в одном входном канале. См. например патент США 9,747,909, содержание которого включено в настоящий документ по ссылке. При транзиентах возникает внезапное уменьшение коэффициента приглушения. Изменение коэффициента приглушения можно сравнить с пороговым значением, чтобы определить, произошел ли транзиент. Пороговое значение может быть определено посредством субъективной оценки того, что обеспечивает точное обнаружение транзиента.[0057] An example of a transient detector is the use of the mute property of a mute decorrelator, which can be used to determine whether a transient has occurred in one input channel. See, for example, US Pat. No. 9,747,909, the contents of which are incorporated herein by reference. With transients, there is a sudden decrease in the damping factor. The change in damping factor can be compared to a threshold value to determine whether a transient has occurred. The threshold value can be determined by a subjective assessment of what accurately detects the transient.

[0058] Иллюстративный детектор транзиента работает следующим образом.[0058] An exemplary transient detector operates as follows.

1. Входные сигналы подвергаются высокочастотной фильтрации для усиления транзиентов.1. Input signals are high-pass filtered to enhance transients.

2. Абсолютное значение выходного сигнала высокочастотного фильтра затем подвергается низкочастотной фильтрации для определения огибающей сигнала.2. The absolute value of the high-pass filter output is then low-pass filtered to determine the signal envelope.

3. Формируются две огибающие, быстрая и медленная , с использованием двух разных низкочастотных фильтров с немного отличающимися частотами среза, .3. Two envelopes are formed, fast and slow , using two different low-pass filters with slightly different cutoff frequencies, .

4. Для каждого отсчета во временной области огибающих сигналов в конкретном кадре, где , если4. For each count in the time domain of signal envelopes in a particular frame, where , If

Уравнение 4 Equation 4

то коэффициент приглушения уменьшается доthen the muting coefficient decreases to

Уравнение 5 Equation 5

в противном случае коэффициент может медленно увеличиваться до 1 следующим образом:otherwise the coefficient can slowly increase to 1 as follows:

Уравнение 6 Equation 6

где - временная константа, определяющая, как быстро коэффициент приглушения возвращается к .Where is a time constant that determines how quickly the damping factor returns to .

5. Если произошло значительное изменение коэффициента приглушения по сравнению с текущим кадром, считается, что произошел транзиент: т.е.5. If there is a significant change in the mute factor compared to the current frame, a transient is considered to have occurred: i.e.

Уравнение 7 Equation 7

[0059] В некоторых вариантах осуществления способ определения возникновения транзиента на основе коэффициента приглушения представляет собой подсчет количества/доли отсчетов во временной области в каждом кадре, в которых выполняется указанное выше условие. Если это значение превышает определенный порог, кадр определяется как содержащий транзиент.[0059] In some embodiments, a method for determining the occurrence of a transient based on a damping ratio is to count the number/fraction of time domain samples in each frame in which the above condition is met. If this value exceeds a certain threshold, the frame is determined to contain a transient.

[0060] Хотя для обнаружения транзиентов для алгоритма сглаживания можно использовать коэффициент приглушения, может быть использован любой способ обнаружения транзиентов, известный в данной области техники.[0060] Although a damping factor can be used to detect transients for the dithering algorithm, any transient detection method known in the art can be used.

Преобразование отсчетов (перенос распределения полос)Conversion of samples (transfer of band distribution)

[0061] В некоторых вариантах осуществления полоса, подвергающаяся сглаживанию, может быть преобразована в новую полосу для сглаживания при изменении распределения полос канала. Если распределение полос входного сигнала изменяется от одного кадра к следующему с точки зрения количества и/или ширины полос (например, вследствие переключения набора фильтров в кодере), сохраненная (предыдущая) оценка матрицы может быть преобразована в новую структуру распределения полос, чтобы продолжить непрерывную работу механизма сглаживания. Матрица преобразования между структурами распределения полос может быть вычислена посредством использования набора оконных функций в частотной области, т.е. идеальных величин откликов набора фильтров для предыдущей схемы распределения полос (т.е., предыдущего набора фильтров) в виде матрицы.[0061] In some embodiments, a band undergoing smoothing may be converted to a new band for smoothing when the channel band allocation changes. If the input signal's banding distribution changes from one frame to the next in terms of number and/or width of bands (for example, due to switching the filter bank in the encoder), the stored (previous) matrix estimate can be converted into a new banding structure to continue continuous operation smoothing mechanism. The transformation matrix between band allocation structures can be calculated by using a set of window functions in the frequency domain, i.e. ideal magnitudes of the filter bank responses for the previous band allocation scheme (i.e., the previous filter bank) as a matrix.

[0062] В качестве примера:[0062] As an example:

является массивом , содержащим строки предыдущих идеальных откликов набора фильтров , и является массивом , содержащим новые идеальные отклики набора фильтров . - количество частотных ячеек. is an array , containing strings of previous ideal filter bank responses , And is an array containing the new ideal filter bank responses . - number of frequency cells.

[0063] Элементы матрицы преобразования , которые преобразовывают полосу из в полосу из :[0063] Transformation matrix elements , which transform the strip from into the strip from :

Уравнение 8 Equation 8

создавая матрицу , которая может использоваться для преобразования предыдущих оценок полос в новую схему распределения полос.creating a matrix , which can be used to convert previous band estimates into a new band allocation scheme.

Пример сглаживания со сбросомExample of smoothing with reset

[0064] Приведен пример одной полосы ковариационной матрицы 1×1 , где полоса состоит из 3 ячеек ( ), но определено (субъективно), что для хорошего статистического анализа необходимо по меньшей мере 8 ячеек ( ). Это дает коэффициент забывания полосы .[0064] An example of one strip is given 1x1 covariance matrix , where the strip consists of 3 cells ( ), but it is determined (subjectively) that good statistical analysis requires at least 8 cells ( ). This gives the band forgetting rate .

[0065] Если ковариационная матрица начального распределения полос (первый кадр и транзиенты показаны жирным шрифтом) представляет собой:[0065] If the covariance matrix of the initial band distribution (first frame and transients shown in bold) is:

и детектор транзиента со следующими выходными данными, указывающими, что первый кадр и седьмой кадр содержат транзиенты:and a transient detector with the following output indicating that the first frame and the seventh frame contain transients:

Выходные данные со сглаженной ковариацией будут выглядеть следующим образом:The output with smoothed covariance will look like this:

[0066] Первый кадр остается таким же в , каким он был в , поскольку сглаживание не начинается до второго кадра вследствие транзиента, указанного в первом. Если в первом кадре нет транзиента, первый кадр может быть сглажен посредством принятия предыдущего кадра как имеющего нулевое значение (в одном варианте осуществления) или как имеющего значение, равное самому себе (в другом варианте осуществления); ситуация зависит от того, как сконфигурирован алгоритм. В некоторых вариантах осуществления первый кадр всегда отмечается как имеющий транзиент независимо от того, происходит ли какое-либо фактическое обнаружение. Седьмое значение совпадает со значением из-за сброса сглаживания.[0066] The first frame remains the same in what he was like , since anti-aliasing does not start until the second frame due to the transient specified in the first. If there is no transient in the first frame, the first frame may be smoothed by taking the previous frame as having a value of zero (in one embodiment) or as having a value equal to itself (in another embodiment); the situation depends on how the algorithm is configured. In some embodiments, the first frame is always marked as having a transient, regardless of whether any actual detection occurs. Seventh meaning matches the value due to anti-aliasing reset.

[0067] Второй кадр использует свое собственное значение (0,05), "сглаженное" значение предыдущего кадра (0.1), и коэффициент забывания (3/8), чтобы вычислить сглаженное значение (приблизительно 0,813). Формула в этом примере (фильтр первого порядка):[0067] The second frame uses its own value (0.05), the "smoothed" value of the previous frame (0.1), and the forgetting factor (3/8) to calculate the smoothed value (approximately 0.813). The formula in this example (first order filter):

=0,1 + (3/8) (0,05-0,1)=0,8125 =0.1 + (3/8) (0.05-0.1) = 0.8125

[0068] Это повторяется для последующих кадров, пока не будет достигнут кадр 7, который в обозначен как имеющий транзиент. Для этого= 0,9. Последующие кадры затем снова вычисляются посредством сглаживающей функции (как если бы кадр 7 был начальным кадром).[0068] This is repeated for subsequent frames until frame 7 is reached, which is designated as having a transient. For this= 0.9. Subsequent frames are then calculated again using the smoothing function (as if frame 7 were the starting frame).

[0069] В некоторых вариантах осуществления система сглаживания ковариационной матрицы может быть интегрирована в кодер. Пример системы показан на фиг. 5. Иллюстративный кодер 501 формирует 502 одну или несколько ковариационных матриц для сигнала 504, которые алгоритм 503 сглаживания изменяет перед отправкой сигнала 504 в декодер 505.[0069] In some embodiments, a covariance matrix smoothing system may be integrated into the encoder. An example of the system is shown in Fig. 5. An exemplary encoder 501 generates 502 one or more covariance matrices for the signal 504, which the smoothing algorithm 503 modifies before sending the signal 504 to the decoder 505.

[0070] В некоторых вариантах осуществления система сглаживания ковариационной матрицы может быть интегрирована в декодер. Пример декодера с алгоритмом сглаживания показан на фиг. 6. Кодер 601 отправляет сигнал 602 (например, аудиоканалы) в декодер 603. Декодер 603 применяет алгоритм 604 сглаживания перед выполнением последующей обработки 605 (обработка может быть произведена также и перед сглаживанием).[0070] In some embodiments, a covariance matrix smoothing system may be integrated into the decoder. An example of a decoder with a smoothing algorithm is shown in FIG. 6. Encoder 601 sends signal 602 (eg, audio channels) to decoder 603. Decoder 603 applies anti-aliasing algorithm 604 before performing subsequent processing 605 (processing may also be performed prior to anti-aliasing).

[0071] В некоторых вариантах осуществления сглаживание ковариации может также использоваться в кодере в случае кадров с прерывистой передачей (DTX), чтобы стабилизировать параметризацию шума пространственного комфорта. В этом случае во время кадров DTX не будет сброса сглаживания ковариации из-за транзиентов, а вместо этого ее сброс будет при входе/выходе из режима DTX кодека. Пример кодера с алгоритмом сглаживания показан на фиг. 7, где кодер 701 имеет модуль 702 DTX, который включает в себя алгоритм 703 сглаживания.[0071] In some embodiments, covariance smoothing may also be used in the encoder in the case of discontinuous transmission (DTX) frames to stabilize the spatial comfort noise parameterization. In this case, covariance smoothing will not be reset during DTX frames due to transients, but will instead be reset upon entering/exiting the codec's DTX mode. An example of an encoder with a smoothing algorithm is shown in FIG. 7, where encoder 701 has a DTX module 702 that includes an anti-aliasing algorithm 703.

[0072] Был описан ряд вариантов осуществления изобретения. Тем не менее, следует понимать, что различные изменения могут быть внесены без отступления от сущности и объема настоящего раскрытия. В соответствии с этим другие варианты осуществления входят в объем следующей формулы изобретения.[0072] A number of embodiments of the invention have been described. However, it should be understood that various changes may be made without departing from the spirit and scope of this disclosure. Accordingly, other embodiments are included within the scope of the following claims.

[0073] Вычислительное устройство, реализующее методики сглаживания ковариации, может иметь следующую иллюстративную архитектуру. Возможны другие архитектуры, в том числе архитектуры с большим или меньшим количеством компонентов. В некоторых реализациях иллюстративная архитектура включает в себя один или несколько процессоров (например, двухъядерные процессоры Intel® Xeon®), одно или несколько устройств вывода (например, жидкокристаллический дисплей (LCD)), один или несколько сетевых интерфейсов, одно или несколько устройств ввода (например, мышь, клавиатура, сенсорный дисплей) и один или несколько машиночитаемых носителей (например, оперативное запоминающее устройство (ОЗУ, RAM), постоянное запоминающее устройство (ПЗУ, ROM), синхронное динамическое ОЗУ (SDRAM), жесткий диск, оптический диск, флэш-память и т.д.). Эти компоненты могут осуществлять связь и обмен данными по одному или нескольким каналам связи (например, по шине), которые могут использовать различное аппаратное и программное обеспечение для обеспечения переноса данных и управляющих сигналов между компонентами.[0073] A computing device implementing covariance smoothing techniques may have the following exemplary architecture. Other architectures are possible, including architectures with more or fewer components. In some implementations, an exemplary architecture includes one or more processors (e.g., dual-core Intel® Xeon® processors), one or more output devices (e.g., a liquid crystal display (LCD)), one or more network interfaces, one or more input devices ( e.g., mouse, keyboard, touch display) and one or more computer-readable media (e.g., random access memory (RAM), read-only memory (ROM), synchronous dynamic RAM (SDRAM), hard disk, optical disk, flash -memory, etc.). These components may communicate and exchange data over one or more communication channels (eg, a bus), which may use various hardware and software to enable the transfer of data and control signals between the components.

[0074] Термин "машиночитаемый носитель" относится к носителю, который участвует в предоставлении инструкций процессору для исполнения, в том числе, но без ограничения, к энергонезависимым носителям (например, оптическим или магнитным дискам), энергозависимым носителям (например, памяти) и средства передачи. Средства передачи включают в себя, без ограничения, коаксиальные кабели, медный провод и волоконную оптику.[0074] The term "computer readable medium" refers to a medium that is involved in providing instructions to a processor for execution, including, but not limited to, non-volatile media (e.g., optical or magnetic disks), volatile media (e.g., memories), and media transfers. Transmission media include, but are not limited to, coaxial cables, copper wire and fiber optics.

[0075] Машиночитаемый носитель может дополнительно содержать операционную систему (например, операционную систему Linux®), модуль сетевой связи, менеджер аудиоинтерфейса, менеджер обработки звука и распространитель живого контента. Операционная система может быть многопользовательской, многопроцессорной, многозадачной, многопотоковой, в режиме реального времени и т.д. Операционная система выполняет основные задачи, в том числе, но без ограничения: распознавание ввода и предоставление вывода сетевым интерфейсам 706 и/или устройствам 708; отслеживание и управление файлами и каталогами на машиночитаемых носителях (например, память или запоминающее устройство); управление периферийными устройствами; и управление трафиком по одному или нескольким каналам связи. Модуль сетевой связи включает в себя различные компоненты для установления и поддержания сетевых подключений (например, программное обеспечение для реализации протоколов связи, таких как TCP/IP, HTTP и т.д.).[0075] The computer-readable medium may further comprise an operating system (eg, a Linux® operating system), a network communication module, an audio interface manager, an audio processing manager, and a live content distributor. The operating system can be multi-user, multi-processor, multi-tasking, multi-threaded, real-time, etc. The operating system performs basic tasks including, but not limited to: recognizing input and providing output to network interfaces 706 and/or devices 708; tracking and managing files and directories on machine-readable media (such as memory or mass storage); peripheral device management; and managing traffic over one or more communication channels. The network communication module includes various components for establishing and maintaining network connections (for example, software for implementing communication protocols such as TCP/IP, HTTP, etc.).

[0076] Архитектура может быть реализована в параллельной обработке или одноранговой инфраструктуре или на одном устройстве с одним или несколькими процессорами. Программное обеспечение может включать в себя несколько программных компонентов или может представлять собой единый код.[0076] The architecture may be implemented in a parallel processing or peer-to-peer infrastructure or on a single device with one or more processors. The software may include multiple software components or may be a single code.

[0077] Описанные функции могут быть реализованы преимущественно в одной или нескольких компьютерных программах, которые выполняются в программируемой системе, включающей в себя по меньшей мере один программируемый процессор, подключенный для приема данных и команд и для передачи данных и команд в систему хранения данных, по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Компьютерная программа представляет собой набор инструкций, которые могут быть использованы, прямо или косвенно, в компьютере для выполнения определенной деятельности или достижения определенного результата. Компьютерная программа может быть написана на любом языке программирования (например, Objective-C, Java), включая компилируемые или интерпретируемые языки, и она может быть развернута в любой форме, в том числе как отдельная программа или как модуль, компонент, подпрограмма, веб-приложение на основе браузера или другой объект, подходящий для использования в вычислительной среде.[0077] The described functions may be implemented advantageously in one or more computer programs that execute on a programmable system including at least one programmable processor coupled to receive data and commands and to transmit data and commands to a data storage system, according to at least one input device and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, by a computer to perform a specific activity or achieve a specific result. A computer program may be written in any programming language (e.g., Objective-C, Java), including compiled or interpreted languages, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, web a browser-based application or other object suitable for use in a computing environment.

[0078] Подходящие процессоры для исполнения программы инструкций включают в себя, в качестве примера, микропроцессоры общего и специализированного назначения и одиночный процессор или один из нескольких процессоров или ядер компьютера любого вида. Обычно процессор принимает инструкции и данные из постоянного запоминающего устройства и/или оперативного запоминающего устройства. Основными элементами компьютера являются процессор для выполнения инструкций и одно или несколько запоминающих устройств для хранения инструкций и данных. Как правило, компьютер также включает в себя или может быть оперативно соединен для связи с одним или несколькими устройствами массового хранения для хранения файлов данных; такие устройства включают в себя магнитные диски, такие как внутренние жесткие диски и съемные диски; магнитооптические диски; и оптические диски. Запоминающие устройства, подходящие для физического воплощения инструкций и данных компьютерной программы, включают в себя все формы энергонезависимой памяти, в том числе, например, полупроводниковые запоминающие устройства, такие как EPROM, EEPROM и устройства флэш-памяти; магнитные диски, такие как внутренние жесткие диски и съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и память могут быть дополнены или встроены в ASIC (специализированные интегральные схемы).[0078] Suitable processors for executing the instruction program include, by way of example, general purpose and special purpose microprocessors and a single processor or one of multiple processors or computer cores of any kind. Typically, the processor receives instructions and data from read only memory and/or random access memory. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, the computer also includes or may be operatively coupled to communicate with one or more mass storage devices for storing data files; such devices include magnetic disks such as internal hard drives and removable drives; magneto-optical disks; and optical discs. Storage devices suitable for physically embodying computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices; magnetic disks such as internal hard drives and removable drives; magneto-optical disks; and CD-ROMs and DVD-ROMs. The processor and memory can be extended or built into ASICs (application specific integrated circuits).

[0079] Для обеспечения взаимодействия с пользователем функции могут быть реализованы на компьютере, имеющем устройство отображения, такое как ЭЛТ (CRT, электронно-лучевая трубка) или ЖК-дисплей (LCD, жидкокристаллический дисплей), монитор или сетчаточный дисплей для отображения информации пользователю. Компьютер может иметь устройство ввода с сенсорной поверхностью (например, сенсорный экран) или клавиатуру и указательное устройство, такое как мышь или трекбол, с помощью которого пользователь может вводить данные в компьютер. Компьютер может иметь устройство голосового ввода для приема голосовых команд от пользователя.[0079] To provide user interaction, the functions may be implemented on a computer having a display device such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display), monitor, or retinal display for displaying information to the user. A computer may have a touch surface input device (such as a touch screen) or a keyboard and a pointing device, such as a mouse or trackball, that allows the user to enter data into the computer. The computer may have a voice input device for receiving voice commands from the user.

[0080] Функции могут быть реализованы в компьютерной системе, которая включает в себя внутренний компонент, такой как сервер данных, или которая включает в себя компонент промежуточного программного обеспечения, такой как сервер приложений или интернет-сервер, или которая включает в себя внешний компонент, такой как клиентский компьютер, имеющий графический пользовательский интерфейс или интернет-браузер, или любую их комбинацию. Компоненты системы могут быть соединены с помощью средства передачи цифровых данных любого вида, например, сети связи. Примеры коммуникационных сетей включают в себя, например, локальную сеть, глобальную сеть, а также компьютеры и сети, образующие Интернет.[0080] The functions may be implemented in a computer system that includes an internal component, such as a data server, or that includes a middleware component, such as an application server or Internet server, or that includes an external component, such as a client computer having a graphical user interface or an Internet browser, or any combination thereof. The system components can be connected using any kind of digital data transmission medium, such as a communications network. Examples of communication networks include, for example, a local area network, a wide area network, and the computers and networks that make up the Internet.

[0081] Вычислительная система может включать в себя клиенты и серверы. Клиент и сервер, как правило, удалены друг от друга и обычно взаимодействуют через сеть связи. Отношения клиента и сервера возникают благодаря компьютерным программам, запущенным на соответствующих компьютерах и имеющим отношения клиент-сервер друг к другу. В некоторых вариантах осуществления сервер передает данные (например, HTML-страницу) на клиентское устройство (например, для целей отображения данных и получения пользовательского ввода от пользователя, взаимодействующего с клиентским устройством). Данные, сформированные на клиентском устройстве (например, в результате взаимодействия с пользователем), могут быть получены с клиентского устройства на сервере.[0081] The computing system may include clients and servers. The client and server are typically remote from each other and usually communicate through a communications network. The client-server relationship occurs through computer programs running on the respective computers and having a client-server relationship with each other. In some embodiments, the server transmits data (eg, an HTML page) to the client device (eg, for the purposes of displaying data and receiving user input from the user interacting with the client device). Data generated on the client device (for example, as a result of user interaction) can be retrieved from the client device to the server.

[0082] Система из одного или нескольких компьютеров может быть сконфигурирована для выполнения определенных действий благодаря наличию программного обеспечения, встроенного программного обеспечения, аппаратного обеспечения или их комбинации, установленной в системе, которая при работе побуждает систему выполнять действия. Одна или несколько компьютерных программ могут быть сконфигурированы для выполнения определенных действий посредством включения инструкций, которые при их исполнении устройством обработки данных побуждают устройство выполнять действия.[0082] A system of one or more computers may be configured to perform certain actions by having software, firmware, hardware, or a combination thereof installed on the system that, when operated, causes the system to perform the actions. One or more computer programs may be configured to perform certain actions by including instructions that, when executed by a processing device, cause the device to perform the actions.

[0083] Хотя это описание содержит много подробных сведений о конкретной реализации, они должны быть истолкованы не как ограничения объема каких-либо изобретений или заявленного предмета, а как описания признаков, заданных для конкретных вариантов конкретных изобретений. Некоторые признаки, которые приведены в этом описании в контексте отдельных вариантов осуществления, также могут быть реализованы в комбинации в единственном варианте осуществления. С другой стороны, различные признаки, которые описаны в контексте единственного варианта осуществления, также могут быть реализованы в нескольких вариантах осуществления отдельно или в любой подходящей подкомбинации. Кроме того, хотя признаки могут описываться выше как действующие в некоторых комбинациях и даже первоначально заявлены таковым образом, один или несколько признаков из заявленной комбинации в некоторых случаях могут быть удалены из комбинации, и заявленная комбинация может быть направлена в подкомбинации или изменение подкомбинации.[0083] Although this description contains many detailed information about a particular implementation, they should not be construed as limitations on the scope of any inventions or claimed subject matter, but as descriptions of features specified for specific embodiments of specific inventions. Certain features that are described in this specification in the context of individual embodiments may also be implemented in combination in a single embodiment. On the other hand, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. In addition, although features may be described above as operating in certain combinations, and even initially stated as such, one or more features from a claimed combination may in some cases be removed from the combination, and the claimed combination may be directed into subcombinations or a variation of a subcombination.

[0084] Аналогичным образом, хотя операции изображены на чертежах в конкретном порядке, это не должно расцениваться как требование, что такие операции должны быть выполнены в конкретном показанном порядке или в последовательном порядке, или что все проиллюстрированные операции должны быть выполнены для достижения желаемых результатов. При определенных обстоятельствах может быть выгодной многозадачная и параллельная обработка. Кроме того, разделение различных системных компонентов в описанных выше вариантах осуществления не должно расцениваться как требование такого разделения во всех вариантах осуществления, и следует понимать, что описанные компоненты программы и системы в целом могут быть объединены вместе в единый программный продукт или быть упакованы в несколько программных продуктов.[0084] Likewise, although operations are depicted in the drawings in a particular order, this should not be construed as a requirement that such operations must be performed in the particular order shown or in a sequential order, or that all illustrated operations must be performed to achieve the desired results. Under certain circumstances, multitasking and parallel processing may be beneficial. In addition, the separation of various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, and it is understood that the described program components and the system as a whole may be combined together into a single software product or packaged into multiple software products. products.

[0085] Таким образом, были описаны конкретные варианты осуществления предмета изобретения. Другие варианты осуществления находятся в рамках объема последующей формулы изобретения. В некоторых случаях действия, изложенные в формуле изобретения, могут быть выполнены в другом порядке и по-прежнему достигать желаемых результатов. Кроме того, процессы, изображенные на приложенных чертежах, не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. В некоторых реализациях может быть выгодной многозадачная и параллельная обработка.[0085] Thus, specific embodiments of the subject matter of the invention have been described. Other embodiments are within the scope of the following claims. In some cases, the steps stated in the claims can be performed in a different order and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or sequential order to achieve the desired results. Some implementations may benefit from multitasking and parallel processing.

[0086] Были описаны несколько реализаций изобретения. Тем не менее, следует понимать, что могут быть сделаны различные модификации без отступления от сущности и объема изобретения.[0086] Several implementations of the invention have been described. However, it should be understood that various modifications may be made without departing from the spirit and scope of the invention.

Claims (50)

1. Способ предоставления аудиоуслуги, содержащий этапы, на которых:1. A method for providing an audio service, comprising the steps of: для последовательности во временной области сигнальных кадров сравнивают эффективное количество ячеек в частотной полосе с требуемым количеством ячеек для частотной полосы; for a time domain sequence of signal frames, comparing the effective number of cells in the frequency band with the required number of cells for the frequency band; вычисляют коэффициент забывания для частотной полосы как отношение эффективного количества к требуемому количеству; иcalculating the forgetting coefficient for the frequency band as the ratio of the effective amount to the required amount; And для каждой частотной полосы множества частотных полос формируют соответствующую сглаженную ковариационную матрицу для конкретной полосы для текущего сигнального кадра с использованием ранее сформированного значения соответствующей сглаженной ковариационной матрицы для конкретной полосы для предыдущего сигнального кадра относительно текущего сигнального кадра и коэффициента забывания; иfor each frequency band of the plurality of frequency bands, generating a corresponding band-specific smoothed covariance matrix for the current signal frame using a previously generated value of the corresponding band-specific smoothed covariance matrix for the previous signal frame relative to the current signal frame and a forgetting factor; And формируют аудиосигнал для аудиоуслуги с использованием представлений в частотной области последовательности сигнальных кадров во временной области и дальнейшее использование соответствующих наборов соответствующих сглаженных ковариационных матриц для конкретной полосы,generating an audio signal for an audio service using frequency domain representations of a sequence of signal frames in the time domain, and further using corresponding sets of corresponding smoothed covariance matrices for a particular band, причем сравнение, вычисление и формирование выполняются системой, содержащей один или несколько компьютерных процессоров.wherein the comparison, calculation and generation are performed by a system comprising one or more computer processors. 2. Способ по п. 1, в котором эффективное количество ячеек для каждой частотной полосы множества частотных полос вычисляется как сумма значений набора фильтров для частотной полосы.2. The method of claim 1, wherein the effective number of cells for each frequency band of the plurality of frequency bands is calculated as the sum of the values of the filter bank for the frequency band. 3. Способ по любому из пп. 1,2, в котором при формировании соответствующей сглаженной ковариационной матрицы для конкретной полосы используют авторегрессивный низкочастотный фильтр первого порядка.3. Method according to any one of paragraphs. 1.2, in which an autoregressive first-order low-pass filter is used to form the corresponding smoothed covariance matrix for a specific band. 4. Способ по п. 3, в котором использование авторегрессивного низкочастотного фильтра первого порядка включает в себя вычисление разности между входной ковариационной матрицей для текущего кадра и ранее сформированным значением соответствующей сглаженной ковариационной матрицы для конкретной полосы для предыдущего кадра, разность взвешивают посредством коэффициента забывания.4. The method of claim 3, wherein using the first order autoregressive low-pass filter includes calculating the difference between the input covariance matrix for the current frame and a previously generated value of the corresponding smoothed band-specific covariance matrix for the previous frame, the difference being weighted by a forgetting factor. 5. Способ по любому из пп. 1-4, содержащий также этапы, на которых:5. Method according to any one of paragraphs. 1-4, also containing the steps of: устанавливают коэффициент забывания равным меньшему значению, выбранному из пары значений, включающей в себя вычисленный коэффициент забывания и максимальный разрешенный коэффициент забывания;setting the forgetting rate to a smaller value selected from a pair of values including the calculated forgetting rate and the maximum allowed forgetting rate; причем установка выполняется перед формированием соответствующей сглаженной ковариационной матрицы для конкретной полосы для текущего кадра.wherein the setting is performed before generating the corresponding smoothed covariance matrix for a particular band for the current frame. 6. Способ по любому из пп. 1-5, содержащий также этапы, на которых:6. Method according to any one of paragraphs. 1-5, also containing steps in which: обнаруживают, возникает ли транзиент в отслеживаемом кадре; иdetecting whether a transient occurs in the tracked frame; And сбрасывают низкочастотный фильтр в ответ на обнаруженный транзиент.reset the low-pass filter in response to the detected transient. 7. Способ по п. 6, в котором обнаружение выполняется посредством использования аспектов декоррелятора приглушения.7. The method of claim 6, wherein the detection is performed by using aspects of the muting decorrelator. 8. Способ по п. 6, в котором обнаружение выполняется на всех каналах.8. The method according to claim 6, in which the detection is performed on all channels. 9. Способ по п. 8, в котором обнаружение обнаруживает, что возникает транзиент, если обнаружен любой транзиент на любом канале для отслеживаемого кадра.9. The method of claim 8, wherein the detection detects that a transient occurs if any transient is detected on any channel for the tracked frame. 10. Способ по п. 8, в котором обнаружение обнаруживает, что возникает транзиент, если транзиент возникает только на конкретном канале.10. The method of claim 8, wherein the detection detects that a transient occurs if the transient occurs only on a specific channel. 11. Способ по любому из пп. 1-10, содержащий также этапы, на которых:11. Method according to any one of paragraphs. 1-10, also containing the steps of: сохраняют соответствующую сглаженную ковариационную матрицу для конкретной полосы; иstoring the corresponding smoothed covariance matrix for the particular band; And выполняют преобразование отсчетов сохраненной соответствующей сглаженной ковариационной матрицы для конкретной полосы по множеству частотных полос.transforming samples of the stored corresponding smoothed covariance matrix for a particular band across a plurality of frequency bands. 12. Система для предоставления аудиоуслуги, содержащая: 12. A system for providing audio services, containing: один или несколько компьютерных процессоров; иone or more computer processors; And машиночитаемый носитель долговременного хранения, хранящий инструкции, которые при их исполнении одним или несколькими компьютерными процессорами побуждают один или несколько компьютерных процессоров выполнять операции способа по п. 1.a machine-readable non-transitory storage medium storing instructions that, when executed by one or more computer processors, cause one or more computer processors to perform the operations of the method of claim 1. 13. Машиночитаемый носитель долговременного хранения, хранящий инструкции, которые при их исполнении одним или несколькими компьютерными процессорами побуждают один или несколько компьютерных процессоров выполнять операции способа по п. 1.13. A machine-readable non-transitory storage medium storing instructions that, when executed by one or more computer processors, cause one or more computer processors to perform the operations of the method of claim 1. 14. Кодер, содержащий систему по п. 12.14. An encoder containing the system according to clause 12. 15. Декодер, содержащий систему по п. 12.15. A decoder containing the system according to claim 12. 16. Способ предоставления аудиоуслуги, содержащий этапы, на которых:16. A method for providing an audio service, comprising the steps of: принимают входной сигнал, представляющий N аудиоканалов, где N>1;receiving an input signal representing N audio channels, where N>1; разделяют входной сигнал на последовательность кадров во временной области;dividing the input signal into a sequence of frames in the time domain; преобразуют каждый кадр последовательности кадров во временной области в соответствующее представление в частотной области, имеющее множество частотных полос, причем каждая частотная полоса из множества частотных полос включает в себя соответствующее множество частотных ячеек;converting each frame of the sequence of time domain frames into a corresponding frequency domain representation having a plurality of frequency bands, each frequency band of the plurality of frequency bands including a corresponding plurality of frequency cells; для каждого кадра последовательности кадров во временной области вычисляют, основываясь на представлении кадра в частотной области, соответствующий набор ковариационных матриц N×N для конкретной полосы, каждая из ковариационных матриц N×N для конкретной полосы, имеющих ковариации N аудиоканалов, соответствует одной из множества частотных полос; for each frame of a sequence of time domain frames, calculate, based on the frequency domain representation of the frame, a corresponding set of band-specific N×N covariance matrices, each of the band-specific N×N covariance matrices having N audio channel covariances corresponding to one of a plurality of frequency stripes; для каждой частотной полосы множества частотных полос вычисляют соответствующую сглаженную ковариационную матрицу для конкретной полосы посредством применения низкочастотного фильтра к последовательности ковариационных матриц N×N для конкретной полосы, соответствующих последовательности кадров во временной области и также соответствующих частотной полосе; иfor each frequency band of the plurality of frequency bands, calculating a corresponding band-specific smoothed covariance matrix by applying a low-pass filter to a sequence of band-specific N×N covariance matrices corresponding to the sequence of time domain frames and also corresponding to the frequency band; And формируют аудиосигнал для аудиоуслуги с использованием соответствующих представлений в частотной области последовательности кадров во временной области и дальнейшее использование соответствующих наборов соответствующих сглаженных ковариационных матриц для конкретной полосы.generating an audio signal for the audio service using appropriate frequency domain representations of the sequence of frames in the time domain, and further using appropriate sets of corresponding smoothed covariance matrices for the particular band. 17. Способ по п. 16, в котором низкочастотный фильтр представляет собой авторегрессивный низкочастотный фильтр первого порядка.17. The method of claim 16, wherein the low-pass filter is a first-order autoregressive low-pass filter. 18. Способ по п. 16, в котором применение включает в себя вычисление разности между значением входной ковариационной матрицы для текущего кадра и ранее сформированным значением сглаженной ковариационной матрицы для предыдущего кадра, разность взвешивают посредством коэффициента забывания.18. The method of claim 16, wherein the application includes calculating the difference between the value of the input covariance matrix for the current frame and the previously generated value of the smoothed covariance matrix for the previous frame, the difference being weighted by a forgetting factor. 19. Способ по п. 16, содержащий также этапы, на которых:19. The method according to claim 16, also containing the steps of: обнаруживают, возникает ли транзиент в отслеживаемом кадре; иdetecting whether a transient occurs in the tracked frame; And сбрасывают низкочастотный фильтр в ответ на обнаруженный транзиент.reset the low-pass filter in response to the detected transient. 20. Способ по п. 16, в котором множество частотных полос включает в себя первую частотную полосу и вторую частотную полосу;20. The method of claim 16, wherein the plurality of frequency bands includes a first frequency band and a second frequency band; при этом первая частотная полоса имеет меньшее количество частотных ячеек, чем вторая частотная полоса; иwherein the first frequency band has fewer frequency cells than the second frequency band; And при этом вторая частотная полоса имеет более высокие частоты, чем первая частотная полоса.wherein the second frequency band has higher frequencies than the first frequency band. 21. Способ по любому из пп. 16-20, в котором множество частотных полос упорядочено в соответствии с возрастающей частотой; и21. Method according to any one of paragraphs. 16-20, in which a plurality of frequency bands are ordered according to increasing frequency; And при этом коэффициент забывания устанавливается в зависимости от полосы таким образом, что степень сглаживания увеличивается на более низких полосах и уменьшается на более высоких полосах.in this case, the forgetting factor is set depending on the band so that the degree of smoothing increases in lower bands and decreases in higher bands. 22. Способ по любому из пп. 16-20, в котором коэффициент забывания устанавливается в соответствии с режимом предоставления аудиоуслуги таким образом, что величина сглаживания увеличивается в режимах, имеющих пониженную скорость передачи битов, и уменьшается при более высоких скоростях передачи битов.22. Method according to any one of paragraphs. 16-20, in which the forgetting factor is set in accordance with the audio service mode such that the smoothing amount increases in modes having a lower bit rate and decreases in higher bit rates. 23. Способ по п. 18, содержащий также этапы, на которых:23. The method according to claim 18, also containing the steps of: устанавливают коэффициент забывания на меньшее значение, выбранное из пары значений, включающей в себя вычисленный коэффициент забывания и максимально допустимый коэффициент забывания,set the forgetting coefficient to a smaller value selected from a pair of values including the calculated forgetting coefficient and the maximum permissible forgetting coefficient, при этом установка выполняется перед формированием соответствующей сглаженной ковариационной матрицы для конкретной полосы для текущего кадра.wherein the setting is performed before generating the corresponding smoothed covariance matrix for a particular band for the current frame. 24. Способ по п. 19, в котором обнаружение обнаруживает, что возникает транзиент, если транзиент возникает только на конкретном канале.24. The method of claim 19, wherein the detection detects that a transient occurs if the transient occurs only on a specific channel.
RU2022105189A 2019-08-01 2020-07-31 Systems and methods for smoothing covariance RU2815754C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62/881,825 2019-08-01
US63/057,533 2020-07-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2024107017A Division RU2024107017A (en) 2019-08-01 2020-07-31 SYSTEMS AND METHODS FOR SMOOTHING COVARIANCE

Publications (2)

Publication Number Publication Date
RU2022105189A RU2022105189A (en) 2023-09-01
RU2815754C2 true RU2815754C2 (en) 2024-03-21

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150371659A1 (en) * 2014-06-19 2015-12-24 Yang Gao Post Tone Suppression for Speech Enhancement
US20160055862A1 (en) * 2013-04-15 2016-02-25 Tobias Wolff System and method for addressing acoustic signal reverberation
US20170309292A1 (en) * 2013-03-12 2017-10-26 Aaware Inc. Integrated sensor-array processor
RU2660638C2 (en) * 2013-07-22 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Device and method for of the audio objects improved spatial encoding
US20180240471A1 (en) * 2017-02-21 2018-08-23 Intel IP Corporation Method and system of acoustic dereverberation factoring the actual non-ideal acoustic environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170309292A1 (en) * 2013-03-12 2017-10-26 Aaware Inc. Integrated sensor-array processor
US20160055862A1 (en) * 2013-04-15 2016-02-25 Tobias Wolff System and method for addressing acoustic signal reverberation
RU2660638C2 (en) * 2013-07-22 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Device and method for of the audio objects improved spatial encoding
US20150371659A1 (en) * 2014-06-19 2015-12-24 Yang Gao Post Tone Suppression for Speech Enhancement
US20180240471A1 (en) * 2017-02-21 2018-08-23 Intel IP Corporation Method and system of acoustic dereverberation factoring the actual non-ideal acoustic environment

Similar Documents

Publication Publication Date Title
JP6472863B2 (en) Method for parametric multi-channel encoding
JP4173641B2 (en) Voice enhancement by gain limitation based on voice activity
EP2002426B1 (en) Audio signal loudness measurement and modification in the mdct domain
CN100510672C (en) Method and device for speech enhancement in the presence of background noise
JP5312680B2 (en) Method and apparatus for adjusting channel delay parameters of multi-channel signals
RU2713701C1 (en) Audio encoder and decoder for wave-form coding with interleaving
CN102612711B (en) Signal processing method, information processor
JP5483000B2 (en) Noise suppression device, method and program thereof
EP3028274B1 (en) Apparatus and method for reducing temporal artifacts for transient signals in a decorrelator circuit
JP2010539792A (en) Speech enhancement
JP5681290B2 (en) Device for post-processing a decoded multi-channel audio signal or a decoded stereo signal
WO2023056783A1 (en) Audio processing method, related device, storage medium and program product
US20190164561A1 (en) Audio coding method and related apparatus
CN111261148A (en) Training method of voice model, voice enhancement processing method and related equipment
JP2022542427A (en) Systems and methods for covariance smoothing
RU2815754C2 (en) Systems and methods for smoothing covariance
JP6815956B2 (en) Filter coefficient calculator, its method, and program
CN106920543A (en) Audio recognition method and device
CN113823312B (en) Speech enhancement model generation method and device, and speech enhancement method and device
KR20180134012A (en) Operation method for interference cancellation in radar system and apparatus therefor
CN113314147A (en) Training method and device of audio processing model and audio processing method and device
US20180061434A1 (en) Sound processing device and non-transitory computer-readable storage medium
RU2809586C2 (en) Audio encoder and decoder for interleaved waveform coding
CN112151053B (en) Speech enhancement method, system, electronic device and storage medium
US8812927B2 (en) Decoding device, decoding method, and program for generating a substitute signal when an error has occurred during decoding