BR122019020171B1 - Banco de filtros [filterbank] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência - Google Patents

Banco de filtros [filterbank] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência Download PDF

Info

Publication number
BR122019020171B1
BR122019020171B1 BR122019020171-4A BR122019020171A BR122019020171B1 BR 122019020171 B1 BR122019020171 B1 BR 122019020171B1 BR 122019020171 A BR122019020171 A BR 122019020171A BR 122019020171 B1 BR122019020171 B1 BR 122019020171B1
Authority
BR
Brazil
Prior art keywords
frame
window
samples
output
windowed
Prior art date
Application number
BR122019020171-4A
Other languages
English (en)
Inventor
Bernhard Grill
Markus Schnell
Ralf Geiger
Gerhard Schuller
Original Assignee
Fraunhofer-Gesellschaft Zur Forderung 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 Forderung Der Angewandten Forschung E. V. filed Critical Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V.
Publication of BR122019020171B1 publication Critical patent/BR122019020171B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/0212Speech 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 using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • G10L19/135Vector sum excited linear prediction [VSELP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Facsimile Transmission Control (AREA)
  • Telephonic Communication Services (AREA)
  • Complex Calculations (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Noise Elimination (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

Uma configuração de um banco de filtros de análise para filtrar uma pluralidade de quadros de entrada de domínio de tempo, em que um quadro de entrada consiste de um número de amostras de entrada ordenadas, compreende um ponto de janela configurado para gerar uma pluralidade de quadros com janelas, em que um quadro com janela consiste de uma pluralidade de amostras com janelas, em que o ponto de janela é configurado para processar a pluralidade de quadros de entrada de maneira sobreposta, usando um valor de avanço de amostra, em que o valor de avanço de amostra é menor do que o número de amostras de entrada ordenadas de um quadro de entrada dividido por dois, e um conversor tempo/frequência configurado para fornecer um quadro de saída que consista de um número de valores de saída, em que um quadro de saída é uma representação espectral de um quadro com janela.

Description

[001] A presente invenção refere-se a um banco de filtros de análise, um banco de filtros de síntese e sistemas que compreendem qualquer um dos bancos de filtros acima, que podem, por exemplo, ser implementados no campo de codificação de áudio moderno, decodificação de áudio e outras aplicações relacionadas a transmissão. Além disso, a presente invenção também se refere a um mixador e um sistema de conferência.
[002] O processamento de áudio digital moderno baseia-se tipicamente em esquemas de codificação que permitem uma redução significativa em termos de taxas de transferência de bits [“bitrates”], larguras de banda de transmissão e espaço de armazenamento, em comparação com transmissão direta ou armazenamento dos respectivos dados de áudio. Isso é obtido codificando-se os dados de áudio no local de envio e decodificando os dados codificados no local de recebimento antes, por exemplo, de fornecer os dados de áudio decodificados a um ouvinte.
[003] Esse sistema de processamento de áudio digital pode ser implementado com relação a uma ampla gama de parâmetros que abrangem um espaço de armazenamento típico para fluxo de [“stream”] de dados de áudio padronizado potencialmente típico, taxas de transferência de bits, complexidade computacional especialmente em termos de eficiência de uma implementação, qualidades dentro do alcance adequadas a diferentes aplicações e em termos do atraso ["delay"] causado tanto durante a codificação como durante a decodificação dos dados de áudio e os dados de áudio codificados, respectivamente. Em outras palavras, sistemas de áudio digitais podem ser aplicados em diversos campos de diferentes de aplicações, que variam desde uma transmissão de qualidade ultra-baixa a uma transmissão da mais alta qualidade e armazenamento de dados de áudio (ex.: para uma experiência de audição de música em alta qualidade).
[004] No entanto, em muitos casos, compromissos podem ter de ser feitos em termos de diferentes parâmetros como taxa de transferência de bits, a complexidade computacional, qualidade e atraso. Por exemplo, um sistema de áudio digital que compreende um baixo atraso pode exigir uma taxa de transferência de bits mais alta da largura de banda de uma transmissão em comparação com um sistema de áudio com atraso maior em um nível de qualidade comparado.
Sumário da Invenção
[005] Uma configuração de um banco de filtros de análise para filtrar uma pluralidade de quadros de entrada de domínio de tempo, em que um quadro de entrada consiste de um número de amostras de entrada ordenadas, compreende um ponto de janela configurado para gerar uma pluralidade de quadros com janelas, em que um quadro com janela consiste de uma pluralidade de amostras com janelas, em que o ponto de janela é configurado para processar a pluralidade de quadros de entrada de maneira sobreposta, usando um valor de avanço de amostra, em que o valor de avanço de amostra é menor do que o número de amostras de entrada ordenadas de um quadro de entrada dividido por dois, e um conversor tempo/freqüência configurado para fornecer um quadro de saída que consista de um número de valores de saída, em que um quadro de saída é uma representação espectral de um quadro com janela.
[006] Uma configuração de um banco de filtros de síntese para filtrar uma pluralidade de quadros de entrada, em que cada quadro de entrada consista de um número de valores de entrada ordenados, compreende um conversor de frequência/tempo configurado para fornecer uma pluralidade de quadros de saída, em que um quadro de saída consista de um número de amostras de saída ordenadas, em que um quadro de saída é uma representação de tempo de um quadro de entrada, um ponto de janela configurado para gerar uma pluralidade de quadros com janelas. Um quadro com janela consiste de uma pluralidade de amostras com janelas. Além disso, o ponto de janela é configurado para fornecer a pluralidade de amostras com janelas para um processamento em sobreposição sobre um valor de avanço de amostra. A configuração do banco de filtros de síntese ainda compreende uma sobreposição/adição configurada para fornecer um quadro adicionado que consista de uma seção inicial e uma seção remanescente, em que um quadro adicionado consista de uma pluralidade de amostras adicionais adicionando pelo menos três amostras com janelas a partir de pelo menos três quadros com janelas por uma amostra adicionada na seção remanescente de um quadro adicionado adicionando pelo menos duas amostras com janelas de pelo menos dois quadros com janelas diferentes para uma amostra adicionada na seção inicial. O número de amostras com janelas adicionadas para se obter uma amostra adicionada na seção remanescente é pelo menos uma amostra mais alto do que o número de amostras adicionadas para obter uma amostra adicionada na seção inicial, ou o ponto de janela é configurado para desconsiderar pelo menos o valor de saída mais antigo de acordo com a ordem dos valores de saída ordenados ou para configurar as amostras com janelas correspondentes em um valor pré-determinado ou pelo menos em um valor em uma faixa pré-determinada para cada quadro com janelas da pluralidade de quadros com janelas. A sobreposição/adição (230) é configurada para fornecer a amostra adicionada à seção remanescente de um quadro adicionado com base em pelo menos três quadros com janelas diferentes e uma amostra adicionada na seção inicial com base em pelo menos duas amostras com janelas diferentes de pelo menos dois quadros com janelas diferentes.
[007] Uma configuração de um banco de filtros de síntese para filtrar uma pluralidade de quadros de entrada, em que cada quadro de entrada compreende os valores de entrada ordenados M yk(0) ,..., yk(M-l), em que M é um número inteiro positivo, e em que k é um número inteiro que indica um índice de quadro, compreende um conversor inverso frequência/tempo de transformada discreta de cosseno de tipo-IV configurado para fornecer a pluralidade de quadros de saída, um quadro de saída que compreende amostras de saída ordenadas 2M xk(0) ,..., xk(2M-1) com base nos valores de entrada yk(0) ,..., yk(M-1), um ponto de janela configurado para gerar uma pluralidade de quadros com janelas, um quadro com janela que compreende uma pluralidade de amostras com janelas zk(0),..., zk(2M-l) com base na equação zk (n) = w(n) • xk (n) para n = 0,...,2M-1, onde n é um número inteiro que indica um índice de amostra, e onde w(n) é um coeficiente de função de janela com valor real correspondente ao índice de amostra n, uma sobreposição/adição configurado para fornecer um quadro intermediário que compreende uma pluralidade de amostras intermediárias mk(0), ..., mk(M-l) com base na equação mk (n) = zk(n) • zk-1(n+M) para n = 0,...,M-1, e um elevador configurado para fornecer um quadro adicionada que compreende uma pluralidade de amostras adicionais outk(0) ,..., outk (M1) com base na equação outk(n) = mk(n) + l(n-M/2) • mk-1(M-l- n) para n = M/2,...,M-1, e outk(n) = mk(n) + l(M-1-n) • outk- 1(M-l-n) para n=0,...,M/2-l , onde 1 (0) ,..., 1 (M-1) são coeficientes de elevação com valor real.
[008] Uma configuração de um codificador compreende um banco de filtros de análise para filtrar uma pluralidade de quadros de entrada de domínio de tempo, em que um quadro de entrada compreende um número de amostras de entrada ordenadas, compreende um ponto de janela configurado para gerar uma pluralidade de amostras com janelas, em que o ponto de janela é configurado para processar a pluralidade de quadros de entrada em sobreposição, usando um valor de avanço de amostra, em que o valor de avanço de amostra é menor do que o número de amostras de entrada ordenadas de um quadro de entrada dividido por 2 e um conversor tempo/frequência configurado para fornecer um quadro de saída que compreende um número de valores de saída, sendo um quadro de saída uma representação espectral de um quadro com janela.
[009] Uma configuração de um decodificador compreende um banco de filtros de síntese para filtrar uma pluralidade de quadros de entrada, em que cada quadro de entrada que compreende um número de valores de entrada ordenados, compreende um conversor frequência/tempo configurado para fornecer uma pluralidade de quadros de saída, um quadro de saída que compreende um número de amostras de saída ordenadas, sendo um quadro de saída uma representação de tempo de um quadro de entrada, ponto de janela configurado para gerar uma pluralidade de quadros com janelas, um quadro com janela compreendendo uma pluralidade de amostras com janelas para processamento em sobreposição com base em um valor de avanço de amostra, uma sobreposição/adição configurada para fornecer um quadro adicionado que compreende uma seção inicial e uma seção remanescente, um quadro adicionado que compreende uma pluralidade de amostras adicionadas pela adição de pelo menos três quadros adicionados de pelo menos três quadros com janelas para uma amostra adicionada na seção remanescente de um quadro adicionado e adicionando pelo menos duas amostras com janelas de pelo menos dois quadros com janelas diferentes para uma amostra adicionada na seção inicial, em que o número de amostras adicionadas para a obtenção de uma amostra adicionada na seção remanescente é pelo menos uma amostra mais alta em comparação com o número de amostras com janelas adicionadas para se obter uma amostra adicionada na seção inicial, ou em que um ponto de janela for configurado para desconsiderar pelo menos o valor de saída mais antigo de acordo com a ordem das amostras de saída ordenadas ou para ajustar as amostras com janelas correspondentes para um valor pré-determinado ou pelo menos um valor em uma faixa pré- determinada para cada quadro com janela da pluralidade de quadros com janelas; e onde a sobreposição/adição for configurada para fornecer a amostra adicionada na seção remanescente de um quadro adicionado com base em pelo menos três amostras com janelas de pelo menos três quadros com janelas diferentes e uma amostra adicionada na seção inicial com base em pelo menos duas amostras com janelas de pelo menos dois quadros com janelas diferentes.
[0010] Uma outra configuração de um decodificador compreende um banco de filtros de síntese para filtrar uma pluralidade de quadros de entrada, em que cada quadro de entrada que compreende os valores de entrada ordenados M yk(0) ,..., yk(M- l), em que M é um número inteiro positivo, e em que k é um número inteiro que indica um índice de quadro, compreende um conversor inverso frequência/tempo de transformada discreta de cosseno de tipo-IV configurado para fornecer a pluralidade de quadros de saída, um quadro de saída que compreende amostras de saída ordenadas 2M xk(0) ,..., xk (2M-1) com base nos valores de entrada yk(0) ,..., yk (M-1), um ponto de janela que configurado para gerar uma pluralidade de quadros com janelas, um quadro com janela que compreende uma pluralidade de amostras com janelas zk(0),..., zk(2M-l) com base na equação zk (n) = w(n) • xk (n) para n = 0,...,2M-1, onde n é um número inteiro que indica um índice de amostra, e onde w(n) é um coeficiente de função de janela com valor real correspondente ao índice de amostra n, uma sobreposição/adição configurado para fornecer um quadro intermediário que compreende uma pluralidade de amostras intermediárias mk (0), ...,mk(M-l) com base na equação mk(n) = zk(n) + zk-1(n+M) para n = 0,...,M-1, e um elevador configurado para fornecer um quadro adicionado que compreende uma pluralidade de amostras adicionada outk(0) ,..., outk (M-1) com base na equação outk(n) = mk(n) + l(n-M/2) • mk-1(M-l-n) para n = M/2,...,M-1, e outk(n) = mk(n) + 1(M-l-n) • outk-1(M-l-n) para n=0 , ..., M/2-l onde 1(0) ,..., 1(M-1) são coeficientes de elevação com valor real.
[0011] Uma configuração de um mixador para uma pluralidade de quadros de entrada, em que cada quadro de entrada é uma representação espectral de um quadro de domínio de tempo correspondente e cada quadro de entrada da pluralidade de quadros de entrada venha de uma fonte diferente, compreende um decodificador por entropia configurado para a obtenção de uma pluralidade de quadros escalados no domínio de frequência, em que cada quadro escalado corresponde a um quadro codificado por entropia, um adicionado configurado para adicionar os quadros escalados no domínio de frequência para gerar um quadro adicionado no domínio de frequência, e um codificador por entropia configurado para codificar por entropia o quadro adicionado para obter um quadro mixado.
[0012] Uma configuração de um sistema de conferência compreende um mixador para mixar uma pluralidade de quadros de entrada, em que cada quadro de entrada é uma representação espectral de um quadro de domínio de tempo correspondente e cada quadro de entrada da pluralidade de quadros de entrada vem de uma fonte diferente, compreende um decodificador por entropia configurado para decodificar por entropia a pluralidade de quadros de entrada, um selador configurado para escalar a pluralidade de quadros de entrada decodificados por entropia no domínio de frequência e configurado para obter uma pluralidade de quadros escalados no domínio de frequência, cada quadro escalado correspondendo a um quadro de entrada decodificado por entropia, um adicionador configurado para adicionar os quadros escalados no domínio de frequência para gerar um quadro adicionado no domínio de frequência, e um codificador por entropia configurado para codificar por entropia o quadro adicionado para obter um quadro mixado.
Descrição Resumida dos Desenhos
[0013] As configurações da presente invenção encontram-se descritas abaixo, com referência aos desenhos anexos.
[0014] A Fig. 1 mostra um diagrama de bloco de um banco de filtros de análise;
[0015] A Fig. 2 mostra uma representção esquemática de quadros de entrada sendo processados por uma coniguração de um banco de filtros de análise;
[0016] A Fig. 3 mostra um diagrama de bloco de uma configuração de um banco de filtros de síntese;
[0017] A Fig. 4 mostra uma representação esquemática de quadros de saída na estrutura de ser processados por uma configuração de um banco de filtros de síntese;
[0018] A Fig. 5 mostra uma representação esquemática de uma função de janela de análise e uma função de janela de sínteses de uma configuração de um banco de filtros de análise e de um banco de filtros de síntese;
[0019] A Fig. 6 mostra uma comparação de uma função de janela de análise e uma função de janela de síntese em comparação com uma função de janela sinal:
[0020] A Fig. 7 mostra uma comparação posterior de diferentes funções de janelas;
[0021] A Fig. 8 mostra uma comparação de comportamento pré-eco para as três diferentes funções de janelas mostradas na Fig. 7;
[0022] A Fig. 9 mostra esquematicamente a propriedade de mascaramento temporal geral do ouvido humano;
[0023] A Fig. 10 mostra uma comparação da resposta de frequência de uma janela de sinal e uma janela de baixo atraso;
[0024] A Fig. 11 mostra uma comparação de uma resposta de freqüência de uma janela de seno e uma janela de baixa sobreposição;
[0025] A Fig. 12 mostra uma configuração de um codificador;
[0026] A Fig. 13 mostra uma configuração de um codificador;
[0027] A Fig. 14a mostra um sistema que compreende um codificador e um decodificador;
[0028] A Fig. 14b mostra diferentes fontes de atrasos compreendidas no sistema mostrado na Fig. 14a;
[0029] A Fig. 15 mostra uma tabela que compreende uma comparação de atrasos;
[0030] A Fig. 16 mostra uma configuração de um sistema de conferência que compreende uma configuração de um mixador;
[0031] A Fig. 17 mostra uma configuração posterior de um sistema de conferência como um servidor ou uma unidade de controle de mídia;
[0032] A Fig. 18 mostra um diagrama de bloco de uma unidade de controle de mídia;
[0033] A Fig. 19 mostra uma configuração de um banco de filtros de síntese como uma implementação eficiente;
[0034] A Fig. 20 mostra uma tabela que compreende uma avaliação de da eficiência computacional de uma configuração de um banco de filtros de síntese ou um banco de filtros de análise (codec AAC ELD);
[0035] A Fig. 21 mostra uma tabela que compreende uma avaliação da eficiência computacional de um codec AAC LD;
[0036] A Fig. 22 mostra uma tabela que compreende uma avaliação da complexidade computacional de um codec AAC LD;
[0037] As Figs. 23a e 23b mostram tabelas que compreendem uma comparação de uma avaliação adicional da eficiência de memória de RAM e ROM para três diferentes codecs; e
[0038] A Fig. 24 mostra uma tabela que compreende uma lista de codex usados para um teste de MUSHRA.
Descrição Detalhada das Configurações
[0039] As Figs. 1 a 24 mostram diagramas de bloco e outros diagramas que descrevem as propriedades funcionais e características de diferentes configurações de um banco de filtros de análise, um banco de filtros de síntese, um codificador, um decofidicador, um mixador, um sistema de conferência e outras configurações da presente invenção. No entanto, antes de descrever uma configuração de um banco de filtros de síntese, com relação às Figs. 1 a 2, uma configuração de um banco de filtros de análise e uma representação esquemática de quadros de entrada sendo processados por uma configuração de um banco de filtros de análise será descrita mais detalhadamente.
[0040] A Fig. 1 mostra uma primeira configuração de um banco de filtros de análise 100 que compreende um ponto de janela 110 e um conversor tempo/frequência 120. Para ser mais preciso, o ponto de janela 110 é configurado para receber uma pluralidade de quadros de entrada de domínio de tempo, cada quadro de entrada compreendendo um número de amostras de entrada ordenadas em uma entrada 110i. O ponto de janela 110 é posteriormente adaptado para gerar uma pluralidade de quadros com janelas, que são fornecidos pelo ponto de janela na saída ll0o do ponto de janela 110. Cada um dos quadros com janelas compreende uma pluralidade de amostras com janelas, em que o ponto de janela 110 é posteriormente configurado para processar a pluralidade de quadros com janelas em sobreposição usando um valor de avanço de amostra conforme explicado mais detalhadamente no contexto da Fig. 2.
[0041] O conversor tempo/frequência 120 é capaz de receber os quadros com janelas como saída pelo ponto de janela 110 e configurados para fornecer um quadro de saída que compreende um número de valores de saída, de forma que um quadro de saída seja a representação espectral de um quadro com janela.
[0042] A fim de ilustrar e esquematizar as características e propriedades funcionais de uma configuração de um banco de filtros de análise 100, a Fig. 2 mostra uma representação esquemática de cinco quadros de entrada 130-(k-3), 130-(k-2), 130-(k-1), 130-k e 130-(k+1) como uma função de tempo, conforme indicado por uma seta 140 na parte inferior da Fig. 2.
[0043] A seguir, a operação de uma configuração de um banco de filtros de análise 100 será descrita mais detalhadamente com referência ao quadro de entrada 130-k, como indicado pela linha tracejada na Fig. 2. Com relação a esse quadro de entrada 130-k, o quadro de entrada 103-(k+1) é um quadro de entrada futuro, enquanto os três quadros de entrada 130-(k-1), 130-(k-2) e 130-(k-3) são quadros de entrada passados. Em outras palavras, k é um número inteiro que indica um índice de quadro, de forma que quanto maior for o índice do quadro, mais distante o quadro de entrada está localizado "no futuro". Dessa forma, quanto menor for o índice k, mais distante o quadro de entrada está localizado “no passado”.
[0044] Cada um dos quadros de entrada 130 compreende pelo menos duas subseções 150, de comprimento igual. Para ser mais preciso, no caso de uma configuração de um banco de filtros de análise 100, em que a representação esquemática mostrada na Fig. 2 se baseia, o quadro de entrada 130-k, bem como os outros quadros de entrada 130, compreende as subseções 150-2, 150-3 e 150-4 que são iguais em comprimento e em termos de amostras de entrada. Cada uma dessas subseções 150 do quadro de entrada 130 compreende valores de entrada M, em que M é um número inteiro positivo. Além disso, o quadro de entrada 130 também compreende uma primeira subseção 150-1 que também pode compreender quadros de entrada M. Nesse caso, a primeira subseção 150-1 compreende uma seção inicial 160 do quadro de entrada 130, que pode compreender amostras de entrada ou outros valores, conforme será explicado mais detalhadamente em uma etapa posterior. No entanto, dependendo da implementação concreta da configuração de um banco de filtros de análise, a primeira subseção 150-1 não precisa compreender uma seção inicial 160. Em outras palavras, a primeira subseção 150-1 pode, em princípio, compreender um número menor de amostras de entrada em comparação com outras subseções 150-2, 150-3, 150-4. Exemplos desse caso também serão ilustrados posteriormente.
[0045] Opcionalmente, além da primeira subseção 150-1, as outras subseções 150-2, 150-3, 150-4 compreendem tipicamente o mesmo número de amostras de entrada M, que são iguais ao chamado valor de avanço de amostra 170, que indica um número de amostras de entrada pelo qual dois quadros de entrada 130 consecutivos são movidos com relação ao tempo e entre si. Em outras palavras, conforme o valor de avanço de amostra M, como indicado por uma seta 170 for, no caso de uma configuração de um banco de filtros de análise 100, como ilustrado nas Figs. 1 e 2, igual ao comprimento das subseções 150-2, 150-3, 150-4, os quadros de entrada 130 são gerados e processados pelo ponto de janela 110 e em sobreposição. Além disso, o valor de avanço de amostra M (seta 170) também é idêntico ao comprimento das subseções 150-2 a 150-4.
[0046] Os quadros de entrada 130-k e 130-(k+1) são, então, em termos de um número significativo de amostras de entrada, iguais no sentido de que ambos os quadros de entrada compreendem essas amostras de entrada, enquanto são transferidos com relação às subseções 150 individuais dos dois quadros de entrada 130. Para ser mais preciso, a terceira subseção 150-3 do quadro de entrada 130-k é igual à quarta subseção 150-4 do quadro de entrada 130-(k+1). Assim, a segunda subseção 150-2 do quadro de entrada 130-k é idêntica à terceira subseção 150-3 do quadro de entrada 130- (k+1).
[0047] Ainda, em outras palavras, os dois quadros de entrada 130-k, 130-(k+1) correspondentes aos índices de quadro k e (k+1) são em termos de duas subseções 150 no caso das configurações mostradas na Fig. 2, idênticas, exceto pelo fato de, em termos do quadro de entrada com o quadro de índice (k+1), as amostras serem movidas.
[0048] Os dois quadros de entrada 130-k e 130-(k+1) anteriormente mencionados compartilham ainda pelo menos uma amostra da primeira subseção 150-1 do quadro de entrada 130k. Para ser mais preciso, no caso da configuração mostrada na Fig. 2, todas as amostras de entrada na primeira subseção 150-1 do quadro de entrada 130-k, que não fizerem parte da seção inicial 160, aparecem como parte da segunda subseção 150-2 do quadro de entrada 130-(k+1). No entanto, as amostras de entrada da segunda subseção 150-2 correspondentes à seção inicial 160 do quadro de entrada 130-k anterior, podem ou não serem baseadas nos valores de entrada ou amostras de entrada da seção inicial 160 do respectivo quadro de entrada 130, dependendo da implementação concreta de uma configuração de um banco de filtros de análise.
[0049] No caso da seção inicial 160 existente, de forma que o número de quadros de entrada na primeira subseção 150-1 seja igual ao número de amostras de entrada nas outras subseções 150-2 a 150-4, em princípio, dois casos diferentes devem ser considerados, embora outros casos posteriores entre esses dois casos “extremos”, que serão explicados, sejam possíveis.
[0050] Caso a seção inicial 160 compreenda amostras de entrada codificadas “significativas” no sentido de que as amostras de entrada na seção inicial 160 representam um sinal de áudio no domínio de tempo, essas amostras de entrada também farão parte da subseção 150-2 do seguinte quadro de entrada 130-(k+1). Esse caso, entretanto, em muitas aplicações de uma configuração de um banco de filtros de análise, não é uma implementação ideal, visto que essa opção pode causar atraso adicional.
[0051] No caso, entretanto, de a seção inicial 160 não compreender amostras de entrada “significativas”, que nesse caso podem também ser chamadas de valores de entrada, os valores de entrada correspondentes da seção inicial 160 podem compreender valores aleatórios, um valor pré-determinado, fixo, adaptável ou programável, que pode, por exemplo, ser fornecido em termos de um cálculo algorítmico, determinação ou outro tipo de fixação por uma unidade ou um módulo, que possa ser acoplado à entrada 110i do ponto de janela 110 da configuração do banco de filtros de análise. Nesse caso, entretanto, exige-se tipicamente que o módulo forneça como o quadro de entrada 130-(k+1), um quadro de entrada que compreenda na segunda subseção 150-2 na área correspondente à seção inicial 160 do quadro de entrada anterior amostras de entrada “significativas”, que correspondem ao sinal de áudio correspondente. Além disso, a unidade ou o módulo acoplado à entrada 110i do ponto de janela 110 deve tipicamente fornecer também amostras significativas correspondentes ao sinal de áudio na estrutura da primeira subseção 150-1 do quadro de entrada 130-(k+1).
[0052] Em outras palavras, nesse caso, o quadro de entrada 130-k correspondente ao índice de quadro k é fornecido à configuração de um banco de filtros de análise 100 após amostras de entrada suficientes terem sido reunidas, de forma que a subseção 150-1 desse quadro de entrada possa ser preenchida com essas amostras de entrada. O restante da primeira subseção 150-1, ou seja, a seção inicial 160, é então preenchida com amostras de entrada ou valores de entrada, que podem compreender valores aleatórios ou quaisquer outros valores como um valor pré-determinado, fixo, adaptável ou programável ou qualquer outra combinação de valores. Como isso, em princípio, pode ser feito em uma velocidade muito alta, em comparação com uma frequência de amostragem típica, fornecer a seção inicial 160 do quadro de entrada 130-k com essas amostras de entrada “insignificantes”, não requer um período de tempo significativo na escala apresentada por uma frequência de amostragem típica, de forma que uma frequência de amostragem na faixa entre kHz e até muitos 100 kHz.
[0053] No entanto, a unidade ou módulo continua coletando amostras de entrada com base no sinal de áudio para incorporar essas amostras de entrada no quadro de entrada 130-(k+1) a seguir correspondente ao índice de quadro k+1. Em outras palavras, embora o módulo ou a unidade não tenha terminado de coletar amostras de entrada suficientes para fornecer o quadro de entrada 130-k nos termos da primeira subseção 150-1 com amostras de entrada suficientes para preencher completamente a primeira subseção 150-1 desse quadro de entrada, mas fornece esse quadro de entrada à configuração do banco de filtros 100 assim que amostras de entrada suficientes estiverem disponíveis, de forma que a primeira subseção 150-1 possa ser preenchida com amostras de entrada sem a seção inicial 160.
[0054] As amostras de entrada a seguir serão usadas para preencher as amostras de entrada remanescentes da segunda subseção 150-2 do seguinte quadro de entrada 130-(k+1) até que amostras de entrada suficientes sejam reunidas, de forma que a primeira subseção 150-1 desse próximo quadro de entrada também possa ser preenchida até que a seção inicial 160 desse quadro comece. A seguir, novamente, a seção inicial 160 será preenchida com números aleatórios ou outros valores de entrada ou amostras de entrada "insignificantes".
[0055] Como consequência, embora o valor de avanço de amostra 170, que é igual ao comprimento da subseção 150-2 a 150-4 no caso da configuração mostrada na Fig. 2 estar indicado na Fig. 2 e o erro que representa o valor de avanço da amostra 170 seja mostrado na Fig. 2 desde o começo da seção inicial 160 do quadro de entrada 130-k até o começo da seção inicial 160 do quadro de entrada 130-(k+1) seguinte.
[0056] Como consequência posterior, uma amostra de entrada correspondente a um evento no sinal de áudio correspondente à seção inicial 160, nos últimos dois casos, não estará presente nos respectivos quadros de entrada 130-k, mas no seguinte quadro de entrada 130-(k+1) na estrutura da segunda subseção 150-2.
[0057] Em outras palavras, muitas configurações de um banco de filtros de análise 100 podem fornecer um quadro de saída com atraso reduzido, visto que as amostras de saída correspondentes à seção inicial 160 não fazem parte do respectivo quadro de saída 130-k mas influenciarão apenas o quadro de entrada 130-(k+1) posterior. Em outras palavras, uma configuração de um banco de filtros de análise pode oferecer em muitas aplicações e implementações a vantagem de fornecer o quadro de saída com base no quadro de entrada mais rapidamente, visto que a primeira subseção 150-1 não precisa compreender o mesmo número de amostras de entrada que a outra subseção 150-2 a 150-4. No entanto, as informações compreendidas na “seção faltante” econtram-se compreendidas no próximo quadro de entrada 130 na estrutura da segunda subseção 150-2 desse respectivo quadro de entrada 130.
[0058] No entanto, conforme indicado anteriormente, também pode haver o caso, dos quadros de entrada 130 não compreenderem a seção inicial 160. Nesse caso, o comprimento dos quadros de entrada 130 não é mais um múltiplo número inteiro do valor de avanço da amostra 170 ou o comprimento da subseção 150-2 to 150-4. Para ser mais preciso, nesse caso, o comprimento de cada um dos quadros de entrada 130 difere dos múltiplos números inteiros correspondentes do valor de avanço de amostra pelo número de amostras de entrada, que o módulo ou unidade que fornece o ponto de janela 110 com os respectivos quadros de entrada para antes de fornecer a primeira subseção 150-1 inteira. Em outras palavras, o comprimento geral desse quadro de entrada 130 difere do respectivo número inteiro de valores de avanço de amostra pela diferença entre os comprimentos da primeira subseção 150-1 em comparação com o comprimento das outras subseções 150-2 a 150-4.
[0059] No entanto, nos dois últimos casos mencionados, o módulo ou unidade, que pode, por exemplo, compreender um amostrador [“sampler”], um estágio de amostragem e retenção [“sample-and-hold-stage”], um amostrador e retentor [“sample- and-holder”] ou um quantificador, pode começar a fornecer o quadro de entrada 130 correspondente sem um número pré- determinado de amostras de entrada, de forma que cada um dos quadros de entrada 130 possa ser fornecido à configuração de um banco de filtros de análise 100 com um atraso menor em comparação com o caso em que a primeira subseção 150-1 completa é preenchida com amostras de entrada correspondentes.
[0060] Como já indicado, essa unidade ou módulo que pode ser acoplada à entrada 110i do ponto de janela 110 pode, por exemplo, compreender um amostrador e/ou um quantificador como um conversor analógico/digital (conversor A/D). No entanto, dependendo da implementação concreta, esse módulo ou unidade pode compreender ainda alguma memória ou registros para armazenar as amostras de entrada correspondentes ao sinal de áudio.
[0061] Além disso, essa unidade ou módulo pode fornecer cada um dos quadros de entrada em sobreposição, com base em um valor de avanço de amostra M. Em outras palavras, um quadro de entrada compreende mais de duas vezes o numero de amostras de entrada em comparação com o número de amostras reunidas por quadro ou bloco. Essa unidade ou modulo é, em muitas configurações, adaptada de forma que os dois quadros de entrada gerados consecutivamente são baseados em uma pluralidade de amostras que são transferidas com relação ao tempo pelo valor de avanço da amostra. Nesse caso, o quadro de entrada posterior dos dois quadros de entrada gerados consecutivamente baseia-se em pelo menos uma amostra de saída fresca como a amostra de saída anterior e a referida pluralidade de amostras é transferida posteriormente pelo valor de avanço da amostra no quadro de entrada anterior dos dois quadros de entrada.
[0062] Embora, até agora, uma configuração de um banco de filtros de análise 100 tenha sido descrita em termos de cada quadro de entrada 130 que compreende quatro subseções 150, em que a primeira subseção 150 não precisa compreender o mesmo número de amostras de entrada que as outras subseções, não precisa ser igual a quatro como no caso mostrado na Fig. 2. Para ser mais preciso, um quadro de entrada 130 pode compreender, em princípio, um número arbitrário de amostras de entrada, que é maior do que duas vezes o tamanho do valor de avanço de amostra M (seta 170), em que o número de valores de entrada da seção inicial 160, caso esteja presente, deve ser incluído nesse número, como pode ser útil considerar algumas implementações de uma configuração baseada em um sistema que usa quadros, em que cada quadro compreende um número de amostras que é idêntico ao valor de avanço da amostra. Em outras palavras, qualquer número de subseções, cada uma com um comprimento idêntico ao valor de avanço de amostra M (seta 170) pode ser usado na estrutura de uma configuração de um banco de filtros de análise 100, que é maior ou igual a três no caso de um sistema baseado em quadros. Se não for esse o caso, em princípio, qualquer número de amostras de entrada por quadro de entrada 130 pode ser usado, contanto que seja maior do que duas vezes o valor de avanço da amostra.
[0063] O ponto de janela 110 de uma configuração de um banco de filtros de análise 100, conforme mostrado na Fig. 1, é configurado para gerar uma pluralidade de pontos de janela com base nos quadros de entrada 130 correspondentes com base no valor de avanço da amostra M (seta 170) em sobreposição conforme explicado anteriormente. Para ser mais preciso, dependendo da implementação concreta de um ponto de janela 110, o ponto de janela 110 é configurado para gerar um quadro com janela, com base em uma função de pesagem, que pode, por exemplo, compreender uma dependência logarítmica a um modelo de características de audição do ouvido humano. Entretanto, outras funções de pesagem também podem ser implementadas, como a modelagem de função de pesagem, as características psico-acústicas do ouvido humano. Entretanto, a função de ponto de janela implementada na configuração de um banco de filtros de análise, pode, por exemplo, também ser implementada de forma que cada uma das amostras de entrada de um quadro de entrada seja multiplicada por uma função de ponto de janela de valor real que compreende coeficientes de janela específicas de amostra de valor real.
[0064] Um exemplo dessa implementação é mostrado na Fig. 2. Para ser mais preciso, a Fig. 2 mostra uma representação esquemática bruta de uma possível função de janela ou função de ponto de janela 180, pela qual o ponto de janela 110, como mostrado na Fig. 1 gera os quadros com janelas, com base nos quadros de entrada 130 correspondentes. Dependendo da implementação concreta de um banco de filtros de análise 100, o ponto de janela 110 pode fornecer ainda quadros com janelas para o conversor tempo/frequência 120 de uma maneira diferente.
[0065] Com base em cada um dos quadros de entrada 130, o ponto de janela 110 é configurado para gerar um quadro com janela, em que cada um dos quadros com janelas compreende uma pluralidade de amostras com janelas. Para ser mais preciso, o ponto de janela 110 pode ser configurado de maneiras diferentes. Dependendo do comprimento de um quadro de entrada 130 e dependendo do comprimento do quadro com janela a ser fornecido ao fornecedor tempo/frequência 120, diversas possibilidades de como o ponto de janela 110 é implementado para gerar os quadros com janelas podem ser realizadas.
[0066] Se, por exemplo, um quadro de entrada 130 compreender uma seção 160, de forma que no caso de uma configuração mostrada na Fig. 2, a primeira subseção 150-1 de cada um dos quadros de entrada 130 compreende tantos valores de entrada ou amostras de entrada quanto as outras subseções 150-2 a 150-4, o ponto de janela 110 pode, por exemplo, ser configurado de forma que a estrutura de janela possa também compreender o mesmo número de amostras com janelas que o quadro de entrada 130 compreende amostras de entrada de valores de entrada. Nesse caso, devido à estrutura dos quadros de entrada 130, conforme descrito anteriormente, todas as amostras de entrada do quadro de entrada, exceto os valores de entrada dos quadros de entrada 130 na seção inicial 160 podem ser processados pelo ponto de janela 110 com base na função de ponto de janela ou na função de janela conforme descrito anteriormente. Os valores de entrada da seção inicial 160 podem, nesse caso, ser definidos em um valor pré-determinado ou em pelo menos um valor em uma faixa pré-determinada.
[0067] O valor pré-determinado pode, por exemplo, ser uma configuração de um banco de filtros de análise 100 igual ao valor 0 (zero), em que outras configurações, valores diferentes, podem ser desejáveis. Por exemplo, é possível usar, em princípio, qualquer valor com relação à seção inicial 160 dos quadros de entrada 130, que indique que os valores correspondentes não sejam significativos em termos do sinal de áudio. Por exemplo, o valor pré-determinado pode ser um valor que esteja fora de uma faixa típica de amostras de entrada de um sinal de áudio. Por exemplo, amostras com janelas dentro de uma seção do quadro com janelas correspondente à seção inicial 160 do quadro de entrada 130 podem ser ajustadas em um valor de duas vezes ou mais a amplitude máxima de um sinal de áudio de entrada que indique que esses valores não correspondem a sinais a serem mais processados. Outros valores, por exemplo, valores negativos de um valor absoluto específico da implementação, também podem ser usados.
[0068] Além disso, em configurações de um banco de filtros de análise 100, amostras com janelas dos quadros com janelas correspondentes à seção inicial 160 de um quadro de entrada 130 pode também ser ajustado a um ou mais valores em uma faixa pré-determinada. Em princípio, essa faixa pré- determinada pode, por exemplo, ser uma faixa de valores pequenos, que sejam insignificantes em termos de experiência de áudio, de forma que o resultado seja auditivamente imperceptível ou de forma que a experiência auditiva não seja significativamente prejudicada. Nesse caso, a faixa pré- determinada pode, por exemplo, ser expressa como um conjunto de valores com um valor absoluto que seja menor ou igual a um limite máximo pré-determinado, programável, adaptável ou fixo. Esse limite pode, por exemplo, ser expresso como uma potência de 10 ou uma potência ou duas como 10s ou 2s, em que s é um valor número inteiro dependendo da implementação concreta.
[0069] Entretanto, em princípio, a faixa pré-determinada pode também compreender valores que sejam maiores do que alguns valores significativos. Para ser mais preciso, a faixa pré-determinada também pode compreender valores, que compreendam um valor absoluto, que é maior ou igual a um limite mínimo programável, pré-determinado ou fixo. Esse limite mínimo pode, em princípio, ser expresso novamente em termos de uma potência ou duas ou uma potência de dez como 2s ou 10s, em que s é novamente um número inteiro dependendo da implementação concreta de uma configuração de um banco de filtros de análise.
[0070] No caso de uma implementação digital, a faixa pré- determinada pode, por exemplo, compreender valores que possam ser expressos pelo ajuste ou não do bit menos significativo ou pluralidade de bits menos significativos no caso de uma faixa pré-determinada que compreenda valores pequenos. No caso de a faixa pré-determinada compreender valores maiores, conforme explicado anteriormente, a faixa pré-determinada pode compreender valores, representáveis pelo ajuste ou não do bit mais significativo ou pluralidade de bits mais significativos. Entretanto, o valor pré-determinado, bem como as faixas pré-determinadas, pode também compreender outros valores, que, por exemplo, podem ser criados com base nos valores e limites acima multiplicando-os por um fator.
[0071] Dependendo da implementação concreta de uma configuração de um banco de filtros de análise 100, o ponto de janela 110 pode também ser adaptado de forma que os quadros com janelas fornecidos na saída 110o não compreendam amostras que correspondam a quadros de entrada das seções iniciais 160 dos quadros de entrada 130. Nesse caso, o comprimento do quadro com janela e o comprimento dos quadros de entrada 130 correspondentes pode, por exemplo, ser diferente devido ao comprimento da seção inicial 160. Em outras palavras, nesse caso, o ponto de janela 110 pode ser configurado ou adaptado para desconsiderar pelo menos a amostra de entrada mais recente de acordo com a ordem de amostras de entrada conforme descrito anteriormente em termos de tempo. Em outras palavras, em algumas configurações de um banco de filtros de análise 100, o ponto de janela 110 pode ser configurado de forma que um ou mais ou mesmo todos os valores de entrada ou amostras de entrada da seção inicial 160 de um quadro de entrada 130 sejam desconsiderados. Nesse caso, o comprimento do quadro com janela é igual à diferença entre os comprimentos do quadro de entrada 130 e o comprimento da seção inicial 160 do quadro de entrada 130.
[0072] Como opção posterior, cada um dos quadros de entrada 130 pode não compreender uma seção inicial 160, como indicado anteriormente. Nesse caso, a primeira subseção 150-1 difere em termos do comprimento da respectiva subseção 150, ou em termos do número de amostras de entrada de outras subseções 150-2 a 150-4. Nesse caso, o quadro com janela pode ou não compreender amostras com janelas ou valores com janelas de forma que uma primeira subseção semelhante do quadro com janela correspondente à primeira subseção 150-1 do quadro de entrada 130 compreenda o mesmo número de amostras com janelas ou valores com janelas que as outras subseções correspondentes às subseções 150 do quadro de entrada 130. Nesse caso, as amostras com janelas ou valores com janelas adicionais podem ser ajustados a um valor pré-determinado ou pelo menos um valor em uma faixa pré-determinada, como indicado anteriormente.
[0073] Além disso, o ponto de janela 110 pode ser configurado em configurações de um banco de filtros de análise 100 de forma que tanto o quadro de entrada 130 como o quadro com janela resultante compreendam o mesmo número de valores ou amostras e em que tanto o quadro de entrada 130 como os quadros com janelas resultantes não compreendam a seção inicial 160 ou amostras correspondentes à seção inicial 160. Nesse caso, a primeira subseção 150-1 do quadro de entrada 130, bem como a subseção correspondente do quadro de janela compreende menos valores ou amostras em comparação com as outras subseções 150-2 a 150-4 do quadro de entrada 130 das subseções correspondentes do quadro com janela.
[0074] Deve-se notar que, em princípio, o quadro com janela não precisa corresponder a um comprimento de um quadro de entrada 130 que compreende uma seção inicial 160 ou a um quadro de entrada 130 que não compreende uma seção inicial 160. Em princípio, o ponto de janela 110 também pode ser adaptado de forma que o quadro com janela compreenda um ou mais valores ou amostras que correspondam a valores da seção inicial 160 de um quadro de entrada 130.
[0075] Nesse contexto, deve-se notar também que em algumas configurações de um banco de filtros de análise 100, a seção inicial 160 representa ou pelo menos compreende um subconjunto conectado de índices de amostra n correspondente a um subconjunto conectado de valores de entrada ou amostras de entrada de um quadro de entrada 130. Portanto, se aplicável, também os quadros com janelas que compreendem uma seção inicial correspondente compreendem um subconjunto conectado de índices de amostra n de amostras com janelas correspondentes à respectiva seção inicial do quadro com janela, também chamado de seção de partida ou seção de início do quadro com janela. O resto do quadro com janela sem a seção inicial ou seção de partida, que às vezes é chamado de seção remanescente.
[0076] Como já indicado anteriormente, o ponto de janela 110 pode, em configurações de um banco de filtros de análise 100, ser adaptado para gerar as amostras com janelas de valores com janelas de um quadro com janela não correspondente à seção inicial 160 de um quadro de entrada 130, caso haja, com base em uma função de janela que possa incorporar modelos psico-acústicos, por exemplo, em termos de gerar as amostras com janelas com base em um cálculo logarítmico com base nas amostras de entrada correspondentes. No entanto, o ponto de janela 110 pode também ser adaptado em diferentes configurações de um banco de filtros de análise 100, de forma que cada uma das amostras com janelas seja gerada multiplicando uma amostra de entrada correspondente por um coeficiente com janela específico da amostra da função de janela definida em um conjunto de definição.
[0077] Em muitas configurações de um banco de filtros de análise 100, o ponto de janela 110 correspondente é adaptado de forma que a função de janela, como, por exemplo, descrita pelos coeficientes de janela, é assimétrica no conjunto de definição com relação a um ponto intermediário do conjunto de definição. Além disso, em muitas configurações de um banco de filtros de análise 100, os coeficientes de janela da função de janela compreendem um valor absoluto de mais de 10%, 20% ou 30%, 50% de um valor absoluto máximo de todos os coeficientes de janela da função de janela na primeira metade do conjunto de definição com relação ao ponto intermediário, em que a função de janela compreende menos coeficientes de janela com um valor absoluto de mais do que a porcentagem mencionada acima do valor absoluto máximo dos coeficientes de janela na segunda metade do conjunto de definição, com relação ao ponto intermediário. Essa função de janela é mostrada esquematicamente no contexto de cada um dos quadros de entrada 130 na Fig. 2 como a função de janela 180. Mais exemplos de funções de janela são descritos no contexto das Figs. 5 a 11, incluindo uma breve discussão de propriedades espectrais e outras propriedades e oportunidades oferecidas por algumas configurações de um banco de filtros de análise, bem como um banco de filtros de síntese que implemente funções de janela, conforme mostrado nessas figuras e descrito nas passagens.
[0078] Além do ponto de janela 110, uma configuração de um banco de filtros de análise 100 também compreende o conversor tempo/frequência 120, que é fornecido com os quadros com janelas a partir do ponto de janela 110. O conversor tempo/frequência 120 é, por sua vez, adaptado para gerar um quadro de saída ou uma pluralidade de quadros de saída para cada um dos quadros com janelas de forma que o quadro de saída seja uma representação espectral do quadro com janela correspondente. Como será explicado posteriormente de forma mais detalhada, o conversor tempo/frequência 120 é adaptado de forma que o quadro de saída compreenda menos do que a metade do número de valores de saída em comparação com o número de amostras de entrada, ou em comparação com a metade do número de amostras com janelas de um quadro de entrada.
[0079] Além disso, o conversor tempo/frequência 120 pode ser implementado de forma que se baseie em uma transformada discreta de cosseno e/ou uma transformada discreta de seno de forma que o número de amostras de saída de um quadro de saída seja menor do que a metade do número de amostras de entrada de um quadro de entrada. Entretanto, mais detalhes sobre a implementação de possíveis configurações de um banco de filtros 100 serão abordados em breve.
[0080] Em algumas configurações de um banco de filtros de análise, um conversor tempo/frequência 120 é configurado de forma que resulte em um número de amostras de saída, que seja igual ao número de amostras de entrada de uma seção de partida 150-2, 150-3, 150-4, que não seja a seção de partida da primeira subseção 150-1 do quadro de entrada 130, ou que seja idêntico ao valor de avanço de amostra 170. Em outras palavras, em muitas configurações de um banco de filtros de análise 100, o número de amostras de saída é igual ao número inteiro M que representa o valor de avanço da amostra de um comprimento da subseção 150 do quadro de entrada 130. Os valores típicos do valor de avanço da amostra ou M são, em muitas configurações, 480 ou 512. No entanto, deve-se notar que número inteiros M diferentes também podem ser facilmente implementados em configurações de um banco de filtros de análise, como M = 360.
[0081] Além disso, deve-se notar que em algumas configurações de um banco de filtros de análise, a seção inicial 160 de um quadro de entrada 130 ou a diferença entre o número de amostras nas outras subseções 150-2, 150-3, 150-4 e a primeira subseção 150-1 de um quadro de entrada 130 é igual a M/4. Em outras palavras, no caso de uma configuração de um banco de filtros de análise 100, em que M = 480, o comprimento da seção inicial 160 ou a diferença acima é igual a amostras 120 (=M/4), enquando no caso de M = 512, o comprimento da seção inicial 160 da diferença acima é igual a 128 (=M/4) em algumas configurações de um banco de filtros de análise 100. No entanto, deve-se notar que também nesse caso, comprimentos diferentes também podem ser implementados e não representam um limite em termos de uma configuração de um banco de filtros de análise 100.
[0082] Como indicado anteriormente, como o conversor tempo/frequência 120 pode, por exemplo, basear-se em uma transformada discreta de cosseno ou uma transformada discreta de seno, as configurações de um banco de filtros de análise são, às vezes, discutidas e explicadas também em termos de parâmetro N = 2M representando um comprimento de um quadro de entrada de um conversor de transformada discreta de cosseno (MDCT). Nas configurações de um banco de filtros de análise 100 acima, o parâmetro N é, portanto, igual a 960 (M = 480) e 1024 (M = 512).
[0083] Como será explicado de forma mais detalhada posteriormente, as configurações de um banco de filtros de análise 100 podem oferecer como vantagem um atraso menor de um processamento de áudio digital sem reduzir a qualidade de áudio, ou não reduzindo-a de forma significativa. Em outras palavras, uma configuração de um banco de filtros de análise oferece a oportunidade de implementar um modo de codificação de atraso baixo aprimorado, por exemplo, na estrutura de um codec (de áudio) (codec = codificador/decodificador ou codificação/decodificação), que oferece um atraso menor, com uma resposta de frequência pelo menos comparável e um comportamento pré-eco aprimorado em comparação com muitos codex disponíveis. Além disso, como será explicado no contexto das configurações de um sistema de conferência de forma mais detalhada, apenas uma função de janela única para todos os tipos de sinais é capaz de alcançar os benefícios mencionados acima em algumas configurações de um banco de filtros de análise e configurações de sistemas que compreendam uma configuração de um banco de filtros de análise 100.
[0084] Para enfatizar, os quadros de entrada de configurações do banco de filtros de análise 100 não precisam compreender as quatro subseções 150-1 a 150-4 como ilustrado na Fig. 2. Isso representa apenas uma possibilidade que foi escolhida por sua simplicidade. Assim, o ponto de janela também não precisa ser adaptado de forma que os quadros com janelas também compreendam quatro subseções correspondentes ou o conversor tempo/frequência 120 para ser adaptado de forma que seja capaz de fornecer o quadro de saída com base em um quadro com janela que compreenda quatro subseções. A escolha foi feita no contexto de a Fig. 2 ser capaz de explicar algumas configurações de um banco de filtros de análise 100 de forma concisa e clara. Entretanto, declarações no contexto do quadro de entrada em termos do comprimento dos quadros de entrada 130 também podem ser transferidas para o comprimento dos quadros com janelas conforme explicado no contexto das diferentes opções acerca da seção inicial 160 e sua presença nos quadros de entrada 130.
[0085] A seguir, uma possível implementação de uma configuração de um banco de filtros de análise em vista de uma implementação de um codec de áudio avançado baixo atraso resiliente a erro (ER AAC LD) será explicada com relação a modificações a fim de adaptar o banco de filtros de análise do ER AAC LD para chegar a uma configuração de um banco de filtros de análise 100 que seja às vezes chamado de baixo atraso (banco de filtros de análise). Em outras palavras, a fim de alcançar um atraso suficientemente reduzido ou baixo, algumas modificações a um codificador padrão no caso de um ER AAC LD podem ser úteis, como definido a seguir.
[0086] Nesse caso, o ponto de janela 110 de uma configuração de um banco de filtros de análise 100 é configurado para gerar as amostras com janelas Zin com base na equação ou expressão zi,n = w(N-l-n)- x'i,n ,(1) em que i é um número inteiro que indica um índice de quadro ou um índice de bloco de um quadro com janela e/ou de um quadro de entrada, e em que n é o número inteiro que indica um índice de amostra na faixa entre -N and N-I.
[0087] Em outras palavras, em configurações que compreendem uma sequência inicial 160 na estrutura dos quadros de saída 130, o ponto de janela é expandido para a passagem implementando a expressão ou equação acima pelos índices de amostra n = -N,..., N-1, em que w(n) é um coeficiente de janela que corresponde a uma função de janela conforme será explicado de forma mais detalhada no contexto das Figs. 5 a 11. No contexto de uma configuração do banco de filtros de análise 100, a função de janela de síntese w é usada como função de janela de análise invertendo-se a ordem, como pode ser visto comparando o argumento da função de janela w(n-l-n). A função de janela para uma configuração de um banco de filtros de síntese, conforme esquematizado no contexto das Figs. 3 e 4, pode ser construído ou gerado com base na função de janela de análise espelhando (ex.: com relação ao ponto intermediário do conjunto de definição) para obter uma versão espelhada. Em outras palavras, a Fig. 5 mostra uma planilha das funções de janela de baixo atraso, em que a janela de análise é simplesmente uma réplica de inversão de tempo da janela de síntese. Nesse contexto, deve-se notar também que x'i,n representa uma amostra de entrada ou valor de entrada correspondente ao índice de bloco i e o índice de amostra n.
[0088] Em outras palavras, em comparação com a implementação de ER AAC LD mencionada anteriormente (ex.: na forma de um codec), baseada no comprimento da janela N de 1024 ou 960 valores baseados na janela do seno, o comprimento de janela, da janela de baixo atraso, compreendida na janela 110 da configuração do banco de filtros de análise 100 é 2N(=4M), expandindo a janela no passado.
[0089] Como será explicado de forma mais detalhada no contexto das Figs. 5 a 11, os coeficientes de janela w(n) para n=0,...,2N-l podem obedecer as relações dadas na tabela 1 no anexo e na tabela 3 no anexo para N=960 e N=1024 em algumas configurações, respectivamente. Além disso, os coeficientes de janela podem compreender os valores fornecidos nas tabelas 2 e 4 no anexo para N=960 e N=1024 no caso de algumas configurações, respectivamente.
[0090] Em termos do conversor tempo/frequência 120, o algoritmo MDCT central (MDCT = Transformada Discreta de Cosseno Modificada) como implementado na estrutura do codec ER AAC LD praticamente não é alterado, mas compreende a janela mais longa, conforme explicado, de forma que n agora vai de -N a N-1 em vez de zero a N-. Os coeficientes espectrais ou valores de saída do quadro de saída Xi,k são gerados com base na seguinte equação ou expressão
Figure img0001
[0091] em que z1,n é uma amostra com janela de um quadro com janela ou uma sequência de entrada com janela de um conversor tempo/frequência 120 correspondente ao índice de amostra n e o índice de bloco i como explicado anteriormente. Além disso, k é um número inteiro que indica o índice de coeficiente espectral e N é um número inteiro que indica duas vezes o número de valores de saída de um quadro de saída, ou como explicado anteriormente, o comprimento de janela de uma janela de transformada com base no valor de sequência de janela conforme implementado no codec ER AAC LD. O número inteiro n0 é um valor de compensação e é fornecido por
Figure img0002
[0092] Dependendo do comprimento concreto de um quadro de entrada 130 conforme explicado anteriormente no contexto da Fig. 2, o conversor tempo/frequência pode ser implementado com base em uma estrutura de janela que compreenda amostras com janelas correspondentes à seção inicial 160 dos quadros de entrada 130. Em outras palavras, no caso de M=480 ou N=960, as equações acima baseiam-se em quadros de entrada que compreendam um comprimento de 1920 amostras com janelas. No caso de uma configuração de um banco de filtros de análise 100 em que os quadros com janelas não compreendam amostras com janelas correspondentes à seção inicial 160 dos quadros de entrada 130, os quadros com janelas compreendem o comprimento de 1800 amostras com janelas no caso anteriormente mencionado de M=480. Nesse caso, as equações acima podem ser adaptadas de forma que as equações correspondentes sejam realizadas. No caso de um ponto de janela 110, isso pode, por exemplo, levar ao índice de amostra n a partir de -N,..., 7N/8-1 no caso de M/4 = N/8 amostras com janelas faltantes na primeira subseção em comparação com as outras subseções do quadro com janela conforme explicado anteriormente.
[0093] Assim, no caso de um conversor tempo/frequência 120, a equação acima pode ser facilmente adaptada modificando-se os índices de soma para que não incorporem as amostras com janelas da seção inicial ou seção de partida do quadro com janela. Logicamente, modificações posteriores podem ser facilmente obtidas de acordo no caso de um comprimento diferente da seção inicial 160 dos quadros de entrada 130 ou no caso da diferença entre o comprimento da primeira subseção e outras subseções do quadro com janela, conforme também explicado anteriormente.
[0094] Em outras palavras, dependendo da implementação concreta de uma configuração de um banco de filtros de análise 100, nem todos os cálculos, conforme indicado pelas expressões e equações acima, precisam ser realizados. Configurações posteriores de um banco de filtros de análise também podem compreender uma implementação em que o número de cálculos pode ser ainda mais reduzido, em princípio, levando a uma maior eficiência computacional. Um exemplo, no caso do banco de filtros de síntese, será descrito no contexto da Fig. 19.
[0095] Em particular, como também será explicado no contexto de uma configuração de um banco de filtros de síntese, uma configuração de um banco de filtros de análise 100 pode ser implementada na estrutura de um chamado codec de áudio avançado de baixo atraso aprimorado resiliente a erro (ER AAC ELD) derivado do codec ER AAC LD mencionado anteriormente. Conforme descrito, o banco de filtros de análise do codec ER AAC LD é modificado para chegar a uma configuração de um banco de filtros de análise 100 a fim de adotar o banco de filtros de baixo atraso como uma configuração de um banco de filtros de análise 100. Como será explicado de forma mais detalhada, o codec ER AAC ELD que compreende uma configuração de um banco de filtros de análise 100 e/ou uma configuração de um banco de filtros de síntese, que será explicado de forma mais detalhada mais adiante, proporciona a capacidade de expandir o uso da codificação de áudio genérica em baixa taxa de transferência de bits para aplicações que requerem um atraso muito baixo da cadeia de codificação/decodificação. Exemplos vêm, por exemplo, do campo de comunicações totalmente bidirecional [“full-duplex”] de tempo real, em que diferentes configurações podem ser incorporadas, como configurações de um banco de filtros de análise, um banco de filtros de análise, um decodificador e codificador, um mixador e um sistema de conferência.
[0096] Antes de descrever mais configurações da presente invenção de maneira mais detalhada, deve-se notar que objetos, estruturas e componentes com propriedade funcional igual ou semelhante são denotados com os mesmos sinais de referência. A menos que seja explicitamente indicado de outra forma, a descrição com relação a objetos, estruturas e componentes com propriedades funcionais e características iguais ou semelhantes podem ser trocadas uma pela outra. Além disso, nos seguintes sinais de referência resumidos para objetos, estruturas ou componentes que sejam idênticos ou semelhantes em uma configuração ou em uma estrutura mostrada em uma das figuras, serão usados, a menos que propriedades ou características de um objeto, estrutura ou componente específicos sejam usados. Por exemplo, no contexto dos quadros de entrada 130, sinais de referência resumidos já foram incorporados. Na descrição relacionada aos quadros de entrada na Fig. 2, caso um quadro de entrada específico seja mencionado, o sinal de referência específico desse quadro de entrada, ex.: 130-k foi usado, enquanto no caso de todos os quadros de entrada ou um quadro de entrada, que não seja especificamente distinto dos outros é mencionado, os sinais de referência resumidos 130 foram usados. O uso de sinais de referência resumidos, portanto, permite uma descrição mais clara e mais compacta de configurações da presente invenção.
[0097] Além disso, no contexto, deve-se notar que na estrutura da presente aplicação, um primeiro componente acoplado a um segundo componente pode ser diretamente conectado ou conectado por meio de outro circuito ou outro componente ao segundo componente. Em outras palavras, na estrutura da presente aplicação, dois componentes próximos um do outro compreendem as duas alternativas dos componentes diretamente conectados um ao outro por meio de outro circuito ou outro componente.
[0098] A Fig. 3 mostra uma configuração de um banco de filtros de síntese 200 para filtrar uma pluralidade de quadros de entrada, em que cada quadro de entrada compreende um número de valores de entrada ordenados. A configuração de um banco de filtros de síntese 200 compreende um conversor tempo/frequência 210, um ponto de janela 220 e uma sobreposição/adição 230 acoplados em série.
[0099] Uma pluralidade de quadros de entrada fornecida à configuração do banco de filtros de síntese 200 será processada primeiro pelo conversor tempo/frequência 210. Isso é capaz de gerar uma pluralidade de quadros de saída com base nos quadros de entrada, de forma que cada quadro de saída seja uma representação de tempo do quadro de entrada correspondente. Em outras palavras, o conversor tempo/frequência 210 realiza uma transição para cada quadro de entrada do domínio de frequência para o domínio de tempo.
[00100] O ponto de janela 220, que é acoplado ao conversor tempo/frequência 210, é então capaz de processar cada quadro de saída conforme fornecido pelo conversor frequência/tempo 210 para gerar um quadro com janela com base nesse quadro de saída. Em algumas configurações de um banco de filtros de síntese 200, o ponto de janela 220 é capaz de gerar os quadros com janelas processando cada uma das amostras de saída de cada um dos quadros de saída, em que cada quadro com janela compreenda uma pluralidade de amostras com janelas.
[00101] Dependendo da implementação concreta de uma configuração de um banco de filtros de síntese 200, o ponto de janela 220 é capaz de gerar os quadros com janelas com base nos quadros de saída pesando as amostras de saída com base em uma função de pesagem. Conforme explicado anteriormente no contexto do ponto de janela 110 na Fig. 1, a função de pesagem pode, por exemplo, basear-se em um modelo psico—acústico que incorpore as capacidades ou propriedades auditivas do ouvido humano, de forma que a dependência logarítmica do volume de um sinal de áudio.
[00102] Adicionalmente ou alternativamente, o ponto de janela 220 também pode gerar o quadro com janela com base no quadro de saída multiplicando cada amostra de saída de um quadro de saída com um valor específico de amostra de uma janela, função de ponto de janela ou função de janela. Esses valores também são chamados de coeficientes de janela ou coeficientes de ponto de janela. Em outras palavras, o ponto de janela 220 pode ser adaptado em pelo menos algumas configurações de um banco de filtros de síntese 200 para gerar as amostras com janelas de um quadro com janela multiplicando-os por uma função de janela que atribui um coeficiente de janela com valor real a cada um de um conjunto de elementos ou conjunto de definição.
[00103] Exemplos dessas funções de janela serão discutidos de forma mais detalhada no contexto das Figs. 5 a 11. Além disso, deve-se notar que essa função de janela pode ser assimétrica ou não simétrica com relação a um ponto intermediário do conjunto de definição, que, por sua vez, não precisa ser um elemento do conjunto de definição em si.
[00104] Além disso, o ponto de janela 220 gera a pluralidade de amostras de janela por outro processamento em sobreposição com base em um valor de avanço de amostra pela sobreposição/adição 230, como será explicado de maneira mais detalhada no contexto da Fig. 4. Em outras palavras, cada um dos quadros com janelas compreende mais de duas vezes o número de amostras com janelas em comparação com um número de amostras adicionadas conforme fornecido pela sobreposição/adição 230 acoplado a uma saída do ponto de janela 220. Como consequência, a sobreposição/adição é, então, capaz de gerar um quadro adicionado em sobreposição adicionando pelo menos três amostras com janelas de pelo menos três quadros com janelas diferentes a por pelo menos algumas das amostras adicionadas em configurações de um banco de filtros de síntese 200.
[00105] A sobreposição/adição 230 acoplada ao ponto de janela 220 é, então, capaz de gerar ou fornecer um quadro adicionado para cada quadro de janela recém recebido. No entanto, conforme mencionado anteriormente, a sobreposição/adição 230 opera os quadros com janelas em sobreposição para gerar um quadro com adição única.
[00106] Cada quadro adicionado compreende uma seção de partida e uma seção remanescente, como será explicado de maneira mais detalhada no contexto da Fig. 4, e compreende ainda uma pluralidade de amostras adicionadas adicionando pelo menos três amostras com janelas de pelo menos três quadros com janelas diferentes por um adicionado na seção remanescente de um quadro adicionado e adicionando pelo menos duas amostras com janelas de pelo menos dois quadros com janelas diferentes para uma amostra adicionada na seção de início. Dependendo da implementação, o número de amostras com janelas adicionadas para se obter uma amostra adicionada na seção remanescente pode ser pelo menos uma amostra maior em comparação com o número de amostras com janelas adicionadas para se obter uma amostra adicionada na seção de início.
[00107] Alternativamente ou adicionalmente e dependendo da implementação concreta de uma configuração de um banco de filtros de síntese 200, o ponto de janela 220 também pode ser configurado para desconsiderar o valor de saída mais antigo de acordo com a ordem das amostras de saída ordenadas, para ajustar as amostras com janelas correspondentes em um valor pré-determinado ou pelo menos um valor em uma faixa pré- determinada para cada quadro com janela da pluralidade de quadros com janelas. Além disso, a sobreposição/adição 230 pode, nesse caso, ser capaz de fornecer a amostra adicionada à seção remanescente de um quadro adicionado com base em pelo menos três quadros com janelas diferentes e uma amostra adicionada na seção inicial com base em pelo menos duas amostras com janelas diferentes de pelo menos dois quadros com janelas diferentes, como será explicado no contexto da Fig. 4.
[00108] A Fig. 4 mostra uma representação esquemática de cinco quadros de saída 240 correspondentes aos índices de quadro k, k-1, k-2, k-3 e k+1, que são rotulados de acordo. De forma semelhante à representação esquemática mostrada na Fig. 2, os cinco quadros de saída 240 mostrados na Fig. 4 são dispostos de acordo com sua ordem com relação ao tempo conforme indicado por uma seta 250. Com referência ao quadro de saída 240-k, os quadros de saída 240-(k-1), 240-(k-2) e 240-(k-3) referem-se aos quadros de saída anteriores 240. Assim, o quadro de saída 240-(k+1) é, com relação ao quadro de saída 240-k, um quadro de saída seguinte ou futuro.
[00109] Como já discutido anteriormente no contexto dos quadros de entrada 130 na Fig. 2, os quadros de saída 240 mostrados na Fig. 4 também compreendem, nos casos da configuração mostrada na Fig. 4, quatro subconjuntos 260-1, 260-2, 260-3 e 260-4 cada. Dependendo da implementação concreta da configuração de um banco de filtros de síntese 200, a primeira subseção 260-1 de cada um dos quadros de saída 240, pode ou não compreender uma seção inicial 270, como já foi discutido na estrutura da Fig. 2 no contexto da seção inicial 260 dos quadros de entrada 130. Como consequência, a primeira subseção 260-1 pode ser menor em comparação com as outras subseções 260-2, 260-3 e 260-4 na configuração ilustrada na Fig. 4. As outras subseções 260-2, 260-3 e 260-4, no entanto, compreendem cada uma um número de amostras de saída igual ao valor de avanço de amostra M mencionado acima.
[00110] Como descrito no contexto da Fig. 3, o conversor tempo/frequência 210 é, na configuração mostrada na Fig. 3, fornecido com uma pluralidade de quadros de entrada com base nos quais o conversor frequência/tempo 210 gera uma pluralidade de quadros de saída. Em algumas configurações de um banco de filtros de síntese 200, o comprimento de cada um dos quadros de saída é idêntico ao valor de avanço da amostra M, em que M é novamente um número inteiro positivo. Os quadros de saída gerados pelo conversor frequência/tempo 210, no entanto, compreendem pelo menos mais de duas vezes o número de valores de entrada de um quadro de entrada. Para ser mais preciso, em uma configuração de acordo com a situação mostrada na Fig. 4, os quadros de saída 240 compreendem ainda mais do que três vezes o número de amostras de saída em comparação com o número de valores de entrada, cada um dos quais compreende também em configurações relacionadas aos valores de entrada da situação M mostrada. Como consequência, os quadros de entrada podem ser divididos em subseções 260, em que cada uma das subseções 260 dos quadros de saída 240 (opcionalmente sem a primeira subseção 260-1, como discutido anteriormente), compreendem amostras de saída M. Além disso, a seção inicial 270 pode, em algumas configurações, compreender amostras M/4. Em outras palavras, no caso de M = 480 ou M = 512, a seção inicial 270, caso haja, pode compreender 120 ou 128 amostras ou valores.
[00111] Ainda em outras palavras, como explicado anteriormente no contexto das configurações do banco de filtros de análise 100, o valor de avanço da amostra M também é idêntico aos comprimentos das subseções 260-2, 260-3 e 2604 dos quadros de saída 240. Dependendo da implementação concreta de uma configuração de um banco de filtros de síntese 200, a subseção 260-1 do quadro de saída 240 também pode compreender amostras de saída M. Se, no entanto, a seção inicial 270 do quadro de saída 240 não existir, a primeira subseção 260-1 de cada um dos quadros de saída 240 é menor do que as subseções remanescentes 260-2 a 260—4 dos quadros de saída 240.
[00112] Conforme anteriormente mencionado, o conversor frequência/tempo 210 fornece para o ponto de janela 220 uma pluralidade de quadros de saída 240, em que cada um dos quadros de saída compreende um número de amostras de saída maior do que duas vezes o valor de avanço de amostra M. O ponto de janela 220 é, então, capaz de gerar quadros com janelas, com base no atual quadro de saída 240, como fornecido pelo conversor frequência/tempo 210. Mais explicitamente, cada um dos quadros com janelas correspondentes a um quadro de saída 240 é gerado com base na função de pesagem, como mencionado anteriormente. Em uma configuração baseada na situação mostrada na Fig. 4, a função de pesagem é, por sua vez, baseada em uma função de janela 280, que é esquematicamente mostrada em cada um dos quadros de saída 240. Nesse contexto, deve-se também notar que a função de janela 280 não permite nenhuma contribuição para amostras de saída na seção inicial 270 do quadro de saída 240, caso haja.
[00113] Entretanto, como consequência, dependendo das implementações concretas de diferentes configurações de um banco de filtros de síntese 200, casos diferentes devem ser considerados novamente. Dependendo do conversor tempo/frequência 210, o ponto de janela 220 pode ser adaptado ou configurado de forma bastante diferente.
[00114] Se, por exemplo, por um lado, a seção inicial 270 dos quadros de saída 240 estiver presente de forma que as subseções 260-1 dos quadros de saída 240 também compreendam amostras de saída M, o ponto de janela 220 pode ser adaptado de forma que possa ou não gerar quadros com janelas com base nos quadros de saída que compreendem o mesmo número de amostras com janelas. Em outras palavras, o ponto de janela 220 pode ser implementado de forma que gere quadros com janelas que também compreendam uma seção inicial 270, que possa ser implementada, por exemplo, ajustando as amostras com janelas correspondentes a um valor pré-determinado (ex.: 0, duas vezes uma amplitude de sinal máxima permitida, etc.) ou pelo menos um valor em uma faixa pré-determinada, conforme discutido anteriormente no contexto das Figs. 1 e 2.
[00115] Nesse caso, tanto o quadro de saída 240 como o quadro com janela baseado no quadro de saída 240 podem compreender o mesmo número de amostras ou valores. No entanto, as amostras com janelas na seção inicial 270 do quadro com janela não dependem necessariamente das amostras de saída correspondentes do quadro de saída 240. A primeira subseção correspondente 260-1 do quadro com janela é, entretanto, com relação às amostras fora da seção inicial 270, baseada no quadro de saída 240 conforme fornecido pelo conversor frequência/tempo 210.
[00116] Para resumir, se pelo menos uma amostra de saída da seção inicial 270 de um quadro de saída 240 estiver presente, a amostra com janela correspondente pode ser determinada em um valor pré-determinado, ou a um valor em uma faixa pré- determinada, como foi explicado no contexto da configuração de um banco de filtros de análise ilustrado nas Figs. 1 e 2. No caso da seção inicial 270 compreender mais de uma amostra com janela, o mesmo também pode ser verdade para essa ou essas outras amostras com janelas ou valores da seção inicial 270.
[00117] Além disso, o ponto de janela 220 pode ser adaptado de forma que os quadros com janelas não compreendam uma seção inicial 270. No caso dessa configuração de um banco de filtros de síntese 200, o ponto de janela 220 pode ser configurado para desconsiderar as amostras de saída dos quadros de saída 240 na seção inicial 270 do quadro de saída 240.
[00118] Em qualquer um desses casos, dependendo da implementação concreta dessa configuração, a primeira subseção 260-1 de um quadro com janela pode ou não compreender a seção inicial 270. Caso uma seção inicial do quadro com janela exista, as amostras com janelas ou valores dessa seção não precisam depender das amostras de saídas correspondentes do respectivo quadro de saída.
[00119] Por outro lado, caso o quadro de saída 240 não compreenda a seção inicial 270, o ponto de janela 220 pode também ser configurado para gerar um quadro com janela baseado no quadro de saída 240, compreendendo ou não uma seção inicial 270. Caso o número de amostras de saída da primeira subseção 260-1 seja menor do que o valor de avanço de amostra M, o ponto de janela 220 pode, em algumas configurações de um banco de filtros de síntese 200, ser capaz de ajustar as amostras com janelas correspondentes às “amostras de saída faltantes” da seção inicial 270 do quadro com janela ao valor pré-determinado ou pelo menos a um valor na faixa pré-determinada. Em outras palavras, o ponto de janela 220 pode, nesse caso, ser capaz de preencher o quadro com janela com o valor pré-determinado ou pelo menos um valor na faixa pré-determinada de forma que o quadro com janela resultante compreenda um número de amostras com janelas, que seja um número inteiro múltiplo do valor de avanço de amostra M, o tamanho de um quadro de entrada ou o comprimento de um quadro adicionado.
[00120] Entretanto, como opção posterior, que pode ser implementada, tanto os quadros de saída 240 como os quadros com janelas podem não compreender uma seção inicial 270. Nesse caso, o ponto de janela 220 pode ser configurado para simplesmente pesar pelo menos algumas das amostras de saída do quadro de saída para obter o quadro com janela. Adicionalmente ou alternativamente, o ponto de janela 220 pode empregar uma função de janela 280 ou afim.
[00121] Conforme explicado anteriormente no contexto da configuração do banco de filtros de análise 100 mostrado nas Figs. 1 e 2, a seção inicial 270 dos quadros de saída 240 corresponde às amostras mais antigas no quadro de saída 250 no sentido de que esses valores correspondem às amostras mais "frescas" com o menor índice de amostra. Em outras palavras, considerando todas as amostras de saída do quadro de saída 240, essas amostras referem-se a amostras correspondentes à menor quantidade de tempo passado ao se reproduzir uma amostra adicionada correspondente conforme fornecida pela sobreposição/adição 230 em comparação com as outras amostras de saída do quadro de saída 240. Em outras palavras, dentro do quadro de saída 240 e dentro de cada uma das subseções 260 do quadro de saída, as amostras de saída mais frescas correspondem a uma posição deixada no respectivo quadro de saída 240 ou subseção 260. Ainda, em outras palavras, o tempo, conforme indicado pela seta 250, corresponde a sequência de quadros de saída 240 e não à sequência de amostras de saída dentro de cada um dos quadros de saída 240.
[00122] No entanto, antes de descrever o processamento dos quadros com janelas 240 pela sobreposição/adição 230 de forma mais detalhada, deve-se notar que em muitas configurações do banco de filtros de síntese 200, o conversor frequência/tempo 210 e/ou o ponto de janela 220 são adaptados de forma que a seção inicial 270 do quadro de saída 240 e o quadro com janela estejam completamente presentes ou ausentes. No primeiro caso, o número de quadros com janelas ou de saída na primeira subseção 260-1 é, de acordo, igual ao número de amostras de saída em um quadro de saída, que é igual a M. Entretanto, as configurações de um banco de filtros de síntese 200 também podem ser implementadas, em que o conversor tempo/frequência 210, o ponto de janela 220 ou ambos possam ser configurados de forma que a seção inicial 270 esteja presente, mas o número de amostras na primeira subseção 260-1 ainda seja menor do que o número de amostras no quadro de saída de um conversor tempo/frequência 210. Além disso, deve-se notar que em muitas configurações, todas as amostras ou valores de qualquer um dos quadros são tratados como tal, embora, logicamente, apenas um único ou uma fração dos valores ou amostras correspondentes possa ser usado.
[00123] A sobreposição/adição 230 acoplado ao ponto de janela 220 é capaz de fornecer um quadro adicionado 290, como mostrado na parte inferior da Fig. 4, que compreende uma seção de início 300 e uma seção remanescente 310. Dependendo da implementação concreta de uma configuração de um banco de filtros de síntese 200, a sobreposição/adição 230 pode ser implementado de forma que uma amostra adicionada, como compreendido no quadro adicionado na seção de início seja obtida adicionando-se pelo menos duas amostras com janelas de pelo menos dois quadros com janelas diferentes. Para ser mais preciso, como a configuração mostrada Fig. 4 baseia-se em quatro subseções 260-1 a 260-4 no caso de cada quadro de saída 240 e os quadros com janelas correspondentes, uma amostra adicionada na seção de início 300 ser baseada em três ou quatro amostras com janelas ou valores de, pelo menos, três ou quatro quadros com janelas diferentes, respectivamente, como indicado por uma seta 320. A questão, se três ou quatro amostras com janelas serão usadas no caso da configuração usada na Fig. 4 depende da implementação concreta da configuração em termos da seção inicial 270 do quadro com janela com base no quadro de saída correspondente 240-k.
[00124] No seguinte, com referência à Fig. 4, pode-se pensar nos quadros de saída como mostrado na Fig. 4 como os quadros com janelas fornecidos pelo ponto de janela 220 com base nos respectivos quadros de saída 240, visto que os quadros com janelas são obtidos na situação ilustrada na Fig. 4 multiplicando pelo menos as amostras de saída dos quadros de saída 240 fora da seção inicial 270 com valores derivados da função de janela 280. Portanto, a seguir, com relação à sobreposição/adição 230, o sinal de referência 240 pode também ser usado para um quadro com janela.
[00125] No caso de um ponto de janela 220 ser adaptado de forma que as amostras com janelas na seção inicial 270 existente sejam ajustadas em um valor pré-determinado ou um valor na faixa pré-determinada, a amostra com janela ou valor com janela na seção inicial 270 pode ser utilizada na adição das três amostras adicionadas remanescentes da segunda subseção do quadro com janela 240-k-1) (correspondente ao quadro de saída 240-(k-1)), a terceira subseção a partir do quadro com janela 240-(k-2) (correspondente ao quadro de saída 240-(k-2)) e a quarta subseção do quadro com janela 240-(k-3) (correspondente ao quadro de saída 240-(k-3)), se o valor pré-determinado ou a faixa pré-determinada forem tais que a soma da amostra com janela da seção inicial 270 do quadro com janela 240-k (correspondente ao quadro de saída 240-k) não mude ou altere de forma significativa o resultado.
[00126] No caso de o ponto de janela 220 ser adaptado de forma que uma seção inicial 270 não exista no caso de um quadro com janela, a amostra adicionada correspondente na seção inicial 300 é normalmente obtida adicionando-se pelo menos os dois quadros com janelas de pelo menos dois quadros com janelas. No entanto, como a configuração mostrada na Fig. 4 baseia-se em um quadro com janela que compreende quatro subseções 260 cada, nesse caso, a amostra adicionada na seção de início do quadro adicionado 290 é obtida adicionando-se as três amostras com janelas mencionadas anteriormente dos quadros com janelas 240-(k-1), 240-(k-2) e 240-(k-3).
[00127] Esse caso, por exemplo, pode ser causado pelo ponto de janela 220 sendo adaptado de forma que uma amostra de saída correspondente de um quadro de saída seja desconsiderada pelo ponto de janela 220. Além disso, deve-se notar que caso o valor pré-determinado ou a faixa pré- determinada compreenda valores que levariam a um distúrbio da amostra adicionada, a sobreposição/adição 230 pode ser configurada de forma que a amostra com janela correspondente não seja considerada na adição da respectiva amostra com janela para obter a amostra adicionada. Nesse caso, as amostras com janelas na seção inicial 270 também podem ser desconsideradas pela sobreposição/adição, visto que as amostras com janelas não serão usadas para a obtenção da amostra adicionada na seção de início 300.
[00128] Em termos de uma amostra adicionada na seção remanescente 310, conforme indicado pela seta 330 na Fig. 4, a sobreposição/adição 230 é adaptada para adicionar pelo menos três amostras com janelas de pelo menos três diferentes quadros com janelas 240 (correspondendo a três diferentes quadros de saída 240). Novamente, devido ao fato de um quadro com janela 240 na configuração mostrada na Fig. 4 compreender quatro subseções 260, uma amostra adicionada na seção remanescente 310 será gerada pela sobreposição/adição 230 adicionando quatro amostras com janelas de quatro diferentes quadros com janelas 240. Para ser mais preciso, uma amostra adicionada na seção remanescente 310 do quadro adicionado 290 é obtida adicionando-se a amostra com janela correspondente da primeira seção 260-1 do quadro com janela 240-k, da segunda subseção 260-2 do quadro com janela 240-(k-1) da terceira subseção 260-3 do quadro com janela 240-(k-2) e da quarta subseção 260-4 do quadro com janela 240-(k-3).
[00129] Como consequência do procedimento de sobreposição/adição descrito, o quadro adicionado 290 compreende amostras adicionadas M = N/2. Em outras palavras, o valor de avanço da amostra M é igual ao comprimento da amostra adicionada 290. Além disso, em termos de algumas configurações de um banco de filtros 200, o comprimento de um quadro de avanço também é, como mencionado anteriormente, igual ao valor de avanço da amostra M.
[00130] O fato na configuração mostrada na Fig. 4, de pelo menos três ou quatro amostras com janelas serem utilizadas para obter uma amostra adicionada na seção inicial 300 e na seção remanescente 310 do quadro adicionado, respectivamente, foi escolhido apenas por simplicidade. Na configuração mostrada na Fig. 4, cada um dos quadros de saída/com janelas 240 compreende quatro seções de partida 260-1 a 260-4. No entanto, em princípio, uma configuração do banco de filtros de síntese pode facilmente ser implementada, em que um quadro de saída ou com janela compreende apenas uma amostra com janela mais do que duas vezes o número de amostras adicionadas de um quadro adicionado 290. Em outras palavras, uma configuração de um banco de filtros de síntese 200 pode ser adaptada de forma que cada quadro com janela compreenda apenas amostras com janelas 2M+1.
[00131] Conforme explicado no contexto de uma configuração de um banco de filtros de análise 100, uma configuração de um banco de filtros de síntese também pode ser incorporada na estrutura de um codec ER AAC ELD (codec = codificador / decodificador) por uma modificação de um codec ER AAC LD. Portanto, uma configuração de um filtro de síntese 200 pode ser usada no contexto de um codec AAC LD a fim de definir um sistema de codificação/decodificação de áudio de baixa taxa de transferência de bits e baixo atraso. Por exemplo, uma configuração de um banco de filtros de síntese pode ser compreendida em um decodificador para o codec ER AAC ELD junto com uma ferramenta SBR opcional (SBR = Replicação de Banco Espectral [“Spectral Bank Replication”]. Entretanto, a fim de se alcançar um atraso baixo o suficiente, algumas modificações podem ser aconselháveis para serem implementadas, em comparação com um codec ER AAC LD para se chegar a uma implementação de uma configuração de um banco de filtros de síntese 200.
[00132] O banco de filtros de síntese dos codecs acima não pode ser modificado a fim de adaptar uma configuração de um baixo banco de filtros (de síntese), em que o algoritmo IMDCT central (IMDCT = Transformada de Cosseno Discreto Modificado [“Inverse Modified Discrete Cosine Transform”] pode permanecer inalterado em sua maior parte em termos do conversor de tempo/frequência 210. No entanto, em comparação com um conversor de frequência/tempo IMDCT, o conversor de frequência/tempo 210 pode ser implementado com uma função de janela mais longa, de forma que o índice de amostra n seja de até 2N-1, em vez de até N-1.
[00133] Para ser mais preciso, o conversor de tempo/frequência 210 pode ser implementado de forma que seja configurado para fornecer valores de saída Xi,n com base na expressão
Figure img0003
[00134] em que n é, como mencionado anteriormente, um número inteiro que indica um índice de amostra, i é um número inteiro que indica um índice de janela, k é um índice de coeficiente espectral, N é um comprimento de janela com base na sequência de janelas de parâmetro de uma implementação de codec ER AAC LD de forma que o número inteiro N seja duas vezes o número das amostras adicionadas de um quadro adicionado 290. Além disso, n0 é um valor de compensação dado por
Figure img0004
[00135] Em que spec[i][k] é um valor de entrada correspondente ao índice k de coeficiente espectral e o índice de janela I do quadro de entrada. Em algumas configurações de um banco de filtros de síntese 200, o parâmetro N é igual a 960 ou 1024. No entanto, em princípio, o parâmetro N também pode adquirir qualquer valor. Em outras palavras, outras configurações de um banco de filtros de síntese 200 podem operar com base em um parâmetro N=360 ou outros valores.
[00136] O ponto de janela 220 e a sobreposição/adição 230 podem também ser modificados em comparação com o ponto de janela e sobreposição/adição implementados na estrutura de um codec ER AAC LD. Para ser mais preciso, em comparação com o codec mencionado acima, o comprimento N de uma função de janela é substituído por uma função de janela de comprimento 2N com mais sobreposição no passado e menos sobreposição no futuro. Como será explicado no contexto das Figs. 5 a 11 a seguir, em configurações de um banco de filtros de síntese 200, funções de janela compreendendo coeficientes de janela ou valores M/4 = N/8 podem, na verdade, ser ajustadas em zero. Como consequência, esses coeficientes de janela correspondem às seções iniciais 160, 270 dos respectivos quadros. Como explicado anteriormente, essa seção não precisa ser implementada. Como possível alternativa, os módulos correspondentes (ex.: pontos de janela 110, 220) podem ser construídos de forma que a multiplicação por um valor de zero não seja necessária. Como explicado anteriormente, as amostras com janelas podem ser ajustadas em zero ou desconsideradas, para mencionar apenas duas diferenças relacionadas à implementação de configurações.
[00137] Assim, a divisão em janelas realizada pelo ponto de janela 220 no caso dessa configuração de um banco de filtro de síntese que compreende essa função de janela de baixo atraso pode ser implementada de acordo com
Figure img0005
[00138] em que a função de janela com coeficientes de janela w(n) agora tem um comprimento de coeficientes de janela 2N. Assim, o índice de amostra vai de N = 0 a N = 2N- 2, onde relações bem como valores dos coeficientes de janela de diferentes funções de janelas são compreendidos nas tabelas de 1 a 4 no anexo para diferentes configurações de um banco de filtros de síntese.
[00139] Além disso, a sobreposição/adição 230 pode ainda ser implementada de acordo com ou com base na expressão ou equação
Figure img0006
[00140] em que a expressão e as equações dadas antes podem ser levemente alteradas dependendo da implementação concreta de uma configuração de um banco de filtros de síntese 200. Em outras palavras, dependendo da implementação concreta, especialmente considerando o fato de que um quadro com janela não compreende necessariamente uma seção inicial, as equações e expressões acima podem, por exemplo, ser alteradas em termos das bordas dos índices de soma para excluírem amostras com janelas da seção inicial no caso de uma seção inicial não estar presente ou compreender amostras com janelas triviais (ex.: amostras com valor zero). Em outras palavras, implementando pelo menos uma configuração de um banco de filtros de análise 100 ou de um banco de filtros de síntese 200, um codec ER AAC LD opcionalmente com uma ferramenta SBR apropriada pode ser implementado para obter um codec ER AAC ELD, que pode, por exemplo, ser usado para se alcançar uma baixa taxa de transferência de bits e/ou um sistema de codificação e decodificação de áudio de baixo atraso. Uma visão geral de um codificador final e um decodificador será fornecida na estrutura das Figs. 12 e 13, respectivamente.
[00141] Como já indicado diversas vezes, ambas as configurações de um banco de filtros de análise 100 e de um banco de filtros de síntese 200 podem oferecer a vantagem de permitir um modo de codificação de baixo atraso aprimorado pela implementação de uma função de janela de baixo atraso na estrutura de um banco de filtros de análise/síntese 100, 200 bem como na estrutura de configurações de um codificador e decodificador. Pela implementação de uma configuração de um banco de filtros de análise ou um banco de filtros de síntese, que pode compreender uma das funções de janela, que será descrita de forma mais detalhada no contexto das Figs. 5 a 11, diversas vantagens podem ser alcançadas dependendo da implementação concreta de uma configuração de um banco de filtros que compreenda uma função de janela de baixo atraso. Consultando o contexto da Fig. 2, uma implementação de uma configuração de um banco de filtros pode ser capaz de produzir o atraso comparado ao codec baseado em janelas ortogonais, que são usadas em todos os codex de tecnologia de ponta. Por exemplo, no caso de um sistema com base no parâmetro N=960, a redução de atraso de 960 amostras, que equivale a um atraso de 20 ms em uma frequência de amostragem de 48 kHz, para 700 amostras pode ser realizada, e é igual a um atraso de 15 ms na mesma frequência de amostragem. Além disso, como será mostrada, a resposta de frequência de uma configuração de um banco de filtros de síntese e/ou de um banco de filtros de análise é muito semelhante ao banco de filtros que usa uma janela de sinal. Em comparação com um banco de filtros que emprega a chamada janela de baixa sobreposição, a resposta de frequência é ainda melhor. Além disso, o comportamento pré-eco é semelhante à janela de baixa frequência, de forma que uma configuração de um banco de filtros de síntese e/ou um banco de filtros de análise possa representar uma excelente troca entre melhor qualidade e baixo atraso dependendo da implementação concreta de uma configuração dos bancos de filtros. Como vantagem posterior, que pode, por exemplo, ser empregada na estrutura de uma configuração de um sistema de conferência, é que apenas uma função de janela pode ser usada para processar todos os tipos de sinais.
[00142] A Fig. 5 mostra uma representação gráfica de uma possível função de janela, que pode, por exemplo, ser empregada na estrutura de um ponto de janela 110, 220 no caso de uma configuração de um banco de filtros de análise 100 e no caso de um banco de filtros de síntese 200. Para ser mais preciso, as funções de janelas mostradas na Fig. 5 correspondem a uma função de janela de análise para faixas M=480 ou um número de amostras de saída no caso de uma configuração de um banco de filtros de análise no gráfico superior. O gráfico inferior da Fig. 5 mostra a função de janela de síntese correspondente para uma configuração de um banco de filtros de síntese. Visto que ambas as funções de janela mostradas na Fig. 5 correspondem a M=480 faixas ou amostras de um quadro de amostra (banco de filtros de análise) e um quadro adicionado (banco de filtros de síntese), as funções de janelas mostradas na Fig. 5 compreendem o conjunto de definição de 1920 valores cada um com índices n=0, ... 1919.
[00143] Além disso, como os dois gráficos na Fig. 5 mostram claramente, com relação a um ponto intermediário do conjunto de definição, que, no caso, não faz parte do conjunto de definição em si, como o ponto intermediário fica entre os índices N=959 e N=960, ambas as funções de janela compreendem um número mais alto significativo de coeficientes de janela em metade do conjunto de definição com relação ao ponto intermediário mencionado com valores absolutos dos coeficientes de janela, que são maiores do que 10%, 20%, 30% ou 50% do valor absoluto máximo de todos os coeficientes de janelas. No caso da função de janela de análise no gráfico mais alto da Fig. 5, a respectiva metade do conjunto de definição é o conjunto de definição que compreende os índices N=960,... 1919, enquanto no caso da função de janela no gráfico inferior da Fig. 5, a respectiva metade do conjunto de definição com relação ao ponto intermediário compreende os índices N=0, ..., 959. Como consequência, com relação ao ponto intermediário, tanto a função de janela de análise como a função de janela de síntese são acentuadamente assimétricas.
[00144] Conforme já mostrado no contexto do ponto de janela 110 de uma configuração do banco de filtros de análise bem como no caso do ponto de janela 220 de uma configuração do banco de filtros de síntese, a função de janela de análise e a função de janela de síntese são, em termos dos índices, inversas uma da outra.
[00145] Um aspecto importante com relação à função de janela mostrada nos dois gráficos da Fig. 5 é que no caso da janela de análise mostrada no gráfico superior, os últimos 120 coeficientes de divisão em janelas e no caso da função de janela de síntese no gráfico inferior na Fig. 5, os primeiros 120 coeficientes de janelas são ajustados em zero ou compreendem um valor absoluto de forma que possam ser considerados iguais a 0 dentro de uma precisão razoável. Em outras palavras, os coeficientes de janelas 120 mencionados das duas funções de janelas podem, portanto, ser considerados como causadores de um número apropriado de amostras a ser ajustado em pelo menos um valor em uma faixa pré-determinada multiplicando os 120 coeficientes de janela com as respectivas amostras. Em outras palavras, dependendo da implementação concreta de configurações de um banco de filtros de análise 100 ou um banco de filtros de síntese 200, os coeficientes de valor zero 120 resultarão na criação da seção inicial 160, 270 dos quadros com janelas em configurações de um banco de filtros de análise e um banco de filtros de síntese, caso seja aplicável, como explicado anteriormente. No entanto, mesmo que as seções iniciais 160, 270 não estejam presentes, os coeficientes de janelas com valor zero 120 podem ser interpretados pelo ponto de janela 110 pelo conversor tempo/frequência 120, pelo ponto de janela 220 e pela sobreposição/adição 230 e, configurações de um banco de filtros de análise 100 e um banco de filtros de síntese 200 para tratar ou processar os quadros diferentes de acordo, mesmo no caso de as seções iniciais 160, 270 dos quadros apropriados não estarem presentes.
[00146] Implementando uma função de janela de análise ou uma função de janela de síntese como mostrado na Fig. 5 compreendendo coeficientes de divisão em janelas com valor zero 120 no caso de M=480 (N=960), configurações apropriadas de um banco de filtros de análise 100 e um banco de filtros de síntese 200 serão estabelecidas, cujas seções iniciais 160, 270 dos quadros correspondentes compreenderão amostras M/4 ou as primeiras subseções correspondentes 150-1, 260-1 compreenderão valores M/4 ou amostras menores do que as outras subseções, em termos mais gerais.
[00147] Como mencionado anteriormente, a função de janela de análise mostrada no gráfico superior da Fig. 5 e a função de janela de síntese mostrada no gráfico inferior da Fig. 5 representam funções de janela de baixo atraso para ambos os bancos de filtros de análise e os bancos de filtros síntese. Além disso, tanto a função de janela de análise como a função de janela de síntese, como mostrado na Fig. 5, são versões espelhadas uma na outra com relação ao ponto intermediário mencionado do conjunto de definição do qual ambas as funções de janela são definidas.
[00148] Deve-se notar que o uso da janela de baixo atraso e/ou emprego de uma configuração de um banco de filtros de análise ou um banco de filtros de síntese, em muitos casos, não resulta em nenhum aumento notável na complexidade computacional e apenas um aumento marginal nas exigências de armazenamento, como será esquematizado posteriormente durante a análise de complexidade.
[00149] As funções de janela mostradas na Fig. 5 compreendem os valores dados na tabela 2 no anexo, que foram escolhidos apenas por sua simplicidade. Entretanto, de longe, não é necessário que uma configuração de um banco de filtros de análise ou um banco de filtros de síntese operando em um parâmetro M=480 compreenda os valores exatos dados na tabela 2 no anexo. Naturalmente, a implementação concreta de uma configuração de um banco de filtros de análise ou um banco de filtros de síntese pode facilmente empregar coeficientes de janelas variáveis na estrutura de funções de janela apropriadas, de forma que, em muitos casos, o emprego de coeficientes de janelas será suficiente, o que empregará, nos casos de M=480, as relações dadas na tabela 1 no anexo.
[00150] Além disso, em muitas configurações com coeficientes de filtro, coeficientes de janela bem como coeficientes de elevação que devem ser introduzidos subsequentemente, as Figs. dadas não precisam mais ser implementada tão precisamente quanto fornecidas. Em outras palavras, em outras configurações de um banco de filtros de análise, bem como um banco de filtros de síntese e configurações relacionadas da presente invenção, e também outras funções de janelas podem ser implementadas, que são coeficientes de filtro, coeficientes de janela e outros coeficientes, como coeficientes de elevação, que são diferentes dos coeficientes abaixo no anexo, contanto que as variações estejam dentro do terceiro dígito após a vírgula ou em dígitos mais altos, como o quarto, quinto, etc.
[00151] Considerando a função de janela de síntese no gráfico inferior da Fig. 5, conforme mencionado anteriormente, os primeiros coeficientes de janela M/4=120 são ajustados em zero. Depois, aproximadamente até o índice 350, a função de janela compreende uma grande elevação, seguida por uma elevação mais moderada até um índice de aproximadamente 600. Nesse contexto, deve-se notar que acerca de um índice de 480 (=M), a função de janela torna-se maior do que a unidade ou maior do que um. Após o índice 600 até aproximadamente a amostra 1100, a função de janela retorna de seu valor máximo para um nível de menos de 0,1. Durante o restante do conjunto de definição, a função de janela compreende leves oscilações acerca do valor 0.
[00152] A Fig. 6 mostra uma comparação da função de janela mostrada na Fig. 5 no caso de uma função de janela de análise no gráfico superior da Fig. 6, e no caso de uma função de janela de síntese no gráfico inferior da Fig. 6. Além disso, como uma linha pontilhada, dois gráficos também compreendem a chamada função de janela de seno, que é, por exemplo, empregada nos codecs ER AAC AAC LC e AAC LD mencionados. A comparação direta da janela de seno e a função de janela de baixo atraso como demonstrada nos dois gráficos da Fig. 6 ilustra os diferentes objetos de tempo da janela de tempo como explicado no contexto da Fig. 5. Além do fato de a janela de seno ser definida apenas em 960 amostras, a diferença mais gritante entre as duas funções de janela mostradas no caso de uma configuração de um banco de filtros de análise (gráfico superior) e no caso de um banco de filtros de síntese (gráfico inferior) é de que a função de quadro de janela de seno é simétrica sobre seu respectivo ponto intermediário do conjunto de definição encurtado e compreende nos primeiros 120 elementos do conjunto de definição (principalmente) coeficientes de janela maiores do que zero. Em contraste, como explicado anteriormente, a janela de baixo atraso compreende (idealmente) coeficientes de janela de valor zero 120 e é significativamente assimétrica com relação ao respectivo ponto intermediário do conjunto de definição prolongado em comparação com o conjunto de definição da janela de seno.
[00153] Há mais uma diferença, que distingue a janela de baixo atraso da janela de seno, enquanto ambas as janelas aproximadamente adquirem um valor de aproximadamente 1 e um índice de amostra de 480 (=M), a função de janela de baixo atraso alcança um máximo de mais de uma aproximadamente 120 amostras após tornar-se maior do que 1 e um índice de amostra de aproximadamente 600 (= M + M/4; M = 480), enquanto a janela de seno simétrico é reduzida simetricamente até 0. Em outras palavras, as amostras que serão tratadas, por exemplo, multiplicando por zero em um primeiro quadro será multiplicado no quadro seguinte por valores maiores do que 1 devido ao modo de sobreposição de operação e ao valor de vantagem da amostra de M=480 nesses casos.
[00154] Outras descrições de outras janelas de baixo atraso serão dadas, e podem, por exemplo, ser empregadas em outras configurações de um banco de filtros de análise ou um banco de filtros de síntese 200, o conceito de redução de atraso que é alcançável com a função de janela mostrada nas Figs. 5 e 6 será explicado com referência ao parâmetro M=480, N=960 com valor zero ou valores suficientemente baixos M/4 = 120. Na janela de análise mostrada no gráfico superior da Fig. 6, as partes que avaliam futuros valores de entrada (índices de amostra 1800 a 1920) são reduzidas por 120 amostras. De forma correspondente, na janela de síntese no gráfico inferior da Fig. 6, a sobreposição com amostras de saída passadas, que exigiria um atraso correspondente no caso de um banco de filtros de síntese ser reduzido por outras amostras 120. Em outras palavras, no caso de uma janela de síntese, a sobreposição com as amostras de saída passadas, que são necessárias para completar a operação de sobreposição/adição ou para terminar a sobreposição/adição com a redução de amostras 120 no caso de uma janela de análise resultará em uma redução de atraso geral de amostras 240 no caso de um sistema que compreenda ambas as configurações de um banco de filtros de análise e um banco de filtros de síntese.
[00155] A sobreposição expandida, no entanto, não resulta em nenhum atraso adicional, visto que envolve apenas a adição de valores do passado, que podem ser facilmente armazenados sem causar atraso adicional, pelo menos na escala da frequência de amostragem. Uma comparação do tempo de conjuntos da janela de seno tradicional e da janela de baixo atraso mostrada nas Figs. 5 e 6 ilustram isso.
[00156] A Fig. 7 compreende em três gráficos, três diferentes funções de janelas. Para ser mais preciso, o gráfico superior da Fig. 7 demonstra a janela de seno mencionada anteriormente, enquanto o gráfico do meio mostra a chamada janela de baixa sobreposição e o gráfico inferior mostra a janela de baixo atraso. No entanto, as três janelas mostradas na Fig. 7 correspondem a um valor de avanço de amostra ou parâmetro M = 512 (N = 2M =1024). Novamente, a janela de seno, bem como a janela de baixa sobreposição nos dois gráficos superiores na Fig. 7 são definidos apenas sobre conjuntos de definição limitados ou encurtados que compreendam índices de amostra 1024 como comparado à função de janela de baixo atraso, conforme mostrado no gráfico inferior da Fig. 7, definido nos índices de amostra 2048.
[00157] As tramas das formas de janela de uma janela de seno, a janela de baixa sobreposição e a janela de baixo atraso na Fig. 7 compreendem mais ou menos as mesmas características discutidas anteriormente em termos da janela de seno e da janela de baixo atraso. Para ser mais preciso, a janela de seno (gráfico superior na Fig. 7) é novamente simétrica com relação ao ponto intermediário apropriado do conjunto de definição entre os índices 511 e 512. A janela de seno adquire um valor máximo aproximadamente no valor M = 512 e cai desse valor máximo novamente para zero na borda do conjunto de definição.
[00158] No caso da janela de baixo atraso mostrada no gráfico inferior da Fig. 7, essa janela de baixo atraso compreende 128 coeficientes de janela de valor zero, que são novamente um quarto do valor de avanço da amostra M. Além disso, a janela de baixo atraso adquire um valor de aproximadamente 1 em um índice de amostra M, enquanto o valor máximo dos coeficientes de janela é adquirido aproximadamente em 128 índices n após ficar maior do que um em termos de um índice de aumento (acerca do índice). Ainda, com relação às outras características do gráfico da função de janela, a função de janela para M =512 no gráfico inferior da Fig. 7 não difere significativamente das janelas de baixo atraso para M = 480 mostrado nas Figs. 5 e 6, além de um turno opcional devido aos conjuntos de definição mais longos (2048 índices em comparação com 1920 índices). As janelas de baixo atraso mostradas no gráfico inferior na Fig. 7 compreendem os valores dados na tabela 4 no anexo.
[00159] No entanto, conforme explicado anteriormente, não é necessário que as configurações de um banco de filtros de síntese ou um banco de filtros de análise implemente a função de janela com os valores precisos conforme fornecido na tabela 4. Em outras palavras, os coeficientes de janelas podem ser diferentes dos valores dados na tabela 4, contanto que tenham as relações dadas na tabela 3 no anexo. Além disso, em configurações da presente invenção, variações também com relação aos coeficientes de janela podem facilmente ser implementadas, contanto que as variações estejam dentro do terceiro dígito após a vírgula, ou em dígitos mais altos, como o quarto, quinto, etc., como explicado anteriormente.
[00160] No gráfico intermediário da Fig. 7 a janela de baixa sobreposição ainda não foi descrita. Como mencionado anteriormente, a janela de baixo atraso também compreende um conjunto de definição que compreende 1024 elementos. Além disso, a janela de baixa sobreposição também compreende no início de um conjunto de definição e no final de um conjunto de definição um subconjunto conectado em que a janela de baixa sobreposição desaparece. No entanto, depois desse subconjunto conectado em que a janela de baixa sobreposição desaparece, uma elevação acentuada ou decadência segue, compreendendo apenas pouco mais de 100 amostras cada. Além disso, a janela de baixa sobreposição simétrica não compreende valores maiores do que 1 e pode compreender uma atenuação de banda de parada menor em comparação com as funções de janela empregadas em algumas configurações.
[00161] Em outras palavras, a janela de baixa sobreposição compreende um conjunto de definição significativamente mais baixo enquanto tem o mesmo valor de avanço de amostra, como a janela de baixo atraso e não adquire valores maiores do que um. Além disso, tanto a janela de seno, como a janela de baixa sobreposição são, com relação a seus respectivos pontos intermediários dos conjuntos de definição, ortogonais ou simétricas, enquanto a janela de baixo atraso é assimétrica na maneira descrita sobre o ponto intermediário de seu conjunto de definição.
[00162] A janela de baixa sobreposição foi introduzida a fim de eliminar artefatos pré-eco para transientes. A sobreposição mais baixa evita o espalhamento de ruído de quantificação antes do ataque do sinal, como ilustrado na Fig. 8. A nova janela de baixo atraso, no entanto, tem a mesma propriedade, mas oferece uma resposta de frequência melhor, como ficará aparente na comparação das respostas de frequência nas Figs. 10 e 11. Portanto, a janela de baixo atraso é capaz de substituir ambas as janelas de AAC LD tradicionais, ou seja, a janela de sinal e a janela de baixa sobreposição, de forma que uma adaptação de forma de janela dinâmica não precise mais ser implementada.
[00163] A Fig. 8 mostra para a mesma janela funções mostradas na Fig. 7 na mesma ordem de gráficos, um exemplo de ruído de quantificação espalhando-se pelas diferentes formas de janelas da janela de seno ou da janela de baixa sobreposição ou a janela de baixo atraso. O comportamento pré-eco da janela de baixo atraso conforme mostrado no gráfico inferior da Fig. 8 é semelhante ao comportamento da janela de sobreposição, conforme mostrado no gráfico intermediário da Fig. 8, enquanto o comportamento pré-eco da janela de seno no gráfico superior da Fig. 8 compreende contribuições significativas nas primeiras 128 (M = 512) amostras.
[00164] Em outras palavras, o uso de uma janela de baixo atraso em uma configuração de um banco de filtros de síntese ou um banco de filtros de análise pode resultar em uma vantagem com relação a um comportamento pré-eco aprimorado. No caso de uma janela de análise, o caminho que acessa futuros valores de entrada e, assim exigiria um atraso, são reduzidos por mais de uma amostra e preferivelmente por 120/128 amostras no caso de um comprimento de bloco ou valor de avanço de amostra de 480/512 amostras, de forma que reduz o atraso em comparação com a MDCT (Transformada de Cosseno Discreta Modificada). Ao mesmo tempo, aprimora os comportamentos pré-eco, visto que um possível ataque no sinal, que pode ser nas 120/128 amostras, apareceria apenas um bloco ou um quadro depois. Correspondentemente, nas janelas de síntese, a sobreposição com amostras de saída passadas para finalizar suas operações de sobreposição/adição, que também exigiria um atraso correspondente, é reduzida por outras amostras 120/128, resultando em uma redução de atraso total de amostras 240/256. Isso também resulta em uma melhora no comportamento pré-eco, visto que essas 120/128 amostras, de outra forma, contribuiriam para o espalhamento do ruído para o passado, antes de uma possível anexação. No total, isso significa que, aparece um pré-eco, possivelmente, um bloco ou quadro depois, e o pré-eco resultante do lado de síntese isolado é 120/128 amostras menor.
[00165] Essa redução, que pode ser alcançada empregando-se essa janela de baixo atraso, conforme descrito nas Figs. 5 a 7, dependendo da implementação concreta de uma configuração de um banco de filtros de síntese ou um banco de filtros de análise pode ser especialmente útil na consideração das características da audição humana, especialmente em termos de mascaramento. Para ilustrar isso, a Fig. 9 mostra um esboço esquemático do comportamento de mascaramento do ouvido humano. Para ser mais preciso, a Fig. 9 mostra uma representação esquemática do nível de limite auditivo do ouvido humano, como uma função de tempo, quando um som ou tom com frequência específica está presente durante um período de tempo de aproximadamente 200 ms.
[00166] Entretanto, pouco antes da presença do som ou tom mencionado, como indicado pela seta 350 na Fig. 9, um pré- mascaramento está presente por um curto período de tempo de aproximadamente 20 ms, permitindo, portanto, uma transição suave entre nenhum mascaramento e o mascaramento durante a presença do tom ou som, que, às vezes, é chamado de mascaramento simultâneo. Durante o tempo em que o som ou tom está presente, há o mascaramento. No entanto, quando o tom ou som desaparece, como indicado pela seta 360 na Fig. 9, o mascaramento não é imediatamente elevado, mas durante um período de tempo de aproximadamente 150 ms, o mascaramento é reduzido lentamente, o que também é, às vezes, chamado de pós-mascaramento.
[00167] Ou seja, a Fig. 9 mostra uma propriedade de mascaramento temporal geral da audição humana, que compreende uma fase de pré-mascaramento, bem como uma fase de pós- mascaramento antes e depois da presença de um som ou tom. Devido à redução do comportamento pré-eco pela incorporação de uma janela de baixo atraso em uma configuração de um banco de filtros de análise 100 e/ou um banco de filtros de síntese 200, distorções audíveis serão seriamente limitadas em muitos casos, visto que os pré-ecos audíveis, pelo menos em determinada medida, recairão no período de pré-mascaramento do efeito de mascaramento temporal do ouvido humano, como mostrado na Fig. 9.
[00168] Além disso, o uso de uma função de janela de baixo atraso como ilustrado nas Figs. 5 a 7, descrito mais detalhadamente com relação às relações e valores nas tabelas 1 a 4 no anexo, oferece uma resposta de frequência, que é semelhante à de uma janela de seno. Para ilustrar isso, a Fig. 10 mostra uma comparação da resposta de frequência entre a janela de seno (linha tracejada) e um exemplo de uma janela de baixo atraso (linha sólida). Como pode ser visto pela comparação das duas respostas de frequência das duas janelas anteriormente mencionadas na Fig. 10, a janela de baixo atraso é comparável em termos de seletividade de frequência à janela de seno. A resposta de frequência da janela de baixo atraso é semelhante ou comparável à resposta de frequência da janela de seno, e muito melhor do que a resposta de frequência da janela de baixo atraso, como ilustrado na comparação com as respostas de frequência exibidas na Fig. 11.
[00169] Para ser mais preciso, a Fig. 11 mostra uma comparação da resposta de frequência entre a janela de seno (linha tracejada) e a janela de baixo atraso (linha sólida). Como pode ser visto, a linha sólida da resposta de frequência da janela de baixa sobreposição é significativamente maior do que a resposta de frequência correspondente da janela de seno. Como a janela de baixo atraso e a janela de seno mostram respostas de frequência comparáveis, que podem ser vistas comparando-se as duas respostas de frequência exibidas na Fig. 10, uma comparação entre a janela de baixa sobreposição e a janela de baixo atraso também pode ser feita facilmente, visto que o gráfico mostrado nas Figs. 10 e 11 mostra a resposta de frequência da janela de seno e compreende as mesmas escalas com relação ao eixo de frequência e ao eixo de intensidade (db). Assim, pode-se facilmente concluir que a janela de seno que pode ser facilmente implementada em uma configuração de um banco de filtros de síntese, bem como em uma configuração de um banco de filtros de análise oferece, em comparação com uma janela de baixo atraso, uma resposta de frequência significativamente melhor.
[00170] Como a comparação do comportamento pré-eco mostrada na Fig. 8 e também na janela de baixo atraso oferece uma vantagem considerável em comparação com o comportamento pré- eco, enquanto o comportamento pré-eco da janela de baixo atraso é comparável ao de uma janela de baixa sobreposição, a janela de baixo atraso representa uma excelente troca entre as duas janelas anteriormente mencionadas.
[00171] Como consequência, a janela de baixo atraso, que pode ser implementada na estrutura de uma configuração de um banco de filtros de análise, bem como em uma configuração de um banco de filtros de síntese e configurações relacionadas, devido a essa troca, a mesma função de janela pode ser usada para sinais transientes, bem como sinais tonais, de forma que nenhuma comutação entre diferentes comprimentos de blocos e diferentes janelas seja necessária. Em outras palavras, configurações de um banco de filtros de análise, um banco de filtros de síntese e configurações relacionadas oferecem a possibilidade de construir um codificador, um decodificador e outros sistemas que não exigem comutação entre diferentes conjuntos de parâmetros operacionais como diferentes tamanhos de blocos ou comprimentos, ou diferentes janelas ou formas de janelas. Em outras palavras, empregando-se uma configuração de um banco de filtros de análise ou um banco de filtros de síntese com a janela de baixo atraso, a construção de uma configuração com um codificador, decodificador e sistemas relacionados pode ser consideravelmente simplificada. Como oportunidade adicional, devido ao fato de nenhuma comutação entre conjuntos ou parâmetros diferentes ser exigida, sinais de fontes diferentes podem ser processados no domínio de frequência em vez do domínio de tempo, o que requer um atraso adicional, como será esquematizado nas seções a seguir.
[00172] Ainda em outras palavras, o uso de uma configuração de um banco de filtros de síntese ou um banco de filtros de análise oferece a possibilidade de beneficiar-se da baixa complexidade computacional em algumas configurações. Para compensar pelo atraso menor em comparação com um MDCT com, por exemplo, uma janela de seno, uma sobreposição mais longa é introduzida sem criar um atraso adicional. A despeito da sobreposição mais longa, e de maneira correspondente, uma janela com cerca de duas vezes o comprimento da janela de seno correspondente com duas vezes a quantidade de sobreposição e benefícios de acordo da seletividade de frequência conforme esquematizado anteriormente, uma implementação pode ser obtida apenas com pequena complexidade adicional, devido a um possível aumento no tamanho de multiplicações de comprimento de bloco e elementos de memória. No entanto, mais detalhes sobre essa implementação serão explicados no contexto das Figs. 19 a 24.
[00173] A Fig. 12 mostra um diagrama de bloco esquemático de uma configuração de um codificador 400. O codificador 400 compreende uma configuração de um banco de filtros de análise 100 e, como componente opcional, um codificador por entropia 410, configurado para codificar a pluralidade de quadros de saída fornecidos pelo banco de filtros de análise 100 e configurados para a saída de uma pluralidade de quadros codificados baseados nos quadros de saída. Por exemplo, o codificador por entropia 410 pode ser implementado, visto que um codificador de Huffman ou outro codificador por entropia que use um esquema de codificação eficiente por entropia, como o esquema de codificação aritmética.
[00174] Devido ao uso de uma configuração de um banco de filtros de análise 100 na estrutura de um codificador 400, o codificador oferece uma saída do número de bandas N enquanto tem um atraso de reconstrução de menos de 2N ou 2N-1. Além disso, em princípio, uma configuração de um codificador também representa um filtro, uma configuração de um codificador 400 oferece uma resposta de impulso finita de mais de 2N amostras. Ou seja, uma configuração de um codificador 400 representa um codificador capaz de processar dados (de áudio) de maneira eficiente em relação a atraso.
[00175] Dependendo da implementação concreta de uma configuração de um codificador 400 conforme mostrado na Fig. 12, de forma que uma configuração também possa compreender um quantificador, filtro ou outros componentes para pré- processar os quadros de entrada fornecidos à configuração do banco de filtros de análise 100 ou para processar a configuração do banco de filtros de análise 100 ou processar os quadros de saída antes da codificação por entropia dos respectivos quadros. Como exemplo, um quantificador adicional pode ser fornecido a uma configuração de um codificador 400 antes do banco de filtros de análise 100 para quantificar os dados ou requantificar os dados, dependendo da implementação concreta e campo de aplicação. Como exemplo para processamento por trás do banco de filtros de análise, uma equalização ou outro ajuste de ganho em termos de quadros de saída no domínio de frequência podem ser implementados.
[00176] A Fig. 13 mostra uma configuração de um decodificador 450 compreendendo um decodificador por entropia 460 bem como uma configuração de um banco de filtros de síntese 200, como descrito anteriormente. O decodificador por entropia 460 da configuração do decodificador 450 representa um componente opcional, que pode, por exemplo, ser configurado para decodificar uma pluralidade de quadros codificados, que podem, por exemplo, ser fornecidos por uma configuração de um codificador 400. Assim, o decodificador por entropia 460 pode ser por um decodificador de Huffman ou algorítmico, ou outro decodificador por entropia com base em um esquema de codificação/decodificação por entropia, que seja adequado à aplicação do decodificador 450 disponível. Além disso, o decodificador por entropia 460 pode ser configurado para fornecer uma pluralidade de quadros de entrada ao banco de filtros de síntese 200, que, por sua vez, fornece uma pluralidade de quadros adicionados a uma saída do banco de filtros de síntese 200 ou a uma saída do decodificador 450.
[00177] No entanto, dependendo da implementação concreta, o decodificador 450 pode também compreender componentes adicionais, como um dequantificador ou outros componentes como um ajustador de ganho. Para ser mais preciso, entre o decodificador por entropia 460 e o banco de filtros de síntese, um ajustador de ganho pode ser implementado como componente opcional para permitir um ajuste de ganho ou equalização no domínio de frequência antes que os dados de áudio sejam transferidos pelo banco de filtros de síntese 200 no domínio de tempo. Assim, um quantificador adicional pode ser implementado em um decodificador 450 após um banco de filtros de síntese 200 para oferecer a oportunidade de requantificar os quadros adicionados antes de fornecer os quadros adicionados opcionalmente requantificados a um componente externo do decodificador 450.
[00178] Configurações de um codificador 400, conforme mostrado na Fig. 12 e configurações de um decodificador 450 conforme mostrado na Fig. 13 podem ser aplicadas em muitos campos de codificação/decodificação de áudio, bem como processamento de áudio. Essas configurações de um codificador 400 e um decodificador 450 podem, por exemplo, ser empregadas no campo de comunicações de alta qualidade.
[00179] Tanto uma configuração de um codificador ou criador de códigos, bem como uma configuração de um decodificador oferecem a oportunidade de operar a referida configuração sem ter de implementar uma mudança de parâmetro como comutação do comprimento do bloco ou comutação entre diferentes janelas. Em outras palavras, em comparação com outros codificadores e decodificadores, uma configuração da presente invenção na forma de um banco de filtros de síntese e configurações relacionadas de longe não precisa implementar diferentes comprimentos de bloco e/ou diferentes funções de janelas.
[00180] Inicialmente definido na versão 2 de uma especificação de áudio MPEG-4, um codificador AAC de baixo atraso (AAC LD) tem, com o tempo, um aumento na adaptação como codificador de comunicações de alta qualidade de largura de banda total, não sujeito a limitações que codificadores de fala comuns têm, como foco em alto-falantes únicos, material de fala, desempenho insatisfatório para sinais de música e outros. Esse codec específico é amplamente usado para vídeo/teleconferências, em outras aplicações de comunicações, que, por exemplo, acionaram a criação de um perfil de AAC de baixo atraso devido à demanda da indústria. Não obstante, um aprimoramento da eficiência de codificação dos codecs é de grande interesse da comunidade de usuários e é o tópico da contribuição, que algumas configurações da presente invenção são capazes de fornecer.
[00181] Atualmente, o codec MPEG-4 ER AAC LD produz boa qualidade de áudio em uma faixa de transferência de bits de 64 kbit/s a 48 kbit/s por canal. A fim de aumentar a eficiência de codificação do codificador para que seja competitivo com codificadores de fala, a ferramenta de replicação de banda espectral (SBR) comprovada é uma excelente escolha. Uma proposta anterior no presente tópico, no entanto, não foi continuada no que tange à padronização.
[00182] A fim de não perder o baixo atraso do codec, que é crucial para muitas aplicações, como para aplicações de serviços de telecomunicações, medidas adicionais devem ser tomadas. Em muitos casos, como requisito para o desenvolvimento de respectivos codificadores, definiu-se que tal codificador deve ser capaz de fornecer um atraso algorítmico tão baixo como 20 ms. Felizmente, apenas pequenas modificações precisam ser aplicadas a especificações existentes a fim de se alcançar esse objetivo. Especificamente, apenas duas modificações simples são necessárias, das quais uma é apresentada no presente documento. Uma substituição do banco de filtros do codificador AAC LD por uma configuração de um banco de filtros de baixo atraso 100, 200 alivia um aumento significativo do atraso em muitas aplicações. Acompanhando uma leve modificação à ferramenta SBR, reduz o atraso adicionado introduzindo isso no codificador, como a configuração do codificador 400 conforme mostrado na Fig. 12.
[00183] Como resultado, o codificador AAC ELD aprimorado ou decodificador AAC EL que compreende configurações de bancos de filtro de baixo atraso, exibe um atraso comparável ao de um codificador AAC LD plano, mas é capaz de economizar uma quantidade significativa de taxa de transferência de bits no mesmo nível de qualidade, dependendo da implementação concreta. Para ser mais preciso, um codificador AAC ELD pode ser capaz de economizar até 25% ou até 33% da taxa de transferência de bits no mesmo nível de qualidade em comparação com um codificador AAC LD.
[00184] Configurações de um banco de filtros de síntese ou um banco de filtros de análise podem ser implementadas em um chamado codec AAC de baixo atraso aprimorado (AAC ELD), capaz de expandir a faixa de operação para 24 kbit/s por canal, dependendo da implementação concreta e especificação de aplicação. Em outras palavras, configurações da presente invenção podem ser implementadas na estrutura de uma codificação como uma extensão do esquema AAC LD usando ferramentas de codificação adicional opcionais. Essa ferramenta de codificação opcional é a ferramenta de replicação de banda (SBR), que pode ser integrada ou adicionalmente empregada na estrutura da configuração de um codificador bem como na configuração de um decodificador. Especialmente no campo de codificação de baixa taxa de transferência de bits, a SBR é uma melhora atraente, visto que possibilita uma implementação de um codificador de taxa dupla, em que a frequência de amostragem para uma parte mais baixa do espectro de frequência é codificada com apenas metade da frequência de amostragem do amostrador original. Ao mesmo tempo, a SBR é capaz de codificar uma faixa espectral mais alta de freqüências baseadas na parte inferior, de forma que a frequência de amostragem geral possa, em princípio, ser reduzida por um fator de 2.
[00185] Em outras palavras, o uso de ferramentas SBR torna uma implementação de componentes otimizados para atraso especialmente atraente e benéfica, como se deve à redução na frequência de amostragem do codificador de núcleo duplo, o atraso salvo pode, em princípio, reduzir o atraso geral do sistema por um fator de 2 do atraso salvo.
[00186] Assim, uma simples combinação de um AAC LD e SBR, entretanto, resultaria em um atraso algorítmico total de 60 ms, como será explicado de forma mais detalhada posteriormente. Assim, essa combinação tornaria o codec resultante inadequado para aplicações de comunicação, visto que, de forma geral, um sistema de atraso para comunicações bidirecionais interativas não deve exceder 50 ms.
[00187] Ao usar a configuração de um banco de filtros de análise e/ou um banco de filtros de síntese, e, portanto, substituir o banco de filtros MDCT por um desses bancos de filtros de baixo atraso dedicados pode, portanto, ser capaz de aliviar o aumento do atraso causado pela implementação de um codificador de taxa dupla como explicado anteriormente. Ao usar as configurações mencionadas anteriormente, um codificador AAC ELD pode exibir o atraso dentro da faixa aceitável para comunicação bidirecional, enquanto economiza de 25% até 33% da taxa em comparação com um codificador AAC LD regular, enquanto mantém o nível de qualidade de áudio.
[00188] Portanto, em termos de suas configurações de um banco de filtros de síntese, um banco de filtros de análise e outras configurações relacionadas, a presente aplicação contém uma descrição de possíveis modificações técnicas junto com a avaliação de um desempenho de codificador alcançável, pelo menos em termos de algumas das configurações da presente invenção. Esse banco de filtros de baixo atraso é capaz de alcançar uma redução de atraso substancial usando uma função de janela diferente, como explicado anteriormente, com sobreposições múltiplas em vez de usar um MDCT ou IMDCT, enquanto, ao mesmo tempo, oferece a possibilidade de reconstrução perfeita, dependendo da implementação concreta. Uma configuração desse banco de filtros de baixo atraso é capaz de reduzir o atraso de reconstrução sem reduzir o comprimento do filtro, mas mantendo ainda a propriedade de reconstrução perfeita em algumas circunstâncias no caso de algumas configurações.
[00189] Os bancos de filtros resultantes têm a mesma função de modulação de cosseno que um MDCT tradicional, mas podem ter funções de janelas mais longas, que podem ser não- simétricas ou assimétricas com um atraso generalizado ou de baixa reconstrução. Como explicado anteriormente, uma configuração desse banco de filtros de baixo atraso que use uma nova janela de baixo atraso pode ser capaz de reduzir o atraso da MDCT de 960 amostras no caso de um tamanho de quadro de M = 480 amostras para 720 amostras. Em geral, uma configuração do banco de filtros pode ser capaz de reduzir o atraso de 2M para (2M - M/2) amostras pela implementação de coeficientes de janela de valor zero M/4 ou pela adaptação dos componentes apropriados, como explicado anteriormente, de forma que as primeiras subseções 150-1, 260-1 dos quadros correspondentes compreendam M/4 amostras a menos do que as outras subseções.
[00190] Os exemplos dessas funções de janela de baixo atraso foram mostrados no contexto das Figs. 5 a 7, em que as Figs. 6 e 7 compreendem a comparação com a janela de sinal tradicional também. No entanto, deve-se notar que a janela de análise é simplesmente uma réplica de tempo invertido da janela de síntese como explicado anteriormente.
[00191] A seguir, uma descrição técnica de uma combinação de uma ferramenta SBR com um codificador AAC LD a fim de se obter um sistema de codificação de áudio de baixo atraso e baixa taxa de transferência de bits será fornecido. Um sistema de taxa dupla é usado para se obter um ganho de codificação mais alto em comparação com um único sistema de taxa, como será explicado posteriormente. Empregando um sistema de taxa dupla, torna-se possível uma codificação mais eficiente em termos de energia, visto que menos bandas de frequência serão fornecidas pelo codificador correspondente, o que conduz a uma redução em termos de bits devida, em certa medida, à remoção de informações redundantes dos quadros fornecidos pelo codificador. Para ser mais preciso, uma classificação de um banco de filtros de baixo atraso conforme anteriormente descrito é usada na estrutura do codificador de núcleo AAC LD para se chegar a um atraso geral que seja aceitável para aplicações de comunicação. Em outras palavras, no seguinte, o atraso será descrito em termos do codificador tanto de núcleo AAC LD como de núcleo AAC ELD.
[00192] Ao empregar uma configuração de um banco de filtros de síntese ou um banco de filtros de análise, uma redução de atraso pode ser alcançada implementando-se uma janela/banco de filtro de MDCT modificada. A redução substancial de atraso é obtida pelo uso das funções de janelas diferentes descritas e mencionadas anteriormente com sobreposição múltipla para expandir a MDCT e a IMDCT para a obtenção de um banco de filtros de baixo atraso. A técnica de bancos de filtro de baixo atraso possibilita o uso de uma janela não ortogonal com sobreposição múltipla. Dessa forma, é possível obter um atraso menor do que o comprimento da janela. Assim, um baixo atraso com resposta de impulso longa, que resulte em uma boa seletividade de frequência pode ser alcançado.
[00193] A janela de baixo atraso para um tamanho de quadro de M = 480 amostras reduz o atraso da MDCT de 960 amostras para 720 amostras, como explicado anteriormente.
[00194] Para resumir, em contraste com um codec MPEG-4 ER AAC LD, uma configuração de um codificador e uma configuração de um decodificador 450 podem, sob determinadas circunstâncias, ser capazes de produzir uma boa qualidade de áudio em uma faixa de bits bastante pequena. Enquanto o codec ER AAC LD mencionado produz boa qualidade de áudio como uma faixa de bits de 64 kb/seg a 48 kb/seg por canal, as configurações do codificador 400 e do decodificador 450, conforme descrito no presente documento, podem ser capazes de fornecer um codificador e decodificador de áudio, que, em alguma circunstância, seja capaz de produzir em uma qualidade de áudio igual, mesmo em taxas de transferência de bits menores de cerca de 32 kb/seg por canal. Além disso, configurações de um codificador e decodificador têm um atraso algorítmico pequeno o suficiente para ser usado para sistemas de comunicação bidirecionais, que podem ser implementados na tecnologia existente usando-se apenas modificações mínimas.
[00195] Configurações da presente invenção, especialmente na forma de um codificador 400 e um decodificador 450, alcançam isso combinando a tecnologia de áudio MPEG-4 existente com uma adaptação de número mínimo necessária para operações de baixo atraso necessárias para a operação de baixo atraso para se chegar a configurações da presente invenção. Especificamente, o codificador de baixo atraso MPEG-4 ER AAC pode ser combinado com uma ferramenta de replicação de banda (SPR) para implementar configurações de um codificador 400 e um decodificador 450 considerando as modificações descritas. O aumento resultante no atraso algorítmico é aliviado por pequenas modificações na ferramenta SPR, que não serão descritas na presente aplicação, e o uso de uma configuração de um banco de filtros de codificador de núcleo de baixo atraso e uma configuração de um banco de filtros de análise ou um banco de filtros de síntese. Dependendo da implementação concreta, esse codificador AAC LD aprimorado é capaz de economizar até 33% da taxa de transferência de bits no mesmo nível de qualidade em comparação com um codificador ACC LD simples ao reter um atraso baixo o suficiente para uma aplicação de comunicação bidirecional.
[00196] Antes de uma análise mais detalhada ser apresentada com referência à Fig. 14, um sistema de codificação que compreenda a ferramenta SBR é descrita. Em outras palavras, nessa seção, todos os componentes de um sistema de codificação 500 mostrados na Fig. 14a são analisados com relação a sua contribuição para o atraso do sistema geral. A Fig. 14a apresenta uma visão geral detalhada do sistema completo, em que a Fig. 14b enfatiza as fontes do atraso.
[00197] O sistema mostrado na Fig. 14a compreende um codificador 500 que, por sua vez, compreende um conversor tempo/frequência de MDCT, opera em abordagem de taxa dupla, como um codificador de taxa dupla. Além disso, o codificador 500 também compreende um banco de filtros de análise QMF 520, que faz parte da ferramenta SBR. Tanto o conversor tempo/frequência de MDCT 510 e o banco de filtros de análise de QMF (QMF = Filtro de Espelho de Quadratura) são acoplados juntos em termos de suas entradas e saídas. Em outras palavras, tanto o conversor de MDCT 510 bem como o banco de filtros de análise de QMF 520 recebem os mesmos dados de entrada. No entanto, enquanto o conversor de MDCT 510 fornece as informações de banda baixa, o banco de filtros de análise de QMF 520 fornece os dados de SBR. Ambos os dados são combinados em um fluxo de bits e fornecidos a um decodificador 530.
[00198] O decodificador 530 compreende um conversor tempo/frequência de IMDCT 540, que é capaz de decodificar o fluxo de bit para obter, pelo menos, em termos das partes de banda baixa, um sinal de domínio de tempo, que será fornecido para uma saída do decodificador por meio de um atrasador 550. Além disso, uma saída do conversor de IMDCT 540 é acoplada em um banco de filtros de análise de QMF 560, que é parte de uma ferramenta de SBR do decodificador 530. Além disso, a ferramenta de SBR compreende um gerador de HF 570, que é acoplado em uma saída do banco de filtro de análise de QMF 560 e capaz de gerar os componentes de frequência mais alta com base nos dados de SBR do banco de filtros de análise de QMF 520 do codificador 500. Uma saída do gerador de HF 570 é acoplada a um banco de filtros de síntese de QMF 580, que transforma os sinais no domínio de QMF de volta no domínio de tempo em que os sinais de banda baixa atrasadas são combinadas com os sinais de banda alta, como fornecidos pela ferramenta de SBR do decodificador 530. Os dados resultantes, então, serão fornecidos como dados de saída do decodificador 530.
[00199] Em comparação com a Fig. 14a, a Fig. 14b enfatiza as fontes de atraso do sistema mostrado na Fig. 14a. Para ser mais preciso, dependendo da implementação concreta do codificador 500 e do decodificador 530, a Fig. 14b ilustra as fontes de atraso do sistema MPEG-4 ER AAC LD que compreende uma ferramenta de SBR. O codificador apropriado desse sistema de áudio utiliza um banco de filtros de MDCT/IMDCT para uma transformação ou conversão tempo/frequência/tempo com um tamanho de quadro de 512 ou 480 amostras. Os resultados em atrasos de reconstrução, portanto, que são iguais a 1024 são 960 amostras, dependendo da implementação concreta. No caso de uso do codec MPEG-4 ER AAC LD em combinação com SBR em um modo de taxa dupla, o valor de atraso deve ser dobrado devido à conversão da taxa de amostragem.
[00200] Uma exigência e análise de atraso geral mais detalhada mostram que, no caso de um codec AAC LD em combinação com uma ferramenta de SBR, um atraso algorítmico geral de 16 ms em uma taxa de amostragem de 48 kHz e o tamanho de quadro do codificador de núcleo de 480 amostras será o resultado. A Fig. 15 compreende uma tabela que fornece uma visão geral do atraso produzido pelos diferentes componentes que assumem uma taxa de amostragem de 48 kHz e o tamanho de quadro do codificador de núcleo de 480 amostras, em que o codificador de núcleo efetivamente tem uma taxa de amostragem de 24 kHz devido à abordagem de taxa dupla.
[00201] A visão geral das fontes de atraso na Fig. 15 mostra que no caso de um codec AAC LD junto com uma ferramenta de SBR, um atraso algorítmico de 16 ms resultaria substancialmente mais alto do que o permitido para aplicações de telecomunicações. Essa avaliação compreende a combinação padrão do codificador AAC LD junto com a ferramenta de SBR, que inclui as contribuições de atraso dos componentes de taxa dupla de MDCT/IMDCT, os componentes de QMF e os componentes de sobreposição de SBR.
[00202] No entanto, com o uso das adaptações descritas anteriormente e empregando as configurações conforme descrito anteriormente, um atraso geral de apenas 42 ms é alcançável, o que inclui as contribuições de atraso das configurações dos bancos de filtro de baixo atraso no modo de taxa dupla (ELD MDCT + IMDCT) e componentes de QMF.
[00203] Assim como ocorre com relação a algumas fontes de atraso na estrutura do codificador de núcleo AAC, bem como com relação ao módulo de SBR, o atraso algorítmico do núcleo AAC LD pode ser descrito como amostras 2M, em que, novamente, M é o comprimento de quadro básico do codificador de núcleo. Em contraste, o banco de filtros de baixo atraso reduz o número de amostras por M/2 devido à introdução das seções iniciais 160, 270 ou à introdução de um número apropriado de valores zero ou outros valores na estrutura das funções de janelas apropriadas. No caso do uso de um núcleo AAC em combinação com uma ferramenta de SBR, o atraso é dobrado devido à conversão da taxa de amostragem de um sistema de taxa dupla.
[00204] Para esclarecer, alguns dos números dados na tabela na Fig. 15, na estrutura de um decodificador SBR típico, duas fontes de atraso podem ser identificadas. Por um lado, os componentes de QMF compreendem um atraso de reconstrução de banco de filtros de 640 amostras. No entanto, como o atraso dos quadros de 64-1 = 63 amostras já é introduzido pelo próprio codificador de núcleo, pode ser subtraído para obter o valor com atraso dado na tabela na Fig. 15 ou 577 amostras.
[00205] Por outro lado, a reconstrução HF de SBR causa um atraso adicional com uma ferramenta SBR padrão de 6 posições de QMF devido à grade de tempo variável. Assim, o atraso é, no SBR padrão, seis vezes 64 amostras, de 384 amostras.
[00206] Pela implementação de configurações de bancos de filtros bem como pela implementação de uma ferramenta de SBR aprimorada, uma economia de atraso de 18 ms pode ser alcançada não se implementando uma combinação direta de um codificador AAC LD junto com uma ferramenta de SBR com atraso geral de 60 ms, mas um atraso geral de 42 ms é alcançado. Como mencionado anteriormente, esses números baseiam-se em uma taxa de amostragem de 48 kHz em um comprimento de quadro de M = 480 amostras. Em outras palavras, além do chamado atraso de quadros de M = 480 amostras no exemplo mencionado, o atraso de sobreposição, que é um segundo aspecto importante em termos de otimização de atraso, pode ser significativamente reduzido pela introdução de uma configuração de um banco de filtros de síntese ou um banco de filtros de análise para se alcançar um sistema de codificação de áudio de baixa taxa de transferência de bits e baixo atraso.
[00207] As configurações da presente invenção podem ser implementadas em muitos campos de aplicação, como sistemas de conferência e outros sistemas de comunicação bidirecional. Na ocasião de sua concepção, acerca de 1997, as exigências de atraso estabelecidas para um esquema de codificação de áudio geral, que levam ao projeto de um codificador AAC LD, deviam alcançar um atraso algorítmico de 20 ms, alcançado pelo AAC LD em uma taxa de amostra de 48 kHz e um tamanho de quadro de M = 480. Em contraste com isso, muitas aplicações práticas desse codec, como teleconferência, empregam uma taxa de amostragem de 32 kHz e, assim, trabalham com um atraso de 30 ms. De forma semelhante, devido à crescente importância de comunicações baseadas em IP, as exigências de atraso de um codec de telecomunicações ITU possibilitam um atraso de, grosso modo, 40 ms. Exemplos diferentes incluem o recente codificador do anexo C G.722.1 com um atraso algorítmico de 40 ms e o codificador G.729.1 com um atraso algorítmico de 48 ms. Assim, o atraso geral alcançado por um codificador AAC LD aprimorado ou um codificador AAC ELD que compreenda uma configuração de um banco de filtros de baixo atraso pode ser operado para ser totalmente compreendido na faixa de atraso de codificadores de telecomunicações comuns.
[00208] A Fig. 16 mostra um diagrama de bloco de uma configuração de um mixador 600 para mixar uma pluralidade de quadros de entrada, em que cada quadro de entrada é uma representação espectral de um quadro de domínio de tempo correspondente sendo fornecido de uma fonte diferente. Por exemplo, cada quadro de entrada para o mixador 600 pode ser fornecido por uma configuração de um codificador 400 ou outro componente ou sistema apropriado. Deve-se notar que na Fig. 16, o mixador 600 é adaptado para receber quadros de entrada de três fontes diferentes. No entanto, isso não representa nenhuma limitação. Para ser mais preciso, em princípio, uma configuração de um mixador 600 pode ser adaptada ou configurada para processar e receber um número arbitrário de quadros de entrada, cada quadro de entrada fornecido por uma fonte diferente, como um codificador 400 diferente.
[00209] A configuração do mixador 600 mostrada na Fig. 16 compreende um decodificador por entropia 610 que é capaz de decodificar por entropia a pluralidade de quadros de entrada fornecidos por diferentes fontes. Dependendo da implementação concreta, o decodificador por entropia 610 pode, por exemplo, ser implementado como um decodificador por entropia de Huffman ou um decodificador por entropia que usa outro algoritmo de decodificação por entropia como a chamada Codificação Aritmética, Codificação Unária, Codificação Elias Gamma, Codificação de Fibonacci, Codificação de Golomb ou Codificação de Rice.
[00210] Os quadros decodificados por entropia são então fornecidos a um dequantificador opcional 620, que pode ser adaptado de forma que as amostras de entrada decodificadas por entropia possam ser dequantificadas para acomodar as circunstâncias específicas da aplicação, como o volume característico do ouvido humano. Os quadros de entrada decodificados por entropia e opcionalmente dequantificados são então fornecidos a um selador 630, que é capaz de escalar a pluralidade de quadros por entropia no domínio de frequência. Dependendo da implementação concreta de uma configuração de um mixador 600, o selador 630 pode, por exemplo, escalar cada um dos quadros de entrada opcionalmente dequantificados e decodificados por entropia multiplicando cada um dos valores por um fator 1/p constante, em que P é um número inteiro que indica o número de diferentes fontes ou codificadores 400.
[00211] Em outras palavras, o selador 630 é, nesse caso, capaz de escalar para baixo os quadros fornecidos pelo dequantificador 620 ou o decodificador por entropia 610 para escalá-los para baixo para evitar que os sinais correspondentes tornem-se grandes demais a fim de prevenir um excesso de fluxo ou outro erro computacional, ou prevenir distorções audíveis como clipamento [“clipping”]. Diferentes implementações do selador 630 podem ser implementadas também , como um selador que seja capaz de escalar o quadro fornecido de maneira que conserve energia, como, por exemplo, avaliando a energia de cada um dos quadros de entrada, dependendo da quantidade de bandas de frequência espectral. Nesse caso, em cada uma dessas bandas de frequência espectral, os valores correspondentes no domínio de frequência podem ser multiplicados por um fator constante, de forma que a energia geral com relação a todas as faixas de frequência seja idêntica. Adicionalmente ou alternativamente, o selador 630 pode também ser adaptado de forma que a energia de cada um dos subgrupos espectrais seja idêntica com relação a todos os quadros de entrada de todas as diferentes fontes, ou que a energia geral de cada um dos quadros de saída seja constante.
[00212] O selador 630 é então acoplado a um adicionador 640, que é capaz de somar os quadros fornecidos pelo selador, que também são chamados de quadros escalados no domínio de frequência para gerar um quadro adicionado também no domínio de frequência. Isso pode, por exemplo, ser conseguido pela soma de todos os valores correspondentes ao mesmo índice de amostra de todos os quadros escalados fornecidos pelo selador 630.
[00213] O adicionador 640 é capaz de somar os quadros fornecidos pelo selador 6340 no domínio de frequência para obter um quadro adicionado, que compreenda as informações conforme fornecidas pelo selador 630. Como outro componente opcional, uma configuração de um mixador 600 pode também compreender um quantificador 650 para o qual o quadro adicionado e o adicionador 640 podem ser fornecidos. De acordo com as exigências específicas da aplicação, o quantificador opcional 650 pode, por exemplo, ser usado para adaptar o quadro adicionado para atender algumas condições. Por exemplo, o quantificador 650 pode ser adaptado de forma que o tato do dequantificador 620 possa ser invertido. Em outras palavras, se, por exemplo, uma característica especial ficar subjacente aos quadros de entrada conforme fornecidas ao mixador, que tenha sido removido ou alterado pelo dequantificador 620, o quantificador 650 pode então ser adaptado para fornecer essas exigências especiais de condições ao quadro adicionado. Por exemplo, o quantificador 650 pode ser adaptado para acomodar as características do ouvido humano.
[00214] Como um componente posterior, a configuração do mixador 600 pode compreender ainda um codificador por entropia 660, que seja capaz de codificar por entropia o quadro adicionado opcionalmente quantificado e fornecer um quadro mixado a um ou mais receptores, por exemplo, que compreendam uma configuração de um codificador 450. Novamente, o codificador por entropia 660 pode ser adaptado para codificar por entropia o quadro adicionado com base no algoritmo de Huffman ou outro dos algoritmos mencionados anteriormente.
[00215] Empregando uma configuração de um banco de filtros de análise, um banco de filtros de síntese ou outra configuração relacionada da estrutura de um codificador e um decodificador, um mixador pode ser estabelecido e implementado de forma que seja capaz de mixar sinais no domínio de frequência. Em outras palavras, implementando uma configuração de um dos codecs AAC de baixo atraso aprimorados, descrita anteriormente, pode-se implementar um mixador que seja capaz de mixar diretamente uma pluralidade de quadros de entrada no domínio de frequência, sem ter de transformar os respectivos quadros de entrada no domínio de tempo para acomodar a possível comutação de parâmetros, que é implementada em codecs de tecnologia de ponta para comunicações de fala. Como explicado no contexto das configurações de um banco de filtros de análise e um banco de filtros de síntese, essas configurações possibilitam uma operação sem comutação de parâmetros, como comutação de comprimentos de bloco ou entre diferentes janelas.
[00216] A Fig. 17 mostra uma configuração de um sistema de conferência 700 na forma de uma MCU (Unidade de Controle de Mídia), que pode, por exemplo, ser implementada na estrutura de um servidor. O sistema de conferência 700 ou MCU 700 compreende uma pluralidade de fluxos de bits, dos quais dois são mostrados na Fig. 17. Um decodificador por entropia combinado e um dequantificador 610, 620 bem como uma unidade combinada 630, 640 que são rotulados na Fig. 17 como “mixador”. Além disso, a saída da unidade combinada 630, 640 é fornecida à unidade combinada compreendendo um quantificador 650 e um codificador por entropia 660, que fornecem como quadros mixados um fluxo de bits de saída.
[00217] Em outras palavras, a Fig. 17 mostra uma configuração de um sistema de conferência que é capaz de mixar uma pluralidade de fluxos de bits de entrada no domínio de frequência, visto que o fluxo de bits de entrada bem como os fluxos de bits de saída foram criados usando uma janela de baixo atraso do lado do codificador, enquanto os fluxos de bits de saída são destinados e capazes de serem processados, com base na mesma janela de baixo atraso do lado do decodificador. Em outras palavras, a MCU 700 mostrada na Fig. 17 é baseada no uso de apenas uma janela de baixo atraso universal.
[00218] Uma configuração de um mixador 600 bem como uma configuração de um sistema de conferência 700 é, portanto, adequada para ser aplicada na estrutura de configurações da presente invenção na forma de um banco de filtros de análise, um banco de filtros de síntese e outras configurações relacionadas. Para ser mais preciso, uma aplicação técnica de uma configuração de um codec de baixo atraso com apenas uma janela permite uma mixagem no domínio de frequência. Por exemplo, em situações de (tele)conferência com mais de dois participantes ou fontes, pode ser comumente desejável receber diversos sinais de codec, mixá-los em um sinal e transmitir o sinal codificado resultante. Empregando uma configuração da presente invenção no codificador e do lado do decodificador, em algumas configurações de um sistema de conferência 700 e do mixador 600, o método implementacional pode ser reduzido em comparação com uma maneira direta de decodificar os sinais de entrada, mixar os sinais decodificados no domínio de tempo e recodificar o sinal mixado novamente no domínio de frequência.
[00219] A implementação desse mixador direto na forma de uma MCU é mostrada na Fig. 18 como um sistema de conferência 750. O sistema de conferência 750 também compreende um módulo combinado 760 para cada um dos fluxos de bits de entrada que operam no domínio de frequência e capazes de decodificar por entropia e dequantificar os fluxos de bits de entrada. No entanto, no sistema de conferência 750 mostrado na Fig. 18, os módulos 760 são acoplados ao conversor de IMDCT 770 cada, dos quais um opera no modo de operação de janela de seno, enquanto o outro atualmente opera no modo de janela de baixa sobreposição de operação. Em outras palavras, os dois conversores de IMDCT 770 podem transformar os fluxos de bits de entrada a partir do domínio de frequência em domínio de tempo, o que é necessário no caso de um sistema de conferência 750 já que os fluxos de bits de entrada tem como base um codificador que usa tanto a janela de seno como a janela de baixa sobreposição, dependendo do sinal de áudio a ser codificado e os respectivos sinais.
[00220] O sistema de conferência 750 ainda compreende um mixador 780, que mixa no domínio de tempo os dois sinais de entrada dos dois conversores de IMDCT 770 e fornece um sinal de domínio de tempo mixado a um conversor de MDCT 790, que transfere o sinal do domínio de tempo para o domínio de frequência.
[00221] O sinal mixado no domínio de frequência conforme fornecido pela MDCT 790 é, então, fornecido a um módulo combinado 795, que é, então, capaz de quantificar uma codificação por entropia do sinal para formar o fluxo de bits de saída.
[00222] No entanto, a abordagem de acordo com o sistema de conferência 750 tem duas desvantagens. Devido à decodificação e codificação completa feita pelos dois conversores de IMDCT 770 e MDCT 790, o alto custo computacional deve ser pago pela implementação do sistema de conferência 750. Além disso, devido à introdução da decodificação e codificação, é introduzido um atraso adicional que pode ser alto em determinadas circunstâncias.
[00223] Ao empregar nos locais do decodificador e codificador, configurações da invenção representada, ou para ser mais preciso, ao implementar a nova janela de baixo atraso, essas desvantagens podem ser superadas ou eliminadas dependendo da implementação concreta no caso de algumas configurações. Isso é obtido fazendo a mixagem no domínio de frequência conforme explicado no contexto do sistema de conferência 700 na Fig. 17. Como consequência, a configuração de um sistema de conferência 700 como mostrado na Fig. 17 não compreende transformadas e/ou bancos de filtros que devem ser implementados na estrutura do sistema de conferência 750 para decodificar e codificar os sinais a fim de transformar os sinais a partir do domínio de frequência no domínio de tempo e de volta. Em outras palavras, a mixagem do fluxo de bits no caso de diferentes formas de janelas resulta em um custo adicional de um bloco adicional de atraso devido ao conversor de MDCT/IMDCT 770, 790.
[00224] Como consequência, em algumas configurações do mixador 600 e em algumas configurações do sistema de conferência 700, como vantagens adicionais, menores custos computacionais e uma limitação com relação ao atraso adicional podem ser implementadas, de forma que, em alguns casos, mesmo nenhum atraso adicional pode ser obtido.
[00225] A Fig. 19 mostra uma configuração de uma implementação eficiente de um banco de filtros de baixo atraso. Para ser mais preciso, antes de discutir a complexidade computacional e posteriores aspectos relacionados à aplicação na estrutura da Fig. 19, uma configuração de um banco de filtros de síntese 800 será descrita de forma mais detalhada, que pode, por exemplo, ser implementada em uma configuração de um decodificador. A configuração de um banco de filtros de baixo atraso 800, portanto, simboliza uma inversão de uma configuração de um banco de filtros de síntese ou um codificador.
[00226] O banco de filtros de síntese 800 compreende um conversor de tempo/frequência 810 de transformada de cosseno discreto de tipo-iv inverso capaz de fornecer uma pluralidade de quadros de saída a um módulo combinado 820 que compreende um ponto de janela e uma sobreposição/adição. Para ser mais preciso, o tempo/frequência 810 é um conversor de transformada de cosseno discreto tipo-iv, que é fornecido com um quadro de entrada que compreende valores de entrada de ordem M yk(0) ,..., yk(M-1), em que M é, novamente, um número inteiro positivo e, em que k é um número inteiro que indica um índice de quadro. O conversor tempo/frequência 810 fornece amostras de saída de ordem 2M xk(0) ,..., xk(2M-1) com base nos valores de entrada e fornece essas amostras de saída ao módulo 820, que, por sua vez, compreende o ponto de janela e a sobreposição/ adicionador mencionada anteriormente.
[00227] O ponto de janela do módulo 820 é capaz de gerar uma pluralidade de quadros com janelas, em que cada um dos quadros com janelas compreende uma pluralidade de amostras com janelas Zk(0), ..., Zk(2M-1) com base na equação ou expressão zk(n) = w(n) • xk(n) para n = 0,...,2M-1, onde n é novamente um número inteiro que indica um índice de amostra e w(n) é um coeficiente de função de janela com valor real correspondente ao índice de amostra n. A sobreposição/adição também compreendida no módulo 820 fornece ou gera um quadro intermediário que compreende uma pluralidade de amostras intermediárias Mk(0), ...,Mk(M-l) com base na equação ou expressão mk(n) = Zk(n) + Zk-1(n+M) para n = 0,...,M-1.
[00228] A configuração do banco de filtros de síntese 800 compreende ainda um elevador 850, que produz um quadro adicionado que compreende uma pluralidade de amostras adicionadas outk(0) ,...,outk(m-l) com base na equação ou expressão outk(n) = mk(n) + l(n-M/2) • mk-1(M-l-n) para n = M/2,...,M-1, e outk(n) = mk(n) + l(M-1-n) • outk-1(M-l-n) para n=0,...,M/2-l, onde 1(M-l-n) ,..., 1(M-1) são coeficientes de elevação com valor real. Na Fig. 19, a configuração da implementação computacionalmente eficiente de um banco de filtros de baixo atraso 800 compreende na estrutura do elevador 830 uma pluralidade de atrasadores e multiplicadores combinados 840, bem como uma pluralidade de adicionadores 850 para realizar os cálculos mencionados anteriormente na estrutura do elevador 830.
[00229] Dependendo da implementação concreta de uma configuração de um banco de filtros de síntese 800, os coeficientes de janela ou coeficientes de função de janela w(n) obedecem às relações dadas na tabela 5 do anexo no caso de uma configuração com M = 512 valores de entrada por quadro de entrada. A tabela 9 do anexo compreende um conjunto de relações cujos coeficientes de divisão em janelas w(n) obedecem, no caso de M=480 valores de entrada por quadro de entrada. Além disso, as tabelas 6 e 10 compreendem relações para os coeficientes de elevação 1(n) para configurações com M=512 e M=480, respectivamente.
[00230] No entanto, em algumas configurações de um banco de filtros de síntese 800, os coeficientes de janela w(n) compreendem os valores dados na tabela 7 e 11, para configurações com M = 512 e M = 480 valores de entrada por quadro de entrada, respectivamente. Assim, as tabelas 8 e 12 no anexo compreendem os valores para o coeficiente de elevação l(n) para configurações com M = 512 e M = 480 amostras de entrada por quadro de entrada, respectivamente.
[00231] Em outras palavras, uma configuração de um banco de filtros de baixo atraso 800 pode ser implementada como suficiente, como um conversor de MDCT regular. A estrutura geral dessa configuração é ilustrada na Fig. 19. O DCT-IV inverso e a divisão em janelas de sobreposição/adição inversa são realizadas da mesma maneira que as janelas tradicionais, entretanto, empregando os coeficientes de divisão em janelas mencionados anteriormente, dependendo da implementação concreta da configuração. Como no caso de os coeficientes de divisão em janelas na estrutura da configuração do banco de filtros de síntese 200, também nesse caso, os coeficientes de janela M/4 são coeficientes de janelas com valor zero, que, assim, em princípio, não envolvem nenhuma operação. Para a sobreposição expandida no passado, apenas M operações adicionais de multiplicação-adição são exigidas, como pode ser visto na estrutura do elevador 830. Essas operações adicionais são, às vezes, chamadas de “matrizes de atraso zero”. Às vezes, essas operações também são conhecidas como “etapas de elevação”.
[00232] A implementação eficiente mostrada na Fig. 19 pode, em algumas circunstâncias, ser mais eficiente como uma implementação direta de um banco de filtros de síntese 200. Para ser mais preciso, dependendo da implementação concreta, essa implementação mais eficiente pode resultar na economia de M operações, como no caso de uma implementação direta para M operações, pode ser recomendável implementar, como a implementação mostrada na Fig. 19, exige, em princípio, 2M operações na estrutura do módulo 820 e M operações na estrutura do elevador 830.
[00233] Em termos de uma avaliação a respeito da complexidade de uma configuração de um banco de filtros de baixo atraso, especialmente em termos da complexidade computacional, a Fig. 20 compreende uma tabela que ilustra a complexidade aritmética de uma configuração de uma implementação de uma configuração de um banco de filtros de síntese 800 de acordo com a Fig. 19, no caso de M=512 valores de entrada por quadro de entrada. Para ser mais preciso, a tabela na Fig. 20 compreende uma estimativa do número geral resultante de operações no caso de um conversor de IMDCT (modificado) junto com uma divisão em janelas no caso de uma função de janela de baixo atraso. O número geral de operações é 9600.
[00234] Em comparação, a Fig. 12 compreende uma tabela da complexidade aritmética de IMDCT junto com a complexidade exigida para divisão em janelas com base na janela de seno para um parâmetro M=512, que dá o número total de operações para o codec como o codec AAC LD. Para ser mais preciso, a complexidade aritmética desse conversor de IMDCT junto com a divisão em janelas para a janela de seno é de 9216 operações, que é da mesma ordem de magnitude do número geral de operações resultantes no caso da configuração do banco de filtros de síntese 800 mostrado na Fig. 19.
[00235] Como uma outra comparação, a Fig. 22 compreende uma tabela para um codec AAC LC, que também é conhecido como o codec de áudio de avanço com baixa complexidade. A complexidade aritmética desse conversor de IMDCT, incluindo as operações para sobreposição de divisão em janelas para o AAC LC (M=1024) é 19968.
[00236] Uma comparação desses números mostra que, em resumo, a complexidade do codificador de núcleo que compreende uma configuração de um banco de filtros de baixo atraso aprimorado é essencialmente comparável à de um codificador de núcleo, usando um banco de filtros de MDCT- IMDCT regular. Além disso, o número de operações é, a grosso modo, metade do número de operações de um codec AAC LC.
[00237] A Fig. 23 compreende duas tabelas, em que a Fig. 23a compreende uma comparação das exigências de memória de codecs diferentes, enquanto a Fig. 23b compreende a mesma estimativa com relação à exigência de ROM. Para ser mais preciso, as tabelas em ambas as Figs. 23a e 23b compreendem, cada uma, para os referidos codecs AAC LD, AAC ELD e AAC LC, informações a respeito do comprimento do quadro, do tampão de trabalho e a respeito do tampão de estado nos termos da exigência de RAM (Fig. 23a) e informações a respeito do comprimento do quadro, do número de coeficientes de janela e da soma, em termos de exigências de memória ROM (Fig. 23b). Como mencionado anteriormente nas tabelas, nas Figs. 23a e 23b, as abreviações AAC, ELD referem-se a uma configuração de um banco de filtros de síntese, um banco de filtros de análise, codificador, decodificador ou outra configuração posterior. Para resumir, em comparação com o IMDCT com janela de seno, a implementação eficiente descrita de acordo com a Fig. 19 de uma configuração de um banco de filtros de baixo atraso exige um estado de memória adicional de comprimento M e M coeficientes adicionais, os coeficientes de elevação 1(0 ),..., 1(M-1). Assim, um comprimento de quadro do AAC LD é a metade do comprimento de quadro do AAC LC, estando a exigência de memória resultante na faixa do AAC LC.
[00238] Em termos de exigências de memória, as tabelas mostradas nas Figs. 23a e 23b comparam as exigências de RAM e ROM para os três codecs mencionados anteriormente. Pode-se ver que o aumento de memória para o banco de filtros de baixo atraso é apenas moderado. A exigência de memória geral ainda é muito mais baixa em comparação com o codec AAC LC ou a implementação.
[00239] A Fig. 24 compreende uma lista de codecs usados para um teste de MUSHRA usado na estrutura de avaliação de desempenho. Na tabela mostrada na Fig. 24, a abreviação AOT significa Tipo de Objeto de Áudio [“Audio Object Type"], em que a entrada "X" significa a fita de objeto de áudio ER AAC ELD que pode também ser ajustado em 39. Em outras palavras, o AOT, X ou AOT 39 identifica uma configuração de um banco de filtros de síntese ou um banco de filtros de análise. A abreviação AOT significa, nesse contexto, “tipo de objeto de áudio”.
[00240] Na estrutura de um teste de MUSHRA, a influência do uso de uma configuração do banco de filtros de baixo atraso sobre o codificador anteriormente descrito foi testado realizando um teste de audição para todas as combinações na lista. Para ser mais preciso, o resultado desses testes possibilita as seguintes conclusões. O decodificador AAC ELD a 32 kbit/s por canal, funciona significativamente melhor do que o decodificador AAC L original a 32 kb/s. Além disso, o decodificador AAC ELD a 32 kb/s por canal funciona estatisticamente sem distinção do decodificador AAC LD original a 48 kb/s por canal. Como um codificador de ponto de verificação, o vínculo de AAC LD e do banco de filtros de baixo atraso funciona estatisticamente sem distinção de um codificador AAC LD original ambos a 48 kb/s. Isso confirma a adequabilidade de um banco de filtros de baixo atraso.
[00241] Assim, o desempenho de codificador geral permanece comparável, enquanto uma economia significativa de atraso de codec é obtida. Além disso, foi possível reter o desempenho de pressão do codificador.
[00242] Conforme explicado anteriormente, as situações promissoras de aplicação ou aplicações de configurações da presente invenção, como uma configuração de um codec AAC ELD são aplicações de vídeo-teleconferência de alta fidelidade e voz sobre IP da próxima geração. Isso inclui a transmissão de sinais de áudio arbitrários, como fala ou música, ou no contexto de uma apresentação multimídia, em altos níveis de qualidade e taxas de transferência de bits competitivas. O baixo atraso algorítmico de uma configuração da presente invenção (AAC ELD) torna esse codec uma excelente escolha para todos os tipos de comunicações e aplicações.
[00243] Além disso, o presente documento descreveu a construção de um decodificador AAC ELD aprimorado que pode, opcionalmente, ser combinado com uma ferramenta de replicação de banda espectral (SBR). A fim de restringir o aumento do atraso associado, pequenas modificações em termos de uma implementação real, ao vivo, podem ser necessárias na ferramenta de SBR e nos módulos do codificador de núcleo. O desempenho da decodificação de áudio de baixo atraso aprimorada resultante com base na tecnologia mencionada anteriormente é significativamente aumentado, em comparação com o que é atualmente oferecido pelo padrão de áudio MPEG-4. A complexidade do esquema de codificação de núcleo permanece, no entanto, essencialmente idêntica.
[00244] Além disso, as configurações da presente invenção compreendem um banco de filtros de análise ou banco de filtros de síntese que incluem uma janela de análise de baixo atraso ou um filtro de síntese de baixo atraso. Além disso, uma configuração de um método de análise de sinal ou síntese de sinal com etapa de filtragem de análise de baixo atraso ou etapa de filtragem de síntese de baixo atraso. As configurações de um filtro de análise de baixo atraso ou filtro de síntese de baixo atraso também são descritas. Além disso, programas de computador com um código de programa para implementar um dos métodos acima para execução em um computador são divulgados. Uma configuração da presente invenção compreende também um codificador com um filtro de análise de baixo atraso, ou decodificador com um filtro de síntese de baixo atraso, ou um dos métodos correspondentes.
[00245] Dependendo de determinadas exigências de implementação das configurações dos métodos inventivos, as configurações dos métodos inventivos podem ser implementadas em hardware ou software. A implementação pode ser realizada usando um meio de armazenamento digital, em particular, um disco ou CD, ou DVD com sinais de controle legíveis eletronicamente armazenados, que coopere com o computador ou processador programável de forma que uma configuração dos métodos inventivos seja realizada. Geralmente, uma configuração da presente invenção é, portanto, um produto de programa de computador com código de programa armazenado em um transportador legível por máquina, sendo o código de programa operativo para a realização de uma configuração dos métodos inventivos quando o produto de programa de computador for executado no computador ou processador. Em outras palavras, configurações dos métodos inventivos são, portanto, um programa de computador com um código de programa para realizar pelo menos uma das configurações dos métodos inventivos, quando o programa de computador for executado no computador ou processador. Nesse contexto, os processadores abrangem CPUs (Unidades de Processamento Central), ASICs (Circuitos Integrados Específicos de Aplicativos) ou outros circuitos integrados (CI).
[00246] Enquanto o anterior foi particularmente apresentado e descrito com referência a suas configurações particulares, será entendido pelos habilidosos na arte que diversas outras mudanças na forma e nos detalhes podem ser feitas sem se distanciar de seu espírito e escopo. Deve-se entender que diversas mudanças podem ser feitas na adaptação a diferentes configurações sem se distanciar do conceito maior aqui revelado, e compreendido pelas reivindicações a seguir.

Claims (38)

1. Banco de filtros de síntese para filtrar uma pluralidade de quadros de entrada, em que cada quadro de entrada compreende um número de valores de entrada ordenados, caracterizado por compreender: um conversor de frequência/tempo (210) configurado para fornecer uma sequência de quadros de saída (240), sendo que um quadro de saída compreende um número de amostras de saída ordenadas, em que um quadro de saída é uma representação de tempo de um quadro de entrada; um ponto de janela (220) configurado para processar cada quadro de saída para gerar um quadro com janela a partir do respectivo quadro de saída ponderando-se as amostras de saída do respectivo quadro de saída com base em uma função de ponderação (280) para que cada quadro com janela compreenda uma pluralidade de amostras com janela; e em que o ponto de janela está configurado para fornecer a pluralidade de amostras com janela para um processamento de uma maneira sobreposta com base em um valor prévio de amostra, com o número de amostras de saída ordenadas que são maiores que duas vezes o valor prévio de amostra; uma sobreposição/adição (230) configurada para fornecer um quadro adicionado (290) para cada quadro com janela, sendo que o quadro adicionado compreende uma pluralidade de um número de amostras adicionadas que é igual ao valor prévio de amostra, em que a sobreposição/adição está configurada de modo que o quadro adicionado compreenda pelo menos uma seção de início (300) que corresponde a pelo menos o valor de saída inicial de acordo com a ordem das amostras de saída ordenadas e uma seção restante (310), em que a sobreposição/adição está configurada para, no fornecimento do quadro adicionado, adicionar pelo menos três amostras com janela a partir de pelo menos três quadros com janela consecutivamente gerados que incluem o respectivo quadro com janela e pelo menos dois quadros passados, para uma amostra adicionada na seção restante e adicionar pelo menos duas amostras com janela a partir dos pelo menos dois quadros com janela passados para uma amostra adicionada na seção de início, em que o número de amostras com janela adicionado para obter uma amostra adicionada na seção restante é pelo menos uma amostra maior comparada ao número de amostras com janela adicionado para obter uma amostra adicionada na seção de início, ou o ponto de janela está configurado para configurar as amostras com janela correspondentes, que corresponde à seção de início, a um valor predeterminado ou a pelo menos um valor em uma faixa predeterminada para cada quadro com janela da pluralidade de quadros com janela, com a sobreposição/adição que é configurada para utilizar as amostras com janela correspondentes configuradas dessa forma do respectivo quadro com janela em adição com as pelo menos duas amostras com janela a partir do pelo menos dois quadros com janela passados.
2. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo conversor de frequência/tempo estar configurado para fornecer quadros de saída que compreendem mais de duas vezes o número de amostras de saída comparado ao número de valores de entrada de um quadro de entrada.
3. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo conversor de frequência/tempo estar configurado para fornecer quadros de saída que compreendem um número de amostras de saída, que é igual a um número de valores de entrada de um quadro de entrada multiplicado por um número inteiro maior que 2.
4. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo conversor de frequência/tempo estar configurado para fornecer um quadro de saída que compreende um número de amostras de saída, que é igual ao número de valores de entrada de um quadro de entrada multiplicado por 4.
5. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo conversor de frequência/tempo ter por base pelo menos uma dentre uma transformada discreta de cosseno e uma transformada discreta de seno.
6. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo conversor de frequência/tempo estar configurado para fornecer amostras de saída xi,n com base em uma expressão
Figure img0007
em que i é um número inteiro que indica um índice de janela, índice de bloco ou índice de quadro, em que n é um número inteiro que indica um índice de amostra, em que k é um número inteiro que indica um índice de coeficiente espectral, em que N é um número inteiro que indica metade do número de amostras de saída de um quadro de saída, em que
Figure img0008
é um valor de desvio, e em que spec[i][k] é um valor de entrada que corresponde ao índice de coeficiente espectral k e ao índice de janela i.
7. Banco de filtros de síntese, de acordo com a reivindicação 6, caracterizado pelo conversor de frequência/tempo estar configurado de modo que N seja igual a 960 ou 1.024.
8. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado para desconsiderar uma pluralidade de amostras de saída de um quadro de saída, que corresponde à seção de início, ou configurar as amostras com janela correspondentes que correspondem à seção de início, ao valor predeterminado ou a pelo menos um valor na faixa predeterminada.
9. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado para gerar um quadro com janela com base em um quadro de saída e uma função de ponderação ponderando-se pelo menos uma amostra de saída do quadro de saída com base na função de ponderação.
10. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado para gerar um quadro com janela com base em um quadro de saída multiplicando-se uma amostra de saída do quadro de saída com um valor com base na função de janela.
11. Banco de filtros de síntese, de acordo com a reivindicação 10, caracterizado pelo ponto de janela estar configurado para multiplicar pelo menos uma pluralidade de amostras de saída do quadro de saída com um coeficiente de janela de amostra de saída específica da função de janela.
12. Banco de filtros de síntese, de acordo com a reivindicação 11, caracterizado pelo ponto de janela estar configurado para multiplicar cada amostra de saída do quadro de saída com um coeficiente de janela de amostra de saída específica da função de janela.
13. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado para gerar uma amostra com janela zi,n com base em uma expressão
Figure img0009
em que i é um número inteiro que indica um índice de quadro ou um índice de bloco de um quadro com janela e/ou de um quadro de saída, em que n = 0, ..., 2N-1 é um número inteiro que indica um índice de amostra, em que N é um número inteiro que indica três vezes o número dos valores de entrada de um quadro de entrada e/ou metade do número de amostra de saída de um quadro de saída e/ou das amostras com janela de um quadro com janela, em que w(n) é a função de janela e em que xi,n é uma amostra de saída com um índice de amostra n e o índice de quadro i.
14. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado para gerar uma amostra com janela zi,n com base em uma expressão
Figure img0010
em que i é um número inteiro que indica um índice de quadro ou um índice de bloco de um quadro com janela e/ou de um quadro de saída, em que n = N/8, ..., 2N-1 é um número inteiro que indica um índice de amostra, em que N é um número inteiro que indica três vezes o número dos valores de entrada de um quadro de entrada e/ou metade do número de amostras de saída de um quadro de saída e/ou das amostras com janela de um quadro com janela, em que w(n) é a função de janela e em que xi,n é uma amostra de saída com um índice de amostra n e o índice de quadro i.
15. Banco de filtros de síntese, de acordo com a reivindicação 13, caracterizado pelo ponto de janela estar configurado de modo que N seja igual a 960 e os coeficientes de janela w(0) a w(2N-1) obedeçam às relações determinadas na tabela 1 no anexo.
16. Banco de filtros de síntese, de acordo com a reivindicação 15, caracterizado pelo ponto de janela estar configurado de modo que os coeficientes de janela w(0) a w(2N-1) compreendam os valores determinados na tabela 2 no anexo.
17. Banco de filtros de síntese, de acordo com a reivindicação 13, caracterizado pelo ponto de janela estar configurado de modo que N seja igual a 1024 e os coeficientes de janela w(0) a w(2N-1) obedeçam às relações determinadas na tabela 3 no anexo.
18. Banco de filtros de síntese, de acordo com a reivindicação 17, caracterizado pelo ponto de janela estar configurado de modo que os coeficientes de janela w(0) a w(2N-1) compreendam os valores determinados na tabela 4 do anexo.
19. Banco de filtros de síntese, de acordo com a reivindicação 10, caracterizado pelo ponto de janela estar configurado de modo que a função de janela atribua coeficientes de janela com valor real a elementos de um conjunto de definições.
20. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado de modo que a função de janela seja assimétrica sobre o conjunto de definições em relação a um ponto médio de um conjunto de definições.
21. Banco de filtros de síntese, de acordo com a reivindicação 20, caracterizado pelo ponto de janela estar configurado de modo que a função de janela compreenda mais coeficientes de janela com um valor absoluto de 10% de um valor absoluto máximo dos coeficientes de janela da função de janela em uma primeira metade do conjunto de definições do que na segunda metade do conjunto de definições em relação ao ponto médio do conjunto de definições em que a primeira metade corresponda à metade inicial dos valores de saída.
22. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado de modo que a função de janela tenha por base variante espelhada ou idêntica com uma função de janela com base na qual os quadros de entrada são gerados pelo banco de filtros de síntese.
23. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado de modo que a função de janela seja uma função de janela espelhada em relação a um ponto médio do conjunto de definições da função de janela comparada a uma função de janela com base na qual os quadros de entrada são gerados pelo banco de filtros de síntese.
24. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado de modo que o valor predeterminado seja 0.
25. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado para configurar uma amostra com janela para um valor na faixa predeterminada por pelo menos uma dentre configuração da amostra com janela correspondente a um valor que compreende um valor absoluto menor que um limite mínimo e configuração da amostra com janela correspondente a um valor que compreende um valor absoluto maior que um limite máximo.
26. Banco de filtros de síntese, de acordo com a reivindicação 25, caracterizado pelo limite mínimo ou pelo limite máximo ser determinado por 10s ou 2s, em que s é um número inteiro.
27. Banco de filtros de síntese, de acordo com a reivindicação 25, caracterizado por o limite mínimo ser determinado por um valor absoluto máximo representável por um bit menos significativo ou uma pluralidade de bits menos significativos ou o limite máximo é determinado por um valor absoluto mínimo representável por um bit mais significativo ou uma pluralidade de bits mais significativos no caso de uma representação binária de pelo menos um dentre os valores de entrada, as amostras de saída e as amostras com janela.
28. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado de modo que a seção de início corresponda a um número de amostras de saída que é maior ou igual ao número de amostras de saída de um quadro de saída dividido por 64.
29. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pelo ponto de janela estar configurado de modo que o número de valores de saída desconsiderado ou o número de amostras com janela configurado para o valor predeterminado ou para pelo menos um valor na faixa predeterminada seja maior ou igual ao número de amostras adicionadas de um quadro adicionado dividido por 16.
30. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pela seção de início corresponder a um número de amostras de saída que é 128 ou 120.
31. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pela sobreposição/adição estar configurada de modo que o número dos pelo menos três quadros com janela gerados consecutivos seja pelo menos 4 e um número dos pelo menos dois quadros com janela passados é pelo menos 3.
32. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pela sobreposição/adição estar configurada para fornecer quadros adicionados que compreende um número de amostras adicionadas, que é menor que o número de valores de saída de um quadro de saída dividido por 2.
33. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pela sobreposição/adição estar configurada para fornecer quadros adicionados que compreendem um número de amostras adicionadas, que é igual ao número de amostras de saída de um quadro de saída dividido por um número inteiro maior que 2.
34. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pela sobreposição/adição estar configurada para fornecer quadros adicionados que compreendem um número de amostras adicionadas, que é igual ao número de amostras de saída de um quadro de saída dividido por 4.
35. Banco de filtros de síntese, de acordo com a reivindicação 1, caracterizado pela sobreposição/adição estar configurada para fornecer uma amostra adicionada outi,n com base em uma expressão
Figure img0011
Para 0 < n < N/2, em que i é um número inteiro que indica um índice de quadro ou um índice de bloco de um quadro com janela e/ou de um quadro adicionado, em que n é um número inteiro que indica um índice de amostra, em que N é um número inteiro que indica metade do número das amostras de saída de um quadro de saída e/ou das amostras com janela do quadro com janela, em que zi,n é a amostra com janela que corresponde a um índice de amostra n e o índice de quadro i.
36. Banco de filtros de síntese, de acordo com qualquer uma das reivindicações 1 a 35, caracterizado pelo banco de filtros de síntese ser compreendido em um decodificador.
37. Banco de filtros de síntese, de acordo com a reivindicação 36, caracterizado pelo decodificador compreender ainda um decodificador de entropia configurado para decodificar uma pluralidade de quadros codificados, e em que o codificador de entropia está configurado para fornecer uma pluralidade de quadros de entrada com base nos quadros codificados para o banco de filtros de síntese.
38. Método para filtrar uma pluralidade de quadros de entrada de áudio, em que cada quadro de entrada compreende um número de valores de entrada ordenados, caracterizado por compreender: realizar uma conversão de frequência/tempo e fornecer uma sequência de quadros de saída (240), sendo que um quadro de saída compreende um número de amostras de saída ordenadas, em que um quadro de saída é uma representação de tempo de um quadro de entrada; gerar uma pluralidade de quadros com janela processando-se cada quadro de saída para gerar um quadro com janela a partir do respectivo quadro de saída ponderando-se as amostras de saída do respectivo quadro de saída com base em uma função de ponderação (280) para que cada quadro com janela compreenda uma pluralidade de amostras com janela, com fornecimento da pluralidade de amostras com janela para um processamento dos quadros com janela de uma maneira sobreposta com base em um valor prévio de amostra; gerar um quadro adicionado que compreende uma seção de início que corresponde a pelo menos o valor de saída inicial de acordo com a ordem das amostras de saída ordenadas e uma seção restante para cada quadro com janela, e o quadro adicionado que compreende uma pluralidade de um número de amostras adicionadas que é igual ao valor prévio de amostra, em que a geração do quadro adicionado compreende adicionar pelo menos três amostras com janela a partir de pelo menos três quadros com janela diferentes consecutivamente gerados que incluem o respectivo quadro com janela e pelo menos dois quadros passados, para uma amostra adicionada na seção restante e adicionar pelo menos duas amostras com janela a partir dos pelo menos dois quadros com janela passados para uma amostra adicionada na seção de início, em que o número de amostras com janela adicionado para obter uma amostra adicionada na seção restante pelo menos uma amostra maior comparada ao número de amostras com janela adicionado para obter uma amostra adicionada na seção de início, ou gerar a pluralidade de quadros com janela compreende configurar as amostras com janela correspondentes, que corresponde à seção de início, para um valor predeterminado a pelo menos um valor em uma faixa predeterminada para cada quadro com janela da pluralidade de quadros com janela, com a geração da geração do quadro adicionado que compreende utilizar as amostras com janela correspondentes configuradas dessa forma do respectivo quadro com janela em adição à pelo menos duas amostras com janela a partir do pelo menos dois quadros com janela passados.
BR122019020171-4A 2006-10-18 2007-08-29 Banco de filtros [filterbank] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência BR122019020171B1 (pt)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US86203206P 2006-10-18 2006-10-18
US60/862,032 2006-10-18
US11/744,641 2007-05-04
US11/744,641 US8036903B2 (en) 2006-10-18 2007-05-04 Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system
BRPI0716004-6A BRPI0716004B1 (pt) 2006-10-18 2007-08-29 banco de filtros ["filterbank"] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência
PCT/EP2007/007553 WO2008046468A2 (en) 2006-10-18 2007-08-29 Analysis filterbank, synthesis filterbank, encoder, decoder, mixer and conferencing system

Publications (1)

Publication Number Publication Date
BR122019020171B1 true BR122019020171B1 (pt) 2021-05-25

Family

ID=38904615

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI0716004-6A BRPI0716004B1 (pt) 2006-10-18 2007-08-29 banco de filtros ["filterbank"] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência
BR122019020171-4A BR122019020171B1 (pt) 2006-10-18 2007-08-29 Banco de filtros [filterbank] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BRPI0716004-6A BRPI0716004B1 (pt) 2006-10-18 2007-08-29 banco de filtros ["filterbank"] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência

Country Status (22)

Country Link
US (6) US8036903B2 (pt)
EP (5) EP2113910B1 (pt)
JP (5) JP5546863B2 (pt)
KR (3) KR101209410B1 (pt)
CN (4) CN102243874B (pt)
AT (3) ATE539432T1 (pt)
AU (3) AU2007312696B2 (pt)
BR (2) BRPI0716004B1 (pt)
CA (3) CA2782476C (pt)
ES (5) ES2592253T3 (pt)
HK (4) HK1138674A1 (pt)
IL (4) IL197757A (pt)
MX (1) MX2009004046A (pt)
MY (4) MY155487A (pt)
NO (5) NO342445B1 (pt)
PL (5) PL2884490T3 (pt)
PT (1) PT2884490T (pt)
RU (1) RU2426178C2 (pt)
SG (2) SG174836A1 (pt)
TW (1) TWI355647B (pt)
WO (1) WO2008046468A2 (pt)
ZA (1) ZA200901650B (pt)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7422840B2 (en) * 2004-11-12 2008-09-09 E.I. Du Pont De Nemours And Company Apparatus and process for forming a printing form having a cylindrical support
US7916711B2 (en) * 2005-03-24 2011-03-29 Siport, Inc. Systems and methods for saving power in a digital broadcast receiver
GB2439685B (en) 2005-03-24 2010-04-28 Siport Inc Low power digital media broadcast receiver with time division
US7945233B2 (en) * 2005-06-16 2011-05-17 Siport, Inc. Systems and methods for dynamically controlling a tuner
US8335484B1 (en) 2005-07-29 2012-12-18 Siport, Inc. Systems and methods for dynamically controlling an analog-to-digital converter
ES2631906T3 (es) 2006-10-25 2017-09-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y procedimiento para la generación de valores de subbanda de audio, aparato y procedimiento para la generación de muestras de audio en el dominio temporal
CN101589623B (zh) 2006-12-12 2013-03-13 弗劳恩霍夫应用研究促进协会 对表示时域数据流的数据段进行编码和解码的编码器、解码器以及方法
US8015368B2 (en) * 2007-04-20 2011-09-06 Siport, Inc. Processor extensions for accelerating spectral band replication
US8199769B2 (en) 2007-05-25 2012-06-12 Siport, Inc. Timeslot scheduling in digital audio and hybrid audio radio systems
US20090099844A1 (en) * 2007-10-16 2009-04-16 Qualcomm Incorporated Efficient implementation of analysis and synthesis filterbanks for mpeg aac and mpeg aac eld encoders/decoders
JP5400059B2 (ja) * 2007-12-18 2014-01-29 エルジー エレクトロニクス インコーポレイティド オーディオ信号処理方法及び装置
CN102789782B (zh) * 2008-03-04 2015-10-14 弗劳恩霍夫应用研究促进协会 对输入数据流进行混合以及从中产生输出数据流
EP2410522B1 (en) 2008-07-11 2017-10-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio signal encoder, method for encoding an audio signal and computer program
TWI496479B (zh) * 2008-09-03 2015-08-11 Dolby Lab Licensing Corp 增進多聲道之再生
JP2012516462A (ja) 2009-01-28 2012-07-19 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ オーディオエンコーダ、オーディオデコーダ、符号化されたオーディオ情報、オーディオ信号を符号化および復号化する方法およびコンピュータ・プログラム
TWI569573B (zh) 2009-02-18 2017-02-01 杜比國際公司 低延遲調變濾波器組及用以設計該低延遲調變濾波器組之方法
US8320823B2 (en) * 2009-05-04 2012-11-27 Siport, Inc. Digital radio broadcast transmission using a table of contents
US8971551B2 (en) 2009-09-18 2015-03-03 Dolby International Ab Virtual bass synthesis using harmonic transposition
US8831318B2 (en) * 2009-07-06 2014-09-09 The Board Of Trustees Of The University Of Illinois Auto-calibrating parallel MRI technique with distortion-optimal image reconstruction
KR101732208B1 (ko) * 2009-10-09 2017-05-02 디티에스, 인코포레이티드 오디오 녹음의 적응적 동적 범위 강화
EP3693963B1 (en) * 2009-10-15 2021-07-21 VoiceAge Corporation Simultaneous time-domain and frequency-domain noise shaping for tdac transforms
EP2372703A1 (en) * 2010-03-11 2011-10-05 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Signal processor, window provider, encoded media signal, method for processing a signal and method for providing a window
MY156027A (en) * 2010-08-12 2015-12-31 Fraunhofer Ges Forschung Resampling output signals of qmf based audio codecs
US8489053B2 (en) 2011-01-16 2013-07-16 Siport, Inc. Compensation of local oscillator phase jitter
CN103493129B (zh) 2011-02-14 2016-08-10 弗劳恩霍夫应用研究促进协会 用于使用瞬态检测及质量结果将音频信号的部分编码的装置与方法
AU2012217158B2 (en) * 2011-02-14 2014-02-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal representation using lapped transform
PL2676266T3 (pl) 2011-02-14 2015-08-31 Fraunhofer Ges Forschung Układ kodowania na bazie predykcji liniowej wykorzystujący kształtowanie szumu w dziedzinie widmowej
PL2676268T3 (pl) 2011-02-14 2015-05-29 Fraunhofer Ges Forschung Urządzenie i sposób przetwarzania zdekodowanego sygnału audio w domenie widmowej
PT2676267T (pt) 2011-02-14 2017-09-26 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
EP3441967A1 (en) * 2011-04-05 2019-02-13 Nippon Telegraph and Telephone Corporation Decoding method, decoder, program, and recording medium
JP5714180B2 (ja) 2011-05-19 2015-05-07 ドルビー ラボラトリーズ ライセンシング コーポレイション パラメトリックオーディオコーディング方式の鑑識検出
WO2014046916A1 (en) * 2012-09-21 2014-03-27 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
JP5894347B2 (ja) * 2012-10-15 2016-03-30 ドルビー・インターナショナル・アーベー 転移器に基づく仮想ベース・システムにおけるレイテンシーを低減するシステムおよび方法
WO2015036348A1 (en) * 2013-09-12 2015-03-19 Dolby International Ab Time- alignment of qmf based processing data
DE102014214143B4 (de) 2014-03-14 2015-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals im Frequenzbereich
EP2980791A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Processor, method and computer program for processing an audio signal using truncated analysis or synthesis window overlap portions
CN104732979A (zh) * 2015-03-24 2015-06-24 无锡天脉聚源传媒科技有限公司 一种音频数据的处理方法及装置
CN106297813A (zh) 2015-05-28 2017-01-04 杜比实验室特许公司 分离的音频分析和处理
EP3107096A1 (en) 2015-06-16 2016-12-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Downscaled decoding
WO2017050398A1 (en) * 2015-09-25 2017-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding
US10762911B2 (en) * 2015-12-01 2020-09-01 Ati Technologies Ulc Audio encoding using video information
JP2018101826A (ja) * 2016-12-19 2018-06-28 株式会社Cri・ミドルウェア 音声通話システム、音声通話方法およびプログラム
US11282492B2 (en) 2019-02-18 2022-03-22 Bose Corporation Smart-safe masking and alerting system
US10991355B2 (en) 2019-02-18 2021-04-27 Bose Corporation Dynamic sound masking based on monitoring biosignals and environmental noises
US11071843B2 (en) 2019-02-18 2021-07-27 Bose Corporation Dynamic masking depending on source of snoring

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297236A (en) * 1989-01-27 1994-03-22 Dolby Laboratories Licensing Corporation Low computational-complexity digital filter bank for encoder, decoder, and encoder/decoder
CN1062963C (zh) * 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
US5869819A (en) * 1994-08-17 1999-02-09 Metrologic Instuments Inc. Internet-based system and method for tracking objects bearing URL-encoded bar code symbols
US5408580A (en) * 1992-09-21 1995-04-18 Aware, Inc. Audio compression system employing multi-rate signal analysis
FI935609A (fi) 1992-12-18 1994-06-19 Lonza Ag Dihydrofuroimidatsolijohdannaisten asymmetrinen hydraus
JP3531177B2 (ja) * 1993-03-11 2004-05-24 ソニー株式会社 圧縮データ記録装置及び方法、圧縮データ再生方法
US5570363A (en) 1994-09-30 1996-10-29 Intel Corporation Transform based scalable audio compression algorithms and low cost audio multi-point conferencing systems
US5867819A (en) 1995-09-29 1999-02-02 Nippon Steel Corporation Audio decoder
US5890106A (en) * 1996-03-19 1999-03-30 Dolby Laboratories Licensing Corporation Analysis-/synthesis-filtering system with efficient oddly-stacked singleband filter bank using time-domain aliasing cancellation
US5848391A (en) * 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
SG54379A1 (en) * 1996-10-24 1998-11-16 Sgs Thomson Microelectronics A Audio decoder with an adaptive frequency domain downmixer
US5946352A (en) 1997-05-02 1999-08-31 Texas Instruments Incorporated Method and apparatus for downmixing decoded data streams in the frequency domain prior to conversion to the time domain
JP4174859B2 (ja) * 1998-07-15 2008-11-05 ヤマハ株式会社 デジタルオーディオ信号のミキシング方法およびミキシング装置
US6226608B1 (en) 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
JP2000267682A (ja) * 1999-03-19 2000-09-29 Victor Co Of Japan Ltd 畳み込み演算装置
US6687663B1 (en) * 1999-06-25 2004-02-03 Lake Technology Limited Audio processing method and apparatus
JP3518737B2 (ja) * 1999-10-25 2004-04-12 日本ビクター株式会社 オーディオ符号化装置、オーディオ符号化方法、及びオーディオ符号化信号記録媒体
JP2001134274A (ja) * 1999-11-04 2001-05-18 Sony Corp ディジタル信号処理装置および処理方法、ディジタル信号記録装置および記録方法、並びに記録媒体
FR2802329B1 (fr) 1999-12-08 2003-03-28 France Telecom Procede de traitement d'au moins un flux binaire audio code organise sous la forme de trames
SE0001926D0 (sv) 2000-05-23 2000-05-23 Lars Liljeryd Improved spectral translation/folding in the subband domain
US6718300B1 (en) 2000-06-02 2004-04-06 Agere Systems Inc. Method and apparatus for reducing aliasing in cascaded filter banks
US6707869B1 (en) 2000-12-28 2004-03-16 Nortel Networks Limited Signal-processing apparatus with a filter of flexible window design
US6963842B2 (en) 2001-09-05 2005-11-08 Creative Technology Ltd. Efficient system and method for converting between different transform-domain signal representations
CN1682281B (zh) * 2002-09-17 2010-05-26 皇家飞利浦电子股份有限公司 在语音合成中用于控制持续时间的方法
JP2004184536A (ja) * 2002-11-29 2004-07-02 Mitsubishi Electric Corp 畳み込み演算装置及び畳み込み演算プログラム
US7318027B2 (en) 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
US6982377B2 (en) * 2003-12-18 2006-01-03 Texas Instruments Incorporated Time-scale modification of music signals based on polyphase filterbanks and constrained time-domain processing
US7516064B2 (en) * 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
US7639823B2 (en) * 2004-03-03 2009-12-29 Agere Systems Inc. Audio mixing using magnitude equalization
EP1728243A1 (en) * 2004-03-17 2006-12-06 Koninklijke Philips Electronics N.V. Audio coding
US7630902B2 (en) * 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
KR20070068424A (ko) * 2004-10-26 2007-06-29 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치 및 음성 부호화 방법
JP2006243664A (ja) * 2005-03-07 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体
GB2426168B (en) * 2005-05-09 2008-08-27 Sony Comp Entertainment Europe Audio processing

Also Published As

Publication number Publication date
HK1163332A1 (en) 2012-09-07
EP2378516A1 (en) 2011-10-19
EP2113911B1 (en) 2011-12-28
TW200832357A (en) 2008-08-01
NO20170988A1 (no) 2009-05-14
US8036903B2 (en) 2011-10-11
USRE45526E1 (en) 2015-05-19
EP2074615B1 (en) 2012-04-18
ES2386206T3 (es) 2012-08-13
ES2531568T3 (es) 2015-03-17
KR20110049886A (ko) 2011-05-12
NO342516B1 (no) 2018-06-04
IL226224A0 (en) 2013-06-27
ATE554480T1 (de) 2012-05-15
AU2011201330A1 (en) 2011-04-14
AU2011201331B2 (en) 2012-02-09
JP2013210656A (ja) 2013-10-10
JP2014059570A (ja) 2014-04-03
JP2013228740A (ja) 2013-11-07
NO342476B1 (no) 2018-05-28
SG174836A1 (en) 2011-10-28
ES2380177T3 (es) 2012-05-09
JP5520994B2 (ja) 2014-06-11
IL226223A (en) 2016-02-29
BRPI0716004A8 (pt) 2019-10-08
NO20170986A1 (no) 2009-05-14
JP5546863B2 (ja) 2014-07-09
CN102243875B (zh) 2013-04-03
EP2113910B1 (en) 2011-09-21
KR101209410B1 (ko) 2012-12-10
NO342445B1 (no) 2018-05-22
USRE45277E1 (en) 2014-12-02
EP2378516B1 (en) 2015-01-07
CN102243874B (zh) 2013-04-24
JP2010507111A (ja) 2010-03-04
NO342515B1 (no) 2018-06-04
BRPI0716004B1 (pt) 2020-11-17
ATE525720T1 (de) 2011-10-15
PT2884490T (pt) 2016-10-13
HK1138674A1 (en) 2010-08-27
USRE45339E1 (en) 2015-01-13
AU2007312696A1 (en) 2008-04-24
JP5700714B2 (ja) 2015-04-15
RU2009109129A (ru) 2010-11-27
KR20110049885A (ko) 2011-05-12
CA2667059A1 (en) 2008-04-24
USRE45294E1 (en) 2014-12-16
CN101529502A (zh) 2009-09-09
NO20170982A1 (no) 2009-05-14
CN102243874A (zh) 2011-11-16
JP5700713B2 (ja) 2015-04-15
IL226225A0 (en) 2013-06-27
NO342514B1 (no) 2018-06-04
CN102243873A (zh) 2011-11-16
NO20091900L (no) 2009-05-14
HK1138423A1 (en) 2010-08-20
RU2426178C2 (ru) 2011-08-10
CA2782476C (en) 2016-02-23
CN102243875A (zh) 2011-11-16
EP2074615A2 (en) 2009-07-01
MY164995A (en) 2018-02-28
WO2008046468A3 (en) 2008-06-26
AU2007312696A8 (en) 2009-05-14
JP2012150507A (ja) 2012-08-09
PL2378516T3 (pl) 2015-06-30
CA2782609A1 (en) 2008-04-24
SG174835A1 (en) 2011-10-28
WO2008046468A2 (en) 2008-04-24
MY155486A (en) 2015-10-30
IL226224A (en) 2016-02-29
CA2782609C (en) 2016-10-04
ES2374014T3 (es) 2012-02-13
ES2592253T3 (es) 2016-11-29
KR101162462B1 (ko) 2012-07-04
EP2884490B1 (en) 2016-06-29
MY153289A (en) 2015-01-29
PL2113910T3 (pl) 2012-02-29
JP5859504B2 (ja) 2016-02-10
BRPI0716004A2 (pt) 2013-07-30
USRE45276E1 (en) 2014-12-02
IL197757A (en) 2014-09-30
AU2007312696B2 (en) 2011-04-21
CA2782476A1 (en) 2008-04-24
EP2884490A1 (en) 2015-06-17
CN102243873B (zh) 2013-04-24
NO20170985A1 (no) 2009-05-14
IL226225A (en) 2016-02-29
CA2667059C (en) 2014-10-21
EP2113911A2 (en) 2009-11-04
TWI355647B (en) 2012-01-01
ZA200901650B (en) 2010-03-31
PL2884490T3 (pl) 2016-12-30
MX2009004046A (es) 2009-04-27
AU2011201330B2 (en) 2011-08-25
KR101162455B1 (ko) 2012-07-04
US20080097764A1 (en) 2008-04-24
CN101529502B (zh) 2012-07-25
PL2113911T3 (pl) 2012-06-29
PL2074615T3 (pl) 2012-10-31
IL226223A0 (en) 2013-06-27
EP2113911A3 (en) 2009-11-18
IL197757A0 (en) 2009-12-24
ATE539432T1 (de) 2012-01-15
EP2113910A1 (en) 2009-11-04
KR20090076924A (ko) 2009-07-13
MY155487A (en) 2015-10-30
HK1128058A1 (en) 2009-10-16
AU2011201331A1 (en) 2011-04-14

Similar Documents

Publication Publication Date Title
BR122019020171B1 (pt) Banco de filtros [filterbank] de análise, banco de filtros de síntese, codificador, decodificador, mixador e sistema de conferência
JP5752134B2 (ja) 最適化された低スループットパラメトリック符号化/復号化
BR112012025863B1 (pt) sistema decodificador e método de decodificação para codificação estéreo por predição complexa baseada em mdct
TW200926148A (en) An encoder

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 29/08/2007, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF