BR122022012597B1 - AUDIO CODER AND DECODER USING A FREQUENCY DOMAIN PROCESSOR WITH FULL BAND GAP FILLING AND A TIME DOMAIN PROCESSOR - Google Patents

AUDIO CODER AND DECODER USING A FREQUENCY DOMAIN PROCESSOR WITH FULL BAND GAP FILLING AND A TIME DOMAIN PROCESSOR Download PDF

Info

Publication number
BR122022012597B1
BR122022012597B1 BR122022012597-2A BR122022012597A BR122022012597B1 BR 122022012597 B1 BR122022012597 B1 BR 122022012597B1 BR 122022012597 A BR122022012597 A BR 122022012597A BR 122022012597 B1 BR122022012597 B1 BR 122022012597B1
Authority
BR
Brazil
Prior art keywords
spectral
audio signal
signal
frequency
time domain
Prior art date
Application number
BR122022012597-2A
Other languages
Portuguese (pt)
Inventor
Sascha Disch
Martin Dietz
Markus Multrus
Guillaume Fuchs
Emmanuel RAVELLI
Matthias Neusinger
Benjamin SCHUBERT
Bernhard Grill
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
Publication of BR122022012597B1 publication Critical patent/BR122022012597B1/en

Links

Abstract

Um codificador de áudio para codificação de um sinal de áudio, compreendendo: um primeiro processador de codificação (600) de uma primeira parte do sinal de áudio em um domínio de frequência, caracterizado pelo primeiro processador de codificação (600) compreender: um conversor de tempo-frequência (602) para a primeira parte do sinal de áudio em uma representação de domínio de frequência, tendo linhas espectrais até uma frequência máxima da primeira parte do sinal de áudio; um analisador (604) da representação do domínio de frequência até a frequência máxima para determinar as partes espectrais primárias a serem codificadas com uma primeira resolução espectral e as regiões espectrais secundárias a serem codificadas com uma segunda resolução espectral, a segunda resolução espectral sendo mais baixa do que a primeira resolução espectral; um codificador espectral (606) para das partes espectrais primárias da representação do domínio de frequência com a primeira resolução espectral e para codificação das partes espectrais secundárias com a segunda resolução espectral; um segundo processador de codificação (610) para uma segunda parte do sinal de áudio diferente no domínio de tempo; um controlador (620) configurado para análise do sinal de áudio e para determinação de qual parte do sinal de áudio é a primeira parte do sinal de áudio codificada (...).An audio encoder for encoding an audio signal, comprising: a first encoding processor (600) of a first part of the audio signal in a frequency domain, characterized in that the first encoding processor (600) comprises: a time-frequency (602) for the first part of the audio signal in a frequency domain representation, having spectral lines up to a maximum frequency of the first part of the audio signal; an analyzer (604) of the frequency domain representation up to the maximum frequency to determine the primary spectral parts to be encoded with a first spectral resolution and the secondary spectral regions to be encoded with a second spectral resolution, the second spectral resolution being lower than the first spectral resolution; a spectral encoder (606) for encoding the primary spectral parts of the frequency domain representation with the first spectral resolution and for encoding the secondary spectral parts with the second spectral resolution; a second encoding processor (610) for a second part of the audio signal different in the time domain; a controller (620) configured for analyzing the audio signal and determining which part of the audio signal is the first encoded part of the audio signal (...).

Description

[0001] A presente invenção refere-se à codificação e decodificação do sinal de áudio e, em particular, ao processamento do sinal de áudio utilizando processadores de codificadores/decodificadores paralelos de domínio de frequência e domínio de tempo.[0001] The present invention relates to encoding and decoding the audio signal and, in particular, processing the audio signal using parallel frequency domain and time domain encoder/decoder processors.

[0002] A codificação perceptual de sinais de áudio com a finalidade de redução de dados para armazenamento ou transmissão eficiente desses sinais é uma prática amplamente utilizada. Em particular, quando taxas de bit mais baixas tiverem de ser obtidas, a codificação empregada leva a uma redução da qualidade de áudio que é frequente e principalmente causada por uma limitação no lado do codificador da largura de banda do sinal de áudio a ser transmitido. Aqui, tipicamente o sinal de áudio é de filtragem de passa baixa, de modo que nenhum conteúdo de forma de onda espectral permaneça acima de certa frequência de corte predeterminada.[0002] Perceptual coding of audio signals for the purpose of data reduction for efficient storage or transmission of these signals is a widely used practice. In particular, when lower bit rates have to be obtained, the coding employed leads to a reduction in audio quality which is often and mainly caused by a limitation on the encoder side of the bandwidth of the audio signal to be transmitted. Here, typically the audio signal is low-pass filtered so that no spectral waveform content remains above a certain predetermined cutoff frequency.

[0003] Em codecs modernos, há métodos bem conhecidos para a restauração do sinal do lado do decodificador através da Extensão de Largura de Banda (BWE | Bandwidth Extension) do sinal de áudio, p.ex., Replicação da Banda Espectral (SBR | Spectral Band Replication) que opera em domínio de frequência ou a assim chamada Extensão da Largura de Banda do Domínio de Tempo (TD-BWE | Time Domain Bandwidth Extension), sendo um pós-processador em codificadores de discurso que opera em domínio de tempo.[0003] In modern codecs, there are well-known methods for restoring the signal on the decoder side through Bandwidth Extension (BWE) of the audio signal, e.g., Spectral Bandwidth Replication (SBR | Spectral Band Replication) that operates in the frequency domain or the so-called Time Domain Bandwidth Extension (TD-BWE), being a post-processor in speech encoders that operates in the time domain.

[0004] Adicionalmente, vários conceitos de codificação do domínio de frequência/domínio de tempo combinados existem como conceitos conhecidos sob o termo AMR- WB+ ou USAC.[0004] Additionally, several combined frequency domain/time domain coding concepts exist as concepts known under the term AMR-WB+ or USAC.

[0005] Todos esses conceitos de codificação/domínio de tempo combinados têm em comum que o codificador do domínio de frequência depende das tecnologias de extensão de largura de banda que incorrem uma limitação de banda no sinal de áudio de entrada e a parte acima de uma frequência de cruzada ou frequência de limite é codificado com um conceito de codificação de baixa resolução e sintetizado no lado do decodificador. Assim, tais conceitos dependem principalmente de uma tecnologia de pré-processador no lado do codificador e uma funcionalidade pós-processamento correspondente no lado do decodificador.[0005] All of these combined time domain/coding concepts have in common that the frequency domain encoder relies on bandwidth extension technologies that incur a bandwidth limitation on the input audio signal and the part above a Crossing frequency or threshold frequency is encoded with a low-resolution coding concept and synthesized on the decoder side. Thus, such concepts mainly rely on a preprocessor technology on the encoder side and a corresponding post-processing functionality on the decoder side.

[0006] Tipicamente, o codificador do domínio de tempo é selecionado para que os sinais úteis sejam decodificados no domínio de tempo, como o sinal de fala, e o codificador do domínio de frequência é selecionado para sinais de não fala, sinais de música, e etc. Entretanto, especificamente para sinais de não fala tendo harmônicas proeminentes na banda de alta frequência, os codificadores de domínio de frequência da técnica anterior têm uma precisão reduzida e, portanto, uma qualidade de áudio reduzida devido ao fato de que tais harmônicas proeminentes podem somente ser codificadas parametricamente separadamente ou são completamente eliminadas no processo de codificação/decodificação.[0006] Typically, the time domain encoder is selected for useful signals to be decoded in the time domain, such as speech signal, and the frequency domain encoder is selected for non-speech signals, music signals, and etc. However, specifically for non-speech signals having prominent harmonics in the high frequency band, prior art frequency domain encoders have reduced accuracy and therefore reduced audio quality due to the fact that such prominent harmonics can only be parametrically encoded separately or are completely eliminated in the encoding/decoding process.

[0007] Além disso, há conceitos em que a ramificação de codificação/decodificação do domínio de tempo depende adicionalmente da extensão da largura de banda que também codifica parametricamente uma série de frequência superior, enquanto uma série de frequência inferior é tipicamente codificada utilizando uma ACELP ou qualquer outro tipo de codificador relacionado ao CELP, por exemplo, um codificador de fala. Essa funcionalidade da extensão da largura de banda aumenta a eficiência da velocidade de bits, mas, por outro lado, introduz ainda inflexibilidade, devido ao fato de que ambas as ramificações de codificação, por exemplo, a ramificação de codificação do domínio de frequência e a ramificação de codificação do domínio de tempo são de banda limitada devido ao procedimento de extensão de largura de banda ou o procedimento de replicação da banda espectral operando acima de certa frequência de cruzada substancialmente menor que a frequência máxima incluída no sinal de áudio de entrada.[0007] Furthermore, there are concepts in which the time domain encoding/decoding branch additionally depends on the extent of bandwidth that also parametrically encodes a higher frequency series, while a lower frequency series is typically encoded using an ACELP or any other type of CELP-related encoder, for example, a speech encoder. This bandwidth extension functionality increases bitrate efficiency, but on the other hand it still introduces inflexibility due to the fact that both coding branches, e.g. the frequency domain coding branch and the time domain coding branches are bandwidth limited due to the bandwidth extension procedure or the spectral band replication procedure operating above a certain crossover frequency substantially lower than the maximum frequency included in the input audio signal.

[0008] Tópicos relevantes no estado da técnica compreendem: - SBR como um pós-processador para decodificação da forma de onda [1-3]; - Comutação central USAC MPEG-D [4]; - MPEG-H 3D IGF [5].[0008] Relevant topics in the prior art comprise: - SBR as a post-processor for waveform decoding [1-3]; - USAC MPEG-D core switching [4]; - MPEG-H 3D IGF [5].

[0009] Os documentos e patentes a seguir descrevem os métodos que são considerados como constituintes da técnica prévia para o pedido:[0009] The following documents and patents describe the methods that are considered to constitute prior art for the application:

[0010] [1] M. Dietz, L. Liljeryd, K. Kjorling e O. Kunz, “Spectral Band Replication, a novel approach in audio coding”, na 112a Convenção AES, Munique, Alemanha, 2002.[0010] [1] M. Dietz, L. Liljeryd, K. Kjorling and O. Kunz, “Spectral Band Replication, a novel approach in audio coding”, at the 112th AES Convention, Munich, Germany, 2002.

[0011] [2] S. Meltzer, R. Bohm e F. Henn, “SBR enhanced audio codecs for digital broadcasting such as “Digital Radio Mondiale” (DRM)”, na 112a Convenção AES, Munique, Alemanha, 2002.[0011] [2] S. Meltzer, R. Bohm and F. Henn, “SBR enhanced audio codecs for digital broadcasting such as “Digital Radio Mondiale” (DRM)”, in 112th AES Convention, Munich, Germany, 2002.

[0012] [3] T. Ziegler, A. Ehret, P. Ekstrand e M. Lutzky, “Enhancing mp3 with SBR: Features and Capabilities of the new mp3PRO Algorithm”, na 112a Convenção AES, Munique, Alemanha, 2002.[0012] [3] T. Ziegler, A. Ehret, P. Ekstrand and M. Lutzky, “Enhancing mp3 with SBR: Features and Capabilities of the new mp3PRO Algorithm”, at 112th AES Convention, Munich, Germany, 2002.

[0013] [4] Padrão USAC MPEG-D.[0013] [4] USAC MPEG-D standard.

[0014] [5] PCT/EP2014/065109.[0014] [5] PCT/EP2014/065109.

[0015] Em USAC MPEG-D, um codificador central comutável é descrito. No entanto, em USAC, a central limitada à banda é restrita para sempre transmitir um sinal de filtro passa baixa. Portanto, certos sinais de música que contêm conteúdo de alta frequência proeminentes, por exemplo, varreduras de banda completa, sons de triângulo, etc., não podem ser fielmente reproduzidos.[0015] In USAC MPEG-D, a switchable central encoder is described. However, in USAC, the band-limited switch is restricted to always transmit a low-pass filtered signal. Therefore, certain music signals that contain prominent high-frequency content, for example, full-band sweeps, triangle sounds, etc., cannot be faithfully reproduced.

[0016] É um objeto da presente invenção fornecer um conceito melhorado para codificação de áudio.[0016] It is an object of the present invention to provide an improved concept for audio coding.

[0017] Esse objeto é alcançado por um o codificador de áudio de acordo com a reivindicação 1, um o decodificador de áudio de acordo com a reivindicação 11, um método de codificação de áudio de acordo com a reivindicação 20, um método de decodificação de áudio de acordo com a reivindicação 21 ou um programa de computador de acordo com a reivindicação 22.[0017] This object is achieved by an audio encoder according to claim 1, an audio decoder according to claim 11, an audio coding method according to claim 20, an audio decoding method according to claim audio according to claim 21 or a computer program according to claim 22.

[0018] A presente invenção se baseia na constatação que um processador de codificação/decodificação de domínio de tempo pode ser combinado com um processador de codificação/decodificação do domínio de frequência, tendo uma funcionalidade de preenchimento de lacuna, mas essa funcionalidade de preenchimento de lacuna para preencher orifícios espectrais é operada por toda a banda do sinal de áudio ou, pelo menos, acima de certa frequência do preenchimento de lacuna. Essencialmente, o processador de codificação / decodificação do domínio de frequência está particularmente na posição de realizar codificação / decodificação precisa ou de forma de onda ou de valor espectral até a frequência máxima e não somente até uma frequência cruzada. Além disso, a capacidade de banda completa do codificador do domínio de frequência para codificação com a resolução alta permite uma integração da funcionalidade de preenchimento de lacuna ao codificador do domínio de frequência.[0018] The present invention is based on the discovery that a time domain encoding/decoding processor can be combined with a frequency domain encoding/decoding processor, having a gap-filling functionality, but this gap-filling functionality gap filling spectral holes is operated over the entire band of the audio signal or at least above a certain gap filling frequency. Essentially, the frequency domain encoding/decoding processor is particularly in a position to perform accurate encoding/decoding of either waveform or spectral value up to the maximum frequency and not just up to a cross frequency. Additionally, the full-bandwidth capability of the frequency domain encoder for high-resolution encoding allows integration of gap filling functionality into the frequency domain encoder.

[0019] Assim, de acordo com a presente invenção, ao utilizar o processador do codificador/decodificador espectral de banda completa, os problemas relacionados à separação da extensão da largura de banda, por um lado, e a codificação central, por outro, pode ser abordada e ultrapassada realizando a extensão da largura de banda no mesmo domínio espectral no qual o decodificador central opera. Portanto, um decodificador central de taxa completa é fornecido que codifica e decodifica a taxa de sinal de áudio completa. Isso não exige a necessidade de um redutor de taxa de amostragem no lado do codificador e um amplificador de taxa de amostragem no lado do decodificador. Ao invés disso, todo o processamento é realizado no domínio de largura de banda completa ou de taxa de amostragem completa. Para obter um alto ganho de codificação, o sinal de áudio é analisado para encontrar um primeiro conjunto de partes espectrais que tem que ser codificados com uma alta resolução, onde esse primeiro conjunto de partes espectrais primárias podem incluir, em uma aplicação, partes tonais do sinal de áudio. Por outro lado, componentes não tonais ou com ruído no sinal de áudio constituindo um segundo conjunto de partes espectrais são parametricamente codificados com resolução espectral baixa. O sinal de áudio codificado então exige somente o primeiro conjunto das partes espectrais primárias codificadas de uma maneira de preservação da forma de onda com uma alta resolução espectral e, adicionalmente, o segundo conjunto das partes espectrais secundárias codificadas parametricamente com uma resolução baixa utilizando “porções” de frequência provenientes do primeiro conjunto. No lado do decodificador, o decodificador central, que é um decodificador de banda completa, reconstrói o primeiro conjunto das partes espectrais primárias de uma maneira de preservação da forma de onda, isto é, sem qualquer conhecimento de que haja qualquer regeneração de frequência adicional. Entretanto, o espectro então gerado tem muitas lacunas espectrais. Essas lacunas são subsequentemente preenchidas com a tecnologia de Preenchimento de Lacuna Inteligente (IGF | Intelligent Gap Filling) inventiva ao utilizar uma regeneração de frequência aplicando dados paramétricos por um lado e utilizando uma faixa espectral de fonte, por exemplo, partes espectrais reconstruídas pelo decodificador de áudio de taxa completa por outro lado.[0019] Thus, according to the present invention, when using the full-band spectral encoder/decoder processor, problems related to the separation of bandwidth extension, on the one hand, and central coding, on the other, may be addressed and overcome by performing bandwidth extension in the same spectral domain in which the central decoder operates. Therefore, a full-rate core decoder is provided that encodes and decodes the full audio signal rate. This does not require the need for a sample rate reducer on the encoder side and a sample rate amplifier on the decoder side. Instead, all processing is performed in the full bandwidth or full sample rate domain. To obtain a high coding gain, the audio signal is analyzed to find a first set of spectral parts that have to be encoded with a high resolution, where this first set of primary spectral parts may include, in an application, tonal parts of the audio signal. On the other hand, non-tonal or noisy components in the audio signal constituting a second set of spectral parts are parametrically encoded with low spectral resolution. The encoded audio signal then requires only the first set of primary spectral parts encoded in a waveform-preserving manner with a high spectral resolution and, in addition, the second set of secondary spectral parts encoded parametrically at a low resolution using “portions”. ” of frequency coming from the first set. On the decoder side, the central decoder, which is a full-band decoder, reconstructs the first set of primary spectral parts in a waveform-preserving manner, that is, without any knowledge that there is any additional frequency regeneration. However, the spectrum thus generated has many spectral gaps. These gaps are subsequently filled with inventive Intelligent Gap Filling (IGF) technology by utilizing frequency regeneration applying parametric data on the one hand and utilizing a source spectral range, e.g., spectral parts reconstructed by the decoder. full rate audio on the other hand.

[0020] Em outras aplicações, as partes espectrais, que são reconstruídas somente por preenchimento de ruído ao invés de replicação de largura de banda ou preenchimento de porção de frequência, constituem um terceiro conjunto de terceiras partes espectrais. Devido ao fato de que o conceito de codificação opera em um domínio único para a codificação/decodificação central por um lado e a regeneração de frequência por outro lado, o IGF não está restrito a preencher uma faixa de frequência mais alta, mas pode preencher séries de frequência inferior, por preenchimento de ruído sem regeneração de frequência ou por regeneração de frequência utilizando uma porção de frequência em uma faixa de frequência diferente.[0020] In other applications, the spectral parts, which are reconstructed only by noise filling rather than bandwidth replication or frequency portion filling, constitute a third set of third spectral parts. Due to the fact that the coding concept operates in a single domain for core coding/decoding on the one hand and frequency regeneration on the other hand, the IGF is not restricted to filling a higher frequency range, but can fill series frequency, by noise filling without frequency regeneration or by frequency regeneration using a frequency portion in a different frequency range.

[0021] Além disso, é enfatizado que uma informação sobre energias espectrais, uma informação sobre energias individuais ou uma informação de energia individual, uma informação sobre uma energia de sobrevivência ou uma informação de energia de sobrevivência, uma informação sobre uma energia de porção ou uma informação de energia de porção, ou uma informação sobre uma energia em falta ou uma informação de energia em falta pode compreender não somente um valor de energia, mas também um valor de amplitude (por exemplo, absoluta), um valor de nível ou qualquer outro valor, a partir do qual um valor de energia final pode ser derivado. Assim, as informações sobre uma energia podem, por exemplo, compreender o próprio valor de energia, e/ou um valor de um nível e/ou de uma amplitude e/ou de uma amplitude absoluta.[0021] Furthermore, it is emphasized that an information about spectral energies, an information about individual energies or an individual energy information, an information about a survival energy or a survival energy information, an information about a portion energy or a portion energy information, or a missing energy information or a missing energy information may comprise not only an energy value, but also an amplitude value (e.g. absolute), a level value or any another value, from which a final energy value can be derived. Thus, information about an energy may, for example, comprise the energy value itself, and/or a value of a level and/or an amplitude and/or an absolute amplitude.

[0022] Um aspecto adicional se baseia na constatação de que a situação de correlação não é somente importante para a faixa de origem, mas também é importante para a faixa alvo. Além disso, a presente invenção reconhece a situação de que situações de correlação diferentes podem ocorrer na faixa de origem e na faixa alvo. Quando, por exemplo, um sinal de fala com ruído de alta frequência é considerado, a situação pode ser que a banda de baixa frequência compreende o sinal de fala com um pequeno número de implicações está altamente correlacionada no canal esquerdo e no canal direito, quando o alto-falante é colocado no meio. A parte de alta frequência, entretanto, pode ser fortemente não correlacionada devido ao fato de que pode haver um ruído de alta frequência diferente no lado esquerdo comparado a outro ruído de alta frequência no lado direito. Assim, quando uma operação de preenchimento de lacuna de modo direto é realizada, que ignora essa situação, então a parte de alta frequência seria correlacionada também, e isso pode gerar sérios perturbações de segregação espacial no sinal reconstruído. Para resolver essa questão, dados paramétricos para uma banda de reconstrução ou, em geral, para o segundo conjunto de partes espectrais secundárias que tem que ser reconstruídas utilizando um primeiro conjunto espectral das partes espectrais primárias, são calculados para identificar se uma primeira ou uma segunda representação de dois canais diferentes para a segunda parte espectral ou, indicados de maneira diferente, para a banda de reconstrução. No lado do codificador, uma identificação de dois canais é, portanto, calculada para as partes espectrais secundárias, isto é, para as partes, para as quais, adicionalmente, informações de energia para as bandas de reconstrução são calculadas. Um regenerador de frequência no lado do decodificador então regenera uma segunda parte espectral dependendo de uma primeira parte do primeiro conjunto de partes espectrais primárias, por exemplo, a faixa de origem e os dados paramétricos para a segunda parte, como informações de energia do envelope espectral ou quaisquer outros dados do envelope espectral e, adicionalmente, dependentes da identificação de dois canais para a segunda parte, isto é, para essa banda de reconstrução sob reconsideração.[0022] An additional aspect is based on the observation that the correlation situation is not only important for the source range, but is also important for the target range. Furthermore, the present invention recognizes the situation that different correlation situations may occur in the source range and the target range. When, for example, a speech signal with high frequency noise is considered, the situation may be that the low frequency band comprising the speech signal with a small number of implications is highly correlated in the left channel and the right channel, when the speaker is placed in the middle. The high-frequency part, however, may be strongly uncorrelated due to the fact that there may be a different high-frequency noise on the left side compared to another high-frequency noise on the right side. Thus, when a direct-mode gap-filling operation is performed, which ignores this situation, then the high-frequency part would be correlated as well, and this can generate serious spatial segregation perturbations in the reconstructed signal. To resolve this issue, parametric data for a reconstruction band or, in general, for the second set of secondary spectral parts that have to be reconstructed using a first spectral set of primary spectral parts, are calculated to identify whether a first or a second representation of two different channels for the second spectral part or, indicated differently, for the reconstruction band. On the encoder side, a two-channel identification is therefore calculated for the secondary spectral parts, i.e. for the parts, for which additionally energy information for the reconstruction bands is calculated. A frequency regenerator on the decoder side then regenerates a second spectral part depending on a first part of the first set of primary spectral parts, for example, the source band and the parametric data for the second part, such as spectral envelope energy information. or any other spectral envelope data and additionally dependent on the identification of two channels for the second part, i.e. for that reconstruction band under reconsideration.

[0023] A identificação de dois canais é preferivelmente transmitida como um identificador para cada banda de reconstrução e esses dados são transmitidos a partir de um codificador para um decodificador e o decodificador então decodifica o sinal central conforme indicado pelos identificadores preferivelmente calculados para as bandas central. Então, em uma implementação, o sinal central é armazenado em ambas as representações estéreo (p.ex., esquerda/direita e média/lateral) e, para o preenchimento de porção de frequência de IGF, a representação da porção de origem é escolhida para encaixar a representação de porção alvo, conforme indicado, pelos identificadores de identificação de dois canais para o preenchimento de lacuna inteligente ou bandas de reconstrução, isto é, para a faixa alvo.[0023] The two-channel identification is preferably transmitted as an identifier for each reconstruction band and this data is transmitted from an encoder to a decoder and the decoder then decodes the central signal as indicated by the identifiers preferably calculated for the central bands . So, in one implementation, the center signal is stored in both stereo representations (e.g., left/right and mid/side) and, for filling the IGF frequency portion, the source portion representation is chosen. to fit the target portion representation, as indicated, by the two-channel identification identifiers to the intelligent gap filling or reconstruction bands, i.e., to the target band.

[0024] É enfatizado que esse procedimento não somente trabalha para sinais estéreo, isto é, para um canal esquerdo e para um canal direito, mas também opera para sinais de canais múltiplos. No caso dos sinais de canais múltiplos, vários pares de canais diferentes podem ser processados como um canal direito e um canal esquerdo como o primeiro par, um canal de margem esquerdo e um canal de margem direito como o segundo par e um canal central e um canal LFE como o terceiro par. Outros pareamentos podem ser determinados para formatos de canais de saída mais altos, como 7,1, 11,1 entre outros.[0024] It is emphasized that this procedure not only works for stereo signals, that is, for a left channel and for a right channel, but also operates for multiple channel signals. In the case of multi-channel signals, several different channel pairs can be processed as a right channel and a left channel as the first pair, a left edge channel and a right edge channel as the second pair, and a center channel and a LFE channel as the third pair. Other pairings can be determined for higher output channel formats, such as 7.1, 11.1 and others.

[0025] Um aspecto adicional se baseia na constatação de que a qualidade de áudio do sinal reconstruído pode ser melhorada através de IGF, visto que todo o espectro é acessível ao codificador central, de modo que, por exemplo, partes tonais perceptivelmente importantes em uma faixa espectral alta possam ainda ser codificadas pelo codificador central ao invés da substituição paramétrica. Adicionalmente, uma operação de preenchimento de lacuna utilizando porções de frequência a partir de um primeiro conjunto de partes espectrais primárias que é, por exemplo, um conjunto de partes tonais tipicamente a partir de uma série de frequência inferior, mas também a partir de uma faixa de frequência mais alta, se disponível, é realizada. Para o ajuste do envelope espectral do lado do decodificador, entretanto, as partes espectrais a partir do primeiro conjunto de partes espectrais localizadas na banda de reconstrução não são mais pós-processadas, por exemplo, pelo ajuste do envelope espectral. Somente os valores espectrais restantes na banda de reconstrução que não se originam do decodificador central devem ser envelopes ajustados utilizando informações de envelope. Preferivelmente, as informações de envelope são informações de envelope de banda complete contabilizando a energia do primeiro conjunto de partes espectrais primárias na banda de reconstrução e do segundo conjunto de partes espectrais secundárias na mesma banda de reconstrução, onde os últimos valores espectrais no segundo conjunto de partes espectrais secundárias são indicados como zero e não são, portanto, codificados pelo codificador central, mas são parametricamente codificados com informações de energia de baixa resolução.[0025] An additional aspect is based on the realization that the audio quality of the reconstructed signal can be improved through IGF, since the entire spectrum is accessible to the central encoder, so that, for example, perceptually important tonal parts in a high spectral range can still be encoded by the central encoder instead of parametric substitution. Additionally, a gap filling operation utilizing frequency portions from a first set of primary spectral parts which is, for example, a set of tonal parts typically from a lower frequency series, but also from a range higher frequency, if available, is performed. For decoder-side spectral envelope adjustment, however, the spectral parts from the first set of spectral parts located in the reconstruction band are no longer post-processed, for example by spectral envelope adjustment. Only the remaining spectral values in the reconstruction band that do not originate from the central decoder should be envelope fitted using envelope information. Preferably, the envelope information is full band envelope information accounting for the energy of the first set of primary spectral parts in the reconstruction band and the second set of secondary spectral parts in the same reconstruction band, where the last spectral values in the second set of Secondary spectral parts are indicated as zero and are therefore not encoded by the central encoder, but are parametrically encoded with low-resolution energy information.

[0026] Constatou-se que os valores de energia absolutos normalizados ou não com relação à largura de banda da banda correspondente são úteis e muito eficientes em uma aplicação no lado do decodificador. Isso se aplica especialmente quando fatores de ganho tem que ser calculados baseados na energia residual na banda de reconstrução, a energia em falta na banda de reconstrução e nas informações de porção de frequência na banda de reconstrução.[0026] It has been found that absolute energy values normalized or not with respect to the bandwidth of the corresponding band are useful and very efficient in an application on the decoder side. This applies especially when gain factors have to be calculated based on the residual energy in the reconstruction band, the missing energy in the reconstruction band and the frequency portion information in the reconstruction band.

[0027] Além disso, é preferível que o fluxo de bits codificado não somente cubra informações de energia para as bandas de reconstrução, mas, adicionalmente, fatores de escala para bandas de fator de escala até a frequência máxima. Isso garante que para cada banda de reconstrução, para as quais certa parte tonal, isto é, uma primeira parte espectral, é disponível, esse primeiro conjunto da primeira parte espectral pode, na verdade, ser decodificada com uma amplitude direita. Além disso, além do fator de escala para cada banda de reconstrução, uma energia para essa banda de reconstrução é gerada em um codificador e transmitida a um decodificador. Além disso, é preferível que as bandas de reconstrução coincidam com as bandas de fator de escala ou, no caso de agrupamento de energia, pelo menos os limites da banda de reconstrução coincidam com limites de bandas de fator de escala.[0027] Furthermore, it is preferred that the encoded bitstream not only covers power information for the reconstruction bands, but additionally scale factors for scale factor bands up to the maximum frequency. This ensures that for each reconstruction band, for which a certain tonal part, that is, a first spectral part, is available, that first set of the first spectral part can actually be decoded with a right amplitude. Furthermore, in addition to the scaling factor for each reconstruction band, an energy for that reconstruction band is generated in an encoder and transmitted to a decoder. Furthermore, it is preferable for reconstruction bands to coincide with scale factor bands or, in the case of energy pooling, at least reconstruction band boundaries to coincide with scale factor band boundaries.

