Nothing Special   »   [go: up one dir, main page]

BR122019023345B1 - AUDIO ENCODING SYSTEM, AUDIO DECODER, AUDIO ENCODING METHOD AND AUDIO DECODING METHOD - Google Patents

AUDIO ENCODING SYSTEM, AUDIO DECODER, AUDIO ENCODING METHOD AND AUDIO DECODING METHOD Download PDF

Info

Publication number
BR122019023345B1
BR122019023345B1 BR122019023345-4A BR122019023345A BR122019023345B1 BR 122019023345 B1 BR122019023345 B1 BR 122019023345B1 BR 122019023345 A BR122019023345 A BR 122019023345A BR 122019023345 B1 BR122019023345 B1 BR 122019023345B1
Authority
BR
Brazil
Prior art keywords
mdct
signal
unit
audio
frame
Prior art date
Application number
BR122019023345-4A
Other languages
Portuguese (pt)
Inventor
Per Henrik Hedelin
Pontus Jan Carlsson
Jonas Leif Samuelsson
Michael Schug
Original Assignee
Dolby International Ab
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 Dolby International Ab filed Critical Dolby International Ab
Publication of BR122019023345B1 publication Critical patent/BR122019023345B1/en

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

A presente invenção refere-se a um sistema de codificação de áudio inédito que pode codificar bem sinais tanto de áudio geral quanto de fala em baixas taxas de bit. Um sistema de codificação de áudio proposto compreende a unidade de predição linear para filtrar um sinal de entrada com base em um filtro adaptativo; uma unidade de transformação, para transformar um quadro do sinal de entrada filtrado em um domínio transformado; e uma unidade de quantização para quantizar o sinal do domínio transformado. A unidade de quantização decide, com base nas características do sinal inserido, codificar o sinal do domínio transformado com um quantizador baseado em modelo ou um quantizador não baseado em modelo. Preferivelmente, a decisão é baseada na duração do quadro aplicada pela unidade de transformação.The present invention relates to an unprecedented audio encoding system that can encode both general audio and speech signals at low bit rates. A proposed audio coding system comprises the linear prediction unit to filter an input signal based on an adaptive filter; a transformation unit, to transform a frame of the filtered input signal into a transformed domain; and a quantization unit to quantize the signal from the transformed domain. The quantization unit decides, based on the characteristics of the inserted signal, to encode the transformed domain signal with a model-based quantizer or a non-model-based quantizer. Preferably, the decision is based on the duration of the framework applied by the processing plant.

Description

[001] Dividido do PI0822236-3 depositado em 30 de dezembro de 2008.[001] Divided from PI0822236-3 deposited on December 30, 2008.

Campo TécnicoTechnical Field

[002] A presente invenção refere-se à codificação de sinais de áudio e, em particular, à codificação de qualquer sinal de áudio, não limitado nem à fala, nem à música nem a uma combinação das mes¬mas.[002] The present invention relates to the encoding of audio signals and, in particular, to the encoding of any audio signal, not limited to speech, music or a combination thereof.

Antecedentes da InvençãoBackground of the Invention

[003] Na tecnologia anterior, há codificadores de fala especifica¬mente desenhados para codificar sinais de fala baseando a codifica¬ção em um modelo fonte do sinal, isto é, o sistema vocal humano. Es¬tes codificadores não podem tratar sinais de áudio arbitrários, tal como música, ou qualquer outro sinal que não de fala. Adicionalmente, na tecnologia anterior, há codificadores de música, comumente referidos como codificadores de áudio, que baseiam sua codificação em com¬preensões sobre o sistema auditivo humano, e não no modelo fonte do sinal. Estes codificadores podem tratar muito bem sinais arbitrários, embora em baixas taxas de bit para sinais de fala, e o codificador de fala dedicado proporciona uma qualidade de áudio superior. Portanto, até o momento, não existe estrutura de codificação geral para codifi-cação de sinais de áudio arbitrários que também realiza um codificador de fala para fala e, também, um codificador de música para música, quando operado em baixas taxas de bit.[003] In the prior art, there are speech encoders specifically designed to encode speech signals based on encoding on a source model of the signal, that is, the human vocal system. These encoders cannot handle arbitrary audio signals, such as music, or any signal other than speech. Additionally, in the prior art, there are music encoders, commonly referred to as audio encoders, that base their encoding on understandings about the human auditory system, rather than the source model of the signal. These encoders can handle arbitrary signals very well, albeit at low bit rates for speech signals, and the dedicated speech encoder provides superior audio quality. Therefore, to date, there is no general coding structure for coding arbitrary audio signals that also performs a speech-to-speech encoder and also a music-to-music encoder when operated at low bit rates.

[004] Assim, há uma necessidade de melhores codificador e de- codificador de áudio com maior qualidade de áudio e/ou menores ta¬xas de bit.[004] Thus, there is a need for better audio encoder and decoder with higher audio quality and / or lower bit rates.

Sumário da InvençãoSummary of the Invention

[005] A presente invenção refere-se à eficiente codificação de sinais de áudio arbitrários em um nível de qualidade igual ou melhor que aquele de um sistema especificamente adaptado a um sinal espe¬cífico.[005] The present invention relates to the efficient coding of arbitrary audio signals at a level of quality equal to or better than that of a system specifically adapted to a specific signal.

[006] A presente invenção é direcionada a algoritmos do codec de áudio que contêm tanto uma codificação por predição linear (LPC) quanto uma parte codificadora por transformada que opera em um si¬nal LPC processado.[006] The present invention is directed to audio codec algorithms that contain both a linear prediction encoding (LPC) and a transform encoding part that operates on a processed LPC signal.

[007] A presente invenção refere-se adicionalmente a uma estra¬tégia de quantização que depende de uma duração do quadro trans¬formado. Além do mais, é proposto um quantizador com restrição de entropia com base em modelo que emprega codificação aritmética. Além do mais, é provida a inserção de deslocamentos aleatórios em um quantizador escalar uniforme. A invenção sugere adicionalmente um quantizador baseado em modelo, por exemplo, um Quantizador com Restrição de Entropia (ECQ), que emprega codificação aritmética.[007] The present invention additionally refers to a quantization strategy that depends on the duration of the transformed frame. In addition, an entropy-restricted quantizer based on a model that employs arithmetic coding is proposed. In addition, the insertion of random displacements in a uniform scalar quantizer is provided. The invention further suggests a model-based quantizer, for example, an Entropy Restriction Quantizer (ECQ), which employs arithmetic coding.

[008] A presente invenção refere-se adicionalmente à eficiente codificação de fatores de escala na parte de codificação transformada de um codificador de áudio pela exploração da presença de dados de LPC.[008] The present invention additionally relates to the efficient encoding of scale factors in the transformed encoding part of an audio encoder by exploring the presence of LPC data.

[009] A presente invenção refere-se adicionalmente ao eficiente uso de um reservatório de bits em um codificador de áudio com um tamanho de quadro variável.[009] The present invention additionally relates to the efficient use of a bit reservoir in an audio encoder with a variable frame size.

[0010] A presente invenção refere-se adicionalmente a um codifi¬cador para codificação de sinais de áudio e geração de um fluxo de bits, e a um decodificador, para decodificação do fluxo de bits e gera¬ção de um sinal de áudio reconstruído que é perceptivamente indistin¬guível do sinal de áudio de entrada.[0010] The present invention additionally relates to an encoder for encoding audio signals and generating a bit stream, and a decoder for decoding the bit stream and generating a reconstructed audio signal which is perceptibly indistinguishable from the input audio signal.

[0011] Um primeiro aspecto da presente invenção refere-se à quantização em um codificador por transformada que, por exemplo, aplica uma Transformada de Cosseno Discreta Modificada (MDCT). Preferivelmente, o quantizador proposto quantiza linhas da MDCT. Es¬te aspecto é aplicável independentemente se o codificador usa adicio¬nalmente uma análise da codificação por predição linear (LPC) ou pre¬dição de longo prazo adicional (LTP).[0011] A first aspect of the present invention relates to quantization in a transform encoder that, for example, applies a Modified Discrete Cosine Transform (MDCT). Preferably, the proposed quantizer quantizes MDCT lines. This aspect is applicable regardless of whether the encoder additionally uses an encoding analysis by linear prediction (LPC) or additional long-term prediction (LTP).

[0012] A presente invenção provê um sistema de codificação de áudio que compreende uma unidade de predição linear, para filtrar um sinal de entrada com base em um filtro adaptativo; uma unidade de transformação, para transformar um quadro do sinal de entrada filtrado em um domínio transformado; e uma unidade de quantização para quantizer o sinal do domínio transformado. A unidade de quantização decide, com base nas características do sinal de entrada, codificar o sinal do domínio transformado com um quantizador baseado em mo¬delo ou um quantizador não baseado em modelo. Preferivelmente, a decisão é baseada na duração do quadro aplicado pela unidade de transformação. Entretanto, outros critérios dependentes do sinal de entrada para comutar a estratégia de quantização também são conce-bidos e estão no escopo do presente pedido.[0012] The present invention provides an audio coding system that comprises a linear prediction unit, to filter an input signal based on an adaptive filter; a transformation unit, to transform a frame of the filtered input signal into a transformed domain; and a quantization unit to quantize the signal from the transformed domain. The quantization unit decides, based on the characteristics of the input signal, to encode the transformed domain signal with a model-based quantizer or a non-model based quantizer. Preferably, the decision is based on the duration of the framework applied by the processing plant. However, other criteria dependent on the input signal to switch the quantization strategy are also designed and are within the scope of this order.

[0013] Um outro importante aspecto da invenção é que o quanti¬zador pode ser adaptativo. Em particular, o modelo no quantizador ba-seado em modelo pode ser adaptativo para se ajustar ao sinal de áu¬dio de entrada. O modelo pode variar ao longo do tempo, por exemplo, dependendo das características do sinal de entrada. Isto permite me¬nor distorção da quantização e, assim, maior qualidade de codificação.[0013] Another important aspect of the invention is that the quantizer can be adaptive. In particular, the model in the model-based quantizer can be adaptive to fit the input audio signal. The model may vary over time, for example, depending on the characteristics of the input signal. This allows less distortion of the quantization and, thus, higher quality of coding.

[0014] De acordo com uma modalidade, a estratégia de quantiza¬ção proposta é condicionada à duração do quadro. Sugere-se que a unidade de quantização possa decidir, com base na duração do qua¬dro aplicado pela unidade de transformação, codificar o sinal do domí¬nio transformado com um quantizador baseado em modelo ou um quantizador não baseado em modelo. Preferivelmente, a unidade de quantização é configurada para codificar um sinal do domínio trans¬formado, para um quadro com um tamanho de quadro menor que um valor limite, por meio de uma quantização com restrição de entropia com base em modelo. A quantização com base em modelo pode ser condicionada a parâmetros variados. Grandes quadros podem ser quantizados, por exemplo, por um quantizador escalar, por exemplo, com codificação por entropia Huffman, como é usado, por exemplo, no codec AAC.[0014] According to one modality, the proposed quantization strategy is conditioned on the duration of the framework. It is suggested that the quantization unit may decide, based on the duration of the frame applied by the transformation unit, to encode the signal of the transformed domain with a model-based quantizer or a non-model-based quantizer. Preferably, the quantization unit is configured to encode a signal from the transformed domain, for a frame with a frame size less than a limit value, by means of model-based entropy-restricted quantization. Model-based quantization can be conditioned to varying parameters. Large frames can be quantized, for example, by a scalar quantizer, for example, with Huffman entropy coding, as used, for example, in the AAC codec.

[0015] O sistema de codificação de áudio pode compreender adi¬cionalmente uma unidade de predição de longo prazo (LTP) para esti¬mar o quadro do sinal de entrada filtrado com base em uma reconstru-ção de um segmento prévio do sinal de entrada filtrado, e uma unidade de combinação do sinal do domínio transformado, para combinar, no domínio transformado, a estimação da predição de longo prazo e o sinal de entrada transformado, para gerar o sinal do domínio transfor¬mado que é inserido na unidade de quantização.[0015] The audio coding system may additionally comprise a long-term prediction unit (LTP) to estimate the filtered input signal frame based on a reconstruction of a previous segment of the input signal filtered, and a combination unit of the transformed domain signal, to combine, in the transformed domain, the estimation of the long-term prediction and the transformed input signal, to generate the signal of the transformed domain that is inserted in the quantization unit .

[0016] A comutação entre diferentes métodos de quantização das linhas da MDCT é um outro aspecto de uma modalidade preferida da invenção. Pelo emprego de diferentes estratégias de quantização para diferentes tamanhos de transformada, o codec pode fazer toda a quan-tização e codificação no domínio MDCT, sem a necessidade de ter um codificador de fala do domínio temporal específico executando em pa¬ralelo ou em série em relação ao codec do domínio transformado. A presente invenção preceitua que, para sinais tipo fala, quando houver um ganho de LTP, preferivelmente, o sinal é codificado usando uma transformada curta e um quantizador baseado em modelo. O quanti¬zador baseado em modelo é particularmente adequado para a trans¬formada curta, e proporciona, como será esboçado posteriormente, as vantagens de um quantizador vetorial (VQ) específico de fala do domí- nio temporal, ainda sendo operado no domínio MDCT, e sem nenhuma exigência de que o sinal de entrada seja um sinal de fala. Em outras palavras, quando o quantizador baseado em modelo for usado para os segmentos de transformada curta em combinação com a LTP, a efici¬ência do VQ do codificador de fala do domínio temporal dedicado é retida, sem perda de generalidade e sem deixar o domínio MDCT.[0016] Switching between different methods of quantizing MDCT lines is another aspect of a preferred embodiment of the invention. By employing different quantization strategies for different transform sizes, the codec can do all quantization and coding in the MDCT domain, without the need to have a speech encoder for the specific time domain running in parallel or in series in the codec of the transformed domain. The present invention provides that, for speech-like signals, when there is an LTP gain, preferably the signal is encoded using a short transform and a model-based quantizer. The model-based quantizer is particularly suitable for the short transform, and provides, as will be outlined later, the advantages of a specific vector quantizer (VQ) of speech in the temporal domain, still being operated in the MDCT domain, and without any requirement that the input signal is a speech signal. In other words, when the model-based quantizer is used for the short transform segments in combination with the LTP, the VQ efficiency of the speech encoder of the dedicated time domain is retained, without loss of generality and without leaving the domain MDCT.

[0017] Além do mais, para sinais de música mais estacionários, é preferido usar uma transformada de tamanho relativamente grande, que é comumente usada em codecs de áudio, e um esquema de quantização que pode tirar vantagem das linhas espectrais esparsas discriminadas pela grande transformada. Portanto, a presente inven¬ção preceitua o uso deste tipo de esquema de quantização para gran¬des transformadas.[0017] Furthermore, for more stationary music signals, it is preferred 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 discriminated by the large transform. . Therefore, the present invention provides for the use of this type of quantization scheme for large transformed ones.

[0018] Assim, a comutação de estratégia de quantização em fun¬ção de duração do quadro habilita o codec a reter tanto as proprieda¬des de um codec de fala dedicado quanto às propriedades de um co¬dec de áudio dedicado, simplesmente pela escolha do tamanho da transformada. Isto evita todos os problemas dos sistemas da tecnolo¬gia anterior, que tentam tratar sinais de fala e de áudio igualmente bem em baixas taxas, uma vez que estes sistemas, inevitavelmente, deparam com os problemas e dificuldades de combinar eficientemente a codificação do domínio temporal (o codificador de fala) com codifica¬ção do domínio de frequência (o codificador de áudio).[0018] Thus, switching the quantization strategy according to the duration of the frame enables the codec to retain both the properties of a dedicated speech codec and the properties of a dedicated audio codec, simply by choosing the size of the transform. This avoids all the problems of prior technology systems, which try to treat speech and audio signals equally well at low rates, since these systems inevitably encounter the problems and difficulties of efficiently combining time domain coding. (the speech encoder) with frequency domain encoding (the audio encoder).

[0019] De acordo com um outro aspecto da invenção, a quantiza¬ção usa tamanhos de etapa adaptativos. Preferivelmente, o(s) tama- nho(s) da etapa de quantização para componentes do sinal do domínio transformado é(são) adaptado(s) com base em parâmetros da predi¬ção linear e/ou da predição de longo prazo. O(s) tamanho(s) da etapa de quantização pode(m) ser adicionalmente configurado(s) para de¬pender da frequência. Em modalidades da invenção, o tamanho da etapa de quantização é determinado com base em pelo menos um de: o polinómio do filtro adaptativo, um parâmetro de controle da taxa de codificação, um valor de ganho da predição de longo prazo e uma va¬riância do sinal de entrada.[0019] According to another aspect of the invention, quantization uses adaptive step sizes. Preferably, the size (s) of the quantization step for components of the transformed domain signal is (are) adapted based on parameters of linear prediction and / or long-term prediction. The size (s) of the quantization step can be additionally configured to depend on the frequency. In embodiments of the invention, the size of the quantization step is determined based on at least one of: the adaptive filter polynomial, a coding rate control parameter, a long-term prediction gain value and a variance of the input signal.

[0020] Preferivelmente, a unidade de quantização compreende quantizadores escalares uniformes para quantizer os componentes do sinal do domínio transformado. Cada quantizador escalar está aplican¬do uma quantização uniforme, por exemplo, com base em um modelo de probabilidade, em uma linha da MDCT. O modelo de probabilidade pode ser um modelo Laplaciano ou Gaussiano, ou qualquer outro mo¬delo de probabilidade que é adequado para características de sinal. A unidade de quantização pode inserir adicionalmente um deslocamento aleatório nos quantizadores escalares uniformes. A inserção do deslo¬camento aleatório provê vantagens da quantização vetorial aos quanti¬zadores escalares uniformes. De acordo com uma modalidade, os deslocamentos aleatórios são determinados com base em uma otimi¬zação de uma distorção de quantização, preferivelmente, em um do¬mínio perceptive e/ou em consideração do custo em termos do número de bits exigidos para codificar os índices de quantização.[0020] Preferably, the quantization unit comprises uniform scalar quantizers to quantize the components of the transformed domain signal. Each scalar quantizer is applying a uniform quantization, for example, based on a probability model, on an MDCT line. The probability model can be a Laplacian or Gaussian model, or any other probability model that is suitable for signal characteristics. The quantization unit can additionally insert a random displacement into the uniform scalar quantizers. The insertion of random displacement provides advantages of vector quantization to uniform scalar quantizers. According to a modality, random displacements are determined based on an optimization of a quantization distortion, preferably on a perceptive domain and / or on cost in terms of the number of bits required to encode the indices quantization.

[0021] A unidade de quantização pode compreender adicional¬mente um codificador aritmético para codificação dos índices de quan-tização gerados pelos quantizadores escalares uniformes. Isto alcança uma baixa taxa de bits, que se aproxima do mínimo possível dado pela entropia de sinal.[0021] The quantization unit can additionally comprise an arithmetic encoder for coding the quantization indices generated by the uniform scalar quantizers. This achieves a low bit rate, which approaches the minimum possible given by the signal entropy.

[0022] A unidade de quantização pode compreender adicional¬mente um quantizador residual para quantizer um sinal de quantização residual resultante dos quantizadores escalares uniformes, a fim de reduzir adicionalmente a distorção total. Preferivelmente, o quantizador residual é um quantizador vetorial de taxa fixa.[0022] The quantization unit may additionally comprise a residual quantizer to quantize a residual quantization signal resulting from uniform scalar quantizers, in order to further reduce the total distortion. Preferably, the residual quantizer is a fixed rate vector quantizer.

[0023] Múltiplos pontos de reconstrução da quantização podem ser usados na unidade de dequantização do codificador e/ou do quan-tizador invertido no decodificador. Por exemplo, pontos de reconstru¬ção de mínimo erro quadrático médio (MMSE) e/ou de ponto central (ponto médio) podem ser usados para reconstruir um valor quantizado com base em seu índice de quantização. Um ponto de reconstrução da quantização pode ser adicionalmente baseado em uma interpola¬ção dinâmica entre um ponto central e um ponto MMSE, possivelmen¬te controlado por características dos dados. Isto permite controlar a inserção de ruído e evitar furos espectrais em função da atribuição de linhas da MDCT a uma posição de quantização zero para baixas taxas de bit.[0023] Multiple quantization reconstruction points can be used in the encoder and / or inverted quantizer quantization unit in the decoder. For example, reconstruction points with minimum mean square error (MMSE) and / or central point (midpoint) can be used to reconstruct a quantized value based on its quantization index. A quantization reconstruction point can additionally be based on a dynamic interpolation between a central point and an MMSE point, possibly controlled by data characteristics. This makes it possible to control the insertion of noise and avoid spectral holes due to the assignment of MDCT lines to a zero quantization position for low bit rates.

[0024] Preferivelmente, uma ponderação perceptiva no domínio transformado é aplicada durante a determinação da distorção da quan¬tização, a fim de colocar diferentes ponderações em componentes de frequência específicos. As ponderações perceptivas podem ser efici¬entemente derivadas dos parâmetros de predição linear.[0024] Preferably, a perceptual weighting in the transformed domain is applied when determining the quantization distortion, in order to place different weightings on specific frequency components. Perceptual weightings can be efficiently derived from linear prediction parameters.

[0025] Um outro aspecto independente da invenção refere-se ao conceito geral de se fazer uso da coexistência dos dados LPC e SCF (Fator de Escala). Em um codificador com base em transformada, por exemplo, que aplica uma Transformada de Cosseno Discreta Modifi¬cada (MDCT), fatores de escala podem ser usados na quantização para controlar o tamanho da etapa de quantização. Na tecnologia an¬terior, estes fatores de escala são estimados a partir do sinal original para determinar uma curva de mascaramento. Agora, sugere-se esti¬mar um segundo conjunto de fatores de escala com a ajuda de um fil¬tro perceptivo ou modelo psicoacústico que é calculado a partir dos dados de LPC. Isto permite uma redução do custo para transmi- tir/armazenar os fatores de escala pela transmissão/armazenamento apenas da diferença entre os fatores de escala realmente aplicados e os fatores de escala estimados por LPC, em vez da transmis¬são/armazenamento dos fatores de escala reais. Assim, em um siste¬ma de codificação de áudio que contém elementos da codificação de fala, tal como, por exemplo, uma LPC, e elementos da codificação transformada, tal como uma MDCT, a presente invenção reduz o custo para transmitir informação do fator de escala necessária para a parte de codificação transformada do codec, pela exploração dos dados providos pela LPC. Percebe-se que este aspecto é independente de outros aspectos do sistema de codificação de áudio proposto e tam¬bém pode ser implementado em outros sistemas de codificação de áudio.[0025] Another independent aspect of the invention refers to the general concept of making use of the coexistence of LPC and SCF (Scale Factor) data. In a transform-based encoder, for example, that applies a Modified Discrete Cosine Transform (MDCT), scale factors can be used in quantization to control the size of the quantization step. In previous technology, these scale factors are estimated from the original signal to determine a masking curve. Now, it is suggested to estimate a second set of scale factors with the help of a perceptual filter or psychoacoustic model that is calculated from the LPC data. This allows for a reduction in the cost of transmitting / storing the scaling factors by transmission / storage only from the difference between the scaling factors actually applied and the scaling factors estimated by LPC, instead of the transmission / storage of the scaling factors. real scale. Thus, in an audio coding system that contains elements of speech coding, such as, for example, an LPC, and elements of transformed coding, such as an MDCT, the present invention reduces the cost of transmitting factor information scale required for the transformed coding part of the codec, by exploiting the data provided by the LPC. It is noticed that this aspect is independent of other aspects of the proposed audio coding system and can also be implemented in other audio coding systems.

