RU2793725C2 - Audio coder and decoder - Google Patents

Audio coder and decoder Download PDF

Info

Publication number
RU2793725C2
RU2793725C2 RU2019122302A RU2019122302A RU2793725C2 RU 2793725 C2 RU2793725 C2 RU 2793725C2 RU 2019122302 A RU2019122302 A RU 2019122302A RU 2019122302 A RU2019122302 A RU 2019122302A RU 2793725 C2 RU2793725 C2 RU 2793725C2
Authority
RU
Russia
Prior art keywords
mdct
frames
lpc
gain
audio
Prior art date
Application number
RU2019122302A
Other languages
Russian (ru)
Other versions
RU2019122302A (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
Priority claimed from EP08009530A external-priority patent/EP2077550B8/en
Application filed by Долби Интернэшнл Аб filed Critical Долби Интернэшнл Аб
Publication of RU2019122302A publication Critical patent/RU2019122302A/en
Application granted granted Critical
Publication of RU2793725C2 publication Critical patent/RU2793725C2/en

Links

Images

Abstract

FIELD: audio data processing.
SUBSTANCE: technical result is achieved due to the fact that gain curves of the MDCT area for frames of MDCT coefficients are created based on the response values determined from the sequence of LPC polynomials, and the creation of gain curves in the MDCT area comprises mapping LPC polynomials to the corresponding frames of MDCT coefficients; gain curves in the MDCT area are applied to the MDCT coefficient frames to obtain gain-corrected MDCT coefficient frames; and frames of gain-corrected MDCT coefficients are quantized.
EFFECT: increase in the coding accuracy of both general audio signals and speech signals at low data rates.
16 cl, 34 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

Настоящее изобретение относится к кодированию аудиосигналов и, в частности, к кодированию любого аудиосигнала, не ограничиваясь речью, музыкой или их комбинацией.The present invention relates to the coding of audio signals and, in particular, to the coding of any audio signal, not limited to speech, music, or a combination thereof.

Уровень техники изобретенияState of the art invention

В предшествующем уровне техники существуют речевые кодеры, специально предназначенные для кодирования речевых сигналов, основанные на модели источника сигнала, то есть, системе человеческого голоса. Эти кодеры не могут обрабатывать произвольные аудиосигналы, такие как музыка или любой другой неречевой сигнал. Кроме того, в предшествующем уровне техники существуют музыкальные кодеры, обычно называемые аудиокодерами, основывающие свое кодирование на предположениях о человеческой слуховой системе, а не на модели источника сигнала. Эти кодеры очень хорошо могут обрабатывать произвольные сигналы, хотя при низких скоростях передачи речевых сигналов специализированный речевой кодер дает превосходное аудиокачество. Следовательно, на сегодня не существует общей структуры кодирования произвольных аудиосигналов, которая одинаково хороша как в качестве речевого кодера для речи, так и в качестве музыкального кодера для музыки, когда работа ведется при низких скоростях передачи данных.In the prior art, there are speech encoders specifically designed to encode speech signals based on a signal source model, ie, the human voice system. These encoders cannot process arbitrary audio signals such as music or any other non-speech signal. Also, in the prior art, there are music encoders, commonly referred to as audio encoders, that base their coding on assumptions about the human auditory system rather than on a signal source model. These encoders can handle arbitrary signals very well, although at low speech rates a dedicated speech encoder gives excellent audio quality. Therefore, today there is no general arbitrary audio coding structure that is equally good as a speech encoder for speech and as a music encoder for music when operating at low data rates.

Таким образом, существует потребность в улучшенном аудиокодере и декодере с улучшенным аудиокачеством и/или пониженными скоростями передачи данных.Thus, there is a need for an improved audio encoder and decoder with improved audio quality and/or reduced data rates.

Сущность изобретенияThe essence of the invention

Настоящее изобретение относится к эффективному кодированию произвольных аудиосигналов при уровне качества, равном или лучшем, чем уровень качества системы, специально приспособленной к конкретному сигналу.The present invention relates to efficient coding of arbitrary audio signals at a quality level equal to or better than the quality level of a system specifically adapted to a particular signal.

Настоящее изобретение обращено к алгоритмам аудиокодеков, содержащих как кодирование с линейным предсказанием (LPC), так и к части трансформного кодера, работающей с сигналами на основе обработки LPC.The present invention addresses algorithms for audio codecs containing both linear predictive coding (LPC) and the signal-based part of the transform encoder based on LPC processing.

Настоящее изобретение дополнительно относится к стратегии квантования, зависящей от размера преобразованного кадра данных. Дополнительно предлагается устройство квантования, основанное на модели, с ограничением энтропии, использующее арифметическое кодирование. Кроме того, обеспечивается вставка случайных сдвигов в однородное скалярное устройство квантования. Изобретение дополнительно предлагает устройство квантования, основанное на модели, например, устройство квантования с ограничением энтропии (ECQ), использующее арифметическое кодирование. The present invention further relates to a quantization strategy depending on the size of the transformed data frame. Additionally, a model-based, entropy-limited quantizer using arithmetic coding is provided. In addition, insertion of random shifts into a uniform scalar quantizer is provided. The invention further provides a model-based quantizer, such as an entropy-constrained quantizer (ECQ), using arithmetic coding.

Настоящее изобретение дополнительно относится к эффективному кодированию масштабных коэффициентов в части трансформного кодирования аудиокодера, используя присутствие данных LPC.The present invention further relates to efficient scale factor coding in terms of transform coding of an audio encoder using the presence of LPC data.

Настоящее изобретение дополнительно относится к эффективному осуществлению использования битового накопителя в аудиокодере с переменным размером кадра.The present invention further relates to an efficient implementation of the use of a bit accumulator in a variable frame size audio encoder.

Настоящее изобретение дополнительно относится к кодеру для кодирования аудиосигналов и создания битового потока передачи данных и к декодеру для декодирования битового потока передачи данных и созданию реконструированного аудиосигнала, перцептуально неотличимого от входного аудиосигнала.The present invention further relates to an encoder for encoding audio signals and generating a data bitstream and a decoder for decoding a data bitstream and producing a reconstructed audio signal that is perceptually indistinguishable from the input audio signal.

Первый аспект настоящего изобретения относится к квантованию в трансформном кодере, которые применяется, например, при модифицированном дискретном косинусном преобразовании (MDCT). Предложенное устройство квантования предпочтительно квантует линии MDCT. Этот аспект применяется независимо от того, использует ли кодер дополнительно анализ кодирования с линейным предсказанием (LPC) или дополнительное долгосрочное предсказание.The first aspect of the present invention relates to quantization in a transform encoder, which is applied, for example, in a modified discrete cosine transform (MDCT). The proposed quantizer preferably quantizes the MDCT lines. This aspect applies regardless of whether the encoder uses additional analysis of linear predictive coding (LPC) or additional long-term prediction.

Настоящее изобретение обеспечивает систему кодирования аудиосигнала, содержащую блок линейного предсказания для фильтрации входного сигнала, основанный на адаптивном фильтре; блок преобразования для преобразования кадра отфильтрованного входного сигнала в область преобразования; и блок квантования для квантования сигнала в области преобразования. Блок квантования, основываясь на характеристиках входного сигнала, принимает решение о кодировании сигнала в области преобразования с помощью устройства квантования, основанного на модели, или устройства квантования, не основанного на модели. Предпочтительно, решение основывается на размере кадра, применяемом блоком преобразования. Однако, предусмотрены также и другие зависимые от входного сигнала критерии для переключения стратегии квантования, находящиеся в пределах объема настоящей заявки. The present invention provides an audio coding system comprising a linear predictor for filtering an input signal based on an adaptive filter; a transform unit for converting a frame of the filtered input signal into a transform region; and a quantizer for quantizing the signal in the transform domain. The quantizer, based on the characteristics of the input signal, decides whether to encode the transform domain signal with a model-based quantizer or a non-model-based quantizer. Preferably, the decision is based on the frame size applied by the transform block. However, other input-signal dependent criteria for switching the quantization strategy are also contemplated and are within the scope of the present application.

Другой важный аспект изобретения состоит в том, что устройство квантования может быть адаптивным. В частности, модель в устройстве квантования, основанном на модели, может быть адаптивной, чтобы регулировать входной аудиосигнал. Модель может, например, меняться во времени, например, в зависимости от характеристик входного сигнала. Это позволяет снизить искажение при квантовании и, таким образом, улучшить качество кодирования.Another important aspect of the invention is that the quantizer can be adaptive. In particular, the model in the model-based quantizer may be adaptive in order to adjust the input audio signal. The model may, for example, change over time, for example, depending on the characteristics of the input signal. This makes it possible to reduce quantization distortion and thus improve coding quality.

В соответствии с вариантом осуществления, предложенная стратегия квантования основывается на размере кадра. Предложено, чтобы модуль квантования, основываясь на размере кадра, применяемом блоком преобразования, мог принимать решение, кодировать ли сигнал в области преобразования с помощью устройства квантования, основанного на модели, или устройства квантования, не основанного на модели. Предпочтительно, блок квантования может быть выполнен с возможностью кодирования сигнала в области преобразования для кадра с размером кадра, меньшим, чем пороговое значение, посредством устройства квантования, основанного на модели, с ограничением энтропии. Квантование, основанное на модели, может выполняться на основе различных параметров. Большие кадры могут квантоваться, например, скалярным устройством квантования, например, с помощью энтропийного кодирования по способу Хаффмана, используемого, например, в кодеке AAC. According to an embodiment, the proposed quantization strategy is based on the frame size. It is proposed that the quantizer, based on the frame size applied by the transform unit, can decide whether to encode the signal in the transform domain with a model-based quantizer or a non-model-based quantizer. Preferably, the quantizer may be configured to encode the transform-domain signal for a frame with a frame size smaller than a threshold value by means of an entropy-limited model-based quantizer. Model-based quantization may be performed based on various parameters. Jumbo frames may be quantized, for example, by a scalar quantizer, for example, using Huffman entropy coding used, for example, in the AAC codec.

Система аудиокодирования может дополнительно содержать блок долгосрочного предсказания (LTP) для оценки кадра отфильтрованного входного сигнала, основываясь на реконструкции предыдущего сегмента отфильтрованного входного сигнала и сигнала в области преобразования блока объединения для объединения в области преобразования результата определения долгосрочного предсказания и преобразованного входного сигнала, чтобы создать сигнал в области преобразования, являющийся входным сигналом для блока квантования.The audio coding system may further comprise a long-term prediction (LTP) block for estimating a frame of the filtered input signal based on the reconstruction of the previous segment of the filtered input signal and the signal in the transformation region of the combining block to combine in the transformation region the result of determining the long-term prediction and the transformed input signal to create a signal in the transform domain, which is the input signal for the quantizer.

Переключение между различными способами квантования линий MDCT является другим аспектом предпочтительного варианта осуществления изобретения. Используя различные стратегии квантования для различных размеров преобразования, кодек может выполнять все квантование и кодирование в MDCT-области без необходимости иметь специальный речевой кодер временной области, работающий параллельно или последовательно с кодеком, работающим в области преобразования. Настоящее изобретение указывает, что для сигналов, подобных речи, где существует усиление LTP, сигнал предпочтительно кодируется, используя быстрого преобразование и устройство кантования, основанное на модели. Устройство квантования, основанное на модели, в частности, пригодно для быстрого преобразования и обладает, как будет описано позже, преимуществами специального векторного устройства квантования (VQ) речи во временной области, все еще продолжая работать в MDCT-области, и без каких-либо требований, чтобы входной сигнал был речевым сигналом. Другими словами, когда устройство квантования, основанное на модели, используется для сегментов быстрого преобразования в комбинации с LTP, эффективность специализированного кодера VQ речи, работающего во временной области, сохраняется без потери общности и без ухода из MDCT-области.Switching between different MDCT line quantization methods is another aspect of the preferred embodiment of the invention. By using different quantization strategies for different transform sizes, a codec can perform all of the quantization and coding in the MDCT domain without having to have a dedicated time domain speech encoder operating in parallel or in series with the transform domain codec. The present invention indicates that for speech-like signals where there is LTP gain, the signal is preferably encoded using a fast transform and a model-based canter. The model-based quantizer is particularly suitable for fast transformation and has, as will be described later, the advantages of a dedicated vector quantizer (VQ) of speech in the time domain, while still operating in the MDCT domain, and without any requirement so that the input signal is a speech signal. In other words, when a model-based quantizer is used for fast transform segments in combination with LTP, the performance of a dedicated VQ speech encoder operating in the time domain is maintained without loss of generality and without leaving the MDCT domain.

Кроме того, для более стационарных музыкальных сигналов предпочтительно использовать преобразование относительно большого размера, которое обычно используется в аудиокодеках, и схему квантования, которая может пользоваться преимуществами, даваемыми разреженными спектральными линиями, различаемыми большим преобразованием. Поэтому настоящее изобретение указывает на использование этого вида схемы квантования для длинных преобразований.Furthermore, for more stationary music signals, it is preferable to use a relatively large transform, which is commonly used in audio codecs, and a quantization scheme that can take advantage of the sparse spectral lines distinguished by the large transform. Therefore, the present invention indicates the use of this kind of quantization scheme for long transforms.

Таким образом, переключение стратегии квантования как функция размера кадра позволяет кодеку сохранять как свойства специализированного речевого кодека, так и свойства специализированного аудиокодека, просто посредством выбора размера преобразования. Это позволяет полностью избежать проблем, присущих системам предшествующего уровня техники, которые стремятся обрабатывать речевые и аудиосигналы одинаково хорошо при низких скоростях, так как эти системы неизбежно сталкиваются с проблемами и трудностями эффективного объединения кодирования во временной области (речевой кодер) с кодированием в частотной области (аудиокодер).Thus, switching the quantization strategy as a function of the frame size allows the codec to preserve both the properties of the dedicated speech codec and the properties of the dedicated audio codec, simply by selecting the transform size. This completely avoids the problems inherent in prior art systems that tend to process speech and audio signals equally well at low rates, as these systems inevitably face the problems and difficulties of effectively combining time domain coding (speech encoder) with frequency domain coding ( audio encoder).

В соответствии с другим аспектом изобретения, квантование использует адаптивные размеры шага. Предпочтительно, размер(-ы) шага квантования для компонентов сигнала в области преобразования адаптируется/адаптируются, основываясь на параметрах линейного предсказания и/или долговременного предсказания. Размер(-ы) шага квантования может дополнительно быть выполнен с возможностью быть частотнозависимым. В вариантах осуществления изобретения размер шага квантования определяется, основываясь, по меньшей мере, на одном из следующего: полином адаптивного фильтра, параметр управления скоростью кодирования, значение усиления при долгосрочном предсказании и дисперсия входного сигнала. In accordance with another aspect of the invention, quantization uses adaptive step sizes. Preferably, the quantization step size(s) for the signal components in the transform domain is/are adapted based on the linear prediction and/or long-term prediction parameters. The quantization step size(s) may further be configured to be frequency dependent. In embodiments of the invention, the quantization step size is determined based on at least one of the following: an adaptive filter polynomial, a code rate control parameter, a long term prediction gain value, and an input signal variance.

Предпочтительно, блок квантования содержит однородные скалярные устройства квантования для квантования компонент сигнала в области преобразования. Каждое скалярное устройство квантования применяет к линии MDCT однородное квантование, например, основанное на вероятностной модели. Вероятностная модель может лапласовой или гауссовой моделью или любой другой вероятностной моделью, пригодной для характеристик сигнала. Блок квантования может дополнительно вставлять в однородные скалярные устройства кантования случайный сдвиг. Вставка случайного сдвига обеспечивает однородным скалярным устройствам квантования преимущества векторного квантования. В соответствии с вариантом осуществления, случайные сдвиги определяются, основываясь на оптимизации искажения при квантовании, предпочтительно в перцепционной области и/или при рассмотрении стоимости с точки зрения числа битов, требующихся для кодирования индексов квантования.Preferably, the quantizer comprises homogeneous scalar quantizers for quantizing the signal components in the transform domain. Each scalar quantizer applies uniform quantization to the MDCT line, eg based on a probabilistic model. The probabilistic model may be a Laplace or Gaussian model, or any other probabilistic model suitable for signal characteristics. The quantization unit may additionally insert a random shift into the uniform scalar canting devices. The insertion of a random shift provides uniform scalar quantizers with the benefits of vector quantization. According to an embodiment, the random shifts are determined based on optimizing the quantization distortion, preferably in the perceptual domain, and/or considering the cost in terms of the number of bits required to encode the quantization indices.

Блок квантования может дополнительно содержать арифметический кодер для кодирования индексов квантования, созданных однородными скалярными устройствами квантования. Это позволяет достигнуть низкой скорости передачи данных, приближающейся к возможному минимуму, который задается энтропией сигнала.The quantizer may further comprise an arithmetic encoder for encoding the quantization indices generated by the homogeneous scalar quantizers. This allows you to achieve a low data rate, approaching the possible minimum, which is set by the entropy of the signal.

Модуль квантования может дополнительно содержать устройство квантования остатка для квантования остатка сигнала квантования, являющегося результатом работы однородных скалярных устройств квантования, чтобы дополнительно уменьшить общее искажение. Устройство квантования остатка предпочтительно является векторным устройством с фиксированной частотой.The quantizer may further comprise a residual quantizer for quantizing the residual of the quantizer signal resulting from the operation of the uniform scalar quantizers to further reduce overall distortion. The residual quantizer is preferably a fixed frequency vector device.

Многочисленные точки реконструкции квантования могут использоваться в блоке деквантования кодера и/или инверсном устройстве квантования в декодере. Например, точка реконструкции с минимальной среднеквадратичной ошибкой (MMSE) и/или центральная точка (средняя точка) реконструкции могут использоваться для реконструкции квантованного значения, основываясь на его индексе квантования. Точка реконструкции квантования может дополнительно основываться на динамической интерполяции между центральной точкой и точкой MMSE, возможно управляемыми характеристиками данных. Это позволяет управлять шумовой вставкой и избегать спектральных провалов из-за назначения линиям MDCT нулевого элемента квантования для низких скоростей передачи данных.Multiple quantization reconstruction points may be used in an encoder dequantizer and/or an inverse quantizer in a decoder. For example, a minimum mean square error (MMSE) reconstruction point and/or a reconstruction central point (midpoint) may be used to reconstruct a quantized value based on its quantization index. The quantization reconstruction point may further be based on dynamic interpolation between the center point and the MMSE point, possibly driven by data characteristics. This allows you to control the noise insertion and avoid spectral gaps due to assigning bin 0 to the MDCT lines for low data rates.

Перцепционное взвешивание в области преобразования предпочтительно применяется при определении искажения за счет квантования, чтобы придать различные веса конкретным частотным компонентам. Перцепционные веса могут эффективно быть получены из параметров линейного предсказания.Perceptual weighting in the transform domain is preferably applied in determining quantization distortion to give different weights to particular frequency components. The perceptual weights can be efficiently derived from the linear prediction parameters.

Другой независимый аспект изобретения имеет отношение к общей концепции использования сосуществования данных LPC and SCF (ScaleFactor). В трансформном кодере, например применяющем модифицированное дискретное косинусное преобразование (MDCT), масштабные факторы могут использоваться при квантовании, чтобы управлять размером шага квантования. На предшествующем уровне техники эти масштабные коэффициенты определяются из исходного сигнала, чтобы определить кривую маскирования. Теперь предлагается определить второй набор масштабных коэффициентов с помощью перцепционного фильтра или психоакустической модели, которая вычисляется из данных LPC. Это позволяет снизить стоимость передачи/хранения масштабных коэффициентов посредством передачи/хранения только отличия фактически применяемых масштабных коэффициентов от определяемых по LPC масштабных коэффициентов вместо передачи/сохранения реальных масштабных коэффициентов. Таким образом, в системе аудиокодирования, содержащей элементы кодирования речи, такие как, например, LPC, и элементы трансформного кодирования, такие как MDCT, настоящее изобретение уменьшает стоимость передачи информации масштабных коэффициентов, необходимой для трансформной части кодирования кодека, используя данные, предоставленные LPC. Следует отметить, что этот аспект независим от других аспектов предложенной системы аудиокодирования и может быть осуществлен также в другой системе аудиокодирования.Another independent aspect of the invention relates to the general concept of using LPC and SCF (ScaleFactor) data coexistence. In a transform encoder, such as one employing a modified discrete cosine transform (MDCT), scaling factors may be used in quantization to control the quantization step size. In the prior art, these scale factors are determined from the original signal to determine the masking curve. Now it is proposed to determine the second set of scale factors using a perceptual filter or a psychoacoustic model that is calculated from the LPC data. This reduces the cost of transmitting/storing the scale factors by transmitting/storing only the difference between the actual applied scale factors and the LPC-determined scale factors, instead of transmitting/storing the actual scale factors. Thus, in an audio coding system containing speech coding elements such as LPC for example, and transform coding elements such as MDCT, the present invention reduces the cost of transmitting the scale factor information needed for the transform part of the codec coding using the data provided by the LPC. It should be noted that this aspect is independent of other aspects of the proposed audio coding system and can also be implemented in another audio coding system.

Например, кривая перцепционного маскирования может быть определена, основываясь на параметрах адаптивного фильтра. Линейное предсказание, основанное на втором наборе масштабных коэффициентов, может быть определено, основываясь на определенной кривой перцепционного маскирования. Сохраненная/переданная информация масштабных коэффициентов затем определяется на основе различия между масштабными коэффициентами, фактически используемыми при квантовании, и масштабными коэффициентами, вычисленными по кривой перцепционного маскирования, основанной на LPC. Это удаляет динамику и избыточность из сохраняемой/передаваемой информации, так чтобы было необходимо меньше битов для сохранения/передачи масштабных коэффициентов.For example, a perceptual masking curve may be determined based on adaptive filter parameters. A linear prediction based on the second set of scale factors may be determined based on the determined perceptual masking curve. The stored/transmitted scalefactor information is then determined based on the difference between the scalefactors actually used in quantization and the scalefactors calculated from the LPC based perceptual masking curve. This removes dynamics and redundancy from the stored/transmitted information so that fewer bits are needed to store/transmit the scale factors.

В случае, если когда LPC и MDCT работают не на одной и той же частоте кадров, то есть, имеют различные размеры кадров, масштабные коэффициенты, основанные на линейном предсказании, для кадров сигнала в области преобразования могут быть определены, основываясь на интерполированных параметрах линейного предсказания, чтобы соответствовать временному окну, охватываемому кадром MDCT.In the case where LPC and MDCT do not operate at the same frame rate, i.e., have different frame sizes, linear prediction based scaling factors for signal frames in the transform domain can be determined based on the interpolated linear prediction parameters. to match the time window spanned by the MDCT frame.

Настоящее изобретение, следовательно, обеспечивает систему аудиокодирования, основанную на трансформном кодере, и содержит основополагающие модули предсказания и формирования из речевого кодера. Обладающая признаками изобретения система содержит блок линейного предсказания для фильтрации входного сигнала, основанный на адаптивном фильтре; блок преобразования для преобразования кадра отфильтрованного входного сигнала в область преобразования; блок квантования для квантования сигнала в области преобразования; блок определения масштабных коэффициентов для создания масштабных коэффициентов, основываясь на пороговой кривой маскирования, для использования в блоке квантования при квантовании сигнала в области преобразования; блок определения масштабных коэффициентов линейного предсказания для определения линейного предсказания, основываясь на масштабных коэффициентах, основанных на параметрах адаптивного фильтра; и кодер масштабных коэффициентов для кодирования разности масштабных коэффициентов, основанных на пороговой кривой маскирования, и масштабных коэффициентов, основанных на линейном предсказании. Кодируя разность между примененными масштабными коэффициентами и масштабными коэффициентами, которые могут быть определены в декодере, основанном на доступной информации линейного предсказания, эффективность кодирования и хранения может быть улучшена и сохранять/передавать потребуется совсем немного битов.The present invention therefore provides an audio coding system based on a transform encoder and contains fundamental prediction and generation modules from a speech encoder. The inventive system comprises a linear predictor for filtering an input signal based on an adaptive filter; a transform unit for converting a frame of the filtered input signal into a transform region; a quantizer for quantizing the signal in the transform domain; a scale factor determination unit for generating scale factors based on the masking threshold curve for use in a quantization unit when quantizing a signal in a transform region; a linear prediction scaling factor determination unit for determining a linear prediction based on the scaling factors based on the adaptive filter parameters; and a scale factor encoder for encoding a difference of scale factors based on the masking threshold curve and scale factors based on linear prediction. By encoding the difference between the applied scale factors and the scale factors that can be determined in the decoder based on the available linear prediction information, encoding and storage efficiency can be improved and very few bits need to be stored/transmitted.

Другой независимый аспект изобретения, касающийся кодера, относится к обработке битового накопителя для кадров переменного размера. В системе аудиокодирования, которая может кодировать кадры переменной длины, битовый накопитель управляется посредством распределения доступные битов между кадрами. Учитывая разумную степень сложности индивидуальных кадров и битовый накопитель определенного размера, определенное отклонение от требуемой постоянной скорости передачи позволяет иметь лучшее общее качество без нарушения требований буфера, которые налагаются размером битового накопителя. Настоящее изобретение распространяет концепцию использования битового накопителя на управление битовым накопителем для общего аудиокодека с переменными размерами кадров. Система аудиокодирования может поэтому содержать блок управления битовым накопителем для определения числа битов, предоставляемых для кодирования кадра отфильтрованного сигнала, основываясь на длительности кадра и мере сложности кадра. Предпочтительно, блок управления битовым накопителем имеет разные уравнения управления для различных мер сложности кадров и/или различных размеров кадров. Меры сложности для различных размеров кадров могут быть нормализованы, так чтобы их можно было легче сравнивать. Чтобы управлять распределением бит для кодера с переменной частотой, блок управления битовым накопителем предпочтительно устанавливает в предоставленном алгоритме управления битами пониженный допустимый предел относительно среднего числа битов для наибольшего допустимого размера кадра.Another independent encoder aspect of the invention relates to bit accumulator processing for variable size frames. In an audio coding system that can encode variable length frames, the bit accumulator is controlled by allocating the available bits between frames. Given a reasonable degree of complexity of the individual frames and a certain size bit bin, a certain deviation from the required constant bit rate allows for better overall quality without violating the buffer requirements imposed by the bit bin size. The present invention extends the concept of using a bit-accumulator to manage a bit-accumulator for a generic audio codec with variable frame sizes. The audio coding system may therefore comprise a bit accumulator control unit for determining the number of bits provided to encode a filtered signal frame based on the frame duration and frame complexity measure. Preferably, the bit accumulator control unit has different control equations for different frame complexity measures and/or different frame sizes. Complexity measures for different frame sizes can be normalized so that they can be compared more easily. In order to control the bit allocation for the variable rate encoder, the bit accumulator manager preferably sets the provided bit control algorithm to a lower allowable limit relative to the average number of bits for the largest allowable frame size.

Дополнительный аспект изобретения относится к обработке битового накопителя в кодере, используя основанное на модели устройство квантования, например, устройство квантования с ограничением энтропии (ECQ). Предлагается минимизировать изменение размера шага ECQ. Предлагается специальное уравнение управления, связывающее размер шага устройства квантования со скоростью работы ECQ.A further aspect of the invention relates to bit accumulator processing in an encoder using a model-based quantizer, such as an entropy-limited quantizer (ECQ). It is proposed to minimize the change in the ECQ step size. A special control equation is proposed that relates the step size of the quantizer to the speed of ECQ.

Адаптивный фильтр для фильтрации входного сигнала предпочтительно основывается на анализе кодирования с линейным предсказанием (LPC), содержащем фильтр LPC, создающий отбеленный входной сигнал. Параметры LPC для текущего кадра входных данных могут быть определены с помощью известных в технике алгоритмов. Блок определения параметров LPC может вычислить для кадра входных данных любое подходящее представление параметров LPC, такое как полиномы, передаточные функции, коэффициенты отражения, дискретные спектральные частоты и т.д. Конкретный тип представления параметров LPC, который используется для кодирования или другой обработки, зависит от соответствующих требований. Как известно специалистам в данной области техники, некоторые представления более пригодны для определенных операций, чем другие, и поэтому предпочтительны для выполнения этих операций. Блок линейного предсказания может воздействовать на первой длительности кадра, которая устанавливается равной, например, 20 мс. Фильтрация с линейным предсказанием может дополнительно работать на нелинейной частотной оси, чтобы выборочно подчеркивать определенные частотные диапазоны, такие как низкие частоты, по сравнению с другими частотами.The adaptive filter for filtering the input signal is preferably based on a Linear Prediction Coding (LPC) analysis comprising an LPC filter producing a bleached input signal. The LPC parameters for the current frame of input data can be determined using algorithms known in the art. The LPC parameter determiner can calculate any suitable representation of the LPC parameters for the input data frame, such as polynomials, transfer functions, reflection coefficients, discrete spectral frequencies, and so on. The specific type of LPC parameter representation that is used for encoding or other processing depends on the respective requirements. As will be known to those skilled in the art, some representations are more suitable for certain operations than others and are therefore preferred for performing those operations. The linear prediction block may act on the first frame duration, which is set to 20 ms, for example. Linear prediction filtering may further operate on a non-linear frequency axis to selectively emphasize certain frequency ranges, such as low frequencies, over other frequencies.

Преобразованием, применяемым к кадру отфильтрованного входного сигнала, предпочтительно является модифицированное дискретное косинусное преобразование (MDCT), работающее с переменной длительностью второго кадра. Система аудиокодирования может содержать блок управления последовательностью окон, определяющий для блока входного сигнала длительности кадров для перекрытия окон MDCT, минимизируя функцию стоимости кодирования, предпочтительно, упрощенную перцепционную энтропию, для всего блока входного сигнала, содержащего несколько кадров. Таким образом, получается оптимальная сегментация блока входного сигнала на окна MDCT, имеющие соответствующие длительности вторых кадров. Как следствие, предлагается структура кодирования в области преобразования, содержащая элементы речевого кодера, с кадром MDCT адаптивной длительности как единственным базовым блока для всей обработки, кроме LPC. Поскольку длительности кадров MDCT могут принимать много различных значений, может быть найдена оптимальная последовательность и можно избежать резких изменений размера кадров, как это обычно происходит на предшествующем уровне техники, где применяются только малый размер окна и большой размер окна. Кроме того, нет необходимости в переходных преобразовательных окнах с резкими краями, используемых при некоторых подходах предшествующего уровня техники для перехода между малым и большим размерами окон.The transform applied to the frame of the filtered input signal is preferably a modified discrete cosine transform (MDCT) operating on a variable second frame duration. The audio coding system may include a window sequencer that determines, for an input signal block, the frame durations to overlap the MDCT windows, minimizing the coding cost function, preferably the simplified perceptual entropy, for the entire input signal block containing multiple frames. Thus, an optimal segmentation of the input signal block into MDCT windows having corresponding second frame durations is obtained. As a consequence, a transform-domain coding structure containing elements of a speech encoder is proposed, with an adaptive duration MDCT frame as the sole base block for all processing except LPC. Because MDCT frame durations can take on many different values, an optimal sequence can be found and abrupt changes in frame size can be avoided, as is typically the case in the prior art where only a small window size and a large window size are used. In addition, there is no need for the hard-edged transient transducer windows used in some prior art approaches to transition between small and large window sizes.

Предпочтительно, длительности последовательных окон MDCT изменяются, самое большее, с коэффициентом два (2) и/или длительности окон MDCT являются диадическими значениями. Более конкретно, длительности окон MDCT могут быть диадическими частями блока входного сигнала. Последовательность окон MDCT поэтому ограничивается заданными последовательностями, которые просты для кодирования с помощью небольшого числа битов. Кроме того, последовательность окон имеет плавные переходы размеров кадров, исключая, тем самым, резкие изменения размеров кадров.Preferably, the durations of successive MDCT windows vary by at most a factor of two (2) and/or the durations of the MDCT windows are dyadic values. More specifically, the durations of the MDCT windows may be dyadic portions of an input signal block. The MDCT window sequence is therefore limited to given sequences that are easy to encode with a small number of bits. In addition, the window sequence has smooth frame size transitions, thereby avoiding abrupt frame size changes.

Блок управления последовательностью окон может быть дополнительно выполнен с возможностью результатов определения долгосрочного предсказания, созданных блоком долгосрочного предсказания, для кандидатов на продолжительность окон при поиске последовательности длительностей окон MDCT, которая минимизирует функцию стоимости кодирования блока входного сигнала. В этом варианте осуществления цикл долгосрочного предсказания замыкается при определении длительностей окон MDCT, что приводит к улучшенной последовательности окон MDCT, применяемых для кодирования.The window sequencer may be further configured to provide long term prediction determination results generated by the long term predictor for window length candidates when searching for a sequence of MDCT window lengths that minimizes the input signal block coding cost function. In this embodiment, the long-term prediction loop is closed in determining the lengths of the MDCT windows, resulting in an improved sequence of MDCT windows used for coding.

Система аудиокодирования может дополнительно содержать кодер LPC для рекурсивного кодирования с переменной частотой дискретных спектральных частот или других соответствующих представлений параметров LPC, создаваемых блоком линейного предсказания для хранения и/или передачи на декодер. В соответствии с вариантом осуществления, обеспечивается блок интерполяции линейного предсказания, чтобы интерполировать параметры линейного предсказания, созданные с частотой, соответствующей длительности первого кадра, так чтобы соответствовать переменным длительностям кадров сигнала в области преобразования.The audio coding system may further comprise an LPC encoder for recursively variable rate encoding of discrete spectral frequencies or other appropriate representations of the LPC parameters generated by the linear predictor for storage and/or transmission to the decoder. According to an embodiment, a linear prediction interpolator is provided to interpolate the linear prediction parameters generated at a rate corresponding to the first frame duration so as to match the variable frame durations of the signal in the transform domain.

В соответствии с аспектом изобретения, система аудиокодирования может содержать блок перцепционного моделирования, изменяющий характеристику адаптивного фильтра посредством линейной частотной модуляции и/или наклона полинома LPC, созданного блоком линейного предсказания для кадра LPC. Перцепционная модель, полученная посредством модификации характеристик адаптивного фильтра, может использоваться для многих целей в системе. Например, она может применяться в качестве функции перцепционного взвешивания при квантовании или долгосрочном предсказании.In accordance with an aspect of the invention, the audio coding system may comprise a perceptual modeler modifying the adaptive filter response by chirping and/or tilting the LPC polynomial generated by the linear predictor for an LPC frame. The perceptual model obtained by modifying the characteristics of the adaptive filter can be used for many purposes in the system. For example, it can be used as a perceptual weighting function in quantization or long-term prediction.

Другой аспект изобретения относится к долгосрочному предсказанию (LTP), в частности, к долгосрочному предсказанию в MDCT-области, адаптированному LTP кадра MDCT и поиску LTP со взвешенным MDCT. Эти аспекты применимы независимо от того, присутствует ли анализ LPC в восходящем потоке данных трансформного кодера. Another aspect of the invention relates to Long Term Prediction (LTP), in particular MDCT domain long term prediction, adapted MDCT frame LTP, and MDCT weighted LTP search. These aspects apply whether or not LPC analysis is present in the upstream of the transform encoder.

В соответствии с вариантом осуществления, система аудиокодирования дополнительно содержит блок инверсного квантования и инверсного преобразования для создания реконструкции во временной области кадра отфильтрованного входного сигнала. Дополнительно может обеспечиваться буфер долгосрочного предсказания для хранения реконструкций во временной области предыдущих кадров отфильтрованного входного сигнала. Эти блоки могут быть организованы в цикл с обратной связью от блока квантования к блоку извлечения долгосрочного предсказания, который ищет в буфере долгосрочного предсказания реконструированный сегмент, наилучшим образом совпадающий с текущим кадром отфильтрованного входного сигнала. Кроме того, может быть обеспечен блок определения усиления долгосрочного предсказания, который регулирует усиление сегмента, выбранного из буфера долгосрочного предсказания, так чтобы он наилучшим образом совпадал с текущим кадром. Предпочтительно, результат определения долгосрочного предсказания вычитается из преобразованного входного сигнала в области преобразования. Поэтому может обеспечиваться второй блок преобразования для преобразования выбранного сегмента в область преобразования. Цикл долгосрочного предсказания может дополнительно содержать добавление результата определения долгосрочного предсказания в области преобразования к сигналу обратной связи после инверсного квантования и перед инверсным преобразованием во временную область. Таким образом, может использоваться схема обратного адаптивного долгосрочного предсказания, которая предсказывает в области преобразования текущий кадр отфильтрованного входного сигнала, основываясь на предыдущих кадрах. Для большей эффективности, схема долгосрочного предсказания может дополнительно быть адаптирована различными способами, как изложено ниже для некоторых примеров.According to an embodiment, the audio coding system further comprises an inverse quantization and inverse transform unit for creating a time domain reconstruction of a frame of the filtered input signal. Additionally, a long-term prediction buffer may be provided to store time-domain reconstructions of previous frames of the filtered input signal. These blocks can be organized in a feedback loop from the quantizer to the long-term prediction extractor, which searches the long-term prediction buffer for the reconstructed segment that best matches the current frame of the filtered input signal. In addition, a long-term prediction gain determining unit may be provided that adjusts the gain of a segment selected from the long-term prediction buffer so that it best matches the current frame. Preferably, the long-term prediction determination result is subtracted from the transformed input signal in the transform region. Therefore, a second transform unit may be provided to transform the selected segment into a transform region. The long-term prediction loop may further comprise adding a result of determining the long-term prediction in the transform domain to the feedback signal after inverse quantization and before inverse time domain transformation. Thus, an inverse adaptive long-term prediction scheme can be used that predicts in the transform domain the current frame of the filtered input signal based on previous frames. For greater efficiency, the long-term prediction scheme can be further adapted in various ways, as set out below for some examples.

В соответствии с вариантом осуществления, блок долгосрочного предсказания содержит устройство выделения долгосрочного предсказания для определения значения задержки, указывающее реконструированный сегмент отфильтрованного сигнала, наилучшим образом соответствующий текущему кадру отфильтрованного сигнала. Устройство определения усиления при долгосрочном предсказании может определить значение усиления, применяемого к сигналу выбранного сегмента отфильтрованного сигнала. Предпочтительно, значение задержки и значение усиления определяются так, чтобы минимизировать критерий искажения, относящийся к разности в перцепционной области между оценкой долгосрочного предсказания и преобразованным входным сигналом. Модифицированный полином линейного предсказания может применяться в качестве кривой усиления выравнивания в MDCT-области при минимизации критерия искажения.According to an embodiment, the long-term prediction block comprises a long-term prediction extractor for determining a delay value indicating a reconstructed segment of the filtered signal that best matches the current frame of the filtered signal. The long term prediction gain determiner may determine a gain value applied to the signal of the selected segment of the filtered signal. Preferably, the delay value and the gain value are determined so as to minimize the distortion criterion related to the difference in the perceptual domain between the long-term prediction estimate and the transformed input signal. The modified linear prediction polynomial can be applied as an equalization gain curve in the MDCT region while minimizing the distortion criterion.

Блок долгосрочного предсказания может содержать блок преобразования для преобразования реконструированных сегментов из буфера LTP в область преобразования. Для эффективного осуществления MDCT-преобразования такое преобразование предпочтительно должно быть дискретным косинусным преобразованием типа-IV.The long-term prediction block may comprise a transform block for transforming the reconstructed segments from the LTP buffer into a transform region. To effectively implement the MDCT transform, such a transform should preferably be a type-IV discrete cosine transform.

Другой аспект изобретения относится к аудиодекодеру для декодирования битового потока, созданного с помощью вариантов осуществления упомянутого выше кодера. Декодер, соответствующий варианту осуществления, содержит блок деквантования для деквантования кадра входного битового потока, основываясь на масштабных коэффициентах; блок инверсного преобразования для инверсного преобразования сигнал в области преобразования; блок линейного предсказания для фильтрации инверсно преобразованного сигнала в области преобразования; и блок декодирования масштабных коэффициентов для создания масштабных коэффициентов, используемых при деквантовании, основываясь на полученной дельта-информации масштабных коэффициентов, которая кодирует разность между масштабными коэффициентами, применяемыми в кодере, и масштабными коэффициентами, созданными, основываясь на параметрах адаптивного фильтра. Декодер может дополнительно содержать блок определения масштабных коэффициентов для создания масштабных коэффициентов, основываясь на пороговой кривой маскирования, получаемой из параметров линейного предсказания для текущего кадра. Блок декодирования масштабных коэффициентов может объединить полученную дельта-информацию масштабных коэффициентов с созданным линейным предсказанием, основываясь на масштабных коэффициентах, чтобы создать масштабные коэффициенты для ввода в блок деквантования.Another aspect of the invention relates to an audio decoder for decoding a bitstream created with embodiments of the above encoder. The decoder according to the embodiment comprises a dequantizer for dequantizing a frame of an input bitstream based on scaling factors; an inverse transform block for inverse transforming the signal in the transform region; a linear prediction block for filtering the inversely transformed signal in the transform region; and a scalefactor decoding unit for generating scalefactors used in dequantization based on the obtained scalefactor delta information that encodes a difference between the scalefactors applied in the encoder and the scalefactors generated based on the adaptive filter parameters. The decoder may further comprise a scaling factor determiner for generating scaling factors based on a threshold masking curve obtained from the linear prediction parameters for the current frame. The scalefactor decoder may combine the obtained scalefactor delta information with the generated linear prediction based on the scalefactors to generate scalefactors for input to the dequantizer.

Декодер, соответствующий другому варианту осуществления, содержит блок деквантования, основанный на модели, для деквантования кадра входного битового потока; блок инверсного преобразования для инверсного преобразования сигнала в области преобразования; и блок линейного предсказания для фильтрации инверсно преобразованного сигнала в области преобразования. Блок деквантования может содержать устройство деквантования, основанное на модели, и устройство деквантования, не основанное на модели.A decoder according to another embodiment comprises a model-based dequantizer for dequantizing a frame of an input bitstream; an inverse transform block for inversely transforming the signal in the transform region; and a linear prediction block for filtering the inversely transformed signal in the transform region. The dequantizer may comprise a model-based dequantizer and a non-model-based dequantizer.

Предпочтительно, блок деквантования содержит, по меньшей мере, одну адаптивную вероятностную модель. Блок деквантования может быть выполнен с возможностью адаптации деквантования как функции характеристик переданного сигнала.Preferably, the dequantizer contains at least one adaptive probability model. The dequantizer may be configured to adapt the dequantization as a function of the characteristics of the transmitted signal.

Блок деквантования может дополнительно принимать решение по стратегии деквантования, основываясь на данных управления для декодированного кадра. Предпочтительно, данные управления деквантованием принимаются вместе с битовым потоком или получаются из принятых данных. Например, блок деквантования принимает решение по стратегии деквантования, основываясь на размере преобразования кадра.The dequantizer may further decide on a dequantization strategy based on the control data for the decoded frame. Preferably, the dequantization control data is received along with the bitstream or obtained from the received data. For example, the dequantizer decides on a dequantization strategy based on the frame transform size.

В соответствии с другим аспектом, блок деквантования содержит точки адаптивной реконструкции. Блок деквантования может содержать однородные скалярные устройства деквантования, выполненные с возможностью использования двух точек реконструкции деквантования на интервале квантования, в частности, средней точки и точки реконструкции с MMSE.According to another aspect, the dequantization block contains adaptive reconstruction points. The dequantization unit may comprise homogeneous scalar dequantizers configured to use two dequantization reconstruction points on the quantization interval, in particular a midpoint and an MMSE reconstruction point.

В соответствии с вариантом осуществления, блок деквантования использует устройство квантования, основанное на модели, в комбинации с арифметическим кодированием.According to an embodiment, the dequantizer uses a model-based quantizer in combination with arithmetic coding.

Кроме того, декодер может содержать многие из аспектов, раскрытых выше для кодера. В целом, декодер будет отражать операции кодера, хотя некоторые операции выполняются только в кодере и не будут иметь никаких соответствующих компонентов в декодере. Таким образом, то, что описано для кодера, должно считаться применимым также и для декодера, если не указывается иначе.In addition, the decoder may include many of the aspects disclosed above for the encoder. In general, the decoder will mirror the operations of the encoder, although some operations are performed only in the encoder and will not have any corresponding components in the decoder. Thus, what is described for the encoder should be considered applicable to the decoder as well, unless otherwise stated.

Упомянутые выше аспекты изобретения могут быть осуществлены как устройство, совокупность устройств, способ или компьютерная программа, работающая на программируемом устройстве. Аспекты изобретения могут дополнительно быть осуществлены в сигналах, структурах данных и битовых потоках. The above aspects of the invention may be implemented as an apparatus, a collection of apparatuses, a method, or a computer program running on a programmable device. Aspects of the invention may further be implemented in signals, data structures, and bit streams.

Таким образом, заявка дополнительно раскрывает способ аудиокодирования и способ аудиодекодирования. Пример способа аудиокодирования содержит этапы, на которых: фильтруют входной сигнал на основе адаптивного фильтра; преобразуют кадр отфильтрованного входного сигнала в область преобразования; квантуют сигнал в области преобразования; создают масштабные коэффициенты, основываясь на пороговой кривой маскирования, для использования в блоке квантования при квантовании сигнала в области преобразования; определяют основанные на линейном предсказании масштабные коэффициенты, используя для этого параметры адаптивного фильтра; и кодируют разность между масштабными коэффициентами, основанными на пороговой кривой маскирования, и масштабными коэффициентами, основанными на линейном предсказании.Thus, the application further discloses an audio coding method and an audio decoding method. An example of an audio coding method comprises the steps of: filtering an input signal based on an adaptive filter; converting a frame of the filtered input signal into a transform region; quantizing the signal in the transform region; creating scaling factors based on the threshold masking curve for use in the quantizer when quantizing the signal in the transform domain; determine based on linear prediction scaling factors, using the parameters of the adaptive filter; and encoding a difference between the scaling factors based on the masking threshold curve and the scaling factors based on the linear prediction.

Другой способ аудиокодирования содержит этапы, на которых: фильтруют входной сигнал, основываясь на адаптивном фильтре; преобразуют кадр отфильтрованного входного сигнала в область преобразования; и квантуют сигнал в области преобразования; в котором блок квантования, основываясь на характеристиках входного сигнала, принимает решение кодировать сигнал в области преобразования с помощью устройства квантования, основанного на модели, или устройства квантования, не основанного на модели.Another audio coding method comprises the steps of: filtering an input signal based on an adaptive filter; converting a frame of the filtered input signal into a transform region; and quantize the signal in the transform region; in which the quantizer, based on the characteristics of the input signal, decides to encode the signal in the transform domain with a model-based quantizer or a non-model-based quantizer.

Пример способа аудиодекодирования содержит этапы, на которых: деквантуют кадр входного битового потока, основываясь на масштабных коэффициентах; инверсно преобразуют сигнал в области преобразования; фильтруют с линейным предсказанием инверсно преобразованный сигнал в области преобразования; определяют вторые масштабные коэффициенты, основываясь на параметрах адаптивного фильтра; и создают масштабные коэффициенты, используемые при деквантовании, основываясь на полученной информации о разности масштабных коэффициентов и определенных вторых масштабных коэффициентах.An example of an audio decoding method comprises the steps of: dequantizing a frame of an input bitstream based on scaling factors; inversely converting the signal in the conversion area; filtering with linear prediction of the inversely transformed signal in the area of the transformation; determining second scaling factors based on the adaptive filter parameters; and generating scale factors used in dequantization based on the obtained scale factor difference information and the determined second scale factors.

Другой способ аудиокодирования содержит этапы, на которых: деквантуют кадр входного битового потока; инверсно преобразуют сигнал в области преобразования; и фильтруют с линейным предсказанием инверсно преобразованный сигнал в области преобразования; в котором деквантование использует устройство квантования, основанное на модели, и устройство квантования, не основанное на модели.Another audio coding method comprises the steps of: dequantizing a frame of the input bitstream; inversely converting the signal in the conversion area; and linear prediction filtering the inverse transformed signal in the transform region; wherein the dequantization uses a model-based quantizer and a non-model-based quantizer.

Приведенное выше является лишь примерами предпочтительных способов аудиокодирования/декодирования и компьютерных программ, которые предлагаются настоящей заявкой и которые специалист в данной области техники может получить из последующего описания примеров вариантов осуществления.The foregoing are merely examples of the preferred audio encoding/decoding methods and computer programs that are provided by the present application and that a person skilled in the art can derive from the following description of exemplary embodiments.

Краткое описание чертежейBrief description of the drawings

Настоящее изобретение будет теперь описано посредством иллюстративных примеров, не ограничивающих объем или сущность изобретения, со ссылкой на сопроводительные чертежи, на которых:The present invention will now be described by means of illustrative examples, without limiting the scope or essence of the invention, with reference to the accompanying drawings, in which:

Фиг. 1 - предпочтительный вариант осуществления кодера и декодера в соответствии с настоящим изобретением; Fig. 1 shows a preferred embodiment of an encoder and decoder in accordance with the present invention;

Фиг. 2 - более подробное представление кодера и декодера в соответствии с настоящим изобретением;Fig. 2 is a more detailed view of an encoder and decoder in accordance with the present invention;

Фиг. 3 - другой вариант осуществления кодера, соответствующего настоящему изобретению;Fig. 3 shows another embodiment of an encoder according to the present invention;

Фиг. 4 - предпочтительный вариант осуществления кодера, соответствующего настоящему изобретению; Fig. 4 is a preferred embodiment of an encoder according to the present invention;

Фиг. 5 - предпочтительный вариант осуществления декодера, соответствующего настоящему изобретению;Fig. 5 is a preferred embodiment of a decoder according to the present invention;

Фиг. 6 - предпочтительный вариант осуществления кодирования и декодирования линий MDCT в соответствии с настоящим изобретением;Fig. 6 shows a preferred embodiment for encoding and decoding MDCT lines in accordance with the present invention;

Фиг. 7 - предпочтительный вариант осуществления кодера и декодера и примеры соответствующих данных управления, передаваемых от одного к другому в соответствии с настоящим изобретением; Fig. 7 shows a preferred embodiment of an encoder and a decoder and examples of corresponding control data transmitted from one to the other in accordance with the present invention;

Фиг. 7a - другой пример аспектов кодера в соответствии с вариантом осуществления изобретения;Fig. 7a is another example of aspects of an encoder in accordance with an embodiment of the invention;

Фиг. 8 - пример последовательности окон и отношения между данными LPC и данными MDCT в соответствии с вариантом осуществления настоящего изобретения;Fig. 8 is an example of a window sequence and relationship between LPC data and MDCT data according to an embodiment of the present invention;

Фиг. 9 - объединение данных масштабных коэффициентов и данных LPC в соответствии с настоящим изобретением;Fig. 9 is a combination of scale factor data and LPC data in accordance with the present invention;

Фиг. 9a - другой вариант осуществления объединения данных масштабных коэффициентов и данных LPC в соответствии с настоящим изобретением;Fig. 9a shows another embodiment of combining scalefactor data and LPC data in accordance with the present invention;

Фиг. 9b - другая упрощенная блок-схема кодера и декодера в соответствии с настоящим изобретением;Fig. 9b is another simplified block diagram of an encoder and decoder in accordance with the present invention;

Фиг. 10 - предпочтительный вариант осуществления перевода полиномов LPC в кривую усиления MDCT в соответствии с настоящим изобретением; Fig. 10 is a preferred embodiment of translating LPC polynomials into an MDCT gain curve in accordance with the present invention;

Фиг. 11 - предпочтительный вариант осуществления отображения параметров LPC с постоянной частотой обновления в данные последовательности окон с адаптивным MDCT в соответствии с настоящим изобретением;Fig. 11 illustrates a preferred embodiment of mapping constant refresh rate LPC parameters to adaptive MDCT window sequence data in accordance with the present invention;

Фиг. 12 - предпочтительный вариант осуществления вычисления адаптации перцепционного взвешивающего фильтра, основываясь на размере преобразования и типе устройства квантования в соответствии с настоящим изобретением;Fig. 12 is a preferred embodiment of perceptual weighting filter adaptation calculation based on transform size and quantizer type in accordance with the present invention;

Фиг. 13 - предпочтительный вариант осуществления адаптации устройства квантования в зависимости от размера кадра в соответствии с настоящим изобретением;Fig. 13 is a preferred embodiment of the adaptation of the quantizer depending on the frame size in accordance with the present invention;

Фиг. 14 - предпочтительный вариант осуществления адаптации устройства квантования в зависимости от размера кадра в соответствии с настоящим изобретением;Fig. 14 is a preferred embodiment of the adaptation of the quantizer depending on the frame size in accordance with the present invention;

Фиг. 15 - предпочтительный вариант осуществления адаптации размера шага квантования как функции LPC и данных LTP в соответствии с настоящим изобретением; Fig. 15 is a preferred embodiment of adapting the quantization step size as a function of LPC and LTP data in accordance with the present invention;

Фиг. 15a – вывод дельта-кривой из параметров LPC и LTP с помощью блока дельта-адаптации;Fig. 15a - derivation of the delta curve from the LPC and LTP parameters using the delta adaptation block;

Фиг. 16 - предпочтительный вариант осуществления устройства квантования, основанного на модели, использующего случайные сдвиги, соответствующего настоящему изобретению;Fig. 16 is a preferred embodiment of a model based quantizer using random shifts according to the present invention;

Фиг. 17 - предпочтительный вариант осуществления устройства квантования, основанного на модели, в соответствии с настоящим изобретением;Fig. 17 is a preferred embodiment of a model-based quantizer in accordance with the present invention;

Фиг. 17a - другой предпочтительный вариант осуществления устройства квантования, основанного на модели, в соответствии с настоящим изобретением; Fig. 17a is another preferred embodiment of a model based quantizer according to the present invention;

Фиг. 17b – схематичное представление декодера 2150, основанного на модели, для линий MDCT в соответствии с вариантом осуществления изобретения;Fig. 17b is a schematic representation of a model based decoder 2150 for MDCT lines in accordance with an embodiment of the invention;

Фиг. 17c - схематичное представление аспектов предварительной обработки устройства квантования в соответствии с вариантом осуществления изобретения; Fig. 17c is a schematic representation of pre-processing aspects of a quantizer according to an embodiment of the invention;

Фиг. 17d – схематичное представление аспектов вычисления размера шага в соответствии с вариантом осуществления изобретения;Fig. 17d is a schematic representation of aspects of step size calculation in accordance with an embodiment of the invention;

Фиг. 17e – схематичное представление кодера, основанного на модели, с ограничением энтропии в соответствии с вариантом осуществления изобретения;Fig. 17e is a schematic representation of a model based entropy constrained encoder according to an embodiment of the invention;

Фиг. 17f – схематичное представление работы однородного скалярного устройства квантования (USQ) в соответствии с вариантом осуществления изобретения;Fig. 17f is a schematic representation of the operation of a uniform scalar quantizer (USQ) in accordance with an embodiment of the invention;

Фиг. 17g – схематичное представление вычислений вероятности в соответствии с вариантом осуществления изобретения;Fig. 17g is a schematic representation of probability calculations in accordance with an embodiment of the invention;

Фиг. 17h – схематичное представление процесс деквантования в соответствии с вариантом осуществления изобретения; Fig. 17h is a schematic representation of a dequantization process in accordance with an embodiment of the invention;

Фиг. 18 - предпочтительный вариант осуществления управления битовым накопителем в соответствии с настоящим изобретением;Fig. 18 is a preferred embodiment of bit storage management in accordance with the present invention;

Фиг. 18a – базовая концепция управления битовым накопителем;Fig. 18a is the basic concept of bit storage management;

Фиг. 18b – концепция управления битовым накопителем для переменных размеров кадра в соответствии с настоящим изобретением;Fig. 18b is a bit-accumulator control concept for variable frame sizes in accordance with the present invention;

Фиг. 18c - пример кривой управления для управления битовым накопителем в соответствии с вариантом осуществления; Fig. 18c is an example of a control curve for driving a bit accumulator according to an embodiment;

Фиг. 19 - предпочтительный вариант осуществления инверсного устройства квантования, использующего различные точки реконструкции в соответствии с настоящим изобретением.Fig. 19 is a preferred embodiment of an inverse quantizer using various reconstruction points in accordance with the present invention.

Описание предпочтительных вариантов осуществленияDescription of Preferred Embodiments

Описанные ниже варианты осуществления являются просто иллюстративными примерами принципов настоящего изобретения для аудиокодера и декодера. Подразумевается, что модификации и изменения схем и подробностей, описанных здесь, будут очевидны другим специалистам в данной области техники. Намерение, поэтому, заключается в том, чтобы ограничиться только объемом пунктов сопроводительной формулы изобретения, а не конкретными подробностями, представленными посредством описания и объяснения представленных здесь вариантов осуществления. Подобные компоненты вариантов осуществления обозначаются подобными ссылочными номерами.The embodiments described below are merely illustrative examples of the principles of the present invention for an audio encoder and decoder. It is intended that modifications and changes to the circuits and details described herein will be apparent to others skilled in the art. The intention, therefore, is to be limited only by the scope of the claims of the accompanying claims, and not by the specific details provided through the description and explanation of the embodiments presented here. Like components of embodiments are denoted by like reference numerals.

На фиг. 1 визуально представлены кодер 101 и декодер 102. Кодер 101 получает входной сигнал во временной области и создает битовый поток 103, впоследствии посылаемый на декодер 102. Декодер 102 создает выходной колебательный сигнал, основываясь на принятом битовом потоке 103. Выходной сигнал психоакустически схож с первоначальным входным сигналом. На фиг. 2 показан предпочтительный вариант осуществления кодера 200 и декодера 210. Входной сигнал кодера 200 проходит через модуль 201 LPC (кодирования с линейным предсказанием), создающий отбеленный остаточный сигнал для кадра LPC, имеющего первую длительность кадра, и соответствующие параметры линейного предсказания. Дополнительно, в модуль 201 LPC может быть включена нормализация усиления. Остаточный сигнал от LPC преобразуется в частотную область с помощью модуля 202 MDCT (модифицированного дискретного косинусного преобразования), работающего на второй переменной длительности кадра. В кодере 200, показанном на фиг. 2, содержится модуль 205 LTP (долгосрочного предсказания). LTP будет с подробностями раскрыто в дополнительном варианте осуществления настоящего изобретения. Линии MDCT подвергаются процессу 203 квантования, а также процессу 204 деквантования, чтобы предоставить буферу LTP копию декодированного выходного сигнала, когда он будет доступен декодеру 210. Из-за искажения при квантовании эту копию называют реконструкцией соответствующего входного сигнала. В нижней части фиг. 2 изображен декодер 210. Декодер 210 получает квантованные линии MDCT, производит процесс 211 их деквантования, добавляет вклад от модуля 214 LTP и производит процесс 212 инверсного преобразования MDCT с последующим синтезом фильтром 213 LPC.In FIG. 1 is a visual representation of an encoder 101 and a decoder 102. The encoder 101 receives a time domain input and produces a bitstream 103 which is subsequently sent to the decoder 102. The decoder 102 produces an output waveform based on the received bitstream 103. The output is psychoacoustically similar to the original input. signal. In FIG. 2 shows a preferred embodiment of an encoder 200 and a decoder 210. The input signal of the encoder 200 passes through an LPC (Linear Prediction Coding) module 201 producing a whitened residual signal for an LPC frame having a first frame duration and corresponding linear prediction parameters. Additionally, gain normalization may be included in the LPC module 201. The residual signal from the LPC is converted to the frequency domain by an MDCT (Modified Discrete Cosine Transform) module 202 operating on a second variable frame duration. In the encoder 200 shown in FIG. 2, an LTP (Long Term Prediction) module 205 is included. LTP will be disclosed in detail in a further embodiment of the present invention. The MDCT lines are subjected to a quantization process 203 as well as a dequantization process 204 to provide the LTP buffer with a copy of the decoded output signal when it is available to the decoder 210. Due to quantization distortion, this copy is referred to as a reconstruction of the corresponding input signal. At the bottom of Fig. 2 shows a decoder 210. Decoder 210 receives the quantized MDCT lines, performs a dequantization process 211, adds a contribution from the LTP module 214, and performs an inverse MDCT transform process 212 followed by synthesis by an LPC filter 213.

Важным аспектом описанного выше варианта осуществления является то, что кадр MDCT является единственным базовым блоком для кодирования, хотя LPC имеет свой собственный (и в одном варианте осуществления постоянный) размер кадра и параметры LPC также кодируются. Вариант осуществления начинается с кодера преобразования и вводит основополагающие модули предсказания и формирования из речевого кодера. Как будет обсуждаться позже, размер кадра MDCT является переменным и адаптируется к блоку входного сигнала, определяя оптимальную последовательность окон MDCT для всего блока посредством минимизации упрощенной функции стоимости перцепционной энтропии. Это позволяет осуществлять масштабирование, чтобы поддержать оптимальное управление по времени/частоте. Дополнительно, предложенная унифицированная структура избегает переключаемых или наслаивающихся комбинаций различных парадигм кодирования.An important aspect of the embodiment described above is that the MDCT frame is the only basic unit for encoding, although the LPC has its own (and in one embodiment, constant) frame size and the LPC parameters are also encoded. The embodiment starts with a transform encoder and introduces the underlying prediction and shaping modules from a speech encoder. As will be discussed later, the MDCT frame size is variable and adapts to the block of the input signal, determining the optimal sequence of MDCT windows for the entire block by minimizing the simplified perceptual entropy cost function. This allows scaling to support optimal time/frequency control. Additionally, the proposed unified framework avoids switching or layering combinations of different coding paradigms.

На фиг. 3 части кодера 300 описаны схематично более подробно. Отбеленный сигнал в качестве выходного сигнала модуля 201 LPC кодера, показанного на фиг. 2, является входным сигналом блока 302 фильтров MDCT. Анализ MDCT, как вариант, может быть анализом MDCT с нелинейной шкалой времени, что гарантирует, что шаг сигнала (если сигнал является периодическим со строго определенным шагом) является постоянным в окне преобразования MDCT.In FIG. The 3 parts of the encoder 300 are described schematically in more detail. The bleached signal as an output signal of the LPC encoder unit 201 shown in FIG. 2 is the input to the MDCT filter block 302. The MDCT analysis may alternatively be a non-linear time scale MDCT analysis, which ensures that the signal step (if the signal is periodic with a well-defined step) is constant across the MDCT transform window.

На фиг. 3 модуль 310 LTP представлен более подробно. Он содержит буфер 311 LTP, хранящий реконструированные выборки во временной области предыдущих сегментов выходного сигнала. Устройство 312 выделения LTP находит сегмент с наилучшим соответствием в буфере 311 LTP для заданного текущего входного сегмента. Блоком 313 усиления к этому сегменту прикладывается подходящее значение усиления перед тем, как он будет вычитаться из сегмента, в настоящее время являющегося входным для устройства 303 квантования. Очевидно, что для выполнения вычитания перед квантованием, устройство 312 выделения LTP также преобразует выбранный сегмент сигнала в MDCT-область. Устройство 312 выделения LTP ищет наилучшие значения усиления и задержки, которые минимизируют функцию ошибки в перцепционной области при объединении реконструированного предыдущего сегмента выходного сигнала с преобразованным входным кадром MDCT-области. Например, оптимизируется функция среднеквадратичной ошибки (MSE) между преобразованным реконструированным сегментом модуля 310 LTP и преобразованным входным кадром (то есть, остаточный сигнал после вычитания). Эта оптимизация может быть выполнена в перцепционной области, где частотные компоненты (то есть, линии MDCT) взвешиваются согласно их перцепционной важности. Модуль 310 LTP работает в блоках кадров MDCT и кодер 300 считает один остаток кадра MDCT за один раз, например, для квантования в модуле 303 квантования. Поиск задержки и усиления могут выполняться в перцепционной области. Как вариант, LTP может быть селективным по частоте, то есть, адаптировать усиление и/или задержку в зависимости от частоты. Показаны блок 304 инверсного квантования 304 и блок 306 инверсного MDCT. MDCT может иметь нелинейную шкалу времени, как объясняется позже.In FIG. 3, the LTP module 310 is presented in more detail. It contains an LTP buffer 311 storing the reconstructed samples in the time domain of the previous segments of the output signal. LTP extractor 312 finds the segment with the best match in LTP buffer 311 for a given current input segment. Gain block 313 applies a suitable gain value to this segment before it is subtracted from the segment currently being input to quantizer 303 . Obviously, to perform the subtraction before quantization, the LTP extractor 312 also converts the selected signal segment into an MDCT region. The LTP extractor 312 searches for the best gain and delay values that minimize the perceptual domain error function when combining the reconstructed previous output segment with the transformed MDCT domain input frame. For example, the mean square error (MSE) function between the transformed reconstructed segment of LTP module 310 and the transformed input frame (ie, the residual signal after subtraction) is optimized. This optimization can be performed in the perceptual domain, where frequency components (ie, MDCT lines) are weighted according to their perceptual importance. LTP module 310 operates in blocks of MDCT frames, and encoder 300 reads one remainder of an MDCT frame at a time, for example, for quantization in quantizer 303 . Delay and gain searches may be performed in the perceptual domain. Alternatively, LTP may be frequency selective, that is, adapt the gain and/or delay depending on the frequency. Shown block 304 inverse quantization 304 and block 306 inverse MDCT. The MDCT may have a non-linear time scale, as explained later.

На фиг. 4 показан другой вариант осуществления кодера 400. В дополнение к фиг. 3, для ясности введен анализ 401 LPC. Показано преобразование 414 DCT-IV, используемое для преобразования выбранного сегмента сигнала в MDCT-область. Дополнительно показаны несколько способов вычисления минимальной ошибки для выбора сегмента LTP. В дополнение к минимизации остаточного сигнала, как показано на фиг. 4, (идентифицируется как LTP2 на фиг. 4) показана минимизация разности между преобразованным входным сигналом и деквантованным сигналом MDCT-области перед инверсным преобразованием в реконструированный сигнал временной области для хранения в буфере 411 LTP (обозначен как LTP3). Минимизация этой функции MSE будет направлять вклад LTP к оптимальному (насколько возможно) подобию преобразованного входного сигнала и реконструированного входного сигнала для хранения в буфере 411 LTP. Другая альтернативная функция ошибки (обозначенная как LTPl) основана на разности этих сигналов во временной области. В этом случае, MSE между отфильтрованным входным кадром LPC и соответствующей реконструкцией во временной области в буфере 411 LTP минимизируется. MSE предпочтительно вычисляется, основываясь на размере кадра MDCT, который может отличаться от размера кадра LPC. Дополнительно, устройство квантования и блоки деквантования заменяются блоком 403 спектрального кодирования и блоками 404 спектрального декодирования (("Spec enc" и "Spec dec"), которые может содержать дополнительные модули, помимо модулей квантования, как в общем виде указано на фиг. 6. И снова, MDCT и инверсное MDCT могут иметь нелинейную шкалу времени (WMDCT, IWMDCT).In FIG. 4 shows another embodiment of encoder 400. In addition to FIG. 3, LPC analysis 401 is introduced for clarity. Shown is a DCT-IV transform 414 used to transform a selected signal segment into an MDCT region. Additionally, several methods for calculating the minimum error for LTP segment selection are shown. In addition to minimizing the residual signal, as shown in FIG. 4 (identified as LTP2 in FIG. 4) shows the minimization of the difference between the transformed input signal and the dequantized MDCT domain signal before inverse transforming into a reconstructed time domain signal for storage in LTP buffer 411 (labeled LTP3). Minimizing this MSE function will direct the LTP contribution to the optimal (as far as possible) similarity of the transformed input signal and the reconstructed input signal for storage in the LTP buffer 411. Another alternative error function (denoted as LTPl) is based on the difference of these signals in the time domain. In this case, the MSE between the filtered LPC input frame and the corresponding time domain reconstruction in the LTP buffer 411 is minimized. The MSE is preferably calculated based on the MDCT frame size, which may be different from the LPC frame size. Additionally, the quantizer and dequantizers are replaced by a spectral encoder 403 and spectral decoders 404 ("Spec enc" and "Spec dec"), which may contain additional modules in addition to the quantizers as outlined in FIG. 6. Again, MDCT and inverse MDCT may have a non-linear time scale (WMDCT, IWMDCT).

На фиг. 5 показан предложенный декодер 500. Данные спектра из принятого битового потока инверсно квантуются 511 и складываются с вкладом LTP, обеспечиваемым устройством выделения LTP из буфера 515 LTP. Также показаны устройство 516 выделения LTP и блок 517 усиления LTP в декодере 500. Суммированные линии MDCT синтезируются во временной области блоком синтеза MDCT и сигнал во временной области спектрально формируется фильтром 513 синтеза LPC. In FIG. 5 shows a proposed decoder 500. The spectrum data from the received bit stream is inversely quantized 511 and added to the LTP contribution provided by the LTP extractor from the LTP buffer 515. Also shown is an LTP extractor 516 and an LTP gain block 517 in the decoder 500. The summed MDCT lines are synthesized in the time domain by the MDCT synthesis block, and the time domain signal is spectrally shaped by the LPC synthesis filter 513.

На фиг. 6 блоки 403, 404, "Spec dec" и "Spec enc", показанные на фиг. 4, описаны более подробно. Блок 603 "Spec enc", показанный в правой части чертежа, содержит в варианте осуществления модуль 610 анализа гармонического предсказания, модуль 611 анализа TNS (временного ограничения шума), сопровождаемый модулем 612 масштабирования масштабных коэффициентов для линий MDCT, и, наконец, квантование и кодирование линий в модуле 613 линий Enc. Блок 604 "Spec Dec" декодера, показанный в левой части чертежа, выполняет инверсный процесс, то есть, принятые линии MDCT деквантуются в модуле 620 линий Dec и масштабирование уничтожается модулем 621 масштабирования масштабных коэффициентов (SCF). Применяются синтез 622 TNS и синтез 623 гармонического предсказания.In FIG. 6, "Spec dec" and "Spec enc" blocks 403, 404 shown in FIG. 4 are described in more detail. The "Spec enc" block 603 shown on the right side of the drawing contains in an embodiment a harmonic prediction analysis module 610, a TNS (temporal noise limiting) analysis module 611 followed by a scale factor scaling module 612 for MDCT lines, and finally quantization and coding lines in module 613 lines Enc. The decoder "Spec Dec" block 604 shown on the left side of the figure performs the inverse process, that is, the received MDCT lines are dequantized in the Dec line unit 620 and the scaling is canceled by the scale factor scaling (SCF) unit 621 . TNS synthesis 622 and harmonic prediction synthesis 623 are applied.

На фиг. 7 показано очень общее представление системы кодирования, соответствующей изобретению. Кодер, как пример, получает входной сигнал и создает битовый поток, содержащий, среди других данных:In FIG. 7 shows a very general representation of the coding system according to the invention. An encoder, as an example, takes an input signal and creates a bitstream containing, among other data:

- квантованные линии MDCT;- quantized MDCT lines;

- масштабные коэффициенты;- scale factors;

- полиномиальное представление LPC;- polynomial representation of LPC;

- энергию сегмента сигнала (например, дисперсия сигнала);- energy of the signal segment (for example, signal dispersion);

- последовательность окон;- sequence of windows;

- данные LTP.- LTP data.

Декодер, соответствующий варианту осуществления, считывает предоставленный битовый поток и создает выходной аудиосигнал, психоакустически схожий с исходным сигналом.The decoder according to the embodiment reads the provided bitstream and produces an audio output signal that is psychoacoustically similar to the original signal.

На фиг. 7a представлены другие аспекты кодера 700, соответствующего варианту осуществления изобретения. Кодер 700 содержит модуль 701 LPC, модуль 704 MDCT, модуль 705 LTP (показан только упрощенно), модуль 703 квантования и модуль 704 инверсного квантования для возвращения реконструированных сигналов обратно в модуль 705 LTP. Дополнительно обеспечиваются модуль 750 определения шага для определения шага входного сигнала и модуль 751 определения последовательности окон для определения оптимальной последовательности окон MDCT для блока входного сигнала большего размера (например, 1 секунда). В этом варианте осуществления последовательность окон MDCT определяется, основываясь на подходе с разомкнутым циклом, при котором определяется последовательность кандидатов на размер окна MDCT, что минимизирует функцию стоимости кодирования, например, упрощенную перцепционную энтропию. Вклад модуля 705 LTP в функцию стоимости кодирования, которая минимизируется модулем 751 определения последовательности окон, как вариант, можно учитываться при поиске оптимальной последовательности окон MDCT. Предпочтительно, для каждого определенного кандидата на размер окна определяется наилучший вклад долговременного предсказания в кадр MDCT, соответствующий кандидату на размер окна, и определяется соответствующая стоимость кодирования. В целом, короткие размеры кадра MDCT более подходят для ввода речи, тогда как окна длительного преобразования, имеющие прекрасную спектральную разрешающую способность, предпочтительны для аудиосигналов. In FIG. 7a shows other aspects of an encoder 700 according to an embodiment of the invention. The encoder 700 includes an LPC module 701, an MDCT module 704, an LTP module 705 (shown only simplified), a quantization module 703, and an inverse quantization module 704 for returning the reconstructed signals back to the LTP module 705. Additionally, a step determination module 750 is provided for determining the pitch of the input signal, and a window sequence determination module 751 is provided for determining the optimal MDCT window sequence for a block of the input signal of a larger size (eg, 1 second). In this embodiment, the MDCT window sequence is determined based on an open-loop approach in which a sequence of MDCT window size candidates is determined that minimizes an encoding cost function, such as simplified perceptual entropy. The contribution of the LTP module 705 to the coding cost function that is minimized by the window sequencer 751 may alternatively be taken into account when searching for the optimal MDCT window sequence. Preferably, for each determined window size candidate, the best long-term prediction contribution to the MDCT frame corresponding to the window size candidate is determined and the corresponding coding cost is determined. In general, short MDCT frame sizes are more suitable for speech input, while long transform windows having excellent spectral resolution are preferred for audio signals.

Перцепционные веса или функция перцепционного взвешивания определяются на основе параметров LPC, вычисляемых модулем 701 LPC, который ниже будет объяснен более подробно. Перцепционные веса подаются на модуль 705 LTP и на модуль 703 квантования 703, оба работающие в MDCT-области, для взвешивания ошибок или вклада искажений частотных компонент в соответствии с их соответствующей перцепционной важностью. На фиг. 7a дополнительно показано, какие параметры кодирования передаются на декодер, предпочтительно, соответствующей схемой кодирования, как будет обсуждаться позже.The perceptual weights or perceptual weighting function are determined based on the LPC parameters calculated by the LPC module 701, which will be explained in more detail below. Perceptual weights are provided to LTP module 705 and quantization module 703 703, both operating in the MDCT domain, to weight errors or distortion contributions of frequency components according to their respective perceptual importance. In FIG. 7a further shows which coding parameters are passed to the decoder, preferably by the respective coding scheme, as will be discussed later.

Далее будет обсуждаться сосуществование данных LPC и MDCT и эмуляция эффекта LPC в MDCT, как для противодействия, так и для пропуска фактической фильтрации.Next, the coexistence of LPC and MDCT data and the emulation of the effect of LPC in MDCT will be discussed, both to counteract and bypass actual filtering.

В соответствии с вариантом осуществления, модуль LP фильтрует входной сигнал так, что спектральная форма сигнала удаляется и последующий выходной сигнал модуля LP является спектрально плоским сигналом. Это предпочтительно, например, для работы LTP. Однако, другие части кодека, работающие со спектрально плоским сигналом, могут получать выгоду от знания того, какая спектральная форма исходного сигнала предшествовала фильтрации LP. Поскольку модули кодера после фильтрации работают с преобразованием MDCT спектрально плоского сигнала, настоящее изобретение указывает, что спектральная форма первоначального сигнала до фильтрации с LP может, если нужно, быть повторно наложена на MDCT-представление спектрально плоского сигнала, отображая передаточную функцию используемого LP-фильтра (то есть, огибающую спектра исходного сигнала) на кривой усиления или кривой выравнивания, которая применяется на элементах разрешения по частоте MDCT-представления спектрально плоского сигнала. Напротив, модуль LP может исключить фактическую фильтрацию и определять только передаточную функцию, которая впоследствии отображается на кривой усиления, которая может быть наложена на MDCT-представление сигнала, тем самым исключая потребность в фильтрации во временной области входного сигнала.According to an embodiment, the LP module filters the input signal so that the spectral shape of the signal is removed and the subsequent output of the LP module is spectrally flat. This is preferred, for example, for LTP operation. However, other parts of the codec that operate on a spectrally flat signal may benefit from knowing which spectral shape of the original signal preceded the LP filtering. Because the post-filtered encoder modules operate on the MDCT transform of the spectrally flat signal, the present invention indicates that the spectral shape of the original signal prior to LP filtering can, if desired, be re-mapped onto the MDCT representation of the spectrally flat signal, reflecting the transfer function of the LP filter being used ( i.e., the spectral envelope of the original signal) on the gain curve or equalization curve that is applied to the frequency bins of the MDCT representation of the spectrally flat signal. In contrast, the LP module can eliminate actual filtering and only determine a transfer function that is subsequently displayed on a gain curve that can be superimposed on the MDCT representation of the signal, thereby eliminating the need for filtering in the time domain of the input signal.

Одним из явных аспектов вариантов осуществления настоящего изобретения является то, что трансформный кодер на MDCT-основе работает, используя гибкую сегментацию окон, на отбеленном сигнале LPC. Это показано на фиг. 8, где приведен пример последовательности окон MDCT, наряду с работой с окнами LPC. Следовательно, как ясно из чертежа, LPC работает с постоянным размером кадров (например, 20 мс), тогда как MDCT работает с переменной последовательностью окон (например, 4-128 мс). Это позволяет независимо выбирать оптимальную длительность окна для LPC и оптимальную последовательность окон для MDCT.One clear aspect of embodiments of the present invention is that the MDCT-based transform encoder operates using flexible window segmentation on a bleached LPC signal. This is shown in FIG. 8 for an example of a sequence of MDCT windows along with working with LPC windows. Therefore, as is clear from the drawing, LPC operates with a constant frame size (eg 20 ms), while MDCT operates with a variable sequence of windows (eg 4-128 ms). This allows you to independently select the optimal window length for LPC and the optimal window sequence for MDCT.

Фиг. 8 дополнительно показывает связь между данными LPC, в частности, параметрами LPC, созданными при первой частоте кадров, и данными MDCT, в частности, линиями MDCT, созданные при второй переменной частоте. Направленные вниз стрелки на чертеже символизируют данные LPC, которые интерполируются между кадрами LPC (окружности), так чтобы совпадать с соответствующими кадрами MDCT. Например, созданная с использованием LPC функция перцепционного взвешивания интерполируется для временных случаев, как они определяются последовательностью окон MDCT. Стрелки, направленные вверх, символизируют данные уточнения (то есть, данные управления), используемые для кодирования линий MDCT. Для кадров AAC эти данные обычно являются масштабными коэффициентами, а для кадров ECQ данные обычно являются данными коррекции дисперсии и т.д. Сплошные линии относительно пунктирных линий представляют, какие данные являются "самыми важными" данными для кодирования линий MDCT для определенного устройства квантования. Двойные направленные вниз стрелки символизируют спектральные линии кодека.Fig. 8 further shows the relationship between LPC data, in particular LPC parameters, created at a first frame rate, and MDCT data, in particular MDCT lines, created at a second variable rate. The downward arrows in the drawing symbolize LPC data that is interpolated between LPC frames (circles) to match the corresponding MDCT frames. For example, a perceptual weighting function created using LPC is interpolated for temporal cases as determined by the MDCT window sequence. The upward arrows symbolize refinement data (ie, control data) used to encode the MDCT lines. For AAC frames, the data is typically scaling factors, and for ECQ frames, the data is typically dispersion correction data, and so on. The solid lines relative to the dotted lines represent which data is the "most important" data for coding MDCT lines for a particular quantizer. Double downward arrows symbolize the spectral lines of the codec.

Сосуществование LPC и данных MDCT в кодере может использоваться, например, для уменьшения потребности в битах при кодировании масштабных коэффициентов MDCT, принимая во внимание кривую перцепционного маскирования, определяемую из параметров LPC. Дополнительно, выведенное из LPC перцепционное взвешивание может использоваться при определении искажения квантования. Как показано на чертеже и как будет обсуждено ниже, устройство квантования работает в двух режимах и создает два типа кадров (кадры ECQ и кадры AAC) в зависимости от размера кадров принятых данных, то есть, соответствующие размеру кадра или окна MDCT.The coexistence of LPC and MDCT data in the encoder can be used, for example, to reduce the need for bits when encoding MDCT scaling factors, taking into account the perceptual masking curve determined from the LPC parameters. Additionally, the perceptual weighting derived from the LPC can be used in determining quantization distortion. As shown in the drawing and as will be discussed below, the quantizer operates in two modes and creates two types of frames (ECQ frames and AAC frames) depending on the frame size of the received data, i.e. corresponding to the size of the MDCT frame or window.

На фиг. 11 показан предпочтительный вариант осуществления отображения параметров LPC с постоянной частотой в данные адаптивной последовательности окон MDCT. Модуль 1100 отображения LPC принимает параметры LPC в соответствии с частотой обновления LPC. Кроме того, модуль 1100 отображения LPC принимает информацию о последовательности окон MDCT. Затем он создает отображение LPC-в-MDCT, например, отображение психоакустических данных, основанных на LPC, в соответствующие кадры MDCT, созданные с переменной частотой кадров MDCT. Например, модуль отображения LPC интерполирует полиномы LPC или сопутствующие данные для временных случаев, соответствующих кадрам MDCT, для использования, например, в качестве перцепционных весов в модуле LTP или устройстве квантования. In FIG. 11 shows a preferred embodiment of mapping constant rate LPC parameters to adaptive MDCT window sequence data. The LPC mapping module 1100 receives LPC parameters according to the LPC update rate. In addition, the LPC mapping unit 1100 receives MDCT window sequence information. It then creates an LPC-to-MDCT mapping, such as a mapping of LPC-based psychoacoustic data to corresponding MDCT frames created at a variable frame rate MDCT. For example, the LPC mapper interpolates LPC polynomials or related data for temporal cases corresponding to MDCT frames for use, for example, as perceptual weights in an LTP module or a quantizer.

Теперь, специфика перцепционной модели, основанной на LPC, обсуждается со ссылкой на фиг. 9. Модуль 901 LPC находится в варианте осуществления настоящего изобретения, выполненном с возможностью создания белого выходного сигнала, используя линейное предсказание, например, порядка 16 для сигнала с частотой выборки 16 кГц. Например, выходной сигнал модуля 201 LPC на фиг. 2 является остаточным после определения и фильтрации параметров LPC. Определенный полином A(z) LPC, как схематично показано внизу слева на фиг. 9, может подвергаться линейной частотной модуляции с коэффициентом расширения ширины полосы, а также наклоняться, в одной из реализаций изобретения, изменяя первый коэффициент отражения соответствующего полинома LPC. Линейная частотная модуляция расширяет ширину полосы пиков в передаточной функции LPC, перемещая полюса полинома внутрь единичной окружности, приводя, таким образом, в результате к более сглаженным пикам. Наклон позволяет делать передаточную функцию LPC более плоской, чтобы балансировать влияние нижних и верхних частот. Эти модификации стремятся создать кривую перцепционного маскирования А'(z) из определенных параметров LPC, которые будут доступны как на стороне кодера, так и на стороне декодера системы. Подробности манипуляцию полиномом LPC представлены ниже на фиг. 12.Now, the specifics of the LPC based perceptual model are discussed with reference to FIG. 9. The LPC module 901 is in an embodiment of the present invention capable of producing a white output signal using linear prediction, for example, order 16 for a signal with a sampling rate of 16 kHz. For example, the output of the LPC module 201 in FIG. 2 is residual after LPC parameters have been determined and filtered. The defined LPC polynomial A(z), as schematically shown at the bottom left of FIG. 9 may be chirped with a bandwidth spreading factor and also tilted, in one embodiment of the invention, by changing the first reflectance of the corresponding LPC polynomial. chirp broadens the bandwidth of the peaks in the LPC transfer function by moving the poles of the polynomial inside the unit circle, thus resulting in smoother peaks. Tilt allows the LPC transfer function to be flatter to balance out the effects of low and high frequencies. These modifications seek to create a perceptual masking curve A'(z) from certain LPC parameters that will be available on both the encoder and decoder sides of the system. Details of LPC polynomial manipulation are shown below in FIG. 12.

Кодирование MDCT, применяемое к остатку LPC, имеет в одной из реализаций изобретения масштабные коэффициенты для управления разрешающей способностью устройства квантования или размерами шага квантования (и, таким образом, шумом, вносимым квантованием). Эти масштабные коэффициенты определяются модулем 960 определения масштабных коэффициентов для первоначального входного сигнала. Например, масштабные коэффициенты получаются из пороговой кривой перцепционного маскирования, определенной из первоначального сигнала. В варианте осуществления отдельное преобразование частот (имеющее, возможно, различную разрешающую способность по частоте) может использоваться для определения пороговой кривой маскирования, но это не всегда необходимо. Альтернативно, пороговая кривая маскирования определяется из линий MDCT, созданных модулем преобразования. В нижней правой части на фиг. 9 схематично показаны масштабные коэффициенты, созданные модулем 960 определения масштабных коэффициентов для управления квантованием, так чтобы внесенный шум квантования ограничивался неслышимыми искажениями.The MDCT coding applied to the LPC residual has, in one embodiment of the invention, scaling factors to control the quantizer resolution or quantization step sizes (and thus the noise introduced by the quantization). These scale factors are determined by the scale factor determination module 960 for the original input signal. For example, the scale factors are derived from a perceptual masking threshold curve determined from the original signal. In an embodiment, a separate frequency transform (having possibly a different frequency resolution) may be used to determine the threshold masking curve, but this is not always necessary. Alternatively, the masking threshold curve is determined from the MDCT lines generated by the transform module. In the lower right part in Fig. 9 schematically shows the scaling factors generated by the scaling factor determination module 960 for quantization control so that the introduced quantization noise is limited to inaudible distortion.

Если фильтр LPC подключен до модуля преобразования MDCT, отбеленный сигнал преобразуется в MDCT-область. Поскольку этот сигнал имеет белый спектр, он не очень хорошо подходит для получения из него кривой перцепционного маскирования. Таким образом, кривая выравнивания усиления в MDCT-области, созданная для компенсации отбеливания спектра, может использоваться при определении пороговой кривой маскирования и/или масштабных коэффициентов. По этой причине масштабные коэффициенты должны определяться для сигнала, имеющего свойства абсолютного спектра исходного сигнала, чтобы правильно определить перцепционное маскирование. Вычисление кривой выравнивания усиления для MDCT-области из полинома LPC обсуждается ниже более подробно со ссылкой на фиг. 10.If the LPC filter is connected before the MDCT transform module, the bleached signal is converted to the MDCT region. Since this signal has a white spectrum, it is not well suited for deriving a perceptual masking curve from it. Thus, the MDCT gain equalization curve created to compensate for spectrum whitening can be used in determining the masking threshold curve and/or scaling factors. For this reason, scaling factors must be determined for a signal that has the properties of the absolute spectrum of the original signal in order to correctly determine perceptual masking. The calculation of the gain equalization curve for the MDCT region from the LPC polynomial is discussed in more detail below with reference to FIG. 10.

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

Figure 00000001
(n) вводится в блок 902 преобразования MDCT, тогда как полином А(z) вводится в блок 970 вычисления кривой усиления MDCT 970 (как показано на фиг. 14). Кривая усиления, определенная из полинома LP, применяется к коэффициентам MDCT или линиям, чтобы сохранить спектральную огибающую первоначального входного сигнала до того, как определять масштабные коэффициенты. Линии MDCT с отрегулированным усилением вводятся в модуль 960 определения масштабных коэффициентов, который определяет масштабные коэффициенты для входного сигнала. An embodiment of the above outlined scaling factor determination scheme is shown in FIG. 9a. In this embodiment, the input signal is input to the LP module 901, which determines the envelope of the spectrum of the input signal described by A(z) and outputs said polynomial as well as a filtered version of the input signal. The input signal is filtered using the A(z) inversion to provide a spectrally white signal that is subsequently used by other parts of the encoder. Filtered signal
Figure 00000001
(n) is input to the MDCT transform block 902, while the polynomial A(z) is input to the MDCT gain curve calculator 970 970 (as shown in FIG. 14). The gain curve determined from the LP polynomial is applied to the MDCT coefficients or lines to preserve the spectral envelope of the original input signal before scaling factors are determined. The gain-adjusted MDCT lines are input to a scaling factor determination module 960, which determines the scaling factors for the input signal.

Используя кратко представленный выше подход, данные, передаваемые между кодером и декодером, содержит как полином LP, из которого может быть получена соответствующая перцепционная информация, так и модель сигнала, которая может быть получена, когда используется устройство квантования, основанное на модели, и масштабные коэффициенты обычно используются в трансформном кодеке.Using the approach outlined above, the data transmitted between the encoder and decoder contains both the LP polynomial from which the corresponding perceptual information can be obtained, and the signal model that can be obtained when a model-based quantizer is used, and scaling factors commonly used in a transform codec.

Более подробно, возвращаясь к фиг. 9, блок 901 LPC, показанный на чертеже, определяет из входного сигнала огибающую спектра А(z) сигнала и получает из нее перцепционное представление А'(z). Кроме того, масштабные коэффициенты, которые обычно используются в основанных на преобразовании перцепционных аудиокодеках, определяются по входному сигналу или могут быть определены на белом сигнале, созданном фильтром LP, если передаточная функция фильтра LP учитывается при определении масштабных коэффициентов (как описано ниже в контексте фиг. 10). Масштабные коэффициенты могут затем адаптироваться в модуле 961 адаптации масштабных коэффициентов для данного полинома LP, как будет описано ниже, чтобы уменьшить скорость передачи данных, требующуюся для передачи масштабных коэффициентов.In more detail, returning to FIG. 9, the LPC block 901 shown in the drawing determines from the input signal the spectral envelope A(z) of the signal and obtains the perceptual representation A'(z) from it. In addition, the scaling factors that are commonly used in transform-based perceptual audio codecs are determined from the input signal, or can be determined on the white signal produced by the LP filter if the LP filter's transfer function is taken into account when determining the scaling factors (as described below in the context of FIG. 10). The scalefactors may then be adapted in scalefactor adaptation module 961 for a given LP, as will be described below, to reduce the data rate required to transmit the scalefactors.

Обычно масштабные коэффициенты передаются на декодер и, таким образом, появляется полином LP. Теперь, при условии, что и то, и другое определено из первоначального входного сигнала и что и то, и другое в какой-то степени коррелированы со свойствами абсолютного спектра первоначального входного сигнала, предлагается кодировать дельта-представление между ними, чтобы удалить любую избыточность, которая может возникнуть, если то и другое передаются отдельно. В соответствии с вариантом осуществления, эта корреляция используется следующим образом. Поскольку полином LPC, когда правильно подвергается линейной частотной модуляции и наклоняется, стремится представить пороговую кривую маскирования, два представления могут быть объединены, так чтобы переданные масштабные коэффициенты трансформного кодера представляли разность между желательными масштабными коэффициентами и теми, которые могут быть получены из переданного полинома LPC. Модуль 961 адаптации масштабных коэффициентов, показанный на фиг. 9, поэтому вычисляет разность между желательными масштабными коэффициентами, созданными из первоначального входного сигнала, и масштабными коэффициентами, полученным из LPC. Этот аспект сохраняет способность иметь устройство квантования на MDCT-основе, имеющее представление масштабных коэффициентов, которое обычно используется в трансформных кодерах в пределах структуры LPC, работающих на остатке LPC, и все еще имеет возможность переключения на модели устройство квантования, основанное на модели, которое получает размеры шага квантования исключительно из данных линейного предсказания.Typically, the scale factors are sent to the decoder and thus the LP polynomial appears. Now, assuming both are determined from the original input and that both are correlated to some extent with the absolute spectrum properties of the original input, it is suggested to encode a delta representation between them to remove any redundancy, which may arise if both are transmitted separately. According to an embodiment, this correlation is used as follows. Because the LPC polynomial, when properly chirped and tilted, tends to represent the masking threshold curve, the two representations can be combined such that the transmitted transform encoder scale factors represent the difference between the desired scale factors and those that can be obtained from the transmitted LPC polynomial. The scaling factor adaptation module 961 shown in FIG. 9 therefore calculates the difference between the desired scale factors generated from the original input signal and the scale factors obtained from the LPC. This aspect retains the ability to have an MDCT-based quantizer having a scalefactor representation that is commonly used in transform encoders within an LPC structure operating on the LPC residual, and still has the ability to switch to a model-based model-based quantizer that receives quantization step sizes solely from linear prediction data.

На фиг. 9b приведена упрощенная блок-схема кодера и декодера, соответствующая варианту осуществления. Входной сигнал в кодере пропускается через модуль 901 LPC, создающий отбеленный остаточный сигнал и соответствующие параметры линейного предсказания. Дополнительно, в модуле 901 LPC может содержаться нормализация усиления. Остаточный сигнал от LPC преобразуется в частотную область с помощью преобразования 902 MDCT. В правой части фиг. 9b изображен декодер. Декодер принимает линии квантованного MDCT, деквантует 911 их и применяет инверсное преобразование 912 MDCT с последующим синтезом LPC с помощью фильтра 913.In FIG. 9b is a simplified block diagram of an encoder and decoder according to the embodiment. The input signal at the encoder is passed through an LPC module 901 producing a whitened residual signal and corresponding linear prediction parameters. Additionally, the LPC module 901 may contain gain normalization. The residual signal from the LPC is converted to the frequency domain using the transform 902 MDCT. On the right side of Fig. 9b shows a decoder. The decoder receives the quantized MDCT lines, dequantizes 911 them, and applies an inverse MDCT transform 912 followed by LPC synthesis with a filter 913.

Отбеленный сигнал в качестве выходного сигнала модуля 901 LPC в кодере на фиг. 9b подается на вход блока 902 фильтров MDCT. Линии MDCT, как результат анализа MDCT, трансформно кодируются с помощью алгоритмом трансформного кодирования, состоящего из перцепционной модели, которая управляет желательным размером шага квантования для различных частей спектра MDCT. Значения, определяющие размер шага квантования, называются масштабными коэффициентами и существует одно значение масштабного коэффициента, необходимое для каждого элемента спектра MDCT, называемое полосой масштабного коэффициента. На предшествующем уровне техники алгоритмов трансформного кодирования масштабные коэффициенты передаются через битовый поток на кодер. The bleached signal as an output signal of the LPC module 901 in the encoder in FIG. 9b is input to the MDCT filter block 902. The MDCT lines as a result of the MDCT analysis are transform encoded with a transform coding algorithm consisting of a perceptual model that controls the desired quantization step size for different portions of the MDCT spectrum. The values that determine the quantization step size are called scale factors, and there is one scale factor value needed for each element of the MDCT spectrum, called the scale factor band. In the prior art of transform coding algorithms, the scale factors are transmitted via the bit stream to the encoder.

В соответствии с одним из аспектов изобретения, кривая перцепционного маскирования, определяемая из параметров LPC, как объяснялось со ссылкой на фиг. 9, применяется при кодировании масштабных коэффициентов, используемых в квантовании. Другая возможность определения кривой перцепционного маскирования состоит в использовании немодифицированных коэффициентов фильтра LPC для определения распределения энергии по линиям MDCT. Имея такую оценку энергии, психоакустическая модель, используемая в схемах трансформного кодирования, может быть применена как в кодере, так и в декодере, для определения кривой маскирования.In accordance with one aspect of the invention, the perceptual masking curve determined from the LPC parameters, as explained with reference to FIG. 9 is applied in coding the scale factors used in quantization. Another possibility for determining the perceptual masking curve is to use the unmodified LPC filter coefficients to determine the energy distribution across the MDCT lines. With this energy estimate, the psychoacoustic model used in transform coding schemes can be applied at both the encoder and decoder to determine the masking curve.

Два представления кривой маскирования затем объединяются, так что масштабные коэффициенты, которые должны быть переданы трансформным кодером, представляют разность между желательными масштабными коэффициентами и масштабными коэффициентами, которые могут быть получены из переданного полинома LPC или быть основаны на психоакустической модели LPC. Этот признак сохраняет способность иметь устройство квантования, основанное на MDCT, имеющее такое представление масштабных коэффициентов, которое обычно используется в трансформных кодерах, внутри структуры LPC, работающей с LPC-остатком, и все еще иметь возможность управлять шумом квантования на основе полосы масштабного коэффициента в соответствии с психоакустической моделью трансформного кодера. Преимущество состоит в том, что передача разности масштабных коэффициентов будет стоить меньше битов по сравнению с передачей абсолютных значений масштабных коэффициентов, не принимая во внимание уже существующие данные LPC. В зависимости от скорости передачи данных, размера кадра или других параметров, может быть выбрана величина остатка масштабных коэффициентов, который будет передаваться. Чтобы иметь полный контроль над полосой каждого масштабного коэффициента, дельта-параметр масштабного коэффициента может передаваться с помощью соответствующей схемы бесшумового кодирования. В других случаях стоимость передачи масштабных коэффициентов может быть дополнительно снижена за счет более грубого представления разностей масштабных коэффициентов. Особым случаем с самыми низкими накладными затратами является случай, когда разность масштабных коэффициентов устанавливается на 0 для всех полос и никакая дополнительная информация не передается.The two masking curve representations are then combined such that the scale factors to be transmitted by the transform encoder represent the difference between the desired scale factors and the scale factors that can be derived from the transmitted LPC polynomial or be based on the LPC psychoacoustic model. This feature retains the ability to have an MDCT based quantizer having a scalefactor representation commonly used in transform encoders within an LPC structure operating on an LPC residual and still be able to control the quantization noise based on the scalefactor band according to with a psychoacoustic model of a transform encoder. The advantage is that the transfer of the scalefactor difference will cost fewer bits compared to the transmission of the absolute scalefactor values without taking into account already existing LPC data. Depending on the data rate, frame size, or other parameters, the amount of scalefactor residual to be transmitted can be selected. In order to have complete control over the bandwidth of each scale factor, the delta scale factor parameter may be transmitted using an appropriate noiseless coding scheme. In other cases, the cost of transferring the scalefactors can be further reduced by coarser representation of the scalefactor differences. The special case with the lowest overhead is when the scale factor difference is set to 0 for all bands and no additional information is transmitted.

На фиг. 10 показан предпочтительный вариант осуществления перевода полиномов LPC в кривую усиления MDCT. Как показано на фиг. 2, MDCT работает с отбеленным сигналом, причем отбеливание выполняется фильтром 1001 LPC. Чтобы сохранить огибающую спектра первоначального входного сигнала, кривая усиления MDCT вычисляется модулем 1070 кривой усиления MDCT. Кривая выравнивания усиления в MDCT-области может быть получена посредством определения величины отклика огибающей спектра, описанной фильтром LPC, для частот, представленных элементами при MDCT-преобразовании. Кривая усиления может затем быть применена к данным MDCT, например, при вычислении минимального сигнала среднеквадратичной ошибки, как показано на фиг. 3, или при определении кривой перцепционного маскирования для определения масштабных коэффициентов, как показано выше со ссылкой на фиг. 9.In FIG. 10 shows a preferred embodiment of translating LPC polynomials into an MDCT gain curve. As shown in FIG. 2, the MDCT operates on a bleached signal, where the bleaching is performed by the LPC filter 1001. In order to preserve the spectrum envelope of the original input signal, the MDCT gain curve is computed by the MDCT gain curve module 1070. The gain equalization curve in the MDCT region can be obtained by determining the magnitude of the response of the spectral envelope described by the LPC filter for the frequencies represented by the elements in the MDCT transform. The gain curve may then be applied to the MDCT data, for example, in computing the minimum mean square error signal as shown in FIG. 3 or when determining the perceptual masking curve to determine the scaling factors as shown above with reference to FIG. 9.

На фиг. 12 показан предпочтительный вариант осуществления адаптации вычисления для перцепционного взвешивающего фильтра, основанной на размере преобразования и/или типе устройства квантования. Полином LP А(z) определяется модулем 1201 LPC, показанным на фиг. 16. Модуль 1271 изменения параметров LPC принимает параметры LPC, такие как полином LPC A(z), и создает перцепционный взвешивающий фильтр А'(z), изменяя параметры LPC. Например, ширина полосы полинома LPC А(z) расширяется и/или полином наклоняется. Входные параметры для модуля 1272 адаптации линейной частотной модуляции и наклона являются заданными по умолчанию значениями линейной частотной модуляции и наклона, ρ и γ. Они изменяются по заданным, заранее определенным правилам, основываясь на используемом размере преобразования и/или на используемой стратегии Q квантования. Измененные параметры линейной частотной модуляции и наклона ρ' и γ' являются входными данными модуля 1271 модификации параметров LPC, переводящего огибающую спектра входного сигнала, представленную с помощью А(z), в кривую перцепционного маскирования, представленную с помощью А'(z).In FIG. 12 shows a preferred embodiment of adapting the calculation for a perceptual weighting filter based on the size of the transform and/or the type of quantizer. The LP polynomial A(z) is determined by the LPC module 1201 shown in FIG. 16. The LPC parameter modification module 1271 receives the LPC parameters such as the LPC polynomial A(z) and creates a perceptual weighting filter A'(z) by modifying the LPC parameters. For example, the bandwidth of the LPC polynomial A(z) widens and/or the polynomial slopes. The input parameters for the chirp and slope adaptation module 1272 are the default chirp and slope values, ρ and γ. They change according to predetermined, predetermined rules based on the transform size used and/or the quantization strategy Q used. The modified chirp and slope parameters ρ' and γ' are input to LPC parameter modification module 1271 converting the input signal spectrum envelope represented by A(z) into a perceptual masking curve represented by A'(z).

Далее будет объяснена стратегия квантования, обусловленного размером кадра, и квантования, основанного на модели, обусловленного различными параметрами в соответствии с вариантом осуществления изобретения. Одним из аспектов настоящего изобретения является то, что оно использует различные стратегии квантования для различных размеров преобразования или размеров кадров. Это показано на фиг. 13, где размер кадра используется как параметр выбора для использования устройства квантования, основанного на модели, или устройства квантования, не основанного на модели. Следует отметить, что этот аспект квантования независим от других аспектов раскрытого кодера/декодера и может применяться также и в других кодеках. Примером устройства квантования, не основанного на модели, является устройство квантования на основе таблицы Хаффмана, используемое в стандарте аудиокодирования AAC. Устройство квантования, основанное на модели, может быть устройством квантования с ограничением энтропии (ECQ), использующим арифметическое кодирование. Однако, в вариантах осуществления настоящего изобретения могут также использоваться и другие устройства квантования.Next, the strategy of quantization based on frame size and model-based quantization based on various parameters according to an embodiment of the invention will be explained. One aspect of the present invention is that it uses different quantization strategies for different transform sizes or frame sizes. This is shown in FIG. 13, where the frame size is used as a selection parameter for using a model-based quantizer or a non-model-based quantizer. It should be noted that this aspect of quantization is independent of other aspects of the disclosed encoder/decoder and can be applied to other codecs as well. An example of a non-model based quantizer is the Huffman table quantizer used in the AAC audio coding standard. The model-based quantizer may be an entropy-constrained quantizer (ECQ) using arithmetic coding. However, other quantizers may also be used in embodiments of the present invention.

В соответствии с независимым аспектом настоящего изобретения, предлагается переключение между различными стратегиями квантования как функция размера кадра, чтобы иметь возможность использовать оптимальную стратегию квантования, задаваемую конкретным размером кадра. Как пример, последовательность окон может диктовать использование длительного преобразования для очень постоянного тонального музыкального сегмента сигнала. Для этого конкретного типа сигнала, использующего длительное преобразование, очень выгодно использовать стратегию квантования, с выгодой использующую символ "разреженности" (то есть, четко определенные дискретные тоны) в сигнальном спектре. Способ квантования, используемый в AAC, в комбинации с таблицами Хаффмана и группированием спектральных линий, также используемым в AAC, очень выгоден. Однако, с другой стороны, для речевых сегментов последовательность окон, учитывая выигрыш кодирования, даваемый LTP, может диктовать использование быстрых преобразований. Для этого типа сигнала и размера преобразования выгодно применять стратегию квантования, не пытающуюся находить или вводить разреженность в спектр, а вместо этого поддерживает энергию в широкой полосе, которая, учитывая LTP, будет сохранять подобный импульсу символ первоначального входного сигнала.In accordance with an independent aspect of the present invention, it is proposed to switch between different quantization strategies as a function of frame size in order to be able to use the optimal quantization strategy given by a particular frame size. As an example, the sequence of windows may dictate the use of a long transform for a very constant tonal musical signal segment. For this particular type of signal using a long transform, it is very advantageous to use a quantization strategy that takes advantage of the "sparseness" symbol (ie, well-defined discrete tones) in the signal spectrum. The quantization method used in AAC, in combination with Huffman tables and spectral line grouping, also used in AAC, is very advantageous. However, on the other hand, for speech segments, the sequence of windows, given the coding gain given by LTP, may dictate the use of fast transforms. For this signal type and transform size, it is advantageous to apply a quantization strategy that does not attempt to find or introduce sparsity into the spectrum, but instead maintains a wideband energy that, given LTP, will retain the pulse-like symbol of the original input signal.

Более общее визуальное представление этой концепции приводится на фиг. 14, где входной сигнал преобразуется в MDCT-область и впоследствии квантуется устройством квантования, управляемым размером преобразования или размером кадра, используемым для преобразования MDCT.A more general visual representation of this concept is shown in FIG. 14 where the input signal is converted to the MDCT region and subsequently quantized by a quantizer controlled by the transform size or frame size used for the MDCT transform.

В соответствии с другим аспектом изобретения, размер шага устройства квантования адаптируется как функция данных LPC и/или LTP. Это позволяет определять размер шага в зависимости от сложности кадра и управлять числом битов, выделяемых для кодирования кадра. На фиг. 15 показан пример того, как квантование, основанное на модели, может управляться данными LPC и LTP. В верхней части фиг. 15 приведена схематическая визуализация линий MDCT. Ниже показан размер шага квантования, дельта Δ, как функция частоты. Их этого конкретного примера ясно, что размер шага квантования увеличивается с частотой, то есть, для более высоких частот при квантовании вносится большее искажение. Дельта-кривая получается из параметров LPC и LTP посредством модуля дельта-адаптации, показанного на фиг. 15a. Дельта-кривая может дополнительно быть получена из полинома А(z) предсказания, посредством линейной частотной модуляции и/или наклона, как было объяснено со ссылкой на фиг. 13.According to another aspect of the invention, the quantizer step size is adapted as a function of the LPC and/or LTP data. This allows you to define the step size depending on the complexity of the frame and control the number of bits allocated to encode the frame. In FIG. 15 shows an example of how model-based quantization can be driven by LPC and LTP data. At the top of Fig. 15 is a schematic visualization of MDCT lines. Shown below is the quantization step size, delta Δ, as a function of frequency. From this particular example, it is clear that the quantization step size increases with frequency, that is, for higher frequencies, more distortion is introduced during quantization. The delta curve is obtained from the LPC and LTP parameters by the delta adaptation module shown in FIG. 15a. The delta curve may further be obtained from the prediction polynomial A(z), by chirp and/or slope, as explained with reference to FIG. 13.

Предпочтительная функция перцепционного взвешивания, полученная из данных LPC, определяется следующим уравнением:The preferred perceptual weighting function derived from the LPC data is given by the following equation:

Figure 00000002
,
Figure 00000002
,

где А(z) — полином LPC, τ - параметр наклона, ρ - управляет линейной частотной модуляцией, и r1 - первый коэффициент отражения, вычисленный из полинома А(z). Следует отметить, что полином А(z) может вычисляться повторно для подбора различных представлений, чтобы извлечь из полинома соответствующую информацию. Если Вы заинтересованы в крутизне спектра, чтобы применить "наклон" противодействия крутизне спектра, предпочтительно повторное вычисление полинома в коэффициенты отражения, так как первый коэффициент отражения представляет крутизну спектра.where A(z) is the LPC polynomial, τ is the slope parameter, ρ controls the chirp, and r 1 is the first reflection coefficient calculated from the A(z) polynomial. It should be noted that the polynomial A(z) can be recalculated to select different representations in order to extract the relevant information from the polynomial. If you are interested in the steepness of the spectrum, to apply "slope" counteracting the steepness of the spectrum, it is preferable to recalculate the polynomial in the reflectances, since the first reflectance represents the steepness of the spectrum.

Кроме того, дельта-значения Δ могут адаптироваться как функция дисперсии входного сигнала Δ, усиления LTP g и первого коэффициента отражения r1, полученного из полинома предсказания. Например, адаптация может основываться на следующем уравнении:In addition, the delta values Δ may be adapted as a function of the input signal variance Δ, the LTP gain g, and the first reflection coefficient r 1 obtained from the prediction polynomial. For example, the adaptation may be based on the following equation:

Δ'= Δ(1+r1(1-g2))Δ'= Δ(1+r 1 (1-g 2 ))

Ниже описываются аспекты устройств квантования, основанные на модели, соответствующие варианту осуществления настоящего изобретения. На фиг. 16 представлен один из аспектов устройства квантования, основанного на модели. Линии MDCT являются входным сигналом устройства квантования, использующего однородные скалярные устройства квантования. Кроме того, в устройство квантования вводятся случайные сдвиги, используемые как значения сдвига для интервалов квантования, сдвигающие границы интервалов. Предложенное устройство квантования обеспечивает преимущества векторного квантования, сохраняя способность скалярных устройств квантования к поиску. Устройство квантования выполняет итерации по ряду различных значений сдвига и вычисляет для них ошибку квантования. Значение сдвига (или вектор значения сдвига), минимизирующее искажение квантования для конкретных квантуемых линий MDCT, используется для квантования. Значение сдвига затем передается на декодер наряду с квантованными линиями MDCT. Использование случайных сдвигов вносит шумовое заполнение в деквантованный декодированный сигнал и, тем самым, позволяет избежать спектральных провалов в квантованном спектре. Это особенно важно для низких скоростей передачи данных, когда многочисленные линии MDCT иначе квантуются в нулевое значение, которое может приводить к слышимым провалам в спектре реконструированного сигнала.The following describes aspects of model-based quantizers according to an embodiment of the present invention. In FIG. 16 shows one aspect of a model-based quantizer. The MDCT lines are input to a quantizer using uniform scalar quantizers. In addition, random shifts are introduced into the quantizer, which are used as shift values for the quantization intervals, shifting the boundaries of the intervals. The proposed quantizer provides the benefits of vector quantization while retaining the search capability of scalar quantizers. The quantizer iterates over a number of different shift values and computes a quantization error for them. An offset value (or offset value vector) minimizing quantization distortion for particular MDCT quantized lines is used for quantization. The offset value is then transmitted to the decoder along with the quantized MDCT lines. The use of random shifts introduces noise stuffing into the dequantized decoded signal and thus avoids spectral gaps in the quantized spectrum. This is especially important at low data rates, where multiple MDCT lines are otherwise quantized to zero, which can lead to audible notches in the spectrum of the reconstructed signal.

На фиг. 17 схематично показано устройство квантования линий MDCT, основанное на модели (MBMLQ), соответствующее варианту осуществления изобретения. В верхней части фиг. 17 показан кодер 1700 MBMLQ. Кодер 1700 MBMLQ получает в качестве входного сигнала линии MDCT в кадре MDCT или линии MDCT остаточного LTP, если LTP присутствует в системе. MBMLQ использует статистические модели линий MDCT и исходные коды адаптируются к свойствам сигнала на покадровой основе MDCT, давая в результате эффективное сжатие битового потока.In FIG. 17 schematically shows a model-based MDCT line quantizer (MBMLQ) according to an embodiment of the invention. At the top of Fig. 17 shows an MBMLQ encoder 1700. The MBMLQ encoder 1700 receives as input the MDCT lines in the MDCT frame or the MDCT lines of the residual LTP if LTP is present in the system. MBMLQ uses statistical MDCT line models and source codes are adapted to the signal properties on a frame-by-frame MDCT basis, resulting in efficient bitstream compression.

Локальное усиление линий MDCT может определяться как среднеквадратичное значение линий MDCT и линий MDCT, нормализованных в модуле 1720 нормализации усиления перед вводом в кодер 1700 MBMLQ. Локальное усиление нормализует линии MDCT и является дополнением к нормализации усиления LP. Поскольку усиление LP адаптируется к изменениям уровня сигнала на большей временной шкале, локальное усиление адаптируется к изменениям на меньшей временной шкале, давая в результате улучшенное качество переходных звуков и начал в речи. Локальное усиление кодируется с фиксированной частотой или переменной частотой кодирования и передается на декодер.The local gain of the MDCT lines may be defined as the RMS value of the MDCT lines and the MDCT lines normalized in gain normalizer 1720 prior to input to the MBMLQ encoder 1700. Local gain normalizes the MDCT lines and is in addition to LP gain normalization. Since the LP gain adapts to signal level changes over a longer time scale, the local gain adapts to changes over a smaller time scale, resulting in improved quality of transients and speech initiations. The local gain is encoded at a fixed rate or a variable coding rate and transmitted to the decoder.

Модуль 1710 управления частотой может использоваться для управления числом битов, используемых для кодирования кадра MDCT. Индекс управления частотой управляет числом используемых битов. Индекс управления частотой указывается в списке номинальных размеров шагов устройства квантования. Таблица может быть сортирована по размерам шага в порядке убывания (смотрите фиг. 17g).Rate control module 1710 may be used to control the number of bits used to encode an MDCT frame. The frequency control index controls the number of bits used. The frequency control index is specified in the list of nominal step sizes of the quantizer. The table can be sorted by step sizes in descending order (see Fig. 17g).

Кодер MBMLQ работает с набором различных индексов управления частотой и для кадра используется индекс управления частотой, дающий в результате число битов, меньшее, чем число битов, предоставленных управлением битовым накопителем. Индекс управления частотой медленно изменяется и это может использоваться для уменьшения сложности поиска и эффективного кодирования индекса. Набор индексов, который проверен, может быть уменьшен, если проверка начинается вблизи индекса предыдущего кадра MDCT. Аналогично, эффективное энтропийное кодирование индекса получается, если вероятности достигают максимума вокруг предыдущего значения индекса. Например, для списка из 32 размеров шага индекс управления частотой может быть кодирован, используя, в среднем, 2 бита на кадр MDCT.The MBMLQ encoder operates on a set of different rate control indexes, and the frame uses the rate control index resulting in a number of bits less than the number of bits provided by the bit accumulator control. The rate control index changes slowly and this can be used to reduce search complexity and efficiently code the index. The index set that is checked may be reduced if the check starts near the index of the previous MDCT frame. Likewise, an efficient entropy encoding of an index is obtained if the probabilities peak around the previous index value. For example, for a list of 32 step sizes, the frequency steering index may be encoded using an average of 2 bits per MDCT frame.

На фиг. 17 дополнительно схематично показан декодер 1750 MBMLQ, где кадр MDCT повторно нормализуется по усилению, если в кодере 1700 было определено локальное усиление.In FIG. 17 further schematically shows an MBMLQ decoder 1750 where the MDCT frame is gain renormalized if a local gain has been determined in the encoder 1700.

На фиг. 17a более подробно схематично показан кодер 1700 линий MDCT, основанный на модели, соответствующий варианту осуществления. Он содержит модуль 1730 предварительной обработки устройства квантования (смотрите фиг. 17c), кодер 1740, основанный на модели, с ограничением энтропии (смотрите фиг. 17e) и арифметический кодер 1720, который может быть арифметическим кодером, соответствующим предшествующему уровню техники. Задача модуля 1730 предварительной обработки устройства квантования состоит в том, чтобы адаптировать кодер MBMLQ к сигнальной статистике на покадровой основе MDCT. Он принимает в качестве входного сигнала другие параметры кодека и извлекает из них полезную статистику о сигнале, которая может использоваться для изменения кодера 1740, основанного на модели, с ограниченной энтропией. Кодер 1740, основанный на модели, с ограничением энтропии управляется, например, набором параметров управления: размер Δ шага устройства квантования, набор V оценок дисперсии строк MDCT (вектор; одно предполагаемое значение на линию MDCT), кривая перцепционного маскирования, Pmod, матрица или таблица (случайных) сдвигов и статистическая модель строк MDCT, которые описывают форму распределения строк MDCT и их взаимозависимости. Все упомянутые выше параметры управления могут изменяться между кадрами MDCT.In FIG. 17a schematically shows a model-based MDCT line encoder 1700 according to the embodiment in more detail. It contains a quantizer preprocessor 1730 (see FIG. 17c), an entropy constrained model-based encoder 1740 (see FIG. 17e), and an arithmetic encoder 1720, which may be a prior art arithmetic encoder. The task of the quantizer preprocessor module 1730 is to adapt the MBMLQ encoder to signal statistics on a frame-by-frame basis MDCT. It takes other codec parameters as input and extracts useful statistics about the signal from them that can be used to modify the limited entropy model based encoder 1740. Entropy constrained model-based encoder 1740 is controlled, for example, by a set of control parameters: quantizer step size Δ, set V of MDCT line variance estimates (vector; one estimated value per MDCT line), perceptual masking curve, P mod , matrix or a table of (random) shifts and a statistical model of MDCT strings that describe the shape of the distribution of MDCT strings and their interdependencies. All of the control parameters mentioned above may change between MDCT frames.

На фиг. 17b схематично показан декодер 1750 линий MDCT, основанный на модели, соответствующий варианту осуществления изобретения. В качестве входного сигнала он принимает побочные информационные биты из битового потока и декодирует их в параметры, являющиеся входными для модуля 1760 предварительной обработки устройства квантования (смотрите фиг. 17c). Модуль 1760 предварительной обработки устройства квантования предпочтительно имеет те же самые функциональные возможности в кодере 1700, как в декодере 1750. Параметры, которые вводятся в модуль 1760 предварительной обработки устройства квантования, являются точно такими же как в кодере, как и в декодере. Модуль 1760 предварительной обработки устройства квантования имеет на выходе набор параметров управления (таких же, как в кодере 1700) и они являются входным сигналом модуля 1770 вычислений вероятности (смотрите фиг. 17g; таким же, как в кодере, смотрите фиг. 17e) и модуля 1780 деквантования (смотрите фиг. 17h; то же самое в кодере, смотрите фиг. 17e). Таблицы cdf из модуля 1770 вычислений вероятности, представляющие плотности распределения вероятности для всех линий MDCT при заданных дельта-параметрах, используемых для квантования, и дисперсии сигнала, являются входными данными на арифметический декодер (который может быть любым арифметическим кодером, известным специалистам в этой области техники), который затем декодирует биты линий MDCT в индексы линий MDCT. Индексы линий MDCT затем деквантуются в линии MDCT модулем 1780 деквантования.In FIG. 17b schematically shows a model-based MDCT line decoder 1750 according to an embodiment of the invention. It takes the side information bits from the bitstream as input and decodes them into parameters that are input to the quantizer front end module 1760 (see FIG. 17c). The quantizer front end module 1760 preferably has the same functionality in the encoder 1700 as in the decoder 1750. The parameters that are input into the quantizer front end 1760 are exactly the same in the encoder as in the decoder. Quantizer preprocessor module 1760 outputs a set of control parameters (same as in encoder 1700) and these are input to probability calculation module 1770 (see FIG. 17g; same as encoder, see FIG. 17e) and module 1780 dequantization (see Fig. 17h; same in the encoder, see Fig. 17e). The cdf tables from probability calculator 1770 representing the probability distribution densities for all MDCT lines given the delta parameters used for quantization and signal variance are input to an arithmetic decoder (which can be any arithmetic encoder known to those skilled in the art). ), which then decodes the MDCT line bits into MDCT line indices. The MDCT line indices are then dequantized into the MDCT line by dequantization module 1780.

На фиг. 17c схематично показаны аспекты предварительной обработки устройства квантования в соответствии с вариантом осуществления изобретения, которая состоит из i) вычисления размера шага, ii) изменения кривой перцепционного маскирования, iii) определения дисперсии линий MDCT, iv) построения таблицы сдвигов.In FIG. 17c schematically shows aspects of the pre-processing of a quantizer according to an embodiment of the invention, which consists of i) calculating the step size, ii) modifying the perceptual masking curve, iii) determining the dispersion of the MDCT lines, iv) constructing a shift table.

Вычисление размера шага объясняется более подробно на фиг. 17d. Оно содержит i) поиск таблицы, где индекс управления частотой указывает в таблице размеров шага те размеры, которые создают номинальный Δnom, ii) адаптацию к низкой энергии, и iii) высокочастотную адаптацию.The step size calculation is explained in more detail in FIG. 17d. It contains i) a table lookup where the frequency control index indicates in the step size table those dimensions that produce the nominal Δ nom , ii) low energy adaptation, and iii) high frequency adaptation.

Нормализация усиления обычно приводит к тому, что звуки с высокой энергией и звуки с низкой энергией кодируются с одним и тем же сегментным отношением "сигнал/шум" (SNR). Это может привести к чрезмерному числу битов, используемых для звуков с низкой энергией. Предложенная адаптация к низкой энергии позволяет получить точную настройку компромисса между звуками с низкой энергией и высокой энергией. Размер шага может быть увеличен, когда энергия сигнала становится низкой, как показано на фиг. 17d-ii), где приводится пример кривой отношения между энергией сигнала (усиление g) и коэффициентом управления qLe. Усиление сигнала g может быть вычислено как среднеквадратичное значение самого входного сигнала или остаток LP. Кривая управления на фиг. 17d-ii) является только одним примером и для увеличения размера шага для сигналов с низкой энергией могут использоваться и другие функции управления. В показанном на чертеже примере функция управления определяется пошаговыми линейными участками, которые определяются порогами Т1 и T2, и коэффициентом размера шага L.Gain normalization typically results in high energy sounds and low energy sounds being encoded with the same segment signal to noise ratio (SNR). This can result in an excessive number of bits being used for low energy sounds. The proposed low energy adaptation allows fine tuning of the compromise between low energy and high energy sounds. The step size can be increased when the signal energy becomes low, as shown in FIG. 17d-ii), which gives an example of a relationship curve between signal energy (gain g) and control factor q Le . The signal gain g can be calculated as the RMS value of the input signal itself or the residual LP. The control curve in FIG. 17d-ii) is just one example and other control functions can be used to increase the step size for low energy signals. In the example shown in the drawing, the control function is determined by stepwise linear sections, which are determined by the thresholds T 1 and T 2 , and the step size factor L.

Высокочастотные звуки перцепционно менее важны, чем низкочастотные звуки. Функция высокочастотной адаптации увеличивает размер шага, когда кадр MDCT является высокочастотным, то есть, когда энергия сигнала в текущем кадре MDCT сконцентрирована на более высоких частотах, приводя в результате к меньшему числу битов, затраченных на такие кадры. Если LTP присутствует и если усиление LTP gLTP близко к 1, остаток LTP может становиться высокочастотным; в таком случае выгодно не увеличивать размер шага. Этот механизм показан на фиг. 17d-iii), где r - первый коэффициент отражения, полученный из LPC. Предложенная высокочастотная адаптация может использовать следующее уравнение:High frequency sounds are perceptually less important than low frequency sounds. The high-frequency adaptation function increases the step size when the MDCT frame is high-frequency, that is, when the signal energy in the current MDCT frame is concentrated at higher frequencies, resulting in fewer bits spent on such frames. If LTP is present and if the LTP gain g LTP is close to 1, the rest of the LTP may become high frequency; in such a case it is advantageous not to increase the step size. This mechanism is shown in Fig. 17d-iii), where r is the first reflectance obtained from LPC. The proposed high frequency adaptation can use the following equation:

Figure 00000003
Figure 00000003

На фиг. 17c-ii) схематично показана модификация кривой перцепционного маскирования, использующей подъем усиления на низкой частоте (LF), чтобы удалить "громоподобные" артефакты кодирования. Увеличение усиления на низких частотах может быть фиксированным или делаться адаптивным, так чтобы дополнительное усиление получала только часть ниже первого спектрального пика. Увеличение усиления на низких частотах может адаптироваться, использовании данных огибающей LPC.In FIG. 17c-ii) schematically shows modification of the perceptual masking curve using low frequency (LF) gain boost to remove "thunder" encoding artifacts. The gain increase at low frequencies can be fixed or made adaptive so that only the part below the first spectral peak receives additional gain. The gain boost at low frequencies can be adapted using the LPC envelope data.