[0028] Um aspecto adicional se baseia na constatação de que certas deficiências na qualidade do áudio podem ser remediadas ao aplicar um esquema de preenchimento de porção de frequência adaptativa de sinal. Para esse fim, uma análise no lado do codificador é realizada para encontrar o melhor candidato de região de origem correspondente para uma determinada região alvo. Uma informação correspondente que identifica uma região alvo de uma determinada região de origem junto com opcionalmente algumas informações adicionais é gerada e transmitida como informação adicional ao decodificador. O decodificador, então, aplica uma operação de preenchimento de porção de frequência utilizando a informação correspondente. Para essa finalidade, o decodificador lê a informação correspondente da corrente de dados transmitida ou arquivo de dados e acessa a região de origem identificada para uma certa banda de reconstrução e, se indicado na informação correspondente, realiza adicionalmente algum processamento desses dados da região de origem para gerar os dados espectrais brutos para a banda de reconstrução. Então, esse resultado da operação de preenchimento de porção de frequência, ou seja, os dados espectrais brutos para a banda de reconstrução, é modelado utilizando a informação de envelope espectral a fim de finalmente obter uma banda de reconstrução que compreende as partes espectrais primárias como partes tonais também. Essas partes tonais, entretanto, não são geradas pelo esquema de preenchimento de porção adaptativo, mas essas partes espectrais primárias são emitidas pelo decodificador de áudio ou decodificador central diretamente.[0028] An additional aspect is based on the finding that certain deficiencies in audio quality can be remedied by applying an adaptive signal frequency portion filling scheme. To this end, an encoder-side analysis is performed to find the best corresponding source region candidate for a given target region. A corresponding information that identifies a target region from a given source region along with optionally some additional information is generated and transmitted as additional information to the decoder. The decoder then applies a frequency chunk filling operation using the corresponding information. For this purpose, the decoder reads the corresponding information from the transmitted data stream or data file and accesses the source region identified for a certain reconstruction band and, if indicated in the corresponding information, additionally performs some processing of this source region data to generate the raw spectral data for the reconstruction band. Then, this result of the frequency portion filling operation, i.e., the raw spectral data for the reconstruction band, is modeled using the spectral envelope information in order to finally obtain a reconstruction band comprising the primary spectral parts as tonal parts too. These tonal parts, however, are not generated by the adaptive portion filling scheme, but these primary spectral parts are output by the audio decoder or central decoder directly.

[0029] O esquema de seleção de porção espectral adaptativa pode operar com uma baixa granularidade. Nessa implementação, uma região de origem é subdividida em tipicamente regiões de origem de sobreposição e a região alvo ou as bandas de reconstrução são dadas pelas regiões alvo de frequência não sobrepostas. Então, as similaridades entre cada região de origem e cada região alvo são determinadas no lado do codificador e o melhor par correspondente de uma região de origem e a região alvo é identificado pela informação correspondente e, no lado do decodificador, a região de origem identificada na informação correspondente é utilizada para gerar os dados espectrais brutos para a banda de reconstrução.[0029] The adaptive spectral portion selection scheme can operate with a low granularity. In this implementation, a source region is subdivided into typically overlapping source regions and the target region or reconstruction bands are given by the non-overlapping frequency target regions. Then, the similarities between each source region and each target region are determined on the encoder side, and the best matching pair of a source region and the target region is identified by the corresponding information, and on the decoder side, the identified source region in the corresponding information is used to generate the raw spectral data for the reconstruction band.

[0030] Com a finalidade de obter uma granularidade mais alta, é permitida a cada região de origem alternar-se, a fim de obter um certo atraso onde as similaridades são máximas. Esse atraso pode ser tão fino quanto uma posição de frequência e possibilita uma correspondência ainda melhor entre uma região de origem e a região alvo.[0030] In order to obtain a higher granularity, each source region is allowed to alternate, in order to obtain a certain delay where similarities are maximum. This delay can be as fine as a frequency position and allows for even better matching between a source region and target region.

[0031] Ademais, além de apenas identificar um melhor par de identificação, esse atraso de correlação também pode ser transmitido dentro da informação correspondente e, adicionalmente, mesmo um sinal pode ser transmitido. Quando o sinal é determinado como negativo no lado do codificador, então um sinal correspondente também é transmitido dentro da informação correspondente e, no lado do decodificador, os valores espectrais da região de origem são multiplicados por “-1” ou, em uma representação complexa, são “girados” a 180 graus.[0031] Furthermore, in addition to just identifying a best identification pair, this correlation delay can also be transmitted within the corresponding information and, additionally, even a signal can be transmitted. When the signal is determined to be negative on the encoder side, then a corresponding signal is also transmitted within the corresponding information, and on the decoder side, the spectral values of the source region are multiplied by “-1” or, in a complex representation , are “rotated” 180 degrees.

[0032] Uma implementação adicional dessa invenção é aplicada a uma operação de branqueamento de porção. Branqueamento de um espectro remove a informação de envelope espectral grosseira e enfatiza a estrutura fina espectral que é de interesse primordial para avaliar similaridade de porção. Portanto, uma porção de frequência por um lado e/u o sinal de fonte por outros lados são branqueados antes de calcular uma medida de correlação cruzada. Quando somente a porção é branqueada utilizando um procedimento predefinido, um identificador de branqueamento é transmitido indicando ao decodificador que o mesmo processo de branqueamento predefinido deverá ser aplicado à porção de frequência dentro do IGF.[0032] A further implementation of this invention is applied to a portion bleaching operation. Whitening a spectrum removes the coarse spectral envelope information and emphasizes the spectral fine structure that is of primary interest for evaluating portion similarity. Therefore, a portion of the frequency on the one hand and/or the source signal on the other sides are whitened before calculating a cross-correlation measure. When only the portion is whitened using a predefined procedure, a whitening identifier is transmitted indicating to the decoder that the same predefined whitening process should be applied to the frequency portion within the IGF.

[0033] Com relação à seleção de porção, prefere-se utilizar o identificador da correlação para trocar espectralmente o espectro regenerado por um número inteiro de unidade de transformada. Dependendo da transformada subjacente, a troca espectral pode exigir a adição de correções. No caso de atrasos estranhos, a porção é adicionalmente modulada através da multiplicação por uma sequência temporal alternante de -1/1 para compensar a representação de frequência invertida de todas as outras bandas dentro da MDCT. Além disso, o sinal do resultado de correlação é aplicado quando gerar a porção de frequência.[0033] Regarding portion selection, it is preferred to use the correlation identifier to spectrally exchange the regenerated spectrum by an integer transform unit. Depending on the underlying transform, spectral switching may require the addition of corrections. In the case of extraneous delays, the portion is additionally modulated by multiplying by an alternating temporal sequence of -1/1 to compensate for the inverted frequency representation of all other bands within the MDCT. Furthermore, the sign of the correlation result is applied when generating the frequency portion.

[0034] Ademais, é preferível utilizar remoção e estabilização de porção para certificar-se de que as perturbações criadas pela rápida alteração das regiões de origem para a mesma região de reconstrução ou região alvo são evitadas. Para essa finalidade, uma análise de similaridade entre diferentes regiões de origem identificadas é realizada e quando uma porção de origem é similar a outras porções de origem com uma similaridade acima de um limiar, então essa porção de origem pode ser descartada do conjunto de porções de origem em potencial visto que está altamente correlacionada com outras porções de origem. Além disso, como um tipo de estabilização de seleção de porção, prefere-se manter a ordem de porção a partir do quadro anterior, se nenhuma das porções de origem no quadro atual se correlaciona (melhor que um dado limiar) com as porções alvo no quadro atual.[0034] Furthermore, it is preferable to use portion removal and stabilization to make sure that disturbances created by rapidly changing the source regions to the same reconstruction region or target region are avoided. For this purpose, a similarity analysis between different identified source regions is performed and when a source portion is similar to other source portions with a similarity above a threshold, then that source portion can be discarded from the set of source portions. potential origin since it is highly correlated with other portions of origin. Furthermore, as a type of portion selection stabilization, it is preferred to maintain the portion order from the previous frame if none of the source portions in the current frame correlate (better than a given threshold) with the target portions in the current frame. current frame.

[0035] Um aspecto adicional se baseia na constatação de que uma qualidade melhorada e uma velocidade de bits reduzida, especificamente para sinais compreendendo partes transitórias como elas ocorrem muito frequentemente em sinais de áudio, é obtida combinando a tecnologia de Modulação de Ruído Temporal (TNS | Temporal Noise Shaping) ou Modulação de Porção Temporal (TTS | Temporal Tile Shaping) com a reconstrução de alta frequência. O processamento de TNS/TTS no lado do codificador sendo implementado por uma previsão sobre frequência reconstrói o envelope de tempo do sinal de áudio. Dependendo da implementação, por exemplo, quando o filtro de modulação de ruído temporal é determinado dentro de uma faixa de frequência não somente cobrindo a faixa de frequência de origem, mas também a faixa de frequência alvo a ser reconstruída em um decodificador de regeneração de frequência, o envelope temporal não é somente aplicado ao sinal de áudio central até uma frequência inicial de preenchimento de lacuna, mas o envelope temporal é também aplicado às faixas espectrais de partes espectrais secundárias reconstruídas. Assim, pré- ecos e pós-ecos que ocorreriam sem modulação de porção temporal são reduzidos ou eliminados. Isso é alcançado aplicando uma previsão inversa sobre a frequência não somente dentro da faixa de frequência central até certa frequência de início de preenchimento de lacuna, mas também dentro de uma faixa de frequência acima da faixa de frequência central. Com essa finalidade, a regeneração de frequência ou geração de porção de frequência é realizada no lado do decodificador antes de aplicar uma previsão sobre a frequência. Entretanto, a previsão sobre a frequência pode ser aplicada antes ou subsequente à modulação de envelope espectral dependendo de se o cálculo da informação de energia foi realizado nos valores residuais espectrais subsequentes à filtragem ou nos valores espectrais (completos) antes da modulação do envelope.[0035] A further aspect is based on the finding that improved quality and reduced bit rate, specifically for signals comprising transient parts as they occur very frequently in audio signals, is obtained by combining Temporal Noise Modulation (TNS) technology | Temporal Noise Shaping) or Temporal Portion Modulation (TTS | Temporal Tile Shaping) with high-frequency reconstruction. TNS/TTS processing on the encoder side being implemented by a frequency prediction reconstructs the time envelope of the audio signal. Depending on the implementation, for example, when the temporal noise modulation filter is determined within a frequency range not only covering the source frequency range, but also the target frequency range to be reconstructed in a frequency regeneration decoder , the temporal envelope is not only applied to the central audio signal up to an initial gap-filling frequency, but the temporal envelope is also applied to the spectral bands of reconstructed secondary spectral parts. Thus, pre-echoes and post-echoes that would occur without temporal portion modulation are reduced or eliminated. This is achieved by applying an inverse prediction on the frequency not only within the center frequency range up to a certain gap-filling start frequency, but also within a frequency range above the center frequency range. For this purpose, frequency regeneration or frequency portion generation is performed on the decoder side before applying a prediction on the frequency. However, the frequency prediction can be applied before or after the spectral envelope modulation depending on whether the energy information calculation was performed on the residual spectral values subsequent to filtering or on the (full) spectral values before the envelope modulation.

[0036] O processamento de TTS sobre uma ou mais porções de frequência adicionalmente estabelece uma continuidade de correlação entre a faixa de origem e a taxa de reconstrução ou em duas taxas de reconstrução ou porções de frequência adjacentes.[0036] TTS processing over one or more frequency portions additionally establishes a correlation continuity between the source band and the reconstruction rate or across two adjacent reconstruction rates or frequency portions.

[0037] Em uma implementação, prefere-se utilizar a filtragem complexa de TNS/TTS. Dessa forma, as perturbações de distorção de largura de banda (temporais) de uma representação real criticamente amostrada, como MDCT, são evitadas. Um filtro complexo de TNS pode ser calculado no lado do codificador aplicando não somente uma transformada de cosseno discreto modificado, mas também uma transformada de seno discreto modificado além de obter uma transformada complexa modificada. Independentemente, somente os valores de transformada de cosseno discreto modificado, por exemplo, a parte real da transformada complexa, são transmitidos. No lado do decodificador, entretanto, é possível estimar a parte imaginária da transformada utilizando o espectro MDCT de quadros anteriores ou subsequentes, de modo que, no lado do decodificador, o filtro complexo possa ser novamente aplicado na previsão inversa sobre a frequência e, especificamente, a previsão sobre o limite entre a faixa de origem e a taxa de reconstrução e também sobre o limite entre porções de frequência de frequência adjacente dentro da taxa de reconstrução.[0037] In one implementation, it is preferred to use TNS/TTS complex filtering. This way, bandwidth distortion (temporal) perturbations of a critically sampled real representation, such as MDCT, are avoided. A TNS complex filter can be calculated on the encoder side by applying not only a modified discrete cosine transform, but also a modified discrete sine transform in addition to obtaining a modified complex transform. Regardless, only the modified discrete cosine transform values, for example the real part of the complex transform, are transmitted. On the decoder side, however, it is possible to estimate the imaginary part of the transform using the MDCT spectrum of previous or subsequent frames, so that on the decoder side the complex filter can again be applied in inverse prediction over frequency, and specifically , the prediction about the boundary between the source range and the reconstruction rate and also about the boundary between adjacent frequency portions within the reconstruction rate.

[0038] O sistema de codificação de áudio inventivo codifica eficientemente sinais de áudio arbitrários em uma ampla faixa de taxas de bit. Enquanto, para as taxas de bit altas, o sistema inventivo converge para transparência, para taxas de bit baixas o incômodo perceptível é minimizado. Portanto, a parte principal da velocidade de bits disponível está acostumada à codificação de formas de onda somente para as estruturas perceptivelmente mais relevantes do sinal no codificador, e as lacunas espectrais resultantes são preenchidas no decodificador com conteúdo de sinal que se aproxima sensivelmente do espectro original. Um montante muito limitado de bit é consumido para controlar o parâmetro conduzido, também chamado de Preenchimento de Lacuna Inteligente (IGF) pela informação do lado dedicado transmitida do codificador ao decodificador.[0038] The inventive audio coding system efficiently encodes arbitrary audio signals over a wide range of bit rates. While, for high bit rates, the inventive system converges towards transparency, for low bit rates the noticeable annoyance is minimized. Therefore, the main part of the available bit rate is used to encode waveforms only for the most perceptually relevant structures of the signal in the encoder, and the resulting spectral gaps are filled in the decoder with signal content that closely approximates the original spectrum. . A very limited amount of bit is consumed to control the driven parameter, also called Intelligent Gap Filling (IGF) by the dedicated side information transmitted from the encoder to the decoder.

[0039] Em outras aplicações, o processador de codificação/decodificação de domínio de tempo depende de uma taxa de amostragem inferior e da funcionalidade de extensão da largura de banda correspondente.[0039] In other applications, the time domain encoding/decoding processor relies on a lower sampling rate and corresponding bandwidth extension functionality.

[0040] Em aplicações adicionais, um processador cruzado é fornecido para inicializar o codificador / decodificador de domínio de tempo com dados de inicialização derivados do sinal de codificador / decodificador de domínio de frequência atualmente processado. Isso permite que quando a parte do sinal de áudio atualmente processada for processada pelo codificador de domínio de frequência, o codificador de domínio de tempo paralelo é inicializado de modo que, quando uma comutação do codificador de domínio de frequência a um codificador de domínio de tempo acontece, esse codificador de domínio de tempo pode iniciar o processamento visto que todos os dados de inicialização relacionados aos sinais anteriores já estão lá devido ao processador cruzado. O processador cruzado é preferivelmente aplicado no lado do codificador, adicionalmente, no lado do decodificador e preferivelmente utiliza uma transformada de tempo de frequência que adicionalmente realiza uma redução da taxa de amostragem muito eficiente a partir da saída mais alta ou da taxa de amostragem de entrada à taxa de amostragem do codificador central de domínio de tempo inferior selecionando apenas certa parte de banda baixa do sinal do domínio juntamente com certo tamanho reduzido de transformada. Assim, uma conversão de taxa de amostragem da taxa de amostragem alta à taxa de amostragem baixa é muito eficientemente realizada e esse sinal obtido pela transformada com o tamanho reduzido de transformada pode então ser utilizado para inicializar o codificador / decodificador de domínio de tempo de modo que o codificador / decodificador de domínio de tempo esteja pronto para realizar imediatamente a codificação domínio de tempo quando essa situação é assinalada pelo controlador e a parte do sinal de áudio imediatamente precedente foi codificada no domínio de frequência.[0040] In additional applications, a cross-processor is provided to initialize the time domain encoder/decoder with initialization data derived from the currently processed frequency domain encoder/decoder signal. This allows that when the currently processed part of the audio signal is processed by the frequency domain encoder, the parallel time domain encoder is initialized so that when a switch from the frequency domain encoder to a time domain encoder happens, this time domain encoder can start processing since all the initialization data related to the previous signals is already there due to the cross processor. The cross-processor is preferably applied on the encoder side, additionally on the decoder side and preferably utilizes a frequency-time transform which additionally performs a very efficient sampling rate reduction from the higher output or input sampling rate. to the lower time domain central encoder sampling rate by selecting only certain low band part of the domain signal along with certain reduced transform size. Thus, a sample rate conversion from high sample rate to low sample rate is very efficiently performed and this signal obtained by the transform with the reduced transform size can then be used to initialize the mode time domain encoder/decoder. that the time domain encoder/decoder is ready to immediately perform time domain encoding when this situation is signaled by the controller and the immediately preceding part of the audio signal has been encoded in the frequency domain.

[0041] Assim, aplicações preferidas da presente invenção possibilitam uma comutação integrada de um codificador de áudio perceptual compreendendo o preenchimento de lacuna espectral e um codificador de domínio de tempo com ou sem extensão de largura de banda.[0041] Thus, preferred applications of the present invention enable integrated switching of a perceptual audio encoder comprising spectral gap filling and a time domain encoder with or without bandwidth extension.

[0042] Assim, a presente invenção depende dos métodos que não são restritos à remoção do conteúdo de alta frequência acima de uma frequência de corte no codificador de domínio de frequência do sinal de áudio, mas de forma adaptativa o sinal remove as regiões espectrais de passa-banda deixando lacunas espectrais no codificador e subsequentemente reconstrói essas lacunas espectrais no decodificador. Preferivelmente, uma solução integrada como preenchimento de lacuna inteligente é utilizada que combina eficientemente a codificação de áudio de largura de banda completa e preenchimento de lacuna espectral particularmente no domínio de transformada de MDCT.[0042] Thus, the present invention relies on methods that are not restricted to removing high frequency content above a cutoff frequency in the frequency domain encoder of the audio signal, but adaptively removes the signal spectral regions of bandpass leaving spectral gaps in the encoder and subsequently reconstructs these spectral gaps in the decoder. Preferably, an integrated solution such as smart gap filling is used that efficiently combines full bandwidth audio coding and spectral gap filling particularly in the MDCT transform domain.

[0043] Assim, a presente invenção fornece um conceito melhorado para combinação de codificação de fala e uma extensão da largura de banda do domínio de tempo subsequente com uma decodificação de forma de onda de banda completa compreendendo o preenchimento de lacuna espectral em um codificador/decodificador perceptual comutável.[0043] Thus, the present invention provides an improved concept for combining speech coding and a subsequent time domain bandwidth extension with a full-band waveform decoding comprising spectral gap filling in an encoder/ switchable perceptual decoder.

[0044] Assim, em contrapartida aos métodos já existentes, o novo conceito utiliza a codificação da forma de onda do sinal de áudio de banda completa no codificador de domínio de transformada e ao mesmo tempo possibilita uma comutação integrada a um codificador de fala preferivelmente seguido por uma extensão da largura de banda do domínio de tempo.[0044] Thus, in contrast to existing methods, the new concept uses the coding of the waveform of the full-band audio signal in the transform domain encoder and at the same time enables integrated switching with a speech encoder preferably followed by an extension of the time domain bandwidth.

[0045] Aplicações adicionais da presente invenção evitam que os problemas explicados ocorram devido à limitação de banda fixa. O conceito permite a combinação comutável de um codificador de forma de onda de banca completa no domínio de frequência equipado com um preenchimento de lacuna espectral e um codificador de fala de taxa de amostragem inferior e uma extensão da largura de banda do domínio de tempo. Tal codificador é capaz de codificar a forma de forma dos sinais problemáticos supracitados fornecendo largura de banda de áudio completo até a frequência de Nyquist do sinal de áudio de entrada. Não obstante, a comutação contínua entre ambas as estratégias de codificação é garantida particularmente pelas aplicações tendo o processador cruzado. Para essa comutação integrada, o processador cruzado representa uma conexão cruzada em ambos o codificador e o decodificador entre o codificador de taxa completa capaz de banda completa (taxa de amostragem de entrada) de domínio de frequência e o codificador de ACELP de taxa baixa tendo uma taxa de amostragem inferior para inicializar corretamente os parâmetros de ACELP e buffers particularmente dentro do livro de códigos adaptativo, o filtro de LPC ou o estágio de reamostragem, na comutação do codificador do domínio de frequência como TCX ao codificador de domínio de tempo como ACELP.[0045] Additional applications of the present invention prevent the explained problems from occurring due to fixed bandwidth limitation. The concept enables the switchable combination of a full-bank waveform encoder in the frequency domain equipped with a spectral gap filler and a lower sample rate speech encoder and an extension of the time domain bandwidth. Such an encoder is capable of encoding the shape of the aforementioned problematic signals by providing full audio bandwidth up to the Nyquist frequency of the input audio signal. Nevertheless, seamless switching between both encoding strategies is guaranteed particularly by cross-processor applications. For this integrated switching, the cross-processor represents a cross-connection in both the encoder and the decoder between the full-rate encoder capable of full-band (input sampling rate) frequency domain and the low-rate ACELP encoder having a lower sampling rate to correctly initialize the ACELP parameters and buffers particularly within the adaptive codebook, the LPC filter, or the resampling stage, in switching from the frequency domain encoder such as TCX to the time domain encoder such as ACELP.

[0046] A presente invenção é subsequentemente discutida com relação aos desenhos anexos, nos quais:[0046] The present invention is subsequently discussed in relation to the accompanying drawings, in which:

[0047] A figura 1a ilustra um aparelho para codificação de um sinal de áudio;[0047] Figure 1a illustrates an apparatus for encoding an audio signal;

[0048] A figura 1b ilustra um decodificador para decodificação de um sinal de áudio codificado que combina com o codificador da figura 1a;[0048] Figure 1b illustrates a decoder for decoding a coded audio signal that combines with the encoder of figure 1a;

[0049] A figura 2a ilustra uma implementação preferida do decodificador;[0049] Figure 2a illustrates a preferred implementation of the decoder;

[0050] A figura 2b ilustra uma implementação preferida do codificador;[0050] Figure 2b illustrates a preferred implementation of the encoder;

[0051] A figura 3a ilustra uma representação esquemática de um espectro, conforme gerado pelo decodificador de domínio espectral da figura 1b;[0051] Figure 3a illustrates a schematic representation of a spectrum, as generated by the spectral domain decoder of Figure 1b;

[0052] A figura 3b ilustra uma tabela, indicando a relação entre os fatores de escala para as bandas do fator de escala e energias para as bandas de reconstrução e informação de enchimento de ruído para uma banda de enchimento de ruído;[0052] Figure 3b illustrates a table, indicating the relationship between the scale factors for the scale factor bands and energies for the reconstruction bands and noise filling information for a noise filling band;

[0053] A figura 4a ilustra a funcionalidade do codificador de domínio espectral para aplicação da seleção de partes espectrais ao primeiro e segundo conjuntos de partes espectrais;[0053] Figure 4a illustrates the functionality of the spectral domain encoder for applying the selection of spectral parts to the first and second sets of spectral parts;

[0054] A figura 4b ilustra uma implementação da funcionalidade da figura 4a;[0054] Figure 4b illustrates an implementation of the functionality of figure 4a;

[0055] A figura 5a ilustra uma funcionalidade de um codificador de MDCT;[0055] Figure 5a illustrates a functionality of an MDCT encoder;

[0056] A figura 5b ilustra uma funcionalidade do decodificador com uma tecnologia de MDCT;[0056] Figure 5b illustrates a decoder functionality with MDCT technology;

[0057] A figura 5c ilustra uma implementação do regenerador de frequência;[0057] Figure 5c illustrates an implementation of the frequency regenerator;

[0058] A figura 6 ilustra uma implementação de um codificador de áudio;[0058] Figure 6 illustrates an implementation of an audio encoder;

[0059] A figura 7a ilustra um processador cruzado dentro do codificador de áudio;[0059] Figure 7a illustrates a cross processor within the audio encoder;

[0060] A figura 7b ilustra uma implementação de uma transformada inversa ou de tempo-frequência que fornece adicionalmente uma redução da taxa de amostragem dentro do processador cruzado;[0060] Figure 7b illustrates an implementation of an inverse or time-frequency transform that additionally provides a sampling rate reduction within the cross-processor;

[0061] A figura 8 ilustra uma implementação preferida do controlador da figura 6;[0061] Figure 8 illustrates a preferred implementation of the controller of Figure 6;

[0062] A figura 9 ilustra uma aplicação adicional do codificador de domínio de tempo tendo funcionalidades de extensão da largura de banda;[0062] Figure 9 illustrates an additional application of the time domain encoder having bandwidth extension functionalities;

[0063] A figura 10 ilustra uma utilização preferida de um pré-processador;[0063] Figure 10 illustrates a preferred use of a preprocessor;

[0064] A figura 11a ilustra uma implementação esquemática do decodificador de áudio;[0064] Figure 11a illustrates a schematic implementation of the audio decoder;

[0065] A figura 11b ilustra um processador cruzado dentro do decodificador para fornecimento de dados de inicialização para o decodificador de domínio de tempo;[0065] Figure 11b illustrates a cross-processor within the decoder for providing initialization data to the time domain decoder;

[0066] A figura 12 ilustra uma implementação preferida do processador de decodificação do domínio de tempo da figura 11a;[0066] Figure 12 illustrates a preferred implementation of the time domain decoding processor of Figure 11a;

[0067] A figura 13 ilustra uma implementação adicional da extensão da largura de banda do domínio de tempo;[0067] Figure 13 illustrates a further implementation of time domain bandwidth extension;

[0068] A figura14a ilustra uma implementação preferida de um codificador de áudio;[0068] Figure 14a illustrates a preferred implementation of an audio encoder;

[0069] A figura14b ilustra uma implementação preferida de um decodificador de áudio;[0069] Figure 14b illustrates a preferred implementation of an audio decoder;

[0070] A figura 14c ilustra uma implementação inventiva de um decodificador de domínio de tempo com conversão de taxa de amostragem e extensão de largura de banda.[0070] Figure 14c illustrates an inventive implementation of a time domain decoder with sample rate conversion and bandwidth extension.

[0071] A figura 6 ilustra um codificador de áudio para codificação de um sinal de áudio, compreendendo um primeiro processador de codificação 600 para codificação de uma primeira parte do sinal de áudio em um domínio de frequência. O primeiro processador de codificação 600 compreende um conversor de tempo-frequência 602 para conversão da primeira parte do sinal de entrada de áudio em uma representação de domínio de frequência, tendo linhas espectrais até uma frequência máxima do sinal de entrada. Além disso, o primeiro processador de codificação 600 compreende um analisador 604 para análise da representação de domínio de frequência até a frequência máxima para determinar as regiões espectrais primárias a serem codificadas com uma primeira representação espectral e para determinar as regiões espectrais secundárias a serem codificadas com uma segunda resolução espectral sendo menor do que a primeira resolução espectral. Em particular, o analisador de banda total 604 determina quais linhas de frequência ou valores espectrais no espectro do conversor de tempo- frequência devem ser codificados por linha espectral e quais outras partes devem ser codificadas em uma forma paramétrica e esses valores espectrais posteriores são, então, reconstruídos no lado do decodificador com o procedimento de preenchimento de folga. A operação de codificação real é realizada por um codificador espectral 606 para codificação das regiões espectrais primárias ou partes espectrais com a primeira resolução e para codificar parametricamente as regiões espectrais secundárias ou as partes com a segunda resolução espectral.[0071] Figure 6 illustrates an audio encoder for encoding an audio signal, comprising a first coding processor 600 for encoding a first part of the audio signal in a frequency domain. The first coding processor 600 comprises a time-frequency converter 602 for converting the first part of the audio input signal into a frequency domain representation having spectral lines up to a maximum frequency of the input signal. Furthermore, the first coding processor 600 comprises an analyzer 604 for analyzing the frequency domain representation up to the maximum frequency to determine the primary spectral regions to be encoded with a first spectral representation and to determine the secondary spectral regions to be encoded with a second spectral resolution being lower than the first spectral resolution. In particular, the full-band analyzer 604 determines which frequency lines or spectral values in the spectrum of the time-frequency converter are to be spectrally line encoded and which other parts are to be encoded in a parametric form, and these later spectral values are then , reconstructed on the decoder side with the gap filling procedure. The actual coding operation is performed by a spectral encoder 606 for encoding the primary spectral regions or spectral parts with the first resolution and for parametrically coding the secondary spectral regions or parts with the second spectral resolution.

[0072] O codificador de áudio da figura 6 compreende, adicionalmente, um segundo processador de codificação 610 para codificação da parte do sinal de áudio em um domínio de tempo. Adicionalmente, o codificador de áudio compreende um controlador 620 configurado para análise do sinal de áudio em uma entrada do sinal de áudio 601 e para determinação de qual parte do sinal de áudio é a primeira parte codificada do sinal de áudio no domínio de frequência e qual parte do sinal de áudio é a segunda parte codificada do sinal de áudio no domínio de tempo. Além disso, um modulador de sinal codificado 630 que pode ser, por exemplo, implementado como um multiplexador do fluxo de bits é fornecido sendo configurado para modulação de um sinal de áudio codificado compreendendo uma primeira parte codificada do sinal para a primeira parte do sinal de áudio e uma segunda parte do sinal codificado para a segunda parte do sinal de áudio. De forma importante, o sinal codificado tem apenas uma representação de domínio de frequência ou uma representação de domínio de tempo de uma e da mesma parte do sinal de áudio.[0072] The audio encoder of Figure 6 additionally comprises a second coding processor 610 for encoding part of the audio signal in a time domain. Additionally, the audio encoder comprises a controller 620 configured for analyzing the audio signal at an input audio signal 601 and determining which part of the audio signal is the first encoded part of the audio signal in the frequency domain and which part of the audio signal is the second encoded part of the audio signal in the time domain. Furthermore, a coded signal modulator 630 which may be, for example, implemented as a bit stream multiplexer is provided that is configured for modulating a coded audio signal comprising a first coded part of the signal to the first part of the audio signal. audio and a second part of the signal encoded for the second part of the audio signal. Importantly, the encoded signal has only a frequency domain representation or a time domain representation of one and the same part of the audio signal.

[0073] Assim, o controlador 620 garante que, para uma única parte do sinal de áudio, apenas uma representação de domínio de tempo ou uma representação de domínio de frequência está no sinal codificado. Isso pode ser realizado pelo controlador 620 em várias formas. Uma forma seria que, para uma e para a mesma parte do sinal de áudio, ambas as representações chegam no bloco 630 e o controlador 620 controla o modulador de sinal codificado 630 para introduzir apenas uma de ambas as representações ao sinal codificado. De modo alternativo, entretanto, o controlador 620 pode controlar uma entrada ao primeiro processador de codificação e uma entrada ao segundo processador de codificação de modo que, com base na análise da parte do sinal correspondente, apenas um de ambos os blocos 600 ou 610 é ativado para, de fato, realizar a operação de codificação completa e o outro bloco é desativado.[0073] Thus, controller 620 ensures that, for a single portion of the audio signal, only one time domain representation or one frequency domain representation is in the encoded signal. This can be accomplished by controller 620 in several ways. One way would be that for one and the same part of the audio signal, both representations arrive at block 630 and the controller 620 controls the coded signal modulator 630 to introduce only one of both representations to the coded signal. Alternatively, however, controller 620 may control an input to the first encoding processor and an input to the second encoding processor such that, based on analysis of the corresponding portion of the signal, only one of either block 600 or 610 is activated to actually perform the complete encoding operation and the other block is deactivated.