[0026] Por exemplo, uma curva de mascaramento perceptiva pode ser estimada com base nos parâmetros do filtro adaptativo. O segundo conjunto de fatores de escala com base em predição linear pode ser determinado com base na curva de mascaramento perceptiva estima¬da. Então, a informação armazenada/transmitida do fator de escala é determinada com base na diferença entre os fatores de escala real¬mente usados na quantização e os fatores de escala que são calcula¬dos a partir da curva de mascaramento perceptiva com base em LPC. Isto remove dinâmica e redundância da informação armazena¬da/transmitida, de forma que menos bits sejam necessários para ar- mazenar/transmitir os fatores de escala.[0026] For example, a perceptual masking curve can be estimated based on the parameters of the adaptive filter. The second set of scale factors based on linear prediction can be determined based on the estimated perceptual masking curve. Then, the stored / transmitted information of the scale factor is determined based on the difference between the scale factors actually used in the quantization and the scale factors that are calculated from the perceptual masking curve based on LPC. This removes dynamics and redundancy from the information stored / transmitted, so that fewer bits are needed to store / transmit the scale factors.

[0027] No caso em que a LPC e a MDCT não operam na mesma taxa de quadros, isto é, têm diferentes tamanhos de quadro, os fatores de escala com base em predição linear para um quadro do sinal do domínio transformado podem ser estimados com base em parâmetros interpolados de predição linear, para corresponder à janela de tempo coberta pelo quadro MDCT.[0027] In the case where the LPC and MDCT do not operate at the same frame rate, that is, they have different frame sizes, the scale factors based on linear prediction for a frame of the transformed domain signal can be estimated with based on interpolated linear prediction parameters, to correspond to the time window covered by the MDCT table.

[0028] Portanto, a presente invenção provê um sistema de codifi¬cação de áudio que é baseado em um codificador por transformada, e inclui módulos de predição e modelagem fundamentais de um codifi- cador de fala. O sistema inventivo compreende uma unidade de predi¬ção linear para filtrar um sinal de entrada com base em um filtro adap¬tativo; uma unidade de transformação, para transformar um quadro do sinal de entrada filtrado em um domínio transformado; uma unidade de quantização, para quantizer um sinal do domínio transformado; uma unidade de determinação do fator de escala, para geração de fatores de escala com base em uma curva de limite de mascaramento, para uso na unidade de quantização durante a quantização do sinal do do¬mínio transformado; uma unidade de estimação do fator de escala da predição linear, para estimar fatores de escala com base em predição linear com base nos parâmetros do filtro adaptativo; e um codificador do fator de escala para codificar a diferença entre os fatores de escala com base na curva de limite de mascaramento e os fatores de escala com base em predição linear. Pela codificação da diferença entre os fatores de escala aplicados e os fatores de escala que podem ser de¬terminados no decodificador com base em informação de predição li¬near disponível, a eficiência de codificação e armazenamento pode ser aumentada, e apenas poucos bits precisam ser armazena- dos/transmitidos.[0028] Therefore, the present invention provides an audio coding system that is based on a transform encoder, and includes fundamental prediction and modeling modules of a speech encoder. The inventive system comprises a linear prediction unit to filter an input signal based on an adaptive filter; a transformation unit, to transform a frame of the filtered input signal into a transformed domain; a quantization unit, to quantize a signal from the transformed domain; a scale factor determination unit, for generating scale factors based on a masking limit curve, for use in the quantization unit during the quantization of the transformed domain signal; a unit of estimation of the scale factor of linear prediction, to estimate scale factors based on linear prediction based on the parameters of the adaptive filter; and a scale factor encoder to encode the difference between the scale factors based on the masking limit curve and the 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 available linear prediction information, the efficiency of encoding and storage can be increased, and only a few bits need to be stored / transmitted.

[0029] Um outro aspecto específico do codificador independente da invenção refere-se ao tratamento do reservatório de bits para ta¬manhos de quadro variáveis. Em um sistema de codificação de áudio que pode codificar quadros de duração variável, o reservatório de bits é controlado pela distribuição dos bits disponíveis entre os quadros. Dados uma medida de dificuldade razoável para os quadros individu¬ais e um reservatório de bits de um tamanho definido, um certo desvio de uma taxa de bits constante exigida permite uma maior qualidade total, sem uma violação das exigências de armazenamento temporário que são impostas pelo tamanho de reservatório de bits. A presente invenção amplia o conceito do uso de um reservatório de bits para um controle do reservatório de bits para um codec de áudio generalizado com tamanhos de quadro variáveis. Portanto, um sistema de codifica¬ção de áudio pode compreender uma unidade de controle do reserva¬tório de bits, para determinação do número de bits concedidos para codificar um quadro do sinal filtrado com base na duração do quadro e em uma medida de dificuldade do quadro. Preferivelmente, a unidade de controle do reservatório de bits tem equações de controle separa¬das para diferentes medidas de dificuldade do quadro e/ou diferentes tamanhos de quadro. Medidas de dificuldade para diferentes tamanhos de quadro podem ser normalizadas, então, elas podem ser compara¬das mais facilmente. A fim de controlar a alocação de bit para um codi¬ficador de taxa variável, preferivelmente, a unidade de controle do re-servatório de bits ajusta o limite mais baixo permitido do algoritmo de controle de bit concedido no número de bits médio para o maior tama¬nho de quadro permitido.[0029] Another specific aspect of the encoder independent of the invention concerns the treatment of the bit reservoir for variable frame sizes. In an audio coding system that can encode frames of varying duration, the bit reservoir is controlled by the distribution of available bits between the frames. Given a measure of reasonable difficulty for the individual frames and a reservoir of bits of a defined size, a certain deviation from the required constant bit rate allows a higher total quality, without a violation of the temporary storage requirements that are imposed by the bit reservoir size. The present invention extends the concept of using a bit reservoir for controlling the bit reservoir for a generalized audio codec with variable frame sizes. Therefore, an audio coding system may comprise a control unit of the bit reservoir, for determining the number of bits allowed to encode a frame of the filtered signal based on the duration of the frame and a measure of difficulty of the frame. painting. Preferably, the bit reservoir control unit has separate control equations for different frame difficulty measures and / or different frame sizes. Difficulty measures for different frame sizes can be standardized, so they can be compared more easily. In order to control the bit allocation for a variable rate encoder, preferably the bit reservoir control unit sets the lowest allowable limit of the bit control algorithm granted in the average number of bits to the highest allowed frame size.

[0030] Um aspecto adicional da invenção refere-se ao tratamento de um reservatório de bits em um codificador que emprega um quanti¬zador baseado em modelo, por exemplo, um Quantizador com Restri¬ção de Entropia (ECQ). Sugere-se minimizar a variação do tamanho da etapa ECQ. Sugere-se uma equação de controle em particular que relaciona o tamanho da etapa do quantizador com a taxa ECQ.[0030] An additional aspect of the invention relates to the treatment of a reservoir of bits in an encoder that employs a model-based quantizer, for example, an Entropy Restriction Quantizer (ECQ). It is suggested to minimize the variation in the size of the ECQ stage. A particular control equation that relates the size of the quantizer step to the ECQ rate is suggested.

[0031] Preferivelmente, o filtro adaptativo para filtrar o sinal de en¬trada é baseado em uma análise da Codificação por Predição Linear (LPC), incluindo um filtro LPC que produz um sinal de entrada bran¬queado. Parâmetros LPC para o presente quadro de dados de entrada podem ser determinados por algoritmos conhecidos na tecnologia. Uma unidade de estimação do parâmetro LPC pode calcular, para o quadro de dados de entrada, qualquer representação de parâmetro LPC adequado, tais como polinómios, funções de transferência, coefi¬cientes de reflexão, frequências de linha espectral, etc. O tipo em par- ticular da representação do parâmetro LPC que é usada para codifica¬ção ou outro processamento depende de respectivas exigências. Ver-sados na técnica percebem que algumas representações são mais adequadas para certas operações do que outras e, portanto, são pre¬feridas para realizar estas operações. A unidade de predição linear pode operar em um primeiro tamanho de quadro que é fixa, por exem¬plo, 20 ms. A filtragem de predição linear pode operar adicionalmente em um eixo geométrico de frequência deformado para enfatizar seleti¬vamente certas faixas de frequência, tais como baixas frequências, em relação a outras frequências.[0031] Preferably, the adaptive filter to filter the input signal is based on an analysis of Linear Prediction Coding (LPC), including an LPC filter that produces a bleached input signal. LPC parameters for the present input data frame can be determined by algorithms known in the art. An estimation unit of the LPC parameter can calculate, for the input data frame, any suitable representation of LPC parameter, such as polynomials, transfer functions, reflection coefficients, spectral line frequencies, etc. The particular type of representation of the LPC parameter that is used for coding or other processing depends on the respective requirements. People skilled in the art realize that some representations are more suitable for certain operations than others and, therefore, are preferred to perform these operations. The linear prediction unit can operate on a first frame size that is fixed, for example, 20 ms. Linear prediction filtering can additionally operate on a deformed frequency geometric axis to selectively emphasize certain frequency ranges, such as low frequencies, over other frequencies.

[0032] Preferivelmente, a transformada aplicada no quadro do si¬nal de entrada filtrado é uma Transformada de Cosseno Discreta Modi¬ficada (MDCT) que opera em um segundo tamanho de quadro variá¬vel. O sistema de codificação de áudio pode compreender uma unida¬de de controle de sequência de janela, que determina, para um bloco do sinal de entrada, as durações do quadro para sobrepor janelas MDCT pela minimização de uma função do custo de codificação, pre¬ferivelmente, uma entropia perceptiva simplista, para a íntegra do blo¬co do sinal de entrada que inclui diversos quadros. Assim, é derivada uma segmentação ideal do bloco do sinal de entrada nas janelas MDCT com respectivas segundas durações do quadro. Em conse-quência, é proposta uma estrutura de codificação de domínio trans¬formado, incluindo elementos do codificador de fala, com um quadro MDCT de duração adaptativa apenas como unidade básica para todo o processamento, exceto a LPC. Já que as durações do quadro MDCT podem tomar muitos diferentes valores, uma sequência ideal pode ser encontrada, e mudanças abruptas da duração do quadro podem ser evitadas, como é comum na tecnologia anterior, em que apenas um pequeno tamanho de janela e um grande tamanho de janela são apli¬cados. Além do mais, janelas transformadas transicionais com bordas agudas, da forma usada em algumas abordagens da tecnologia ante¬rior para a transição entre pequenos e grandes tamanhos de janela, não são necessárias.[0032] Preferably, the transform applied in the frame of the filtered input signal is a Modified Discrete Cosine Transform (MDCT) that operates in a second variable frame size. The audio coding system may comprise a window sequence control unit, which determines, for a block of the input signal, the frame durations for overlapping MDCT windows by minimizing a function of the coding cost, pre¬ ferably, a simplistic perceptual entropy, for the entire block of the input signal that includes several frames. Thus, an optimal segmentation of the input signal block is derived in the MDCT windows with respective second frame durations. As a result, a transformed domain coding structure is proposed, including elements of the speech encoder, with an MDCT frame of adaptive duration only as a basic unit for all processing, except LPC. Since the durations of the MDCT frame can take many different values, an ideal sequence can be found, and abrupt changes in the frame duration can be avoided, as is common in prior art, where only a small window size and a large size windows are applied. Furthermore, transitional transformed windows with sharp edges, as used in some previous technology approaches for the transition between small and large window sizes, are not necessary.

[0033] Preferivelmente, consecutivos comprimentos de janela MDCT mudam, no máximo, em um fator de dois (2) e/ou os compri-mentos de janela MDCT são valores diádicos. Mais particularmente, os comprimentos de janela MDCT podem ser partições diádicas do bloco do sinal de entrada. Portanto, a sequência de janela MDCT é limitada às sequências predeterminadas que são fáceis de codificar com um pequeno número de bits. Além do mais, a sequência de janela tem su¬aves transições de tamanhos de quadro, desse modo, excluindo mu¬danças abruptas da duração do quadro.[0033] Preferably, consecutive MDCT window lengths change, at most, by a factor of two (2) and / or the MDCT window lengths are dyadic values. More particularly, the MDCT window lengths can be dyadic partitions of the input signal block. Therefore, the MDCT window sequence is limited to predetermined sequences that are easy to encode with a small number of bits. In addition, the window sequence has smooth frame size transitions, thereby excluding abrupt changes in the frame's duration.

[0034] A unidade de controle de sequência de janela pode ser adi¬cionalmente configurada para considerar as estimativas de predição de longo prazo, geradas pela unidade de predição de longo prazo, pa¬ra durações de janela candidatas, durante a busca da sequência de durações de janela MDCT que minimiza a função do custo de codifica¬ção para o bloco do sinal de entrada. Nesta modalidade, o laço de predição de longo prazo é fechado durante a determinação das dura¬ções de janela MDCT, o que resulta em uma melhor sequência de ja¬nelas MDCT aplicada para a codificação.[0034] The window sequence control unit can be additionally configured to take into account the long-term prediction estimates, generated by the long-term prediction unit, for candidate window durations, during the search for the sequence of MDCT window durations that minimize the function of the coding cost for the input signal block. In this modality, the long-term prediction loop is closed during the determination of the MDCT window durations, which results in a better sequence of MDCT windows applied for coding.

[0035] O sistema de codificação de áudio pode compreender adi¬cionalmente um codificador LPC para codificação recursiva, em uma taxa variável, de frequências espectrais de linha ou outras representa¬ções de parâmetro LPC apropriadas, geradas pela unidade de predi¬ção linear, para armazenamento e/ou transmissão a um decodificador. De acordo com uma modalidade, uma unidade de interpolação de pre¬dição linear é provida para interpolar parâmetros de predição linear gerados em uma taxa correspondente a primeira tamanho de quadro para corresponder às durações variáveis do quadro do sinal do domí-nio transformado.[0035] The audio encoding system may additionally comprise an LPC encoder for recursive encoding, at a variable rate, of spectral line frequencies or other appropriate LPC parameter representations, generated by the linear prediction unit, for storage and / or transmission to a decoder. According to one modality, a linear prediction interpolation unit is provided to interpolate linear prediction parameters generated at a rate corresponding to the first frame size to correspond to the variable durations of the transformed domain signal frame.

[0036] De acordo com um aspecto da invenção, o sistema de codi¬ficação de áudio pode compreender uma unidade de modelagem per- ceptiva que modifica uma característica do filtro adaptativo, pelo chia¬do e/ou oscilação de um polinómio LPC gerado pela unidade de predi¬ção linear para um quadro LPC. O modelo perceptivo recebido pela modificação das características do filtro adaptativo pode ser usado com muitos propósitos no sistema. Por exemplo, ele pode ser aplicado como função de ponderação perceptiva na quantização ou na predição de longo prazo.[0036] According to one aspect of the invention, the audio coding system may comprise a perceptual modeling unit that modifies a characteristic of the adaptive filter, by hissing and / or oscillating an LPC polynomial generated by linear prediction unit for an LPC frame. The perceptual model received by modifying the characteristics of the adaptive filter can be used for many purposes in the system. For example, it can be applied as a perceptual weighting function for quantization or long-term prediction.

[0037] Um outro aspecto da invenção refere-se à predição de lon¬go prazo (LTP), em particular, à predição de longo prazo no domínio MDCT, LTP adaptado por quadro MDCT e busca LTP ponderada por MDCT. Estes aspectos são aplicáveis, independente se uma análise LPC está presente à montante do codificador de transformada.[0037] Another aspect of the invention relates to long-term prediction (LTP), in particular, long-term prediction in the MDCT domain, LTP adapted by MDCT framework and MDCT weighted LTP search. These aspects are applicable, regardless of whether an LPC analysis is present upstream of the transform encoder.

[0038] De acordo com uma modalidade, o sistema de codificação de áudio compreende adicionalmente uma unidade de quantização invertida e transformação invertida, para geração de uma reconstrução do domínio temporal do quadro do sinal de entrada filtrado. Além do mais, pode ser provido um armazenamento temporário de predição de longo prazo para armazenar reconstruções de domínio temporal de quadros prévios do sinal de entrada filtrado. Estas unidades podem ser arranjadas em um laço de realimentação da unidade de quantização até uma unidade de extração de predição de longo prazo que busca, no armazenamento temporário de predição de longo prazo, o segmen¬to reconstruído que melhor corresponde ao presente quadro do sinal de entrada filtrado. Além do mais, pode ser provida uma unidade de estimação de ganho de predição de longo prazo que ajusta o ganho do segmento selecionado do armazenamento temporário de predição de longo prazo, de forma que ele melhor corresponda ao presente qua- dro. Preferivelmente, a estimação da predição de longo prazo é subtra¬ída do sinal de entrada transformado no domínio transformado. Portan¬to, pode ser provida uma segunda unidade transformada para trans¬formar o segmento selecionado no domínio transformado. O laço de predição de longo prazo pode incluir adicionalmente adicionar a esti¬mação da predição de longo prazo no domínio transformado ao sinal de realimentação, depois da quantização invertida e antes da trans¬formada invertida no domínio temporal. Assim, pode ser usado um es-quema de predição de longo prazo adaptativo regressivo que prediz, no domínio transformado, o presente quadro do sinal de entrada filtra¬do com base em quadros prévios. A fim de ser mais eficiente, o es¬quema de predição de longo prazo pode ser adicionalmente adaptado de diferentes maneiras, da forma exposta a seguir para alguns exem¬plos.[0038] According to a modality, the audio coding system additionally comprises an inverted quantization and inverted transformation unit, for generating a reconstruction of the temporal domain of the filtered input signal frame. Furthermore, a long-term prediction buffer can be provided to store temporal domain reconstructions of previous frames of the filtered input signal. These units can be arranged in a feedback loop from the quantization unit to a long-term prediction extraction unit that seeks, in the long-term prediction temporary storage, the reconstructed segment that best corresponds to the present frame of the signal. filtered input. In addition, a long-term prediction gain estimation unit can be provided that adjusts the gain of the selected segment of the long-term prediction temporary storage, so that it best corresponds to the present table. Preferably, the long-term prediction estimation is subtracted from the transformed input signal in the transformed domain. Therefore, a second transformed unit can be provided to transform the selected segment in the transformed domain. The long-term prediction loop may additionally include adding the long-term prediction estimate in the transformed domain to the feedback signal, after the inverted quantization and before the inverted transformation in the temporal domain. Thus, a regressive adaptive long-term prediction scheme that predicts, in the transformed domain, the present frame of the filtered input signal based on previous frames. In order to be more efficient, the long-term prediction scheme can be additionally adapted in different ways, as set out below for some examples.

[0039] De acordo com uma modalidade, a unidade de predição de longo prazo compreende um extrator de predição de longo prazo, para determinação de um valor de atraso que especifica o segmento re¬construído do sinal filtrado que melhor se adéqua ao quadro atual do sinal filtrado. Um estimador de ganho de predição de longo prazo pode estimar um valor de ganho aplicado no sinal do segmento selecionado do sinal filtrado. Preferivelmente, o valor de atraso e o valor de ganho são determinados para minimizar um critério de distorção relacionado à diferença, em um domínio perceptive, entre a estimação da predição de longo prazo e o sinal de entrada transformado. Um polinómio de predição linear modificado pode ser aplicado como curva de ganho de equalização do domínio MDCT durante a minimização do critério de distorção.[0039] According to one modality, the long-term prediction unit comprises a long-term prediction extractor, for determining a delay value that specifies the reconstructed segment of the filtered signal that best fits the current frame of the filtered signal. A long-term prediction gain estimator can estimate 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 to minimize a distortion criterion related to the difference, in a perceptive domain, between the estimation of the long-term prediction and the transformed input signal. A modified linear prediction polynomial can be applied as an MDCT domain equalization gain curve while minimizing the distortion criterion.

[0040] A unidade de predição de longo prazo pode compreender uma unidade de transformação para transformar o sinal de segmentos reconstruído do armazenamento temporário da LTP no domínio trans¬formado. Para uma eficiente implementação de uma transformada MDCT, preferivelmente, a transformada é uma Transformada de Cos¬seno Discreta tipo IV.[0040] The long-term prediction unit may comprise a transformation unit to transform the reconstructed segment signal from the LTP temporary storage into the transformed domain. For an efficient implementation of an MDCT transform, the transform is preferably a Discrete Cos¬sine Transform type IV.

[0041] Um outro aspecto da invenção refere-se a um decodificador de áudio para decodificação do fluxo de bits gerado pelas modalidades do codificador exposto. Um decodificador de acordo com uma modali¬dade compreende uma unidade de dequantização, para dequantizar um quadro de um fluxo de bits de entrada, com base em fatores de escala; uma unidade de transformação invertida, para transformar in¬versamente um sinal do domínio transformado; uma unidade de predi¬ção linear, para filtrar o sinal do domínio transformado inversamente transformado; e uma unidade de decodificação de fator de escala para gerar os fatores de escala usados na dequantização com base em in¬formação delta do fator de escala recebida, que codifica a diferença entre os fatores de escala aplicados no codificador e os fatores de es¬cala que são gerados com base em parâmetros do filtro adaptativo. O decodificador pode compreender adicionalmente uma unidade de de-terminação do fator de escala, para gerar fatores de escala com base em uma curva de limite de mascaramento, que é derivada dos parâ¬metros de predição linear para o presente quadro. A unidade de deco¬dificação de fator de escala pode combinar a informação delta do fator de escala recebida e os fatores de escala gerados com base em pre¬dição linear para gerar fatores de escala para entrada na unidade de dequantização.[0041] Another aspect of the invention relates to an audio decoder for decoding the bit stream generated by the exposed encoder modalities. A decoder according to a modality comprises a unit of quantization, to dequantize a frame of an input bit stream, based on scale factors; an inverted transformation unit, to inversely transform a signal from the transformed domain; a linear prediction unit, to filter the signal from the inversely transformed transformed domain; and a scale factor decoding unit to generate the scale factors used in the quantization based on the delta information of the received scale factor, which encodes the difference between the scale factors applied in the encoder and the scale factors which are generated based on adaptive filter parameters. The decoder can additionally comprise a scale factor de-termination unit, to generate scale factors based on a masking limit curve, which is derived from the linear prediction parameters for the present table. The scale factor deco unit can combine the received scale factor delta information and the scale factors generated based on linear prediction to generate scale factors for entry into the quantization unit.

[0042] Um decodificador de acordo com uma outra modalidade compreende uma unidade de dequantização com base em modelo, para dequantizar um quadro de um fluxo de bits de entrada; uma uni¬dade de transformação invertida, para transformar inversamente um sinal do domínio transformado; e uma unidade de predição linear para filtrar o sinal do domínio transformado inversamente transformado. A unidade de dequantização pode compreender um dequantizador não baseado em modelo e um dequantizador baseado em modelo.[0042] A decoder according to another embodiment comprises a model-based quantization unit, to dequantize a frame from an input bit stream; an inverted transformation unit, to inversely transform a signal from the transformed domain; and a linear prediction unit to filter the signal from the inversely transformed transformed domain. The quantization unit may comprise a non-model-based quantizer and a model-based quantizer.

[0043] Preferivelmente, a unidade de dequantização compreende pelo menos um modelo de probabilidade adaptativo. A unidade de de¬quantização pode ser configurada para adaptar a dequantização em função das características de sinal transmitidas.[0043] Preferably, the quantization unit comprises at least one adaptive probability model. The quantization unit can be configured to adapt the quantization according to the transmitted signal characteristics.

[0044] A unidade de dequantização pode decidir adicionalmente uma estratégia de dequantização com base nos dados de controle pa¬ra o quadro decodificado. Preferivelmente, os dados de controle de dequantização são recebidos com o fluxo de bits ou são derivados dos dados recebidos. Por exemplo, a unidade de dequantização decide a estratégia de dequantização com base no tamanho da transformada do quadro.[0044] The dequantization unit can additionally decide on a dequantization strategy based on the control data for the decoded frame. Preferably, the quantization control data is received with the bit stream or is derived from the received data. For example, the dequantization unit decides the dequantization strategy based on the size of the frame transform.

[0045] De acordo com um outro aspecto, a unidade de dequanti¬zação compreende pontos de reconstrução adaptativos. A unidade de dequantização pode compreender dequantizadores escalares unifor¬mes que são configurados para usar dois pontos de reconstrução de dequantização por intervalo de quantização, em particular, um ponto médio e um ponto de reconstrução MMSE.[0045] According to another aspect, the quantization unit comprises adaptive reconstruction points. The quantization unit can comprise uniform scalar quantizers that are configured to use two quantization reconstruction points per quantization interval, in particular, a midpoint and an MMSE reconstruction point.

[0046] De acordo com uma modalidade, a unidade de dequantiza¬ção usa um quantizador baseado em modelo em combinação com co¬dificação aritmética.[0046] According to one modality, the quantization unit uses a model-based quantizer in combination with arithmetic codification.

[0047] Além do mais, o decodificador pode compreender muitos dos aspectos supradivulgados para o codificador. No geral, o decodifi-cador espelhará as operações do codificador, embora algumas opera¬ções sejam realizadas apenas no codificador e não tenham compo¬nentes correspondentes no decodificador. Assim, o que é divulgado para o codificador também é considerável como aplicável para o deco¬dificador, se não declarado de outra forma.[0047] Furthermore, the decoder can comprise many of the aspects described above for the encoder. In general, the decoder will mirror the operations of the encoder, although some operations are performed only on the encoder and do not have corresponding components on the decoder. Thus, what is disclosed to the encoder is also considerable as applicable to the deco¬difier, if not stated otherwise.

[0048] Os aspectos expostos da invenção podem ser implementa- dos como um dispositivo, aparelho, método ou programa de computa¬dor que opera em um dispositivo programável. Aspectos inventivos podem ser adicionalmente incorporados em sinais, estruturas de da¬dos e fluxos contínuos de bits.[0048] The exposed aspects of the invention can be implemented as a device, device, method or computer program that operates on a programmable device. Inventive aspects can additionally be incorporated into signals, data structures and continuous bit streams.

[0049] Assim, o pedido divulga adicionalmente um método de codi¬ficação de áudio e um método de decodificação de áudio. Um método exemplar de codificação de áudio compreende as etapas de: filtrar um sinal de entrada com base em um filtro adaptativo; transformar um quadro do sinal de entrada filtrado em um domínio transformado; quantizer o sinal do domínio transformado; gerar fatores de escala, com base em uma curva de limite de mascaramento, para uso na uni¬dade de quantização durante a quantização do sinal do domínio trans¬formado; estimar fatores de escala com base em predição linear com base em parâmetros do filtro adaptativo; e codificar a diferença entre os fatores de escala com base na curva de limite de mascaramento e os fatores de escala com base em predição linear.[0049] Thus, the application additionally discloses an audio coding method and an audio decoding method. An exemplary method of audio coding comprises the steps of: filtering an input signal based on an adaptive filter; transform a frame of the filtered input signal into a transformed domain; quantize the signal of the transformed domain; generate scale factors, based on a masking limit curve, for use in the quantization unit during the quantization of the signal of the transformed domain; estimate scale factors based on linear prediction based on adaptive filter parameters; and to encode the difference between the scale factors based on the masking limit curve and the scale factors based on linear prediction.

[0050] Um outro método de codificação de áudio compreende as etapas de: filtrar um sinal de entrada com base em um filtro adaptativo; transformar um quadro do sinal de entrada filtrado em um domínio transformado; e quantizer o sinal do domínio transformado; em que a unidade de quantização decide, com base em características do sinal de entrada, codificar o sinal do domínio transformado com um quanti¬zador baseado em modelo ou um quantizador não baseado em mode¬lo.[0050] Another method of audio encoding comprises the steps of: filtering an input signal based on an adaptive filter; transform a frame of the filtered input signal into a transformed domain; and quantize the signal from the transformed domain; where the quantization unit decides, based on the characteristics of the input signal, to encode the transformed domain signal with a model-based quantizer or a non-model based quantizer.

[0051] Um método exemplar de decodificação de áudio compre¬ende as etapas de: dequantizar um quadro de um fluxo de bits de en¬trada com base em fatores de escala; transformar inversamente um sinal do domínio transformado; filtrar com predição linear o sinal do domínio transformado inversamente transformado; estimar segundos fatores de escala com base em parâmetros do filtro adaptativo; e gerar os fatores de escala usados na dequantização com base na informa¬ção da diferença do fator de escala recebida e os segundos fatores de escala estimados.[0051] An exemplary audio decoding method comprises the steps of: dequantifying a frame from an input bit stream based on scale factors; inversely transform a signal from the transformed domain; filter with linear prediction the signal of the transformed domain inversely transformed; estimate second scale factors based on adaptive filter parameters; and to generate the scale factors used in the quantization based on the information of the difference of the received scale factor and the second estimated scale factors.

[0052] Um outro método de codificação de áudio compreende as etapas: dequantizar um quadro de um fluxo de bits de entrada; trans¬formar inversamente um sinal do domínio transformado; e filtrar com predição linear o sinal do domínio transformado inversamente trans¬formado; em que a dequantização usa um quantizador não baseado em modelo e um quantizador baseado em modelo.[0052] Another method of audio encoding comprises the steps: de-quantizing a frame from an input bit stream; inversely transform a signal from the transformed domain; and filter with linear prediction the signal of the transformed domain inversely transformed; where dequantization uses a non-model-based quantizer and a model-based quantizer.

[0053] Estes são apenas exemplos de métodos preferidos de codi- ficação/decodificação de áudio e programas de computador que são preceituados pelo presente pedido e que versados na técnica podem derivar da seguinte descrição das modalidades exemplares.[0053] These are just examples of preferred methods of encoding / decoding audio and computer programs that are prescribed by the present application and that versed in the technique can derive from the following description of the exemplary modalities.

Breve Descrição dos DesenhosBrief Description of Drawings

[0054] A presente invenção será agora descrita a título de exem¬plos ilustrativos, não limitando o escopo ou o espírito da invenção, em relação aos desenhos anexos, nos quais:[0054] The present invention will now be described by way of illustrative examples, without limiting the scope or spirit of the invention, in relation to the attached drawings, in which:

[0055] a figura 1 ilustra uma modalidade preferida de um codifica¬dor e um decodificador, de acordo com a presente invenção;[0055] figure 1 illustrates a preferred embodiment of an encoder and a decoder, according to the present invention;

[0056] a figura 2 ilustra uma vista mais detalhada do codificador e do decodificador, de acordo com a presente invenção;[0056] figure 2 illustrates a more detailed view of the encoder and decoder, according to the present invention;

[0057] a figura 3 ilustra uma outra modalidade do codificador, de acordo com a presente invenção;[0057] figure 3 illustrates another embodiment of the encoder, according to the present invention;

[0058] a figura 4 ilustra uma modalidade preferida do codificador, de acordo com a presente invenção;[0058] figure 4 illustrates a preferred embodiment of the encoder, according to the present invention;

[0059] a figura 5 ilustra uma modalidade preferida do decodifica¬dor, de acordo com a presente invenção;[0059] Figure 5 illustrates a preferred embodiment of the decoder, according to the present invention;

[0060] a figura 6 ilustra uma modalidade preferida da codificação e da decodificação das linhas da MDCT, de acordo com a presente in¬venção;[0060] figure 6 illustrates a preferred method of encoding and decoding MDCT lines, in accordance with the present invention;

[0061] a figura 7 ilustra uma modalidade preferida do codificador e decodificador, e exemplos de dados de controle relevantes transmiti¬dos de um para o outro, de acordo com a presente invenção;[0061] Figure 7 illustrates a preferred embodiment of the encoder and decoder, and examples of relevant control data transmitted from one to the other, in accordance with the present invention;

[0062] a figura 7a é uma outra ilustração de aspectos do codifica¬dor, de acordo com uma modalidade da invenção;[0062] figure 7a is another illustration of aspects of the encoder, according to an embodiment of the invention;

[0063] a figura 8 ilustra um exemplo de uma sequência de janela e a relação entre dados da LPC e dados da MDCT, de acordo com uma modalidade da presente invenção;[0063] figure 8 illustrates an example of a window sequence and the relationship between LPC data and MDCT data, according to an embodiment of the present invention;

[0064] a figura 9 ilustra uma combinação de dados de fator de es¬cala e dados da LPC, de acordo com a presente invenção;[0064] figure 9 illustrates a combination of scale factor data and LPC data, according to the present invention;

[0065] a figura 9a ilustra uma outra modalidade da combinação de dados de fator de escala e dados da LPC, de acordo com a presente invenção;[0065] figure 9a illustrates another embodiment of the combination of scale factor data and LPC data, according to the present invention;

[0066] a figura 9b ilustra um outro diagrama de bloco simplificado de um codificador e um decodificador, de acordo com a presente in-venção;[0066] figure 9b illustrates another simplified block diagram of an encoder and a decoder, in accordance with the present invention;

[0067] a figura 10 ilustra uma modalidade preferida da tradução de polinómios LPC para uma curva de ganho da MDCT, de acordo com a presente invenção;[0067] figure 10 illustrates a preferred embodiment of the translation of LPC polynomials to an MDCT gain curve, according to the present invention;

[0068] a figura 11 ilustra uma modalidade preferida do mapeamen¬to dos parâmetros LPC com taxa de atualização constante para os da¬dos da sequência de janela MDCT adaptativa, de acordo com a pre¬sente invenção;[0068] Figure 11 illustrates a preferred method of mapping the LPC parameters with a constant update rate for the data of the adaptive MDCT window sequence, according to the present invention;

[0069] a figura 12 ilustra uma modalidade preferida da adaptação do cálculo do filtro de ponderação perceptiva com base no tamanho da transformada e no tipo de quantizador, de acordo com a presente in-venção;[0069] figure 12 illustrates a preferred method of adapting the perceptual weighting filter calculation based on the size of the transform and the type of quantizer, according to the present invention;

[0070] a figura 13 ilustra uma modalidade preferida da adaptação do quantizador dependente da duração do quadro, de acordo com a presente invenção;[0070] figure 13 illustrates a preferred embodiment of the quantizer adaptation depending on the duration of the frame, according to the present invention;

[0071] a figura 14 ilustra uma modalidade preferida da adaptação do quantizador dependente da duração do quadro, de acordo com a presente invenção;[0071] figure 14 illustrates a preferred embodiment of the quantizer adaptation depending on the duration of the frame, according to the present invention;

[0072] a figura 15 ilustra uma modalidade preferida da adaptação do tamanho da etapa de quantização em função dos dados LPC e LTP, de acordo com a presente invenção;[0072] figure 15 illustrates a preferred embodiment of adapting the size of the quantization step according to the LPC and LTP data, according to the present invention;

[0073] a figura 15a ilustra como uma curva delta é derivada dos parâmetros LPC e LTP por meio de um módulo de adaptação delta;[0073] figure 15a illustrates how a delta curve is derived from the LPC and LTP parameters by means of a delta adaptation module;

[0074] a figura 16 ilustra uma modalidade preferida de um quanti¬zador baseado em modelo que utiliza deslocamentos aleatórios, de acordo com a presente invenção;[0074] Figure 16 illustrates a preferred modality of a quantizer based on a model that uses random displacements, according to the present invention;

[0075] a figura 17 ilustra uma modalidade preferida de um quanti¬zador baseado em modelo de acordo com a presente invenção;[0075] figure 17 illustrates a preferred embodiment of a model-based quantizer according to the present invention;

[0076] a figura 17a ilustra uma outra modalidade preferida de um quantizador baseado em modelo de acordo com a presente invenção;[0076] figure 17a illustrates another preferred embodiment of a model-based quantizer according to the present invention;

[0077] a figura 17b ilustra esquematicamente um decodificador de linhas da MDCT com base em modelo 2150 de acordo com uma mo¬dalidade da invenção;[0077] figure 17b schematically illustrates an MDCT line decoder based on model 2150 according to a modality of the invention;

[0078] a figura 17c ilustra esquematicamente aspectos do pré- processamento do quantizador de acordo com uma modalidade da invenção;[0078] figure 17c schematically illustrates aspects of the quantizer pre-processing according to an embodiment of the invention;

[0079] a figura 17d ilustra esquematicamente aspectos da compu¬tação do tamanho da etapa de acordo com uma modalidade da inven-ção;[0079] figure 17d schematically illustrates aspects of the computation of the step size according to a modality of the invention;

[0080] a figura 17e ilustra esquematicamente um codificador com restrição de entropia com base em modelo de acordo com uma moda¬lidade da invenção;[0080] figure 17e schematically illustrates an entropy-restricted encoder based on a model according to a mode of the invention;

[0081] a figura 17f ilustra esquematicamente a operação de um quantizador escalar uniforme (USQ) de acordo com uma modalidade da invenção;[0081] figure 17f schematically illustrates the operation of a uniform scalar quantizer (USQ) according to an embodiment of the invention;

[0082] a figura 17g ilustra esquematicamente computações de probabilidade de acordo com uma modalidade da invenção;[0082] figure 17g schematically illustrates probability computations according to an embodiment of the invention;

[0083] a figura 17h ilustra esquematicamente um processo de de¬quantização de acordo com uma modalidade da invenção;[0083] figure 17h schematically illustrates a process of quantization according to one embodiment of the invention;

[0084] a figura 18 ilustra uma modalidade preferida de um controle de reservatório de bits de acordo com a presente invenção;[0084] figure 18 illustrates a preferred embodiment of a bit reservoir control according to the present invention;

[0085] a figura 18a ilustra o conceito básico de um controle do re¬servatório de bits;[0085] figure 18a illustrates the basic concept of a control of the bit reservoir;

[0086] a figura 18b ilustra o conceito de um controle do reservató¬rio de bits para tamanhos de quadro variáveis, de acordo com a pre-sente invenção;[0086] figure 18b illustrates the concept of a control of the bit reservoir for variable frame sizes, according to the present invention;

[0087] a figura 18c mostra uma curva de controle exemplar para o controle do reservatório de bits de acordo com uma modalidade;[0087] figure 18c shows an exemplary control curve for controlling the bit reservoir according to a modality;

[0088] a figura 19 ilustra uma modalidade preferida do quantizador invertido usando diferentes pontos de reconstrução, de acordo com a presente invenção.[0088] Figure 19 illustrates a preferred embodiment of the inverted quantizer using different reconstruction points, in accordance with the present invention.

Descrição das Modalidades PreferidasDescription of Preferred Modalities

[0089] As modalidades descritas a seguir são meramente ilustrati¬vas para os princípios da presente invenção para codificador e decodi-ficador de áudio. Entende-se que modificações e variações dos arran¬jos e dos detalhes aqui descritos serão aparentes aos outros versados na técnica. Portanto, pretende-se que sejam limitadas apenas pelo es¬copo das concretizações e não pelos detalhes específicos apresenta¬dos a título de descrição e explicação das modalidades aqui expostas. Componentes similares das modalidades são numerados por números de referência similares.[0089] The modalities described below are merely illustrative for the principles of the present invention for audio encoder and decoder. It is understood that modifications and variations of the arrangements and details described here will be apparent to others skilled in the art. Therefore, it is intended that they are limited only by the scope of the achievements and not by the specific details presented as a description and explanation of the modalities exposed here. Similar components of the modalities are numbered by similar reference numbers.

[0090] Na figura 1, um codificador 101 e um decodificador 102 são visualizados. O codificador 101 toma o sinal de entrada do domínio temporal e produz um fluxo de bits 103 subsequentemente transmitido ao decodificador 102. O decodificador 102 produz uma forma de onda de saída com base no fluxo de bits recebido 103. O sinal de saída se assemelha psicoacusticamente ao sinal de entrada original.[0090] In figure 1, an encoder 101 and a decoder 102 are displayed. Encoder 101 takes the input signal from the time domain and produces a bit stream 103 subsequently transmitted to decoder 102. Decoder 102 produces an output waveform based on received bit stream 103. The output signal resembles psychoacoustically to the original input signal.

[0091] Na figura 2, uma modalidade preferida do codificador 200 e dos decodificadores 210 é ilustrada. O sinal de entrada no codificador 200 passa através de um módulo da LPC (Codificação por Predição Linear) 201 que gera um sinal residual branqueado para um quadro LPC, com um primeiro tamanho de quadro, e os correspondentes pa¬râmetros de predição linear. Adicionalmente, normalização de ganho pode ser incluída no módulo da LPC 201. O sinal residual do LPC é transformado no domínio de frequência por um módulo da MDCT (Transformada de Cosseno Discreta Modificada) 202 que opera em um segundo tamanho de quadro variável. No codificador 200 repre-sentado na figura 2, um módulo da LTP (Predição de Longo Prazo) 205 é incluído. LTP será elaborada em uma modalidade adicional da presente invenção. As linhas da MDCT são quantizadas 203 e também dequantizadas 204, a fim de alimentar um armazenamento temporário da LTP com uma cópia da saída decodificada, como será disponível ao decodificador 210. Em função da distorção de quantização, esta cópia é chamada de reconstrução do respectivo sinal de entrada. Na parte inferior da figura 2, o decodificador 210 é representado. O deco¬dificador 210 toma as linhas quantizadas da MDCT, as dequantiza 211, adiciona a contribuição do módulo da LTP 214, e faz uma trans-formada MDCT invertida 212, seguida por um filtro de síntese da LPC 213.[0091] In figure 2, a preferred embodiment of encoder 200 and decoders 210 is illustrated. The input signal at encoder 200 passes through an LPC (Linear Prediction Coding) module 201 which generates a bleached residual signal for an LPC frame, with a first frame size, and the corresponding linear prediction parameters. In addition, gain normalization can be included in the LPC module 201. The residual signal from the LPC is transformed into the frequency domain by a module from the MDCT (Modified Discrete Cosine Transform) 202 that operates on a second variable frame size. In the encoder 200 represented in figure 2, a module of the LTP (Long Term Prediction) 205 is included. LTP will be elaborated in an additional embodiment of the present invention. The MDCT lines are quantized 203 and also quantized 204, in order to supply LTP temporary storage with a copy of the decoded output, as will be available to decoder 210. Due to the quantization distortion, this copy is called the reconstruction of the respective input signal. At the bottom of figure 2, the decoder 210 is shown. The deco¬difier 210 takes the quantized lines from the MDCT, dequantizes them 211, adds the contribution of the LTP 214 module, and makes an inverted MDCT transform 212, followed by a synthesis filter from the LPC 213.

[0092] Um importante aspecto da modalidade exposta é que o quadro MDCT é a única unidade básica para codificação, embora a LPC tenha seus próprios (e, em uma modalidade, constantes) duração do quadro e parâmetros LPC, que também são codificados. A modali¬dade começa a partir de um codificador por transformada, e introduz módulos de predição e modelagem fundamentais de um codificador de fala. Como será discutido a seguir, a duração do quadro MDCT é vari¬ável e é adaptada a um bloco do sinal de entrada pela determinação da sequência de janela MDCT ideal para a íntegra do bloco, pela mi- nimização uma função de custo de entropia perceptiva simplista. Isto permite escalonar para manter controle de tempo/frequência ideal. Adicionalmente, a estrutura unificada proposta evita combinações co¬mutadas ou em camadas de diferentes paradigmas de codificação.[0092] An important aspect of the exposed modality is that the MDCT frame is the only basic unit for encoding, although the LPC has its own (and, in one mode, constants) frame duration and LPC parameters, which are also encoded. Modality starts from a transform encoder, and introduces fundamental prediction and modeling modules of a speech encoder. As will be discussed below, the duration of the MDCT frame is variable and is adapted to a block of the input signal by determining the ideal MDCT window sequence for the entire block, by minimizing a perceptual entropy cost function. simplistic. This allows scaling to maintain optimal time / frequency control. In addition, the proposed unified structure avoids switched or layered combinations of different coding paradigms.

[0093] Na figura 3, partes do codificador 300 são esquematica¬mente descritas com mais detalhes. O sinal branqueado transmitido do módulo da LPC 201 no codificador da figura 2 é inserido no banco de filtro da MDCT 302. Opcionalmente, a análise da MDCT pode ser uma análise da MDCT deformada em relação ao tempo, que garante que o passo do sinal (se o sinal for periódico com um passo bem definido) seja constante em relação à janela da transformada MDCT.[0093] In figure 3, parts of encoder 300 are schematically described in more detail. The bleached signal transmitted from the LPC 201 module in the encoder in figure 2 is inserted in the filter bank of the MDCT 302. Optionally, the analysis of the MDCT can be an analysis of the MDCT deformed in relation to time, which ensures that the signal step ( if the signal is periodic with a well-defined step) be constant in relation to the MDCT transform window.

[0094] Na figura 3, o módulo da LTP 310 é esboçado com mais detalhes. Ele compreende um armazenamento temporário da LTP 311 que contém amostras do domínio temporal reconstruído dos segmen¬tos prévios do sinal de saída. Um extrator da LTP 312 encontra o me¬lhor segmento correspondente no armazenamento temporário da LTP 311, dado o atual segmento de entrada. Um valor de ganho adequado é aplicado neste segmento pela unidade de ganho 313 antes de ele ser subtraído do segmento que é atualmente inserido no quantizador 303. Evidentemente, a fim de fazer a subtração antes da quantização, o extrator da LTP 312 também transforma o segmento de sinal esco¬lhido no domínio MDCT. O extrator da LTP 312 busca os melhores va¬lores de ganho e atraso que minimizam uma função de erro no domí-nio perceptive durante a combinação do segmento do sinal de saída prévio reconstruído com o quadro de entrada do domínio MDCT trans¬formado. Por exemplo, uma função de erro quadrático médio (MSE) entre o segmento reconstruído transformado do módulo da LTP 310 e o quadro de entrada transformado (isto é, o sinal residual depois da subtração) é otimizada. Esta otimização pode ser realizada em um domínio perceptivo, em que componentes de frequência (isto é, linhas da MDCT) são ponderadas de acordo com sua importância perceptiva. O módulo da LTP 310 opera em unidades do quadro MDCT, e o codi¬ficador 300 considera um quadro MDCT residual por vez, por exemplo, para quantização no módulo de quantização 303. A busca de atraso e ganho pode ser realizada em um domínio perceptivo. Opcionalmente, a LTP pode ser seletiva de frequência, isto é, adapta o ganho e/ou atraso em relação à frequência. Uma unidade de quantização invertida 304 e uma unidade MDCT invertida 306 são representadas. A MDCT pode ser deformada em relação ao tempo, da forma explicada posteri¬ormente.[0094] In figure 3, the LTP 310 module is outlined in more detail. It comprises a temporary storage of LTP 311 that contains samples of the reconstructed time domain of the previous segments of the output signal. An LTP 312 extractor finds the best corresponding segment in the temporary storage of LTP 311, given the current input segment. A suitable gain value is applied to this segment by the gain unit 313 before it is subtracted from the segment that is currently inserted in the quantizer 303. Of course, in order to do the subtraction before quantization, the LTP 312 extractor also transforms the segment signal chosen in the MDCT domain. The LTP 312 extractor seeks the best gain and delay values that minimize an error function in the perceptive domain when combining the segment of the reconstructed previous output signal with the input frame of the transformed MDCT domain. For example, an average squared error (MSE) function between the transformed reconstructed segment of the LTP 310 module and the transformed input frame (ie, the residual signal after subtraction) is optimized. This optimization can be performed in a perceptual domain, in which frequency components (that is, MDCT lines) are weighted according to their perceptual importance. The LTP 310 module operates in units of the MDCT frame, and the encoder 300 considers one residual MDCT frame at a time, for example, for quantization in the quantization module 303. The delay and gain search can be performed in a perceptual domain . Optionally, the LTP can be frequency selective, that is, it adapts the gain and / or delay in relation to the frequency. An inverted quantization unit 304 and an inverted MDCT unit 306 are represented. MDCT can be deformed in relation to time, as explained later.

