BR112016020841B1 - Codificador, decodificador e método para codificação e decodificação - Google Patents

Codificador, decodificador e método para codificação e decodificação Download PDF

Info

Publication number
BR112016020841B1
BR112016020841B1 BR112016020841-2A BR112016020841A BR112016020841B1 BR 112016020841 B1 BR112016020841 B1 BR 112016020841B1 BR 112016020841 A BR112016020841 A BR 112016020841A BR 112016020841 B1 BR112016020841 B1 BR 112016020841B1
Authority
BR
Brazil
Prior art keywords
signal
residual signal
audio signal
prediction coefficients
lpc
Prior art date
Application number
BR112016020841-2A
Other languages
English (en)
Other versions
BR112016020841A2 (pt
Inventor
Tom Bãckstrõm
Johannes Fischer
Christian Helmrich
Original Assignee
Fraunhofer-Gesellschaft Zur Fõrderung Der Angewandten Forschung E.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft Zur Fõrderung Der Angewandten Forschung E.V. filed Critical Fraunhofer-Gesellschaft Zur Fõrderung Der Angewandten Forschung E.V.
Publication of BR112016020841A2 publication Critical patent/BR112016020841A2/pt
Publication of BR112016020841B1 publication Critical patent/BR112016020841B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook

Landscapes

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

Abstract

CODIFICADOR, DECODIFICADOR E MÉTODO PARA CODIFICAÇÃO E DECODIFICAÇÃO. Codificador para codificar um sinal de áudio em um fluxo de dados compreende um previsor, um fatorador, um transformador e um estágio de quantificação ou codificação. O previsor é configurado para analisar o sinal de áudio para obter coeficientes de previsão que descrevem um análogo espectral do sinal de áudio ou uma frequência fundamental do sinal de áudio e submete o sinal de áudio a uma função de filtro de análise dependente dos coeficientes de previsão para produzir um sinal residual do sinal de áudio. O fatorador é configurado para aplicar um fatoramento de matriz sobre uma matriz de audiocorrelação ou de covariância da função do filtro de síntese definida pelos coeficientes de previsão para obter matrizes fatoradas. O transformador é configurado para transformar o sinal residual com base nas matrizes fatoradas para obter um sinal residual transformado. O estágio de quantificação e decodificação é configurado para quantificar o sinal residual transformado para obter um sinal residual transformado quantificado ou um sinal residual transformado quantificado codificado.

Description

[001] Descrição
[002] As modalidades da presente invenção referem-se a um codificador para codificar um sinal de áudio para obter um fluxo de dados e a um decodificador para decodificar um fluxo de dados para obter um sinal de áudio. Outras modalidades referem-se ao método correspondente para codificar um sinal de áudio e para decodificar um fluxo de dados. Outra modalidade refere-se a um programa de computador que executa as etapas dos métodos de codificação e/ou decodificação.
[003] O sinal de áudio a ser codificado pode, por exemplo, ser um sinal de fala; isto é, o codificador corresponde a um codificador de fala e o decodificador corresponde a um decodificador de voz. O paradigma mais utilizado na codificação de voz é a previsão linear excitada por código algébrico (ACELP) que é usada em padrões como a família AMR, G.718 e MPEG USAC. Ele baseia- se na modelagem de fala utilizando um modelo de origem, constituído por um previsor linear (LP) para modelar o envelope espectral, um previsor de longo prazo (LTP) para modelar a frequência fundamental e um livro código algébrico para o residual. Os parâmetros do livro código são otimizados em um domínio de síntese perceptualmente ponderado. O modelo perceptual é baseado no filtro, pelo qual o mapeamento a partir do residual para a saída ponderada é descrito por uma combinação de previsor linear e o filtro ponderado.
[004] A maior porção da complexidade computacional em codecs ACELP é gasta na escolha da entrada do livro código algébrica, que está na quantificação do residual. O mapeamento a partir do domínio residual para o domínio de síntese ponderado é essencialmente uma multiplicação por uma matriz de tamanho N x N, sendo que N é o comprimento do vetor. Devido a este mapeamento, em termos de SNR de saída ponderada (razão de sinal-ruído), as amostras residuais são correlacionadas e podem não ser quantificadas de forma independente. Segue-se que todo o vetor do livro código potencial tem de ser avaliado explicitamente no domínio de síntese ponderado para determinar a melhor entrada. Esta abordagem é conhecida como o algoritmo de análise por síntese. O desempenho ideal só é possível com uma pesquisa de força bruta do livro código. O tamanho do livro código depende da taxa de bits, mas dada uma taxa de bits de B, existem 2B entradas para avaliar a complexidade total de O(2BN2), que é claramente irrealista quando B é maior ou igual a 11. Em codecs da prática, portanto, empregam quantificações não ideais que equilibram a complexidade e qualidade. Vários destes algoritmos iterativos para encontrar a melhor quantificação que limitam a complexidade ao custo de precisão foram apresentados. Para superar essa limitação, é necessária uma nova abordagem.
[005] É um objeto da presente invenção fornecer um conceito para codificar e decodificar sinais de áudio, evitando os inconvenientes acima referidos.
[006] O objetivo é resolvido pelas reivindicações independentes.
[007] A primeira modalidade fornece um codificador para codificar um sinal de áudio em um fluxo de dados. O codificador compreende um previsor (linear ou a longo prazo), um fatorador, um transformador e um estágio de codificação quantificado. O previsor é configurado para analisar o sinal de áudio para obter coeficientes de previsão que descrevem um envelope espectral do sinal de áudio ou uma frequência fundamental do sinal de áudio e para submeter o sinal de áudio a uma função de filtro de análise dependente dos coeficientes de previsão para produzir um sinal residual do sinal de áudio. O fatorador é configurado para aplicar um fatoramento de matriz sobre uma matriz de autocorrelação ou de covariância de uma função de filtro de síntese definida pelos coeficientes de previsão para obter matrizes fatoradas. O transformador é configurado para transformar o sinal residual com base nas matrizes fatoradas para obter um sinal residual transformado. O estágio de quantificação ou codificação é configurado para quantificar o sinal residual da transformada para obter um sinal residual transformado quantificado ou um sinal residual transformado quantificado codificado.
[008] Outra modalidade fornece um decodificador para decodificar um fluxo de dados para um sinal de áudio. O decodificador compreende um estágio de decodificação, um retransformador e um estágio de síntese. O estágio de decodificação é configurado para produzir um sinal residual de transformada com base em um sinal residual de transformada quantificado de entrada ou com base em um sinal residual de transformada quantificado de entrada codificado. O retransformador é configurado para retransformar um sinal residual a partir do sinal residual transformado com base nas matrizes fatoradas que resultam de um fatoramento de matriz de uma matriz de autocorrelação e covariância de uma função de filtro de síntese definida pelos coeficientes de previsão (LPC) que descrevem um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio para obter matrizes fatoradas. O estágio de síntese é configurado para sintetizar o sinal de áudio com base no sinal residual usando a função de filtro de síntese definida pelo coeficiente de previsão.
[009] Como pode ser visto a partir destas duas modalidades, a codificação e a decodificação são processos de duas fases, o que torna este conceito comparável à ACELP. A primeira etapa permite a quantificação da sintetização com respeito ao envolvente espectral ou frequência fundamental, sendo que o segundo estágio permite que a quantificação (direta) ou sintetização do sinal residual, também referido como sinal de excitação e que representa o sinal após a filtragem do sinal com o envolvente espectral ou a frequência fundamental do sinal de áudio. Além disso, de forma análoga ao ACELP, a quantificação do sinal residual ou sinal de excitação está em conformidade com um problema de otimização, em que a função objetiva do problema de otimização de acordo com os ensinamentos aqui divulgados difere substancialmente quando comparada com a ACELP. Em detalhe, os ensinamentos da presente invenção baseiam-se no princípio de que o fatorizamento da matriz é usado para descorrelacionar a função objetiva do problema de otimização, por meio de que a iteração computacional cara pode ser evitada e o desempenho ideal é garantido. O fatoramento da matriz, que é uma etapa central das modalidades fechadas, está incluído na modalidade do codificador e pode, de preferência, mas não necessariamente, ser incluído na modalidade do decodificador.
[010] O fatoramento da matriz pode basear-se em diferentes técnicas, por exemplo, decomposição de autovalor, fatoramento de Vandermonde ou qualquer outro fatoramento, sendo que para cada técnica escolhida o fatoramento fatora uma matriz, por exemplo a matriz de autocorrelação ou de covariância da função de filtro de síntese, definida pelos coeficientes de previsão (lineares ou de longo prazo), que são detectados pelo primeiro áudio no primeiro estágio (previsor linear ou previsor de longo prazo) da codificação ou decodificação.
[011] De acordo com outra modalidade o fatorador fatora a função de filtro de síntese, que compreende os coeficientes de previsão que são armazenados usando uma matriz, ou fatora uma versão ponderada da matriz da função de filtro de síntese. Por exemplo, o fatoramento pode ser realizado usando a matriz de Vandermonde V, uma matriz diagonal D e uma versão de transformada em conjunto da matriz Vandermonde V*. A matriz de Vandermonde pode ser fatorada utilizando a fórmula R = V*DV ou C = V*DV, sendo que a matriz de autocorrelação R ou a matriz de covariância C é definida por uma versão de transformada em conjunto da matriz da função do filtro de síntese H* e uma versão regular da matriz da função de síntese H, isto é, R = H*H ou C = H*H.
[012] De acordo com outra modalidade, o transformador, a partir de uma matriz diagonal previamente determinada D e uma matriz de Vandermonde previamente determinada V, transforma o sinal residual x em um sinal residual transformado y usando a fórmula Y = D1/2Vx ou a fórmula Y=DVX.
[013] De acordo com outra modalidade, o estágio de quantificação e codificação é agora capaz de quantificar o sinal residual transformado y, a fim de obter o sinal residual transformado quantificado y. Esta transformada é um problema de otimização, como discutido acima, sendo que a função objetiva
Figure img0001
é usada. Aqui, é vantajoso que esta função objetiva tenha uma complexidade reduzida quando comparada com as funções objetivas utilizadas para diferentes métodos de codificação ou decodificação, como a função objetiva usada no codificador ACELP.
[014] De acordo com uma modalidade, o decodificador recebe as matrizes fatoradas a partir do codificador, por exemplo em conjunto com o fluxo de dados, ou de acordo com outra modalidade o decodificador compreende um fatorador opcional que executa o fatoramento da matriz. De acordo com uma modalidade preferida, o decodificador recebe as matrizes fatoradas diretamente e desvia os coeficientes de previsão a partir destas matrizes fatoradas uma vez que as matrizes têm a sua origem nos coeficientes de previsão (cf. Codificador). Esta modalidade permite reduzir ainda mais a complexidade do decodificador.
[015] Outras modalidades fornecem os métodos correspondentes para codificar o sinal de áudio em um fluxo de dados e para decodificar o fluxo de dados para um sinal de áudio. De acordo com uma modalidade adicional, o método para codificação, bem como o método para decodificação pode ser executado ou, pelo menos, parcialmente executado por um processador, como uma CPU de um computador.
[016] As modalidades da presente invenção serão discutidas com referência aos desenhos anexos, nos quais
[017] Fig. 1a mostra um diagrama em bloco esquemático de um codificador para codificar um sinal de áudio de acordo com uma primeira modalidade;
[018] Fig. 1b mostra um fluxograma esquemático do método correspondente para codificar um sinal de áudio de acordo com uma primeira modalidade;
[019] Fig. 2a mostra um diagrama em bloco esquemático de um decodificador para decodificar um fluxo de dados de acordo com uma segunda modalidade;
[020] Fig. 2b mostra um fluxograma esquemático do método correspondente para decodificar um fluxo de dados de acordo com uma segunda modalidade;
[021] FIG. 3a mostra um diagrama esquemático que ilustra a razão de sinal perceptual para ruído significativa como uma função dos bits por quadro para diferentes métodos de quantificação;
[022] FIG. 3b mostra um diagrama esquemático que ilustra o tempo de funcionamento normalizado dos diferentes métodos de quantificação em função dos bits por quadro; e
[023] FIG. 3c mostra um diagrama esquemático que ilustra as características de uma transformada de Vandermonde.
[024] As modalidades da presente invenção serão posteriormente discutidas em detalhe abaixo com referência às figuras anexas. Aqui, os mesmos números de referência são fornecidos para objetos com a mesma função ou semelhante de modo que uma descrição dos mesmos é intercambiável ou mutuamente aplicáveis.
[025] A FIG. 1a mostra um codificador 10 na configuração básica. O codificador 10 compreende um previsor 12, aqui implementado como um previsor linear 12, bem como um fatorador 14, um transformador 16 e um estágio de quantificação e codificação 18.
[026] O previsor linear 12 está disposto na entrada para receber um sinal de áudio AS, de preferência, um sinal de áudio digital, como um sinal modulado por código de pulso (PCM). O previsor linear 12 é acoplado ao fatorador 14 e à saída do codificador, cf. o número de referência DSLPC/DSDV através de um chamado LPC de canal LPC. Além disso, o previsor linear 12 é acoplado ao transformador 16 através de um chamado canal residual. Vice-versa, o transformador 16 é (em adição ao canal residual) acoplado ao fatorador 14 no seu lado de entrada. No seu lado de saída o transformador é acoplado ao estágio de quantificação e codificação 18, sendo que o estágio de quantificação e codificação 18 é acoplado à saída (cf. deral de referência DS y). Os dois fluxos de dados DSLPC/DSDV e DS y formam o fluxo de dados para ser emitido.
[027] A funcionalidade do codificador 10 será discutida a seguir, sendo que referências adicionais são feitas à Fig. 1b descrevendo o método 100 para codificação. Como pode ser visto de acordo com a Fig. 1b, o método básico 100 para codificar o sinal de áudio AS em fluxos de dados DS compreende as quatro etapas básicas 120, 140, 160 e 180, que são realizadas pelas unidades 12, 14, 16 e 18. Dentro da primeira etapa 120, o previsor linear 12 analisa o sinal de áudio AS, a fim de obter coeficientes de previsão lineares LPC. Os coeficientes de previsão lineares LPC que descrevem um envelope espectral do sinal de áudio AS que permite sintetizar fundamentalmente o sinal de áudio utilizando uma chamada função de filtro de síntese H, posteriormente. A função do filtro de síntese H pode compreender valores ponderados da função do filtro de síntese definida pelos coeficientes de LPC. Os coeficientes de previsão linear LPC são emitidos para o fatorador 14 usando o LPC do canal LPC bem como encaminhados para a saída do codificador 10. O previsor linear 12, além disso, submete o sinal de áudio AS a uma função de filtro de análise H que é definida pelos coeficientes de previsão linear LPC. Este processo é o homólogo para a síntese do sinal de áudio com base nos coeficientes de LPC executados por um decodificador. O resultado desta sub-etapa é um sinal residual x emitido para o transformador 16 sem a porção do sinal descrita pela função de filtro H. Observe que esta etapa é executada quadro a quadro, ou seja, que o sinal de áudio AS que tem uma amplitude e um domínio do tempo é dividido ou amostrado em janelas de tempo (amostras), por exemplo, tendo um comprimento de 5 ms, e quantificado em um domínio de frequência.
[028] A etapa subsequente é para a transformada do sinal residual x (cf. etapa do método 160), realizada pelo transformador 16. O transformador 16 é configurado para transformar o sinal residual x, a fim de obter uma saída do sinal residual transformado y para o estágio de quantificação e codificação 18. Por exemplo, a transformada 160 pode ser com base na fórmula y=D1/2Vx ou a fórmula Y=DVx, sendo que as matrizes D e V são fornecidas pela fatorador 14. Assim, a transformada do sinal residual x baseia-se, pelo menos, em duas matrizes fatoradas V, exemplarmente referidas como matriz Vandermonde e D exemplarmente referidas como matriz diagonal.
[029] O fatoramento da matriz aplicado pode ser escolhido livremente como, por exemplo, a decomposição do autovalor, fatoramento de Vandermonde, decomposição de Cholesky ou semelhante.
[030] O fatoramento de Vandermonde pode ser usado como um fatoramento das matrizes de Toeplitz, simétricas, definidas positivas, como matrizes de autocorrelação, para o produto das matrizes de Vandermonde V e V*. Para a matriz de autocorrelação na função objetiva, isto corresponde a uma transformada de Fourier discreta deformada, que é normalmente chamada de transformada de Vandermonde. Esta etapa 140 da matriz de fatoramento realizada pelo fatorador 14 e que representa uma parte fundamental da invenção, será discutida em detalhe depois de discutir a funcionalidade do estágio de quantificação e codificação 18.
[031] O estágio de quantificação e codificação 18 quantifica o sinal residual transformado y, recebido do transformador 16, a fim de obter um sinal residual transformado quantificado y. Este sinal residual quantificado transformado y é transmitido como uma parte do fluxo de dados DSy. Observe, todo o fluxo de dados DS compreende a parte LPC, referida pela DSLPC/DSDV, e ay parte referida por DSy.
[032] A quantificação do sinal residual de transformada y pode, por exemplo, ser realizada utilizando uma função objetiva, por exemplo, em termos de
Figure img0002
Esta função objetiva tem, quando comparada com uma função objetiva típico de um codificador ACELP, uma complexidade reduzida de tal modo que a codificação é vantajosamente melhorada quanto ao seu desempenho. Esta melhoria de desempenho pode ser usada para codificar sinais de áudio AS tendo uma resolução maior ou para reduzir os recursos necessários.
[033] Deve-se observar que o sinal DSy pode ser um sinal codificado, sendo que a codificação é realizada pelo estágio de quantificação e codificação 18. Assim, de acordo com outras modalidades, o estágio de quantificação e codificação 18 pode compreender um codificador que pode ser configurado para codificação aritmética. O codificador do estágio de quantificação e codificação 18 pode utilizar as etapas de quantificação lineares (isto é igual à distância) ou variáveis, como, as etapas de quantificação logarítmicas. Alternativamente, o codificador pode ser configurado para realizar outra codificação de entropia (sem perdas), na qual o comprimento do código varia como uma função da probabilidade dos sinais de entrada singulares AS. Assim, para obter o comprimento de código ideal pode ser uma opção alternativa detectar a probabilidade dos sinais de entrada com base no envelope de síntese e, portanto, com base nos coeficientes de LPC. Portanto, o estágio de codificação quantificada também pode ter uma entrada para o canal de LPC.
[034] Abaixo, será discutido o fundamento que permite a redução da complexidade da função objetiva n (y) . Como mencionado acima, a codificação melhorada baseia-se na etapa de fatoramento da matriz 140 realizada pela fatorador 14. O fatorador 14 fatora uma matriz, por exemplo, uma matriz de autocorrelação R ou uma matriz covariância C da função de síntese de filtro H definida por um LPC de coeficientes de previsão linear (cf. Canal LPC). O resultado deste fatoramento são duas matrizes fatoradas, por exemplo, a matriz de Vandermonde V e a matriz diagonal D que representam a matriz original H que compreende os coeficientes de LPC singulares. Devido a isto as amostras do sinal residual x são descorrelacionadas. Daqui resulta que a quantificação direta (cf. etapa 180) do sinal residual da transformada é a quantificação ideal, pela qual uma complexidade computacional é quase independente da taxa de bit. Em comparação, uma abordagem convencional para a otimização do livro código ACELP deve equilibrar entre a complexidade e precisão computacional, especialmente em altas taxas de bits. O fundamento é, portanto, muito discutido a partir dos procedimentos de ACELP convencionais.
[035] A função objetiva convencional de ACELP toma a forma de uma matriz de covariância. De acordo com uma abordagem melhorada há uma função objetiva alternativa que emprega uma matriz de autocorrelação da função de síntese ponderada. Codecs baseados no sinal de ACELP otimizado para a razão de sinal para ruído (SNR) em um domínio de síntese ponderada perceptualmente. A função objetiva pode ser expressa como
Figure img0003
[036] onde x é o residual alvo, x o residual quantificado, H a matriz de convolução correspondente ao filtro de síntese ponderado e Y um coeficiente de ganho de escala. Para encontrar a quantificação ideal x, a abordagem padrão é encontrar o valor ideal de y, denotado por y*, na posição zero da derivada de n(x,Y). Ao inserir o Y* ideal na equação (1) a nova função objetiva é obtida:
Figure img0004
[037] onde H* é a versão conjugada transformada da síntese com a função H.
[038] Observe que a abordagem convencional H é uma matriz de convolução triangular inferior quadrada, em que a matriz covariância C = H*H é uma matriz de covariância simétrica. A substituição da matriz triangular inferior pela matriz de convolução de tamanho completo, em que a matriz autocorrelação R = H*H é uma matriz de Toeplitz simétrica, corresponde à outra correlação do filtro de síntese ponderado. Esta substituição resulta em reduções significativas e complexidade, com um impacto mínimo na qualidade.
[039] O previsor linear 14 pode usar ambos, ou seja, a matriz de covariância C ou a matriz autocorrelação R para o fatoramento da matriz. A discussão a seguir é feita no pressuposto de que a autocorrelação R é utilizada para modificar a função objetiva pelo fatoramento de uma matriz dependente dos coeficientes de LPC. As matrizes de Toeplitz definidas positivas simétricas como R podem ser decompostas como
Figure img0005
[040] através de vários métodos, incluindo a decomposição de autovalores. Aqui, V* é a versão transformada conjugada da matriz Vandermonde de V. Na abordagem convencional, utilizando a matriz de covariância C outra fatoramento pode ser aplicado como uma decomposição de valor singular C = USV.
[041] Para a matriz de autocorrelação um fatoramento alternativo, aqui referido como fatoramento de Vandermonde, que também tem a forma da equação (3) pode ser usado. A fatoramento de Vandermonde é um novo conceito que permite o fatoramento/transformada.
[042] A matriz de Vandermonde tem um V com valor de |vk| = 1 e
Figure img0006
[043] e D é uma matriz diagonal com entradas estritamente positivas. A decomposição pode ser calculada com precisão arbitrária com complexidade O(N3). A decomposição direta tem tipicamente complexidade computacional de O(N A 3), mas aqui pode ser reduzida para O(N A 2) ou se um fatoramento aproximado for suficiente, então, a complexidade pode ser reduzida para O (N log N). Para a decomposição escolhida, pode ser definida:
Figure img0007
[044] onde x = V-1D-1/2y e inserção na equação (2) podem ser obtidos: i *.
Figure img0008
[045] Observe que aqui, as amostras de y não estão correlacionadas entre si, e a função objetiva acima é nada mais do que uma correlação normalizada entre o residual alvo e o quantificado. Daqui resulta que as amostras de y podem ser quantificadas de forma independente e se a precisão de todas as amostras for igual, então esta quantificação produz a melhor precisão possível.
[046] No caso do fatoramento de Vandermonde, uma vez que V tem um valor de |vk| = 1 ele corresponde a uma transformada de Fourier discreta deformada e os elementos de y correspondem a um componente da frequência do residual. Além disso, a multiplicação pela matriz diagonal D corresponde a um dimensionamento das bandas de frequência e segue-se que y é uma representação do domínio de frequência do residual.
[047] Em contraste, a decomposição do autovalor tem uma interpretação física apenas quando o comprimento da janela se aproxima do infinito, quando a decomposição do autovalor e transformada de Fourier coincidem. As decomposições do autovalor de comprimento finito, por conseguinte, são vagamente relacionadas com uma representação do sinal de frequência, mas a rotulagem dos componentes de frequências é difícil. Ainda assim, a decomposição do autovalor é conhecida por ser uma base ideal, pela qual pode, em alguns casos obter o melhor desempenho.
[048] A partir destas duas matrizes fatoradas V e D o transformador 16 executa a transformada 160 como aquele sinal residual x é transformado utilizando o vetor descorrelacionado definido pela equação (5).
[049] Assumindo x é ruído branco não correlacionado, então, as amostras de Vx também terão expectativa de energia igual. Como resultado disto, um codificador aritmético ou um codificador que usa um livro código algébrico para codificar os valores pode ser utilizado.
[050] No entanto, a quantificação de Vx não é ideal no que diz respeito à função objetiva, uma vez que omite a matriz diagonal D1/2.
[051] Por outro lado, a transformação completa y = D1/2Vx inclui o dimensionamento pela matriz diagonal D, o que muda a expectativa de energia das amostras de y. Criar um livro código algébrico com variância não-uniforme não é trivial. Portanto, pode ser uma opção usar um livro código aritmético ao invés para obter consumo de bit ideal. A codificação aritmética pode então ser definida exatamente como revelado em [14].
[052] Observe que, se a decomposição é usada, como a transformada de Vandermonde ou outra transformada complexa, as partes reais e imaginárias são variáveis aleatórias independentes. Se a variante da variável complexa é o2, então as partes reais e imaginárias tem uma variância de o2/2. As decomposições com valores reais como a decomposição de autovalor fornecem somente valores reais, através dos quais a separação de partes real e imaginária não é necessária. Para um desempenho mais elevado com transformadas com valores complexos, os métodos convencionais para a codificação aritmética dos valores complexos podem ser aplicados.
[053] De acordo com a modalidade acima os coeficientes de previsão LPC (cf. DSLPC) são produzidos como sinais LSF (sinais de frequência espectral da linha), sendo que é uma opção alternativa para produzir os coeficientes de previsão LPC dentro de matrizes fatoradas V e D (cf. DSDV). Esta opção alternativa está implícita pela linha pontilhada marcada por V,D e indicação de que DSDV resulta da saída do fatorador 14.
[054] Portanto outra modalidade da invenção refere-se a um fluxo de dados (DS) que compreende os coeficientes de previsão LPC na forma de duas matrizes fatoradas (DSVD).
[055] Com referência à Fig. 2, o decodificador 20 e o método correspondente 200 para decodificação serão discutidos.
[056] A FIG. 2a mostra o decodificador 20 que compreende um estágio de decodificação 22, um fatorador opcional 24, um retransformador 26 e um estágio de síntese 28. O estágio de decodificação 22, bem como o fatorador 24 estão dispostos na entrada do decodificador 20 e, assim, configurado para receber o fluxo de dados DS. Em detalhe, uma primeira parte do fluxo de dados DS, a saber, os coeficientes de previsão lineares são fornecidos ao fatorador opcional 24 (cf. DSLPC/DSDV), em que a segunda parte, a saber, o sinal residual de transformada quantificado y ou o sinal residual de transformada quantificado codificado y são fornecidos para o estágio de codificação 22 (cf. DSy). O estágio de síntese 28 é providenciado na saída do decodificador 20 e configurado para produzir um sinal de áudio AS’ similar, mas não igual ao sinal de áudio AS.
[057] A sintetização do sinal de áudio AS’ é baseada nos coeficientes de LPC (cf. DSLPC/DSDV) e baseada no sinal residual x. Assim, o estágio de síntese 28 é acoplado à entrada para receber o sinal DSLPC e para o retransformador 26 que fornece o sinal residual x. O retransformador 26 calcula o sinal residual x com base no sinal residual transformado y e com base em, pelo menos, duas matrizes fatoradas V e D. Assim, o retransformador 26 tem pelo menos duas entradas, nomeadamente uma primeira para receber V e D, por exemplo, do fatorador 24, e uma para receber um sinal residual transformado y a partir do estágio de decodificador.
[058] A funcionalidade do decodificador 20 será discutida em detalhe a seguir tomando referência ao método correspondente 200 ilustrado na Fig. 2b. O decodificador 20 recebe o fluxo de dados DS (de um codificador). Este sinal de dados DS permite ao decodificador 20 sintetizar o sinal de áudio AS’, sendo que a parte do fluxo de dados referida por DSLPC/DSDV permite a síntese do sinal fundamental, sendo que a parte referida por DSy permite a síntese da parte detalhada do sinal de áudio AS’. Dentro de uma primeira etapa 220 o estágio decodificador 22 decodifica o sinal DSy de entrada e produz o sinal residual transformado y para o retransformador 26 (cf. etapa 260).
[059] Em paralelo ou em série o fatorador 24 realiza um fatoramento (cf. etapa 240). Como discutido no que diz respeito à etapa 140 o fatorador 24 aplica um fatoramento de matriz para a matriz de autocorrelação R ou a matriz de covariância C de uma função de filtro de síntese H, ou seja, que o fatoramento usada pelo decodificador 20 é semelhante ou quase semelhante à fatorização descrita no contexto da codificação (cf. método 100) e, assim, pode ser um autovalor de decomposição ou um fatoramento de Cholesky como discutido acima. Aqui, uma função de filtro de síntese H é desviada da entrada de fluxo de dados DSLPC/DSDV. Além disso, o fatorador 24 emite as duas matrizes fatoradas V e D para o transformador 26.
[060] Com base na duas matrizes V e D as retransformador 26 retransforma um sinal residual x do sinal residual transformado y e emite o x para a etapa de síntese 28 (cf. etapa 280). A etapa de síntese 28 sintetiza o sinal de áudio AS' com base no sinal residual x, bem como com base nos coeficientes de LPC LPC recebidos como fluxo de dados DSLPC/DSDV. Deve-se observa que o sinal de áudio AS' é semelhante, mas não igual ao sinal de áudio AS uma vez que a quantização realizada pelo decodificador 10 não é sem perdas.
[061] De acordo com uma modalidade, as matrizes fatoradas V e D podem ser fornecidas para o retransformador 26 a partir de uma outra entidade, por exemplo, diretamente a partir do codificador 10 (como parte do fluxo de dados). Assim, o fatorador 24 do decodificador 20, bem como a etapa 240 de fatoramento de matriz são entidades/etapas opcionais e, portanto, ilustradada pelas linhas tracejados. Aqui, pode ser uma opção alternativa que os coeficientes de previsão LPC (com base no qual a síntese 280 é realizada) possam ser derivados a partir da entrada das matrizes fatoradas V e D. Em outras palavras, isso significa que o fluxo de dados DS compreende DSy e as matrizes V e D (i.e. DSDV) no lugar de DSy e DSLPC.
[062] As melhorias de desempenho da codificação descrita acima (assim como a decodificação) são discutidas abaixo com referência às Fig. 3a e 3b.
[063] A Fig. 3a mostra um diagrama que ilustra o perceptual médio para a razão sinal-ruído como uma função de bits usada para codificar o comprimento a receber e igualar a 64 quadros. No diagrama, cinco curvas para cinco abordagens diferentes de quantização são ilustradas, em que duas abordagens, ou seja, quantização óptima e a quantização iterativa em pares são abordagens convencionais. A Fórmula (1) constitui a base da presente comparação. Como uma comparação do desempenho de quantização do método proposto de decorrelação com a representação de domínio de tempo convencional do sinal residual, o codec ACELP foi implementado como se segue. O sinal de entrada foi refeito para 12,8 kHz e um preditor linear foi estimado com uma janela de Hamming de comprimento 32 ms, centrada em cada quadro. A previsão residual foi, em seguida, calculada para os quadros de comprimento de 5 ms, o que corresponde a uma subtrama do codec AMR-WB. Um previsor a longo prazo foi otimizado por atrasos inteiros entre 32 e 150 amostras, com uma busca exaustiva. O valor óptimo foi utilizado para o ganho de LTP sem quantização.
[064] A pré-enfâse com filtro (1 - 0,68z-1) foi aplicada ao sinal de entrada e na síntese como em AMR-WB. A ponderação perceptual aplicada foi A(0,92z-1), onde A(z) é um filtro de predição linear.
[065] Para avaliar o desempenho, é necessário comparar a quantização proposta com abordagens convencionais (quantização óptima e quantização iterativa em pares). As abordagens mais frequentemente utilizadas dividem o sinal residual de um quadro de um comprimento de 64 quadros em 4 faixas entrelaçadas. Essa abordagem foi aplicada com dois métodos, ou seja, a abordagem da quantização óptima (cf. pela Opt), em que todas as combinações são julgadas em uma busca exaustiva ou a quantização iterativa em pares (cf. Pair), onde dois pulsos foram consecutivamente adicionados experimentado-os em todas as possíveis posições.
[066] O antigo torna-se computacionalmente complexo e inviável para taxas de bits acima de 15 bits por quadro, enquanto o último é subóptimo. Observe também que o último é mais complexo do que os métodos avançados aplicados nos codecs, tais como AMR-WB mas, portanto, é também, muito provável, que produza melhor para a razão sinal-ruído. Os métodos convencionais são comparados com os algoritmos discutidos acima para quantização.
[067] A quantização de Vandermonde (cf. Vand) transforma o vetor residual x por y = D1/2Vx onde as matrizes V e D são obtidas a partir do fatoramento de Vandermonde e a quantização é feita usando o codificador aritmético. A quantização Eigenvalue (cf. Eig) é semelhante à quantização de Vandermonde, mas onde as matrizes V e D são obtidas por decomposição de autovalores. Além disso, uma quantização FFT (cf. FFT) também pode ser aplicada, ou seja, de acordo com a uma modalidade adicional, a combinação de janelamento, utilizando filtros na transformação de y = D1/ 2Vx pode ser usada no lugar da transformada discreta de Fourier (DFT), a transformada discreta de coseno (DCT), a transformada discreta de coseno modificada ( MDCT) ou outras transformações em algoritmos de processamento de sinal. A FFT (transformada rápida de Fourier) do sinal residual é tomada onde o mesmo codificador aritmético da quantização de Vandermonde é aplicado. A abordagem FFT irá, obviamente, dar uma má qualidade, uma vez sabe-se bem que é importante levar a correlação entre as amostras na equação (2) em consideração. Essa quantização é, assim, um ponto de referência inferior.
[068] A demonstração do desempenho do método descrito é ilustrado pela Fig. 3a avaliando a percepção longa da razão sinal-ruído e a complexidade dos métodos, como definido pela equação (1). Pode claramente ser visto que, como esperado, a quantização no domínio FFT dá a pior razão sinal-ruído. O mau desempenho pode ser atribuído ao fato de que essa quantização não leva em conta a correlação entre as amostras residuais. Além disso, pode-se afirmar que a quantização óptima dos sinais residuais de domínio de tempo é igual à optimização em pares a 5 e 10 bits por quadro, uma vez que a essas taxas de bits existem apenas 1 ou 2 impulsos, em que os métodos são exatamente os mesmos. Para 15 bits por quadro o melhor método é ligeiramente melhor do que a otimização em pares como esperado.
[069] A 10 bits por quadro e acima, uma quantização no domínio de Vandermonde é melhor do que as quantizações no domínio do tempo e o domínio de Eigenvalue é um pouco melhor do que o domínio de Vandermonde. A 5 bits por quadro, o desempenho de codificadores aritmétics diminui rapidamente, mais provável, porque é conhecido por ser subóptimo para sinais muito esparsos.
[070] Observe também que o método em pares começa a desviar-se do método em pares acima de 80 bits por quadro. Experimentos informais mostram que essa tendência aumenta a taxas de bits mais elevados de modo que, eventualmente, o FFT e os métodos em pares alcançam semelhante sinal- ruído, muito menor do que o dos métodos de Eigenvalue e Vandermonde. Em contraste, o valor de Eigenvalue de de Vandermonde continuam como mais ou menos funções lineares de taxa de bits. O método de Eigenvalue é consistentemente aproximadamente 0.36dB melhor do que o método de Vandermonde. A hipótese é que pelo menos parte dessa diferença é explicada pela separação das partes reais e complexas no codificador aritmético. Para um desempenho ideal, as partes reais e complexas devem ser codificadas em conjunto.
[071] A Fig. 3b mostra uma medição do tempo de execução de cada abordagem em cada taxa de bits para ilustrar uma estimativa da complexidade dos diferentes algoritmos. Pode ser visto que a complexidade da abordagem óptima no domínio do tempo (cf. Opt) já explode com baixas taxas de bits. A optimização em pares do domínio do tempo residual (cf. par), por sua vez, aumenta linearmente com uma função de taxa de bits. Observe que métodos avançados limitam a complexidade da abordagem em pares de tal forma que torna-se constante para taxas de bits elevadas, embora o sinal competitivo para os resultados da razão Além disso, ambas as abordagens de decorrelação (cf. Eig e Vand), bem como a abordagem FFT (cf. FFT) são aproximadamente taxas de bits gerais constantes. A transformada de Vandermonde tem na aplicação acima aproximadamente uma complexidade 50% mais elevada do que o método de Eigendecomposition, mas a razão para isto pode ser explicada pela utilização da versão altamente optimizada do Eigendecomposition fornecida pelo MATLAB, ao etapa que o fatoramento de Vandermonde não é uma implementação óptima. É importante notar, no entanto, a uma taxa de 100 bits por quadro, o ACELP em pares optimizado é aproximadamente 30 e 50 vezes tão complexo como um Vandermonde e o algoritmo com base em Eigendecomposition, respectivamente. Apenas a FFT é mais rápida do que o método eigendecomposition, mas uma vez que a razão sinal-ruído de FFT é fraca, não é uma opção viável.
[072] Para resumir, o método descrito acima tem dois benefícios significativos. Em primeiro lugar, através da aplicação de quantização no domínio perceptual, o rzão perceptual sinal-ruído é melhorada. Em segundo lugar, uma vez que o sinal residual é (com respeito à função objetivo) uma quantização pode ser aplicada diretamente, sem o altamente complexo circuito de análise por síntese. Segue que a complexidade computacional do método proposto é quase constante em relação a taxas de bits, ao etapa que a abordagem convencional, torna-se cada vez mais complexa com o aumento da taxa de bits.
[073] A abordagem apresentada acima é totalmente inoperacional com discurso convencional e métodos de codificação de áudio. Especificamente, a decorrelação da função objetivo pode ser aplicada no modo ACELP de códigos, tais como MPEG ou USAC AMR-WB +, sem restrição às outras ferramentas presentes no codec. As maneiras nais quais o núcleo da largura de banda ou os métodos de extensão de largura de banda são aplicadas permaneceriam as mesmas, as formas da previsão de longo prazo, o aumento formante, a baixa pós-filtragem etc., em um ACELP não precisam ser alteradas e as maneiras nas quais diferentes modos de codificação, tais são implementadas (como ACELP e TCX) e alternar entre esses modos não seria afetado da decorrelação da função objetivo.
[074] Por outro lado, é óbvio que todas as ferramentas (isto é, pelo menos, todas as implementações ACELP) que usam a mesma função de objetivo (cf. equação (1)) podem ser prontamente reformuladas de modo a tirar proveito da decorrelação. Assim, de acordo com uma modalidade adicional, a decorrelação, por exemplo, a contribuição de previsão a longo prazo pode ser aplicada e, assim, os fatores de ganho podem ser calculados usando o sinal decorrelacionado. Além disso, uma vez que o domínio de transformada apresentado é uma representação de domínio de frequência, os métodos clássicos de expressão de domínio de frequência e de codecs de áudio poderão também ser aplicados a este novo domínio de acordo com outras modalidades. De acordo com uma modalidade especial, na quantização de linhas espectrais, uma zona morta pode ser aplicada para aumentar a eficiência. De acordo com uma outra modalidade, o preenchimento de ruído pode ser aplicado para evitar buracos espectrais.
[075] Embora a modalidade acima de codificação (cf. Figs. 1a e 1b) tenha sido discutida no contexto de um codificador utilizando um preditor linear, deve- se notar que o previsor também pode ser configurado para conter um previsor a longo prazo para determinar coeficientes de predição de longo tempo que descrevem a frequência fundamental do sinal de áudio AS e para filtrar o sinal de áudio AS com base em uma função de filtro definida pelos coeficientes de predição de longo tempo e para a saída do sinal residual x para o processamento posterior. De acordo com uma modalidade adicional o previsor pode ser uma combinação de um preditor linear e preditor de tempo longo.
[076] É claro que a transformada proposta pode ser prontamente aplicada a outras tarefas de fala e de processamento de áudio, tais como potenciação da fala. Em primeiro lugar, os métodos baseados em subespaço são baseados na decomposição de autovalor ou na decomposição em valores singulares do sinal. Uma vez que a abordagem apresentada baseia-se em decomposições semelhantes, métodos de melhoramento de voz com base na análise de subespaço podem ser adaptados ao domínio proposto de acordo com a uma modalidade adicional. A diferença para os métodos convencionais de subespaço é quando um modelo de sinal, baseado em predição e janelamento e no domínio linear residual, é aplicado, tal como é aplicado no ACELP. Em contraste, os métodos tradicionais subespaciais aplicam sobreposição de janelas que são fixadas ao longo do tempo (não-adaptativo).
[077] Em segundo lugar, a decorrelação baseada na decorreação de Vandermonde fornece um domínio de frequência semelhante ao proporcionado pela Fourier discreta, cosseno ou outras transformações semelhantes. Qualquer algoritmo de processamento de voz, que executa normalmente na Fourier, cosseno ou domínio de transformada semelhante pode, assim, ser aplicado com modificações mínimas também nos domínios de transformada da abordagem descrita acima. Assim, o melhoramento de voz utilizando a subtração espectral no domínio de transformada pode ser aplicado. isto é, isso significa que de acordo com outras modalidades da transformada proposta pode ser utilizado na melhoria da fala ou do áudio, por exemplo, com o método de subtração espectral, análise de subespaço ou seus derivados e modificações. Aqui, as vantagens são que essa abordagem utiliza o mesma janelamento que o ACELP de modo que o algoritmo de melhoramento de voz pode ser integrado em um codec de voz. Além disso, a janela de ACELP tem menor atraso algorítmico do que as utilizadas na análise de subespaço convencional. Consequentemente, o janelamento é, portanto, baseado em um modelo de sinal de desempenho superior.
[078] Referindo-se à equação (5), que é usada para o transformador 14, ou seja, dentro da etapa 140, deve-se observar que a sua criação pode também ser diferente, por exemplo, na forma de y = DVx.
[079] De acordo com uma modalidade adicional o codificador 10 pode compreender um embalador na saída configurada para empacotar os dois fluxos de dados DSLPC/DSDV e a um pacote comum DS. Vice-versa, o decodificador 20 pode compreender um desempacotador configurado para dividir o fluxo de dados DS em duas pacotes DSLPC/DSDV e DSy..
[080] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é claro que esses aspectos representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método, ou uma característica de uma etapa do método. Analogamente, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco correspondente ou item ou característica de um aparelho correspondente. Algumas ou todas as etapadas do método podem ser executadas por (ou com) um aparelho de hardware, como por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas modalidades, algumas ou mais das etapas mais importantes do método podem ser executadas por um tal aparelho.
[081] O sinal de áudio de evento codificado pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão, tal como um meio de transmissão sem fio ou um meio de transmissão por fio, como a Internet.
[082] Dependendo de certos requisitos de aplicação, as modalidades do invento podem ser implementadas em hardware ou em software. A implementação pode ser realizada utilizando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, EEPROM ou uma memória flash, com sinais de controle eletronicamente legíveis armazenados nos mesmos, os quais cooperam (ou são capazes de cooperar) com um sistema de computador programável de modo que o respectivo método é realizado. Portanto, o meio de armazenamento digital pode ser legível por computador.
[083] Algumas modalidades de acordo com a invenção compreendem um transportador de dados com sinais de controle legíveis eletronicamente, os quais são capazes de cooperar com um sistema de computador programável, de tal modo que um dos métodos aqui descritos é realizado.
[084] Geralmente, modalidades do presente invento podem ser implementadas como um produto de programa de computador com um código de programa, o código de programa sendo operativo para a realização de um dos métodos quando o programa de computador do produto é executado em um computador. O código de programa pode por exemplo, ser armazenado em uma portadora legível da máquina.
[085] Outras modalidades compreendem o programa de computador para a realização de um dos métodos aqui descritos, armazenados em um portador legível por máquina.
[086] Em outras palavras, uma modalidade do método da invenção é, portanto, um programa de computador tendo um código de programa para realizar um dos métodos aqui descritos, quando o programa de computador é executado em um computador.
[087] Uma modalidade adicional dos métodos da invenção é, portanto, um suporte de dados (ou um meio de armazenamento digital, ou um meio legível por computador) que compreende, nele gravado, o programa de computador para a realização de um dos métodos aqui descritos. O suporte de dados, o meio de armazenamento digital ou a forma gravada são normalmente tangíveis e/ou não- transitórios.
[088] Uma modalidade adicional do método do invento é, por conseguinte, um fluxo de dados ou uma sequência de sinais, que representam o programa de computador para a realização de um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurados para ser transferidos através de uma conexão de comunicação de dados, por exemplo através da Internet.
[089] Uma modalidade adicional compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado para ou adaptado para executar um dos métodos aqui descritos.
[090] Uma modalidade adicional compreende um computador ter instalado nele o programa de computador para a realização de um dos métodos aqui descritos.
[091] Uma modalidade adicional de acordo com a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou opticamente) um programa de computador para a realização de um dos métodos aqui descritos para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou outros semelhantes. O aparelho ou sistema pode, por exemplo, compreender um servidor de arquivo para a transferência do programa de computador para o receptor.
[092] Em algumas modalidades, um dispositivo de lógica programável (por exemplo, uma matriz de portas programáveis de campo) pode ser utilizado para realizar algumas ou todas as funcionalidades dos métodos aqui descritos. Em algumas modalidades, uma disposição de portas programáveis de campo pode cooperar com um microprocessador, a fim de realizar uma dos métodos aqui descritos. Geralmente, os métodos são de preferência realizados por qualquer aparelho de hardware.
[093] Os ensinamentos acima descritos serão discutidos abaixo com diferente teor e mais alguns detalhes que podem ajudar a iluminar o fundamento da invenção. A transformada de Vandermonde foi recentemente apresentada como uma transformada de frequência-tempo, com diferença para a transformada de Fourier discreta, também decorrelata o sinal. Embora a decorrelação aproximada ou assintótica fornecida por Fourier seja suficiente em muitos casos, seu desempenho é inadequado em aplicações que empregam janelas curtas. A transformada de Vandermonde, portanto, é útil em aplicações de voz e de processamento de áudio, que têm de usar janelas de análise curtas, porque o sinal de entrada varia rapidamente ao longo do tempo. Tais aplicações são muitas vezes utilizadas em dispositivos móveis com capacidade computacional limitada, pelo que os cálculos eficientes são de suma importância.
[094] A implementação da transformada de Vandermonde tem, no entanto, se tornado um esforço considerável: ela requer ferramentas numéricas avançadas cujo desempenho é otimizado para a complexidade e precisão. Essa contribuição é uma solução de linha de base para essa tarefa, incluindo uma avaliação de desempenho. Palavras-chave - transformadas de tempo- frequência, decorrelação, matriz de Vandermonde, matriz de Toeplitz, transformada discreta de Fourier.
[095] A transformada discreta de Fourier é uma das ferramentas mais fundamentais em processamento de sinal digital. Ela fornece uma representação fisicamente motivada de um sinal de entrada na forma de componentes de frequência. Uma vez que a Transformada Rápida de Fourier (FFT) calcula a transformada discreta de Fourier também com muito baixa complexidade computacional O (N log N), ela tornou-se uma das ferramentas mais importantes de processamento de sinal digital.
[096] Embora famosa, a transformada de Fourier discreta tem um defeito: não descorrelaciona os componentes de sinal completamente (para um exemplo numérico, ver Seção 4). Apenas quando o comprimento da transformada converge para infinito os componentes se tornam ortogonais. Tal descorrelação aproximada é, em muitas aplicações, boa o bastante. No entanto, aplicações que utilizam transformadas relativamente pequenas como muitos algoritmos de processamento de fala e áudio, a precisão dessa aproximação limita a eficiência geral dos algoritmos. Por exemplo, o padrão de codificação de fala AMR-WB utiliza janelas de comprimento N = 64. A prática tem mostrado que o desempenho da transformada de Fourier discreta é, nesse caso, insuficiente e, consequentemente, a maioria dos codecs de fala dominantes usa codificação por domínio de tempo.
[097] A Fig. 3c mostra características de uma transformada de Vandermonde; a linha grossa marcada por 51 ilustra o espectro de Fourier (não deformado) de um sinal e as linhas 52, 53 e 54 são a resposta de filtros passa- banda de três sequências selecionadas, filtradas com o sinal de entrada. O tamanho do fatoramento de Vandermonde é 64.
[098] Existem, naturalmente, várias transformadas que proveem descorrelação do sinal de entrada, como a transformada de Karhunen-Loève (KLT). No entanto, os componentes da KLT são entidades abstratas sem uma interpretação física tão simples quanto a transformada de Fourier. Um domínio fisicamente motivado, por outro lado, permite implementação direta de critérios fisicamente motivados nos métodos de processamento. Uma transformada que provê tanto uma interpretação física quanto descorrelação é, portanto, desejada.
[099] Apresentamos recentemente uma transformada, chamada transformada de Vandermonde, que tem ambas as características preferidas. Ela tem base em uma decomposição de uma matriz de Toeplitz hermitiana em um produto de uma matriz diagonal e uma matriz de Vandermonde. Essa fatorização é, na verdade, conhecida também como a parametrização de Carathéodory de matrizes de covariância e é muito similar ao fatoramento de Vandermonde de matrizes de Hankel. [100] Para o caso especial de matrizes de Toeplitz hermitianas definidas positivas, o fatoramento de Vandermonde corresponderá a uma transformada de Fourier discreta deformada por frequência. Em outras palavras, é uma transformada de frequência de tempo que provê componentes de sinal amostrados a frequências que não são necessariamente distribuídas uniformemente. A transformada de Vandermonde provê assim ambas as propriedades desejadas: descorrelação e uma interpretação física. [101] Embora a existência e as propriedades da transformada de Vandermonde tenham sido demonstradas analiticamente, o propósito do presente trabalho é, primeiramente, coletar e documentar algoritmos práticos existentes para transformadas de Vandermonde. Esses métodos apareceram em campos muito diferentes, incluindo álgebra numérica, análise numérica, identificação de sistemas, análise de frequência de tempo e processamento de sinal, pelos quais são frequentemente difíceis de encontrar. Este artigo é, portanto, uma revisão de métodos que proveem uma plataforma conjunta para análise e discussão de resultados. Em segundo lugar, provemos exemplos numéricos como uma linha de base para avaliação adicional do desempenho dos diferentes métodos. [102] Esta seção fornece uma breve introdução às transformadas de Vandermonde. Para uma motivação e discussão mais abrangentes sobre aplicações, referimo-nos a. [103] Uma matriz de Vandermonde V é definida pelos escalares vk como
Figure img0009
[104] Ela tem a classificação completa se os escalares vk são distintos (vk + vh para k + h) e seu inverso tem uma fórmula explícita. [105] Uma matriz de Toeplitz simétrica T é definida pelos escalares Tk como
Figure img0010
[106] Se T é definida positiva, então ela pode ser fatorada como
Figure img0011
[107] onde A é uma matriz diagonal com entradas reais e estritamente positivas /kk > 0 e as séries exponenciais V estão todas no círculo de unidade vk = exp(iβk). Esta forma também é conhecida como a parametrização de Carathéodory de uma matriz de Toeplitz. [108] Apresentamos aqui dois usos para a transformada de Vandermonde: ou como uma transformada de descorrelação ou como substituição para uma matriz de convolução. Considera-se primeiro um sinal x que tem a matriz de autocorrelação Exx*] = Rx. Como a matriz de autocorrelação é definida positiva, simétrica e Toeplitz, podemos fatorizá-la como R = V*AV. Daqui resulta que se aplicarmos a transformada
Figure img0012
[109] onde V-* é a hermitiana inversa de V, então a matriz de autocorrelação de yd é
Figure img0013
[110] O sinal transformado yd é assim descorrelacionado. A transformada inversa é
Figure img0014
[111] Como uma descrição heurística, podemos dizer que a transformada direta V-* contém em sua enésima fileira um filtro cuja passa-banda está na frequência -βk e a saída para-banda para x tem baixa energia. Especificamente, o formato espectral da saída é próximo ao de um filtro AR com um polo único no círculo unitário. Observe que como esse banco de filtros é adaptável a sinal, consideramos aqui a saída do filtro em vez da resposta de frequência das funções de base. [112] A transformada inversa V*, por sua vez, tem séries exponenciais em suas colunas, de modo que x é uma soma ponderada das séries exponenciais. Em outras palavras, a transformada é uma transformada de frequência de tempo deformada. A Fig. 3c demonstra o espectro de Fourier (não deformado) discrete de um sinal de entrada x e respostas de frequência de fileiras selecionadas de V-*. [113] A transformada de Vandermonde para avaliação de um sinal em um domínio convoluto pode ser construída como segue. Deixa-se C ser uma matriz de convolução e x o sinal de entrada. Considera-se o caso onde nosso objetivo é avaliar o sinal convoluto yc = Cx. Tal avaliação aparece, por exemplo, em codecs de fala que utilizam ACELP, onde a energia de erro de quantização é avaliada em um domínio de percepção e onde o mapeamento para o domínio de percepção é descrito por um filtro. [114] A energia de yc é
Figure img0015
[115] A energia de yc é, portanto, igual à energia do sinal transformado e em escala
Figure img0016
[116] Podemos assim avaliar equivalentemente a energia de sinal no domínio convolvido ou transformado. ||yc||2 = ||yv|l2- A transformada inversa é obviamente
Figure img0017
[117] A transformada direta V tem séries exponenciais em suas fileiras, pelas quais é uma transformada de Fourier deformada. Sua inversa V-1 tem filtros em suas colunas, com passa-bandas em βk . Dessa forma, a resposta de frequência do banco de filtros é igual a uma transformada de Fourier discreta. Só a transformada inversa é que utiliza o que é geralmente visto como componentes de má identificação a fim de permitir reconstrução perfeita. [118] Para usar transformadas de Vandermonde, precisamos de algoritmos efetivos para determinar, assim como aplicar as transformadas. Nesta seção discutiremos algoritmos disponíveis. Comecemos com a aplicação de transformadas, visto que é a tarefa mais direta. [119] Mutliplicações com V e V* são diretas e podem ser implementadas em O(N 2). Para reduzir as exigências de armazenamento, mostramos aqui algoritmos onde expoentes v\\ não precisam ser explicitamente avaliados para h > 1. A saber, se y = Vx e os elementos de x são Çk, então os elementos nk de y podem ser determinados com a recorrência
Figure img0018
[120] Aqui, Th,k é uma escalar temporária, da qual somente o valor atual precisa ser armazenado. A recorrência geral tem N etapas para N componentes, pelos quais a complexidade geral é O(N2) e constante de armazenamento. Um algoritmo similar pode ser prontamente escrito para y = V*x. [121] Mutliplicação com as matrizes de Vandermonde inversas V- 1 e V-* é uma tarefa levemente mais complexa, mas felizmente métodos eficientes já estão disponíveis na literatura. Os algoritmos são simples de implementar e tanto para x = V- 1y quanto x = V-*y a complexidade é O(N2) e linear de armazenamento O(N). No entanto, o algoritmo inclui uma divisão a cada etapa, o que tem um custo constante alto em muitas arquiteturas. [122] Embora os algoritmos acima para multiplicação pelas inversas sejam exatos no sentido analítico, implementações práticas são numericamente instáveis para N grande. Em nossa experiência, computações com matrizes de um tamanho até N -64 são, às vezes, possíveis, mas além disso, a instabilidade numérica torna esses algoritmos inúteis como tal. Uma solução prática é o ordenamento de Leja das raízes vk que é equivalente à Eliminação Gaussiana com Giro Parcial. A idéia principal por trás do ordenamento de Leja é reordenar as raízes de tal modo que a distância de uma raiz vk para seus antecessores 0 . . . (k - 1) é maximizada. Por essa reordenação os denominadores que aparecem no algoritmo são maximizados e os valores das variáveis intermediárias são minimizados, através do que as contribuições dos erros de truncamento também são minimizadas. A implementação da ordenação de Leja é simples e pode ser alcançada com a complexidade O(N2) e armazenamento O(N ). [123] A barreira final é então obter o fatoramento, ou seja, as raízes vk e quando necessário, os valores diagonais / kk . Do que sabemos que as raízes podem ser obtidas através da resolução
Figure img0019
[124] onde a tem elementos αk . Então v0 = 1 e as raízes restantes v1 . . . vN são as raízes do A(z) = ∑^=l akz k polinomial. Nós podemos facilmente mostrar que isso é equivalente à resolver do sistema de Hankel
Figure img0020
[125] onde TN = —∑K=i^k+iTN-k. As raízes vk são então as raízes de “o
Figure img0021
[126] Uma vez que o fatoramento do sistema Toeplitz original Eq. 11z é equivalente à Eq. 12z, podemos usar um algoritmo rápido para fatoramento das matrizes de Hankel. Este algoritmo devolve uma matriz tridiagonal cujos autovalores correspondem às raízes de ^(z). Os autovalores podem então ser obtidos em O(N2) pela aplicação do algoritmo LR, ou em O(N3) pelo algoritmo QR não simétrico padrão. As raízes obtidas desta forma são aproximações, através das quais elas podem estar ligeramente desviado do círculo unitário. Em seguida, é útil normalizar o valor absoluto das raízes para a unidade, e refinar com 2 ou 3 iterações do método de Newton. O processo completo tem um custo computacional de O(N2). [127] A última etapa no fatoramento é obter os valores diagonais A. Observe que
Figure img0022
[128] onde e = [10 ... 0]T e / é um vetor contendo os valores diagonais de A. Em outras palavras, calculando
Figure img0023
[129] nós obtemos os valores diagonais / kk . Este inverso pode ser calculado com os métodos discutidos acima, por meio dos quais os valores diagonais são obtidos com complexidade O(N2). [130] Em resumo, as etapas necessárias para o fatoramento de uma matriz R são 1. Resolver a Eq. 11z para a usando Levinson-Durbin ou outros métodos clássicos. 2. Estender a sequência de autocorrelação por TN = —∑j^∑i ak+1 rN_k. a0 3. Aplicar o algoritmo de tridiagonalização de uma sequência Tk . 4. Resolver os autovalores vk usando ou o algoritmo LR- ou o algoritmo QR simétrico. 5. Refinar os locais da raiz pelo dimensionamento vk para unidade e ucas iterações do método de Newton. 6. Determinar valores diagonais /kk usando a Eq. 14z. [131] Vamos começar com um exemplo numérico que demonstra os conceitos utilizados. Aqui a matriz C é uma matriz de convolução correspondente ao filtro trivial 1 + z-1, a matriz R sua autocorrelação, matriz V a matriz de Vandermonde correspondente obtida com o algorithm na Seção 3, matriz F é a matriz da transformada de Fourier discreta e as matrizes AV e AF demonstram a precisão da diagonalização das duas transformadas. Nós podemo, assim, definir
Figure img0024
[132] pelas quais podemos avaliar a diagonalização com
Figure img0025
[133] Nós aqui podemos ver que com a transformada de Vandermonde nós obtemos uma matriz perfeitamente diagonal AV . O desempenho da transformada de Fourier discreta está longe de ser ideal, uma vez que os valores fora da diagonal são claramente diferentes de zero. Como uma medida de desempenho, podemos calcular a razão das somas absolutas dos valores dentro e fora da diagonal, que é igual a zero para o fatoramento de Vandermonde e 0,444 para a transformada de Fourier. [134] Podemos depois prosseguir para avaliar as implementações descritas na Seção 3. Nós implementamos cada algoritmo em MATLAB com a finalidade de fornecer uma linha base de desempenho sobre a qual trabalhos futuros podem comparar e encontrar eventuais gargalos de desempenho. Vamos considerar o desempenho em termos de complexidade e precisão. [135] Para determinar o desempenho do fatoramento, nós iremos comparar o fatoramento de Vandermonde às transformadas de Fourier discreta e Karhunen-Loève, a última aplicada com a decomposição do autovalor. Nós aplicamos o fatoramento de Vandermonde usando dois métodos, em primeiro lugar, o algoritmo descrito neste artigo (V1), e em segundo lugar, a abordagem descrita no uso da função de descoberta de raíz embutida fornecida pelo MATLAB (V2). Uma vez esta função do MATLAB é um algoritmo genérico finamente ajustado, poderíamos esperar obter resultados precisos, mas com maior complexidade do que o nosso algoritmo construído propositadamente. [136] Como os dados para todos os nossos experimentos, utilizamos o conjunto de discurso, áudio e amostras de som misturado empregadas na avaliação do padrão MPEG USAC com uma taxa de amostragem de 12,8 kHz. As amostras de áudio foram janeladas com janelas de Hamming para o comprimento desejado e suas autocorrelações foram calculadas. Para certificar- se de que as matrizes de autocorrelação são definidas positivas, a diagonal principal foi multiplicada com (1 + 10-5). [137] Para as medidas de desempenho usamos complexidade computacional em termos de tempo de funcionamento normalizado e precisão em termos de quão perto  = V_*RV_1 está em relação a uma matriz diagonal, medida pela razão das somas absolutas dos elementos fora e sobre a diagonal. Os resultados são listados nas Tabelas 1 e 2. Tabela 1. Complexidade dos algoritmos de fatoramento para diferentes comprimentos de janela N em termos de tempo de operação normalizado.
Figure img0026
Tabela 2. Precisão dos algoritmos de fatoramento para diferentes comprimentos de janela N em termos de log10 da razão de somas absolutas de valores da diagonal e fora da diagonal de  = V_*RV_1.
Figure img0027
[138] Observe que aqui não é sensato comparar os tempos de execução entre algoritmos, apenas o aumento da complexidade em função do tamanho do quadro, porque as funções embutidas do MATLAB foram implementadas em um idioma diferente daquele dos nossos próprios algoritmos. Podemos ver que a complexidade do algoritmo proposto V1 aumenta com uma taxa comparável como o KLT, enquanto o algoritmo que emprega as funções de descoberta de raiz do MATLAB V2 aumentam mais. A precisão do algoritmo de fatoramento proposto V1 ainda não é a ideal. No entanto, uma vez que a função de descoberta de raiz do MATLAB V2 produz precisão comparável como o KLT, conclui-se que as melhorias são possíveis pelas melhorias algorítmicas. [139] O segundo experimento é a aplicação das transformadas para determinar a precisão e complexidade. Em primeiro lugar, aplicamos as Eqs. 4z e 9z, cujas complexidades estão listadas na Tabela 3. Aqui podemos ver que a multiplicação de matrizes de KLT e a solução embutida dos sistemas de matriz do MATLAB V2 têm aproximadamente a mesma taxa de aumento da complexidade, enquanto que os métodos propostos para Eqs. 4z e 9z tem um aumento muito menor. A FFT é naturalmente mais rápida do que todas as outras abordagens. [140] Finalmente, para obter a precisão das soluções Vandermonde, aplicamos as transformações frente e para trás em sequência. As distâncias Euclidiana entre os vectores originais e reconstruídos são listados na Tabela 4. Observa-se, em primeiro lugar, que os algoritmos de FFT e KLT são, tal como esperado, a mais precisa, uma vez que são baseados em transformadas de ortonormais. Em segundo lugar, podemos ver que a precisão do V1 algoritmo proposto é um pouco menor do que a solução embutida do MATLAB V2, mas ambos os algoritmos fornecer uma precisão suficiente. [141] Nós apresentamos detalhes da implementação das transformadas de tempo-frequência de decorrelação usando fatoramento de Vandermonde com o objetivo de analisar algoritmos disponíveis, bem como fornecer linhas base de desempenho para um maior desenvolvimento. Enquanto os algoritmos estavam, em princípio, disponíveis a partir de trabalhos anteriores, verifica-se que obter um sistema para executar requer esforço considerável. Tabela 3. Complexidade das soluções de Vandermonde para diferentes comprimentos de janela N em termos de tempo de operação normalizado. Aqui yf* e yr1 significam solução de Eqs. 4z e 9z com os respectivos algoritmos propostos.
Figure img0028
Tabela 4. Precisão de transformadas diretas e inversas conforme medida por
Figure img0029
Figure img0030
[142] Esforço considerável. Os principais desafios são a precisão numérica e complexidade computacional. Os experimentos confirmam que os métodos estão disponíveis com complexidade O(N 2), embora obter baixa complexidade simultaneamente com estabilidade numérica seja um desafio. No entanto, como as implementações genéricas do MATLAB proveem soluções precisas, garantimos que obter precisão alta é possivel com sintonização adicional da implementação. [143] Em conclusão, nossos experimentos mostram que para as soluções de Vandermonde, os algaritmos propostos têm boa precisão e complexidade suficientemente baixa. Para fatorização, a fatorização propositadamente construída fornece melhor descorrelação que FFT com complexidade razoável, mas em precisão, há espaço para aprimoramentos. As implementações embutidas do MATLAB fornecem precisão satisfatória, o que nos leva à conclusao que algoritmos O(N 2) precisos podem ser implementados. [144] As modalidades descritas acima são meramente ilustrativas para os princípios da presente invenção. Entende-se que as modificações e variações dos arranjos e os detalhes aqui descritos serão aparentes aos demais versados na técnica. É a intenção, portanto, serem limitadas apenas pelo escopo das reivindicações de patente iminentes e não pelos detalhes específicos apresentados a título de descrição e explicação das modalidades aqui constantes. [145] Referências [1] B. Bessette, R. Salami, R. Lefebvre, M. Jelinek, J. Rotola-Pukkila, J. Vainio, H. Mikkola, and K. Jãrvinen, “The adaptive multirate wideband speech codec (AMR-WB)," Speech and Audio Processing, IEEE Transactions on, vol. 10, no. 8, pp. 620-636, 2002. [2] ITU-T G.718, “Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s," 2008. [3] M. Neuendorf, P. Gournay, M. Multrus, J. Lecomte, B. Bessette, R. Geiger, S. Bayer, G. Fuchs, J. Hilpert, N. Rettelbach, R. Salami, G. Schuller, R. Lefebvre, and B. Grill, “Unied speech and audio coding scheme forhigh quality at low bitrates," in Acoustics, Speech and Signal Processing. ICASSP 2009. IEEE Int Conf, 2009, pp. 1-4. [4] J.-P. Adoul, P. Mabilleau, M. Delprat, and S. Morissette, “Fast CELP coding based on algebraic codes," in Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP'87., vol. 12. IEEE, 1987, pp. 1957-1960. [5] C. Laamme, J. Adoul, H. Su, and S. Morissette, “On reducing computational complexity of codebook search in CELP coder through the use of algebraic codes," in Acoustics, Speech, and Signal Processing, 1990. ICASSP- 90., 1990 International Conference on. IEEE, 1990, pp. 177-180. [6] F.-K. Chen and J.-F. Yang, “Maximum-take-precedence ACELP: a low complexity search method," in Acoustics, Speech, and Signal Processing, 2001. Proceedings.(ICASSP'01). 2001 IEEE International Conference on, vol. 2. IEEE, 2001, pp. 693-696. [7] K. J. Byun, H. B. Jung, M. Hahn, and K. S. Kim, “A fast ACELP codebook search method," in Signal Processing, 2002 6th International Conference on, vol. 1. IEEE, 2002, pp. 422-425. [8] N. K. Ha, \A fast search method of algebraic codebook by reordering search sequence," in Acoustics, Speech, and Signal Processing, 1999. Proceedings., 1999 IEEE International Conference on, vol. 1. IEEE, 1999, pp. 21-24. [9] M. A. Ramirez and M. Gerken, “Efficient algebraic multipulse search," in Telecommunications Symposium, 1998. ITS'98 Proceedings. SBT/IEEE International. IEEE, 1998, pp. 231-236. [10] T. Bãckstrõm, “Computationally efficient objective function for algebraic codebook optimization in ACELP," in Interspeech 2013, August 2013. [11] |“Vandermonde fatoramento of Toeplitz matrices and applications in filtering and warping," IEEE Trans. Signal Process., vol. 61, no. 24, pp. 62576263, 2013. [12] G. H. Golub and C. F. van Loan, Matrix Computations, 3rd ed. John Hopkins University Press, 1996. [13] T. Bãckstrõm, J. Fischer, and D. Boley, “Implementation and evaluation of the Vandermonde transform," in submitted to EUSIPCO 2014 (22nd European Signal Processing Conference 2014) (EUSIPCO 2014), Lisbon, Portugal, Sep. 2014. [14] T. Bãckstrõm, G. Fuchs, M. Multrus, and M. Dietz, “Linear prediction based audio coding using improved probability distribution estimation," US Provisional Patent US 61/665 485, 6, 2013. [15] K. Hermus, P. Wambacq et al., \A review of signal subspace speech enhancement and its application to noise robust speech recognition," EURASIP Journal on Applied Signal Processing, vol. 2007, no. 1, pp. 195-195, 2007.