[0074] Essa desativação pode ser uma desativação ou, conforme ilustrado com relação à, por exemplo, figura 7a, é apenas um tipo de modo de “inicialização” onde o outro processador de codificação é apenas ativo para receber e processar os dados de inicialização a fim de inicializar as memórias internas, mas qualquer operação de codificação específica não é realizada de nenhuma forma. Essa ativação pode ser feita por um determinado comutador na entrada que não é ilustrado na figura 6 ou, preferivelmente, por linhas de controle 621 e 622. Assim, nessa aplicação, o segundo processador de codificação 610 não emite nada quando o controlador 620 determinou que a parte do sinal de áudio atual deveria ser codificada pelo primeiro processador de codificação, mas o segundo processador de codificação é, entretanto, fornecido com os dados de inicialização para serem ativos para uma comutação imediata no futuro. Por outro lado, o primeiro processador de codificação é configurado para não precisar de quaisquer dados do passado para atualizar quaisquer memórias internas e, portanto, quando a parte do sinal de áudio atual deve ser codificada pelo segundo processador de codificação 610, então o controlador 620 pode controla o primeiro processador de codificação final 600 através da linha de controle 621 a ser inativada completamente. Isso significa que o primeiro processador de codificação 600 não precisa estar em um estado de inicialização ou estado de espera, mas pode estar em um estado de desativação completa. Isso é preferível particularmente, para os dispositivos móveis onde o consumo de potência e, portanto, a vida da bateria é um problema.[0074] This deactivation may be a deactivation or, as illustrated with respect to, for example, Figure 7a, it is just a type of “initialization” mode where the other encoding processor is only active to receive and process the initialization data in order to initialize the internal memories, but any specific encoding operation is not performed in any way. This activation can be done by a certain switch on the input that is not illustrated in Figure 6 or, preferably, by control lines 621 and 622. Thus, in this application, the second encoding processor 610 does not output anything when the controller 620 has determined that part of the current audio signal should be encoded by the first encoding processor, but the second encoding processor is, however, provided with the initialization data to be active for immediate switching in the future. On the other hand, the first encoding processor is configured not to need any past data to update any internal memories, and therefore, when the portion of the current audio signal is to be encoded by the second encoding processor 610, then the controller 620 may control the first final coding processor 600 via control line 621 to be completely inactivated. This means that the first encoding processor 600 does not need to be in an initialization state or standby state, but may be in a complete shutdown state. This is particularly preferable for mobile devices where power consumption and therefore battery life is an issue.

[0075] Na implementação específica adicional do segundo processador de codificação que opera no domínio de tempo, o segundo processador de codificação compreende um redutor da taxa de amostragem 900 ou conversor da taxa de amostragem para conversão da parte do sinal de áudio em uma representação com uma taxa de amostragem inferior, em que a taxa de amostragem inferior é menor do que uma taxa de amostragem na entrada ao primeiro processador de codificação. Isso é ilustrado na figura 9. Em particular, quando o sinal de entrada de áudio compreende uma banda baixa e uma banda alta, prefere-se que a representação da taxa de amostragem inferior na saída do bloco 900 tem apenas a banda baixa da parte do sinal de entrada de áudio e essa banda baixa é, então, codificada por um codificador de banda baixa do domínio de tempo 910 que é configurado para codificação de domínio de tempo da representação da taxa de amostragem inferior fornecida pelo bloco 900. Além disso, a codificador de extensão da largura de banda do domínio de tempo 920 é fornecido para parametricamente codificar a banda alta. Para este fim, o codificador de extensão da largura de banda do domínio de tempo 920 recebe pelo menos a banda alta do sinal de entrada de áudio ou a banda baixa e a banda alta do sinal de entrada de áudio.[0075] In the additional specific implementation of the second coding processor operating in the time domain, the second coding processor comprises a sample rate reducer 900 or sample rate converter for converting the portion of the audio signal into a representation with a lower sampling rate, wherein the lower sampling rate is less than a sampling rate at the input to the first encoding processor. This is illustrated in Figure 9. In particular, when the audio input signal comprises a low band and a high band, it is preferred that the lower sample rate representation at the output of block 900 has only the low band of the audio portion. audio input signal and this low band is then encoded by a time domain low band encoder 910 that is configured for time domain encoding of the lower sample rate representation provided by block 900. Furthermore, the Time domain bandwidth extension encoder 920 is provided to parametrically encode the high bandwidth. To this end, the time domain bandwidth extension encoder 920 receives at least the high band of the audio input signal or the low band and the high band of the audio input signal.

[0076] Em uma aplicação adicional da presente invenção, o codificador de áudio compreende, adicionalmente, embora não ilustrado na figura 6, mas ilustrado na figura 10, um pré-processador 1000 configurado para pré-processamento da primeira parte do sinal de áudio e da segunda parte do sinal de áudio. Em uma aplicação, este pré-processador compreende um analisador de previsão para determinação de coeficientes de previsão. Este analisador de previsão pode ser implementado como um analisador de LPC (linear prediction coding | codificação de previsão linear) para determinação dos coeficientes de LPC. Entretanto, outros analisadores também podem ser implementados. Além disso, o pré-processador, também ilustrado na figura 14a, compreende um quantizador do coeficiente de previsão 1010, caracterizado pelo dispositivo ilustrado na figura 14a receber dados do coeficiente de previsão a partir do analisador de previsão, também ilustrado na figura 14a, em 1002.[0076] In a further application of the present invention, the audio encoder further comprises, although not illustrated in figure 6, but illustrated in figure 10, a preprocessor 1000 configured for preprocessing the first part of the audio signal and of the second part of the audio signal. In one application, this preprocessor comprises a prediction analyzer for determining prediction coefficients. This prediction analyzer can be implemented as a linear prediction coding (LPC) analyzer to determine LPC coefficients. However, other analyzers can also be implemented. Furthermore, the preprocessor, also illustrated in Figure 14a, comprises a prediction coefficient quantizer 1010, characterized by the device illustrated in Figure 14a receiving prediction coefficient data from the prediction analyzer, also illustrated in Figure 14a, in 1002.

[0077] Além disso, o pré-processador compreende, adicionalmente, um codificador por entropia para geração de uma versão codificada dos coeficientes de previsão quantizados. É importante observar que o modulador de sinal codificado 630 ou a implementação específica, ou seja, o multiplexador do fluxo de bits 613 garante que a versão codificada dos coeficientes de previsão quantizados está incluída no sinal de áudio codificado 632. Preferivelmente, os coeficientes de LPC não são diretamente quantizados, mas são convertidos em uma ISF, por exemplo, ou qualquer ou representação mais bem adequada para a quantização. Essa conversão é preferivelmente realizada pela determinação do bloco 1002 dos coeficientes de LPC ou é realizada dentro do bloco 1010 para quantização dos coeficientes de LPC.[0077] Furthermore, the preprocessor additionally comprises an entropy encoder for generating an encoded version of the quantized prediction coefficients. It is important to note that the coded signal modulator 630 or the specific implementation, i.e., the bitstream multiplexer 613 ensures that the coded version of the quantized prediction coefficients is included in the coded audio signal 632. Preferably, the LPC coefficients are not directly quantized, but are converted into an ISF, for example, or whatever representation is best suited for quantization. This conversion is preferably performed by determining block 1002 of LPC coefficients or is performed within block 1010 for quantization of LPC coefficients.

[0078] Além disso, o pré-processador pode compreender um reamostrador 1004 para reamostragem de um sinal de áudio de entrada em uma taxa de amostragem de entrada em uma taxa de amostragem inferior para o codificador de domínio de tempo. Quando o codificador de domínio de tempo é um codificador ACELP tendo uma certa taxa de amostragem de ACELP, então a redução da taxa de amostragem é realizada para preferivelmente 12,8 kHz ou 16 kHz. A taxa de amostragem de entrada pode ser qualquer uma de um número específico de taxas de amostragem como 32 kHz ou, ainda, taxa de amostragem mais alta. Por outro lado, a taxa de amostragem do codificador de domínio de tempo será predeterminada por certas restrições e o reamostrador 1004 realiza essa reamostragem e emite a representação da taxa de amostragem inferior do sinal de entrada. Assim, o reamostrador 1004 pode realizar uma funcionalidade similar e pode ainda ser um ou o mesmo elemento que o redutor da taxa de amostragem 900 ilustrado no contexto da figura 9.[0078] Additionally, the preprocessor may comprise a resampler 1004 for resampling an input audio signal at an input sampling rate to a lower sampling rate for the time domain encoder. When the time domain encoder is an ACELP encoder having a certain ACELP sampling rate, then the reduction of the sampling rate is performed to preferably 12.8 kHz or 16 kHz. The input sample rate can be any of a specific number of sample rates such as 32 kHz or even a higher sample rate. On the other hand, the sampling rate of the time domain encoder will be predetermined by certain constraints and the resampler 1004 performs this resampling and outputs the lower sampling rate representation of the input signal. Thus, the resampler 1004 may perform similar functionality and may further be one or the same element as the sample rate reducer 900 illustrated in the context of FIG. 9.

[0079] Além disso, é preferível aplicar uma pré- ênfase no bloco de pré-ênfase 1005 na figura 14a. O processamento de pré-ênfase é bem conhecido na técnica de codificação do domínio de tempo e é descrito na literatura com referência ao processamento AMR-WB+ e a pré-ênfase é particularmente configurada para a compensação de uma inclinação espectral e, portanto, possibilita um cálculo melhor dos parâmetros de LPC em uma dada ordem de LPC.[0079] Furthermore, it is preferable to apply a pre-emphasis in the pre-emphasis block 1005 in Figure 14a. Pre-emphasis processing is well known in the time domain coding technique and is described in the literature with reference to AMR-WB+ processing and pre-emphasis is particularly configured for the compensation of a spectral slope and therefore enables a better calculation of LPC parameters in a given LPC order.

[0080] Além disso, o pré-processador pode compreender, adicionalmente, uma extração do parâmetro TCX-LTP para controlar um pós-filtro de LTP em 1420 na figura 14b. Esse bloco é ilustrado em 1006 na figura 14a. Além disso, o pré-processador pode compreender, adicionalmente, outras funcionalidades ilustradas em 1007 e essas outras funcionalidades podem compreender uma funcionalidade de pesquisa de tom, uma funcionalidade de detecção de atividade por voz (VAD) ou quaisquer outras funcionalidades conhecidas na técnica de domínio de tempo ou codificação de fala.[0080] Furthermore, the preprocessor may additionally comprise an extraction of the TCX-LTP parameter to control an LTP post-filter at 1420 in Figure 14b. This block is illustrated at 1006 in figure 14a. Furthermore, the preprocessor may additionally comprise other features illustrated at 1007 and such other features may comprise a tone search feature, a voice activity detection (VAD) feature, or any other features known in the art. timing or speech coding.

[0081] Conforme ilustrado, o resultado do bloco 1006 é inserido ao sinal codificado, ou seja, está na aplicação da figura 14a, inserido no multiplexador do fluxo de bits 630. Além disso, se necessário, os dados do bloco 1007 também podem ser introduzidos no multiplexador do fluxo de bits ou podem, alternativamente, ser utilizados para fins de codificação de domínio de tempo no codificador de domínio de tempo.[0081] As illustrated, the result of block 1006 is inserted into the coded signal, that is, in the application of figure 14a, inserted into the bit stream multiplexer 630. Furthermore, if necessary, the data from block 1007 can also be introduced into the bitstream multiplexer or may alternatively be used for time domain coding purposes in the time domain encoder.

[0082] Assim, para resumir, é comum a ambas as passagens uma operação de pré-processamento 1000 na qual as operações de processamento de sinal geralmente utilizadas são realizadas. Essas compreendem uma reamostragem para uma taxa de amostragem de ACELP (12,8 ou 16 kHz) para uma passagem paralela e essa reamostragem é sempre realizada. Além disso, uma extração do parâmetro TCX-LTP ilustrada no bloco 1006 é realizada e, adicionalmente, uma pré-ênfase e uma determinação de coeficientes de LPC são realizadas. Conforme descrito, a pré-ênfase compensa a inclinação espectral e, portanto, torna o cálculo dos parâmetros de LPC em uma dada ordem de LPC mais eficiente.[0082] Thus, to summarize, common to both passes is a preprocessing operation 1000 in which generally used signal processing operations are performed. These comprise a resampling to a sample rate of ACELP (12.8 or 16 kHz) for a parallel pass and this resampling is always performed. Furthermore, an extraction of the TCX-LTP parameter illustrated in block 1006 is performed and, additionally, a pre-emphasis and a determination of LPC coefficients are performed. As described, pre-emphasis compensates for spectral skew and therefore makes the calculation of LPC parameters at a given LPC order more efficient.

[0083] Subsequentemente, referência é feita à figura 8, a fim de ilustrar uma implementação preferida do controlador 620. O controlador recebe, em uma entrada, a parte do sinal de áudio em consideração. Preferivelmente, conforme ilustrado na figura 14a, o controlador recebe qualquer sinal disponível no pré-processador 1000 que pode ser o sinal de entrada original na taxa de amostragem de entrada ou uma versão reamostrada na taxa de amostragem do codificador de domínio de tempo inferior ou um sinal obtido subsequente ao pré-processamento da pré- ênfase no bloco 1005.[0083] Subsequently, reference is made to Figure 8 in order to illustrate a preferred implementation of the controller 620. The controller receives, at an input, the part of the audio signal under consideration. Preferably, as illustrated in Figure 14a, the controller receives any signal available in preprocessor 1000 which may be the original input signal at the input sample rate or a resampled version at the lower time domain encoder sample rate or a signal obtained subsequent to pre-emphasis preprocessing in block 1005.

[0084] Com base nessa parte do sinal de áudio, o controlador 620 direciona um simulador do codificador do domínio de frequência 621 e um simulador do codificador de domínio de tempo 622 a fim de calcular para cada codificador a possibilidade de uma relação estimada do sinal para o ruído. Subsequentemente, o seletor 623 seleciona o codificador que forneceu a melhor relação sinal ruído, naturalmente em consideração de uma taxa de bit predefinida. O seletor então identifica o codificador correspondente através da saída de controle. Quando se determina que a parte do sinal de áudio em consideração deve ser codificada utilizando o codificador de domínio de frequência, o codificador de domínio de tempo é definido em um estado de inicialização ou em outras aplicações que não requerem uma comutação muito imediata em um estado completamente desativado. Entretanto, quando é determinado que a parte do sinal de áudio em consideração deve ser codificada pelo codificador de domínio de tempo, o codificador de domínio de frequência é então desativado.[0084] Based on this portion of the audio signal, controller 620 directs a frequency domain encoder simulator 621 and a time domain encoder simulator 622 to calculate for each encoder the possibility of an estimated signal ratio for the noise. Subsequently, selector 623 selects the encoder that provided the best signal-to-noise ratio, naturally in consideration of a predefined bit rate. The selector then identifies the corresponding encoder through the control output. When it is determined that the portion of the audio signal under consideration is to be encoded using the frequency domain encoder, the time domain encoder is set to an initialization state or in other applications that do not require very immediate switching into a state. completely disabled. However, when it is determined that the portion of the audio signal under consideration should be encoded by the time domain encoder, the frequency domain encoder is then disabled.

[0085] Subsequentemente, uma implementação preferida do controlador ilustrado na figura 8 é ilustrada. A decisão se a passagem de ACELP ou TCX deve ser escolhida é realizada na decisão de comutação por meio da simulação do codificador de ACELP e TCX e comutar para a melhor ramificação em realização. Para isso, a SNR da ramificação de ACELP e TCX é estimada com base em uma simulação do codificador/decodificador de ACELP e TCX. A simulação do codificador/decodificador de TCX é realizada sem a análise de TNS/TTS, codificador de IGF, codificador de circuito por quantização/aritmético, ou sem qualquer decodificador de TCX. Em vez disso, a SNR de TCX é estimada utilizando uma estimativa da distorção do quantizador no domínio de MDCT modulado. A simulação do codificador/decodificador de ACELP é realizada utilizando apenas uma simulação do livro de códigos adaptativo e livro de códigos inovador. A SNR de ACELP é simplesmente estimada pela computação da distorção introduzida por um filtro de LTP no domínio de sinal ponderado (livro de códigos adaptativo) e pela escala da distorção por um fator constante (livro de códigos inovador). Assim, a complexidade é muito reduzida em comparação a uma abordagem onde a codificação de TCX e ACELP é executada paralelamente. A ramificação com a SNR mais alta é escolhida para a execução subsequente da codificação completa.[0085] Subsequently, a preferred implementation of the controller illustrated in Figure 8 is illustrated. The decision whether to choose the ACELP or TCX pass is made in the switching decision by simulating the ACELP and TCX encoder and switching to the best branch in realization. For this, the SNR of the ACELP and TCX branch is estimated based on a simulation of the ACELP and TCX encoder/decoder. TCX encoder/decoder simulation is performed without TNS/TTS analysis, IGF encoder, quantization/arithmetic circuit encoder, or without any TCX decoder. Instead, the TCX SNR is estimated using an estimate of the quantizer distortion in the modulated MDCT domain. The ACELP encoder/decoder simulation is performed using only an adaptive codebook simulation and innovative codebook. The ACELP SNR is simply estimated by computing the distortion introduced by an LTP filter in the weighted signal domain (adaptive codebook) and scaling the distortion by a constant factor (innovative codebook). Thus, complexity is greatly reduced compared to an approach where TCX and ACELP coding is performed in parallel. The branch with the highest SNR is chosen for subsequent full encoding execution.

[0086] No caso em que a ramificação de TCX é escolhida, um decodificador de TCX é executado em cada estrutura que emite um sinal na taxa de amostragem de ACELP. Isso é utilizado para atualizar as memórias utilizadas para a passagem de codificação de ACELP (LPC residual, Mem w0, de- ênfase de memória), para permitir a comutação imediata de TCX para ACELP. A atualização de memória é realizada em cada passagem de TCX.[0086] In the case where the TCX branch is chosen, a TCX decoder is executed in each structure that outputs a signal at the ACELP sampling rate. This is used to update the memories used for the ACELP coding pass (residual LPC, Mem w0, memory de-emphasis), to allow immediate switching from TCX to ACELP. The memory update is performed on each TCX pass.

[0087] De modo alternativo, uma análise completa por processo de síntese pode ser realizada, ou seja, ambos os simuladores do codificador 621, 622 implementam as operações de codificação real e os resultados são comparados pelo seletor 623. De modo alternativo, novamente, um cálculo de alimentação de avanço completo pode ser feito por meio da realização de uma análise do sinal. Por exemplo, quando se determina que o sinal é um sinal de fala por um classificador do sinal, o codificador de domínio de tempo é selecionado e quanto determina-se que o sinal é um sinal de música, então o codificador de domínio de frequência é selecionado. Outros procedimentos, a fim de distinguir entre ambos os codificadores com base em uma análise do sinal da parte do sinal de áudio em consideração, também podem ser aplicados.[0087] Alternatively, a complete analysis by synthesis process can be performed, i.e., both encoder simulators 621, 622 implement the actual encoding operations and the results are compared by selector 623. Alternatively, again, A complete feed forward calculation can be done by performing a signal analysis. For example, when the signal is determined to be a speech signal by a signal classifier, the time domain encoder is selected and when the signal is determined to be a music signal, then the frequency domain encoder is selected. selected. Other procedures in order to distinguish between both encoders based on a signal analysis of the part of the audio signal under consideration can also be applied.

[0088] Preferivelmente, o codificador de áudio compreende, adicionalmente, um processador cruzado 700 ilustrado na figura 7a. Quando o codificador de domínio de frequência 600 é ativo, o processador cruzado 700 fornece dados de inicialização ao codificador de domínio de tempo 610 de modo que o codificador de domínio de tempo esteja pronto para um comutador integrado em uma parte do sinal futuro. Em outras palavras, quando a parte do sinal de corrente é determinada para ser codificada utilizando o codificador de domínio de frequência, e quando se determina pelo controlador que a parte do sinal de áudio imediatamente seguinte deve ser codificada pelo codificador de domínio de tempo 610 então, sem o processador cruzado, tal comutador integrado imediato não seria possível. O processador cruzado, entretanto, fornece um sinal derivado do codificador de domínio de frequência 600 ao codificador de domínio de tempo 610 para fins de inicializar as memórias no codificador de domínio de tempo visto que o codificador de domínio de tempo 610 tem uma dependência de uma estrutura atual da entrada ou do sinal codificado de uma estrutura imediatamente precedente no tempo.[0088] Preferably, the audio encoder additionally comprises a crossover processor 700 illustrated in figure 7a. When the frequency domain encoder 600 is active, the crossover processor 700 provides initialization data to the time domain encoder 610 so that the time domain encoder is ready for an integrated switch on a portion of the future signal. In other words, when the portion of the current signal is determined to be encoded using the frequency domain encoder, and when it is determined by the controller that the immediately following portion of the audio signal is to be encoded by the time domain encoder 610 then , without the cross-processor, such an out-of-the-box integrated switch would not be possible. The cross-processor, however, provides a signal derived from the frequency domain encoder 600 to the time domain encoder 610 for the purpose of initializing the memories in the time domain encoder since the time domain encoder 610 has a dependency on a current structure of the input or encoded signal of a structure immediately preceding it in time.

[0089] Assim, o codificador de domínio de tempo 610 é configurado para ser inicializado pelos dados de inicialização a fim de codificar uma parte do sinal de áudio seguindo uma parte codificada do sinal de áudio anterior pelo codificador de domínio de frequência 600 de forma eficiente.[0089] Thus, the time domain encoder 610 is configured to be initialized by the initialization data in order to encode a portion of the audio signal following an encoded portion of the previous audio signal by the frequency domain encoder 600 efficiently. .

[0090] Em particular, o processador cruzado compreende um conversor de tempo para conversão de uma representação de domínio de frequência em uma representação de domínio de tempo que pode ser encaminhada ao codificador de domínio de tempo diretamente ou após algum processamento adicional. Este conversor é ilustrado na figura 14a como um bloco de IMDCT (inverse modified discrete cosine transform | transformada discreta de cosseno modificada inversa). Este bloco 702, entretanto, tem um tamanho diferente de transformada em comparação com o bloco do conversor de tempo-frequência 602 indicado no bloco da figura 14a (bloco de transformada de cosseno discreto modificado). Conforme indicado no bloco 602, o conversor de tempo-frequência 602 opera na taxa de amostragem de entrada e a transformada discreta de cosseno modificada inversa 702 opera na taxa de amostragem de ACELP inferior.[0090] In particular, the cross-processor comprises a time converter for converting a frequency domain representation into a time domain representation that may be forwarded to the time domain encoder directly or after some additional processing. This converter is illustrated in figure 14a as an IMDCT (inverse modified discrete cosine transform | inverse modified discrete cosine transform) block. This block 702, however, has a different transform size compared to the time-frequency converter block 602 indicated in the block of Figure 14a (modified discrete cosine transform block). As indicated in block 602, the time-frequency converter 602 operates at the input sampling rate and the inverse modified discrete cosine transform 702 operates at the lower ACELP sampling rate.

[0091] A relação da taxa de amostragem do codificador de domínio de tempo ou a taxa de amostragem de ACELP e a taxa de amostragem do codificador de domínio de frequência ou a taxa de amostragem de entrada pode ser calculada e ser um fator de redução da taxa de amostragem DS ilustrado na figura 7b. O bloco 602 tem um grande tamanho de transformada e o bloco de IMDCT 702 tem um pequeno tamanho de transformada. Conforme ilustrado na figura 7b, o bloco de IMDCT 702, portanto, compreende um seletor 726 para seleção da parte espectral inferior de uma entrada ao bloco de IMDCT 702. A parte do espectro de banda completa é definida pelo fator de redução da taxa de amostragem DS. Por exemplo, quando a taxa de amostragem inferior é 16 kHz e a taxa de amostragem de entrada é 32 kHz, então o fator de redução da taxa de amostragem é 0,5 e, portanto, o seletor 726 seleciona a metade inferior do espectro de banda completa. Quando o espectro tem, por exemplo, 1024 linhas de MDCT, então o seletor seleciona as 512 linhas de MDCT inferiores.[0091] The ratio of the time domain encoder sampling rate or ACELP sampling rate and the frequency domain encoder sampling rate or input sampling rate can be calculated and be a reduction factor for the DS sampling rate illustrated in Figure 7b. Block 602 has a large transform size and IMDCT block 702 has a small transform size. As illustrated in Figure 7b, the IMDCT block 702 therefore comprises a selector 726 for selecting the lower spectral part of an input to the IMDCT block 702. The full-band spectrum part is defined by the sample rate reduction factor. DS. For example, when the lower sample rate is 16 kHz and the input sample rate is 32 kHz, then the sample rate reduction factor is 0.5 and therefore selector 726 selects the lower half of the sample rate spectrum. full band. When the spectrum has, for example, 1024 MDCT lines, then the selector selects the bottom 512 MDCT lines.

[0092] Esta parte de baixa frequência do espectro de banda completa é inserida em uma transformada de tamanho pequeno e bloco desdobrável 720, conforme ilustrado na figura 7b. O tamanho da transformada é também selecionado de acordo com o fator de redução da taxa de amostragem e é 50% do tamanho da transformada no bloco 602. Um janelamento de síntese com uma janela com um pequeno número de coeficientes é então realizado. O número de coeficientes da janela de síntese é igual ao fator de redução da taxa de amostragem multiplicado pelo número de coeficientes da janela de análise utilizada pelo bloco 602. Finalmente, uma operação de adição por sobreposição é realizada com um pequeno número de operações por bloco e o número de operações por bloco é novamente o número de operações por bloco em uma MDCT de implementação de taxa total multiplicada pelo fator de redução da taxa de amostragem.[0092] This low-frequency portion of the full-band spectrum is inserted into a small-size, unfoldable-block transform 720, as illustrated in Figure 7b. The transform size is also selected according to the sampling rate reduction factor and is 50% of the transform size in block 602. A synthesis windowing with a window with a small number of coefficients is then performed. The number of synthesis window coefficients is equal to the sampling rate reduction factor multiplied by the number of analysis window coefficients used by block 602. Finally, an overlap addition operation is performed with a small number of operations per block and the number of operations per block is again the number of operations per block in a full-rate implementation MDCT multiplied by the sample rate reduction factor.

[0093] Assim, uma operação muito eficiente de redução da taxa de amostragem pode ser aplicada visto que a redução da taxa de amostragem está incluída na implementação de IMDCT. Neste contexto, é enfatizado que o bloco 702 pode ser implementado por uma IMDCT, mas também pode ser implementado por qualquer outra transformada ou implementação do banco de filtro que pode ser adequadamente dimensionado no núcleo da transformada real e outras operações relacionadas à transformada.[0093] Thus, a very efficient sampling rate reduction operation can be applied since sampling rate reduction is included in the IMDCT implementation. In this context, it is emphasized that block 702 may be implemented by an IMDCT, but may also be implemented by any other transform or filter bank implementation that can appropriately scale into the core of the actual transform and other transform-related operations.

[0094] Em uma aplicação adicional ilustrada na figura 14a, o conversor de frequência de tempo compreende funcionalidades adicionais além do analisador. O analisador 604 da figura 6 pode compreender na aplicação da figura 14a um bloco de análise de modulação de ruído temporal/modulação de porção temporal 604a que opera conforme discutido no contexto da figura 2b, bloco 222, para o bloco de análise de TNS/TTS 604a e ilustrado com relação à figura 2b para a máscara tonal 226 que corresponde ao codificador IGF 604b na figura 14a.[0094] In an additional application illustrated in Figure 14a, the time frequency converter comprises additional functionalities in addition to the analyzer. The analyzer 604 of Figure 6 may comprise in the application of Figure 14a a temporal noise modulation/time portion modulation analysis block 604a that operates as discussed in the context of Figure 2b, block 222, for the TNS/TTS analysis block. 604a and illustrated with respect to Figure 2b for the tonal mask 226 that corresponds to the IGF encoder 604b in Figure 14a.

[0095] Além disso, o codificador de domínio de frequência compreende, preferivelmente, um bloco de modulação de ruído 606a. O bloco de modulação de ruído 606a é controlado pelos coeficientes de LPC quantizados, conforme gerado pelo bloco 1010. Os coeficientes de LPC quantizados utilizados para modulação de ruído 606a realizam uma modulação espectral dos valores espectrais de alta resolução ou linhas espectrais diretamente codificadas (em vez de parametricamente codificadas) e o resultado do bloco 606a é similar ao espectro de um sinal subsequente a um estágio de filtragem de LPC que opera no domínio de tempo como um bloco de filtragem de análise de LPC 704 a ser descrito posteriormente. Além disso, o resultado do bloco de modulação de ruído 606a é então quantizado e codificado por entropia conforme indicado pelo bloco 606b. O resultado do bloco 606b corresponde à primeira parte codificada do sinal de áudio ou uma parte codificada do sinal de áudio de domínio de frequência (junto com a informação adicional).[0095] Furthermore, the frequency domain encoder preferably comprises a noise modulation block 606a. The noise modulation block 606a is controlled by the quantized LPC coefficients as generated by the block 1010. The quantized LPC coefficients used for noise modulation 606a perform a spectral modulation of the high-resolution spectral values or directly encoded spectral lines (instead of parametrically coded) and the result of block 606a is similar to the spectrum of a signal subsequent to an LPC filtering stage operating in the time domain as an LPC analysis filtering block 704 to be described later. Furthermore, the output of noise modulation block 606a is then quantized and entropy encoded as indicated by block 606b. The result of block 606b corresponds to the first encoded portion of the audio signal or an encoded portion of the frequency domain audio signal (along with additional information).