[0095] Na figura 4, é ilustrada uma outra modalidade do codifica¬dor 400. Além da figura 3, a análise LPC 401 é incluída para esclare-cimento. Uma transformada DCT-IV 414 usada para transformar um segmento de sinal selecionado no domínio MDCT é mostrada. Adicio¬nalmente, diversas maneiras de calcular o erro mínimo para a seleção do segmento LTP são ilustradas. Além da minimização do sinal resi¬dual mostrada na figura 4 (identificada como LTP2 na figura 4), é ilus¬trada a minimização da diferença entre o sinal de entrada transforma¬do e o sinal do domínio MDCT dequantizado antes de ser inversamen¬te transformado em um sinal do domínio temporal reconstruído para armazenamento no armazenamento temporário da LTP 411 (indicada como LTP3). A minimização desta função MSE direcionará a contribui¬ção LTP na direção de uma similaridade ideal (conforme possível) do sinal de entrada transformado e do sinal de entrada reconstruído, para armazenamento no armazenamento temporário da LTP 411. Uma ou¬tra função de erro alternativa (indicada como LTP 1) é baseada na di¬ferença destes sinais no domínio temporal. Neste caso, o MSE entre o quadro de entrada LPC filtrado e a correspondente reconstrução do domínio temporal no armazenamento temporário da LTP 411 é mini¬mizado. O MSE é vantajosamente calculado com base na duração do quadro MDCT, que pode ser diferente da duração do quadro da LPC. Adicionalmente, os blocos do quantizador e dequantizador são substi-tuídos pelo bloco de codificação de espectro 403 e pelos blocos de decodificação de espectro 404 ("Spec enc" e "Spec dec") que podem conter módulos adicionais, além da quantização, como será esboçado na figura 6. Novamente, a MDCT e a MDCT invertida podem ser de¬formadas em relação ao tempo (WMDCT, IWMDCT).[0095] In figure 4, another modality of encoder 400 is illustrated. In addition to figure 3, the LPC 401 analysis is included for clarification. A DCT-IV 414 transform used to transform a selected signal segment in the MDCT domain is shown. In addition, several ways of calculating the minimum error for the selection of the LTP segment are illustrated. In addition to minimizing the residual signal shown in figure 4 (identified as LTP2 in figure 4), the difference between the transformed input signal and the signal from the MDCT domain de-quantized before being inversely illustrated is illustrated. transformed into a reconstructed temporal domain signal for storage in LTP 411 temporary storage (indicated as LTP3). Minimizing this MSE function will direct the LTP contribution towards an ideal similarity (as possible) of the transformed input signal and the reconstructed input signal, for storage in the temporary storage of LTP 411. Another alternative error function (indicated as LTP 1) is based on the difference of these signals in the temporal domain. In this case, the MSE between the filtered LPC input frame and the corresponding reconstruction of the temporal domain in the temporary storage of LTP 411 is mini-minimized. The MSE is advantageously calculated based on the duration of the MDCT framework, which may differ from the duration of the LPC framework. Additionally, the quantizer and dequantizer blocks are replaced by the 403 spectrum coding block and the 404 spectrum decoding blocks ("Spec enc" and "Spec dec") that can contain additional modules, in addition to quantization, as will be outlined in figure 6. Again, the MDCT and the inverted MDCT can be deformed in relation to time (WMDCT, IWMDCT).

[0096] Na figura 5, um decodificador proposto 500 é ilustrado. Os dados do espectro do fluxo de bits recebido são inversamente quanti- zados 511 e adicionados com uma contribuição LTP provida por um extrator da LTP a partir de um armazenamento temporário da LTP 515. O extrator da LTP 516 e a unidade de ganho de LTP 517 no de¬codificador 500 também são ilustrados. As linhas da MDCT somadas são sintetizadas no domínio temporal por um bloco de síntese da MDCT, e o domínio temporal sinal é espectralmente modelado por um filtro de síntese da LPC 513.[0096] In figure 5, a proposed decoder 500 is illustrated. The received bitstream spectrum data is inversely quantized 511 and added with an LTP contribution provided by an LTP extractor from an LTP 515 buffer. The LTP 516 extractor and the LTP gain unit 517 on the decoder 500 are also illustrated. The combined MDCT lines are synthesized in the time domain by an MDCT synthesis block, and the signal time domain is spectrally modeled by an LPC 513 synthesis filter.

[0097] Na figura 6 os blocos "Spec dec"e "Spec enc" 403, 404 da figura 4 são descritos com mais detalhes. O bloco "Spec enc" 603 ilus-trado na direita da figura compreende, em uma modalidade, um módu¬lo de análise de Predição Harmônica 610, um módulo de análise TNS (Modelagem de Ruído Temporal) 611, seguido por um módulo de es¬calonamento de fator de escala 612 das linhas da MDCT, e finalmente, quantização e codificação das linhas em um módulo de linhas Enc 613. O bloco "Spec Dec"do decodificador 604, ilustrado na esquerda da figura, faz o processo inverso, isto é, as linhas da MDCT recebidas são dequantizadas em um módulo de linhas Dec 620, e o escalona¬mento é desfeito por um módulo de escalonamento do fator de escala (SCF) 621. Síntese TNS 622 e síntese de predição Harmônica 623 são aplicadas.[0097] In figure 6 the blocks "Spec dec" and "Spec enc" 403, 404 of figure 4 are described in more detail. The "Spec enc" block 603 shown on the right of the figure comprises, in one modality, a Harmonic Prediction analysis module 610, a TNS (Temporal Noise Modeling) analysis module 611, followed by a module of analysis ¬ scaling factor 612 of the MDCT lines, and finally, quantizing and coding the lines in an Enc 613 line module. The "Spec Dec" block of decoder 604, shown on the left of the figure, does the reverse process, this that is, the MDCT lines received are de-quantized in a Dec 620 line module, and the scaling is undone by a scale factor scaling module (SCF) 621. TNS 622 synthesis and Harmonic prediction synthesis 623 are applied.

[0098] Na figura 7, é esboçada uma ilustração muito geral do sis¬tema de codificação inventivo. O codificador exemplar toma o sinal de entrada e produz um fluxo de bits que contém, entre outros dados:

  • linhas da MDCT quantizadas;
  • fatores de escala;
  • representação do polinómio LPC;
  • energia do segmento de sinal (por exemplo, variância do sinal);
  • sequência de janela;
  • dados da LTP.
[0098] In figure 7, a very general illustration of the inventive coding system is outlined. The exemplary encoder takes the input signal and produces a bit stream that contains, among other data:
  • quantified MDCT lines;
  • scale factors;
  • representation of the LPC polynomial;
  • energy of the signal segment (for example, signal variance);
  • window string;
  • LTP data.

[0099] O decodificador de acordo com a modalidade lê o fluxo de bits provido e produz um sinal de saída de áudio, que se assemelha psicoacusticamente ao sinal original.[0099] The decoder according to the modality reads the provided bit stream and produces an audio output signal, which resembles psychoacoustically the original signal.

[00100] A figura 7a é uma outra ilustração dos aspectos de um codi¬ficador 700 de acordo com uma modalidade da invenção. O codifica¬dor 700 compreende um módulo da LPC 701, um módulo da MDCT 704, um módulo da LTP 705 (mostrado somente simplificado), um mó¬dulo de quantização 703 e um módulo de quantização invertida 704 para realimentar sinais reconstruídos no módulo da LTP 705. São adi¬cionalmente providos um módulo de estimação de passo 750, para estimar o passo do sinal de entrada, e um módulo de determinação da sequência de janela 751, para determinar a sequência de janela MDCT ideal para um maior bloco do sinal de entrada (por exemplo, 1 segundo). Nesta modalidade, a sequência de janela MDCT é determi-nada com base em uma abordagem de laço aberto, em que é determi¬nada a sequência de tamanho de janelas MDCT candidatas que mini¬miza uma função do custo de codificação, por exemplo, uma entropia perceptiva simplista. A contribuição do módulo da LTP 705 na função do custo de codificação, que é minimizada pelo módulo de determina¬ção da sequência de janela 751, pode ser opcionalmente considerável durante a busca da sequência de janela MDCT ideal. Preferivelmente, para cada tamanho de janela candidato avaliado, é determinada a me¬lhor contribuição da predição de longo prazo ao quadro MDCT corres-pondente ao tamanho de janela candidata, e o respectivo custo de co¬dificação é estimado. No geral, pequenos tamanhos de quadro MDCT são mais apropriados para entrada de fala, enquanto que longas jane¬las transformadas com uma fina resolução espectral são preferidas para sinais de áudio.[00100] Figure 7a is another illustration of aspects of a coder 700 according to an embodiment of the invention. The 700 encoder comprises an LPC 701 module, an MDCT 704 module, an LTP 705 module (shown only simplified), a quantization module 703 and an inverted quantization module 704 to feed back reconstructed signals in the LTP 705. A step 750 estimation module is additionally provided to estimate the input signal pitch and a window sequence determination module 751 to determine the ideal MDCT window sequence for a larger signal block input (for example, 1 second). In this modality, the MDCT window sequence is determined based on an open loop approach, in which the candidate MDCT window size sequence is determined, which minimizes a function of the coding cost, for example, a simplistic perceptual entropy. The contribution of the LTP 705 module to the encoding cost function, which is minimized by the window sequence determination module 751, can optionally be considerable when searching for the ideal MDCT window sequence. Preferably, for each candidate window size evaluated, the best contribution of the long-term prediction to the MDCT table corresponding to the candidate window size is determined, and the respective cost of codification is estimated. In general, small MDCT frame sizes are more suitable for speech input, while long windows transformed with fine spectral resolution are preferred for audio signals.

[00101] Ponderações perceptivas ou uma função de ponderação perceptiva são determinadas com base nos parâmetros LPC calcula-dos pelo módulo da LPC 701, o que será explicado com mais detalhes a seguir. As ponderações perceptivas são supridas no módulo da LTP 705 e no módulo de quantização 703, ambos operando no domínio MDCT, para ponderação das contribuições de erro ou distorção dos componentes de frequência de acordo com suas respectivas impor¬tâncias perceptivas. A figura 7a ilustra adicionalmente quais parâme¬tros de codificação são transmitidos ao decodificador, preferivelmente, por um esquema de codificação apropriado, como será discutido a se¬guir.[00101] Perceptual weights or a perceptual weighting function are determined based on the LPC parameters calculated by the LPC 701 module, which will be explained in more detail below. The perceptual weights are supplied in the LTP 705 module and in the quantization module 703, both operating in the MDCT domain, for weighting the contributions of error or distortion of the frequency components according to their respective perceptual importance. Figure 7a further illustrates which encoding parameters are transmitted to the decoder, preferably by an appropriate encoding scheme, as will be discussed below.

[00102] A seguir, a coexistência da LPC e de dados da MDCT, e a emulação do efeito da LPC na MDCT, tanto para ação contrária quan¬to omissão de filtragem real, será discutida.[00102] Next, the coexistence of LPC and MDCT data, and the emulation of the effect of LPC on MDCT, both for the opposite action and for the omission of real filtering, will be discussed.

[00103] De acordo com uma modalidade, o módulo LP filtra o sinal de entrada, de forma que a forma espectral do sinal seja removida, e a subsequente saída do módulo LP seja um sinal espectralmente nivela¬do. Isto é vantajoso, por exemplo, para a operação da LTP. Entretanto, outras partes do codec que operam no sinal espectralmente nivelado podem se beneficiar por saber qual a forma espectral do sinal original era anterior à filtragem LP. Uma vez que os módulos do codificador, depois da filtragem, operam na transformada MDCT do sinal espec¬tralmente nivelado, a presente invenção preceitua que, se necessário, a forma espectral do sinal original anterior à filtragem LP pode ser reimposta na representação MDCT do sinal espectralmente nivelado, pelo mapeamento da função de transferência do filtro LP usado (isto é, o envelope espectral do sinal original) em uma curva de ganho, ou curva de equalização, que é aplicada nas posições de frequência da representação MDCT do sinal espectralmente nivelado. Inversamente, o módulo LP pode omitir a filtragem real, e apenas estimar uma função de transferência que é subsequentemente mapeada para uma curva de ganho, que pode ser imposta na representação MDCT do sinal, as¬sim, removendo a necessidade da filtragem do domínio temporal do sinal de entrada.[00103] According to one modality, 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 a spectrally leveled signal. This is advantageous, for example, for the operation of the LTP. However, other parts of the codec that operate on the spectrally leveled signal can benefit from knowing which spectral shape of the original signal was prior to LP filtering. Since the encoder modules, after filtering, operate on the MDCT transform of the spectral level signal, the present invention provides that, if necessary, the spectral shape of the original signal prior to LP filtering can be reimposed in the MDCT representation of the signal spectrally leveled, by mapping the transfer function of the LP filter used (that is, the spectral envelope of the original signal) into a gain curve, or equalization curve, which is applied at the frequency positions of the MDCT representation of the spectral leveled signal. Conversely, the LP module can omit the actual filtering, and only estimate a transfer function that is subsequently mapped to a gain curve, which can be imposed on the signal's MDCT representation, thus removing the need for temporal domain filtering of the input signal.

[00104] Um proeminente aspecto de modalidades da presente in¬venção é que um codificador por transformada com base em MDCT é operado usando uma segmentação de janela flexível, em um sinal LPC branqueado. Isto é esboçado na figura 8, em que uma sequência de janela MDCT exemplar é dada, juntamente com o trabalho em jane¬las do LPC. Portanto, como fica claro a partir da figura, a LPC opera em um tamanho de quadro constante (por exemplo, 20 ms), enquanto a MDCT opera em uma sequência de janela variável (por exemplo, 4 a 128 ms). Isto permite que a escolha de durações de janela ideais para a LPC e da sequência de janela ideal seja a MDCT, independentemen¬te.[00104] A prominent aspect of modalities of the present invention is that an MDCT-based transform encoder is operated using a flexible window segmentation on a blanched LPC signal. This is outlined in figure 8, in which an exemplary MDCT window sequence is given, along with the LPC window work. Therefore, as is clear from the figure, the LPC operates in a constant frame size (for example, 20 ms), while the MDCT operates in a variable window sequence (for example, 4 to 128 ms). This allows the choice of ideal window durations for the LPC and the ideal window sequence to be MDCT, regardless.

[00105] A figura 8 ilustra adicionalmente a relação entre os dados da LPC, em particular, os parâmetros da LPC gerados em uma primei-ra taxa de quadros e dados MDCT, em particular, as linhas da MDCT, gerados em uma segunda taxa variável. As setas para baixo na figura simbolizam dados da LPC que são interpolados entre os quadros LPC círculos), para corresponder aos quadros MDCT correspondentes. Por exemplo, uma função de ponderação perceptiva gerada por LPC é interpolada para instâncias de tempo determinadas pela sequência de janela MDCT.[00105] Figure 8 further illustrates the relationship between the LPC data, in particular, the LPC parameters generated at a first frame rate and MDCT data, in particular, the MDCT lines, generated at a second variable rate . The down arrows in the figure symbolize LPC data that is interpolated between the LPC circles (circles), to correspond to the corresponding MDCT frames. For example, a perceptual weighting function generated by LPC is interpolated for time instances determined by the MDCT window sequence.

[00106] As setas para cima simbolizam dados de refinamento (isto é, dados de controle) usados para a codificação das linhas da MDCT. Para os quadros AAC, tipicamente, estes dados são fatores de escala e, para os quadros ECQ, tipicamente, os dados são dados de correção de variância, etc. As linhas cheias em relação às linhas tracejadas re¬presentam que dados são os dados mais "importantes" para a codifi¬cação das linhas da MDCT, dado um certo quantizador. As setas du¬plas para baixo simbolizam as linhas espectrais do codec.[00106] The upward arrows symbolize refinement data (ie control data) used for encoding MDCT lines. For AAC charts, these data are typically scaling factors, and for ECQ charts, typically, data are variance correction data, etc. The solid lines in relation to the dashed lines represent that data is the most "important" data for the codification of MDCT lines, given a certain quantizer. The double down arrows symbolize the spectral lines of the codec.

[00107] A coexistência de dados da LPC e da MDCT no codificador pode ser explorada, por exemplo, para reduzir as exigências de bit de fatores de escala da codificação MDCT, pela consideração de uma curva de mascaramento perceptiva estimada dos parâmetros da LPC. Além do mais, ponderação perceptiva derivada da LPC pode ser usa¬da durante a determinação da distorção de quantização. Da forma ilus¬trada, e como será discutido a seguir, o quantizador opera em dois modos, e gera dois tipos de quadros (quadros ECQ e quadros AAC) dependentes da duração do quadro dos dados recebidos, isto é, cor¬respondente ao quadro MDCT ou tamanho da janela.[00107] The coexistence of LPC and MDCT data in the encoder can be exploited, for example, to reduce the bit requirements of scale factors of the MDCT encoding, by considering an estimated perceptual masking curve of the LPC parameters. In addition, perceptual weighting derived from LPC can be used when determining the quantization distortion. As shown, and as will be discussed below, the quantizer operates in two modes, and generates two types of frames (ECQ frames and AAC frames) depending on the frame duration of the data received, that is, corresponding to the frame. MDCT or window size.

[00108] A figura 11 ilustra uma modalidade preferida do mapeamen¬to dos parâmetros LPC com taxa constante para os dados da sequên-cia de janela MDCT adaptativa. Um módulo de mapeamento LPC 1100 recebe os parâmetros LPC de acordo com a taxa de atualização LPC. Além do mais, o módulo de mapeamento LPC 1100 recebe informação na sequência de janela MDCT. Então, ele gera um mapeamento LPC- para-MDCT, por exemplo, para mapeamento dos dados psicoacústi- cos com base em LPC para respectivos quadros MDCT gerados na taxa de quadros MDCT variável. Por exemplo, o módulo de mapea¬mento LPC interpola polinómios LPC ou dados relacionados para ins¬tâncias de tempo correspondentes aos quadros MDCT para uso, por exemplo, das ponderações perceptivas no módulo da LTP ou quanti¬zador.[00108] Figure 11 illustrates a preferred mode of mapping the LPC parameters with constant rate for the data of the adaptive MDCT window sequence. An LPC 1100 mapping module receives LPC parameters according to the LPC update rate. In addition, the LPC 1100 mapping module receives information in the MDCT window sequence. Then, it generates an LPC- to-MDCT mapping, for example, for mapping psychoacoustic data based on LPC to respective MDCT frames generated at the variable MDCT frame rate. For example, the LPC mapping module interpolates LPC polynomials or related data for time instances corresponding to the MDCT frames for use, for example, of the perceptual weights in the LTP module or quantizer.

[00109] Agora, especificações do modelo perceptivo com base em LPC são discutidas pela referência à figura 9. Em uma modalidade da presente invenção, o módulo da LPC 901 é adaptado para produzir um sinal de saída branco, pelo uso de predição linear, por exemplo, de ordem 16, para um sinal de taxa de amostragem de 16 kHz. Por exemplo, a saída do módulo da LPC 201 na figura 2 é o resíduo de¬pois da estimação e filtragem do parâmetro LPC. O polinómio LPC A(z) estimado, esquematicamente visualizado na parte inferior esquer¬da da figura 9, pode ser chiado por um fator de expansão de largura de banda, e também oscilado, em uma implementação da invenção, pela modificação do primeiro coeficiente de reflexão do polinómio LPC correspondente. Chiado expande a largura de banda de picos na fun¬ção de transferência LPC, pelo movimento dos polos do polinómio pa¬ra dentro do círculo da unidade, assim, resultando em picos mais sua¬ves. Oscilação permite tornar a função de transferência LPC mais sua¬ve, a fim de equilibrar a influência de frequências inferiores e superio¬res. Estas modificações tentam gerar uma curva de mascaramento perceptiva A'(z) dos parâmetros LPC estimados que estarão disponí¬veis tanto no lado do codificador quanto no lado do decodificador do sistema. Detalhes da manipulação do polinómio LPC são apresenta¬dos na figura 12, a seguir.[00109] Now, specifications of the perceptual model based on LPC are discussed by reference to figure 9. In one embodiment of the present invention, the LPC 901 module is adapted to produce a white output signal, by using linear prediction, for example, order 16, for a 16 kHz sample rate signal. For example, the LPC 201 module output in figure 2 is the residue after estimating and filtering the LPC parameter. The estimated LPC A (z) polynomial, schematically visualized in the lower left part of figure 9, can be hissed by a bandwidth expansion factor, and also oscillated, in an implementation of the invention, by modifying the first coefficient of reflection of the corresponding LPC polynomial. Chiado expands the peak bandwidth in the LPC transfer function, by moving the poles of the polynomial into the unit circle, thus resulting in smoother peaks. Oscillation allows to make the LPC transfer function smoother, in order to balance the influence of lower and higher frequencies. These modifications attempt to generate a perceptual masking curve A '(z) of the estimated LPC parameters that will be available both on the encoder and on the decoder side of the system. Details of the manipulation of the LPC polynomial are presented in figure 12, below.

[00110] A codificação MDCT que opera no resíduo da LPC tem, em uma implementação da invenção, fatores de escala para controlar a resolução do quantizador ou os tamanhos de etapa de quantização (e, assim, o ruído introduzido pela quantização). Estes fatores de escala são estimados por um módulo de estimação do fator de escala 960 no sinal de entrada original. Por exemplo, os fatores de escala são deri¬vados de uma curva de limite de mascaramento perceptivo estimado do sinal original. Em uma modalidade, uma transformada de frequên¬cia separada (possivelmente, com uma resolução de frequência dife¬rente) pode ser usada para determinar a curva de limite de mascara¬mento, mas isto não é sempre necessário. Alternativamente, a curva de limite de mascaramento é estimada a partir das linhas da MDCT geradas pelo módulo de transformada. A parte da base direita da figu¬ra 9 ilustra esquematicamente fatores de escala gerados pelo módulo de estimação do fator de escala 960, para controlar a quantização, de forma que o ruído de quantização introduzido seja limitado a distor¬ções inaudíveis.[00110] The MDCT coding that operates on the LPC residue has, in an implementation of the invention, scale factors to control the quantizer resolution or the quantization step sizes (and thus the noise introduced by the quantization). These scale factors are estimated by a scale factor estimation module 960 in the original input signal. For example, the scaling factors are derived from an estimated perceptual masking limit curve of the original signal. In one embodiment, a separate frequency transform (possibly with a different frequency resolution) can be used to determine the masking limit curve, but this is not always necessary. Alternatively, the masking limit curve is estimated from the MDCT lines generated by the transform module. The right bottom part of figure 9 schematically illustrates scale factors generated by the scale factor estimation module 960, to control quantization, so that the quantization noise introduced is limited to inaudible distortions.

[00111] Se um filtro LPC for conectado à montante do módulo de transformação MDCT, um sinal branqueado é transformado no domí¬nio MDCT. Já que este sinal tem um espectro branco, ele não é bem adequado para dele derivar uma curva de mascaramento perceptiva. Assim, uma curva de ganho de equalização do domínio MDCT, gerada para compensar o branqueamento do espectro, pode ser usada duran¬te a estimação da curva de limite de mascaramento e/ou dos fatores de escala. Isto é em virtude de os fatores de escala precisarem ser estimados em um sinal que tem propriedades de espectro absolutas do sinal original, a fim de estimar corretamente mascaramento percep¬tivo. O cálculo da curva de ganho de equalização do domínio MDCT do polinómio LPC é discutido com mais detalhes em relação à figura 10 a seguir.[00111] If an LPC filter is connected upstream of the MDCT transformation module, a blanched signal is transformed in the MDCT domain. Since this signal has a white spectrum, it is not well suited to derive a perceptual masking curve. Thus, an MDCT domain equalization gain curve, generated to compensate for spectrum bleaching, can be used when estimating the masking limit curve and / or scale factors. This is because the scale factors need to be estimated in a signal that has absolute spectrum properties of the original signal, in order to correctly estimate perceptual masking. The calculation of the equalization gain curve of the MDCT domain of the LPC polynomial is discussed in more detail in relation to figure 10 below.

[00112] Uma modalidade do esquema de estimação do fator de es¬cala esboçado exposto é esboçada na figura 9a. Nesta modalidade, o sinal de entrada é inserido no módulo LP 901 que estima o envelope espectral do sinal de entrada descrito por A(z), e também transmite o dito polinómio como uma versão filtrada do sinal de entrada. O sinal de entrada é filtrado com o inverso de A(z), a fim de obter um sinal espec¬tralmente branco subsequentemente usado por outras partes do codi¬ficador. O sinal filtrado -^(n) é inserido em uma unidade de transfor¬mação MDCT 902, enquanto o polinómio A(z) é inserido em uma uni¬dade de cálculo da curva de ganho da MDCT 970 (da forma esboçada na figura 14). A curva de ganho estimada a partir do polinómio LP é aplicada nos coeficientes ou linhas da MDCT, a fim de reter o envelo¬pe espectral do sinal de entrada original anterior à estimação do fator de escala. As linhas da MDCT com ganho ajustado são inseridas no módulo de estimação do fator de escala 960, que estima os fatores de escala para o sinal de entrada.[00112] A modality of the estimated sketched scale factor estimation scheme is outlined in figure 9a. In this mode, the input signal is inserted in the LP 901 module which estimates the spectral envelope of the input signal described by A (z), and also transmits said polynomial as a filtered version of the input signal. The input signal is filtered with the inverse of A (z), in order to obtain a spectral white signal subsequently used by other parts of the encoder. The filtered signal - ^ (n) is inserted into an MDCT 902 transformer unit, while polynomial A (z) is inserted into a MDCT 970 gain curve calculation unit (as outlined in figure 14 ). The gain curve estimated from the LP polynomial is applied to the MDCT coefficients or lines, in order to retain the spectral aging of the original input signal prior to the scaling factor estimation. The MDCT lines with adjusted gain are inserted in the 960 scale factor estimation module, which estimates the scale factors for the input signal.

[00113] Usando a abordagem supraesboçada, os dados transmiti¬dos entre o codificador e o decodificador contêm tanto o polinómio LP, a partir do qual a informação perceptiva relevante bem como um mo¬delo de sinal podem ser derivados quando um quantizador baseado em modelo for usado, quanto os fatores de escala comumente usados em um codec transformado.[00113] Using the aforementioned approach, the data transmitted between the encoder and the decoder contains both the LP polynomial, from which the relevant perceptual information as well as a signal model can be derived when a model-based quantizer is used, as well as the scale factors commonly used in a transformed codec.

[00114] Com mais detalhes, retornando à figura 9, o módulo da LPC 901 na figura estima, a partir do sinal de entrada, um envelope espec¬tral A(z) do sinal e deriva, a partir deste, uma representação perceptiva A'(z). Além do mais, fatores de escala normalmente usados em codecs de áudio perceptivos com base em transformada são estimados no sinal de entrada, ou eles podem ser estimados no sinal branco produ¬zido por um filtro LP, se a função de transferência do filtro LP for leva¬da em consideração na estimação do fator de escala (descrito no con¬texto da figura 10 a seguir). Então, os fatores de escala podem ser adaptados no módulo de adaptação do fator de escala 961, dado o polinómio LP, como será esboçado a seguir, a fim de reduzir a taxa de bits exigida para transmitir fatores de escala.[00114] With more details, returning to figure 9, the LPC 901 module in the figure estimates, from the input signal, a spectral envelope A (z) of the signal and derives, from this, a perceptual representation A (z). Furthermore, scale factors normally used in transform-based perceptual audio codecs are estimated on the input signal, or they can be estimated on the white signal produced by an LP filter, if the transfer function of the LP filter is taken into account when estimating the scale factor (described in the context of figure 10 below). The scaling factors can then be adapted in the scaling factor 961 adaptation module, given the LP polynomial, as will be outlined below, in order to reduce the bit rate required to transmit scaling factors.

[00115] Normalmente, os fatores de escala são transmitidos ao de¬codificador, assim como o polinómio LP. Agora, dado que ambos são estimados a partir do sinal de entrada original e que ambos são um tanto correlacionados às propriedades de espectro absolutas do sinal de entrada original, propõe-se codificar uma representação delta entre os dois, a fim de remover qualquer redundância que pode ocorrer se ambos fossem separadamente transmitidos. De acordo com uma mo¬dalidade, esta correlação é explorada como segue. Uma vez que o polinómio LPC, quando corretamente chiado e oscilado, tenta repre¬sentar uma curva de limite de mascaramento, as duas representações podem ser combinadas, de forma que os fatores de escala do codifi¬cador por transformada transmitidos representem a diferença entre os fatores de escala desejados e aqueles que podem ser derivados a par¬tir do polinómio LPC transmitido. Portanto, o módulo de adaptação do fator de escala 961 mostrado na figura 9 calcula a diferença entre os fatores de escala desejados gerados a partir do sinal de entrada origi¬nal e os fatores de escala derivados da LPC. Este aspecto retém a ca¬pacidade de ter um quantizador com base em MDCT que tem a noção dos fatores de escala comumente usados nos codificadores de trans¬formada, em uma estrutura da LPC, operando em um resíduo da LPC, e ainda tem a possibilidade de comutar para um quantizador baseado em modelo que deriva tamanhos de etapa de quantização exclusiva-mente dos dados de predição linear.[00115] Normally, the scale factors are transmitted to the decoder, as well as the LP polynomial. Now, given that both are estimated from the original input signal and that both are somewhat correlated to the absolute spectrum properties of the original input signal, it is proposed to encode a delta representation between the two, in order to remove any redundancy that can occur if both were transmitted separately. According to a modality, this correlation is explored as follows. Since the LPC polynomial, when correctly squeaked and oscillated, attempts to represent a masking limit curve, the two representations can be combined, so that the scaling factors of the transmitted encoder represent the difference between the two. desired scale factors and those that can be derived from the transmitted LPC polynomial. Therefore, the scale factor 961 adaptation module shown in figure 9 calculates the difference between the desired scale factors generated from the original input signal and the scale factors derived from the LPC. This aspect retains the ability to have an MDCT based quantizer that has the notion of the scale factors commonly used in transform encoders, in an LPC structure, operating in an LPC residue, and still has the possibility to switch to a model-based quantizer that derives quantization step sizes exclusively from linear prediction data.

[00116] Na figura 9b, é dado um diagrama de bloco simplificado do codificador e do decodificador de acordo com uma modalidade. O sinal de entrada no codificador passa através do módulo da LPC 901, que gera um sinal residual branqueado e os correspondentes parâmetros de predição linear. Adicionalmente, normalização de ganho pode ser incluída no módulo da LPC 901. O sinal residual da LPC é transforma¬do no domínio de frequência por uma transformada MDCT 902. À di-reita da figura 9b, é representado o decodificador. O decodificador to¬ma as linhas da MDCT quantizadas, as dequantiza 911 e aplica uma transformada MDCT invertida 912, seguida por um filtro de síntese da LPC 913.[00116] In figure 9b, a simplified block diagram of the encoder and decoder is given according to a modality. The input signal in the encoder passes through the LPC 901 module, which generates a bleached residual signal and the corresponding linear prediction parameters. Additionally, gain normalization can be included in the LPC 901 module. The residual LPC signal is transformed in the frequency domain by an MDCT 902 transform. To the right of figure 9b, the decoder is shown. The decoder takes the quantized MDCT lines, dequantizes them 911 and applies an inverted MDCT transform 912, followed by an LPC 913 synthesis filter.

[00117] O sinal branqueado transmitido pelo módulo da LPC 901 no codificador da figura 9b é inserido no banco de filtro da MDCT 902. As linhas da MDCT, em decorrência da análise da MDCT, são transfor¬madas codificadas com um algoritmo de codificação da transformada, que consiste em um modelo perceptivo que guia o tamanho da etapa de quantização desejado para diferentes partes do espectro MDCT. Os valores que determinam o tamanho da etapa de quantização são chamados fatores de escala, e há um valor de fator de escala neces¬sário para cada partição, chamado de banda de fator de escala, do espectro MDCT. Em algoritmos de codificação da transformada da tecnologia anterior, os fatores de escala são transmitidos, por meio do fluxo de bits, ao decodificador.[00117] The bleached signal transmitted by the LPC 901 module in the encoder of figure 9b is inserted in the filter bank of the MDCT 902. The MDCT lines, as a result of the analysis of the MDCT, are transformed encoded with an encoding algorithm of the transformed, which consists of a perceptual model that guides the size of the desired quantization step for different parts of the MDCT spectrum. The values that determine the size of the quantization step are called scale factors, and there is a required scale factor value for each partition, called the scale factor band, of the MDCT spectrum. In algorithms encoding the transform of the previous technology, the scale factors are transmitted, through the bit stream, to the decoder.

[00118] De acordo com um aspecto da invenção, a curva de masca¬ramento perceptiva estimada dos parâmetros da LPC, da forma expli-cada em relação à figura 9, é usada durante a codificação dos fatores de escala usados na quantização. Uma outra possibilidade de estimar uma curva de mascaramento perceptiva é usar os coeficientes do filtro LPC não modificados para uma estimação da distribuição de energia nas linhas da MDCT. Com esta estimação de energia, um modelo psi- coacústico, usado em esquemas de codificação transformada, pode ser aplicado tanto no codificador quanto no decodificador, para obter uma estimação de uma curva de mascaramento.[00118] According to one aspect of the invention, the estimated perceptual masking curve of the LPC parameters, as explained in relation to figure 9, is used when coding the scale factors used in the quantization. Another possibility to estimate a perceptual masking curve is to use the unmodified LPC filter coefficients to estimate the energy distribution in the MDCT lines. With this energy estimation, a psychoacoustic model, used in transformed coding schemes, can be applied both in the encoder and in the decoder, to obtain an estimation of a masking curve.

[00119] Então, as duas representações de uma curva de mascara¬mento são combinadas, de forma que os fatores de escala a ser transmitidos pelo codificador por transformada representem a diferen¬ça entre os fatores de escala desejados e aqueles que podem ser de¬rivados a partir do polinómio LPC transmitido ou o modelo psicoacústi- co com base em LPC. Este recurso retém a capacidade de ter um quantizador com base em MDCT que tem a noção de fatores de esca¬la comumente usados em codificadores de transformada, em uma es¬trutura da LPC, operando em um resíduo da LPC, e ainda tem a pos¬sibilidade de controlar ruído de quantização com base em banda de fator de escala de acordo com o modelo psicoacústico do codificador de transformada. A vantagem é que a transmissão da diferença dos fatores de escala custará menos bits, se comparada à transmissão dos valores de fator de escala absolutos, sem considerar os dados da LPC já presentes. Dependendo da taxa de bits, da duração do quadro ou de outros parâmetros, a quantidade de fator de escala residual a ser transmitido pode ser selecionada. Para ter controle completo de cada banda de fator de escala, um fator de escala delta pode ser transmitido com um esquema de codificação sem ruído apropriado. Em outros ca¬sos, o custo para transmitir fatores de escala pode ser adicionalmente reduzido por uma representação mais grosseira das diferenças do fa¬tor de escala. O caso especial com sobreprocessamento mais baixo é quando a diferença do fator de escala for ajustada em 0 para todas as bandas e nenhuma informação adicional for transmitida.[00119] Then, the two representations of a masking curve are combined, so that the scale factors to be transmitted by the transform encoder represent the difference between the desired scale factors and those that can be de¬ derived from the transmitted LPC polynomial or the LPC-based psychoacoustic model. This feature retains the ability to have an MDCT-based quantizer that has the notion of scale factors commonly used in transform encoders, in an LPC structure, operating on an LPC residue, and still has the pos ¬ ability to control quantization noise based on a scale factor band according to the psychoacoustic model of the transform encoder. The advantage is that the transmission of the difference of the scale factors will cost less bits, when compared to the transmission of the values of the absolute scale factor, without considering the LPC data already present. Depending on the bit rate, frame duration or other parameters, the amount of residual scale factor to be transmitted can be selected. To have complete control of each scale factor band, a delta scale factor can be transmitted with an appropriate noise-free coding scheme. In other cases, the cost of transmitting scale factors can be further reduced by a more coarse representation of the differences in the scale factor. The special case with lower overprocessing is when the scale factor difference is set to 0 for all bands and no additional information is transmitted.

[00120] A figura 10 ilustra uma modalidade preferida da tradução de polinómios LPC em uma curva de ganho MDCT. Da forma esboçada na figura 2, a MDCT opera em um sinal branqueado, branqueado pelo filtro LPC 1001. A fim de reter o envelope espectral do sinal de entrada original, uma curva de ganho da MDCT é calculada pelo módulo da curva de ganho da MDCT 1070. A curva de ganho de equalização do domínio MDCT pode ser obtida pela estimação da resposta de magni¬tude do envelope espectral descrito pelo filtro LPC, para as frequên¬cias representadas pelas posições na transformada MDCT. Então, a curva de ganho pode ser aplicada nos dados MDCT, por exemplo, du- rante o cálculo o sinal de erro quadrático médio mínimo esboçado na figura 3 ou durante a estimação de uma curva de mascaramento per- ceptiva para determinação do fator de escala como esboçada em rela¬ção à figura 9 exposta.[00120] Figure 10 illustrates a preferred mode of translating LPC polynomials into an MDCT gain curve. As outlined in figure 2, MDCT operates on a bleached signal, bleached by the LPC filter 1001. In order to retain the spectral envelope of the original input signal, an MDCT gain curve is calculated by the MDCT gain curve module. 1070. The MDCT domain equalization gain curve can be obtained by estimating the magnitude response of the spectral envelope described by the LPC filter, for the frequencies represented by the positions in the MDCT transform. Then, the gain curve can be applied to the MDCT data, for example, during the calculation the minimum mean square error sign outlined in figure 3 or during the estimation of a perceptual masking curve for determining the scale factor as outlined in relation to figure 9 exposed.

[00121] A figura 12 ilustra uma modalidade preferida da adaptação do cálculo do filtro de ponderação perceptiva com base no tamanho da transformada e/ou no tipo de quantizador. O polinómio LP A(z) é esti¬mado pelo módulo da LPC 1201 na figura 16. Um módulo de modifica¬ção de parâmetro LPC 1271 recebe parâmetros da LPC, tal como o polinómio LPC A(z), e gera um filtro de ponderação perceptiva A'(z), pela modificação dos parâmetros da LPC. Por exemplo, a largura de banda do polinómio LPC A(z) é ampliada e/ou o polinómio é oscilado. Os parâmetros inseridos no módulo de chiado e oscilação de adapta¬ção 1272 são os valores padrões de chiado e oscilação p e lambda y. Estas são regras predeterminadas modificadas dadas, baseadas no tamanho da transformada usada e/ou na estratégia de quantização Q usada. Os parâmetros de chiado e oscilação modificados p' e y' são inseridos no módulo de modificação de parâmetro LPC 1271, traduzin¬do o envelope espectral do sinal de entrada, representado por A(z), em uma curva de mascaramento perceptiva representada por A'(z).[00121] Figure 12 illustrates a preferred method of adapting the calculation of the perceptual weighting filter based on the size of the transform and / or the type of quantizer. The LP A (z) polynomial is estimated by the LPC 1201 module in Figure 16. An LPC 1271 parameter modification module receives LPC parameters, such as the LPC A (z) polynomial, and generates a perceptual weighting A '(z), by modifying the LPC parameters. For example, the bandwidth of the LPC polynomial A (z) is increased and / or the polynomial is oscillated. The parameters entered in the hiss and oscillation module of adaptation 1272 are the standard hiss and oscillation values p and lambda y. These are modified predetermined rules given, based on the size of the transform used and / or the quantization strategy Q used. The modified hiss and oscillation parameters p 'and y' are inserted in the parameter modification module LPC 1271, translating the spectral envelope of the input signal, represented by A (z), into a perceptual masking curve represented by A ' (z).

[00122] A seguir, será explicada a estratégia de quantização condi¬cionada na duração do quadro, e a quantização com base em modelo condicionada em parâmetros variados de acordo com uma modalidade da invenção. Um aspecto da presente invenção é que ela utiliza dife¬rentes estratégias de quantização para diferentes tamanhos de trans¬formada ou tamanhos de quadro. Isto é ilustrado na figura 13, em que a duração do quadro é usada como um parâmetro de seleção para usar um quantizador baseado em modelo ou um quantizador não ba¬seado em modelo. Percebe-se que este aspecto da quantização é in¬dependente de outros aspectos do codificador/decodificador divulgado e também pode ser aplicado em outros codecs. Um exemplo de um quantizador não baseado em modelo é o quantizador baseado na ta¬bela Huffman usado no padrão de codificação de áudio AAC. O quan¬tizador baseado em modelo pode ser um Quantizador com Restrição de Entropia (ECQ) que emprega codificação aritmética. Entretanto, outros quantizadores também podem ser usados em modalidades da presente invenção.[00122] Next, the quantization strategy based on the duration of the frame will be explained, and the quantization based on a model conditioned on varied parameters according to a modality of the invention. One aspect of the present invention is that it uses different quantization strategies for different transform sizes or frame sizes. This is illustrated in figure 13, where the frame duration is used as a selection parameter to use a model-based quantizer or a non-model-based quantizer. It is noticed that this aspect of quantization is independent of other aspects of the disclosed encoder / decoder and can also be applied in other codecs. An example of a non-model based quantizer is the Huffman table based quantizer used in the AAC audio coding standard. The model-based quantizer can be an Entropy Restriction Quantizer (ECQ) that employs arithmetic coding. However, other quantizers can also be used in embodiments of the present invention.

[00123] De acordo com um aspecto independente da presente in¬venção, sugere-se comutar entre diferentes estratégias de quantização em função da duração do quadro, a fim de poder usar a estratégia de quantização ideal, dado uma duração do quadro em particular. Como um exemplo, a sequência de janelas pode indicar o uso de uma trans¬formada longa para um segmento de música tonal muito estacionário do sinal. Para este tipo de sinal em particular, usando uma transfor¬mada longa, é altamente benéfico empregar uma estratégia de quanti¬zação que pode tirar vantagem do caráter "esparso" (isto é, tons dis¬cretos bem definidos) no espectro do sinal. Um método de quantização usado em AAC, em combinação com tabelas Huffman e agrupamento de linhas espectrais, também usados em AAC, é muito benéfico. En¬tretanto, e ao contrário, para segmentos de fala, a sequência de jane¬las pode, dado o ganho de codificação da LTP, indicar o uso de trans¬formadas curtas. Para este tipo de sinal e tamanho da transformada, é benéfico empregar uma estratégia de quantização que não tenta en¬contrar ou introduzir espalhamento no espectro, mas, em vez disto, mantém uma energia de banda larga que, dada a LTP, reterá a carac¬terística tipo pulso do sinal de entrada original.[00123] According to an independent aspect of the present invention, it is suggested to switch between different quantization strategies depending on the duration of the frame, in order to be able to use the ideal quantization strategy, given a particular duration of the frame. As an example, the window sequence may indicate the use of a long transform for a very stationary tonal music segment of the signal. For this type of signal in particular, using a long transform, it is highly beneficial to employ a quantization strategy that can take advantage of the "sparse" character (ie, well-defined discrete tones) in the signal spectrum. A quantization method used in AAC, in combination with Huffman tables and grouping of spectral lines, also used in AAC, is very beneficial. However, and on the contrary, for speech segments, the sequence of windows can, given the gain of LTP coding, indicate the use of short transforms. For this type of signal and size of the transform, it is beneficial to employ a quantization strategy that does not try to find or introduce spreading in the spectrum, but instead maintains a broadband energy that, given LTP, will retain the character ¬ pulse type characteristic of the original input signal.

[00124] Uma visualização mais geral deste conceito é dada na figu¬ra 14, em que o sinal de entrada é transformado no domínio MDCT e subsequentemente quantizado por um quantizador controlado pelo tamanho da transformada ou duração do quadro usado para a trans-formada MDCT.[00124] A more general view of this concept is given in figure 14, in which the input signal is transformed into the MDCT domain and subsequently quantized by a quantizer controlled by the size of the transform or frame duration used for the MDCT transform .

[00125] De acordo com um outro aspecto da invenção, o tamanho da etapa do quantizador é adaptado em função dos dados LPC e/ou LTP. Isto permite uma determinação do tamanho da etapa dependente da dificuldade de um quadro e dos controles do número de bits que são alocados para codificação do quadro. Na figura 15, é dada uma ilustração sobre como a quantização com base em modelo pode ser controlada pelos dados LPC e LTP. Na parte de topo da figura 15, é dada uma visualização esquemática das linhas da MDCT. Abaixo do tamanho da etapa de quantização, é representado delta A em função da frequência. Fica claro a partir deste exemplo em particular que o tamanho da etapa de quantização aumenta com a frequência, isto é, incorre-se em mais distorção da quantização para frequências mais altas. A curva delta é derivada dos parâmetros LPC e LTP por meio de um módulo de adaptação delta representado na figura 15a. A curva delta pode ser adicionalmente derivada do polinómio de predição A(z) por chiado e/ou oscilação, da forma explicada em relação à figura 13.[00125] According to another aspect of the invention, the step size of the quantizer is adapted according to the LPC and / or LTP data. This allows a determination of the size of the step depending on the difficulty of a frame and the controls on the number of bits that are allocated for encoding the frame. In figure 15, an illustration is given of how model-based quantization can be controlled by LPC and LTP data. In the top part of figure 15, a schematic view of the MDCT lines is given. Below the size of the quantization step, delta A is represented as a function of frequency. It is clear from this particular example that the size of the quantization step increases with frequency, that is, more distortion of quantization is incurred for higher frequencies. The delta curve is derived from the LPC and LTP parameters through a delta adaptation module shown in figure 15a. The delta curve can additionally be derived from the prediction polynomial A (z) by hissing and / or oscillation, as explained in relation to figure 13.

[00126] Uma função de ponderação perceptiva preferida derivada dos dados da LPC é dada na seguinte equação:

Figure img0001
em que A(z) é o polinómio LPC, T é um parâmetro de oscilação, p con¬trola o chiado e n é o primeiro coeficiente de reflexão calculado a partir do polinómio A(z). Percebe-se que o polinómio A(z) pode ser recalcu¬lado em uma variedade de diferentes representações, a fim de extrair informação relevante do polinómio. Se houver interesse na inclinação espectral, a fim de aplicar uma "oscilação" para se opor à inclinação do espectro, o recálculo do polinómio em relação aos coeficientes de reflexão é preferido, já que o primeiro coeficiente de reflexão represen¬ta a inclinação do espectro.[00126] A preferred perceptual weighting function derived from LPC data is given in the following equation:
Figure img0001
where A (z) is the LPC polynomial, T is an oscillation parameter, p controls the wheezing and n is the first reflection coefficient calculated from the A (z) polynomial. It is realized that polynomial A (z) can be recalculated in a variety of different representations, in order to extract relevant information from the polynomial. If there is an interest in spectral slope, in order to apply an "oscillation" to oppose the spectrum slope, recalculating the polynomial in relation to the reflection coefficients is preferred, since the first reflection coefficient represents the spectrum slope .

[00127] Além do mais, os valores delta A podem ser adaptados em função da variância do sinal de entrada p, o ganho de LTP g, e o pri¬meiro coeficiente de reflexão n derivado do polinómio de predição. Por exemplo, a adaptação pode ser baseada na seguinte equação:

Figure img0002
[00127] Furthermore, delta A values can be adapted depending on the variance of the input signal p, the gain of LTP g, and the first reflection coefficient n derived from the prediction polynomial. For example, adaptation can be based on the following equation:
Figure img0002

[00128] A seguir, são esboçados aspectos de um quantizador ba¬seado em modelo de acordo com uma modalidade da presente inven¬ção. Na figura 16, um dos aspectos do quantizador baseado em mode¬lo é visualizado. As linhas da MDCT são inseridas em um quantizador que emprega quantizadores escalares uniformes. Além do mais, des¬locamentos aleatórios são inseridos no quantizador e usados como valores de deslocamento para os intervalos de quantização que mo¬vem os limites do intervalo. O quantizador proposto provê vantagens da quantização vetorial, ainda mantendo a buscabilidade de quantiza¬dores escalares. O quantizador itera sobre um conjunto de diferentes valores de deslocamento, e calcula o erro de quantização para estes. O valor de deslocamento (ou valor do vetor de deslocamento) que mi-nimiza a distorção da quantização para as linhas da MDCT em particu¬lar que estão sendo quantizadas é usado para quantização. Então, o valor de deslocamento é transmitido para o decodificador juntamente com as linhas da MDCT quantizadas. O uso de deslocamentos aleató¬rios introduz preenchimento de ruído no sinal decodificado dequanti- zado e, fazendo isto, evita furos espectrais no espectro quantizado. Isto é particularmente importante para baixas taxas de bit, em que mui¬tas linhas da MDCT são de outra forma quantizadas em um valor zero, o que levará a furos audíveis no espectro do sinal reconstruído.[00128] Next, aspects of a quantizer based on a model according to a modality of the present invention are outlined. In figure 16, one of the aspects of the model-based quantizer is visualized. MDCT lines are inserted into a quantizer that employs uniform scalar quantizers. Furthermore, random displacements are inserted into the quantizer and used as displacement values for the quantization intervals that move the limits of the interval. The proposed quantizer provides advantages of vector quantization, while still maintaining the scalability of scalar quantizers. The quantizer iterates over a set of different displacement values, and calculates the quantization error for these. The displacement value (or displacement vector value) that minimizes the quantization distortion for the particular MDCT lines being quantized is used for quantization. Then, the offset value is transmitted to the decoder along with the quantized MDCT lines. The use of random displacements introduces noise filling in the quantized decoded signal and, in doing so, avoids spectral holes in the quantized spectrum. This is particularly important for low bit rates, where many MDCT lines are otherwise quantized to zero, which will lead to audible holes in the reconstructed signal spectrum.