Claims (23)

1. Codificador de áudio (10) para codificar um sinal de áudio (AS) em um fluxo de dados de áudio, caracterizado por compreender: um previsor (12) configurado para analisar o sinal de áudio (AS) para obter coeficientes de previsão (LPC) que descrevem um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio (AS) e para submeter o sinal de áudio (AS) a uma função de filtro (H) de análise dependente dos coeficientes de previsão (LPC) para produzir um sinal residual (x) do sinal de áudio; um fatorizador (14) configurado para aplicar um fatoramento de matriz (V, D) sobre uma matriz de autocorrelação ou de covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de previsão (LPC) para obter matrizes fatoradas; um transformador (16) configurado para transformar o sinal residual (x) com base nas matrizes fatoradas para obter um sinal residual (x) transformado; um estágio de quantificação e codificação (18) configurado para quantificar o sinal residual (x) transformado para obter um sinal residual (x) transformado quantificado e compreendendo um codificador de entropia que tem uma entrada para os coeficientes de previsão (LPC) e configurado para codificar a entropia do sinal residual (x) transformado quantificado com detecção da probabilidade baseada nos coeficientes de previsão (LPC) para obter um sinal residual transformado quantificado codificado; e uma saída de dados de áudio configurada para emitir o fluxo de dados de áudio (DS) formado pelos coeficientes de predição (LPC) e o sinal residual transformado quantizado codificado.
2. Codificador (10), de acordo com a reivindicação 1, caracterizado por a função de filtro (H) de síntese ser definida por uma matriz que compreende valores ponderados da função de filtro de síntese.
3. Codificador (10), de acordo com a reivindicação 1, caracterizado por o fatorizador (14) calcular a matriz de autocorrelação ou covariância (R, C) com base no produto de uma versão conjugada transformada da função de filtro (H) de síntese e uma versão regular da função de filtro de síntese.
4. Codificador (10), de acordo com a reivindicação 1, caracterizado por o fatorizador (14) fatorar uma matriz de autocorrelação ou covariância (R, C) com base na fórmula C = V*DV ou com base na fórmula R = V*DV; sendo que V é a matriz de Vandermonde, V* a versão conjugada transformada da matriz de Vandermonde e D uma matriz diagonal com entradas estritamente positivas.
5. Codificador (10), de acordo com a reivindicação 4, caracterizado por o fatorizador (14) ser configurado para realizar um fatoramento de Vandermonde.
6. Codificador (10), de acordo com a reivindicação 1, caracterizado por o fatorizador (14) ser configurado para realizar uma decomposição de autovalor ou um fatoramento de Cholesky.
7. Codificador (10), de acordo com a reivindicação 4, caracterizado por o transformador (16) transformar o sinal residual (x) com base na fórmula y = D1/2Vx ou com base na fórmula y = DVx.
8. Codificador (10), de acordo com a reivindicação1 , caracterizado por o estágio de quantificação e codificação (18) quantificar o sinal residual (x) transformado para obter o sinal residual (x) transformado quantificado com
Figure img0031
9. Codificador (10), de acordo com a reivindicação 1, caracterizado por o estágio de quantificação e codificação (18) compreender meios para otimizar a quantificação pela aplicação de preenchimento de ruído para fornecer uma representação espectral preenchida com ruído do sinal de áudio, o sinal residual (x) ou o sinal residual transformado e/ou pela otimização do sinal residual transformado quantificado com relação a zonas mortas ou com relação a outros parâmetros de quantificação.
10. Codificador (10), de acordo com a reivindicação 1, caracterizado por a transformação do sinal residual (x) ser uma transformação a partir de um domínio de tempo do sinal residual (x) para um domínio similar a frequência do sinal residual transformado.
11. Codificador (10), de acordo com a reivindicação 1, caracterizado por o estágio de quantificação e codificação compreender um codificador configurado para realizar uma codificação do sinal residual transformado quantificado para obter um sinal residual transformado quantificado codificado.
12. Codificador (10), de acordo com a reivindicação 11, caracterizado por a codificação realizada pelo codificador estar fora de um grupo que compreende codificação aritmética.
13. Codificador (10), de acordo com a reivindicação 11, caracterizado por o codificador compreender ainda um empacotador configurado para empacotar o sinal residual transformado quantificado codificado e os coeficientes de previsão (LPC) para o fluxo de dados (DS) a ser produzido pelo codificador.
14. Codificador (10), de acordo com a reivindicação 1, caracterizado por o previsor (12) compreender um previsor linear ou um previsor a longo prazo.
15. Método (100) para codificar áudio de um sinal de áudio (AS) em um fluxo de dados de áudio, o método (100) caracterizado por compreender: analisar (120) o sinal de áudio (AS) para obter coeficientes de previsão (LPC) que descrevem o envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio (AS) e submeter o sinal de áudio (AS) a uma função de filtro (H) de análise dependente dos coeficientes de previsão (LPC) para produzir um sinal residual do sinal de áudio; aplicar (140) um fatoramento de matriz (V, D) sobre uma matriz de autocorrelação ou de covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de previsão (LPC) para obter matrizes fatoradas; transformar (160) o sinal residual (x) com base nas matrizes fatoradas para obter um sinal residual transformado; quantificar e codificar o sinal residual transformado para obter um sinal residual transformado quantificado e codificação de entropia usando os coeficientes de previsão (LPC) o sinal residual transformado quantificado com detecção da probabilidade baseada nos coeficientes de previsão (LPC) para obter um sinal residual transformado quantificado codificado; e emitir o fluxo de dados (DS) de áudio formado pelos coeficientes de predição (LPC) e o sinal residual transformado quantizado codificado.
16. Método para processamento de sinal caracterizado por: transformação discreta de Fourier, transformação discreta de cosseno, transformação discreta de cosseno modificada ou outra transformação em algoritmos de processamento de sinal usando as subetapas de: analisar o sinal de áudio (AS) a fim de adquirir coeficientes de predição (LPC) que descrevem o envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio (AS) e submeter o sinal de áudio (AS) a uma função de filtro (H) de análise dependente dos coeficientes de predição (LPC) a fim de emitir um sinal residual (x) do sinal de áudio; aplicar uma fatoração de matriz (V, D) em uma matriz de autocorrelação ou covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de predição (LPC) para adquirir matrizes fatoradas; transformar o sinal residual (x) com base nas matrizes fatoradas para adquirir um sinal residual transformado; e quantificar e codificar o sinal residual transformado para adquirir um sinal residual transformado quantizado e codificar entropia usando os coeficientes de predição (LPC) do sinal residual transformado quantizado com a detecção da probabilidade com base nos coeficientes de predição (LPC) para adquirir um sinal residual transformado quantizado codificado.
17. Decodificador de áudio (20) para decodificar um fluxo de dados (DS) de áudio em um sinal de áudio, caracterizado por compreender: um estágio de decodificação (22) configurado para produzir um sinal residual transformado com base em um sinal residual transformado quantificado codificado de entrada usando a decodificação de entropia com detecção da probabilidade com base nos coeficientes de previsão (LPC) que descrevem um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio; um retransformador (26) configurado para retransformar um sinal residual (x) a partir do sinal residual transformado com base nas matrizes fatoradas que representam um resultado de um fatoramento de matriz (V, D) de uma matriz de autocorrelação e covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de previsão; um estágio de síntese (28) configurado para sintetizar o sinal de áudio (AS) com base no sinal residual (x) usando a função de filtro (H) de síntese definida pelos coeficientes de previsão; e uma saída configurada para emitir o sinal de áudio sintetizado.
18. Decodificador (20), de acordo com a reivindicação 17, caracterizado por o decodificador compreender um fatorizador (14) configurado para aplicar o fatoramento de matriz (V, D) em uma matriz de autocorrelação ou covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de previsão (LPC) de entrada para obter matrizes fatoradas.
19. Decodificador (20), de acordo com a reivindicação 17, caracterizado por o decodificador compreender um gerador de coeficientes de previsão configurado para desviar os coeficientes de previsão (LPC) com base nas matrizes fatoradas de entrada.
20. Decodificador (20), de acordo com a reivindicação 17, caracterizado por o estágio de decodificação (22) realizar a decodificação com base em regras de codificação conhecidas ou parâmetro de codificação desviado a partir das regras de codificação de entrada ou parâmetro de codificação.
21. Método (200) para decodificar áudio de um fluxo de dados (DS) de áudio em um sinal de áudio, o método caracterizado por compreender as etapas: produzir (220) um sinal residual transformado com base em um sinal residual transformado quantificado codificado de entrada usando a decodificação de entropia com detecção da probabilidade com base nos coeficientes de previsão (LPC) que descrevem um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio; aplicar (240) um fatoramento de matriz (V, D) sobre uma matriz de autocorrelação ou de covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de previsão; descrever um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio (AS) para obter matrizes fatoradas; retransformar (260) um sinal residual (x) a partir do sinal residual retransformado com base nas matrizes fatoradas; sintetizar (280) o sinal de áudio (AS) com base no sinal residual (x) usando a função de filtro (H) de síntese definida pelos coeficientes de previsão; e emitindo o sinal de áudio sintetizado.
22. Mídia caracterizada por conter o método que realiza as etapas de: analisar o sinal de áudio (AS) a fim de adquirir coeficientes de predição (LPC) que descrevem o envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio (AS) e submeter o sinal de áudio (AS) a uma função de filtro (H) de análise dependente dos coeficientes de predição (LPC) a fim de emitir um sinal residual (x) do sinal de áudio; aplicar uma fatoração de matriz (V, D) em uma matriz de autocorrelação ou covariância (R, C) de uma função de filtro (H) de síntese definida pelos coeficientes de predição (LPC) para adquirir matrizes fatoradas; transformar o sinal residual (x) com base nas matrizes fatoradas para adquirir um sinal residual transformado; quantificar e codificar o sinal residual transformado para adquirir um sinal residual transformado quantizado e codificar entropia usando os coeficientes de predição (LPC) do sinal residual transformado quantizado com a detecção da probabilidade com base nos coeficientes de predição (LPC) para adquirir um sinal residual transformado quantizado codificado; e emitir o fluxo de dados (DS) de áudio formado pelos coeficientes de predição (LPC) e o sinal residual transformado quantizado codificado, quando o referido programa de computador é executado por um computador.
23. Mídia caracterizada por conter o método que realiza as etapas de: emitir um sinal residual transformado com base em um sinal residual transformado quantizado codificado de entrada usando decodificação de entropia com a detecção da probabilidade com base em coeficientes de predição (LPC) que descrevem um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio; aplicar uma fatoração de matriz (V, D) em uma matriz de autocorrelação ou covariância (R, C) de uma função de filtro (H) de síntese definida por coeficientes de predição; descrever um envelope espectral do sinal de áudio (AS) ou uma frequência fundamental do sinal de áudio (AS) para adquirir matrizes fatoradas; retransformar um sinal residual (x) do sinal residual retransformado com base nas matrizes fatoradas; sintetizar o sinal de áudio (AS) com base no sinal residual (x) usando a função de filtro (H) de síntese definida pelos coeficientes de predição; e enviando o sinal de áudio sintetizado, quando o referido programa de computador é executado por um computador.
BR112016020841-2A 2014-03-14 2015-03-03 Codificador, decodificador e método para codificação e decodificação BR112016020841B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP14159811.0 2014-03-14
EP14159811 2014-03-14
EP14182047.2 2014-08-22
EP14182047.2A EP2919232A1 (en) 2014-03-14 2014-08-22 Encoder, decoder and method for encoding and decoding
PCT/EP2015/054396 WO2015135797A1 (en) 2014-03-14 2015-03-03 Encoder, decoder and method for encoding and decoding