[0096] O processador cruzado 700 compreende um decodificador espectral para cálculo de uma versão decodificada da primeira parte codificada do sinal. Na aplicação da figura 14a, o decodificador espectral 701 compreende um bloco de modulação de ruído inversa 703, um decodificador de enchimento de lacuna 704, um bloco de síntese de TNS/TTS 705 e o bloco de IMDCT 702 discutido previamente. Estes blocos desfazem as operações específicas realizadas pelos blocos 602 a 606b. Em particular, um bloco de modulação de ruído 703 desfaz a modulação de ruído realizada pelo bloco 606a com base nos coeficientes de LPC quantizados 1010. O decodificador de IGF 704 opera conforme discutido com relação à figura 2A, os blocos 202 e 206 e o bloco de síntese de TNS/TTS 705 opera conforme discutido no contexto do bloco 210 da figura 2A e o decodificador espectral compreende, adicionalmente, o bloco de IMDCT 702. Além disso, o processador cruzado 700 na figura 14a, de modo adicional ou alternativo, compreende um estágio de atraso 707 para inserir uma versão atrasada da versão decodificada obtida pelo decodificador espectral 701 em um estágio de de-ênfase 617 do segundo processador de codificação para fins de inicialização do estágio de de-ênfase 617.[0096] The crossover processor 700 comprises a spectral decoder for calculating a decoded version of the first encoded portion of the signal. In the application of Figure 14a, the spectral decoder 701 comprises an inverse noise modulation block 703, a gap filling decoder 704, a TNS/TTS synthesis block 705, and the IMDCT block 702 discussed previously. These blocks undo the specific operations performed by blocks 602 to 606b. In particular, a noise modulation block 703 undoes the noise modulation performed by block 606a based on quantized LPC coefficients 1010. IGF decoder 704 operates as discussed with respect to Figure 2A, blocks 202 and 206, and block TNS/TTS synthesis block 705 operates as discussed in the context of block 210 of Figure 2A and the spectral decoder further comprises the IMDCT block 702. Furthermore, the cross processor 700 in Figure 14a additionally or alternatively comprises a delay stage 707 for inputting a delayed version of the decoded version obtained by the spectral decoder 701 into a de-emphasis stage 617 of the second encoding processor for the purpose of initializing the de-emphasis stage 617.

[0097] Além disso, o processador cruzado 17 pode compreender, de modo adicional ou alternativo, um estágio de filtragem de análise de coeficiente de previsão ponderada 708 para filtrar a versão decodificada e para inserir uma versão decodificada filtrada para um determinador do livro de códigos 613 indicado como “MMSE” na figura 14a do segundo processador de codificação para inicializar este bloco. De modo adicional ou alternativo, o processador cruzado compreende o estágio de filtragem de análise de LPC para filtrar a versão decodificada da primeira parte codificada do sinal emitida pelo decodificador espectral 700 a um estágio adaptativo do livro de códigos 712 para inicialização do bloco 612. De modo adicional ou alternativo, o processador cruzado também compreende um estágio de pré-ênfase 709 para realização de um pré-processamento da pré-ênfase na versão decodificada emitida por um decodificador espectral 701 antes da filtragem de LPC. O estágio de pré-ênfase saída também pode ser inserido a um estágio de atraso adicional 710 para fins de inicialização de um bloco de filtragem da síntese de LPC 616 dentro do codificador de domínio de tempo 610 para fins de inicialização deste bloco de filtragem de análise de LPC 611.[0097] Furthermore, the cross-processor 17 may additionally or alternatively comprise a weighted prediction coefficient analysis filtering stage 708 to filter the decoded version and to input a filtered decoded version to a codebook determiner. 613 indicated as “MMSE” in figure 14a of the second encoding processor to initialize this block. Additionally or alternatively, the cross-processor comprises the LPC analysis filtering stage for filtering the decoded version of the first encoded portion of the signal emitted by the spectral decoder 700 to an adaptive codebook stage 712 for initializing the block 612. Additionally or alternatively, the cross-processor also comprises a pre-emphasis stage 709 for performing pre-emphasis preprocessing on the decoded version emitted by a spectral decoder 701 prior to LPC filtering. The output pre-emphasis stage may also be inserted into an additional delay stage 710 for the purposes of initializing an LPC synthesis filtering block 616 within the time domain encoder 610 for the purposes of initializing this analysis filtering block. from LPC 611.

[0098] O codificador de domínio de tempo processador 610 compreende, conforme ilustrado na figura 14a, uma pré- ênfase que opera na taxa de amostragem de ACELP inferior. Conforme ilustrado, esta pré-ênfase é a pré-ênfase realizada no estágio de pré-processamento 1000 e tem o número de referência 1005. Os dados de pré-ênfase são inseridos em um estágio de filtragem de análise de LPC 611 que opera no domínio de tempo e este filtro é controlado pelos coeficientes de LPC quantizados 1010 obtidos pelo estágio de pré-processamento 1000. Como conhecido a partir dos codificadores AMR-WB+ ou USAC ou outros codificadores CELP, o sinal residual gerado pelo bloco 611 é fornecido a um livro de códigos adaptativo 612 e, ainda, o livro de códigos adaptativo 612 é conectado a um estágio inovador do livro de códigos 614 e os dados do livro de códigos do livro de códigos adaptativo 612 e do livro de códigos inovador são inseridos no multiplexador de fluxo de bits conforme ilustrado.[0098] The processor time domain encoder 610 comprises, as illustrated in Figure 14a, a pre-emphasis that operates at the lower ACELP sampling rate. As illustrated, this pre-emphasis is the pre-emphasis performed in the pre-processing stage 1000 and has the reference number 1005. The pre-emphasis data is entered into an LPC analysis filtering stage 611 that operates in the domain time and this filter is controlled by the quantized LPC coefficients 1010 obtained by the preprocessing stage 1000. As known from AMR-WB+ or USAC encoders or other CELP encoders, the residual signal generated by block 611 is fed to a book adaptive codebook 612 and further, the adaptive codebook 612 is connected to an innovative codebook stage 614 and the codebook data of the adaptive codebook 612 and the innovative codebook are input into the stream multiplexer of bits as illustrated.

[0099] Além disso, um estágio de ganho/codificação de ACELP 612 é fornecido em série ao estágio inovador do livro de códigos 614 e o resultado deste bloco é inserido em um determinador do livro de códigos 613 indicado como MMSE na figura 14a. Este bloco coopera com o bloco do livro de códigos inovador 614. Além disso, o codificador de domínio de tempo compreende, adicionalmente, uma parte do decodificador tendo um bloco de filtragem da síntese de LPC 616, um bloco de de- ênfase 617 e um estágio de pós-filtro de baixo adaptativo 618 para cálculo dos parâmetros para um pós-filtro de baixo adaptativo que é, entretanto, aplicado no lado do decodificador. Sem qualquer pós-filtragem de baixo adaptativo no lado do decodificador, blocos 616, 617, 618 não seriam necessários para o codificador de domínio de tempo 610.14a. This block cooperates with the innovative codebook block 614. Furthermore, the time domain encoder further comprises a decoder part having an LPC synthesis filtering block 616, a de-emphasis block 617 and a adaptive bass post-filter stage 618 for calculating the parameters for an adaptive bass post-filter which is, however, applied on the decoder side. Without any adaptive low post-filtering on the decoder side, blocks 616, 617, 618 would not be necessary for the time domain encoder 610.

[0100] Conforme ilustrado, vários blocos do decodificador de domínio de tempo dependem dos sinais prévios e estes blocos são o bloco do livro de códigos adaptativo, o determinador do livro de códigos 613, o bloco de filtragem da síntese de LPC 616 e o bloco de de-ênfase 617. Estes blocos são fornecidos com os dados do processador cruzado derivado dos dados do processador de codificação de domínio de frequência a fim de inicializar estes blocos para fins de estar pronto para uma comutação instantânea do codificador de domínio de frequência ao codificador de domínio de tempo. Como também pode ser visto a partir da figura 14a, qualquer dependência nos dados prévios não é necessária para o codificador de domínio de frequência. Portanto, o processador cruzado 700 não fornece quaisquer dados de inicialização da memória do codificador de domínio de tempo ao codificador de domínio de frequência. Entretanto, para outras implementações do codificador de domínio de frequência, onde as dependências do passado existem e onde os dados de inicialização da memória são necessários, o processador cruzado 700 é configurado para operar em ambas as direções.[0100] As illustrated, several blocks of the time domain decoder depend on the prior signals and these blocks are the adaptive codebook block, the codebook determiner 613, the LPC synthesis filtering block 616 and the of de-emphasis 617. These blocks are provided with the cross-processor data derived from the frequency domain encoding processor data in order to initialize these blocks for the purpose of being ready for an instantaneous switch from the frequency domain encoder to the time domain. As can also be seen from figure 14a, any dependence on prior data is not necessary for the frequency domain encoder. Therefore, the cross-processor 700 does not provide any initialization data from the time domain encoder memory to the frequency domain encoder. However, for other implementations of the frequency domain encoder, where past dependencies exist and where memory initialization data is required, the cross processor 700 is configured to operate in both directions.

[0101] Uma aplicação preferida de um codificador de áudio, portanto, compreende as seguintes partes:[0101] A preferred application of an audio encoder therefore comprises the following parts:

[0102] O decodificado de áudio preferido é descrito a seguir: a parte do decodificador de forma de onda consiste em uma passagem do decodificador de TCX de banda completa com IGF ambos operando na taxa de amostragem de entrada do codec. Em paralelo, uma passagem alternativa do decodificador de ACELP na taxa de amostragem inferior existe que é reforçada, ainda, a jusante por um TD-BWE.[0102] The preferred audio decoder is described below: The waveform decoder portion consists of a full-band TCX decoder pass with IGF both operating at the codec input sample rate. In parallel, an alternative pass of the ACELP decoder at the lower sampling rate exists which is further enhanced downstream by a TD-BWE.

[0103] Para inicialização de ACELP ao comutar de TCX em ACELP, uma passagem cruzada (que consiste em um decodificador de TCX dividido frontend, mas adicionalmente fornecendo a saída na taxa de amostragem inferior e algum pós- processamento) existe que realiza a inicialização de ACELP inventivo. O compartilhamento da mesma taxa de amostragem e da ordem de filtro entre TCX e ACELP nas LPCs possibilita uma inicialização de ACELP mais fácil e mais eficiente.[0103] For ACELP initialization when switching from TCX to ACELP, a crossover (consisting of a split TCX decoder frontend, but additionally providing output at the lower sample rate and some post-processing) exists that performs ACELP initialization. Inventive ACELP. Sharing the same sample rate and filter order between TCX and ACELP on LPCs allows for easier and more efficient ACELP initialization.

[0104] Para visualização da comutação, dois comutadores são desenhados em 14b. Enquanto o segundo comutador a jusante escolhe entre a saída TCX/IGF ou ACELP/TD-BWE, o primeiro comutador pré-atualiza os buffers no estágio de QMF de reamostragem a jusante da passagem de ACELP pela saída da passagem cruzada ou simplesmente passa na saída de ACELP.[0104] To visualize the switching, two switches are drawn in 14b. While the second downstream switch chooses between the TCX/IGF or ACELP/TD-BWE output, the first switch pre-updates the buffers in the resampling QMF stage downstream of the ACELP pass through the cross-pass output or simply passes the by ACELP.

[0105] Subsequentemente, as implementações do decodificador de áudio, de acordo com os aspectos da presente invenção, são discutidas no contexto das figuras de 11a a 14c.[0105] Subsequently, audio decoder implementations in accordance with aspects of the present invention are discussed in the context of figures 11a to 14c.

[0106] Um decodificador de áudio para decodificação de um sinal de áudio codificado 1101 compreende um primeiro processador de decodificação 1120 para decodificação de uma primeira parte codificada do sinal de áudio em um domínio de frequência. O primeiro processador de decodificação 1120 compreende um decodificador espectral 1122 para decodificação de regiões espectrais primárias com uma resolução espectral alta e para sintetização das regiões espectrais secundárias utilizando uma representação paramétrica das regiões espectrais secundárias e pelo menos uma primeira região espectral decodificada para obter uma representação espectral decodificada. A representação espectral decodificada é uma representação espectral decodificada de banda completa conforme discutido no contexto da figura 6 e conforme também discutido no contexto da figura 1a. De modo geral, o primeiro processador de decodificação, portanto, compreende uma implementação de banda completa com um procedimento de preenchimento de folga no domínio de frequência. O primeiro processador de decodificação 1120 ainda compreende um conversor de tempo-frequência 1124 para conversão da representação espectral decodificada em um domínio de tempo para obter uma primeira parte decodificada do sinal de áudio.[0106] An audio decoder for decoding a coded audio signal 1101 comprises a first decoding processor 1120 for decoding a first coded part of the audio signal in a frequency domain. The first decoding processor 1120 comprises a spectral decoder 1122 for decoding primary spectral regions with a high spectral resolution and for synthesizing the secondary spectral regions using a parametric representation of the secondary spectral regions and at least one first decoded spectral region to obtain a spectral representation decoded. The decoded spectral representation is a full-band decoded spectral representation as discussed in the context of Figure 6 and as also discussed in the context of Figure 1a. Generally speaking, the first decoding processor therefore comprises a full-band implementation with a gap filling procedure in the frequency domain. The first decoding processor 1120 further comprises a time-frequency converter 1124 for converting the decoded spectral representation into a time domain to obtain a first decoded portion of the audio signal.

[0107] Além disso, o decodificador de áudio compreende um segundo processador de decodificação 1140 para decodificação da segunda parte codificada do sinal de áudio no domínio de tempo para obter uma segunda parte decodificada do sinal. Além disso, o decodificador de áudio compreende um combinador 1160 para combinação da primeira parte decodificada do sinal e da segunda parte decodificada do sinal para obter um sinal de áudio decodificado. As partes decodificadas do sinal são combinadas na sequência que é também ilustrada na figura 14b por uma implementação do comutador 1160 que representa uma aplicação do combinador 1160 da figura 11a.[0107] Furthermore, the audio decoder comprises a second decoding processor 1140 for decoding the second encoded portion of the audio signal in the time domain to obtain a second decoded portion of the signal. Furthermore, the audio decoder comprises a combiner 1160 for combining the first decoded part of the signal and the second decoded part of the signal to obtain a decoded audio signal. The decoded portions of the signal are combined in the sequence that is also illustrated in Fig. 14b by an implementation of the switch 1160 that represents an implementation of the combiner 1160 of Fig. 11a.

[0108] Preferivelmente, o segundo processador de decodificação 1140 é um processador de extensão da largura de banda do domínio de tempo e compreende, conforme ilustrado na figura 12, um decodificador de banda baixa de domínio de tempo 1200 para decodificação de um sinal de domínio de tempo de banda baixa. Esta implementação, ainda, compreende um amplificador da taxa de amostragem 1210 para aumento da taxa de amostragem do sinal de domínio de tempo de banda baixa. Adicionalmente, um decodificador de extensão de largura de banda do domínio de tempo 1220 é fornecido para sintetização de uma banda alta do sinal de áudio de saída. Além disso, um misturador 1230 é fornecido para misturar uma banda alta sintetizada do sinal de saída de domínio de tempo e um sinal de domínio de tempo de banda baixa com taxa de amostragem amplificada para obter a saída do codificador de domínio de tempo. Assim, o bloco 1140 na figura 11a pode ser implementado pela funcionalidade da figura 12 em uma aplicação preferida.[0108] Preferably, the second decoding processor 1140 is a time domain bandwidth extending processor and comprises, as illustrated in Figure 12, a time domain low bandwidth decoder 1200 for decoding a time domain signal. of low band time. This implementation further comprises a sample rate amplifier 1210 for increasing the sampling rate of the low band time domain signal. Additionally, a time domain bandwidth extension decoder 1220 is provided for synthesizing a high band of the output audio signal. Furthermore, a mixer 1230 is provided for mixing a synthesized high-band of the time domain output signal and an amplified sampling rate low-band time domain signal to obtain the output of the time domain encoder. Thus, block 1140 in Figure 11a can be implemented by the functionality of Figure 12 in a preferred application.

[0109] A figura 13 ilustra uma aplicação preferida do decodificador de extensão de largura de banda do domínio de tempo 1220 da figura 12. Preferivelmente, um amplificador da taxa de amostragem do domínio de tempo 1221 é fornecido recebendo, como uma entrada, um sinal residual de LPC de um decodificador de banda baixa de domínio de tempo incluído dentro do bloco 1140 e ilustrado em 1200 na figura 12 e, ainda, ilustrado no contexto da figura 14b. O amplificador da taxa de amostragem do domínio de tempo 1221 gera uma versão com taxa de amostragem amplificada do sinal residual de LPC. Essa versão é então inserida em um bloco de distorção não linear 1222 que gera, com base em seu sinal de entrada, um sinal de saída tendo valores de frequência mais alta. Uma distorção não linear pode ser uma cópia, um reflexo, uma mudança de frequência ou um dispositivo não linear, tal como um diodo ou um transistor operado na região não linear. O sinal de saída do bloco 1222 é inserido em um bloco de filtragem da síntese de LPC 1223 que é controlado pelos dados de LPC utilizados para o decodificador de banda baixa bem como por dados de envelope específicos gerados pelo bloco de extensão da largura de banda do domínio de tempo 920 no lado do codificador da figura 14a, por exemplo. A saída do bloco de síntese de LPC é então inserida em um passa-banda ou filtro passa alta 1224 para finalmente obter a banda alta, que é então inserida ao misturador 1230, conforme ilustrado na figura 12.[0109] Figure 13 illustrates a preferred application of the time domain bandwidth extension decoder 1220 of Figure 12. Preferably, a time domain sampling rate amplifier 1221 is provided receiving, as an input, a signal LPC residual of a time domain low-band decoder included within block 1140 and illustrated at 1200 in Figure 12 and further illustrated in the context of Figure 14b. The time domain sample rate amplifier 1221 generates a sample rate amplified version of the residual LPC signal. This version is then inserted into a non-linear distortion block 1222 which generates, based on its input signal, an output signal having higher frequency values. A nonlinear distortion can be a copy, a reflection, a frequency shift, or a nonlinear device such as a diode or transistor operated in the nonlinear region. The output signal from block 1222 is input to an LPC synthesis filter block 1223 that is controlled by the LPC data used for the low-band decoder as well as specific envelope data generated by the LPC bandwidth extension block. time domain 920 on the encoder side of Figure 14a, for example. The output of the LPC synthesis block is then fed into a bandpass or high pass filter 1224 to finally obtain the high band, which is then fed into the mixer 1230, as illustrated in figure 12.

[0110] Subsequentemente, uma implementação preferida do amplificador da taxa de amostragem 1210 da figura 12 é discutida no contexto da figura 14b. O amplificador da taxa de amostragem preferivelmente compreende um banco de filtro de análise que opera em uma primeira taxa de amostragem do decodificador de banda baixa de domínio de tempo. Uma implementação específica de tal banco de filtro de análise é um banco de filtro de análise de QMF 1471 ilustrado na figura 14b. Além disso, o amplificador da taxa de amostragem compreende um banco de filtro de síntese 1473 que opera em uma segunda taxa de amostragem de saída sendo mais alta do que a primeira taxa de amostragem de banda baixa do domínio de tempo. Assim, o banco de filtro de síntese de QMF 1473 que é uma implementação preferida do banco de filtro geral opera na taxa de amostragem de saída. Quando o fator de redução da taxa de amostragem DS, conforme discutido no contexto da figura 7b, for 5, então o banco de filtro de análise de QMF 1471 tem, por exemplo, apenas 32 canais do banco de filtro e o banco de filtro de síntese de QMF 1473 tem, por exemplo, 64 canais de QMF, mas a metade mais alta dos canais do banco de filtro, ou seja, os 32 canais do banco de filtro superiores são inseridos com zeros ou ruído, enquanto os 32 canais do banco de filtro inferiores são inseridos com os sinais correspondentes fornecidos pelo banco de filtro de análise de QMF 1471. Preferivelmente, entretanto, uma filtragem de passa-banda 1472 é realizada dentro do domínio de banco de filtro de QMF, a fim de certificar que a saída de síntese de QMF 1473 é uma versão com a taxa de amostragem amplificada da saída do decodificador de ACELP, mas sem quaisquer perturbações acima da frequência máxima do decodificador de ACELP.[0110] Subsequently, a preferred implementation of the sample rate amplifier 1210 of Figure 12 is discussed in the context of Figure 14b. The sample rate amplifier preferably comprises an analysis filter bank that operates at a first sample rate of the time domain low-band decoder. A specific implementation of such an analysis filter bank is a QMF analysis filter bank 1471 illustrated in Figure 14b. Additionally, the sample rate amplifier comprises a synthesis filter bank 1473 that operates at a second output sample rate being higher than the first time domain low-band sample rate. Thus, the QMF synthesis filter bank 1473 which is a preferred implementation of the general filter bank operates at the output sample rate. When the DS sample rate reduction factor, as discussed in the context of Figure 7b, is 5, then the QMF analysis filter bank 1471 has, for example, only 32 filter bank channels and the QMF analysis filter bank 1471 has, for example, only 32 filter bank channels and the QMF synthesis 1473 has, for example, 64 QMF channels, but the upper half of the filter bank channels, i.e. the upper 32 filter bank channels are inserted with zeros or noise, while the upper 32 filter bank channels lower filters are inserted with the corresponding signals provided by the QMF analysis filter bank 1471. Preferably, however, a bandpass filtering 1472 is performed within the QMF filter bank domain in order to ensure that the output QMF 1473 synthesis is a version with the amplified sample rate of the ACELP decoder output, but without any disturbances above the maximum frequency of the ACELP decoder.

[0111] Outras operações de processamento podem ser realizadas dentro do domínio de QMF além de, ou em vez da filtragem de passa-banda 1472. Se nenhum processamento for realizado de nenhuma forma, então a análise de QMF e a síntese de QMF constituem um amplificador da taxa de amostragem eficiente 1210.[0111] Other processing operations may be performed within the QMF domain in addition to, or instead of, bandpass filtering 1472. If no processing is performed in any way, then QMF analysis and QMF synthesis constitute a efficient sample rate amplifier 1210.

[0112] Subsequentemente, a construção dos elementos individuais na figura 14b são discutidos em mais detalhes.[0112] Subsequently, the construction of the individual elements in figure 14b are discussed in more detail.

[0113] O decodificador do domínio de frequência de banda completa 1120 compreende um primeiro bloco de decodificação 1122a para decodificação dos coeficientes espectrais de alta resolução e para, adicionalmente, realizar o preenchimento do ruído na parte de banda baixa conforme conhecido, por exemplo, da tecnologia de USAC. Além disso, o decodificador de banda completa compreende um processador de IGF 1122b para preenchimento dos furos espectrais utilizando valores espectrais sintetizados que foram codificados apenas parametricamente e, portanto, codificados com uma baixa resolução no lado do codificador. Então, no bloco 1122c, uma modulação de ruído inversa é realizada e o resultado é inserido em um bloco de síntese de TNS/TTS 705 que fornece, como uma saída final, uma entrada em um conversor de tempo-frequência 1124, que é preferivelmente implementada como uma transformada discreta de cosseno modificada inversa que opera na saída, ou seja, alta taxa de amostragem.[0113] The full-band frequency domain decoder 1120 comprises a first decoding block 1122a for decoding the high-resolution spectral coefficients and for additionally performing noise filling in the low-band part as known, for example, from USAC technology. Furthermore, the full band decoder comprises an IGF 1122b processor for filling the spectral holes using synthesized spectral values that have been encoded only parametrically and therefore encoded with a low resolution on the encoder side. Then, in block 1122c, an inverse noise modulation is performed and the result is fed into a TNS/TTS synthesis block 705 which provides, as a final output, an input into a time-frequency converter 1124, which is preferably implemented as an inverse modified discrete cosine transform that operates on the output, i.e. high sampling rate.

[0114] Além disso, um pós-filtro harmônico ou LTP é utilizado sendo controlado por dados obtidos pelo bloco de extração do parâmetro TCX-LTP 1006 na figura 14b. O resultado é, então, a primeira parte decodificada do sinal de áudio na taxa de amostragem de saída e como pode ser visto da figura 14b, estes dados têm a alta taxa de amostragem e, portanto, qualquer intensificação de frequência adicional não é de nenhuma forma necessária devido ao fato que o processador de decodificação é um decodificador de banda completa de domínio de frequência preferivelmente que opera utilizando a tecnologia de preenchimento de lacuna inteligente discutida no contexto das figuras de 1a a 5C.[0114] Additionally, a harmonic post-filter or LTP is used and is controlled by data obtained by the TCX-LTP parameter extraction block 1006 in figure 14b. The result is then the first decoded part of the audio signal at the output sampling rate and as can be seen from figure 14b, this data has the high sampling rate and therefore any additional frequency boosting is of no consequence. 1a to 5c.

[0115] Vários elementos na figura 14b são bem similares aos blocos correspondentes no processador cruzado 700 da figura 14a, particularmente com relação ao decodificador de IGF 704 correspondente ao processamento de IGF 1122b e a operação de modulação de ruído inversa controlada pelos coeficientes de LPC quantizados 1145 corresponde à modulação de ruído inversa 703 da figura 14a e o bloco de síntese de TNS/TTS 705 na figura 14b corresponde à síntese do bloco TNS/TTS 705 na figura 14a. De forma importante, entretanto, o bloco de IMDCT 1124 na figura 14b opera na alta taxa de amostragem enquanto o bloco de IMDCT 702 na figura 14a opera em uma baixa taxa de amostragem. Assim, o bloco 1124 na figura 14b compreende a transformada de tamanho grande e o bloco desdobrável 710, a janela de síntese no bloco 712 e o estágio de adição por sobreposição 714 com o grande número de operações correspondente, grande número de coeficientes de janela e um grande tamanho da transformada em comparação com os recursos correspondentes 720, 722, 724, que são operados no bloco 702 e, conforme será descrito posteriormente, no bloco 1171 do processador cruzado 1170 na figura 14b também.[0115] Various elements in Figure 14b are very similar to the corresponding blocks in the crossover processor 700 of Figure 14a, particularly with respect to the IGF decoder 704 corresponding to the IGF processing 1122b and the inverse noise modulation operation controlled by the quantized LPC coefficients. 1145 corresponds to the inverse noise modulation 703 of Figure 14a and the TNS/TTS synthesis block 705 in Figure 14b corresponds to the synthesis of the TNS/TTS block 705 in Figure 14a. Importantly, however, the IMDCT block 1124 in Fig. 14b operates at the high sampling rate while the IMDCT block 702 in Fig. 14a operates at a low sampling rate. Thus, the block 1124 in Figure 14b comprises the large-size transform and unfolding block 710, the synthesis window in block 712, and the overlap addition stage 714 with the corresponding large number of operations, large number of window coefficients, and a large size of the transform compared to the corresponding resources 720, 722, 724, which are operated in block 702 and, as will be described later, in block 1171 of the cross processor 1170 in Figure 14b as well.

[0116] O processador de decodificação do domínio de tempo 1140 preferivelmente compreende o decodificador de banda baixa de domínio de tempo ou de ACELP 1200 compreendendo um estágio do decodificador de ACELP 1149 para obtenção dos ganhos decodificados e da informação do livro de códigos inovador. Adicionalmente, um estágio adaptativo do livro de códigos de ACELP 1141 é fornecido e um estágio de pós-processamento de ACELP subsequente 1142 e um filtro de síntese final como filtro de síntese de LPC 1143, que é novamente controlado pelos coeficientes de LPC quantizados 1145 obtidos do desmultiplexador de fluxo de bits 1100 correspondente ao analisador do sinal codificado 1100 na figura 11a. A saída do filtro de síntese de LPC 1143 é inserida em um estágio de de- ênfase 1144 para cancelamento ou anulação do processamento introduzido pelo estágio de pré-ênfase 1005 do pré-processador 1000 da figura 14a. O resultado é o sinal de saída de domínio de tempo em uma baixa taxa de amostragem e uma banda baixa e no caso em que a saída do domínio de frequência é necessária, o comutador 1480 está na posição indicada e a saída do estágio de de-ênfase 1144 é introduzida ao amplificador da taxa de amostragem 1210 e então misturada com as bandas altas do decodificador de extensão de largura de banda do domínio de tempo 1220.[0116] The time domain decoding processor 1140 preferably comprises the time domain or ACELP low-band decoder 1200 comprising an ACELP decoder stage 1149 for obtaining the decoded gains and novel codebook information. Additionally, an ACELP codebook adaptive stage 1141 is provided and a subsequent ACELP post-processing stage 1142 and a final synthesis filter as LPC synthesis filter 1143, which is again controlled by the obtained quantized LPC coefficients 1145 of the bitstream demultiplexer 1100 corresponding to the encoded signal analyzer 1100 in Figure 11a. The output of the LPC synthesis filter 1143 is input to a de-emphasis stage 1144 to cancel or nullify the processing introduced by the pre-emphasis stage 1005 of the preprocessor 1000 of Figure 14a. The result is the time domain output signal at a low sampling rate and a low bandwidth and in the case where frequency domain output is required, the switch 1480 is in the indicated position and the output of the de- emphasis 1144 is introduced to the sample rate amplifier 1210 and then mixed with the high bands of the time domain bandwidth extension decoder 1220.

[0117] De acordo com as aplicações da presente invenção, o decodificador de áudio compreende, adicionalmente, o processador cruzado 1170 ilustrado na figura 11b e na figura 14b para cálculo, a partir da representação espectral decodificada da primeira parte codificada do sinal de áudio, dos dados de inicialização do segundo processador de decodificação de modo que o segundo processador de decodificação seja inicializado para decodificar a segunda parte codificada do sinal de áudio seguindo no tempo a primeira parte do sinal de áudio no sinal de áudio codificado, ou seja, de modo que o processador de decodificação do domínio de tempo 1140 esteja pronto para uma comutação instantânea de uma parte do sinal de áudio para a próxima sem qualquer perda na qualidade ou eficiência.[0117] In accordance with the applications of the present invention, the audio decoder additionally comprises the crossover processor 1170 illustrated in figure 11b and figure 14b for calculating, from the decoded spectral representation of the first encoded part of the audio signal, of the initialization data of the second decoding processor so that the second decoding processor is initialized to decode the second encoded portion of the audio signal following in time the first portion of the audio signal in the encoded audio signal, i.e., so that the time domain decoding processor 1140 is ready for instantaneous switching from one part of the audio signal to the next without any loss in quality or efficiency.

[0118] Preferivelmente, o processador cruzado 1170 compreende um conversor de tempo-frequência adicional 1171 que opera em uma taxa de amostragem inferior do que o conversor de tempo-frequência do primeiro processador de decodificação a fim de obter uma primeira parte decodificada do sinal adicional no domínio de tempo a ser utilizada como o sinal de inicialização ou para o qual quaisquer dados de inicialização podem ser derivados. Preferivelmente, este conversor de tempo- frequência de IMDCT ou de baixa taxa de amostragem é implementado conforme ilustrado na figura 7b, o item 726 (seletor), o item 720 (transformada de pequeno tamanho e desdobrável), janelamento de síntese com um pequeno número de coeficientes de janela conforme indicado em 722 e um estágio de adição por sobreposição com um pequeno número de operações conforme indicado em 724. Assim, o bloco de IMDCT 1124 no decodificador de banda completa de domínio de frequência é implementado conforme indicado pelo bloco 710, 712, 714, e o bloco de IMDCT 1171 é implementado conforme indicado na figura 7b pelo bloco 726, 720, 722, 724. Novamente, o fator de redução da taxa de amostragem é a relação entre a taxa de amostragem do codificador de domínio de tempo ou a baixa taxa de amostragem e a taxa de amostragem mais alta de domínio de frequência ou taxa de amostragem de saída e este fator de redução da taxa de amostragem é menor que 1 e pode ser qualquer número maior do que 0 e menor do que 1.[0118] Preferably, the crossover processor 1170 comprises an additional time-frequency converter 1171 that operates at a lower sampling rate than the time-frequency converter of the first decoding processor in order to obtain a first decoded portion of the additional signal. in the time domain to be used as the initialization signal or for which any initialization data can be derived. Preferably, this IMDCT or low sampling rate time-frequency converter is implemented as illustrated in Figure 7b, item 726 (selector), item 720 (small size and unfoldable transform), synthesis windowing with a small number of window coefficients as indicated at 722 and an overlap addition stage with a small number of operations as indicated at 724. Thus, the IMDCT block 1124 in the frequency domain full-band decoder is implemented as indicated by block 710, 712, 714, and the IMDCT block 1171 is implemented as indicated in Figure 7b by block 726, 720, 722, 724. Again, the sample rate reduction factor is the ratio of the sample rate of the field domain encoder to time or the low sampling rate and the highest frequency domain sampling rate or output sampling rate and this sampling rate reduction factor is less than 1 and can be any number greater than 0 and less than 1.

[0119] Conforme ilustrado na figura 14b, o processador cruzado 1170 compreende, ainda, sozinho ou com outros elementos, um estágio de atraso 1172 para atrasar a primeira parte decodificada do sinal adicional e para inserir a primeira parte atrasada decodificada do sinal em um estágio de de-ênfase 1144 do segundo processador de decodificação para inicialização. Além disso, o processador cruzado compreende, de modo adicional ou alternativo, um filtro de pré-ênfase 1173 e um estágio de atraso 1175 para filtrar e atrasar a primeira parte decodificada do sinal adicional e para fornecimento da saída atrasada do bloco 1175 em um estágio de filtragem de síntese de LPC 1143 do decodificador de ACELP para fins de inicialização.[0119] As illustrated in Figure 14b, the crossover processor 1170 further comprises, alone or with other elements, a delay stage 1172 for delaying the first decoded portion of the additional signal and for inserting the first decoded delayed portion of the signal into a stage de-emphasis 1144 of the second decoding processor for initialization. Furthermore, the crossover processor additionally or alternatively comprises a pre-emphasis filter 1173 and a delay stage 1175 for filtering and delaying the first decoded portion of the additional signal and for providing the delayed output of the block 1175 in a stage LPC 1143 synthesis filtering of the ACELP decoder for initialization purposes.

[0120] Além disso, o processador cruzado pode compreender, alternativamente ou além dos outros elementos mencionados, um filtro de análise de LPC 1174 para geração de um sinal residual de previsão da primeira parte decodificada do sinal adicional ou uma primeira parte decodificada pré- enfatizada do sinal adicional e para inserir os dados em um sintetizador de livro de códigos do segundo processador de decodificação e, preferivelmente, ao estágio adaptativo do livro de códigos 1141. Além disso, a saída do conversor de tempo-frequência 1171 com a baixa taxa de amostragem é também inserida ao estágio de análise de QMF 1471 do amplificador da taxa de amostragem 1210 para fins de inicialização, ou seja, quando a parte do sinal de áudio atualmente decodificada é entregue pelo decodificador de banda completa de domínio de frequência 1120.[0120] Furthermore, the cross-processor may comprise, alternatively or in addition to the other elements mentioned, an LPC analysis filter 1174 for generating a predictive residual signal of the first decoded portion of the additional signal or a pre-emphasized first decoded portion. of the additional signal and to input the data to a codebook synthesizer of the second decoding processor and, preferably, to the codebook adaptive stage 1141. Furthermore, the output of the time-frequency converter 1171 with the low rate Sampling is also input to the QMF analysis stage 1471 of the sample rate amplifier 1210 for initialization purposes, i.e., when the currently decoded portion of the audio signal is delivered by the frequency domain full-band decoder 1120.

[0121] O decodificador de áudio preferido é descrito a seguir: a parte do decodificador de forma de onda consiste em uma passagem do decodificador de TCX de banda completa com IGF que opera na taxa de amostragem de entrada do codec. Em paralelo, uma passagem alternativa do decodificador de ACELP na taxa de amostragem inferior existe sendo reforçada ainda a jusante por um TD-BWE.[0121] The preferred audio decoder is described below: The waveform decoder portion consists of a full-band TCX decoder pass with IGF that operates at the input sample rate of the codec. In parallel, an alternative pass of the ACELP decoder at the lower sampling rate exists and is further enhanced downstream by a TD-BWE.

[0122] Para a inicialização de ACELP ao comutar de TCX para ACELP, uma passagem cruzada (que consiste em um decodificador de TCX dividido frontend, mas adicionalmente fornece saída na taxa de amostragem inferior e algum pós- processamento) existe realizando a inicialização de ACELP inventiva. O compartilhamento da mesma taxa de amostragem e ordem do filtro entre TCX e ACELP nos LPCs possibilita uma inicialização de ACELP mais fácil e mais eficiente.[0122] For ACELP initialization when switching from TCX to ACELP, a crossover (which consists of a split TCX decoder frontend, but additionally provides output at the lower sample rate and some post-processing) exists performing ACELP initialization inventive. Sharing the same sample rate and filter order between TCX and ACELP on LPCs enables easier and more efficient ACELP initialization.

[0123] Para a visualização da comutação, dois comutadores são desenhados na figura 14b. Enquanto o segundo comutador a jusante escolhe entre saída de TCX/IGF ou ACELP/TD- BWE, o primeiro comutador pré-atualiza os buffers no de QMF de reamostragem a jusante da passagem de ACELP pela saída da passagem cruzada ou simplesmente passa na saída de ACELP.[0123] To visualize the switching, two switches are drawn in figure 14b. While the second downstream switch chooses between TCX/IGF or ACELP/TD-BWE output, the first switch pre-updates the QMF buffers downstream of the ACELP pass through the cross-pass output or simply passes the ACELP.

[0124] Para resumir, os aspectos preferidos da invenção que podem ser utilizados sozinhos ou em combinação se referem a uma combinação de um codificador de ACELP e TD-BWE com uma tecnologia de TCX/IGF capaz de banda completa preferivelmente associada utilizando um sinal cruzado.[0124] To summarize, the preferred aspects of the invention that can be used alone or in combination relate to a combination of an ACELP and TD-BWE encoder with a full-band capable TCX/IGF technology preferably associated using a crossover signal .

[0125] Um recurso específico adicional é uma passagem de sinal cruzado para a inicialização de ACELP permitir a comutação integrada.[0125] An additional specific feature is a crossover signal pass for ACELP initialization to enable integrated switching.

[0126] Um aspecto adicional é que uma IMDCT curta é inserida com uma parte inferior de coeficientes de MDCT longos de taxa alta para implementar eficientemente uma conversão de taxa de amostragem na passagem cruzada.[0126] An additional aspect is that a short IMDCT is inserted with a bottom of long high-rate MDCT coefficients to efficiently implement a cross-pass sample rate conversion.

[0127] Um recurso adicional é uma realização eficiente da passagem cruzada parcialmente dividida com um TCX/IGF de banda completa no decodificador.[0127] An additional feature is an efficient realization of partially split cross-pass with a full-band TCX/IGF in the decoder.

[0128] Um recurso adicional é a passagem de sinal cruzado para a inicialização de QMF permitir a comutação integrada de TCX para ACELP.[0128] An additional feature is the crossover signal pass for QMF initialization to allow integrated switching from TCX to ACELP.

[0129] Um recurso adicional é uma passagem de sinal cruzado à QMF possibilitando a compensação da lacuna de retardo entre a saída reamostrada de ACELP e uma saída de TCX/IGF do banco de filtro na comutação de ACELP para TCX.[0129] An additional feature is a crossover signal pass to QMF enabling compensation of the delay gap between the resampled ACELP output and a TCX/IGF output of the filter bank when switching from ACELP to TCX.

[0130] Um aspecto adicional é que uma LPC é fornecida para ambos os codificadores de TCX e de ACELP na mesma taxa de amostragem e ordem de filtro, embora o codificador/decodificador de TCX/IGF seja capaz de banda completa.[0130] An additional aspect is that an LPC is provided for both the TCX and ACELP encoders at the same sampling rate and filter order, although the TCX/IGF encoder/decoder is full band capable.

[0131] Subsequentemente, a figura 14c é discutida como uma implementação preferida de um decodificador de domínio de tempo que opera como um decodificador independente ou em combinação com o decodificar de domínio de frequência capaz de banda completa.[0131] Subsequently, Figure 14c is discussed as a preferred implementation of a time domain decoder that operates as a standalone decoder or in combination with the full band capable frequency domain decoder.

[0132] De modo geral, o decodificador de domínio de tempo compreende um decodificador de ACELP, um reamostrador subsequentemente conectado ou amplificador da taxa de amostragem e uma funcionalidade da extensão da largura de banda do domínio de tempo. Particularmente, o decodificador de ACELP compreende um estágio de decodificação de ACELP para recuperar ganhos e o livro de códigos inovador 1149, um estágio adaptativo do livro de códigos por ACELP 1141, um pós- processador de ACELP 1142, um filtro de síntese de LPC 1143 controlado pelos coeficientes de LPC quantizados de um desmultiplexador de fluxo de bits ou analisador do sinal codificado e o estágio de de-ênfase subsequentemente conectado 1144. Preferivelmente, o sinal residual de domínio de tempo, estando em uma taxa de amostragem de ACELP, é inserido em um decodificador de extensão de largura de banda do domínio de tempo 1220, que fornece uma banda alta nas saídas.[0132] Generally, the time domain decoder comprises an ACELP decoder, a subsequently connected resampler or sample rate amplifier, and a time domain bandwidth extension functionality. Particularly, the ACELP decoder comprises an ACELP decoding stage for recovering gains and the innovative codebook 1149, an ACELP codebook adaptive stage 1141, an ACELP postprocessor 1142, an LPC synthesis filter 1143 controlled by the quantized LPC coefficients of a bitstream demultiplexer or encoded signal analyzer and the subsequently connected de-emphasis stage 1144. Preferably, the residual time domain signal, being at a sampling rate of ACELP, is input in a time domain bandwidth extension decoder 1220, which provides high bandwidth at the outputs.

[0133] A fim de amplificar a taxa de amostragem da saída de de-ênfase 1144, um amplificador da taxa de amostragem compreendendo o bloco de análise de QMF 1471 e o bloco de síntese de QMF 1473 são fornecidos. Dentro do domínio do banco de filtro definido pelos blocos 1471 e 1473, um filtro passa- banda é preferivelmente aplicado. Particularmente, como foi discutido previamente, as mesmas funcionalidades também podem ser utilizadas que foram discutidas com relação aos mesmos números de referência. Além disso, o decodificador de extensão de largura de banda do domínio de tempo 1220 pode ser implementado conforme ilustrado na figura 13 e, de modo geral, compreende um aumento da taxa de amostragem do sinal residual de ACELP ou sinal do domínio de tempo residual na taxa de amostragem de ACELP finalmente para uma taxa de amostragem de saída do sinal estendido da largura de banda.[0133] In order to amplify the sampling rate of the de-emphasis output 1144, a sampling rate amplifier comprising the QMF analysis block 1471 and the QMF synthesis block 1473 are provided. Within the filter bank domain defined by blocks 1471 and 1473, a bandpass filter is preferably applied. In particular, as previously discussed, the same features can also be used that were discussed with respect to the same reference numbers. Furthermore, the time domain bandwidth extension decoder 1220 may be implemented as illustrated in FIG. 13 and generally comprises increasing the sampling rate of the residual ACELP signal or residual time domain signal in the ACELP sampling rate finally to a bandwidth extended signal output sampling rate.

[0134] Subsequentemente, detalhes adicionais com relação ao codificador de domínio de frequência e decodificador sendo capazes de banda completa são discutidos com relação às figuras de 1A a 5C.[0134] Subsequently, additional details regarding the frequency domain encoder and decoder being full band capable are discussed with respect to Figures 1A to 5C.

[0135] A figura 1a ilustra um aparelho para codificação de um sinal de áudio 99. O sinal de áudio 99 é inserido em um conversor de espectro de tempo 100 para conversão de um sinal de áudio tendo uma taxa de amostragem em uma representação espectral 101 emitida pelo conversor de espectro de tempo. O espectro 101 é inserido em um analisador espectral 102 para análise da representação espectral 101. O analisador espectral 101 é configurado para determinação de um primeiro conjunto de partes espectrais primárias 103 a ser codificado com uma primeira resolução espectral e um segundo conjunto diferente de partes espectrais secundárias 105 a ser codificado com uma segunda resolução espectral. A segunda resolução espectral é menor do que a primeira resolução espectral. O segundo conjunto de partes espectrais secundárias 105 é inserido em uma calculadora de parâmetro ou codificador paramétrico 104 para cálculo da informação do envelope espectral tendo a segunda resolução espectral. Além disso, um codificador de áudio de domínio espectral 106 é fornecido para geração de uma primeira representação codificada 107 do primeiro conjunto de partes espectrais primárias tendo a primeira resolução espectral. Além disso, a calculadora de parâmetro/codificador paramétrico 104 é configurado para geração de uma segunda representação codificada 109 do segundo conjunto de partes espectrais secundárias. A primeira representação codificada 107 e a segunda representação codificada 109 são inseridas em um multiplexador do fluxo de bits ou modulador do fluxo de bits 108 e o bloco 108 finalmente emite o sinal de áudio codificado para transmissão ou armazenamento em um dispositivo de armazenamento.[0135] Figure 1a illustrates an apparatus for encoding an audio signal 99. The audio signal 99 is input into a time spectrum converter 100 for converting an audio signal having a sampling rate into a spectral representation 101 emitted by the time spectrum converter. The spectrum 101 is input into a spectral analyzer 102 for analysis of the spectral representation 101. The spectral analyzer 101 is configured to determine a first set of primary spectral parts 103 to be encoded with a first spectral resolution and a second different set of spectral parts secondary 105 to be encoded with a second spectral resolution. The second spectral resolution is lower than the first spectral resolution. The second set of secondary spectral parts 105 is input into a parameter calculator or parametric encoder 104 for calculating spectral envelope information having the second spectral resolution. Furthermore, a spectral domain audio encoder 106 is provided for generating a first encoded representation 107 of the first set of primary spectral parts having the first spectral resolution. Furthermore, the parameter calculator/parametric encoder 104 is configured to generate a second encoded representation 109 of the second set of secondary spectral parts. The first coded representation 107 and the second coded representation 109 are input into a bitstream multiplexer or bitstream modulator 108 and the block 108 finally outputs the coded audio signal for transmission or storage in a storage device.

[0136] Tipicamente, uma primeira parte espectral como 306 da figura 3a será envolvida por duas partes espectrais secundárias como 307a, 307b. Este não é o caso em HE-AAC, onde a faixa de frequência do codificador central é limitada por banda.[0136] Typically, a first spectral part such as 306 of figure 3a will be surrounded by two secondary spectral parts such as 307a, 307b. This is not the case in HE-AAC, where the frequency range of the central encoder is band limited.

[0137] A figura 1b ilustra um decodificador que combina com o codificador da figura 1a. A primeira representação codificada 107 é inserida em um decodificador de domínio espectral de áudio 112 para geração de uma primeira representação decodificada de um primeiro conjunto de partes espectrais primárias, a representação decodificada tendo uma primeira resolução espectral. Além disso, a segunda representação codificada 109 é inserida em um decodificador paramétrico 114 para geração de uma segunda representação decodificada de um segundo conjunto de partes espectrais secundárias tendo uma segunda resolução espectral sendo menor do que a primeira resolução espectral.[0137] Figure 1b illustrates a decoder that matches the encoder of figure 1a. The first encoded representation 107 is input to an audio spectral domain decoder 112 for generating a first decoded representation of a first set of primary spectral parts, the decoded representation having a first spectral resolution. Furthermore, the second encoded representation 109 is input to a parametric decoder 114 for generating a second decoded representation of a second set of secondary spectral parts having a second spectral resolution being lower than the first spectral resolution.

[0138] O decodificador compreende, ainda, um regenerador de frequência 116 para regeneração de uma segunda parte espectral reconstruída, tendo a primeira resolução espectral utilizando uma primeira parte espectral. O regenerador de frequência 116 realiza uma operação de enchimento de porção, ou seja, utiliza uma porção ou parte do primeiro conjunto de partes espectrais primárias e copia este primeiro conjunto de partes espectrais primárias na faixa de reconstrução ou na banda de reconstrução tendo a segunda parte espectral e tipicamente realiza a modulação do envelope espectral ou outra operação, conforme indicado pela segunda representação decodificada emitida pelo decodificador paramétrico 114, ou seja, utilizando a informação sobre o segundo conjunto de partes espectrais secundárias. O primeiro conjunto de partes espectrais primárias decodificadas e o segundo conjunto de partes espectrais reconstruídas, conforme indicado na saída do regenerador de frequência 116 na linha 117, são inseridos em um conversor de espectro-tempo 118 configurado para conversão da primeira representação decodificada e da segunda parte espectral reconstruída em uma representação de tempo 119, a representação de tempo tendo uma certa alta taxa de amostragem.[0138] The decoder further comprises a frequency regenerator 116 for regenerating a second reconstructed spectral part, having the first spectral resolution using a first spectral part. The frequency regenerator 116 performs a portion filling operation, that is, it uses a portion or part of the first set of primary spectral parts and copies this first set of primary spectral parts into the reconstruction band or into the reconstruction band having the second part spectral and typically performs spectral envelope modulation or other operation as indicated by the second decoded representation output by parametric decoder 114, i.e., using information about the second set of secondary spectral parts. The first set of decoded primary spectral parts and the second set of reconstructed spectral parts, as indicated in the output of the frequency regenerator 116 at line 117, are input into a spectrum-time converter 118 configured for conversion of the first decoded representation and the second spectral part reconstructed into a time representation 119, the time representation having a certain high sampling rate.

[0139] A figura 2b ilustra uma implementação do codificador da figura 1a. Um sinal de áudio de entrada 99 é inserido em um banco de filtro de análise 220 correspondente ao conversor de espectro de tempo 100 da figura 1a. Então, uma operação da modulação de ruído temporal é realizada no bloco TNS 222. Portanto, a entrada ao analisador espectral 102 da figura 1a correspondente a uma máscara tonal do bloco 226 da figura 2b pode ser valores espectrais completos, quando a operação de modulação de ruído temporal/ modulação de porção temporal não é aplicada ou pode ser valores residuais espectrais, quando a operação de TNS, conforme ilustrado na figura 2b, bloco 222 for aplicada. Para os sinais de dois canais ou sinal multicanais, uma codificação de canal por junção 228 pode adicionalmente ser realizada, de modo que o codificador de domínio espectral 106 da figura 1a possa compreender o bloco 228 da codificação de canal por junção. Além disso, um codificador por entropia 232 para realizar a compressão de dados sem perda é fornecido sendo também uma parte do codificador de domínio espectral 106 da figura 1a.[0139] Figure 2b illustrates an implementation of the encoder of Figure 1a. An input audio signal 99 is input into an analysis filter bank 220 corresponding to the time spectrum converter 100 of Figure 1a. Then, a temporal noise modulation operation is performed in the TNS block 222. Therefore, the input to the spectral analyzer 102 of Fig. temporal noise/time portion modulation is not applied or may be spectral residual values, when the TNS operation as illustrated in Figure 2b, block 222 is applied. For two-channel signals or multi-channel signal, a splice channel coding 228 can additionally be performed, so that the spectral domain encoder 106 of Figure 1a can comprise the splice channel coding block 228. Furthermore, an entropy encoder 232 for performing lossless data compression is provided and is also a part of the spectral domain encoder 106 of Figure 1a.

[0140] O analisador espectral/máscara tonal 226 separa a saída de TNS do bloco 222 na banda central e nos componentes tonais correspondentes ao primeiro conjunto de partes espectrais primárias 103 e nos componentes residuais correspondentes ao segundo conjunto de partes espectrais secundárias 105 da figura 1a. O bloco 224 indicado como codificação de extração do parâmetro IGF corresponde ao codificador paramétrico 104 da figura 1a e o multiplexador de fluxo de bits 230 corresponde ao multiplexador de fluxo de bits 108 da figura 1a.[0140] The spectral analyzer/tonal mask 226 separates the TNS output of the block 222 into the central band and the tonal components corresponding to the first set of primary spectral parts 103 and the residual components corresponding to the second set of secondary spectral parts 105 of Figure 1a . The block 224 indicated as the IGF parameter extraction coding corresponds to the parametric encoder 104 of Figure 1a and the bitstream multiplexer 230 corresponds to the bitstream multiplexer 108 of Figure 1a.

[0141] Preferivelmente, o banco de filtro de análise 222 é implementado como uma MDCT (banco de filtro da transformada de cosseno discreta modificada) e a MDCT é utilizada para transformar o sinal 99 em um domínio de tempo- frequência com a transformada de cosseno discreta modificada que age como a ferramenta de análise de frequência.[0141] Preferably, the analysis filter bank 222 is implemented as an MDCT (modified discrete cosine transform filter bank) and the MDCT is used to transform the signal 99 into a time-frequency domain with the cosine transform modified discrete module that acts as the frequency analysis tool.

[0142] O analisador espectral 226 preferivelmente aplica uma máscara de tonalidade. Esse estágio de estimativa de máscara de tonalidade é utilizado para separar os componentes tonais dos componentes do tipo ruído no sinal. Isso possibilita que o codificador central 228 codifique todos os componentes tonais com um módulo físico-acústico. O estágio de estimativa da máscara de tonalidade pode ser implementado em várias formas diferentes e é preferivelmente similar em sua funcionalidade ao estágio de estimativa da faixa sinusoidal utilizado na modelagem do seno e do ruído para codificação da fala/do áudio [8, 9] ou um codificador de áudio com base no modelo HILN descrito em [10]. Preferivelmente, uma implementação é utilizada sendo fácil de implementar sem a necessidade de manter as trajetórias de inicialização- finalização, mas qualquer outro detector de tonalidade ou ruído pode ser utilizado também.[0142] The spectral analyzer 226 preferably applies a tone mask. This tone mask estimation stage is used to separate the tonal components from the noise-like components in the signal. This enables the central encoder 228 to encode all tonal components with a physical-acoustic module. The pitch mask estimation stage can be implemented in several different forms and is preferably similar in functionality to the sine range estimation stage used in sine and noise modeling for speech/audio coding [8, 9] or an audio encoder based on the HILN model described in [10]. Preferably, an implementation is used that is easy to implement without the need to maintain start-stop trajectories, but any other tone or noise detector can be used as well.

[0143] O módulo de IGF calcula a similaridade que existe entre uma região de origem e uma região alvo. A região alvo será representada pelo espectro a partir da região de origem. A medição da similaridade entre as regiões alvo e fonte é realizada utilizando uma abordagem de relação cruzada. A região alvo é dividida em porções de frequência não sobrepostas . Para cada porção na região alvo, as porções de origem são criadas a partir de uma frequência inicial fixa. Essas porções de origem sobrepõem-se por um fator entre 0 e 1, onde 0 significa 0% de sobreposição e 1 significa 100% de sobreposição. Cada uma dessas porções de origem está correlacionada com a porção alvo em vários atrasos para encontrar a porção de origem que melhor corresponde à porção alvo. O melhor número de porção correspondente é armazenado em , o atraso no qual ele melhor se correlaciona com o alvo é armazenado em e o sinal da correlação é armazenado em ^•.l!^N‘o;iicasto.^emmiir]líi!aí^ . . . No caso em que a correlação é altamente negativa, a porção de origem precisa ser multiplicada por -1 antes do processo de preenchimento de porção no decodificador. O módulo de IGF também cuida de não sobrescrever os componentes tonais no espectro visto que os componentes tonais são preservados utilizando a máscara de tonalidade. Um parâmetro de energia por banda é utilizado para armazenar a energia da região alvo permitindo-nos reconstruir o espectro precisamente.[0143] The IGF module calculates the similarity that exists between a source region and a target region. The target region will be represented by the spectrum from the source region. The measurement of similarity between target and source regions is performed using a cross-relationship approach. The target region is divided into non-overlapping frequency portions. For each portion in the target region, source portions are created from a fixed initial frequency. These source portions overlap by a factor between 0 and 1, where 0 means 0% overlap and 1 means 100% overlap. Each of these source portions is correlated with the target portion at various delays to find the source portion that best matches the target portion. The best matching portion number is stored in , the delay at which it best correlates with the target is stored in , and the correlation signal is stored in ^•.l!^N'o;iicasto.^emmiir]líi!aí ^ . . . In the case where the correlation is highly negative, the source portion needs to be multiplied by -1 before the portion filling process in the decoder. The IGF module also takes care not to overwrite the tonal components in the spectrum as the tonal components are preserved using the tone mask. One energy parameter per band is used to store the energy of the target region allowing us to reconstruct the spectrum precisely.

[0144] Este método tem certas vantagens sobre o SBR clássico [1] em que a grade harmônica de um sinal multitonal é preservado pelo codificador central enquanto apenas as lacunas entre os sinusoides são preenchidas com o melhor “ruído modulado” correspondente da região de origem. Outra vantagem desse sistema em comparação com a ASR (Substituição Espectral Precisa | Accurate Spectral Replacement) [2-4] é a ausência de um estágio de síntese do sinal que cria partes importantes do sinal no decodificador. Em vez disso, essa tarefa é assumida pelo codificador central, permitindo a preservação de componentes importantes do espectro. Outra vantagem do sistema proposto é a escalabilidade contínua que os recursos oferecem. Apenas utilizando e , para cada porção é chamada correspondência de granularidade bruta e pode ser utilizada para baixas taxas de bit enquanto utiliza-se a variável para cada porção nos permite combinar os espectros alvo e de origem.[0144] This method has certain advantages over classical SBR [1] in that the harmonic grid of a multitonal signal is preserved by the central encoder while only the gaps between the sinusoids are filled with the best corresponding “modulated noise” from the source region. . Another advantage of this system compared to ASR (Accurate Spectral Replacement) [2-4] is the absence of a signal synthesis stage that creates important parts of the signal in the decoder. Instead, this task is taken over by the central encoder, allowing the preservation of important components of the spectrum. Another advantage of the proposed system is the continuous scalability that the resources offer. Just using and , for each portion is called coarse-grained matching and can be used for low bit rates while using the variable for each portion allows us to match the target and source spectra.

[0145] Além disso, uma técnica de estabilização de escolha é proposta removendo as perturbações de domínio de frequência como vibração e ruído musical.[0145] Furthermore, a pick stabilization technique is proposed by removing frequency domain disturbances such as vibration and musical noise.

[0146] No caso de pares de canal estéreo, um processamento estéreo de junção adicional é aplicado. Isso é necessário, porque por uma certa faixa de destino a faixa o sinal pode ser uma fonte sonora altamente dispersa e correlacionada. No caso de as regiões de origem escolhidas para essa região particular não estarem bem correlacionadas, embora as energias sejam combinadas para as regiões de destino, a imagem espacial pode sofrer devido às regiões de origem não correlacionadas. O codificador analisa cada banda de energia da região de destino, tipicamente realizando uma correlação cruzada dos valores espectrais e ser um certo limite for excedido, define um indicador de junção para essa banda de energia. No decodificador, as bandas de energia do canal direita e esquerda são tratadas individualmente se esse indicador estéreo de junção não for definido. No caso de indicador estéreo de junção ser definido, ambas as energias e a reparação são realizadas no domínio estéreo conjunto. A informação estéreo de junção para as regiões de IGF é sinalizada similar à informação estéreo de junção para a codificação central, incluindo um indicador indicando em caso de previsão da direção da previsão ser de downmix para residual ou vice-versa.[0146] In the case of stereo channel pairs, additional stereo junction processing is applied. This is necessary because over a certain target range the signal can be a highly dispersed and correlated sound source. In case the source regions chosen for that particular region are not well correlated, although the energies are matched for the target regions, the spatial image may suffer due to the uncorrelated source regions. The encoder analyzes each energy band of the target region, typically cross-correlating the spectral values and if a certain threshold is exceeded, sets a junction indicator for that energy band. In the decoder, the right and left channel power bands are treated individually if this stereo junction indicator is not set. In case junction stereo indicator is set, both power and repair are performed in the joint stereo domain. The junction stereo information for the IGF regions is signaled similar to the junction stereo information for the core coding, including an indicator indicating in case of prediction the direction of the prediction to be from downmix to residual or vice versa.

[0147] As energias podem ser calculadas a partir das energias transmitidas no domínio L/R. [0147] The energies can be calculated from the energies transmitted in the L/R domain.

[0148] sendo o índice de frequência no domínio de transformada.[0148] being the frequency index in the transform domain.

[0149] Outra solução é calcular e transmitir as energias diretamente no domínio estéreo conjunto para bandas onde o estéreo conjunto está ativo, assim nenhuma transformação de energia adicional é necessária no lado do decodificador.[0149] Another solution is to calculate and transmit the energies directly in the joint stereo domain for bands where joint stereo is active, so no additional energy transformation is required on the decoder side.

[0150] As porções de origem são sempre criadas de acordo com a Matriz Mediana/Lateral: [0150] The source portions are always created according to the Median/Lateral Matrix:

[0151] Ajuste de energia: [0151] Power adjustment:

[0152] Ligação estéreo -> Transformação de LR:[0152] Stereo connection -> LR transformation:

[0153] Se nenhum parâmetro de predição adicional for codificado: [0153] If no additional prediction parameters are encoded:

[0154] Se nenhum parâmetro de previsão adicional for codificado e se a direção sinalizada for do meio ao lado: [0154] If no additional prediction parameters are encoded and if the signaled direction is from middle to side:

[0155] Se a direção sinalizada for do lado ao meio: [0155] If the direction indicated is from the side to the middle:

[0156] Este processamento garante que a partir das porções utilizadas para regeneração de regiões de destino altamente correlacionadas e regiões de destino deslocadas, os canais esquerdo e direito resultantes ainda representam uma fonte sonora correlacionada e deslocada mesmo se as regiões de origem não estiverem correlacionadas, preservando a imagem estéreo para tais regiões.[0156] This processing ensures that from the portions used for regeneration of highly correlated target regions and displaced target regions, the resulting left and right channels still represent a correlated and displaced sound source even if the source regions are uncorrelated. preserving the stereo image for such regions.