На фиг. 17c-iii) схематично показано определение дисперсии линий MDCT. При активном отбеливающем фильтре LPC все линии MDCT имеют единичную дисперсию (соответственно огибающей LPC). После перцепционного взвешивания в кодере 1740, основанном на модели, с ограниченной энтропией (смотрите фиг. 17e) линии MDCT имеют дисперсии, являющиеся инверсией квадратичной кривой перцепционного маскирования или квадратичной модифицированной кривой маскирования Pmod. Если LTP присутствует, оно может уменьшить дисперсию линий MDCT. На фиг. 17c-iii) изображен механизм, который адаптирует определенные дисперсии к LTP. На чертеже показана функция модификации qLTP по частоте f. Модифицированные дисперсии могут быть определены с помощью VLTPmod = V*qLTP. Значение LLTР может быть функцией усиления LTP, так чтобы LLTP был ближе к 0, если усиление LTP приблизительно равно 1 (указатель того, что LTP обнаружило хорошее соответствие), и LLTP ближе к 1, если усиление LTP приблизительно равно 0. Предложенная адаптация LTP для дисперсий V = {v1, v2..., vj..., vN} влияет только на линии MDCT ниже определенной частоты (fLTPcutoff). В результате, дисперсии линий MDCT ниже частоты среза fLTPcutoff уменьшаются, причем уменьшение зависит от усиления LTP.In FIG. 17c-iii) schematically shows the determination of the dispersion of MDCT lines. With an active LPC whitening filter, all MDCT lines have unit dispersion (corresponding to the LPC envelope). After perceptual weighting in a limited entropy model based encoder 1740 (see FIG. 17e), the MDCT lines have dispersions that are the inverse of a quadratic perceptual concealment curve or a quadratic modified concealment curve P mod . If LTP is present, it can reduce the dispersion of MDCT lines. In FIG. 17c-iii) depicts a mechanism that tailors certain variances to LTP. The drawing shows the modification function q LTP frequency f. Modified variances can be determined using V LTPmod = V*q LTP. The LLTP value may be a function of the LTP gain, such that LLTP is closer to 0 if the LTP gain is approximately 1 (indicating that LTP found a good match), and LLTP is closer to 1 if the LTP gain is approximately 0. Proposed LTP adaptation for dispersions V = {v 1 , v 2 ..., v j ..., v N } only affects MDCT lines below a certain frequency (f LTPcutoff ). As a result, the dispersions of the MDCT lines below the cutoff frequency f LTPcutoff are reduced, the reduction depending on the LTP gain.

