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 PDF

Info

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
Application number
BR112015007137-6A
Other languages
English (en)
Other versions
BR112015007137A2 (pt
Inventor
Backstrom Tom
Multrus Markus
Fuchs Guillaume
Helmrich Christian
Dietz Martin
Original Assignee
Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. filed Critical Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V.
Publication of BR112015007137A2 publication Critical patent/BR112015007137A2/pt
Publication of BR112015007137B1 publication Critical patent/BR112015007137B1/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/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
    • 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
    • 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
    • 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
    • G10L2019/0001Codebooks

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

DESCRIÇÃO
[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
Figure img0001
[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
Figure img0002
[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].
[0008] A capacidade do modelo é medida pelo erro quadrático. Isso é,
Figure img0003
[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
Figure img0004
[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:
Figure img0005
[00046] e em que a Equação 4
Figure img0006
[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:
Figure img0007
[00050] enquanto para k=N, a energia do erro ε resulta em:
Figure img0008
[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
Figure img0009
[00053] De forma equivalente, as mesmas relações na forma da matriz podem ser expressas como:
Figure img0010
[00054] onde H é a matriz de convolação dimensional infinita correspondente às respostas de impulso h(k). Inserindo na Equação 3 resulta
Figure img0011
[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:
Figure img0012
[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
Figure img0013
[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
Figure img0014
[00066] onde a autocorrelação de h(k) é
Figure img0015
[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
Figure img0016
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ódigos
Figure img0017
r 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
Figure img0018
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
Figure img0019
e adicionar um pulso positivo na posição k. (iv) Avaliar a qualidade do vetor temporário do livro de códigos por
Figure img0020
(v) Se o vetor temporário do livro de códigos é melhor do que qualquer um dos prévios
Figure img0021
então salve este vetor do livro de códigos, defina
Figure img0022
e 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
Figure img0023
e adicione um pulso negativo na posição k. (viii) Avalie a qualidade do vetor temporário do livro de códigos por
Figure img0024
(ix) Se o vetor temporário do livro de códigos é melhor do que qualquer um dos anteriores,
Figure img0025
então, salve este vetor do livro de códigos, defina
Figure img0026
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
Figure img0027
[00073] onde a ZIR pode ser definida como
Figure img0028
[00074] Subtraindo esta ZIR do sinal de entrada, um sinal é obtido dependendo do residual apenas do avanço da estrutura atual.
[00075] Equivalentemente, a ZIR pode ser determinada filtrando o último sinal de entrada como
Figure img0029
[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:
Figure img0030
[00078] Equivalentemente, utilizar a resposta de impulso h(n) de A(z), então
Figure img0031
[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:
Figure img0032
[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 é
Figure img0033
[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
Figure img0034
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
Figure img0035
(c) Se o número de pulsos em f é maior do que uma quantidade predefinida p,
Figure img0036
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,
Figure img0037
então, reduza o ganho e retorne à etapa b. (e) Caso contrário, o número de pulsos em f’ é igual à quantidade predefinida p,
Figure img0038
, 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
Figure img0039
[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:
Figure img0040
[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
Figure img0041
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:
Figure img0042
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:
Figure img0043
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.
4. 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 determinar o vetor do livro de códigos
Figure img0044
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
Figure img0045
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
Figure img0046
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:
Figure img0047
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:
Figure img0048
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
Figure img0049
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:
Figure img0050
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:
Figure img0051
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
Figure img0052
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
Figure img0053
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.
BR112015007137-6A 2012-10-05 2013-07-31 Aparelho para codificar um sinal de fala que emprega acelp no domínio de autocorrelação BR112015007137B1 (pt)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
TW201415457A (zh) 2014-04-16
EP2904612A1 (en) 2015-08-12
JP6122961B2 (ja) 2017-04-26
PT3444818T (pt) 2023-06-30
CA2979948C (en) 2019-10-22
AU2013327192B2 (en) 2016-06-09
PL2904612T3 (pl) 2019-05-31
CA2979948A1 (en) 2014-04-10
BR112015007137A2 (pt) 2017-07-04
US11264043B2 (en) 2022-03-01
ES2948895T3 (es) 2023-09-21
PT2904612T (pt) 2018-12-17
AR092875A1 (es) 2015-05-06
TR201818834T4 (tr) 2019-01-21
US10170129B2 (en) 2019-01-01
FI3444818T3 (fi) 2023-06-22
MX2015003927A (es) 2015-07-23
US20180218743A9 (en) 2018-08-02
PL3444818T3 (pl) 2023-08-21
CA2887009C (en) 2019-12-17
CA2887009A1 (en) 2014-04-10
RU2636126C2 (ru) 2017-11-20
MY194208A (en) 2022-11-21
KR20150070200A (ko) 2015-06-24
ZA201503025B (en) 2016-01-27
CN104854656B (zh) 2017-12-19
EP3444818B1 (en) 2023-04-19
JP2015532456A (ja) 2015-11-09
ES2701402T3 (es) 2019-02-22
MX347921B (es) 2017-05-17
EP4213146A1 (en) 2023-07-19
EP2904612B1 (en) 2018-09-19
SG11201502613XA (en) 2015-05-28
CA2979857A1 (en) 2014-04-10
AU2013327192A1 (en) 2015-04-30
EP3444818A1 (en) 2019-02-20
CA2979857C (en) 2019-10-15
US20150213810A1 (en) 2015-07-30
HK1213359A1 (zh) 2016-06-30
CN104854656A (zh) 2015-08-19
KR101691549B1 (ko) 2016-12-30
US20190115035A1 (en) 2019-04-18
RU2015116458A (ru) 2016-11-27
TWI529702B (zh) 2016-04-11
US20220223163A1 (en) 2022-07-14
WO2014053261A1 (en) 2014-04-10

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.