[00129] A figura 17 ilustra esquematicamente um Quantizador de Linhas da MDCT com base em Modelo (MBMLQ) de acordo com uma modalidade da invenção. O topo da figura 17 representa um codifica- dor MBMLQ 1700. O codificador MBMLQ 1700 toma como entrada as linhas da MDCT em um quadro MDCT ou as linhas da MDCT da LTP residual, se uma LTP estiver presente no sistema. O MBMLQ emprega modelos estatísticos das linhas da MDCT, e códigos-fontes são adap¬tados às propriedades do sinal com base em quadro a quadro da MDCT, produzindo eficiente compressão em um fluxo de bits.[00129] Figure 17 schematically illustrates a MDCT Line Quantizer based on Model (MBMLQ) according to an embodiment of the invention. The top of figure 17 represents an MBMLQ 1700 encoder. The MBMLQ 1700 encoder takes MDCT lines in an MDCT frame or residual LTP MDCT lines as input if an LTP is present in the system. MBMLQ employs statistical models of MDCT lines, and source codes are adapted to the signal properties based on MDCT frame by frame, producing efficient compression in a bit stream.

[00130] Um ganho local das linhas da MDCT pode ser estimado como o valor RMS das linhas da MDCT, e as linhas da MDCT normali¬zadas no módulo de normalização de ganho 1720 antes da inserção no codificador MBMLQ 1700. O ganho local normaliza as linhas da MDCT e é um complemento à normalização de ganho da LP. Enquan¬to o ganho da LP se adapta às variações no nível do sinal em uma maior escala de tempo, o ganho local se adapta às variações em uma menor escala de tempo, produzindo maior qualidade de sons transitó¬rios e inícios na fala. O ganho local é codificado por codificação em taxa fixa ou taxa variável e transmitido ao decodificador.[00130] A local gain of the MDCT lines can be estimated as the RMS value of the MDCT lines, and the MDCT lines normalized in the 1720 gain normalization module before insertion into the MBMLQ 1700 encoder. The local gain normalizes the MDCT lines and is a complement to LP gain normalization. While the LP gain adapts to variations in the signal level over a longer time scale, the local gain adapts to variations in a lesser time scale, producing greater quality of transient sounds and speech starts. Local gain is encoded by either fixed rate or variable rate coding and transmitted to the decoder.

[00131] Um módulo de controle de taxa 1710 pode ser empregado para controlar o número de bits usados para codificar um quadro MDCT. Um índice de controle de taxa controla o número de bits usa¬dos. O índice de controle de taxa aponta para uma lista de tamanhos nominais de etapa do quantizador. A tabela pode ser classificada com tamanhos de etapa em ordem descendente (veja figura 17g).[00131] A 1710 rate control module can be employed to control the number of bits used to encode an MDCT frame. A rate control index tracks the number of bits used. The rate control index points to a list of nominal quantizer step sizes. The table can be classified with step sizes in descending order (see figure 17g).

[00132] O codificador MBMLQ é executado com um conjunto de diferentes índices de controle de taxa, e o índice de controle de taxa que produz uma contagem de bits menor que o número de bits conce¬didos, dado pelo controle do reservatório de bits, é usado para o qua¬dro. O índice de controle de taxa varia lentamente, e isto pode ser ex¬plorado para reduzir complexidade da busca e para codificar eficien¬temente o índice. O conjunto de índices que é testado pode ser redu¬zido se o teste for iniciado ao redor do índice do quadro MDCT anteri- or. Igualmente, a eficiente codificação por entropia do índice é obtida se as probabilidades alcançarem o máximo ao redor do prévio valor do índice. Por exemplo, para uma lista de 32 tamanhos de etapa, o índice de controle de taxa pode ser codificado usando 2 bits por quadro MDCT na média.[00132] The MBMLQ encoder is executed with a set of different rate control indexes, and the rate control index which produces a bit count less than the number of bits allocated, given by the control of the bit reservoir, is used for the frame. The rate control index varies slowly, and this can be exploited to reduce complexity of the search and to efficiently code the index. The set of indexes that are tested can be reduced if the test is started around the index in the previous MDCT table. Likewise, efficient entropy coding of the index is obtained if the probabilities reach the maximum around the previous value of the index. For example, for a list of 32 step sizes, the rate control index can be encoded using 2 bits per MDCT frame on average.

[00133] A figura 17 ilustra esquematicamente de forma adicional o decodificador MBMLQ 1750, em que o quadro MDCT é renormalizado em relação ao ganho se um ganho local for estimado no codificador 1700.[00133] Figure 17 schematically illustrates the MBMLQ 1750 decoder, in which the MDCT frame is renormalized in relation to the gain if a local gain is estimated in the 1700 encoder.

[00134] A figura 17a ilustra esquematicamente com mais detalhes o codificador de linhas da MDCT com base em modelo 1700, de acordo com uma modalidade. Ele compreende um módulo de pré- processamento do quantizador 1730 (veja figura 17c), um codificador com restrição de entropia com base em modelo 1740 (veja figura 17e), e um codificador aritmético 1720 que pode ser um codificador aritméti¬co da tecnologia anterior. A tarefa do módulo de pré-processamento do quantizador 1730 é adaptar o codificador MBMLQ na estatística de sinal, em uma base quadro a quadro da MDCT. Ele toma como entra¬da outros parâmetros do codec, e deles deriva estatísticas úteis sobre o sinal, que podem ser usadas para modificar o comportamento do codificador com restrição de entropia com base em modelo 1740. O codificador com restrição de entropia com base em modelo 1740 é controlado, por exemplo, por um conjunto de parâmetros de controle: um tamanho da etapa do quantizador A (delta, duração do intervalo), um conjunto de estimações de variância das linhas V da MDCT (um vetor; um valor estimado por linha da MDCT), uma curva de mascara¬mento perceptiva PmOd, uma matriz ou tabela de deslocamentos (alea¬tórios), e um modelo estatístico das linhas da MDCT que descrevem a forma da distribuição das linhas da MDCT e suas interdependências. Todos os parâmetros de controle supramencionados podem variar en-tre quadros da MDCT.[00134] Figure 17a schematically illustrates in more detail the MDCT line encoder based on model 1700, according to a modality. It comprises a 1730 quantizer preprocessing module (see figure 17c), an entropy restriction encoder based on the 1740 model (see figure 17e), and a 1720 arithmetic encoder that can be an arithmetic encoder of the prior art . The task of the 1730 quantizer pre-processing module is to adapt the MBMLQ encoder to signal statistics, on a MDCT frame-by-frame basis. It takes other codec parameters as input, and derives useful statistics about the signal from them, which can be used to modify the behavior of the entropy-based encoder based on the 1740 model. The entropy-based encoder based on the model 1740 is controlled, for example, by a set of control parameters: a step size of quantizer A (delta, interval duration), a set of variance estimates of MDCT V lines (a vector; an estimated value per line MDCT), a perceptual masking curve PmOd, a matrix or table of displacements (random), and a statistical model of the MDCT lines that describe the shape of the distribution of the MDCT lines and their interdependencies. All of the aforementioned control parameters may vary between MDCT frames.

[00135] A figura 17b ilustra esquematicamente urn decodificador de linhas da MDCT com base em modelo 1750 de acordo com uma mo¬dalidade da invenção. Ele toma como entrada bits de informação com-plementar do fluxo de bits e os decodifica em parâmetros que são in¬seridos no módulo de pré-processamento do quantizador 1760 (veja figura 17c). Preferivelmente, o módulo de pré-processamento do quan¬tizador 1760 tem exatamente a mesma funcionalidade no codificador 1700 como no decodificador 1750. Os parâmetros que são inseridos no módulo de pré-processamento do quantizador 1760 são exatamen¬te os mesmos no codificador e no decodificador. O módulo de pré- processamento do quantizador 1760 transmite um conjunto de parâ¬metros de controle (mesmo do codificador 1700) e estes são inseridos no módulo de computações de probabilidade 1770 (veja figura 17g; mesmo do codificador, veja figura 17e) e no módulo de dequantização 1780 (veja figura 17h; mesmo do codificador, veja figura 17e). As tabe¬las cdf do módulo de computações de probabilidade 1770, que repre¬sentam as funções de densidade de probabilidade para todas as linhas da MDCT, dado o delta usado para quantização e a variância do sinal, são inseridas no decodificador aritmético (que pode ser qualquer codi¬ficador aritmético conhecido pelos versados na técnica) que, então, decodifica os bits das linhas da MDCT em índices das linhas da MDCT. Então, os índices das linhas da MDCT são dequantizados em linhas da MDCT pelo módulo de dequantização 1780.[00135] Figure 17b schematically illustrates an MDCT line decoder based on model 1750 according to a modality of the invention. It takes bits of complementary information from the bit stream as input and decodes them into parameters that are inserted in the preprocessor module of the 1760 quantizer (see figure 17c). Preferably, the 1760 quantizer preprocessing module has exactly the same functionality in the 1700 encoder as in the 1750 decoder. The parameters that are entered in the 1760 quantizer preprocessing module are exactly the same in the encoder and in the decoder. The preprocessor module of the 1760 quantizer transmits a set of control parameters (even from the 1700 encoder) and these are inserted in the 1770 probability computation module (see figure 17g; even from the encoder, see figure 17e) and in 1780 quantization module (see figure 17h; even for the encoder, see figure 17e). The cdf tables of the 1770 probability computations module, which represent the probability density functions for all MDCT lines, given the delta used for quantization and the signal variance, are inserted in the arithmetic decoder (which can be any arithmetic coder known to those skilled in the art) which then decodes the MDCT line bits into MDCT line indices. Then, the MDCT line indices are dequantized into MDCT lines by the 1780 dequantization module.

[00136] A figura 17c ilustra esquematicamente aspectos do pré- processamento do quantizador de acordo com uma modalidade da invenção, que consistem em: i) computação do tamanho da etapa, ii) modificação da curva de mascaramento perceptiva, iii) estimação da variância das linhas da MDCT, iv) construção da tabela de desloca¬mento.[00136] Figure 17c schematically illustrates aspects of the quantizer pre-processing according to a modality of the invention, which consist of: i) computation of the step size, ii) modification of the perceptual masking curve, iii) estimation of the variance of the MDCT lines, iv) construction of the displacement table.

[00137] A computação do tamanho da etapa é explicada com mais detalhes na figura 17d. Ela compreende: i) uma tabela de busca, em que o índice de controle de taxa aponta para uma tabela de tamanhos de etapa, produz um tamanho nominal da etapa AnOm (delta_nom), ii) adaptação de baixa energia e iii) adaptação passa-alta.[00137] The computation of the step size is explained in more detail in figure 17d. It comprises: i) a lookup table, in which the rate control index points to a step size table, produces a nominal step size AnOm (delta_nom), ii) low energy adaptation and iii) passive adaptation high.

[00138] Normalmente, normalização de ganho resulta em que sons de alta energia e sons de baixa energia são codificados com o mesmo SNR segmentai. Isto pode levar a um excessivo número de bits sendo usado nos sons de baixa energia. A adaptação de baixa energia pro¬posta permite o ajuste fino de um acerto entre os sons de baixa ener¬gia e de alta energia. O tamanho da etapa pode aumentar quando a energia do sinal ficar baixa, da forma representada na figura 17d-ii), em que é mostrada uma curva exemplar para a relação entre a ener¬gia do sinal (ganho g) e um fator de controle qi_e. O ganho do sinal g pode ser computado como o valor RMS do próprio sinal de entrada ou da LP residual. A curva de controle na figura 17d-ii) é apenas um exemplo, e outras funções de controle para aumentar o tamanho da etapa para sinais de baixa energia podem ser empregadas. No exem¬plo representado, a função de controle é determinada por seções line¬ares graduais que são definidas por limites Ti e T2 e 0 fator do tama¬nho da etapa L.[00138] Normally, gain normalization results in high energy and low energy sounds being encoded with the same segmental SNR. This can lead to an excessive number of bits being used in low energy sounds. The proposed low-energy adaptation allows for fine adjustment of a hit between low energy and high energy sounds. The step size can increase when the signal energy becomes low, as shown in figure 17d-ii), in which an exemplary curve is shown for the relationship between the signal energy (gain g) and a control factor qi_e. The gain of signal g can be computed as the RMS value of the input signal itself or of the residual LP. The control curve in figure 17d-ii) is just an example, and other control functions to increase the step size for low energy signals can be employed. In the example shown, the control function is determined by gradual line sections that are defined by Ti and T2 limits and the size factor of step L.

[00139] Sons passa-alta são perceptivamente menos importantes que sons passa-baixa. A função de adaptação passa-alta aumenta 0 tamanho da etapa quando o quadro MDCT for passa-alta, isto é, quando a energia do sinal no presente quadro MDCT for concentrada nas frequências superiores, resultando em menos bits gastos em tais quadros. Se LTP estiver presente e se 0 ganho de LTP gi_TP estiver próximo de 1, a LTP residual pode se tornar passa-alta; em um caso como este, é vantajoso não aumentar 0 tamanho da etapa. Este me¬canismo é representado na figura 17d-iii), em que r é 0 1o coeficiente de reflexão da LPC. A adaptação passa-alta proposta pode usar a se-guinte equação:

Figure img0003
[00139] High-pass sounds are perceptibly less important than low-pass sounds. The high-pass adaptation function increases the step size when the MDCT frame is high-pass, that is, when the signal energy in the present MDCT frame is concentrated at the higher frequencies, resulting in fewer spent bits in such frames. If LTP is present and if the gi_TP LTP gain is close to 1, the residual LTP can become high pass; in a case like this, it is advantageous not to increase the step size. This mechanism is represented in figure 17d-iii), where r is the 1st reflection coefficient of the LPC. The proposed high-pass adaptation can use the following equation:
Figure img0003

[00140] A figura 17c-ii) ilustra esquematicamente a modificação da curva de mascaramento perceptiva que emprega um aumento de bai¬xa frequência (LF) para remover artefatos de codificação "tipo ronco". O aumento LF pode ser fixo ou adaptativo, de forma que apenas uma parte abaixo do primeiro pico espectral seja aumentada. O aumento LF pode ser adaptado pelo uso dos dados de envelope LPC.[00140] Figure 17c-ii) schematically illustrates the modification of the perceptual masking curve that employs a low frequency increase (LF) to remove "snoring type" coding artifacts. The LF increase can be fixed or adaptive, so that only a part below the first spectral peak is increased. The LF increase can be adapted by using the LPC envelope data.

[00141] A figura 17c-iii) ilustra esquematicamente a estimação da variância das linhas da MDCT. Com um filtro de branqueamento LPC ativo, todas as linhas da MDCT têm variância unitária (de acordo com o envelope LPC). Depois da ponderação perceptiva no codificador com restrição de entropia com base em modelo 1740 (veja figura 17e), as linhas da MDCT têm variâncias que são o inverso da curva de mas¬caramento perceptiva quadrática, ou a curva de mascaramento modifi¬cada quadrática PmOd. Se uma LTP estiver presente, ela pode reduzir a variância das linhas da MDCT. Na figura 17c-iii), é representado um mecanismo que adapta as variâncias estimadas à LTP. A figura mos¬tra uma função de modificação ÇLTP em relação à frequência f. As vari¬âncias modificadas podem ser determinadas por VLTPmod = V • qi/rp. O valor LLTP pode ser em função do ganho de LTP, de forma que LLTP fique mais próximo de 0 se o ganho de LTP estiver ao redor de 1 (indi¬cando que a LTP encontrou uma boa correspondência), e LLTP fique mais próximo de 1 se o ganho de LTP estiver ao redor de 0. A adapta¬ção LTP proposta das variâncias V = {vi, V2, ..., vj, ..., VN} afeta apenas as linhas da MDCT abaixo de uma certa frequência (ÍLTPcutoff). Em re¬sultado, variâncias da linha da MDCT abaixo da frequência de corte ÍLTPcutoff são reduzidas, a redução sendo dependente do ganho de LTP.[00141] Figure 17c-iii) schematically illustrates the estimation of the variance of the MDCT lines. With an active LPC bleaching filter, all MDCT lines have unit variance (according to the LPC envelope). After perceptual weighting in the entropy-restricted encoder based on the 1740 model (see figure 17e), the MDCT lines have variances that are the inverse of the quadratic perceptual masking curve, or the modified quadratic masking curve PmOd . If an LTP is present, it can reduce the variance of the MDCT lines. In figure 17c-iii), a mechanism is shown that adapts the estimated variances to the LTP. The figure shows a modification function ÇLTP in relation to frequency f. The modified variances can be determined by VLTPmod = V • qi / rp. The LLTP value can be a function of the LTP gain, so that LLTP is closer to 0 if the LTP gain is around 1 (indicating that LTP found a good match), and LLTP is closer to 1 if the LTP gain is around 0. The proposed LTP adaptation of the variances V = {vi, V2, ..., vj, ..., VN} affects only the MDCT lines below a certain frequency (ILTPcutoff). As a result, variances in the MDCT line below the cutoff frequency ÍLTPcutoff are reduced, the reduction being dependent on the LTP gain.

[00142] A figura 17c-iv) ilustra esquematicamente a construção da tabela de deslocamento. A tabela de deslocamento nominal é uma ma¬triz preenchida com números pseudoaleatórios distribuídos entre -0,5 e 0,5. O número de colunas na matriz iguala o número de linhas da MDCT que são codificadas pelo MBMLQ. O número de colunas é ajus- tável e iguala o número de vetores de deslocamentos que são testa¬dos na otimização RD no codificador com restrição de entropia com base em modelo 1740 (veja figura 17e). A função da construção da tabela de deslocamento escalona a tabela de deslocamento nominal com o tamanho da etapa do quantizador, de forma que os desloca-mentos sejam distribuídos entre -A/2 e +A/2.[00142] Figure 17c-iv) schematically illustrates the construction of the displacement table. The nominal displacement table is a matrix filled with pseudo-random numbers distributed between -0.5 and 0.5. The number of columns in the matrix equals the number of rows in the MDCT that are encoded by MBMLQ. The number of columns is adjustable and equals the number of displacement vectors that are tested in RD optimization on the entropy-restricted encoder based on the 1740 model (see figure 17e). The function of the construction of the displacement table scales the nominal displacement table with the size of the quantizer step, so that the displacements are distributed between -A / 2 and + A / 2.

[00143] A figura 17g ilustra esquematicamente uma modalidade pa¬ra uma tabela de deslocamento. O índice de deslocamento é um apon¬tador para a tabela e seleciona um vetor de deslocamento escolhido O = {oi, 02, ..., On, ON},em que N é o número de linhas da MDCT no quadro MDCT.[00143] Figure 17g schematically illustrates a modality for a displacement table. The displacement index is a pointer to the table and selects a chosen displacement vector O = {hi, 02, ..., On, ON}, where N is the number of MDCT lines in the MDCT table.

[00144] Da forma descrita a seguir, os deslocamentos proveem um meio para preenchimento de ruído. Melhores objetivo e qualidade per¬ceptiva são obtidos se a dispersão dos deslocamentos for limitada pa¬ra linhas da MDCT que têm baixa variância Vj, comparado com o ta¬manho da etapa do quantizador A. Um exemplo de uma limitação co¬mo esta é descrito na figura 17c-iv), em que ki e k2 são parâmetros de sintonia. A distribuição dos deslocamentos pode ser uniforme e distri¬buída entre -s e +s. Os limites s podem ser determinados de acordo com

Figure img0004
[00144] As described below, displacements provide a means for filling noise. Best objective and perceptual quality are obtained if the dispersion of displacements is limited to MDCT lines that have low variance Vj, compared to the size of the quantizer step A. An example of a limitation like this is described in figure 17c-iv), where ki and k2 are tuning parameters. The distribution of displacements can be uniform and distributed between + s. The limits can be determined according to
Figure img0004

[00145] Para linhas da MDCT de baixa variância (em que Vj é pe¬queno, se comparado com A), pode ser vantajoso tornar a distribuição de deslocamento não uniforme e dependente do sinal.[00145] For low variance MDCT lines (where Vj is small, if compared to A), it may be advantageous to make the displacement distribution non-uniform and dependent on the signal.

[00146] A figura 17e ilustra esquematicamente o codificador com restrição de entropia com base em modelo 1740 com mais detalhes. As linhas da MDCT inseridas são perceptivamente ponderadas pela sua divisão com os valores da curva de mascaramento perceptiva, preferivelmente, derivados do polinómio LPC, resultando no vetor das linhas da MDCT ponderadas y = (yi, ..., yN). O objetivo da subsequente codificação é introduzir ruído de quantização branco nas linhas da MDCT no domínio perceptivo. No decodificador, é aplicado o inverso da ponderação perceptiva, que resulta em ruído de quantização que segue a curva de mascaramento perceptiva.[00146] Figure 17e schematically illustrates the entropy restriction encoder based on model 1740 in more detail. The inserted MDCT lines are perceptually weighted by their division with the values of the perceptual masking curve, preferably derived from the LPC polynomial, resulting in the vector of the weighted MDCT lines y = (yi, ..., yN). The purpose of the subsequent coding is to introduce white quantization noise in the MDCT lines in the perceptual domain. In the decoder, the inverse of perceptual weighting is applied, which results in quantization noise that follows the perceptual masking curve.

[00147] Primeiro, a iteração sobre os deslocamentos aleatórios é esboçada. As seguintes operações são realizadas para cada coluna j na matriz de deslocamento: Cada linha da MDCT é quantizada por um quantizador escalar uniforme deslocamento (USQ), em que cada quantizador é deslocado por seu próprio valor de deslocamento exclu¬sivo tomado do vetor da coluna de deslocamento.[00147] First, the iteration over random displacements is outlined. The following operations are performed for each column j in the displacement matrix: Each MDCT line is quantized by a uniform displacement scalar quantizer (USQ), where each quantizer is displaced by its own unique displacement value taken from the column vector displacement.

[00148] A probabilidade do mínimo intervalo de distorção de cada USQ é computada no módulo de computações de probabilidade 1770 (veja figura 17g). Os índices do USQ são codificados por entropia. O custo, em termos do número de bits exigidos para codificar os índices, é computado da forma mostrada na figura 17e, produzindo um com-primento de palavra código teórico Rj. O limite de sobrecarga do USQ k da linha da MDCT j pode ser computado como 3 v J , em que k3 po¬de ser escolhido para ser qualquer número apropriado, por exemplo, 20. O limite de sobrecarga é o limiar para que o erro de quantização seja maior que metade do tamanho da etapa de quantização em magnitude.[00148] The probability of the minimum distortion interval for each USQ is computed in the 1770 probability computations module (see figure 17g). USQ indices are encoded by entropy. The cost, in terms of the number of bits required to encode the indexes, is computed as shown in figure 17e, producing a length of theoretical code word Rj. The overload limit of the USQ k of the MDCT j line can be computed as 3 v J, where k3 can be chosen to be any appropriate number, for example, 20. The overload limit is the threshold for which the error of quantization is greater than half the size of the quantization step in magnitude.

