BR122022016336B1 - Preenchimento de ruído na codificação de áudio multicanal - Google Patents

Preenchimento de ruído na codificação de áudio multicanal Download PDF

Info

Publication number
BR122022016336B1
BR122022016336B1 BR122022016336-0A BR122022016336A BR122022016336B1 BR 122022016336 B1 BR122022016336 B1 BR 122022016336B1 BR 122022016336 A BR122022016336 A BR 122022016336A BR 122022016336 B1 BR122022016336 B1 BR 122022016336B1
Authority
BR
Brazil
Prior art keywords
scale factor
spectral
scale
noise
bands
Prior art date
Application number
BR122022016336-0A
Other languages
English (en)
Inventor
Maria LUIS VALERO
Christian Helmrich
Johannes Hilpert
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 BR122022016336B1 publication Critical patent/BR122022016336B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/03Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/03Application of parametric coding in stereophonic audio systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)

Abstract

Codificação de áudio multicanal é conseguida uma melhor eficiência de codificação pela seguinte medida: o preenchimento de ruído das bandas de fator de escala quantizadas para zero é realizado usando as fontes de preenchimento de ruído que não sejam ruído criado artificialmente ou réplica espectral. Em particular, a eficiência de codificação de áudio multicanal pode tornar-se mais eficiente através da realização do preenchimento de ruído com base no ruído criado usando as linhas espectrais de um quadro anterior, ou um canal diferente do quadro atual, do sinal de áudio multicanal.

Description

Pedido Dividido do pedido de patente No. BR 11 2016 001138 4 depositado em 18/07/2014.
[001] O presente pedido diz respeito ao preenchimento de ruído na codificação de áudio multicanal.
[002] Os modernos sistemas de codificação de voz/áudio do domínio da frequência, tais como o codec Opus/Celt de IETF [1], MPEG-4 (HE-)AAC [2] ou, em particular, MPEG-D xHE-AAC (USAC) [3], oferecem meios para codificar quadros de áudio usando uma longa transformação - um bloco longo - ou oito transformações curtas sequenciais - blocos curtos - dependendo da estacionaridade temporal do sinal. Além disso, para a codificação de baixa taxa de bits, estes esquemas fornecem ferramentas para reconstruir coeficientes de frequência de um canal usando ruído pseudoaleatório ou coeficientes de frequência inferior do mesmo canal. No xHE-AAC, estas ferramentas são conhecidas como preenchimento de ruído e replicação de banda espectral, respetivamente.
[003] Porém, para uma entrada estereofónica muito tonal ou transiente, o preenchimento de ruído e/ou a replicação de banda espectral sozinhos limitam a qualidade de codificação alcançável a taxas de bits muito baixas, maioritariamente devido a demasiados coeficientes espectrais de ambos os canais precisarem de ser transmitidos explicitamente.
[004] Assim sendo, o objetivo é fornecer um conceito para realizar o preenchimento de ruído na codificação de áudio multicanal que permita uma codificação mais eficiente, especialmente com taxas de bits muito baixas.
[005] Este objetivo é conseguido pela matéria das reivindicações independentes anexas.
[006] O presente pedido baseia-se na descoberta de que na codificação de áudio multicanal pode ser conseguida uma eficiência de codificação se o preenchimento de ruído de bandas de fator aero-quantizado de um canal for realizado usando fontes de preenchimento de ruído que não o ruído artificialmente criado ou réplica espectral do mesmo canal. Em particular, a eficiência de uma codificação de áudio multicanal pode tornar-se mais eficiente através da realização do preenchimento de ruído com base no ruído criado usando as linhas espectrais de um quadro anterior, ou um canal diferente do quadro atual, do sinal de áudio multicanal.
[007] Ao utilizar linhas espectrais co-localizadas espectralmente de um quadro anterior ou linhas espectrais colocadas espectrotemporalmente de outros canais do sinal de áudio multicanal, é possível obter uma melhor qualidade do sinal de áudio multicanal reconstruído, especialmente com taxas de bits muito baixas, em que o requisito do codificador para quantizar para zero as linhas espectrais fica perto de uma situação de modo a quantizar para zero bandas de fator de escala como um todo. Graças ao preenchimento de ruído melhorado, um codificador pode depois, com menos penalização da qualidade, escolher quantizar para zero mais bandas de fator de escala, melhorando assim a eficiência da codificação.
[008] De acordo com um modelo do presente pedido, a fonte para realizar o preenchimento de ruído sobrepõe-se parcialmente à fonte usada para realizar a previsão estéreo de valor complexo. Em particular, o downmix de um quadro anterior pode ser usado como a fonte para preenchimento de ruído e co- utilizado como uma fonte para realizar, ou pelo menos melhorar, a estimativa da peça imaginária para realizar a previsão intercanal complexa.
[009] De acordo com modelos, um codec de áudio multicanal existente estende-se de um modo compatível com o retrocesso, de modo a sinalizar, numa base quadro-a-quadro, a utilização do preenchimento de ruído intercanal. Modelos específicos mencionados abaixo, por exemplo, aumentam xHE-AAC através de uma sinalização de um modo compatível com o retrocesso, com a sinalização a ligar e desligar o preenchimento de ruído intercanal que explora louras não utilizadas do parâmetro de preenchimento de ruído condicionalmente codificado.
[010] As implementações vantajosas do presente pedido são objeto das reivindicações dependentes. Os modelos privilegiados do presente pedido são descritos abaixo relativamente às figuras, entre as quais:
[011] A Fig. 1 mostra um diagrama de bloco de um decodificador do domínio da frequência de acordo com um modelo do presente pedido;
[012] A Fig. 2 mostra um diagrama esquemático que ilustra a sequência de espectros que forma os espectrogramas de canais de um sinal de áudio multicanal para facilitar a compreensão da descrição do decodificador da Fig. 1;
[013] A Fig. 3 mostra um diagrama esquemático que ilustra os espectros atuais de entre os espectrogramas apresentados na Fig. 2 para facilitar a compreensão da descrição da Fig. 1;
[014] A Fig. 4 mostra um diagrama de bloco de um decodificador paramétrico de áudio do domínio da frequência de acordo com um modelo alternativo, segundo o qual o downmix do quadro anterior é utilizado como uma base para o preenchimento de ruído intercanal; e
[015] A Fig. 5 mostra um diagrama de bloco de um codificador de áudio paramétrico do domínio da frequência acordo com um modelo.
[016] A Fig. 1 mostra um decodificador de áudio do domínio da frequência de acordo com um modelo do presente pedido. O decodificador é geralmente indicado usando o símbolo de referência 10 e compreende um identificador de banda de fator de escala 12, um desquantizador 14, um preenchedor de ruído 16 e um transformador inverso 18, assim como, um extrator de linha espectral 20 e um extrator de fator de escala 22. Outros elementos opcionais que podem ser compreendidos pelo decodificador 10 incluem um previsor estéreo complexo 24, um decodificador MS (lado central) 26 e uma ferramenta de filtro inverso TNS (Moldagem de Ruído Temporal), do qual duas instanciações 28a e 28b são apresentadas na Fig. 1. É ainda apresentado e abordado com mais detalhe em baixo um fornecedor de downmix com o símbolo de referência 30.
[017] O decodificador de áudio do domínio da frequência 10 da Fig. 1 é um decodificador paramétrico que suporta preenchimento de ruído, segundo o qual certa banda de fator de escala quantizada para zero é preenchida com ruído usando o fator de escala dessa banda de fator de escala como meio para controlar o nível do ruído preenchido nessa banda de fator de escala. Para além disso, o decodificador 10 da Fig. 1 representa um decodificador de áudio multicanal configurado para reconstruir um sinal de áudio multicanal a partir de um fluxo de dados recebidos 30. A Fig. 1, porém, concentra-se no elemento do decodificador 10 envolvido na reconstrução de um dos sinais de áudio multicanais codificados em fluxo de dados 30 e produz este canal (de saída) numa saída 32. O símbolo de referência 34 indica que o decodificador 10 pode compreender ainda elementos ou pode compreender algum controlo da operação da tubagem responsável pela reconstrução de outros canais do sinal de áudio multicanal, em que a descrição abordada abaixo indica como a reconstrução do decodificador 10 do canal em questão na saída 32 interage com a descodificação de outros canais.
[018] O sinal de áudio multicanal representado pelo fluxo de dados 30 pode compreender dois ou mais canais. De seguida, a descrição dos modelos do presente pedido concentra-se no caso de estéreo, onde o sinal de áudio multicanal meramente compreende dois canais, mas em princípio os modelos abordados de seguida podem ser prontamente transferidos para modelos alternativos que dizem respeito a sinais de áudio multicanal e a sua codificação que compreende mais do que dois canais.
[019] Tal como ficará claro mais adiante na descrição da Fig. 1 em baixo, o decodificador 10 da Fig. 1 é um decodificador de transformação. Isto é, de acordo com o decodificador subjacente à técnica de codificação 10, os canais são codificados em um domínio de transformação, tal como usar uma transformação revestida dos canais. Além disso, dependendo do criador do sinal de áudio, existem fases do tempo durante as quais os canais do sinal de áudio representam amplamente o mesmo conteúdo de áudio, desviando-se uns dos outros unicamente por mudanças menores ou determinísticas entre eles, tais como diferentes amplitudes e/ou fase para representar uma cena de áudio, onde a diferença entre os canais permite o posicionamento virtual de uma fonte de áudio da cena de áudio relativamente a posições virtuais do locutor associadas aos canais de saída do sinal de áudio multicanal. Em algumas outras fases temporais, porém, os diferentes canais do sinal de áudio podem ser mais ou menos não correlacionadas entre si e até podem representar, por exemplo, fontes de áudio completamente diferentes.
[020] Para ter em conta a possível relação de variação do tempo entre os canais do sinal de áudio, o decodificador subjacente ao codec de áudio 10 da Fig. 1 permite uma utilização, durante um tempo que varia, de diferentes medidas para explorar redundâncias inter-canais. Por exemplo, a codificação MS permite alternar entre representar os canais esquerdo e direito de um sinal de áudio estéreo tal colmo são ou como um par de canais M (centro) e S (lateral) que representam o downmix de canais esquerdo e direito e metade da sua diferença, respetivamente. Isto é, existem continuamente - em um sensor espectrotemporal - espectrogramas de dois canais transmitidos por fluxo de dados 38, mas o significado destes canais (transmitidos) pode mudar em tempo e relativamente aos canais de saída, respetivamente.
[021] A previsão estéreo complexa - outra ferramenta de exploração da redundância intercanal - permite, no domínio espectral, prever um dos coeficientes ou linhas espectrais do domínio da frequência do canal usando linhas espectralmente co-localizadas de outro canal. Em baixo são descritos mais detalhes sobre isto.
[022] Para facilitar a compreensão da descrição subsequente da Fig. 1 e seus componentes aqui apresentados, a Fig. 2 mostra, para o caso exemplificativo de um sinal de áudio estéreo representado pelo fluxo de dados 30, uma possível forma para codificar valores de amostra das linhas espectrais dos dois canais para o fluxo de dados 30, de modo a ser processado pelo decodificador 10 da Fig. 1. Em particular, enquanto na metade superior da Fig. 2 é apresentado o espectrograma 48 de um primeiro canal do sinal de áudio estéreo, a metade inferior da Fig. 2 ilustra o espectrograma 42 do outro canal do sinal de áudio estéreo. Novamente, vale a pena registar que o "significado" de espectrogramas 40 e 42 pode mudar ao longo do tempo devido, por exemplo, a uma alternância de tempo variável entre um domínio codificado MS e um domínio não codificado MS. Na primeira instância, os espectrogramas 40 e 42 referem-se a um canal M e S, respetivamente, enquanto no último caso os espectrogramas 40 e 42 se referem a canais esquerdo e direito. A alternância entre o domínio codificado MS e o domínio MS não codificado pode ser sinalizada no fluxo de dados 30.
[023] A Fig. 2 mostra que os espectrogramas 40 e 42 podem ser codificados em fluxo de dados 30 a uma resolução espectrotemporal de tempo variável. Por exemplo, os canais (transmitidos) podem ser subdivididos, de um modo alinhado no tempo, numa sequência de quadros indicada usando chavetas 44 que podem ser igualmente longas e encostarem uma na outra sem se sobreporem. Tal como foi mencionado, a resolução espectral, à qual os espectrogramas 40 e 42 estão representados no fluxo de dados 30, pode mudar ao longo do tempo. Preliminarmente, assume-se que a resolução espectrotemporal mude no tempo igualmente para espectrogramas 40 e 42, mas também é viável uma extensão desta simplificação, tal como se vai poder perceber na seguinte descrição. A mudança da resolução espectrotemporal é, por exemplo, sinalizada no fluxo de dados 38 em unidades dos quadros 44. Isto é, a resolução espectrotemporal muda em unidades de quadros 44. A mudança na resolução espectrotemporal dos espectrogramas 40 e 42 é alcançada mudando o comprimento de transformação e o número de transformações usado para descrever os espectrogramas 40 e 42 dentro de cada quadro 44. No exemplo da Fig. 2, os quadros 44b e 44b exemplificam quadros onde foi usada uma transformação longa para experimentar aí os canais do sinal de áudio, resultando na mais alta resolução espectral com um valor de amostra da linha espectral por linha espectral para cada um desses quadros por canal. Na Fig. 2, os valores de amostra das linhas espectrais são indicados usando pequenas cruzes dentro das caixas, em que as caixas, por sua vez, estão dispostas em filas e colunas e devem representar uma grelha temporal espectral com cada fila a corresponder a uma linha espectral e cada coluna a corresponder a sub-intervalos de quadros 44 que correspondem às transformações mais curtas envolvidas na formação de espectrogramas 40 e 42. Em particular, a Fig. 2 ilustra, por exemplo, para ao quadro 44d, que um quadro pode em alternativa ser sujeito a transformações consecutivas de comprimento mais curto, resultando assim, para esses quadros como o quadro 44d, em vários espectros temporalmente sequenciais de resolução espectral reduzida. São utilizadas, a título exemplificativo, oito transformações curtas para o quadro 44d, o que resulta numa amostragem espectrotemporal dos espectrogramas 40 e 42 dentro do quadro 42d, em linhas espectrais espaçadas entre si, de modo a que meramente cada oitava linha espectral esteja povoada, mas com um valor de amostra para cada uma das oito janelas de transformação ou transformações de comprimento mais curto usadas para transformar o quadro 44d. Para fins ilustrativos, pode ver-se na Fig. 2 que seriam viáveis outros números de transformações para um quadro, tais como a utilização de duas transformações de um comprimento de transformação que é, por exemplo, metade do comprimento de transformação das transformações longas para os quadros 44a e 44b, o que resulta numa amostragem da grelha espectrotemporal ou espectrogramas 40 e 42, onde são obtidos dois valores de amostra da linha espectral para cada segunda linha espectral, um dos quais se refere à transformação guia e o outro à transformação de rastreio.
[024] As janelas de transformação para as transformações, nas quais os quadros são subdivididos, são ilustradas na Fig. 2 por baixo de cada espectrograma que usa linhas tipo janela de sobreposição. A sobreposição temporal serve, por exemplo, para efeitos de TDAC (Cancelamento Da Distorção do Domínio do Tempo).
[025] Apesar de os modelos descritos mais abaixo também poderem ser implementados de outro modo, a Fig. 2 ilustra o caso em que a alternância entre diferentes resoluções espectrotemporais para os quadros individuais 44 é realizada de um modo que resulte para cada quadro 44 o mesmo número de valores da linha espectral indicado pelas pequenas cruzes na Fig. 2 para o espectrograma 40 e o espectrograma 42, residindo a diferença unicamente no modo como as linhas experimentam espectrotemporalmente o respectivo mosaico espectrotemporal que corresponde ao respectivo quadro 44, temporalmente alongado no tempo do respectivo quadro 44 e alongado espectralmente da frequência zero até à frequência máxima fmax.
[026] Usando setas na Fig. 2, a Fig. 2 ilustra relativamente ao quadro 44d que podem ser obtidos espectros similares para todos os quadros 44 através da distribuição adequada dos valores de amostra de linha espectral, que pertencem à mesma linha espectral exceto janelas de transformação curta dentro de um quadro de um canal, às linhas espectrais não ocupadas (vazias) dentro desse quadro até à próxima linha espectral ocupada desse mesmo quadro. Esses espectros resultantes são chamados a seguir de "espectros intercalados". Ao intercalar n transformações em um quadro de um canal, por exemplo, valores de linha espectral co-localizados espectralmente das transformações curtas n seguem-se mutuamente antes de seguir o conjunto de n valores de linha espectral co-localizados espectralmente das n transformações curtas da linha espectral espectralmente sucessora. Seria também viável uma forma intermédia de intercalar: em vez de intercalar todos os coeficientes da linha espectral de um quadro, seria viável intercalar meramente os coeficientes da linha espectral de um subconjunto adequado de transformações curtas de um quadro 44d. Em todo o caso, sempre que são discutidos os espectros de quadros dos dois canais que correspondem aos espectrogramas 40 e 42, estes espectros podem referir-se a intercalados ou a não intercalados.
[027] Para codificar eficientemente os coeficientes da linha espectral que representam os espectrogramas 40 e 42 através do fluxo de dados 30 passados para descodificar 10, os mesmos são quantizados. Para controlar a o ruído de quantização espectrotemporalmente, o tamanho do passo de quantização é controlado através de fatores de escala, que são definidos numa certa grelha espectrotemporal. Em particular, dentro de cada uma das sequências de espectros de cada espectrograma, as linhas espectrais são agrupadas em grupos de fatores de escala não sobrepostos e espectralmente consecutivos. A Fig. 3 mostra um espectro 46 do espectrograma 40 na sua metade superior, e um espectro co-temporal 48 do espectrograma 42. Como se pode ver aqui, os espectros 46 e 48 são subdivididos em bandas de fatores de escala ao longo do eixo espectral f, de modo a agrupar as linhas espectrais em grupos não sobrepostos. As bandas do fator de escala são ilustradas na Fig. 3 usando chavetas 50. Para simplificar, assume-se que os limites entre as bandas do fator de escala coincidem entre o espectro 46 e 48, mas não tem de ser assim.
[028] Isto é, através da codificação em fluxo de dados 30, os espectrogramas 40 e 42 são, cada um, subdivididos numa sequência temporal de espectros e cada um destes espectros está espectralmente subdividido em bandas de fator de escala, e para cada uma das bandas de fator de escala o fluxo de dados 30 codifica ou transporta informação sobre um fator de escala que corresponde à respetiva banda de fator de escala. Os coeficientes da linha espectral que encaixam numa respetiva banda de fator de escala 50 podem ser quantizados usando o respectivo fator de escala ou, no que diz respeito ao decodificador 18, podem ser desquantizados usando o fator de escala da correspondente banda de fator de escala.
[029] Antes de voltar à Fig. 1 e sua descrição, deve assumir-se a seguir que o canal especificamente tratado, isto é, aquele com cuja descodificação os elementos específicos do decodificador da Fig., 1 exceto 34, estão envolvidos, é o canal transmitido do espectrograma 40 que, tal como já foi referido acima, pode representar um dos canais esquerdo e direito, um canal M ou um canal S com a assunção que o sinal de áudio multicanal codificado em fluxo de dados 30 é um sinal de áudio estéreo.
[030] Enquanto o extrator da linha espectral 20 está configurado para extrair a linha espectral, isto é, os coeficientes da linha espectral para quadros 44 a partir do fluxo de dados 30, o extrator do fator de escala 22 está configurado para extrair para cada quadro 44 os correspondentes fatores de escala. Com essa finalidade, os extratores 20 e 22 podem usar a descodificação entrópica de acordo com um modelo, e o extrator do fator de escala 22 está configurado para sequencialmente extrair: os fatores de escala de, por exemplo, o espectro 46 na Fig. 3, isto é, os fatores de escala das bandas do fator de escala 50, do fluxo de dados 30 usando a descodificação entrópica de contexto adaptativo. A ordem da descodificação sequencial pode seguir a ordem espectral definida entre as bandas do fator de escala guia, por exemplo, da frequência mais baixa para a frequência mais alta. O extrator do fator de escala 22 pode usar a descodificação entrópica de contexto adaptativo e pode determinar o contexto para cada fator de escala dependendo dos fatores de escala já extraídos numa vizinhança espectral de um fator de escala atualmente extraído, tal como dependente do fator de escala da banda de fator de escala imediatamente anterior. Em alternativa, o extrator do fator de escala 22 pode preditivamente descodificar os fatores de escala a partir do fluxo de dados 30, tal como por exemplo usando a descodificação diferencial enquanto prevê um fator de escala atualmente descodificado com base em qualquer um dos fatores de escala anteriormente descodificados, tal como o imediatamente anterior. Notavelmente, este processo de extração do fator de escala é agnóstico relativamente a um fator de escala que pertence a uma banda de fator de escala povoada exclusivamente por linhas espectrais quantizadas para zero, ou povoada por linhas espectrais, entre as quais pelo menos uma está quantizada para um valor que não zero. Um fator de escala, que pertence a uma banda de fator de escala povoada apenas por linhas espectrais quantizadas para zero, pode servir tanto como uma base de previsão para um fator de escala subsequentemente descodificado, que possivelmente pertence a uma banda de fator de escala povoada por linhas espectrais, entre as quais uma que não é zero, e uma previsão com base em um fator de escala anteriormente descodificado, que possivelmente pertence a uma banda de fator de escala povoada por linhas espectrais, entre as quais uma não é zero.
[031] Por uma mera questão de exaustividade, note-se que o extrator de linha espectral 20 extrai os coeficientes da linha espectral, que está povoada com as bandas de fator de escala 58, usando igualmente, por exemplo, a codificação entrópica e/ou codificação de previsão. A codificação entrópica pode usar a adaptatividade de contexto com base em coeficientes de linha espectral numa vizinhança espectrotemporal de um coeficiente de linha espectral atualmente descodificado, e de igual modo, a previsão pode ser uma previsão espectral, uma previsão temporal ou uma previsão espectrotemporal que prevê um coeficiente de linha espectral atualmente descodificado com base nos coeficientes de linha espectral anteriormente descodificados numa sua vizinhança espectrotemporal. Para uma maior eficiência de codificação, o extrator de linha espectral 20 pode ser configurado para realizar a descodificação das linhas espectrais ou dos coeficientes de linha em tuplos, que recolhem ou agrupam linhas espectrais ao longo do eixo de frequência.
[032] Assim sendo, na saída do extrator de linha espectral 20, os coeficientes de linha espectral são fornecidos, por exemplo, em unidades de espectros, tal como o espectro 46 que recolhe, por exemplo, todos os coeficientes de linha espectral de um quadro correspondente, ou em alternativa que recolhe todos os coeficientes de linha espectral de certas transformações curtas de um quadro correspondente. Na saída do extrator de fator de escala 22 saem, por sua vez, correspondentes fatores de escala do respectivo espectro.
[033] O identificador da banda de fator de escala 12, assim como, o desquantizador 14 têm entradas de linha espectral acopladas para a saída do extrator de linha espectral 20, e o desquantizador 14 e preenchedor de ruído 16 têm entradas de fator de escala acoplados à saída do extrator do fator de escala 22. O identificador de banda de fator de escala 12 está configurado para identificar as chamadas bandas de fator de escala quantizadas para zero dentro de um espetro atual 46, isto é, as bandas de fator de escala dentro das quais todas as linhas espectrais estão quantizadas para zero, tal modo a banda de fator de escala 50c na Fig. 3, e as restantes bandas de fator de escala do espectro dentro da qual pelo menos uma linha espectral não está quantizada para zero. Em particular, na Fig. 3 os coeficientes de linha espectral são indicados usando áreas contornadas na Fig. 3. É visível, por isso, que no espectro 46, todas as bandas de fator de escala, exceto a banda de fator de escala 50b, têm pelo menos uma linha espectral, cujo coeficiente de linha espectral está quantizado para um valor que não zero. Mais tarde ficará claro que as bandas de fator de escala quantizadas para zero, tal como 50d, formam o sujeito do preenchimento de ruído intercanal descrito mais abaixo. Antes de continuar com a descrição, note-se que o identificador de banda de fator de escala12 pode restringir a sua identificação a apenas um subconjunto apropriado das bandas de fator de escala 50, tal como às bandas de fator de escala superiores a certa frequência inicial 52. Na Fig. 3, isto iria restringir o procedimento de identificação às bandas de fator de escala 58d, 58e e 50f.
[034] O identificador de banda de fator de escala 12 informa o preenchedor de ruído 16 sobre essas bandas de fator de escala que são bandas de fator de escala quantizadas para zero. O desquantizador 14 usa os fatores de escala associados a um espectro recebido 46, de modo a desquantizar ou escalonar os coeficientes de linha espectral das linhas espectrais do espectro 46 de acordo com os fatores de escala associados, isto é, os fatores de escala associados às bandas de fator de escala 50. Em particular, o desquantizador 14 desquantiza e escalona coeficientes de linha espectral que encaixam numa respetiva banda de fator de escala com o fator de escala associado à respetiva banda de fator de escala. A Fig. 3 deve ser interpretada como mostrando o resultado da desquantização das linhas espectrais.
[035] O preenchedor de ruído 16 obtém a informação sobre bandas de fator de escala quantizadas para zero que constituem o sujeito do preenchimento de ruído seguinte, do espectro desquantizado, assim como, dos fatores de escala de pelo menos essas bandas de fator de escala identificadas como bandas de fator de escala quantizadas para zero e uma sinalização obtida a partir do fluxo de dados 30 para o quadro atual que revela se o preenchimento de ruído intercanal deve ser realizado para o quadro atual.
[036] O processo de preenchimento de ruído intercanal descrito no exemplo que e segue envolve atualmente dois tipos de preenchimento de ruído, nomeadamente a inserção de um ruído de fundo 54 que pertence a todas as linhas espectrais que foram quantizadas para zero independentemente da sua potencial relação com qualquer banda de fator de escala quantizada para zero, e o atual procedimento de preenchimento de ruído inter-canal. Apesar de esta combinação ser aqui descrita a seguir, deve enfatizar-se que a inserção do ruído de fundo pode ser omitido de acordo com um modelo alternativo. Além disso, a sinalização relativa à ligação e desconexão do preenchimento de ruído do quadro atual e obtida a partir do fluxo de dados 38 pode estar relacionada com o preenchimento de ruído intercanal apenas, ou pode controlar a combinação dos dois tipos de preenchimento de ruído em conjunto.
[037] No que diz respeito à inserção de ruído de fundo, o preenchedor de ruído 16 pode operar do seguinte modo. Em particular, o preenchedor de ruído 16 pode empregar a criação de ruído artificial, tal como um gerador de números pseudoaleatórios ou outra fonte de aleatoriedade, para preencher linhas espectrais, cujo coeficiente de linha espectral era zero. O nível de ruído de fundo 54 assim inserido nas linhas espectrais quantizadas para zero pode ser definido de acordo com uma sinalização explícita dentro do fluxo de dados 30 para o quadro atual ou "Le current spectrum 46. O "nível" de ruído de fundo 54 pode ser determinado usando um valor médio quadrático (RMS) ou medição de energia, por exemplo.
[038] A inserção do ruído de fundo representa, assim, uma espécie de pré-enchimento para essas bandas de fator de escala que foram identificadas sendo quantizadas para zero, tal como uma banda de fator de escala 50d na Fig. 3. Também afeta outras bandas de fator de escala para além das quantizadas para zero, mas as últimas estão ainda sujeitas ao seguinte preenchimento de ruído intercanal. Tal como descrito abaixo, o processo de preenchimento de ruído intercanal consiste em preencher bandas de fator de escala quantizadas para zero até um nível que é controlado através do fator de escala da respetiva banda de fator de escala quantizada para zero. A última pode ser diretamente usada para esse fim devido a todas as linhas espectrais da respetiva banda de fator de escala quantizada para zero que está a ser quantizada para zero. Não obstante, o fluxo de dados 30 pode conter uma sinalização adicional de um parâmetro, para cada quadro ou cada espectro 46, que normalmente aplica-se aos fatores de escala de todas as bandas de fator de escala quantizadas para zero do correspondente quadro ou espectro 46 e resulta, quando aplicado aos fatores de escala das bandas de fator de escala quantizadas para zero pelo preenchedor de ruído 16, em um respectivo nível de enchimento que é individual para as bandas de fator de escala quantizadas para zero. Isto é, o preenchedor de ruído 16 pode modificar, usando a mesma função de modificação, para cada banda de fator de escala quantizada para zero do espectro 46, o fator de escala da respetiva banda de fator de escala usando o parâmetro referido contido no fluxo de dados 30 para esse espectro 46 do quadro atual, de modo a obter um nível de enchimento pretendido para a respetiva banda de fator de escala quantizada para zero que mede, em termos de energia ou RMS, por exemplo, o nível até ao qual o processo de preenchimento de ruído intercanal deve preencher a respetiva banda de fator de escala quantizada para zero com (opcionalmente) ruído adicional (para além do ruído de fundo 54).
[039] Em particular, para realizar o preenchimento de ruído intercanal 56, o preenchedor de ruído 16 obtém uma parte espectralmente co-localizada do outro espectro do canal 48, em um estado já amplamente ou totalmente descodificado, e copia a parte do espectro 48 obtida para a banda de fator de escala quantizada para zero, para a qual esta parte foi espectralmente co- localizada, escalonada de modo a que o nível de ruído geral resultante dentro dessa banda de fator de escala quantizada para zero - derivada por uma integração sobre as linhas espectrais da respetiva banda de fator de escala - iguale o nível de preenchimento acima referido e obtido a partir do fator de escala da banda de fator de escala quantizada para zero. Com esta medida, a tonalidade do ruído preenchido na respetiva banda de fator de escala quantizada para zero é melhorada comparativamente com o ruído criado artificialmente, tal como o que constitui a base do ruído de fundo 54, e também é melhor do que uma cópia/réplica espectral descontrolada a partir de linhas de frequência muito baixas dentro do mesmo espectro 46.
[040] Para ser ainda mais preciso, o preenchedor de ruído 16 localiza, para uma banda atual, tal como 50d, uma parte espectralmente co-localizada dentro do espectro 48 do outro canal, escalona as suas linhas espectrais dependendo do fator de escala da banda de fator de escala quantizada para zero 50d de um modo que acabou de ser descrito, envolvendo opcionalmente algum desvio adicional ou parâmetro de fator de ruído contido no fluxo de dados 30 para o quadro atual ou espectro 46, de modo a que o seu resultado preencha a respetiva banda de fator de escala quantizada para zero 50d até ao nível desejado conforme definido peio fator de escala da banda de fator de escala quantizada para zero 50d. No presente modelo, isto quer dizer que o preenchimento é feito de um modo aditivo relativamente ao ruído de fundo 54.
[041] De acordo com um modelo simplificado, o resultante espectro preenchido com ruído 46 seria diretamente introduzido na entrada do transformador inverso 18 para obter, para cada janela de transformação, à qual pertencem os coeficientes de linha espectral do espectro 46, uma parte do domínio de tempo do respectivo sinal de áudio de canal, em que (não ilustrado na Fig. 1) um processo de adição por sobreposição pode combinar estas partes do domínio do tempo. Isto é, se o espectro 46 for um espectro não intercalado, cujos coeficientes de linha espectral linha meramente pertencem a uma transformação, então o transformador inverso 18 sujeito essa transformação, de modo a resultar numa parte do domínio do tempo e cujas extremidades anteriores e de rastreio podem ser sujeitas a um processo de adição por sobreposição com partes do domínio do tempo anteriores e de rastreio obtidas transformando inversamente as transformações inversas anteriores e sucessoras para, por exemplo, anular a distorção do domínio do tempo. Se, porém, o espectro 46 tiver intercalado os coeficientes de linha espectral de mais de uma transformação consecutiva, o transformador inverso 18 sujeita os mesmos a transformações inversas separadas para obter uma parte do domínio do tempo por transformação inversa, e de acordo com a ordem temporal aí definida, estas partes do domínio do tempo seriam sujeitas a um processo de adição por sobreposição, assim como, relativamente a partes do domínio do tempo anteriores e sucessoras de outros espectros ou quadros.
[042] No entanto, por uma questão de exaustividade, note-se que o processamento pode continuar no espectro preenchido com ruído. Como se pode ver na Fig. 1, o filtro TNS inverso pode realizar uma filtração TNS inversa no espectro preenchido com ruído. Isto é, controlado através de coeficientes de filtro TNS para o quadro atual ou espectro 46, o espectro obtido até agora é sujeito a uma filtração linear ao longo da direção espectral.
[043] Com ou sem filtração TNS inversa, o previsor estéreo complexo 24 pode depois tratar o espectro como um residual de previsão de uma previsão intercanal. Mais especificamente, o previsor intercanal 24 pode usar uma parte espectralmente co-localizada do outro canal para prever o espectro 46 ou pelo menos um subconjunto das suas bandas de fator de escala 50 do mesmo. O processo de previsão complexo é ilustrado na Fig. 3 com caixa tracejada 58 relativamente à banda de fator de escala 50b. Isto é, o fluxo de dados 30 pode conter parâmetros de previsão intercanal que controlam, por exemplo, qual das bandas de fator de escala 50 deve ser prevista em intercanal e qual não deve ser prevista desse modo. Além disso, os parâmetros de previsão intercanal no fluxo de dados 30 podem ainda compreender fatores de previsão intercanal complexos aplicados pelo previsor intercanal 24, de modo a obter o resultado de previsão intercanal. Estes fatores podem estar contidos no fluxo de dados 30 individualmente para cada banda de fator de escala ou, em alternativa, cada grupo de um ou mais bandas de fator de escala, para as quais a previsão intercanal é ativada ou é sinalizada para ser ativada no fluxo de dados 30.
[044] A fonte da previsão intercanal pode, conforme indicado na Fig. 3, ser o espectro 48 do outro canal. Para ser mais preciso, a fonte da previsão intercanal pode ser a parte espectralmente co-localizada do espectro 48, co- localizado para a banda de fator de escala 50b para ser prevista em intercanal, aumentada por uma estimativa da sua parte imaginária. A estimativa da parte imaginária pode ser realizada com base na parte espectralmente co-localizada 60 do próprio espectro 48, e/ou pode usar um downmix dos canais já descodificados do quadro anterior, isto é, o quadro imediatamente anterior ao quadro já descodificado, ao qual o espectro 46 pertence. De facto, o previsor intercanal 24 adiciona às bandas de fator de escala por prever em intercanal, tal como a banda de fator de escala 50b na Fig. 3, o sinal de previsão obtido conforme descrito anteriormente.
[045] Tal como já foi registado na descrição anterior, o canal ao qual pertence o espectro 46 pode ser um canal codificado MS ou pode ser um canal relacionado com altifalante, tal como um canal esquerdo ou direito de um sinal de áudio estéreo. Correspondentemente, opcionalmente um decodificador MS 26 sujeita o espectro previsto opcionalmente em intercanal 46 à descodificação MS, e realiza no mesmo, por linha espectral ou espectro 46, uma adição ou subtração com linhas espectrais espectralmente correspondente do outro canal que corresponde ao espectro 48. Por exemplo, apesar de não ser apresentado na Fig. 1, o espectro 48 tal como é apresentado na Fig. 3 foi obtido através de parte 34 do decodificador 10 de forma análoga à descrição apresentada acima relativamente ao canal ao qual pertence o espectro 46, e o módulo de descodificação MS 26, ao realizar a descodificação MS, sujeita os espectros 48 e 48 a uma adição tipo espectral ou subtração tipo espectral, com ambos os espectros 46 e 48 na mesma fase dentro da linha de processamento, ou seja, ambos acabaram de ser obtidos por previsão intercanal, por exemplo, ou ambos acabaram de ser obtidos por preenchimento de ruído ou filtração TNS inversa.
[046] Note-se que, opcionalmente, a descodificação MS pode ser realizada de um modo global relativamente a todo o espectro 46, ou pode ser individualmente ativável por fluxo de dados 30 em unidades de, por exemplo, bandas de fator de escala 50. Por outras palavras, a descodificação MS pode ser ligada ou desligada usando uma respetiva sinalização no fluxo de dados 30 em unidades de, por exemplo, quadros ou alguma resolução espectrotemporal mais fina, tal como por exemplo individualmente para as bandas de fator de escala dos espectrais 46 e/ou 48 dos espectrogramas 40 e/ou 42, em que se presume que estão definidos limites idênticos de ambas as bandas de fator de escala do canal.
[047] Conforme ilustrado na Fig. 1, a filtração TNS inversa pode ser também realizada, através da filtração TNS inversa 28, depois de qualquer processamento intercanal, tal como uma previsão intercanal 58 ou a descodificação MS através do decodificador MS 26. A realização em frente ou a jusante do processamento intercanal pode ser fixada ou pode ser controlada através de uma respetiva sinalização para cada quadro no fluxo de dados 30 ou em algum outro nível de granularidade. Sempre que é realizada uma filtração TNS inversa, os respectivos coeficientes do filtro TNS presentes no fluxo de dados para o espectro atual 46 controlam um filtro TIVS, isto é, um filtro de previsão linear ao longo da direção espectral para assim filtrar linearmente o espectro recebido no respectivo módulo do filtro TNS inverso 28a e/ou 28b.
[048] Assim sendo, o espectro 46 que chega à entrada do transformador inverso 18 pode ter sido sujeito a outro processamento conforme descrito. Mais uma vez, a descrição acima não deve ser entendida como se todas estas ferramentas opcionais tivessem de estar presentes concorrentemente ou não. Estas ferramentas podem estar presentes no decodificador 10 parcialmente ou coletivamente.
[049] Em todo o caso, o espectro resultante na entrada do transformador inverso representa a reconstrução final do sinal de saída do canal e forma a base do downmix anteriormente mencionado para o quadro atual, que serve, conforme descrito relativamente à previsão complexa 58, de base para a potencial estimativa do caminho imaginário para o próximo quadro por descodificar. Pode ainda servir de reconstrução final para a previsão intercanal de outro canal que não aquele com o qual os elementos, exceto 34 na Fig. 1, estão relacionados. Este respectivo downmix é formado pelo fornecedor de downmix 31 através da combinação deste espectro final 46 com a respetiva versão final do espectro 48. A última entidade, isto é, a respetiva versão final do espectro 48, formou a base para a previsão intercanal complexa no previsor 24.
[050] A Fig. 4 mostra uma alternativa relativamente à Fig. 1, na medida em que a base para o preenchimento do ruído intercanal é representada pelo downmix de linhas espectrais espectralmente co-localizadas de um quadro anterior, de modo a que, no caso opcional de usar a previsão intercanal complexa, a fonte desta previsão intercanal complexa é usada duas vezes, como uma fonte para o preenchimento de ruído intercanal, assim como, uma fonte para a estimativa do caminho imaginário na previsão intercanal complexa. A Fig. 4 mostra um decodificador 10 que inclui a parte 70 que pertence à descodificação do primeiro canal, ao qual pertence o espectro 46, assim como, a estrutura interna da outra parte anteriormente mencionada 34, que é envolvida na descodificação do outro canal que compreende o espectro 48. Foi usado o mesmo símbolo de referência para os elementos internos da parte 70 por um lado e 34 por outro lado. Tal como se pode ver, a construção é a mesma. Na saída 32, é produzido um canal do sinal de áudio estéreo, e na saída do transformador inverso 18 da segunda parte do decodificador 34, é produzido o outro canal (de saída) do sinal de áudio estéreo, sendo esta saída indicada pelo símbolo de referência 74. Mais uma vez, os modelos acima descritos podem ser facilmente transferidos para um caso que usa mais do quem dois canais.
[051] O fornecedor de downmix 31 é co-utilizado por ambas as partes 70 e 34 e recebe os espectros temporalmente co-localizados 48 e 46 dos espectrogramas 40 e 42, de modo a formar um downmix com base nele, somando estes espectros numa linha espectral através da base da linha espectral, potencialmente formando a sua média ao dividir a soma em cada linha espectral pelo número de canais sujeitos a downmix, isto é, dois no caso da Fig. 4. Na saída do fornecedor de downmix 31, o downmix do quadro anterior resulta desta medição. Note-se que, neste sentido, no caso do quadro anterior com mais do que um espectro em qualquer um dos espectrogramas 40 e 42, existem diferentes possibilidades sobre como o fornecedor de downmix 31 opera nesse caso. Por exemplo, nesse caso, o fornecedor de downmix 31 pode usar o espectro das transformações de rastreio do quadro atual ou pode usar um resultado de intercalação de intercalar todos os coeficientes de linha espectral do quadro atual do espectrograma 40 e 42. O elemento de atraso 74 apresentado na Fig. 4, conforme está ligado à saída do fornecedor de downmix 31, mostra que o downmix assim fornecido na saída do fornecedor de downmix 31 forma o downmix do quadro anterior 76 (ver Fig. 3 relativamente ao preenchimento de ruído intercanal 56 e previsão complexa 58, respetivamente). Assim sendo, a saída do elemento de atraso 74 é ligada às entradas de previsores intercanal 24 de partes do decodificador 34 e 70 por um lado, e às entradas dos preenchedores de ruído 16 de partes do decodificador 70 e 34, por outro lado.
[052] Isto é, enquanto na Fig. 1, o preenchedor de ruído 16 recebe o outro espectro temporalmente co-localizado finalmente reconstruído do canal 48 do mesmo quadro atual como base do preenchimento de ruído intercanal, na Fig. 4 o preenchimento de ruído intercanal é realizado, em vez disso, com base no downmix do quadro anterior conforme fornecido pelo fornecedor de downmix 31. O modo como o preenchimento de ruído intercanal é realizado é o mesmo. Isto é, o preenchedor de ruído intercanal 16 agarra uma parte espectralmente co-localizada do respectivo espectro do outro espectro de canal do quadro atual, no caso da Fig., 1, e o espectro final amplamente ou totalmente descodificado conforme obtido do quadro anterior que representa o downmix do quadro anterior, no caso da Fig. 4, adiciona a mesma parte "original" às linhas espectrais dentro da banda de fator de escala por preencher com ruído, tal como 50d na Fig. 3, escalonada de acordo com um nível de ruído pretendido determinado pelo respectivo fator de escala da banda de fator de escala.
[053] Concluindo a discussão acima dos modelos que descrevem o preenchimento de ruído intercanal em um decodificador de áudio, deve ser evidente aos leitores entendidos na matéria que antes de adicionar a parte espectralmente agarrada ou temporalmente co-localizada do espectro “de origem” às linhas espectrais da banda de fator de escala "pretendida", pode ser aplicado certo pré-processamento às linhas espectrais "de origem” sem sair do conceito geral do preenchimento intercanal. Em particular, pode ser benéfico aplicar uma operação de filtração, tal como por exemplo um aplanamento espectral ou remoção da inclinação, às linhas espectrais da região "de origem" por adicionar à banda de fator de escala “pretendida", tal como 50d na Fig., 3, para melhorar a qualidade de áudio do processo de preenchimento de ruído intercanal. De igual modo, e como um exemplo de um espectro amplamente (em vez de totalmente) descodificado, a parte "de origem" anteriormente mencionada pode ser obtida a partir de um espectro que ainda não tenha sido filtrado por um filtro TNS inverso (isto é, de síntese) disponível.
[054] Assim sendo, os modelos acima dizem respeito a um conceito de um preenchimento de ruído intercanal. De seguida, é descrita uma possibilidade sobre como o conceito acima de preenchimento de ruído intercanal pode ser incorporado em um codec existente, nomeadamente xHE-AAC, com compatibilidade semi-regressiva. Em particular, descreve-se a seguir uma implementação privilegiada dos modelos acima mencionados, de acordo com os quais uma ferramenta de preenchimento estéreo é incorporada em um codec de áudio baseado em xHE AAC de um modo de sinalização com compatibilidade semi-regressiva. Através da utilização da implementação descrita mais abaixo, para certos sinais de estéreo, o preenchimento estéreo de coeficientes de transformação em qualquer um dos dois canais em um codec de áudio baseado em umMPEG-D xHE-AAC (USAC) é viável, melhorando assim a qualidade de codificação de certos sinais de áudio especialmente com taxas de bis baixas. A ferramenta de preenchimento estéreo é sinalizada com compatibilidade semi-regressiva, para que os decodificadores xHE-AAC legados possam analisar e descodificar as taxas de bits sem erros de áudio óbvios ou abandonos. Tal como já foi descrito acima, pode ser obtida uma melhor qualidade geral se um codificador de áudio puder usar uma combinação de coeficientes anteriormente descodificados/quantizados de dois canais estéreos para reconstruir coeficientes (não transmitidos) quantizados para zero de um dos canais atualmente descodificados. Por isso, é desejável permitir esse preenchimento estéreo (de coeficientes de canal anteriores até aos presentes) adicionalmente à replicação de banda espectral (de coeficientes de canal de baixa para alta frequência) e ao preenchimento de ruído (de uma fonte pseudoaleatória não relacionada) em codificadores de áudio, especialmente xHE-AAC ou codificadores baseados nisso.
[055] Para permitir fluxos de bits codificados com preenchimento estéreo por ler e analisar por decodificadores xHE-AAC legados, a desejada ferramenta de preenchimento estéreo deve ser usada com compatibilidade semi- regressiva: a sua presença não deve fazer com que os decodificadores legados parem - ou nem sequer comecem - a descodificar. A prontidão do fluxo de bits através da infraestrutura xHE-AAC também pode facilitar a adoção do mercado.
[056] Para satisfazer a vontade acima mencionada da compatibilidade semi-regressiva para uma ferramenta de preenchimento estéreo no contexto de xHE-AAC ou seus potenciais derivados, a seguinte implementação envolve a funcionalidade do preenchimento estéreo, assim como, a capacidade para sinalizar o mesmo mediante sintaxe no fluxo de dados atualmente dedicado ao preenchimento de ruído. A ferramenta de preenchimento estéreo funcionaria em linha com a descrição acima. Em um par de canal com configuração de janela comum, um coeficiente de uma banda de fator de escala quantizada para zero é, quando a ferramenta de preenchimento estéreo está ativada, como uma alternativa (ou, conforme descrito, adicionalmente) ao preenchimento de ruído, reconstruída por uma soma ou diferença dos coeficientes do quadro anterior em qualquer um dos dois canais, preferencialmente no canal direito. O preenchimento estéreo é realizado de modo idêntico ao preenchimento de ruído. A sinalização seria feita mediante a sinalização do preenchimento de ruído de xHE-AAC. O preenchimento estéreo é transportado através da informação secundária de preenchimento de ruído de 8 bits. Isto é viável porque o padrão MPEG-D USAC [4] anuncia que todos os 8 bits são transmitidos mesmo que o nível de ruído a aplicar seja zero. Nessa situação, alguns dos bits de preenchimento de ruído podem ser reutilizados para a ferramenta de preenchimento estéreo.
[057] A compatibilidade semi-regressiva relativamente à análise e reprodução do fluxo de bits através de decodificadores xHE-AAC legados é assegurada do seguinte modo. O preenchimento estéreo é sinalizado mediante um nível de ruído de zero (isto é, os primeiros três bits de preenchimento de ruído têm todos o valor zero) seguidos por cinco bits que não são zero (que tradicionalmente representam um desvio de ruído) contendo informação secundária para a ferramenta de preenchimento estéreo, assim como, o nível de ruído que falta. Uma vez que um decodificador xHE-AAC legado não considera o valor do desvio de ruído de 5 bits se o nível de ruído de 3 bits for zero, a presença da ferramenta de preenchimento estéreo que apenas sinaliza tem um efeito sobre o preenchimento de ruído no decodificador legado: o preenchimento de ruído é desligado, uma vez que os primeiros três bits são zero, e o restante da operação de descodificação funciona conforme pretendido. Em particular, o preenchimento estéreo não é realizado porque é operado como o processo de preenchimento de ruído, que está desativado. Por conseguinte, um decodificador legado continua a oferecer uma descodificação "elegante" do fluxo de bits 30 melhorado porque não precisa de silenciar o sinal de saída nem mesmo abortar a descodificação quando chega a um quadro com o preenchimento estéreo ligado. Naturalmente, é porém capaz de fornecer uma reconstrução pretendida correta dez coeficientes de linha preenchidos em estéreo, o que leva a uma pior qualidade nos quadros em questão comparativamente com a descodificação através de um decodificador apropriado capaz de lidar apropriadamente com a nova ferramenta de preenchimento estéreo. Não obstante, presumindo que a ferramenta de preenchimento estéreo é utilizada como previsto, isto é, apenas na entrada estéreo com baixas taxas de bits, a qualidade através dos decodificadores xHE-AAC deve ser melhor do que se os quadros em questão saíssem devido ao silêncio ou causassem outros erros de reprodução óbvios.
[058] De seguida, é apresentada uma descrição detalhada sobre como uma ferramenta de preenchimento estéreo pode ser incorporada como uma extensão no codec xHE-AAC.
[059] Quando incorporada em um padrão, a ferramenta de preenchimento estéreo pode ser descrita do seguinte modo. Em particular, essa ferramenta de preenchimento estéreo (SF) representaria uma nova ferramenta na parte do domínio da frequência (FD) do áudio 3D MPEG-H. Em linha com a discussão acima, o objetivo dessa ferramenta de preenchimento estéreo seria a reconstrução paramétrica dos coeficientes espectrais MDCT a baixas taxas de bits, idêntico a que já se consegue com o preenchimento de ruído de acordo com a secção 7.2 do padrão descrito em [4]. No entanto, ao contrário do preenchimento de ruído, que emprega uma fonte de ruído pseudoaleatória, para criar valores espectrais MDCT de qualquer canal FD, SF estaria disponível também para reconstruir os valores MDCT do canal direito de um par de canais estéreos codificados em conjunto que usam um downmix dos espectros direito e esquerdo do quadro anterior. De acordo com a implementação abaixo definida, SF está sinalizado com compatibilidade sim- regressiva através da informação secundária de preenchimento de ruído que pode ser analisada corretamente através de um decodificador MPEG-D USAC legado.
[060] A ferramenta pode ser descrita assim. Quando SF está ativo em um quadro FD estéreo conjunto, os coeficientes MDCT de bandas de fator de escala vazias (isto é, totalmente quantizadas para zero) do canal direito (segundo), tal como 50d, são substituídos por uma soma ou diferença dos correspondentes coeficientes MDCT dos canais direito e esquerdo descodificados do quadro anterior (se FD). Se o preenchimento de ruído legado estiver ativo para o segundo canal, os valores pseudoaleatórios são também adicionados a cada coeficiente. Os resultantes coeficientes de cada banda de fator de escala são depois escalonados, de modo a que a RMS (raiz do quadro médio do coeficiente) de cada banda corresponda ao valor transmitido através desse fator de escala da banda. Ver a Secção 7.3 do padrão em [4].
[061] Alguns constrangimentos operacionais podem ser fornecidos para o uso da nova ferramenta SF no padrão MPEG-D USAC. Por exemplo, a ferramenta SF pode estar disponível para usar apenas no canal direito FD de um par de canais FD comum, isto é, um elemento de par de canal que transmite um StereoCoreToollnfo( ) com common_window == 1. Para além disso, devido à sinalização com compatibilidade semi-regressiva, a ferramenta SF pode estar disponível para usar quando noiseFilling == 1 no contentor de sintaxe UsacCoreConfig( ). Se qualquer um dos canais no par estiver no core_mode LPD, a ferramenta SF pode não poder ser usada, mesmo se o canal direito estiver no modo FD.
[062] São utilizados os seguintes termos e definições para descrever mais claramente a extensão do padrão conforme descrito em [4].
[063] Em particular, quanto aos elementos de dados, é recentemente introduzido o seguinte elemento de dados:
[064] stereo_filling bandeira binária que indica se SF é utilizado no quadro e canal atuais
[065] São ainda introduzidos novos elementos auxiliares:
[066] noise_offset desvio do preenchimento de ruído para modificar os fatores de escala das bandas quantizadas para zero (secção 7.2)
[067] noise_level nível de preenchimento de ruído que representa a amplitude de ruído de espectro adicionado (secção 7.2)
[068] downmix_prev[] downmix (isto é, a soma ou diferença) dos canais anteriores esquerdo e direito do quadro
[069] sf__ index [g][sfb] índice de fator de escala (isto é, número inteiro transmitido) para grupo de janelas g e banda sfb
[070] O processo de descodificação do padrão estender-se-ia do seguinte modo. Em particular, a descodificação de um canal FD codificado estéreo em conjunto com a ferramenta SF por ativar é executada em três passos sequenciais do seguinte modo:
[071] Em primeiro lugar, realizava-se a descodificação da bandeira stereo_filling, stereo_filling não representa um elemento de fluxo de bits independente mas deriva dos elementos de noise-fill, noise_offset e noise_level, em umUsacChannelPairElement() e a bandeira de janela comum em StereoCoreToollnfo(). Se noiseFilling == 0 ou common_window == 0 ou o canal atual for o esquerdo (primeiro) no elemento, stereo_filling é 0, e o processo de preenchimento estéreo acaba. Caso contrário, se ((noiseFiiling != 0) && (common-window != 0) && (noise-level == 0)) { stereo_filling (noise_offset & 16) / 16; noise_level = (noise_offset & 14) / 2 ; noise_offset = (noise_offset & 1) * 16; } ou { stereo_filling = 0; }
[072] por outras palavras, se noise_level == 0, ruído-desvio contém a bandeira stereo_filling seguida de 4 bits de dados de preenchimento de ruído, que são depois redispostos. Uma vez que esta operação altera os valores de noise_level e ruído-desvio, tem de ser realizada antes do processo de preenchimento de ruído da secção 7.2. Além disso, o pseudo-código acima não é executado no canal esquerdo (primeiro) de um UsacChannelPairElement( ) ou de outro elemento.
[073] De seguida, proceder-se-ia ao cálculo de downmix_prev.,
[074] down_mixant [ ], o downmix espectral a usar para o preenchimento estéreo, é idêntico a dmx_re_prev[ ] usado para a estimativa do espectro MDST na previsão estéreo complexa (secção 7.7.2.3). Isto quer dizer que
[075] Todos os coeficientes do downmix-prev[ ] têm de ser zero se qualquer um dos canais do quadro e elemento com o qual o downmix é realizado - ou seja, o quadro antes do que está atualmente descodificado - usar core_mode == 1 (LPD) ou se os canais usarem comprimentos de transformação diferentes (dividir-transformação == 1 ou comutação de bloco para window_sequence == EIGHT_SHORT_SEQUENGE em apenas um canal) ou usaclndependencyFlag == 1.
[076] Todos os coeficientes de downmix-prev[ ] têm de ser zero durante o processo de preenchimento estéreo se o comprimento de transformação do canal mudou do último quadro para o quadro atual (isto é, split_transform == 1 precedido por split_transform == 0, ou window__sequence == EIGH_SHORT_SEQUENGE precedido por window-sequence != EIGH_SHORT_SEQUENCE, ou vice-versa resp.) no elemento atual.
[077] Se a divisão de transformação for aplicada nos canais do quadro anterior ou atual, Downmix_prev[ ] representa um downmix espectral intercalado linha a linha. Ver ferramentas de divisão de transformação para mais detalhes.
[078] Se a previsão estéreo complexa não for utilizada no quadro e elemento atuais, pred_dir fica iguala 0.
[079] Consequentemente, o downmix anterior apenas tem de ser calculado uma vez para ambas as ferramentas, poupando complexidade. A única diferença entre downmix_prev[ ] e dmx_re_prev[ ] na secção 7.7.2 é o comportamento quando a previsão estéreo complexa não está atualmente a ser usada, ou quando está ativa mas use_prev_frame == 0. Nesse caso, downmix_prev[ ] é calculado para a descodificação de preenchimento estéreo de acordo com a secção 7.7.2.3 apesar de dmx_re_prev[ ] não se necessário para a descodificação de previsão estéreo complexa e ser, por isso, indefinido/zero.
[080] De seguida seria realizado o preenchimento estéreo das bandas de fator de escala vazias.
[081] Se stereo_filling == 1, é levado a cabo o seguinte procedimento depois do processo de preenchimento de ruído em todas as bandas de fator de escala inicialmente vazias sfb[ ] abaixo max_sfb_ste, isto é, todas as bandas nas quais todas as linhas MDCT foram quantizadas para zero. Em primeiro lugar, as energias do sfb[ ] fornecido e as correspondentes linhas em downmix_prev[ ] são calculadas através de somas dos quadrados de linha De seguida, esse sfbWidth que contém o número de linhas por sfb[ ], se (energia [sfb] < sfbWidth [sfb] ) { /* nível de ruido não é o máximo ou a banda começa abaixo da região de preenchimento de ruído */ facDmx = sqrt ( (sfbWidth [sfb] - energy [sfb] ) / energy _dmx [sfb] ) ; fator = 0.0; /* se o downmix anterior não estiver vazio, adicione as linhas de downmix escalonadas, de modo a que a banda chegue à unidade energia */ para (índex = swb_offset [sfb] ; índice < swb_offset [sfb+l]; index++) { espectro [window] [index] += downmix_prev [window] [index] * f acDmx ; fator += espectro [window] [index] * espectro [window] [index] ; } se ( (fator ! = sfbwidth [sfb] ) && (fator > 0)) { /* unidade energia não alcançada, por isso modificar banda */ fator = sqrt(sfbwidth [sfb] / (fator + 1e-8)); para (index = swb_offset [sfb] ; index < swb_offset [sfb+1] ; index++) { espectro [window] [index] *= fator; } } }
[082] para o espectro de cada janela de grupo. De seguida, os fatores de escala são aplicados no espectro resultante, tal como na secção 7.3, com os fatores de escala das bandas vazias a serem processados como fatores de escala regulares.
[083] Uma alternativa à extensão acima do padrão xl-IE-MC usaria um método de sinalização com compatibilidade semi-regressiva implícita.
[084] A implementação acima no enquadramento do código xHE-AAC descreve uma abordagem que emprega um bit em um fluxo de bits para sinalizar a utilização da nova ferramenta de preenchimento estéreo, contida em stereo_filling, para um decodificador de acordo com Fig. 1. Mais precisamente, essa sinalização (vamos chamar-lhe sinalização com compatibilidade semi- regressiva explícita) permite que os seguintes dados de fluxo de bits legados - aqui a informação secundária sobre preenchimento de ruído - sejam usados independentemente da sinalização SF: No presente modelo, os dados de preenchimento de ruído não dependem da informação de preenchimento estéreo, e vice-versa. Por exemplo, os dados de preenchimento de ruido que consistem de tudo a zero (noise_level = noise_offset = 0) podem ser transmitidos enquanto stereo_filling pode sinalizar qualquer valor possível (sendo uma bandeira binária, 0 ou 1).
[085] Nos casos em que não é exigida uma rigorosa independência entre o legado e os dados do fluxo de bits inventivos e em que o sinal inventivo é uma decisão binária, a transmissão explícita de um bit de sinalização pode ser evitada e essa decisão binária pode ser sinalizada pela presença ou ausência do que pode ser chamado sinalização com compatibilidade semi-regressiva implícita. Considerando novamente o modelo acima como exemplo, a utilização do preenchimento estéreo pode ser transmitido empregando simplesmente a nova sinalização: Se noise_level for zero e, ao mesmo tempo, noise_offset não for zero, a bandeira stereo_filling é definida igual a 1. Se tanto noise_level como v não forem zero, stereo_filling é igual a 0. Ocorre uma dependência deste sinal implícito sobre o sinal legado ruído-preenchimento quando tanto noise_level como ruído-desvio são zero. Neste caso, é pouco claro se está a ser usado o legado ou a nova sinalização implícita SF. Para evitar essa ambiguidade, o valor de stereo_filling tem de ser definido à partida. No presente exemplo, é apropriado definir stereo_filling = 0 se os dados de preenchimento do ruído consistirem de tudo a zero, uma vez que isto é o que os codificadores legados sem capacidade de preenchimento estéreo sinalizam quando o preenchimento de ruído não deve ser aplicado em um quadro.
[086] A questão que permanece por resolver no caso da sinalização com compatibilidade semi-regressiva implícita é como sinalizar o preenchimento estéreo ==: 1 e nenhum preenchimento de ruído ao mesmo tempo. Conforme explicado, os dados de preenchimento de ruído não têm de ser todos zero, e se for pedida uma magnitude de ruído zero, noise_level ((noise_offset & 14)/2 conforme mencionado acima) tem de ser igual a 0. Isto deixa apenas como solução um noise_offset ((noise_offset & 1)*16 conforme mencionado acima) superior a 0. Porém, o noise_offset é tido em conta no caso do preenchimento estéreo quando se aplicam os fatores de escala, mesmo se o nível de ruído for zero. Felizmente, um codificador pode compensar o facto de um desvio de ruído zero poder não ser transmissível ao alterar os fatores de escala afetados, de modo a que ao escrever o fluxo de bits, eles contenham um desvio que é anulado no decodificador através de noise_offset. Isto permite essa sinalização implícita no modelo acima à custa de um potencial aumento na taxa de dados do fator de escala. Por conseguinte, a sinalização do preenchimento estéreo no pseudo-código da descrição acima pode ser mudada do seguinte modo, usando o bit de sinalização SF guardado para transmitir noise_offset com 2 bits (4 valores) em vez de 1 bit: se ( (noiseFilling) && (common_window) && (noise_level == 0) && (noise_off set > 0) ) { Stereo_filling = 1; noise_level = (noise_offset & 28) / 4; noise_offset = (noise-offset & 3) * 8 ; } ou { stereo-filling = 0; }
[087] Por uma mera questão de exaustividade, a Fig. 5 mostra um codificador paramétrico de áudio de acordo com um modelo do presente pedido. Em primeiro lugar, o codificador da Fig. 5, que é geralmente indicado usando o símbolo de referência 100, compreende um transformador 102 para realizar a transformação da versão original e não distorcida do sinal de áudio reconstruído na saída 32 da Fig. 1. Conforme descrito relativamente à Fig. 2, pode ser usada uma transformação revestida com uma comutação entre diferentes comprimentos de transformação com correspondentes janelas de transformação em unidades de quadros 44. O comprimento de transformação diferente e as correspondentes janelas de transformação são ilustradas na Fig.2, usando o símbolo de referência 104. De modo idêntico à Fig. 1, a Fig. 5 concentra-se numa parte do decodificador 100 responsável por codificar um canal do sinal de áudio multicanal, enquanto outra parte do domínio do canal do decodificador 100 é geralmente indicado usando o símbolo de referência 106 na Fig. 5.
[088] Na saída do transformador 102, as linhas espectrais e os fatores de escala não estão quantizados e ainda não ocorreu substancialmente uma perda da codificação. O espectrograma produzido pelo transformador 182 introduz um quantizador 108, que está configurado para quantizar as linhas espectrais do espectrograma produzido pelo transformador 102, espectro a espectro, definindo e usando fatores de escala preliminares das bandas de fator de escala. Isto é, na saída do quantizador 108, os fatores de escala preliminares e os correspondentes coeficientes de linha espectral, uma sequência de um filtro de ruído 16’, um filtro TNS inverso opcional 28a’, um previsor intercanal 24', um decodificador MS 26’ e um filtro TNS inverso 28b’ estão sequencialmente ligados, de modo a fornecer ao decodificador 100 da Fig. 5 a capacidade para obter uma versão final reconstruída do espectro atual conforme pode ser obtido no lado do decodificador na entrada do fornecedor de downmix (ver Fig. 1). No caso de usar a previsão intercanal 24' e/ou usar o preenchimento de ruído intercanal na versão que forma o ruído intercanal que usa o downmix do quadro anterior, o codificador 100 também compreende um fornecedor de downmix 31' para formar um downmix das versões finais reconstruídas dos espectros dos canais do sinal de áudio multicanal. Claro que para guardar os cálculos, em vez das versões finais, pode-se usar as versões originais não quantizadas desses espectros dos canais pelo fornecedor de downmix 31' na formação do downmix.
[089] O codificador 180 pode usar a informação sobre a versão final reconstruída e disponível dos espetros para realizar previsões espectrais inter- quadro, tal como a versão anteriormente mencionada da realização da previsão intercanal que usa uma estimativa de caminho imaginária e/ou para realizar o controlo da taxa, isto é, para determinar, dentro do circuito de controlo da taxa, que os possíveis parâmetros finalmente codificados para o fluxo de dados 30 pelo codificador 108 estão definidos em um sentido otimizado da taxa/distorção.
[090] Por exemplo, uma dessas definições de parâmetros em um desses circuitos de previsão e/ou circuito de controlo da taxa do codificador 100 é, para cada banda de fator de escala quantizada para zero identificada pelo identificador 12’, o fator de escala da respetiva banda de fator de escala que tem apenas preliminarmente definida pelo quantizador 108. Em um circuito de previsão e/ou de controlo da taxa do codificador 100, o fator de escala das bandas de fator de escala quantizadas para zero é definido em um sentido psico-acústico ou otimizado em termos de taxa/distorção para determinar o nível de ruído pretendido e acima mencionado juntamente, conforme descrito acima, um parâmetro de modificação opcional também transportado pelo fluxo de dados para o correspondente quadro para o lado do decodificador. Note-se que este fator de escala pode ser calculado usando apenas as linhas espectrais do espectro e canal ao qual pertence (isto é, o espectro "pretendido", conforme descrito antes) ou, em alternativa, pode ser determinado usando as linhas espectrais do espectro de canal "pretendido" e, adicionalmente, as linhas espectrais do outro espectro de canal ou o espectro de downmix do quadro anterior (isto é, o espectro “de origem", conforme já foi introduzido antes) obtido a partir do fornecedor de downmix 31 '. Em particular, para estabilizar o nível de ruído pretendido e para reduzir as flutuações do nível temporal nos canais de áudio descodificados, onde é aplicado o preenchimento de ruído intercanal, o fator de escala pretendido pode ser calculado usando uma relação entre uma medição da energia das linhas espectrais na banda de fator de escala "pretendida", e uma medição da energia das linhas espectrais co-localizadas na correspondente região "de origem". Por fim, tal como ficou registado acima, esta região "de origem" pode ser originária de uma versão final reconstruída de outro canal ou do donwmix do quadro anterior, ou, quando se pretende reduzir a complexidade do codificador, da versão original não quantizada do mesmo outro canal ou do downmix de versões originais não quantizados dos espectros do quadro anterior.
[091] Dependendo de certos requisitos de implementação, os modelos da invenção podem ser implementados em hardware ou em software. A implementação pode ser realizada usando um meio de armazenamento digital, por exemplo uma disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, com sinais de controlo de leitura eletrônica guardados lá, que cooperam (ou são capazes de cooperar) com um sistema de computador programável, de modo a que seja executado o respectivo método. Por isso, o meio de armazenamento digital pode ser lido em computador.
[092] Algumas versões de acordo com a invenção compreendem um suporte de dados com sinais de controlo de leitura eletrônica, que são capazes de cooperar com um sistema de computador programável, de modo a que seja executado um dos métodos aqui descritos. No geral, as versões da presente invenção podem ser implementadas como um produto do programa de computador com um código do programa, sendo o código do programa operativo para efetuar um dos métodos quando o produto do programa de computador é executado em um computador. O código de programa pode, por exemplo, ser guardado em um suporte de leitura em máquina.
[093] Outros modelos compreendem o programa de computador para executar um dos métodos aqui descritos, guardados em um suporte de leitura em máquina.
[094] Por outras palavras, um modelo do método da invenção é, por isso, um programa informático com um código de programa para executar um dos métodos aqui descritos, quando o programa informático corre em um computador.
[095] Outro modelo dos métodos da invenção é, por isso, um suporte de dados (ou um suporte de armazenamento digital ou um suporte de leitura em computador) compreendendo, aí gravados, o programa de computador para executar um dos métodos aqui descritos. O transportador de dados, o suporte de armazenamento digital ou o suporte registado são normalmente tangíveis e/ou não transitórios.
[096] Outro modelo do método da invenção é, por isso, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para executar um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma ligação de comunicação de dados, por exemplo via Internet.
[097] Outro modelo compreende 8 meios de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para executar um dos métodos aqui descritos.
[098] Outro modelo compreende um computador com o programa informático instalado para executar um dos métodos aqui descritos.
[099] Outra versão de acordo com a invenção inclui um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou oticamente) para um receptor, um programa informático para efetuar um dos métodos aqui descritos. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou idêntico. O aparelho ou sistema pode, por exemplo, compreender um servidor de ficheiros para transferir o programa informático para o receptor.
[100] Em alguns modelos, pode ser utilizado um dispositivo programável lógico (por exemplo uma rede de portas lógicas programáveis) para executar algumas ou todas as funcionalidades dos métodos aqui descritos Em alguns modelos, uma rede de portas lógicas programáveis pode cooperar com um microprocessador para executar um dos métodos aqui descritos. De um modo geral, os métodos são preferencialmente executados por qualquer aparelho de hardware.
[101] Os modelos acima descritos são meramente ilustrativos para os princípios da presente invenção. Compreende-se que as modificações e variações das disposições e dos detalhes descritos serão evidentes aos profissionais da matéria. Pretende-se, por isso, que seja limitado apenas pelo âmbito das reivindicações impendentes da patente e não pelos detalhes específicos da descrição e explicação dos modelos aqui constantes.
[102] Referências
[103] [1] lnternet Engineering Task Force (IETF), RFC 6716, “Definition of the Opus Audio Codec," lnt. Standard, set. 201 2, Disponível em http://tools.ietf.org/html/rfc6716.
[104] [2] International Organization for Standardization, ISO/IEC 144963:2009, “Information Technology - Coding of audio-visual objects - Part 3: Audio," Génova, Suíça, ago. 2009.
[105] [3] M. Neuendorf et al., “MPEG Unified Speech and Audio Coding -The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types,” em Proc. 132.a Convenção AES, Budapeste, Hungria, abr. 2012. Também para aparecer no Diário do AES, 2013.
[106] [4] International Organization for Standardization, ISO/IEG 23003 3:2012, “Information Technology - MPEG audio - Part 3: Unified speech and audio coding,” Génova, jan. 2012.

