BRPI0717495B1 - sistemas, métodos, e equipamentos para recuperação de apagamento de quadro - Google Patents

sistemas, métodos, e equipamentos para recuperação de apagamento de quadro Download PDF

Info

Publication number
BRPI0717495B1
BRPI0717495B1 BRPI0717495A BRPI0717495B1 BR PI0717495 B1 BRPI0717495 B1 BR PI0717495B1 BR PI0717495 A BRPI0717495 A BR PI0717495A BR PI0717495 B1 BRPI0717495 B1 BR PI0717495B1
Authority
BR
Brazil
Prior art keywords
frame
encoded
excitation signal
frames
sequence
Prior art date
Application number
Other languages
English (en)
Inventor
Aasanipalai Kandhadai Ananthapadmanabhan
Krishnan Venkatesh
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0717495A2 publication Critical patent/BRPI0717495A2/pt
Publication of BRPI0717495B1 publication Critical patent/BRPI0717495B1/pt

Links

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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)
  • Control Of Amplification And Gain Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Electrolytic Production Of Metals (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)
  • Detergent Compositions (AREA)

Abstract

sistemas, métodos, e equipamentos para recuperação de apagamento de quadro em uma configuração, o apagamento de um quadro significante de um segmento vozeado sustentado é detectado. um valor de ganho de livro-código adaptativo para o quadro apagado é calculado com base no quadro precedente. se o valor calculado for menor que (alternativamente, não maior que) um valor limite, um valor maior de ganho de livro- código adaptativo é utilizado para o quadro apagado. o valor maior pode ser derivado do valor calculado ou selecionado dentre um ou mais valores predefinidos

Description