[00149] Um valor de reconstrução escalar para cada linha da MDCT é computado pelo módulo de dequantização 1780 (veja figura 17h), produzindo o vetor MDCT quantizado y. No módulo de otimização RD 1790, uma distorção Dj = d(y, y) é computada. d(y, y) pode ser o erro quadrático médio (MSE), ou uma outra medida de distorção percepti- vamente mais relevante, por exemplo, com base em uma função de ponderação perceptiva. Em particular, uma medida de distorção que pondera MSE e a divergência em energia entre y e ypode ser usada.[00149] A scalar reconstruction value for each MDCT line is computed by the 1780 quantization module (see figure 17h), producing the quantized MDCT vector y. In the RD 1790 optimization module, a distortion Dj = d (y, y) is computed. d (y, y) can be the mean squared error (MSE), or another perceptually more relevant measure of distortion, for example, based on a perceptual weighting function. In particular, a distortion measure that weighs MSE and the divergence in energy between y and y can be used.

[00150] No módulo de otimização RD 1790, um custo C é computa¬do, preferivelmente, com base na distorção Dj e/ou no comprimento de palavra código teórico Rj para cada coluna j na matriz de deslocamen¬to. Um exemplo de uma função de custo é C = 10 * logw(Dj) + À * Rj/N. O deslocamento que minimiza C é escolhido, e os correspondentes índices e probabilidades do USQ são transmitidos pelo codificador com restrição de entropia com base em modelo 1780.[00150] In the RD 1790 optimization module, a cost C is computed, preferably, based on the distortion Dj and / or the length of the theoretical code word Rj for each column j in the displacement matrix. An example of a cost function is C = 10 * logw (Dj) + À * Rj / N. The offset that minimizes C is chosen, and the corresponding USQ indices and probabilities are transmitted by the entropy-restricted encoder based on the 1780 model.

[00151] Opcionalmente, a otimização RD pode ser adicionalmente melhorada, pela variação de outras propriedades do quantizador jun¬tamente com o deslocamento. Por exemplo, em vez de usar a mesma estimativa de variância fixa V para cada vetor de deslocamento que é testado na otimização RD, o vetor de estimativa de variância V pode variar. Então, para o vetor da coluna de deslocamento m, será usada uma estimativa de variância km*V, em que km pode abarcar, por exem¬plo, a faixa de 0,5 a 1,5, já que m varia de m = 1 a m = (número de co¬lunas na matriz de deslocamento). Isto torna a codificação por entropia e a computação MMSE menos sensível às variações na estatística do sinal de entrada que o modelo estatístico não pode capturar. Isto resul¬ta em um custo C, no geral, mais baixo.[00151] Optionally, the RD optimization can be further improved, by varying other properties of the quantizer along with the displacement. For example, instead of using the same fixed variance estimate V for each displacement vector that is tested in RD optimization, the variance estimate vector V can vary. Then, for the vector of the displacement column m, an estimate of variance km * V will be used, in which km can cover, for example, the range of 0.5 to 1.5, since m varies from m = 1 am = (number of columns in the displacement matrix). This makes entropy coding and MMSE computing less sensitive to variations in the input signal statistics that the statistical model cannot capture. This results in an overall lower C cost.

[00152] As linhas da MDCT dequantizadas podem ser adicional¬mente refinadas pelo uso de um quantizador residual representado na figura 17e. O quantizador residual pode ser, por exemplo, um quanti¬zador vetorial aleatório de taxa fixa.[00152] The quantified MDCT lines can be further refined by using a residual quantizer represented in figure 17e. The residual quantizer can be, for example, a fixed rate random vector quantizer.

[00153] A operação do Quantizador Escalar Uniforme (USQ) para quantização de linha n da MDCT é esquematicamente ilustrada na fi- gura 17f, que mostra o valor da linha da MDCT n no mínimo intervalo de distorção com índice in. As marcações 'x' indicam o centro (ponto médio) dos intervalos de quantização com tamanho da etapa A. A ori¬gem do quantizador escalar é deslocada pelo deslocamento on de ve¬tor de deslocamento O = {01, o2, on, ON}. Assim, os limites e pon¬tos médios do intervalo são deslocados pelo deslocamento.[00153] The operation of the Uniform Scalar Quantizer (USQ) for quantization of line n of the MDCT is schematically illustrated in figure 17f, which shows the value of the line of the MDCT n in the minimum distortion interval with index in. The 'x' markings indicate the center (midpoint) of the quantization intervals with step size A. The origin of the scalar quantizer is displaced by the displacement on of displacement vector O = {01, o2, on, ON }. Thus, the limits and midpoints of the interval are displaced by the displacement.

[00154] O uso de deslocamentos introduz preenchimento de ruído controlado por codificador no sinal quantizado, e fazendo isto, evita furos espectrais no espectro quantizado. Além do mais, deslocamen¬tos aumentam a codificação eficiência pela provisão de um conjunto de alternativas de codificação que preenchem o espaço mais eficien¬temente que uma estrutura cúbica. Também, deslocamentos proveem variação nas tabelas de probabilidade que são computadas pelo mó¬dulo de computações de probabilidade 1770, que leva a codificação por entropia mais eficiente dos índices das linhas da MDCT (isto é, menos bits exigidos).[00154] The use of displacements introduces encoder-controlled noise filling in the quantized signal, and in doing so, avoids spectral holes in the quantized spectrum. In addition, displacements increase coding efficiency by providing a set of coding alternatives that fill the space more efficiently than a cubic structure. Also, offsets provide variation in the probability tables that are computed by the 1770 probability computations module, which leads to more efficient entropy coding of the MDCT row indices (ie, fewer required bits).

[00155] O uso de um tamanho da etapa variável A(delta) permite precisão variável na quantização, de forma que mais precisão possa ser usada para sons perceptivamente importantes, e menos precisão possa ser usada para sons menos importantes.[00155] The use of a variable step size A (delta) allows variable precision in quantization, so that more precision can be used for perceptually important sounds, and less precision can be used for less important sounds.

[00156] A figura 17g ilustra esquematicamente as computações de probabilidade no módulo de computação de probabilidade 1770. As entradas deste módulo são o modelo estatístico aplicado para as li¬nhas da MDCT, o tamanho da etapa do quantizador A, o vetor de vari¬ância V, o índice de deslocamento e a tabela de deslocamento. A saí¬da do módulo de computação de probabilidade 1770 são tabelas cdf. Para cada linha Xj da MDCT, o modelo estatístico (isto, é uma função de densidade de probabilidade, pdf) é avaliado. A área sob a função pdf para um intervalo i é a probabilidade pij do intervalo. Esta probabi¬lidade é usada para a codificação aritmética das linhas da MDCT.[00156] Figure 17g schematically illustrates the probability computations in the 1770 probability computing module. The inputs for this module are the statistical model applied to the MDCT lines, the step size of the quantizer A, the vector of vari¬ tance V, the displacement index and the displacement table. The output of the 1770 probability computation module is cdf tables. For each MDCT line Xj, the statistical model (ie, it is a function of probability density, pdf) is evaluated. The area under the pdf function for an interval i is the pij probability of the interval. This probability is used for the arithmetic coding of MDCT lines.

[00157] A figura 17h ilustra esquematicamente o processo de de¬quantização realizado, por exemplo, no módulo de dequantização 1780. O centro da massa (valor MMSE) XMMSE para o mínimo intervalo de distorção de cada linha da MDCT é computado juntamente com o ponto médio XMP do intervalo. Considerando que um vetor N- dimensional das linhas da MDCT é quantizado, o valor MMSE escalar é subideal e, no geral, muito baixo. Isto resulta em uma perda de vari¬ância e desequilíbrio espectral na saída decodificada. Este problema pode ser mitigado pela decodificação de conservação da variância descrita na figura 17h, em que o valor de reconstrução é computado como uma soma ponderada do valor MMSE e do valor do ponto mé¬dio. Uma melhoria opcional adicional é adaptar a ponderação, de for¬ma que o valor MMSE domine para fala e o ponto médio domine para sons que não fala. Isto produz fala, enquanto equilíbrio espectral e energia são conservados para sons que não fala.[00157] Figure 17h illustrates schematically the quantization process carried out, for example, in the 1780 quantization module. The center of mass (MMSE value) XMMSE for the minimum distortion interval of each MDCT line is computed together with the XMP midpoint of the range. Considering that an N-dimensional vector of the MDCT lines is quantized, the scalar MMSE value is sub-ideal and, in general, very low. This results in a loss of variance and spectral imbalance in the decoded output. This problem can be mitigated by decoding the conservation of variance described in figure 17h, in which the reconstruction value is computed as a weighted sum of the MMSE value and the midpoint value. An additional optional improvement is to adapt the weighting so that the MMSE value dominates for speech and the midpoint dominates for non-speaking sounds. This produces speech, while spectral balance and energy are conserved for non-speaking sounds.

[00158] Decodificação com conservação de variância de acordo com uma modalidade da invenção é alcançada pela determinação do ponto de reconstrução de acordo com a seguinte equação:

Figure img0005
[00158] Decoding with variance conservation according to one embodiment of the invention is achieved by determining the reconstruction point according to the following equation:
Figure img0005

[00159] Decodificação com conservação de variância adaptativa pode ser baseada na seguinte regra para determinação do fator de interpolação:

Figure img0006
[00159] Decoding with adaptive variance conservation can be based on the following rule for determining the interpolation factor:
Figure img0006

[00160] Por exemplo, a ponderação adaptativa pode ser adicional¬mente em função do ganho de predição LTP gi_Tp: * = A ponde¬ração adaptativa varia lentamente e pode ser eficientemente codifica¬da por um código de entropia recursivo.[00160] For example, the adaptive weighting can be additionally depending on the prediction gain LTP gi_Tp: * = The adaptive weighting varies slowly and can be efficiently coded by a recursive entropy code.

[00161] O modelo estatístico das linhas da MDCT que é usado nas computações de probabilidade (figura 17g) e na dequantização (figura 17h) deve refletir a estatística do sinal real. Em uma versão, o modelo estatístico considera que as linhas da MDCT são independentes e dis¬tribuídas por modelo Laplaciano. Uma outra versão modela as linhas da MDCT como modelos Gaussianos independentes. Uma versão modela as linhas da MDCT como modelos de mistura Gaussiana, in¬cluindo interdependências entre as linhas da MDCT nos quadros MDCT e entre eles. Uma outra versão adapta o modelo estatístico à estatística de sinal em linha. Os modelos estatísticos adaptativos po¬dem ser adaptados para frente e/ou para trás.[00161] The statistical model of the MDCT lines that is used in the probability computations (figure 17g) and in the quantization (figure 17h) must reflect the statistics of the real signal. In one version, the statistical model considers that the MDCT lines are independent and distributed by the Laplacian model. Another version models the MDCT lines as independent Gaussian models. One version models the MDCT lines as Gaussian mix models, including interdependencies between the MDCT lines in the MDCT tables and between them. Another version adapts the statistical model to online signal statistics. Adaptive statistical models can be adapted forwards and / or backwards.

[00162] Um outro aspecto da invenção que refere-se aos pontos de reconstrução modificados do quantizador é esquematicamente ilustra-do na figura 19, em que é representado um quantizador invertido usa¬do no decodificador de uma modalidade. O módulo também tem, além das entradas normais de um quantizador invertido, isto é, as linhas quantizadas e a informação sobre o tamanho da etapa de quantização (tipo de quantização), informação sobre o ponto de reconstrução do quantizador. O quantizador invertido desta modalidade pode usar múl¬tiplos tipos de pontos de reconstrução durante a determinação de um valor reconstruído do índice de quantização correspondente in. Co¬mo exposto, valores de reconstrução y são adicionalmente usados, por exemplo, no codificador das linhas da MDCT (veja figura 17) para determinar a quantização residual para entrada no quantizador residu¬al. Além do mais, reconstrução da quantização é realizada no quanti¬zador invertido 304, para reconstrução de um quadro MDCT codificado para uso no armazenamento temporário LTP (veja figura 3) e, natu¬ralmente, no decodificador.[00162] Another aspect of the invention that relates to the modified reconstruction points of the quantizer is schematically illustrated in figure 19, in which an inverted quantizer used in the decoder of a modality is represented. The module also has, in addition to the normal inputs of an inverted quantizer, that is, the quantized lines and information about the size of the quantization step (type of quantization), information about the reconstruction point of the quantizer. The inverted quantizer of this modality can use multiple types of reconstruction points when determining a reconstructed value of the corresponding quantization index in. As exposed, reconstruction values y are additionally used, for example, in the MDCT line encoder (see figure 17) to determine the residual quantization for entry into the residual quantizer. In addition, quantization reconstruction is performed on the inverted quantizer 304, to reconstruct an encoded MDCT frame for use in LTP temporary storage (see figure 3) and, of course, in the decoder.

[00163] Por exemplo, o quantizador invertido pode escolher o ponto médio de um intervalo de quantização como o ponto de reconstrução, ou o ponto de reconstrução MMSE. Em uma modalidade da presente invenção, o ponto de reconstrução do quantizador é escolhido para ser o valor médio entre o centre e os pontos de reconstrução MMSE. No geral, o ponto de reconstrução pode ser interpolado entre o ponto mé¬dio e o ponto de reconstrução MMSE, por exemplo, dependendo de propriedades do sinal, tal como periodicidade do sinal. Informação de periodicidade do sinal pode ser derivada do módulo LTP, por exemplo. Este recurso permite que o sistema controle a distorção e a conserva¬ção de energia. O ponto de reconstrução central garantirá a conserva¬ção de energia, enquanto que o ponto de reconstrução MMSE garanti¬rá mínima distorção. Então, dado o sinal, o sistema pode adaptar o ponto de reconstrução para onde o melhor acerto for provido.[00163] For example, the inverted quantizer can choose the midpoint of a quantization interval as the reconstruction point, or the MMSE reconstruction point. In one embodiment of the present invention, the quantizer reconstruction point is chosen to be the average value between the center and the MMSE reconstruction points. In general, the reconstruction point can be interpolated between the midpoint and the MMSE reconstruction point, for example, depending on signal properties, such as signal periodicity. Signal periodicity information can be derived from the LTP module, for example. This feature allows the system to control distortion and energy conservation. The central reconstruction point will guarantee energy conservation, while the MMSE reconstruction point will guarantee minimal distortion. Then, given the signal, the system can adapt the reconstruction point to where the best fit is provided.

[00164] A presente invenção incorpora adicionalmente um novo formato de codificação da sequência de janelas. De acordo com uma modalidade da invenção, as janelas usadas para a transformada MDCT são de tamanhos diádicos, e pode variar apenas um fator dois de tamanho, de janela para janela. Por exemplo, tamanhos de trans¬formada diádicos são 64, 128, ..., 2048 amostras correspondentes a 4, 8,..., 128 ms em taxa de amostragem de 16 kHz. No geral, são propos¬tas janelas de tamanho variável que podem tomar uma pluralidade de tamanhos de janela entre um tamanho de janela mínimo e um tama¬nho máximo. Em uma sequência, tamanhos de janela consecutivos podem variar apenas em um fator de dois, de forma que suaves se¬quências de tamanhos de janela se desenvolvam sem mudanças ab¬ruptas. As sequências de janelas definidas por uma modalidade, isto é, limitadas a tamanhos diádicos e permitidas variar apenas em fator dois em tamanho, de janela para janela, tem diversas vantagens. Primei¬ramente, nenhuma janela de início ou fim específica é necessária, isto é, janelas com bordas agudas. Isto mantém uma boa resolução de tempo/frequência. Em segundo lugar, a sequência de janelas se torna muito eficiente para codificar, isto é, para sinalizar para um decodifica¬dor qual sequência de janelas em particular é usada. Finalmente, a sequência de janelas sempre se adequará habilmente em uma estrutu¬ra de hiperquadro.[00164] The present invention additionally incorporates a new window sequence encoding format. According to an embodiment of the invention, the windows used for the MDCT transform are dyadic sizes, and can only vary by a factor of two, from window to window. For example, dyadic transform sizes are 64, 128, ..., 2048 samples corresponding to 4, 8, ..., 128 ms at a sampling rate of 16 kHz. In general, windows of varying size are proposed that can take a plurality of window sizes between a minimum window size and a maximum size. In a row, consecutive window sizes can vary by only a factor of two, so that smooth sequences of window sizes develop without sudden changes. The window sequences defined by a modality, that is, limited to dyadic sizes and allowed to vary only in factor two in size, from window to window, has several advantages. First, no specific start or end windows are needed, that is, windows with sharp edges. This maintains a good time / frequency resolution. Second, the window sequence becomes very efficient for encoding, that is, for signaling to a decoder which particular window sequence is used. Finally, the window sequence will always skilfully fit into a hyperframe structure.

[00165] A estrutura de hiperquadro é usada durante a operação do codificador em um sistema do mundo real, em que certos parâmetros de configuração do decodificador precisam ser transmitidos, a fim de poder iniciar o decodificador. Estes dados são comumente armazena¬dos em um campo de cabeçalho no fluxo de bits que descreve o sinal de áudio codificado. A fim de minimizar taxa de bits, o cabeçalho não é transmitido para cada quadro dos dados codificados, particularmente, em um sistema proposto pela presente invenção, em que os tamanhos do quadro MDCT podem variar de muito pequenos a muito grandes. Portanto, a presente invenção propõe agrupar uma certa quantidade de quadros MDCT em um hiperquadro, em que os dados do cabeçalho são transmitidos no começo do hiperquadro. Tipicamente, o hiperqua¬dro é definido com uma duração de tempo específica. Portanto, é ne-cessário tomar cuidado, de forma que as variações dos tamanhos do quadro MDCT se adequem em uma duração de hiperquadro constante pré-definida. A sequência de janelas inventiva exposta garante que a sequência de janelas selecionada sempre se adeque em uma estrutu¬ra de hiperquadro.[00165] The hyperframe structure is used during the operation of the encoder in a real-world system, in which certain configuration parameters of the decoder need to be transmitted in order to be able to start the decoder. This data is commonly stored in a header field in the bit stream that describes the encoded audio signal. In order to minimize bit rate, the header is not transmitted for each frame of the encoded data, particularly in a system proposed by the present invention, in which the MDCT frame sizes can vary from very small to very large. Therefore, the present invention proposes to group a certain number of MDCT frames into a hyperframe, in which the header data is transmitted at the beginning of the hyperframe. Typically, the hyperwater is defined with a specific length of time. Therefore, it is necessary to take care, so that the variations in the sizes of the MDCT frame are suitable for a predefined constant hyperframe duration. The exposed inventive window sequence ensures that the selected window sequence always fits into a hyperframe structure.

[00166] De acordo com uma modalidade da presente invenção, o atraso LTP e o ganho de LTP são codificados de uma maneira de taxa variável. Isto é vantajoso uma vez que, em função da efetividade da LTP para sinais periódicos estacionários, o atraso LTP tende a ser o mesmo durante segmentos um tanto longos. Portanto, isto pode ser explorado por meio de codificação aritmética, resultando em um atraso LTP de taxa variável e codificação de ganho de LTP.[00166] In accordance with an embodiment of the present invention, the LTP delay and the LTP gain are encoded in a variable rate manner. This is advantageous since, depending on the effectiveness of LTP for periodic stationary signals, the LTP delay tends to be the same during rather long segments. Therefore, this can be exploited through arithmetic encoding, resulting in a variable rate LTP delay and LTP gain encoding.

[00167] Similarmente, uma modalidade da presente invenção tam¬bém tira vantagem de um reservatório de bits e de codificação com taxa variável para a codificação dos parâmetros da LP. Além do mais, codificação da LP recursiva é preceituada pela presente invenção.[00167] Similarly, one embodiment of the present invention also takes advantage of a bit rate and variable rate encoding reservoir for encoding LP parameters. Furthermore, encoding the recursive LP is prescribed by the present invention.

[00168] Um outro aspecto da presente invenção é o tratamento de um reservatório de bits para tamanhos de quadro variáveis no codifi¬cador. Na figura 18, é esboçada uma unidade de controle do reserva¬tório de bits 1800 de acordo com a presente invenção. Além do uma medida de dificuldade provida como entrada, a unidade de controle do reservatório de bits também recebe informação sobre a duração do quadro atual. Um exemplo de uma medida de dificuldade para uso na unidade de controle do reservatório de bits é entropia perceptiva, ou o logaritmo do espectro de potência. Controle do reservatório de bits é importante em um sistema em que as durações do quadro podem va¬riar durante um conjunto de diferentes durações do quadro. A unidade de controle do reservatório de bits sugerida 1800 considera o tamanho de quadro durante o cálculo do número de bits concedidos para que o quadro seja codificado, como será esboçado a seguir.[00168] Another aspect of the present invention is the treatment of a bit reservoir for variable frame sizes in the encoder. In figure 18, a control unit of bit reservoir 1800 according to the present invention is outlined. In addition to a measure of difficulty provided as input, the control unit of the bit reservoir also receives information about the duration of the current frame. An example of a measure of difficulty for use in the control unit of the bit reservoir is perceptual entropy, or the logarithm of the power spectrum. Control of the bit reservoir is important in a system where the frame durations can vary over a set of different frame durations. The suggested bit reservoir control unit 1800 considers the frame size when calculating the number of bits allowed for the frame to be encoded, as will be outlined below.

[00169] O reservatório de bits é aqui definido com uma certa quan¬tidade fixa de bits em um armazenamento temporário que precisa ser maior que o número médio de bits que um quadro é permitido usar pa¬ra uma dada taxa de bits. Se ele for do mesmo tamanho, nenhuma variação no número de bits para um quadro será possível. O controle do reservatório de bits sempre considera o nível do reservatório de bits antes de eliminar bits que serão concedidos ao algoritmo de codifica¬ção como número permitido de bits para o quadro real. Assim, um re¬servatório de bits cheio significa que o número de bits disponíveis no reservatório de bits iguala o tamanho do reservatório de bits. Depois da codificação do quadro, o número de bits usados será subtraído do armazenamento temporário e o reservatório de bits é atualizado pela adição do número de bits que representa a taxa de bits constante. Por¬tanto, o reservatório de bits fica vazio, se o número de bits no reserva¬tório de bits antes da codificação de um quadro for igual ao número médio de bits por quadro.[00169] The bit reservoir is defined here with a certain fixed amount of bits in a temporary storage that needs to be greater than the average number of bits that a frame is allowed to use for a given bit rate. If it is the same size, no variation in the number of bits for a frame is possible. The control of the bit reservoir always considers the level of the bit reservoir before eliminating bits that will be assigned to the encoding algorithm as the allowed number of bits for the real frame. Thus, a full bit reservoir means that the number of bits available in the bit reservoir equals the size of the bit reservoir. After encoding the frame, the number of bits used will be subtracted from the temporary storage and the bit pool is updated by adding the number of bits that represents the constant bit rate. Therefore, the bit pool is empty if the number of bits in the bit pool before encoding a frame is equal to the average number of bits per frame.

[00170] Na figura 18a, é representado o conceito básico do controle do reservatório de bits. O codificador provê meio para calcular quão difícil é codificar o quadro real, comparado com o quadro prévio. Para uma dificuldade média de 1,0, o número de bits concedidos depende do número de bits disponíveis no reservatório de bits. De acordo com uma dada linha de controle, mais bits que correspondente a uma taxa média de bits serão eliminados do reservatório de bits, se o reservató¬rio de bits estiver quase cheio. No caso de um reservatório de bits va¬zio, menos bits, comparado com a média de bits, serão usados para a codificação do quadro. Este comportamento produz um nível médio do reservatório de bits para uma maior sequência de quadros com dificul¬dade média. Para quadros com uma maior dificuldade, a linha de con-trole pode ser deslocada para cima, com o efeito que permite-se que quadros difíceis de codificar usem mais bits no mesmo nível do reser¬vatório de bits. Desta maneira, para quadros fáceis de codificar, o nú¬mero de bits permitido para um quadro será menor apenas deslocando para baixo a linha de controle da figura 18a do caso de dificuldade média para o caso de dificuldade fácil. Modificações diferentes do sim¬ples deslocamento da linha de controle também são possíveis. Por exemplo, da forma mostrada na figura 18a, a inclinação da curva de controle pode mudar, dependendo da dificuldade do quadro.[00170] In figure 18a, the basic concept of the control of the bit reservoir is represented. The encoder provides a means of calculating how difficult it is to encode the actual frame, compared to the previous frame. For an average difficulty of 1.0, the number of bits allowed depends on the number of bits available in the bit pool. According to a given control line, more bits that correspond to an average bit rate will be eliminated from the bit reservoir, if the bit reservoir is almost full. In the case of an empty bit reservoir, fewer bits, compared to the average of bits, will be used for encoding the frame. This behavior produces an average level of the bit reservoir for a larger sequence of frames with medium difficulty. For frames with greater difficulty, the control line can be moved upwards, with the effect that frames that are difficult to encode use more bits at the same level as the bit reservoir. In this way, for easy-to-encode frames, the number of bits allowed for a frame will be smaller just by moving down the control line in figure 18a from the medium difficulty case to the easy difficulty case. Modifications other than simple displacement of the control line are also possible. For example, as shown in figure 18a, the slope of the control curve may change, depending on the difficulty of the frame.