На фиг. 17c-iv) схематично показана конструкция таблицы сдвигов. Номинальная таблица сдвигов является матрицей, заполненной псевдослучайными числами, распределенными между -0,5 и 0,5. Число столбцов в матрице равняется числу линий MDCT, которые кодируются с помощью MBMLQ. Число строк регулируется и равняется числу векторов сдвигов, которые проверяются при RD-оптимизации в кодере 1740, основанном на модели, с ограниченной энтропией (смотрите фиг. 17e). Функция конструкции таблицы сдвигов масштабирует номинальную таблицу сдвигов с размером шага устройства квантования, так чтобы сдвиги были распределены между -Δ/2 и + Δ/2.In FIG. 17c-iv) schematically shows the construction of the shift table. The nominal shift table is a matrix filled with pseudo-random numbers distributed between -0.5 and 0.5. The number of columns in the matrix is equal to the number of MDCT lines that are encoded with MBMLQ. The number of rows is adjusted to be equal to the number of shift vectors that are checked for RD optimization in the limited entropy model based encoder 1740 (see FIG. 17e). The shift table construction function scales the nominal shift table with the quantizer step size so that the shifts are distributed between -Δ/2 and +Δ/2.

На фиг. 17g схематично показан вариант осуществления таблицы сдвигов. Индекс сдвига является указателем в таблице и выбирает нужный вектор сдвига O = {о1, о2..., оn,..., оN}, где N - число линий MDCT во кадре MDCT.In FIG. 17g schematically shows an embodiment of a shift table. The shift index is a pointer in the table and selects the desired shift vector O = {o 1 , o 2 ..., o n , ..., o N }, where N is the number of MDCT lines in the MDCT frame.