[0157] Em outras palavras, no fluxo de bits, indicadores de conjunto estéreo são transmitidos indicando se L/R ou M/S como um exemplo para a codificação do conjunto estéreo geral deve ser utilizada. No decodificador, primeiro, o sinal central é decodificado, conforme indicado pelos indicadores de conjunto estéreo para as bandas centrais. Segundo, o sinal central é armazenado na representação de ambos L/R e M/S. Para o preenchimento da porção de IGF, a representação da porção fonte é escolhida para ajustar a representação da porção alvo conforme indicado pela informação estéreo de junção para as bandas de IGF.[0157] In other words, in the bitstream, stereo set indicators are transmitted indicating whether L/R or M/S as an example for overall stereo set coding should be used. In the decoder, first, the center signal is decoded, as indicated by the stereo set indicators for the center bands. Second, the central signal is stored in the representation of both L/R and M/S. For filling the IGF portion, the representation of the source portion is chosen to fit the representation of the target portion as indicated by the stereo junction information for the IGF bands.

[0158] A Modulação de Ruído Temporal (TNS) é uma técnica padrão e parte da AAC [11 - 13]. A TNS pode ser considerada como uma extensão do esquema básico de um codificador de perceptual, inserindo uma etapa de processamento opcional entre o banco de filtro e o estágio de quantização. A principal tarefa do módulo de TNS é esconder o ruído de quantização produzido na região de mascaramento temporal de sinais similares transientes e, assim, leva ao um esquema de codificação mais eficiente. Primeiro, a TNS calcula um conjunto de coeficientes de previsão utilizando “previsão de avanço” no domínio de transformada, por exemplo, MDCT. Estes coeficientes são então utilizados para nivelamento do envelope temporal do sinal. Como a quantização afeta o espectro filtrado por TNS, ainda o ruído de quantização é temporariamente nivelado. Por meio da aplicação da filtragem de TNS inversa no lado do decodificador, o ruído de quantização é modulado de acordo com o envelope temporal do filtro de TNS e, portanto, o ruído de quantização fica marcado pelo transiente.[0158] Temporal Noise Modulation (TNS) is a standard technique and part of AAC [11 - 13]. TNS can be considered as an extension of the basic scheme of a perceptual encoder, inserting an optional processing step between the filter bank and the quantization stage. The main task of the TNS module is to hide the quantization noise produced in the temporal masking region from similar transient signals and thus leads to a more efficient coding scheme. First, TNS calculates a set of prediction coefficients using “forward prediction” in the transform domain, for example, MDCT. These coefficients are then used to flatten the temporal envelope of the signal. Because quantization affects the TNS-filtered spectrum, the quantization noise is temporarily flattened. By applying inverse TNS filtering on the decoder side, the quantization noise is modulated according to the temporal envelope of the TNS filter, and therefore the quantization noise is marked by the transient.

[0159] IGF se baseia em uma representação de MDCT. Para a codificação eficiente, preferivelmente blocos longos de aproximadamente 20 ms devem ser utilizados. Se o sinal dentro de tal bloco longo conter transientes, pré- e pós-ecos audíveis ocorrem nas bandas espectrais de IGF devido ao preenchimento da porção. A figura 7c mostra um efeito típico de pré-eco antes do início transiente devido ao IGF. No lado esquerdo, o espectrograma do sinal original é mostrado e no lado direito o espectrograma do sinal estendido da largura de banda sem filtragem por TNS é mostrado.[0159] IGF is based on a representation of MDCT. For efficient encoding, preferably long blocks of approximately 20 ms should be used. If the signal within such a long block contains transients, audible pre- and post-echoes occur in the IGF spectral bands due to the filling of the portion. Figure 7c shows a typical pre-echo effect before the transient onset due to IGF. On the left side, the spectrogram of the original signal is shown and on the right side the spectrogram of the bandwidth extended signal without TNS filtering is shown.

[0160] Este efeito de pré-eco é reduzido, utilizando a TNS no contexto de IGF. Aqui, a TNS é utilizada como uma ferramenta de modulação de porção temporal (TTS), pois a regeneração espectral no decodificador é realizada no sinal residual de TNS. Os coeficientes de TTS necessários de previsão são calculados e aplicados utilizando o espectro completo no lado do codificador, como habitualmente. As frequências de início e parada de TNS/TTS não são afetadas pela frequência inicial de IGF da ferramenta de IGF. Em comparação com a TNS de legado, a frequência de parada de TTS é aumentada para a frequência de parada da ferramenta de IGF, que é mais alta do que . No lado do decodificador, os coeficientes de TNS/TTS são aplicados no espectro completo novamente, ou seja, o espectro central mais o espectro referido mais os componentes tonais do mapa de tonalidade (vide figura 7e). A aplicação de TTS é necessária para formar o envelope temporal do espectro referido para combinar com o envelope do sinal original novamente. Assim os pré-ecos mostrados são reduzidos. Além disso, ainda modula o ruído de quantização no sinal abaixo como habitualmente com TNS.[0160] This pre-echo effect is reduced using TNS in the context of IGF. Here, TNS is used as a time portion modulation (TTS) tool, as spectral regeneration in the decoder is performed on the residual TNS signal. The necessary prediction TTS coefficients are calculated and applied using the full spectrum on the encoder side as usual. The TNS/TTS start and stop frequencies are not affected by the IGF start frequency of the IGF tool. Compared to legacy TNS, the stop frequency of TTS is increased to the stop frequency of the IGF tool, which is higher than . On the decoder side, the TNS/TTS coefficients are applied to the complete spectrum again, i.e., the central spectrum plus the referred spectrum plus the tonal components of the tone map (see figure 7e). The application of TTS is necessary to form the temporal envelope of the said spectrum to match the envelope of the original signal again. Thus the pre-echoes shown are reduced. Furthermore, it still modulates the quantization noise in the signal below as usual with TNS.

[0161] Nos decodificadores de legado, a reparação espectral em um sinal de áudio corrompe a correlação espectral nas bordas de reparação e, assim, prejudica o envelope temporal do sinal de áudio introduzindo a dispersão. Assim, outro benefício da realização do preenchimento da porção de IGF no sinal residual é que, após a aplicação do filtro de modulação, as bordas da porção são continuamente correlacionadas, resultando em uma reprodução temporal mais fiel do sinal.[0161] In legacy decoders, spectral repair in an audio signal corrupts the spectral correlation at the repair edges and thus impairs the temporal envelope of the audio signal by introducing scatter. Thus, another benefit of filling the IGF portion in the residual signal is that, after applying the modulation filter, the edges of the portion are continuously correlated, resulting in a more faithful temporal reproduction of the signal.

[0162] Em um codificador inventiva, o espectro tendo passado pela filtragem de TNS/TTS, o processamento da máscara de tonalidade e a estimativa do parâmetro de IGF é destituída de qualquer sinal acima da frequência inicial de IGF exceto para os componentes tonais. Este espectro esparso é agora codificado pelo codificador central utilizando os princípios de codificação aritmética e de previsão. Esses componentes codificados junto com os bits de sinalização forma o fluxo de bits do áudio.[0162] In an inventive encoder, the spectrum having passed through TNS/TTS filtering, tone mask processing and IGF parameter estimation is devoid of any signal above the initial IGF frequency except for the tonal components. This sparse spectrum is now encoded by the central encoder using arithmetic and predictive coding principles. These encoded components together with the signaling bits form the audio bit stream.

[0163] A figura 2a ilustra a implementação correspondente do decodificador. O fluxo de bits na figura 2a correspondente ao sinal de áudio codificado é inserido no desmultiplexador/decodificador que seria conectado, com relação à figura 1b, aos blocos 112 e 114. O desmultiplexador de fluxo de bits separa o sinal de entrada de áudio na primeira representação codificada 107 da figura 1b e na segunda representação codificada 109 da figura 1b. A primeira representação codificada tendo o primeiro conjunto de partes espectrais primárias é inserida no bloco de decodificação do canal conjunto 204 correspondente ao decodificador de domínio espectral 112 da figura 1b. A segunda representação codificada é inserida no decodificador paramétrico 114 não ilustrado na figura 2a e, então, inserida ao bloco de IGF 202 correspondente ao regenerador de frequência 116 da figura 1b. O primeiro conjunto de partes espectrais primárias necessário para a regeneração de frequência é inserido ao bloco de IGF 202 através da linha 203. Além disso, subsequente à decodificação do canal conjunto 204 a decodificação central específica é aplicada no bloco de máscara tonal 206 de modo que a saída da máscara tonal 206 corresponda à saída do decodificador de domínio espectral 112. Então, uma combinação pelo combinador 208 é realizada, ou seja, uma construção de estrutura onde a saída do combinador 208 agora tem o espectro de faixa completa, mas ainda no domínio filtrado por TNS/TTS. Então, no bloco 210, uma operação inversa de TNS/TTS é realizada utilizando a informação do filtro de TNS/TTS fornecida através da linha 109, ou seja, a informação lateral de TTS é preferivelmente incluída na primeira representação codificada gerada pelo codificador de domínio espectral 106 que pode, por exemplo, ser um codificador direto central de AAC ou USAC, ou pode ser também incluído na segunda representação codificada. Na saída do bloco 210, um espectro completo até a frequência máxima ser fornecida sendo a frequência de faixa completa definida pela taxa de amostragem do sinal de entrada original. Então, uma conversão de espectro/tempo é realizada no banco de filtro de síntese 212 para finalmente obter o sinal de áudio de saída.[0163] Figure 2a illustrates the corresponding implementation of the decoder. The bitstream in Figure 2a corresponding to the encoded audio signal is input into the demultiplexer/decoder which would be connected, with respect to Figure 1b, to blocks 112 and 114. The bitstream demultiplexer separates the audio input signal into the first coded representation 107 of figure 1b and in the second coded representation 109 of figure 1b. The first coded representation having the first set of primary spectral parts is inserted into the joint channel decoding block 204 corresponding to the spectral domain decoder 112 of Figure 1b. The second coded representation is inserted into the parametric decoder 114 not illustrated in Figure 2a and then inserted into the IGF block 202 corresponding to the frequency regenerator 116 of Figure 1b. The first set of primary spectral parts required for frequency regeneration is inserted into the IGF block 202 via line 203. Furthermore, subsequent to decoding the joint channel 204 specific core decoding is applied to the tonal mask block 206 so that the output of the tonal mask 206 corresponds to the output of the spectral domain decoder 112. Then, a combination by the combiner 208 is performed, i.e., a structure construction where the output of the combiner 208 now has the full range spectrum, but still in the domain filtered by TNS/TTS. Then, in block 210, an inverse TNS/TTS operation is performed using the TNS/TTS filter information provided via line 109, i.e., the TTS side information is preferably included in the first encoded representation generated by the domain encoder. spectral 106 which may, for example, be a central forward encoder of AAC or USAC, or may also be included in the second encoded representation. At the output of block 210, a full spectrum up to maximum frequency is provided with the full range frequency being defined by the sampling rate of the original input signal. Then, a spectrum/time conversion is performed in the synthesis filter bank 212 to finally obtain the output audio signal.

[0164] A figura 3a ilustra uma representação esquemática do espectro. O espectro é subdividido em bandas do fator de escala SCB onde há sete bandas do fator de escala SCB1 a SCB7 no exemplo ilustrado da figura 3a. As bandas do fator de escala podem ser bandas do fator de escala AAC que são definidas no padrão AAC e têm uma largura de banda crescente em frequências superiores, conforme ilustrado na figura 3a esquematicamente. Prefere-se realizar o preenchimento de lacuna inteligente não primeiro momento do espectro, ou seja, em frequências baixas, mas iniciar a operação de IGF em uma frequência inicial de IGF ilustrado em 309. Portanto, a banda de frequência central estende-se da frequência mais baixa para a frequência inicial de IGF. Acima da frequência inicial de IGF, a análise do espectro é aplicada para separar os componentes espectrais de alta resolução 304, 305, 306, 307 (o primeiro conjunto de partes espectrais primárias) dos componentes de baixa resolução representados pelo segundo conjunto de partes espectrais secundárias. A figura 3a ilustra um espectro que é, de forma exemplar, inserido ao codificador de domínio espectral 106 ou ao codificador de canal conjunto 228, ou seja, o codificador central opera na faixa completa, mas codifica uma quantidade significativa de valores espectrais de zero, ou seja, esses valores espectrais de zero são quantizados a zero ou são definidos a zero antes da quantização ou subsequente à quantização. De qualquer forma, o codificador central opera em faixa completa, ou seja, como se o espectro fosse conforme ilustrado, ou seja, o decodificador central não deve ser necessariamente consciente de qualquer preenchimento de lacuna inteligente ou codificação do segundo conjunto de partes espectrais secundárias com uma resolução espectral inferior.[0164] Figure 3a illustrates a schematic representation of the spectrum. The spectrum is subdivided into SCB scale factor bands where there are seven scale factor bands SCB1 to SCB7 in the example illustrated in figure 3a. The scale factor bands can be AAC scale factor bands that are defined in the AAC standard and have increasing bandwidth at higher frequencies, as illustrated in Figure 3a schematically. It is preferred to perform smart gap filling at the first point in the spectrum, i.e., at low frequencies, but to start the IGF operation at an IGF starting frequency illustrated in 309. Therefore, the center frequency band extends from the frequency lowest for the initial IGF frequency. Above the IGF starting frequency, spectrum analysis is applied to separate the high-resolution spectral components 304, 305, 306, 307 (the first set of primary spectral parts) from the low-resolution components represented by the second set of secondary spectral parts. . Figure 3a illustrates a spectrum that is exemplarily input to the spectral domain encoder 106 or the joint channel encoder 228, i.e., the central encoder operates in the full range, but encodes a significant amount of zero spectral values. that is, these zero spectral values are quantized to zero or are set to zero prior to quantization or subsequent to quantization. In any case, the central encoder operates in full range, i.e., as if the spectrum were as illustrated, i.e., the central decoder must not necessarily be aware of any intelligent gap filling or encoding of the second set of secondary spectral parts with lower spectral resolution.

[0165] Preferivelmente, a resolução alta é definida por uma codificação em linha de linhas espectrais como linhas de MDCT, enquanto a segunda resolução ou a baixa resolução é definida, por exemplo, pelo cálculo de apenas um único valor espectral por banda do fato de escala, onde uma banda do fator de escala abrange várias linhas de frequência. Assim, a segunda baixa resolução é, com relação a sua resolução espectral, muito menor do que a primeira ou a resolução alta definida pela codificação em linha tipicamente aplicada pelo codificador central como um codificador central de AAC ou USAC.[0165] Preferably, the high resolution is defined by an in-line encoding of spectral lines as MDCT lines, while the second resolution or low resolution is defined, for example, by calculating only a single spectral value per band from the fact that scale, where a scale factor band spans several frequency lines. Thus, the second low resolution is, with respect to its spectral resolution, much smaller than the first or high resolution defined by the in-line coding typically applied by the central encoder such as an AAC or USAC central encoder.

[0166] Com referência ao fator de escala ou cálculo de energia, a situação é ilustrada na figura 3b. Devido ao fato que o codificador é um codificador central e devido ao fato de que pode, mas não necessariamente tem que haver, componentes do primeiro conjunto de partes espectrais em cada banda, o codificador central calcula um fator de escala para cada banda não apenas na faixa central abaixo da frequência inicial de IGF 309, mas também acima da frequência inicial de IGF até a frequência máxima que é pequena ou igual à metade da frequência de amostragem, ou seja, fs/2. Assim, as partes codificadas tonais 302, 304, 305, 306, 307 da figura 3a e, nessa aplicação junto com os fatores de escala SCB1 a SCB7 correspondem aos dados espectrais de alta resolução. Os dados espectrais de baixa resolução são calculados iniciando da frequência inicial de IGF e correspondem aos valores da informação de energia E1, E2, E3, E4, que são transmitidos juntos com os fatores de escala SF4 a SF7.[0166] With reference to the scale factor or energy calculation, the situation is illustrated in figure 3b. Because the encoder is a central encoder and because there may, but does not necessarily have to, be components of the first set of spectral parts in each band, the central encoder calculates a scale factor for each band not only in the central band below the starting frequency of IGF 309, but also above the starting frequency of IGF up to the maximum frequency that is small or equal to half the sampling frequency, i.e. fs/2. Thus, the tonal coded parts 302, 304, 305, 306, 307 of figure 3a and in this application together with the scale factors SCB1 to SCB7 correspond to high-resolution spectral data. The low-resolution spectral data is calculated starting from the IGF starting frequency and corresponds to the energy information values E1, E2, E3, E4, which are transmitted together with the scaling factors SF4 to SF7.

[0167] Particularmente, quando o codificador central está sob uma condição de baixa taxa de bit, uma operação de preenchimento de ruído adicional na banda central, ou seja, menor na frequência do que na frequência inicial de IGF, ou seja, em bandas do fator de escala SCB1 a SCB3 pode ser aplicada ainda. No preenchimento de ruído, existem várias linhas espectrais adjacentes que foram quantizadas a zero. No lado do decodificador, esses valores espectrais quantizados a zero são ressintetizados e os valores espectrais ressintetizados são ajustados em sua magnitude utilizando uma energia de preenchimento de ruído como NF2 ilustrado em 308 na figura 3b. A energia de preenchimento de ruído, que pode ser dada em termos absolutos ou em termos relativos com relação ao fator de escala como em USAC corresponde à energia do conjunto de valores espectrais quantizados a zero. Essas linhas espectrais de preenchimento de ruído também podem ser consideradas como um terceiro conjunto de partes espectrais terciárias que são referidas pela síntese de preenchimento de ruído direta sem qualquer operação de IGF dependendo da regeneração de frequência utilizando as porções de frequência de outras frequências para reconstrução das porções da frequência utilizando valores espectrais de uma faixa de origem e a informação de energia E1, E2, E3, E4.[0167] Particularly, when the central encoder is under a low bit rate condition, an additional noise filling operation in the center band, i.e., lower in frequency than the IGF initial frequency, i.e., in bands of the scaling factor SCB1 to SCB3 can be further applied. In noise filling, there are several adjacent spectral lines that have been quantized to zero. On the decoder side, these zero-quantized spectral values are resynthesized and the resynthesized spectral values are adjusted in magnitude using a noise filling energy such as NF2 illustrated at 308 in Figure 3b. The noise filling energy, which can be given in absolute terms or in relative terms with respect to the scale factor as in USAC corresponds to the energy of the set of spectral values quantized to zero. These noise filling spectral lines can also be considered as a third set of tertiary spectral parts that are referred to by direct noise filling synthesis without any IGF operation depending on frequency regeneration utilizing the frequency portions of other frequencies for reconstruction of the portions of the frequency using spectral values from a source band and the energy information E1, E2, E3, E4.

[0168] Preferivelmente, as bandas, para as quais a informação de energia é calculada coincidem com as bandas do fator de escala. Em outras aplicações, um agrupamento do valor da informação de energia é aplicado de modo que, por exemplo, para as bandas do fator de escala 4 e 5, apenas um único valor de informação de energia é transmitido, mas ainda nesta aplicação, as bordas das bandas de reconstrução agrupadas coincidem com as bordas das bandas do fator de escala. Se diferentes operações de banda são aplicadas, então certos recálculos ou cálculos de sincronização podem ser aplicados, e isso pode fazer sentido dependendo de certa implementação.[0168] Preferably, the bands for which the energy information is calculated coincide with the scale factor bands. In other applications, a grouping of the energy information value is applied so that, for example, for scale factor bands 4 and 5, only a single energy information value is transmitted, but still in this application, the edges of the pooled reconstruction bands coincide with the edges of the scale factor bands. If different bandwidth operations are applied, then certain recalculations or synchronization calculations may be applied, and this may make sense depending on a certain implementation.

[0169] Preferivelmente, o codificador de domínio espectral 106 da figura 1a é um codificador psicoacusticamente acionado, conforme ilustrado na figura 4a. Tipicamente, como, por exemplo, ilustrado no padrão MPEG2/4 AAC ou MPEG1/2, o padrão da Camada 3, o sinal de áudio a ser codificado após ter sido transformado em faixa espectral (401 na figura 4a) é encaminhado a uma calculadora do fator de escala 400. A calculadora do fator de escala é controlada por um modelo psicoacústico que recebe, adicionalmente, o sinal de áudio a ser quantizado ou que recebe, como na Camada 3 de MPEG1/2 ou padrão de AAC para MPEG, uma representação espectral complexa do sinal de áudio. O modelo psicoacústico calcula, para cada banda do fator de escala, um fator de escala que representa o limite psicoacústico. Adicionalmente, os fatores de escala são, então, por cooperação dos circuitos de interação interno e externo bem conhecidos ou por qualquer procedimento de codificação adequado ajustado de modo que certas condições da taxa de bit sejam atendidas. Então, os valores espectrais a serem quantizados por um lado e os fatores de escala calculados por outro lado são inseridos em um processador quantizador 404. Na operação direta do codificador de áudio, os valores espectrais a serem quantizados são ponderados pelos fatores de escala e, os valores espectrais ponderados são, então, inseridos em um quantizador fixado tipicamente tendo uma funcionalidade de compressão em faixas superiores de amplitude. Então, na saída do processador quantizador existe os índices de quantização que são, então, encaminhados em um codificador por entropia tipicamente tendo codificação específica e muito eficiente para um conjunto de índices de quantização por zero para valores de frequência adjacentes ou, como também chamado na técnica, uma “execução” de valores de zero.[0169] Preferably, the spectral domain encoder 106 of Figure 1a is a psychoacoustically driven encoder, as illustrated in Figure 4a. Typically, as, for example, illustrated in the MPEG2/4 AAC or MPEG1/2 Layer 3 standard, the audio signal to be encoded after being transformed into a spectral range (401 in figure 4a) is routed to a calculator scale factor 400. The scale factor calculator is controlled by a psychoacoustic model that additionally receives the audio signal to be quantized or that receives, as in Layer 3 of MPEG1/2 or AAC standard for MPEG, a complex spectral representation of the audio signal. The psychoacoustic model calculates, for each scale factor band, a scale factor that represents the psychoacoustic limit. Additionally, the scaling factors are then, by cooperation of well-known internal and external interaction circuits or by any suitable coding procedure adjusted so that certain bit rate conditions are met. Then, the spectral values to be quantized on the one hand and the calculated scale factors on the other hand are input into a quantizing processor 404. In direct operation of the audio encoder, the spectral values to be quantized are weighted by the scale factors and, the weighted spectral values are then input into a fixed quantizer typically having compression functionality in higher amplitude ranges. So, at the output of the quantizer processor there are quantization indices that are then forwarded into an entropy encoder typically having specific and very efficient coding for a set of zero quantization indices for adjacent frequency values or, as also called in technique, a “run” of zero values.

[0170] No codificador de áudio da figura 1a, entretanto, o processador quantizador tipicamente recebe informação sobre as partes espectrais secundárias do analisador espectral. Assim, o processador quantizador 404 certifica-se que, na saída do processador quantizador 404, as partes espectrais secundárias, conforme identificado pelo analisador espectral 102 são zero ou têm uma representação reconhecida por um codificador ou um decodificador como uma representação de zero que pode ser muito eficientemente codificada, especificamente quando existe “execuções” de valores zero no espectro.[0170] In the audio encoder of Figure 1a, however, the quantizer processor typically receives information about the secondary spectral parts from the spectral analyzer. Thus, the quantizer processor 404 makes sure that, at the output of the quantizer processor 404, the secondary spectral parts as identified by the spectral analyzer 102 are zero or have a representation recognized by an encoder or a decoder as a representation of zero that can be very efficiently encoded, specifically when there are “runs” of zero values in the spectrum.

[0171] A figura 4b ilustra uma implementação do processador quantizador. Os valores espectrais de MDCT podem ser inseridos em uma definição a zero no bloco 410. Então, as partes espectrais secundárias já são definidas a zero antes de uma ponderação pelos fatores de escala no bloco 412 ser realizada. Em uma implementação adicional, o bloco 410 não é fornecido, mas a cooperação de definição a zero é realizada no bloco 418 subsequente ao bloco de ponderação 412. Ainda em outra implementação adicional, a operação de definição a zero também pode ser realizada em um bloco de definição a zero 422 subsequente a uma quantização no bloco do quantizador 420. Nessa implementação, os blocos 410 e 418 não estariam presentes. De modo geral, pelo menos um dos blocos 410, 418, 422 é fornecido dependendo da implementação específica.[0171] Figure 4b illustrates an implementation of the quantizer processor. The MDCT spectral values can be entered into a zero setting in block 410. Then, the secondary spectral parts are already set to zero before a weighting by the scale factors in block 412 is performed. In a further implementation, block 410 is not provided, but the zeroing operation is performed in the block 418 subsequent to the weighting block 412. In yet another additional implementation, the zeroing operation may also be performed in a block 410. zero setting 422 subsequent to a quantization in quantizer block 420. In this implementation, blocks 410 and 418 would not be present. Generally, at least one of blocks 410, 418, 422 is provided depending on the specific implementation.

[0172] Então, na saída do bloco 422, um espectro quantizado é obtido correspondente ao o que é ilustrado na figura 3a. Esse espectro quantizado é, então, inserido a um codificador por entropia como 232 na figura 2b que pode ser um codificador Huffman ou um codificador aritmético como, por exemplo, definido no padrão USAC.[0172] Then, at the output of block 422, a quantized spectrum is obtained corresponding to what is illustrated in figure 3a. This quantized spectrum is then input to an entropy encoder such as 232 in figure 2b which can be a Huffman encoder or an arithmetic encoder as, for example, defined in the USAC standard.

[0173] Os blocos de definição a zero 410, 418, 422, que são fornecidos alternativamente entre si ou paralelamente são controlados pelo analisador espectral 424. O analisador espectral preferivelmente compreende qualquer implementação de um detector de tonalidade bem conhecido ou compreende qualquer tipo diferente do detector operativo para separação de um espectro em componentes a serem codificados com uma resolução alta e componentes a serem codificados com uma baixa resolução. Outros desses algoritmos implementados no analisador espectral podem se detector de uma atividade por voz, um detector de ruído, um detector de fala ou qualquer outro detector que decide, dependendo da informação espectral ou metadados associados nas exigências de resolução para diferentes partes espectrais.[0173] The zeroing blocks 410, 418, 422, which are provided alternatively to each other or in parallel are controlled by the spectral analyzer 424. The spectral analyzer preferably comprises any implementation of a well-known hue detector or comprises any type other than operative detector for separating a spectrum into components to be encoded with a high resolution and components to be encoded with a low resolution. Other such algorithms implemented in the spectral analyzer may be a voice activity detector, a noise detector, a speech detector or any other detector that decides, depending on the spectral information or metadata associated with the resolution requirements for different spectral parts.

[0174] A figura 5a ilustra uma implementação preferida do conversor de espectro de tempo 100 da figura 1a como, por exemplo, implementado em AAC ou USAC. O conversor de espectro de tempo 100 compreende um janelador 502 controlado por um detector transiente 504. Quando o detector transiente 504 detecta um transiente, então uma transição de janelas longas para janelas curtas é sinalizada ao janelador. O janelador 502 então calcula, para blocos de sobreposição, as estruturas em janela, onde cada estrutura em janela tem tipicamente dois valores N como 2048 valores. Então, uma transformação dentro de um transformador de bloco 506 é realizada, e este transformador de bloco típica e adicionalmente fornece uma decimação, de modo que uma decimação/transformada combinada é realizada para obter uma estrutura espectral com valores N como valores espectrais de MDCT. Assim, para uma operação de janela longa, a estrutura na entrada do bloco 506 compreende dois valores N como 2048 valores e uma estrutura espectral, então, tem 1024 valores. Então, entretanto, uma comutação é realizada em blocos curtos, quando oito blocos curtos são realizados, onde cada bloco curto tem 1/8 valores do domínio de tempo em janela em comparação com uma janela longa e cada bloco espectral tem 1/8 valores espectrais em comparação com um bloco longo. Assim, quando essa decimação é combinada com 50% da operação de sobreposição do janelador, o espectro é uma versão criticamente amostrada do sinal de domínio de tempo de áudio 99.[0174] Figure 5a illustrates a preferred implementation of the time spectrum converter 100 of Figure 1a as, for example, implemented in AAC or USAC. The time spectrum converter 100 comprises a windower 502 controlled by a transient detector 504. When the transient detector 504 detects a transient, then a transition from long windows to short windows is signaled to the windower. The windower 502 then calculates, for overlay blocks, the window structures, where each window structure typically has two N values such as 2048 values. Then, a transformation within a block transformer 506 is performed, and this block transformer typically and additionally provides a decimation, so that a combined decimation/transform is performed to obtain a spectral structure with N values as MDCT spectral values. Thus, for a long window operation, the structure at the input of block 506 comprises two N values as 2048 values and a spectral structure then has 1024 values. Then, however, a switch is performed in short blocks, when eight short blocks are performed, where each short block has 1/8 windowed time domain values compared to a long window and each spectral block has 1/8 spectral values compared to a long block. Thus, when this decimation is combined with 50% windower overlap operation, the spectrum is a critically sampled version of the 99 audio time domain signal.

[0175] Subsequentemente, referência é feita à figura 5b que ilustra uma implementação específica do regenerador de frequência 116 e o conversor de espectro-tempo 118 da figura 1b, ou da operação combinada de blocos 208, 212 da figura 2a. Na figura 5b, uma banda específica de reconstrução é considerada como banda do fator de escala 6 da figura 3a. A primeira parte espectral nessa banda de reconstrução, ou seja, a primeira parte espectral 306 da figura 3a é inserida no bloco criador/regulador de estrutura 510. Além disso, uma segunda parte espectral reconstruída para a banda do fator de escala 6 é, também, inserida no criador/regulador de estrutura 510. Além disso, a informação de energia como E3 da figura 3b para uma banda do fator de escala 6 é, também, inserida ao bloco 510. A segunda parte espectral reconstruída na banda de reconstrução já foi gerada pelo preenchimento de porção de frequência utilizando uma faixa de origem e a banda de reconstrução então corresponde à faixa alvo. Agora, um ajuste de energia da estrutura é realizado para, então, finalmente obter a estrutura reconstruída completa tendo os valores N como, por exemplo, obtidos na saída do combinador 208 da figura 2a. Então, no bloco 512, uma transformada/interpolação inversa do bloco é realizada para obter 248 valores do domínio de tempo para, por exemplo, os 124 valores espectrais na entrada do bloco 512, Então, uma operação do janelamento de síntese é realizada no bloco 514 que é novamente controlada por uma indicação de janela longa/janela curta transmitida no sinal de áudio codificado. Então, no bloco 516, uma operação de sobreposição/adição com um período prévio é realizada. Preferivelmente, a MDCT aplica 50% de sobreposição de modo que, para cada novo período de 2 valores N, N, os valores de domínio de tempo são finalmente emitidos. Uma sobreposição de 50% é pesadamente preferida devido ao fato que fornece amostragem crítica e um cruzamento de uma estrutura para a próxima estrutura devido à operação de sobreposição/adição no bloco 516.[0175] Subsequently, reference is made to Figure 5b which illustrates a specific implementation of the frequency regenerator 116 and the spectrum-time converter 118 of Figure 1b, or the combined operation of blocks 208, 212 of Figure 2a. In Figure 5b, a specific reconstruction band is considered as scale factor 6 band in Figure 3a. The first spectral part in this reconstruction band, i.e., the first spectral part 306 of Figure 3a is inserted into the structure creator/regulator block 510. Furthermore, a second reconstructed spectral part for the scale factor 6 band is also , inserted into structure creator/regulator 510. Furthermore, energy information such as E3 of Figure 3b for a band of scale factor 6 is also inserted into block 510. The second reconstructed spectral part in the reconstruction band has already been generated by filling a frequency portion using a source band and the reconstruction band then corresponds to the target band. Now, an energy adjustment of the structure is performed to finally obtain the complete reconstructed structure having the N values as, for example, obtained in the output of combiner 208 in figure 2a. Then, in block 512, an inverse transform/interpolation of the block is performed to obtain 248 time domain values for, for example, the 124 spectral values at the input of block 512. Then, a synthesis windowing operation is performed in the block 514 which is again controlled by a long window/short window indication transmitted in the encoded audio signal. Then, in block 516, an overlap/add operation with a preperiod is performed. Preferably, MDCT applies 50% overlap so that for each new period of 2 N, N values, time domain values are finally output. A 50% overlap is heavily preferred due to the fact that it provides critical sampling and crossover from one structure to the next structure due to the overlap/add operation in block 516.