[00171] Durante o cálculo do número de bits concedidos, os limites na extremidade inferior do reservatório de bits precisam ser obedeci-dos a fim de não eliminar mais bits do armazenamento temporário do que o permitido. Um esquema de controle do reservatório de bits que inclui o cálculo dos bits concedidos por uma linha de controle, mostra¬do na figura 18a, é apenas um exemplo das possíveis relações do ní¬vel do reservatório de bits e da medida de dificuldade pelos bits con¬cedidos. Também, outros algoritmos de controle terão em comum os severos limites na extremidade inferior do nível do reservatório de bits que impede que um reservatório de bits viole a restrição do reservató¬rio de bits vazio, também os limites na extremidade superior, em que o codificador será forçado a gravar bits preenchidos, se um número mui¬to baixo de bits for consumido pelo codificador.[00171] When calculating the number of bits granted, the limits at the lower end of the bit reservoir need to be obeyed in order not to eliminate more bits from the temporary storage than allowed. A control scheme of the bit reservoir that includes the calculation of the bits granted by a control line, shown in figure 18a, is just an example of the possible relations of the level of the bit reservoir and the measure of difficulty by the bits granted. Also, other control algorithms will have in common the severe limits at the lower end of the bit reservoir level that prevents a bit reservoir from violating the restriction of the empty bit reservoir, also the limits at the upper end, where the encoder will be forced to write filled bits, if a very low number of bits is consumed by the encoder.

[00172] Para que um mecanismo de controle como este possa tra¬tar um conjunto de tamanhos de quadro variáveis, este simples algo-ritmo de controle precisa ser adaptado. A medida de dificuldade a ser usada precisa ser normalizada, de forma que os valores de dificuldade de quadros de diferentes durações sejam comparáveis. Para cada du¬ração do quadro, haverá uma diferente faixa permitida para os bits concedidos e, em virtude de o número médio de bits por quadro ser diferente para um tamanho de quadro variável, consequentemente, cada duração do quadro tem sua própria equação de controle com su¬as próprias limitações. Um exemplo é mostrado na figura 18b. Uma importante modificação do caso do quadro de duração fixa é o limite mais baixo permitido do algoritmo de controle. Em vez do número mé¬dio de bits para o tamanho do quadro real, que corresponde ao caso da taxa fixa de bits, agora, o número médio de bits para o maior tama¬nho de quadro permitido é o valor mais baixo permitido para o nível do reservatório de bits antes de eliminar os bits para o quadro real. Esta é uma das principais diferenças em relação ao controle do reservatório de bits para tamanhos de quadro fixos. Esta restrição garante que um quadro seguinte com o maior tamanho possível do quadro possa utili¬zar pelo menos o número médio de bits para este tamanho do quadro.[00172] In order for a control mechanism like this to handle a set of variable frame sizes, this simple control rhythm needs to be adapted. The difficulty measure to be used needs to be normalized, so that the difficulty values of frames of different durations are comparable. For each duplication of the frame, there will be a different range allowed for the given bits and, because the average number of bits per frame is different for a variable frame size, consequently, each frame duration has its own control equation with its own limitations. An example is shown in figure 18b. An important modification of the case of the fixed duration frame is the lowest allowed limit of the control algorithm. Instead of the average number of bits for the actual frame size, which corresponds to the case of the fixed bit rate, the average number of bits for the largest allowed frame size is now the lowest allowed value for the bit reservoir level before clearing the bits for the real frame. This is one of the main differences in relation to the control of the bit reservoir for fixed frame sizes. This restriction ensures that a next frame with the largest possible frame size can use at least the average number of bits for this frame size.

[00173] A medida de dificuldade pode ser baseada, por exemplo, em um cálculo de entropia perceptiva (PE) que é derivado dos limites de mascaramento de um modelo psicoacústico, como é feito em AAC, ou como uma alternativa à contagem de bits de uma quantização com tamanho da etapa fixa, como é feito na parte ECQ de um codificador de acordo com uma modalidade da presente invenção. Estes valores podem ser normalizados em relação aos tamanhos de quadro variá¬veis, o que pode ser realizado por uma simples divisão pelo tamanho do quadro, e o resultado será uma PE respectivamente a uma conta¬gem de bits por amostra. Uma outra etapa de normalização pode ocor¬rer em relação à dificuldade média. Com este propósito, uma média móvel em relação aos quadros passados pode ser usada, resultando em um valor de dificuldade maior que 1,0 para quadros difíceis ou me¬nor que 1,0 para quadros fáceis. No caso de um codificador de dois passos ou de uma maior antecipação, valores de dificuldade de qua¬dros futuros também podem ser levados em consideração para esta normalização da medida de dificuldade.[00173] The measure of difficulty can be based, for example, on a perceptual entropy (PE) calculation that is derived from the masking limits of a psychoacoustic model, as is done in AAC, or as an alternative to the bit counting of a quantization with size of the fixed step, as is done in the ECQ part of an encoder according to an embodiment of the present invention. These values can be normalized in relation to the variable frame sizes, which can be accomplished by a simple division by the frame size, and the result will be a PE respectively of a bit count per sample. Another stage of normalization can occur in relation to the average difficulty. For this purpose, a moving average in relation to past frames can be used, resulting in a difficulty value greater than 1.0 for difficult frames or less than 1.0 for easy frames. In the case of a two-step encoder or greater anticipation, difficulty values for future frames can also be taken into account for this normalization of the difficulty measure.

[00174] Um outro aspecto da invenção refere-se a especificações do tratamento do reservatório de bits para ECQ. O gerenciamento do reservatório de bits para ECQ funciona sob a consideração de que ECQ produz uma qualidade aproximadamente constante durante o uso de um tamanho da etapa do quantizador constante para codifica¬ção. Tamanho da etapa do quantizador constante produz uma taxa variável, e o objetivo do reservatório de bits é manter a variação no tamanho da etapa do quantizador entre diferentes quadros tão peque¬na quanto possível, ainda não violando as restrições do armazena¬mento temporário do reservatório de bits. Além da taxa produzida pelo ECQ, informação adicional (por exemplo, ganho e atraso da LTP) é transmitida com base no quadro da MDCT. No geral, a informação adicional também é codificada por entropia e, assim, consome taxa diferente de quadro para quadro.[00174] Another aspect of the invention relates to specifications of the treatment of the bit reservoir for ECQ. The management of the bit reservoir for ECQ works under the assumption that ECQ produces an approximately constant quality when using a constant quantizer step size for encoding. Constant quantizer step size produces a variable rate, and the purpose of the bit reservoir is to keep the variation in the size of the quantizer step between different frames as small as possible, while still not violating the reservoir's temporary storage restrictions. bits. In addition to the rate produced by the ECQ, additional information (for example, LTP gain and delay) is transmitted based on the MDCT framework. In general, the additional information is also encoded by entropy and thus consumes a different rate from frame to frame.

[00175] Em uma modalidade da invenção, um controle do reserva¬tório de bits proposto tenta minimizar a variação do tamanho da etapa ECQ pela introdução de três variáveis (veja figura 18c):

  • RECQ_AVG: Taxa média do ECQ por amostra previamenteusada;
  • AECQ_AVG: Tamanho médio da etapa do quantizador previ¬amente usada.
[00175] In one embodiment of the invention, a control of the proposed bit reserve tries to minimize the variation in the size of the ECQ step by introducing three variables (see figure 18c):
  • RECQ_AVG: Average rate of ECQ per sample previously used;
  • AECQ_AVG: Average size of the quantizer step previously used.

[00176] Ambas estas variáveis são dinamicamente atualizadas para refletir a estatística de codificação mais recente.RECQ_AVG_DES: A taxa ECQ correspondente à taxa de bits total média.[00176] Both of these variables are dynamically updated to reflect the most recent encoding statistics.RECQ_AVG_DES: The ECQ rate corresponding to the average total bit rate.

[00177] Este valor diferirá de RECQJWGno caso de o nível do reser¬vatório de bits mudar durante o quadro de tempo da janela do cálculo de média, por exemplo, uma taxa de bits maior ou menor que a taxa média de bits especificada foi usada durante este quadro de tempo. Ele também é atualizado à medida que a taxa da informação comple¬mentar muda, de forma que a taxa total iguale a taxa de bits especifi¬cada.[00177] This value will differ from RECQJWG in the event that the bit reservoir level changes during the time frame of the averaging window, for example, a bit rate higher or lower than the specified average bit rate was used during this time frame. It is also updated as the rate of supplementary information changes, so that the total rate equals the specified bit rate.

[00178] O controle do reservatório de bits usa estes três valores para determinar uma suposição inicial no delta a ser usado para o quadro atual. Ele faz isto encontrando AECG_AVG_DES na curva RECQ-A mostrada na figura 18c, que corresponde a RECQ_AVG_DES. Em um se¬gundo estágio, possivelmente, este valor é modificado se a taxa não estiver de acordo com as restrições do reservatório de bits. A curva RECQ-A exemplar na figura 18c é baseada na seguinte equação:

Figure img0007
[00178] The bit reservoir control uses these three values to determine an initial assumption in the delta to be used for the current frame. It does this by finding AECG_AVG_DES on the RECQ-A curve shown in figure 18c, which corresponds to RECQ_AVG_DES. In a second stage, this value is possibly modified if the rate does not comply with the restrictions of the bit reservoir. The exemplary RECQ-A curve in figure 18c is based on the following equation:
Figure img0007

[00179] Certamente, outros relacionamentos matemáticos entre RECQ e A também podem ser usados.[00179] Certainly, other mathematical relationships between RECQ and A can also be used.

[00180] No caso estacionário, RECQ_AVG ficará próximo de RECQ_AVG_DES, e a variação em A será muito pequena. No caso não es-tacionário, a operação de cálculo de média garantirá uma suave varia¬ção de A.[00180] In the stationary case, RECQ_AVG will be close to RECQ_AVG_DES, and the variation in A will be very small. In the non-stationary case, the averaging operation will guarantee a smooth variation of A.

[00181] Embora o exposto tenha sido divulgado em relação a mo- dalidades em particular da presente invenção, entende-se que o con¬ceito inventivo não é limitado às modalidades descritas. Por outro lado, a divulgação apresentada neste pedido habilitará versados na técnica a entender e realizar a invenção. Versados na técnica entendem que várias modificações podem ser feitas sem fugir do espírito e do escopo da invenção, da forma exposta exclusivamente pelas concretizações.[00181] Although the above has been disclosed in relation to the particular modalities of the present invention, it is understood that the inventive concept is not limited to the described modalities. On the other hand, the disclosure presented in this application will enable those skilled in the art to understand and carry out the invention. Experienced in the technique, they understand that several modifications can be made without departing from the spirit and scope of the invention, in the form exposed exclusively by the embodiments.

Claims (14)

Sistema de codificação de áudio, caracterizado pelo fato de que compreende:uma unidade de predição linear (LP) (201) para filtrar um sinal de áudio com base em um filtro LP, a unidade LP operando em um primeiro tamanho de quadro do sinal de áudio; uma unidade de transformação de comprimento adaptativa (202), para transformar um quadro do sinal de áudio em um domínio transformado, a transformada sendo uma Transformada de Cosseno Discreta Modificada (MDCT) que opera em um segundo tamanho de quadro variável; uma unidade de quantização (203) para quantizer um sinal do domínio MDCT; uma unidade de geração da curva de ganho (1470) para gerar curvas de ganho no domínio MDCT com base em respostas de magnitude do filtro LP; e uma unidade de mapeamento (1500) para mapear curvas de ganho no domínio MDCT para correspondentes quadros do sinal do domínio MDCT. Audio coding system, characterized by the fact that it comprises: a linear prediction (LP) unit (201) for filtering an audio signal based on an LP filter, the LP unit operating on a first frame size of the audio signal; an adaptive-length transformation unit (202) for transforming an audio signal frame into a transformed domain, the transformed being a Modified Discrete Cosine Transform (MDCT) operating on a second variable frame size; a quantization unit (203) for quantizing a signal from the MDCT domain; a gain curve generation unit (1470) for generating gain curves in the MDCT domain based on magnitude responses from the LP filter; and a mapping unit (1500) for mapping gain curves in the MDCT domain to corresponding signal frames of the MDCT domain. Sistema de codificação de áudio, de acordo com a rei¬vindicação 1, caracterizado pelo fato de que compreende:uma unidade de controle de sequência de janelas, para de¬terminar, para um bloco do sinal de áudio, as segundas durações do quadro para sobrepor janelas MDCT. Audio coding system, according to king¬ indication 1, characterized by the fact that it comprises: a window sequence control unit to determine, for a block of the audio signal, the second frame durations for overlapping MDCT windows. Sistema de codificação de áudio, de acordo a reivindica¬ção 1 ou 2, caracterizado pelo fato de que compreende uma unidade de modelagem perceptiva que modifica uma característica do filtro LP pelo chiado e/ou oscilação de um polinómio LPC gerado pela unidade de predição linear para um quadro LPC.Audio coding system according to claim 1 or 2, characterized by the fact that it comprises a perceptual modeling unit that modifies a characteristic of the LP filter by the hiss and / or oscillation of an LPC polynomial generated by the linear prediction unit for an LPC frame. Sistema de codificação de áudio, de acordo com qual¬quer uma das reivindicações 1 a 3, caracterizado pelo fato de que compreende:uma unidade de divisão de frequência para dividir o sinal de áudio em um componente de banda baixa e um componente de banda alta; e um codificador de banda alta para codificar o componente de banda alta, em que o componente de banda baixa é inserido na unida¬de de predição linear e na unidade de transformação. Audio coding system according to any one of claims 1 to 3, characterized by the fact that it comprises: a frequency division unit for dividing the audio signal into a low band component and a high band component; and a high band encoder to encode the high band component, where the low band component is inserted into the linear prediction unit and the transformation unit. Sistema de codificação de áudio, de acordo com a rei¬vindicação 4, caracterizado pelo fato de que a unidade de divisão de frequência compreende um banco de filtro especular na quadratura e uma unidade de síntese de filtro especular na quadratura, configurada para fazer amostragem descendente do sinal de áudio.Audio coding system, according to King 4, characterized by the fact that the frequency division unit comprises a quadrature specular filter bank and a quadrature specular filter synthesis unit, configured to make descending sampling of the audio signal. Sistema de codificação de áudio, de acordo com a rei¬vindicação 4 ou 5, caracterizado pelo fato de que o limite entre a banda baixa e a banda alta é variável e a unidade de divisão de fre¬quência determina a frequência de cruzamento com base em proprie¬dades do sinal de áudio e/ou em exigências de largura de banda do codificador.Audio coding system, according to King 4 or 5, characterized by the fact that the limit between the low band and the high band is variable and the frequency division unit determines the crossing frequency based on on audio signal properties and / or encoder bandwidth requirements. Sistema de codificação de áudio, de acordo com qual¬quer uma das reivindicações 4 a 6, caracterizado pelo fato de que o codificador de banda alta é um codificador de replicação de banda es¬pectral.Audio encoding system according to any one of claims 4 to 6, characterized by the fact that the high band encoder is a spectral band replication encoder. Sistema de codificação de áudio, de acordo com qual¬quer uma das reivindicações 1 a 7, caracterizado pelo fato de que compreende:uma unidade de estimação do fator de escala (1360) para estimar fatores de escala para controlar o ruído de quantização da unidade de quantização (203). Audio encoding system according to any one of claims 1 to 7, characterized by the fact that it comprises: a scale factor estimation unit (1360) to estimate scale factors to control the quantization noise of the quantization unit (203). Sistema de codificação de áudio, de acordo com a rei¬vindicação 8, caracterizado pelo fato de que os fatores de escala são determinados com base nas curvas de ganho no domínio MDCT mapeadas.Audio coding system, according to Rei¬vindication 8, characterized by the fact that the scale factors are determined based on the gain curves in the mapped MDCT domain. Sistema de codificação de áudio, de acordo com qual¬quer uma das reivindicações 1 a 9, caracterizado pelo fato de que compreende uma unidade estéreo paramétrica para calcular uma re¬presentação estéreo paramétrica dos canais esquerdo e direito inseri¬dos.Audio encoding system according to any one of claims 1 to 9, characterized by the fact that it comprises a parametric stereo unit for calculating a parametric stereo representation of the inserted left and right channels. Sistema de codificação de áudio, de acordo com qual¬quer uma das reivindicações 1 a 10, caracterizado pelo fato de que a unidade de mapeamento (1500) interpola curvas de ganho no domínio MDCT geradas em uma taxa correspondente ao primeiro comprimento de quadro para corresponder aos quadros do sinal do domínio MDCT gerado em uma taxa correspondente ao segundo comprimento de quadro.Audio coding system according to any one of claims 1 to 10, characterized by the fact that the mapping unit (1500) interpolates gain curves in the MDCT domain generated at a rate corresponding to the first frame length to correspond to the frames of the signal of the MDCT domain generated at a rate corresponding to the second frame length. Decodificador de áudio, caracterizado pelo fato de que compreende:uma unidade de dequantização (211) para dequantizar um quadro de um fluxo de bits de entrada e gerar um sinal do domínio transformado; uma unidade de transformação MDCT invertida de compri¬mento adaptativo (212) para transformar inversamente o sinal do do¬mínio transformado, a unidade de transformação MDCT invertida ope-rando em um comprimento de quadro variável; uma unidade de geração da curva de ganho (1470) para gerar curvas de ganho no domínio MDCT com base em respostas de magnitude dos filtros de predição linear, em que parâmetros para os filtros de predição linear são recebidos no fluxo de bits; e uma unidade de mapeamento (1500) para mapear curvas de ganho no domínio MDCT para correspondentes quadros do sinal do domínio MDCT. Audio decoder, characterized by the fact that it comprises: a quantizing unit (211) to dequantize a frame from an input bit stream and generate a signal from the transformed domain; an inverted MDCT transformation unit of adaptive length (212) for inversely transforming the transformed domain signal, the inverted MDCT transformation unit operating in a variable frame length; a gain curve generation unit (1470) for generating gain curves in the MDCT domain based on magnitude responses from the linear prediction filters, in which parameters for the linear prediction filters are received in the bit stream; and a mapping unit (1500) for mapping gain curves in the MDCT domain to corresponding signal frames of the MDCT domain. Método de codificação de áudio, caracterizado pelo fa¬to de que compreende as etapas de:realizar uma análise de predição linear (LP) em um sinal de áudio, a análise LP operando em um primeiro comprimento de quadro e gerando parâmetros de filtro da LP; transformar um quadro do sinal de áudio em um domínio da Transformada de Cosseno Discreta Modificada (MDCT), a MDCT ope¬rando em um segundo comprimento de quadro variável; quantizer um sinal do domínio MDCT; gerar curvas de ganho no domínio MDCT com base em respostas de magnitude dos filtros LP gerados; e mapear curvas de ganho no domínio MDCT para corres¬pondentes quadros do sinal do domínio MDCT. Audio coding method, characterized by the fact that it comprises the steps of: perform a linear prediction analysis (LP) on an audio signal, the LP analysis operating on a first frame length and generating LP filter parameters; transform a frame of the audio signal into a domain of the Modified Discrete Cosine Transform (MDCT), the MDCT operating in a second variable frame length; quantize a signal from the MDCT domain; generate gain curves in the MDCT domain based on magnitude responses from the generated LP filters; and map gain curves in the MDCT domain to corresponding signal frames of the MDCT domain. Método de decodificação de áudio, caracterizado pelo fato de que compreende as etapas de:dequantizar um quadro de um fluxo de bits de entrada e ge¬rar um sinal do domínio transformado; fazer transformada MDCT invertida do sinal do domínio transformado, a transformada MDCT invertida operando em um com¬primento de quadro variável; gerar curvas de ganho no domínio MDCT com base em respostas de magnitude de filtros de predição linear, em que parâme¬tros para os filtros de predição linear são recebidos no fluxo de bits; e mapear curvas de ganho no domínio MDCT para corres¬pondentes quadros do sinal do domínio MDCT. Audio decoding method, characterized by the fact that it comprises the steps of: dequantize a frame from an input bit stream and generate a signal from the transformed domain; make the inverted MDCT transform of the transformed domain signal, the inverted MDCT transform operating in a variable frame length; generate gain curves in the MDCT domain based on magnitude responses from linear prediction filters, in which parameters for the linear prediction filters are received in the bit stream; and map gain curves in the MDCT domain to corresponding signal frames of the MDCT domain.
BR122019023345-4A 2008-01-04 2008-12-30 AUDIO ENCODING SYSTEM, AUDIO DECODER, AUDIO ENCODING METHOD AND AUDIO DECODING METHOD BR122019023345B1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
SE0800032 2008-01-04
SE0800032-5 2008-01-04
US5597808P 2008-05-24 2008-05-24
EP08009530.0 2008-05-24
US61/055,978 2008-05-24
EP08009530A EP2077550B8 (en) 2008-01-04 2008-05-24 Audio encoder and decoder
BRPI0822236A BRPI0822236B1 (en) 2008-01-04 2008-12-30 audio encoding system, audio decoder, audio encoding method and audio decoding method
PCT/EP2008/011144 WO2009086918A1 (en) 2008-01-04 2008-12-30 Audio encoder and decoder

Publications (1)

Publication Number Publication Date
BR122019023345B1 true BR122019023345B1 (en) 2020-06-23

Family

ID=71137041

Family Applications (1)

Application Number Title Priority Date Filing Date
BR122019023345-4A BR122019023345B1 (en) 2008-01-04 2008-12-30 AUDIO ENCODING SYSTEM, AUDIO DECODER, AUDIO ENCODING METHOD AND AUDIO DECODING METHOD

Country Status (1)

Country Link
BR (1) BR122019023345B1 (en)

Also Published As

Publication number Publication date
RU2019122302A (en) 2021-01-18

Similar Documents

Publication Publication Date Title
BRPI0822236B1 (en) audio encoding system, audio decoder, audio encoding method and audio decoding method
ES2433043T3 (en) Switching the ACELP to TCX encoding mode
US7680670B2 (en) Dimensional vector and variable resolution quantization
ES2704901T3 (en) Weft noise injection correction of weighted noise
BR112015025009B1 (en) QUANTIZATION AND REVERSE QUANTIZATION UNITS, ENCODER AND DECODER, METHODS FOR QUANTIZING AND DEQUANTIZING
BR112014032735B1 (en) Audio encoder and decoder based on linear prediction and respective methods for encoding and decoding
BR122019023345B1 (en) AUDIO ENCODING SYSTEM, AUDIO DECODER, AUDIO ENCODING METHOD AND AUDIO DECODING METHOD
AU2012201692B2 (en) Audio Encoder and Decoder
ES2646021T3 (en) Method and apparatus for encoding, processing and decoding of audio signal envelope by modeling a cumulative sum representation using distribution and coding quantification
ES2635026T3 (en) Apparatus and procedure for encoding, processing and decoding of audio signal envelope by dividing the envelope of the audio signal using quantization and distribution coding
RU2793725C2 (en) Audio coder and decoder
Mohammadi Combined scalar-vector quantization: a new spectral coding method for low rate speech coding

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 23/06/2020, OBSERVADAS AS CONDICOES LEGAIS.

B25G Requested change of headquarter approved

Owner name: DOLBY INTERNATIONAL AB (IE)