Claims (6)

1. Decodificador paramétrico de áudio do domínio de frequência, caracterizado por estar configurado para identificar (12) as primeiras bandas de fator de escala de um espectro de um primeiro canal de um quadro atual de um sinal de áudio multicanal, dentro do qual todas as linhas espectrais estão quantizadas para zero, e as segundas bandas de fator de escala do espectro, dentro do qual pelo menos uma linha espectral está quantizada para não zero; preencher (16) as linhas espectrais dentro de uma banda de fator de escala predeterminada das primeiras bandas de fator de escala com ruído criado usando linhas espectrais de um downmix de um quadro anterior do sinal de áudio multicanal, com o ajuste de um nível do ruído usando um fator de escala da banda de fator de escala predeterminada; desquantizar (14) as linhas espectrais dentro das segundas bandas de fator de escala usando fatores de escala das segundas bandas de fator de escala; e transformação inversa (18) do espectro obtido a partir das primeiras bandas de fator de escala preenchidas com o ruído, cujo nível é ajustado usando os fatores de escala das primeiras bandas de fator de escala, e as segundas bandas de fator de escala são desquantizadas usando os fatores de escala das segundas bandas de fator de escala, de modo a obter uma parte do domínio do tempo do primeiro canal do sinal de áudio multicanal, em que o decodificador paramétrico de áudio do domínio de frequência está configurado para extrair sequencialmente os fatores de escala das primeiras e segundas bandas de fator de escala a partir de um fluxo de dados usando a descodificação entrópica de contexto adaptativo com determinação de contexto dependente do, e/ou usando a descodificação preditiva com previsão espectral dependente de fatores de escala já extraídos numa vizinhança espectral de um fator de escala atualmente extraído, com os fatores de escala espectralmente dispostos de acordo com uma ordem espectral de entre as primeiras e segundas bandas de fator de escala.
2. Decodificador paramétrico de áudio do domínio de frequência, de acordo com a reivindicação 1, caracterizado por estar ainda configurado para modificar igualmente os fatores de escala das primeiras bandas de fator de escala relativamente aos fatores de escala das segundas bandas de fator de escala usando um parâmetro de modificação sinalizado num fluxo de dados para o quadro atual.
3. Codificador paramétrico de áudio do domínio de frequência, caracterizado por estar configurado para quantizar linhas espectrais de um espectro de um primeiro canal de um quadro atual de um sinal de áudio multicanal usando fatores de escala preliminares das bandas de fator de escala dentro do espectro; identificar as primeiras bandas de fator de escala de um espectro, dentro do qual todas as linhas espectrais estão quantizadas para zero, e as segundas bandas de fator de escala do espectro, dentro do qual pelo menos uma linha espectral está quantizada para não zero, dentro de uma previsão e/ou circuito de controlo da taxa, preencher as linhas espectrais dentro de uma banda de fator de escala predeterminada das primeiras bandas de fator de escala com ruído criado usando linhas espectrais de um downmix de um quadro anterior do sinal de áudio multicanal, com o ajuste de um nível do ruído usando um atual fator de escala da banda de fator de escala predeterminada; e sinalizar o atual fator de escala para a banda de fator de escala predeterminada em vez do fator de escala preliminar, em que o codificador paramétrico de áudio do domínio de frequência está configurado para processar sequencialmente os fatores de escala das primeiras e segundas bandas de fator de escala a partir de um fluxo de dados usando a codificação entrópica de contexto adaptativo com determinação de contexto dependente do, e/ou usando a codificação preditiva com previsão espectral dependente de fatores de escala já codificados numa vizinhança espectral de um fator de escala atualmente codificado, com os fatores de escala espectralmente dispostos de acordo com uma ordem espectral entre as primeiras e segundas bandas de fator de escala.
4. Codificador paramétrico de áudio do domínio de frequência, de acordo com a reivindicação 3, caracterizado por estar ainda configurado calcular o fator de escala atual para a banda de fator de escala predeterminada com base num nível de uma versão não quantizada das linhas espectrais do espectro do primeiro canal dentro da banda de fator de escala predeterminada e adicionalmente com base nas linhas espectrais do downmix do quadro anterior do sinal de áudio multicanal.
5. Método de decodificação paramétrica de áudio de domínio de frequência caracterizado por compreender identificar as primeiras bandas do fator de escala de um espectro de um primeiro canal de um quadro atual de um sinal de áudio multicanal, dentro do qual todas as linhas espectrais são quantizadas para zero, e as segundas bandas do fator de escala do espectro, dentro das quais pelo menos uma linha espectral é quantizada para diferente de zero; preencher as linhas espectrais dentro de uma banda do fator de escala predeterminada das primeiras bandas do fator de escala com ruído gerado usando linhas espectrais de um downmix de um quadro anterior do sinal de áudio multicanal, com o ajuste de um nível de ruído usando um fator de escala da banda do fator de escala predeterminado; desquantizar as linhas espectrais dentro das segundas bandas do fator de escala usando fatores de escala das segundas bandas do fator de escala; e transformação inversa do espectro obtido a partir das primeiras bandas do fator de escala preenchidas com o ruído, cujo nível é ajustado usando os fatores de escala das primeiras bandas do fator de escala e as segundas bandas do fator de escala desquantizadas usando os fatores de escala das segundas bandas do fator de escala, de modo a obter uma porção de domínio de tempo do primeiro canal do sinal de áudio multicanal, em que o método compreende extrair sequencialmente os fatores de escala das primeiras e segundas bandas de fator de escala a partir de um fluxo de dados usando a descodificação entrópica de contexto adaptativo com determinação de contexto dependente do, e/ou usando a descodificação preditiva com previsão espectral dependente de fatores de escala já extraídos numa vizinhança espectral de um fator de escala atualmente extraído, com os fatores de escala espectralmente dispostos de acordo com uma ordem espectral entre as primeiras e segundas bandas de fator de escala.
6. Método de codificação paramétrica de áudio de domínio de frequência caracterizado por compreender quantizar linhas espectrais de um espectro de um primeiro canal de um quadro atual de um sinal de áudio multicanal usando fatores de escala preliminar de bandas de fator de escala dentro do espectro; identificar as primeiras bandas do fator de escala no espectro dentro do qual todas as linhas espectrais são quantizadas para zero, e as segundas bandas do fator de escala do espectro dentro das quais pelo menos uma linha espectral é quantizada para não zero, dentro de uma previsão e/ou loop de controle de taxa, preencher as linhas espectrais dentro de uma banda do fator de escala predeterminada das primeiras bandas do fator de escala com ruído gerado usando linhas espectrais de um downmix de um quadro anterior do sinal de áudio multicanal, com o ajuste de um nível de ruído usando um fator de escala real da banda do fator de escala predeterminado; sinalizar o fator de escala real para a banda do fator de escala predeterminado em vez do fator de escala preliminar, em que o método compreende processar sequencialmente os fatores de escala das primeiras e segundas bandas de fator de escala a partir de um fluxo de dados usando a codificação entrópica de contexto adaptativo com determinação de contexto dependente do, e/ou usando a codificação preditiva com previsão espectral dependente de fatores de escala extraídos já codificados numa vizinhança espectral de um fator de escala atualmente codificado, com os fatores de escala espectralmente dispostos de acordo com uma ordem espectral entre as primeiras e segundas bandas de fator de escala.
BR122022016336-0A 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal BR122022016336B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13177356 2013-07-22
EP13177356.6 2013-07-22
EP13189450.3A EP2830060A1 (en) 2013-07-22 2013-10-18 Noise filling in multichannel audio coding
EP13189450.3 2013-10-18
PCT/EP2014/065550 WO2015011061A1 (en) 2013-07-22 2014-07-18 Noise filling in multichannel audio coding

Publications (1)

Publication Number Publication Date
BR122022016336B1 true BR122022016336B1 (pt) 2023-03-07

Family

ID=48832792

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122022016307-6A BR122022016307B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR122022016310-6A BR122022016310B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR112016001138-4A BR112016001138B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR122022016343-2A BR122022016343B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR122022016336-0A BR122022016336B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal

Family Applications Before (4)

Application Number Title Priority Date Filing Date
BR122022016307-6A BR122022016307B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR122022016310-6A BR122022016310B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR112016001138-4A BR112016001138B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal
BR122022016343-2A BR122022016343B1 (pt) 2013-07-22 2014-07-18 Preenchimento de ruído na codificação de áudio multicanal

Country Status (20)

Country Link
US (6) US10255924B2 (pt)
EP (5) EP2830060A1 (pt)
JP (1) JP6248194B2 (pt)
KR (2) KR101865205B1 (pt)
CN (2) CN105706165B (pt)
AR (1) AR096994A1 (pt)
AU (1) AU2014295171B2 (pt)
BR (5) BR122022016307B1 (pt)
CA (1) CA2918256C (pt)
ES (2) ES2650549T3 (pt)
HK (1) HK1246963A1 (pt)
MX (1) MX359186B (pt)
MY (1) MY179139A (pt)
PL (2) PL3025341T3 (pt)
PT (2) PT3252761T (pt)
RU (1) RU2661776C2 (pt)
SG (1) SG11201600420YA (pt)
TW (1) TWI566238B (pt)
WO (1) WO2015011061A1 (pt)
ZA (1) ZA201601077B (pt)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10553228B2 (en) * 2015-04-07 2020-02-04 Dolby International Ab Audio coding with range extension
CN113242448B (zh) * 2015-06-02 2023-07-14 索尼公司 发送装置和方法、媒体处理装置和方法以及接收装置
US10008214B2 (en) * 2015-09-11 2018-06-26 Electronics And Telecommunications Research Institute USAC audio signal encoding/decoding apparatus and method for digital radio services
EP3208800A1 (en) 2016-02-17 2017-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for stereo filing in multichannel coding
DE102016104665A1 (de) * 2016-03-14 2017-09-14 Ask Industries Gmbh Verfahren und Vorrichtung zur Aufbereitung eines verlustbehaftet komprimierten Audiosignals
US10210874B2 (en) * 2017-02-03 2019-02-19 Qualcomm Incorporated Multi channel coding
US10553224B2 (en) * 2017-10-03 2020-02-04 Dolby Laboratories Licensing Corporation Method and system for inter-channel coding
WO2019081089A1 (en) * 2017-10-27 2019-05-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. MITIGATION OF NOISE AT THE LEVEL OF A DECODER
CN114243925B (zh) * 2021-12-21 2024-02-09 国网山东省电力公司淄博供电公司 基于智能融合终端的台区配变态势感知方法及系统
CN117854514A (zh) * 2024-03-06 2024-04-09 深圳市增长点科技有限公司 一种音质保真的无线耳机通信解码优化方法及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692102A (en) * 1995-10-26 1997-11-25 Motorola, Inc. Method device and system for an efficient noise injection process for low bitrate audio compression
JP3576936B2 (ja) * 2000-07-21 2004-10-13 株式会社ケンウッド 周波数補間装置、周波数補間方法及び記録媒体
JP2002156998A (ja) 2000-11-16 2002-05-31 Toshiba Corp オーディオ信号のビットストリーム処理方法、この処理方法を記録した記録媒体、及び処理装置
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
WO2005096508A1 (fr) 2004-04-01 2005-10-13 Beijing Media Works Co., Ltd Equipement de codage et de decodage audio ameliore, procede associe
JP4944029B2 (ja) 2005-07-15 2012-05-30 パナソニック株式会社 オーディオデコーダおよびオーディオ信号の復号方法
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
KR20070037771A (ko) * 2005-10-04 2007-04-09 엘지전자 주식회사 오디오 부호화 시스템
CN101310328A (zh) * 2005-10-13 2008-11-19 Lg电子株式会社 用于处理信号的方法和装置
US8460409B2 (en) 2006-05-08 2013-06-11 Ceramatec, Inc. Plasma-catalyzed fuel reformer
KR20080092823A (ko) 2007-04-13 2008-10-16 엘지전자 주식회사 부호화/복호화 장치 및 방법
US7885819B2 (en) * 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
RU2439718C1 (ru) 2007-12-31 2012-01-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки звукового сигнала
US20090319263A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
KR101518532B1 (ko) * 2008-07-11 2015-05-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 인코더, 오디오 디코더, 오디오 신호, 오디오 스트림을 부호화 및 복호화하는 장치 및 컴퓨터 프로그램
KR101239812B1 (ko) * 2008-07-11 2013-03-06 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 대역폭 확장 신호를 생성하기 위한 장치 및 방법
KR101078378B1 (ko) 2009-03-04 2011-10-31 주식회사 코아로직 오디오 부호화기의 양자화 방법 및 장치
US9202456B2 (en) 2009-04-23 2015-12-01 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for automatic control of active noise cancellation
AU2010305383B2 (en) * 2009-10-08 2013-10-03 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Multi-mode audio signal decoder, multi-mode audio signal encoder, methods and computer program using a linear-prediction-coding based noise shaping
US9117458B2 (en) * 2009-11-12 2015-08-25 Lg Electronics Inc. Apparatus for processing an audio signal and method thereof
CN102081927B (zh) * 2009-11-27 2012-07-18 中兴通讯股份有限公司 一种可分层音频编码、解码方法及系统
JP5316896B2 (ja) * 2010-03-17 2013-10-16 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、並びにプログラム
WO2012037515A1 (en) 2010-09-17 2012-03-22 Xiph. Org. Methods and systems for adaptive time-frequency resolution in digital data coding

Also Published As

Publication number Publication date
US20240127837A1 (en) 2024-04-18
PT3252761T (pt) 2019-11-11
US11594235B2 (en) 2023-02-28
CN105706165A (zh) 2016-06-22
EP4369335A1 (en) 2024-05-15
ZA201601077B (en) 2017-11-29
US20210358508A1 (en) 2021-11-18
RU2661776C2 (ru) 2018-07-19
ES2650549T3 (es) 2018-01-19
US11887611B2 (en) 2024-01-30
AU2014295171B2 (en) 2017-09-21
KR101865205B1 (ko) 2018-06-07
US20230132885A1 (en) 2023-05-04
EP3618068A1 (en) 2020-03-04
CA2918256A1 (en) 2015-01-29
MX2016000912A (es) 2016-05-05
EP3025341B1 (en) 2017-09-06
EP2830060A1 (en) 2015-01-28
KR101981936B1 (ko) 2019-05-27
ES2746934T3 (es) 2020-03-09
PL3252761T3 (pl) 2020-02-28
TW201519220A (zh) 2015-05-16
EP3252761B1 (en) 2019-08-21
US10468042B2 (en) 2019-11-05
AU2014295171A1 (en) 2016-03-10
BR112016001138A2 (pt) 2017-07-25
US20200051577A1 (en) 2020-02-13
US20160140974A1 (en) 2016-05-19
CN105706165B (zh) 2020-07-14
RU2016105517A (ru) 2017-08-25
BR122022016307B1 (pt) 2023-03-07
CN112037804A (zh) 2020-12-04
HK1246963A1 (zh) 2018-09-14
KR20180018857A (ko) 2018-02-21
KR20160033770A (ko) 2016-03-28
EP3618068B1 (en) 2024-04-03
SG11201600420YA (en) 2016-02-26
BR122022016310B1 (pt) 2023-03-07
BR112016001138B1 (pt) 2023-01-17
MX359186B (es) 2018-09-19
US10978084B2 (en) 2021-04-13
BR122022016343B1 (pt) 2023-03-07
PT3025341T (pt) 2017-12-06
JP6248194B2 (ja) 2017-12-13
CA2918256C (en) 2019-08-27
AR096994A1 (es) 2016-02-10
WO2015011061A1 (en) 2015-01-29
US10255924B2 (en) 2019-04-09
EP3252761A1 (en) 2017-12-06
MY179139A (en) 2020-10-28
TWI566238B (zh) 2017-01-11
US20190180762A1 (en) 2019-06-13
PL3025341T3 (pl) 2018-02-28
JP2016530557A (ja) 2016-09-29
EP3025341A1 (en) 2016-06-01

Similar Documents

Publication Publication Date Title
BR122022016336B1 (pt) Preenchimento de ruído na codificação de áudio multicanal
JP6735053B2 (ja) マルチチャネル符号化におけるステレオ充填装置及び方法
BR122022016387B1 (pt) Preenchimento de ruído na codificação de áudio multicanal
BR112016001247B1 (pt) Codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 18/07/2014, OBSERVADAS AS CONDICOES LEGAIS