[0176] Conforme ilustrado em 301 na figura 3a, uma operação de preenchimento de ruído pode adicionalmente ser aplicada não apenas abaixo da frequência inicial de IGF, mas também acima da frequência inicial de IGF como para a banda de reconstrução completa que coincide com a banda do fator de escala 6 da figura 3a. Então, os valores espectrais do preenchimento do ruído também podem ser inseridos no criador/regulador de estrutura 510 e o ajuste dos valores espectrais do preenchimento de ruído também pode ser aplicado dentro desse bloco ou os valores espectrais do preenchimento de ruído já podem ser ajustados utilizando a energia de preenchimento de ruído antes de ser inserida no criador/regulador de estrutura 510.[0176] As illustrated at 301 in Figure 3a, a noise filling operation can additionally be applied not only below the IGF starting frequency, but also above the IGF starting frequency as for the complete reconstruction band that coincides with the band of scale factor 6 in figure 3a. Then, the noise fill spectral values can also be entered into the structure creator/regulator 510 and the adjustment of the noise fill spectral values can also be applied within this block or the noise fill spectral values can already be adjusted using the noise filling energy before it is fed into the 510 structure creator/regulator.

[0177] Preferivelmente, uma operação de IGF, ou seja, uma operação de enchimento de porção de frequência utilizando valores espectrais de outras partes pode ser aplicada no espectro completo. Assim, uma operação de enchimento de porção espectral pode não ser apenas aplicada na banda alta acima de uma frequência inicial de IGF, mas pode ser aplicada também na banda baixa. Além disso, o preenchimento do ruído sem preenchimento de porção de frequência pode também ser aplicado não apenas abaixo da frequência inicial de IGF, mas também acima da frequência inicial de IGF. Entretanto, constatou-se que a codificação de áudio de alta qualidade e alta eficiência pode ser obtida quando a operação de preenchimento de ruído é limitada à faixa de frequência abaixo da frequência inicial de IGF e quando a operação de enchimento de porção de frequência é restrita à faixa de frequência acima da frequência inicial de IGF, conforme ilustrado na figura 3a.[0177] Preferably, an IGF operation, that is, a frequency portion filling operation using spectral values from other parts can be applied to the complete spectrum. Thus, a spectral portion filling operation can not only be applied in the high band above an initial IGF frequency, but can also be applied in the low band. Furthermore, noise filling without frequency portion filling can also be applied not only below the IGF starting frequency, but also above the IGF starting frequency. However, it has been found that high-quality and high-efficiency audio coding can be obtained when the noise filling operation is limited to the frequency range below the IGF starting frequency and when the frequency portion filling operation is restricted to the frequency range above the IGF initial frequency, as illustrated in figure 3a.

[0178] Preferivelmente, as porções alvo (TT | target tiles) (tendo frequências maiores do que a frequência inicial de IGF) são ligados às bordas da banda do fator de escala do codificador de taxa completa. As porções de origem (ST | source tiles), das quais a informação é tirada, ou seja, para frequências menores do que a frequência inicial de IGF não são ligadas pelas bordas da banda do fator de escala. O tamanho da ST deveria corresponder ao tamanho da TT associada. Isto é ilustrado utilizando o seguinte exemplo. TT [0] tem um comprimento de 10 Posições de MDCT. Isso corresponde exatamente ao comprimento de dois SCBs subsequentes (como 4 + 6). Então, toda ST possível que é correlacionada com TT [0] tem também um comprimento de 10 posições. Uma segunda porção alvo TT [1], sendo adjacente à TT [0], tem um comprimento de 15 posições l (SCB tendo um comprimento de 7 + 8). Então, a ST para esse tem um comprimento de 15 posições em vez de 10 posições como para TT [0].[0178] Preferably, the target portions (TT | target tiles) (having frequencies greater than the IGF starting frequency) are linked to the edges of the scale factor band of the full rate encoder. The source portions (ST | source tiles), from which the information is taken, i.e. for frequencies lower than the IGF starting frequency are not bound by the edges of the scale factor band. The size of the ST should correspond to the size of the associated TT. This is illustrated using the following example. TT[0] has a length of 10 MDCT Positions. This exactly matches the length of two subsequent SCBs (like 4 + 6). Then, every possible ST that is correlated with TT[0] also has a length of 10 positions. A second target portion TT[1], being adjacent to TT[0], has a length of 15 positions l (SCB having a length of 7+8). So the ST for this has a length of 15 positions instead of 10 positions as for TT[0].

[0179] Caso ocorra o fato de não se poder localizar uma TT para ST com o comprimento da porção alvo (quando, por exemplo, o comprimento de TT for maior do que a faixa de origem disponível), então uma correlação não é calculada e a faixa de origem é copiada várias vezes nessa TT (a cópia é feita uma após a outra de modo que uma linha de frequência para a frequência mais baixa da segunda cópia segue imediatamente - na frequência - a linha de frequência para a frequência mais alta da primeira cópia), até a TT da porção alvo estar completamente preenchida.[0179] If it turns out that a TT to ST cannot be located with the target portion length (when, for example, the TT length is greater than the available source range), then a correlation is not calculated and the source track is copied several times in this TT (the copy is made one after the other so that a frequency line for the lower frequency of the second copy immediately follows - in frequency - the frequency line for the higher frequency of the first copy), until the TT of the target portion is completely filled.

[0180] A seguir, referência é feita à figura 5c que ilustra uma aplicação preferida adicional do regenerador de frequência 116 da figura 1b ou do bloco de IGF 202 da figura 2a. O bloco 522 é um gerador da porção de frequência que recebe, não apenas, um ID da banda alvo, mas adicionalmente que recebe um ID da banda de origem. De forma exemplar, determinou-se no lado do codificador que a banda do fator de escala 3 da figura 3a é muito bem adequada para a reconstrução da banda do fator de escala 7. Assim, o ID da banca de origem seria 2 e o ID da banda alvo seria 7. Com base nessa informação, o gerador da porção de frequência 522 aplica uma cópia ou operação harmônica de enchimento de porção ou qualquer outra operação de enchimento de porção para gerar a segunda parte bruta dos componentes espectrais 523. A segunda parte bruta dos componentes espectrais tem uma resolução de frequência idêntica à resolução de frequência incluída no primeiro conjunto de partes espectrais primárias.[0180] Next, reference is made to figure 5c which illustrates an additional preferred application of the frequency regenerator 116 of figure 1b or the IGF block 202 of figure 2a. Block 522 is a frequency portion generator that not only receives a target band ID, but additionally receives a source band ID. Exemplarily, it was determined on the encoder side that the scale factor 3 band in Figure 3a is very well suited for reconstructing the scale factor 7 band. Thus, the source bank ID would be 2 and the ID of the target band would be 7. Based on this information, the frequency portion generator 522 applies a copy or harmonic portion filling operation or any other portion filling operation to generate the raw second part of the spectral components 523. The second part of the spectral components has a frequency resolution identical to the frequency resolution included in the first set of primary spectral parts.

[0181] Então, a primeira parte espectral da banda de reconstrução como 307 da figura 3a é inserida em um criador de estrutura 524 e a segunda parte bruta 523 é também inserida no criador de estrutura 524. Então, a estrutura reconstruída é ajustada pelo regulador 526 utilizando um fator de ganho para a banda de reconstrução calculada pela calculadora do fator de ganho 528. De forma importante, a primeira parte espectral na estrutura não é influenciada pelo regulador 526, mas apenas a segunda parte bruta para a estrutura de reconstrução é influenciada pelo regulador 526. Para esta finalidade, a calculadora do fator de ganho 528 analisa a banda de origem ou a segunda parte bruta 523 e adicionalmente analisa a primeira parte espectral na banda de reconstrução para finalmente encontrar o fator de ganho 527 correto de modo que a energia da estrutura ajustada emitida pelo regulador 526 tenha a energia E4 quando uma banda do fator de escala 7 é contemplada.[0181] Then, the first spectral part of the reconstruction band as 307 of Figure 3a is input into a structure creator 524 and the second raw part 523 is also input into the structure creator 524. Then, the reconstructed structure is adjusted by the regulator 526 using a gain factor for the reconstruction band calculated by the gain factor calculator 528. Importantly, the first spectral part in the structure is not influenced by the regulator 526, but only the second raw part for the reconstruction structure is influenced. by the regulator 526. For this purpose, the gain factor calculator 528 analyzes the source band or the second raw part 523 and additionally analyzes the first spectral part in the reconstruction band to finally find the correct gain factor 527 so that the The energy of the adjusted structure emitted by the regulator 526 has the energy E4 when a band of scale factor 7 is contemplated.

[0182] Nesse contexto, é muito importante avaliar a precisão da reconstrução de alta frequência da presente invenção em comparação com HE-AAC. Isso é explicado com relação à banda do fator de escala 7 na figura 3a. Assume-se que um codificador da técnica anterior, conforme ilustrado na figura 13a detectaria a parte espectral 307 a ser codificada com uma alta resolução como uma “harmônica ausente”. Então, a energia desse componente espectral seria transmitida junto com uma informação de envelope espectral para a banda de reconstrução como a banda do fator de escala 7 ao decodificador. Então, o decodificador recriaria a harmônica ausente. Entretanto, o valor espectral, no qual a harmônica ausente 307 seria reconstruída pelo decodificador da técnica anterior da figura 13b estaria no meio da banda 7 em uma frequência indicada pela frequência de reconstrução 390. Assim, a presente invenção evita um erro de frequência 391 que seria introduzido pelo decodificador da técnica anterior da figura 13d.[0182] In this context, it is very important to evaluate the accuracy of the high-frequency reconstruction of the present invention in comparison with HE-AAC. This is explained with respect to the scale factor 7 band in figure 3a. It is assumed that a prior art encoder as illustrated in Figure 13a would detect the spectral part 307 to be encoded with a high resolution as a “missing harmonic”. Then, the energy of this spectral component would be transmitted along with a spectral envelope information for the reconstruction band as the scale factor 7 band to the decoder. Then the decoder would recreate the missing harmonic. However, the spectral value at which the missing harmonic 307 would be reconstructed by the prior art decoder of Figure 13b would be in the middle of band 7 at a frequency indicated by the reconstruction frequency 390. Thus, the present invention avoids a frequency error 391 that would be introduced by the prior art decoder of Figure 13d.

[0183] Em uma implementação, o analisador espectral também é implementado nas similaridades de cálculo entre as partes espectrais primárias e as partes espectrais secundárias e para determinar, com base nas similaridades calculadas, para uma segunda parte espectral em uma faixa de reconstrução uma primeira parte espectral que corresponde com a segunda parte espectral o máximo possível. Então, nessa implementação da faixa de origem/faixa de destino variável, o codificador paramétrico introduzirá adicionalmente na segunda representação codificada uma informação correspondente, indicando para cada faixa de destino uma faixa de origem correspondente. No lado do decodificador, essa informação seria, então, utilizada por um gerador de porção de frequência 522 da figura 5c que ilustra uma geração de uma segunda parte bruta 523 com base em um ID de banda de origem e um ID de banda alvo[0183] In one implementation, the spectral analyzer is also implemented to calculate similarities between the primary spectral parts and the secondary spectral parts and to determine, based on the calculated similarities, for a second spectral part in a reconstruction range a first part spectral part that corresponds with the second spectral part as much as possible. Then, in this variable source range/destination range implementation, the parametric encoder will additionally introduce into the second encoded representation a corresponding information, indicating for each destination range a corresponding source range. On the decoder side, this information would then be used by a frequency portion generator 522 of Figure 5c that illustrates a generation of a second raw portion 523 based on a source band ID and a target band ID.

[0184] Além disso, conforme ilustrado na figura 3a, o analisador espectral é configurado para analisar a representação espectral até uma frequência de análise máxima sendo apenas uma pequena quantidade abaixo da metade da frequência de amostragem e preferivelmente sendo pelo menos um quarto da frequência de amostragem ou tipicamente mais alta.[0184] Furthermore, as illustrated in Figure 3a, the spectral analyzer is configured to analyze the spectral representation up to a maximum analysis frequency being only a small amount below half the sampling frequency and preferably being at least a quarter of the sampling frequency. sampling or typically higher.

[0185] Conforme ilustrado, o codificador opera sem redução da taxa de amostragem e o decodificador opera sem aumento da taxa de amostragem. Em outras palavras, o codificador de áudio de domínio espectral é configurado para gerar uma representação espectral tendo uma frequência Nyquist definida pela taxa de amostragem do sinal de áudio originalmente de entrada.[0185] As illustrated, the encoder operates without reducing the sampling rate and the decoder operates without increasing the sampling rate. In other words, the spectral domain audio encoder is configured to generate a spectral representation having a Nyquist frequency defined by the sampling rate of the originally input audio signal.

[0186] Além disso, conforme ilustrado na figura 3a, o analisador espectral é configurado para analisar a representação espectral que inicia com uma frequência inicial de preenchimento de lacuna e que termina com uma frequência máxima representada por uma frequência máxima incluída na representação espectral, em que uma parte espectral estendendo-se de uma frequência mínima até a frequência inicial de preenchimento de lacuna pertencer ao primeiro conjunto de partes espectrais e em que uma parte espectral adicional como 304, 305, 306, 307 tendo valores de frequência acima da frequência de preenchimento de lacuna adicionalmente é incluída no primeiro conjunto de partes espectrais primárias.[0186] Furthermore, as illustrated in Figure 3a, the spectral analyzer is configured to analyze the spectral representation that starts with an initial gap-filling frequency and that ends with a maximum frequency represented by a maximum frequency included in the spectral representation, in that a spectral part extending from a minimum frequency to the initial gap-filling frequency belongs to the first set of spectral parts and wherein an additional spectral part such as 304, 305, 306, 307 having frequency values above the filling frequency gap is additionally included in the first set of primary spectral parts.

[0187] Conforme descrito, o decodificador de domínio espectral de áudio 112 é configurado de modo que uma frequência máxima representada por um valor espectral na primeira representação decodificada seja igual a uma frequência máxima incluída na representação de tempo tendo a taxa de amostragem em que o valor espectral para a frequência máxima no primeiro conjunto de partes espectrais primárias é zero ou diferente de zero. De qualquer forma, para essa frequência máxima no primeiro conjunto de componentes espectrais um fator de escala para a banda do fator de escala existe, que é gerado e transmitido independentemente se todos valores espectrais nesta banda do fator de escala são definidos a zero ou não, conforme discutido no contexto das figuras 3a e 3b.[0187] As described, the audio spectral domain decoder 112 is configured such that a maximum frequency represented by a spectral value in the first decoded representation is equal to a maximum frequency included in the time representation having the sampling rate at which the spectral value for the maximum frequency in the first set of primary spectral parts is zero or non-zero. In any case, for this maximum frequency in the first set of spectral components a scale factor for the scale factor band exists, which is generated and transmitted regardless of whether all spectral values in this scale factor band are set to zero or not. as discussed in the context of figures 3a and 3b.

[0188] A invenção é, portanto, vantajosa uma vez que, com relação a outras técnicas paramétricas para aumentar a eficiência de compressão, por exemplo, substituição de ruído e preenchimento de ruído (essas técnicas são exclusivamente para representação eficiente do conteúdo do sinal local do tipo ruído), a invenção possibilita uma reprodução de frequência precisa de componentes tonais. Até o momento, no estado da técnica, a técnica direciona a representação paramétrica eficiente do conteúdo de sinal arbitrário por preenchimento de lacuna espectral sem a restrição de uma divisão prévia fixada em banda baixa (LF | low band) e banda alta (HF | high band).[0188] The invention is therefore advantageous since, with respect to other parametric techniques for increasing compression efficiency, e.g., noise replacement and noise filling (these techniques are exclusively for efficient representation of local signal content noise type), the invention enables accurate frequency reproduction of tonal components. To date, in the state of the art, the technique directs efficient parametric representation of arbitrary signal content by spectral gap filling without the restriction of a prior division fixed into low band (LF | low band) and high band (HF | high band).

[0189] As aplicações do sistema inventivo melhoram as abordagens do estado da técnica e, assim, fornecem eficiência de alta compressão, nenhuma ou apenas uma pequena perturbação perceptual e largura de banda de áudio total mesmo para baixas taxas de bit.[0189] Applications of the inventive system improve upon prior art approaches and thus provide high compression efficiency, no or only minor perceptual disturbance, and full audio bandwidth even for low bit rates.

[0190] O sistema geral consiste em • codificação central de banda total; • preenchimento inteligente de lacuna (preenchimento de porção ou preenchimento de ruído); • partes tonais esparsas no núcleo selecionado pela máscara tonal; • codificação de par estéreo conjunto para banda total, incluindo o preenchimento de porção; • TNS na porção; • clareamento espectral na faixa do IGF.[0190] The overall system consists of • full-band central coding; • intelligent gap filling (portion filling or noise filling); • sparse tonal parts in the nucleus selected by the tonal mask; • joint stereo pair encoding for full band, including portion padding; • TNS in the portion; • spectral brightening in the IGF range.

[0191] Uma primeira etapa em direção a um sistema mais eficiente é remover a necessidade de transformar dados espectrais em um segundo domínio de transformada diferente daquele do codificador central. Como a maioria dos codecs de áudio, como AAC por exemplo, utilizar a MDCT como transformada básica, é útil realizar a BWE no domínio de MDCT também. Uma segunda exigência para o sistema de BWE seria a necessidade de preservar a grade tonal pela qual componentes tonais HF são preservados e a qualidade do áudio codificado é, então, superior aos sistemas existentes. Para cuidar de ambas as exigências mencionadas acima para um esquema de BWE, um novo sistema é proposto chamado Preenchimento de Lacuna Inteligente (IGF). A figura 2b mostra o diagrama em blocos do sistema proposto no lado do codificador e a figura 2a mostra o sistema no lado do decodificador[0191] A first step towards a more efficient system is to remove the need to transform spectral data in a second transform domain different from that of the central encoder. Since most audio codecs, such as AAC for example, use MDCT as their base transform, it is useful to perform BWE in the MDCT domain as well. A second requirement for the BWE system would be the need to preserve the tonal grid whereby HF tonal components are preserved and the quality of the encoded audio is therefore superior to existing systems. To take care of both the above mentioned requirements for a BWE scheme, a new system is proposed called Intelligent Gap Filling (IGF). Figure 2b shows the block diagram of the proposed system on the encoder side and Figure 2a shows the system on the decoder side

[0192] Subsequentemente, recursos opcionais adicionais do primeiro processador de codificação de domínio de frequência de banda completa e do processador de decodificação de domínio de frequência de banda completa que incorpora a operação de preenchimento de lacuna, que podem ser implementados juntos ou separadamente, são discutidos e definidos.[0192] Subsequently, additional optional features of the first full-band frequency domain encoding processor and the full-band frequency domain decoding processor incorporating the gap-fill operation, which may be implemented together or separately, are discussed and defined.

[0193] Particularmente, o decodificador de domínio espectral 112 correspondente ao bloco 1122a é configurado para emitir uma sequência de estruturas decodificadas de valores espectrais, uma estrutura decodificada sendo a primeira representação decodificada, em que a estrutura compreende valores espectrais para o primeiro conjunto de partes espectrais e indicações de zero para as partes espectrais secundárias. O aparelho para decodificação compreende, ainda, um combinador 208. Os valores espectrais são gerados por um regenerador de frequência para o segundo conjunto de partes espectrais secundárias, onde ambos, o combinador e o regenerador de frequência são incluídos dentro do bloco 1122b. Assim, pela combinação das partes espectrais secundárias e das partes espectrais primárias, uma estrutura espectral reconstruída compreendendo valores espectrais para o primeiro conjunto de partes espectrais primárias e o segundo conjunto de partes espectrais são obtidos e o conversor de espectro- tempo 118 correspondente ao bloco de IMDCT 1124 na figura 14b então converte a estrutura espectral reconstruída em representação de tempo.[0193] Particularly, the spectral domain decoder 112 corresponding to block 1122a is configured to output a sequence of decoded structures of spectral values, a decoded structure being the first decoded representation, wherein the structure comprises spectral values for the first set of parts spectral values and zero indications for the secondary spectral parts. The decoding apparatus further comprises a combiner 208. Spectral values are generated by a frequency regenerator for the second set of secondary spectral parts, where both the combiner and the frequency regenerator are included within block 1122b. Thus, by combining the secondary spectral parts and the primary spectral parts, a reconstructed spectral structure comprising spectral values for the first set of primary spectral parts and the second set of spectral parts is obtained and the spectrum-time converter 118 corresponding to the IMDCT 1124 in Figure 14b then converts the reconstructed spectral structure into time representation.

[0194] Conforme descrito, o conversor de espectro- tempo 118 ou 1124 é configurado para realizar uma transformada discreta de cosseno modificada inversa 512, 514 e compreende, ainda, um estágio de adição por sobreposição 516 para sobreposição e adição subsequentes às estruturas de domínio de tempo.[0194] As described, the spectrum-time converter 118 or 1124 is configured to perform an inverse modified discrete cosine transform 512, 514 and further comprises an overlap addition stage 516 for subsequent superposition and addition to domain structures. of time.

[0195] Particularmente, o decodificador de domínio espectral de áudio 1122a é configurado para gerar a primeira representação decodificada de modo que a primeira representação decodificada tenha uma frequência Nyquist que define uma taxa de amostragem sendo igual a uma taxa de amostragem da representação de tempo gerada pelo conversor de espectro-tempo 1124.[0195] Particularly, the audio spectral domain decoder 1122a is configured to generate the first decoded representation such that the first decoded representation has a Nyquist frequency that defines a sampling rate being equal to a sampling rate of the generated time representation. by the spectrum-time converter 1124.

[0196] Além disso, o decodificador 1112 ou 1122a é configurado para gerar a primeira representação decodificada de modo que uma primeira parte espectral 306 seja colocada com relação à frequência entre duas partes espectrais secundárias 307a, 307b.[0196] Furthermore, the decoder 1112 or 1122a is configured to generate the first decoded representation such that a first spectral part 306 is placed with respect to frequency between two secondary spectral parts 307a, 307b.

[0197] Em uma aplicação adicional, uma frequência máxima representada por um valor espectral para a frequência máxima na primeira representação decodificada é igual a uma frequência máxima incluída na representação de tempo gerada pelo conversor de espectro-tempo, em que o valor espectral para a frequência máxima na primeira representação é zero ou diferente de zero.[0197] In a further application, a maximum frequency represented by a spectral value for the maximum frequency in the first decoded representation is equal to a maximum frequency included in the time representation generated by the spectrum-time converter, wherein the spectral value for the Maximum frequency in the first representation is zero or non-zero.

[0198] Além disso, conforme ilustrado na figura 3, a primeira parte codificada do sinal de áudio compreende, ainda, uma representação codificada de um terceiro conjunto de partes espectrais terciárias a serem reconstruídas pelo preenchimento de ruído e o primeiro processador de decodificação 1120 inclui, adicionalmente, um preenchedor de ruído incluído no bloco 1122b para extração da informação de enchimento de ruído 308 de uma representação codificada do terceiro conjunto de partes espectrais terciárias e para aplicação de uma operação de preenchimento de ruído no terceiro conjunto de partes espectrais terciárias sem utilizar uma primeira parte espectral em uma faixa de frequência diferente.[0198] Furthermore, as illustrated in Figure 3, the first coded part of the audio signal further comprises a coded representation of a third set of tertiary spectral parts to be reconstructed by noise filling and the first decoding processor 1120 includes , additionally, a noise filler included in block 1122b for extracting noise filling information 308 from a coded representation of the third set of tertiary spectral parts and for applying a noise filling operation to the third set of tertiary spectral parts without using a first spectral part in a different frequency range.

[0199] Além disso, o decodificador de domínio espectral de áudio 112 é configurado para gerar a primeira representação decodificada tendo as partes espectrais primárias com os valores de frequência sendo maiores do que a frequência sendo igual a uma frequência no meio da faixa de frequência coberta pela representação de tempo emitida pelo conversor de espectro-tempo 118 ou 1124.[0199] Additionally, the audio spectral domain decoder 112 is configured to generate the first decoded representation having the primary spectral parts with the frequency values being greater than the frequency being equal to a frequency in the middle of the covered frequency range. by the time representation emitted by the spectrum-time converter 118 or 1124.

[0200] Além disso, o analisador espectral ou analisador de banda total 604 é configurado para analisar a representação gerada pelo conversor de tempo-frequência 602 para determinação de um primeiro conjunto de partes espectrais primárias a ser codificada com a primeira resolução espectral alta e o segundo conjunto de partes espectrais secundárias diferente a ser codificado com uma segunda resolução espectral que é menor do que a primeira resolução espectral e, por meios do analisador espectral, uma primeira parte espectral 306 é determinada, com relação à frequência, entre as duas partes espectrais secundárias na figura 3 em 307a e 307b.[0200] Additionally, the spectral analyzer or full-band analyzer 604 is configured to analyze the representation generated by the time-frequency converter 602 to determine a first set of primary spectral parts to be encoded with the first high spectral resolution and the second set of different secondary spectral parts to be encoded with a second spectral resolution that is lower than the first spectral resolution and, by means of the spectral analyzer, a first spectral part 306 is determined, with respect to frequency, between the two spectral parts secondary in figure 3 at 307a and 307b.

[0201] Particularmente, o analisador espectral é configurado para análise da representação espectral até uma frequência de análise máxima sendo pelo menos um quarto de uma frequência de amostragem do sinal de áudio.[0201] Particularly, the spectral analyzer is configured to analyze the spectral representation up to a maximum analysis frequency being at least one-quarter of a sampling frequency of the audio signal.

[0202] Particularmente, o codificador de domínio espectral de áudio é configurado para processar uma sequência de estruturas de valores espectrais para uma quantização e codificação por entropia, em que, em uma estrutura, os valores espectrais do segundo conjunto de partes secundárias são definidos a zero, ou em que, na estrutura, os valores espectrais do primeiro conjunto de partes espectrais primárias e do segundo conjunto de partes espectrais secundárias estão presentes e em que, durante o processamento subsequente, os valores espectrais no segundo conjunto de partes espectrais são definidos a zero, conforme ilustrado de forma exemplar e, 410, 418, 422.[0202] Particularly, the audio spectral domain encoder is configured to process a sequence of spectral value structures for a quantization and entropy coding, wherein, in one structure, the spectral values of the second set of secondary parts are defined at zero, or wherein, in the structure, the spectral values of the first set of primary spectral parts and the second set of secondary spectral parts are present and wherein, during subsequent processing, the spectral values in the second set of spectral parts are set to zero, as exemplarily illustrated and, 410, 418, 422.

[0203] O codificador de domínio espectral de áudio é configurado para gerar uma representação espectral, tendo uma frequência Nyquist definida pela taxa de amostragem do sinal de áudio de entrada ou a primeira parte do sinal de áudio processado pelo primeiro processador de codificação que opera no domínio de frequência.[0203] The audio spectral domain encoder is configured to generate a spectral representation having a Nyquist frequency defined by the sampling rate of the input audio signal or the first part of the audio signal processed by the first encoding processor operating in the frequency domain.

[0204] O codificador de domínio espectral de áudio 606 é, ainda, configurado para fornecer a primeira representação codificada de modo que, para uma estrutura de um sinal de áudio amostrado, a representação codificada compreenda o primeiro conjunto de partes espectrais primárias e o segundo conjunto de partes espectrais secundárias, em que os valores espectrais no segundo conjunto de partes espectrais são codificados como zero ou valores de ruído.[0204] The audio spectral domain encoder 606 is further configured to provide the first coded representation such that, for a structure of a sampled audio signal, the coded representation comprises the first set of primary spectral parts and the second set of secondary spectral parts, wherein the spectral values in the second set of spectral parts are encoded as zero or noise values.

[0205] O analisador de banda completa 604 ou 102 é configurado para analisar a representação espectral que se inicia com a frequência inicial de preenchimento de lacuna 209 e que termina com uma frequência máxima fmax representada por uma frequência máxima incluída na representação espectral, e uma parte espectral estendendo-se de uma frequência mínima até a frequência inicial de preenchimento de lacuna 309 pertence ao primeiro conjunto de partes espectrais primárias.[0205] The full-band analyzer 604 or 102 is configured to analyze the spectral representation that begins with the initial gap-filling frequency 209 and that ends with a maximum frequency fmax represented by a maximum frequency included in the spectral representation, and a spectral part extending from a minimum frequency to the initial gap-filling frequency 309 belongs to the first set of primary spectral parts.

[0206] Particularmente, o analisador é configurado para aplicar um processamento de máscara tonal de, pelo menos, uma parte da representação espectral, de modo que os componentes tonais e os componentes não tonais sejam separados entre si, caracterizado pelo primeiro conjunto de partes espectrais primárias compreender os componentes tonais e em que o segundo conjunto de partes espectrais secundárias compreende os componentes não tonais.[0206] Particularly, the analyzer is configured to apply a tonal mask processing of at least a part of the spectral representation, such that the tonal components and the non-tonal components are separated from each other, characterized by the first set of spectral parts primaries comprise the tonal components and the second set of secondary spectral parts comprises the non-tonal components.

[0207] Embora a presente invenção tenha sido descrita no contexto de diagramas em blocos, em que os blocos representam componentes de hardware reais ou lógicos, a presente invenção também pode ser implementada por um método implementado por computador. Neste último caso, os blocos representam etapas do método correspondentes onde estas etapas representam as funcionalidades executadas pelos blocos de hardware lógico ou físico correspondentes.[0207] Although the present invention has been described in the context of block diagrams, where the blocks represent real or logical hardware components, the present invention can also be implemented by a computer-implemented method. In the latter case, the blocks represent corresponding method steps where these steps represent the functionalities performed by the corresponding logical or physical hardware blocks.