Publications (2)

Publication Number Publication Date
BR112016020841A2 BR112016020841A2 (pt) 2017-08-15
BR112016020841B1 true BR112016020841B1 (pt) 2023-02-23

Family

ID=50280219

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016020841-2A BR112016020841B1 (pt) 2014-03-14 2015-03-03 Codificador, decodificador e método para codificação e decodificação

Country Status (10)

Country Link
US (1) US10586548B2 (pt)
EP (2) EP2919232A1 (pt)
JP (1) JP6543640B2 (pt)
KR (1) KR101885193B1 (pt)
CN (1) CN106415716B (pt)
BR (1) BR112016020841B1 (pt)
CA (1) CA2942586C (pt)
MX (1) MX363348B (pt)
RU (1) RU2662407C2 (pt)
WO (1) WO2015135797A1 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX347921B (es) * 2012-10-05 2017-05-17 Fraunhofer Ges Forschung Un aparato para la codificacion de una señal de voz que emplea prediccion lineal excitada por codigos algebraico en el dominio de autocorrelacion.
US10860683B2 (en) 2012-10-25 2020-12-08 The Research Foundation For The State University Of New York Pattern change discovery between high dimensional data sets
EP3185587B1 (en) 2015-12-23 2019-04-24 GN Hearing A/S Hearing device with suppression of sound impulses
US10236989B2 (en) * 2016-10-10 2019-03-19 Nec Corporation Data transport using pairwise optimized multi-dimensional constellation with clustering
EP3610481B1 (en) * 2017-04-10 2022-03-16 Nokia Technologies Oy Audio coding
WO2018201113A1 (en) * 2017-04-28 2018-11-01 Dts, Inc. Audio coder window and transform implementations
GB201718341D0 (en) * 2017-11-06 2017-12-20 Nokia Technologies Oy Determination of targeted spatial audio parameters and associated spatial audio playback
CN107947903A (zh) * 2017-12-06 2018-04-20 南京理工大学 基于飞行自组网的wvefc快速编码方法
US11532316B2 (en) * 2017-12-19 2022-12-20 Dolby International Ab Methods and apparatus systems for unified speech and audio decoding improvements
CN110324622B (zh) * 2018-03-28 2022-09-23 腾讯科技(深圳)有限公司 一种视频编码码率控制方法、装置、设备及存储介质
CN109036452A (zh) * 2018-09-05 2018-12-18 北京邮电大学 一种语音信息处理方法、装置、电子设备及存储介质
CN113168838A (zh) 2018-11-02 2021-07-23 杜比国际公司 音频编码器及音频解码器
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
US20220159250A1 (en) * 2019-03-20 2022-05-19 V-Nova International Limited Residual filtering in signal enhancement coding
CN110840452B (zh) * 2019-12-10 2024-08-27 广西师范大学 一种脑电波信号的滤波装置及方法
CN112289327B (zh) * 2020-10-29 2024-06-14 北京百瑞互联技术股份有限公司 一种lc3音频编码器后置残差优化方法、装置和介质
CN114913863B (zh) * 2021-02-09 2024-10-18 同响科技股份有限公司 数字音信数据编码方法
CN113406385B (zh) * 2021-06-17 2022-01-21 哈尔滨工业大学 一种基于时域空间的周期信号基频确定方法
CN116309446B (zh) * 2023-03-14 2024-05-07 浙江固驰电子有限公司 用于工业控制领域的功率模块制造方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US5293448A (en) * 1989-10-02 1994-03-08 Nippon Telegraph And Telephone Corporation Speech analysis-synthesis method and apparatus therefor
FR2729245B1 (fr) * 1995-01-06 1997-04-11 Lamblin Claude Procede de codage de parole a prediction lineaire et excitation par codes algebriques
JP3246715B2 (ja) * 1996-07-01 2002-01-15 松下電器産業株式会社 オーディオ信号圧縮方法,およびオーディオ信号圧縮装置
GB9915842D0 (en) * 1999-07-06 1999-09-08 Btg Int Ltd Methods and apparatus for analysing a signal
JP4506039B2 (ja) * 2001-06-15 2010-07-21 ソニー株式会社 符号化装置及び方法、復号装置及び方法、並びに符号化プログラム及び復号プログラム
US7065486B1 (en) * 2002-04-11 2006-06-20 Mindspeed Technologies, Inc. Linear prediction based noise suppression
US7292647B1 (en) * 2002-04-22 2007-11-06 Regents Of The University Of Minnesota Wireless communication system having linear encoder
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
FR2863422A1 (fr) * 2003-12-04 2005-06-10 France Telecom Procede d'emission multi-antennes d'un signal precode lineairement,procede de reception, signal et dispositifs correspondants
JP4480135B2 (ja) * 2004-03-29 2010-06-16 株式会社コルグ オーディオ信号圧縮方法
US7742536B2 (en) * 2004-11-09 2010-06-22 Eth Zurich Eth Transfer Method for calculating functions of the channel matrices in linear MIMO-OFDM data transmission
EP1818911B1 (en) * 2004-12-27 2012-02-08 Panasonic Corporation Sound coding device and sound coding method
CN101743586B (zh) * 2007-06-11 2012-10-17 弗劳恩霍夫应用研究促进协会 音频编码器、编码方法、解码器、解码方法
CN101609680B (zh) 2009-06-01 2012-01-04 华为技术有限公司 压缩编码和解码的方法、编码器和解码器以及编码装置
US9536534B2 (en) * 2011-04-20 2017-01-03 Panasonic Intellectual Property Corporation Of America Speech/audio encoding apparatus, speech/audio decoding apparatus, and methods thereof
US9173025B2 (en) * 2012-02-08 2015-10-27 Dolby Laboratories Licensing Corporation Combined suppression of noise, echo, and out-of-location signals
CA2877161C (en) * 2012-06-28 2020-01-21 Tom Backstrom Linear prediction based audio coding using improved probability distribution estimation
MX347921B (es) * 2012-10-05 2017-05-17 Fraunhofer Ges Forschung Un aparato para la codificacion de una señal de voz que emplea prediccion lineal excitada por codigos algebraico en el dominio de autocorrelacion.