Как описано ниже, сдвиги обеспечивают средство для шумового заполнения. Лучшее объективное и перцепционное качество получается, если разброс сдвигов ограничивается для линий MDCT, имеющих низкую дисперсию vj по сравнению с размером Δ шага устройства квантования. Пример такого ограничения описан на фиг. 17c-iv), где k1 и k2 являются настраиваемыми параметрами. Распределение сдвигов может быть равномерным и находиться между -s и +s. Границы s могут определяться в соответствии с выражением:As described below, offsets provide a means for noise padding. Better objective and perceptual quality is obtained if shift spread is limited for MDCT lines having low dispersion v j compared to the quantizer step size Δ. An example of such a restriction is described in Fig. 17c-iv), where k 1 and k 2 are adjustable parameters. The distribution of shifts can be uniform and be between -s and +s. The boundaries of s can be defined according to the expression:

Figure 00000004
Figure 00000004

Для линий MDCT с низкой дисперсией (где vj мало по сравнению с Δ) может быть предпочтительным сделать распределение сдвигов неравномерным и зависимым от сигнала.For low dispersion MDCT lines (where v j is small compared to Δ), it may be preferable to make the distribution of shifts non-uniform and signal dependent.

На фиг. 17e более подробно схематично показан кодер 1740, основанный на модели, с ограничением энтропии 1740. Входные линии MDCT перцепционно взвешены посредством деления их на значения кривой перцепционного маскирования, предпочтительно полученной из полинома LPC, что приводит к взвешенным векторам линий MDCT y=(y1..., yN). Цель последующего кодирования состоит в том, чтобы ввести белый шум квантования в линии MDCT в перцепционной области. В декодере применена инверсия перцепционного взвешивания, который приводит к шуму квантования, соответствующему кривой перцепционного маскирования.In FIG. 17e schematically shows a model based encoder 1740 with an entropy constraint 1740 in more detail. The MDCT input lines are perceptually weighted by dividing them by the values of a perceptual masking curve, preferably derived from the LPC polynomial, resulting in weighted MDCT line vectors y=(y 1 . .., y N ). The purpose of the subsequent encoding is to introduce white quantization noise into the MDCT lines in the perceptual domain. The decoder uses perceptual weighting inversion, which results in quantization noise corresponding to the perceptual masking curve.

Сначала описывается итерация по случайным сдвигам. В матрице сдвигов для каждой строки j в матрице сдвигов выполняются следующие операции: Каждая строка MDCT квантуется однородными скалярными устройствами квантования (USQ) сдвигов, в которых каждое устройство квантования сдвигается на свое собственное уникальное значение сдвига, взятое из вектора строки сдвигов. First, iteration over random shifts is described. In the shift matrix, for each row j in the shift matrix, the following operations are performed: Each row of the MDCT is quantized with uniform scalar shifters (USQ) in which each quantizer is shifted by its own unique shift value taken from the shift row vector.

Вероятность минимального интервала искажения от каждого USQ вычисляется в модуле 1770 вычисления вероятности (смотрите фиг. 17g). Индексы USQ являются энтропийно кодированными. Стоимость с точки зрения числа битов, требующихся для кодирования индексов, вычисляется соответственно фиг. 17e, давая в результате длину кодового слова Rj. Граница перегрузки USQ j для линии MDCT может быть вычислена как

Figure 00000005
, где k3 может выбираться, чтобы быть любым соответствующим числом, например 20. Границей перегрузки является граница, на которой ошибка квантования по величине больше, чем половина размера шага квантования.The minimum distortion interval probability from each USQ is calculated in probability calculation module 1770 (see FIG. 17g). The USQ indices are entropy coded. The cost in terms of the number of bits required to encode the indices is calculated according to FIG. 17e, resulting in the codeword length R j . The USQ j congestion limit for the MDCT link can be calculated as
Figure 00000005
, where k 3 can be chosen to be any appropriate number, such as 20. The overload boundary is the boundary at which the quantization error is greater in magnitude than half the quantization step size.

Скалярное значение реконструкции для каждой линии MDCT вычисляется модулем 1780 деквантования (смотрите фиг. 17h), давая в результате квантованный вектор y MDCT. В модуле 1790 оптимизации RD вычисляется искажение Dj=d(y,

Figure 00000006
). d(y,
Figure 00000007
) может быть среднеквадратичной ошибкой (MSE) или другой перцепционно более подходящей мерой искажения, например, основанной на перцепционной функции взвешивания. В частности, может быть полезна мера искажения, которая взвешивает вместе MSE и рассогласование по энергии между y и y. The scalar reconstruction value for each MDCT line is computed by dequantizer 1780 (see FIG. 17h), resulting in a quantized MDCT vector y. In the RD optimization module 1790, the distortion D j =d(y,
Figure 00000006
). d(y,
Figure 00000007
) may be the mean square error (MSE) or another perceptually more appropriate measure of distortion, such as one based on a perceptual weighting function. In particular, a distortion measure that weights together the MSE and the energy mismatch between y and y can be useful.

В модуле 1790 RD-оптимизации вычисляется стоимость C, предпочтительно основанная на искажении Dj и/или теоретической длине кодового слова Rj для каждой строки j в матрице сдвигов. Пример функции стоимости является C=10*log10(Dj)+λ*Rj/N. Сдвиг, которое минимизирует C, выбирается и из кодера 1780, основанного на модели, с ограниченной энтропией выводятся соответствующие индексы USQ и вероятности.In an RD optimization module 1790, a cost C is calculated, preferably based on the distortion D j and/or the theoretical codeword length R j for each row j in the shift matrix. An example of a cost function is C=10*log 10 (D j )+λ*R j /N. The offset that minimizes C is selected and the corresponding USQ and probability indices are derived from the entropy constrained model based encoder 1780.