"SISTEMAS, MÉTODOS, E EQUIPAMENTOS PARA RECUPERAÇÃO DE APAGAMENTO DE QUADRO".
Campo da Invenção Esta descrição refere-se ao processamento de sinais de fala.
Descrição da Técnica Anterior Transmissão de áudio, tal como voz e música, através de técnicas digitais tem se tornado difundido, particularmente em telefonia de longa distância, telefonia comutada por pacote, tal como Voz sobre IP (também chamado VoIP, onde IP denota o Protocolo Internet), e telefonia por rádio digital tal como telefonia celular. Tal proliferação tem criado interesse na redução da quantidade de informação utilizada para transferir uma comunicação de voz sobre um canal de transmissão enquanto mantém a qualidade percebida da fala reconstruída. Por exemplo, é desejável fazer o melhor uso da largura de banda do sistema sem fio disponível. Uma maneira de utilizar a largura de banda do sistema de forma eficaz é empregar técnicas de compressão de sinal. Para sistemas sem fio que carregam sinais de fala, técnicas de compressão de fala (ou "codificação de fala") são comumente empregadas para este propósito.
Os dispositivos que são configurados para comprimir fala ao extrair parâmetros que se referem a um modelo de geração de fala humana são frequentemente chamados vocodificadores, "codificadores de áudio", ou "codificadores de fala". Um codificador de áudio geralmente inclui um encodificador e um decodificador. 0 encodificador tipicamente divide o sinal de fala entrante (um sinal digital representando informação de áudio) em segmentos de tempo denominados de "quadros", analisa cada quadro para extrair certos parâmetros relevantes, e quantiza os parâmetros em um quadro encodificado. Os quadros encodifiçados são transmitidos através de um canal de transmissão (isto é, uma conexão de rede com fio ou sem fio) para um receptor que inclui um decodificador. 0 decodificador recebe e processa quadros encodifiçados, os de-quantiza para produzir os parâmetros, e recria os quadros de fala utilizando os parâmetros de-quantizados.
Em uma conversação tipica, cada alto-falante está em silêncio por cerca de sessenta por cento do tempo. Os encodificadores de fala são usualmente configurados para distinguir quadros do sinal de fala que contêm fala ("quadros ativos") proveniente de quadros do sinal de fala que contêm apenas silêncio ou ruido de fundo ("quadros inativos"). Tal encodificador pode ser configurado para utilizar diferentes modos de codificação e/ou taxas para encodificar quadros ativos ou inativos. Por exemplo, encodificadores de fala são tipicamente configurados para utilizar menos bits para encodificar um quadro inativo que para encodificar um quadro ativo. Um codificador de fala pode utilizar uma taxa de bit mais baixa para quadros inativos suportarem transferência do sinal de fala em uma taxa de bit média mais baixa com pouca ou nenhuma perda de qualidade percebida.
Exemplos de taxas de bits utilizados para encodificar quadros ativos incluem 171 bits por quadro, oitenta bits por quadro, e quarenta bits por quadro. Exemplos de taxas de bit utilizados para encodificar quadros inativos incluem 16 bits por quadro. No contexto de sistemas de telefonia celular (especialmente sistemas que são complacentes com o padrão ínterim (IS)-95 como promulgado pela Associação da Indústria de Telecomunicações, Arlington, VA, ou um padrão de indústria similar), estas quatro taxas de bits são também referenciadas como "taxa total", "meia taxa", "um quarto de taxa", e "um oitavo de taxa", respectivamente.
Muitos sistemas de comunicação que empregam codificadores de fala, tal como um telefone celular e sistemas de comunicações por satélite, confiam nos canais sem fio para comunicar informação. No curso de comunicação tal informação, um canal de transmissão sem fio pode sofrer de várias fontes de erro, tal como desvanecimento de multipercursos. Erros na transmissão podem levar à corrupção irrecuperável de um quadro, também denominado de "apagamento de quadro". Em um sistema de telefonia celular, o apagamento de quadros ocorre a uma taxa de um para três por cento e podem mesmo alcançar ou exceder cinco por cento. 0 problema da perda de pacote em redes comutadas por pacote que empregam arranjos de codificação de áudio (por exemplo, Voz sobre Protocolo Internet ou "VoIP") é muito similar ao apagamento de quadro no contexto sem fio. Isto é, devido à perda de pacote, um decodificador de áudio pode falhar em receber um quadro ou pode receber um quadro possuindo um número significante de erros de bit. Nestes casos, o decodificador de áudio é apresentado com o mesmo problema: a necessidade para produzir um quadro de áudio decodificado apesar da perda de informação de fala comprimida. Para propósito desta descrição, o termo "apagamento de quadro" pode ser julgado para incluir "perda de pacote". 0 apagamento de quadro pode ser detectado no decodificador de acordo com uma falha de uma função de verificação, tal como uma função CRC (verificação de redundância cíclica) ou outra função de detecção de erro que utiliza, por exemplo, uma ou mais somas de verificação e/ou bits de paridade. Tal função é tipicamente desempenhada por um decodificador de canal (por exemplo, em uma subcamada multiplex), que pode também desempenhar tarefas tais como uma decodificação convolucional e/ou de-intercalação. Em um decodificador típico, um detector de erro do quadro ajusta um indicador de apagamento de quadro após receber uma indicação de um erro incorrigível em um quadro. 0 decodificador pode ser configurado para selecionar um módulo de recuperação do apagamento de quadro para processar um quadro para o qual o indicador de apagamento de quadro for ajustado.
Resumo da Invenção Um método de decodificação de fala de acordo com uma configuração inclui detectar, em um sinal de fala encodificado, apagamento do segundo quadro de um segmento sustentado vozeado. 0 método também inclui calcular, com base no primeiro quadro do segmento sustentado vozeado, um quadro de substituição para o segundo quadro. Neste método, calcular um quadro de substituição inclui obter um valor de ganho que seja maior que um valor de ganho correspondente do primeiro quadro.
Um método para obter quadros de um sinal de fala decodificado de acordo com outra configuração inclui calcular, com base na informação proveniente de um primeiro quadro encodificado de um sinal de fala encodificado e um primeiro sinal de excitação, um primeiro quadro do sinal de fala decodificado. Este método também inclui calcular, em resposta a uma indicação de apagamento de um quadro do sinal de fala encodificado que segue imediatamente o primeiro quadro encodificado, e com base no segundo sinal de excitação, um segundo quadro do sinal de fala decodificado que segue imediatamente o primeiro quadro. Este método também inclui calcular, com base em um terceiro sinal de excitação, um terceiro quadro que precede o primeiro quadro do sinal de fala decodificado. Neste método, o primeiro sinal de excitação é baseado em um produto de (A) uma primeira seqüência de valores que é baseada na informação proveniente do terceiro sinal de excitação e (B) um primeiro fator de ganho. Neste método, calcular um segundo quadro inclui gerar o segundo sinal de excitação de acordo com uma relação entre um valor limite e um valor baseado no primeiro fator de ganho, tal que o segundo sinal de excitação é baseado em um produto de (A) uma segunda seqüência de valores que é baseado na informação proveniente do primeiro sinal de excitação e (B) um segundo fator de ganho maior que o primeiro fator de ganho.
Um método para processar um sinal de fala encodificado de acordo com uma configuração geral inclui detectar pelo menos uma seqüência de modos específica em dois quadros do sinal de fala encodificado que precede um apagamento de quadro, e obter um valor de ganho baseado pelo menos em parte no quadro do sinal de fala encodificado antes do apagamento. Este método também inclui comparar o valor de ganho obtido com o valor limite em resposta à detecção, aumentando o valor de ganho obtido em resposta ao resultado da comparação, e gerar um sinal de excitação para o quadro apagado com base no valor de ganho aumentado. Tal método pode ser implementado tal que o valor de ganho obtido seja um valor de ganho de livro-código adaptativo predito para o quadro apagado e/ou tal que calcular um sinal de excitação para o quadro apagado inclui multiplicar uma seqüência de valores que é baseada no quadro do sinal de fala encodificado que precede o apagamento de quadro pelo valor de ganho aumentado. A detecção pode incluir detectar, nos dois quadros do sinal de fala encodificado que precede o apagamento de quadro, uma ou mais das seqüências (quadro não-vozeado, quadro vozeado), (quadro possuindo uma excitação não-periódica, quadro possuindo uma excitação adaptativa e periódica), (quadro encodificado usando predição linear excitada por ruído, quadro encodificado usando predição linear excitada por código), e (quadro descritor de silêncio, quadro vozeado). Um meio legível por computador de acordo com uma configuração geral inclui instruções que quando executadas por um arranjo de elementos lógicos ocasiona ao arranjo executar tal método.
Um equipamento para processar um sinal de fala encodificado de acordo com uma configuração geral inclui mecanismo para detectar pelo menos uma seqüência de modos específica em dois quadros do sinal de fala encodificado que precede um apagamento de quadro; mecanismo para obter um valor de ganho baseado pelo menos em parte no quadro do sinal de fala encodificado antes do apagamento; mecanismo para comparar o valor de ganho obtido com o valor limite, em resposta à detecção de pelo menos uma seqüência de modos particular pelo mecanismo de detecção; mecanismo para aumentar o valor de ganho obtido, em resposta ao resultado da comparação pelo mecanismo de comparação; e mecanismo para calcular um sinal de excitação para o quadro apagado com base no valor de ganho aumentado. Tal aparelho pode ser implementado tal que o valor de ganho obtido é um valor de ganho de livro-código adaptativo predito para o quadro apagado e/ou tal que o mecanismo para calcular um sinal de excitação para o quadro apagado é configurado para multiplicar uma seqüência de valores que é baseada no quadro do sinal de fala encodificado que precede o apagamento de quadro pelo valor de ganho aumentado. 0 mecanismo para detectar pode ser configurado para detectar, nos dois quadros do sinal de fala encodificado que precede o apagamento de quadro, uma ou mais das seqüências (quadro não-vozeado, quadro vozeado), (quadro possuindo uma excitação não-periódica, quadro possuindo uma excitação adaptativa e periódica), (quadro encodificado usando predição linear excitada por ruído, quadro encodificado usando predição linear excitada por código), e (quadro descritor de silêncio, quadro vozeado).
Um equipamento para obter quadros de um sinal de fala decodificado de acordo com outra configuração inclui mecanismo para gerar um primeiro sinal de excitação que é baseado em um produto de um primeiro fator de ganho e uma primeira seqüência de valores. Este equipamento também inclui mecanismo para calcular, com base no primeiro sinal e informação de excitação proveniente de um primeiro quadro encodificado de um sinal de fala encodificado, um primeiro quadro do sinal de fala decodificado. Este equipamento também inclui mecanismo para gerar, em resposta a uma indicação de apagamento de um quadro do sinal de fala encodificado que segue imediatamente o primeiro quadro encodificado, e de acordo com uma relação entre um valor limite e um valor baseado no primeiro fator de ganho, um segundo sinal de excitação com base em um produto de (A) um segundo fator de ganho que é maior que o primeiro fator de ganho e (B) uma segunda seqüência de valores. Este equipamento também inclui mecanismo para calcular, com base em um segundo sinal de excitação, um segundo quadro que segue imediatamente o primeiro quadro do sinal de fala decodificado. Este equipamento também inclui mecanismo para calcular, com base em um terceiro sinal de excitação, um terceiro quadro que precede o primeiro quadro do sinal de fala decodificado. Neste equipamento, a primeira seqüência é baseada na informação proveniente do terceiro sinal de excitação, e a segunda seqüência é baseada na informação proveniente do primeiro sinal de excitação.
Um produto de programa de computador de acordo com outra configuração inclui um meio legível por computador que inclui código para fazer com que pelo menos um computador gere um primeiro sinal de excitação baseado em um produto de um primeiro fator de ganho e uma primeira seqüência de valores. Este meio também inclui código para fazer com que pelo menos um computador calcule, com base no primeiro sinal e informação de excitação proveniente de um primeiro quadro encodificado de um sinal de fala encodificado, um primeiro quadro do sinal de fala decodificado. Este meio também inclui código para fazer com que pelo menos um computador gere, em resposta a uma indicação de apagamento de um quadro do sinal de fala encodificado que imediatamente segue o primeiro quadro encodificado, e de acordo com uma relação entre um valor limite e um valor baseado no primeiro fator de ganho, um segundo sinal de excitação baseado em um produto de (A) um segundo fator de ganho que é maior que o primeiro fator de ganho e (B) uma segunda seqüência de valores. Este meio também inclui código para fazer com que pelo menos um computador calcule, com base no segundo sinal de excitação, um segundo quadro que siga imediatamente o primeiro quadro do sinal de fala decodificado. Este meio também inclui código para fazer com que pelo menos um computador calcule, com base em um terceiro sinal de excitação, um terceiro quadro que preceda o primeiro quadro do sinal de fala decodificado. Neste produto, a primeira seqüência é baseada na informação proveniente do terceiro sinal de excitação, e a segunda seqüência é baseada na informação proveniente do primeiro sinal de excitação.
Breve Descrição das Figuras Figura 1 - é um diagrama em blocos de um decodificador de fala genérico baseado em um filtro de síntese excitado.
Figura 2 - é um diagrama representando a amplitude de um segmento vozeado no momento da fala.
Figura 3 - é um diagrama em blocos de um decodificador CELP possuindo livros-código fixos e adaptativos.
Figura 4 - ilustra dependências de dados em um processo de decodificação de uma série de guadros encodifiçados em um formato CELP.
Figura 5 - mostra um diagrama em blocos de um exemplo de um decodif icador de fala de taxa variável e de multimodos.
Figura 6 - ilustra dependências de dados em um processo de decodificação da següência de um guadro NELP (por exemplo, um guadro de fala em silêncio ou não vozeado) seguido por um guadro CELP.
Figura 7 - ilustra dependências de dados em um processo de controle de um apagamento de guadro gue segue um guadro encodificado em um formato CELP.
Figura 8 - mostra um fluxograma para um método de apagamento de guadro complacente com Opção 3 de Serviço EVRC.
Figura 9 - mostra uma següência de tempo de guadros gue incluem o início de um segmento sustentado vozeado.
Figuras 10a, 10b, 10c, e lOd - mostram fluxogramas para métodos MllO, M120, M130, e M140 respectivamente, de acordo com as configurações da descrição.
Figura 11 - mostra um fluxograma para uma implementação M180 de método M 120.
Figura 12 - mostra um diagrama em blocos de um exemplo de um decodif icador de fala de acordo com uma configuração.
Figura 13A - mostra um fluxograma de um método M200 para obter quadros de um sinal de fala decodificado de acordo com uma configuração geral.
Figura 13B - mostra um diagrama em blocos de um equipamento F200 para obter quadros de um sinal de fala decodificado de acordo com uma configuração geral.
Figura 14 - ilustra dependência de dados em uma aplicação de uma implementação do método M200.
Figura 15Ά - mostra um fluxograma de um método de implementação M201 do método M200.
Figura 15B - mostra um diagrama em blocos de um equipamento F201 correspondente ao método M201 da Figura 15A.
Figura 16 - ilustra algumas dependências de dados em uma aplicação típica do método M201.
Figura 17 - ilustra dependência de dados em uma aplicação de uma implementação do método M201.
Figura 18 - mostra um fluxograma de um método de implementação M203 do método M200.
Figura 19 - ilustra algumas dependências de dados em uma aplicação típica do método M203 da Figura 18.
Figura 20 - ilustra algumas dependências de dados para uma aplicação do método M203 da Figura 18.
Figura 21A - mostra um diagrama em blocos de um equipamento AlOO para obter quadros de um sinal de fala decodificado de acordo com uma configuração geral.
Figura 21B - ilustra uma aplicação típica do equipamento AlOO.
Figura 22 - mostra uma lógica esquemática que descreve a operação de uma implementação 112 do módulo lógico 110.
Figura 23 - mostra um fluxograma de uma operação de uma implementação 114 do módulo lógico 110.
Figura 24 - mostra uma descrição da operação de outra implementação 116 do módulo lógico 110.
Figura 25 - mostra uma descrição da operação de uma implementação 118 do módulo lógico 116.
Figura 26A - mostra um diagrama em blocos de uma implementação A100A do equipamento AlOO.
Figura 26B - mostra um diagrama em blocos de uma implementação A100B do equipamento AlOO.
Figura 26C - mostra um diagrama em blocos de uma implementação A100C do equipamento AlOO.
Figura 27A - mostra um diagrama em blocos de uma implementação 122 do gerador de sinal de excitação 120.
Figura 27B - mostra um diagrama em blocos de uma implementação 124 do gerador de sinal de excitação 122.
Figura 28 - mostra um diagrama em blocos de uma implementação 232 do calculador de parâmetro de fala 230.
Figura 29A - mostra um diagrama em blocos de um exemplo de um sistema que inclui implementações de detector de apagamento 210, detector de formato 220, calculador de parâmetro de fala 230, e equipamento A100.
Figura 2 9B - mostra um diagrama em blocos de um sistema que inclui uma implementação 222 do detector de formato 220.
Descrição Detalhada da Invenção Configurações descritas aqui incluem sistemas, métodos, e equipamentos para recuperação de apagamento de quadro que podem ser utilizados para prover desempenho aperfeiçoado para casos em que um quadro significante de um segmento sustentado vozeado é apagado. Alternativamente, um quadro significante de um segmento sustentado vozeado pode ser denotado como um quadro crucial. É expressamente contemplado e pelo presente descrito que tais configurações possam ser adaptadas para uso em redes que sejam comutadas por pacote (por exemplo, redes com fio e/ou sem fio arranjadas para carregar transmissões de voz de acordo com protocolos tal como VoIP) e/ou comutadas por circuito. É também expressamente contemplado e pelo presente descrito que tais configurações podem ser adaptadas para uso em sistemas de codificação de banda estreita (por exemplo, sistemas que encodificam uma faixa de frequência de áudio de cerca de quatro ou cinco Kilohertz) bem como em sistemas de codificação de banda larga (por exemplo, sistemas que codificam frequências de áudio maiores que cinco kilohertz) , incluindo sistemas de codificação de banda inteira e sistemas de codificação de banda dividida. A menos que expressamente limitado pelo seu contexto, o termo "gerar" é utilizado aqui para indicar qualquer de seus significados ordinários, tal como computando ou de outro modo produção. A menos que expressamente limitado pelo seu contexto, o termo "calcular" é utilizado para indicar qualquer de seus significados ordinários, tais como computar, avaliar, e/ou selecionar um conjunto de valores. A menos que expressamente limitado pelo seu contexto, o termo "obter" é utilizado para indicar qualquer de seus significados ordinários, tais como calcular, derivar, receber (por exemplo, de um dispositivo externo), e/ou recuperar (por exemplo, de um arranjo de elementos de armazenamento). Onde o termo "compreendendo" for utilizado na presente descrição e reivindicações, este não deve excluir outros elementos ou operações. 0 temo "baseado em" (como em "A é baseado em B") é utilizado para indicar qualquer de seus significados ordinários, incluindo os casos (i) "baseado em pelo menos" (por exemplo, "A é baseado pelo menos em B") e, se apropriado em um contexto particular, (ii) "igual a" (por exemplo, "A é igual a B"). A menos que indicado o contrário, qualquer descrição de um decodificador de fala possuindo uma característica particular é também expressamente pretendido para descrever um método de decodificação de fala possuindo uma característica análoga (e vice-versa), e qualquer descrição de um decodificar de fala de acordo com uma configuração particular é também expressamente pretendida para descrever um método de decodificação de fala de acordo com uma configuração análoga (e vice-versa).
Para propósitos de codificação de fala, um sinal de fala é tipicamente digitalizado (ou quantizado) para obter um fluxo de amostras. 0 processo de digitalização pode ser realizado de acordo com qualquer de vários métodos conhecidos na técnica incluindo, por exemplo, modulação de código de pulso (PCM), PCM mu-law companded, e PCM A-law companded. Encodificadores de fala de banda estreita tipicamente utilizam uma taxa de amostragem de 8 kHz, enquanto encodificadores de fala de banda larga tipicamente utilizam uma taxa de amostragem maior (por exemplo, 12 ou 16 kHz). 0 sinal de fala digitalizado é processado como uma série de quadros. Esta série é usualmente implementada como uma série de mono-sobreposição, embora uma operação de processar um quadro ou um segmento de um quadro (também denominado de subquadro) possa também incluir segmentos de um ou mais quadros vizinhos em sua entrada. Os quadros de um sinal de fala são tipicamente suficientes curtos que o envelope espectral do sinal pode ser esperado para permanecer relativamente estacionário sobre o quadro. Um quadro tipicamente corresponde a entre cinco e trinta e cinco milisegundos do sinal de fala (ou cerca de quarenta para 200 amostras) , com dez, vinte, e trinta milisegundos sendo comum para tamanhos de quadros. O tamanho atual do quadro encodificado pode mudar de quadro para quadro com a taxa de bit de codificação.
Um comprimento de quadro de vinte milisegundos para 140 amostras em uma taxa de amostragem de sete kilohertz (kHz), 160 amostras a uma taxa de amostragem de oito kHz, e 320 amostras a uma taxa de amostragem de 16 kHz, embora qualquer taxa de amostragem considerada apropriada para a aplicação particular pode ser utilizada. Outro exemplo de uma taxa de amostragem que pode ser utilizada para codificação de fala é 12,8 kHz, e ainda exemplos podem incluir outras taxas na faixa de 12,8 kHz a 38,4 kHz.
Tipicamente todos os quadros possuem o mesmo comprimento, e um comprimento de quadro uniforme é assumido nos exemplos particulares descritos aqui. Entretanto, é expressamente contemplado e pelo presente descrito que comprimentos de quadro não uniformes podem ser utilizados. Por exemplo, implementações do método MlOO e M200 podem ser também utilizadas em aplicações que empregam diferentes comprimentos para quadros ativos e inativos e/ou para quadros vozeados ou não vozeados.
Um quadro encodificado tipicamente contém valores dos quais um quadro correspondente do sinal de fala pode ser reconstruído. Por exemplo, um quadro encodificado pode incluir uma descrição da distribuição de energia dentro do quadro sobre um espectro de frequência. Tal distribuição de energia é também denominada de "envelope de frequência" ou "envelope espectral" do quadro. Um quadro encodificado tipicamente inclui uma seqüência ordenada de valores que descrevem um envelope espectral do quadro. Em alguns casos, cada valor da seqüência ordenada indica uma amplitude ou magnitude do sinal em uma frequência correspondente ou sobre uma região espectral correspondente. Um exemplo de tal descrição é uma seqüência ordenada de coeficientes de transformada de Fourier.
Em outros casos, a seqüência ordenada inclui valores de parâmetros de um modelo de codificação. Um exemplo típico de tal seqüência ordenada é um conjunto de valores de coeficientes de uma análise da codificação de predição linear (LPC). Estes coeficientes encodificam as ressonâncias da fala encodificada (também denominada de "formantes") e podem ser configurados como coeficientes de filtro ou como coeficientes de reflexão. A parte de encodificação dos codificadores de fala mais modernos inclui um filtro de análise que extrai um conjunto de valores de coeficiente LPC para cada quadro. 0 número de valores de coeficiente no conjunto (que é usualmente disposto como um ou mais vetores) é também denominado de "ordem" da análise LPC. Exemplos de uma ordem típica de uma análise LPC como realizada por um encodificador de fala de um dispositivo de comunicação (tal como um telefone celular) inclui quatro, seis, oito, dez, 12, 16, 20, 24, 28 e 32. A descrição de um envelope espectral tipicamente aparece dentro do quadro encodificado em forma quantizada (por exemplo, como um ou mais índices nas tabelas de busca correspondentes ou "livros-código"). Do mesmo modo, é costume para um decodificador receber um conjunto de valores de coeficiente LPC em uma forma que seja mais eficaz para quantização, tal como um conjunto de valores de pares de linha espectral (LSPs), freqüências de linha espectral (LSFs), pares de imitância espectral (ISFs), coeficientes cepstral (cepstral), ou razão de log de área. O decodificador de fala é tipicamente configurado para converter tal conjunto em um conjunto correspondente de valores de coeficiente LPC. A Figura 1 mostra um exemplo genérico de um decodificador de fala gue inclui um filtro de síntese excitado. Para decodificar o guadro encodificado, os valores de coeficiente LPC de-guantizados são utilizados para configurar um filtro de síntese no decodificador. 0 guadro encodificado pode também incluir informação temporal, ou informação gue descreva uma distribuição de energia sobre o tempo dentro do período de guadro. Por exemplo, a informação temporal pode descrever um sinal de excitação gue é utilizado para excitar o filtro de síntese para reproduzir o sinal de fala.
Um guadro ativo de um sinal de fala pode ser classificado como um de dois ou mais tipos diferentes, tal como vozeado (por exemplo, representando um som vogal), não vozeado (por exemplo, representando um som de fricativo), ou transacional (por exemplo, representando o início ou o fim de uma palavra) . Os guadros de fala vozeados tendem a ter uma estrutura periódica gue é de longo prazo (isto é, gue continua por mais de um período de guadro) e é relacionada ao passo, e é tipicamente mais eficiente para encodificar um guadro vozeado (ou uma següência de guadros vozeados) utilizando um modo de codificação gue encodifica uma descrição desta característica espectral de longo prazo. Exemplos de tais modos de codificação incluem predição linear excitada por código (CELP), protótipo de período de passoh (PPP), e protótipo de interpolação de forma de onda (PWI) . Os guadros não vozeados e guadros inativos, por outro lado, usualmente falham em gualguer característica espectral de longo prazo significante, e um encodificador de fala pode ser configurado para encodificar estes guadros utilizando um modo de codificação gue não tenta descrever tal característica. A predição linear excitada por ruído (NELP) é um exemplo de tal modo de codificação. A Figura 2 mostra um exemplo da amplitude de um segmento de fala vozeado (tal como uma vogal) sobre o tempo. Para um quadro vozeado, o sinal de excitação tipicamente assemelha-se a uma série de pulsos que é periódica na freqüência de passo, enquanto para um quadro não vozeado o sinal de excitação é tipicamente similar ao ruído Gaussiano branco. Um codificador CELP pode explorar a maior periodicidade que é característica dos segmentos de fala vozeados para alcançar melhor eficiência de codificação.
Um codificador CELP é um codificador de fala de análise por síntese que utiliza um ou mais livros-código para encodificar o sinal de excitação. No encodificador, uma ou mais entradas de livros-código são selecionadas. 0 decodificador recebe os índices de livro-código destas entradas, juntamente com valores correspondentes de fatores de ganho (que podem também ter índices em um ou mais livros-código de ganho). 0 decodificador escala as entradas do livro-código (ou sinais baseados nestes) pelos fatores de ganho para obter o sinal de excitação, que é utilizado para excitar o filtro de síntese e obter o sinal de fala decodificado.
Alguns sistemas CELP modelam a periodicidade utilizando um filtro de passo preditivo. Outros sistemas CELP utilizam um livro-código adaptativo (ou ACB, também denominado de "livro-código de passo") para modelar o componente periódico ou relacionado ao passo do sinal de excitação, com um livro-código fixo (também denominado de "livro-código inovador") tipicamente sendo utilizado para modelar o componente não periódico como, por exemplo, uma série de posições de pulso. Em geral, segmentos altamente vozeados são os relevantes mais perceptivamente. Para um quadro de fala altamente vozeado que é encodificado utilizando um esquema CELP adaptativo, a maior parte do sinal de excitação é modelado pelo ACB, que é tipicamente firmemente periódico com um componente de frequência dominante correspondente ao intervalo de passo. A contribuição ACB para o sinal de excitação representa uma correlação entre o resíduo do quadro atual e a informação proveniente de um ou mais quadros antigos. Um ACB é usualmente implementado como uma memória que armazena amostras dos sinais de fala antigos, ou derivados destes tais como sinais de excitação ou residuais de fala. Por exemplo, o ACB pode conter cópias do resíduo anterior retardadas por diferentes quantidades. Em um exemplo, o ACB inclui um conjunto de diferentes períodos de passo da forma de onda de excitação de fala sintetizada anteriormente.
Um parâmetro de um quadro codificado adaptativamente é o intervalo de passo (também chamado de retardo ou retardo de passo). Este parâmetro é comumente expresso como o número de amostras de fala que maximiza a função de auto-correlação do quadro e pode incluir um componente fracional. A frequência de passo da voz humana está geralmente na faixa de 40 Hz a 500 Hz, que corresponde a cerca de 200 para 16 amostras. Um exemplo do decodificador CELP adaptativo traduz a entrada ACB selecionada pelo intervalo de passo. 0 decodificador pode também interpolar a entrada transladada (por exemplo, utilizando um filtro de resposta finita ao impulso ou FIR) . Em alguns casos, o intervalo de passo pode servir como o índice ACB. Outro exemplo de um decodificador CELP é configurado para suavizar (ou "alinhar no tempo") um segmento do livro-código adaptativo de acordo com um valor consecutivo correspondente, porém valores diferentes do parâmetro de intervalo de passo.
Outro parâmetro de um quadro codificado adaptativamente é o ganho ACB (ou ganho de passo), que indica a intensidade da periodicidade de longo prazo e é usualmente avaliado para cada subquadro. Para obter a contribuição ACB para o sinal de excitação para um subquadro particular, o decodificador multiplica o sinal interpolado (ou uma parte correspondente deste) pelo valor de ganho ACB correspondente. A Figura 3 mostra um diagrama em blocos de um exemplo de um decodificador CELP possuindo um ACB, onde gc e gp denotam o ganho do livro-código e o ganho de passo, respectivamente. Outro parâmetro ACB comum é o retardo delta, que indica a diferença no retardo entre os quadros atuais e anteriores e pode ser utilizado para computar o intervalo de passo para quadros corrompidos ou apagados.
Um codificador de fala no domínio do tempo bem-conhecido é o codificador de Predição Linear Excitada por Código (CELP) descrito em L.B. Rabiner & R. W. Schafer, Processamento Digital de Sinais de Fala, pp. 396-453 (1978). Um codificador CELP de taxa variável exemplar é descrito na Patente US 5,414,796, que é atribuída à cessionária da presente invenção e totalmente incorporada aqui por referência. Existem muitas variantes de CELP. Exemplos representativos incluem os a seguir: Codec de Fala AMR (Múltiplas-taxas Adaptativa, Especificação Técnica (TS) do Projeto de Parceiros de Terceira Geração (3GPP) 26.0900, ch 4, 5 e 6 de dezembro de 2004); Codec de Fala AMR-WB (AMR-Banda larga, Recomendação G.722.2 da União Internacional de Telecomunicações, (ITU)-T, ch 5 e 6 de julho de 2003); e EVRC (Codec de Taxa Variável Aperfeiçoada) , Aliança das Indústrias Eletrônicas (EIA)/Associação das Indústrias de Telecomunicações (TIA) de Padrão ínterim IS-127, ch. 4 e ch. 5 de janeiro de 1997) . A Figura 4 ilustra dependências de dados em um processo de decodificação de uma série de guadros CELP. 0 guadro B encodificado provê um fator de ganho adaptativo B, e o livro-código adaptativo provê uma següência A baseada na informação proveniente de um sinal de excitação anterior A. 0 processo de decodificação gera um sinal de excitação B baseado no fator de ganho adaptativo B e següência A, gue é espectralmente moldada de acordo com a informação espectral do guadro B encodificado para produzir o guadro decodificado B. 0 processo de decodificação também atualiza o livro-código adaptativo com base no sinal de excitação B. 0 próximo guadro encodificado C provê um fator de ganho adaptativo C, e o livro-código adaptativo provê uma següência B com base no sinal de excitação Β. O processo de decodificação gera um sinal de excitação C com base no fator de ganho adaptativo e següência B, gue é espectralmente moldada de acordo com a informação espectral proveniente do guadro encodificado C para produzir o guadro decodificado C. 0 processo de decodificação também atualiza o livro-código adaptativo com base no sinal de excitação C e assim por diante, até gue um guadro encodificado em um modo diferente (por exemplo, NELP) seja encontrado.
Pode ser desejável utilizar esguemas de codificação de taxa variável (por exemplo, para balancear a demanda e a capacidade de rede). Pode também ser desejável utilizar um esguema de codificação de multimodo em gue os guadros são encodificados utilizando diferentes modos de acordo com uma classificação com base, por exemplo, na periodicidade ou com base em voz. Por exemplo, pode ser desejável para um codificador de fala utilizar diferentes modos de codificação e/ou taxas de bits para guadros ativos e guadros inativos. Pode também ser desejável para um codificador de fala utilizar diferentes combinações de taxas de bits e modos de codificação (também denominado de "esquemas de codificação") para diferentes tipos de quadros ativos. Um exemplo de tal codificador de fala utiliza um esquema CELP de taxa máxima para quadros contendo quadros de fala vozeado e transacional, um esquema NELP de meia taxa para quadros contendo fala não vozeada, e um esquema NELP de um oitavo de taxa para quadros inativos. Outros exemplos de tal codificador de fala que suporta múltiplas taxas de codificação para um ou mais esquemas de codificação, tais como esquemas CELP de taxa máxima e de meia-taxa e/ou esquemas PPP de taxa máxima e um quarto de taxa. A Figura 5 mostra um diagrama em blocos de um exemplo de um decodificador multimodo de taxa variável que recebe pacotes e indicadores do tipo de pacote correspondente (por exemplo, proveniente de uma subcamada multiplex). Neste exemplo, um detector de erro de quadro seleciona a taxa correspondente (ou recuperação de apagamento) de acordo com um indicador de tipo de pacote, e um des-empacotador desmonta o pacote e seleciona o modo correspondente. Alternativamente, o detector de apagamento de quadro pode ser configurado para selecionar o esquema de codificação correto. Os modos disponíveis neste exemplo incluem CELP de taxa máxima e meia, PPP de taxa máxima e um de um quarto (Protótipo de período de passo, utilizado para quadros fortemente vozeados), NELP (utilizado para quadros não vozeados), e de silêncio. 0 decodificador tipicamente inclui um pós-filtro que é configurado para reduzir o ruído de quantização (por exemplo, por ênfase de frequências formantes e/ou atenuação de vale espectral) e pode também incluir controle de ganho adaptativo. A Figura 6 ilustra dependências de dados em um processo de decodificação de um quadro NELP seguido por um quadro CELP. Para decodificar quadro NELP encodificado N, o processo de decodificação gera um sinal de ruido como sinal de excitação N, que é moldado espectralmente de acordo com a informação espectral proveniente do quadro encodificado N para produzir o quadro decodificado N. Neste exemplo, o processo de decodificação também atualiza o livro-código adaptativo com base no sinal de excitação N. 0 quadro CELP encodificado C provê um fator de ganho adaptativo C, e o livro-código adaptativo provê uma seqüência N baseada no sinal de excitação N. A correlação entre os sinais de excitação do quadro NELP N e o quadro CELP C é provavelmente muito baixa, tal que a correlação entre a seqüência N e o sinal de excitação do quadro C é também provavelmente muito baixa. Consequentemente, o fator de ganho adaptativo C é provavelmente para ter um valor próximo de zero. 0 processo de decodificação gera um sinal e excitação C que é nominalmente baseado no fator de ganho adaptativo C e na seqüência N, mas é provavelmente para ser mais fortemente baseado na informação do livro-código fixo proveniente do quadro C, e o sinal de excitação C é espectralmente moldado de acordo com a informação espectral proveniente do quadro encodificado C para produzir o quadro decodificado C. 0 processo de decodificação também atualiza o livro-código adaptativo baseado no sinal de excitação C.
Em alguns codificadores CELP, os coeficientes LPC são atualizados para cada quadro, enquanto os parâmetros de excitação, tal como intervalo de passo e/ou ganho ACB são atualizados por cada subquadro. Em AMR-WB, por exemplo, parâmetros de excitação CELP tais como intervalo de passo e ganho ACB são atualizados uma vez para cada quatro subquadros. Em um modo CELP de EVRC, cada de três subquadros (de comprimento de amostras 53, 53 e 54, respectivamente) de um quadro de 160 amostras possui valores de ganho ACB e FCB correspondentes e um índice FCB correspondente. Diferentes modos dentro de um codec único podem também processar quadros diferentemente. Em um codec EVRC, por exemplo, um modo CELP processa o sinal de excitação de acordo com quadros que possuem três subquadros, enquanto o modo NELP processa o sinal de excitação de acordo com os quadros possuindo quatro subquadros. Modos que processam o sinal de excitação de acordo com quadros possuindo dois subquadros também existem.
Um decodificador de fala de taxa variável pode ser configurado para determinar uma taxa de bit de um quadro encodificado proveniente de um ou mais parâmetros tal como energia de quadro. Em algumas aplicações, o sistema de codificação é configurado para utilizar apenas um modo de codificação para uma taxa de bit particular, tal que a taxa de bit do quadro encodificado também indica o modo de codificação. Em outros casos, o quadro encodificado pode incluir informação, tal como um conjunto de um ou mais bits, que identifica o modo de codificação de acordo com o qual o quadro é encodificado. Tal conjunto de bits é também denominado de "índice de codificação". Em alguns casos, o índice de codificação pode indicar explicitamente o modo de codificação. Em outros casos, o índice de codificação pode indicar implicitamente o modo de codificação, por exemplo, ao indicar um valor que seria inválido para outro modo de codificação. Nesta descrição e nas reivindicações em anexo, o termo "formato" ou "formato de quadro" é utilizado para indicar um ou mais aspectos de um quadro encodificado do qual o modo de codificação pode ser determinado, cujos aspectos podem incluir a taxa de bit e/ou o índice de codificação como descrito acima. Ά Figura 7 ilustra dependências de dados em um processo de controle de apagamento de quadro que segue um quadro CELP. Como na Figura 4, o quadro encodificado B provê um fator de ganho adaptativo B, e o livro-código adaptativo provê uma seqüência A com base na informação proveniente de um sinal de excitação anterior A. 0 processo de decodificação gera um sinal de excitação B baseado no fator de ganho adaptativo B e na seqüência A, que é espectralmente moldada de acordo com a informação espectral proveniente do quadro encodificado B para produzir quadro decodificado B. 0 processo de decodificação também atualiza o livro-código adaptativo com base no sinal de excitação B. Em resposta a uma indicação que o próximo quadro encodificado está apagado, o processo de decodificação continua a operar no modo de codificação anterior (isto é, CELP), tal que o livro-código adaptativo provê uma seqüência B com base no sinal de excitação B. Neste caso, o processo de decodificação gera um sinal de excitação X baseado no fator de ganho adaptativo B e na seqüência B, que é espectralmente moldada de acordo com a informação espectral proveniente do quadro encodificado B para produzir o quadro decodificado X. A Figura 8 mostra um fluxograma para um método de recuperação de apagamento de quadro que é complacente com o padrão 3GPP2 C.S0014-A vl.0 (Opção 3 de Serviço EVRC), ch. 5 de abril de 2004. 0 Pedido de Patente dos Estados Unidos de Publicação N2 2002/0123887 (Unno) descreve um processo similar de acordo com as recomendações ITU-T G.729. Tal método pode ser realizado, por exemplo, por um módulo de recuperação de erro de quadro como mostrado na Figura 5. O método inicia com a detecção de que o quadro atual está indisponível (por exemplo, que o valor do indicador de apagamento de quadro para o quadro atual [FER(M).] é VERDADEIRO). A tarefa T110 determina se o quadro anterior também estava indisponível. Nesta implementação, a tarefa T110 determina se o valor do indicador de apagamento de quadro para o quadro anterior [FER (m-1)] é VERDADEIRO.
Se o quadro anterior não foi apagado, a tarefa T120 ajusta o valor do ganho do livro-código adaptativo médio para o quadro atual [gpavg(m)] para o valor do ganho do livro-código adaptativo médio para o quadro anterior [Çpavg (m-1) ] . Caso contrário (isto é, se o quadro anterior também não foi apagado), então a tarefa T130 ajusta o valor de ganho ACB médio para o quadro atual [gpavg(m)] para uma versão atenuada do ganho ACB médio para o quadro anterior [gpavg (m-1) ] . Neste exemplo, a tarefa T130 ajusta o ganho ACB médio para 0,75 vezes o valor gpavg (m-1). A tarefa T140 então ajusta os valores de ganho ACB para os subquadros do quadro atual [gp (m.i) para i=0,l,2] para o valor de gPavg (m) . Tipicamente os fatores de ganho FCB são ajustados para zero para o quadro apagado. A seção 5.2.3.5 do padrão 3GPP2 C.S0014-C vl. 0 descreve uma variante deste método para Opção 68 de Serviço EVRC no qual os valores de ganho ACB para os subquadros do quadro atual [gp(m.i) para i=0,l,2] são ajustados para zero se o quadro anterior foi apagado ou processado como um quadro de silêncio ou NELP. O quadro que segue um apagamento de quadro pode ser decodificado sem erro apenas em um sistema sem memória ou modo de codificação. Para modos que exploram uma correlação para um ou mais quadros antigos, um apagamento de quadro pode fazer com que erros se propaguem em quadros subsequentes. Por exemplo, variáveis de estado de um decodificador adaptativo pode necessitar de algum tempo para recuperar de um apagamento de quadro. Para um codificador CELP, o livro-código adaptativo introduz uma forte dependência de inter-quadro e é tipicamente a principal causa de tal propagação de erro. Consequentemente, é tipico utilizar um ganho ACB que não seja superior a média anterior, como na tarefa T120, ou mesmo atenuar o ganho ACB, como na tarefa T130. Em certos casos, no entanto, tal prática pode adversamente afetar a reprodução de quadros subsequentes. A Figura 9 ilustra o exemplo de uma seqüência de quadros que incluem um segmento não vozeado seguido por um segmento sustentado vozeado. Tal segmento sustentado vozeado pode ocorrer em uma palavra tal como "crazy" ou "feel". Como indicado nesta figura, o primeiro quadro do segmento sustentado vozeado possui uma baixa dependência no passado. Especificamente, se o quadro for encodificado utilizando um livro-código adaptativo, os valores de ganho do livro-código adaptativo para o quadro serão baixos. Para o resto dos quadros no segmento sustentado vozeado, os valores de ganho ACB serão tipicamente altos como uma conseqüência da forte correlação entre quadros adjacentes.
Em tal situação, um problema pode surgir se o segundo quadro do segmento sustentado vozeado for apagado. Devido a este quadro ter uma alta dependência no quadro anterior, seus valores de ganho do livro-código adaptativo devem ser altos, reforçando o componente periódico. Devido ao fato de que a recuperação de apagamento do quadro reconstruirá tipicamente o quadro apagado do quadro precedente, entretanto, o quadro recuperado terá baixos valores de ganho do livro-código adaptativo, tal que a contribuição do quadro vozeado anterior será inapropriadamente baixa. Este erro pode ser propagado através dos próximos vários quadros. Por tais razões, o segundo quadro de um segmento sustentado vozeado é também denominado de um quadro insignificante. Alternativamente, o segundo quadro de um segmento sustentado vozeado pode também ser denominado de quadro crucial.
As Figuras 10a, 10b, 10c, e lOd mostram fluxogramas para os métodos M110, M120, M130, e M140 de acordo com as respectivas configurações da descrição. A primeira tarefa nestes métodos (tarefas Tll, T12, e T13) detecta uma ou mais seqüências particulares dos modos nos dois quadros precedendo um apagamento de quadro ou (tarefa T14) detecta o apagamento de um quadro insignificante de um segmento vozeado sustentado. Nas tarefas Tll, T12, e T13, a seqüência particular ou seqüências são tipicamente determinadas com referência aos modos de acordo com o qual estes quadros são encodifiçados.
No método M110, a tarefa Tll detecta a seqüência (quadro não vozeado, quadro vozeado, apagamento de quadro). A categoria dos "quadros não vozeados" pode incluir quadros de silêncio (isto é, ruído de fundo) bem como quadros não vozeados tais como fricativos. Por exemplo, a categoria "quadros não vozeados" pode ser implementada para incluir quadros que são encodif içados em um modo NELP ou modo de silêncio (que é também tipicamente um modo NELP) . Como mostrado na Figura 10b, a categoria "quadros vozeados" podem ser restritos na tarefa T12 para quadros encodif içados utilizando um modo CELP (por exemplo, em um decodificador que também teve um ou mais modos PPP) . Esta categoria pode também ser restrita aos quadros encodif içados utilizando um modo CELP que tem um livro-código adaptativo (por exemplo, em um decodificador que também suporta um modo CELP possuindo apenas um livro-código fixo). A Tarefa T13 do método M130 caracteriza a seqüência alvo em termos do sinal de excitação utilizado nos quadros, com o primeiro quadro tendo uma excitação não periódica (por exemplo, uma excitação aleatória como utilizada em uma codificação de silêncio ou NELP) e o segundo guadro tendo uma excitação periódica e adaptativa (por exemplo, como utilizado em um modo CELP possuindo um livro-código adaptativo). Em outro exemplo, a tarefa T13 é implementada tal gue a següência detectada também inclui primeiros guadros possuindo nenhum sinal de excitação. A tarefa T14 do método M140, gue detecta o apagamento de um guadro significante de um segmento sustentado vozeado, pode ser implementado para detectar um apagamento de guadro seguindo imediatamente a següência (guadro de silêncio ou NELP, guadro CELP). A tarefa T120 obtém um valor de ganho baseado em pelo menos parte do guadro antes do apagamento. Por exemplo, o valor de ganho obtido pode ser um valor de ganho gue é predito para o guadro apagado (por exemplo, por um módulo de recuperação de apagamento de guadro). Em um exemplo particular, o valor de ganho é um valor de ganho de excitação (tal como um valor de ganho ACB) predito para o guadro apagado por um módulo de recuperação de apagamento de guadro. As tarefas T110 a T140 da Figura 8 mostram um exemplo, no gual vários valores ACB são preditos com base no guadro gue precede um apagamento.
Se a següência indicada (ou uma das següências indicadas) for detectada, então a tarefa T30 compara o valor de ganho obtido para um valor limite. Se o valor de ganho obtido for menor gue (alternativamente, não maior gue) o valor limite, a tarefa T40 aumenta o valor de ganho obtido. Por exemplo, a tarefa T40 pode ser configurada para adicionar um valor positivo ao valor de ganho obtido, ou multiplicar o valor de ganho obtido por um fator maior gue a unidade. Alternativamente, a tarefa T40 pode ser configurada para substituir o valor de ganho obtido com um ou mais valores mais altos. A Figura 11 mostra um fluxograma de uma configuração M180 do método M120. As tarefas T110, T120, T130, e T140 são como descritas acima. Após o valor de gPavg(m) ter sido ajustado (tarefa T120 ou T130) , as tarefas N120, N220, e N230 testam certas condições relacionadas ao quadro atual e o histórico recente. A tarefa N210 determina se o quadro anterior foi encodificado como um quadro CELP. A tarefa N220 determina se o quadro antes de um quadro anterior foi encodificado como um quadro não vozeado (por exemplo, como NELP ou de silêncio). A tarefa N230 determina se o valor de gpavg(m) é menor que um valor limite Tmax. Se o resultado de quaisquer das tarefas N210, N220, e N230 for negativo, então a tarefa T140 executa como descrito acima. Caso contrário, a tarefa N240 atribui um novo perfil de ganho para o quadro atual.
Em um exemplo particular mostrado na Figura 11, a tarefa N240 atribui valores ΤΙ, T2, e T3, respectivamente, aos valores gp(m.i) para i=0,l,2. Estes valores podem ser dispostos tal que Tl b T2 b T3, resultando em um perfil de ganho que é nivelado ou decrescente, com Tl estando próximo a (ou igual a) Tmax.
Outras implementações da tarefa N240 podem ser configuradas para multiplicar um ou mais valores de gp (m.i) pelos respectivos fatores de ganho (pelo menos um sendo maior que a unidade) ou por um fator de ganho comum, ou para adicionar um deslocamento positivo a um ou mais valores de gp (m.i). Em tais casos, pode ser desejável impor um limite superior (por exemplo, Tmax) em cada valor de gp (m.i). As tarefas N210 a N240 podem ser implementadas como rotinas de hardware, firmware, e/ou software dentro de um módulo de recuperação de apagamento de quadro.
Em algumas técnicas, o quadro apagado é extrapolado da informação recebida durante um ou mais quadros anteriores, e possivelmente um ou mais quadros seguintes. Em algumas configurações, parâmetros de fala em ambos os quadros anteriores e futuros são utilizados para reconstrução de um quadro apagado. Neste caso, a tarefa T20 pode ser configurada para calcular o valor de ganho obtido baseado em ambos os quadros antes do apagamento e o quadro após o apagamento. Adicionalmente ou alternativamente, uma implementação da tarefa T40 (por exemplo, tarefa N240) pode utilizar informação proveniente de um quadro futuro para selecionar um perfil de ganho (por exemplo, via interpolação de valores de ganho). Por exemplo, tal implementação da tarefa T40 pode selecionar um nível ou aumento do perfil de ganho em lugar de um decréscimo de um, ou um aumento do perfil de ganho no lugar de um nível de um. Uma configuração deste tipo pode utilizar um armazenador de jitter para indicar se um quadro futuro está disponível para uso. A Figura 12 mostra um diagrama em blocos de um decodificador de fala incluindo um módulo de recuperação de apagamento de quadro 100 de acordo com uma configuração. Tal módulo 100 pode ser configurado para realizar um método M110, M120, M130, ou M180 como descrito aqui. A Figura 13A mostra um fluxograma de um método M200 para obter quadros de um sinal de fala decodificado de acordo com uma configuração geral que inclui tarefas T210, T220, T230, T240, T245, e T250. A tarefa T210 gera um primeiro sinal de excitação. Com base no primeiro sinal de excitação, a tarefa T220 calcula um primeiro quadro do sinal de fala decodificado. A tarefa T230 gera um segundo sinal de excitação. Com base no segundo sinal de excitação, a tarefa T240 calcula um segundo quadro que segue imediatamente o primeiro quadro do sinal de fala decodificado. A tarefa T245 gera o terceiro sinal de excitação. Dependendo da aplicação particular, a tarefa T245 pode ser configurada para gerar o terceiro sinal de excitação baseado em um sinal de ruido gerado e/ou na informação proveniente de um livro-código adaptativo (por exemplo, baseado na informação proveniente de um ou mais sinais de excitação anteriores). Com base no terceiro sinal de excitação, a tarefa T250 calcula um terceiro guadro gue precede imediatamente o primeiro guadro do sinal de fala decodificado. A Figura 14 ilustra algumas dependências de dados em uma aplicação tipica do método M200. A tarefa T210 executa em resposta a uma indicação que um primeiro quadro encodificado de um sinal de fala encodificado possui um primeiro formato. 0 primeiro formato indica que o quadro é para ser decodificado utilizando um sinal de excitação que é baseado em uma memória de informação de excitação passada (por exemplo, utilizando um modo de codificação CELP). Para um sistema de codificação que utiliza apenas um modo de codificação na taxa de bit do quadro encodificado, uma determinação da taxa de bit pode ser suficiente para determinar o modo de codificação, tal que uma indicação da taxa de bit pode servir para indicar o formato do quadro.
Para um sistema de codificação que utiliza mais de um modo de codificação na taxa de bit do primeiro quadro encodificado, o quadro encodificado pode incluir um indice de codificação, tal como um conjunto de um ou mais bits que identificam o modo de codificação. Neste caso, a indicação do formato pode ser baseada em uma determinação do indice de codificação. Em alguns casos, o indice de codificação pode indicar explicitamente o modo de codificação. Em outros casos, o indice de codificação pode indicar implicitamente o modo de codificação, por exemplo, indicando um valor que seja inválido para outro modo de codificação.
Em resposta a uma indicação de formato, a tarefa T210 gera o primeiro sinal de excitação baseado em uma primeira seqüência de valores. A primeira seqüência de valores é baseada na informação proveniente do terceiro sinal de excitação, tal como um segmento do terceiro sinal de excitação. Esta relação entre a primeira seqüência e o terceiro sinal de excitação é indicada pela linha pontilhada na Figura 13A. Em um tipico exemplo, a primeira seqüência é baseada no último subquadro do terceiro sinal de excitação. A tarefa T210 pode incluir recuperar a primeira seqüência de um livro-código adaptativo. A Figura 13B mostra um diagrama em blocos de um equipamento F200 para obter quadros de um sinal de fala decodificado de acordo com uma configuração geral. 0 equipamento F200 inclui um mecanismo para realizar as várias tarefas do método M200 da Figura 13A. 0 mecanismo F210 gera um primeiro sinal de excitação. Com base no primeiro sinal de excitação, o mecanismo F220 calcula um primeiro quadro do sinal de fala decodificado. 0 mecanismo F230 gera um segundo sinal de excitação. Com base no segundo sinal de excitação, o mecanismo F240 calcula um segundo quadro que segue imediatamente o primeiro quadro do sinal de fala decodificado. 0 mecanismo F245 gera o terceiro sinal de excitação. Dependendo da aplicação particular, o mecanismo F245 pode ser configurado para gerar o terceiro sinal de excitação com base em um sinal de ruido gerado e/ou na informação proveniente de um livro-código adaptativo (por exemplo, com base na informação proveniente de um ou mais sinais de excitação anteriores). Com base no terceiro sinal de excitação, o mecanismo F250 calcula um terceiro quadro que precede imediatamente o primeiro quadro do sinal de fala decodificado. A Figura 14 mostra um exemplo no qual a tarefa T210 gera o primeiro sinal de excitação com base em um primeiro fator de ganho e na primeira seqüência. Neste caso, a tarefa T210 pode ser configurada para gerar o primeiro sinal de excitação com base em um produto do primeiro fator de ganho e na primeira seqüência. 0 primeiro fator de ganho pode ser baseado na informação proveniente do primeiro quadro encodificado, tal como um índice do livro-código de ganho adaptativo. A tarefa T210 pode ser configurada para gerar o primeiro sinal de excitação com base em outra informação do primeiro quadro encodificado, tal como informação que especifica uma contribuição de livro-código fixo para o primeiro sinal de excitação (por exemplo, um ou mais índices do livro-código e valores de fator de ganho correspondentes ou índices do livro-código).
Com base no primeiro sinal de excitação e informação proveniente do primeiro quadro encodificado, a tarefa T220 calcula um primeiro quadro do sinal de fala decodificado. Tipicamente, a informação proveniente do primeiro quadro encodificado inclui um conjunto de valores de parâmetros espectrais (por exemplo, um ou mais vetores de coeficientes LSF ou LPC) , tal que a tarefa T220 é configurada para moldar o espectro do primeiro sinal de excitação de acordo com os valores dos parâmetros espectrais. A tarefa T220 pode também incluir realizar uma ou mais outras operações de processamento (por exemplo, filtragem, suavização, interpolação) no primeiro sinal de excitação, a informação proveniente do primeiro quadro encodificado, e/ou o primeiro quadro calculado. A tarefa T230 executa em resposta a uma indicação de apagamento do quadro encodificado que segue imediatamente o primeiro quadro encodificado no sinal de fala encodificado. A indicação de apagamento pode ser baseada em uma ou mais das seguintes condições: (1) o quadro contém muitos erros de bit a serem recuperados; (2) a taxa de bit indicada para o quadro é inválida ou não suportada; (3) todos os bits do quadro são zero; (4) a taxa de bit indicada para o quadro é um oitavo de taxa, e todos os bits do quadro são um; (5) o quadro está em branco e a última taxa de bit válida não foi a oitava taxa. A tarefa T230 também executa de acordo com uma relação entre um valor limite e um valor baseado no primeiro fator de ganho (também denominado de "valor de fator de ganho de linha de base") . Por exemplo, a tarefa T230 pode ser configurada para executar se o valor de fator de ganho de linha de base for menor que (alternativamente, não maior que) o valor limite. 0 valor de fator de ganho de linha de base pode ser simplesmente o valor do primeiro fator de ganho, especialmente para uma aplicação na qual o primeiro quadro encodificado inclui apenas um fator de ganho do livro-código adaptativo. Para uma aplicação na qual o primeiro quadro encodificado inclui vários fatores de ganho de livro-código adaptativo (por exemplo, um fator diferente pra cada subquadro), o valor de fator de ganho de linha de base pode ser também baseado em um ou mais dos fatores de ganho de livro-código adaptativo. Neste caso, por exemplo, o valor de fator de ganho de linha de base pode ser uma média dos fatores de ganho de livro-código adaptativos do primeiro quadro encodificado, como no valor gPavg (m) discutido com referência à Figura 11. A tarefa T230 pode também executar em resposta a uma indicação que o primeiro quadro encodificado tem o primeiro formato e que o quadro encodificado precedendo o primeiro quadro encodificado ("o quadro precedente") tem um segundo formato diferente do primeiro formato. 0 segundo formato indica que o quadro é também decodificado utilizando um sinal de excitação que é baseado em um sinal de ruído (por exemplo, utilizando um modo de codificação NELP). Para um sistema de codificação que utiliza apenas um modo de codificação a uma taxa de bit do quadro precedente, uma determinação da taxa de bit pode ser suficiente para determinar o modo de codificação, tal que uma indicação da taxa de bit pode servir para indicar também o formato do quadro. Alternativamente, o quadro precedente pode incluir um índice de codificação que indica o modo de codificação, tal que a indicação do formato pode ser baseada em uma determinação do índice de encodificação. A tarefa T230 gera um segundo sinal de excitação baseado em um segundo fator de ganho que é maior que o primeiro fator de ganho. 0 segundo fator de ganho pode também ser maior que o valor de fator de ganho de linha de base. Por exemplo, o segundo fator de ganho pode ser igual ou mesmo maior que o valor limite. Para o caso em que a tarefa T230 é configurada para gerar o segundo sinal de excitação como uma série de sinais de excitação de subquadro, um valor diferente do segundo fator de ganho pode ser utilizado para cada sinal de excitação do subquadro, com pelo menos um dos valores sendo maior que o valor de fator de ganho de linha de tempo. Neste caso, pode ser desejável para os valores diferentes do segundo fator de ganho se disposto para subir ou para baixar o período do quadro. A tarefa T230 é tipicamente configurada para gerar o segundo sinal de excitação baseado em um produto do segundo fator de ganho e em uma segunda seqüência de valores. Como mostrado na Figura 14, a segunda seqüência é baseada na informação proveniente do primeiro sinal de excitação, tal como um segmento do primeiro sinal de excitação. Em um típico exemplo, a segunda seqüência é baseada no último subquadro do primeiro sinal de excitação. Do mesmo modo, a tarefa T210 pode ser configurada para atualizar um livro-código adaptativo com base na informação proveniente do primeiro sinal de excitação. Para uma aplicação do método M200 a um sistema de codificação que suporta um modo de codificação de relaxamento CELP (RCELP), tal implementação da tarefa T210 pode ser configurada para alinhamento temporal do segmento de acordo com um valor correspondente de um parâmetro de intervalo de passo. Um exemplo, de tal operação de variação é descrita na Seção 5.2.2 (com referência à Seção 4.11.5) do documento 3GPP2 C.S0014-C vl.O citado acima. Outras implementações da tarefa T230 podem incluir um ou mais dos métodos MllO, M120, M130, M140, e M180 como descrito acima.
Com base no segundo sinal de excitação, a tarefa T240 calcula um segundo quadro que segue imediatamente o primeiro quadro do sinal de fala decodificado. Como mostrado na Figura 14, a tarefa T240 pode também ser configurada para calcular o segundo quadro com base na informação proveniente do primeiro quadro encodificado, tal como um conjunto de valores de parâmetro espectral como descrito acima. Por exemplo, a tarefa T240 pode ser configurada para moldar o espectro do segundo sinal de excitação de acordo com o conjunto de valores de parâmetro espectral.
Alternativamente, a tarefa T240 pode ser configurada pra moldar o espectro do segundo sinal de excitação de acordo com um segundo conjunto de valores de parâmetro espectral que é baseado em um conjunto de valores de parâmetro espectral. Por exemplo, a tarefa T240 pode ser configurada para calcular o segundo conjunto de valores de parâmetro espectral como uma média de conjunto de valores de parâmetro espectral proveniente do primeiro quadro encodificado e um conjunto inicial de valores de parâmetro espectral. Um exemplo, de tal cálculo como uma média ponderada é descrita na Seção 5.2.1 do documento 3GPP2 C.S0014-C citado acima. A tarefa T240 pode também incluir realizar uma ou mais operações de processamento (por exemplo, filtrar, suavizar, interpolar) em um ou mais do segundo sinal de excitação, a informação proveniente do primeiro quadro encodificado, e o segundo quadro calculado.
Com base em um terceiro sinal de excitação, a tarefa T250 calcula um terceiro quadro que precede o primeiro quadro no sinal de fala decodificado. A tarefa T250 pode também incluir atualizar o livro-código adaptativo ao armazenar a primeira seqüência, onde a primeira seqüência é baseada em pelo menos um segmento do terceiro sinal de excitação. Para uma aplicação do método M200 a um sistema de codificação que suporta um modo de codificação de relaxamento CELP (RCELP), a tarefa T250 pode ser configurada para alinhamento temporal do segmento de acordo com um valor correspondente de um parâmetro de intervalo de passo. Um exemplo de tal operação de alinhamento é descrita na Seção 5.2.2 (com referência à Seção 4.11.5) do documento 3GPP2 C.S0014-C vl.0 citado acima.
Pelo menos alguns dos parâmetros de um quadro encodificado podem ser dispostos para descrever um aspecto do quadro decodificado correspondente como uma série de subquadros. Por exemplo, é comum para um quadro encodificado formatado de acordo com um modo de codificação CELP incluir um conjunto de valores de parâmetro espectral para o quadro e um conjunto separado de parâmetros temporais (por exemplo, índices de livro-código e valores de fator de ganho) para cada um dos subquadros. 0 decodificador correspondente pode ser configurado para calcular o quadro decodificado incrementalmente pelo quadro. Neste caso, a tarefa T210 pode ser configurada para gerar um primeiro sinal de excitação como uma série de sinais de excitação de subquadro, tal que cada um dos sinais de excitação de subquadro possa ser baseado em diferentes fatores de ganho e/ou seqüências. A tarefa T210 pode ser também configurada para atualizar o livro-código adaptativo seriamente com informação de cada um dos sinais de excitação de subquadro. Igualmente, a tarefa T220 pode ser configurada para calcular cada subquadro do primeiro quadro decodificado baseado em um subquadro diferente do primeiro sinal de excitação. A tarefa T220 pode ser também configurada para interpolar ou caso contrário suavizar o conjunto de parâmetros espectrais sobre os subquadros, entre quadros. A Figura 15A mostra que um decodificador pode ser configurado para utilizar informação proveniente de um sinal de excitação que é baseado em um sinal de ruído (por exemplo, um sinal de excitação gerado em resposta a uma indicação de um formato NELP) para atualizar o livro-código adaptativo. Em particular, a Figura 15A mostra um fluxograma de tal implementação M201 do método M200 (da Figura 13A e discutido acima), que inclui tarefas T260 e T270. A tarefa T260 gera um sinal de ruído (por exemplo, um sinal pseudo-aleatório que aproxima do ruído Gaussiano Branco), e a tarefa T270 gera o terceiro sinal de excitação baseado no sinal de ruído gerado. Novamente, a relação entre a primeira seqüência e o terceiro sinal de excitação e indicada pela linha pontilhada na Figura 15A. Pode ser desejável para a tarefa T260 gerar o sinal de ruído utilizando um valor semente que é baseado em outra informação proveniente do quadro encodificado correspondente (por exemplo, informação espectral), tal como uma técnica pode ser utilizada para suportar geração do mesmo sinal de ruido que foi utilizado no encodificador. 0 método M201 também inclui uma implementação T252 da tarefa T250 (da Figura 13A e discutido acima) que calcula o terceiro quadro baseado no terceiro sinal de excitação. A tarefa T252 é também configurada para calcular o terceiro quadro na informação proveniente de um quadro encodificado que precede imediatamente o primeiro quadro encodificado ("o quadro precedente") e possui o segundo formato. Nestes casos, a tarefa T230 pode ser baseada em uma indicação de que (A) o quadro precedente possui o segundo formato e (B) o primeiro quadro encodificado possui o primeiro formato. A Figura 15B mostra um diagrama em blocos de um equipamento F201 correspondendo ao método M201 discutido acima com relação à Figura 15A. 0 equipamento F201 inclui mecanismo para realizar as várias tarefas do método M201. Os vários elementos podem ser implementados de acordo com quaisquer estruturas capazes de realizar tais tarefas, incluindo quaisquer das estruturas para realizar tais tarefas que são descritas aqui (por exemplo, como um ou mais conjuntos de instruções, um ou mais arranjos de elementos lógicos, etc.). A Figura 15B mostra que um decodificador pode ser configurado para utilizar informação proveniente de um sinal de excitação que é baseado em um sinal de ruido (por exemplo, um sinal de excitação gerado em resposta a uma indicação de um formato NELP) para atualizar o livro-código adaptativo. 0 equipamento F201 da Figura 15B é similar ao equipamento F200 da Figura 13B com a adição do mecanismo F260, F270, e F252. 0 mecanismo F260 gera um sinal de ruido (por exemplo, um sinal pseudo-aleatório que se aproxima do ruido Gaussiano branco), e o mecanismo F270 gera o terceiro sinal de excitação baseado no sinal de ruido gerado. Novamente, a relação entre a primeira seqüência e o terceiro sinal de excitação é indicado pela linha pontilhada ilustrada. Pode ser desejável para o mecanismo F260 gerar o sinal de ruído utilizando um valor semente que é baseado em outra informação proveniente do quadro encodificado correspondente (por exemplo, informação espectral), tal como uma técnica que pode ser utilizada para suportar geração do mesmo sinal de ruído que foi utilizado no encodificador. 0 equipamento F201 também inclui o mecanismo F252 que corresponde ao mecanismo F250 (da Figura 13A e discutido acima). 0 mecanismo F252 calcula o terceiro quadro com base em um terceiro sinal de excitação. 0 mecanismo F252 é também configurado para calcular o terceiro quadro com base na informação proveniente de um quadro encodificado que precede imediatamente o primeiro quadro encodificado ("o quadro precedente") e possui o segundo formato. Em tais casos, o mecanismo F230 pode ser baseado na indicação de que (A) o quadro precedente possui o segundo formato e (B) o primeiro quadro encodificado possui o primeiro formato. A Figura 16 ilustra algumas dependências de dados em uma aplicação típica do método M201. Nesta aplicação, o quadro encodificado que precede imediatamente o primeiro quadro encodificado (indicado nesta figura como o "segundo quadro encodificado") possui o segundo formato (por exemplo, um formato NELP). Como mostrado na Figura 16, a tarefa T252 é configurada para calcular o terceiro quadro baseado na informação do segundo quadro encodificado. Por exemplo, a tarefa T252 pode ser configurada para moldar o espectro do terceiro sinal de excitação de acordo com um conjunto de valores de parâmetros espectrais que são baseados na informação proveniente do segundo quadro encodificado. A tarefa T252 pode também incluir realizar uma ou mais outras operações de processamento (por exemplo, filtrar, suavizar, interpolar) em um ou mais do terceiro sinal de excitação, a informação proveniente do segundo quadro encodificado, e o terceiro quadro calculado. A tarefa T252 pode ser também configurada para atualizar o livro-código adaptativo baseado na informação proveniente do terceiro sinal de excitação (por exemplo, um segmento do terceiro sinal de excitação).
Um sinal de fala tipicamente inclui períodos durante o qual o alto-falante está em silêncio. Pode ser desejável para um encodificador para transmitir quadros encodificados para menos que todos dos quadros inativos durante tal período. Tal operação é também denominada de transmissão descontínua (DTX). Em um exemplo, um encodificador de fala realiza DTX ao transmitir um quadro encodificado inativo (também chamado de "descritor de silêncio", "descrição de silêncio", ou SID) para cada cadeia de 32 quadros inativos consecutivos. Em outros exemplos, um encodificador de fala realiza DTX ao transmitir um SID para cada cadeia de um número diferente de quadros inativos consecutivos (por exemplo, 8 ou 16) e/ou ao transmitir um SID sobre algum outro evento tal como uma troca na energia de quadro ou inclinação espectral. 0 decodificador correspondente utiliza informação no SID (tipicamente, valores de parâmetro espectral e um perfil de ganho) para sintetizar quadros inativos por períodos de quadro subsequentes para o qual nenhum quadro encodificado foi recebido.
Pode ser desejável utilizar o método M200 em um sistema de codificação que também suporta DTX. A Figura 17 ilustra algumas dependências de dados para tal aplicação do método M201 no qual o segundo quadro encodificado é um quadro SID e os quadros entre este quadro e o primeiro quadro encodificado estão em branco (indicados aqui como o "intervalo DTX"). A linha conectando o segundo quadro encodificado à tarefa T252 é tracejada para indicar que a informação proveniente do segundo quadro encodificado (por exemplo, valores de parâmetro espectral) é utilizada para calcular mais de um quadro do sinal de fala decodificado.
Como observado acima, a tarefa T230 pode executar em resposta a uma indicação de que o quadro encodificado precedendo o primeiro quadro encodificado possui um segundo formato. Para uma aplicação como mostrada na Figura 17, esta indicação de um segundo formato pode ser uma indicação de que o quadro precedendo imediatamente o primeiro quadro encodificado está em branco para DTX, ou uma indicação de que um modo de codificação NELP é utilizado para calcular o quadro correspondente do sinal de fala decodificado. Alternativamente, esta indicação de um segundo formato pode ser uma indicação do formato do segundo quadro encodificado (isto é, uma indicação do formato do último quadro SID anterior ao primeiro quadro encodificado). A Figura 17 mostra um exemplo particular no qual o terceiro quadro precede imediatamente o primeiro quadro no sinal de fala decodificado e corresponde ao último período de quadro dentro do intervalo DTX. Em outros exemplos, o terceiro quadro corresponde a outro período de quadro dentro do intervalo DTX, tal que um ou mais quadros separam o terceiro quadro do primeiro quadro no sinal de fala decodificado. A Figura 17 também mostra um exemplo no qual o livro-código adaptativo não é atualizado durante o intervalo DTX. Em outros exemplos, um ou mais sinais de excitação gerados durante o intervalo DTX são utilizados para atualizar o livro-código adaptativo. A memória de um sinal de excitação baseado em ruído pode não ser útil para gerar sinais de excitação para quadros subsequentes. Consequentemente, pode ser desejável para um decodificador não utilizar a informação proveniente dos sinais de excitação baseados em ruído para atualizar o livro-código adaptativo. Por exemplo, tal decodificador pode ser configurado para atualizar o livro-código adaptativo apenas ao decodificar um quadro CELP; ou apenas ao decodificar um quadro CELP, PPP, ou PWI; e não ao decodificar um quadro NELP. A Figura 18 mostra um fluxograma de tal implementação do método M203 do método M200 (da Figura 13A) que inclui tarefas T260, T280, e T290. A tarefa T280 gera um quarto sinal de excitação baseado no sinal de ruído gerado pela tarefa T260. Neste exemplo particular, as tarefas T210 e T280 são configuradas para executar de acordo com uma indicação de que o segundo quadro encodificado tem o segundo formato, como indicado pela linha sólida. Com base no quarto sinal de excitação, a tarefa T290 calcula um quarto quadro do sinal de fala decodificado que precede imediatamente o terceiro quadro. 0 método M203 também inclui uma implementação T254 da tarefa T250 (da Figura 13A) que calcula o terceiro quadro do sinal de fala decodificado baseado no terceiro sinal de excitação proveniente da tarefa T245. A tarefa T290 calcula o quarto quadro baseado na informação, tal como um conjunto de valores de parâmetro espectral, proveniente de um segundo quadro encodificado que precede o primeiro quadro encodificado. Por exemplo, a tarefa T290 pode ser configurada para moldar o espectro do quarto sinal de excitação de acordo com o conjunto de valores de parâmetro espectral. A tarefa T254 calcula o terceiro quadro baseado na informação, tal como um conjunto de valores de parâmetro espectral, proveniente de um terceiro quadro encodificado que precede o segundo quadro encodificado. Por exemplo, a tarefa T254 pode ser configurada para moldar o espectro do terceiro sinal de excitação de acordo com o conjunto de valores de parâmetro espectral. A tarefa T254 pode ser também configurada para executar em resposta a uma indicação de que o terceiro quadro encodificado possui o primeiro formato. A Figura 19 ilustra algumas dependências de dados em uma aplicação típica do método M203 (da Figura 18) . Nesta aplicação, o terceiro quadro encodificado pode ser separado do segundo quadro encodificado por um ou mais quadros encodificados cujos sinais de excitação não são utilizados para atualizar o livro-código adaptativo (por exemplo, quadros encodificados possuindo um formato NELP). Neste caso, o terceiro e quarto quadros decodificados seriam tipicamente separados pelo mesmo número de quadros que separam o segundo e terceiro quadros encodificados.
Como observado acima, pode ser desejável utilizar o método M200 em um sistema de codificação que também suporta DTX. A Figura 20 ilustra algumas dependências de dados para tal aplicação do método M203 (da Figura 18) no qual o segundo quadro encodificado é um quadro SID e os quadros entre este quadro e o primeiro quadro encodificado estão em branco. A linha conectando o segundo quadro encodificado à tarefa T290 é tracejada para indicar que a informação proveniente do segundo quadro encodificado (por exemplo, valores de parâmetro espectral) é utilizada para calcular mais de um quadro do sinal de fala decodificado.
Como observado acima, a tarefa T230 pode executar em resposta a uma indicação que o quadro encodificado precedendo o primeiro quadro encodificado possui um segundo formato. Para uma aplicação como mostrada na Figura 20, esta indicação de um segundo formato pode ser uma indicação de que o quadro imediatamente precedendo o primeiro quadro encodificado está em branco para DTX, ou uma indicação de que um modo de codificação NELP é utilizado para calcular o quadro correspondente do sinal de fala decodificado. Alternativamente, esta indicação de um segundo formato pode ser uma indicação do formato do segundo quadro encodificado (isto é, uma indicação do formato do último quadro SID anterior ao primeiro quadro encodificado). A Figura 20 mostra um exemplo particular no qual o quarto quadro imediatamente precede o primeiro quadro no sinal de fala decodificado e corresponde ao último período de quadro dentro do intervalo DTX. Em outros exemplos, o quarto quadro corresponde a outro período de quadro dentro do intervalo DTX, tal que um ou mais quadros separam o quarto quadro do primeiro quadro no sinal de fala decodificado.
Em uma típica aplicação de uma implementação do método M200 (da Figura 13A), um arranjo de elementos lógicos (por exemplo, portas lógicas) é configurado para realizar uma, mais que uma ou mesmo todas das várias tarefas do método. Uma ou mais (possivelmente todas) das tarefas podem ser também implementadas como código (por exemplo, um ou mais conjuntos de instruções), incorporadas em um produto de programa de computador (por exemplo, uma ou mais mídias de armazenamento de dados tais como discos, cartões de memória flash ou outra não-volátil, chips de memória de semicondutor, etc.), que é legível e/ou executável por uma máquina (por exemplo, um computador) incluindo um arranjo de elementos lógicos (por exemplo, um processador, microprocessador, microcontrolador, ou outra máquina de estado finita). As tarefas de uma implementação do método M200 (da Figura 13A) podem também ser realizadas por mais de um arranjo ou máquina. Nestas ou em outras implementações, as tarefas podem ser realizadas dentro de um dispositivo para comunicação sem fio tal como um telefone celular ou outro dispositivo possuindo tais capacidades de comunicação. Tal dispositivo pode ser configurado para comunicar com redes comutadas por circuito e/ou comutadas por pacote (por exemplo, utilizando um ou mais protocolos tal como VoIP) . Por exemplo, tal dispositivo pode incluir circuito RF configurado para receber quadros encodificados. A Figura 21A mostra um diagrama em blocos de um equipamento AlOO para obter quadros de um sinal de fala decodificado de acordo com uma configuração geral. Por exemplo, o equipamento AlOO pode ser configurado para realizar um método de decodificação de fala que inclui uma implementação do método MlOO ou M200 como descrito acima. A Figura 21B ilustra uma aplicação típica do equipamento AlOO, que é configurado para calcular primeiro e segundo quadros consecutivos de um sinal de fala decodificado baseado em (A) um primeiro quadro encodificado do sinal de fala encodificado e (B) uma indicação de apagamento de um quadro que segue imediatamente o primeiro quadro encodificado no sinal de fala encodificado. 0 equipamento AlOO inclui um módulo lógico 110 disposto para receber a indicação de apagamento; um gerador de sinal de excitação 120 configurado para gerar o primeiro, segundo, e terceiro sinais de excitação como descrito acima; e um formatador espectral 130 configurado para calcular o primeiro e segundo quadros do sinal de fala decodificado.
Um dispositivo de comunicação que inclui o equipamento AlOO, tal como um telefone celular, pode ser configurado para receber uma transmissão incluindo o sinal de fala encodificado proveniente de um canal de transmissão cabeado, sem fio, ou óptico. Tal dispositivo pode ser configurado para demodular um sinal de portadora e/ou para realizar operações de pré-processamento na transmissão para obter o sinal de fala encodificado, tal como deintercalação e/ou decodificação de códigos de correção de erro. Tal dispositivo pode também incluir implementações de ambos os equipamentos AlOO e de um equipamento para encodificar e/ou transmitir o outro sinal de fala de uma conversação dúplex (por exemplo, em um transceptor). 0 módulo lógico 110 é configurado e disposto para fazer com que o gerador do sinal de excitação 120 produza o segundo sinal de excitação. 0 segundo sinal de excitação é baseado em um segundo fator de ganho que é maior que um valor de fator de ganho de linha de base. Por exemplo, a combinação do módulo lógico 110 e gerador de sinal de excitação 120 podem ser configurados para executar a tarefa T230 como descrita acima. O módulo lógico 110 pode ser configurado para selecionar o segundo fator de ganho dentre duas ou mais opções de acordo com várias condições. Estas condições incluem (A) que o quadro encodificado mais recente tinha o primeiro formato (por exemplo, um formato CELP), (B) que o quadro encodificado precedendo o quadro encodificado mais recente tinha o segundo formato (por exemplo, um formato NELP), (C) que o quadro encodificado atual seja apagado, e (D) que uma relação entre um valor limite e o valor de fator de ganho de linha de base tenha um estado particular (por exemplo, que o valor limite é maior que o valor de fator de ganho de linha base) . A Figura 22 mostra uma lógica esquemática que descreve a operação de tal implementação 112 do módulo lógico 110 utilizando uma porta AND 140 e um seletor 150. Se todas das condições forem verdadeiras, o módulo lógico 112 seleciona o segundo fator de ganho. Caso contrário, o módulo lógico 112 seleciona o valor de fator de ganho de linha de base. A Figura 23 mostra um fluxograma de uma operação de outra implementação 114 do módulo lógico 110. Neste exemplo, o módulo lógico 114 é configurado para realizar as tarefas N210, N220, e N230 como mostrado na Figura 8. Uma implementação do módulo lógico 114 pode ser também ser configurado para realizar uma ou mais (possivelmente todas) das tarefas T110-T140 como mostrado na Figura 8. A Figura 24 mostra uma descrição da operação de outra implementação 116 do módulo lógico 110 que inclui uma máquina de estado. Para cada quadro encodificado, a máquina de estado atualiza seu estado (onde o estado 1 é o estado inicial) de acordo com uma indicação do formato ou apagamento do quadro atual encodificado. Se a máquina de estado estiver no estado 3 ao receber uma indicação de que o quadro atual é apagado, então o módulo lógico 116 determina se o valor de fator de ganho de linha de base é menor que (alternativamente, não maior que) o valor limite. Dependendo do resultado desta comparação, o módulo lógico 116 seleciona um entre o valor de fator de ganho de linha de base ou o segundo fator de ganho. 0 gerador do sinal de excitação 120 pode ser configurado para gerar o segundo sinal de excitação como uma série de sinais de excitação de subquadros. Uma implementação correspondente do módulo lógico 110 pode ser configurada para selecionar ou por outro lado produzir um valor diferente do segundo fator de ganho para cada sinal de excitação de subquadro, com pelo menos um dos valores sendo maior que o valor de fator de ganho de linha base. Por exemplo, a Figura 25 mostra uma descrição da operação de tal implementação 118 do módulo lógico 116 que é configurado para realizar as tarefas T140, T230, e T240 como mostrado na Figura 8. 0 módulo lógico 120 pode ser disposto para receber a indicação de apagamento proveniente de um detector de apagamento 210 que está incluída dentro do equipamento AlOO ou é externa ao equipamento AlOO (por exemplo, dentro de um dispositivo que inclui o equipamento AlOO, tal como um telefone celular). O detector de apagamento 210 pode ser configurado para produzir uma indicação de apagamento para um quadro ao detectar qualquer uma ou mais das condições a seguir: (1) o quadro contém muitos erros de bit a serem recuperados; (2) a taxa de bit indicada para o quadro é inválida ou não-suportada; (3) todos os bits do quadro são zero; (4) a taxa de bit indicada para o quadro é um oitavo da taxa, e todos os bits do quadro são um; (5) o quadro está em branco e a última taxa de bit válida não foi um oitavo da taxa.
Implementações adicionais do módulo lógico 110 podem ser configuradas para realizar aspectos de processamento de apagamento, tal como estes realizados pelo módulo de recuperação de apagamento de quadro 100 como descrito acima. Por exemplo, tal implementação de módulo lógico 110 pode ser configurada para realizar tais tarefas como calcular o valor do fator de ganho de linha de base e/ou calcular um conjunto de valores de parâmetro espectral para filtrar o segundo sinal de excitação. Para uma aplicação na qual o primeiro quadro encodificado inclui apenas um fator de ganho de livro-código adaptativo, o valor de fator de ganho de linha de base pode ser simplesmente o valor do primeiro fator de ganho. Para uma aplicação na qual o primeiro quadro encodificado inclui vários fatores de ganho de livro-código adaptativo (por exemplo, um fator diferente para cada subquadro), o valor de fator de ganho de linha de base pode ser também baseado em um ou mais dos outros fatores de ganho de livro-código adaptativo. Neste caso, por exemplo, o módulo lógico 110 pode ser configurado para calcular o valor de fator de ganho de linha de base como uma média dos fatores de ganho de livro-código adaptativo do primeiro quadro encodificado.
Implementações do módulo lógico 110 podem ser classificadas de acordo com a maneira na qual eles fazem com que o gerador de sinal de excitação 120 produza o segundo sinal de excitação. Uma classe 110A do módulo lógico 110 inclui implementações que são configuradas para prover o segundo fator de ganho para o gerador de sinal de excitação 120. A Figura 26A mostra um diagrama em blocos de uma implementação A100A do equipamento AlOO que inclui tal implementação do módulo lógico 110 e uma implementação 120A correspondente do gerador de sinal de excitação 120.
Outra classe 110B do módulo lógico 110 inclui implementações que são configuradas para fazer com que o gerador de sinal de excitação 110 selecione o segundo fator de ganho dentre duas ou mais opções (por exemplo, como uma entrada). A Figura 26B mostra um diagrama em blocos de uma implementação A100B do equipamento A100 que inclui tal implementação do módulo lógico 110 e uma implementação 120B correspondente do gerador de sinal de excitação 120. Neste caso, o seletor 150, que é mostrado dentro do módulo lógico 112 na Figura 22, é ao invés localizado dentro do gerador de sinal de excitação 120B. É expressamente contemplado e pelo presente descrito que qualquer das implementações 112, 114, 116, 118 do módulo lógico 110 podem ser configuradas e dispostas de acordo com a classe 110A ou classe 110B.
A Figura 26C mostra um diagrama em blocos de uma implementação A100C do equipamento A100. O equipamento A100C inclui uma implementação da classe 110B do módulo lógico 110 que é disposto para fazer com que o gerador de sinal de excitação 120 selecione o segundo sinal de excitação dentre dois ou mais sinais de excitação. O gerador de sinal de excitação 120C inclui duas sub-implementações 120C1, 120C2 do gerador de sinal de excitação 120, uma sendo configurada para gerar um sinal de excitação baseado no segundo fator de ganho, a outra sendo configurada para gerar um sinal de excitação baseado em outro valor de fator de ganho (por exemplo, o valor de fator de ganho de linha de base) . O gerador de sinal de excitação 120C é configurado para gerar o segundo sinal de excitação, de acordo com um sinal de controle proveniente do módulo lógico 110B para o seletor 150, ao selecionar o sinal de excitação que é baseado no segundo fator de ganho. É observado que a configuração da classe 120C do gerador de sinal de excitação 120 pode consumir mais ciclos de processamento, potência, e/ou armazenamento que uma implementação correspondente das classes 120A ou 120B. O gerador de sinal de excitação 120 é configurado para gerar o primeiro sinal de excitação baseado no primeiro fator de ganho e em uma primeira seqüência de valores. Por exemplo, o gerador de sinal de excitação 120 pode ser configurado para realizar a tarefa T210 como descrita acima. A primeira seqüência de valores é baseada na informação proveniente do terceiro sinal de excitação, tal como um segmento do terceiro sinal de excitação. Em um exemplo tipico, a primeira seqüência é baseada no último subquadro do terceiro sinal de excitação.
Uma implementação tipica do gerador de sinal de excitação 120 inclui uma memória (por exemplo, um livro-código adaptativo) configurada para receber e armazenar a primeira seqüência. A Figura 27A mostra um diagrama em blocos de uma implementação 122 do gerador de sinal de excitação 120 que inclui tal memória 160. Alternativamente, pelo menos parte do livro-código adaptativo pode estar localizada em uma memória em qualquer lugar dentro ou externa ao equipamento AlOO, tal que uma parte (possivelmente todas) da primeira seqüência é provida como entrada para o gerador de sinal de excitação 120.
Como mostrado na Figura 27A, o gerador de sinal de excitação 120 pode incluir um multiplicador 170 que é configurado para calcular um produto do fator de ganho atual e seqüência. O primeiro fator de ganho pode ser baseado na informação proveniente do primeiro quadro encodificado, tal como um índice de ganho de livro-código. Neste caso, o gerador de sinal de excitação 120 pode incluir um ganho de livro-código, juntamente com lógica configurada para recuperar o primeiro fator de ganho como o valor que corresponde a este índice. O gerador de sinal de excitação 120 pode ser também configurado para receber um índice de livro-código adaptativo que indica a localização da primeira seqüência dentro do livro-código adaptativo. 0 gerador de sinal de excitação 120 pode ser configurado para gerar o primeiro sinal de excitação baseado na informação adicional proveniente do primeiro quadro encodificado. Tal informação pode incluir um ou mais índices de livro-código fixos, e valores de fator de ganho correspondentes ou índices de livro-código, que especificam uma contribuição de livro-código fixo ao primeiro sinal de excitação. A Figura 27B mostra um diagrama em blocos de uma implementação 124 do gerador de sinal de excitação 122 que inclui um livro-código 180 (por exemplo, um livro-código fixo) configurado para armazenar outra informação na qual o sinal de excitação gerado pode ser baseado em, um multiplicador 190 configurado para calcular um produto da seqüência de livro-código fixo e um fator de ganho de livro-código fixo, e um somador 195 configurado para calcular o sinal de excitação como uma soma das contribuições de livro-código adaptativo e fixo. 0 gerador de sinal de excitação 124 pode também incluir lógica configurada para recuperar as seqüências e os fatores de ganho provenientes dos respectivos livros-código de acordo com os índices correspondentes. 0 gerador de sinal de excitação 120 é também configurado para gerar o segundo sinal de excitação baseado em um segundo fator de ganho e em uma segunda seqüência de valores. O segundo fator de ganho é maior que o primeiro fator de ganho e pode ser maior que o valor de fator de ganho de linha de base. O segundo fator de ganho pode ser também igual a ou mesmo maior que o valor limite. Para um caso no qual o gerador de sinal de excitação 120 é configurado para gerar o segundo sinal de excitação como uma série de sinais de excitação de subquadro, um valor diferente do segundo fator de ganho pode ser utilizado para cada sinal de excitação de subquadro, com pelo menos um dos valores sendo maior que o valor de fator de ganho de linha de base. Neste caso, pode ser desejável para os diferentes valores do segundo fator de ganho serem dispostos para subir ou cair sobre o período de quadro. A segunda seqüência de valores é baseada na informação proveniente do primeiro sinal de excitação, tal como um segmento do primeiro sinal de excitação. Em um típico exemplo, a segunda seqüência é baseada no último subquadro do primeiro sinal de excitação. Do mesmo modo, o gerador de sinal de excitação 120 pode ser configurado para atualizar um livro-código adaptativo com base na informação proveniente do primeiro sinal de excitação. Para uma aplicação do equipamento AlOO a um sistema de codificação que suporta um modo de codificação de relaxamento CELP (RCELP), tal implementação do gerador de sinal de excitação 120 pode ser configurada para alinhamento temporal do segmento de acordo com um valor correspondente de um parâmetro do intervalo de passo. Um exemplo de tal operação de alinhamento é descrito na Seção 5.2.2. (com referência à Seção 4.11.5) do documento 3GPP2 C.S0014-C v.1.0 citado acima. 0 gerador de sinal de excitação 120 é também configurado para gerar o terceiro sinal de excitação. Em algumas aplicações, o gerador de sinal de excitação 120 é configurado para gerar o terceiro sinal de excitação baseado na informação proveniente de um livro-código adaptativo (por exemplo, memória 160). 0 gerador de sinal de excitação 120 pode ser configurado para gerar um sinal de excitação que é baseado em um sinal de ruido (por exemplo, um sinal de excitação gerado em resposta a uma indicação de um formato NELP). Nestes casos, o gerador de sinal de excitação 120 pode ser configurado para incluir um gerador de sinal de ruido configurado para realizar a tarefa T260. Pode ser desejável para o gerador de ruido utilizar um valor semente baseado em outra informação proveniente do quadro encodificado correspondente (tal como informação espectral), como tal técnica pode ser utilizada para suportar geração do mesmo sinal de ruido que foi utilizado no encodificador. Alternativamente, o gerador de sinal de excitação 120 pode ser configurado para receber um sinal de ruido gerado. Dependendo da aplicação particular, o gerador de sinal de excitação 120 pode ser configurado para gerar o terceiro sinal de excitação baseado no sinal de ruido gerado (por exemplo, para realizar a tarefa T270) ou para gerar um quarto sinal de excitação baseado no sinal de ruido gerado (por exemplo, para realizar a tarefa T280) . 0 gerador de sinal· de excitação 120 pode ser configurado para gerar um sinal de excitação baseado em uma seqüência proveniente do livro-código adaptativo, ou para gerar um sinal de excitação baseado em um sinal de ruído gerado, de acordo com uma indicação do formato de quadro. Neste caso, o gerador de sinal de excitação 120 é tipicamente configurado para continuar a operar de acordo com o modo de codificação do último quadro válido no evento em que o quadro atual é apagado. O gerador de sinal de excitação 122 é tipicamente implementado para atualizar o livro-código adaptativo tal que a seqüência armazenada na memória 160 é baseada no sinal de excitação para o quadro anterior. Como notado acima, a atualização do livro-código adaptativo pode incluir realizar uma operação de alinhamento temporal de acordo com um valor de um parâmetro de intervalo de passo. 0 gerador de sinal de excitação 122 pode ser configurado para atualizar a memória 160 em cada quadro (ou mesmo em cada subquadro). Alternativamente, o gerador de sinal de excitação 122 pode ser implementado para atualizar a memória 160 apenas nos quadros que são decodificados utilizando um sinal de excitação baseado na informação proveniente da memória. Por exemplo, o gerador de sinal de excitação 122 pode ser implementado para atualizar a memória 160 com base na informação proveniente dos sinais de excitação para quadros CELP, mas não na informação proveniente dos sinais de excitação para quadros NELP. Para períodos de quadros nos quais a memória 160 não é atualizada, os conteúdos da memória 160 podem permanecer sem serem trocados ou pode mesmo ser restaurados para um estado inicial (por exemplo, ajustar para zero). O formatador espectral 130 é configurado para calcular um primeiro quadro de um sinal de fala decodificado, baseado em um primeiro sinal de excitação e na informação proveniente de um primeiro quadro encodificado de um sinal de fala encodificado. Por exemplo, o formatador espectral 130 pode ser configurado para realizar a tarefa T220. 0 formatador espectral 130 é também configurado para calcular, com base em um segundo sinal de excitação, um segundo quadro do sinal de fala decodificado que segue imediatamente o primeiro quadro. Por exemplo, o formatador espectral 130 pode ser configurado para realizar a tarefa T240. 0 formatador espectral 130 é também configurado para calcular, com base em um terceiro sinal de excitação, um terceiro quadro do sinal de fala decodificado que precede o primeiro quadro. Por exemplo, o formatador espectral 130 pode ser configurado para realizar a tarefa T250. Dependendo da aplicação, o formatador espectral 130 pode ser também configurado para calcular um quarto quadro do sinal de fala decodificado, com base no quarto sinal de excitação (por exemplo, para realizar a tarefa T290).
Uma implementação típica do formatador espectral 130 inclui um filtro de síntese que é configurado de acordo com um conjunto de valores de parâmetro espectral para o quadro, tal como um conjunto de valores de coeficiente LPC. 0 formatador espectral 130 pode ser disposto para receber o conjunto de valores de parâmetro espectral proveniente de um calculador de parâmetro de fala como descrito aqui e/ou proveniente do módulo lógico 110 (por exemplo, em casos de apagamento de quadro). O formatador espectral 130 pode também ser configurado para calcular um quadro decodificado de acordo com uma série de diferentes subquadros de um sinal de excitação e/ou uma série de diferentes conjuntos de valores de parâmetro espectral. O formatador espectral 130 pode também ser configurado para realizar uma ou mais outras operações de processamento no sinal de excitação, no sinal de excitação moldado, e/ou nos valores de parâmetro espectral, tal como em outras operações de filtragem.
Um detector de formato 220 que está incluído dentro do equipamento AlOO ou é externo ao equipamento AlOO (por exemplo, dentro de um dispositivo que inclui o equipamento AlOO, tal como um telefone celular) pode ser disposto para prover indicações de formato de quadro para o primeiro e outros quadros encodificados para um ou mais dentre o módulo lógico 110, gerador de sinal de excitação 120, e formatador espectral 130. O detector de formato 220 pode conter detector de apagamento 210, ou estes dois elementos podem ser implementados separadamente. Em algumas aplicações, o sistema de codificação é configurado para utilizar apenas um modo de codificação para uma taxa de bit particular. Para estes casos, a taxa de bit do quadro encodificado (como determinado, por exemplo, a partir de um ou mais parâmetros tais como energia de quadro) também indica o formato de quadro. Para um sistema de codificação que utiliza mais de um modo de codificação na taxa de bit encodificada, o detector de formato 220 pode ser configurado para determinar o formato proveniente de um índice de codificação, tal como um conjunto de um ou mais bits dentro do quadro encodificado que identifica o modo de codificação. Neste caso, a indicação do formato pode ser baseada em uma determinação do índice de codificação. Em alguns casos, o índice de codificação pode indicar explicitamente o modo de codificação. Em outros casos, o índice de codificação pode indicar implicitamente o modo de codificação, por exemplo, indicando um valor que seria inválido para outro modo de codificação. 0 equipamento A100 pode ser disposto para receber parâmetros de fala de um quadro encodificado (por exemplo, valores de parâmetro espectral, índices de livro-código fixo e/ou adaptativo, valores de fator de ganho e/ou índices de livro-código) de um calculador de parâmetro de fala 230 que está incluído dentro do equipamento A100 ou é externo ao equipamento AlOO (por exemplo, dentro de um dispositivo que inclui o equipamento AlOO, tal como um telefone celular). A Figura 28 mostra um diagrama em blocos de uma implementação 232 do calculador de parâmetro de fala 230 que inclui um analisador 310 (também chamado "desempacotador") , de-quantizadores 320 e 330, e um conversor 340. O analisador 310 é configurado para analisar o quadro encodificado de acordo com seu formato. Por exemplo, o analisador 310 pode ser configurado para distinguir os vários tipos de informação no quadro de acordo com suas posições de bit dentro do quadro, como indicado pelo formato. 0 de-quantizador 320 é configurado para dequantizar a informação espectral. Por exemplo, o de-quantizador 320 é tipicamente configurado para aplicar informação espectral analisada a partir do quadro encodificado como indices para um ou mais livros-código para obter um conjunto de valores de parâmetro espectral. O de-quantizador 330 é configurado para de-quantizar a informação temporal. Por exemplo, o de-quantizador 330 é também tipicamente configurado para aplicar informação temporal analisada a partir do quadro encodificado como indices para um ou mais livros-código para obter valores de parâmetro temporal (por exemplo, valores de fator de ganho). Alternativamente, o gerador de sinal de excitação 120 pode ser configurado para realizar de-quantização de alguns ou todos da informação temporal (por exemplo, indices de livro-código fixo e/ou adaptativo) . Como mostrado na Figura 28, um ou ambos os de-quantizadores 320 e 330 podem ser configurados para de-quantizar a informação de quadro correspondente de acordo com o formato de quadro particular, uma vez que diferentes modos de codificação podem utilizar diferentes esquemas ou tabelas de quantização.
Como notado acima, os valores de coeficientes LPC são tipicamente convertidos para outra forma (por exemplo, valores LSP, LSF, ISP, e/ou ISF) antes da quantização. O conversor 340 é configurado para converter a informação espectral de-quantizada para os valores de coeficiente LPC. Para um quadro apagado, as saídas do calculador de parâmetro de fala 230 podem ser nulas, indefinidas, ou não trocadas, dependendo da escolha de projeto particular. A Figura 29A mostra um diagrama em blocos de um exemplo de um sistema que inclui implementações de detector de apagamento 210, detector de formato 220, calculador de parâmetro de fala 230, e equipamento A100. A Figura 29B mostra um diagrama em blocos de um sistema similar que inclui uma implementação 222 do detector de formato 220 que também realiza detecção de apagamento.
Os vários elementos de uma implementação do equipamento A100 (por exemplo, módulo lógico 110, gerador de sinal de excitação 120, e formatador espectral 130) podem ser incorporados em qualquer combinação de hardware, software, e/ou firmware que sejam considerados apropriados para a aplicação pretendida. Por exemplo, tais elementos podem ser fabricados como dispositivo eletrônico e/ou óptico residindo, por exemplo, no mesmo chip ou entre dois ou mais chips em um conjunto de chip. Um exemplo de tal dispositivo é um arranjo programável ou fixo dos elementos lógicos, tal como transistores ou portas lógicas, e qualquer destes elementos podem ser implementados como um ou mais de tais arranjos. Quaisquer dois ou mais, ou mesmo todos, destes elementos podem ser implementados dentro do mesmo arranjo ou arranjos. Tal arranjo ou arranjos podem ser implementados dentro de um ou mais chips (por exemplo, dentro de um conjunto de chip incluindo dois ou mais chips).
Um ou mais elementos das várias implementações do equipamento AlOO como descrito aqui (por exemplo, módulo lógico 110, gerador de sinal de excitação 120, e formatador espectral 130) podem ser também implementados em todo ou em parte como um ou mais conjuntos de instruções dispostos para executar um ou mais arranjos programáveis ou fixo dos elementos lógicos, tais como microprocessadores, processadores embutidos, núcleos IP, processadores de sinal digital, FPGAs (arranjos de porta programáveis em campo), ASSPs (produtos padrão de aplicação específica), e ASICs (circuito integrado de aplicação específica). Qualquer dos vários elementos de uma implementação do equipamento AlOO pode também ser incorporada como um ou mais computadores (por exemplo, máquinas incluindo um ou mais arranjos programados para executar um ou mais conjuntos ou seqüências de instruções, também chamados "processadores"), e quaisquer dois ou mais, ou mesmo todos, destes elementos podem ser implementados dentro do mesmo computador ou computadores.
Os vários elementos de uma implementação do equipamento AlOO podem estar incluídos dentro de um dispositivo para comunicação sem fio tal como um telefone celular ou outro dispositivo possuindo tais capacidades de comunicação. Tal dispositivo pode ser configurado para comunicar com redes comutadas por circuito e/ou comutadas por pacote (por exemplo, utilizando um ou mais protocolos tal como VoIP) . Tal dispositivo pode ser configurado para realizar operações em um sinal que carrega os quadros encodificados tal como de-intercalação, despuncionamento, decodificação de um ou mais códigos de convolução, decodificação de um ou mais códigos de correção de erro, decodificação de uma ou mais camadas de protocolo de rede (por exemplo, Ethernet, TCP/IP, cdma2000), demodulação de radiofrequência (RF), e/ou recepção RF. É possível para um ou mais elementos de uma implementação do equipamento AlOO ser utilizado para desempenhar tarefas ou executar outros conjuntos de instruções que não são diretamente relacionados a uma operação do equipamento, tal como uma tarefa referente à outra operação de um dispositivo ou sistema no qual o equipamento está embutido. É também possível para um ou mais elementos de uma implementação do equipamento AlOO ter estrutura em comum (por exemplo, um processador utilizado para executar partes do código correspondente aos diferentes elementos em tempos diferentes, um conjunto de instruções executadas para realizar tarefas correspondentes a diferentes elementos em tempos diferentes, ou um arranjo de dispositivos eletrônicos e/ou ópticos desempenhando operações para diferentes elementos em tempos diferentes). Em tal exemplo, o módulo lógico 110, o gerador de sinal de excitação 120, e o formatador espectral 130 são implementados como conjuntos de instruções dispostos para executar no mesmo processador. Em outro tal exemplo, estes elementos e um ou mais (possivelmente todos) do detector de apagamento 210, detector de formato 220, e calculador de parâmetro de fala 230 são implementados como conjuntos de instruções dispostos para executar no mesmo processador. Em outro exemplo, os geradores de sinal de excitação 120C1 e 120C2 são implementados como o mesmo conjunto de instruções executando em tempos diferentes. Em ainda outro exemplo, os de-quantizadores 320 e 330 são implementados como o mesmo conjunto de instruções executando em tempos diferentes.
Um dispositivo para comunicação sem fio, tal como um telefone celular ou outro dispositivo possuindo tais capacidades de comunicação, pode ser configurado para incluir implementações de ambos o equipamento AlOO e um encodificador de fala. Neste caso, é possível para o equipamento AlOO e o encodificador de fala ter estruturas em comum. Em tal exemplo, o equipamento AlOO e o encodificador de fala são implementados para incluir conjuntos de instruções que são dispostos para executar no mesmo processador. A apresentação a seguir das configurações descritas é provida para permitir a qualquer pessoa versada na técnica fazer ou utilizar os métodos e outras estruturas descritas aqui. Os fluxogramas, diagramas em blocos, diagramas de estado, e outras estruturas mostradas e descritas aqui são apenas exemplos, e outras variantes destas estruturas estão também dentro do escopo da descrição. Várias modificações a estas configurações são possíveis, e os princípios gerais apresentados aqui podem ser aplicados a outras configurações também. Por exemplo, embora os exemplos descrevam principalmente aplicação para um quadro apagado seguindo um quadro CELP, é expressamente contemplado e pelo presente descrito que tais métodos, equipamentos, e sistemas podem ser também aplicados aos casos nos quais o quadro apagado segue um quadro encodificado de acordo com outro modo de codificação que utiliza um sinal de excitação baseado em uma memória da informação de excitação passada, tal como um PPP ou outro modo de codificação PWI. Assim, a presente descrição não é pretendida para ser limitada aos exemplos particulares ou configurações mostradas acima, mas é para ser acordada ao escopo mais amplo consistente com os princípios e as novas características descritas em qualquer forma aqui, incluindo nas reivindicações apensas como depositada, que formam uma parte da descrição original.
Exemplos de codecs que podem ser utilizados com, ou adaptados para uso com decodif icadores de fala e/ou métodos de decodificação de fala como descrito aqui incluem um Codec de Taxa Variável Aumentada (EVRC) como descrito no documento 3GPP2 C.S0014-C versão 1.0, "Enhanced Variable Rate Codec, Speech Service Options 3, 68, e 70 for Wideband Spread Spectrum Digital Systems", ch. 5 de janeiro de 2007; o codec de fala de Multi-taxa Adaptativo (AMR), como descrito no documento ESI TS 126 092 νδ.0.0, ch. 6 de dezembro de 2004; e o codec de fala de banda larga AMR, como descrito no documento ETSI TS 126 192 V6.0.0, ch. 6 de dezembro de 2004.
Os versados na técnica entenderão que a informação e sinais podem ser representados utilizando qualquer de uma variedade de tecnologias e técnicas diferentes. Por exemplo, dados, instruções, comandos, informação, sinais, bits, e símbolos que podem ser referenciados por toda a descrição acima podem ser representados por voltagens, correntes, ondas eletromagnéticas, campos ou partículas magnéticas, campos ou partículas ópticas, ou qualquer combinação destes. Embora o sinal do qual os quadros encodificados são derivados e o sinal como decodificado são chamados "sinais de fala", é também contemplado e pelo presente descrito que estes sinais podem carregar música ou outros conteúdos de informação que não de fala durante quadros ativos.
Os versados na técnica também apreciariam que os vários blocos, módulos, circuitos, e operações lógicos ilustrados descritos em conexão com as configurações descritas aqui podem ser implementadas como hardware eletrônico, software de computador, ou combinações de ambos. Tais blocos, módulos, circuitos, e operações lógicas podem ser implementados ou realizados com um processador de propósito geral, um processador de sinal digital (DSP), um ASIC, um FPGA ou outro dispositivo lógico programável, porta discreta ou lógica de transistor, componentes de hardware discreto, ou qualquer combinação destes designados para desempenhar as funções descritas aqui. Um processador de propósito geral pode ser um microprocessador, mas na alternativa, o processador pode ser qualquer processador convencional, controlador, microcontrolador, ou máquina de estado. Um processador pode ser também implementado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em conjunto com um núcleo DSP, ou qualquer outra tal configuração.
As tarefas dos métodos e algoritmos descritos aqui podem ser incorporadas diretamente em hardware, em um módulo de software executado por um processador, ou em uma combinação dos dois. Um módulo de software pode residir em uma memória RAM, memória flash, memória ROM, memória EPROM, memória EEPROM, registradores, disco rígido, um disco removível, um CD-ROM, ou qualquer outra forma de meio de armazenamento conhecido na técnica. Um meio de armazenamento ilustrativo é acoplado ao processador, tal que o processador pode ler informação de, e escrever informação, no meio de armazenamento. Na alternativa, o meio de armazenamento pode ser integral ao processador. 0 processador e o meio de armazenamento podem residir em um ASIC. 0 ASIC pode residir em um terminal de usuário. Na alternativa, o processador e o meio de armazenamento podem residir como componentes discretos em um terminal de usuário.
Cada das configurações descritas aqui podem ser implementadas pelo menos em parte como um circuito cabeado, como uma configuração de circuito fabricado em um circuito integrado de aplicação especifica, ou como um programa firmware carregado em armazenamento não volátil ou em um programa de computador carregado de ou em um meio de armazenamento de dados como código legível por máquina, tal código sendo instruções executáveis por um arranjo de elementos lógicos tal como um microprocessador ou outras unidades de processamento de sinal digital. 0 meio de armazenamento de dados pode ser um arranjo de elementos de armazenamento tal como memória de semicondutor (que pode incluir sem limitação dinâmica ou RAM estática (memória de acesso aleatória), ROM (memória de leitura), e/ou RAM flash), ou ferroelétrica, magnetoresistiva, ovônica, polimérica, ou memória de troca de fase; ou um meio de disco tal como um disco óptico ou magnético. 0 termo "software" deve ser entendido para incluir código fonte, código de linguagem assembly, código de máquina, código binário, firmware, macrocódigo, microcódigo, qualquer um ou mais conjuntos ou seqüências de instruções executáveis por um arranjo de elementos lógicos, e qualquer combinação de tais exemplos.
REIVINDICAÇÕES

Claims (11)

1. Método para processar um sinal de fala codificado, caracterizado pelo fato de que compreende: detectar pelo menos uma sequência de modos particular nos dois quadros do sinal de fala codificado que precedem um apagamento de quadro; obter um valor de ganho com base em parte no quadro do sinal de fala codificado antes do apagamento, em que o valor de ganho obtido é um valor de ganho que é predito para o quadro apagado; se a pelo menos uma sequência de modos é detectada, comparar o valor de ganho obtido com um valor limite; se o valor de ganho obtido não for maior que o valor limite, aumentar o valor de ganho obtido.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que detectar compreende detectar a sequência “quadro não-vozeado, quadro vozeado" nos dois quadros do sinal de fala codificado que precedem o apagamento de quadro.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que detectar compreende detectar a sequência “quadro possuindo uma excitação não-periódica, quadro possuindo uma excitação periódica e adaptativa" nos dois quadros do sinal de fala codificado que precedem o apagamento de quadro.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que detectar compreende detectar a sequência “quadro codificado usando predição linear excitada por ruído, quadro codificado usando predição linear excitada por código" nos dois quadros do sinal de fala codificado que precedem o apagamento de quadro.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o valor de ganho obtido é um valor de ganho de livro-código adaptativo predito para o quadro apagado.
6. Meio legível por computador, caracterizado pelo fato de que compreende instruções, as quais quando executadas por um arranjo de elementos lógicos fazem com que o arranjo execute o método conforme definido em qualquer uma das reivindicações 1 a 5.
7. Aparelho para processar um sinal de fala codificado, caracterizado pelo fato de que compreende: mecanismo para detectar pelo menos uma sequência de modos particular nos dois quadros do sinal de fala codificado que precedem um apagamento de quadro; mecanismo para obter um valor de ganho com base pelo menos em parte no quadro do sinal de fala codificado antes do apagamento, em que o valor de ganho obtido é um valor que ganho que é predito para o quadro apagado; mecanismo para comparar o valor de ganho obtido com um valor limite se a pelo menos uma sequência de modos for detectada pelo mecanismo de detecção; e mecanismo para aumentar o valor de ganho obtido se o valor de ganho obtido não for maior que o valor limite.
8. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o mecanismo para detectar é configurado para detectar a sequência “quadro não-vozeado, quadro vozeado" nos dois quadros do sinal de fala codificado que precedem o apagamento de quadro.
9. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o mecanismo para detectar é configurado para detectar a sequência “quadro possuindo uma excitação não-periódica, quadro possuindo uma excitação periódica e adaptativa" nos dois quadros do sinal de fala codificado que precedem o apagamento de quadro.
10. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o mecanismo para detectar é configurado para detectar a sequência “quadro codificado usando predição linear excitada por ruído, quadro codificado usando predição linear excitada por código" nos dois quadros do sinal de fala codificado que precedem o apagamento de quadro.
11. Aparelho, de acordo com qualquer uma das reivindicações 7 a 10, caracterizado pelo fato de que o valor de ganho obtido é um valor de ganho de livro-código adaptativo predito para o quadro apagado.
BRPI0717495-0A2 2006-10-06 2007-10-07 sistemas, métodos, e equipamentos para recuperação de apagamento de quadro BRPI0717495B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US82841406P 2006-10-06 2006-10-06
US11/868,351 US7877253B2 (en) 2006-10-06 2007-10-05 Systems, methods, and apparatus for frame erasure recovery
PCT/US2007/080653 WO2008043095A1 (en) 2006-10-06 2007-10-07 Systems, methods, and apparatus for frame erasure recovery

