BRPI0012543B1 - método e codificador de fala para dividir o espectro de freqüência de um protótipo de um frame - Google Patents

método e codificador de fala para dividir o espectro de freqüência de um protótipo de um frame Download PDF

Info

Publication number
BRPI0012543B1
BRPI0012543B1 BRPI0012543A BR0012543A BRPI0012543B1 BR PI0012543 B1 BRPI0012543 B1 BR PI0012543B1 BR PI0012543 A BRPI0012543 A BR PI0012543A BR 0012543 A BR0012543 A BR 0012543A BR PI0012543 B1 BRPI0012543 B1 BR PI0012543B1
Authority
BR
Brazil
Prior art keywords
band
adjacent
speech
bandwidth
bands
Prior art date
Application number
BRPI0012543A
Other languages
English (en)
Other versions
BR0012543A (pt
Inventor
Andrew P Dejaco
Arasanipalai K Ananthapadmanabhan
Eddie Lun Tik Choy
Pengjun Huang
Sharath Manjunath
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 BR0012543A publication Critical patent/BR0012543A/pt
Publication of BRPI0012543B1 publication Critical patent/BRPI0012543B1/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation

Abstract

"método e equipamento para identificar bandas de freqüência para computar deslocamentos de fase linear entre protótipos de frame em um codificador de fala". um método e equipamento para a identificação de bandas de freqüência para computar deslocamentos de fase linear entre protótipos de frames em um codificador de fala incluem o particionamento do espectro de freqüência de um protótipo de um frame através da divisão do espectro de freqüência na forma de segmentos, designando uma ou mais bandas para cada segmento, e estabelecendo, para cada segmento, um conjunto de larguras de banda para as bandas. as larguras de banda podem ser fixas e distribuídas uniformemente em qualquer dado segmento. as larguras de bandas podem ser fixas e não-uniformemente distribuídas em qualquer dado segmento. as larguras de banda podem ser variáveis e distribuídas não-uniformemente em qualquer dado segmento.

Description

Relatório Descritivo da Patente de Invenção: MÉTODO E CODIFICADOR DE FALA PARA DIVIDIR O ESPECTRO DE FREQÜÊNCIA DE UM PROTÓTIPO DE UM FRAME.
ANTECEDENTES DA INVENÇÃO I. Campo da Invenção A presente invenção faz parte de modo geral do campo do processamento da fala, e mais especificamente a métodos e equipamentos para identificar bandas de frequência para computar deslocamentos de fase linear entre protótipos de frame em codificadores de fala. II. Antecedentes A transmissão de voz por meio de técnicas digitais tem se tornado difundida, particularmente em aplicações a longas distâncias e de telefone rádio-digitais. Isso, por sua vez, tem criado interesse na determinação da menor quantidade de informação que pode ser enviada sobre um canal mantendo ao mesmo tempo a qualidade percebida da fala reconstruída. Se a fala for transmitida mediante a simples amostragem e digitalização, uma taxa de dados da ordem de sessenta e quatro kilobits por segundo (kbps) é requerida para se conseguir uma qualidade da fala de telefone analógico convencional. Entretanto, através do uso óe análise de fala, seguida pela apropriada codificação, transmissão e re-síntese no receptor, uma redução significativa na taxa de dados pode ser conseguida.
Dispositivos para a compressão da fala são usados em muitos campos das telecomunicações. Um campo exemplar é o das comunicações sem fio. O campo das comunicações sem fio possui muitas aplicações incluindo, por ex., telefones sem fio, paging, loops local sem fio, telefonia sem fio tais como sistemas de telefones celulares e PCS, telefonia com Protocolo de Internet (IP - internet Protocol) móvel,, e sistemas de comunicações por satélite. Uma aplicação particularmente importante é a da telefonia sem fio para assinantes móveis. Várias interfaces aéreas têm sido desenvolvidas para sistemas de comunicações sem fio incluindo, por ex., acesso múltiplo por divisão de frequência (FDMA), acesso múltiplo por divisão de tempo (TDMA) e acesso múltiplo por divisão de código (CDMA). Em conexão com estes, vários padrões domésticos e internacionais têm sido estabelecidos incluindo, por ex., o Advanced Mobile Phone Service (AMPS), Global System for Mobile Communications (GSM), e ínterim Standard 95 (IS-95). Um sistema exemplar de telefonia sem fio é um sistema de acesso múltiplo por divisão em código (CDMA) . O padrão IS-95 e seus derivados, IS-95A, ANSI J-STD-008, IS-95B, propuseram padrões de terceira geração IS-95C e IS-2000, etc. (aqui referidos coletivamente como IS-95) , são promulgados pela Telecommunication Industry Association (TIA) e outras bem conhecidas corporações de padrões para especificar o uso de uma interface aérea CDMA para sistemas de comunicações por telefonia celular ou PCS. Sistemas de comunicações sem fio exemplares, configurados substancialmente de acordo com o uso do padrão IS-95, são descritos nas Patentes Norte-Americanas U.S. 5.103.459 e U.S. 4.901.307, as quais são cedidas para o cessionário da presente invenção e são totalmente incorporadas neste por referência.
Dispositivos que empregam técnicas para comprimir a fala através da extração de parâmetros que se refiram a um modelo de geração da fala humana são chamados codificadores de fala. Um codificador de fala divide o sinal de fala de entrada na forma de blocos de tempo, ou frames de análise. Os codificadores de fala compreendem tipicamente um codificador e um decodificador. O codificador analisa o frame de fala de entrada para extrair certos parâmetros relevantes, e em seguida quantiza os parâmetros na forma de representação binária, isto é, para um conjunto de bits ou um pacote de dados binários. Os pacotes de dados são transmitidos sobre o canal de comunicação até um receptor e um decodificador. O decodificador processa os pacotes de dados, dequantiza-os para produzir os parâmetros e re-sintetiza os frames da fala usando os parâmetros dequantizados. A função do codificador de fala é a de comprimir o sinal de fala digitalizado em um sinal de baixa taxa de bit mediante a remoção da totalidade das redundâncias naturais inerentes na fala. A compressão digital é conseguida mediante a representação do frame de fala de entrada com um conjunto de parâmetros e empregando a quantização para representar os parâmetros com um conjunto de bits. Se o frame de fala de entrada possui um número de bits Ni e o pacote de dados produzido pelo codificador de fala possuir um número de bits N0, o fator de compressão conseguido pelo codificador de fala é Cr=Ni/N0. O desafio é o de manter a alta qualidade de voz da fala decodificada, ao mesmo tempo alcançando o fator de compressão alvo. 0 desempenho de um codificador de fala depende de (1) quão bem o modelo de fala, ou a combinação do processo de análise e de síntese descrito acima, se realiza, e (2) quão bem o processo de quantização do parâmetro é realizado na taxa de bit alvo de N0 bits por frame. O objetivo do modelo de fala é, portanto, o de capturar a essência do sinal de fala ou a qualidade de voz alvo, com um pequeno conjunto de parâmetros para cada frame.
Possivelmente o mais importante no projeto de um codificador de fala é a busca quanto a um bom conjunto de parâmetros (incluindo vetores) para descrever o sinal da fala. Um bom conjunto de parâmetros requer uma baixa largura de banda do sistema para a reconstrução de um sinal de fala perceptivelmente exato. A freqüência real de um som (pitch), potência do sinal, envelope espectral (ou formantes) , espectro de amplitude e espectro de fase são exemplos dos parâmetros codificadores da fala.
Os codificadores de fala podem ser implementados como codificadores no domínio de tempo, os quais tentam capturar a forma de onda da fala no domínio de tempo mediante o emprego de processamento de alto tempo e resolução para codificar pequenos segmentos da fala (tipicamente sub-frames de 5 milisegundos (ms)) por vez. Para cada sub-frame, um representativo de alta precisão a partir de um espaço no livro código é encontrado por meio de vários algoritmos de busca conhecidos na arte. De modo alternativo, os codificadores de fala podem ser implementados como codificadores no domínio de freqüência, os quais tentam capturar o espectro de fala de curto prazo do frame de fala de entrada com um conjunto de parâmetros (análise), e empregam um processo correspondente de síntese para recriar a forma de onda da fala a partir dos parâmetros espectrais. O quantizador de parâmetro preserva os parâmetros mediante as suas representações com as representações armazenadas dos vetores código de acordo com as técnicas conhecidas de quantização descritas em A. Gersho & R.M. Gray, Vector Quantization and Signal Compression (1992).
Um bem conhecido codificador de fala no domínio de tempo é o codificador de código preditivo linear excitado (CELP - Code Excited Linear Predictive) descrito em L.B. Rabiner & R.W. Schafer, Digital Processing of Speech Signals 396-453 (1978), o qual é totalmente incorporado neste por referência. Em um codificador CELP, as correlações de termo curto, ou redundâncias, no sinal da fala são removidas por uma análise de predição linear (LP -Linear Prediction), a qual encontra os coeficientes de um filtro formante de termo curto. A aplicação do filtro de predição de termo curto ao frame de fala de entrada gera um sinal de resíduo LP, o qual é posteriormente modelado e quantizado com os parâmetros de filtro de predição de termo longo e um subseqüente livro código (codebook) estocástico. Assim, a codificação CELP divide a tarefa de codificar a forma da onda da fala no domínio de tempo em tarefas separadas de codificação dos coeficientes do filtro LP de termo curto e codificar o resíduo LP. A codificação no domínio de tempo pode ser realizada a uma taxa fixada (isto é, usando o mesmo número de bits, N0, para cada frame) ou a uma taxa variável (na qual, diferentes taxas de bit são usadas para diferentes tipos de conteúdos de frames). Codificadores de taxa variáveis tentam usar apenas a quantidade de bits necessária para codificar os parâmetros do codificador até um nível adequado para se obter uma qualidade alvo. Um exemplar codificador CELP de taxa variável é descrito na Patente Norte-Americana U.S. 5.414.796, a qual é cedida para o cessionário da presente invenção e totalmente incorporada neste por referência.
Codificadores no domínio de tempo tais como os codificadores CELP se baseiam tipicamente em um alto número de bits, N0, por frame para preservar a exatidão da forma de onda da fala no domínio de tempo. Tais codificadores tipicamente proferem excelente qualidade de voz contanto que o número de bits, N0, por frame seja relativamente grande (por ex., 8 kpbs ou acima) . Entretanto, em baixas taxas de bits (4 kpbs ou abaixo) , os codificadores no domínio de tempo não conseguem conservar a alta qualidade e o desempenho sólido devido ao número limitado de bits disponíveis. Em baixas taxas de bits, o espaço limitado do livro código se junta com a capacidade de casamento da forma de onda dos codificadores de domínio de tempo convencionais, os quais são desenvolvidos com bastante sucesso em aplicações comerciais de taxas mais elevadas. Portanto, não obstante os aperfeiçoamentos ao longo do tempo, muitos sistemas de codificação CELP que operam em baixas taxas de bits sofrem de distorção perceptivelmente significativa tipicamente caracterizada como ruído.
Existe atualmente um avanço de interesse na pesquisa e uma forte necessidade comercial para se desenvolver um codificador de fala de alta qualidade que opere a taxas de bits de médias para baixas (isto é, na faixa de 2,4 até 4 kbps e abaixo) . As áreas de aplicação incluem telefonia sem fio, comunicações por satélite, telefonia por Internet, diversas aplicações multimídia e de fluxo de voz, correio de voz e outros sistemas de armazenamento de voz. As forças acionadoras são a necessidade quanto a alta capacidade e a demanda para um desempenho sólido face às situações de perda do pacote. Vários esforços recentes na padronização da codificação da fala são outra força direta de acionamento que impulsiona a pesquisa e o desenvolvimento de algoritmos codificadores de fala de baixa taxa. Um codificador de fala de baixa taxa cria mais canais, ou usuários, por largura de banda de aplicação permissível, e um codificador de fala de baixa taxa acoplado com uma camada adicional de um codificador de canal adequado pode ajustar a capacidade total de bits das especificações do codificador e entregar um desempenho sólido sob as condições de erro do canal.
Uma técnica eficaz para codificar a fala eficientemente em baixas taxas de bits é a da codificação multimodo. Uma técnica exemplar de codificação multimodo é descrita no Pedido de Patente Norte-Americana U.S. 09/217.341, intitulado VARIABLE RATE SPEECH CODING, depositado em 21 de dezembro de 1998, cedido para o cessionário da presente invenção, e totalmente incorporado aqui por referência. Os codificadores multimodo convencionais aplicam diferentes modos, ou algoritmos codificadores-decodificadores, para os diferentes tipos de frames de fala de entrada. Cada modo, ou processo de codificação-decodificação é adaptado para representar ao máximo um certo tipo de segmento de fala, tal como, por ex. , fala que contém voz, fala que não contém voz, fala de transição (por ex., entre a que contém voz e a que não contém voz) , e ruido de fundo (não-fala) no modo mais eficiente. Um mecanismo externo de decisão no modo de malha-aberta analisa o frame de fala de entrada e toma uma decisão levando em consideração qual o modo para aplicar ao frame. A decisão no modo de malha-aberta é tipicamente realizada mediante a extração de um número de parâmetros provenientes do frame de entrada, avaliando os parâmetros como as certas características temporais e espectrais, e embasando uma decisão de modo baseado na avaliação.
Os sistemas codificadores que operam a taxas da ordem de 2,4 kbps são geralmente de natureza paramétrica. Isto é, tais sistemas de codificação operam através da transmissão de parâmetros que descrevem o período de pitch e o envelope espectral (ou formantes) do sinal de fala a intervalos regulares. Ilustrativo desse assim chamado codificador paramétrico é o sistema vocoder LP. O modelo vocoder LP é um sinal de fala que contém voz (voiced) com um único pulso por período de pitch. Essa técnica básica pode ser aumentada para incluir informação da transmissão acerca do envelope espectral, dentre outras coisas. Embora os vocoders LP proporcionem razoável performance, geralmente, os mesmos podem introduzir uma distorção perceptivelmente significativa, tipicamente caracterizada como um zumbido (buzz).
Nos anos recentes, têm surgido codificadores que são hibridos de ambos os codificadores de forma de onda e os codificadores paramétricos. Ilustrativo desses assim chamados codificadores hibridos é o sistema de codificação de fala por interpolação da forma de onda protótipo (PWI -Prototype Waveform Interpolation). O sistema de codificação PWI pode ser também conhecido como um codificador de fala de período de pitch protótipo (PPP - Prototype Pitch Period). Um sistema codificador PWI proporciona um método eficiente para a codificação da fala que contém voz. O conceito básico do PWI é o de extrair um ciclo de pitch representativo (a forma de onda protótipo) a intervalos fixados, para transmitir sua descrição, e para reconstruir o sinal de fala mediante a interpolação entre as formas de onda protótipo- O método PWI pode operar tanto sobre o sinal residual LP quanto o sinal de fala. Um codificador de fala PWI ou PPP exemplar é descrito no Pedido de Patente Norte-Americano U.S. 09/217.494, intitulado PERIODIC SPEECH CODING, depositado em 21 de dezembro de 1998, cedido para o cessionário da presente invenção, e totalmente incorporado aqui por referência. Outros codificadores de fala, PWI, ou PPP, são descritos na Patente Norte-Americana U.S. 5.884.253 e W. Bastiaan Kleijn & Wolfgang Granzow "Methods for Waveform Interpolation in Speech Coding, in 1 Digital Signal Processing" 215-230 (1991).
Em codificadores de fala convencionais, a totalidade da informação de fase para cada pitch protótipo em cada frame de fala é transmitida. Todavia, em codificadores de fala de baixa taxa de bits, é desejável conservar a largura de banda o mais ampla possível. Consequentemente, seria vantajoso prover um método de transmissão de menores quantidades de parâmetros de fase. Assim sendo, existe uma necessidade quanto a um codificador de fala que transmita menos informação de fase por frame.
SUMÁRIO DA INVENÇÃO A presente invenção está direcionada a um codificador de fala que transmite menos informação de fase por frame. Consequentemente, em um aspecto da invenção, um método de particionamento do espectro de freqüência de um protótipo de um frame inclui vantajosamente as etapas de divisão do espectro da freqüência em uma pluralidade de segmentos; consignação de uma pluralidade de bandas para cada segmento e estabelecimento, para cada segmento, de um conjunto de larguras de banda para a pluralidade de bandas.
Em um outro aspecto da invenção, um codificador de fala configurado para a partição do espectro de freqüência de um protótipo de um frame inclui vantajosamente meios para dividir o espectro de freqüência em uma pluralidade de segmentos; meios para a consignação de uma pluralidade de bandas para cada segmento e meios para estabelecer, para cada segmento, um conjunto de larguras de banda para a pluralidade de bandas.
Em outro aspecto da invenção, um codificador de fala inclui vantajosamente um extrator de protótipo configurado para extrair um protótipo a partir de um frame que esteja sendo processado pelo codificador de fala; e um quantizador de protótipo acoplado ao extrator de protótipo e configurado para dividir o espectro de freqüência do protótipo em uma pluralidade segmentos, consignar uma pluralidade de bandas para cada segmento e estabelecer, para cada segmento, um conjunto de larguras de banda para a pluralidade de bandas.
BREVE DESCRIÇÃO DOS DESENHOS A Fig. 1 é um diagrama de bloco de um sistema de telefonia sem fio. A Fig. 2 é um diagrama de bloco de um canal de comunicação terminado em cada extremidade pelos codificadores de fala. A Fig. 3 é um diagrama de bloco de um codificador. A Fig. 4 é um diagrama de bloco de um decodificador. A Fig. 5 é um fluxograma ilustrando um processo de decisão de codificação da fala. A Fig. 6A é um gráfico da amplitude do sinal de fala versus tempo, e a Fig. 6B é um gráfico da amplitude do residuo de predição linear (LP) versus tempo. A Fig. 7 é um diagrama de bloco de um codificador de fala de período de pitch protótipo (PPP). A Fig. 8 é um fluxograma ilustrando etapas de algoritmos realizadas por um codificador de fala PPP, tal como o codificador de fala da Fig. 7, para identificar bandas de freqüência em uma representação de séries de Fourier discretas (DFS - Discrete Fourier Series) de um período de pitch protótipo.
DESCRIÇÃO DETALHADA DAS MODALIDADES PREFERIDAS
As modalidades exemplares descritas a seguir consistem em um sistema de comunicação de telefonia sem fio configurado para empregar uma interface aérea CDMA. Não obstante, será entendido por aqueles com conhecimento da arte que um método e equipamento sub-amostral que materializam as características da presente invenção podem residir em qualquer dos vários sistemas de comunicação que empreguem uma ampla faixa de tecnologias conhecidas por aqueles com conhecimento na arte.
Como ilustrado na Fig. 1, um sistema de telefone sem fio CDMA inclui geralmente uma pluralidade de unidades assinantes móveis 10, uma pluralidade de estações base 12, controladores da estação base (BSCs - Base Station Controllers) 14 e um centro de comutação móvel (MSC -Mobile Switching Center) 16. O MSC 16 está configurado para interfacear com uma rede comutada de telefonia pública (PSTN - Public Switch Telephone Network) 18. 0 MSC 16 está também configurado para interfacear com os BSCs 14. Os BSCs 14 estão acoplados às estações base 12 via linhas de canal de transporte de retorno (backhaul). As linhas de canal de transporte de retorno (backhaul) podem ser configuradas para suportar quaisquer das várias interfaces conhecidas; incluindo, por ex., El/Tl, ATM, IP, PPP, Fraiae Relay, HDSL, ADSL, ou xDSL. É entendido que possam existir mais de dois BSCs 14 no sistema. Cada estação base 12 inclui vantajosamente pelo menos um setor (não mostrado), cada setor compreendendo uma antena omnidirecional ou uma antena orientada (pointed) em uma direção particular radialmente distante da estação base 12. De modo alternativo, cada setor pode compreender duas antenas para a diversidade de recepção. Cada estação base 12 pode vantajosamente ser projetada para sustentar uma pluralidade de designações de frequência. A interseção, de um setor e uma designação de freqüência, pode ser referida como um canal CDMA. As estações base 12 podem ser também conhecidas como subsistemas transceptores da estação base (BTSs - Base Station Transceiver Subsystems) 12. De modo alternativo, a "estação base" pode ser usada na indústria para referir coletivamente a um BSC 14 e um ou mais BTSs 12. Os BTSs 12 podem ser também denotados como estações Rádio Base (cell sites) 12. De modo alternativo, os setores individuais de um dado BTS 12 podem ser referidos como estações Rádio Base. As unidades de assinantes móveis 10 são tipicamente telefones celulares ou telefones PCS 10. O sistema é configurado vantajosamente para uso de acordo com o padrão IS-95.
Durante a operação típica do sistema de telefone celular, as estações base 12 recebem conjuntos de sinais de link reverso provenientes dos conjuntos de unidades móveis 10. As unidades móveis 10 são condutoras de chamadas telefônicas ou outras comunicações. Cada sinal de link reverso recebido por uma dada estação base 12 é processado dentro daquela estação base 12. Os dados resultantes são enviados para os BSCs 14. Os BSCs 14 proporcionam a alocação da fonte de chamada e a funcionalidade do gerenciamento da mobilidade incluindo a orquestração dos soft handoffs entre as estações base 12. Os BSCs 14 também roteiam os dados recebidos para o MSC 16, o qual provê serviços adicionais de roteamento para a interface com a PSTN 18. De modo similar, a PSTN 18 interfaceia com o MSC 16, e o MSC 16 interfaceia com os BSCs 14, os quais por sua vez controlam as estações base 12 para transmitir conjuntos de sinais de link de emissão para os conjuntos de unidades móveis 10.
Na Fig. 2, um primeiro codificador 100 recebe amos tias de fala digitalizadas s(n) e codifica as amostras s (n) para a transmissão sobre um meio de transmissão 102, ou canal de comunicação 102, para um primeiro decodificador 104. O decodificador 104 decodifica as amostras de fala codificadas e sintetiza um sinal de fala de saída Ssynth(n) . Para a transmissão na direção oposta, um segundo codificador 106 codifica as amostras de fala digitalizadas s (n) , as quais são transmitidas sobre um canal de comunicação 108. Um segundo decodificador 110 recebe e decodifica as amostras de fala digitalizadas, gerando um sinal de fala de saída sintetizado Ssynth(n) .
As amostras de fala s (n) representam sinais de fala que foram digitalizados e quantizados de acordo com qualquer dos vários métodos conhecidos na arte incluindo, por ex. , modulação por código de pulso (PCM - Pulse Code Modulation), Lei-m comprimida-expandida (companded) ou Lei-A. Como conhecido na arte, as amostras de fala s(n) são organizadas em frames de dados de entrada, onde cada frame compreende um número predeterminado de amostras de fala digitalizadas s(n). Em uma modalidade exemplar, uma taxa de amostragem de 8 kHz é empregada, com cada frame de 2 0 ms compreendendo 160 amostras. Nas modalidades descritas abaixo, a taxa de transmissão de dados pode ser variada vantajosamente em uma base frame-a-frame de 13,2 kbps (taxa total) até 6,2 kbps (taxa meia) até 2,6 kbps (taxa quarta) até 1 kbps (taxa oitava). A variação da taxa de transmissão de dados ê vantajosa porque taxas de bits menores podem ser empregadas seletivamente para frames contendo relativamente menos informação de fala. Como entendido por aqueles com conhecimento da arte, outras taxas de amostragem, tamanhos de frames e taxas de transmissão de dados podem ser usadas. O primeiro codificador 100 e o segundo decodificador 110 juntamente compõem um primeiro codificador de fala, ou codec (codificador-decodificador) de fala. O codificador de fala poderia ser usado em qualquer dispositivo de comunicação para a transmissão de sinais de fala, incluindo por ex. , as unidades assinantes, BTSs, ou BSCs descritas acima com referência à Fig. 1. De modo similar, o segundo codificador 106 e o primeiro decodificador 104 juntamente compõem um segundo codificador de fala. É entendido por aqueles com habilidade na técnica que os codificadores de fala podem ser implementados com um processador de sinal digital (DSP - Digital Signal Processor), um circuito integrado de aplicação especifica (ASIC - Application-Specific Integrated Circuit), lógica de porta discreta, firmware, ou qualquer módulo de software programável convencional, e um microprocessador. O módulo de software poderá residir na memória RAM, memória Flash, registradores, ou qualquer outra forma de meio de armazenamento gravável conhecido na arte. De modo alternativo, qualquer processador convencional, controlador, ou máquina de estado podería ser substituto para o microprocessador. ASICs exemplares projetados especificamente para codificação de fala, são descritos na Patente Norte-Americana U.S. 5.727.123, cedida para os cessionários da presente invenção e totalmente incorporada neste por referência, e o Pedido de Patente Norte-Americana U.S. 08/197.417, intitulada VOCODER ASIC, depositado em 16 de fevereiro de 1994, cedido para os cessionários da presente invenção, e totalmente incorporado neste por referência.
Na Fig. 3 um codificador 200 que pode ser usado em um codificador de fala inclui um módulo de decisão de modo 2 02, um módulo de estimativa de pitch 204, um módulo de análise LP 206, um filtro de análise LP 208, um módulo de quantizaçào LP 210 e um módulo de quantização de resíduo 212. Os frames de fala de entrada s (n) são providos ao módulo de decisão de modo 2 02, módulo de estimativa de pitch 204, módulo de análise LP 206 e filtro de análise LP 208. O módulo de decisão de modo 202 produz um índice de modo IM e um modo M baseado na periodicidade, energia, relação sinal/ruido (SNR - Signal-to-Noise Ratio) , ou taxa de cruzamento de zero, dentre outras características, de cada frame de fala de entrada s (n) . Vários métodos de classificação dos frames de fala de acordo com a periodicidade são descritos na Patente Norte-Americana U.S. 5.911.128, a qual é cedida aos cessionários da presente invenção e totalmente incorporada neste por referência. Tais métodos são também incorporados dentro da Telecommunication Industry Association Industry ínterim Standards TIA/EIA IS-127 e TIA/EIA IS-733. Um esquema exemplar de decisão de modo é também descrito no já mencionado Pedido de Patente Norte-Americana U.S. 09/217.341. O módulo de estimativa de pitch 204 produz um índice de pitch IP e um valor de retardo P0 baseado em cada frame de fala de entrada s (n) . O módulo de análise LP 206 realiza a análise preditiva linear sobre cada frame de fala de entrada s (n) para gerar um parâmetro LP a. O parâmetro LP a é provido ao módulo de quantização LP 210. O módulo de quantização LP 210 também recebe o modo M, por meio do qual realiza o processo de quantização em uma maneira modo-dependente. O módulo de quantização LP 210 produz um índice LP ILP e um parâmetro LP quantizado â. O filtro de análise LP 208 recebe o parâmetro LP quantizado â somado ao frame de fala de entrada s(n). O filtro de análise LP 208 gera um sinal de resíduo LP R[n], o qual representa o erro entre os frames de fala de entrada s (n) e a fala reconstruída com base nos parâmetros preditos lineares quantizados â. O resíduo LP R[n], o modo Meo parâmetro LP quantizado â são providos ao módulo do de quantização resíduo 212. Com base nesses valores, o módulo de quantização do resíduo 212 produz um índice de resíduo IR e um sinal do resíduo quantizado R[n] .
Na Fig. 4 um decodificador 300 que pode ser usado em um codificador de fala inclui um módulo de decodificação de parâmetro LP 302, um módulo de decodificação de resíduo 304 e um módulo de decodif icação de modo 306, e um filtro de síntese LP 308. O módulo de decodificação de modo 306 recebe e decodifica um índice de modo IM, gerando a partir daí um modo Μ. O módulo de decodif icação de parâmetro LP 302 recebe o modo M e um índice LP, ILP. O módulo de decodificação do parâmetro LP 302 decodifica os valores recebidos para produzir um parâmetro LP quantizado â. O módulo decodificador de resíduo 304 recebe um índice de resíduo IR, um índice de pitch IP e o índice de modo IM. O módulo decodificador de resíduo 304 decodifica os valores recebidos para gerar um sinal de resíduo quantizado i?[w]. O sinal de resíduo quantizado «M e o parâmetro LP quantizado â são providos ao filtro de síntese LP 308, o qual sintetiza um sinal de fala de saída decodificado S[n\ à partir dos mesmos. A operação e a implementação dos vários módulos do codificador 200 da Fig. 3 e o decodificador 300 da Fig. 4 são conhecidos na arte e descritos na já mencionada Patente U.S. 5.414.796 e L.B. Rabiner & R.W. Schafer, Digital Processing of Speech Signals 396-453 (1978).
Como ilustrado no fluxograma da Fig. 5, um codificador de fala de acordo com uma modalidade segue um conjunto de etapas no processamento das amostras de fala para a transmissão. Na etapa 400 o codificador de fala recebe as amostras digitais de um sinal de fala em frames sucessivos. Ao receber um dado frame, o codificador de fala prossegue para a etapa 402. Na etapa 402 o codificador de fala detecta a energia do frame. A energia é uma medida da atividade da fala do frame. A detecção da fala é realizada mediante a soma dos quadrados das amplitudes das amostras de fala digitalizadas e a comparação da energia resultante contra um valor limiar. Em uma modalidade o valor limiar se adapta com base no nível de alteração do ruído de fundo.
Um detector exemplar de atividade de fala de limite variável é descrito na já mencionada Patente Norte-Americana U.S. 5.414.796. Alguns dos sons da fala que não contém voz (unvoiced) podem ser amostras de energia extremamente baixas, que podem ser codificadas de forma errada como ruido de fundo. A fim de impedir que isso ocorra, a inclinação espectral das amostras de baixa energia pode ser usada para diferenciar a fala que não contém voz do ruido de fundo, como descrito na Patente Norte-Americana U.S. 5.414.796 já mencionada anteriormente.
Após detectar a energia do frame, o codificador de fala prossegue para a etapa 404. Na etapa 404 o codificador de fala determina se a energia do frame detectada é suficiente para classificar o frame como contendo informação de fala. Se a energia do frame detectada cair abaixo de um nível limite predefinido, o codificador de fala prossegue para a etapa 406. Na etapa 406 o codificador de fala codifica o frame como ruido de fundo (isto é não-fala, ou silêncio) . Em uma modalidade o frame de ruído de fundo é codificado a uma taxa 1/8, ou 1 kbps. Se na etapa 404 a energia do frame detectada alcançar ou superar o nível limite predefinido, o frame é classificado como fala e o codificador de fala prossegue para a etapa 408.
Na etapa 408 o codificador de fala determina se o frame é de fala que não contém voz, isto é, o codificador de fala examina a periodicidade do frame. Vários métodos conhecidos de determinação da periodicidade incluem, por ex. , o uso de cruzamentos de zero e o uso de funções de auto-correlação normalizadas (NACFs - Normalized Autocorrelation Functions). Mais especificamente, o uso de cruzamentos de zero e NACFs para detectar periodicidade é descrito na anteriormente mencionada Patente Norte- Americana U.S. 5.911.128 e no Pedido de Patente Norte-Americano U.S. 09/217.341. Adicionalmente, os métodos acima usados para distinguir fala que contém voz da fala que não contém voz são incorporados dentro da Telecommunication Industry Association Industry ínterim Standards TIA/EIA IS-127 e TIA/EIA IS-733. Se o frame for definido como sendo fala que não contém voz na etapa 408, o codificador de fala prossegue para a etapa 410. Na etapa 410 o codificador de fala codifica o frame como uma fala que não contém voz. Em uma modalidade, frames de fala que não contém voz são codificados a uma taxa quarta, ou 2,6 kbps. Se na etapa 408 o frame não for definido como sendo fala que não contém voz, o codificador de fala prossegue para a etapa 412.
Na etapa 412 o codificador de fala determina se o frame é de fala de transição, usando métodos de detecção de periodicidade que são conhecidos na arte, como descrito em, por ex., na anteriormente citada Patente Norte-Americana U.S. 5.911.128. Se o frame for definido como sendo fala de transição, o codificador de fala prossegue para a etapa 414. Na etapa 414 o frame é codificado como fala de transição (isto é, transição de uma fala que não contém voz para'uma fala que contém voz). Em uma modalidade o frame de fala de transição é codificado de acordo com um método de codificação interpolativa por multipulso descrito no Pedido de Patente Norte-Americano U.S. 09/307.294, intitulado MULTIPULSE INTERPOLATIVE CODING OF TRANSITION SPEECH FRAMES, depositado em 7 de maio de 1999, cedido para os cessionários da presente invenção, e totalmente incorporado neste por referência. Em uma outra modalidade o frame de fala de transição é codificado a taxa total, ou 13,2 kbps.
Se na etapa 412 o codificador de fala determinar que o frame não é de fala de transição, o codificador de fala prossegue para a etapa 416. Na etapa 416 o codificador de fala codifica o frame como fala que contém voz. Em uma modalidade os frames de fala que contém voz podem ser codificados a taxa meia, ou 6,2 kbps. É também possível codificar os frames de fala que contém voz na taxa total, ou 13,2 kbps (ou taxa total, 8 kbps, em um codificador CELP de 8k) . Aqueles com conhecimento da arte irão notar, todavia, que a codificação de frames que contém voz a taxa meia permite ao codificador economizar valiosa largura de banda mediante a exploração da natureza de estado estacionário dos frames que contém voz. Além disso, a despeito da taxa usada para codificar a fala que contém voz, a fala que contém voz é vantajosamente codificada usando informação proveniente dos frames passados, e é portanto, dita estar codificada preditivamente.
Aqueles com conhecimento irão notar que tanto o sinal de fala quanto o correspondente resíduo LP pode ser codificado mediante o seguimento das etapas mostradas na Fig. 5. As características da forma de onda do ruído, da fala que não contém voz, de transição e da que contém voz podem ser vistas como uma função do tempo no gráfico da Fig. 6A. As características da forma de onda do ruído, do resíduo que não contém voz, do de transição e do resíduo que contém voz podem ser vistos como uma função do tempo no gráfico da Fig. 6B.
Em uma modalidade, um codificador de fala de período de pitch protótipo (PPP) 500 inclui um filtro inverso 502, um extrator protótipo 504, um quantizador protótipo 506, um dequantizador protótipo 508, um módulo de interpolação/síntese 510 e um módulo de síntese LPC 512, como ilustrado na Fig. 7. O codificador de fala 500 pode ser implementado vantajosamente como parte de um DSP, e pode residir em, por ex., uma unidade assinante ou estação base em um sistema de telefone PCS ou celular, ou em uma unidade assinante ou Gateway em um sistema de satélite.
No codificador de fala 500, um sinal de fala digitalizado s (n) , onde n é o número do frame, é provido para o filtro LP inverso 502. Em uma modalidade particular, o comprimento do frame é de vinte ms. A função de transferência do filtro inverso A(z) é computada de acordo com a seguinte equação: A (z) = 1 - aiZ-1 - a2s-2 apz“p , onde os coeficientes a± são derivações (tap) de filtro possuindo valores predefinidos escolhidas de acordo com métodos conhecidos, como descrito na anteriormente mencionada Patente Norte-Americana U.S. 5.414.796 e o Pedido de Patente Norte-Americano U.S. 09/217.494, ambas anteriormente totalmente incorporadas neste por referência. 0 número p indica o número de amostras anteriores que o filtro LP inverso 502 usa para os propósitos de predição. Em uma modalidade em particular, p é ajustado para dez. O filtro inverso 502 proporciona um sinal residual LP r(n) ao extrator protótipo 504. O extrator protótipo 504 extrai um protótipo do frame atual. O protótipo é uma parte do frame atual que será linearmente interpolado por meio do módulo de interpolação/sintese 510 com os protótipos provenientes dos frames anteriores que foram similarmente posicionados dentro do frame a fim de reconstruir o sinal residual LP no decodificador. O extrator protótipo 504 proporciona o protótipo ao quantizador protótipo 506, o qual pode quantizar o protótipo de acordo com qualquer das várias técnicas de quantização que são conhecidas na arte. Os valores quantizados, os quais podem ser obtidos a partir de uma tabela de procura (não mostrada), são montados em um pacote, o qual inclui retardamento e outros parâmetros de livro código, para a transmissão sobre o canal. O pacote é provido a um transmissor (não mostrado) e transmitido sobre o canal até um receptor (também não mostrado) . O filtro LP inverso 502, o extrator protótipo 504 e o quantizador protótipo 506 são ditos terem realizado a análise PPP sobre o frame atual. 0 receptor recebe o pacote e provê o pacote ao dequantizador protótipo 508. O dequantizador protótipo 508 pode dequantizar o pacote de acordo com qualquer das várias técnicas conhecidas. 0 dequantizador protótipo 508 provê o protótipo dequantizado ao módulo de interpolação/sintese 510. O módulo de interpolação/sintese 510 interpola o protótipo com os protótipos provenientes dos frames anteriores que foram similarmente posicionados dentro do frame a fim de reconstruir o sinal residual LP para o frame atual. A interpolação e a síntese do frame são vantajosamente realizadas de acordo com métodos conhecidos descritos na Patente Norte-Americana U.S. 5.884.253 e no já mencionado Pedido Norte-Americano U.S. 09/217.494. O módulo de interpolação/sintese 510 provê o sinal residual LP reconstruído r[«] ao módulo de síntese LPC 512. O módulo de síntese LPC 512 também recebe os valores do par de linha espectral (LSP - Line Spectral Pair) provenientes do pacote transmitido, os quais são usados para realizar a filtragem LPC sobre o sinal residual LP reconstruído r\n\ para criar o sinal de fala reconstruído >?[«] para o frame atual. Em uma modalidade alternativa, a síntese LPC do sinal de fala s[«] pode ser realizada para o protótipo antes de se fazer a interpolação/sintese do frame atual. O dequantizador protótipo 508, o módulo de interpolação/síntese 510 e o módulo de síntese LPC 512 são ditos terem realizado a síntese PPP do frame atual.
Em uma modalidade um codificador de fala PPP, tal como o codificador de fala 500 da Fig. 7, identifica um número de bandas de frequência, B, para os quais os deslocamentos de fase linear B deverão ser computados. As fases podem ser vantajosamente sub-amostradas de modo inteligente antes da quantização de acordo com métodos e equipamentos descritos em um Pedido de Patente Norte-Americano U.S. depositado neste intitulado METHOD AND APPARATUS FOR SUBSAMPLING PHASE SPECTRUM INFORMATION, o qual é cedido para os cessionários da presente invenção. O codificador de fala pode particionar vantajosamente o vetor das séries de Fourier discreta (DFS) do protótipo do frame sendo processado na forma de pequeno número de bandas com largura variável dependendo da importância das amplitudes harmônicas na DFS completa, reduzindo desse modo proporcionalmente a quantização requerida. A banda de frequência completa de 0 Hz até Fm Hz (Fm sendo a freqüência máxima do protótipo que está sendo processado) é dividida na forma de L segmentos. Existe assim um número de harmônicos, M, tal que M é igual a Fm/Fo, onde Fo Hz é a freqüência fundamental. Conseqüentemente, o vetor DFS para o protótipo, com o constituinte vetor de amplitude e o vetor de fase, possui M elementos. O codificador de fala pré-aloca bandas bl, b2, b3,...,bL para os L segmentos, de modo que bl+b2+b3+...+bL seja igual a B, o número total de bandas requeridas. Conseqüentemente, existem bandas bl no primeiro segmento, bandas b2 no segundo segmento, etc., bandas bL no L° segmento e B bandas na banda total de freqüência. Em uma modalidade, a banda completa de freqüência é de zero até 4000 Hz, a faixa da voz humana falada.
Em uma modalidade bandas bi são uniformemente distribuídas no i° segmento dos L segmentos. Este processo é realizado mediante a divisão da banda de freqüência no i° segmento na forma de bi partes iguais. Conseqüentemente, o primeiro segmento é dividido em bandas bl iguais, o segundo segmento é dividido em bandas b2 iguais, etc. e o L° segmento é dividido na forma de bandas bL iguais.
Em uma modalidade alternativa, um conjunto fixo de margens de banda não-uniformemente colocadas é escolhido para cada uma das bandas bi no i° segmento. Este processo é realizado mediante a escolha de um conjunto arbitrário de bandas bi ou através da obtenção de uma média geral do histograma de energia ao longo do i° segmento. Uma alta concentração de energia pode requerer uma banda estreita, e uma baixa concentração de energia pode usar uma banda mais larga. Conseqüentemente, o primeiro segmento é dividido na forma de bandas bl fixas, não-iguais, o segundo segmento é dividido na forma de bandas b2 fixas, desiguais, etc. e o L° segmento é dividido na forma de bandas bL fixas, desiguais.
Em uma modalidade alternativa, um conjunto variável de margens de bandas é escolhido para cada uma das bandas bi em cada sub-banda. Este processo é realizado mediante a iniciação com uma largura-alvo de bandas igual a um valor razoavelmente baixo, Fb Hz. As etapas a seguir são em seguida realizadas. Um contador, n, é ajustado para um. O vetor de amplitude é em seguida procurado para encontrar a freqüência, Fbm Hz, e o correspondente número harmônico, mb (o qual é igual a Fbm/Fo) do mais alto valor de amplitude. Essa busca é realizada excluindo as bandas cobertas pela totalidade das margens de bandas anteriormente ajustadas (correspondente às interações 1 até n-1) . As margens de banda para a n-ésima banda dentre as bandas bi são em seguida ajustadas para mb-Fb/Fo/2 e mb+Fb/Fo/2 em número harmônico, e, respectivamente, para Fmb-Fb/2 e Fmb+Fb/2 em Hz. O contador n é então incrementado, e as etapas de busca do vetor de amplitude e do ajustamento das margens (edges-limites) de bandas são repetidas até que a contagem n supere bi. Consequentemente, o primeiro segmento é dividido em bandas bl variadas, desiguais, o segundo seguimento é dividido em bandas b2 variadas, desiguais, etc., e o L-ésimo segmento é dividido na forma de bandas bL variadas, desiguais.
Na modalidade descrita imediatamente acima, as bandas são adicionalmente refinadas para remover quaisquer intervalos entre margens de banda adjacente. Em uma modalidade, tanto a margem (edge-limite) da banda direita da banda de freqüência mais baixa quanto a margem da banda esquerda da banda de freqüência imediatamente superior são prolongadas para atingir o meio do intervalo entre as duas margens (onde uma primeira banda localizada à esquerda de uma segunda banda é mais baixa em freqüência do que a segunda banda) . Um modo de realizar isto é o de ajustar as duas margens da banda aos seus valores médios em Hz (e números harmônicos correspondentes). Em uma modalidade alternativa, ou a margem da banda direita da banda de freqüência mais baixa ou a margem de banda esquerda da banda de freqüência imediatamente superior é ajustada igual à outra em Hz (ou é ajustada para um número harmônico adjacente ao número harmônico da outra). A equalização das margens de banda podería se tornar dependente do conteúdo de energia na terminação da banda com a margem da banda direita e o início da banda com a margem da banda esquerda. A margem de banda correspondente â banda que possui maior energia podería permanecer inalterada enquanto a margem da outra banda deveria ser alterada. De modo alternativo, a margem de banda correspondente à banda que possui maior localização de energia em seu centro podería ser alterada enquanto a margem da outra banda seria inalterada. Em uma modalidade alternativa, tanto a margem da banda direita acima descrita quanto a margem da banda esquerda acima descrita são movidas em uma distância desigual (em Hz e número harmônico) , com uma relação de x para y, onde x e y são as energias de banda da banda que começa com a margem da banda esquerda e da banda que termina com a margem de banda direita, respectivamente. De modo alternativo, x e y poderão ser a relação de energia no centro harmônico da energia total da banda que termina com a margem da banda direita e a relação de energia no centro harmônico em relação à energia total da banda que começa com a margem da banda esquerda, respectivamente.
Em uma modalidade alternativa, bandas uniformemente distribuídas poderão ser usadas em alguns dos segmentos L do vetor DFS, bandas fixas não-uniformemente distribuídas poderão ser usadas em outros dos segmentos L do vetor DFS e bandas variáveis, não-uniformemente distribuídas poderão ser usadas ainda em outros segmentos L do vetor DFS.
Em uma modalidade um codificador de fala PPP, tal como o codificador de fala 500 da Fig. 7, realiza as etapas de algoritmos ilustradas no fluxograma da Fig. 8 para identificar as bandas de freqüência em uma representação de séries de Fourier discreta (DFS) de um período de pitch protótipo. As bandas são identificadas com o propósito de computar alinhamentos ou deslocamentos de fase linear sobre as bandas a respeito da DFS de um protótipo referência.
Na etapa 600 o codificador de fala começa o processo de identificar as bandas de freqüência. O codificador de fala em seguida prossegue até a etapa 602.
Na etapa 602 o codificador de fala computa a DFS do protótipo na freqüência fundamental, Fo. O codificador de fala em seguida prossegue até a etapa 604. Na etapa 604 o codificador de fala divide a banda de freqüência em segmentos L. Em uma modalidade a banda de freqüência é de zero até 4000 Hz, a faixa da voz humana falada. O codificador de fala então prossegue até a etapa 606.
Na etapa 606 o codificador de fala aloca bandas bL para os segmentos L tal que bl+b2+...+bL seja igual ao número total de bandas, B, para as quais o deslocamento de fase linear B será computado. O codificador de fala então prossegue para a etapa 608. Na etapa 608, o codificador de fala ajusta uma contagem de seguimento i igual a um. O codificador de fala então prossegue até a etapa 610. Na etapa 610 o codificador de fala 610 escolhe um método de alocação para a distribuição de bandas em cada segmento. 0 codificador de fala em seguida prossegue até a etapa 612.
Na etapa 612 o codificador de fala determina se o método de alocação de banda da etapa 610 tem a função de distribuir as bandas uniformemente no segmento. Se o método de alocação de banda da etapa 610 tiver a função de distribuir as bandas de modo uniforme no segmento, o codificador de fala prossegue até a etapa 614. Se, por outro lado, o método de alocação de banda da etapa 610 não tiver a função de distribuir as bandas uniformemente no segmento, o codificador de fala prossegue para a etapa 616.
Na etapa 614 o codificador de fala divide o i° segmento em bandas bi iguais. O codificador de fala em seguida prossegue até a etapa 618. Na etapa 618 o codificador de fala incrementa a contagem de segmento i. O codificador de fala em seguida prossegue para a etapa 620. Na etapa 620 o codificador de fala determina se a contagem de segmento i é maior que L. Se a contagem de segmento i for maior que L, o codificador de fala prossegue para a etapa 622. Se, por outro lado, a contagem de segmento i não for maior que L, o codificador de fala retorna para a etapa 610 para escolher o método de alocação de banda para o próximo segmento. Na etapa 622 o codificador de fala se libera do algoritmo de identificação de banda.
Na etapa 616 o codificador de fala determina se o método de alocação de banda da etapa 610 tem a função de distribuir as bandas fixas, não-uniformemente no segmento. Se o método de alocação de banda da etapa 610 tem a função de distribuir as bandas fixas, não-uniformemente no segmento, o codificador de fala prossegue até a etapa 624. Se, por outro lado, o método de alocação de banda da etapa 610 não tiver a função de distribuir as bandas fixas, não-uni f ormemente no segmento, o codificador de fala prossegue para a etapa 626.
Na etapa 624 o codificador de fala divide o i° segmento em bandas bi não-iguais pré-ajustadas. Isso poderá ser realizado usando métodos descritos acima. O codificador de fala em seguida prossegue para a etapa 618, incrementando a contagem de segmento i e continuando com a alocação de banda para cada segmento até que as bandas sejam alocadas ao longo da totalidade da banda de frequência.
Na etapa 62 6 o codificador de fala ajusta uma contagem de banda n igual a um, e ajusta uma largura de banda inicial igual a Fb Hz. O codificador de fala em seguida prossegue para a etapa 628. Na etapa 628 o codificador de fala exclui as amplitudes para as bandas na faixa de um até n-1. O codificador de fala em seguida prossegue para a etapa 630. Na etapa 630 o codificador de fala seleciona os vetores de amplitude restantes. O codificador de fala em seguida prossegue para a etapa 632.
Na etapa 632 o codificador de fala determina a posição da banda que possui o maior numero harmônico, mb. O codificador de fala em seguida prossegue para a etapa 634. Na etapa 634 o codificador de fala ajusta as margens da banda em torno de mb tal que o número total de harmônicos contidos entre as margens de banda seja igual a Fb/Fo. O codificador de fala em seguida prossegue para a etapa 636.
Na etapa 636, o codificador de fala move as margens de bandas das bandas adjacentes para preencher os intervalos entre as bandas. 0 codificador de fala em seguida prossegue para a etapa 638. Na etapa 638 o codificador de fala incrementa a contagem de banda η. O codificador de fala em seguida prossegue para a etapa 640. Na etapa 640 o codificador de fala determina se a contagem de banda n é maior do que bi. Se a contagem de banda n for maior do que bi, o codificador de fala prossegue para a etapa 618, incrementando a contagem de segmento i e continua com a alocação de banda para cada segmento até que as bandas sejam alocadas ao longo da totalidade da banda de freqüência. Se, por outro lado, a contagem de banda n não for maior do que bi, o codificador de fala retorna para a etapa 628 para estabelecer a largura para a próxima banda no segmento.
Assim, um novo método e equipamento para a identificação de bandas de freqüência para computar deslocamentos de fase linear entre protótipos de frames em um codificador de fala foram descritos. Aqueles com conhecimento da arte irão entender que vários blocos lógicos ilustrativos e etapas de algoritmos descritas em conexão com as modalidades aqui reveladas podem ser implementados ou realizados com um processador de sinal digital (DSP), um circuito integrado de aplicação especifica (ASIC), porta discreta ou lógica de transistor, componentes discretos de hardware; tais como, por ex., registradores e FIFO, um processador que executa um conjunto de instruções de firmware, ou qualquer módulo de software programável convencional, e um processador. O processador pode ser vantajosamente um microprocessador, mas na alternativa, o processador pode ser qualquer processador, controlador, micro-controlador, ou máquina de estado convencionais. O módulo de software poderá residir na memória RAM, memória Flash, registradores, ou quaisquer outras formas de meio de armazenamento gravável conhecido na arte. Aqueles com conhecimento da arte poderão notar ainda que os dados, instruções, comandos, informações, sinais, bits, símbolos e chips que possam ser referenciadas ao longo da descrição acima são vantajosamente representadas por tensões, correntes, ondas eletromagnéticas, campos ou partículas magnéticas, campos ou partículas óticas, qualquer combinação delas provenientes.
As modalidades preferidas da presente invenção foram assim mostradas e descritas. Será evidente para aqueles com usual conhecimento da arte, entretanto, que numerosas alterações podem ser feitas às modalidades aqui reveladas sem se desviar do espírito ou escopo da invenção. Portanto, a presente invenção não está limitada, exceto de acordo com as reivindicações a seguir.
REIVINDICAÇÕES

Claims (19)

1. Método para dividir o espectro de freqüência de um protótipo de um frame, compreendendo as etapas de: dividir (604) o espectro de freqüência em uma pluralidade de segmentos; designar (606) uma pluralidade de bandas para cada segmento; estabelecer, para cada segmento, um conjunto de larguras de banda para a pluralidade de bandas; o método é CARACTERIZADO pelo fato de que: estabelecer compreende alocar (626 a 640) larguras de banda variáveis para a pluralidade de bandas em um segmento especifico, em que alocar compreende as etapas de: ajustar (626) uma largura de banda alvo; buscar (628 a 632), para cada banda, um vetor de amplitude do protótipo para determinar o número harmônico máximo na banda, excluindo da busca, alcances cobertos por quaisquer limites de banda previamente estabelecidos; posicionar (634), para cada banda, os limites de banda em torno do número harmônico máximo de forma que o número total de harmônicos localizados entre os limites de banda seja igual à largura de banda alvo dividida pela freqüência fundamental; e remover (636) as distâncias entre os limites de banda adjacentes.
2. Método, de acordo com a reivindicação 1, CARACTERI ZADO pelo fato de que a etapa de estabelecer compreende a etapa de alocar (614) larguras de banda fixas e uniformes, à totalidade das bandas em um segmento especifico.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de estabelecer compreende a etapa de alocar (624) larguras de banda fixas, não uniformes, à pluralidade de bandas em um segmento especifico.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a etapa de alocar compreende a etapa de variar a largura de banda inversamente com relação a concentração de energia nas bandas.
5. Método, de acordo com a reivindicação 1, CARACTERI ZADO pelo fato de que a etapa de remover (636) compreende a etapa de ajustar, para cada distância, os limites de banda adjacentes incluindo a distância igual ao valor de freqüência médio dos dois limites de banda adj acentes.
6. Método, de acordo com a reivindicação 1, CARACTERI ZADO pelo fato de que a etapa de remover (636) compreende a etapa de ajustar, para cada distância, o limite de banda adjacente que corresponda à banda com menor energia igual ao valor de freqüência do limite de banda adjacente que corresponda à banda com maior energia.
7. Método, de acordo com a reivindicação 1, CARACTERI ZADO pelo fato de que a etapa de remover (636) compreende a etapa de ajustar, para cada distância, o limite de banda adjacente que corresponda à banda com maior localização de energia no centro da banda igual ao valor de freqüência do limite de banda adjacente que corresponda à banda com menor localização de energia no centro da banda.
8. Método, de acordo com a reivindicação 1, CARACTERI ZADO pelo fato de que a etapa de remover (636) compreende a etapa de ajustar, para cada distância, os valores de freqüência dos dois limites de banda adjacentes, o valor de freqüência do limite de banda adjacente correspondendo à banda que possua freqüências maiores sendo ajustada com relação ao ajuste do valor de freqüência do limite de banda adjacente que possua freqüências menores por uma relação de x para y, onde x é a energia de banda da banda adjacente que possua freqüências maiores, e y é a energia de banda da banda adjacente que possua freqüências menores.
9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de remover (636) compreende a etapa de ajustar, para cada distância, os valores de freqüência dos dois limites de banda adjacentes, o valor de freqüência do limite de banda adjacente correspondendo à banda que possua freqüências maiores sendo ajustada com relação ao ajuste do valor de freqüência do limite de banda adjacente que possui freqüências menores por uma relação de x para y, onde x é a relação da energia no harmônico central da banda adjacente que possua freqüências menores para a energia total da banda adjacente que possua freqüências menores e y é a relação da energia no harmônico central da banda adjacente que possua freqüências maiores para a energia total da banda adjacente que possui freqüências maiores.
10. Codificador de fala configurado para dividir o espectro de freqüência de um protótipo de um frame, compreendendo: dispositivo para dividir (604) o espectro de freqüência em uma pluralidade de segmentos; dispositivo para designar (606) uma pluralidade de bandas para cada segmento; e dispositivo para estabelecer, para cada segmento, um conjunto de larguras de banda para a pluralidade de bandas; o codificador de fala é CARACTERIZADO pelo fato de que: o dispositivo para estabelecer compreende o dispositivo para alocar {626 a 640) larguras de banda variáveis para a pluralidade de bandas em um segmento especifico, em que o dispositivo para alocar compreende: dispositivo para ajustar (626) uma largura de banda alvo; dispositivo para buscar (628 a 632), para cada banda, um vetor de amplitude do protótipo para determinar o número harmônico máximo na banda, excluindo da busca, alcances cobertos por quaisquer limites de banda previamente estabelecidos; dispositivo para posicionar (634), para cada banda, os limites de banda em torno do número harmônico máximo de forma que o número total de harmônicos localizados entre os limites de banda seja igual à largura de banda alvo dividida pela freqüência fundamental; e dispositivo para remover (636) as distâncias entre os limites de banda adjacentes.
11. Codificador de fala, de acordo com a reivindicação 10, CARACTERI ZADO pelo fato de que o dispositivo para estabelecer compreende o dispositivo para alocar (614) larguras de banda fixas e uniformes, à totalidade das bandas em um segmento especifico.
12. Codificador de fala, de acordo com a reivindicação 10, CARACTERI ZADO pelo fato de que o dispositivo para estabelecer compreende o dispositivo para alocar (624) larguras de banda fixas, não uniformes, à pluralidade de bandas em um segmento especifico.
13. Codificador de fala, de acordo com a reivindicação 12, CARACTERI ZADO pelo fato de que o dispositivo para alocar compreende o dispositivo para variar a largura de banda inversamente à concentração de energia nas bandas.
14. Codificador de fala, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o dispositivo para remover (636) compreende o dispositivo para ajustar, para cada distância, os limites de banda adjacentes incluindo a distância igual ao valor de freqüência médio dos dois limites de banda adjacentes.
15. Codificador de fala, de acordo com a reivindicação 10, CARACTERI ZADO pelo fato de que o dispositivo para remover (636) compreende o dispositivo para ajustar, para cada distância, o limite de banda adjacente que corresponda à banda com menor energia igual ao valor de freqüência do limite de banda adjacente que corresponda à banda com maior energia.
16. Codificador de fala, de acordo com a reivindicação 10, CARACTERI ZADO pelo fato de que o dispositivo para remover (636) compreende o dispositivo para ajustar, para cada distância, o limite de banda adjacente que corresponda à banda com maior localização de energia no centro da banda igual ao valor de freqüência do limite de banda adjacente que corresponda à banda com menor localização de energia no centro da banda.
17. Codificador de fala, de acordo com a reivindicação 10, CARACTERI ZADO pelo fato de que o dispositivo para remover (636) compreende o dispositivo para ajustar, para cada distância, os valores de freqüência dos dois limites de banda adjacentes, o valor de freqüência do limite de banda adjacente correspondendo à banda que possua freqüências maiores sendo ajustada com relação ao ajuste do valor de freqüência do limite de banda adjacente que possua freqüências menores por uma relação de x para y, onde x é a energia de banda da banda adjacente que possua freqüências maiores, e y é a energia de banda da banda adjacente que possua freqüências menores.
18. Codificador de fala, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o dispositivo para remover compreende o dispositivo para ajustar, para cada distância, os valores de freqüência dos dois limites de banda adjacentes, o valor de freqüência do limite de banda adjacente correspondendo à banda que possua freqüências maiores sendo ajustada com relação ao ajuste do valor de freqüência do limite de banda adjacente que possui freqüências menores por uma relação de x para y, onde x é a relação da energia no harmônico central da banda adjacente que possua freqüências menores para a energia total da banda adjacente que possua freqüências menores e y é a relação da energia no harmônico central da banda adjacente que possua freqüências maiores para a energia total da banda adjacente que possui freqüências maiores.
19. Codificador de fala, de acordo com a reivindicação 10, CARACTERI ZADO pelo fato de que o codificador de fala reside em uma unidade de assinante (10) de um sistema de comunicação sem fio.
BRPI0012543A 1999-07-19 2000-07-18 método e codificador de fala para dividir o espectro de freqüência de um protótipo de um frame BRPI0012543B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/356,861 US6434519B1 (en) 1999-07-19 1999-07-19 Method and apparatus for identifying frequency bands to compute linear phase shifts between frame prototypes in a speech coder
PCT/US2000/019603 WO2001006494A1 (en) 1999-07-19 2000-07-18 Method and apparatus for identifying frequency bands to compute linear phase shifts between frame prototypes in a speech coder

Publications (2)

Publication Number Publication Date
BR0012543A BR0012543A (pt) 2003-07-01
BRPI0012543B1 true BRPI0012543B1 (pt) 2016-08-02

Family

ID=23403272

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0012543A BRPI0012543B1 (pt) 1999-07-19 2000-07-18 método e codificador de fala para dividir o espectro de freqüência de um protótipo de um frame

Country Status (17)

Country Link
US (1) US6434519B1 (pt)
EP (1) EP1222658B1 (pt)
JP (1) JP4860860B2 (pt)
KR (1) KR100756570B1 (pt)
CN (1) CN1271596C (pt)
AT (1) ATE341073T1 (pt)
AU (1) AU6353700A (pt)
BR (1) BRPI0012543B1 (pt)
CA (1) CA2380992A1 (pt)
DE (1) DE60030997T2 (pt)
ES (1) ES2276690T3 (pt)
HK (1) HK1058427A1 (pt)
IL (1) IL147571A0 (pt)
MX (1) MXPA02000737A (pt)
NO (1) NO20020294L (pt)
RU (1) RU2002104020A (pt)
WO (1) WO2001006494A1 (pt)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002013183A1 (fr) * 2000-08-09 2002-02-14 Sony Corporation Procede et dispositif de traitement de donnees vocales
KR100383668B1 (ko) * 2000-09-19 2003-05-14 한국전자통신연구원 시간 분리 부호화 알고리즘을 이용한 음성 부호화기 및부호화 방법
US7386444B2 (en) * 2000-09-22 2008-06-10 Texas Instruments Incorporated Hybrid speech coding and system
JP2004522198A (ja) * 2001-05-08 2004-07-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 音声符号化方法
US7333929B1 (en) 2001-09-13 2008-02-19 Chmounk Dmitri V Modular scalable compressed audio data stream
US7275084B2 (en) * 2002-05-28 2007-09-25 Sun Microsystems, Inc. Method, system, and program for managing access to a device
US7130434B1 (en) 2003-03-26 2006-10-31 Plantronics, Inc. Microphone PCB with integrated filter
US20050091044A1 (en) * 2003-10-23 2005-04-28 Nokia Corporation Method and system for pitch contour quantization in audio coding
US20050091041A1 (en) * 2003-10-23 2005-04-28 Nokia Corporation Method and system for speech coding
WO2006030754A1 (ja) * 2004-09-17 2006-03-23 Matsushita Electric Industrial Co., Ltd. オーディオ符号化装置、復号化装置、方法、及びプログラム
FR2884989A1 (fr) * 2005-04-26 2006-10-27 France Telecom Procede d'adaptation pour une interoperabilite entre modeles de correlation a court terme de signaux numeriques.
US7548853B2 (en) * 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
DE102007023683A1 (de) * 2007-05-22 2008-11-27 Cramer, Annette, Dr. Verfahren zur individuellen und gezielten Klangbeaufschlagung einer Person und Vorrichtung zur Durchführung des Verfahrens
CN102724518B (zh) * 2012-05-16 2014-03-12 浙江大华技术股份有限公司 一种高清视频信号传输方法与装置
US9224402B2 (en) * 2013-09-30 2015-12-29 International Business Machines Corporation Wideband speech parameterization for high quality synthesis, transformation and quantization

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL76283A0 (en) * 1985-09-03 1986-01-31 Ibm Process and system for coding signals
JPH0364800A (ja) * 1989-08-03 1991-03-20 Ricoh Co Ltd 音声符号化及び復号化方式
EP0525809B1 (en) * 1991-08-02 2001-12-05 Sony Corporation Digital encoder with dynamic quantization bit allocation
US5884253A (en) * 1992-04-09 1999-03-16 Lucent Technologies, Inc. Prototype waveform speech coding with interpolation of pitch, pitch-period waveforms, and synthesis filter
DE4316297C1 (de) * 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
US5574823A (en) 1993-06-23 1996-11-12 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Communications Frequency selective harmonic coding
US5668925A (en) * 1995-06-01 1997-09-16 Martin Marietta Corporation Low data rate speech encoder with mixed excitation
US5684926A (en) 1996-01-26 1997-11-04 Motorola, Inc. MBE synthesizer for very low bit rate voice messaging systems
FR2766032B1 (fr) 1997-07-10 1999-09-17 Matra Communication Codeur audio
JPH11224099A (ja) * 1998-02-06 1999-08-17 Sony Corp 位相量子化装置及び方法

Also Published As

Publication number Publication date
DE60030997D1 (de) 2006-11-09
KR20020033736A (ko) 2002-05-07
NO20020294D0 (no) 2002-01-18
BR0012543A (pt) 2003-07-01
RU2002104020A (ru) 2003-08-27
EP1222658A1 (en) 2002-07-17
DE60030997T2 (de) 2007-06-06
MXPA02000737A (es) 2002-08-20
CN1451154A (zh) 2003-10-22
AU6353700A (en) 2001-02-05
NO20020294L (no) 2002-02-22
CN1271596C (zh) 2006-08-23
KR100756570B1 (ko) 2007-09-07
EP1222658B1 (en) 2006-09-27
CA2380992A1 (en) 2001-01-25
JP2003527622A (ja) 2003-09-16
WO2001006494A1 (en) 2001-01-25
US6434519B1 (en) 2002-08-13
HK1058427A1 (en) 2004-05-14
ATE341073T1 (de) 2006-10-15
IL147571A0 (en) 2002-08-14
ES2276690T3 (es) 2007-07-01
JP4860860B2 (ja) 2012-01-25

Similar Documents

Publication Publication Date Title
US6584438B1 (en) Frame erasure compensation method in a variable rate speech coder
EP1279167B1 (en) Method and apparatus for predictively quantizing voiced speech
CA2658560C (en) Systems and methods for modifying a window with a frame associated with an audio signal
EP1214705B1 (en) Method and apparatus for maintaining a target bit rate in a speech coder
BRPI0012542B1 (pt) Método para quantizar informações espectrais em um codificador de fala, bem como, codificador de fala
BRPI0012543B1 (pt) método e codificador de fala para dividir o espectro de freqüência de um protótipo de um frame
US6678649B2 (en) Method and apparatus for subsampling phase spectrum information
BRPI0012540B1 (pt) codificador de fala, e método para quantização vetorial de um vetor de informações de linhas espectrais de um quadro
CA2671881C (en) Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 02/08/2016, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 20A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2594 DE 24-09-2020 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.