RD-оптимизация может быть по желанию дополнительно улучшена, изменяя другие свойства устройства квантования вместе со сдвигом. Например, вместо использования одного и того же фиксированного V оценки дисперсии для каждого вектора сдвига, которая проверяется при RD-оптимизации, вектор V оценки дисперсии может быть переменным. Для вектора m строки сдвигов может затем использоваться оценка дисперсии km*V, где km может охватывать, например, диапазон от 0,5 до 1,5 по мере того, как m изменяется от m=1 до m=(число строк в матрице сдвигов). Это делает энтропийное кодирование и вычисление MMSE менее чувствительными к изменениям в статистике входного сигнала, которые не может зафиксировать статистическая модель. Это приводит к более низкой стоимости C в целом.The RD optimization can be further improved as desired by changing other properties of the quantizer along with the offset. For example, instead of using the same fixed variance estimate V for each shift vector that is tested in RD optimization, the variance estimate vector V can be variable. For the row vector m of the shifts, an estimate of the variance k m *V can then be used, where k m can cover, for example, the range from 0.5 to 1.5 as m changes from m=1 to m=(number of rows in shift matrix). This makes entropy encoding and MMSE calculation less sensitive to changes in the input signal statistics that the statistical model cannot capture. This results in a lower cost of C overall.

Деквантованные линии MDCT могут быть дополнительно улучшены при использовании устройства квантования остатка, как показано на фиг. 17e. Устройство квантования остатка может быть, например, устройством квантования случайного вектора с фиксированной частотой.The dequantized MDCT lines can be further improved by using a residual quantizer as shown in FIG. 17e. The residual quantizer may be, for example, a fixed frequency random vector quantizer.

Работа однородного скалярного устройства квантования (USQ) для квантования линии n MDCT схематично показана на фиг. 17f, где показано значение n линии MDCT, находящееся в интервале минимальных искажений, имеющем индекс in. Отметки "x" указывают центр (средняя точка) интервалов квантования с размером шага Δ. Начало координат скалярного устройства квантования сдвинуто на величину сдвига on от вектора сдвига О = {о1, о2,..., on..., oN}. Таким образом, границы интервала и средние точки сдвигаются на величину сдвига.The operation of a uniform scalar quantizer (USQ) for quantizing an MDCT line n is shown schematically in FIG. 17f, which shows the value of n of the MDCT line, which is in the interval of minimum distortion, having the index i n . The "x" marks indicate the center (midpoint) of the quantization intervals with step size Δ. The origin of the scalar quantization device is shifted by the amount of shift o n from the shift vector О = { о1 , о 2 ,..., o n ..., o N }. Thus, the boundaries of the interval and the midpoints are shifted by the amount of the shift.

Использование сдвигов вносит в квантованный сигнал управляемое кодером шумовое заполнение и это позволяет избежать провалов в квантованном спектре. Дополнительно, сдвиги повышают эффективность кодирования, обеспечивая ряд альтернатив кодирования, которые заполняют пространство более эффективно, чем кубическая решетка. Кроме того, сдвиги обеспечивают изменение в таблицах вероятности, которые вычисляются модулем 1770 вычисления вероятности, ведущее к более эффективному энтропийному кодированию индексов линий MDCT (то есть, требуется меньше битов).The use of shifts introduces encoder-controlled noise filling into the quantized signal, and this makes it possible to avoid gaps in the quantized spectrum. Additionally, shifts improve coding efficiency by providing a range of coding alternatives that fill space more efficiently than a cubic lattice. In addition, the shifts provide a change in the probability tables that are calculated by the probability calculation module 1770, leading to more efficient entropy coding of the MDCT line indices (ie, fewer bits are required).

Использование переменного размера шага Δ (дельта) позволяет иметь переменную точность при квантовании, так, чтобы более высокая точность могла использоваться для перцепционно важных звуков, и меньшая точность могла использоваться для менее важных звуков.Using a variable step size Δ (delta) allows for variable quantization precision, so that higher precision can be used for perceptually important sounds and less precision can be used for less important sounds.

На фиг. 17g схематично показано вычисление вероятности в модуле 1770 вычисления вероятности. Входными сигналами этого модуля являются статистическая модель, применяемая для линий MDCT, размер шага Δ, вектор V дисперсии, индекс сдвига и таблица сдвигов. Выходом модуля 1770 вычисления вероятности являются таблицы cdf. Для каждой линии xj MDCT определяется статистическая модель (то есть, функция плотности распределения вероятности, pdf). Область под функцией pdf для интервала I является вероятностью pij интервала. Эта вероятность используется для арифметического кодирования линий MDCT.In FIG. 17g schematically shows a probability calculation in a probability calculation module 1770. The inputs to this module are the statistical model applied to the MDCT lines, the step size Δ, the variance vector V, the shift index, and the shift table. The output of the probability calculation module 1770 are cdf tables. For each x j MDCT line, a statistical model (ie, a probability density function, pdf) is determined. The area under the pdf function for the interval I is the probability p ij of the interval. This probability is used for the arithmetic coding of the MDCT lines.

На фиг. 17h схематично показано, как выполняется процесс деквантования, например, в модуле 1780 деквантования. Центр масс (значение MMSE)хMMSE для минимального интервала искажения каждой линии MDCT вычисляется вместе со средней точкой xМР интервала. Полагая, что квантуется N-мерный вектор линий MDCT, скалярное значение MMSE является близким к оптимальному и, в целом, слишком низким. Это приводит к потере дисперсии и спектральному разбалансу в декодированном выходном сигнале. Эта проблема может быть смягчена декодированием с сохранением дисперсии, как описано на фиг. 17h, где значение реконструкции вычисляется как взвешенная сумма значения MMSE и значения в средней точке. Дополнительное необязательное улучшение состоит в адаптации веса так, чтобы значение MMSE доминировало для речи, а средняя точка доминировала для неречевых звуков. Это дает в результате более чистую речь, при том, что для неречевых звуков сохраняются спектральный баланс и энергия.In FIG. 17h schematically shows how the dequantization process is performed, for example, in a dequantization module 1780. Center of mass (MMSE value) x MMSE for the minimum distortion interval of each MDCT line is calculated along with the midpoint x of the MP interval. Assuming that an N-dimensional MDCT line vector is quantized, the MMSE scalar value is close to optimal and generally too low. This results in loss of dispersion and spectral imbalance in the decoded output signal. This problem can be mitigated by variance-preserving decoding as described in FIG. 17h, where the reconstruction value is calculated as the weighted sum of the MMSE value and the value at the midpoint. A further optional improvement is to adapt the weight so that the MMSE value dominates for speech and the midpoint dominates for non-speech sounds. This results in cleaner speech while maintaining spectral balance and energy for non-speech sounds.

Декодирование с сохранением дисперсии в соответствии с вариантом осуществления изобретения достигается, определяя точку реконструкции в соответствии со следующим уравнением:Variance-preserving decoding in accordance with an embodiment of the invention is achieved by determining a reconstruction point according to the following equation:

x dequant = (1- Δ)x MMSE + x MP x dequant = (1- Δ)x MMSE + x MP

Адаптивное декодирование с сохранением дисперсии может быть основано на следующем правиле определения коэффициента интерполяции: Variance-preserving adaptive decoding can be based on the following rule for determining the interpolation coefficient:

Figure 00000008
Figure 00000008

Адаптивный вес дополнительно может быть функцией, например, усиления gLTP при предсказании LTP: Δ = f(g LTP ). Адаптивный вес медленно изменяется и может эффективно кодироваться рекурсивным энтропийным кодом.The adaptive weight may further be a function of, for example, the LTP gain g in LTP prediction: Δ = f(g LTP ) . The adaptive weight changes slowly and can be efficiently encoded with a recursive entropy code.

Статистическая модель линий MDCT, используемая при вычислениях вероятности (фиг. 17g) и при деквантовании (фиг. 17h) должна отражать статистику реального сигнала. В одной версии статистическая модель предполагает, что линии MDCT независимы и имеют лапласово распределение. Другая версия моделирует линии MDCT как независимые гауссовы распределения. Одна версия моделирует линии MDCT как модели с гауссовой смесью, содержащие взаимозависимости между линиями MDCT внутри и между кадрами MDCT. Другая версия адаптирует статистическую модель к текущей статистике сигнала. Адаптивные статистические модели могут адаптироваться вперед и/или назад.The statistical model of the MDCT lines used in probability calculations (FIG. 17g) and dequantization (FIG. 17h) should reflect the actual signal statistics. In one version, the statistical model assumes that the MDCT lines are independent and have a Laplacian distribution. Another version models the MDCT lines as independent Gaussian distributions. One version models MDCT lines as Gaussian mixture models containing relationships between MDCT lines within and between MDCT frames. Another version adapts the statistical model to the current signal statistics. Adaptive statistical models may adapt forward and/or backward.

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

Figure 00000009
определяется из соответствующего индекса i n квантования. Как упомянуто выше, значения
Figure 00000010
реконструкции дополнительно используются, например, в кодере линий MDCT (смотрите фиг. 17), чтобы определить остаток квантования для ввода в устройство квантования остатка. Дополнительно, реконструкция квантования выполняется в инверсном устройстве 304 квантования при реконструкции кодированного кадра MDCT для использования в буфере LTP (смотрите фиг. 3) и, естественно, в декодере.Another aspect of the invention relating to modified quantizer reconstruction points is shown schematically in FIG. 19, which shows the inverse quantizer used in the decoder of the embodiment. The module has, in addition to the usual inverse quantizer input signals, that is, quantized lines and information about the size of the quantization step (quantization type), also information about the reconstruction point of the quantizer. The inverse quantizer of this embodiment can use multiple types of reconstruction points when the reconstructed value
Figure 00000009
is determined from the corresponding quantization index i n . As mentioned above, the values
Figure 00000010
the reconstructions are further used, for example, in the MDCT line encoder (see FIG. 17) to determine the quantization residual to be input to the residual quantizer. Additionally, quantization reconstruction is performed in the inverse quantizer 304 in reconstructing the encoded MDCT frame for use in the LTP buffer (see FIG. 3) and naturally in the decoder.

Инверсное устройство квантования может выбрать, например, среднюю точку интервала квантования в качестве точки реконструкции или точки реконструкции MMSE. В варианте осуществления настоящего изобретения точка реконструкции устройства квантования выбирается так, чтобы быть средним значением между центральной точкой и точкой реконструкции MMSE. В целом, точка реконструкции может быть интерполирована между средней точкой и точкой реконструкции MMSE, например, в зависимости от свойств сигнала, таких как периодичность сигнала. Информация о периодичности сигнала может быть получена, например, от модуля LTP. Этот признак позволяет системе управлять искажением и сохранением энергии. Центральная точка реконструкции гарантирует сохранение энергии, тогда как точка реконструкции MMSE гарантирует минимальное искажение. С учетом сигнала, система может затем адаптировать точку реконструкции туда, где обеспечивается наилучший компромисс. The inverse quantizer may select, for example, the middle point of the quantization interval as a reconstruction point or an MMSE reconstruction point. In an embodiment of the present invention, the reconstruction point of the quantizer is chosen to be an average between the center point and the reconstruction point of the MMSE. In general, a reconstruction point can be interpolated between a midpoint and an MMSE reconstruction point, for example, depending on signal properties such as signal periodicity. Information about the periodicity of the signal can be obtained, for example, from the LTP module. This feature allows the system to control distortion and energy conservation. The central reconstruction point guarantees energy conservation, while the MMSE reconstruction point guarantees minimal distortion. Given the signal, the system can then adapt the reconstruction point to where the best compromise is achieved.

Настоящее изобретение дополнительно содержит новый формат кода последовательности окон. В соответствии с вариантом осуществления изобретения, окна, используемые для преобразования MDCT, имеют диадические размеры и могут изменяться по размеру от окна к окну только с коэффициентом два. Диадическими размерами преобразования являются, например, выборки 64, 128..., 2048, соответствующие 4, 8..., 128 мс при частоте дискретизации 16 кГц. В целом, предлагаются окна с переменным размером, которые могут принимать многочисленные размеры окон между минимальным размером и максимальным размером окон. В последовательности, размеры последовательных окон могут изменяться только с коэффициентом два, так чтобы формировались гладкие последовательности размеров окна без резких изменений. Последовательности окон, как они определяются вариантом осуществления, то есть, ограниченные диадическими размерами и имеющие возможность изменяться по размеру от окна к окну только с коэффициентом два, имеют несколько преимуществ. Во-первых, не требуется никакое специальное стартовое или стоповое окно, то есть, окна с резкими краями. Это способствует хорошей разрешающей способности по времени/частоте. Во-вторых, последовательность окон становится очень эффективной для кодирования, то есть, чтобы сигнализировать на декодер, какая конкретная последовательность окон используется. Наконец, последовательность окон всегда будет точно вписываться в структуру гиперкадра.The present invention further comprises a new window sequence code format. In accordance with an embodiment of the invention, the windows used for the MDCT transform have dyadic sizes and can only change in size from window to window by a factor of two. The dyadic transform sizes are, for example, 64, 128..., 2048 samples corresponding to 4, 8..., 128 ms at a sampling rate of 16 kHz. In general, variable size windows are provided that can take on multiple window sizes between a minimum window size and a maximum window size. In a sequence, successive windows can only be resized by a factor of two, so that smooth sequences of window sizes are formed without abrupt changes. Window sequences as defined by the embodiment, that is, limited to dyadic sizes and being able to change in size from window to window by only a factor of two, have several advantages. First, no special start or stop window is required, that is, windows with hard edges. This contributes to good time/frequency resolution. Second, the window sequence becomes very efficient for encoding, that is, to signal to the decoder which particular window sequence is being used. Finally, the sequence of windows will always fit exactly into the hyperframe structure.

Структура гиперкадра полезна при работе кодера в реальной системе, где для того, чтобы иметь возможность запустить декодер, должны передаваться определенные параметры конфигурации декодера. Эти данные обычно запоминаются в поле заголовка в битовом потоке, описывающем кодированный аудиосигнал. Чтобы минимизировать скорость передачи данных, заголовок не передается для каждого кадра кодированных данных, особенно в системе, предложенной в соответствии с настоящим изобретением, где размеры кадра MDCT могут изменяться от очень короткого до очень длинного. Поэтому в соответствии с настоящим изобретением предложено группировать определенное количество кадров MDCT вместе в один гиперкадр, в котором данные заголовка передаются в начале гиперкадра. Гиперкадр обычно определяется как имеющий определенную продолжительность во времени. Поэтому необходимо позаботиться о том, чтобы изменения размеров кадров MDCT вписывались в постоянную длительность, заранее заданную длительность гиперкадра. Упомянутая выше соответствующая изобретению последовательность окон обеспечивает, что выбранная последовательность окон всегда вписывается в структуру гиперкадра.The hyperframe structure is useful when running the encoder in a real system where certain decoder configuration parameters must be passed in order to be able to start the decoder. This data is usually stored in a header field in a bitstream describing the encoded audio signal. To minimize the data rate, no header is transmitted for each encoded data frame, especially in the system proposed in accordance with the present invention where the MDCT frame sizes can vary from very short to very long. Therefore, in accordance with the present invention, it is proposed to group a certain number of MDCT frames together into one hyperframe, in which header data is transmitted at the beginning of the hyperframe. A hyperframe is generally defined as having a certain duration in time. Therefore, care must be taken to ensure that MDCT frame size changes fit within a constant duration, a predetermined hyperframe duration. The inventive window sequence mentioned above ensures that the selected window sequence always fits within the hyperframe structure.

В соответствии с вариантом осуществления настоящего изобретения, задержка LTP и усиление LTP кодируются в виде переменной частоты. Это предпочтительно, поскольку из-за эффективности LTP для постоянных периодических сигналов задержка LTP имеет тенденцию быть одной и той же для отчасти длинных сегментов. Следовательно, это может быть использовано средством арифметического кодирования, приводя в результате к кодированию задержки LTP и усиления LTP с переменной частотой.According to an embodiment of the present invention, the LTP delay and the LTP gain are encoded as a variable frequency. This is advantageous because, due to the efficiency of LTP for constant periodic signals, the LTP delay tends to be the same for somewhat long segments. Therefore, this can be used by the arithmetic coding engine, resulting in variable rate LTP delay and LTP gain coding.

Аналогично, вариант осуществления настоящего изобретения использует преимущества битового накопителя и кодирования с переменной скоростью для кодирования параметров LP. Кроме того, настоящим изобретением представляется рекурсивное кодирование LP.Similarly, an embodiment of the present invention takes advantage of bit accumulator and variable rate coding for LP parameter coding. In addition, the present invention provides recursive LP coding.

Другой аспект настоящего изобретения состоит в работе с битовым накопителем для переменных размеров кадра в кодере. На фиг. 18 представлен блок 1800 управления битовым накопителем, соответствующий настоящему изобретению. В дополнение к мере сложности, предоставленной в качестве входного сигнала, блок управления битовым накопителем также принимает информацию о длительности текущего кадра. Примером меры сложности для использования в блоке управления битовым накопителем является перцепционная энтропия или логарифм энергетического спектра. Управление битовым накопителем важно в системе, где длительности кадров могут меняться согласно набору различных длительностей кадров. Предложенный блок 1800 управления битовым накопителем учитывает длительность кадра при вычислении числа предоставляемых битов для кадра, который должен кодироваться, как будет описано ниже.Another aspect of the present invention is to deal with a bit accumulator for variable frame sizes in an encoder. In FIG. 18 shows a bit drive control unit 1800 according to the present invention. In addition to the measure of complexity provided as input, the bit accumulator control also receives information about the duration of the current frame. An example of a measure of complexity for use in a bit-accumulator control block is the perceptual entropy, or logarithm of the energy spectrum. Bit storage management is important in a system where frame durations may vary according to a set of different frame durations. The proposed bit accumulator manager 1800 considers the frame duration when calculating the number of bits to be provided for a frame to be encoded, as will be described below.

Битовый накопитель определяется здесь как определенное фиксированное количество битов в буфере, которое должно быть больше, чем среднее число битов, которые разрешается использовать кадру для заданной скорости передачи данных. Если он имеет тот же самый размер, то никакое изменение в числе битов для кадра не может быть возможно. Управление битовым накопителем всегда проверяет уровень битового накопителя перед извлечением битов, которые будут предоставлены алгоритму кодирования в качестве разрешенного числа битов для фактического кадра. Таким образом, полный битовый накопитель означает, что число битов, доступных в битовом накопителе, равняется размеру битового накопителя. После кодирования кадра число использованных битов будет вычитаться из буфера и битовый накопитель будет обновляться добавлением некоторого числа битов, представляющих постоянную битовую частоту. Поэтому битовый накопитель пуст, если число битов в битовом накопителе перед кодированием кадра равно среднему числу битов на кадр.The bit accumulator is defined here as a certain fixed number of bits in the buffer, which must be greater than the average number of bits that a frame is allowed to use for a given data rate. If it has the same size, then no change in the number of bits for a frame can be possible. The bitstore control always checks the level of the bitstore before extracting the bits that will be provided to the coding algorithm as the allowed number of bits for the actual frame. Thus, a full bitaccumulator means that the number of bits available in the bitaccumulator is equal to the size of the bitaccumulator. After a frame has been encoded, the number of bits used will be subtracted from the buffer and the bit accumulator will be updated with some number of bits representing a constant bit rate. Therefore, the bitaccumulator is empty if the number of bits in the bitaccumulator before encoding the frame is equal to the average number of bits per frame.

На фиг. 18a представлена базовая концепция управления битовым накопителем. Кодер обеспечивает средство вычисления того, насколько сложно кодировать фактический кадр по сравнению с предыдущим кадром. Для средней сложности 1,0, число предоставленных битов зависит от числа битов, доступных в битовом накопителе. В соответствии с заданной линией управления, число, большее битов, чем число битов, соответствующее средней частоте передачи данных, будет изыматься из битового накопителя, если битовый накопитель будет совершенно полон. В случае пустого битового накопителя, для кодирования кадра будет использоваться меньшее число битов по сравнению со средним числом битов кадра. Такое поведение приводит в результате к среднему уровню битового накопителя для более длинной последовательности кадров со средней сложностью. Для кадров с более высокой сложностью линия управления может быть смещена вверх, приводя к эффекту, при котором при сложном кодировании кадров разрешается использовать больше битов при том же самом уровне битового накопителя. Соответственно, для облегчения кодирования кадров число битов, разрешенных для кадра, должно быть уменьшено простым сдвигом вниз на линию управления на фиг. 18a относительно случая средней сложности к случаю меньшей сложности. Возможны также другие модификации, помимо простого смещения линии управления. Например, как показано на фиг. 18а, крутизна кривой управления может изменяться в зависимости от сложности кадров.In FIG. 18a shows the basic concept of bit storage management. The encoder provides a means of calculating how difficult it is to encode the actual frame compared to the previous frame. For an average complexity of 1.0, the number of bits provided depends on the number of bits available in the bitstore. According to the predetermined control line, a number greater than the number of bits corresponding to the average data rate will be removed from the bit store if the bit store is completely full. In the case of an empty bit accumulator, fewer bits will be used to encode a frame compared to the average number of bits in the frame. This behavior results in an average bit accumulator level for a longer sequence of frames with medium complexity. For frames of higher complexity, the control line may be shifted upward, resulting in the effect that complex frame coding is allowed to use more bits for the same bit accumulator level. Accordingly, in order to facilitate frame coding, the number of bits allowed for a frame should be reduced by simply shifting down the control line in FIG. 18a in relation to the case of medium complexity to the case of less complexity. Modifications other than simple shifting of the control line are also possible. For example, as shown in FIG. 18a, the steepness of the control curve may vary depending on the complexity of the frames.