Publications (2)

Publication Number Publication Date
BRPI0717495A2 BRPI0717495A2 (pt) 2014-04-22
BRPI0717495B1 true BRPI0717495B1 (pt) 2019-12-10

Family

ID=39052629

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0717495-0A2 BRPI0717495B1 (pt) 2006-10-06 2007-10-07 sistemas, métodos, e equipamentos para recuperação de apagamento de quadro

Country Status (11)

Country Link
US (2) US7877253B2 (pt)
EP (2) EP2070082B1 (pt)
JP (1) JP5265553B2 (pt)
KR (1) KR101092267B1 (pt)
CN (1) CN101523484B (pt)
AT (1) ATE548726T1 (pt)
BR (1) BRPI0717495B1 (pt)
CA (1) CA2663385C (pt)
RU (1) RU2419167C2 (pt)
TW (1) TWI362031B (pt)
WO (1) WO2008043095A1 (pt)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
WO2008103087A1 (en) * 2007-02-21 2008-08-28 Telefonaktiebolaget L M Ericsson (Publ) Double talk detector
EP2203915B1 (fr) * 2007-09-21 2012-07-11 France Telecom Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite
TWI350653B (en) * 2007-10-19 2011-10-11 Realtek Semiconductor Corp Automatic gain control device and method
CN101437009B (zh) * 2007-11-15 2011-02-02 华为技术有限公司 丢包隐藏的方法及其系统
KR100998396B1 (ko) * 2008-03-20 2010-12-03 광주과학기술원 프레임 손실 은닉 방법, 프레임 손실 은닉 장치 및 음성송수신 장치
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
US8238861B2 (en) * 2009-01-26 2012-08-07 Qualcomm Incorporated Automatic gain control in a wireless communication network
US8838819B2 (en) * 2009-04-17 2014-09-16 Empirix Inc. Method for embedding meta-commands in normal network packets
US8924207B2 (en) * 2009-07-23 2014-12-30 Texas Instruments Incorporated Method and apparatus for transcoding audio data
US8321216B2 (en) * 2010-02-23 2012-11-27 Broadcom Corporation Time-warping of audio signals for packet loss concealment avoiding audible artifacts
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
AR085218A1 (es) * 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Aparato y metodo para ocultamiento de error en voz unificada con bajo retardo y codificacion de audio
EP2676266B1 (en) 2011-02-14 2015-03-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Linear prediction based coding scheme using spectral domain noise shaping
TWI476760B (zh) 2011-02-14 2015-03-11 Fraunhofer Ges Forschung 用以使用暫態檢測及品質結果將音訊信號的部分編碼之裝置與方法
AR085361A1 (es) 2011-02-14 2013-09-25 Fraunhofer Ges Forschung Codificacion y decodificacion de posiciones de los pulsos de las pistas de una señal de audio
JP5712288B2 (ja) 2011-02-14 2015-05-07 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 重複変換を使用した情報信号表記
AU2012217269B2 (en) 2011-02-14 2015-10-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
NO2669468T3 (pt) * 2011-05-11 2018-06-02
CN102800317B (zh) * 2011-05-25 2014-09-17 华为技术有限公司 信号分类方法及设备、编解码方法及设备
JP5805601B2 (ja) * 2011-09-30 2015-11-04 京セラ株式会社 装置、方法、及びプログラム
US9728200B2 (en) * 2013-01-29 2017-08-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
US9842598B2 (en) * 2013-02-21 2017-12-12 Qualcomm Incorporated Systems and methods for mitigating potential frame instability
US9208775B2 (en) * 2013-02-21 2015-12-08 Qualcomm Incorporated Systems and methods for determining pitch pulse period signal boundaries
WO2014147441A1 (en) * 2013-03-20 2014-09-25 Nokia Corporation Audio signal encoder comprising a multi-channel parameter selector
US9495968B2 (en) 2013-05-29 2016-11-15 Qualcomm Incorporated Identifying sources from which higher order ambisonic audio data is generated
CA2913578C (en) 2013-06-21 2018-05-22 Michael Schnabel Apparatus and method for generating an adaptive spectral shape of comfort noise
CN104299614B (zh) * 2013-07-16 2017-12-29 华为技术有限公司 解码方法和解码装置
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
WO2015134579A1 (en) 2014-03-04 2015-09-11 Interactive Intelligence Group, Inc. System and method to correct for packet loss in asr systems
JP2017520011A (ja) * 2014-04-17 2017-07-20 アウディマックス・エルエルシー 情報損失を減少させた電子通信のためのシステム、方法、および装置
US10770087B2 (en) * 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3194481B2 (ja) * 1991-10-22 2001-07-30 日本電信電話株式会社 音声符号化法
DE69232202T2 (de) 1991-06-11 2002-07-25 Qualcomm Inc Vocoder mit veraendlicher bitrate
SE501340C2 (sv) 1993-06-11 1995-01-23 Ericsson Telefon Ab L M Döljande av transmissionsfel i en talavkodare
JP3199142B2 (ja) * 1993-09-22 2001-08-13 日本電信電話株式会社 音声の励振信号符号化方法および装置
US5502713A (en) 1993-12-07 1996-03-26 Telefonaktiebolaget Lm Ericsson Soft error concealment in a TDMA radio system
WO1996037964A1 (en) * 1995-05-22 1996-11-28 Ntt Mobile Communications Network Inc. Sound decoding device
US5699485A (en) * 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
JP3095340B2 (ja) * 1995-10-04 2000-10-03 松下電器産業株式会社 音声復号化装置
US5960386A (en) 1996-05-17 1999-09-28 Janiszewski; Thomas John Method for adaptively controlling the pitch gain of a vocoder's adaptive codebook
US6014622A (en) * 1996-09-26 2000-01-11 Rockwell Semiconductor Systems, Inc. Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
US6810377B1 (en) 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6691092B1 (en) * 1999-04-05 2004-02-10 Hughes Electronics Corporation Voicing measure as an estimate of signal periodicity for a frequency domain interpolative speech codec system
US6636829B1 (en) 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
DE60233283D1 (de) 2001-02-27 2009-09-24 Texas Instruments Inc Verschleierungsverfahren bei Verlust von Sprachrahmen und Dekoder dafer
JP3628268B2 (ja) * 2001-03-13 2005-03-09 日本電信電話株式会社 音響信号符号化方法、復号化方法及び装置並びにプログラム及び記録媒体
US7590525B2 (en) * 2001-08-17 2009-09-15 Broadcom Corporation Frame erasure concealment for predictive speech coding based on extrapolation of speech waveform
US7406411B2 (en) 2001-08-17 2008-07-29 Broadcom Corporation Bit error concealment methods for speech coding
US7379865B2 (en) * 2001-10-26 2008-05-27 At&T Corp. System and methods for concealing errors in data transmission
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
FI118835B (fi) 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
FI118834B (fi) 2004-02-23 2008-03-31 Nokia Corp Audiosignaalien luokittelu
JP4146489B2 (ja) * 2004-05-26 2008-09-10 日本電信電話株式会社 音声パケット再生方法、音声パケット再生装置、音声パケット再生プログラム、記録媒体
JP3936370B2 (ja) * 2005-05-09 2007-06-27 富士通株式会社 音声復号化装置及びその方法
FR2897977A1 (fr) 2006-02-28 2007-08-31 France Telecom Procede de limitation de gain d'excitation adaptative dans un decodeur audio
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
US8165224B2 (en) * 2007-03-22 2012-04-24 Research In Motion Limited Device and method for improved lost frame concealment