Also Published As

Publication number Publication date
RU2016140233A (ru) 2018-04-16
CA2942586A1 (en) 2015-09-17
EP3117430A1 (en) 2017-01-18
WO2015135797A1 (en) 2015-09-17
US10586548B2 (en) 2020-03-10
KR101885193B1 (ko) 2018-08-03
MX2016011692A (es) 2017-01-06
CA2942586C (en) 2021-11-09
KR20160122212A (ko) 2016-10-21
MX363348B (es) 2019-03-20
JP2017516125A (ja) 2017-06-15
RU2662407C2 (ru) 2018-07-25
BR112016020841A2 (pt) 2017-08-15
US20160372128A1 (en) 2016-12-22
CN106415716A (zh) 2017-02-15
EP2919232A1 (en) 2015-09-16
JP6543640B2 (ja) 2019-07-10
CN106415716B (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
BR112016020841B1 (pt) Codificador, decodificador e método para codificação e decodificação
JP6654237B2 (ja) 線形予測符号化を使用して低減された背景ノイズを有するオーディオ信号を符号化する符号器および方法
US12002481B2 (en) Apparatus for encoding a speech signal employing ACELP in the autocorrelation domain
Boucheron et al. Low bit-rate speech coding through quantization of mel-frequency cepstral coefficients
BR112014032735B1 (pt) Codificador e decodificador de áudio com base em predição linear e respectivos métodos para codificar e decodificar
Bäckström Computationally efficient objective function for algebraic codebook optimization in ACELP.

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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