При вычислении числа предоставленных битов необходимо подчиняться пределам по нижней границе битового накопителя, чтобы не взять из буфера больше битов, чем разрешено. Схема управления битовым накопителем, содержащая вычисление предоставленных битов с помощью линии управления, как показано на фиг. 18а, является только одним примером возможной меры уровня битового накопителя и сложности в соотношениях предоставленных битов. Другие алгоритмы управления будут также иметь, в целом, жесткие пределы на нижней границе уровня битового накопителя, которые не позволяют битовому накопителю нарушать ограничение по опустошению битового накопителя, а также пределы на верхней границе, где кодер будет принуждаться записывать заполняющие биты, если кодером будет расходоваться слишком малое число битов.When calculating the number of bits to be provided, the limits on the lower bound of the bit accumulator must be obeyed so as not to take more bits from the buffer than allowed. A bit accumulator control circuit comprising calculating the provided bits with the control line as shown in FIG. 18a is just one example of a possible measure of bit storage level and complexity in ratios of provided bits. Other control algorithms will also have, in general, hard limits on the lower bound of the bit-accumulator level that prevent the bit-accumulator from violating the bit-accumulator-empty constraint, as well as limits on the upper bound, where the encoder will be forced to write padding bits if the encoder is running out of too few bits.

Для такого механизма управления, способного обрабатывать набор переменных размеров кадра, этот простой алгоритм управления должен быть адаптирован. Используемая мера сложности должна быть нормализована, так чтобы значения сложности различных размеров кадра были сопоставимы. Для каждого размера кадра будет существовать различный допустимый диапазон предоставляемых битов и поэтому среднее число битов на кадр различно для переменного размера кадра, следовательно, каждый размера кадра имеет свое собственное уравнение управления со своими собственными ограничениями. Один пример показан на фиг. 18b. Важной модификацией случая с фиксированным размером кадра является пониженная допустимая граница алгоритма управления. Вместо среднего числа битов для фактического размера кадра, которое соответствует установленному случаю фиксированной скорости передачи данных, теперь среднее число битов для наибольшего допустимого размера кадра является наинизшим допустимым значением для уровня битового накопителя перед извлечением битов для фактического кадра. Это одно из основных отличий для управления битовым накопителем для кадров с фиксированными размерами. Это ограничение гарантирует, что следующий кадр с наибольшим возможным размером кадра сможет использовать, по меньшей мере, среднее число битов для этого размера кадра.For such a control mechanism capable of handling a set of variable frame sizes, this simple control algorithm must be adapted. The measure of complexity used must be normalized so that the complexity values of different frame sizes are comparable. For each frame size there will be a different allowable range of bits to be provided and therefore the average number of bits per frame is different for a variable frame size, hence each frame size has its own control equation with its own limitations. One example is shown in FIG. 18b. An important modification of the fixed frame size case is the reduced margin of the control algorithm. Instead of the average number of bits for the actual frame size, which corresponds to the fixed data rate case, the average number of bits for the largest allowable frame size is now the lowest allowable value for the bit accumulator layer before extracting the bits for the actual frame. This is one of the main differences for bit accumulator management for frames with fixed sizes. This constraint ensures that the next frame with the largest possible frame size can use at least the average number of bits for that frame size.

Мера сложности может основываться, например, на вычислении перцепционной энтропии (РЕ), которая получается из порогов маскирования психоакустической модели, как это делается в AAC, или, как альтернатива, из числа битов квантования с фиксированным размером шага, как это делается в части ECQ кодера в соответствии с вариантом осуществления настоящего изобретения. Эти значения могут быть нормализованы в отношении переменных размеров кадров, что может достигаться простым делением на длительность кадра и результатом будет соответствующее РЕ число битов на выборку. Другой этап нормализации может иметь место в отношении средней сложности. Для этой цели может использоваться скользящее среднее значение по прежним кадрам, приводящее в результате к значению сложности, большему, чем 1,0, для сложных кадров или меньшему, чем 1,0, для простых кадров. В случае кодера с двумя проходами или большого просмотра вперед, значения сложности будущих кадров также могут быть учтены для этой нормализации меры сложности.The measure of complexity may be based, for example, on the calculation of the perceptual entropy (PE), which is obtained from the masking thresholds of the psychoacoustic model, as is done in AAC, or, alternatively, from the number of quantization bits with a fixed step size, as is done in the ECQ part of the encoder. in accordance with an embodiment of the present invention. These values can be normalized with respect to variable frame sizes, which can be achieved by simply dividing by the frame duration and the result is the corresponding PE number of bits per sample. Another normalization step may take place with respect to the average complexity. For this purpose, a moving average over legacy frames can be used, resulting in a complexity value greater than 1.0 for complex frames or less than 1.0 for simple frames. In the case of a two-pass or large look ahead encoder, future frame complexity values may also be taken into account for this normalization of the complexity measure.

Другой аспект изобретения относится к специфическим особенностям работы с битовым накопителем для ECQ. Управление битовым накопителем для ECQ работает согласно предположению, что ECQ создает приблизительно постоянное качество, когда использует для кодирования постоянный размер шага устройства квантования. Постоянный размер шага устройства квантования создает переменную частоту и задача битового накопителя состоит в том, чтобы поддерживать как можно меньшим изменение в размере шага устройства квантования для различных кадров, не нарушая ограничения для буфера битового накопителя. В дополнение к частоте, созданной ECQ, на основе MDCT-кадра передается дополнительная информация (например, усиление и задержка LTP). Дополнительная информация, в целом, также энтропийно кодирована и, таким образом, использует различную частоту от кадра к кадру.Another aspect of the invention relates to the specifics of working with a bit accumulator for ECQ. Bit accumulator control for ECQ operates under the assumption that ECQ produces approximately constant quality when it uses a constant quantizer step size for encoding. A constant quantizer step size creates a variable frequency, and the task of the bit-accumulator is to keep the change in quantizer step-size as small as possible for different frames without violating the bit-accumulator buffer constraints. In addition to the frequency created by ECQ, additional information (eg, LTP gain and delay) is transmitted based on the MDCT frame. The side information is generally also entropy encoded and thus uses a different frequency from frame to frame.

В варианте осуществления изобретения предложенное управление битовым накопителем пытается минимизировать изменение размера шага ECQ, вводя три переменные (смотрите фиг. 18c):In an embodiment of the invention, the proposed bit accumulator control attempts to minimize ECQ step size variation by introducing three variables (see FIG. 18c):

- RECQ_AVG: средняя частота ECQ на выборку, использованная ранее;- R ECQ_AVG : average ECQ frequency per sample used previously;

- ΔECQ_AVG: средний размер шага устройства квантования, использованный ранее.- Δ ECQ_AVG : average quantizer step size used previously.

Обе эти переменные динамически обновляются, чтобы отражать последнюю статистику кодирования.Both of these variables are dynamically updated to reflect the latest encoding statistics.

- RECQ_AVG_DES: частота ECQ, соответствующая средней общей скорости передачи данных.- R ECQ_AVG_DES : ECQ frequency corresponding to the average overall data rate.

Это значение будет отличаться от RECQ_AVG в случае, если уровень битового накопителя изменился во время временного кадра окна усреднения, например, во время этого временного кадра использовалась скорость передачи данных, которая выше или ниже, чем указанная средняя скорость передачи данных. Оно также обновляется по мере того, как изменяется частота побочной информации, так чтобы общая частота равнялась указанной скорости передачи данных.This value will be different from R ECQ_AVG if the bit accumulator level changed during the time frame of the averaging window, for example, during this time frame a data rate was used that is higher or lower than the specified average data rate. It is also updated as the frequency of the side information changes so that the overall frequency equals the specified data rate.

Управление битовым накопителем использует эти три значения, чтобы определить начальное предположение по дельте, которая должна использоваться для текущего кадра. Это делает путем нахождения ΔECG_AVG_DES на кривой RECQ-Δ, показанной на фиг. 18c, которая соответствует RECQ_AVG_DES. На втором этапе это значение, возможно, изменяется, если частота не соответствует ограничениям битового накопителя. Пример кривой RECQ-Δ, показанной на фиг. 18C, основан на следующем уравнении:The bit accumulator control uses these three values to determine the initial delta guess that should be used for the current frame. This is done by finding ΔECG_AVG_DES on the R ECQ-Δ curve shown in FIG. 18c which corresponds to R ECQ_AVG_DES . In the second step, this value is possibly changed if the frequency does not meet the limits of the bit accumulator. An example of the R ECQ-Δ curve shown in FIG. 18C is based on the following equation:

Конечно, могут также использоваться другие математические соотношения между RECQ и Δ. Of course, other mathematical relationships between R ECQ and Δ can also be used.

В стационарном случае, RECQ_AVG будет близко к RECQ_AVG_DES, и изменение в Δ будет очень маленьким. В нестационарном случае, операция усреднения гарантирует плавное изменение Δ.In the stationary case, R ECQ_AVG will be close to R ECQ_AVG_DES and the change in Δ will be very small. In the non-stationary case, the averaging operation guarantees a smooth change in Δ.

Хотя вышесказанное было раскрыто в отношении конкретных вариантов осуществления настоящего изобретения, подразумевается, что концепция изобретения не ограничивается описанными вариантами осуществления. С другой стороны, раскрытие, представленное в настоящей заявке, даст возможность специалистам в этой области техники понять и выполнить изобретение. Специалистам в этой области техники должно быть понятно, что могут быть внесены различные изменения, не отступая от сущности и объема изобретения, исключительно как они изложены в сопроводительной формуле изобретения.Although the foregoing has been disclosed in relation to specific embodiments of the present invention, it is understood that the concept of the invention is not limited to the described embodiments. On the other hand, the disclosure provided in this application will enable those skilled in the art to understand and perform the invention. Those skilled in the art will appreciate that various changes may be made without departing from the spirit and scope of the invention, solely as set forth in the accompanying claims.

Claims (39)

1. Аудиокодер, содержащий:1. Audio encoder containing: блок (201) линейного предсказания (LP) для анализа кадров первой длительности аудиосигнала для определения последовательности полиномов LPC;block (201) linear prediction (LP) for analyzing frames of the first duration of the audio signal to determine the sequence of LPC polynomials; блок (202) адаптивного преобразования длительности для преобразования кадров переменной второй длительности аудиосигнала в кадры коэффициентов модифицированного дискретного косинусного преобразования (MDCT);an adaptive duration transform block (202) for converting frames of a variable second duration of the audio signal into frames of modified discrete cosine transform (MDCT) coefficients; блок (970, 1070) создания кривой усиления для создания кривых усиления MDCT-области для кадров коэффициентов MDCT на основе величин откликов, определенных из последовательности полиномов LPC, причем создание кривых усиления в MDCT-области содержит отображение, посредством блока (1100) отображения, полиномов LPC в соответствующие кадры коэффициентов MDCT;a gain curve generating unit (970, 1070) for generating MDCT domain gain curves for frames of MDCT coefficients based on response values determined from a sequence of LPC polynomials, wherein the creation of gain curves in the MDCT domain comprises mapping, by means of a mapping unit (1100), the polynomials LPC into corresponding frames of MDCT coefficients; блок применения кривой усиления для применения кривых усиления в MDCT-области к кадрам коэффициентов MDCT для создания кадров коэффициентов MDCT, скорректированных на усиление; иa gain curve application unit for applying gain curves in the MDCT region to frames of MDCT coefficients to create frames of gain-corrected MDCT coefficients; And блок (203) квантования для квантования кадров коэффициентов MDCT, скорректированных на усиление.a quantizer (203) for quantizing frames of gain-corrected MDCT coefficients. 2. Аудиокодер по п. 1, содержащий2. Audio encoder according to claim 1, comprising блок управления последовательностью окон для определения, для блока аудиосигнала, длительностей второго кадра для перекрытия окон MDCT.a window sequencer for determining, for the audio signal block, second frame durations for overlapping MDCT windows. 3. Аудиокодер по любому из предыдущих пунктов, содержащий блок перцептуального моделирования, изменяющий характеристику фильтра LP посредством линейной частотной модуляции и/или наклона полинома LPC, созданного блоком линейного предсказания для кадра LPC.3. An audio encoder according to any one of the preceding claims, comprising a perceptual modeler modifying the LP filter response by chirping and/or tilting the LPC polynomial generated by the linear predictor for the LPC frame. 4. Аудиокодер по любому из предыдущих пунктов, содержащий:4. An audio encoder according to any one of the preceding claims, comprising: блок разделения частот для разделения аудиосигнала на низкочастотный компонент и высокочастотный компонент; иa frequency separation unit for separating the audio signal into a low frequency component and a high frequency component; And высокочастотный кодер для кодирования высокочастотного компонента,a high frequency encoder for encoding a high frequency component, причем низкочастотный компонент является входным сигналом для блока линейного предсказания и блока преобразования, и причем высокочастотный кодер является кодером репликации спектральной полосы.wherein the low frequency component is an input to the linear prediction block and the transform block, and wherein the high frequency encoder is a spectral band replication encoder. 5. Аудиокодер по п. 4, в котором блок разделения частот содержит хранилище квадратурных зеркальных фильтров и блок синтеза квадратурных зеркальных фильтров, выполненные с возможностью понижающей дискретизации аудиосигнала.5. The audio encoder of claim 4, wherein the frequency splitter comprises a quadrature mirror filter store and a quadrature mirror filter synthesis block capable of downsampling the audio signal. 6. Аудиокодер по п. 4 или 5, в котором граница между низкочастотной полосой и высокочастотной полосой может меняться и блок разделения частот определяет частоту разделения на основе свойств аудиосигнала и/или требований к полосе пропускания кодера.6. An audio encoder according to claim 4 or 5, wherein the boundary between the low band and the high band can be changed and the splitter determines the split frequency based on the properties of the audio signal and/or the bandwidth requirements of the encoder. 7. Аудиокодер по любому из предыдущих пунктов, содержащий7. An audio encoder according to any one of the preceding claims, comprising блок (1360) определения масштабных коэффициентов для определения масштабных коэффициентов, чтобы управлять шумом квантования блока (203) квантования.a scaling factor determiner (1360) for determining scaling factors to control the quantization noise of the quantization block (203). 8. Аудиокодер по п. 7, в котором масштабные коэффициенты определяются на основе преобразованных кривых усиления в MDCT-области.8. The audio encoder of claim 7, wherein the scale factors are determined based on the transformed gain curves in the MDCT domain. 9. Аудиокодер по любому из предыдущих пунктов, содержащий параметрический стереоблок для вычисления параметрического стереопредставления левого и правого входных каналов.9. An audio encoder according to any one of the preceding claims, comprising a parametric stereo block for computing a parametric stereo representation of the left and right input channels. 10. Аудиокодер по любому из предыдущих пунктов, в котором блок (1500) отображения интерполирует полиномы LP, созданные на скорости, соответствующей длительности первого кадра, так чтобы они соответствовали кадрам сигнала в MDCT-области, созданного на скорости, соответствующей длительности второго кадра.10. The audio encoder of any one of the preceding claims, wherein the mapper (1500) interpolates LP polynomials generated at a rate corresponding to the duration of the first frame so that they correspond to frames of a signal in the MDCT region generated at a rate corresponding to the duration of the second frame. 11. Аудиодекодер, содержащий:11. An audio decoder comprising: блок (211) деквантования для деквантования квантованных кадров коэффициентов MDCT, декодированных из входного битового потока, причем кадры коэффициентов MDCT представляют аудиосигнал; a dequantizer (211) for dequantizing the quantized MDCT coefficient frames decoded from the input bitstream, the MDCT coefficient frames representing an audio signal; блок (970, 1070) создания кривой усиления для создания кривых усиления MDCT-области для кадров коэффициентов MDCT на основе величин откликов, определенных из последовательности полиномов LPC, причем полиномы LPC получены из входного битового потока, и причем создание кривых усиления MDCT-области содержит отображение, блоком (1100) отображения, полиномов LPC в соответствующие кадры коэффициентов MDCT;a gain curve generating unit (970, 1070) for generating MDCT region gain curves for frames of MDCT coefficients based on response values determined from a sequence of LPC polynomials, wherein the LPC polynomials are obtained from an input bitstream, and wherein generating MDCT region gain curves comprises mapping , block (1100) mapping, LPC polynomials in the corresponding frames of the MDCT coefficients; блок применения кривой усиления для применения кривых усиления в MDCT-области к кадрам коэффициентов MDCT для создания кадров коэффициентов MDCT, скорректированных на усиление; иa gain curve application unit for applying gain curves in the MDCT region to frames of MDCT coefficients to create frames of gain-corrected MDCT coefficients; And блок (212) инверсного преобразования MDCT с адаптивной длиной для инверсного преобразования кадров коэффициентов MDCT, скорректированных на усиление в аудиосигнал временной области, причем блок инверсного MDCT-преобразования работает с переменной длительностью кадров.an adaptive length MDCT inverse transform block (212) for inversely transforming frames of gain-corrected MDCT coefficients into a time domain audio signal, the MDCT inverse transform block operating with variable frame length. 12. Способ аудиокодирования, содержащий этапы, на которых:12. An audio coding method, comprising the steps of: выполняют анализ линейного предсказания (LP) для кадров первой длительности аудиосигнала для определения последовательности полиномов LPC;performing a linear prediction (LP) analysis on frames of the first duration of the audio signal to determine a sequence of LPC polynomials; преобразуют кадры переменной второй длительности аудиосигнала в кадры коэффициентов модифицированного дискретного косинусного преобразования (MDCT);converting frames of a variable second duration of the audio signal into frames of modified discrete cosine transform (MDCT) coefficients; создают кривые усиления MDCT-области для кадров коэффициентов MDCT на основе величин откликов, определенных из последовательности полиномов LPC, причем создание кривых усиления в MDCT-области содержит отображение полиномов LPC в соответствующие кадры коэффициентов MDCT;generating MDCT domain gain curves for frames of MDCT coefficients based on response values determined from the sequence of LPC polynomials, wherein generating the gain curves in the MDCT domain comprises mapping the LPC polynomials to corresponding frames of MDCT coefficients; применяют кривые усиления в MDCT-области к кадрам коэффициентов MDCT для получения кадров коэффициентов MDCT, скорректированных на усиление; иapplying the gain curves in the MDCT region to the MDCT coefficient frames to obtain gain-corrected MDCT coefficient frames; And квантуют кадры коэффициентов MDCT, скорректированных на усиление.quantizing frames of gain-corrected MDCT coefficients. 13. Способ аудиодекодирования, содержащий этапы, на которых:13. An audio decoding method, comprising the steps of: деквантуют квантованные кадры коэффициентов MDCT, декодированных из входного битового потока, причем кадры коэффициентов MDCT представляют аудиосигнал; dequantizing the quantized MDCT coefficient frames decoded from the input bitstream, the MDCT coefficient frames representing the audio signal; создают кривые усиления MDCT-области для кадров коэффициентов MDCT на основе величин откликов, определенных из полиномов LPC, причем полиномы LPC получены из входного битового потока, и причем создание кривых усиления MDCT-области содержит отображение полиномов LPC в соответствующие кадры коэффициентов MDCT;generating MDCT region gain curves for MDCT coefficient frames based on response values determined from LPC polynomials, the LPC polynomials being obtained from the input bitstream, and wherein generating the MDCT region gain curves comprises mapping the LPC polynomials to corresponding MDCT coefficient frames; применяют кривые усиления в MDCT-области к кадрам коэффициентов MDCT для создания кадров коэффициентов MDCT, скорректированных на усиление; applying gain curves in the MDCT region to frames of MDCT coefficients to create frames of gain-corrected MDCT coefficients; инверсно преобразуют кадры коэффициентов MDCT, скорректированных на усиление, в аудиосигнал временной области с использованием инверсного MDCT, работающего с переменной длительностью кадров. inversely transforming frames of gain-corrected MDCT coefficients into a time domain audio signal using inverse MDCT operating with variable frame length. 14. Программируемое устройство, содержащее компьютерную программу для побуждения программируемого устройства выполнять способ аудиокодирования по п.12. 14. A programmable device comprising a computer program for causing the programmable device to perform the audio encoding method of claim 12. 15. Программируемое устройство, содержащее компьютерную программу для побуждения программируемого устройства выполнять способ аудиодекодирования по п.13.15. A programmable device comprising a computer program for causing the programmable device to perform the audio decoding method of claim 13. 16. Система аудиокодирования, содержащая аудиокодер по п.1 и аудиодекодер по п.11. 16. An audio coding system comprising the audio encoder of claim 1 and the audio decoder of claim 11.
RU2019122302A 2008-01-04 2019-07-16 Audio coder and decoder RU2793725C2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
SE0800032-5 2008-01-04
SE0800032 2008-01-04
US5597808P 2008-05-24 2008-05-24
EP08009530A EP2077550B8 (en) 2008-01-04 2008-05-24 Audio encoder and decoder
US61/055,978 2008-05-24
EP08009530.0 2008-05-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2015118725A Division RU2696292C2 (en) 2008-01-04 2015-05-19 Audio encoder and decoder

Publications (2)

Publication Number Publication Date
RU2019122302A RU2019122302A (en) 2021-01-18
RU2793725C2 true RU2793725C2 (en) 2023-04-05

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2158478C2 (en) * 1995-10-06 2000-10-27 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Method and device to code sound signals
US20040220805A1 (en) * 2001-06-18 2004-11-04 Ralf Geiger Method and device for processing time-discrete audio sampled values
US20050154597A1 (en) * 2003-12-30 2005-07-14 Samsung Electronics Co., Ltd. Synthesis subband filter for MPEG audio decoder and a decoding method thereof
US20060173675A1 (en) * 2003-03-11 2006-08-03 Juha Ojanpera Switching between coding schemes
US20070165869A1 (en) * 2003-03-04 2007-07-19 Juha Ojanpera Support of a multichannel audio extension

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2158478C2 (en) * 1995-10-06 2000-10-27 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Method and device to code sound signals
US20040220805A1 (en) * 2001-06-18 2004-11-04 Ralf Geiger Method and device for processing time-discrete audio sampled values
US20070165869A1 (en) * 2003-03-04 2007-07-19 Juha Ojanpera Support of a multichannel audio extension
US20060173675A1 (en) * 2003-03-11 2006-08-03 Juha Ojanpera Switching between coding schemes
US20050154597A1 (en) * 2003-12-30 2005-07-14 Samsung Electronics Co., Ltd. Synthesis subband filter for MPEG audio decoder and a decoding method thereof

Similar Documents

Publication Publication Date Title
RU2696292C2 (en) Audio encoder and decoder
ES2433043T3 (en) Switching the ACELP to TCX encoding mode
JP6779966B2 (en) Advanced quantizer
RU2740690C2 (en) Audio encoding device and decoding device
KR20220045260A (en) Improved frame loss correction with voice information
RU2793725C2 (en) Audio coder and decoder
AU2012201692B2 (en) Audio Encoder and Decoder
MXPA06009342A (en) Methods and devices for low-frequency emphasis during audio compression based on acelp/tcx