Also Published As

Publication number Publication date
US20080086302A1 (en) 2008-04-10
BRPI0717495A2 (pt) 2014-04-22
CN101523484A (zh) 2009-09-02
RU2419167C2 (ru) 2011-05-20
EP2423916A2 (en) 2012-02-29
KR20090082383A (ko) 2009-07-30
US8825477B2 (en) 2014-09-02
EP2070082A1 (en) 2009-06-17
US7877253B2 (en) 2011-01-25
CA2663385C (en) 2013-07-02
TW200832356A (en) 2008-08-01
EP2423916B1 (en) 2013-09-04
ATE548726T1 (de) 2012-03-15
EP2070082B1 (en) 2012-03-07
EP2423916A3 (en) 2012-05-16
JP5265553B2 (ja) 2013-08-14
JP2010506221A (ja) 2010-02-25
WO2008043095A1 (en) 2008-04-10
RU2009117181A (ru) 2010-11-20
US20110082693A1 (en) 2011-04-07
CA2663385A1 (en) 2008-04-10
CN101523484B (zh) 2012-01-25
KR101092267B1 (ko) 2011-12-13
TWI362031B (en) 2012-04-11

Similar Documents

Publication Publication Date Title
BRPI0717495B1 (pt) sistemas, métodos, e equipamentos para recuperação de apagamento de quadro
US8428938B2 (en) Systems and methods for reconstructing an erased speech frame
RU2419170C2 (ru) Системы, способы и устройство для широкополосного кодирования и декодирования активных кадров
KR101034453B1 (ko) 비활성 프레임들의 광대역 인코딩 및 디코딩을 위한 시스템, 방법, 및 장치
KR101092167B1 (ko) 피치-조정 및 비-피치-조정 코딩을 이용한 신호 인코딩
US7711563B2 (en) Method and system for frame erasure concealment for predictive speech coding based on extrapolation of speech waveform
US8386246B2 (en) Low-complexity frame erasure concealment
BR112014017120B1 (pt) Sistemas, métodos aparelho, e mídia legível por computador para controle de limite de criticalidade
BRPI0715516A2 (pt) sistemas, mÉtodos e equipamentos para limitar fator de ganho
US7143032B2 (en) Method and system for an overlap-add technique for predictive decoding based on extrapolation of speech and ringinig waveform
BR112015018057B1 (pt) Sistemas, métodos, aparelho e mídia legível por computador para aperfeiçoamento do formante adaptativo na codificação de predição linear
US7308406B2 (en) Method and system for a waveform attenuation technique for predictive speech coding based on extrapolation of speech waveform
KR20230129581A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
LeBlanc et al. An enhanced full rate speech coder for digital cellular applications
LeBlanc et al. Personal Systems Laboratory Texas Instruments Incorporated

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: G10L 19/00

Ipc: G10L 19/005 (2013.01)

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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 10/12/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 10/12/2019, OBSERVADAS AS CONDICOES LEGAIS