[0208] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que estes aspectos também representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método ou característica de uma etapa do método. De forma análoga, aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco ou item ou característica correspondente de um aparelho correspondente. Algumas ou todas as etapas do método podem ser executadas por (ou utilizando) um aparelho de hardware, tal como, por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas aplicações, uma ou mais das etapas mais importantes do método podem ser executadas pelo referido aparelho.[0208] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or characteristic of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or characteristic of a corresponding apparatus. Some or all of the steps of the method may be performed by (or using) a hardware apparatus, such as, for example, a microprocessor, a programmable computer or an electronic circuit. In some applications, one or more of the most important steps of the method may be performed by said apparatus.

[0209] O sinal codificado ou transmitido inventivo pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido por um meio de transmissão, tal como um meio de transmissão sem frio ou um meio de transmissão cabeado, tal como a internet.[0209] The inventive encoded or transmitted signal may be stored on a digital storage medium or may be transmitted via a transmission medium, such as a cold-free transmission medium or a wired transmission medium, such as the internet.

[0210] Dependendo de certas exigências de implementação, as aplicações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada utilizando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, uma memória ROM, uma PROM, uma EPROM, uma EEPROM ou a memória flash, tendo sinais de controle eletronicamente legíveis armazenados nele, que cooperam (ou podem cooperar) com um sistema de computador programável, de modo que o respectivo método seja realizado. Assim, o meio de armazenamento digital pode ser legível por computador.[0210] Depending on certain implementation requirements, applications of the invention can be implemented in hardware or in software. The implementation can be carried out using a digital storage medium, for example, a floppy disk, a DVD, a Blu-Ray, a CD, a ROM memory, a PROM, an EPROM, an EEPROM or flash memory, having control signals electronically readable files stored therein, which cooperate (or may cooperate) with a programmable computer system, so that the respective method is carried out. Thus, the digital storage medium can be computer readable.

[0211] Algumas aplicações de acordo com a invenção compreendem um transportador de dados, tendo sinais de controle eletronicamente legíveis, que podem cooperar com um sistema de computador programável, de modo que um dos métodos descritos aqui seja realizado.[0211] Some applications according to the invention comprise a data carrier, having electronically readable control signals, which can cooperate with a programmable computer system, so that one of the methods described herein is carried out.

[0212] Geralmente, as aplicações da presente invenção podem ser implementadas como um produto do programa de computador com um código de programa, o código de programa sendo operativo para realizar um dos métodos quando o produto do programa de computador é executado em um computador. O código de programa pode, por exemplo, ser armazenado em um transportador legível por máquina.[0212] Generally, applications of the present invention may be implemented as a computer program product with a program code, the program code being operative to carry out one of the methods when the computer program product is executed on a computer. Program code can, for example, be stored on a machine-readable carrier.

[0213] Outras aplicações compreendem o programa de computador para realizar um dos métodos descritos aqui, armazenado em um transportador legível por máquina.[0213] Other applications comprise the computer program for carrying out one of the methods described herein, stored on a machine-readable carrier.

[0214] Em outras palavras, uma aplicação do método inventivo é, portanto, um programa de computador tendo um código de programa para realizar um dos métodos descritos aqui, quando o programa de computador for executado em um computador.[0214] In other words, an application of the inventive method is therefore a computer program having a program code to carry out one of the methods described here, when the computer program is executed on a computer.

[0215] Outra aplicação do método inventivos é, portanto, um transportador de dados (ou um meio de armazenamento não transitório, tal como um meio de armazenamento digital ou um meio legível por computador) compreendendo, gravado nele, o programa de computador para realizar um dos métodos descritos aqui. O transportador de dados, o meio de armazenamento digital ou o meio gravado são tipicamente tangíveis e/ou não transitórios.[0215] Another application of the inventive method is therefore a data carrier (or a non-transitory storage medium, such as a digital storage medium or a computer-readable medium) comprising, recorded thereon, the computer program for carrying out one of the methods described here. The data carrier, digital storage medium, or recorded medium is typically tangible and/or non-transitory.

[0216] Outra aplicação do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais representando o programa de computador para realizar um dos métodos descritos aqui. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma conexão de comunicação de dados, por exemplo, através da Internet.[0216] Another application of the inventive method is therefore a data stream or a sequence of signals representing the computer program for carrying out one of the methods described here. The data stream or sequence of signals may, for example, be configured to be transferred via a data communication connection, for example via the Internet.

[0217] Outra aplicação compreende um meio de processamento, por exemplo, um computador ou um dispositivo de lógica programável, configurado para ou adaptado para realizar um dos métodos descritos aqui.[0217] Another application comprises a processing means, for example, a computer or a programmable logic device, configured for or adapted to perform one of the methods described herein.

[0218] Outra aplicação compreende um computador, tendo instalado nele o programa de computador para realizar um dos métodos descrito aqui.[0218] Another application comprises a computer, having installed on it the computer program to carry out one of the methods described here.

[0219] Outra aplicação, de acordo com a invenção, compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletrônica ou opticamente) um programa de computador para realizar um dos métodos descritos aqui a um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou semelhante. O aparelho ou sistema pode, por exemplo, compreender um servidor de arquivo para transferir o programa de computador ao receptor.[0219] Another application, according to the invention, comprises an apparatus or a system configured to transfer (e.g., electronically or optically) a computer program for carrying out one of the methods described here to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.

[0220] Em algumas aplicações, um dispositivo de lógica programável (por exemplo, um arranjo de portas programáveis de campo) pode ser utilizado para realizar algumas ou todas as funcionalidades dos métodos descritos aqui. Em algumas aplicações, um arranjo de portas programáveis de campo pode cooperar com um microprocessador, a fim de realizar um dos métodos descritos aqui. Geralmente, os métodos são preferivelmente realizados por qualquer aparelho de hardware.[0220] In some applications, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In some applications, an array of field programmable gates may cooperate with a microprocessor in order to perform one of the methods described here. Generally, the methods are preferably performed by any hardware apparatus.

[0221] As aplicações descritas acima são meramente ilustrativas para os princípios da presente invenção. Entende- se que modificações e variações das disposições e os detalhes descritos serão evidentes a outros especialistas na técnica. É intenção, portanto, ser limitada apenas pelo escopo das reivindicações de patente iminentes e não pelos detalhes específicos apresentados em forma de descrição e explicação das aplicações neste documento.[0221] The applications described above are merely illustrative of the principles of the present invention. It is understood that modifications and variations of the arrangements and details described will be apparent to others skilled in the art. It is intended, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented in the form of a description and explanation of the applications herein.

Claims (13)

1. Um codificador de áudio para codificação de um sinal de áudio, caracterizado por compreender: um primeiro processador de codificação (600) para codificação de uma primeira parte do sinal de áudio em um domínio de frequência, em que o primeiro processador de codificação (600) compreende: um conversor de tempo-frequência (602) para conversão da primeira parte do sinal de áudio em uma representação de domínio de frequência, tendo linhas espectrais até uma frequência máxima da primeira parte do sinal de áudio; um analisador (604) para análise da representação do domínio de frequência até a frequência máxima para determinar as partes espectrais primárias a serem codificadas com uma primeira resolução espectral e partes espectrais secundárias a serem codificadas com uma segunda resolução espectral, a segunda resolução espectral sendo mais baixa do que a primeira resolução espectral, em que o analisador (604) é configurado para determinar uma primeira parte espectral (306) a partir das partes espectrais primárias, a primeira parte espectral sendo colocada, com relação à frequência, entre as duas partes espectrais secundárias (307a, 307b) a partir das partes espectrais secundárias; um codificador espectral (606) para codificação das partes espectrais primárias com a primeira resolução espectral e para codificação das partes espectrais secundárias com a segunda resolução espectral, em que o codificador espectral compreende um codificador paramétrico para cálculo da informação de envelope espectral tendo a segunda resolução espectral a partir das partes espectrais secundárias; um segundo processador de codificação (610) para codificação de uma segunda parte diferente do sinal de áudio no domínio de tempo, em que o segundo processador de codificação (610) compreende: um conversor da taxa de amostragem (900) para conversão da segunda parte do sinal de áudio em uma representação da taxa de amostragem inferior, a taxa de amostragem inferior sendo mais baixa do que uma taxa de amostragem do sinal de áudio, em que a representação da taxa de amostragem inferior não inclui a banda alta do sinal de entrada; um codificador de banda baixa do domínio de tempo (910) para o domínio de tempo que codifica a representação da taxa de amostragem inferior; e um codificador de extensão da largura de banda do domínio de tempo (920) para parametricamente codificar a banda alta; um controlador (620) configurado para análise do sinal de áudio e para determinação de qual parte do sinal de áudio é a primeira parte do sinal de áudio codificada no domínio de frequência e qual parte do sinal de áudio é a segunda parte do sinal de áudio codificada no domínio de tempo; e um modulador de sinal codificado (630) para modulação de um sinal de áudio codificado, compreendendo uma primeira parte do sinal codificado para a primeira parte do sinal de áudio e uma segunda parte do sinal codificado para a segunda parte do sinal de áudio.1. An audio encoder for encoding an audio signal, characterized in that it comprises: a first encoding processor (600) for encoding a first part of the audio signal in a frequency domain, wherein the first encoding processor (600) 600) comprises: a time-frequency converter (602) for converting the first part of the audio signal into a frequency domain representation, having spectral lines up to a maximum frequency of the first part of the audio signal; an analyzer (604) for analyzing the frequency domain representation up to the maximum frequency to determine primary spectral parts to be encoded with a first spectral resolution and secondary spectral parts to be encoded with a second spectral resolution, the second spectral resolution being higher lower than the first spectral resolution, wherein the analyzer (604) is configured to determine a first spectral part (306) from the primary spectral parts, the first spectral part being placed, with respect to frequency, between the two spectral parts secondary (307a, 307b) from the secondary spectral parts; a spectral encoder (606) for encoding the primary spectral parts with the first spectral resolution and for encoding the secondary spectral parts with the second spectral resolution, wherein the spectral encoder comprises a parametric encoder for calculating spectral envelope information having the second resolution spectral from the secondary spectral parts; a second encoding processor (610) for encoding a different second portion of the time domain audio signal, wherein the second encoding processor (610) comprises: a sample rate converter (900) for converting the second portion of the audio signal into a lower sample rate representation, the lower sample rate being lower than a sample rate of the audio signal, wherein the lower sample rate representation does not include the high band of the input signal ; a time domain low bandwidth encoder (910) for the time domain that encodes the lower sample rate representation; and a time domain bandwidth extension encoder (920) for parametrically encoding the high bandwidth; a controller (620) configured for analyzing the audio signal and determining which part of the audio signal is the first part of the audio signal encoded in the frequency domain and which part of the audio signal is the second part of the audio signal encoded in the time domain; and a coded signal modulator (630) for modulating a coded audio signal, comprising a first part of the coded signal for the first part of the audio signal and a second part of the coded signal for the second part of the audio signal. 2. O codificador de áudio de acordo com a reivindicação 1, caracterizado por compreender, ainda: um pré-processador (1000) configurado para pré-processamento da primeira parte do sinal de áudio e da segunda parte do sinal de áudio, em que o pré-processador compreende: um analisador de previsão (1002) para determinação dos coeficientes de previsão; e em que o segundo processador de codificação compreende: um quantizador de coeficiente de previsão (1010) para geração de uma versão quantizada dos coeficientes de previsão; e um codificador de entropia para geração de uma versão codificada dos coeficientes de previsão quantizados em que o modulador de sinal codificado (630) é configurado para introduzir a versão codificada no sinal de áudio codificado.2. The audio encoder according to claim 1, characterized in that it further comprises: a preprocessor (1000) configured for preprocessing the first part of the audio signal and the second part of the audio signal, wherein the preprocessor comprises: a prediction analyzer (1002) for determining prediction coefficients; and wherein the second coding processor comprises: a prediction coefficient quantizer (1010) for generating a quantized version of the prediction coefficients; and an entropy encoder for generating a coded version of the quantized prediction coefficients wherein the coded signal modulator (630) is configured to introduce the coded version into the coded audio signal. 3. O codificador de áudio de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado por um pré-processador (1000) compreender um reamostrador (1004) para reamostragem do sinal de áudio em uma taxa de amostragem do segundo processador de codificação; e em que um analisador de previsão é configurado para determinar os coeficientes de previsão, utilizando um sinal de áudio reamostrado, ou em que o pré-processador (1000) compreende, ainda, um estágio de análise de previsão de longa duração (1006) para determinação de um ou mais parâmetro(s) de previsão de longa duração para a primeira parte do sinal de áudio.3. The audio encoder according to any one of claims 1 or 2, characterized in that a preprocessor (1000) comprises a resampler (1004) for resampling the audio signal at a sampling rate of the second encoding processor; and wherein a prediction analyzer is configured to determine the prediction coefficients using a resampled audio signal, or wherein the preprocessor (1000) further comprises a long-term prediction analysis stage (1006) to determining one or more long-term prediction parameter(s) for the first part of the audio signal. 4. O codificador de áudio de acordo com qualquer uma das reivindicações de 1 a 3 anteriores, caracterizado por compreender, ainda, um processador cruzado (700) para cálculo, a partir da representação espectral codificada da primeira parte do sinal de áudio, dos dados de inicialização do segundo processador de codificação (610), de modo que o segundo processamento de codificação (610) seja inicializado para codificar a segunda parte do sinal de áudio imediatamente após a primeira parte do sinal de áudio no tempo no sinal de áudio.4. The audio coder according to any one of the preceding claims 1 to 3, characterized in that it further comprises a crossover processor (700) for calculating, from the encoded spectral representation of the first part of the audio signal, the data initialization of the second encoding processor (610), such that the second encoding processing (610) is initialized to encode the second part of the audio signal immediately after the first part of the audio signal in time in the audio signal. 5. O codificador de áudio de acordo com a reivindicação 4, caracterizado pelo processador cruzado (700) compreender: um decodificador espectral (701) para cálculo de uma versão decodificada da primeira parte do sinal codificado; um estágio de atraso (707) para inserir uma versão atrasada da versão decodificada em um estágio de de- ênfase (617) do segundo processador de codificação para inicialização; um bloco de filtragem da análise do coeficiente de previsão ponderada (708) para inserção de uma saída do filtro em um determinador do livro de códigos (613) do segundo processador de codificação (610) para inicialização; um estágio de filtragem de análise (706) para filtrar a versão decodificada ou uma versão pré-enfatizada (709) e para inserir um filtro residual em um determinador do livro de códigos (612) adaptável do segundo processador de codificação para inicialização; ou um filtro de pré-ênfase (709) para filtragem da versão decodificada e para inserção de uma versão atrasada ou pré-enfatizada em um estágio de filtragem de síntese (616) do segundo processador de codificação (610) para inicialização.5. The audio coder according to claim 4, characterized in that the crossover processor (700) comprises: a spectral decoder (701) for calculating a decoded version of the first part of the coded signal; a delay stage (707) for inputting a delayed version of the decoded version into a de-emphasis stage (617) of the second encoding processor for initialization; a weighted prediction coefficient analysis filtering block (708) for inserting an output of the filter into a codebook determiner (613) of the second encoding processor (610) for initialization; an analysis filtering stage (706) for filtering the decoded version or a pre-emphasized version (709) and for inserting a residual filter into an adaptable codebook determiner (612) of the second encoding processor for initialization; or a pre-emphasis filter (709) for filtering the decoded version and for inserting a delayed or pre-emphasized version into a synthesis filtering stage (616) of the second encoding processor (610) for initialization. 6. O codificador de áudio de acordo com qualquer uma das reivindicações de 1 a 5 anteriores, caracterizado pelo segundo processador de codificação compreender, pelo menos, um bloco do seguinte grupo de blocos: um filtro de análise de previsão (611); um estágio adaptativo do livro de códigos (612); um estágio inovador do livro de códigos (614); um estimador (613) para estimar uma entrada inovadora do livro de códigos; um estágio de codificação de ganho/ACELP (615); um estágio de filtragem de síntese de previsão (616); um estágio de de-ênfase (617); e um estágio de análise de pós-filtro de baixo (618).6. The audio encoder according to any one of claims 1 to 5 above, characterized in that the second coding processor comprises at least one block of the following group of blocks: a predictive analysis filter (611); an adaptive codebook stage (612); an innovative codebook stage (614); an estimator (613) for estimating an innovative codebook entry; a gain encoding/ACELP stage (615); a prediction synthesis filtering stage (616); a stage of de-emphasis (617); and a low post-filter analysis stage (618). 7. Um decodificador de áudio para decodificação de um sinal de áudio codificado, caracterizado por compreender: um primeiro processador de decodificação (1120) para decodificação de uma primeira parte do sinal de áudio codificado em um domínio de frequência, o primeiro processador de decodificação (1120) compreendendo: um decodificador espectral (1122) para decodificação das partes espectrais primárias com uma resolução espectral alta e para sintetização das partes espectrais secundárias utilizando uma representação paramétrica das partes espectrais secundárias e, pelo menos, uma primeira parte espectral decodificada para obter uma representação espectral decodificada, em que o decodificador espectral (1122) é configurado para gerar a primeira representação decodificada de modo que uma primeira parte espectral (306) seja colocada com relação à frequência entre as duas partes espectrais secundárias (307a, 307b); e um conversor de frequência-tempo (1120) para conversão da representação espectral decodificada em um domínio de tempo para obter uma primeira parte do sinal de áudio decodificado; um segundo processador de decodificação (1140) para decodificação de uma segunda parte do sinal de áudio codificado no domínio de tempo para obter uma segunda parte do sinal de áudio decodificado; e um combinador (1160) para combinação da primeira parte espectral decodificada e da segunda parte espectral decodificada para obter um sinal de áudio decodificado; em que o segundo processador de decodificação compreende: um decodificador de banda baixa de domínio de tempo (1200) para decodificação de um sinal de domínio de tempo de banda baixa; um amplificador da taxa de amostragem (1210) para ampliação da taxa de amostragem do sinal de domínio de tempo de banda baixa; um decodificador de extensão de largura de banda do domínio de tempo (1220) para sintetização de uma banda alta de um sinal de saída de domínio de tempo; e um misturador (1230) para mistura de uma banda alta sintetizada do sinal de domínio de tempo e um sinal de domínio de tempo de banda baixa ampliado.7. An audio decoder for decoding a coded audio signal, characterized in that it comprises: a first decoding processor (1120) for decoding a first part of the audio signal encoded in a frequency domain, the first decoding processor (1120) 1120) comprising: a spectral decoder (1122) for decoding the primary spectral parts with a high spectral resolution and for synthesizing the secondary spectral parts using a parametric representation of the secondary spectral parts and at least one first decoded spectral part to obtain a representation decoded spectral, wherein the spectral decoder (1122) is configured to generate the first decoded representation such that a first spectral part (306) is placed with respect to the frequency between the two secondary spectral parts (307a, 307b); and a time-frequency converter (1120) for converting the decoded spectral representation into a time domain to obtain a first part of the decoded audio signal; a second decoding processor (1140) for decoding a second part of the time domain encoded audio signal to obtain a second part of the decoded audio signal; and a combiner (1160) for combining the first decoded spectral part and the second decoded spectral part to obtain a decoded audio signal; wherein the second decoding processor comprises: a low-band time-domain decoder (1200) for decoding a low-band time-domain signal; a sample rate amplifier (1210) for increasing the sample rate of the low band time domain signal; a time domain bandwidth extension decoder (1220) for synthesizing a high bandwidth of a time domain output signal; and a mixer (1230) for mixing a synthesized high-band time domain signal and an expanded low-band time domain signal. 8. O decodificador de áudio de acordo com a reivindicação 7, caracterizado pelo amplificador de taxa de amostragem (1210) compreender um banco de filtro de análise (1471) operando em uma primeira taxa de amostragem do decodificador de baixa banda de domínio de tempo e um banco de filtro de síntese (1473) que opera em uma segunda taxa de amostragem de saída sendo mais alta do que a primeira taxa de amostragem de banda baixa do domínio de tempo.8. The audio decoder of claim 7, wherein the sample rate amplifier (1210) comprises an analysis filter bank (1471) operating at a first sample rate of the low-band time domain decoder and a synthesis filter bank (1473) that operates at a second output sample rate being higher than the first time domain low-band sample rate. 9. O decodificador de áudio de acordo com qualquer uma das reivindicações 7 ou 8, caracterizado pelo primeiro processador de decodificação (1120) compreender um pós-filtro adaptativo de previsão de longa duração (1420) para pós-filtragem da primeira parte do sinal decodificado, em que o filtro (1420) é controlado por um ou mais parâmetro(s) de previsão de longa duração incluído(s) no sinal de áudio codificado.9. The audio decoder according to any one of claims 7 or 8, characterized in that the first decoding processor (1120) comprises a long-term predictive adaptive post-filter (1420) for post-filtering the first part of the decoded signal , wherein the filter (1420) is controlled by one or more long-term prediction parameter(s) included in the encoded audio signal. 10. O decodificador de áudio de acordo com qualquer uma das reivindicações de 7 a 9, caracterizado pelo processador cruzado (1170) compreender: um estágio de atraso (1172) para atraso da primeira parte do sinal decodificado adicional e para inserção de uma versão atrasada da primeira parte do sinal decodificado em um estágio de de-ênfase (1144) do segundo processador de decodificação para inicialização; um filtro de pré-ênfase (1173) e um estágio de atraso (1175) para filtrar e atrasar a primeira parte do sinal decodificado adicional e para inserir um estágio de atraso emitido em um filtro de síntese de previsão (1143) do segundo processador de decodificação para inicialização; um filtro de análise de previsão (1174) para geração de um sinal residual de previsão da primeira parte espectral decodificada adicional ou uma primeira parte do sinal decodificado adicional pré-enfatizada (1173) e para inserção de um sinal residual de previsão em um sintetizador de livro de códigos (1141) do segundo processador de decodificação (1200); ou um comutador (1480) para inserção da primeira parte do sinal decodificado adicional em um estágio de análise (1471) de um reamostrador (1210) do segundo processador de decodificação para inicialização.10. The audio decoder according to any one of claims 7 to 9, characterized in that the crossover processor (1170) comprises: a delay stage (1172) for delaying the first part of the additional decoded signal and for inserting a delayed version of the first part of the decoded signal in a de-emphasis stage (1144) of the second decoding processor for initialization; a pre-emphasis filter (1173) and a delay stage (1175) for filtering and delaying the first part of the additional decoded signal and for inserting an output delay stage into a preview synthesis filter (1143) of the second processing processor. decoding for boot; a prediction analysis filter (1174) for generating a prediction residual signal of the first additional decoded spectral part or an additional first pre-emphasized decoded signal part (1173) and for inserting a residual prediction signal into a signal synthesizer. codebook (1141) of the second decoding processor (1200); or a switch (1480) for inserting the first part of the additional decoded signal into an analysis stage (1471) of a resampler (1210) of the second decoding processor for initialization. 11. O decodificador de áudio de acordo com qualquer uma das reivindicações de 7 a 10, caracterizado pelo segundo processador de decodificação (1200) compreender, pelo menos, um bloco do grupo de blocos compreendendo: uma ACELP para decodificação de ganhos e um livro de códigos inovador; um estágio de síntese adaptativo do livro de códigos (1141); um pós-processador ACELP (1142); um filtro de síntese de previsão (1143); e um estágio de de-ênfase (1144).11. The audio decoder according to any one of claims 7 to 10, characterized in that the second decoding processor (1200) comprises at least one block of the group of blocks comprising: an ACELP for decoding gains and a book of innovative codes; an adaptive codebook synthesis stage (1141); an ACELP postprocessor (1142); a prediction synthesis filter (1143); and a de-emphasis stage (1144). 12. Um método para codificação de um sinal de áudio, caracterizado por compreender: uma primeira codificação (600) de uma primeira parte do sinal de áudio em um domínio de frequência, em que a primeira codificação (600) compreende: conversão (602) da primeira parte do sinal de áudio em uma representação de domínio de frequência, tendo linhas espectrais até uma frequência máxima da primeira parte do sinal de áudio; análise (604) da representação do domínio de frequência até a frequência máxima para determinar as partes espectrais primárias a serem codificadas com uma primeira resolução espectral e partes espectrais secundárias a serem codificadas com uma segunda resolução espectral, a segunda resolução espectral sendo mais baixa do que a primeira resolução espectral, em que a análise (604) determina uma primeira parte espectral (306) a partir das partes espectrais primárias, a primeira parte espectral sendo colocada, com relação à frequência, entre as duas partes espectrais secundárias (307a, 307b) a partir das partes espectrais secundárias; codificação (606) das partes espectrais primárias com a primeira resolução espectral e para codificação das partes espectrais secundárias com a segunda resolução espectral, em que a codificação da segunda parte espectral compreende o cálculo, a partir das partes espectrais secundárias, da informação de envelope espectral tendo a segunda resolução espectral; segunda codificação (610) de uma segunda parte do sinal de áudio diferente no domínio de tempo, em que a segunda codificação (610) compreende; conversão (900) da segunda parte do sinal de áudio a uma representação da taxa de amostragem mais baixa, a taxa de amostragem mais baixa sendo mais baixa do que a taxa de amostragem do sinal de áudio, em que a representação da taxa de amostragem mais baixa não inclui a banda alta do sinal de entrada; codificação de domínio de tempo (910) da representação da taxa de amostragem mais baixa; e codificação paramétrica (920) da banda alta; análise (620) do sinal de áudio e determinação de qual parte do sinal de áudio é a primeira parte do sinal de áudio codificada no domínio de frequência e qual parte do sinal de áudio é a segunda parte do sinal de áudio codificada no domínio de tempo; e modulação (630) de um sinal de áudio codificado, compreendendo uma primeira parte do sinal codificado para a primeira parte do sinal de áudio e uma segunda parte do sinal codificado para a segunda parte do sinal de áudio.12. A method for encoding an audio signal, characterized by comprising: a first encoding (600) of a first part of the audio signal in a frequency domain, wherein the first encoding (600) comprises: conversion (602) of the first part of the audio signal in a frequency domain representation, having spectral lines up to a maximum frequency of the first part of the audio signal; analysis (604) of the frequency domain representation up to the maximum frequency to determine the primary spectral parts to be encoded with a first spectral resolution and secondary spectral parts to be encoded with a second spectral resolution, the second spectral resolution being lower than the first spectral resolution, wherein the analysis (604) determines a first spectral part (306) from the primary spectral parts, the first spectral part being placed, with respect to frequency, between the two secondary spectral parts (307a, 307b) from the secondary spectral parts; coding (606) of the primary spectral parts with the first spectral resolution and for coding the secondary spectral parts with the second spectral resolution, wherein coding the second spectral part comprises calculating, from the secondary spectral parts, the spectral envelope information having the second spectral resolution; second encoding (610) of a second part of the audio signal different in the time domain, which the second encoding (610) comprises; converting (900) the second part of the audio signal to a lower sampling rate representation, the lower sampling rate being lower than the sampling rate of the audio signal, wherein the higher sampling rate representation low does not include the high band of the input signal; time domain encoding (910) of the lowest sampling rate representation; and high band parametric coding (920); analyzing (620) the audio signal and determining which part of the audio signal is the first part of the audio signal encoded in the frequency domain and which part of the audio signal is the second part of the audio signal encoded in the time domain ; and modulating (630) a coded audio signal, comprising a first part of the coded signal for the first part of the audio signal and a second part of the coded signal for the second part of the audio signal. 13. Método de decodificação de um sinal de áudio codificado, caracterizado por compreender: uma primeira decodificação (1120) de uma primeira parte do sinal de áudio codificado em um domínio de frequência, a primeira decodificação (1120) compreendendo: decodificação (1122) das partes espectrais primárias com uma resolução espectral alta e sintetização das partes espectrais secundárias, utilizando uma representação paramétrica das partes espectrais secundárias e, pelo menos, uma primeira parte espectral decodificada para obter uma representação espectral decodificada, em que a decodificação (1122) compreende a geração da primeira representação decodificada de modo que uma primeira parte espectral (306) seja colocada com relação à frequência entre as duas partes espectrais secundárias (307a, 307b); e conversão (1120) da representação espectral decodificada em um domínio de tempo para obter uma primeira parte do sinal de áudio decodificado; segunda decodificação (1140) de uma segunda parte do sinal de áudio codificado no domínio de tempo para obter uma segunda parte do sinal de áudio decodificado, e combinação (1160) da primeira parte espectral decodificada e da segunda parte espectral decodificada para obter um sinal de áudio decodificado, em que a segunda decodificação compreende: decodificação do domínio de tempo de banda baixa para obter um sinal de domínio de tempo de banda baixa; ampliação do sinal de domínio de tempo de banda baixa; sintetização da banda alta do sinal de saída do domínio de tempo; e mistura de uma banda alta sintetizada do sinal de domínio de tempo e de um sinal de domínio de tempo de banda baixa ampliado.13. Method of decoding a coded audio signal, characterized by comprising: a first decoding (1120) of a first part of the coded audio signal in a frequency domain, the first decoding (1120) comprising: decoding (1122) of primary spectral parts with a high spectral resolution and synthesizing the secondary spectral parts using a parametric representation of the secondary spectral parts and at least one first decoded spectral part to obtain a decoded spectral representation, wherein the decoding (1122) comprises generating of the first decoded representation such that a first spectral part (306) is placed with respect to the frequency between the two secondary spectral parts (307a, 307b); and converting (1120) the decoded spectral representation into a time domain to obtain a first part of the decoded audio signal; second decoding (1140) of a second part of the time domain encoded audio signal to obtain a second part of the decoded audio signal, and combining (1160) the first decoded spectral part and the second decoded spectral part to obtain a decoded audio, wherein the second decoding comprises: decoding the low band time domain to obtain a low band time domain signal; low-band time domain signal broadening; high-band synthesis of the time domain output signal; and mixing a synthesized high band time domain signal and an extended low band time domain signal.
BR122022012597-2A 2014-07-28 2015-07-24 AUDIO CODER AND DECODER USING A FREQUENCY DOMAIN PROCESSOR WITH FULL BAND GAP FILLING AND A TIME DOMAIN PROCESSOR BR122022012597B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP14178817.4 2014-07-28

Publications (1)

Publication Number Publication Date
BR122022012597B1 true BR122022012597B1 (en) 2023-07-11

Family

ID=

Similar Documents

Publication Publication Date Title
US11929084B2 (en) Audio encoder and decoder using a frequency domain processor with full-band gap filling and a time domain processor
RU2668397C2 (en) Audio signal coding and decoding device using frequency-domain processor, time-domain processor and cross-processor for continuous initialization
BR122022012597B1 (en) AUDIO CODER AND DECODER USING A FREQUENCY DOMAIN PROCESSOR WITH FULL BAND GAP FILLING AND A TIME DOMAIN PROCESSOR