BR112015007137B1 - Aparelho para codificar um sinal de fala que emprega acelp no domínio de autocorrelação - Google Patents
Aparelho para codificar um sinal de fala que emprega acelp no domínio de autocorrelação Download PDFInfo
- Publication number
- BR112015007137B1 BR112015007137B1 BR112015007137-6A BR112015007137A BR112015007137B1 BR 112015007137 B1 BR112015007137 B1 BR 112015007137B1 BR 112015007137 A BR112015007137 A BR 112015007137A BR 112015007137 B1 BR112015007137 B1 BR 112015007137B1
- Authority
- BR
- Brazil
- Prior art keywords
- matrix
- vector
- autocorrelation matrix
- codebook
- coding algorithm
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 208
- 239000013598 vector Substances 0.000 claims abstract description 164
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims description 59
- 230000004044 response Effects 0.000 claims description 27
- 238000000354 decomposition reaction Methods 0.000 claims description 24
- 230000017105 transposition Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 27
- 238000013139 quantization Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 15
- 238000013459 approach Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000010845 search algorithm Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000003595 spectral effect Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 206010021403 Illusion Diseases 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 101000962654 Vespa orientalis Mastoparan Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
aparelho para codificar um sinal de fala que emprega acelp no domínio de autocorrelação. um aparelho para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação de fala é fornecido. o aparelho compreende um determinador de matriz (110) para determinar uma matriz de autocorrelação r e um determinador do vetor do livro de códigos (120) para determinar o vetor do livro de códigos, dependendo da matriz de autocorrelação r. o determinador de matriz (110) é configurado para determinar a matriz de autocorrelação r pela determinação de coeficientes do vetor de um vetor r, caracterizado pela matriz de autocorrelação r compreender uma pluralidade de fileiras e uma pluralidade de colunas, em que o vetor r indica uma das colunas ou uma das fileiras da matriz de autocorrelação r, em que r(i, j) = r(ii- jl), em que r(i, j) indica os coeficientes da matriz de autocorrelação r, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação r e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação r. figura 1.
Description
[0001] A presente invenção refere-se à codificação do sinal de áudio e, em particular, a um aparelho para codificar um sinal de fala que emprega ACELP no dominio de autocorrelação.
[0002] Na codificação de fala por Previsão Linear Excitada por Código [CELP I code-excited linear prediction] , o envelope espectral (ou equivalentemente, estrutura de tempo curto) do sinal de fala é descrito por um modelo preditivo linear [LP I linear predictive] e a previsão residual é modelada por um previsor de periodo longo [LTP | long-time predictor] (também conhecido como livro de códigos adaptativos) e um sinal residual representado por um livro de códigos (também conhecido como o livro de códigos fixo), O último, o livro de códigos fixo, é geralmente aplicado como um livro de códigos algébricos, onde o livro de códigos é representado por uma fórmula ou algoritmo algébrico, pela qual não há necessidade de armazenar todo o livro de códigos, mas apenas o algoritmo, enquanto simultaneamente permite um algoritmo de busca rápida. Os codecs CELP que aplicam um livro de códigos algébricos para o residual são conhecidos como codecs de Previsão Linear Excitada por Código Algébrico (ACELP I Algebraic Code-Excited Linear Prediction) (vide [1], [2], [3], 4]) .
[0003] Na codificação de fala, empregar um livro de códigos residuais algébricos é a abordagem de escolha nos codecs de fluxo principal como [17], [13], [18]. ACELP se baseia na modelagem do envelope espectral por um filtro preditivo linear (LP), a frequência fundamental de sons com voz por um previsor de longo periodo (LTP) e o residual de previsão por um livro de códigos algébricos. 0 LTP e o livro de códigos algébricos parâmetros são otimizados por um algoritmo de quadrados mínimos em um domínio perceptual, onde o domínio perceptual é especificado por um filtro.
[0004] A parte computacionalmente mais complexa dos algoritmos do tipo ACELP, o estrangulamento, é a otimização do livro de códigos residuais. O único algoritmo ótimo atualmente conhecido seria uma busca exaustiva de um espaço com tamanho A,p para cada subestrutura, onde em cada ponto, uma avaliação da complexidade O(N2] é necessária. Visto que os valores típicos são comprimento da subestrutura N = 64 (ou seja 5ms) com pulsos p = 8, isso implica mais de IO20 operações por segundo. Claramente, essa não é uma opção viável. Para permanecer dentro dos limites da complexidade definidos pelas exigências de hardware, as abordagens da otimização do livro de códigos têm que operar com os algoritmos iterativos não ótimos. Muitos desses algoritmos e melhorias ao processo de otimização foram apresentados no passado, por exemplo [17], [19], [20], [21], [22].
[0005] Explicitamente, a otimização de ACELP se baseia na descrição do sinal de fala x(n) como a saída de um modelo preditivo linear, de modo que o sinal de fala estimado seja
[0006] onde a(k) são os coeficientes LP e ê(k) é o sinal residual. Na forma do vetor, esta equação pode ser expressa como
[0007] onde a matriz H é definida como a matriz de convolação Toeplitz triangular inferior com diagonal h(0) e diagonais inferiores h(l), . .., h(39) e o vetor h(k) é a resposta de impulso do modelo LP. Deve ser observado que nesta notação o modelo perceptual (que geralmente corresponde a um modelo LP ponderado) é omitido, mas é assumido que o modelo perceptual é incluído na resposta de impulso h(k). Esta omissão não tem impacto sobre a generalidade de resultados, mas simplifica a notação. A inclusão do modelo perceptual é aplicada como em [1].
[0009] Este erro quadrático é utilizado para encontrar os ótimos parâmetros de modelo. Aqui, é assumido que o LTP e o livro de códigos de pulso são ambos utilizados para modelar o vetor e. A aplicação prática pode ser encontrada nas publicações relevantes (vide [1-4]).
[00010] Na prática, a medição acima de capacidade pode ser simplificada como segue. Deixamos a matriz B = HTH compreender as correlações de h(n), deixamos ck ser o vetor do livro de códigos fixo k'th e definimos è=gck, onde g é um fator de ganho. Assumindo que g é escolhido de forma ideal, então o livro de códigos é buscado aumentando o critério de busca
[00011] onde d = HTx é um vetor que compreende a correlação entre o vetor alvo e a resposta de impulso h(n) e o indice T denota transposição. O vetor d e a matriz B são computados antes da busca do livro de códigos. Esta fórmula é geralmente utilizada na otimização tanto do LTP quanto do livro de códigos de pulso.
[00012] Diversas pesquisas foram investidas na otimização da utilização da fórmula acima. Por exemplo, 1) Apenas estes elementos da matriz B são calculados sendo realmente acessados pelo algoritmo de busca. Ou: 2) O algoritmo de tentativa e erro da busca de pulso é reduzido para tentar apenas estes vetores do livro de códigos que têm uma alta probabilidade de sucesso, com base na triagem anterior (vide, por exemplo [1,5]).
[00013] Um detalhe prático do algoritmo de ACELP está relacionado ao conceito da resposta de impulso zero (ZIR | zero impulse response). O conceito aparece ao considerar o sinal da síntese de domínio original em comparação ao residual sintetizado. O residual é codificado em blocos correspondentes ao tamanho da estrutura ou subestrutura. Entretanto, ao sintetizar o sinal de domínio original com o modelo de LP da Equação 1, o residual do comprimento fixo terá uma "cauda" com comprimento infinito, correspondente à resposta de impulso do filtro de LP. Isso é, embora o vetor do livro de códigos residual tenha comprimento finito, ele terá um efeito no sinal da sintese além da estrutura atual ou subestrutura. 0 efeito de uma estrutura no futuro pode ser calculado estendendo o vetor do livro de códigos com zeros e calculando a saida da sintese da Equação 1 para este sinal estendido. Esta extensão do sinal sintetizado é conhecida como a resposta de impulso zero. Então, para considerar o efeito das estruturas anteriores na codificação da estrutura atual, a ZIR da estrutura anterior é subtraida do alvo da estrutura atual. Na codificação da estrutura atual, então, apenas este longe do sinal é considerado, que não foi modelado pela estrutura prévia.
[00014] Na prática, a ZIR é considerada conforme segue: Quando uma (sub)estrutura N-l foi codificada, o residual quantizado é estendido com zeros ao comprimento da próxima (sub)estrutura N. O residual quantizado estendido é filtrado pelo LP para obter a ZIR do sinal quantizado. A ZIR do sinal quantizado é então subtraida do sinal original (não quantizado) e este sinal modificado forma o sinal alvo ao codificar a (sub)estrutura N. Assim, todos os erros de quantização feitos na (sub)estrutura N-l serão considerados ao quantizar a (sub)estrutura N. Esta prática melhora a qualidade perceptual do sinal de saida consideravelmente.
[00015] Entretanto, seria altamente observado se outros conceitos melhorados para a codificação de áudio fossem fornecidos.
[00016] O objeto da presente invenção é fornecer tais conceitos melhorados para a codificação de áudio. O objeto da presente invenção é solucionado por um aparelho, de acordo com a reivindicação 1, por um método para codificar, de acordo com a reivindicação 15, por um decodificador, de acordo com a reivindicação 16, por um método para decodificar, de acordo com a reivindicação 17, por um sistema, de acordo com a reivindicação 18, por um método, de acordo com a reivindicação 19 e por um programa de computador, de acordo com a reivindicação 20.
[00017] Um aparelho para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação de fala é fornecido. O aparelho compreende um determinador de matriz para determinar uma matriz de autocorrelação R, e um determinador do vetor do livro de códigos para determinar o vetor do livro de códigos, dependendo da matriz de autocorrelação R. O determinador de matriz é configurado para determinar a matriz de autocorrelação J? pela determinação de coeficientes do vetor de um vetor r, caracterizado pela matriz de autocorrelação R compreender uma pluralidade de fileiras e uma pluralidade de colunas, em que o vetor R indica uma das colunas ou uma das fileiras da matriz de autocorrelação R, em que R(i , j) - r(|i- j|) , em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro indice indicando uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo indice indicando uma da pluralidade de colunas da matriz de autocorrelação R.
[00018] O aparelho é configurado para utilizar o vetor do livro de códigos para codificar o sinal de fala. Por exemplo, o aparelho pode gerar o sinal de fala codificado de modo que o sinal de fala codificado compreenda uma pluralidade de Coeficientes de Previsão Linear, uma indicação da frequência fundamental de sons com vozes (por exemplo, parâmetros de densidade horizontal), e uma indicação do vetor do livro de códigos, por exemplo, um indice do vetor do livro de códigos.
[00019] Além disso, um decodificador para decodificar um sinal de fala codificado sendo codificado por um aparelho, de acordo com a aplicação descrita acima, para obter um sinal de fala decodificado é fornecido.
[00020] Além disso, um sistema é fornecido. O sistema compreende um aparelho, de acordo com a aplicação descrita acima, para codificar um sinal de fala de entrada para obter um sinal de fala codificado. Além disso, o sistema compreende um decodificador, de acordo com a aplicação descrita acima, para decodificar o sinal de fala codificado para obter um sinal de fala decodificado.
[00021] Conceitos melhorados para a função objetiva do algoritmo de codificação de fala ACELP são fornecidos, considerando não apenas o efeito da resposta de impulso da estrutura prévia à estrutura atual, mas ainda o efeito da resposta de impulso da estrutura atual na próxima estrutura, ao otimizar os parâmetros de estrutura atual. Algumas aplicações realizam estas melhorias mudando a matriz de correlação, que é central à otimização de ACELP convencional em uma matriz de autocorrelaçâo, que tem a estrutura Hermitian Toeplitz. Empregando esta estrutura, é possivel tornar uma otimização de ACELP mais eficiente em termos complexidade computacional bem como exigências de memória. Simultaneamente, ainda o modelo perceptual aplicado se torna mais consistente e as dependências da estrutura interna podem ser evitadas para melhorar o desempenho sob a influência da perda de pacote.
[00022] A codificação de fala com o paradigma de ACELP se baseia em um algoritmo de quadrados minimos em um dominio perceptual, onde o dominio perceptual é especificado por um filtro. De acordo com as aplicações, a complexidade computacional da definição convencional do problema de quadrados minimos pode ser reduzida considerando o impacto da resposta de impulso zero na próxima estrutura. As modificações fornecidas introduzem uma estrutura Toeplitz em uma matriz de correlação que aparece na função objetiva, que simplifica a estrutura e reduz os cálculos. Os conceitos propostos reduzem a complexidade computacional em até 17% sem reduzir a qualidade perceptual.
[00023] As aplicações se baseiam na constatação de que, por uma leve modificação da função objetiva, a complexidade na otimização do livro de códigos residuais pode ser reduzida também. Esta redução na complexidade aparece sem redução na qualidade perceptual. Como uma alternativa, visto que a otimização residual de ACELP se baseia nos algoritmos de busca iterativa, com a modificação apresentada, é possivel aumentar o número de iterações sem um aumento na complexidade, e, assim, obter uma qualidade perceptual melhorada.
[00024] Tanto a função convencional quanto as funções objetivas modificadas modelam a percepção e esforçam-se para reduzir a distorção perceptual. Entretanto, a solução ideal para a abordagem convencional não é necessariamente ideal com relação à função objetiva modificada e vice versa. Esta sozinha não significa que uma abordagem seria melhor do que outra, mas argumentos analiticos mostram que a função objetiva modificada é mais consistente. Especificamente, em contraste à função objetiva convencional, os conceitos fornecidos tratam todas as amostras dentro de uma subestrutura igualmente, com modelos do sinal e perceptual bem definidos e consistentes.
[00025] Nas aplicações, as modificações propostas podem ser aplicadas de modo que elas possam apenas mudar a otimização do livro de códigos residuais. Assim, não muda a estrutura do fluxo continuo de bits e pode ser aplicado em uma forma compativel de retrocesso aos codecs de ACELP existentes.
[00026] Além disso, um método para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação de fala é fornecido. O método compreende: - Determinar uma matriz de autocorrelação R. E: Determinar o vetor do livro de códigos, dependendo da matriz de autocorrelação R.
[00027] Determinar uma matriz de autocorrelação R compreende determinar coeficientes do vetor de um vetor r. A matriz de autocorrelação R compreende uma pluralidade de fileiras e uma pluralidade de colunas. O vetor R indica uma das colunas ou uma das fileiras da matriz de autocorrelação R, em que R(i , j) = r(|i- jl) .
[00028] R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice indicando uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice indicando uma das pluralidades de colunas da matriz de autocorrelação R.
[00029] Além disso, um método para decodificar um sinal de fala codificado sendo codificado de acordo com o método para codificar um sinal de fala de acordo com a aplicação descrita acima para obter um sinal de fala decodificado é fornecido.
[00030] Além disso, um método é fornecido. O método compreende: - Codificar um sinal de fala de entrada, de acordo com o método descrito acima, para codificar um sinal de fala para obter um sinal de fala codificado. E: - Decodificar o sinal de fala codificado para obter um sinal de fala decodificado, de acordo com o método descrito acima, para decodificar um sinal de fala.
[00031] Além disso, os programas de computador para implementar os métodos descritos acima, quando executados em um computador ou processador de sinal, são fornecidos.
[00032] As aplicações preferidas serão fornecidas nas reivindicações dependentes.
[00033] A seguir, as aplicações da presente invenção são descritas em mais detalhes com referência às figuras, nas quais:
[00034] A Figura 1 ilustra um aparelho para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação de fala, de acordo com uma aplicação;
[00035] A Figura 2 ilustra um decodificador, de acordo com uma aplicação, e um decodificador; e
[00036] A Figura 3 ilustra um sistema que compreende um aparelho para codificar um sinal de fala de acordo com uma aplicação e um decodificador.
[00037] A Figura 1 ilustra um aparelho para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação, de fala de acordo com uma aplicação.
[00038] 0 aparelho compreende um determinador de matriz (110) para determinar uma matriz de autocorrelação R, e um determinador do vetor do livro de códigos (120) para determinar o vetor do livro de códigos, dependendo da matriz de autocorrelação R.
[00039] 0 determinador de matriz (110) é configurado para determinar a matriz de autocorrelação pela determinação de coeficientes do vetor de um vetor r.
[00040] A matriz de autocorrelação R compreende uma pluralidade de fileiras e uma pluralidade de colunas, caracterizado pelo vetor R indicar uma das colunas ou uma das fileiras da matriz de autocorrelação R, em que R(i , j) = r(li- jl) ■
[00041] R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro indice indicando uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo indice indicando uma das pluralidades de colunas da matriz de autocorrelação R.
[00042] O aparelho é configurado para utilizar o vetor do livro de códigos para codificar o sinal de fala. Por exemplo, o aparelho pode gerar o sinal de fala codificado de modo que o sinal de fala codificado compreenda uma pluralidade de Coeficientes de Previsão Linear, uma indicação da frequência fundamental de sons com voz (por exemplo, parâmetros de densidade horizontal), e uma indicação do vetor do livro de códigos.
[00043] Por exemplo, de acordo com uma aplicação particular para codificar um sinal de fala, o aparelho pode ser configurado para determinar uma pluralidade de coeficientes preditivos lineares (a(k)) dependendo do sinal de fala. Além disso, o aparelho é configurado para determinar um sinal residual dependendo da pluralidade de coeficientes preditivos lineares (a(k)). Além disso, o determinador de matriz 110 pode ser configurado para determinar a matriz de autocorrelação R, dependendo do sinal residual.
[00044] A seguir, algumas aplicações adicionais da presente invenção são descritas.
[00045] Retornando às equações 3 e 4, em que a Equação 3 define um erro quadrático indicando uma capacidade do modelo perceptual como:
[00047] indica o critério de busca, que deve ser maximizado.
[00048] O algoritmo de ACELP é centralizado ao redor da Equação 4 que, por sua vez, se baseia na Equação 3.
[00049] As aplicações se baseiam na constatação que a análise destas equações revela que os valores residuais quantizados e(k) têm um efeito muito diferente na energia do 2 erro C dependendo do indice k. Por exemplo, ao considerar os indices k=l e k=N, se o único valor não zero do livro de códigos residuais apareceria em k=l, então a energia do erro 2 € resulta em:
[00051] Em outras palavras, e(l) é ponderado com a resposta de impulso h(k) na faixa 1 a N, enquanto e(N) é ponderado com apenas h(l). Em termos de ponderação espectral, isso significa que cada e(k) é ponderado com uma diferente função de ponderação espectral, de modo que, no extremo, e(N) é linearmente-ponderado. A partir de uma perspectiva de modelagem perceptual, faria sentido aplicar a mesma ponderação perceptual para todas as amostras dentro de uma estrutura. A Equação 3 deveria então ser estendida de modo que considere a ZIR na próxima estrutura. Seria observado que aqui, inter alia, a diferença na técnica anterior é que tanto a ZIR da estrutura prévia quando a ZIR na próxima estrutura são consideradas.
[00052] Deixe e(k) ser o original, residual não quantizado e ê(k) o residual quantizado. Além disso, deixe ambos os residuais ser não-zero na faixa 1 a N e zero em qualquer outro lugar. Então
[00054] onde H é a matriz de convolação dimensional infinita correspondente às respostas de impulso h(k). Inserindo na Equação 3 resulta
[00055] onde R — HH é o tamanho f inito, a matriz Hermitian Toeplitz correspondente à autocorrelação de h(n). Por uma derivação semelhante como para a Equação 4, a função objetiva é obtida:
[00056] Esta função objetiva é muito semelhante à Equação 4. A principal diferença é que ao invés da matriz de correlação B, aqui uma matriz de Hermitian Toeplitz R está no denominador.
[00057] Conforme explicado acima, esta nova formulação tem o beneficio que todas as amostras do residual e dentro de uma estrutura receberão a mesma ponderação perceptual. Entretanto, de forma importante, esta formulação introduz benefícios consideráveis à complexidade computacional e exigências de memória também. Visto que J? é uma matriz Hermitian Toeplitz, a primeira coluna r(0)..r(N-l) define a matriz completamente. Em outras palavras, ao invés de armazenar a matriz NxN completa, é suficiente armazenar apenas o vetor Nxl r(k), assim resultando em uma economia considerável na alocação de memória. Além disso, a complexidade computacional é ainda reduzida visto que não é necessário determinar todos os elementos NxN, mas apenas a primeira coluna Nxl. Ainda, a indexação dentro da matriz é simples, visto que o elemento (i,j) pode ser encontrado por R(i , j) = r(|i- j|) .
[00058] Visto que a função objetiva na Equação 10 é tão semelhante à Equação 4, a estrutura da ACELP geral pode ser retida. Especificamente, qualquer uma das seguintes operações pode ser realizada com qualquer função objetiva, com apenas modificações menores ao algoritmo: 1. Otimização do atraso de LTP (livro de códigos adaptativos) para modelar o residual (livro de códigos fixo) 3. Otimização dos ganhos de LTP e pulsos, tanto separadamente quanto conjuntamente 4, Otimização de qualquer outro parâmetro cujo desempenho pode ser medido pelo erro quadrático da Equação 3.
[00059] A única parte que deve ser modificada nas aplicações convencionais de ACELP é o gerenciamento da matriz de correlação B, que é substituída pela matriz R, bem como o alvo, que deve incluir a ZIR na seguinte estrutura.
[00060] Algumas aplicações empregam os conceitos da presente invenção por, em qualquer lugar no algoritmo de ACELP onde a matriz de correlação B aparece, ela ser substituída pela matriz de autocorrelação R. Se todos os exemplos da matriz B são omitidos, então, calcular seu valor pode ser evitado.
[00061] Por exemplo, a matriz de autocorrelação R é determinada pela determinação dos coeficientes da primeira coluna r(0), r(N-l) da matriz de autocorrelação R.
[00062] A matriz R é definida na Equação 9 por R=HTH, onde seus elementos Rij=r(i-j) podem ser calculados através de
[00063] Isso é, a sequência r(k) é a autocorrelação de h(k).
[00064] Geralmente, entretanto, r(k) pode ser obtido por meios ainda mais efetivos. Especificamente, nos padrões da codificação de fala como AMR e G.718, a sequência h(k) é a resposta de impulso de um preditivo linear filtro A(z) filtrado por uma função da ponderação perceptual W(z), que é para incluir a pré-ênfase. Em outras palavras, h(k) indica uma resposta de impulso perceptualmente ponderada de um modelo preditivo linear.
[00065] O filtro A(z) é geralmente estimado da autocorrelação do sinal de fala rx{k), isso é, rx(k) já é conhecido. Visto que H(z) = A_1(u)W(z), ele segue que a sequência de autocorrelação r(k) pode ser determinada calculando a autocorrelação de w(k) por
[00067] Dependendo do desenho de todo o sistema, estas equações podem, em algumas aplicações, ser modificadas certamente.
[00068] Um vetor do livro de códigos de um livro de códigos pode então, por exemplo, ser determinado com base na matriz de autocorrelação R. Em particular, a Equação 10 pode, de acordo com algumas aplicações, ser utilizada para determinar um vetor do livro de códigos do livro de códigos.
[00069] Neste contexto, a Equação 10 define a função objetiva na forma que e, caso contrário, a mesma e Rê forma que nos padrões da codificação de fala AMR e G.718, mas de modo que a fileira da matriz R tenha estrutura Toeplitz simétrica. A função objetiva é basicamente uma correlação normalizada entre o vetor alvo d e o vetor do livro de códigos ê e o melhor vetor do livro de códigos é aquele que fornece o valor mais alto para a correlação normalizada f(ê), por exemplo, que reduz a correlação normalizada /(ê) .
[00070] Os vetores do livro de códigos podem então ser otimizados com as mesmas abordagens que nos padrões mencionados. Especificamente, por exemplo, o algoritmo muito simples para constatação do melhor vetor do livro de códigos algébricos (ou seja, o livro de códigos fixo) ê para o residual pode ser aplicado, conforme descrito abaixo. Entretanto, deveria ser observado que o esforço significativo foi investido no desenho do algoritmo de buscas eficiente (c.f. AMR e G.718), e este algoritmo de busca é apenas um exemplo ilustrativo da aplicação. 1. Definir um vetor inicial do livro de códigosr e definir o número de pulsos para p=0. 2. Definir a medição de qualidade do livro de códigos inicial para f0=0. 3. Definir a medição de qualidade temporária do livro de códigos para 4. Para cada posição k no vetor do livro de códigos (i) Aumentar p em um. (ii) Se a posição k já contiver um pulso negativo, continuar para a etapa vii. códigos e adicionar um pulso positivo na posição k. (iv) Avaliar a qualidade do vetor temporário do livro de códigos por (v) Se o vetor temporário do livro de códigos é melhor do que qualquer um dos prévios então salve este vetor do livro de códigos, definae continue para a próxima iteração. (vi) Se a posição k já contém um pulso positivo, continue para a próxima iteração. (vii) Crie um vetor temporário do livro de códigos e adicione um pulso negativo na posição k. (viii) Avalie a qualidade do vetor temporário do livro de códigos por (ix) Se o vetor temporário do livro de códigos é melhor do que qualquer um dos anteriores, então, salve este vetor do livro de códigos, defina e continue para a próxima iteração. 5. Definir o vetor do livro de códigos para ser o último (ou seja, melhor) dos vetores salvos do livro de códigos. 6. Se o número de pulsos p atingiu o número desejado de pulsos, então defina o vetor de saida como ê = êpr e pare. Caso contrário, continue com a etapa 4.
[00071] Conforme já indicado, comparado às aplicações de ACELP convencionais, em algumas aplicações, o alvo é modificado de modo a incluir a ZIR na seguinte estrutura.
[00072] A Equação 1 descreve o modelo preditivo linear utilizado nos codecs do tipo ACELP. A Resposta de Impulso Zero (ZIR, ainda às vezes conhecida como a Resposta de Entrada Zero), refere-se à saída do modelo preditivo linear quando o residual da estrutura atual (e todas as futuras estruturas) é definido a zero. A ZIR pode ser prontamente calculada pela definição do residual que é zero da posição N como
[00074] Subtraindo esta ZIR do sinal de entrada, um sinal é obtido dependendo do residual apenas do avanço da estrutura atual.
[00076] O sinal de entrada onde a ZIR foi removida é geralmente conhecido como o alvo e pode ser definido para a estrutura que começa na posição K como d(n) = x(n) — Z/RK(n). Este alvo é, a princípio, exatamente igual ao alvo nos padrões AMR e G.718. Ao quantizar o sinal, o sinal quantizado á(n) é comparado a para a duração de uma estrutura K < n < K + N.
[00077] Inversamente, o residual da estrutura atual tem uma influência sobre as seguintes estruturas, onde é útil considerar sua influência ao quantizar o sinal, isso é, um então pode desejar avaliar a diferença d(n) — C£(TI) ainda além da estrutura atual,n>K + N Entretanto, para fazer isso, um pode desejar considerar a influência do residual da estrutura atual apenas definindo os residuais das estruturas a zero. Assim, a ZIR de d(n) na próxima estrutura pode ser comparada. Em outras palavras, o alvo modificado é obtido:
[00079] Esta fórmula pode ser escrita em uma forma conveniente da matriz por d1 = He onde H e são definidos como na Equação 2. Pode ser visto que o alvo modificado é exatamente x da Equação 2.
[00080] No cálculo da matriz R, observa-se que, na teoria, a resposta de impulso h(k) é uma sequência infinita que não é realizável em um sistema prático.
[00081] Entretanto, tanto o 1) truncamento ou o janelamento da resposta de impulso em um comprimento finito e a determinação da autocorrelação da resposta de impulso truncada, ou 2) cálculo do espectro de potência da resposta de impulso utilizando os espectros de Fourier do LP associado e filtros perceptuais e obtenção da autocorrelação por uma Transformada de Fourier inversa é possivel.
[00082] Agora, uma extensão que emprega o LTP é descrita.
[00083] O previsor de longo periodo (LTP | long-time predictor) ainda é realmente um previsor linear.
[00084] De acordo com uma aplicação, o determinador de matriz 110 pode ser configurado para determinar a matriz de autocorrelação R, dependendo de um previsor linear perceptualmente ponderado, por exemplo, dependendo do previsor de longo periodo.
[00085] O LP e LTP podem ser convolados em apenas um previsor conjunto, que inclui tanto a modulação do envelope espectral quanto a estrutura harmônica. A resposta de impulso deste previsor será muito longa, pela qual é ainda mais dificil lidar com a técnica anterior. Entretanto, se a autocorrelação do previsor linear já é conhecida, então a autocorrelação do previsor conjunto pode ser calculada pela simples filtragem da autocorrelação com o avanço e retrocesso de LTP, ou com um processo semelhante no dominio de frequência.
[00086] Observe que os métodos anteriores que empregam LTP têm um problema quando o atraso de LTP é mais curto do que o comprimento da estrutura, visto que o LTP causaria um circuito de retorno dentro da estrutura. O beneficio de incluir o LTP na função objetiva é que quando o atraso do LTP é mais curto do que o comprimento da estrutura, então este retorno é explicitamente considerado na otimização.
[00087] A seguir, uma extensão para a rápida otimização em um dominio não correlacionado é descrita.
[00088] Um desafio central no desenho de sistemas de ACELP foi a redução da complexidade computacional. Os sistemas de ACELP são complexos, pois a filtragem por LP causa correlações complicadas entre as amostras residuais, que são descritas pela matriz B ou no contexto atual pela matriz R. Visto que as amostras de e(n) são correlacionadas, não é possivel apenas quantizar e(n) com a precisão desejada, mas muitas combinações de diferentes quantizações com uma abordagem de tentativa e erro deve ser tentada, para encontrar a melhor quantização com relação à função objetiva da Equação 3 ou 10, respectivamente.
[00089] Pela introdução da matriz R, uma nova perspectiva a estas correlações é obtida. A saber, visto que R tem a estrutura Hermitian Toeplitz, várias decomposições da matriz eficientes podem ser aplicadas, como a decomposição de valor singular, decomposição de Cholesky ou decomposição de Vandermonde das matrizes de Hankel (matrizes de Hankel são matrizes invertidas de Toeplitz, pelas quais as mesmas decomposições podem ser aplicadas nas matrizes de Toeplitz e Hankel) (vide [6] e [7]). Deixe R = E D EH ser uma decomposição de R de modo que D seja uma matriz diagonal do mesmo tamanho e classificação que R. A equação 9 pode então ser modificada como segue:
[00090] onde f = E e. Visto que D é diagonal, o erro para cada amostra de f(k) é independente de outras amostras f(i). Na Equação 10, assume-se que o vetor do livro de códigos é escalado pelo ganho ótimo, pelo qual a nova função objetiva é
[00091] Aqui, as amostras são novamente correlacionadas (visto que mudar a quantização de uma linha muda o ganho ótimo para todas as linhas), mas em comparação à Equação 10, o efeito de correlação é aqui limitado. Entretanto, mesmo se a correlação for considerada, a otimização desta função objetiva é muito mais simples do que a otimização de Equações 3 ou 10.
[00092] Utilizando esta abordagem de decomposição, é possivel 1. aplicar qualquer técnica de escala convencional ou quantização de vetor com a precisão desejada, ou 2. para utilizar a Equação 12 como a função objetiva com qualquer algoritmo de busca de pulso de ACELP convencional.
[00093] Ambas as abordagens fornecem a quantização quase ideal com relação à Equação 12. Visto que as técnicas de quantização convencionais geralmente não exigem qualquer método de força bruta (para a exceção de um possível ciclo de taxa), e por causa da matriz D é mais simples do que tanto B ou R, ambos os métodos de quantização são menos complexos do que os algoritmos de busca de pulso de ACELP convencionais. A fonte principal de complexidade computacional nesta abordagem é então o cálculo computacional da decomposição da matriz.
[00094] Algumas aplicações empregam a equação 12 para determinar um vetor do livro de códigos do livro de códigos.
[00095] Por exemplo, várias fatorizações da matriz para R da forma R — E^DE existem. Por exemplo, (a) A decomposição de autovalor pode ser calculada, por exemplo, utilizando a Biblioteca Cientifica GNU (http://www.gnu.org/software/gsl/manual/html_node/Real- Symmetric-Matrices.html). A matriz R é real e simétrica (bem como Toeplitz), pela qual a função "gsl_eigen_symm()" pode ser utilizada para determinar as matrizes E e D. Outras implementações da mesma decomposição de autovalor são prontamente disponíveis na literatura [6], (b) A fatorização de Vandermonde das matrizes Toeplitz [7] pode ser utilizada usando o algoritmo descrito em [8]. Este algoritmo retorna as matrizes E e D de modo que E seja uma matriz de Vandermonde, que é equivalente a uma Transformada de Fourier discreta com distribuição de frequência não uniforme.
[00096] Utilizando estas fatorizações, o vetor residual e pode ser transformado em dominio de transformada por Qualquer método de quantização comum pode ser aplicado neste dominio, por exemplo, 1. O vetor f' pode ser quantizado por um livro de códigos algébricos exatamente como nas implementações comuns de ACELP. Entretanto, visto que os elementos de f' não são correlacionados, uma função de busca complicada como em ACELP não é necessária, mas um simples algoritmo pode ser aplicado, como (a) Definir ganho inicial para g=l (b) Quantizer f' por (c) Se o número de pulsos em f é maior do que uma quantidade predefinida p, então, aumente o ganho g e retorne à etapa b. (d) Caso contrário, se o número de pulsos em/' é menor do que uma quantidade predefinida p, então, reduza o ganho e retorne à etapa b. (e) Caso contrário, o número de pulsos em f’ é igual à quantidade predefinida p, , e o processamento pode ser parado. 2. Um codificador aritmético pode ser utilizado semelhante ao utilizado na quantização de linhas espectrais em TCX nos padrões AMR-WB+ ou MPEG USAC.
[00097] Deve ser observado que, uma vez que os elementos de f' são ortogonais (como pode ser visto da Equação 12) e têm a mesma ponderação na função objetiva da Equação 12, eles podem ser quantizados separadamente, e com o mesmo tamanho da etapa de quantização. Esta quantização encontrará automaticamente o valor ideal (o maior) da função objetiva na Equação 12, que é possivel com esta precisão da quantização. Em outras palavras, os algoritmos de quantização apresentados acima, retornarão à quantização ideal com relação à Equação 12.
[00098] Esta vantagem de otimização está relacionada ao fato de que os elementos de f' podem ser tratados separadamente. Se uma abordagem do livro de códigos fosse utilizada, onde os vetores do livro de códigos ck são incomuns (têm mais do que um elemento não zero) , então estes vetores do livro de códigos não teriam elementos independentes e a vantagem da fatorização da matriz é perdida.
[00099] Observe que a fatorização de Vandermonde de uma matriz Toeplitz pode ser escolhida de modo que a matriz de Vandermonde seja uma matriz da Transformada de Fourier, mas com frequências uniformemente distribuídas. Em outras palavras, a matriz de Vandermonde corresponde a uma Transformada de Fourier deformada pela frequência. Segue que neste caso o vetor f corresponde a uma representação de domínio de frequência do sinal residual em uma escala de frequência deformada (vide a "propriedade de troca por raiz" em [8]). De forma importante, observe que esta consequência não é bem conhecida. Na prática, este resultado estabelece que se um sinal x for filtrado com uma matriz de convolução C, então
[000100] onde V é uma Transformada de Fourier (por exemplo, deformada) (que é uma matriz de Vandermonde com elementos no círculo da unidade) e D uma matriz diagonal. Isso é, se for desejado medir a energia de um sinal filtrado, a energia do sinal deformado por frequência pode equivalentemente ser medida. Inversamente, qualquer avaliação que deve ser realizada em um domínio de Fourier deformado, pode equivalentemente ser feita em um dominio de tempo filtrado. Devido à duração de tempo e frequência, uma equivalência entre janelamento de domínio de tempo e deformação de tempo ainda existe. Uma questão prática é, entretanto, esta constatação que uma matriz de convolução C que satisfaz a relação acima é um problema numericamente sensível, pelo qual geralmente é mais fácil encontrar soluções aproximadas C.
[000101] A relação I |C x| l2 = I ID V x| ]2 pode ser empregada para determinar um vetor do livro de códigos de um livro de códigos.
[000102] Para isso, deve primeiro ser observado aqui que, por H, uma matriz de convolução como na Equação 2 será denotada ao invés de C. Se, então, for desejado reduzir o ruído de quantização e=Hx-H£f sua energia pode ser medida:
[000103] Agora, uma extensão para a independência da estrutura é descrita.
[000104] Quando o sinal de fala codificado é transmitido sobre as linhas de transmissão imperfeitas, tais como ondas de rádio, invariavelmente os pacotes de dados serão às vezes perdidos. Se as estruturas são dependentes entre si, de modo que o pacote N seja necessário para decodificar perfeitamente N-l, então, a perda de pacote N-l corromperá a sintese de ambos os pacotes N-l e N. Se, por outro lado, as estruturas são independentes, então, a perda de pacote N-l corromperá apenas a sintese do pacote N-l. É, portanto, importante para métodos de dispositivo que estão livres de dependências entre as estruturas.
[000105] Nos sistemas convencionais de ACELP, a fonte principal da dependência entre estruturas é o LTP e em alguma extensão ainda o LP. Especificamente, visto que ambos são filtros da resposta de impulso infinito (HR I infinite impulse response), uma estrutura corrompida causará uma "cauda" infinita das amostras corrompidas. Na prática, esta cauda pode ser várias estruturas longas, sendo perceptualmente perturbadoras.
[000106] Utilizando a estrutura da invenção atual, a passagem pela qual a dependência entre as estruturas é gerada pode ser quantificada pela ZIR da estrutura atual na próxima é realizada. Para evitar esta dependência entre as estruturas, três modificações ao ACELP convencional precisam ser feitas. 1. Ao calcular a ZIR da estrutura prévia na (sub)estrutura atual, deve ser calculada do residual original (não quantizado) estendido com zeros, não do residual quantizado. Dessa forma, os erros de quantização da (sub)estrutura prévia não propagarão na (sub)estrutura atual. 2. Ao quantizar a estrutura atual, o erro na ZIR na próxima estrutura entre os sinais originais e substituindo a matriz de correlação B com a matriz de autocorrelação R, conforme explicado acima. Isso garante que o erro na ZIR na próxima estrutura é reduzido junto com o erro dentro da estrutura atual. 3. Visto que a propagação de erro é devida tanto a LP quanto a LTP, ambos os componentes devem ser incluidos na ZIR. Isso está na diferente à abordagem convencional onde a ZIR é calculada para LP apenas.
[000107] Se os erros de quantização da estrutura prévia ao quantizar a estrutura atual não são considerados, a eficiência na qualidade perceptual da saida é perdida. Assim, é possivel escolher considerar os erros prévios quando não há risco de propagação de erro. Por exemplo, o sistema convencional de ACELP aplica uma estrutura onde cada 20ms de estrutura é subdividida em 4 ou 5 subestruturas. O LTP e o residual são quantizados e codificados separadamente para cada subestrutura, mas toda a estrutura é transmitida como um bloco de dados. Assim, as subestruturas individuais não podem ser perdidas, mas apenas estruturas completas. Segue que é necessário utilizar ZIRs independentes da estrutura apenas nos limites da estrutura, mas as ZIRs podem ser utilizadas com as dependências entre estruturas entre as subestruturas remanescentes.
[000108] As aplicações modificam os algoritmos de ACELP convencionais pela inclusão do efeito da resposta de impulso da estrutura atual na próxima estrutura, na função objetiva da estrutura atual. Na função objetiva do problema de otimização, esta modificação corresponde à substituição de uma matriz de correlação com uma matriz de autocorrelação que tem a estrutura Hermitian Toeplitz. Esta modificação tem os seguintes benefícios: 1. Complexidade computacional e exigências de memória são reduzidos devido à estrutura Hermitian Toeplitz adicionada da matriz de autocorrelação. 2. 0 mesmo modelo perceptual será aplicado em todas as amostras, tornando o desenho e a sintonia do modelo perceptual mais simples, e sua aplicação mais eficiente e consistente. 3. As correlações entre as estruturas podem ser evitadas completamente na quantização da estrutura atual, considerando apenas a resposta de impulso não quantizada da estrutura prévia e da resposta de impulso quantizado na próxima estrutura. Isso melhora a robustez dos sistemas onde a perda de pacote é esperada.
[000109] A Figura 2 ilustra um decodificador 220 para decodificar um sinal de fala codificado sendo codificado por um aparelho, de acordo com a aplicação descrita acima, para obter um sinal de fala decodificado. O decodificador 220 é configurado para receber o sinal de fala codificado, em que o sinal de fala codificado compreende uma indicação do vetor do livro de códigos, sendo determinada por um aparelho para codificar um sinal de fala de acordo com uma das aplicações descritas acima, por exemplo, um indice do vetor do livro de códigos determinado. Além disso, o decodificador 220 é configurado para decodificar o sinal de fala codificado para obter um sinal de fala decodificado dependendo do vetor do livro de códigos.
[000110] A Figura 3 ilustra um sistema, de acordo com uma aplicação. O sistema compreende um aparelho 210, de acordo com uma das aplicações descritas acima, para codificar um sinal de fala de entrada para obter um sinal de fala codificado. 0 sinal de fala codificado compreende uma indicação do vetor do livro de códigos determinado pelo aparelho 210 para codificar um sinal de fala, por exemplo, compreende um indice do vetor do livro de códigos. Além disso, o sistema compreende um decodificador 220 de acordo com a aplicação descrita acima para decodificar o sinal de fala codificado para obter um sinal de fala decodificado. O decodificador 220 é configurado para receber o sinal de fala codificado. Além disso, o decodificador 220 é configurado para decodificar o sinal de fala codificado para obter um sinal de fala decodificado dependendo do vetor do livro de códigos determinado.
[000111] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que estes aspectos também representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método ou uma característica de uma etapa do método. De forma análoga, 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.
[000112] 0 sinal inventivo decomposto pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido por um meio de transmissão, tal como um meio de transmissão sem fio ou um meio de transmissão cabeado, tal como a Internet.
[000113] Dependendo de certas exigências de implementação, as aplicações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada utilizando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um CD, uma memória ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, tendo sinais de controle eletronicamente legíveis armazenados nele (ou são capazes de cooperar) com um sistema de computador programável, de modo que o respectivo método seja realizado.
[000114] Algumas aplicações, de acordo com a invenção, compreendem um transportador de dados não transitório tendo sinais de controle eletronicamente legíveis que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos descritos neste documento seja realizado.
[000115] De forma geral, as aplicações da presente invenção podem ser implementadas como um produto do programa de computador com um código do programa, o código do programa sendo operativo para realizar um dos métodos quando o produto do programa de computador é executado em um computador. O código do programa pode, por exemplo, ser armazenado em um transportador legível por máquina.
[000116] Outras aplicações compreendem o programa de computador para realizar um dos métodos descritos neste documento, armazenados em um transportador legível por máquina.
[000117] Em outras palavras, uma aplicação do método inventivo é, assim, um programa de computador tendo um código do programa para realizar um dos métodos descritos neste documento, quando o programa de computador é executado em um computador.
[000118] Outra aplicação dos métodos inventivos é, portanto, um transportador de dados (ou um meio de armazenamento digital, ou um meio legível por computador) compreendendo, gravado nele, o programa de computador para realizar um dos métodos descritos neste documento.
[000119] Outra aplicação do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para realizar um dos métodos descritos neste documento. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma conexão de comunicação de dados, por exemplo, através da Internet.
[000120] Outra aplicação compreende um meio de processamento, por exemplo, um computador ou um dispositivo lógico programável, configurado para ou adaptado para realizar um dos métodos descritos neste documento.
[000121] Outra aplicação compreende um computador tendo instalado nele o programa de computador para realizar um dos métodos descritos neste documento.
[000122] Em algumas aplicações, um dispositivo lógico programável (por exemplo, um arranjo de portas de campo programáveis) pode ser utilizado para realizar algumas ou todas as funcionalidades dos métodos descritos neste documento. Em algumas aplicações, um arranjo de portas de campo programáveis pode cooperar com um microprocessador, a fim de realizar um dos métodos descritos neste documento. De forma geral, os métodos são preferivelmente realizados por qualquer aparelho de hardware.
[000123] As aplicações descritas acima são meramente ilustrativas para os princípios da presente invenção. Entende-se que modificações e variações das disposições e os detalhes descritos no presente documento serão evidentes a outros especialistas na técnica. É intenção da invenção, portanto, ser limitada apenas pelo escopo das reivindicações da patente anexas e não pelos detalhes específicos apresentados em forma de descrição e explicação das aplicações no presente documento. REFERÊNCIAS
[000124] [1] Salami, R. and Laflamme, C. and Bessette, B. and Adoul, J.P., "ITU-T G. 729 Annex A: reduced complexity 8 kb/s CS-ACELP codec for digital simultaneous voice and data”, Communications Magazine, IEEE, vol 35, no 9, pp 56-63, 1997.
[000125] [2] 3GPP TS 26.190 V7.0.0 , "Adaptive Multi-Rate (AMR-WB) speech codec”, 2007.
[000126] [3] 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.
[000127] [4] Schroeder, M. and Atal, B. , "Codeexcited linear prediction (CELP): High-quality speech at very low bit rates”, Acoustics, Speech, and Signal Processing, IEEE Int Conf, pp 937-940, 1985.
[000128] [5] Byun, K.J. and Jung, H.B. and Hahn, M. and Kim, K.S., "A fast ACELP codebook search method”, Signal Processing, 2002 6th International Conference on, vol 1, pp 422-425, 2002.
[000129] [6] G. H. Golub and C. F. van Loan, "Matrix Computations", 3rd Edition, John Hopkins University Press, 1996.
[000130] [7] Boley, D.L. and Luk, F.T. and Vandevoorde, D., "Vandermonde factorization of a Hankel matrix”, Scientific computing, pp 27-39, 1997.
[000131] [8] Bãckstrõm, T. and Magi, C., "Properties of line spectrum pair polynomials - A review", Signal processing, vol. 86, no. 11, pp. 3286-3298, 2006.
[000132] [9] A. Hãrmã, M. Karjalainen, L. Savioja, V. Vãlimãki, U. Laine, and J. Huopaniemi, "Frequencywarped signal processing for audio applications," J. Audio Eng. Soc, vol. 48, no. 11, pp. 1011-1031, 2000.
[000133] [10] T. Laakso, V. Vãlimãki, M. Karjalainen, and U. Laine, "Splitting the unit delay [FIR/all pass filters design]," IEEE Signal Process. Mag.,vol. 13, no. 1, pp. 30-60, 1996.
[000134] [11] J. Smith III and J. Abel, "Bark and ERB bilinear transforms," IEEE Trans. Speech Audio Process., vol. 7, no. 6, pp. 697-708, 1999.
[000135] [12] R. Schappelle, "The inverse of the confluent Vandermonde matrix," IEEE Trans. Autom. Control, vol. 17, no. 5, pp. 724-725, 1972.
[000136] [13] B. Bessette, R. Salami, R. Lefebvre, M. Jelinek, J. Rotola-Pukkila, J. Vainio, H. Mikkola, and K. Jarvinen, "The adaptive multirate wideband speech codec (AMR- WB) , " Speech and Audio Processing, IEEE Transactions on, vol. 10, no. 8, pp. 620-636, 2002.
[000137] [14] M. Bosi and R. E. Goldberg, Introduction to Digital Audio Coding and Standards. Dordrecht, The Netherlands: Kluwer Academic Publishers, 2003.
[000138] [15] B. Edler, S. Disch, S. Bayer, G. Fuchs, and R. Geiger, "A time-warped MDCT approach to speech transform coding," in Proc 126th AES Convention, Munich, Germany, May 2009.
[000139] [16] J. Makhoul, "Linear prediction: A tutorial review," Proc. IEEE, vol. 63, no. 4, pp. 561-580, April 1975.
[000140] [17] J.-P. Adoul, P. Mabilleau, M. Delprat, and S. Morissette, "Fast CELP coding based on algebraic codes," in Acoustics, Speech, and Signal Processing, IEEE Int Conf (ICASSP'87), April 1987, pp. 19571960.
[000141] [18] ISO/IEC 23003-3:2012, "MPEG-D (MPEG audio technologies), Part 3: Unified speech and audio coding," 2012.
[000142] [19] F.-K. Chen and J.-F. Yang, "Maximumtake-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.
[000143] [20] R. P. Kumar, "High computacional performance in code exited linear prediction speech model using faster codebook search techniques," in Proceedings of the International Conference on Computing; Theory and Applications. IEEE Computer Society, 2007, pp. 458-462.
[000144] [21] 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.
[000145] [22] 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.
[000146] [23] ITU-T Recommendation G.191, "Software tool library 2009 user's manual," 2009.
[000147] [24] ITU-T Recommendation P.863, "Perceptual objective listening quality assessment," 2011.
[000148] [25] T. Thiede, W. Treurniet, R. Bitto, C. Schmidmer, T. Sporer, J. Beerends, C. Colomes, M. Keyhl, G. Stoll, K. Brandeburg et al., "PEAQ - the ITU standard for objective measurement of perceived audio quality," Journal of the Audio Engineering Society, vol. 48, 2012.
[000149] [26] ITU-R Recommendation BS.1534-1, "Method for the subjective assessment of intermediate quality level of coding systems," 2003.
Claims (19)
1. Um aparelho para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação de fala, caracterizado pelo aparelho compreender: um determinador de matriz (110) para determinar uma matriz de autocorrelação R, e um determinador do vetor do livro de códigos (120) para determinar o vetor do livro de códigos, dependendo da matriz de autocorrelação R, em que o determinador de matriz (110) é configurado para determinar a matriz de autocorrelação R pela determinação dos coeficientes do vetor de um vetor r, em que a matriz de autocorrelação R compreende uma pluralidade de fileiras e uma pluralidade de colunas, em que o vetor R indica uma das colunas ou uma das fileiras da matriz de autocorrelação R, em que R(i , j) = r(|i- jI), em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação R, em que o determinador do vetor do livro de códigos está configurado para determinar o vetor do livro de códigos do algoritmo de codificação da fala para codificar o sinal de fala aplicando a fórmula em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz e em que ê é um dos vetores do livro de códigos do algoritmo de codificação de fala para codificar o sinal de fala, em que f(ê) é uma correlação normalizada e em que dT é definido de acordo com: em que e é um sinal residual não quantificado original, em que T indica uma transposição de um vetor e em que pelo menos um dos determinantes da matriz e do determinador do vetor da lista de códigos compreende uma implementação de hardware.
2. Um aparelho de acordo com a reivindicação 1, caracterizado pelo determinador de matriz (110) ser configurado para determinar os coeficientes do vetor do vetor R aplicando a fórmula: em que h(k) indica uma resposta de impulso perceptualmente ponderada de um modelo preditivo linear, em que k é um índice sendo um número inteiro e em que l é um índice sendo um número inteiro.
3. Um aparelho de acordo com a reivindicação 1 ou 2, caracterizado pelo determinador de matriz (110) ser configurado para determinar a matriz de autocorrelação R, dependendo de um previsor linear perceptualmente ponderado.
5. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para decompor a matriz de autocorrelação R pela condução de uma decomposição da matriz.
6. Um aparelho de acordo com a reivindicação 5, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para conduzir a decomposição da matriz para determinar uma matriz diagonal D para determinar o vetor do livro de códigos.
7. Um aparelho de acordo com a reivindicação 6, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para determinar o vetor do livro de códigos empregando em que D é a matriz diagonal, em que f é um primeiro vetor e em que f é um segundo vetor, em que H indica uma transposição hermitiana de um vetor.
8. Um aparelho de acordo com a reivindicação 6 ou 7, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para conduzir uma fatorização de Vandermonde na matriz de autocorrelação R para decompor a matriz de autocorrelação R para conduzir a decomposição da matriz para determinar a matriz diagonal D para determinar o vetor do livro de códigos.
9. Um aparelho de acordo com qualquer uma das reivindicações de 6 a 8, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para empregar a equação para determinar o vetor do livro de códigos, em que C indica uma matriz de convolução, em que V indica uma Transformada de Fourier e em que x indica o sinal de fala.
10. Um aparelho de acordo com qualquer uma das reivindicações de 6 a 9, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para conduzir uma decomposição de valor singular na matriz de autocorrelação R para decompor a matriz de autocorrelação R para conduzir a decomposição da matriz para determinar a matriz diagonal D para determinar o vetor do livro de códigos.
11. Um aparelho de acordo com qualquer uma das reivindicações de 6 a 9, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para conduzir uma decomposição de Cholesky na matriz de autocorrelação R para decompor a matriz de autocorrelação R para conduzir a decomposição da matriz para determinar a matriz diagonal D para determinar o vetor do livro de códigos.
12. Um aparelho de acordo com uma das reivindicações anteriores, caracterizado pelo determinador do vetor do livro de códigos (120) ser configurado para determinar o vetor do livro de códigos, dependendo de uma resposta de impulso zero do sinal de fala.
13. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo aparelho ser um codificador para codificar o sinal de fala, empregando a codificação de fala da previsão linear excitada do código algébrico, e em que o determinador do vetor do livro de códigos (120) é configurado para determinar o vetor do livro de códigos com base na matriz de autocorrelação R como um vetor do livro de códigos de um livro de códigos algébricos.
14. Um método para codificar um sinal de fala pela determinação de um vetor do livro de códigos de um algoritmo de codificação de fala, caracterizado pelo método compreender: determinação de uma matriz de autocorrelação R, e determinação do vetor do livro de códigos, dependendo da matriz de autocorrelação R, em que a determinação de uma matriz de autocorrelação R compreende determinar os coeficientes do vetor de um vetor r, em que a matriz de autocorrelação R compreende uma pluralidade de fileiras e uma pluralidade de colunas, em que o vetor R indica uma das colunas ou uma das fileiras da matriz de autocorrelação R, em que R(i , j) = r(|i- jI), em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação R, em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz, em que o determinador do vetor do livro de códigos está configurado para determinar o vetor do livro de códigos do algoritmo de codificação da fala para codificar o fala aplicando a fórmula: em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz e em que ê é um dos vetores do livro de códigos do algoritmo de codificação de fala para codificar o sinal de fala, em que f(ê) é uma correlação normalizada e em que dT é definido de acordo com: em que e é um sinal residual não quantificado original, em que T indica uma transposição de um vetor, e em que o método é realizado usando um aparelho de hardware ou usando um computador ou usando um aparelho de hardware e um computador.
15. Aparelho para codificar um sinal de fala, determinando um vetor do livro de códigos de um algoritmo de codificação de fala, em que o aparelho é caracterizado por: um determinador de matriz para determinar uma matriz de autocorrelação R do algoritmo de codificação de fala, e um determinante do vetor do livro de códigos para determinar o vetor do livro de códigos do algoritmo de codificação da fala, dependendo da matriz de autocorrelação R do algoritmo de codificação da fala, em que o determinador da matriz está configurado para determinar a matriz de autocorrelação R do algoritmo de codificação da fala, determinando os coeficientes do vetor de um vetor r, em que a matriz de autocorrelação R do algoritmo de codificação da fala compreende uma pluralidade de linhas e uma pluralidade de colunas, em que o vetor r indica uma das colunas ou uma das linhas da matriz de autocorrelação R do algoritmo de codificação da fala, em que R(i , j) = r(|i- jI), em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação R, em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz, em que o determinador do vetor da lista de códigos está configurado para decompor a matriz de autocorrelação R do algoritmo de codificação de fala, realizando uma decomposição da matriz, em que o determinador do vetor do livro de códigos está configurado para conduzir a decomposição da matriz para determinar uma matriz diagonal D para determinar o vetor do livro de códigos do algoritmo de codificação de fala, e em que o determinador do vetor do livro de códigos está configurado para determinar o vetor do livro de códigos do algoritmo de codificação de fala empregando em que D é a matriz diagonal, em que f é um primeiro vetor e em que fA é um segundo vetor, e em que H indica uma transposição hermitiana de um vetor.
16. Método para codificar um sinal de fala, determinando um vetor do livro de códigos de um algoritmo de codificação de fala, em que o método é caracterizado: determinar uma matriz de autocorrelação R do algoritmo de codificação da fala e determinar o vetor do livro de códigos do algoritmo de codificação da fala, dependendo da matriz de autocorrelação R do algoritmo de codificação da fala, em que a determinação de uma matriz de autocorrelação R do algoritmo de codificação da fala compreende determinar os coeficientes do vetor de um vetor r, em que a matriz de autocorrelação R do algoritmo de codificação da fala compreende uma pluralidade de linhas e uma pluralidade de colunas, em que o vetor r indica uma das colunas ou uma das linhas da matriz de autocorrelação R do algoritmo de codificação da fala, em que R(i , j) = r(|i- j|), em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação R, em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz, em que a determinação do vetor do livro de códigos do algoritmo de codificação de voz para codificação do sinal de fala é realizada aplicando a fórmula: em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz e em que ê é um dos vetores do livro de códigos do algoritmo de codificação de fala para codificar o sinal de fala, em que f(ê) é uma correlação normalizada e em que dT é definido de acordo com: em que e é um sinal residual não quantificado original, em que T indica uma transposição de um vetor, e em que o método é realizado usando um aparelho de hardware ou usando um computador ou usando um aparelho de hardware e um computador.
17. Método, caracterizado pelo fato de que compreende: codificar um sinal de fala de entrada de acordo com o método da reivindicação 16 para adquirir um sinal de fala codificado, em que o sinal de fala codificado compreende uma indicação de um vetor de livro de códigos do algoritmo de codificação de voz, e decodificar o sinal de fala codificado para adquirir o sinal de fala decodificado, dependendo do vetor do livro de códigos do algoritmo de codificação de voz.
18. Método para codificar um sinal de fala, determinando um vetor do livro de códigos de um algoritmo de codificação de fala, em que o método é caracterizado: determinar uma matriz de autocorrelação R do algoritmo de codificação da fala e determinar o vetor do livro de códigos do algoritmo de codificação da fala, dependendo da matriz de autocorrelação R do algoritmo de codificação da fala, em que a determinação de uma matriz de autocorrelação R do algoritmo de codificação da fala compreende determinar os coeficientes do vetor de um vetor r, em que a matriz de autocorrelação R do algoritmo de codificação da fala compreende uma pluralidade de linhas e uma pluralidade de colunas, em que o vetor r indica uma das colunas ou uma das linhas da matriz de autocorrelação R do algoritmo de codificação da fala, em que R(i , j) = r(|i- jI), em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação R, em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz, em que a determinação da matriz de autocorrelação R do algoritmo de codificação da fala é conduzida através da realização de uma decomposição da matriz, em que a condução da decomposição da matriz é conduzida para determinar uma matriz diagonal D para determinar o vetor do livro de códigos do algoritmo de codificação de fala, e em que a determinação do vetor do livro de códigos do algoritmo de codificação da fala é conduzida empregando em que D é a matriz diagonal, em que f é um primeiro vetor e em que fA é um segundo vetor, e em que H indica uma transposição hermitiana de um vetor.
19. Método para codificar um sinal de fala, determinando um vetor do livro de códigos de um algoritmo de codificação de fala, em que o método é caracterizado: determinar uma matriz de autocorrelação R do algoritmo de codificação da fala e determinar o vetor do livro de códigos do algoritmo de codificação da fala, dependendo da matriz de autocorrelação R do algoritmo de codificação da fala, em que a determinação da matriz de autocorrelação R do algoritmo de codificação da fala compreende determinar os coeficientes do vetor de um vetor r, em que a matriz da autocorrelação R do algoritmo de codificação da fala compreende uma pluralidade de linhas e uma pluralidade de colunas, em que o vetor r indica uma das colunas ou uma das linhas da matriz de autocorrelação R do algoritmo de codificação da fala, em que R(i , j) = r(|i- j|), em que R(i, j) indica os coeficientes da matriz de autocorrelação R, em que i é um primeiro índice que indica uma de uma pluralidade de fileiras da matriz de autocorrelação R, e em que j é um segundo índice que indica uma da pluralidade de colunas da matriz de autocorrelação R, em que R é a matriz de autocorrelação, em que R é uma matriz de Hermitian Toeplitz, em que a determinação da matriz de autocorrelação R do algoritmo de codificação da fala é conduzida através da realização de uma decomposição da matriz, em que a condução da decomposição da matriz é conduzida para determinar uma matriz diagonal D para determinar o vetor do livro de códigos do algoritmo de codificação de fala, e em que a determinação do vetor do livro de códigos do algoritmo de codificação da fala é conduzida empregando em que D é a matriz diagonal, em que f é um primeiro vetor e em que fA é um segundo vetor, e em que indica uma transposição hermitiana de um vetor, em que a condução da decomposição da matriz para determinar a matriz diagonal D para determinar o vetor do livro de códigos do algoritmo de codificação da fala é conduzida através da realização de uma fatoração de Vandermonde na matriz de autocorrelação R do algoritmo de codificação da fala para decompor a matriz de autocorrelação R do algoritmo de codificação da fala.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261710137P | 2012-10-05 | 2012-10-05 | |
US61/710,137 | 2012-10-05 | ||
PCT/EP2013/066074 WO2014053261A1 (en) | 2012-10-05 | 2013-07-31 | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112015007137A2 BR112015007137A2 (pt) | 2017-07-04 |
BR112015007137B1 true BR112015007137B1 (pt) | 2021-07-13 |
Family
ID=48906260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112015007137-6A BR112015007137B1 (pt) | 2012-10-05 | 2013-07-31 | Aparelho para codificar um sinal de fala que emprega acelp no domínio de autocorrelação |
Country Status (22)
Country | Link |
---|---|
US (2) | US10170129B2 (pt) |
EP (3) | EP3444818B1 (pt) |
JP (1) | JP6122961B2 (pt) |
KR (1) | KR101691549B1 (pt) |
CN (1) | CN104854656B (pt) |
AR (1) | AR092875A1 (pt) |
AU (1) | AU2013327192B2 (pt) |
BR (1) | BR112015007137B1 (pt) |
CA (3) | CA2887009C (pt) |
ES (2) | ES2701402T3 (pt) |
FI (1) | FI3444818T3 (pt) |
HK (1) | HK1213359A1 (pt) |
MX (1) | MX347921B (pt) |
MY (1) | MY194208A (pt) |
PL (2) | PL3444818T3 (pt) |
PT (2) | PT3444818T (pt) |
RU (1) | RU2636126C2 (pt) |
SG (1) | SG11201502613XA (pt) |
TR (1) | TR201818834T4 (pt) |
TW (1) | TWI529702B (pt) |
WO (1) | WO2014053261A1 (pt) |
ZA (1) | ZA201503025B (pt) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2887009C (en) * | 2012-10-05 | 2019-12-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |
EP2919232A1 (en) * | 2014-03-14 | 2015-09-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and method for encoding and decoding |
EP4336500A3 (en) * | 2014-04-17 | 2024-04-03 | VoiceAge EVS LLC | Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates |
EP3696816B1 (en) * | 2014-05-01 | 2021-05-12 | Nippon Telegraph and Telephone Corporation | Periodic-combined-envelope-sequence generation device, periodic-combined-envelope-sequence generation method, periodic-combined-envelope-sequence generation program and recording medium |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4815135A (en) * | 1984-07-10 | 1989-03-21 | Nec Corporation | Speech signal processor |
US4868867A (en) * | 1987-04-06 | 1989-09-19 | Voicecraft Inc. | Vector excitation speech or audio coder for transmission or storage |
US4910781A (en) * | 1987-06-26 | 1990-03-20 | At&T Bell Laboratories | Code excited linear predictive vocoder using virtual searching |
EP0422232B1 (en) * | 1989-04-25 | 1996-11-13 | Kabushiki Kaisha Toshiba | Voice encoder |
CA2010830C (en) * | 1990-02-23 | 1996-06-25 | Jean-Pierre Adoul | Dynamic codebook for efficient speech coding based on algebraic codes |
US5495555A (en) * | 1992-06-01 | 1996-02-27 | Hughes Aircraft Company | High quality low bit rate celp-based speech codec |
FR2700632B1 (fr) * | 1993-01-21 | 1995-03-24 | France Telecom | Système de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués. |
JP3209248B2 (ja) * | 1993-07-05 | 2001-09-17 | 日本電信電話株式会社 | 音声の励振信号符号化法 |
US5854998A (en) * | 1994-04-29 | 1998-12-29 | Audiocodes Ltd. | Speech processing system quantizer of single-gain pulse excitation in speech coder |
FR2729245B1 (fr) * | 1995-01-06 | 1997-04-11 | Lamblin Claude | Procede de codage de parole a prediction lineaire et excitation par codes algebriques |
FR2729247A1 (fr) * | 1995-01-06 | 1996-07-12 | Matra Communication | Procede de codage de parole a analyse par synthese |
US5751901A (en) * | 1996-07-31 | 1998-05-12 | Qualcomm Incorporated | Method for searching an excitation codebook in a code excited linear prediction (CELP) coder |
WO1998006091A1 (fr) * | 1996-08-02 | 1998-02-12 | Matsushita Electric Industrial Co., Ltd. | Codec vocal, support sur lequel est enregistre un programme codec vocal, et appareil mobile de telecommunications |
EP1085504B1 (en) * | 1996-11-07 | 2002-05-29 | Matsushita Electric Industrial Co., Ltd. | CELP-Codec |
US6055496A (en) * | 1997-03-19 | 2000-04-25 | Nokia Mobile Phones, Ltd. | Vector quantization in celp speech coder |
US5924062A (en) * | 1997-07-01 | 1999-07-13 | Nokia Mobile Phones | ACLEP codec with modified autocorrelation matrix storage and search |
KR100319924B1 (ko) * | 1999-05-20 | 2002-01-09 | 윤종용 | 음성 부호화시에 대수코드북에서의 대수코드 탐색방법 |
GB9915842D0 (en) * | 1999-07-06 | 1999-09-08 | Btg Int Ltd | Methods and apparatus for analysing a signal |
AU2002211881A1 (en) * | 2000-10-13 | 2002-04-22 | Science Applications International Corporation | System and method for linear prediction |
US7206739B2 (en) * | 2001-05-23 | 2007-04-17 | Samsung Electronics Co., Ltd. | Excitation codebook search method in a speech coding system |
DE10140507A1 (de) * | 2001-08-17 | 2003-02-27 | Philips Corp Intellectual Pty | Verfahren für die algebraische Codebook-Suche eines Sprachsignalkodierers |
US7003461B2 (en) * | 2002-07-09 | 2006-02-21 | Renesas Technology Corporation | Method and apparatus for an adaptive codebook search in a speech processing system |
US7243064B2 (en) * | 2002-11-14 | 2007-07-10 | Verizon Business Global Llc | Signal processing of multi-channel data |
EP1854095A1 (en) * | 2005-02-15 | 2007-11-14 | BBN Technologies Corp. | Speech analyzing system with adaptive noise codebook |
MX2007014570A (es) * | 2005-05-25 | 2008-02-11 | Koninkl Philips Electronics Nv | Codificacion predictiva de una senal de canales multiples. |
JP3981399B1 (ja) * | 2006-03-10 | 2007-09-26 | 松下電器産業株式会社 | 固定符号帳探索装置および固定符号帳探索方法 |
JP5425066B2 (ja) * | 2008-06-19 | 2014-02-26 | パナソニック株式会社 | 量子化装置、符号化装置およびこれらの方法 |
EP2146522A1 (en) * | 2008-07-17 | 2010-01-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating audio output signals using object based metadata |
EP2211335A1 (en) * | 2009-01-21 | 2010-07-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and computer program for obtaining a parameter describing a variation of a signal characteristic of a signal |
US8315204B2 (en) * | 2009-07-06 | 2012-11-20 | Intel Corporation | Beamforming using base and differential codebooks |
BR112012004797A2 (pt) * | 2009-09-02 | 2017-02-21 | Rockstar Bidco Lp | sistemas e métodos para codificação usando uma tabela de codificação reduzida com reconfiguração adaptativa |
US9112591B2 (en) | 2010-04-16 | 2015-08-18 | Samsung Electronics Co., Ltd. | Apparatus for encoding/decoding multichannel signal and method thereof |
CA2887009C (en) * | 2012-10-05 | 2019-12-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |
ES2700246T3 (es) * | 2013-08-28 | 2019-02-14 | Dolby Laboratories Licensing Corp | Mejora paramétrica de la voz |
EP2916319A1 (en) * | 2014-03-07 | 2015-09-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concept for encoding of information |
EP2919232A1 (en) * | 2014-03-14 | 2015-09-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and method for encoding and decoding |
-
2013
- 2013-07-31 CA CA2887009A patent/CA2887009C/en active Active
- 2013-07-31 EP EP18184592.6A patent/EP3444818B1/en active Active
- 2013-07-31 PL PL18184592.6T patent/PL3444818T3/pl unknown
- 2013-07-31 AU AU2013327192A patent/AU2013327192B2/en active Active
- 2013-07-31 PT PT181845926T patent/PT3444818T/pt unknown
- 2013-07-31 TR TR2018/18834T patent/TR201818834T4/tr unknown
- 2013-07-31 EP EP13742646.6A patent/EP2904612B1/en active Active
- 2013-07-31 CA CA2979857A patent/CA2979857C/en active Active
- 2013-07-31 EP EP23160479.4A patent/EP4213146A1/en active Pending
- 2013-07-31 SG SG11201502613XA patent/SG11201502613XA/en unknown
- 2013-07-31 ES ES13742646T patent/ES2701402T3/es active Active
- 2013-07-31 ES ES18184592T patent/ES2948895T3/es active Active
- 2013-07-31 BR BR112015007137-6A patent/BR112015007137B1/pt active IP Right Grant
- 2013-07-31 PT PT13742646T patent/PT2904612T/pt unknown
- 2013-07-31 RU RU2015116458A patent/RU2636126C2/ru active
- 2013-07-31 CN CN201380063912.7A patent/CN104854656B/zh active Active
- 2013-07-31 PL PL13742646T patent/PL2904612T3/pl unknown
- 2013-07-31 KR KR1020157011110A patent/KR101691549B1/ko active IP Right Grant
- 2013-07-31 MX MX2015003927A patent/MX347921B/es active IP Right Grant
- 2013-07-31 MY MYPI2015000805A patent/MY194208A/en unknown
- 2013-07-31 FI FIEP18184592.6T patent/FI3444818T3/fi active
- 2013-07-31 CA CA2979948A patent/CA2979948C/en active Active
- 2013-07-31 JP JP2015534940A patent/JP6122961B2/ja active Active
- 2013-07-31 WO PCT/EP2013/066074 patent/WO2014053261A1/en active Application Filing
- 2013-08-08 TW TW102128480A patent/TWI529702B/zh active
- 2013-10-02 AR ARP130103567A patent/AR092875A1/es active IP Right Grant
-
2015
- 2015-04-03 US US14/678,610 patent/US10170129B2/en active Active
- 2015-05-04 ZA ZA2015/03025A patent/ZA201503025B/en unknown
-
2016
- 2016-02-03 HK HK16101247.1A patent/HK1213359A1/zh unknown
-
2018
- 2018-12-04 US US16/209,610 patent/US11264043B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586548B2 (en) | Encoder, decoder and method for encoding and decoding | |
US11264043B2 (en) | Apparatus for encoding a speech signal employing ACELP in the autocorrelation domain | |
Bäckström | Computationally efficient objective function for algebraic codebook optimization in ACELP. | |
US12002481B2 (en) | Apparatus for encoding a speech signal employing ACELP in the autocorrelation domain | |
Sinha et al. | Voice Coders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 31/07/2013, OBSERVADAS AS CONDICOES LEGAIS. |