PT1994530E - Equipamento e método para a geração de valores de sub-banda de áudio e equipamento e método para a geração de amostras de áudio no domínio do tempo - Google Patents
Equipamento e método para a geração de valores de sub-banda de áudio e equipamento e método para a geração de amostras de áudio no domínio do tempo Download PDFInfo
- Publication number
- PT1994530E PT1994530E PT07819260T PT07819260T PT1994530E PT 1994530 E PT1994530 E PT 1994530E PT 07819260 T PT07819260 T PT 07819260T PT 07819260 T PT07819260 T PT 07819260T PT 1994530 E PT1994530 E PT 1994530E
- Authority
- PT
- Portugal
- Prior art keywords
- window
- samples
- coefficients
- time domain
- function
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000004458 analytical method Methods 0.000 claims description 212
- 230000015572 biosynthetic process Effects 0.000 claims description 190
- 238000003786 synthesis reaction Methods 0.000 claims description 190
- 230000002441 reversible effect Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 description 409
- 239000013598 vector Substances 0.000 description 80
- 238000007792 addition Methods 0.000 description 32
- 230000004044 response Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 23
- 238000005070 sampling Methods 0.000 description 21
- 230000003595 spectral effect Effects 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 17
- 230000010355 oscillation Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000009467 reduction Effects 0.000 description 15
- 239000000872 buffer Substances 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000009977 dual effect Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 230000006872 improvement Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000000052 comparative effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000009432 framing Methods 0.000 description 7
- 230000000873 masking effect Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012074 hearing test Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003534 oscillatory effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 229920000136 polysorbate Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0204—Speech 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 subband decomposition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/45—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0248—Filters characterised by a particular frequency response or filtering method
- H03H17/0264—Filter sets with mutual related characteristics
- H03H17/0266—Filter banks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/038—Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Liquid Crystal Substances (AREA)
- Tires In General (AREA)
- External Artificial Organs (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Developing Agents For Electrophotography (AREA)
- Materials For Photolithography (AREA)
- Peptides Or Proteins (AREA)
Description
DEWCRIÇAO
EQUIPAMENTO E MÉTODO PARA A GERAÇÃO DE VALORES DE SUB-BANDA DE ÁUDIO E EQUIPAMENTO E MÉTODO PARA A GERAÇÃO DE AMOSTRAS DE
ÁUDIO NO DOMÍNIO DO TEMPO
Campo Técnico
As configurações da presente invenção se referem a um equipamento e método para a geração de valores de sub-banda de áudio, um equipamento e um método para a geração de amostras de áudio no domínio do tempo e sistemas compreendendo quaisquer dos equipamentos supramencionados, que podem, por exemplo, ser implementados no campo da moderna codificação de áudio, decodificação de áudio ou de outras aplicações relacionadas com a transmissão de áudio. O moderno processamento de áudio digital se baseia tipicamente em esquemas de codificação que permitem uma significativa redução em termos de taxas de bits, larguras de bandas de transmissão e armazenagem de espaço quando comparada a uma transmissão direta ou armazenagem dos respectivos dados de áudio. Isto é obtido pela codificação dos dados de áudio no lado do remetente e a decodificação dos dados codificados no lado do recipiente antes, por exemplo, fornecendo os dados de áudio decodificado ao ouvinte ou a outro processamento de sinal.
Esses sistemas de processamento de áudio digital podem ser implementados com referência a uma grande faixa de parâmetros, que influenciam tipicamente a qualidade dos dados de áudio transmitidos ou de outra forma processados, por um lado, e a eficiência computacional, as larguras de bandas e outros parâmetros relativos ao desempenho, por outro lado. Muito 1 geralmente, maiores qualidades exigem maiores taxas de bits, uma maior complexidade computacional e um maior requisito de armazenagem para os correspondentes dados de áudio codificado. Assim, dependendo da aplicação desejada, os fatores como taxas admissíveis de bits, uma aceitável complexidade computacional e quantidades aceitáveis de dados devem ser balanceados com uma qualidade desejável e obtenível.
Outro parâmetro especialmente importante nas aplicações de tempo real como na comunicação bidirecional ou monodirecional, o retardo imposto pelos diferentes esquemas de codificação também pode desempenhar um papel importante. Como consequência, o retardo imposto pela codificação e decodificação de áudio coloca outra restrição em termos dos parâmetros anteriormente mencionados ao serem balanceadas as necessidades e os custos de diferentes esquemas de codificação tendo um campo especifico de aplicação desejado. Assim, os sistemas de áudio digital podem ser aplicados em muitos campos diferentes de uso, variando da transmissão de qualidade ultra-baixa até uma transmissão de alta finalização, sendo que os diferentes parâmetros e diferentes restrições são muito geralmente impostos nos respectivos sistemas de áudio. Em algumas aplicações, um menor retardo pode, por exemplo, exigir uma maior taxa de bits e, assim, uma maior largura de banda de transmissão quando comparado a um sistema de áudio com maior retardo, como de nivel comparável de qualidade.
Entretanto, em muitos casos, devem ser feitos compromissos em termos de diferentes parâmetros como de taxa de bits, complexidade computacional, requisitos de memória, qualidade e retardo. 2
Sumário
De acordo com uma configuração da presente invenção, um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio compreende um janelador de análise para o janelamento de um frame de amostras de entrada de áudio no domínio do tempo estando em uma sequência de tempo que se prolonga a partir de uma amostra prévia até uma amostra posterior usando uma função de janela de análise que compreende uma sequência de coeficientes de janela para obter amostras janeladas, a função de janela de análise compreendendo um primeiro número de coeficientes de janela obtidos a partir de uma maior função de janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, em que os coeficientes de janela da função de janela são obtidos por meio de uma interpolação de coeficientes de janela da maior função de janela, em que o segundo número é um número par e um calculador para o cálculo dos valores de sub-banda de áudio usando amostras janeladas. De acordo com uma configuração da presente invenção, um equipamento para a geração de amostras de áudio no domínio do tempo compreende um calculador para o cálculo de uma sequência de amostras intermediárias no domínio do tempo dos valores de sub-banda de áudio em canais de sub-banda de áudio, a sequência compreendendo amostras prévias intermediárias no domínio do tempo e amostras posteriores no dominio do tempo, um janelador de sintese para o janelamento da sequência de amostras intermediárias no domínio do tempo usando uma função de janela de sintese compreendendo uma sequência de coeficientes de janela para obter amostras janeladas intermediárias no domínio do tempo, a função de janela de síntese compreendendo um primeiro número de coeficientes de janela obtidos a partir de uma maior função de janela, 3 compreendendo uma sequência de um maior segundo número coeficientes de janela, em que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela, e em que o segundo número é par e um estágio de saída de adição de sobrepasso para o processamento das amostras janeladas intermediárias no domínio do tempo para a obtenção das amostras no domínio do tempo.
Breve Descrição dos Desenhos
As configurações da presente invenção serão doravante descritas, com referência aos desenhos anexos. A Fig. 1 mostra um diagrama de bloco de uma configuração de um equipamento para a geração de valores de sub-banda de áudio; A Fig. 2a mostra um diagrama de bloco de uma configuração de um equipamento para a geração de amostras de áudio no domínio do tempo; A Fig. 2b ilustra um princípio funcional de acordo com uma configuração da presente invenção sob a forma de um equipamento para a geração de amostras no domínio do tempo; A Fig. 3 ilustra o conceito de coeficientes de janela de interpolação de acordo com uma configuração da presente invenção; A Fig. 4 ilustra o conceito de coeficientes de janela de interpolação no caso da função de janela seno; A Fig. 5 mostra um diagrama de bloco de uma configuração da presente invenção compreendendo um decodificador SBR e um codificador SBR; A Fig. 6 ilustra as fontes de retardo de um sistema SBR; 4 A Fig. 7a mostra um fluxograma de uma configuração de um método para a geração de valores de sub-banda de áudio; A Fig. 7b ilustra uma etapa da configuração do método mostrado na Fig. 7a; A Fig. 7c mostra um fluxograma de uma configuração de um método para a geração de valores de sub-banda de áudio; A Fig. 8a mostra um fluxograma de um exemplo comparativo de um método para a geração de amostras no domínio do tempo; A Fig. 8b mostra um fluxograma de um exemplo comparativo de um método para a geração de amostras no domínio do tempo; A Fig. 8c mostra um fluxograma de uma configuração de um método para a geração de amostras no domínio do tempo; A Fig. 8d mostra um fluxograma de uma outra configuração de um método para a geração de amostras no domínio do tempo; A Fig. 9a mostra uma possível implementação de um exemplo comparativo de um método para a geração de valores de sub-banda de áudio; A Fig. 9b mostra uma possível implementação de uma configuração de um método para a geração de valores de sub-banda de áudio; A Fig. 10a mostra uma possível implementação de um exemplo comparativo de um método para a geração de amostras no domínio do tempo; A Fig. 10b mostra uma outra possível implementação de uma configuração de um método para a geração de amostras no domínio do tempo; 5 A Fig. 11 mostra uma comparação de uma função de janela de síntese de acordo com uma configuração da presente invenção e uma função de janela seno; A Fig. 12 mostra uma comparação de uma função de janela de síntese de acordo com uma configuração da presente invenção e uma função de filtro protótipo SBR QMF; A Fig. 13 ilustra os diferentes retardos causados pela função janela e a função de filtro protótipo mostrada na Fig. 12;
A Fig. 14a mostra uma tabela ilustrando as diferentes contribuições para o retardo de um codec AAC-LD+SBR convencional e um codec AAC-ELD compreendendo uma configuração da presente invenção; A Fig. 14b mostra uma outra tabela compreendendo detalhes referentes ao retardo de diferentes componentes de diferentes codecs; A Fig. 15a mostra uma comparação de uma resposta de frequência de equipamentos baseados em uma função janela de acordo com uma configuração da presente invenção e um equipamento baseado na função de janela seno; A Fig. 15b mostra uma vista de perto da resposta de frequência mostrada na Fig. 15a; A Fig. 16a mostra uma comparação da resposta de frequência de 4 diferentes funções janela; A Fig. 16b mostra uma vista de perto da resposta de frequências mostrada na Fig. 16a; A Fig. 17 mostra uma comparação de uma resposta de frequência de duas diferentes funções janela, uma função janela de acordo 6 com a presente invenção e uma função janela sendo uma função janela simétrica; A Fig. 18 mostra esquematicamente a propriedade geral de mascaramento temporal do ouvido humano; e A Fig. 19 ilustra uma comparação de um sinal original de tempo de áudio, um sinal de tempo gerado com base em um codec HEAAC e um sinal de tempo baseado em codec compreendendo uma configuração da presente invenção.
Descrição Detalhada das Configurações
As Figs. 1 a 19 mostram diagramas de bloco e outros diagramas descrevendo as propriedades funcionais e as características das diferentes configurações de equipamentos e métodos para a geração de valores de sub-banda de áudio, de equipamentos e métodos para a geração de amostras no domínio do tempo e sistemas compreendendo pelo menos um dos equipamentos ou métodos supramencionados. Entretanto, antes de descrever uma primeira configuração da presente invenção em maiores detalhes, deve ser notado que as configurações da presente invenção podem ser implementadas em hardware e software. Assim, as implementações descritas em termos de diagramas de bloco de implementações de hardware das respectivas configurações também podem ser consideradas como fluxogramas de uma configuração adequada de um método correspondente. Também, um fluxograma descrevendo uma configuração da presente invenção pode ser considerado como sendo um diagrama de blocos de uma correspondente implementação de hardware.
Serão descritos a seguir implementações de bancos de filtros, que podem ser implementadas como um banco de filtros de análise ou um banco de filtros de síntese. Um banco de filtros de 7 análise é um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio baseados em amostras (de entrada) de áudio no dominio do tempo estando em uma sequência temporal que se estende a partir de uma amostra prévia até uma amostra posterior. Em outras palavras, o termo banco de filtros de análise pode também ser usado como sinónimo para uma configuração da presente invenção sob a forma de um equipamento para a geração de valores de sub-banda de áudio. Da mesma forma, um banco de filtros de síntese é um banco de filtros para a geração de amostras de áudio no domínio do tempo de valores de sub-banda de áudio em canais de sub-banda de áudio. Em outras palavras, o termo banco de filtros de síntese pode ser usado como sinónimo de uma configuração de acordo com a presente invenção sob a forma de um equipamento para a geração de amostras de áudio no domínio do tempo.
Ambos, o banco de filtros de análise e o banco de filtros de síntese, que também são denominados para sumarizar como bancos de filtros podem, por exemplo, serem implantados como bancos de filtros modulados. Bancos de filtros modulados, exemplos e configurações dos quais serão ressaltados abaixo em maiores detalhes, se baseiam em oscilações com frequências que se baseiam ou que são obtidas a partir de frequências centrais de sub-bandas correspondentes no domínio da frequência. 0 termo "modulado" se refere neste contexto ao fato de que as oscilações supramencionadas são usadas no contexto com uma função janela ou uma função de filtro protótipo, dependendo da implementação concreta desse banco de filtros modulado. Bancos de filtros modulados podem, em princípio, se basear em oscilações de valor real como em uma oscilação harmónica (oscilação seno ou oscilação co-seno) ou em correspondentes oscilações de valores complexos (oscilações exponenciais 8 complexas). Da mesma forma, os bancos de filtros modulados são denominados de bancos de filtros modulados reais ou bancos de filtros modulados de filtros complexos, respectivamente.
Na descrição a seguir, as configurações da presente invenção serão descritas em maiores detalhes sob a forma de bancos de filtros de baixo retardo complexos modulados e bancos de filtros de baixo retardo reais modulados e métodos correspondentes e implementações de software. Uma das principais aplicações desses bancos de filtros modulados de baixo retardo é uma integração em um sistema de replicação de banda espectral de baixo retardo (SBR), que atualmente se baseia no uso de um banco de filtros QMF complexo com um filtro protótipo simétrico (QMF = Filtro em Espelho de Quadratura).
Como se tornará aparente na estrutura da presente descrição, uma implementação de bancos de filtros de baixo retardo de acordo com as configurações da presente invenção dará a vantagem de uma melhor decisão entre a complexidade computacional, resposta de frequência, disseminação do ruído temporal e da qualidade(reconstrução) . Além disso, é obtenível uma melhor decisão entre o retardo e a qualidade de reconstrução com base em uma abordagem para usar as denominadas técnicas de espera zero de maneira a prolongar a resposta de impulso do filtro dos respectivos bancos de filtros sem a introdução de retardos adicionais. Um menor retardo em um nível predefinido de qualidade, uma melhor qualidade no nível predefinido de retardo ou uma melhora simultânea tanto do retardo como da qualidade, podem ser obtidos empregando um banco de filtros de análise ou um banco de filtros de síntese de acordo com uma configuração da presente invenção.
As configurações da presente invenção se baseiam no achado que 9 esses aperfeiçoamentos podem ser obtidos empregando um esquema de interpolação para obter uma função janela tendo um primeiro número de coeficientes de janela baseados em uma função janela tendo um segundo número maior de coeficientes de janela. Empregando um esquema de interpolação, pode ser obtida uma melhor distribuição de valores de energia dos coeficientes de janela das funções janela. Isto leva, em muitos casos, a um melhor nível de aliasing e uma melhora da qualidade de áudio. Por exemplo, quando a maior função janela compreender um número par de coeficientes de janela, pode ser útil um esquema de interpolação. A complexidade computacional só aumenta um pouco com o emprego de um esquema de interpolação. Entretanto, este pequeno aumento não é somente descartado pelo aperfeiçoamento referente à qualidade, mas também pelas economias resultantes referentes ao uso reduzido de memória ao comparar a situação com duas funções janela separadas sendo armazenadas independentemente. Enquanto a interpolação pode ser feita em um ou poucos ciclos do sinal do clock de um processador em uma implementação, em muitos casos levando a um retardo insignificante e uma maior complexidade computacional, a exigência de memória adicional pode ser extremamente importante em muitas aplicações. Por exemplo, no caso de aplicações móveis, a memória pode ser limitada, especialmente quando forem empregadas longas funções janela com um significativo número de coeficientes de janela.
Mais ainda, as configurações de acordo com a presente invenção podem ser usadas no contexto de uma nova função janela para qualquer dos dois bancos de filtros acima descritos, ainda melhorando as decisões supramencionadas. A qualidade e/ou o retardo podem ser ainda melhorados no caso de um banco de filtros de análise, empregando uma função janela de análise 10 compreendendo uma sequência de coeficientes de janela, que compreende um primeiro qrupo tendo uma primeira porção consecutiva da sequência de coeficientes de janela e o segundo grupo de coeficientes de janela compreendendo uma segunda porção consecutiva da sequência de coeficientes de janela. A primeira porção e a segunda porção compreendem todos os coeficientes de janela da função janela. Mais ainda, a primeira porção compreende menos coeficientes de janela que a segunda porção, mas um valor de energia dos coeficientes de janela na primeira porção é maior que um valor de energia dos coeficientes de janela da segunda porção. O primeiro grupo de coeficientes de janela é usado para o janelamento posterior das amostras no domínio do tempo e o segundo grupo de coeficientes de janela é usado para amostras no domínio do tempo janeladas precocemente. Esta forma da função janela dá a oportunidade do processamento de amostras no domínio do tempo com coeficientes de janela tendo maiores valores de energia previamente. Este é um resultado da distribuição descrita de coeficientes de janela para as duas porções e suas aplicações na sequência de amostras de áudio no domínio do tempo. Como consequência, o emprego desta função janela pode reduzir o retardo introduzido pelo banco de filtros em um nível de qualidade constante ou permite um melhor nível de qualidade baseado em um nível de retardo constante.
Da mesma forma, no caso de uma configuração da presente invenção sob a forma de um equipamento para a geração de amostras de áudio no domínio do tempo e método correspondente, um janelador de síntese pode usar a função de janela de síntese, que compreende uma sequência de coeficientes de janela ordenados de forma correspondente em uma primeira (consecutiva) porção e (consecutiva) segunda porção. Também no caso de uma 11 função de janela de síntese, o valor de energia ou um valor total de energia de um coeficiente de janela na primeira porção é maior que o valor de energia de um valor total de energia de um coeficiente de janela de uma segunda porção, em que a primeira porção compreende menos coeficientes de janela que a segunda porção. Devido a essa distribuição dos coeficientes de janela entre as duas porções e o fato que o janelador de síntese usa a primeira porção dos coeficientes do janelador para janelar amostras posteriores no domínio do tempo e a segunda porção de coeficientes de janela para o janelamento de amostras prévias no domínio do tempo, os efeitos e as vantagens anteriormente descritos também se aplicam a um banco de filtros de síntese ou a uma correspondente configuração de um método.
As descrições detalhadas da função de janela de sínteses e das funções janela de análise empregadas na estrutura de algumas configurações da presente invenção serão descritas abaixo em maiores detalhes. Em muitas configurações da presente invenção, a sequência de coeficientes de janela da função de janela de síntese e/ou da função janela de análise compreendem exatamente o primeiro grupo e o segundo grupo de coeficientes de janela. Mais ainda, cada um dos coeficientes de janela da sequência de coeficientes de janela pertence exatamente a um dos coeficientes de janela do primeiro grupo e do segundo grupo.
Cada um dos dois grupos compreende exatamente uma porção da sequência de coeficientes de janela de maneira consecutiva. Na presente descrição, uma porção compreende um conjunto consecutivo de coeficientes de janela de acordo com a sequência de coeficientes de janela. Em configurações de acordo com a presente invenção, cada um dos dois grupos (primeiro e segundo grupo) compreende exatamente uma porção da sequência dos coeficientes de janela da maneira supramencionada. Os grupos 12 respectivos de coeficientes de janela não compreendem quaisquer dos coeficientes de janela, que não pertencem a exatamente uma porção do respectivo grupo. Em outras palavras, em muitas configurações da presente invenção, cada um do primeiro e do segundo grupo de coeficientes de janela compreende somente a primeira porção e a segunda porção de coeficientes de janela sem compreender outros coeficientes de janela.
Na estrutura da presente descrição, uma porção consecutiva da sequência de coeficientes de janela deve ser vista como um conjunto ligado de coeficientes de janela no sentido matemático, em que o conjunto não tem falta de coeficientes de janela comparado com a sequência de coeficientes de janela, que se situaria em uma faixa (por exemplo, faixa índice) dos coeficientes de janela da respectiva porção. Como consequência, em muitas configurações da presente invenção, a sequência de coeficientes de janela é dividida exatamente em duas porções ligadas de coeficientes de janela, formando cada uma do primeiro ou do segundo grupo de coeficientes de janela. Nesses casos, cada coeficiente de janela compreendido no primeiro grupo de coeficientes de janela pode ser disposto antes ou depois de cada um dos coeficientes de janela do segundo grupo de coeficientes de janela com referência à sequência total de coeficientes de janela.
Em ainda outras palavras, em muitas configurações de acordo com a presente invenção, a sequência de coeficientes de janela é dividida exatamente em dois grupos ou porções sem deixar fora quaisquer coeficientes de janela. De acordo com a sequência dos coeficientes de janela, que também representa uma ordem desses, cada um dos dois grupos ou porções compreende todos os coeficientes de janela até (mas excluindo) ou iniciando a partir de (incluindo) um coeficiente de janela limítrofe. Como 13 exemplo, a primeira porção ou o primeiro grupo pode compreender coeficientes de janela com índices de 0 a 95 e de 96 a 639 no caso de uma função janela compreendendo 640 coeficientes de janela (com índices de 0 a 639). Aqui, o coeficiente de janela limítrofe seria o correspondente ao índice 96. Naturalmente, também são possíveis outros exemplos (por exemplo, 0 a 543 e 544 a 639) . A implementação exemplificada detalhada de um banco de filtros de análise descrito a seguir fornece um comprimento de filtro cobrindo 10 blocos de amostras de entrada provocando um retardo de sistema de somente 2 blocos, que é o retardo correspondente introduzido por uma MDCT (transformada modificada discreta de co-seno) ou uma MDST (transformada modificada discreta de seno) . Uma diferença é devida ao maior comprimento de filtro cobrindo 10 blocos de amostras de entrada comparada a uma implementação de uma MDCT ou MDST em que o sobrepasso é aumentado de 1 bloco no caso de MDCT e MDST até um sobrepasso e 9 blocos. Entretanto, outras implementações também podem ser feitas cobrindo um diferente número de blocos de amostras de entrada, que também são denominados de amostras de entrada de áudio. Mais ainda, também podem ser consideradas e implementadas outras decisões. A Fig. 1 mostra um diagrama de bloco de um banco de filtros de análise 100 como uma configuração de um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio. O banco de filtros de análise 100 compreende um janelador de análise 110 para o janelamento de um frame 120 das amostras de entrada de áudio no domínio do tempo. O frame 120 compreende T blocos 130-1, ..., 130-T blocos de amostras (de entrada) de áudio no domínio do tempo, onde T é um número inteiro positivo e igual a 10 no caso da configuração mostrada 14 na Fig. 1. Entretanto, o frame 120 também pode compreender um diferente número de blocos 130.
Ambos, o frame 120 e cada um dos blocos 130 compreendem amostras de entrada de áudio no domínio do tempo em uma sequência temporal que se prolonga de uma amostra prévia até uma amostra posterior de acordo com uma linha de tempo, como indicada pela flecha 140 na Fig. 1. Em outras palavras, na ilustração mostrada na Fig. 1, quanto mais a amostra de áudio no domínio do tempo, que nesse caso é também uma amostra de entrada de áudio no domínio do tempo, estiver para a direita, mais posterior a correspondente amostra de áudio no domínio do tempo estará com referência à sequência de amostra de áudio no domínio do tempo. O janelador de análise 110 gera, baseado em uma sequência de amostras de áudio no domínio do tempo, amostras janeladas no domínio do tempo, que são dispostas em um frame 150 de amostras janeladas. De acordo com o frame 120 de amostras de entrada de áudio no domínio do tempo, também o frame de amostras janeladas 150 compreende T blocos de amostras janeladas 160-1, ..., 160-T. Nas configurações preferidas da presente invenção, cada um dos blocos de amostras janeladas 160 compreende o mesmo número de amostras janeladas que o número de amostras de entrada de áudio no domínio do tempo de cada bloco 130 de amostras de entrada de áudio no domínio do tempo. Assim, quando cada um dos blocos 130 compreende N amostras de áudio de entrada no domínio do tempo, o frame 12 0 e o frame 150 compreende cada um T · N amostras. Nesse caso, N é um número inteiro positivo, que pode, por exemplo, ter os valores de 32 ou 64. Para T = 10, os frames 120, 150 compreendem cada um 320 e 640, respectivamente, no caso acima. 15 A janela de análise 110 está acoplada a um calculador 170 para o cálculo dos valores de sub-banda de áudio baseados nas amostras janeladas providas pelo janelador de análise 110. Os valores de sub-banda de áudio são fornecidos pelo calculador 170 como um bloco 180 de valores de sub-banda de áudio, em que cada um dos valores de sub-banda de áudio corresponde a um canal de sub-banda de áudio. Em uma configuração preferida, também o bloco 180 de valores de sub-banda de áudio compreende N valores de sub-banda.
Cada um dos canais de sub-banda de áudio corresponde a uma frequência central caracteristica. As frequências centrais dos diferentes canais de sub-banda de áudio podem, por exemplo, ser igualmente distribuídas ou igualmente espaçadas com respeito à largura de banda de frequência do correspondente sinal de áudio descrito pelas amostras de entrada de áudio no domínio do tempo fornecido ao banco de filtros de análise 100. O janelador de análise 110 está adaptado para janelar as amostras de entrada de áudio no domínio do tempo do frame 120 com base em uma função janela de análise compreendendo uma sequência de coeficientes de janela tendo um primeiro número de coeficientes de janela para obter as amostras janeladas do frame 150. A janela de análise 110 está adaptada para realizar o janelamento do frame de amostras de áudio no domínio do tempo 120, multiplicando os valores das amostras de áudio no domínio do tempo pelos coeficientes de janela da função janela de análise. Em outras palavras, o janelamento compreende e multiplica pelo elemento as amostras de áudio no domínio do tempo pelo correspondente coeficiente de janela. Como ambos, o frame 120 de amostras de áudio no domínio do tempo e os coeficientes de janela compreendem uma sequência correspondente, a multiplicação em elementos dos coeficientes 16 de janela e as amostras de áudio no domínio do tempo é feita de acordo com as respectivas sequências, por exemplo, como indicado por uma amostra e índice de coeficiente de janela.
Em configurações da presente invenção, as funções janela usadas para o janelamento do frame de amostras de entrada de áudio no domínio do tempo são geradas com base em uma maior função janela compreendendo um maior segundo número de coeficientes de janela empregando um esquema de interpolação como, por exemplo, ressaltado no contexto das Fig. 3 e 4. A maior função janela tipicamente compreende um número par de coeficientes de janela e pode, por exemplo, ser assimétrico com referência à sequência de coeficientes de janela. Podem também ser empregadas funções janela simétricas. A função janela 190 usada para o janelamento do frame 120 de amostras de entrada no domínio do tempo é, por exemplo, obtida pelo janelador de análise 110 ou pelo banco de filtros 100 interpolando os coeficientes de janela da maior função janela. Em configurações de acordo com a presente invenção, isto é feito, por exemplo, interpolando coeficientes de janela consecutivos da maior função janela. Aqui pode ser empregado um esquema de interpolação linear polinomial ou em spline.
Quando, por exemplo, cada coeficiente de janela da maior função janela é usado uma vez para gerar um coeficiente de janela da função janela e o segundo número é par, o número de coeficientes de janela da função janela 190 (primeiro número) é a metade do segundo número. Essa interpolação pode se basear em uma interpolação linear, um exemplo da qual será mais tarde ressaltado no contexto da equação (15). Entretanto, como ressaltado, também pode ser empregado outros esquemas de interpolação. 17
Em configurações da presente invenção sob a forma de um banco de filtros de análise 100 como mostrado na Fig. 1, a função janela de análise, assim como a função de janela de síntese no caso de um banco de filtros de síntese pode, por exemplo, somente compreender coeficientes janelados de valor real. Em outras palavras, cada um dos coeficientes de janela atribuídos a um índice de coeficiente de janela é um valor real.
Os coeficientes de janela em conjunto, formam a respectiva função janela, um exemplo da qual é mostrado na Fig. 1 como uma função janela de análise 190. A seguir, serão consideradas funções janela, que permitem uma redução do retardo quando usadas no contexto dos bancos de filtros descritos. Entretanto, as configurações da presente invenção são se limitam a essas funções janela de baixo retardo. A sequência de coeficientes de janela que forma a função janela de análise 190 compreende um primeiro grupo 200 e um segundo grupo 210 de coeficientes de janela. O primeiro grupo 200 compreende uma primeira porção consecutiva e ligada dos coeficientes de janela da sequência de coeficientes de janela, considerando que o segundo grupo 210 compreende uma segunda porção consecutiva e ligada de um coeficiente de janela. Em conjunto com a primeira porção no primeiro grupo 200, formam toda a sequência de coeficientes de janela da função janela de análise 190. Mais ainda, cada coeficiente de janela da sequência de coeficientes de janela ou pertence à primeira porção ou à segunda porção de coeficientes de janela, de maneira que toda a função janela de análise 190 é composta pelos coeficientes de janela da primeira porção e da segunda porção. A primeira porção de coeficientes de janela é, assim, idêntica ao primeiro grupo 200 de coeficientes de janela e a segunda porção é idêntica ao segundo grupo 210 de coeficientes 18 de janela, como indicado pelas flechas correspondentes 200, 210 na Fig. 1. O número de coeficientes de janela no primeiro grupo 200 da primeira porção de coeficientes de janela é menor que o número de coeficientes de janela no segundo grupo da segunda porção de coeficientes de janela. Entretanto, um valor de energia ou um valor total de energia dos coeficientes de janela no primeiro grupo 200 é maior que um valor de energia ou valor total de energia dos coeficientes de janela no segundo grupo 210. Como será depois ressaltado, um valor de energia de um conjunto de coeficientes de janela se baseia na soma dos quadrados dos valores absolutos dos correspondentes coeficientes de janela.
Em configurações de acordo com a presente invenção, a função janela de análise 190, assim como a correspondente função de janela de síntese podem ser, portanto assimétricas com referência à sequência de coeficientes de janela ou a um índice de um coeficiente de janela. Baseado no conjunto de definição dos índices de coeficiente de janela no qual a função janela de análise 190 é definida, a função janela de análise 190 é assimétrica, quando para todos os números reais n existe um outro número real no, de maneira que o valor absoluto do coeficiente de janela correspondente ao coeficiente de janela do índice de coeficiente de janela (n0 - n) não seja igual ao valor absoluto do coeficiente de janela correspondente ao índice de coeficiente de janela (n0 + n), quando (no - n) e (n0 + n) pertencerem ao conjunto de definição.
Mais ainda, como também mostrado esquematicamente na Fig. 1, a função janela de análise 190 compreende alterações de sinais em que o produto de dois coeficientes consecutivos de janela é negativo. Mais detalhes e demais características das possíveis 19 funções janela de acordo com as configurações da presente invenção serão discutidos em maiores detalhes no contexto das Figs. 11 a 19.
Como antes indicado, o frame de amostras janeladas 150 compreende uma estrutura de bloco similar aos blocos individuais 160-1, ..., 160-T como o frame 120 das amostras individuais de entrada no domínio do tempo. Como o janelador de análise 110 está adaptado para o janelamento das amostras de entrada de áudio no domínio do tempo pela multiplicação desses valores pelos coeficientes de janela da função janela de análise 190, o frame 150 de amostras janeladas está também no domínio do tempo. O calculador 170 calcula os valores de sub-banda de áudio, ou para ser mais exato, o bloco 180 de valores de sub-banda de áudio usando o frame 150 de amostras janeladas e realiza uma transferência do domínio do tempo para o domínio da frequência. Portanto, o calculador 170 pode ser considerado como um conversor tempo/frequência, capaz de prover ao bloco 180 valores de sub-banda de áudio como uma representação espectral do frame 150 das amostras janeladas.
Cada valor de sub-banda de áudio do bloco 180 corresponde a uma sub-banda com uma frequência característica. O número de valores de sub-banda de áudio compreendido no bloco 180 é também algumas vezes denominado de número de banda.
Em muitas configurações de acordo com a presente invenção, o número de valores de sub-banda de áudio no bloco 180 é idêntico ao número de amostras de entrada de áudio no domínio do tempo de cada um dos blocos 130 do frame 120. No caso em que o frame 150 de amostras janeladas compreende a mesma estrutura em bloco que o frame 120, de maneira que cada um dos blocos 160 de amostras janeladas também compreende o mesmo número de amostras 20 janeladas que o bloco dessas amostras de entrada de áudio no domínio do tempo 130, o bloco 180 de valores de sub-banda de áudio também naturalmente compreende o mesmo número que o bloco 160 . O frame 120 pode ser gerado opcionalmente, com base em um bloco de novas amostras de entrada de áudio no domínio do tempo 220 mudando os blocos 130-1, ..., 130-(T-l) por um bloco na direção oposta à flecha 140 indicando a direção no tempo. Portanto, um frame 120 de amostras de entrada de áudio no domínio do tempo a ser processado é gerado mudando os (T-l) últimos blocos de um frame 120 diretamente precedente de amostras de áudio no domínio do tempo por um bloco na direção das amostras de áudio prévias no domínio do tempo e pela adição do novo bloco 220 de novas amostras de áudio no domínio do tempo como o novo bloco 130-1 compreendendo as últimas amostras de áudio no domínio do tempo do frame atual 120. Na Fig. 1 isto está também indicado por uma série de flechas tracejadas 230 indicando a mudança dos blocos 130-1, ..., 130-(T-1) na direção oposta à flecha 140.
Devido à essa mudança de blocos 130 na direção oposta do tempo como indicado pela flecha 140, o atual frame 120 a ser processado, compreende o bloco 130-(T-l ) do frame 120 diretamente precedente como o novo bloco 130- T. Da mesma forma, os blocos 13 0-(T-l) , ..., 130-2 do frame atual 120 a ser processado sao iguais ao bloco 130 -(T-2), .. ,., 130 -1 do frame diretamente precedente 120. 0 bloco 130-T do frame diretamente precedente 120 é descartado.
Como consequência, cada amostra de áudio no domínio do tempo do novo bloco 220 será processada T vezes na estrutura de T processamentos consecutivos de T frames consecutivos 120 das amostras de entrada de áudio no domínio do tempo. Assim, cada 21 amostra de entrada de áudio no domínio do tempo do novo bloco 220 contribui, não somente para T frames diferentes 120, como também para T frames diferentes 150 de amostras janeladas e T blocos 180 de valores de sub-banda de áudio. Como antes indicado, em uma configuração preferida de acordo com a presente invenção, o número de blocos T no frame 120 é igual a 10, de maneira que cada amostra de áudio no domínio do tempo fornecida ao banco de filtros de análise 100 contribui para 10 diferentes blocos 180 de valores de sub-banda de áudio.
No início, antes que um único frame 120 seja processado pelo banco de filtros de análise 100, o frame 120 pode ser inicializado em um pequeno valor absoluto (abaixo de um limite predeterminado), por exemplo, o valor 0. Como será explicado em maiores detalhes abaixo, o formato da função janela de análise 190 compreende um ponto central ou um "centro de massa", que tipicamente corresponde ou se situa entre dois índices de coeficiente de janela do primeiro grupo 200.
Como consequência, o número de novos blocos 220 a ser inserido no frame 120 é pequeno, antes que o frame 120 seja preenchido até um ponto em que as porções do frame 120 sejam ocupadas por valores não voláteis (isto é, de valor diferente de zero) que correspondem a coeficientes de janela tendo uma contribuição significativa em termos de seus valores de energia. Tipicamente, o número de blocos a ser inserido no frame 120 antes que possa ser iniciado um processo "significativo", é de 2 a 4 blocos, dependendo do formato da função janela de análise 190. Assim, o banco de filtros de análise 100 é capaz de prover blocos 180 mais rapidamente que o correspondente banco de filtros está empregando, por exemplo, uma função janela simétrica. Como tipicamente os novos blocos 220 são fornecidos ao banco de filtros de análise 100 como um conjunto, cada um 22 dos novos blocos corresponde a um tempo de registro ou de amostragem, que é essencialmente dado pelo comprimento do bloco 220 (isto é, o número de amostras de entrada de áudio no domínio do tempo compreendido no bloco 220) e a taxa de amostragem ou a frequência de amostragem. Portanto, a função janela de análise 190, como incorporada em uma configuração da presente invenção, leva a um retardo reduzido antes que o primeiro e os seguintes blocos 180 de valores de sub-banda de áudio possam ser providos ou enviados pelo banco de filtros 100 .
Como outra opção, o equipamento 100 pode ser capaz de gerar um sinal ou incorporar uma peça de informação referente à função janela de análise 190 usada na geração do f rame 180 ou referente à função de janela de síntese a ser usada na estrutura de um banco de filtros de síntese. Portanto, a função de filtro de análise 190 pode, por exemplo, ser uma versão reversa no tempo ou no índice da função de janela de síntese a ser usada pelo banco de filtros de síntese. A Fig. 2a mostra um diagrama de bloco de uma configuração de um equipamento 300 para a geração de amostras de áudio no domínio do tempo com base no bloco de valores de sub-banda de áudio. Como já explicado, uma configuração da presente invenção sob a forma de um equipamento 300 para a geração de amostras de áudio no domínio do tempo é geralmente também denominada de banco de filtros de síntese 300, já que o equipamento é capaz de gerar amostras de áudio no domínio do tempo, que podem em princípio ser reproduzidas, com base em valores de sub-banda de áudio que compreendem informações espectrais referentes a um sinal de áudio. Assim, o banco de filtros de síntese 300 é capaz de sintetizar amostras de áudio no domínio do tempo com base em valores de sub-banda de áudio, que podem, por exemplo, ser 23 gerados por um correspondente banco de filtros de análise 100. A Fig. 2a mostra um diagrama de bloco do banco de filtros de síntese 300 compreendendo um calculador 310 ao qual é provido um bloco 320 de valores de sub-banda de áudio (no domínio da frequência). O calculador 310 é capaz de calcular um frame 330 compreendendo uma sequência de amostras intermediárias no domínio do tempo a partir de valores de sub-banda de áudio do bloco 320. O frame 330 de amostras intermediárias no domínio do tempo compreende em muitas configurações de acordo com a presente invenção também uma estrutura de bloco similar, por exemplo, ao frame 150 de amostras janeladas do banco de filtros de análise 100 da Fig. 1. Nesses casos, o frame 330 compreende blocos 340-1, ..., 340-T blocos de amostras intermediárias no domínio do tempo. A sequência de amostras intermediárias no domínio do tempo do frame 330, assim como cada bloco 340 de amostras intermediárias no domínio do tempo compreendem uma ordem de acordo com o tempo, como indicado pela flecha 350 na Fig. 2a. Como consequência, o frame 330 compreende uma amostra prévia intermediária no domínio do tempo no bloco 340-T e uma amostra última intermediária no domínio do tempo no bloco 340-1, que representam a primeira e a última amostra intermediária no domínio do tempo do frame 330, respectivamente. Também, cada um dos blocos 340 compreende uma ordem similar. Como consequência, em configurações de um banco de filtros de síntese, os termos "frame" e "sequência" podem geralmente ser usados como sinónimos. O calculador 310 está acoplado a um janelador de síntese 360, para o qual é provido o frame 330 de amostras intermediárias no domínio do tempo. O janelador de síntese está adaptado para 24 janelar a sequência de amostras intermediárias no domínio do tempo usando uma função de janela de síntese 370 mostrada esquematicamente na Fig. 2a. Como saída, o janelador de síntese 360 provê um frame 380 de amostras janeladas intermediárias no domínio do tempo, que também pode compreender uma estrutura em bloco dos blocos 390-1, . .., 390-T.
Os frames 330 e 380 podem compreender T blocos 340 e 390, respectivamente, onde T é um número inteiro positivo. Em uma configuração preferida de acordo com a presente invenção, na forma de um banco de filtros de síntese 300, o número de blocos T é igual a 10. Entretanto, em diferentes configurações, também diferentes números de blocos podem estar compreendidos em um dos frames. Para ser mais preciso, em princípio, o número de blocos T pode ser maior ou igual a 3, ou maior ou igual a 4, dependendo das circunstâncias da implementação e das decisões anteriormente explicadas das configurações de acordo com a presente invenção compreendendo a estrutura em bloco de frames tanto para o banco de filtros de síntese 100 como para o banco de filtros de síntese 300. O janelador de síntese 360 está acoplado a um estágio de saída de adição de sobrepasso 400, ao qual é fornecido o frame 380 de amostras janeladas intermediárias no domínio do tempo. O estágio de saída de adição de sobrepasso 400 é capaz de processar as amostras janeladas intermediárias no domínio do tempo para obter um bloco 410 de amostras no domínio do tempo. O bloco 410 das amostras (de saída) domínio do tempo pode então, por exemplo, ser fornecido para outros componentes para outros processamentos, armazenamentos ou transformações em sinais audíveis de áudio. O calculador 310 para o cálculo da sequência de amostras no 25 domínio do tempo compreendido no frame 330 é capaz de transferir dados do domínio da frequência no domínio do tempo. Portanto, o calculador 310 pode compreender um conversor tempo/frequência capaz de gerar um sinal no domínio do tempo da representação espectral compreendido no bloco 320 de valores de sub-banda de áudio. Como foi explicado no contexto do calculador 170 do banco de filtros de análise 100 mostrado na Fig. 1, cada um dos valores de sub-banda de áudio do bloco 320 corresponde a um canal de sub-banda de áudio tendo uma frequência central característica.
Em contraste, as amostras intermediárias no domínio do tempo compreendidas no frame 330 representam em princípio, informações no domínio do tempo. O janelador de síntese 360 é capaz e está adaptado para o janelamento da sequência de amostras intermediárias no domínio do tempo compreendido no frame 330 usando a função de janela de síntese 370 como mostrado esquematicamente na Fig. 2a.
Como já ressaltado no contexto da Fig. 1, o janelador de síntese 360 também usa uma função de janela de síntese 370, que é obtida por interpolação de uma maior função janela compreendendo um segundo número de coeficientes de janela. O segundo número é, assim, maior que um primeiro número de coeficientes de janela da função de janela de síntese 370 usada para o janelamento das amostras intermediárias no domínio do tempo do frame 330. A função de janela de síntese 370 pode, por exemplo, ser obtida pelo janelador de síntese 360 ou pelo banco de filtros 300 (o equipamento) que realiza um dos esquemas de interpolação ressaltados anteriormente. Os coeficientes de janela da função de janela de síntese pode, por exemplo, ser gerado com base em 26 uma interpolação linear, polinomial ou em spline. Mais ainda, em configurações de acordo com a presente invenção, a interpolação pode ser baseada no uso de consecutivos coeficientes de janela da maior função janela. Quando cada coeficiente de janela da maior função janela é usado exatamente uma vez, a função janela 370 compreendendo o (menor) primeiro número de coeficientes de janela pode, por exemplo, compreender exatamente a metade do número de coeficientes de janela da maior função janela, quando o segundo número é par. Em outras palavras, nesse caso, o segundo número pode ser o dobro do primeiro número. Entretanto, também outros cenários de interpolações e esquemas podem ser implementados na estrutura das configurações da presente invenção. A seguir, será considerado mais de perto o caso de uma denominada função janela de baixo retardo. Como indicado anteriormente, as configurações de acordo com a presente invenção não estão limitadas a essas funções janela. Também poderão ser usadas outras funções janela, como funções janela simétricas. A função de janela de sintese 370 compreende uma sequência de coeficientes de janela, que também compreende um primeiro grupo 420 e um segundo grupo 430 de coeficientes de janela como explicado anteriormente no contexto da função janela 190 com um primeiro grupo 200 e um segundo grupo 210 de coeficientes de j anela. O primeiro grupo 420 de coeficientes de janela da função de janela de sintese 370 compreende uma primeira porção consecutiva da sequência de coeficientes de janela. De forma similar, o segundo grupo 430 de coeficientes também compreende uma segunda porção consecutiva da sequência de coeficientes de 27 janela, em que a primeira porção compreende menos coeficientes de janela que a segunda porção e onde um valor de energia ou total valor de energia dos coeficientes de janela na primeira porção é maior que o correspondente valor de energia dos coeficientes de janela da segunda porção. Outras caracteristicas e propriedades da função de janela de síntese 370 podem ser similares às caracteristicas e propriedades correspondentes da função janela de análise 190 como mostrado esquematicamente na Fig. 1. Como consequência, é feita referência no presente à correspondente descrição na estrutura da função janela de análise 190 e a outra descrição das funções janela com referência às Figs. 11 a 19, onde o primeiro grupo 200 corresponde ao primeiro grupo 420 e o segundo grupo 210 corresponde ao segundo grupo 430.
Por exemplo, as porções compreendidas nos dois grupos 420, 430 de coeficientes de janela, tipicamente formam cada conjunto consecutivo e conectado de coeficientes de janela em conjunto compreendendo todos os coeficientes de janela da sequência de coeficientes de janela da função janela 370. Em muitas configurações de acordo com a presente invenção, a função janela de análise 190 como mostrada na Fig. 1 e a função de janela de síntese 370 como mostrada na Fig. 2a se baseiam uma na outra. Por exemplo, a função janela de análise 190 pode ser uma versão de tempo reverso ou de índice reverso da função de janela de síntese 370. Entretanto, também podem ser possíveis outras relações entre as duas funções janela 190, 370. Pode ser aconselhável empregar uma função de janela de síntese 370 na estrutura do janelador de síntese 360, que está relacionado com a função janela de análise 190, que foi empregada no curso da geração (opcionalmente antes de outras modificações) do bloco 320 de valores de sub-banda de áudio fornecidos ao banco de 28 filtros de síntese 300.
Como realçado no contexto da Fig. 1, o banco de filtros de síntese 300 na Fig. 2a pode ser opcionalmente adaptado de maneira que o bloco de entrada 320 pode compreender outros sinais novas peças de informações referentes às funções janela. Como exemplo, o bloco 320 pode compreender informações referentes à função janela de análise 190 usada para gerar o bloco 320 ou referente à função de janela de síntese 370 a ser usada pelo janelador de síntese 360. Assim, o banco de filtros 300 pode ser adaptado para isolar as respectivas informações e provê-las ao janelador de síntese 360. O estágio de saída de adição de sobrepasso 400 é capaz de gerar o bloco 410 de amostras no domínio do tempo processando as amostras janeladas intermediárias no domínio do tempo compreendidas no frame 380. Em diferentes configurações de acordo com a presente invenção, o estágio de saída de adição de sobrepasso 4000 pode compreender uma memória para armazenar temporariamente frames anteriormente recebidos 380 de amostras janeladas intermediárias no domínio do tempo. Dependendo dos detalhes de implementação, o estágio de saída de adição de sobrepasso 400 pode, por exemplo, compreender T diferentes posições de armazenagem compreendidas na memória para a armazenagem de um número total de T frames 380 de amostras janeladas intermediárias no domínio do tempo. Entretanto, também um diferente número de posições de armazenagem podem estar compreendidas no estágio de saída de adição de sobrepasso 400, como necessário. Mais ainda, em diferentes configurações de acordo com a presente invenção, o estágio de saída de adição de sobrepasso 400 pode ser capaz de prover o bloco 410 de amostras no domínio do tempo baseado unicamente em um frame 380 de amostras intermediárias no domínio do tempo. As 29 configurações de diferentes bancos de filtros de síntese 300 serão explicadas posteriormente em maiores detalhes. A Fig. 2b ilustra um princípio funcional de acordo com uma configuração da presente invenção sob a forma de um banco de filtros de síntese 300, em que a geração da função janela 370 por interpolação não se focaliza somente na simplicidade. O bloco 320 de valores de sub-banda de áudio é primeiro transferido do domínio da frequência para o domínio do tempo pelo calculador 310, que está ilustrado na Fig. 2b por uma flecha 440. O frame resultante 320 de amostras intermediárias no domínio do tempo compreendendo os blocos 340-1, ..., 340-T de amostras intermediárias no domínio do tempo é então janelado pelo janelador de síntese 360 (não mostrado na Fig. 2b) pela multiplicação da sequência de amostras intermediárias no domínio do tempo do frame 320 pela sequência de coeficientes de janela da função de janela de síntese 370 para obter o frame 380 de amostras janeladas intermediárias no domínio do tempo. O frame 380 novamente compreende os blocos 390-1, . .., 390-T de amostras janeladas intermediárias no domínio do tempo, formando em conjunto o frame 380 de amostras janeladas intermediárias no domínio do tempo.
Na configuração mostrada na Fig. 2b de um banco de filtros de síntese da invenção 300, o estágio de saída de adição de sobrepasso 400 é então capaz de gerar o bloco 410 de amostras de saída no domínio do tempo adicionando para cada valor índice das amostras de áudio no domínio do tempo do bloco 410, as amostras janeladas intermediárias no domínio do tempo de um bloco 390 de diferentes frames 380. Como ilustrado na Fig. 2b, as amostras de áudio no domínio do tempo do bloco 410 são obtidas adicionando para cada índice de amostra de áudio uma 30 amostra intermediária no domínio do tempo janelada do bloco 390-1 do frame 380, processada pelo janelador de síntese 360 na ocasião atual e como previamente descrita, a correspondente amostra intermediária no domínio do tempo do segundo bloco 390-2 de um frame 380-1 processado imediatamente antes do frame 380 e guardado em uma posição de armazenagem no estágio de saída de adição de sobrepasso 400. Como ilustrado na Fig. 2b, outras correspondentes amostras janeladas intermediárias no domínio do tempo de outros blocos 390 (por exemplo, bloco 390-3 do frame 380-2, bloco 390-4 do frame 380-3, bloco 390-5 do frame 380-4) processados pelo banco de filtros de síntese 300 antes que possam ser usados. Os frames 380-2, 380-3, 380-4 e opcionalmente outros frames 380 foram processados pelo banco de filtros de síntese 300 em ocasiões anteriores. O frame 380-2 foi imediatamente processado antes do frame 380-1 e, da mesma forma, o frame 380-3 foi imediatamente gerado antes do frame 380-2 e assim por diante. O estágio de saída de adição de sobrepasso 400 como empregado na configuração é capaz de somar para cada índice do bloco 410 de amostras (de saída) domínio do tempo T diferentes blocos 390-1, ..., 390-T de amostras janeladas intermediárias no domínio do tempo de T diferentes frames 380, 380-1, ..., 380-(T-l). Assim, fora os primeiros T blocos processados, cada uma das amostras (de saída) domínio do tempo do bloco 410 se baseia em T diferentes blocos 320 de valores de sub-banda de áudio.
Como no caso da configuração da presente invenção de um banco de filtros de análise 100 descrito na Fig. 1, devido à forma da função de janela de síntese 370, o banco de filtros de síntese 300 oferece a possibilidade de rapidamente prover o bloco 410 de amostras (de saída) domínio do tempo. Isto é também uma consequência da forma da função janela 370. Como o primeiro 31 grupo 420 de coeficientes de janela corresponde a um maior valor de energia e compreende menos coeficientes de janela que o segundo grupo 430, o janelador de sintese 360 é capaz de prover frames "significativos" 380 de amostras janeladas quando o frame 330 de amostras intermediárias no domínio do tempo é preenchido de maneira que pelo menos os coeficientes de janela do primeiro grupo 420 contribuam para o frame 380. Os coeficientes de janela do segundo grupo 430 demonstram uma menor contribuição devido a seus menores valores de energia.
Portanto, quando no início, o banco de filtros de síntese 300 é inicializado com 0, a provisão de blocos 410 pode, em princípio, ser iniciada quando somente alguns blocos 320 de valores de sub-banda de áudio tiverem sido recebidos pelo banco de filtros de síntese 300. Portanto, também o banco de filtros de síntese 300 permite uma significativa redução de retardo comparada com o banco de filtros de síntese tendo, por exemplo, uma função de janela de síntese simétrica.
Como indicado anteriormente, os calculadores 170 e 310 das configurações mostradas nas Figs. 1 e 2a podem ser implementados como calculadores de valor real, gerando ou sendo capazes de processar valores de sub-banda de áudio dos blocos de real valor 180 e 320, respectivamente. Nesses casos, os calculadores podem, por exemplo, ser implementados como calculadores de valor real baseados em funções oscilantes harmónicas como a função seno ou a função co-seno. Entretanto, também podem ser implementados calculadores de valores complexos como os calculadores 170, 310. Nesses casos, os calculadores podem, por exemplo, ser implementados com base em funções exponenciais complexas ou outras funções harmónicas de valor complexo. A frequência das oscilações de valores reais ou de valores complexos normalmente depende do índice do valor de 32 sub-banda de áudio, por vezes também denominado de índice de banda ou de índice de sub-banda da sub-banda específica. Mais ainda, a frequência pode ser idêntica ou depender da frequência central da correspondente sub-banda. Por exemplo, a frequência da oscilação pode ser multiplicada por um fator constante, alterado com referência à frequência central da correspondente sub-banda ou pode depender de uma combinação de ambas as modificações.
Um calculador de valores complexos 170, 310 pode ser construído ou implementado com base em calculadores de valores reais. Por exemplo , para um calculador de valores complexos, uma implementação eficiente pode, em princípio, ser usada para ambos, a parte modulada de seno e co-seno de um banco de filtros representando a parte real e a imaginária de uma componente de valor complexo. Isto siqnifica que é possível a implementação de ambas, da parte modulada por co-seno e da parte modulada por seno com base nas, por exemplo, estruturas modificadas DCT-IV- e DST-IV. Mais ainda, outras implementações podem empregar o uso de uma FFT (FFT = Transformada Rápida de Fourier) opcionalmente sendo implementada em conjunto para ambas, a parte real e a parte dos calculadores complexos modulados, usando uma FFT ou usando um estágio separado FFT para cada transformada.
Descrição Matemática
As seções a seguir descrevem um exemplo das configurações de um banco de filtros de análise e do banco de filtros de síntese com múltiplos sobrepassos de 8 blocos para a parte, que não provoca mais retardo, como explicado acima, e um bloco para o futuro, que provoca o mesmo retardo que para uma estrutura MDCT/MDST (MDCT = Transformada Discreta Co-seno Modificada; 33 MDST = Transformada Discreta Seno Modificada). Em outras palavras, no exemplo a seguir, o parâmetro T é igual a 10.
Primeiro, será dada a descrição de um banco de filtros de análise de baixo retardo complexo modulado. Como ilustrado na Fig. 1, o banco de filtros de análise 100 compreende as etapas de transformação de um janelamento de análise realizado pelo janelador de análise 110 e uma modulação de análise realizada pelo calculador 170. O janelamento de análise se baseia na eguação zirn = w(10N - 1 - n) xl n for 0 < n < 10 · N , (1) onde, zi,n é a amostra janelada (de real valor) correspondente ao índice de bloco i e ao índice de amostra n do frame 150 mostrado na Fig. 1. O valor xi,n é a amostra de entrada no tempo (de real valor) correspondente ao mesmo índice de bloco i e índice de amostra η. A função janela de análise 190 está representada na equação (1) por seus coeficientes de janela de real valor w(n), onde n é também o índice de coeficiente de janela na faixa indicada na equação (1). Como já explicado anteriormente, o parâmetro N é o número de amostras em um bloco 220, 130, 160, 180. A partir dos argumentos da função janela de análise w(10N-l-n) pode ser visto que a função janela de análise representa uma versão invertida ou uma versão reversa no tempo da função de janela de síntese, que é realmente representada pelo coeficiente de janela w(n). A modulação de análise realizada pelo calculador 170 na configuração mostrada na Fig. 1, se baseia em duas equações 34 X, ΔΙν —-L 2 · Σ z±.r
n=—8N (π / / iY|U \ 2)) (2) X.
Im ag,i,k 2Λί_1 / ^ Γ iN 2 · Σ Zi,n SÍ^ (Ώ + + 2
n=—8N (3) para o índice de coeficiente espectral ou índice de banda k sendo um número inteiro na faixa de 0 < k < N . (4)
Os valores XReai,i,k e Ximag,i,k representam a parte real e a parte imaginária do valor de valor complexo de sub-banda de áudio correspondente ao índice de bloco i e ao índice de coeficiente espectral k do bloco 180. O parâmetro n0 representa uma opção de indice, que é igual a n0 = —N /2 + 0.5. (5) O banco de filtros de síntese de baixo retardo complexo modulado correspondente compreende as etapas de transformação de uma modulação de síntese, um janelamento de síntese, sendo descrita uma adição de sobrepasso. A modulação de síntese se baseia na equação
xin = —t,n N N-1 k=0
COS
π ( —\n + nf, N
N-1 +ΣΧ
Im ag,i,k sin k=0 í w ( —(n + n0) k+\
D (6)
0 < n < 10 N onde χ'ι,η é uma amostra intermediária no domínio do tempo do frame 330 correspondente ao índice de amostra n e ao índice de bloco i. Mais uma vez, o parâmetro N é um número inteiro que indica o comprimento do bloco 320, 340, 390, 410, que é também 35 denominado de comprimento de bloco de transformada ou, devido à estrutura em bloco dos frames 330, 380, como um desvio do bloco anterior. Também as demais variáveis e parâmetros foram introduzidos acima, como o índice de coeficiente espectral k e 5 o desvio n0. 0 janelamento de síntese realizado pelo janelador de síntese 360 na configuração mostrada na Fig. 2a se baseia na equação z'irn = w(n) x'irn for 0 < n < 10 · N , (7) onde z'i,n é o valor da amostra intermediária no domínio do 10 tempo janelada correspondente ao índice de amostra n e ao índice de bloco i do frame 380. A estampa de transformação da adição de sobrepasso se baseia na equação
0uh,n ~ t ί-Ι,η+Ν^Ζ i-2,n+2N~^Z i-3,n+3N^Z ;_4;„+4jVi-5,n+5N Z i-6,n+6N~^Z i-7,n+TN^~Z i-&,n+&N^~Z i-9,n+9N ( 8 )
for 0 <n< N 15 onde outi,n representa a amostra no domínio do tempo (saída) correspondente ao índice de amostra n e ao índice de bloco i. A equação (8), assim ilustra a operação de adição de sobrepasso como feita no estágio de saída de adição de sobrepasso 400 ilustrada na parte inferior da Fig. 2b. 20 Entretanto, as configurações de acordo com a presente invenção não se limitam aos bancos de filtros de baixo retardo complexos modulados, permitindo um processamento de sinal de áudio com um desses bancos de filtros. Também pode ser feita uma implementação de real valor de um banco de filtros de baixo 25 retardo para uma codificação de áudio ampliada de baixo retardo. Como comparação, por exemplo, as equações (2) e (6) em 36 termos de uma parte co-seno revela, a contribu ição co-seno da modulação de análise e a modulação de síntese mostra uma estrutura comparável quando considerada a de uma MDCT. Apesar do método de projeto em princípio permitir uma extensão da MDCT em ambas as direções referentes ao tempo, somente uma extensão de E ( = T-2 )blocos para o passado é aqui aplicada, onde cada um dos T blocos compreende N amostras. O coeficiente de frequência Xi,k da banda k e bloco i dentro de um banco de filtros de análise com N canais ou N bandas pode ser resumido por X' i,k
2N-1 2 ^ wa(n) x(n) n = —E -N cos| ^ (n + -L - f) (k + -L; (9) para o índice de coeficiente espectral k conforme definido pela equação (4) . Aqui, novamente n é um índice de amostra e wa é uma função janela de análise.
Para garantir a totalidade, a descrição matemática anteriormente fornecida do banco de filtros de análise de baixo retardo complexo modulado pode ser dada na mesma forma resumida da equação (9), trocando a função co-seno pela função exponencial de valor complexo. Para ser mais exato, com a definição e as variáveis dadas acima, as equações (1), (2), (3) e (5) podem ser resumidas e prolongadas de acordo com 2N-1 x'i,k = “2 Σ wafnj-xfn)-exp j· —(n + T-f Xk + í) (io: onde em contraste com as equações (2) e (3), a extensão de 8 blocos no passado foi substituída pela variável E(=8).
As etapas da modulação de síntese e do janelamento de síntese, como descritas para o caso complexo nas equações (6) e (7), 37 podem ser resumidas no caso de um banco de filtros de síntese de valor real. O frame 380 de amostras janeladas intermediárias no domínio do tempo, que também é denominado de vetor desmodulado, é dado por
(11) onde z'iín é a amostra intermediária no domínio do tempo janelada correspondente ao índice de banda i e ao índice de amostra η. O índice de amostra n é novamente um número inteiro na faixa de 0 < n < n(2 + E) = N T 2 e ws(n) é a janela de síntese, que é compatível com a janela de análise wa(n) da equação (9). A etapa de transformação de adição de sobrepasso é então dada por
i=(e+i) (13) onde χ'ι,η é o sinal reconstruído, ou ainda uma amostra no domínio do tempo do bloco 410 como fornecida pelo estágio de saída de adição de sobrepasso 400 mostrado na Fig. 2a.
Para o banco de filtros de síntese de valor complexo 300, as equações (6) e (7) podem ser resumidas e generalizadas com referência à extensão de E(=8) blocos para o caminho de acordo com
38 onde j = V — 1 é a unidade imaginária. A equaçao (13) representa a generalização da equação (8), sendo também válida para o caso de valor complexo.
Como a comparação direta da equação (14) com equação (7) mostra, a função janela w(n) da equação (7), isto é, a mesma função de janela de síntese que ws(n) da equação (14). Como antes ressaltado, a comparação similar da equação (10) com o coeficiente de função janela de análise wa(n) com equação (1) mostra que a função janela de análise é a versão reversa no tempo da função de janela de síntese no caso da equação (1).
Como em ambas, é mostrado um banco de filtros de análise 100 na Fig. 1 e um banco de filtros de síntese 300 como mostrado na Fig. 2a oferece um aperfeiçoamento significativo em termos de decisão entre o retardo, por um lado, e a qualidade do processo de áudio; por outro lado, os bancos de filtros 100, 300 são geralmente denominados de bancos de filtros de baixo retardo. Sua versão de valor complexo é, por vezes, denominada de banco de filtros complexo de baixo retardo, abreviada por CLDFB. Em algumas circunstâncias, o termo CLDFB não é somente usado para a versão de valor complexo, mas também para a versão de valor real do banco de filtros.
Como mostrou a discussão anterior do histórico matemático, a estrutura usada para implementar os bancos de filtros de baixo retardo proposto utiliza uma estrutura do tipo MDCT ou IMDCT (IMDCT = MDCT inversa), como mostrado pelo Padrão MPEG-4, usando um sobrepasso estendido. As regiões adicionais de sobrepasso podem ser anexadas em bloco no lado esquerdo assim como no lado direito do núcleo tipo MDCT. Aqui, somente a extensão para o lado direito (para o banco de filtros de síntese) é usada, que somente funciona a partir das amostras 39 passadas e, portanto não provoca nenhum outro retardo. A inspeção das equações (1), (2) e (14) mostrou que o processamento é muito similar ao da MDCT ou da IMDCT. Com somente pequenas modificações compreendendo uma função janela de análise modificada e função de janela de síntese, respectivamente, a MDCT ou a IMDCT é estendida a um banco de filtros modulado que pode operar múltiplos sobrepassos e é muito flexível com referência a seu retardo. Como por exemplo, as equações (2) e (3) demonstraram que a versão complexa é, em princípio, obtida pela simples adição de um seno modulado à dada modulação de co-seno.
Interpolação
Como ressaltado no contexto das Figs. 1 e 2a, ambos, o janelador de análise 110 e o janelador de síntese 360 ou os respectivos bancos de filtros 100, 300 são adaptados para o janelamento dos respectivos frames de amostras no domínio do tempo multiplicando cada uma das respectivas amostras de áudio no domínio do tempo pelo coeficiente individual de janela. Cada uma das amostras no domínio do tempo é, em outras palavras, multiplicada por um coeficiente de janela(individual), como por exemplo as equações (1), (7), (9), (10), (11), e (14) demonstraram. Como consequência, o número de coeficientes de janela da respectiva função janela é tipicamente idêntico ao número das respectivas amostras de áudio no domínio do tempo.
Entretanto, sob certas circunstâncias de implementação, pode ser aconselhável implementar a função janela tendo um maior segundo número de coeficientes de janela comparado à real função janela com um menor primeiro número de coeficientes, que é realmente usada durante um janelamento do respectivo frame ou sequência de amostras de áudio no domínio do tempo. Isto pode, 40 por exemplo, ser aconselhável no caso quando as exigências de memória de uma implementação especifica puder ser mais valiosa que a eficiência computacional. Um outro cenário em que uma sub-amostragem dos coeficientes de janela possa ser útil, é o caso da denominada abordagem de índice dual, que é, por exemplo, empreqada na estrutura de sistemas SBR (SBR = Replicação de Banda Espectral). O conceito de SBR será explicado em maiores detalhes no contexto das Figs. 5 e 6.
Nesse caso, o janelador de análise 110 ou o janelador de síntese 360 pode ainda ser adaptado de maneira que a respectiva função janela usada para o janelamento das amostras de áudio no domínio do tempo provida para o respectivo janelador 110, 360 seja obtida por uma interpolação de coeficientes de janela da maior função janela tendo um maior segundo número de coeficientes de janela. A interpolação pode, por exemplo, ser feita por uma interpolação linear polinomial ou baseada em spline. Por exemplo, no caso da interpolação linear, mas também no caso de uma interpolação polinomial ou baseada em spline, o respectivo janelador 100, 360 pode então ser capaz de interpolar os coeficientes de janela da função janela usados para o janelamento baseado em dois coeficientes consecutivos de janela da maior função janela, de acordo com uma sequência dos coeficientes de janela da maior função janela para obter um coeficiente de janela da função janela.
Especialmente no caso de um número par de amostras de áudio no domínio do tempo e coeficientes de janela, uma implementação de uma interpolação como anteriormente descrito, resulta em um aperfeiçoamento significativo da qualidade de áudio. Por exemplo, no caso de um número par N · T de amostras de áudio no 41 domínio do tempo em um dos frames 120, 330, não usando uma interpolação, por exemplo, uma interpolação linear, resultará em sérios efeitos de aliasing durante o resto do processamento das respectivas amostras de áudio no domínio do tempo. A Fig. 3 ilustra um exemplo de uma interpolação linear baseada em uma função janela (uma função janela de análise ou uma função de janela de síntese) a ser empregada no contexto com frames compreendendo N · T/2 amostras de áudio no domínio do tempo. Devido às restrições de memória ou outros detalhes de implementação, os próprios coeficientes de janela da função janela não são guardados em uma memória, mas em uma maior função janela compreendendo N · T coeficientes de janela sendo guardados durante a disponibilidade da memória adequada ou de outra forma. A Fig. 3 ilustra no gráfico superior, os correspondentes coeficientes de janela c(n) como função dos índices de coeficiente de janela n na faixa entre 0 e N · T-l.
Com base em uma interpolação linear de dois coeficientes consecutivos de janela da função janela tendo o maior número de coeficientes de janela como mostrado no gráfico superior da
Fig. 3, é calculada uma função janela interpolada com base na equação ci[n] = § {c[2n] + c[2n + l]) for 0 < η < N T / 2 ^ O número de coeficientes de janela ci(n) interpolados da função janela a ser aplicada ao frame tendo N · T/2 amostras de áudio no domínio do tempo compreende a metade do número de coeficientes de janela.
Para melhor ilustrar o fato, na Fig. 3 coeficientes de janela 450-0, ..., 450-7 são mostrados na parte superior da Fig. 3 42 correspondente a um coeficiente de janela c(0), . .., c(7). Com base nesses coeficientes de janela e os demais coeficientes de janela da função janela, uma aplicação da equação (15) leva aos coeficientes de janela ci(n) da função janela interpolada mostrada na parte inferior da Fig. 3. Por exemplo, com base nos coeficientes de janela 450-2 e 450-3, o coeficiente de janela 460-1 é gerado com base na equação (15), como ilustrado pelas flechas 470 na Fig. 3. Da mesma forma, o coeficiente de janela 460-2 da função janela interpolada é calculado com base no coeficiente de janela 450-4, 450-5 da função janela mostrada na parte superior da Fig. 3. A Fig. 3 mostra a geração de outros coeficientes de janela ci(n).
Para ilustrar o cancelamento de aliasing conseguido pela sub-amostragem interpolada da função janela, a Fig. 4 ilustra a interpolação dos coeficientes de janela no caso da função de janela seno, que pode, por exemplo, ser empregada em uma MDCT. Simplificando, a metade esquerda da função janela e a metade direita da função janela são desenhadas sobrepostas. A Fig. 4 mostra uma versão simplificada de uma janela seno, compreendendo somente 2 · 4 coeficientes de janela ou pontos para uma MDCT tendo o comprimento de 8 amostras. A Fig. 4 mostra quatro coeficientes de janela 480-1, 480-2, 480-3 e 480-4 da primeira metade da janela seno e quatro coeficientes de janela 490-1, 490-2, 490-3 e 390-4 da segunda metade da janela seno. O coeficiente de janela 490-1, ..., 490-4 corresponde aos índices de coeficiente de janela 5, ..., 8. Os coeficientes de janela 490-1, . .., 490-4 correspondem à segunda metade do comprimento da função janela de maneira que os índices dados Ν' =4 devem ser adicionados para se obter os índices reais. 43
Para reduzir ou mesmo alcançar o cancelamento dos efeitos de aliasing descritos acima, o coeficiente de janela deve obedecer a condição w{n) (Ν'-1 - n) = w(N'+n) w(2N'-l - n) (lg) da melhor forma possível. Quanto melhor a relação (16) é obedecida, melhor é a supressão alias ou o cancelamento alias.
Supondo a situação em que uma nova função janela tendo a metade do número de coeficientes de janela seja determinada para a metade esquerda da função janela, surge o seguinte problema. Devido ao fato que a função janela compreende um número par de coeficientes de janela (sub-amostragem de números pares), sem empregar um esquema de interpolação como ressaltado na Fig. 3, os coeficientes de janela 480-1 e 480-3 ou 480-2 e 480-4 correspondem a somente um valor de aliasing da função janela original ou do filtro original.
Isto leva a uma proporção desequilibrada da energia espectral e leva a uma redistribuição assimétrica do ponto central (centro de massa) da correspondente função janela. Com base na equação de interpolação (15) para o coeficiente de janela w(n) da Fig. 4, os valores interpolados li e I2 obedecem bem melhor a relação de aliasing (16), e levarão assim a um melhor aperfeiçoamento referente à qualidade dos dados processados de áudio.
Entretanto, o emprego de um esquema de interpolação ainda mais elaborado, por exemplo, um esquema de interpolação baseado em spline ou outro similar, pode até resultar em coeficientes de janela, que obedecem até melhor a relação (16). A interpolação linear é, na maioria dos casos, suficiente e permite uma rápida e eficiente implementação. 44 A situação no caso de um sistema típico SBR que emprega um banco de filtros SBR-QMF (QMF = Filtro em Espelho de Quadratura), a interpolação linear ou outro esquema de interpolação não precisa ser implementado já que o filtro protótipo SBR-QMF compreende um número ímpar de coeficientes de filtro protótipo. Isto significa que o filtro protótipo SBR-QMF compreende um valor máximo com referência ao qual a sub-amostragem pode ser implementada de maneira que a simetria do filtro protótipo SBR-QMF permaneça intacta.
Nas Figs. 5 e 6, será descrita uma possível aplicação das configurações de acordo com a presente invenção sob a forma de banco de filtros de análise e de um banco de filtros de síntese. Um importante campo de aplicação é o sistema SBR ou ferramenta SBR (SBR = Replicação de Banda Espectral). Entretanto, outras aplicações de configurações de acordo com a presente invenção podem vir de outros campos, em que exista a necessidade de modificações espectrais (por exemplo, modificações ou equalizações de ganho), como a codificação de objeto de áudio espacial, codificação estéreo paramétrica de baixo retardo, codificação espacial/surround de baixo retardo, ocultação de perda de frame, cancelamento de eco ou outras aplicações correspondentes. A idéia básica atrás do SBR é a observação de que existe normalmente uma forte correlação entre as características de um faixa de alta frequência de um sinal, que será denominado sinal de banda alta, e as características da faixa de frequência de banda baixa, ainda denominada de banda baixa ou de sinais de banda baixa do mesmo sinal. Portanto, pode ser obtida uma boa aproximação da representação do sinal original de entrada de banda alta pela transposição da banda baixa para a banda alta. 45
Além da transposição, a reconstrução da banda alta incorpora a conformação do envelope espectral, que compreende um ajuste dos ganhos. Este processo é tipicamente controlado por uma transmissão do envelope espectral de banda alta do sinal original de entrada. Outras informações de orientação podem ainda ser enviadas pelos módulos de síntese do controle do codificador, como uma filtragem inversa, uma adição de ruído e seno para se adaptarem ao material de áudio quando somente a transposição possa não ser suficiente. Os parâmetros correspondentes compreendem os parâmetros "banda alta de ruídos" para a adição do ruído e o parâmetro "banda alta de tonalidades" para a adição de seno. Essas informações de orientação são usualmente denominadas de dados SBR. 0 processo SBR pode ser combinado com qualquer forma convencional de onda ou codec por meio de um pré-processamento no lado do codificador e do pós-processamento no lado do decodificador. O SBR codifica a porção de alta frequência de um sinal de áudio com custo muito baixo, considerando que o codec de áudio é usado para codificar a porção de menor frequência do sinal.
No lado do codificador, o sinal original de entrada é analisado, o envelope espectral de banda alta e suas características com relação à banda baixa são codificados e os dados SBR resultantes são multiplexados com um fluxo de bits do codec para a banda baixa. No lado do decodif icador, os dados SBR são primeiro desmultiplexados. O processo de decodificação é geralmente organizado em etapas. Primeiro, o decodificador núcleo gera a banda baixa e, segundo, o decodificador SBR opera um pós-processador usando os dados SBR decodificados para orientar o processo de replicação de banda espectral. É então obtido em sinal total de saída de largura de banda. 46
Para obter a maior eficiência de codificação possível, e para manter baixa a complexidade computacional, são geralmente implementados codecs SBR ampliados, como os denominados sistemas de índice dual. índice dual significa que o codec de núcleo de banda limitada está operando na metade do índice de amostragem de áudio externo. Em contraste, a parte SBR é processada na frequência de amostragem total. A Fig. 5 mostra um diagrama esquemático de blocos de um sistema SBR 500. O sistema SBR 500 compreende, por exemplo, um codificador AAC-LD (AAC-LD = Codec de Áudio Avançado de Baixo Retardo) 510 e um codificador SBR 520, ao qual os dados de áudio a serem processados são fornecidos em paralelo. O codificador SBR 520 compreende um banco de filtros de análise 530, que é mostrado na Fig. 5 como banco de filtros de análise QMF. O banco de filtros de análise 530 é capaz de prover valores de áudio de sub-banda correspondentes às sub-bandas baseadas nos sinais de áudio fornecidos ao sistema SBR 500. Esses valores de áudio de sub-banda são então enviados a um módulo de extração de parâmetros SBR 540, que gera os dados SBR como anteriormente mencionados, por exemplo, compreendendo o envelope espectral de banda alta, o parâmetro de ruído de banda alta e o parâmetro de tonalidade de banda alta. Esses dados SBR são então enviados ao codificador AAC-LD 510. O codificador AAC-LD 510 está mostrado na Fig. 5 como um codificador de índice dual. Em outras palavras, o codificador 510 opera na metade da frequência de amostragem comparada com a frequência de amostragem dos dados de áudio fornecidos ao codificador 510. Para facilitar isto, o codificador AAC-LD 510 compreende um estágio de sub-amostragem 550, que pode opcionalmente compreender um filtro passa-baixo para evitar as distorções causadas, por exemplo, uma violação da Teoria 47
Nyquist-Shannon. Os dados de áudio sub-amostrados como enviados pelo estágio de sub-amostragem 550 são então fornecidos a um codificador 560 (banco de filtros de análise) sob a forma de um banco de filtros MDCT. Os sinais providos pelo codificador 560 são então quantizados e codificados no estágio de quantização e codificação 570. Mais ainda, os dados SBR fornecido pelo módulo de extração de parâmetros SBR 540 está também codificado para obter um fluxo de bits, que então será enviado pelo codificador ACC-LD 510. O estágio de quantização e codificação 570 pode, por exemplo, quantizar os dados de acordo com as propriedades de audição do ouvido humano. O fluxo de bits é então enviado a um Decodificador AAC-LD 580, que é parte do lado do decodificador para o qual é transportado o fluxo de bits. O decodificador AAC-LD compreende um estágio de decodificação e dequantização 590, que extrai os dados SBR do fluxo de bits e dos dados de áudio dequantizados ou requantizados no domínio da frequência representando a banda baixa. Os dados de banda baixa são então enviados a um banco de filtros de síntese 600 (banco de filtros MDCT inverso). O estágio MDCT inverso (MDCT-1) 600 converte os sinais providos ao estágio MDCT inverso do domínio da frequência no domínio do tempo para fornecer o sinal de tempo. Este sinal de domínio do tempo é então fornecido ao decodif icador SBR 610, que compreende um banco de filtros de análise 620, que está mostrado na Fig. 5 como um banco de filtros de análise QMF. O banco de filtros de análise 620 faz uma análise espectral do sinal de tempo fornecido ao banco de filtros de análise 620 que representa a banda baixa. Esses dados são então fornecidos a um gerador de alta frequência 630, que também é denominado de gerador HF. Com base nos dados SBR fornecidos pelo codificador AAC-LD 580 e seu estágio de decodificação e dequantização 590, 48 o gerador HF 630 gera a banda alta com base nos sinais de banda baixa providos pelo banco de filtros de análise 620. Ambos, os sinais de banda baixa e de banda alta são então fornecidos a um banco de filtros de síntese 640, que transfere os sinais de banda baixa e de banda alta do domínio da frequência para o domínio do tempo para prover uma forma de sinal de saída de áudio no domínio do tempo para o sistema SBR 500.
Para haver totalidade, deve ser notado que em muitos casos o sistema SBR 500 como mostrado na Fig. 5 não é implementado assim. Para ser mais exato, o codificador AAC-LD 510 e o codificador SBR 520 são normalmente implementados no lado do codificador, que é normalmente implementado separadamente no lado do decodificador compreendendo o decodificador AAC-LD 580 e o decodificador SBR 610. Em outras palavras, o sistema 500 mostrado na Fig. 5 representa essencialmente a conexão de dois sistemas, isto é, de um codificador compreendendo os codificadores supramencionados 510, 520 e um decodificador compreendendo os decodificadores supramencionados 580, 610.
As configurações de acordo com a presente invenção sob a forma de bancos de filtros de análise 100 e bancos de filtros de síntese 300 podem, por exemplo, ser implementadas no sistema 500 mostrado na Fig. 5, como uma substituição do banco de filtros de análise 530, do banco de filtros de análise 620 e do banco de filtros de síntese 640. Em outras palavras, bancos de filtros síntese ou de análise de componentes SBR do sistema 500 podem, por exemplo, serem substituídos pelas correspondentes configurações de acordo com a presente invenção. Mais ainda, a MDCT 560 e a MDCT inversa 600 também podem ser substituídas por bancos de filtros de síntese e de análise de baixo retardo, respectivamente. Nesse caso, caso todas as substituições descritas tiverem sido implementadas, o denominado codec AAC 49 ampliado de baixo retardo (codec = codificador-decodificador) será completado. O AAC ampliado de baixo retardo (AAC-ELD) visa a combinação de caracteristicas de baixo retardo de um AAC-LD (Advanced Audio Codec - Low-delay [Codec de Áudio Avançado - Baixo Retardo]) com uma alta eficiência de codificação de HE-AAC (High Efficiency Advanced Audio Codec [Codec de Áudio Avançado de Alta Eficiência]) utilizando SBR com AAC-LD. O decodificador SBR 610 atua nesse cenário como pós-processador, que é fornecido após o decodificador núcleo 580 incluindo um completo banco de filtros de análise e um banco de filtros de síntese 640. Portanto, os componentes do decodificador SBR 610 adiciona outro retardo de decodificação, que está ilustrado na Fig. 5, pelo sombreamento dos componentes 620, 630, 540.
Em muitas implementações de sistemas SBR 500, a parte de frequência mais baixa ou faixas de bandas mais baixas tipicamente de 0 kHz a tipicamente 5-15 kHz são codificadas usando um codificador de forma de onda, denominado de codec núcleo. O codec núcleo pode, por exemplo, ser um da família codec de áudio MPEG. Além disso, a reconstrução da parte de alta frequência ou de banda alta é obtida por uma transição da banda baixa. A combinação de SBR com um codificador núcleo é, em muitos casos, implementada como um sistema de índice dual, onde o codificador/decodificador AAC subjacente é operado na metade da taxa de amostragem do codificador/decodificador SBR. A maioria dos dados de controle é usada para a representação do envelope espectral, que tem resolução variada de tempo e frequência para poder controlar o processo SBR o melhor possível com o mínimo overhead de taxa de bits possível. Os demais dados de controle buscam principalmente controlar o 50 índice tonal-para-ruído da banda alta.
Como mostrado na Fig. 5, a saída do decodificador AAC subjacente 580 é tipicamente analisada com um banco de filtros QMF de 32 canais 620 . Então, o módulo gerador HF 630 recria a banda alta fazendo o patching de sub-bandas QMF a partir da banda baixa existente para a banda alta. Além disso, a filtragem inversa é feita em base por sub-banda, com base nos dados de controle obtidos a partir do fluxo de bits (dados SBR). O ajustador de envelope modifica o envelope espectral da banda alta regenerada e adiciona outros componentes como o ruído e senóides são adicionados de acordo com os dados de controle no fluxo de bits. Como todas as operações são feitas no domínio da frequência (também conhecido como QMF ou domínio de sub-banda), a etapa final do decodificador 610 é uma síntese QMF 640 para reter o sinal do domínio do tempo. Por exemplo, no caso em que a análise QMF no lado do codificador é feita em um sistema de sub-banda 32 QFM para 1024 amostras no domínio do tempo, a reconstrução de alta frequência resulta em 64-QMF sub-bandas em que a síntese é feita produzindo 2048 amostras no domínio do tempo, de maneira a ser obtida uma sobre-amostragem por um fator de 2.
Além disso, o retardo do codificador núcleo 510 é dobrado pela operação em metade da taxa original de amostragem no índice de modo dual, que dá surgimento a outras fontes de retardo em ambos, no processo do codificador e do decodificador de um AAC-LD em combinação com SBR. A seguir, essas fontes de retardo são examinada e seus retardos associados são minimizados. A Fig. 6 mostra um diagrama de blocos simplificado do sistema 500 mostrado na Fig. 5. A Fig. 6 concentra as fontes de retardo no processo codificador/decodificador usando SBR e bancos de 51 filtros de baixo retardo para codificação. Comparando a Fig. 6 com a Fig. 5, a MDCT 560 e a MDCT inversa 600 foram substituídas pelos módulos otimizados de retardo, a denominada MDCT de baixo retardo 560' (LD MDCT) e a MDCT inversa de baixo retardo 600' (LD IMDCT). Mais ainda, o gerador HF 630 também foi substituído pelo módulo otimizado de retardo 630'. À parte da MDCT de baixo retardo 560' e a MDCT inversa de baixo retardo 600', um framing SBR modificado e um gerador HF modificado 630' são empregados no sistema mostrado na Fig. 6. Para evitar o retardo por framing diferente de um codificador/decodificador núcleo 560, 600 e dos respectivos módulos SBR, o framing SBR é adaptado para encaixar no comprimento de framing de 480 ou 512 amostras do AAC-LD. Além disso, a grade variável de tempo do gerador HF 630, que implica em 384 amostras de retardo, é restrita com referência à disseminação de dados SBR nos frames AC-LD adjacentes. Portanto, as únicas fontes remanescentes de retardo no módulo SBR são os bancos de filtros 530, 620 e 640.
De acordo com a situação mostrada na Fig. 6, que representa uma implementação parcial do codec AAC-ELD, já foram implementadas algumas otimizações de retardo, incluindo o uso de um banco de filtros de baixo retardo no núcleo AAC-LD e a remoção de um sobrepasso SBR anteriormente mencionado. Para maiores aperfeiçoamentos de retardo, devem ser investigados os módulos remanescentes. A Fig. 6 mostra as fontes de retardo no processo do codificador/decodificador usando SBR e os bancos de filtros de baixo retardo denominados LD-MDCT e LD-IMDCT na presente. Comparada com a Fig. 5, na Fig. 6 cada caixa representa uma fonte de retardo, onde os módulos otimizadores de retardo são desenhados em sombreado. Até agora, os modelos similares não foram otimizados para baixo retardo. 52 A Fig. 7a ilustra um fluxograma compreendendo um pseudo código C- ou C++ para ilustrar uma configuração de acordo com a presente invenção sob a forma de um banco de filtros de análise ou um método correspondente para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio. Para ainda mais preciso, a Fig. 7a representa um fluxograma de um banco de filtros de análise de valor complexo para 32 bandas.
Como ressaltado antes, o banco de filtros de análise é usado para dividir o sinal no domínio do tempo, por exemplo, enviado do codificador núcleo em N = 32 sinais de sub-banda. A saída do banco de filtros e as amostras de sub-banda ou valores de sub-banda de áudio têm, no caso de um banco de filtros de análise de valor complexo valores complexos e portanto super-amostradas de um fator de 2, comparadas a um banco de filtros de valor real. A filtragem envolve e compreende as seguintes etapas, onde um conjunto x(n) compreende exatamente 320 amostras no domínio do tempo. Quanto mais alto o índice das amostras n no conjunto, mais antigas são as amostras.
Depois de um início das configurações do método na etapa S100, primeiro, as amostras no conjunto x(n) são mudadas de 32 posições na etapa S110. As 32 amostras mais antigas são descartadas e 32 novas amostras são guardadas nas posições 31 a 0 na etapa S120. Como mostradas na Fig. 7a, as amostras de áudio no domínio do tempo de entrada são guardadas em posições correspondentes a um índice n decrescente na faixa de 31 a 0. Isto resulta em uma reversão de tempo das amostras guardadas no frame ou vetor correspondente, de maneira que a reversão do índice da função janela, para obter uma função janela de análise com base na (igualmente longa) função de janela de síntese, já tenha sido feita. 53
Durante a etapa S130, coeficientes de janela ci(j) são obtidos por uma interpolação linear dos coeficientes c(j) com base na equação (15). A interpolação se baseia em um tamanho de bloco (comprimento de bloco ou número de valores de sub-banda) de N = 64 valores e se baseia em um frame compreendendo T = 10 blocos. Assim, o índice dos coeficientes de janela da função janela interpolada estão na faixa entre 0 e 319 de acordo com equação (15). Os coeficientes de janela c(n) são dados na tabela no Anexo 1 da descrição. Entretanto, dependendo dos detalhes de implementação, para obter os coeficientes de janela baseados nos valores dados nas tabelas nos Anexos 1 e 3, outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) devem ser consideradas.
Nesses casos, os coeficientes de janela w(n) ou c(n) a serem usados podem ser obtidos de acordo com w(n) = wtable(n) s{n) (16a) com a função de mudança de sinal s(n) de acordo com f-1 for 128 < n < 255 and 384 < n < 51 ll s(n) = < \ (16b)
[+1 ou J para n = 0 a 639, onde wtable(n) são os valores dados nas tabelas nos Anexos.
Entretanto, os coeficientes de janela não têm implementação necessária de acordo com a tabela no Anexo 1 para obter, por exemplo, a redução já descrita do retardo. Para obter esta redução de retardo, mantendo o nível de qualidade dos dados processados de áudio, ou para obter outra decisão, os coeficientes de janela c(n) para o índice de coeficiente de 54 janela n na faixa entre 0 e 639, podem obedecer um dos conjuntos de relações dadas em um dos Anexos 2 a 4. Mais ainda, deve ser notado que também outros coeficientes de janela c(n) podem ser empregados em configurações de acordo com a presente invenção. Naturalmente, também outras funções janela compreendendo um diferente número de coeficientes de janela que 320 ou 640 podem ser implementadas, apesar de as tabelas nos Anexos 1 a 4 somente se aplicarem a funções janela tendo 640 coeficientes de janela.
Uma interpolação linear de acordo com S130 leva a uma significativa melhora de qualidade e redução ou cancelamento de efeitos de aliasing no caso da função janela compreendendo um número par de coeficientes de janela. Deve ainda ser notado que a unidade complexa não é j como nas equações (1), (2) e (16), mas indicada por i =V- 1.
Na etapa S140, as amostras do conjunto x(n) têm então seus elementos multiplicados pelos coeficientes ci(n) da janela interpolada.
Na etapa S150, as amostras janeladas são somadas de acordo com a equação dada no fluxograma na Fig. 7a para criarem o conjunto de 64 elementos u(n). Na etapa S160, 32 novas amostras de sub-banda ou valores de sub-banda de áudio W(k,l) são calculadas de acordo com a operação matriz Mu, onde os elementos da matriz M são dados por M(k, n) = 2 · exp i π (k + 0.5) (2 n - 95) 64 0 < k < 32 0 < n < 6 4 (17) onde exp() indica a função exponencial complexa e, como mencionado anteriormente, i é a unidade imaginária. Antes da finalização do loop de um fluxograma com etapa S170, cada um 55 dos valores de sub-banda W(k,l) (= W[k][1]) podem ser enviados, o que corresponde à amostra de sub-banda 1 na sub-banda com o índice k. Em outras palavras, cada loop no fluxograma mostrado na Fig. 7a produz 32 valores de sub-banda de valor complexo, cada qual representando a saída de um banco de filtros de sub-banda . A Fig. 7b ilustra a etapa S150 do colapso do frame 150 das amostras de áudio janeladas no domínio do tempo compreendendo 10 blocos 160-1, ..., 160-10 de amostras de áudio janeladas no domínio do tempo z(n) para o vetor u(n) de 5 vezes, com a soma de blocos do frame 150 cada. O colapso ou a retração é feita com base nos elementos, de maneira que as amostras de áudio janeladas no domínio do tempo correspondentes ao mesmo índice de amostra dentro de cada um dos blocos 160-1, 160-3, 160-5, 160-7 e 160-9 são somadas para obter o valor correspondente nos primeiros blocos 650-1 do vetor u(n). Da mesma forma, com base nos blocos 160-2, 160-4, 160-6, 160-8 e 160-10 os elementos correspondentes do vetor u(n) no bloco 160-2 são gerados na etapa S150.
Uma outra configuração de acordo com a presente invenção sob a forma de um banco de filtros de análise pode ser implementada como um banco de filtros de baixo retardo complexo de 64 bandas. O processamento deste banco de filtros complexo de baixo retardo como um banco de filtros de análise é basicamente similar ao banco de filtros de análise descrito no contexto da Fig. 7a. Devido às similaridades e basicamente o mesmo processamento descrito no contexto da Fig. 7a, as diferenças entre o banco de filtros complexo de análise descrito para 32 bandas da Fig. 7a e o banco de filtros complexo de análise para 64 sub-bandas serão aqui ressaltadas. 56
Em contraste com as 32 sub-bandas compreendendo o banco de filtros de análise mostrado na Fig. 7a, o vetor do frame x(n) compreende, no caso de um banco de filtros de análise de 64 bandas 640 elementos tendo indices de 0-639. Assim, a etapa S110 é modificada de maneira que as amostras no conjunto x(n) são mudadas em 64 posições, onde as 64 amostras mais antigas sejam descartadas. Na etapa S120 em vez de 32 novas amostras, 64 novas amostras são guardadas nas posições 63 a 0. Como mostradas na Fig. 7c, as amostras de áudio no domínio do tempo de entrada são guardadas em posições correspondentes a um índice decrescente n na faixa de 63 a 0. Isso resulta em uma reversão de tempo das amostras guardadas no frame ou vetor correspondente, de maneira que a reversão do índice da função janela para obter uma função janela de análise baseada na (igualmente longa) função de janela de síntese já tenha sido feita.
Como a janela c(n) usada para o janelamento dos elementos do vetor do frame x(n), compreende tipicamente 640 elementos, a etapa S130 de interpolação linear dos coeficientes de janela para a obtenção das janelas interpoladas ci(n) pode ser omitida.
Então, durante a etapa S140, as amostras do conjunto x(n) são multiplicadas ou janeladas pelo uso da sequência de coeficientes de janela c(n), que se baseiam mais uma vez nos valores na tabela do Anexo 1. No caso em que os coeficientes de janela c(n) são os da função de janela de síntese, é feito um janelamento ou multiplicação do conjunto x(n) pela janela c(n), de acordo com a equação z(n) = x(n) c(n) ^ (18) 57 para an = 0, . .., 639. Mais uma vez, para obter as propriedades de baixo retardo da função janela, não é preciso implementar a função janela exatamente de acordo com os coeficientes de janela baseados nos valores dados na tabela do Anexo 1. Para muitas aplicações, uma implementação em que os coeficientes de janela obedecem cada conjunto de relações dadas nas tabelas dos Anexos 2 a 4 será suficiente para obter uma decisão aceitável entre a qualidade e a redução significativa do retardo. Entretanto, dependendo dos detalhes de implementação, para obter os coeficientes de janela baseados nos valores dados nas tabelas dos Anexos 1 e 3, outras alterações de sinal com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) devem ser consideradas de acordo com equações (16a) e (16b). A etapa S150 do fluxograma mostrado na Fig. 7a é então substituída pela soma das amostras do vetor do frame z (n) de acordo com a equação 5 u{n) = Σ(η + j 128)
Para criar o conjunto de 128 elementos u(n). A etapa S160 da Fig. 7a é então substituída por uma etapa em que 64 novas amostras de sub-banda são calculadas de acordo com a operação matriz Mu, onde os elementos de matriz da matriz M são dados por M(k, n) = 2 exp i · π (k + 0.5) · (2 · n 128 191)' 0 < k < 64 0 < n < 128 (20) onde exp() indica a função exponencial complexa e i é, como explicado, a unidade imaginária. 58 A Fig. 7c ilustra um fluxograma de acordo com uma configuração da presente invenção sob a forma de banco de filtros de análise de real valor para 32 canais de sub-banda. A configuração ilustrada na Fig. 7c não difere de maneira significativa da configuração mostrada na Fig. 7a. A principal diferença entre as duas configurações é que a etapa S160 do cálculo dos novos 32 valores de áudio de sub-banda de valor complexo é substituída na configuração mostrada na Fig. 7c por uma etapa S162 em que as 32 amostras de áudio de sub-banda de valor real são calculadas de acordo com a operação de matriz Mru, onde os elementos da matriz Mr são dados por
Mr(kf n) 2 · cos π (k + 0.5) · (2 · n — 95)" 64 0 < k < 32 0 < n < 64 (21)
Como consequência, cada loop do fluxograma produz 32 amostras de sub-banda de valor real onde W(k,l) corresponde à amostras de áudio de sub-banda 1 da sub-banda k. O banco de filtros de análise de real valor pode, por exemplo, ser empregado na estrutura de um modo de baixa potência de um sistema SBR, conforme mostrado na Fig. 5. O modo de baixa potência da ferramenta SBR difere da ferramenta SBR de alta qualidade, principalmente com referência ao fato que são empregados bancos de filtros de valor real. Isto reduz a complexidade computacional e o trabalho computacional por um fator de 2, de maneira que o número de operações por unidade de tempo é reduzido essencialmente por um fator de 2, já que nenhuma parte imaginária deve ser calculada.
Os novos bancos de filtros propostos de acordo com a presente invenção são totalmente compatíveis com o modo de baixa potência dos sistemas SBR. Portanto, com bancos de filtros de 59 acordo com a presente invenção, os sistemas SBR podem ainda operar tanto em modo normal como em modo de alta qualidade com bancos de filtros complexos e no modo de baixa potência com bancos de filtros de valor real. O banco de filtros de valor real pode, por exemplo, ser obtido a partir do banco de filtros complexo usando somente os valores reais (contribuições moduladas por co-seno) e omitindo os valores imaginários (contribuições moduladas por seno). A Fig. 8a mostra um fluxograma de acordo com um exemplo comparativo da presente invenção sob a forma de um banco de filtros de síntese de valor complexo para 64 canais de sub-banda. Como ressaltado anteriormente, a filtragem de síntese dos sinais de sub-banda processados por SBR é feita usando um banco de filtros de síntese com 64 sub-bandas. A saída do banco de filtros é um bloco de amostras no domínio do tempo de valor real como ressaltado no contexto da Fig. 1. O processo é ilustrado pelo fluxograma na Fig. 8a, que também ilustra um exemplo comparativo sob a forma de um método para a geração de amostras de áudio no domínio do tempo. A filtragem de síntese compreende após o início (etapa S200), as seguintes etapas, onde um conjunto v compreende 1280 amostras. Na etapa S210, as amostras no conjunto v são alteradas em 128 posições, onde as 128 amostras mais antigas são descartadas. Na etapa S220, os 64 novos valores de sub-banda de áudio de valor complexo são multiplicados por uma matriz N, onde os elementos de matriz N(k,n) são dados por π N(k, n) = — expí 1 6 4 (k + 0.5) · (2 · n - 6 3) 128 0 < k < 64 0 < n < 128 # (22) onde exp() indica a função exponencial complexa e i é a unidade 60 imaginária. A parte real da saída dessa operação é guardada na posição 0-127 do conjunto v, como ilustrado na Fig. 8a.
Na etapa S230, as amostras, que estão agora no domínio do tempo são extraídas do conjunto v de acordo com a equação dada na Fig. 8a para criar um conjunto de 640 elementos g(n). Na etapa S240, as amostras de valor real no domínio do tempo do conjunto g são multiplicadas pelo coeficiente de janela c(n) para produzirem um conjunto w, onde os coeficientes de janela são novamente os coeficientes de janela baseados nos valores dados na tabela do Anexo 1.
Entretanto, como ressaltado antes, os coeficientes de janela não precisam se basear exatamente nos valores dados na tabela do Anexo 1. É suficiente, em diferentes exemplos comparativos, se os coeficientes de janela satisfizerem um dos conjuntos de relações dadas nas tabelas dos Anexos 2 a 4, para obter a desejada propriedade de baixo retardo do banco de filtros de síntese. Mais ainda, como explicado no contexto do banco de filtros de análise, também outros coeficientes de janela podem ser utilizados na estrutura do banco de filtros de síntese. Entretanto, dependendo dos detalhes de implementação, para obter os coeficientes de janela baseados nos valores guardados nas tabelas dos Anexos 1 e 3, outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) devem ser consideradas.
Na etapa S250, 64 novas amostras de saída são calculadas pela soma das amostras do conjunto w(n) de acordo com a última etapa e a fórmula dada no fluxograma da Fig. 8a, antes que um loop de um fluxograma acabe na etapa S260. No fluxograma como mostrado na Fig. 8a, X[k] [1] (= X(k,l)) corresponde ao valor de sub- 61 banda de áudio 1 na sub-banda tendo o índice k. Todos os novos loops mostrados na Fig. 8a produzem 64 amostras de áudio de valor real no domínio do tempo como saída. A implementação como mostrada na Fig. 8a de um banco de filtros de análise de valor complexo para 64 bandas não exige um buffer de sobrepasso/adição compreendendo várias posições de armazenagem como explicado no contexto da configuração mostrada na Fig. 2b. Aqui, o buffer de sobrepasso/adição está "escondido" nos vetores v e g, que é calculado com base nos valores guardados no vetor v. O buffer de sobrepasso/adição é implementado na estrutura desses vetores com esses índices sendo maiores que 128, de maneira que os valores correspondam aos valores dos blocos anteriores ou passados. A Fig. 8b ilustra um fluxograma de um banco de filtros de síntese de valor real para 64 canais de sub-banda de áudio de valor real. O banco de filtros de síntese de valor real de acordo com Fig. 8b também pode ser implementado no caso de uma implementação SBR de baixa potência como um correspondente banco de filtros SBR. O fluxograma da Fig. 8b difere do fluxograma da Fig. 8a, principalmente com referência à etapa S222, que substitui S220 da Fig. 8a. Na etapa S222, os 64 novos valores de sub-banda de áudio de valor real são multiplicados por uma matriz Nr, onde os elementos da matriz Nr(k,n) são dados por ,, x 1 (π (k + 0.5)-(2 Nr(k, n) = — · cos --- — n 63)n 32 128 0 < k < 64 0 < n < 128 (23) onde a saída dessa operaçao é novamente guardada nas posições 0-127 do conjunto v. 62
Além dessas modificações, o fluxograma como mostrado na Fig. 8b no caso de um banco de filtros de síntese de valor real para o modo SBR de baixa potência, não difere do fluxograma mostrado na Fig. 8a do banco de filtros de síntese de valor complexo para o modo SBR de alta qualidade. A Fig. 8c ilustra um fluxograma de acordo com uma configuração da presente invenção sob a forma de um banco de filtros de síntese de valor complexo sub-amostrado e o adequado método que pode, por exemplo, ser implementado em uma implementação SBR de alta qualidade. Para ser mais exato, o banco de filtros de síntese descrito na Fig. 8c se refere a um banco de filtros de síntese de valor complexo capaz de processar valores de sub-banda de áudio de valor complexo para 32 canais de sub-banda. A filtragem de síntese sub-amostrada dos sinais de sub-banda do processo SBR é feita usando um banco de filtros de síntese de 32 canais como ilustrado na Fig. 8c. A saída do banco de filtros é um bloco de amostras no domínio do tempo de valor real. O processo é dado no fluxograma da Fig. 8c. A filtragem de síntese compreende depois do início (etapa S300), as seguintes etapas, onde o conjunto v compreende 640 amostras no domínio do tempo de valor real.
Na etapa S310, as amostras no conjunto v são mudadas em 64 posições, onde as 64 amostras mais antigas são descartadas. Depois, na etapa S320, as novas 32 amostras de sub-banda de valor complexo ou valores de sub-banda de áudio de valor complexo são multiplicadas por uma matriz N, os elementos dos quais são dados por N(k, n) = — · exp V í
64 63 onde exp()indica a função exponencial complexa e i é novamente dessa operação é então guardada nas posições 0-63 do conjunto v.
Na etapa S330, as amostras são extraídas do vetor v de acordo com a equação dada no fluxograma da Fig. 8c para criar um conjunto de 320 elementos g. Na etapa S340, os coeficientes de janela ci(n) de uma função janela interpolada são obtidos por uma interpolação linear dos coeficientes c(n) de acordo com equação (15), onde o índice n está novamente da faixa entre 0 e 319 (N=64, T=10 para a equação (15)). Como ilustrado antes, os coeficientes da função janela c(n) se baseiam nos valores dados na tabela do Anexo 1. Mais ainda, para obter a propriedade de baixo retardo como obtido anteriormente, os coeficientes de janela c(n) não precisam ser exatamente os dados fornecidos na tabela do Anexo 1. É suficiente que os coeficientes de janela c(n) obedeçam pelo menos um conjunto de relações dadas nos Anexos 2 a 4. Entretanto, dependendo dos detalhes de implementação, para obter os coeficientes de janela baseados nos valores dados nas tabelas nos Anexos 1 e 3, outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) devem ser consideradas de acordo com equações (16a) e (16b). Mais ainda, também diferentes funções janela compreendendo diferentes coeficientes de janela c(n) podem ser naturalmente empregados em configurações da presente invenção.
Na etapa S350, as amostras do conjunto g são multiplicadas pelo coeficiente de janela interpolado ci(n) da função janela interpolada para obter a amostra janelada no domínio do tempo w (n) . 64
Depois, na etapa S360, 32 novas amostras de saída são calculadas por uma soma de amostras do conjunto w(n) de acordo com a última etapa S360, antes da etapa final S370 no fluxograma da Fig. 8c.
Como indicado anteriormente, no fluxograma da Fig. 8c, X([k] [1]) (= x(k,l)) corresponde a um valor de sub-banda de áudio 1 no canal de sub-banda de áudio k. Mais ainda, todos os novos loops de um fluxograma como indicados na Fig. 8c produz 32 amostras no domínio do tempo de valor real como saída. A Fig. 8d mostra um fluxograma de uma configuração de acordo com a presente invenção sob a forma de um banco de filtros de síntese de valor real sub-amostrado que pode, por exemplo, ser empregado no caso de um banco de filtros SBR de baixa potência. A configuração e o fluxograma mostrados na Fig. 8d diferem do fluxograma mostrado na Fig. 8c do banco de filtros de síntese de valor complexo sub-amostrado somente com referência à etapa S320, que é substituída no fluxograma mostrado na Fig. 8d pela etapa S322.
Na etapa S322, os 32 novos valores de sub-banda de áudio de valor real, ou amostras de sub-banda são multiplicados pela matriz Nr, onde os elementos da matriz Nr são dados por
Nr(k, n) J_ _(π (k + 0.5) (2 η - 3ΐ)λ J0 < k < 32 32 C°\ 64 / 1 0 < n < 64 (25) onde a saída dessa operação é guardada na posição de 0 a 64 do conjunto v. A Fig. 9a mostra uma implementação de um exemplo comparativo sob a forma de um método correspondente a um banco de filtros de análise de valor complexo para 64 sub-bandas. A Fig. 9a 65 mostra uma implementação como uma implementação MATLAB, que provê como saida um vetor y e um vetor "state". A função definida nessa inscrição mostrada na Fig. 9a é chamada LDFB80 para a qual um vetor x compreendendo novas amostras de áudio e o vetor "state" é provido como saida. O nome da função LDFB80 é uma abreviação de banco de filtros de baixo retardo para 8 blocos prolongando-se no passado e 0 blocos no futuro.
Na linguagem de programação MATLAB, o sinal porcentual (%) indica observações, que não são realizadas, mas que somente servem como propósito para comentar e ilustrar o código fonte. Na descrição a seguir, diferentes segmentos do código fonte serão explicados com referência às suas funções.
Em uma sequência de código S400, o buffer que é representado pelo vetor "state" é atualizado de maneira que o conteúdo do vetor "state" tendo os índices 577 a 640 sejam substituídos pelo conteúdo do vetor x compreendendo as novas amostras de entrada de áudio no domínio do tempo. Em uma sequência de código S410, os coeficientes de janela da função janela de análise como armazenados na variável LDFB80_win são transferidos para o vetor win_ana.
Na etapa S420, que supõe que as últimas amostras estão alinhadas no lado direito do buffer, é feito o real janelamento. No bloco S420, o conteúdo do vetor "state" é multiplicado em elementos(.*) pelos elementos do vetor win_ana compreendendo a função janela de análise. O produto dessa multiplicação é então guardado no vetor x_win_orig.
Na etapa S430, o conteúdo do vetor x_win_orig é reconformado para formar uma matriz com dimensão de 128 · 5 elementos chamados x_stack. Na etapa S440, a alteração de sinal da pilha 6 6 x_stack é feita com referência à segunda e quarta colunas da matriz x_stack.
Na etapa S450, a pilha x_stack colapsa ou é retraída pela soma dos elementos de x_stack com referência ao segundo índice e simultaneamente invertendo a ordem dos elementos e transpondo o resultado antes de novamente armazenar o resultado nos vários x_stack.
No segmento de código S460, a transformação do domínio do tempo no domínio da frequência é feita pela computação de uma transformação complexa Rápida de Fourier (FFT) do conteúdo multiplicado por elementos da pilha x_stack multiplicado pela função exponencial complexa para a qual é fornecido o argumento (-i · π · n/128), pelos índices e na faixa de 0 a -127 e a unidade imaginária i.
No segmento de código S470, é realizado um pós-giro definindo a variável m = (64 + l)/2 e calculando o bloco compreendendo os valores de sub-banda de áudio como um vetor y de acordo com a equação y(k) = 2 temp(k) exp(- 21 π {(k — 1 + y) yfy)) _ (26) O índice k cobre a faixa de inteiros de 1-64 na implementação mostrada na Fig. 9a. O vetor y é então produzido como o vetor ou bloco compreendendo os valores de sub-banda de áudio 180 da Fig. 1. A barra acima da segunda equação de fatoração (26), assim como o segmento de codificação conj() da função S417 na Fig. 9a se referem ao conjugado complexo do argumento do respectivo número complexo.
Em um código-segmento final S480, o vetor "state" é mudado em 64 elementos. O vetor "state" em sua forma alterada pode então 67 ser fornecido à função LDFB80 como entrada novamente em outro loop da função. A Fig. 9b mostra uma implementação MATLAB de acordo com uma configuração da presente invenção sob a forma de um método correspondente a um banco de filtros de análise de valor complexo para 32 sub-bandas. Da mesma forma, a função definida é denominada de LDFB80_32, indicando que a implementação representa um banco de filtros de baixo retardo para 32 sub-bandas baseado em outro sobrepasso de 8 blocos no passado e 0 blocos no futuro. A implementação da Fig. 9b difere da implementação mostrada na Fig. 9a, somente com referência a poucas sequências de códigos, como será ressaltado na descrição a seguir. A sequência de códigos S400, S430, S460, S470 e S480 é substituída por uma sequência correspondente de códigos S400', S430', S460', S470' e S480 ' levando em conta principalmente o fato que o número de sub-bandas, ou o número de saídas de valores de sub-banda pela função LDFB80_32, é reduzido em um fator de 2. Da mesma forma, a etapa S400 ' se refere ao vetor "state" sendo atualizado com referência às 32 últimas entradas correspondentes aos índices 289 a 320 com as correspondentes 32 amostras de entrada de áudio no domínio do tempo do novo bloco 220 conforme mostrado na Fig. 1.
Entretanto, a principal diferença entre as implementações como mostradas na Figs. 9a e 9b aparece em uma sequência de código S410 da Fig. 9a, que é substituída por uma sequência de código S412 na implementação mostrada na Fig. 9b. A sequência de código para S412 na Fig. 9b compreende primeiro uma cópia dos 640 coeficientes de janela compreendendo janelas armazenadas no vetor LDFB80_win no vetor local win_ana. Então, ocorre uma 68 interpolação de acordo com equação (15), em que dois coeficientes consecutivos de janela representados pelo vetor elementos do vetor win_ana são somados e divididos por 2 e então guardados de volta no vetor win_ana. A próxima sequência de código S420 é idêntica à sequência de código S420 mostrada na Fig. 9a, que realiza a real multiplicação em elementos (.*) de um janelamento dos valores, ou elementos, do vetor "state" pelos elementos do vetor win_ana compreendendo os coeficientes de janela interpolados da função janela interpolada. O produto dessa operação é guardado no vetor x_win_orig. Entretanto, a diferença entre a sequência de código S420 da Fig. 9b e a correspondente sequência de código S420 da Fig. 9a, é que no caso da Fig. 9b, não 640, mas somente 320 multiplicações são feitas na estrutura do janelamento.
Na sequência de código S430' na substituição da sequência de código S430, a pilha x_stack é preparada por reconformação do vetor x_win_orig. Entretanto, como o vetor X_win_orig somente compreende 320 elementos, comparado ao correspondente vetor da Fig. 9a compreendendo 640 elementos, a matriz x_stack é uma matriz de somente 64 · 5 elementos. A sequência de códigos S440 da troca de sinais e a sequência de código S450 do colapso da pilha são idênticas em ambas as implementações de acordo com as Figs. 9a e 9b, não considerando o número reduzido de elementos (320 comparados ao 640).
Em uma sequência de código S460 ' é feita a substituição em uma sequência de código S460 de uma Transformada Rápida de Fourier (FFT) complexa impar dos dados de janela, que é bastante similar à transformada da sequência de código S460 da Fig. 9a. Entretanto, novamente, devido ao reduzido número de saída de 69 valores de sub-banda de áudio, o vetor temp é fornecido com o resultado de uma Transformada Rápida de Fourier, a multiplicação em elementos pelos elementos da pilha x_stack e a função exponencial complexa do argumento (-i · π · n/64), onde o indice n está na faixa entre 0 e 63.
Depois, na sequência de código modificada S470', o pós-giro é feito definindo a variável m =(32+1)/2 e gerando o vetor de saída y de acordo com equação (26), onde o índice k somente cobre a faixa de 1 a 32 e onde o número 128 que aparece no argumento da função exponencial complexa é substituído pelo número 64.
Na código-sequência final S480', o estado do buffer é alterado em 32 elementos no caso da implementação mostrada na Fig. 9b, onde na sequência de código correspondente S480, o buffer é alterado em 64 elementos. A Fig. 10a mostra uma inscrição MATLAB ilustrando uma implementação de acordo com um exemplo comparativo sob a forma de um método correspondente a um banco de filtros de síntese de valor complexo para 64 sub-bandas. A inscrição mostrada na Fig. 10a define a função ILDFB80 à qual o vetor x que representa o bloco 320 de valores de sub-banda de áudio da Fig. 2a e o vetor de estado "state" são providos como parâmetros de entrada. O nome ILDFB80 indica que a função definida é um banco de filtros de baixo retardo inverso correspondente a 8 blocos de dados de áudio do passado e 0 blocos do futuro. A função provê um vetor y e um vetor de estado "state" novo ou redefinido como saída, onde o vetor y corresponde ao bloco 410 de amostras de áudio no domínio do tempo da Fig. 2a.
Em uma sequência de código S500, é feito um pré-giro, em que 70 são definidos uma variável m =(64 + l)/2, assim como um vetor temp. Os elementos temp(n) do vetor temp são definidos de acordo com equação temp(n) = \ x(n) · exp(2i π(η - 1 + y) · 1¾) ^ (27) onde a barra acima do elemento do vetor x(n) e da função conj() representa o conjugado complexo, exp() representa a função exponencial complexa, i representa a unidade imaginária e n é um índice na faixa de 1 - a 64.
Em uma sequência de código S510, o vetor temp é gasto na matriz compreendida na primeira coluna dos elementos do vetor temp e na segunda coluna, o conjugado complexo do vetor temp reverso com referência à ordem dos elementos definidos pelo índice do vetor. Assim, em uma sequência de código S510 é estabelecida uma simetria ímpar da matriz temp com base no vetor temp.
Em uma sequência de código S520, é feita uma Transformada Rápida de Fourier (FFT) ímpar com base na matriz temp. Nessa sequência de código, tendo a parte real da multiplicação em elementos do resultado da Transformada de Fourier inversa da matriz temp pela função exponencial tendo o argumento de (i · π/128) e enviada a um vetor y_knl, onde o índice n está na faixa de 0 a 127.
Em uma sequência de código S530, é feita uma extensão dos dados e uma mudança de sinal alternativa. Para tanto, a ordem dos elementos do vetor y_knl é revertida e ao mesmo tempo é feita uma mudança de sinal. Depois, a matriz tmp é definida, compreendendo a primeira, a terceira e a quinta colunas do vetor y_knl, onde a segunda e a quarta coluna compreendem um vetor y_knl de sinal trocado. 71
Em uma sequência de código S540, os coeficientes de janela guardados no vetor LDFB80_win são primeiro copiados para o vetor win_ana. Depois, os coeficientes de janela de síntese são determinados com base nos coeficientes de janela de análise e guardados no vetor win_ana gerando uma versão de tempo reverso da função janela de análise de acordo com win _ syn(n) = win_ana(N T - n) r (28) onde N · T é o número total de coeficientes de janela e n é o índice dos coeficientes de janela.
Em uma sequência de código S550, a janela de síntese é aplicada ao vetor tmp por uma multiplicação em elementos do vetor pela função de janela de síntese. Em uma sequência de código S560, o buffer é atualizado estabelecendo os elementos do vetor "state" nos índices 577 a 640 a 0 e somando o conteúdo do vetor tmp janelado com o vetor de estado "state".
Em uma sequência de código S570, o vetor de saída y que compreende as amostras de áudio no domínio do tempo é extraído do vetor "state" por meio da extração de elementos do vetor "state", extraindo os elementos do vetor "state" com os índices 1 a 64.
Em uma sequência de código S580, a sequência de código final da função mostrada na Fig. 10a, o vetor de estado "state" é alterado em 64 elementos, de maneira que os elementos com índices de 65 a 640 sejam copiados a partir dos primeiros 576 elementos do vetor "state". A Fig. 10b mostra uma inscrição MATLAB de uma implementação de acordo com uma configuração da presente invenção sob a forma de um banco de filtros de síntese de valor complexo para 32 72 valores de sub-banda. O nome da função definida pela inscrição mostrada na Fig. 10b ilustra isto como uma função definida denominada ILDFB80_32 indicando que a função definida é um banco de filtros inverso de baixo retardo para 32 bandas com 8 blocos sobrepasso do passado e 0 blocos sobrepasso do futuro.
Como discutido com referência à comparação da implementação mostrada nas Figs. 9a e 9b, a implementação de acordo com a inscrição da Fig. 10b também está intimamente relacionada com a implementação do banco de filtros de síntese com 64 sub-bandas de acordo com Fig. 10a. Como consequência, os mesmos vetores são fornecidos para a função e são enviados pela função que, entretanto, compreende somente a metade do número de elementos comparada com a implementação da Fig. 10a. A implementação de um banco de filtros de síntese de 32 bandas para 32 bandas difere da versão de 64 sub-bandas ilustrada na Fig. 10a, principalmente com referência a dois aspectos. A sequência de códigos S500, S510, S520, S53B, S560, S570 e S580 é substituída pela seguência de códigos em que o número de elementos a ser considerado e ainda o número de parâmetros relativos aos elementos são divididos por 2. Mais ainda, a sequência de código S540 da geração de uma função de janela de síntese é substituída por uma sequência de código S542, em que a função de janela de síntese é gerada como uma função de janela de síntese interpolada linearmente de acordo com equação (15).
Em uma sequência de código S500' que substitui uma sequência de código S500, a variável m é definida como igual a m = (32+1)/2 e o vetor temp é definido de acordo com equação (27), onde o índice n somente cobre a faixa de 1 a 32 e onde o fator de 1/128 é substituído pelo fator 1/64 no argumento da função exponencial. 73
Da mesma forma, em uma sequência de código S510' que substitui uma sequência de código S510, a faixa de índices somente cobre os índices dos 32 elementos compreendendo o vetor temp. Em outras palavras, o índice somente cobre os valores de 1 a 32. Da mesma forma, em uma sequência de código S520' que substitui uma sequência de código S520, o argumento da função exponencial é substituído por (i · π · n/64), onde o índice n está na faixa de 0 a 63. Na estrutura de uma sequência de código S530', a faixa do índice é também reduzida de um fator de 2 quando comparado a uma sequência de código S530. A sequência de código S542 que substitui uma sequência de código S540 da Fig. 10a também copia uma função janela como a armazenada no vetor LDFB80_win para vetor win_ana e gera uma versão reversa no tempo win_syn de acordo com a equação (28). Entretanto, a sequência de código S542 da implementação mostrada na Fig. 10b ainda compreende uma etapa de interpolação de acordo com equação (15), em que para cada elemento do vetor redefinido win_syn compreendendo os coeficientes de janela da função de janela de síntese, uma interpolação linear de dois coeficientes consecutivos de janela da função de janela de síntese original. A sequência de código S550 para a aplicação da janela ao vetor tmp e substituir os elementos tmp por sua versão janelada é idêntica em termos de código a uma comparação direta da respectiva sequência de códigos nas Figs. 10a e 10b. Entretanto, devido ao menor tamanho do vetor tmp na implementação da Fig. 10b, durante uma implementação, somente é feita a metade do número de multiplicações.
Também na estrutura de uma sequência de códigos S560', S570' e S580' substituindo a sequência de códigos S560, S570 e S580, 74 respectivamente, os índices 640 e 64 são substituídos por 320 e 32, respectivamente. Portanto, essas três sequências finais de códigos somente diferem da sequência de códigos da implementação mostrada na Fig. 10a com referência ao tamanho do vetor "states" tmp e y.
Como as configurações até agora ilustraram, o janelador de análise assim como o janelador de síntese são adaptados para o janelamento das respectivas amostras no domínio do tempo compreendidas nos respectivos frames multiplicando estes na base de elementos pelos coeficientes de janela da função janela.
Antes de descrever a função janela, que pode ser empregada, por exemplo, como uma função de janela de síntese e como uma função janela de análise em sua versão reversa no tempo mais intimamente, serão ressaltadas as vantagens das configurações de acordo com a presente invenção em maiores detalhes, especialmente em vista de uma implementação na estrutura de uma ferramenta SBR ou sistema como mostrado nas Figs. 5 e 6.
Entre as vantagens, as configurações de acordo com a presente invenção e sistemas compreendendo mais de uma configuração de acordo com a presente invenção podem oferecer uma significativa redução do retardo de acordo com outros bancos de filtros. Entretanto, essa propriedade de baixo retardo será vista no contexto das Figs. 13 e 14 em maiores detalhes. Um importante aspecto deste contexto é notar que o comprimento da função janela, em outras palavras, o número de coeficientes de janela a ser aplicado em um frame ou a bloco de amostras no domínio do tempo é independente do retardo.
As configurações de acordo com a presente invenção oferecem outra vantagem de melhorar a qualidade dos dados de áudio 75 (reconstruídos). A interpolação empregada em configurações de acordo com a presente invenção oferece um aliasing significativamente reduzido comparado com outros esquemas de redução referentes ao número de coeficientes de janela.
Mais ainda, como será ressaltado no contexto das Figs. 17 e 18 mais detalhadamente, em termos de psicoacústica, as configurações de acordo com a presente invenção geralmente usam as propriedades de mascaramento temporal do ouvido humano melhor que muitos outros bancos de filtros. Mais ainda, como será melhor ressaltado no contexto das Figs. 15, 16 e 19, as configurações de acordo com a presente invenção oferecem uma excelente resposta de frequência.
Também, em muitos bancos de filtros de acordo com uma configuração da presente invenção, é obtenível uma perfeita reconstrução se o banco de filtros de análise e o banco de filtros de síntese estiverem interconectados. Em outras palavras, as configurações de acordo com a presente invenção não somente oferecem uma saída indistintamente audível comparada com a entrada de um conjunto interconectado de um banco de filtros de análise e um banco de filtros de síntese, como (não considerando erros de quantização, os efeitos de arredondamento computacionais e outros efeitos provocados pela necessária discretização), uma saída idêntica comparada à entrada.
Pode ser facilmente feita uma integração no módulo SBR de bancos de filtros de acordo com a presente invenção. Apesar de tipicamente os módulos SBR operarem em modo de índice duplo, os bancos de filtros de baixo retardo de valor complexo de acordo com as configurações da presente invenção são capazes de prover uma perfeita reconstrução no modo índice simples, enquanto os 76 bancos de filtros SBR QMF originais são capazes de prover somente uma reconstrução quase perfeita. No modo de índice duplo, a versão de 32 bandas da resposta de impulso é obtida pela interpolação linear também denominada de sub-amostragem de dois taps adjacentes ou coeficientes de janela da resposta de impulso de 64 bandas ou função janela como explicado no contexto da Fig. 3.
No caso de uma implementação de valor complexo de um banco de filtros, pode ser obtido um retardo de análise (ou de síntese) significativamente reduzido para os bancos de filtros criticamente amostrados, em que a amostragem ou o processamento da frequência corresponde à frequência limite de acordo com a teoria de Nyquist-Shannon. No caso de uma implementação de valor real de um banco de filtros, pode ser obtida uma eficiente implementação empregando algoritmos otimizados como, por exemplo, ilustrados no contexto da implementação MATLAB mostrada nas Figs. 9 e 10. Essas implementações podem, por exemplo, ser empregadas no modo de baixa potência da ferramenta SBR como descrita no contexto das Figs. 5 e 6.
Como ressaltado no contexto das Figs. 5 e 6, é possível obter uma maior redução referente ao retardo no caso de um sistema SBR usando um banco de filtros de baixo retardo de valor complexo de acordo com uma configuração da presente invenção. Como ressaltado antes, no decodificador SBR 610 como mostrado na Fig. 5, o banco de filtros de análise QMF 620 é substituído por um banco de filtros complexo de baixo retardo (CLDFB) de acordo com uma configuração da presente invenção. Esta substituição pode ser feita por computador, mantendo o número de bandas (64), o comprimento da resposta de impulso (640) e usando uma modulação complexa. O retardo obtido por essa ferramenta é assim minimizado para a obtenção de um retardo 77 total suficientemente baixo para uma comunicação bidirecional sem sacrificar um nivel obtenível de qualidade.
Comparada, por exemplo, a um sistema compreendendo uma MDCT e uma MDST para formar um sistema do tipo MDCT de valor complexo, uma configuração de acordo com a presente invenção proporciona uma resposta de frequência muito melhor. Comparado ao banco de filtros QMF, por exemplo, usado hoje no MPEG-4 SBR, um sistema compreendendo um ou mais bancos de filtros de acordo com as configurações da presente invenção provê um retardo significativamente menor.
Mesmo comparadas a um banco de filtros QMF de baixo retardo, as configurações de acordo com a presente invenção oferecem a vantagem de uma perfeita reconstrução combinada a um menor retardo. As vantagens que surgem da propriedade da perfeita reconstrução em contraste com a reconstrução quase perfeita do banco de filtros QMF são as seguintes. Para a reconstrução quase perfeita, é necessária uma alta atenuação de banda de corte para atenuar o aliasing em nível suficientemente baixo. Isso restringe a possibilidade de se obter um retardo muito baixo no projeto do filtro. Em contraste, o emprego de uma configuração de acordo com a presente invenção agora tem a possibilidade de projetar de modo independente o filtro, de maneira que não seja necessária nenhuma atenuação de banda de corte alta para atenuar o aliasing em níveis suficientemente baixos. A atenuação da banda de corte deve ser suficientemente baixa para permitir um reduzido aliasing suficiente para a desejada aplicação de processamento de sinal. Portanto, pode ser alcançada uma melhor decisão de menor retardo no projeto do filtro. A Fig. 11 mostra uma comparação da função janela 700 como pode, 78 por exemplo, ser empregada em uma configuração de acordo com a presente invenção, juntamente com função janela seno 710. A função janela 700, que também é denominada de janela CMLDFB "síntese" (CMLDFB = banco de filtros de baixo retardo modulado complexo) , compreende 640 coeficientes de janela baseados nos valores dados na tabela do Anexo 1. Com referência à magnitude das funções janela, deve ser notado que não são considerados a seguir os fatores de amplificação geral ou fatores de amortecimento para o ajuste de amplitude do sinal janelado. As funções janela podem, por exemplo, ser normalizadas com referência a um valor correspondente ao centro de retardo, como ressaltado no contexto da Fig. 13, ou com referência a um valor n = N, n = N-loun = N + l, onde N é o comprimento do bloco e n é o índice dos coeficientes de janela. Em comparação, a função janela seno 710 é somente definida em 128 amostras sendo, por exemplo, empregada no caso de um módulo MDCT ou MD ST .
Entretanto, dependendo dos detalhes de implementação, para obter os coeficientes de janela baseados nos valores dados nas tabelas dos Anexos 1 e 3, outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) devem ser consideradas de acordo com equações (16a) e (16b).
Antes de discutir as diferenças das duas funções janela 700, 710, deve ser notado que ambas as funções janela compreendem somente coeficientes de janela de valor real. Mais ainda, em ambos os casos, o valor absoluto do coeficiente de janela correspondente a um índice n = 0 é menor que 0,1. No caso de uma janela CMLDFB 700, o valor respectivo é ainda menor que 0, 02. 79
Considerando as duas funções janela 700, 710 com referência a seus conjuntos de definição, são evidentes várias diferenças significativas. Considerando que a função janela seno 710 é simétrica, a função janela 700 mostra um comportamento assimétrico. Para definir mais claramente o fato, a função janela seno é simétrica quando existe um valor de valor real n0 com referência a todos os números n reais, de maneira que uma função janela 710 seja definida para (no+n) e (no-n) , e a relação H^o - n] = kfa + n] (29) seja verdadeira em uma margem desejada (ε > 0; o valor absoluto da diferença dos termos nos dois lados da equação (29) seja menor ou igual a ε) , onde w(n) representa o coeficiente de janela correspondente ao indice n. No caso da janela seno, o índice respectivo n0 está exatamente na metade dos dois maiores coeficientes de janela. Em outras palavras, para a janela seno 710, o índice é n0 = 63,5. A função janela seno é definida para os índices n = 0, ..., 127.
Em contraste, a função janela 700 é definida no conjunto dos índices n = 0, ..., 639. A função janela 700 é claramente assimétrica no sentido que para todos os números n0 de valores reais pelo menos um número real sempre exista, para que (n0+n) e (n0-n) pertençam ao conjunto de definição da função janela, para a qual a desigualdade \w{n0 - n] * |w(n0 + n)| (3Q)
Tenha uma (quase deliberadamente) margem de definição (ε > 0; o valor absoluto da diferença nos termos dos dois lados da equação (29) é maior ou igual a ε) , onde mais uma vez w(n) é o 80 coeficiente de janela correspondente ao índice n.
Outras diferenças entre as duas funções janela, que se relacionam com os tamanhos dos blocos de N = 64 amostras, é que o valor máximo da função janela 700 é maior que 1 e tem seus índices na faixa de N < η < 2N (31) para uma janela de síntese. No caso da função janela 700 mostrada na Fig. 11, o valor máximo obtido é maior que 1,04, obtido no índice de amostra n = 77. Em contraste, os valores máximos da janela seno 710 são menores ou iquais a 1, obtidos em n = 63 e n = 64.
Entretanto, também a função janela 700 obtém um valor de aproximadamente 1 com índices de amostras por volta de η = N. Para ser mais preciso, o valor absoluto ou o próprio valor do coeficiente de janela w(N-l) correspondente ao índice η = N-l é menor que 1, considerando que o valor absoluto ou o próprio valor do coeficiente de janela w(N) correspondente ao índice n = N é maior que 1. Em algumas configurações de acordo com a presente invenção, esses dois coeficientes de janela obedecem às relações 0,99 < w(N-l)< 1,0 1,0 < w(N) < 1,01 ' (22) que é o resultado da otimização da qualidade do banco de filtros de áudio de acordo com as configurações da presente invenção. Em muitos casos, é desejável ter um coeficiente de janela w(0) compreendendo um valor absoluto menor possível. Nesse caso, um determinante dos coeficientes de janela |w(0) · w(2N - l) - w{N - l) · w{N)|= 1 (33) 81 deve estar o mais perto possível de 1 para obter uma qualidade de áudio, que é otimizada com referência aos parâmetros possíveis. O sinal do determinante dado pela equação (33) é, entretanto, de livre escolha. Como consequência do coeficiente de janela w(0) ser menor que, ou aproximadamente 0, o produto de w(N-l) · w(N) ou seus valores absolutos devem ser os mais próximos possíveis de +/- 1. Nesse caso, o coeficiente de janela w(2N-l) pode ser então quase livremente escolhido. A equação (33) é o resultado do emprego da técnica de matrizes de retardo zero descritas em "New Framework for Modulated Perfect Reconstruction Filter Banks" de G.D.T. Schuller e M.J.T. Smith, IEEE Transactions on Signal Processing, Vol. 44, No. 8, agosto de 19 96 .
Além disso, como será ressaltado mais detalhadamente no contexto da Fig. 13, os coeficientes de janela correspondentes aos índices N-l e N estão compreendidos na metade do núcleo de modulação e portanto correspondem à amostra tendo valor de aproximadamente 1,0 e que coincide com o retardo do banco de filtros definido pela função de filtro protótipo ou pela função janela. A função de janela de síntese 700 como mostrada na Fig. 11, além disso mostra um comportamento oscilante com crescentes coeficientes de janela estritamente monotônicos dos coeficientes de janela da sequência de coeficientes de janela correspondente ao índice (n = 0) usado para o janelamento da última amostra de áudio no domínio do tempo até o coeficiente de janela que compreende o maior valor absoluto de todos os coeficientes de janela da função de janela de síntese 700. Naturalmente, no caso da função janela de análise de tempo reverso, o comportamento oscilante compreende uma redução estritamente monotônica dos coeficientes de janela do 82 coeficiente de janela que compreende o maior valor absoluto de todos os coeficientes de janela de uma correspondente (tempo reversa) função janela de análise para os coeficientes de janela de uma sequência de coeficientes de janela correspondente a um índice (n = 639) usado para o janelamento da última amostra de áudio no domínio do tempo.
Como consequência do comportamento oscilante, o desenvolvimento da função de janela de síntese 700 inicia com um coeficiente de janela correspondente ao índice n = 0 com um valor absoluto menor que 0,02 e um valor absoluto do coeficiente de janela correspondente ao índice η = 1 menor que 0,03, adquirindo um valor cerca de 1 em um índice η = N, adquirindo um valor máximo de mais de 1,04 em um índice de acordo com equação (31), adquirindo um outro valor de aproximadamente 1 em um índice n = 90 e 91, uma primeira troca de sinais em valores índice de n = 162 e n = 163, adquirindo um valor mínimo menor que -0,1 ou -0,12755 em um índice de aproximadamente η = 3N e uma outra troca de sinais com valores índice de n = 284 e n = 285. Entretanto, a função de janela de síntese 700 pode ainda compreender outras trocas de sinais em outros valores índice n. Ao comparar os coeficientes de janela com os valores dados nas tabelas dos Anexos 1 e 3, as outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) deve ser considerada de acordo com equações (16a) e (16b). O comportamento oscilante da função de janela de síntese 700 é similar à de uma oscilação fortemente amortecida, que é ilustrada pelo valor máximo de cerca de 1,04 e o valor mínimo de cerca de -0,12. Como consequência, mais de 50% de todos os coeficientes de janela compreendem valores absolutos sendo menores ou iguais a 0,1. Como ressaltado no contexto das 83 configurações descritas nas Figs. 1 e 2a, o desenvolvimento da função janela compreende um primeiro grupo 420 (ou 200) e o segundo grupo 430 (ou 210), onde o primeiro grupo 420 compreende uma primeira porção consecutiva de coeficientes de janela e o segundo grupo 430 compreende uma segunda porção consecutiva de coeficientes de janela. Como já ressaltado antes, a sequência de coeficientes de janela da janela compreende somente o primeiro grupo 420 de coeficientes de janela e o segundo grupo de funções janela 430, onde o primeiro grupo 420 de coeficientes de janela compreende exatamente a primeira sequência consecutiva de coeficientes de janela, e onde o segundo grupo 430 compreende exatamente a segunda porção consecutiva de coeficientes de janela. Assim, os termos primeiro grupo 420 e primeira porção de coeficientes de janela, assim como os termos segundo grupo 430 e segunda porção de coeficientes de janela podem ser usados como sinónimos.
Mais que 50% de todos os coeficientes de janela com valores absolutos menores ou iguais a 0,1 estão compreendidos no segundo grupo ou na segunda porção 430 de coeficientes de janela como consequência do comportamento oscilatório fortemente amortecido da função janela 700. Mais ainda, também mais que 50% de todos os coeficientes de janela compreendidos no segundo grupo ou segunda porção 430 de coeficientes de janela compreendem valores absolutos menores ou iguais a 0,01. A primeira porção 420 de coeficientes de janela compreende menos de um terço de todos os coeficientes de janela da sequência de coeficientes de janela. Da mesma forma, a segunda porção 430 de coeficientes de janela compreende mais de dois terços de coeficientes de janela. No caso de um número total de blocos T a ser processado em um dos frames 120, 150, 330, 380 de mais que quatro blocos, a primeira porção tipicamente 84 compreende 3/2 · N coeficientes de janela, onde N é o número de amostras no domínio do tempo de um bloco. Da mesma forma, a segunda porção compreende o resto dos coeficientes de janela ou, para ser mais preciso, (T-3/2)N coeficientes de janela. No caso de T = 10 blocos por frame como mostrado na Fig. 11, a primeira porção compreende 3/2 · N coeficientes de janela, considerando que a segunda porção 210 compreende 8,5 · N coeficientes de janela. No caso de um tamanho de bloco de N = 64 amostras de áudio no domínio do tempo por bloco, a primeira porção compreende 96 coeficientes de janela, considerando que a segunda porção compreende 544 coeficientes de janela. A função de janela de síntese 700 como mostrada na Fig. 11 adquire o valor de aproximadamente 0,96 no limite da primeira porção e da segunda porção com um índice cerca de n = 95 ou 96.
Apesar do número de coeficientes de janela compreendidos na primeira porção 420 e na segunda porção 430, o valor de energia ou um total valor de energia dos correspondentes coeficientes de janela diferem significativamente entre si. 0 valor de energia é definido por (34) E = X \w{nf n onde w(n) é um coeficiente de janela e o índice n no qual a soma na equação (34) é avaliada corresponde aos índices das respectivas porções 420, 430, a todo o conjunto de coeficientes de janela ou qualquer conjunto de coeficientes de janela ao qual os respectivos valores de energia E correspondem. Apesar da significativa diferença de coeficientes de janela, o valor de energia da primeira porção 420 é igual ou maior a 2/3 do valor total de energia de todos os coeficientes de janela. Da mesma forma, o valor de energia da segunda porção 430 é menor 85 ou igual a 1/3 do valor total de energia de todos os coeficientes de janela.
Para ilustrar o fato, o valor de energia da primeira porção 420 dos coeficientes de janela da função janela 700 é de aproximadamente 55,85, enquanto o valor de energia dos coeficientes de janela da segunda porção 430 é de aproximadamente 22,81. 0 valor total de energia de todos os coeficientes de janela da função janela 700 é de aproximadamente 78,03, portanto o valor de energia da primeira porção 420 é de aproximadamente 71,6% do valor total de energia, enquanto o valor de energia da segunda porção 430 é de aproximadamente 28,4% do valor total de energia de todos os coeficientes de janela.
Naturalmente, a equação (34) pode ser apresentada em uma versão normalizada, dividindo o valor de energia E por um fator de normalização E0, que pode em principio ter qualquer valor de energia. 0 fator de normalização E0 pode, por exemplo, ser o valor total de energia de todos os coeficientes de janela de uma sequência de coeficientes de janela calculada de acordo com equação (34).
Com base nos valores absolutos dos coeficientes de janela ou com base nos valores de energia dos respectivos coeficientes de janela, também pode ser determinado um ponto central ou a "centro de massa" de uma sequência de coeficientes de janela. O centro de massa ou o ponto central de uma sequência de coeficientes de janela é um número real e tipicamente se situa na faixa dos índices da primeira porção 420 dos coeficientes de janela. No caso dos respectivos frames compreendendo mais de quatro blocos de amostras de áudio no domínio do tempo (T > 4), o centro de massa nca com base nos valores absolutos dos 86 baseado nos coeficientes de janela ou o centro de massa nce valores de energia dos coeficientes de janela é menor que 3/2 · N. Em outras palavras, no caso de T = 10 blocos por frame, o centro de massa se situa bem dentro da região dos índices da primeira porção 200. O centro de massa nca com base nos valores absolutos dos coeficientes de janela w(n) é definido de acordo com N-T-l
Σn kH (35) nca = -
Σ kH /3 = 0 e o centro de massa nce em vista dos valores de energia dos coeficientes de janela w(n) é definido de acordo com N-T-l Σn kk)l2 /3=0_ 'ce N-T-l Σ Hnt (36 /3 = 0 onde N e T são inteiros positivos que indicam o número de amostras de áudio no domínio do tempo por bloco e o número de blocos por frame, respectivamente. Naturalmente, os pontos centrais de acordo com equações (35) e (36) também podem ser calculados com referência a um conjunto limitado de coeficientes de janela substituindo os limites das somas acima da mesma forma.
Para a função janela 700 como mostrada na Fig. 1, o centro de massa nca baseado nos valores absolutos dos coeficientes de janela w(n) é igual a um valor de nca ~ 87,75 e o ponto central ou centro de massa nce com referência aos valores de energia dos coeficientes de janela w(n) é nce ~ 80,04. Como a primeira 87 porção 200 de coeficientes de janela da função janela 700 compreende 96 (= 3/2 · N; N = 64) coeficientes de janela, ambos os pontos centrais se situam bem dentro da primeira porção 200 dos coeficientes de janela, como ressaltado anteriormente.
Os coeficientes de janela w(n) da função janela 700 são baseados nos valores dados na tabela do Anexo 1. Entretanto, para obter, por exemplo, a propriedade de baixo retardo do banco de filtros como ressaltado antes, não é preciso implementar a função janela tão exatamente como dada pelos coeficientes de janela na tabela do Anexo 1. Em muitos casos, é mais que suficiente para os coeficientes de janela da função janela compreendendo 640 coeficientes de janela obedecerem quaisquer das relações ou equações dadas nas tabelas dos Anexos 2 a 4. Os coeficientes de janela ou coeficientes de filtro dados na tabela do Anexo 1 representam valores preferidos, que podem ser adaptados de acordo com equações (16a) e (16b) em algumas implementações. Entretanto, como indicado, por exemplo, pelas outras tabelas dadas nos demais Anexos, os valores preferidos podem variar do segundo, terceiro, quarto, quinto digito após o ponto decimal, de maneira que os filtros resultantes ou funções janela ainda tenham vantagens de configurações de acordo com a presente invenção. Entretanto, dependendo dos detalhes de implementação, para obter os coeficientes de janela com base nos valores dados nas tabelas dos Anexos 1 e 3, outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)) devem ser consideradas de acordo com equações (16a) e (16b).
Naturalmente, outras funções janela compreendendo um diferente número de coeficientes de janela podem ser igualmente definidas e ser usadas na estrutura das configurações de acordo com a 88 presente invenção. Nesse contexto, deve ser notado que tanto o número de amostras de áudio no dominio do tempo por bloco como o número de blocos por frame, assim como a distribuição dos blocos com referência às amostras passadas e futuras amostras pode variar em ampla faixa de parâmetros. A Fig. 12 mostra uma comparação de um banco de filtros de baixo retardo modulado complexo janela (janela CMLDFB) 700 mostrada na Fig. 11 e o filtro protótipo original SBR QMF 720 como empregado, por exemplo, na ferramenta SBR de acordo com os padrões MPEG. Como mostrada na Fig. 11, a janela CMLDFB 700 é novamente uma janela de síntese de acordo com uma configuração da presente invenção.
Apesar da função janela 700 de acordo com uma configuração de a presente invenção ser claramente assimétrica como definida no contexto da equação (30), o filtro protótipo original SBR QMF 720 é simétrico com referência aos índices n = 319 e 320, como a função janela 700, assim como filtro protótipo SBR QMF 720 são definidos com referência a 640 índices cada. Em outras palavras, com referência à equação (29), o "valor índice" no que representa o índice do centro de simetria é dado por no = 319,5 no caso do filtro protótipo SBR QMF 720.
Mais ainda, devido à simetria do filtro protótipo SBR QMF 720, também o ponto central nca e nce de acordo com equações (35) e (36), respectivamente, são idênticos ao centro de simetria n0. O valor de energia do filtro protótipo SBR QMF 720 é 64,00, já que o filtro protótipo é um filtro ortogonal. Em contraste, a função janela simétrica 700 claramente assimétrica compreende um valor de energia de 78,0327 como ressaltado antes.
Nas seguintes seções da descrição, serão considerados sistemas SBR como ressaltado no contexto das Figs. 5 e 6, em que o 89 decodificador SBR 610 compreende configurações de acordo com a presente invenção sob a forma de um banco de filtros de análise como o banco de filtros 620 e uma configuração de acordo com a presente invenção sob a forma de um banco de filtros de síntese para o banco de filtros de síntese 640. Como será ressaltado mais detalhadamente, o retardo total de um banco de filtros de análise de acordo com a presente invenção que emprega uma função janela 700 como mostrada nas Figs. 11 e 12 compreende um retardo total de 127 amostras, considerando que a ferramenta SBR baseada no filtro protótipo SBR QMF original resulta em um retardo total de 640 amostras. A substituição dos bancos de filtros QMF no módulo SBR, por exemplo, no decodif icador SBR 610, por um banco de filtros de baixo retardo de valor complexo (CLDFB) resulta em uma redução de retardo de 42 ms para 31,3 ms sem introduzir nenhuma degradação da qualidade de áudio ou outra complexidade computacional. Com o novo banco de filtros, ambos, o modo SBR padrão (modo de alta qualidade) e o modo de baixa potência que emprega somente bancos de filtros de valor real, são suportados, como mostrou a descrição das configurações de acordo com a presente invenção com referência às Figs. 7 a 10.
Especialmente no campo das telecomunicações e da comunicação bidirecional, um baixo retardo é de grande importância. Apesar do A AC ampliado de baixo retardo já ser capaz de obter um retardo baixo o suficiente para aplicações de comunicações de 42 ms, seu retardo algorítmico é ainda maior que o do corecodec A AC de baixo retardo, que é capaz de obter retardo tão baixos quanto 20 ms e que os de outros codecs de telecomunicações. No decodificador SBR 610, os estágios de análise e síntese QMF ainda causam um retardo de reconstrução de 12 ms. Uma abordagem que promete reduzir este retardo é utilizar uma técnica de 90 banco de filtros de baixo retardo de acordo com uma configuração da presente invenção e substituir os atuais bancos de filtros QMF pela respectiva versão de baixo retardo de acordo com as configurações da presente invenção. Em outras palavras, outra redução de retardo é obtida simplesmente substituindo os bancos de filtros regulares usados no módulo SBR 610 por um banco de filtros complexo de baixo retardo de acordo com as configurações da presente invenção.
Para o uso no módulo SBR 610, os novos bancos de filtros de acordo com as configurações da presente invenção, que também são denominados de CLDFBs, são projetados para serem tão similares aos bancos de filtros QMF originalmente usados quanto possível. Isto inclui, por exemplo, o uso de 64 sub-bandas ou bandas, de um igual comprimento das respostas de impulso e uma compatibilidade com os modos de índice duplo empregados nos sistemas SBR. A Fig. 13 ilustra a comparação do formato da janela CLDFB 700 de acordo com uma configuração da presente invenção e o filtro protótipo original SBR QMF 720. Além disso, ilustra o retardo dos bancos de filtros modulados, que podem ser determinados analisando o retardo de sobrepasso introduzido pelo filtro protótipo ou função janela, além do retardo de framing do núcleo de modulação com um comprimento de N amostras no caso de um sistema baseado em DCT-IV. A situação mostrada na Fig. 13 se refere novamente ao caso de um banco de filtros de síntese. A função janela 700 e a função de filtro protótipo 720 também representam respostas de impulso dos filtros protótipos de síntese dos dois bancos de filtros envolvidos.
Com referência à análise de retardo tanto do banco de filtros SBR QMF e do proposto CLDFB, de acordo com uma configuração da 91 presente invenção, na análise e na síntese somente o sobrepasso para o lado direito e para o lado esquerdo do núcleo de modulação, respectivamente, adicionam retardo.
Para ambos os bancos de filtros, o núcleo de modulação se baseia em um DCT-IV que introduz um retardo de 64 amostras, que está marcado na Fig. 13 como o retardo 750. No caso do filtro protótipo SBR QMF 720 devido à simetria, o retardo do núcleo de modulação 750 está disposto simetricamente com referência ao centro de massa ou o ponto central da respectiva função de filtro protótipo 720 como indicado na Fig. 13. A razão para este comportamento é que o buffer do banco de filtros SBR QMF deve ser preenchido até um ponto em que será considerada no processamento a função de filtro protótipo 720 tendo a contribuição mais significativa em termos dos respectivos valores de energia dos valores do filtro protótipo. Devido à forma da função de filtro protótipo 720, isto exige que o buffer seja preenchido até pelo menos o ponto central ou centro de massa da respectiva função de filtro protótipo.
Para melhor ilustrar o fato, partindo de todos os buffers inicializados do correspondente banco de filtros SBR QMF, o buffer deve ser preenchido até o ponto que o processamento de dados resultará no processamento de dados significativos, que exigem que a respectiva função janela ou função de filtro protótipo tenha uma contribuição significativa. No caso da função de filtro protótipo SBR QMF, a forma simétrica do filtro protótipo 720 produz um retardo, que está na ordem do centro de massa ou do ponto central da função de filtro protótipo.
Entretanto, como o retardo introduzido pelo núcleo de modulação do sistema baseado em DCT-IV de N = 64 para amostras está sempre presente e o sistema também compreende o retardo de um 92 bloco, pode ser observado que o protótipo síntese do SBR QMF introduz um retardo de sobrepasso de 288 amostras.
Como indicado anteriormente, no caso dos bancos de filtros de síntese aos quais se refere a Fig. 13, este novo sobrepasso do lado esquerdo 760 provoca o retardo, enquanto o sobrepasso do lado direito 770 se refere às amostras passadas e, portanto não introduz nenhum novo retardo no caso de um banco de filtros de síntese.
Em contraste, partindo com todos os buffers inicializados do CLDFB de acordo com uma configuração da presente invenção, o banco de filtros de síntese, assim como o banco de filtros de análise, são capazes de prover dados "significativos" mais cedo, comparado com o banco de filtros SBR QMF devido à forma da função janela. Em outras palavras, devido à forma da função de janela de análise ou síntese 700, são possíveis amostras processadas pelas funções janela indicativas da significativa contribuição. Como consequência, o protótipo de síntese ou função de janela de síntese do CLDFB introduz somente um retardo de sobrepasso de 32 amostras, levando em conta o retardo já introduzido pelo núcleo de modulação 750. A primeira porção 420 ou primeiro grupo 420 de coeficientes de janela da função janela 700 de acordo com uma configuração da presente invenção compreende em uma configuração preferida de acordo com a presente invenção, os 96 coeficientes de janela correspondentes ao retardo causado pelo sobrepasso do lado esquerdo 760 em conjunto com o retardo do núcleo de modulação 750. O mesmo retardo é introduzido pelo banco de filtros de análise ou pela função protótipo de análise. A razão é que o banco de filtros de análise se baseia na versão tempo-reversa da função 93 de janela de síntese ou função protótipo. Portanto, o retardo de sobrepasso é introduzido no lado direito, compreendendo o mesmo tamanho de sobrepasso que do banco de filtros de síntese. Assim, no caso de um banco de filtros protótipo QMF original, é também introduzido um retardo de 288 amostras, enquanto que para um banco de filtros de análise de acordo com uma configuração da presente invenção somente 32 amostras são introduzidas como retardo. A tabela mostrada na Fig. 14a dá uma visão geral sobre o retardo com diferentes estágios de modificação supondo um comprimento de frame de 480 amostras e a taxa de amostragem de 48 kHz. Em uma configuração padrão, compreendendo um codec AAC-LD juntamente com uma ferramenta SBR padrão, os bancos de filtros MDCT e IMDCT no modo de índice duplo provocam um retardo de 40 ms. Mais ainda, a própria ferramenta QMF provoca um retardo de 12 ms. Mais ainda, devido a um sobrepasso SBR, é gerado um outro retardo de 8 ms, de maneira que o retardo geral desse codec está na faixa de 60 ms.
Em comparação, um codec AAC-ELD compreendendo versões de baixo retardo do MDCT e do IMDCT gera na abordagem de índice dual um retardo de 30 ms. Comparado ao banco de filtros original QMF de uma ferramenta SBR, o emprego de um banco de filtros de baixo retardo de valor complexo de acordo com uma configuração da presente invenção resultará em um retardo de somente 1 ms comparado aos 12 ms da ferramenta QMF original. Evitando o sobrepasso SBR, o sobrepasso adicional de 8 ms de uma combinação para frente de um AAC-LD com a ferramenta SBR pode ser completamente evitado. Portanto, um codec AAC ampliado de baixo retardo é capaz de um retardo algorítmico total de 31 ms, em vez de 60 ms da combinação para frente ressaltada anteriormente. Portanto, pode ser visto que a combinação dos 94 métodos de redução de retardo descritos realmente resulta na economia do retardo total de 29 ms. A tabela da Fig. 14b dá uma outra visão do retardo do codec geral causado pelas versões de banco de filtros original e proposta em um sistema como mostrado nas Figs. 5 e 6. Os dados e valores apresentados na Fig. 14b se baseiam na taxa de amostragem de 48 kHz e um tamanho de frame de codificador núcleo de 480 amostras. Devido à abordagem de índice duplo de um sistema SBR como mostrado e discutido nas Figs. 5 e 6, o codificador núcleo opera efetivamente em uma taxa de amostragem de 24 kHz. Como o retardo de framing de 64 amostras do núcleo de modulação já está introduzido pelo codificador núcleo, pode ser subtraído dos valores de retardo standalone dos dois bancos de filtros como descrito no contexto da Fig. 13. A tabela da Fig. 14b ressalta que é possível reduzir o retardo geral do codec AAC de baixo retardo ampliado compreendendo as versões de baixo retardo do MDCT e do IMDCT (LD MDCT e LD IMDCT). Apesar de ser obtenível um retardo algorítmico total de 42 ms somente pelo emprego de versões de baixo retardo do MDCT e do IMDCT, assim como dos bancos de filtros QMF originais, usando bancos de filtros de baixo retardo de valor complexo de acordo com as configurações da presente invenção em vez dos bancos de filtros QMF convencionais, o retardo algorítmico total pode ser reduzido de maneira significativa a somente 31,3 ms.
Para avaliar a qualidade dos bancos de filtros de acordo com as configurações da presente invenção e sistemas compreendendo um ou mais bancos de filtros, devem ser feitos testes de audição, a partir dos quais pode ser concluído se bancos de filtros de acordo com as configurações da presente invenção mantêm a 95 qualidade de áudio de AAC-ELD no mesmo nível e não introduzem degradações, nem para o modo SBR complexo nem para o modo SBR de baixa potência e valor real. Portanto, os bancos de filtros de retardo otimizado de acordo com as configurações da presente invenção não introduzem nenhuma carga na qualidade de áudio, apesar de serem capazes de reduzir o retardo em mais de 10 ms. Para os itens transientes, até pode ser observado que algumas pequenas melhoras, apesar de não terem significatividade estatística, podem ser conseguidas. As melhoras supramencionadas foram observadas durante testes de audição de castanholas e vibrafones.
Para melhor verificar que a sub-amostragem no caso de um banco de filtros de 32 bandas de acordo com uma configuração da presente invenção funciona igualmente bem para os bancos de filtros de acordo com a presente invenção comparados aos Bancos de filtros QMF, foi feita a seguinte avaliação. Primeiro, uma varredura seno-logaritmica foi analisada com um banco de filtros de 32 bandas sub-amostrado, onde foram adicionadas as 32 bandas superiores, inicializadas com zeros. Depois, o resultado foi sintetizado por um banco de filtros de 64 bandas, novamente sub-amostrado e comparado ao sinal original. Usando um filtro protótipo convencional SBR QMF resulta em um índice sinal ruído (SNR) de 59,5 dB. Um banco de filtros de acordo com a presente invenção, entretanto, alcança um valor SNR de 78,5 dB, que ilustra que os bancos de filtros de acordo com as configurações da presente invenção também operam na versão sub-amostrada pelo menos assim como os bancos de filtros originais QMF.
Para mostrar que esta abordagem de banco de filtros de retardo otimizada, não simétrica como empregada em configurações de acordo com a presente invenção provê um valor adicional 96 comparada a um banco de filtros clássico com um protótipo simétrico, serão comparados protótipos assimétricos com protótipos simétricos tendo o mesmo retardo a seguir. A Fig. 15a mostra uma comparação de uma resposta de frequência em uma ilustração de campo longínquo de um banco de filtros de acordo com a presente invenção empregando uma janela de baixo retardo (gráfico 800) comparada com a resposta de frequência de um banco de filtros que emprega uma janela seno com comprimento de 128 taps (gráfico 810) . A Fig. 15b mostra uma ampliação da resposta de frequência no campo próximo dos mesmos bancos de filtros que empregam as mesmas funções janela como ressaltado antes.
Uma comparação direta dos dois gráficos 800, 810 mostra que a resposta de frequência do banco de filtros que emprega um banco de filtros de baixo retardo de acordo com uma configuração da presente invenção é significativamente melhor que a correspondente resposta de frequência de um banco de filtros que emprega uma janela seno de 128 taps tendo o mesmo retardo.
Também, a Fig. 16a mostra uma comparação de diferentes funções janela com um retardo geral de 127 amostras. O banco de filtros (CLDFB) com 64 bandas compreende um retardo geral de 127 amostras incluindo o retardo de framing e o retardo de sobrepasso. Um banco de filtros modulado com um protótipo simétrico e o mesmo retardo teria, portanto, um protótipo com comprimento de 128, como já ilustrado no contexto das Figs. 15a e 15b. Para esses bancos de filtros com 50% de sobrepasso, como, por exemplo, o MDCT, as janelas senos ou janelas derivadas de Kaiser-Bessel geralmente fornecem uma boa escolha de protótipos. Assim, na Fig. 16a uma visão geral de resposta de frequência de um banco de filtros que emprega uma janela de 97 baixo retardo como protótipo de acordo com uma configuração da presente invenção é comparada com as respostas de frequência dos protótipos simétricos alternativos com mesmo retardo. A Fig. 16a mostra, além da resposta de frequência do banco de filtros de acordo com a presente invenção (gráfico 800) e a resposta de frequência de um banco de filtros que emprega uma janela seno (gráfico 810), como já mostrada na Figs. 15a e 15b, além das duas janelas KBD baseadas nos parâmetros α = 4 (gráfico 820) e α = 6 (gráfico 830) . Ambas, a Fig. 16a e a aproximação da Fig. 16a mostrada na Fig. 16b, mostram claramente que um resposta de frequência muito melhor pode ser obtida com um banco de filtros de acordo com uma configuração da presente invenção tendo uma função janela não simétrica ou a função de filtro protótipo com mesmo retardo.
Para ilustrar mais geralmente essa vantagem, na Fig. 17 são comparados dois protótipos de bancos de filtros com valores de retardo diferentes do banco de filtros anteriormente descritos. Apesar de o banco de filtros de acordo com a presente invenção, que foi considerado nas Figs. 15 e 16, ter um retardo geral de 127 amostras, que corresponde a um sobrepasso de 8 blocos no passado e 0 blocos no futuro (CLDFB 80), a Fig. 17 mostra uma comparação da resposta de frequências de dois diferentes protótipos de bancos de filtros com o mesmo retardo de 383 amostras. Para ser mais preciso, a Fig. 17 mostra a resposta de frequência de um banco de filtros protótipo não simétrico (gráfico 840) de acordo com uma configuração da presente invenção, que se baseia em um sobrepasso de 6 blocos de amostras no domínio do tempo no passado e 2 blocos de amostras no domínio do tempo no futuro (CLDFB 62). Mais ainda, a Fig. 17 também mostra a resposta de frequência (gráfico 850) de uma correspondente função de filtro protótipo simétrico tendo 98 também um retardo de 383 amostras. Pode ser visto que o mesmo valor de retardo um protótipo não simétrico ou função janela alcança melhor resposta de frequência que um banco de filtros com a função janela simétrica ou filtro protótipo. Isto mostra a possibilidade de uma melhor decisão entre retardo e qualidade, como anteriormente indicado. A Fig. 18 ilustra o efeito de mascaramento temporal do ouvido humano. Quando um som ou um tom aparece em um momento no tempo indicado por uma linha 860 na Fig. 18, surge um efeito de mascaramento referente à frequência do tom ou do som e frequências vizinhas aproximadamente 20 ms antes do inicio do som real. Este efeito é denominado pré-mascaramento, sendo um aspecto das propriedades psicoacústicas do ouvido humano.
Na situação ilustrada na Fig. 18, o som permanece audível por aproximadamente 200 ms até o momento no tempo ilustrado pela linha 870. Durante esse tempo, o mascarador do ouvido humano está ativo, que também é denominado de mascaramento simultâneo. Depois da parada do som (ilustrado pela linha 870), o mascaramento da frequência na frequência vizinha do tom decai lentamente em um período de tempo de aproximadamente 150 ms como ilustrado na Fig. 18. Este efeito psicoacústico é também denominado de pós-mascaramento. A Fig. 19 ilustra uma comparação de um comportamento pré-eco de um sinal codificado HE-AAC convencional e um sinal codificado HE-AAC que se baseiam em um banco de filtros que emprega um banco de filtros de baixo retardo (CMLDFB) de acordo com uma configuração da presente invenção. A Fig. 19a ilustra o sinal de tempo original das castanholas, que foi processado com um sistema compreendendo um codec HE-AAC (HE-AAC = codec de áudio avançado de alta eficiência). A saída do sistema baseada no HE- 99 AAC convencional está ilustrada na Fig. 19b. Uma comparação direta dos dois sinais, o sinal de tempo original e o sinal de saida do codec HE-AAC mostra que antes do inicio do som das castanholas na área ilustrada pela flecha 880, o sinal de saida do codec HE-AAC compreende importantes efeitos de pré-eco. A Fig. 19c ilustra um sinal de saida de um sistema compreendendo um HE-AAC baseado em bancos de filtros compreendendo janelas CMLDFB de acordo com uma configuração da presente invenção. O mesmo sinal original de tempos indicado na Fig. 19a e processado usando bancos de filtros de acordo com uma configuração da presente invenção mostra uma aparência significativamente reduzida dos efeitos de pré-eco logo antes do inicio de um sinal de castanholas como indicado por uma flecha 890 na Fig. 19c. Devido ao efeito de pré-mascaramento descrito no contexto da Fig. 18, o efeito pré-eco indicado pela flecha 890 da Fig. 19c estará bem melhor mascarado que os efeitos pré-eco indicados pela flecha 880 no caso do codec HE-AAC convencional. Portanto, o comportamento pré-eco dos bancos de filtros de acordo com a presente invenção, que também são o resultado do retardo significativamente reduzido comparado aos bancos de filtros convencionais, faz com que a saida esteja bem melhor adaptada às propriedades de mascaramento temporal e à psicoacústica do ouvido humano. Como consequência, como já indicado ao descrever os testes de audição, o emprego de bancos de filtros de acordo com uma configuração da presente invenção pode mesmo levar a um aperfeiçoamento referente à qualidade devida ao retardo reduzido.
As configurações de acordo com a presente invenção não aumentam a complexidade computacional comparadas aos bancos de filtros convencionais. Os bancos de filtros de baixo retardo usam o mesmo comprimento de filtro e o mesmo modo de modulação que, 100 por exemplo, os bancos de filtros QMF no caso de sistemas SBR de maneira que a complexidade computacional não aumente. Em termos de exigências de memória devido à natureza assimétrica dos filtro protótipos, a exigência de memória ROM (read-only memory) do banco de filtros de síntese aumenta em aproximadamente 320 palavras no caso de um banco de filtros com base em N = 64 amostras por bloco e T = 10 blocos por frame. Mais ainda, no caso de um sistema SBR, a exigência de memória aumenta ainda em outras 320 palavras se o filtro de análise for armazenado separadamente.
Entretanto, como as atuais exigências de ROM de um núcleo AAC-ELD é de aproximadamente 2,5 k palavras (kilo palavras) e para a implementação SBR outras 2,5 k palavras, a exigência de ROM aumenta só moderadamente em cerca de 10%. Como uma possível decisão entre memória e complexidade, se um pequeno consumo de memória for necessário, pode ser usada uma interpolação linear para gerar o filtro de análise a partir do filtro de síntese como ressaltado no contexto da Fig. 3 e na equação (15). Essa operação de interpolação aumenta o número das instruções necessárias em somente aproximadamente 3,6%. Portanto, na substituição dos bancos convencionais de filtros QMF na estrutura de módulos SBR pelos bancos de filtros de baixo retardo de acordo com as configurações da presente invenção, o retardo pode ser reduzido em algumas configurações em mais de 10 ms sem qualquer degradação da qualidade de áudio ou aumento perceptível de complexidade.
As configurações de acordo com a presente invenção, portanto se relacionam com uma janela de análise ou equipamento ou método de janelamento. Mais ainda, é descrito um banco de filtros de análise ou síntese ou método para a análise ou síntese de um sinal usando a janela. Naturalmente, o programa de computador 101 que implementa um dos métodos acima é também revelado. A implementação de acordo com as configurações da presente invenção pode ser feita em implementações de hardware, implementações de software ou uma combinação de ambas. Os dados, vetores e variáveis geradas, recebidas ou armazenadas a serem processados podem ser armazenados em diferentes tipos de memórias como em memórias de acesso randômico, buffers, memórias de leitura, memórias não voláteis (por exemplo, EEPROMs, memórias flash) ou outras memórias como memórias magnéticas ou óticas. Uma posição de armazenagem pode, por exemplo, ser uma ou mais unidades de memória exigidas para guardar ou salvar as quantidades respectivas de dados, como variáveis, parâmetros, vetores, matrizes, coeficientes de janela ou outras peças de informações e dados.
As implementações de software podem ser operadas em diferentes computadores, sistemas do tipo computador, processadores, ASICs (circuitos integrados específicos para aplicações) ou outros circuitos integrados (ICs).
Dependendo de determinadas exigências de implementação das configurações dos métodos da invenção, as configurações dos métodos da invenção podem ser implementadas em hardware, software ou em uma combinação de ambos. A implementação pode ser feita usando um meio digital de armazenagem, em particular um disco CD, um DVD ou outro disco tendo um sinal de controle de leitura eletrónica armazenado, que coopere com um sistema programável de computador, processador ou circuito integrado, de maneira a ser realizada uma configuração do método da invenção. Em geral, uma configuração da presente invenção é, portanto, um produto de programa de computador com um código de programa armazenado em um portador de leitura por máquina, o 102 código de programa sendo operado para realizar uma configuração dos métodos da invenção quando o produto de programa de computador opera em um computador, processador ou circuito integrado. Em outras palavras, as configurações dos métodos da invenção são, portanto, um programa de computador tendo um código de programa para realizar pelo menos uma configuração dos métodos da invenção quando o programa de computador opera em um computador, processador ou circuito integrado.
Um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção compreende um janelador de análise (110) para o janelamento de um frame (120) de amostras de entrada de áudio no domínio do tempo estando em uma sequência temporal que se prolonga de uma amostra prévia até uma amostra posterior usando uma função janela de análise (190) compreendendo uma sequência de coeficientes de janela para obter a função janela de análise janelada amostrada (190) compreendendo um primeiro grupo (200) de coeficientes de janela compreendendo uma primeira porção de uma sequência de coeficientes de janela e um segundo grupo (210) de coeficientes de janela compreendendo uma segunda porção de uma sequência de coeficientes de janela, a primeira porção compreendendo menos coeficientes de janela que a segunda porção, onde um valor de energia dos coeficientes de janela na primeira porção é maior que um valor de energia dos coeficientes de janela da segunda porção, onde o primeiro grupo de coeficientes de janela é usado para o janelamento posterior das amostras no domínio do tempo e o segundo grupo de coeficientes de janela é usado para o janelamento precoce das amostras no domínio do tempo, e um calculador (170) para o cálculo dos valores de sub-banda de áudio usando as amostras janeladas. 103
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que a função janela de análise (190) seja assimétrica com referência à sequência de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que um valor de energia dos coeficientes de janela da primeira porção seja igual ou maior que 2/3 de um valor de energia de todos os coeficientes de janela de uma sequência de coeficientes de janela e um valor de energia dos coeficientes de janela da segunda porção de coeficientes de janela seja menor ou igual a 1/3 de um valor de energia de todos os coeficientes de janela de uma sequência de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que a primeira porção de coeficientes de janela compreende 1/3 ou menos que 1/3 de um número total de coeficientes de janela de uma sequência de coeficientes de janela e a segunda porção compreende 2/3 ou mais que 2/3 do número total de coeficientes de janela de uma sequência de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que um ponto central dos 104 coeficientes de janela da função janela de análise (190) corresponde a um valor real em uma faixa do índice da primeira porção de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que a função janela de análise (190) compreende uma redução estritamente monotônica do coeficiente de janela compreendendo o maior valor absoluto de todos os coeficientes de janela da função janela de análise (190) de um coeficiente de janela de uma sequência de coeficientes de janela usada para o janelamento da última amostra de áudio no domínio do tempo.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que a função janela de análise (190) compreende um comportamento oscilante.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que o coeficiente de janela correspondente a um índice n = (T-l) · N compreenda um valor absoluto na faixa de 0,9 a 1,1, onde um índice de uma sequência de coeficientes de janela é um número inteiro na faixa de 0 a N •T-l, onde o coeficiente de janela usado para o janelamento da última amostra de entrada de áudio no domínio do tempo do frame 120 é o coeficiente de janela correspondente ao índice N • T-l, onde o janelador de análise (110) está adaptado de maneira que o frame (120) de amostras de entrada de áudio no 105 domínio do tempo compreende uma sequência de T blocos (130) de amostras de entrada de áudio no domínio do tempo que se prolonga do mais recente até as últimas amostras de entrada de áudio no domínio do tempo do frame (120), cada bloco compreendendo N amostras de entrada de áudio no domínio do tempo, e onde T e N são inteiros positivos e T é maior que 4.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que o coeficiente de janela correspondente ao índice dos coeficientes de janela η = N · T -1 compreenda um valor absoluto menor que 0,02.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, a janela de análise (110) está adaptada de maneira que o janelamento compreende a multiplicação das amostras de entrada de áudio no domínio do tempo x(n) do frame (120) para obter as amostras janeladas z(n) do frame janelado com base na equação z(n) = x(n) c(n) onde n é um número inteiro que indica um índice de uma sequência de coeficientes de janela na faixa de 0 a T · N-l, onde c(n) é o coeficiente de janela da função janela de análise correspondente ao índice n, onde x(N · T-l) é a última amostra de entrada de áudio no domínio do tempo de um frame (120) de amostras de entrada de áudio no domínio do tempo, onde o janelador de análise (110) está adaptado de maneira que o frame (120) de amostras de entrada de áudio no domínio do tempo compreende uma sequência de T blocos (130) de amostras de 106 entrada de áudio no domínio do tempo que se prolonga da mais recente até as últimas amostras de entrada de áudio no domínio do tempo do frame (120), cada bloco compreendendo N amostras de entrada de áudio no domínio do tempo, e onde T e N são inteiros positivos e T é maior que 4.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que os coeficientes de janela c(n) obedecem às relações dadas na tabela do Anexo 4.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o equipamento (100) está adaptado para usar uma função janela de análise (190) sendo uma versão de tempo reverso ou de índice reverso da função de janela de síntese (370) a ser usada para os valores de sub-banda de áudio.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que a primeira porção da função janela de análise compreende um coeficiente de janela tendo um valor máximo absoluto maior que 1.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que todos os coeficientes de janela de uma sequência de coeficientes de janela são coeficientes de janela de valor real. 107
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que o frame (120) de amostras de entrada de áudio no domínio do tempo compreende uma sequência de T blocos (130) de amostras de entrada de áudio no domínio do tempo que se prolonga da mais recente até as últimas amostras de entrada de áudio no domínio do tempo do frame (120), cada bloco compreendendo N amostras de entrada de áudio no domínio do tempo, onde T e N são inteiros positivos e T é maior que 4.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que janelamento compreende uma multiplicação elementar das amostras de entrada de áudio no domínio do tempo do frame (120) pelos coeficientes de janela de uma sequência de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que cada amostra de entrada de áudio no domínio do tempo é multiplicada elementarmente por um coeficiente de janela da função janela de análise de acordo com a sequência de amostras de entrada de áudio no domínio do tempo e a sequência de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que para cada amostra de entrada de áudio no domínio do tempo do frame (120) de amostras de 108 entrada de áudio no domínio do tempo seja gerada exatamente uma amostra janelada.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que o coeficiente de janela correspondente a um índice dos coeficientes de janela n = (T—3) • N compreende um valor menor que -0,1, onde o índice de uma sequência de coeficientes de janela é um número inteiro na faixa de 0 a N · T - 1, e onde o coeficiente de janela usado para o janelamento da última amostra de entrada de áudio no domínio do tempo é o coeficiente de janela correspondente ao índice N · T - 1 .
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que a primeira porção de coeficientes de janela compreende 3/2 · N coeficientes de janela e a segunda porção de coeficientes de janela compreende (T-3/2) · N coeficientes de janela de uma sequência de coeficientes de janela.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que os coeficientes de janela c(n) obedecem às relações dadas na tabela do Anexo 3.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise 109 (110) está adaptado de maneira que os coeficientes de janela c(n) obedeçam as relações dadas na tabela do Anexo 2.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o janelador de análise (110) está adaptado de maneira que os coeficientes de janela c(n) compreendem os valores dados na tabela do Anexo 1.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o equipamento (100) está adaptado de maneira que o presente frame (120) de amostras de entrada de áudio no domínio do tempo a ser processado seja gerado pela mudança (T-l) blocos posteriores de um frame diretamente precedente (120) de amostras de entrada de áudio no domínio do tempo por um bloco na direção das amostras prévias de entrada de áudio no domínio do tempo e adicionando um bloco (220) de novas amostras de áudio no domínio do tempo como o bloco compreendendo as últimas amostras de entrada de áudio no domínio do tempo do frame atual (120).
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o equipamento (100) está adaptado de maneira que o presente frame (120) de amostras de entrada de áudio no domínio do tempo x(n) a ser processado seja gerado com base na mudança das amostras de entrada de áudio no domínio do tempo xprev(n) do frame diretamente precedente (120) de amostras de entrada de áudio no domínio do tempo com base na equação x{n - 32) = xprev(n) 110 para um índice de tempo ou de amostra n = 32, 319, e onde o equipamento (100) está ainda adaptado para gerar as amostras de entrada de áudio no domínio do tempo x(n) do frame atual (120) de amostras de entrada de áudio no domínio do tempo pela inclusão das 32 próximas amostras de entrada no domínio do tempo de acordo com a ordem das amostras de entrada de áudio no domínio do tempo de tempo decrescente ou de índices de amostras n das amostras de entrada de áudio no domínio do tempo x(n) do frame atual (120) iniciando no índice de tempo ou amostra n = 31.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o calculador (170) compreende um conversor tempo/frequência adaptado para gerar os valores de sub-banda de áudio de maneira que todos os valores de sub-banda com base em um frame (150) de amostras janeladas representem uma representação espectral das amostras janeladas do frame (150) de amostras janeladas.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o conversor tempo/frequência está adaptado para gerar valores complexos ou valores reais de sub-banda de áudio.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o calculador (170) está adaptado para calcular um valor de sub-banda de áudio para cada amostra de entrada de áudio no domínio do tempo de um bloco (130) de amostras de entrada de áudio no domínio do tempo, onde o cálculo de cada valor de sub-banda de áudio ou de cada uma 111 das amostras de entrada de áudio no domínio do tempo de um bloco (130) de amostras de entrada de áudio no domínio do tempo se baseia nas amostras janeladas do frame janelado (150).
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o calculador (170) está adaptado para calcular os valores de sub-banda de áudio com base na multiplicação das amostras janeladas (150) pela função de oscilação harmónica de cada valor de sub-banda e somando as amostras janeladas multiplicadas, onde a frequência da função de oscilação harmónica se baseia em uma frequência central de uma correspondente sub-banda dos valores de sub-banda.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o calculador (170) está adaptado de maneira que a função harmonicamente oscilante seja uma função exponencial complexa, uma função seno ou uma função co-seno.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o calculador (170) está adaptado para calcular os valores de sub-banda de áudio wki com base na equação 4 u n Σζ(η + j 64) j = 0 63 e para n = 0
112 para k = 0, . .., 31, onde z(n) é uma amostra janelada correspondente a um índice n, onde k é um índice de sub-banda, onde 1 é um índice de um bloco (180) de valores de sub-banda de áudio e onde fOSc(x) é uma função oscilante dependendo da variável de valor real x.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o calculador (170) está adaptado de maneira que a função oscilante fosc(x) é fosÂx) = exp(i · x) ou fosc(x) = cos(x) ou fosÂx) = sin(x) onde i é uma unidade imaginária.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o equipamento (100) está adaptado para processar um frame (120) de amostras de entrada de áudio no domínio do tempo de valor real.
Em um equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com as configurações da presente invenção, o equipamento (100) é adaptado para fornecer um sinal indicativo da função de janela de síntese (370) a ser usada com os valores de sub-banda de áudio ou indicativa da função janela de análise (190) usada 113 para gerar os valores de sub-banda de áudio.
Um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção compreende um calculador (310) para o cálculo de uma sequência (330) de amostras intermediárias no domínio do tempo dos valores de sub-banda de áudio em canais de sub-banda de áudio, uma sequência compreendendo amostras prévias intermediárias no domínio do tempo e amostras posteriores no domínio do tempo, o janelador de síntese (360) para o janelamento da sequência (330) de amostras intermediárias no domínio do tempo usando a função de janela de síntese (370) compreendendo a sequência de coeficientes de janela para obter amostras janeladas intermediárias no domínio do tempo, a função de janela de síntese (370) compreendendo um primeiro grupo (420) de coeficientes de janela compreendendo uma primeira porção de uma sequência de coeficientes de janela e um segundo grupo (430) de coeficientes de janela compreendendo uma segunda porção de uma sequência de coeficientes de janela, a primeira porção compreendendo menos coeficientes de janela que a segunda porção, onde um valor de energia dos coeficientes de janela na primeira porção é maior que um valor de energia dos coeficientes de janela da segunda porção, onde o primeiro grupo de coeficientes de janela é usado para o janelamento posterior de amostras intermediárias no domínio do tempo e o segundo grupo de coeficientes de janela é usado para o janelamento prévio das amostras intermediárias no domínio do tempo, e um estágio de saída de adição de sobrepasso (400) para o processamento das amostras janeladas intermediárias no domínio do tempo de maneira a obter as amostras no domínio do tempo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente 114 invenção, o janelador de síntese (360) está adaptado de maneira que um valor de energia dos coeficientes de janela da primeira porção de coeficientes de janela seja maior ou igual a 2/3 de um valor de energia de todos os coeficientes de janela da função de janela de síntese (370) e um valor de energia da segunda porção de coeficientes de janela seja menor ou igual a 1/3 do valor de energia de todos os coeficientes de janela da função de janela de síntese.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que a primeira porção de coeficientes de janela compreende 1/3 ou menos que 1/3 do número total de todos os coeficientes de janela de uma sequência de coeficientes de janela e a segunda porção de coeficientes de janela compreende 2/3 ou mais que 2/3 do número total de coeficientes de janela de uma sequência de coeficientes de janela.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que o ponto central dos coeficientes de janela da função de janela de síntese (370) corresponde a um valor real em uma faixa do índice da primeira porção de coeficientes de janela.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que a função de janela de síntese compreende um aumento estritamente monotônico do coeficiente de janela de uma sequência de coeficientes de janela usada para o janelamento da última amostra intermediária no domínio do tempo para o 115 coeficiente de janela compreendendo o maior valor absoluto de todos os coeficientes de janela da função de janela de síntese.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que a função de janela de síntese (370) compreende um comportamento oscilante.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o coeficiente de janela correspondente a um índice n = N compreende um valor absoluto na faixa entre 0,9 e 1,1, onde o índice n de uma sequência de coeficientes de janela é um número inteiro na faixa de 0 a T · N - 1, onde o coeficiente de janela usado para o janelamento da última amostra intermediária no domínio do tempo é o coeficiente de janela correspondente ao índice n = 0, onde T é um número inteiro maior que 4 indicando o número de blocos compreendido no frame (330) de amostras intermediárias no domínio do tempo, onde o equipamento (300) está adaptado para gerar um bloco (410) de amostras de áudio no domínio do tempo, o bloco (410) de amostras de áudio no domínio do tempo compreendendo N amostras de áudio no domínio do tempo, onde N é um número inteiro positivo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que o coeficiente de janela correspondente ao índice n = 0 compreenda um valor absoluto menor ou igual a 0,02.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente 116 invenção, o janelador de síntese (360) está adaptado de maneira que o coeficiente de janela correspondente a um índice η = 3N seja menor que -0,1, onde o equipamento (300) está adaptado para gerar um bloco (410) de amostras de áudio no domínio do tempo, o bloco (410) de amostras de áudio no domínio do tempo compreendendo N amostras de áudio no domínio do tempo, onde N é um número inteiro positivo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, a janela de síntese (360) está adaptada de maneira que o janelamento compreende a multiplicação das amostras intermediárias no domínio do tempo g(n) de uma sequência de amostras intermediárias no domínio do tempo para obter as amostras janeladas z(n) do frame janelado (380) com base na equação z(n) = g(n) c(t N — 1 — n) para n = 0, . .., T · N - 1.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que o coeficiente de janela c(n) obedece as relações dadas na tabela do Anexo 4.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o equipamento (300) está adaptado para usar uma função de janela de síntese (370) sendo uma versão tempo-reversa ou índice-reversa de uma função janela de análise (190) usada para gerar os valores de sub-banda de áudio. 117
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o equipamento (300) está adaptado para gerar um bloco (410) de amostras de áudio no domínio do tempo, o bloco (410) de amostras de áudio no domínio do tempo compreendendo N amostras de áudio no domínio do tempo, onde N é um número inteiro positivo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o equipamento (300) está adaptado para gerar um bloco (410) de amostras de áudio no domínio do tempo, com base em um bloco (320) de valores de sub-banda de áudio compreendendo N valores de sub-banda de áudio e onde o calculador (310) está adaptado para calcular uma sequência (330) de amostras intermediárias de áudio no domínio do tempo compreendendo T · N amostras intermediárias de áudio no domínio do tempo, onde T é um número inteiro positivo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que a função de janela de síntese é assimétrica com referência a uma sequência coeficiente de janela.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que a primeira porção compreende um valor máximo de todos os coeficientes de janela da função de janela de síntese tendo um valor absoluto maior que 1.
Em um equipamento para a geração de amostras de áudio no 118 domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que a primeira porção compreende 3/2-N coeficientes de janela e a segunda porção de coeficientes de janela compreende (T-3/2)-N coeficientes de janela, onde T é um índice maior ou igual a 4 indicando um número de blocos 340 compreendido no frame (330) de amostras intermediárias no domínio do tempo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que o janelamento da sequência de amostras intermediárias no domínio do tempo compreende uma multiplicação elementar das amostras intermediárias no domínio do tempo por um coeficiente de janela.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que cada amostra intermediária no domínio do tempo multiplicado elementarmente pelo coeficiente de janela da função de janela de síntese (370) de acordo com a sequência de amostras intermediárias no domínio do tempo e uma sequência de coeficientes de janela.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, a janela de síntese (360) está adaptada de maneira que os coeficientes de janela da função de janela de síntese (370) são valores reais.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente 119 invenção, o janelador de síntese (360) está adaptado de maneira que o coeficiente de janela c(n) obedece às relações dadas na tabela do Anexo 3.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que os coeficientes de janela c(n) obedecem às relações dadas na tabela do Anexo 2.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o janelador de síntese (360) está adaptado de maneira que os coeficientes de janela c(n) compreendem os valores dados na tabela do Anexo 1.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o calculador (310) está adaptado para calcular as amostras intermediárias no domínio do tempo de uma sequência de amostras intermediárias no domínio do tempo baseadas na multiplicação dos valores de sub-banda de áudio pela função de oscilação harmónica e soma dos valores multiplicados de sub-banda de áudio, onde a frequência da função de oscilação harmónica se baseia em uma frequência central da correspondente sub-banda.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o calculador (310) está adaptado de maneira que a função de oscilação harmónica é uma função exponencial complexa, uma função seno ou uma função co-seno.
Em um equipamento para a geração de amostras de áudio no 120 domínio do tempo de acordo com as configurações da presente invenção, o calculador (310) está adaptado para calcular amostras intermediárias de valor real no domínio do tempo com base nos valores de sub-banda de áudio de valores complexos ou de valores reais.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o calculador (310) está adaptado para calcular uma sequência de amostras de valor real intermediárias no domínio do tempo z(i,n) com base na equação z. η N-l
X i,k f
para um número inteiro n na faixa de 0 a N · T-l, onde Re(x) é a parte real do número de valor complexo x, π = 3,14... é o número circular e fosc(x) é uma função de oscilação harmónica, onde fosÂx) = exp(i ' x) quando os valores de sub-banda de áudio providos para o calculador são valores ; complexos, onde I é a unidade imaginária, e onde íf (x) = cos ;(x) r quando os valores de sub-banda de áudio providos para o calculador (310) sao valores reais.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o calculador (310) compreende um conversor tempo/frequência adaptado para gerar uma sequência de amostras 121 intermediárias no domínio do tempo, de maneira que os valores de sub-banda de áudio fornecidos para o calculador (310) representam uma representação espectral de uma sequência de amostras intermediárias no domínio do tempo.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o conversor tempo/frequência está adaptado para gerar uma sequência de amostras intermediárias tempo/domínio com base nos valores de sub-banda de áudio de valores complexos ou de valores reais.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o calculador (310) está adaptado para calcular uma sequência de amostras intermediárias no domínio do tempo g(n) a partir dos valores de sub-banda de áudio X(k) com base na equação AA = vprev{n - 2N) para um número inteiro n na faixa de 20N - 1 e 2N,
V W-l ( í
(n) = ^ Re x(k) · — · exp i — (k + -f) (2n - (n - l)) 6 4 v 2 N k=0 \ n na faixa de 0 e 2N-1 e para o inteiro g(2N j + k) = v(4Nj + k) g(2N j + N + k) = v(mj +3N + k) para um número inteiro j na faixa de 0 e 4 e para um número inteiro k na faixa de 0 e N-l, onde N é um número inteiro que indica o número de valores de sub-banda de áudio e o número das amostras de áudio no domínio do tempo, onde v é um vetor de valor real, onde vprev é um vetor de valor real v da geração 122 diretamente anterior de amostras de áudio no domínio do tempo, onde i é a unidade imaginária e π é o número circular.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente 5 invenção, o calculador (310) está adaptado para calcular uma sequência de amostras intermediárias no domínio do tempo g(n) a partir dos valores de sub-banda de áudio X(k) com base na equação v{n) = vprev(n - 2N) 10 para um número inteiro n na faixa de 20N - 1 e 2N, v(n) = X(k) · · cosf^- (k + f) · (2n - (n - l))]
k=o \2N J para um número inteiro n na faixa de 0 e 2N-1 e g(2N j + k) = v(4Nj + k) g(2N j + N + k) = v(4Nj + 3N + k) para um número inteiro j na faixa de 0 e 4 e para um número 15 inteiro k na faixa de 0 e N-l, onde N é um número inteiro que indica o número de valores de sub-banda de áudio e o número das amostras de áudio no domínio do tempo, onde v é um vetor de valor real, onde vprev é um vetor de valor real v da geração diretamente anterior de amostras de áudio no domínio do tempo e 20 onde π é o número circular.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente
invenção, o estágio de saída de adição de sobrepasso (400) está adaptado para processar as amostras janeladas intermediárias no 25 domínio do tempo de maneira em sobrepasso, com base nos T 123 blocos consecutivamente providos(320) de valores de sub-banda de áudio.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o estágio de saída de adição de sobrepasso (400) é adaptado para fornecer as amostras no domínio do tempo outi(n), onde n é um número inteiro que indica um índice de amostra com base na equação Γ-1
out^n) = Σ z(1_kU+k.N k=0 onde zi,n é uma amostra intermediária no domínio do tempo janelada correspondente a um índice de amostra n e um frame ou sequência índice 1 na faixa de 0 a T - 1, onde 1 = 0 corresponde ao último frame ou sequência e valores menores que 1 dos frames ou sequências anteriormente gerados.
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o estágio de saída de adição de sobrepasso (400) é adaptado para fornecer as amostras no domínio do tempo out(k) com base na equação 9 OU t{k) = Σ w{N n + k) k = 0 onde w é um vetor compreendendo as amostras janeladas intermediárias no domínio do tempo e k é um número inteiro que indica um índice na faixa entre 0 e (N-l).
Em um equipamento para a geração de amostras de áudio no domínio do tempo de acordo com as configurações da presente invenção, o equipamento (300) é adaptado para receber um sinal 124 indicativo da função janela de análise (190) usada para gerar os valores de sub-banda de áudio, ou indicativa da função de janela de síntese (370) a ser usada para a geração das amostras de áudio no domínio do tempo.
De acordo com as configurações da presente invenção, um codificador (510) compreende um equipamento (560) para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio de acordo com uma configuração da presente invenção.
De acordo com as configurações da presente invenção, um codificador (510) ainda compreende um quantizador e codificador (570) acoplados ao equipamento (560) para a geração de valores de sub-banda de áudio e adaptado para quantizar e codificar os valores de sub-banda de áudio produzidos pelo equipamento (560) e produzindo os valores de sub-banda de áudio quantizados codificados.
De acordo com as configurações da presente invenção, um decodificador (580) compreende um equipamento (600) para a geração de amostras de áudio no domínio do tempo de acordo com uma configuração da presente invenção.
De acordo com as configurações da presente invenção, um decodificador (580) ainda compreende um decodificador e dequantizador (590) adaptados para receber valores de sub-banda de áudio codificados e quantizados, acoplados ao equipamento (600) para a geração de amostras de áudio no domínio do tempo e adaptados para prover valores de sub-banda de áudio decodificados e dequantizados como os valores de sub-banda de áudio para o equipamento (600).
De acordo com as configurações da presente invenção, um codificador SBR (520) compreende um equipamento (530) para a 125 geração de valores de sub-banda de áudio em canais de sub-banda de áudio, com base em um frame de amostras de entrada de áudio no domínio do tempo provido para o codificador SBR (520) e um módulo de extração de parâmetros SBR (540) acoplado ao equipamento (530) para a geração de valores de sub-banda de áudio e adaptado para a extração e geração de parâmetros SBR com base nos valores de sub-banda de áudio.
De acordo com as configurações da presente invenção, um sistema (610) compreende um equipamento (620) para a geração de valores de sub-banda de áudio a partir de um frame de amostras de entrada de áudio no domínio do tempo provido para o sistema (610); e um equipamento (640) para a geração de amostras de áudio no domínio do tempo com base nos valores de sub-banda de áudio gerados pelo equipamento (640) para a geração de valores de sub-banda de áudio.
De acordo com as configurações da presente invenção, um sistema (610) é um decodificador SBR.
De acordo com as configurações da presente invenção, o sistema ainda compreende um gerador HF (630) interconectado entre o equipamento (620) para a geração de valores de sub-banda de áudio e o equipamento (640) para a geração de amostras de áudio no domínio do tempo e adaptado para receber dados SBR adaptados para modificar ou adicionar valores de sub-banda de áudio com base nos dados SBR e os valores de sub-banda de áudio do equipamento (620) para a geração de valores de sub-banda de áudio.
Com referência a todos os equipamentos e métodos de acordo com as configurações da presente invenção, dependendo dos detalhes de implementação, para obter os coeficientes de janela com base nos valores dados nas tabelas dos Anexos 1 e 3, podem ser 126 implementadas outras alterações de sinais com referência aos coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 (multiplicação por fator (-1)). Em outras palavras, os coeficientes de janela da função janela se baseiam nos coeficientes de janela dados na tabela do Anexo 1. Para obter os coeficientes de janela da função janela mostrados nas figuras, os coeficientes de janela na tabela correspondente aos índices 0 a 127, 256 a 383 e 512 a 639 devem ser multiplicados por ( + 1) (isto é, sem alteração de sinal) e os coeficientes de janela correspondentes aos índices 128 a 255 e 384 a 511 devem ser multiplicados por (-1) (isto é, uma alteração de sinal) para obter os coeficientes de janela da função janela mostrada. Da mesma forma as relações dadas na tabela do Anexo 3 devem ser tratadas da mesma forma.
Deve ser notado, que na estrutura do presente pedido de acordo com uma equação baseada em uma equação, está compreendida uma introdução de retardos adicionais, fatores, outros coeficientes e a introdução de outras funções simples. Depois, podem ser abandonadas as constantes simples, adendos de constantes, etc. Mais ainda, também estão incluídas transformações algébricas, transformações de equivalência e aproximações (por exemplo, uma aproximação de Taylor) não alterando o resultado da equação de nenhuma maneira ou de maneira significativa. Em outras palavras, tanto pequenas modificações assim como transformações que conduzam essencialmente em termos de um resultado idêntico estão incluídas no caso em que uma equação ou expressão esteja baseada em uma equação ou expressão.
Apesar de o exposto ter sido particularmente mostrado e descrito com referência a suas configurações particulares, será compreendido pelos peritos na técnica que várias outras alterações de forma e detalhes podem ser feitas sem abandonar 127 seu espírito e escopo. Deve ser compreendido alterações podem ser feitas na adaptação a configurações sem abandonar o mais amplo conceito e contido pelas reivindicações a seguir. que várias diferentes ora revelado 128
REIVINDICAÇÕES 1. Equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio, compreendendo: um janelador de análise (110) para o janelamento de um frame (120) de amostras de entrada de áudio no domínio do tempo, sendo em uma sequência temporal que se estende de uma amostra prévia para uma amostra posterior usando uma função janela de análise (190), compreendendo uma sequência de coeficientes de janela para a obtenção de amostras janeladas, a função janela de análise compreendendo um primeiro número de coeficientes de janela obtidos de uma maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela; e onde o segundo número é um número par; e um calculador (170) para o cálculo dos valores de sub-banda de áudio usando as amostras janeladas. 2. Equipamento (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o equipamento (100) está adaptado para interpolar os coeficientes de janela da maior função janela para obter os coeficientes de janela da função j anela. 3. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira que os coeficientes de janela da função janela sejam interpolados linearmente. 4. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira que os coeficientes de janela da função janela de análise são interpolados com base em dois coeficientes consecutivos de janela da maior função janela de acordo com a sequência dos coeficientes de janela da maior função janela, para obter um coeficiente de janela da função janela. 5. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira a obter os coeficientes de janela c(n) da função janela de análise com base na equação c(n) = j (c2(2n) + c2(2n + l)) , onde n é um número inteiro que indica um índice dos coeficientes de janela c(n), e C2(n) é um coeficiente de janela da maior função janela. 6. Equipamento (100), de acordo com a reivindicação 5, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira que os coeficientes de janela C2(n) da maior função janela obedeçam às relações dadas na tabela do Anexo 4. 7. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o janelador de análise (110) está adaptado de maneira que o janelamento compreende a multiplicação das amostras de entrada de áudio no domínio do tempo x(n) do frame (120) para obter as amostras janeladas z (n) do frame janelado com base na equação z(n) = x(n) c(n) onde n é um número inteiro que indica um índice da sequência de coeficientes de janela na faixa de 0 a T · N-l, onde c(n) é o coeficiente de janela da função janela de análise correspondente ao índice n, onde x(N · T-l) é a última amostra de entrada de áudio no domínio do tempo de um frame (120) de amostras de entrada de áudio no domínio do tempo, onde o janelador de análise (110) está adaptado de maneira que o frame (120) de amostras de entrada de áudio no domínio do tempo compreende uma sequência de T blocos (130) de amostras de entrada de áudio no domínio do tempo que se prolonga da mais anterior até a mais posterior das amostras de entrada de áudio no domínio do tempo do frame (120), cada bloco compreendendo N amostras de entrada de áudio no domínio do tempo, e onde T e N são inteiros positivos e T é maior que 4. 8. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o janelador de análise (110) está adaptado de maneira que a função janela de análise (190) compreende um primeiro grupo (200) de coeficientes de janela compreendendo uma primeira porção da sequência de coeficientes de janela e um segundo grupo (210) de coeficientes de janela compreendendo uma segunda porção da sequência de coeficientes de janela, onde a primeira porção compreende menos coeficientes de janela que a segunda porção, onde um valor de energia dos coeficientes de janela na primeira porção é maior que um valor de energia dos coeficientes de janela da segunda porção, e onde o primeiro grupo de coeficientes de janela é usado para o janelamento posterior das amostras no domínio do tempo e o segundo grupo de coeficientes de janela é usado para o janelamento das amostras mais anteriores no domínio do tempo. 9. Equipamento, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) está adaptado para usar uma função janela de análise (190) sendo uma versão de tempo reverso ou do índice reverso da função de janela de síntese (370) a ser usado para os valores de sub-banda de áudio. 10. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que um janelador de análise (110) está adaptado de maneira que a maior função janela é assimétrica com referência à sequência de coeficientes de janela. 11. Equipamento (300) para a geração de amostras de áudio no domínio do tempo, compreendendo: um calculador (310) para o cálculo da sequência (330) de amostras intermediárias no domínio do tempo a partir de valores de sub-banda de áudio nos canais de sub-banda de áudio, a sequência compreendendo amostras mais anteriores intermediárias no domínio do tempo e amostras mais posteriores no domínio do tempo; um janelador de síntese (360) para o janelamento da sequência (330) de amostras intermediárias no domínio do tempo usando uma função de janela de síntese (370) compreendendo uma sequência de coeficientes de janela para obter amostras janeladas intermediárias no domínio do tempo, a função de janela de síntese compreendendo um primeiro número de coeficientes de janela obtidos de uma maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela; e onde o segundo número é par; e um estágio de saída de adição de sobrepasso (400) para o processamento das amostras janeladas intermediárias no domínio do tempo de maneira a obter amostras no domínio do tempo. 12. Equipamento (300), de acordo com a reivindicação 11, caracterizado pelo fato de que o equipamento (300) é adaptado para interpolar os coeficientes de janela da maior função janela para obter os coeficientes de janela da função janela. 13. Equipamento (300), de acordo com qualquer uma das reivindicações 11 ou 12, caracterizado pelo fato de que o equipamento (300) está adaptado de maneira que os coeficientes de janela da função de janela de síntese sejam interpolados linearmente. 14. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 13, caracterizado pelo fato de que o equipamento (300) está adaptado de maneira que os coeficientes de janela da função de janela de síntese são interpolados com base em dois coeficientes consecutivos de janela da maior função janela de acordo com a sequência de coeficientes de janela da maior função janela para obter um coeficiente de janela da função janela. 15. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 14, caracterizado pelo fato de que o equipamento (300) está adaptado para obter os coeficientes de janela c(n) da função de janela de síntese com base na equação c(n) = | (c2(2n) + c2(2n + l)) onde C2(n) são coeficientes de janela de uma maior função janela correspondente ao índice n. 16. Equipamento (300), de acordo com a reivindicação 15, caracterizado pelo fato de que o equipamento (300) está adaptado de maneira que os coeficientes de janela C2(n) obedecem as relações dadas na tabela do Anexo 4. 17. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 16, caracterizado pelo fato de que a janela de síntese (360) está adaptada de maneira que o janelamento compreende a multiplicação das amostras intermediárias no domínio do tempo g(n) da sequência de amostras intermediárias no dominio do tempo para obter as amostras janeladas z (n) do frame janelado (380) com base na equação z(n) = g(n) c(t N - 1 — n) para n = 0,..., T · N - 1. 18. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 17, caracterizado pelo fato de que o janelador de síntese (360) está adaptado de maneira que a função de janela de síntese (370) compreende um primeiro grupo (420) de coeficientes de janela compreendendo uma primeira porção da sequência de coeficientes de janela e um segundo grupo (430) de coeficientes de janela compreendendo uma segunda porção da sequência de coeficientes de janela, a primeira porção compreendendo menos coeficientes de janela que a segunda porção, onde um valor de energia dos coeficientes de janela na primeira porção é maior que um valor da energia dos coeficientes de janela da segunda porção, e onde o primeiro grupo de coeficientes de janela é usado para o janelamento posterior das amostras intermediárias no domínio do tempo e o segundo grupo de coeficientes de janela é usado para o janelamento prévio das amostras intermediárias no domínio do tempo. 19. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 18, caracterizado pelo fato de que o equipamento (30 0) está adaptado de maneira para usar uma função de janela de síntese (370) sendo uma versão de tempo reverso ou de índice reverso de uma função janela de análise (190) usada para a geração de valores de sub-banda de áudio. 20. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 19, caracterizado pelo fato de que o janelador de síntese (360) está adaptado de maneira que a maior função janela é assimétrica com referência a uma sequência de coeficientes de janela. 21. Método para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio, compreendendo: janelamento de um frame de amostras de entrada de áudio no domínio do tempo estando em uma sequência temporal que se estende de uma amostra prévia para uma amostra posterior usando uma função janela de análise para obter amostras janeladas, a função janela de análise compreendendo um primeiro número de coeficientes de janela obtidos a partir de uma maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação pelos coeficientes de janela da maior função janela; e onde o segundo número é um número par; e calcular os valores de sub-banda de áudio usando as amostras janeladas. 22. Método para a geração de amostras de áudio no domínio do tempo, compreendendo: calcular uma sequência de amostras intermediárias no domínio do tempo a partir de valores de sub-banda de áudio em canais de sub-banda de áudio, a sequência compreendendo amostras prévias intermediárias no domínio do tempo e amostras posteriores intermediárias no domínio do tempo; janelamento da sequência de amostras intermediárias no domínio do tempo usando uma função de janela de síntese para obter amostras janeladas no domínio do tempo, a função de janela de síntese compreendendo um primeiro número de coeficientes de janela obtidas a partir de uma maior função janela compreendendo a sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela; e onde o segundo número é par; e adição de sobrepasso das amostras janeladas no domínio do tempo para obter as amostras no domínio do tempo. 23. Programa com um código de programas para a execução, caracterizado pelo fato de que opera em um processador, de um método de acordo com a reivindicação 21 ou de acordo com a reivindicação 22. RESUMO "EQUIPAMENTO E MÉTODO PARA A GERAÇÃO DE VALORES DE SUB-BANDA DE ÁUDIO E EQUIPAMENTO E MÉTODO PARA A GERAÇÃO DE AMOSTRAS DE ÁUDIO NO DOMÍNIO DO TEMPO"
Uma configuração de um equipamento (100) para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio compreende um janelador de análise (110) para o janelamento de um frame (120) de amostras de entrada de áudio no domínio do tempo, estando em uma sequência temporal que se estende de uma amostra prévia até uma amostra posterior usando uma função janela de análise (190), compreendendo uma sequência de coeficientes de janela para obter amostras janeladas. A função janela de análise compreende um primeiro número de coeficientes de janela obtidos a partir da maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, onde os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela. O equipamento (100) ainda compreende um calculador (170) para o cálculo dos valores de sub-banda de áudio usando as amostras janeladas.
Claims (23)
- REIVINDICAÇÕES 1. Equipamento para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio, compreendendo: um janelador de análise (110) para o janelamento de um frame (120) de amostras de entrada de áudio no domínio do tempo, sendo em uma sequência temporal que se estende de uma amostra prévia para uma amostra posterior usando uma função janela de análise (190), compreendendo uma sequência de coeficientes de janela para a obtenção de amostras janeladas, a função janela de análise compreendendo um primeiro número de coeficientes de janela obtidos de uma maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela; e onde o segundo número é um número par; e um calculador (170) para o cálculo dos valores de sub-banda de áudio usando as amostras janeladas.
- 2. Equipamento (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o equipamento (100) está adaptado para interpolar os coeficientes de janela da maior função janela para obter os coeficientes de janela da função janela.
- 3. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira que os coeficientes de janela da função janela sejam interpolados linearmente.
- 4. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira que os coeficientes de janela da função janela de análise são interpolados com base em dois coeficientes consecutivos de janela da maior função janela de acordo com a sequência dos coeficientes de janela da maior função janela, para obter um coeficiente de janela da função janela.
- 5. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira a obter os coeficientes de janela c(n) da função janela de análise com base na equação c(n) = \ (c2(2n) + c2(2n + l)) , onde n é um número inteiro que indica um indice dos coeficientes de janela c(n), e C2(n) é um coeficiente de janela da maior função janela.
- 6. Equipamento (100), de acordo com a reivindicação 5, caracterizado pelo fato de que o equipamento (100) ou o janelador de análise (110) está adaptado de maneira que os coeficientes de janela C2(n) da maior função janela obedeçam às relações dadas na tabela do Anexo 4.
- 7. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o janelador de análise (110) está adaptado de maneira que o janelamento compreende a multiplicação das amostras de entrada de áudio no dominio do tempo x(n) do frame (120) para obter as amostras janeladas z (n) do frame janelado com base na equação z(n) = x(n) c(n) onde n é um número inteiro que indica um indice da sequência 2 de coeficientes de janela na faixa de 0 a T · N-l, onde c(n) é o coeficiente de janela da função janela de análise correspondente ao índice n, onde x(N · T-l) é a última amostra de entrada de áudio no domínio do tempo de um frame (120) de amostras de entrada de áudio no domínio do tempo, onde o janelador de análise (110) está adaptado de maneira que o frame (120) de amostras de entrada de áudio no domínio do tempo compreende uma sequência de T blocos (130) de amostras de entrada de áudio no domínio do tempo que se prolonga da mais anterior até a mais posterior das amostras de entrada de áudio no domínio do tempo do frame (120), cada bloco compreendendo N amostras de entrada de áudio no domínio do tempo, e onde T e N são inteiros positivos e T é maior que 4.
- 8. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o janelador de análise (110) está adaptado de maneira que a função janela de análise (190) compreende um primeiro grupo (200) de coeficientes de janela compreendendo uma primeira porção da sequência de coeficientes de janela e um segundo grupo (210) de coeficientes de janela compreendendo uma segunda porção da sequência de coeficientes de janela, onde a primeira porção compreende menos coeficientes de janela que a segunda porção, onde um valor de energia dos coeficientes de janela na primeira porção é maior que um valor de energia dos coeficientes de janela da segunda porção, e onde o primeiro grupo de coeficientes de janela é usado para o janelamento posterior das amostras no domínio do tempo e o segundo grupo de coeficientes de janela é usado para o janelamento das amostras mais anteriores no domínio do tempo.
- 9. Equipamento, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o equipamento 3 (100) está adaptado para usar uma função janela de análise (190) sendo uma versão de tempo reverso ou do índice reverso da função de janela de síntese (370) a ser usado para os valores de sub-banda de áudio.
- 10. Equipamento (100), de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que um janelador de análise (110) está adaptado de maneira que a maior função janela é assimétrica com referência à sequência de coeficientes de janela.
- 11. Equipamento (300) para a geração de amostras de áudio no domínio do tempo, compreendendo: um calculador (310) para o cálculo da sequência (330) de amostras intermediárias no domínio do tempo a partir de valores de sub-banda de áudio nos canais de sub-banda de áudio, a sequência compreendendo amostras mais anteriores intermediárias no domínio do tempo e amostras mais posteriores no domínio do tempo; um janelador de síntese (360) para o janelamento da sequência (330) de amostras intermediárias no domínio do tempo usando uma função de janela de síntese (370) compreendendo uma sequência de coeficientes de janela para obter amostras janeladas intermediárias no domínio do tempo, a função de janela de síntese compreendendo um primeiro número de coeficientes de janela obtidos de uma maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela; e onde o segundo número é par; e um estágio de saída de adição de sobrepasso (400) para o processamento das amostras janeladas intermediárias no domínio do tempo de maneira a obter amostras no domínio do tempo.
- 12. Equipamento (300), de acordo com a reivindicação 11, 4 caracterizado pelo fato de que o equipamento (300) é adaptado para interpolar os coeficientes de janela da maior função janela para obter os coeficientes de janela da função janela.
- 13. Equipamento (300), de acordo com qualquer uma das reivindicações 11 ou 12, caracterizado pelo fato de que o equipamento (300) está adaptado de maneira que os coeficientes de janela da função de janela de sintese sejam interpolados linearmente.
- 14. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 13, caracterizado pelo fato de que o equipamento (300) está adaptado de maneira que os coeficientes de janela da função de janela de sintese são interpolados com base em dois coeficientes consecutivos de janela da maior função janela de acordo com a sequência de coeficientes de janela da maior função janela para obter um coeficiente de janela da função janela.
- 15. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 14, caracterizado pelo fato de que o equipamento (300) está adaptado para obter os coeficientes de janela c(n) da função de janela de sintese com base na equação c(n) = \ (c2(2n) + c2(2n + l)) onde C2(n) são coeficientes de janela de uma maior função janela correspondente ao índice n.
- 16. Equipamento (300), de acordo com a reivindicação 15, caracterizado pelo fato de que o equipamento (300) está adaptado de maneira que os coeficientes de janela c2(n) obedecem as relações dadas na tabela do Anexo 4.
- 17. Equipamento (300), de acordo com qualquer uma das 5 reivindicações de 11 a 16, caracterizado pelo fato de que a janela de sintese (360) está adaptada de maneira que o janelamento compreende a multiplicação das amostras intermediárias no domínio do tempo g(n) da sequência de amostras intermediárias no domínio do tempo para obter as amostras janeladas z (n) do frame janelado (380) com base na equação z(n) = g(n) · c(t N - 1 - n) para n = 0,..., T · N - 1.
- 18. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 17, caracterizado pelo fato de que o janelador de síntese (360) está adaptado de maneira que a função de janela de síntese (370) compreende um primeiro grupo (420) de coeficientes de janela compreendendo uma primeira porção da sequência de coeficientes de janela e um segundo grupo (430) de coeficientes de janela compreendendo uma segunda porção da sequência de coeficientes de janela, a primeira porção compreendendo menos coeficientes de janela que a segunda porção, onde um valor de energia dos coeficientes de janela na primeira porção é maior que um valor da energia dos coeficientes de janela da segunda porção, e onde o primeiro grupo de coeficientes de janela é usado para o janelamento posterior das amostras intermediárias no domínio do tempo e o segundo grupo de coeficientes de janela é usado para o janelamento prévio das amostras intermediárias no domínio do tempo.
- 19. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 18, caracterizado pelo fato de que o equipamento (30 0) está adaptado de maneira para usar uma função de janela de síntese (370) sendo uma versão de tempo reverso ou de índice reverso de uma função janela de análise 6 (190) usada para a geração de valores de sub-banda de áudio.
- 20. Equipamento (300), de acordo com qualquer uma das reivindicações de 11 a 19, caracterizado pelo fato de que o janelador de síntese (360) está adaptado de maneira que a maior função janela é assimétrica com referência a uma sequência de coeficientes de janela.
- 21. Método para a geração de valores de sub-banda de áudio em canais de sub-banda de áudio, compreendendo: janelamento de um frame de amostras de entrada de áudio no domínio do tempo estando em uma sequência temporal que se estende de uma amostra prévia para uma amostra posterior usando uma função janela de análise para obter amostras janeladas, a função janela de análise compreendendo um primeiro número de coeficientes de janela obtidos a partir de uma maior função janela compreendendo uma sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação pelos coeficientes de janela da maior função janela; e onde o segundo número é um número par; e calcular os valores de sub-banda de áudio usando as amostras j aneladas.
- 22. Método para a geração de amostras de áudio no domínio do tempo, compreendendo: calcular uma sequência de amostras intermediárias no domínio do tempo a partir de valores de sub-banda de áudio em canais de sub-banda de áudio, a sequência compreendendo amostras prévias intermediárias no domínio do tempo e amostras posteriores intermediárias no domínio do tempo; janelamento da sequência de amostras intermediárias no domínio do tempo usando uma função de janela de síntese para obter amostras janeladas no domínio do tempo, a função de janela de síntese compreendendo um primeiro número de coeficientes de janela obtidas a partir de 7 uma maior função janela compreendendo a sequência de um maior segundo número de coeficientes de janela, caracterizado pelo fato de que os coeficientes de janela da função janela são obtidos por uma interpolação de coeficientes de janela da maior função janela; e onde o segundo número é par; e adição de sobrepasso das amostras janeladas no domínio do tempo para obter as amostras no domínio do tempo.
- 23. Programa com um código de programas para a execução, caracterizado pelo fato de que opera em um processador, de um método de acordo com a reivindicação 21 ou de acordo com a reivindicação 22.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86295406P | 2006-10-25 | 2006-10-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
PT1994530E true PT1994530E (pt) | 2009-10-09 |
Family
ID=39048961
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT171695836T PT3288027T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar valores de sub-banda de áudio de valor complexo |
PT90100108T PT2109098T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar amostras de áudio de domínio de tempo |
PT78192598T PT2076901T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar valores de sub-banda de áudio e aparelho e método para gerar amostras de áudio de domínio de tempo |
PT211602503T PT3848928T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar valores de sub-banda de áudio de valor complexo |
PT07819260T PT1994530E (pt) | 2006-10-25 | 2007-10-23 | Equipamento e método para a geração de valores de sub-banda de áudio e equipamento e método para a geração de amostras de áudio no domínio do tempo |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT171695836T PT3288027T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar valores de sub-banda de áudio de valor complexo |
PT90100108T PT2109098T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar amostras de áudio de domínio de tempo |
PT78192598T PT2076901T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar valores de sub-banda de áudio e aparelho e método para gerar amostras de áudio de domínio de tempo |
PT211602503T PT3848928T (pt) | 2006-10-25 | 2007-10-23 | Aparelho e método para gerar valores de sub-banda de áudio de valor complexo |
Country Status (26)
Country | Link |
---|---|
US (11) | USRE50157E1 (pt) |
EP (10) | EP3288027B1 (pt) |
JP (2) | JP5083779B2 (pt) |
KR (2) | KR100957711B1 (pt) |
CN (2) | CN101405791B (pt) |
AR (2) | AR063394A1 (pt) |
AT (1) | ATE435480T1 (pt) |
AU (2) | AU2007308415B2 (pt) |
BR (2) | BRPI0716315A2 (pt) |
CA (2) | CA2667505C (pt) |
DE (1) | DE602007001460D1 (pt) |
DK (2) | DK1994530T3 (pt) |
ES (6) | ES2834024T3 (pt) |
FI (1) | FI3848928T3 (pt) |
HK (2) | HK1119824A1 (pt) |
HU (1) | HUE064482T2 (pt) |
IL (2) | IL193786A (pt) |
MX (2) | MX2008011898A (pt) |
MY (2) | MY142520A (pt) |
NO (3) | NO341567B1 (pt) |
PL (6) | PL3848928T3 (pt) |
PT (5) | PT3288027T (pt) |
RU (2) | RU2411645C2 (pt) |
TW (2) | TWI357065B (pt) |
WO (2) | WO2008049590A1 (pt) |
ZA (2) | ZA200810308B (pt) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE50158E1 (en) | 2006-10-25 | 2024-10-01 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples |
EP3288027B1 (en) | 2006-10-25 | 2021-04-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating complex-valued audio subband values |
US8160890B2 (en) * | 2006-12-13 | 2012-04-17 | Panasonic Corporation | Audio signal coding method and decoding method |
US8214200B2 (en) * | 2007-03-14 | 2012-07-03 | Xfrm, Inc. | Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid |
EP2077550B8 (en) * | 2008-01-04 | 2012-03-14 | Dolby International AB | Audio encoder and decoder |
WO2010013752A1 (ja) * | 2008-07-29 | 2010-02-04 | ヤマハ株式会社 | 演奏関連情報出力装置、演奏関連情報出力装置を備えるシステム、及び電子楽器 |
EP2268057B1 (en) * | 2008-07-30 | 2017-09-06 | Yamaha Corporation | Audio signal processing device, audio signal processing system, and audio signal processing method |
US9384748B2 (en) * | 2008-11-26 | 2016-07-05 | Electronics And Telecommunications Research Institute | Unified Speech/Audio Codec (USAC) processing windows sequence based mode switching |
PL4231290T3 (pl) * | 2008-12-15 | 2024-04-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Dekoder powiększania szerokości pasma audio, powiązany sposób oraz program komputerowy |
RU2493618C2 (ru) * | 2009-01-28 | 2013-09-20 | Долби Интернешнл Аб | Усовершенствованное гармоническое преобразование |
BRPI1007528B1 (pt) | 2009-01-28 | 2020-10-13 | Dolby International Ab | Sistema para gerar um sinal de áudio de saída a partir de um sinal de áudio de entrada usando um fator de transposição t, método para transpor um sinal de áudio de entrada por um fator de transposição t e meio de armazenamento |
TWI662788B (zh) | 2009-02-18 | 2019-06-11 | 瑞典商杜比國際公司 | 用於高頻重建或參數立體聲之複指數調變濾波器組 |
US8392200B2 (en) | 2009-04-14 | 2013-03-05 | Qualcomm Incorporated | Low complexity spectral band replication (SBR) filterbanks |
CN102422531B (zh) * | 2009-06-29 | 2014-09-03 | 三菱电机株式会社 | 音频信号处理装置 |
CN101958119B (zh) * | 2009-07-16 | 2012-02-29 | 中兴通讯股份有限公司 | 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法 |
FR2949582B1 (fr) * | 2009-09-02 | 2011-08-26 | Alcatel Lucent | Procede pour rendre un signal musical compatible avec un codec a transmission discontinue ; et dispositif pour la mise en ?uvre de ce procede |
JP5433022B2 (ja) * | 2009-09-18 | 2014-03-05 | ドルビー インターナショナル アーベー | 高調波転換 |
ES2805349T3 (es) | 2009-10-21 | 2021-02-11 | Dolby Int Ab | Sobremuestreo en un banco de filtros de reemisor combinado |
CA2782338C (en) * | 2009-11-30 | 2014-12-30 | Akinori Fujimura | Demultiplexing device, multiplexing device, and relay device |
KR102020334B1 (ko) | 2010-01-19 | 2019-09-10 | 돌비 인터네셔널 에이비 | 고조파 전위에 기초하여 개선된 서브밴드 블록 |
JP5782677B2 (ja) | 2010-03-31 | 2015-09-24 | ヤマハ株式会社 | コンテンツ再生装置および音声処理システム |
EP4398249A3 (en) * | 2010-04-13 | 2024-07-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decoding sample-accurate representation of an audio signal |
US9443534B2 (en) * | 2010-04-14 | 2016-09-13 | Huawei Technologies Co., Ltd. | Bandwidth extension system and approach |
CN103155033B (zh) | 2010-07-19 | 2014-10-22 | 杜比国际公司 | 高频重建期间的音频信号处理 |
US12002476B2 (en) | 2010-07-19 | 2024-06-04 | Dolby International Ab | Processing of audio signals during high frequency reconstruction |
CN101908342B (zh) * | 2010-07-23 | 2012-09-26 | 北京理工大学 | 利用频域滤波后处理进行音频暂态信号预回声抑制的方法 |
US8755460B2 (en) * | 2010-07-30 | 2014-06-17 | National Instruments Corporation | Phase aligned sampling of multiple data channels using a successive approximation register converter |
US8762158B2 (en) * | 2010-08-06 | 2014-06-24 | Samsung Electronics Co., Ltd. | Decoding method and decoding apparatus therefor |
FR2969804A1 (fr) * | 2010-12-23 | 2012-06-29 | France Telecom | Filtrage perfectionne dans le domaine transforme. |
MY166394A (en) | 2011-02-14 | 2018-06-25 | Fraunhofer Ges Forschung | Information signal representation using lapped transform |
CN103477387B (zh) | 2011-02-14 | 2015-11-25 | 弗兰霍菲尔运输应用研究公司 | 使用频谱域噪声整形的基于线性预测的编码方案 |
ES2639646T3 (es) | 2011-02-14 | 2017-10-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificación y decodificación de posiciones de impulso de pistas de una señal de audio |
KR101525185B1 (ko) | 2011-02-14 | 2015-06-02 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법 |
KR101551046B1 (ko) | 2011-02-14 | 2015-09-07 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법 |
BR112013020482B1 (pt) | 2011-02-14 | 2021-02-23 | Fraunhofer Ges Forschung | aparelho e método para processar um sinal de áudio decodificado em um domínio espectral |
FR2977439A1 (fr) * | 2011-06-28 | 2013-01-04 | France Telecom | Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard. |
FR2977969A1 (fr) * | 2011-07-12 | 2013-01-18 | France Telecom | Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee |
EP2573761B1 (en) | 2011-09-25 | 2018-02-14 | Yamaha Corporation | Displaying content in relation to music reproduction by means of information processing apparatus independent of music reproduction apparatus |
EP3544006A1 (en) | 2011-11-11 | 2019-09-25 | Dolby International AB | Upsampling using oversampled sbr |
JP5494677B2 (ja) | 2012-01-06 | 2014-05-21 | ヤマハ株式会社 | 演奏装置及び演奏プログラム |
EP2717262A1 (en) * | 2012-10-05 | 2014-04-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for signal-dependent zoom-transform in spatial audio object coding |
MX2021000353A (es) * | 2013-02-05 | 2023-02-24 | Ericsson Telefon Ab L M | Método y aparato para controlar ocultación de pérdida de trama de audio. |
TWI557727B (zh) | 2013-04-05 | 2016-11-11 | 杜比國際公司 | 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品 |
CN105247614B (zh) | 2013-04-05 | 2019-04-05 | 杜比国际公司 | 音频编码器和解码器 |
EP3742440B1 (en) | 2013-04-05 | 2024-07-31 | Dolby International AB | Audio decoder for interleaved waveform coding |
US10893488B2 (en) | 2013-06-14 | 2021-01-12 | Microsoft Technology Licensing, Llc | Radio frequency (RF) power back-off optimization for specific absorption rate (SAR) compliance |
EP2830061A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping |
RU2665281C2 (ru) * | 2013-09-12 | 2018-08-28 | Долби Интернэшнл Аб | Временное согласование данных обработки на основе квадратурного зеркального фильтра |
KR101782916B1 (ko) | 2013-09-17 | 2017-09-28 | 주식회사 윌러스표준기술연구소 | 오디오 신호 처리 방법 및 장치 |
WO2015060654A1 (ko) | 2013-10-22 | 2015-04-30 | 한국전자통신연구원 | 오디오 신호의 필터 생성 방법 및 이를 위한 파라메터화 장치 |
KR102244613B1 (ko) * | 2013-10-28 | 2021-04-26 | 삼성전자주식회사 | Qmf 필터링 방법 및 이를 수행하는 장치 |
WO2015099429A1 (ko) | 2013-12-23 | 2015-07-02 | 주식회사 윌러스표준기술연구소 | 오디오 신호 처리 방법, 이를 위한 파라메터화 장치 및 오디오 신호 처리 장치 |
CN108600935B (zh) | 2014-03-19 | 2020-11-03 | 韦勒斯标准与技术协会公司 | 音频信号处理方法和设备 |
KR101856127B1 (ko) | 2014-04-02 | 2018-05-09 | 주식회사 윌러스표준기술연구소 | 오디오 신호 처리 방법 및 장치 |
KR102318581B1 (ko) * | 2014-06-10 | 2021-10-27 | 엠큐에이 리미티드 | 오디오 신호의 디지털 캡슐화 |
WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
TWI693594B (zh) | 2015-03-13 | 2020-05-11 | 瑞典商杜比國際公司 | 解碼具有增強頻譜帶複製元資料在至少一填充元素中的音訊位元流 |
EP3107096A1 (en) * | 2015-06-16 | 2016-12-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Downscaled decoding |
US10847170B2 (en) | 2015-06-18 | 2020-11-24 | Qualcomm Incorporated | Device and method for generating a high-band signal from non-linearly processed sub-ranges |
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 |
WO2017153300A1 (en) * | 2016-03-07 | 2017-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Error concealment unit, audio decoder, and related method and computer program using characteristics of a decoded representation of a properly decoded audio frame |
JP6976277B2 (ja) * | 2016-06-22 | 2021-12-08 | ドルビー・インターナショナル・アーベー | 第一の周波数領域から第二の周波数領域にデジタル・オーディオ信号を変換するためのオーディオ・デコーダおよび方法 |
EP3276620A1 (en) | 2016-07-29 | 2018-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Time domain aliasing reduction for non-uniform filterbanks which use spectral analysis followed by partial synthesis |
US10224974B2 (en) | 2017-03-31 | 2019-03-05 | Microsoft Technology Licensing, Llc | Proximity-independent SAR mitigation |
TWI681384B (zh) * | 2018-08-01 | 2020-01-01 | 瑞昱半導體股份有限公司 | 音訊處理方法與音訊等化器 |
EP3935630B1 (en) * | 2019-03-06 | 2024-09-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio downmixing |
CN112447166B (zh) * | 2019-08-16 | 2024-09-10 | 阿里巴巴集团控股有限公司 | 一种针对目标频谱矩阵的处理方法及装置 |
EP3786948A1 (en) * | 2019-08-28 | 2021-03-03 | Fraunhofer Gesellschaft zur Förderung der Angewand | Time-varying time-frequency tilings using non-uniform orthogonal filterbanks based on mdct analysis/synthesis and tdar |
CN111402917B (zh) * | 2020-03-13 | 2023-08-04 | 北京小米松果电子有限公司 | 音频信号处理方法及装置、存储介质 |
US11632147B2 (en) * | 2020-08-13 | 2023-04-18 | Marvell Asia Pte, Ltd. | Simplified frequency-domain filter adaptation window |
CN114007176B (zh) * | 2020-10-09 | 2023-12-19 | 上海又为智能科技有限公司 | 用于降低信号延时的音频信号处理方法、装置及存储介质 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US351882A (en) | 1886-11-02 | Thill-coupling | ||
US3666543A (en) * | 1969-11-24 | 1972-05-30 | Ludwig Maier | Tris-(2-hydroxyalkyl)-phosphine oxide flame retardant articles |
AU5811390A (en) | 1989-05-17 | 1990-12-18 | Telefunken Fernseh Und Rundfunk Gmbh | Process for transmitting a signal |
CN1062963C (zh) | 1990-04-12 | 2001-03-07 | 多尔拜实验特许公司 | 用于产生高质量声音信号的解码器和编码器 |
JP3277682B2 (ja) | 1994-04-22 | 2002-04-22 | ソニー株式会社 | 情報符号化方法及び装置、情報復号化方法及び装置、並びに情報記録媒体及び情報伝送方法 |
KR100346734B1 (ko) | 1995-09-22 | 2002-11-23 | 삼성전자 주식회사 | 고속분석필터및합성필터를구비한오디오부호화기및복호화기 |
US5819215A (en) | 1995-10-13 | 1998-10-06 | Dobson; Kurt | Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data |
US6377917B1 (en) | 1997-01-27 | 2002-04-23 | Microsoft Corporation | System and methodology for prosody modification |
JP3065067B2 (ja) * | 1998-03-04 | 2000-07-12 | 韓國電氣通信公社 | Mpegオ―ディオ多チャンネル処理用等間隔サブバンド分析フィルタ及び合成フィルタ |
FI114833B (fi) | 1999-01-08 | 2004-12-31 | Nokia Corp | Menetelmä, puhekooderi ja matkaviestin puheenkoodauskehysten muodostamiseksi |
US6226608B1 (en) | 1999-01-28 | 2001-05-01 | Dolby Laboratories Licensing Corporation | Data framing for adaptive-block-length coding system |
US6510407B1 (en) | 1999-10-19 | 2003-01-21 | Atmel Corporation | Method and apparatus for variable rate coding of speech |
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 |
JP2002091499A (ja) | 2000-06-14 | 2002-03-27 | Texas Instruments Inc | ウインドウ圧縮/伸張方法 |
US6748363B1 (en) * | 2000-06-28 | 2004-06-08 | Texas Instruments Incorporated | TI window compression/expansion method |
EP1199711A1 (en) | 2000-10-20 | 2002-04-24 | Telefonaktiebolaget Lm Ericsson | Encoding of audio signal using bandwidth expansion |
US6996198B2 (en) * | 2000-10-27 | 2006-02-07 | At&T Corp. | Nonuniform oversampled filter banks for audio signal processing |
US6707869B1 (en) * | 2000-12-28 | 2004-03-16 | Nortel Networks Limited | Signal-processing apparatus with a filter of flexible window design |
SE0101175D0 (sv) * | 2001-04-02 | 2001-04-02 | Coding Technologies Sweden Ab | Aliasing reduction using complex-exponential-modulated filterbanks |
US7136418B2 (en) * | 2001-05-03 | 2006-11-14 | University Of Washington | Scalable and perceptually ranked signal coding and decoding |
US7400651B2 (en) | 2001-06-29 | 2008-07-15 | Kabushiki Kaisha Kenwood | Device and method for interpolating frequency components of signal |
JP4012506B2 (ja) | 2001-08-24 | 2007-11-21 | 株式会社ケンウッド | 信号の周波数成分を適応的に補間するための装置および方法 |
DE10228103A1 (de) | 2002-06-24 | 2004-01-15 | Bayer Cropscience Ag | Fungizide Wirkstoffkombinationen |
EP1543307B1 (en) * | 2002-09-19 | 2006-02-22 | Matsushita Electric Industrial Co., Ltd. | Audio decoding apparatus and method |
SE0301273D0 (sv) | 2003-04-30 | 2003-04-30 | Coding Technologies Sweden Ab | Advanced processing based on a complex-exponential-modulated filterbank and adaptive time signalling methods |
JP3876850B2 (ja) * | 2003-06-02 | 2007-02-07 | ヤマハ株式会社 | アレースピーカーシステム |
US7563748B2 (en) | 2003-06-23 | 2009-07-21 | Cognis Ip Management Gmbh | Alcohol alkoxylate carriers for pesticide active ingredients |
EP1513137A1 (en) | 2003-08-22 | 2005-03-09 | MicronasNIT LCC, Novi Sad Institute of Information Technologies | Speech processing system and method with multi-pulse excitation |
TWI227866B (en) | 2003-11-07 | 2005-02-11 | Mediatek Inc | Subband analysis/synthesis filtering method |
CN1270290C (zh) * | 2003-11-26 | 2006-08-16 | 联发科技股份有限公司 | 子带分析/合成滤波方法 |
CN100573666C (zh) * | 2003-11-26 | 2009-12-23 | 联发科技股份有限公司 | 子带分析/合成滤波方法 |
WO2005073959A1 (en) | 2004-01-28 | 2005-08-11 | Koninklijke Philips Electronics N.V. | Audio signal decoding using complex-valued data |
CA2457988A1 (en) | 2004-02-18 | 2005-08-18 | Voiceage Corporation | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
EP1769092A4 (en) | 2004-06-29 | 2008-08-06 | Europ Nickel Plc | IMPROVED LIXIVIATION OF BASE METALS |
JP5129117B2 (ja) | 2005-04-01 | 2013-01-23 | クゥアルコム・インコーポレイテッド | 音声信号の高帯域部分を符号化及び復号する方法及び装置 |
US7774396B2 (en) | 2005-11-18 | 2010-08-10 | Dynamic Hearing Pty Ltd | Method and device for low delay processing |
US7953604B2 (en) * | 2006-01-20 | 2011-05-31 | Microsoft Corporation | Shape and scale parameters for extended-band frequency coding |
US8036903B2 (en) | 2006-10-18 | 2011-10-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
EP3288027B1 (en) | 2006-10-25 | 2021-04-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating complex-valued audio subband values |
TW200922334A (en) | 2007-11-02 | 2009-05-16 | Univ Nat Chunghsing | Low complexity frequency field motion estimation method adapted to wavelet video coding |
-
2007
- 2007-10-23 EP EP17169583.6A patent/EP3288027B1/en active Active
- 2007-10-23 AU AU2007308415A patent/AU2007308415B2/en active Active
- 2007-10-23 PT PT171695836T patent/PT3288027T/pt unknown
- 2007-10-23 ES ES09010010T patent/ES2834024T3/es active Active
- 2007-10-23 KR KR1020087023021A patent/KR100957711B1/ko active IP Right Grant
- 2007-10-23 EP EP23210951.2A patent/EP4325723B1/en active Active
- 2007-10-23 PL PL21160250.3T patent/PL3848928T3/pl unknown
- 2007-10-23 US US17/845,520 patent/USRE50157E1/en active Active
- 2007-10-23 RU RU2008137468/09A patent/RU2411645C2/ru active
- 2007-10-23 US US17/845,607 patent/USRE49999E1/en active Active
- 2007-10-23 CA CA2667505A patent/CA2667505C/en active Active
- 2007-10-23 CN CN2007800097359A patent/CN101405791B/zh active Active
- 2007-10-23 US US17/845,465 patent/USRE50132E1/en active Active
- 2007-10-23 DE DE602007001460T patent/DE602007001460D1/de active Active
- 2007-10-23 ES ES07819260T patent/ES2328187T3/es active Active
- 2007-10-23 FI FIEP21160250.3T patent/FI3848928T3/fi active
- 2007-10-23 US US12/293,532 patent/US8438015B2/en not_active Ceased
- 2007-10-23 PL PL17169583T patent/PL3288027T3/pl unknown
- 2007-10-23 PL PL07819259T patent/PL2076901T3/pl unknown
- 2007-10-23 WO PCT/EP2007/009200 patent/WO2008049590A1/en active Application Filing
- 2007-10-23 US US17/845,564 patent/USRE50054E1/en active Active
- 2007-10-23 EP EP23210959.5A patent/EP4325724B1/en active Active
- 2007-10-23 KR KR1020097008382A patent/KR101056253B1/ko active IP Right Grant
- 2007-10-23 JP JP2009500788A patent/JP5083779B2/ja active Active
- 2007-10-23 ES ES17169583T patent/ES2873254T3/es active Active
- 2007-10-23 EP EP23157260.3A patent/EP4207189B1/en active Active
- 2007-10-23 DK DK07819260T patent/DK1994530T3/da active
- 2007-10-23 EP EP23210978.5A patent/EP4300825B1/en active Active
- 2007-10-23 US US17/845,503 patent/USRE50144E1/en active Active
- 2007-10-23 CA CA2645618A patent/CA2645618C/en active Active
- 2007-10-23 EP EP21160250.3A patent/EP3848928B1/en active Active
- 2007-10-23 EP EP23210953.8A patent/EP4300824B1/en active Active
- 2007-10-23 PT PT90100108T patent/PT2109098T/pt unknown
- 2007-10-23 WO PCT/EP2007/009199 patent/WO2008049589A1/en active Application Filing
- 2007-10-23 PL PL07819260T patent/PL1994530T3/pl unknown
- 2007-10-23 BR BRPI0716315A patent/BRPI0716315A2/pt not_active Application Discontinuation
- 2007-10-23 ES ES23157260T patent/ES2966657T3/es active Active
- 2007-10-23 ES ES21160250T patent/ES2947516T3/es active Active
- 2007-10-23 MY MYPI20091422A patent/MY142520A/en unknown
- 2007-10-23 CN CN2007800398996A patent/CN101606194B/zh active Active
- 2007-10-23 MX MX2008011898A patent/MX2008011898A/es active IP Right Grant
- 2007-10-23 BR BRPI0709310-1A patent/BRPI0709310B1/pt active IP Right Grant
- 2007-10-23 ES ES07819259T patent/ES2631906T3/es active Active
- 2007-10-23 PT PT78192598T patent/PT2076901T/pt unknown
- 2007-10-23 MY MYPI20083406A patent/MY148715A/en unknown
- 2007-10-23 RU RU2009119456/09A patent/RU2420815C2/ru active
- 2007-10-23 US US12/447,126 patent/US8452605B2/en active Active
- 2007-10-23 MX MX2009004477A patent/MX2009004477A/es active IP Right Grant
- 2007-10-23 HU HUE23157260A patent/HUE064482T2/hu unknown
- 2007-10-23 EP EP09010010.8A patent/EP2109098B1/en active Active
- 2007-10-23 EP EP07819260A patent/EP1994530B1/en active Active
- 2007-10-23 US US17/845,375 patent/USRE50009E1/en active Active
- 2007-10-23 PL PL09010010T patent/PL2109098T3/pl unknown
- 2007-10-23 AU AU2007308416A patent/AU2007308416B2/en active Active
- 2007-10-23 PT PT211602503T patent/PT3848928T/pt unknown
- 2007-10-23 DK DK21160250.3T patent/DK3848928T3/da active
- 2007-10-23 PL PL23157260.3T patent/PL4207189T3/pl unknown
- 2007-10-23 US US17/845,435 patent/USRE50015E1/en active Active
- 2007-10-23 PT PT07819260T patent/PT1994530E/pt unknown
- 2007-10-23 EP EP07819259.8A patent/EP2076901B8/en active Active
- 2007-10-23 JP JP2009533722A patent/JP4936569B2/ja active Active
- 2007-10-23 US US17/845,632 patent/USRE50159E1/en active Active
- 2007-10-23 AT AT07819260T patent/ATE435480T1/de active
- 2007-10-25 AR ARP070104728A patent/AR063394A1/es active IP Right Grant
- 2007-10-25 TW TW096140028A patent/TWI357065B/zh active
- 2007-10-25 TW TW096140030A patent/TWI355649B/zh active
- 2007-10-25 AR ARP070104739A patent/AR063400A1/es active IP Right Grant
-
2008
- 2008-08-31 IL IL193786A patent/IL193786A/en active IP Right Grant
- 2008-09-19 NO NO20084012A patent/NO341567B1/no unknown
- 2008-11-27 HK HK08112967.6A patent/HK1119824A1/xx unknown
- 2008-12-04 ZA ZA200810308A patent/ZA200810308B/xx unknown
-
2009
- 2009-03-30 ZA ZA200902199A patent/ZA200902199B/xx unknown
- 2009-04-05 IL IL197976A patent/IL197976A/en active IP Right Grant
- 2009-05-19 NO NO20091951A patent/NO341610B1/no unknown
-
2013
- 2013-01-15 US US13/742,246 patent/US8775193B2/en active Active
-
2017
- 2017-03-23 NO NO20170452A patent/NO342691B1/no unknown
-
2018
- 2018-08-10 HK HK18110291.5A patent/HK1251073A1/zh unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PT1994530E (pt) | Equipamento e método para a geração de valores de sub-banda de áudio e equipamento e método para a geração de amostras de áudio no domínio do tempo | |
USRE50158E1 (en) | Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples |