BRPI0715516A2 - sistemas, mÉtodos e equipamentos para limitar fator de ganho - Google Patents
sistemas, mÉtodos e equipamentos para limitar fator de ganho Download PDFInfo
- Publication number
- BRPI0715516A2 BRPI0715516A2 BRPI0715516-6A2A BRPI0715516A BRPI0715516A2 BR PI0715516 A2 BRPI0715516 A2 BR PI0715516A2 BR PI0715516 A BRPI0715516 A BR PI0715516A BR PI0715516 A2 BRPI0715516 A2 BR PI0715516A2
- Authority
- BR
- Brazil
- Prior art keywords
- signal
- gain factor
- index
- value
- quantization
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000005284 excitation Effects 0.000 claims abstract description 108
- 238000013139 quantization Methods 0.000 claims description 94
- 238000012545 processing Methods 0.000 claims description 29
- 230000003595 spectral effect Effects 0.000 claims description 26
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 38
- 238000004458 analytical method Methods 0.000 description 30
- 239000013598 vector Substances 0.000 description 25
- 230000006870 function Effects 0.000 description 24
- 230000015572 biosynthetic process Effects 0.000 description 20
- 238000003786 synthesis reaction Methods 0.000 description 20
- 230000002123 temporal effect Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 230000007774 longterm Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010348 incorporation Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000002087 whitening effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 239000007844 bleaching agent Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101001101476 Bacillus subtilis (strain 168) 50S ribosomal protein L21 Proteins 0.000 description 1
- 101001096074 Homo sapiens Regenerating islet-derived protein 4 Proteins 0.000 description 1
- 102100037889 Regenerating islet-derived protein 4 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/038—Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
SISTEMAS, MÉTODOS E EQUIPAMENTOS PARA LIMITAR FATOR DE GANHO. A gama de configurações descritas inclui métodos em que sub-bandas de um sinal de fala são codificadas separadaniente, com a excitação de unia primeira sub-banda sendo derivada a partir de uma segunda sub-banda. São calculados fatores de ganho para indicar uma relação variável em tempo entre envelopes da primeira sub-banda original e da primeira sub-banda sintetizada. Os fatores de ganho são quantizados e os valores quantizados que superem os valores pré-quantizados são recodificados.
Description
"SISTEMAS, MÉTODOS E EQUIPAMENTOS PARA LIMITAR FATOR DE GANHO"
PEDIDOS CORRELACIONADOS
0 presente pedido de patente reivindica a prioridade do Pedido Provisório de Patente U.S. N2 de Série 60/834 658, intitulado "METHOD FOR QUANTIZATION OF FRAME GAIN IN A WIDEBAND SPEECH CODER", depositado em 31 de julho de 200 6.
CAMPO
A presente invenção está relacionada à codificação
de fala.
FUNDAMENTOS
As comunicações de voz através da rede pública de comutação telefônica (PSTN) eram tradicionalmente limitadas em amplitude de banda à banda de freqüências de 300 a 3400 kHz. As novas redes para comunicação de voz, tais como as de telefonia celular e de voz através de protocolo Internet (VOIP) podem não possuir os mesmos limites de amplitude de banda, podendo ser desejável transmitir e receber comunicações de voz que incluem uma gama de freqüências de banda larga através de tais redes. Como exemplo, pode ser desejável o suporte a uma faixa de áudio freqüências que se estende de 50 Hz até 7 ou 8 kHz. Pode também ser desejável dar suporte a outras aplicações, tais como áudio de alta qualidade ou áudio/video conferência, que podem apresentar conteúdo de fala de áudio em faixas fora dos limites tradicionais da PSTN.
A extensão da faixa suportada por um codificador de fala até freqüências mais elevadas pode melhorar a inteligibilidade. Como exemplo, as informações que diferenciam fricativas tais como "s" e "f" se encontram, em grande parte, nas freqüências elevadas. A extensão de banda alta pode também melhorar outras características da fala, tais como a "presença". Como exemplo, mesmo uma vogai falada pode possuir energia espectral muito acima do limite da PSTN.
Um método para a codificação de fala em banda larga envolve o escalonamento de uma técnica de codificação de fala de banda estreita (por exemplo, uma que esteja configurada para codificar a faixa de 0 a 4 kHz) para cobrir o espectro de banda larga. Como exemplo, um sinal de fala pode ser amostrado em uma taxa mais elevada de modo a incluir componentes em altas freqüências e uma técnica de codificação em banda estreita pode ser re-configurada para utilizar mais coeficientes de filtro para representar tal sinal de banda larga. No entanto, as técnicas de codificação de banda estreita, tais como a CELP (previsão linear excitada por livro código), são computacionalmente trabalhosas e um codificador CELP pode demandar muitos ciclos de processamento para ser viável para muitas aplicações em telefonia móvel e outras incorporadas. A codificação de todo o espectro de um sinal de banda larga com uma qualidade desejada utilizando tal técnica pode também levar a um aumento inaceitavelmente grande de amplitude de banda. Ademais, seria necessária a transcodificação de tal sinal codificado antes mesmo que sua parte de banda estreita pudesse ser transmitida para e/ou decodificada por um sistema que dá suporte apenas à codificação de banda estreita.
Pode ser desejável a implementação de codificação de fala em banda larga de tal forma que pelo menos a parte de banda estreita do sinal codificado possa ser enviada através de um canal de banda estreita (tal como um canal da PSTN) sem transcodif icação ou outra modificação significativa. Pode também ser desejável maior eficiência da extensão de codificação em banda larga, por exemplo para evitar uma redução significativa do número de usuários que podem ser servidos em aplicações tais como a telefonia celular sem fio e broadcasting através de canais cabeados e sem fio.
Outro método para a codificação de fala em banda larga envolve a codificação das partes de banda estreita e banda alta de um sinal de fala na forma de sub-bandas separadas. Em um sistema deste tipo, pode ser obtida uma maior eficiência através da derivação de uma excitação para o filtro de síntese de banda alta a partir de informações já disponíveis no decodif icador, tais como o sinal de excitação de banda estreita. A qualidade pode ser melhorada em tal sistema através da inclusão no sinal codificado de uma série de fatores de ganho que indicam uma relação variável com o tempo entre um nível no sinal de banda alta original e um nível do sinal de banda alta sintetizado.
SUMÁRIO
Um método para processamento de fala de acordo com uma modalidade inclui calcular um fator de ganho com base em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub-banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala; e, de acordo com o valor de fator de ganho, selecionar um primeiro índice para um conjunto ordenado de valores de quantização. 0 método inclui avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice; e, de acordo com um resultado da avaliação, selecionar um segundo índice para o conjunto ordenado de valores de quantização.
Um equipamento para processamento de fala de acordo com outra modalidade inclui um calculador configurado para calcular um valor de fator de ganho baseado em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub-banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala; e um quantizador configurado para selecionar, de acordo com o valor de fator de ganho, um primeiro índice para um conjunto ordenado de valores de quantização. 0 equipamento inclui um limitador configurado (a) para avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice e (b) para selecionar, de acordo com um resultado da avaliação, um segundo índice para o conjunto ordenado de valores de quantização.
Um equipamento para processamento de fala de acordo com outra modalidade inclui dispositivos para calcular um valor de fator de ganho baseado em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub-banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala; e dispositivos para selecionar, de acordo com o valor de fator de ganho, um primeiro índice para um conjunto ordenado de valores de quantização. 0 equipamento inclui dispositivos para avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice e para selecionar, de acordo com um resultado da avaliação, um segundo índice para o conjunto ordenado de valores de quantização.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura Ia apresenta um diagrama de blocos de um codificador de fala de banda larga alOO.
A Figura Ib apresenta um diagrama de blocos de uma implementação al02 do codificador de fala de banda larga alOO.
A Figura 2a apresenta um diagrama de blocos de um decodificador de fala de banda larga blOO. A Figura 2b apresenta um diagrama de blocos de uma implementação bl02 do codificador de fala de banda larga blOO.
A Figura 3a apresenta a cobertura de amplitude de banda das bandas baixa e alta para um exemplo do banco de filtros allO.
A Figura 3b apresenta a cobertura de amplitude de banda das bandas baixa e alta para outro exemplo do banco de filtros allO.
A Figura 4a apresenta um exemplo de uma curva de freqüência contra Iog de amplitude para um sinal de fala.
A Figura 4b apresenta um diagrama de blocos de um sistema de codificação por previsão linear básico.
A Figura 5 apresenta um diagrama de blocos de uma implementação al22 do codificador de banda estreita al20.
A Figura 6 apresenta um diagrama de blocos de uma implementação bll2 do decodificador de banda estreita bllO.
A Figura 7a apresenta um exemplo de uma curva de freqüência contra Iog de amplitude para um sinal residual de fala com voz.
A Figura 7b apresenta um exemplo de uma curva de tempo contra Iog de amplitude para um sinal residual de fala com voz.
A Figura 8 apresenta um diagrama de blocos de um sistema de codificação por previsão linear básico que também efetua previsão de longo prazo.
A Figura 9 apresenta um diagrama de blocos de uma implementação a202 do codificador de banda alta a200.
A Figura 10 apresenta um fluxograma para um método mlO para codificação de uma parte de banda alta.
A Figura 11 apresenta um fluxograma para uma tarefa de cálculo de ganho t200.
A Figura 12 apresenta um fluxograma para uma implementação t210 da tarefa de cálculo de ganho t200. A Figura 13a apresenta um diagrama de uma função de formação de janela.
A Figura 13b apresenta uma aplicativo de uma função janela tal como apresentada na Figura 13a para sub- quadros de um sinal de fala.
A Figura 14a apresenta um diagrama de blocos de uma implementação a232 do calculador de fator de ganho de banda alta a230.
A Figura 14b apresenta um diagrama de blocos de uma disposição incluindo o calculador de fator de ganho de banda alta a232.
A Figura 15 apresenta um diagrama de blocos de uma implementação a234 do calculador de fator de ganho de banda alta a232.
A Figura 16 apresenta um diagrama de blocos de
uma outra implementação a236 do calculador de fator de ganho de banda alta a232.
A Figura 17 apresenta um exemplo de um mapeamento unidimensional tal como pode ser efetuado por um quantizador escalar.
A Figura 18 apresenta um exemplo simples de um mapeamento multidimensional tal como efetuado por um quantizador vetorial.
A Figura 19a apresenta outro exemplo de um mapeamento unidimensional tal como pode ser efetuado por um quantizador escalar.
A Figura 19b apresenta um exemplo de um mapeamento de um espaço de entrada para regiões de quantização de diferentes tamanhos. A Figura 19c ilustra um exemplo em que o valor
quantizado para um valor de fator de ganho R é maior do que o valor original.
A Figura 20a apresenta um fluxograma para um método mlOO para limitação de fator de ganho de acordo com uma implementação geral. A Figura 20b apresenta um fluxograma para uma implementação ml10 do método mlOO.
A Figura 20c apresenta um fluxograma para uma implementação ml20 do método mlOO.
A Figura 20d apresenta um fluxograma para uma
implementação ml30 do método mlOO.
A Figura 21 apresenta um diagrama de blocos de uma implementação a203 do codificador de banda alta a202.
A Figura 22 apresenta um diagrama de blocos de uma implementação a204 do codificador de banda alta a203.
A Figura 23a apresenta um diagrama operacional para uma implementação 112 do limitador 110.
A Figura 23b apresenta um diagrama operacional para outra implementação 114 do limitador 110. A Figura 23c apresenta um diagrama operacional
para outra implementação 116 do limitador 110.
A Figura 24 apresenta um diagrama de blocos de uma implementação b202 do decodificador de banda alta b200.
DESCRIÇÃO DETALHADA Um componente ou artefato audível pode ocorrer
quando, por exemplo, a distribuição de energia entre as sub-bandas de um sinal decodificado não for acurada. Tal artefato pode ser perceptivelmente desagradável para um usuário e, portanto, pode reduzir a qualidade percebida do codificador.
A menos de limitação expressa por seu contexto, o termo "calcular" e suas variações é aqui utilizado para indicar quaisquer de seus significados normais, tais como computar, gerar e selecionar dentre uma lista de valores. Quando o termo "compreender" e seus derivados for usado na presente descrição e nas reivindicações, ele não exclui outros elementos ou operações. A expressão "A está baseado em B" é usada para indicar quaisquer de seus significados normais, incluindo os casos (i) "A é igual a B" e (ii) "A está baseado pelo menos em Β". 0 termo "protocolo Internet" inclui a versão 4, tal como descrita na IETF (Internet Engineering Task Force) RFC (Request For Comments) 791, bem como versões subseqüentes, tais como a versão 6.
A Figura Ia apresenta um diagrama de blocos de um codificador de fala de banda larga alOO que pode ser configurado para efetuar um método tal como aqui descrito. O banco de filtros allO está configurado para filtrar um sinal de fala de banda larga slO para produzir um sinal de banda estreita s20 e um sinal de banda alta s30. O codificador de banda estreita al20 está configurado para codificar o sinal de banda estreita s20 para produzir parâmetros de filtro de banda estreita (NB) s40 e um sinal residual de banda estreita s50. Tal como será descrito em maiores detalhes mais adiante, o codificador de banda estreita al20 está tipicamente configurado para a produção de parâmetros de filtro de banda estreita s40 e o sinal de excitação de banda estreita codificado s50 na forma de um índices de codebook / livro código, ou em outra forma quantificada. O codificador de banda alta a200 está configurado para codificar o sinal de banda alta s30 de acordo com as informações no sinal de excitação de banda estreita codificado s50 para produção de parâmetros de codificação de banda alta s60. Como será descrito em maiores detalhes mais adiante, o codificador de banda alta a200 está tipicamente configurado para produção de parâmetros de codificação de banda alta S60 na forma de índices de livro código ou em outra forma quantificada. Um exemplo específico do codificador de fala de banda larga alOO está configurado para codificação do sinal de fala de banda larga slO em uma taxa de cerca de 8,55 kbps (quilobits por segundo), com cerca de 7,55 kbps sendo usados para parâmetros de filtro de banda estreita s40 e para o sinal de excitação de banda estreita codificado s50, e cerca de 1 kbps sendo usado para parâmetros de codificação de banda alta s60. Pode ser desejado combinar os sinais codificados de banda estreita e banda alta em uma única corrente de bits. Como exemplo, pode ser desejado multiplexar os sinais codificados para transmissão conjunta (por exemplo, através de um canal de transmissão cabeado, óptico, ou sem fio), ou para armazenamento, na forma de um sinal de fala de banda larga codificado. A Figura Ib apresenta um diagrama de blocos de uma implementação al02 do codificador de fala de banda larga alOO que inclui um multiplexador al30 configurado para combinar os parâmetros de filtro de banda estreita s40, o sinal de excitação de banda estreita codificado s50 e os parâmetros de filtro de banda alta s60 em um sinal multiplexado s7 0.
Um equipamento incluindo o codificador al02 pode também incluir circuitos configurados para transmitir o sinal multiplexado s70 para um canal de transmissão, tal como um canal cabeado, óptico, ou sem fio. Tal equipamento pode também estar configurado para efetuar uma ou mais operações de codificação de canal, tais como codificação para correção de erros (por exemplo, codificação convolucional compatível com taxa) e/ou codificação para detecção de erros (por exemplo, codificação de redundância cíclica) e/ou uma ou mais camadas de codificação de protocolo de rede (por exemplo, Ethernet, TCP / IP, CDMA 2000) .
Pode ser desejável que o multiplexador al30 esteja configurado de modo a embutir o sinal de banda estreita codificado (incluindo os parâmetros de filtro de banda estreita s40 e o sinal de excitação de banda estreita codificado s50) na forma de uma sub-corrente separável do sinal multiplexado s70, de tal forma que o sinal de banda estreita codificado possa ser recuperado e decodificado independentemente de outra parte do sinal multiplexado s70, tal como um sinal de banda alta e/ou banda baixa. Como exemplo, o sinal multiplexado s70 pode estar configurado de tal forma que o sinal de banda estreita codificado possa ser recuperado por extração dos parâmetros de filtro de banda alta s60. Um vantagem potencial de tal recurso consiste em evitar a necessidade de transcodificação do sinal de banda larga codificado antes de seu repasse para um sistema que dê suporte à decodificação do sinal de banda estreita mas não suporte a decodificação da parte de banda alta.
A Figura 2a apresenta um diagrama de blocos de um decodif icador de fala de banda larga blOO que pode ser usado para decodificar um sinal codificado pelo codificador de fala de banda larga alOO. O decodif icador de banda estreita bllO está configurado para decodificar os parâmetros de filtro de banda estreita s40 e o sinal de excitação de banda estreita codificado s50 para produção de um sinal de banda estreita s90. O decodificador de banda alta b200 está configurado para decodificar os parâmetros de codificação de banda alta s60 de acordo com um sinal de excitação de banda estreita s80, com base no sinal de excitação de banda estreita codificado s50, para produção de um sinal de banda alta slOO. Neste exemplo, o decodificador de banda estreita bllO está configurado para prover o sinal de excitação de banda estreita s80 para o decodificador de banda alta b200. O banco de filtros bl20 está configurado para combinar o sinal de banda estreita s90 e o sinal de banda alta slOO para produção de um sinal de fala de banda larga sllO.
A Figura 2b apresenta um diagrama de blocos de uma implementação bl02 do codificador de fala de banda larga blOO que inclui um demultiplexador bl30 configurado para a produção dos sinais codificados s40, s50 e s60 a partir do sinal multiplexado s70. um equipamento incluindo o decodificador bl02 pode incluir circuitos configurados para receber o sinal multiplexado s70 a partir de um canal de transmissão, tal como um canal cabeado, óptico, ou sem fio. Tal equipamento pode também estar configurado para efetuar uma ou mais operações de decodif icação de canal sobre o sinal, tais como decodif icação para correção de erros (por exemplo, decodificação convolucional compatível com taxa) e/ou decodificação para detecção de erros (por exemplo, decodificação de redundância cíclica) e/ou uma ou mais camadas de decodif icação de protocolo de rede (por exemplo, Ethernet, TCP / IP, CDMA 2000).
0 banco de filtros allO está configurado para filtrar um sinal de entrada de acordo com um esquema de banda dividida para a produção de uma sub-banda de baixa freqüência e uma sub-banda de alta freqüência. Dependendo dos critérios de projeto para a aplicação específica, as sub-bandas de saída / emissão podem possuir amplitudes de banda iguais ou desiguais e podem apresentar ou não sobreposição. É também possível uma configuração do banco de filtros allO que produza mais do que duas sub-bandas. Como exemplo, tal banco de filtros pode estar configurado para a produção de um ou mais sinais de banda baixa que incluem componentes em uma faixa de freqüências abaixo daquela do sinal de banda estreita s20 (tal como a faixa de 50 a 300 Hz) . É também possível que tal banco de filtros esteja configurado para a produção de um ou mais sinais de banda alta adicionais que incluem componentes em uma faixa de freqüências acima daquela do sinal de banda alta s30 (tal como uma faixa de 14 a 20, 16 a 20, ou 16 a 32 kHz) . Em tal caso, o codificador de fala de banda larga alOO pode ser implementado para codificar tal sinal ou sinais separadamente, enquanto o multiplexador al30 pode estar configurado de modo a incluir o sinal ou sinais codificados adicionais no sinal multiplexado s70 (por exemplo, como uma parte separada).
As Figuras 3a e 3b apresentam amplitudes de banda relativas do sinal de fala de banda larga slO, do sinal de banda estreita s20 e do sinal de banda alta s30 em dois exemplos de implementação diferentes. Nestes dois exemplos específicos, o sinal de fala de banda larga slO possui uma taxa de amostragem de 16 kHz (representando componentes de freqüência dentro da faixa de 0 a 8 kHz) , enquanto o sinal de banda estreita s20 possui uma taxa de amostragem de 8 kHz (representando componentes de freqüência dentro da faixa de 0 a 4 kHz) , apesar de tais taxas e faixas não constituírem limites sobre os princípios aqui descritos, os quais podem ser aplicados a quaisquer outras taxas de amostragem e/ou faixas de freqüências.
No exemplo da Figura 3a, não ocorre qualquer sobreposição significativa entre as duas sub-bandas. Um sinal de banda alta s30 como neste exemplo pode ser amostrado / downsampled até uma taxa de amostragem de 8 kHz. No exemplo alternativo da Figura 3b, as sub-bandas superior e inferior apresentam uma sobreposição apreciável, de tal forma a que a região de 3,5 a 4 kHz é descrita por ambos os sinais de sub-banda. Um sinal de banda alta s30, tal como neste exemplo, pode ser amostrado até uma taxa de amostragem de 7 kHz. 0 provimento de uma sobreposição entre as sub-bandas, tal como no exemplo da Figura 3b, pode permitir a um sistema de codificação utilizar um filtro de passagem baixa e/ou um filtro de passagem alta possuindo um rolloff ou passagem suave pela região superposta e/ou pode aumentar a qualidade dos componentes de freqüência reproduzidos na região sobreposta.
Em um típico aparelho para comunicação telefônica, um ou mais dos transdutores (isto é, o microfone e o auricular ou alto falante) não apresenta uma resposta apreciável na faixa de freqüências de 7 a 8 kHz. No exemplo da Figura 3b, a parte do sinal de fala de banda larga slO entre 7 e 8 kHz não é incluída no sinal codificado. Outros exemplos específicos do filtro de passagem alta 130 possuem bandas de passagem de 3,5 a 7,5 kHz e 3,5 a 8 kHz. Um codificador pode estar configurado para produzir um sinal sintetizado que é perceptivamente similar ao sinal original, mas que na realidade difere de forma significativa em relação ao sinal original. Como exemplo, um codificador que deriva a excitação de banda alta a partir do residual de banda estreita tal como aqui descrito pode produzir tal sinal, dado que o residual de banda alta real pode estar completamente ausente do sinal decodificado. Em tais casos, o provimento de uma sobreposição entre as sub-bandas pode dar suporte a uma mistura suave de banda baixa e banda alta que pode levar a um menor número de artefatos audíveis e/ou a uma transição menos notável de uma banda para a outra.
As trajetórias / vias de banda baixa e banda alta dos bancos de filtros allO e bl20 podem estar configuradas de modo a possuir espectros que são completamente não relacionados com a sobreposição das duas bandas. A Requerente define a sobreposição das duas bandas como a distância a partir do ponto em que a resposta de freqüência do filtro de banda alta cai para -20 dB até o ponto em que a resposta de freqüência do filtro de banda baixa cai para -20 dB. Em vários exemplos dos bancos de filtros allO e/ou bl20, tal sobreposição varia de cerca de 200 Hz até cerca de 1 kHz. A faixa de cerca de 400 a cerca de 600 Hz pode representar um compromisso aceitável entre a eficiência de codificação e suavidade perceptiva. Em um exemplo específico, tal como acima mencionado, a sobreposição ocorre em torno de 500 Hz.
Pode ser desejável a implementação dos bancos de filtros allO e/ou bl20 para calcular sinais de sub-banda, tal como ilustrado nas Figuras 3a e 3b, em vários estágios. Uma descrição adicional e figuras relacionadas a respostas de elementos de implementações específicas dos bancos de filtros allO e bl20 podem ser encontradas na publicação de Pedido de Patente U.S. de Vos et al. intitulado "SYSTEMS, 10
METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING", depositado em 3 de abril de 2006, referência do agente N2 050551, nas Figuras 3a, 3b, 4c, 4d e 33 a 39b e no texto pertinente (incluindo os parágrafos [00069] a [00087]), sendo tal material aqui incorporado pela presente referência, nos EUA e em qualquer outra jurisdição que permita tal incorporação por referência, com o propósito de prover uma descrição adicional relacionada aos bancos de filtros allO e/ou bl20.
0 sinal de banda alta s30 pode incluir pulsos de alta energia ("rajadas") que possam ser prejudiciais para a codificação. Um codificador de fala tal como o codificador de fala de banda larga alOO pode ser implementado de modo a incluir um supressor de rajadas (por exemplo, tal como descrito no Pedido de Patente U.S. de Vos et al. intitulado "SYSTEMS, METHODS, AND APPARATUS FOR HIGHBAND BURST SUPRESSION", depositado em 3 de abril de 2006, referência do agente N2 050549) para filtrar o sinal de banda alta s30 antes da codificação (por exemplo, pelo codificador de banda alta a200).
O codificador de banda estreita al20 e o codificador de banda alta a200 são, cada um, tipicamente implementados de acordo com um modelo de fonte - filtro que codifica o sinal de entrada como (a) um conjunto de parâmetros que descrevem um filtro e (b) um sinal de excitação que aciona o filtro descrito a produzir uma reprodução sintetizada do sinal de entrada. Os picos que caracterizam tal envelope espectral representam ressonâncias do trato vocal e são designados como "formants". A maioria dos codificadores de fala codificam pelo menos tal estrutura espectral grosseira na forma de um conjunto de parâmetros tais como coeficientes de filtro.
A Figura 4b apresenta um exemplo de uma disposição fonte - filtro tal como aplicada à codificação do envelope espectral do sinal de banda estreita s20. Um
30
35 módulo de análise calcula um conjunto de parâmetros que caracterizam um filtro correspondente ao som da fala durante um período de tempo (tipicamente 20 milissegundos (ms)). Um filtro branqueador (também designado como um filtro de análise ou previsão de erro) configurado de acordo com tais parâmetros de filtro remove o envelope espectral para aplanar espectralmente o sinal. O sinal branqueado resultante (também designado como um residual) possui menos energia e portanto menos variância, sendo de codificação mais fácil do que o sinal de fala original. Os erros resultantes da codificação do sinal residual podem também ser espalhados de forma mais uniforme pelo espectro. Os parâmetros de filtro e o residual são tipicamente quantizados para transmissão eficiente através do canal. No decodificador, um filtro de síntese configurado de acordo com os parâmetros de filtro é excitado por um sinal baseado no residual para a produção de uma versão sintetizada do som de fala original. 0 filtro de síntese está tipicamente configurado para possuir uma função de transferência que é o inverso da função de transferência do filtro branqueador.
A Figura 5 apresenta um diagrama de blocos de uma implementação básica al22 do codificador de banda estreita al20. neste exemplo, um módulo de análise de codificação de previsão linear (LPC) 210 codifica o envelope espectral do sinal de banda estreita s20 na forma de um conjunto de coeficientes de previsão linear (LP) (por exemplo, os coeficientes de um filtro de todos os pólos 1/A(z)). 0 módulo de análise tipicamente processa o sinal de entrada como uma série de quadros sem sobreposição, com um novo conjunto de coeficientes sendo calculado para cada quadro. 0 período de quadros é de um modo geral um período durante o qual espera-se que o sinal fique localmente estacionário. Como exemplo, em 20 milissegundos (equivalente a 160 amostras a uma taxa de amostragem de 8 kHz) . Como exemplo, o módulo de análise LPC 210 está configurado para calcular um conjunto de dez coeficientes de filtro LP para caracterizar a estrutura formant de cada quadro de 20 milissegundos. É também possível a implementação do módulo de análise para processar o sinal de entrada como uma série de quadros com sobreposição.
O módulo de análise pode estar configurado para analisar as amostras de cada quadro diretamente, ou as amostras podem ser pesadas em primeiro lugar de acordo com uma função de formação de janela (por exemplo, uma janela Hamming) . A análise também pode ser efetuada em uma janela que é maior do que o quadro, tal como uma janela de 3 0 ms. Tal janela pode ser simétrica (por exemplo, 5-20-5, de tal forma que ela inclua os 5 ms imediatamente antes e após o quadro de 20 ms), ou assimétrica (por exemplo, 10-20, de forma a incluir os últimos 10 ms do quadro anterior) . Um módulo de análise LPC está tipicamente configurado para calcular os coeficientes de filtro LP usando uma recorrência de Levinson-Durbin ou o algoritmo de Leroux- Gueguen. Em outra implementação, o módulo de análise pode estar configurado para calcular um conjunto de coeficientes cepstral para cada quadro, em lugar de um conjunto de coeficientes de filtro LP.
A taxa de emissão do codificador al20 pode ser significativamente reduzida, com efeito relativamente pequeno sobre a qualidade de reprodução, por quantização dos parâmetros de filtro. Os coeficientes de filtro de previsão linear são de difícil quantização e são usualmente mapeados para outra representação, tal como pares espectrais de linha (LSP), ou freqüências espectrais de linha (LSF), para quantização e/ou codificação por entropia. No exemplo da Figura 5, a transformada de coeficiente de filtro LP para LSF 220 transforma o conjunto de coeficientes de filtro LP em um conjunto correspondente de LSF. Outras representações u a um de coeficientes de filtro LP incluem coeficientes PARCOR, valores de razão Iog - área, pares espectrais de emissão (ISP) e freqüências espectrais de emissão (ISF) , que são usados no CODEC GSM (Sistema Global para Telecomunicações Móveis) AMR-WB (banda larqa de múltiplas taxas adaptável). Tipicamente, uma transformada entre um conjunto de coeficientes de filtro LP e um conjunto correspondente de LSF é reversível, porém as confiqurações compreendem também implementações do codificador al20 em que a transformada não é reversível sem erro.
0 quantizador 230 está confiqurado para quantizar o conjunto de LSF de banda estreita (ou outra representação de coeficientes) e o codificador de banda estreita al22 está confiqurado para emitir o resultado de tal quantização na forma dos parâmetros de filtro de banda estreita s40. Tal quantizador inclui tipicamente um quantizador de vetor que codifica o vetor de entrada como um índice para uma correspondente entrada de vetor em uma tabela ou livro códiqo.
A Fiqura 9 apresenta um diaqrama de blocos de uma implementação a202 do codificador de banda alta a200. 0 módulo de análise a210, a transformada 410 e o quantizador 420 do codificador de banda alta a202 podem ser implementados de acordo com as descrições dos elementos correspondentes do codificador de banda estreita al22 tal como acima descrito (isto é, o módulo de análise LPC 210, a transformada 220 e o quantizador 230, respectivamente) , apesar de poder ser desejável usar uma análise LPC de ordem mais baixa para a banda alta. É até mesmo possível que tais elementos de codificador de banda estreita e banda alta sejam implementados usando-se as mesmas estruturas (por exemplo, arranjos de portas) e/ou conjuntos de instruções (por exemplo, linhas de códiqo) em diferentes momentos. Como será descrito mais adiante, as operações do codificador de banda estreita al20 e do codificador de banda alta a200 diferem com referência ao processamento do sinal residual.
Como pode ser visto na Figura 5, o codificador de banda estreita al22 também gera um sinal residual pela passagem do sinal de banda estreita s20 através de um filtro branqueador 260 (também designado como um filtro de erro de previsão ou análise) que está configurado de acordo com o conjunto de coeficientes de filtro. Neste exemplo especifico, o filtro branqueador 260 é implementado na forma de um filtro FIR, apesar de implementações IIR também poderem ser usadas. Tal sinal residual irá conter tipicamente informações perceptivamente importantes do quadro de fala, tais como a estrutura de longo prazo relacionada ao passo, que não estão representadas nos parâmetros de filtro de banda estreita s40. O quantizador 270 está configurado para calcular uma representação quantificada deste sinal residual para emissão na forma do sinal de excitação de banda estreita codificado s50. Tal quantizador inclui tipicamente um quantizador de vetor que codifica o vetor de entrada como um índice para uma correspondente entrada de vetor em uma tabela ou livro código. Alternativamente, tal quantizador pode estar configurado para enviar um ou mais parâmetros a partir dos quais o vetor pode ser gerado dinamicamente no decodificador, em lugar de ser recuperado a partir de armazenamento, tal como em método de livro código esparso. Tal método é usado em esquemas de codificação tais como CELP (previsão linear de excitação por livro código) algébrico e CODECs tais como o 3GPP2 (3rd Generation Partnership Project 2) EVRC (C0DEC de taxa variável ampliado).
É desejável que o codificador de banda estreita al20 gere o sinal de excitação de banda estreita de acordo com os mesmos valores de parâmetros de filtro que estarão disponíveis para o correspondente decodificador de banda estreita. Dessa forma, o sinal de excitação de banda estreita codificado resultante pode já compensar em certo grau as não idealidades em tais valores de parâmetros, tais como o erro de quantização. Assim sendo, é desejável configurar o filtro branqueador usando-se os mesmos valores de coeficientes que estarão disponíveis no decodificador. No exemplo básico do codificador al22, tal como mostrado na Figura 5, o quantizador inverso 240 dequantifica os parâmetros de codificação de banda estreita s40, a transformada de coeficiente de filtro LSF para LP 250 mapeia os valores resultantes de volta para um conjunto correspondente de coeficientes de filtro LP e tal conjunto de coeficientes é usado para configurar o filtro branqueador 260 para gerar o sinal residual que é quantizado pelo quantizador 270.
Algumas implementações do codificador de banda estreita al20 estão configuradas para calcular o sinal de excitação de banda estreita s50 por identificação de um dentre um conjunto de vetores de livro código que melhor reproduz o sinal residual. No entanto, deve ser notado que o codificador de banda estreita al20 pode também ser implementado para calcular uma representação quantificada de sinal residual sem realmente gerar o sinal residual. Como exemplo, o codificador de banda estreita al20 pode estar configurado para usar um certo número de vetores de livro código para gerar os correspondentes sinais sintetizados (por exemplo, de acordo com um conjunto corrente de parâmetros de filtro) e para selecionar o vetor de livro código associado ao sinal gerado que melhor reproduza o sinal de banda estreita original s20 em um domínio perceptivamente ponderado.
Mesmo após o filtro branqueador ter removido o envelope espectral grosseiro do sinal de banda estreita s20, pode restar uma quantidade considerável de estrutura harmônica fina, especialmente para fala com voz. A Figura 7a apresenta uma curva espectral de um exemplo de um sinal residual, tal como pode ser produzido por um filtro branqueador, para um sinal com voz, tal como uma vogai. A estrutura periódica visível em tal exemplo está relacionada ao passo e diferentes sons com voz falados pelo mesmo locutor podem possuir diferentes estruturas de formants, porém estruturas de passo similares. A Figura 7b apresenta uma curva no domínio de tempo de um exemplo de tal sinal residual que apresenta uma seqüência de pulsos de passo no tempo.
O codificador de banda estreita al20 pode incluir um ou mais módulos configurados para codificar a estrutura harmônica de longo prazo do sinal de banda estreita s20. Tal como é mostrado na Figura 8, um típico modelo CELP que pode ser usado inclui um módulo de análise LPC em Ioop aberto, que codifica as características de curto prazo ou envelope espectral grosseiro, seguido por um estágio de análise de previsão de longo prazo de Ioop fechado, que codifica a estrutura harmônica ou de passo fina. As características de curto prazo são codificadas na forma de coeficientes de filtro e as características de longo prazo são codificadas como valores para parâmetros tais como o Iag / retardo de passo e ganho de passo. Como exemplo, o codificador de banda estreita al20 pode estar configurado para emitir o sinal de excitação de banda estreita codificado s50 em uma forma que inclui um ou mais índices de livro código (por exemplo, um índice de livro código fixo e um índice de livro código adaptável) e os correspondentes valores de ganho. O cálculo de tal representação quantificada do sinal de banda estreita (por exemplo, pelo quantizador 270) pode incluir a seleção de tais índices e o cálculo de tais valores. A codificação da estrutura de passo pode também incluir uma interpolação de uma forma de onda protótipo de passo, operação esta que pode incluir o cálculo de uma diferença entre pulsos de passo sucessivos. A modelagem da estrutura de longo prazo pode ser desabilitada para os quadros correspondentes à fala sem voz, os quais são tipicamente semelhantes a ruido e não estruturados.
A Figura 6 apresenta um diagrama de blocos de uma implementação bll2 do decodificador de banda estreita bllO. 0 quantizador inverso 310 dequantifica os parâmetros de filtro de banda estreita s40 (neste caso para um conjunto de LSF) e a transformada de coeficiente de filtro LSF para LP 320 transforma os LSF em um conjunto de coeficientes de filtro (por exemplo, tal como foi acima descrito com referência ao quantizador inverso 240 e à transformada 250 do codificador de banda estreita al22). O quantizador inverso 340 dequantifica o sinal residual de banda estreita s40 para a produção de um sinal de excitação de banda estreita s80. Com base nos coeficientes de filtro e no sinal de excitação de banda estreita s80, o filtro de síntese de banda estreita 330 sintetiza o sinal de banda estreita s90. Dito de outra forma, o filtro de síntese de banda estreita 330 está configurado para conformar espectralmente o sinal de excitação de banda estreita s80 de acordo com os coeficientes de filtro dequantizados para a produção do sinal de banda estreita s90. O decodif icador de banda estreita bll2 também provê o sinal de excitação de banda estreita s80 para o codificador de banda alta a200, que o utiliza para derivar o sinal de excitação de banda alta sl20, tal como aqui descrito. Em algumas implementações, tal como descrito mais adiante, o decodificador de banda estreita bllO pode estar configurado para prover informações adicionais para o decodificador de banda alta b200 que estão relacionadas ao sinal de banda estreita, tais como o tilt / desvio espectral, Iag e ganho de passo e modo de fala.
O sistema de codificador de banda estreita al22 e decodificador de banda estreita bll2 constitui um exemplo simples de um CODEC de fala de análise por síntese. A codificação por previsão linear de excitação por livro código (CELP) constitui uma família bem conhecida de codificação de análise por síntese e as implementações de tais codificadores podem efetuar a codificação de forma de onda do residual, incluindo operações tais como a seleção de entradas provenientes de livros código fixos e adaptáveis, operações de minimização de erros e/ou operações de ponderação perceptiva. Outras implementações de codificação de análise por síntese incluem a previsão linear por excitação mista (MELP), CELP algébrica (a-CELP), CELP por relaxamento (r-CELP), excitação por pulso regular (RPE) , CELP de múltiplos pulsos (MPE) e codificação por previsão linear excitada por soma de vetores (v-SELP) . Os métodos de codificação correlacionados incluem a excitação por múltiplas bandas (MBE) e a codificação por interpolação de forma de onda protótipo (PWI) . Os exemplos de codecs de fala de análise por síntese padronizados incluem o CODEC ETSI (European Telecommunications Standards Institute) GSM de taxa cheia (GSM 06.10), que utiliza a previsão linear excitada por residual (RELP), o CODEC de taxa cheia GSM ampliado (ETSI GSM 06.60), o codificador da norma ITU (International Telecommunication Union) 11.8 kb/s G.729 Anexo E, os CODEC da IS (norma provisória) 641 para a IS- 136 (um esquema de múltiplo acesso por divisão de tempo) , OS CODEC GSM adaptáveis de múltiplas taxas (GSM AMR) e o CODEC 4GV™ (Fourth Generation Vocoder ™) (da QUALCOMM Incorporated, de San Diego, CA, EUA) . 0 codificador de banda estreita al20 e o decodif icador bllO correspondente podem ser implementados de acordo com qualquer uma de tais tecnologias, ou qualquer outra tecnologia de codificação de fala (seja conhecida ou a ser desenvolvida) que represente um sinal de fala como (a) um conjunto de parâmetros que descrevem um filtro e (b) um sinal de excitação usado para acionar o filtro descrito para reprodução do sinal de fala. O codificador de banda alta a200 está configurado para codificar o sinal de banda alta s30 de acordo com um modelo fonte - filtro. Como exemplo, o codificador de banda alta a200 está tipicamente configurado para efetuar uma análise LPC do sinal de banda alta s30 para obtenção de um conjunto de parâmetros de filtro que descreve um envelope espectral do sinal. Quanto à ponta de banda estreita, o sinal fonte usado para excitar tal filtro pode ser derivado, ou pode estar baseado, no residual da análise LPC. No entanto, o sinal de banda alta s30 é tipicamente menos significativo em termos de percepção do que o sinal de banda estreita s20 e seria custoso para o sinal de fala codificado incluir dois sinais de excitação. Para redução da taxa de bits necessária para transferir o sinal de fala de banda larga codificado, em lugar disto pode ser desejável o uso de um sinal de excitação modelado para a banda alta. Como exemplo, a excitação para o filtro de banda alta pode estar baseada no sinal de excitação de banda estreita codificado s50.
A Figura 9 apresenta um diagrama de blocos de uma implementação a202 do codificador de banda alta a200 que está configurada para a produção de uma corrente de parâmetros de codificação de banda alta s60, incluindo os parâmetros de filtro de banda alta e fatores de ganho de banda alta s60b. O gerador de excitação de banda alta a300 deriva um sinal de excitação de banda alta sl20 a partir do sinal de excitação de banda estreita codificado s50. O módulo de análise al20 produz um conjunto de valores de parâmetros que caracterizam o envelope espectral do sinal de banda alta s30. Neste exemplo especifico, o módulo de análise al20 está configurado para efetuar a análise LPC para a produção de um conjunto de coeficientes de filtro LP para cada quadro do sinal de banda alta s30. A transformada de coeficiente de filtro de previsão linear para LSF 410 transforma o conjunto de coeficientes de filtro LP para um conjunto correspondente de LSF. Como foi acima mencionado com referência ao módulo de análise 210 e à transformada 220, o módulo de análise a210 e/ou a transformada 410 podem estar configurados para uso de outros conjuntos de coeficientes (por exemplo, coeficientes cepstral) e/ou representações de coeficientes (por exemplo, ISP).
O quantizador 420 está configurado está configurado para quantizar o conjunto de LSF de banda alta (ou outra representação de coeficientes, tal como ISP) e o codificador de banda alta a202 está configurado para emitir o resultado de tal quantização na forma dos parâmetros de filtro de banda alta s60a. Tal quantizador inclui tipicamente um quantizador vetorial que codifica o vetor de entrada na forma de um índice para uma entrada de vetor correspondente em uma tabela ou livro código.
O codificador de banda alta a202 compreende também um filtro de síntese a220 configurado para a produção de um sinal de banda alta sintetizado sl30 de acordo com o sinal de excitação de banda alta sl20 e com o envelope espectral codificado (por exemplo, o conjunto de coeficientes de filtro LP) produzidos pelo módulo de análise a210. O filtro de síntese a220 é tipicamente implementado na forma de um filtro IIR, apesar de poderem também ser usadas implementações FIR. Em um exemplo específico, o filtro de síntese a220 é implementado na forma de um filtro linear de auto regressão de sexta ordem.
Em uma implementação do codificador de fala de banda larga alOO de acordo com um modelo tal como apresentado na Figura 8, o codificador de banda alta a200 pode estar configurado para receber o sinal de excitação de banda estreita tal como produzido pelo filtro branqueador ou pela análise de curto prazo. Dito de outra forma, o codificador de banda estreita al20 pode estar configurado para emitir o sinal de excitação de banda estreita para o codificador de banda alta a200 antes de codificar a estrutura de longo prazo. No entanto, é desejável que o codificador de banda alta a200 receba a partir do canal de banda estreita as mesmas informações de codificação que serão recebidas pelo decodificador de banda alta b200, de tal forma que os parâmetros de codificação produzidos pelo codificador de banda alta a200 possam já compensar em certo grau as não idealidades em tais informações. Dessa forma, pode ser preferível que o codificador de banda alta a200 reconstrua o sinal de excitação de banda estreita s80 a partir do mesmo sinal de excitação de banda estreita codificado quantizado e/ou parametrizado s50 a ser emitido pelo codificador de fala de banda larga alOO. Uma vantagem potencial de tal método consiste de um cálculo mais acurado dos fatores de ganho de banda alta s60b descrito mais adiante.
O calculador de fator de ganho de banda alta a230 calcula uma ou mais diferenças entre os níveis do sinal de banda alta original s30 e do sinal de banda alta sintetizado sl30 para especificar um envelope de ganho para o quadro. O quantizador 4 30, que pode ser implementado como um quantizador vetorial que codifica o vetor de entrada na forma de um índice para uma entrada vetorial correspondente em uma tabela ou livro código, quantifica o valor ou valores que especificam o envelope de ganho, e o codificador de banda alta a202 está configurado para emitir o resultado de tal quantização na forma dos fatores de ganho de banda alta s60b.
Um ou mais dos quantizadores dos elementos aqui descritos (por exemplo, os quantizadores 230, 420, ou 430) podem estar configurados para efetuar quantização vetorial classificada. Como exemplo, tal quantizador pode estar configurado para selecionar um dentre um conjunto de livros código com base em informações que já foram codificadas dentro do mesmo quadro no canal de banda estreita e/ou no canal de banda alta. Tal técnica provê tipicamente maior eficiência de codificação ao custo de armazenamento de livro código adicional.
Em uma implementação do codificador de banda alta a200 tal como apresentado na Figura 9, o filtro de síntese a220 está configurado para receber os coeficientes de filtro a partir do módulo de análise a210. Uma implementação alternativa do codificador de banda alta a202 inclui um quantizador inverso e uma transformada inversa, configurados para decodificar os coeficientes de filtro a partir dos parâmetros de filtro de banda alta s60a e, neste caso, o filtro de síntese a220 está configurado para receber os coeficientes de filtro decodificados. Tal disposição alternativa pode dar suporte a um cálculo mais acurado do envelope de ganho pelo calculador de ganho de banda alta a230.
Em um exemplo específico, o módulo de análise a210 e o calculador de ganho de banda alta a230 emitem um conjunto de seis LSF e um conjunto de cinco valores de ganho por quadro, respectivamente, de tal forma que uma extensão de banda larga do sinal de banda estreita s20 pode ser obtida com apenas onze valores adicionais por quadro. Como outro exemplo, outro valor de ganho é adicionado para cada quadro para prover uma extensão de banda larga com apenas doze valores adicionais por quadro. O ouvido tende a ser menos sensível a erros de freqüência em freqüências elevadas, de tal forma que a codificação de banda alta em uma ordem LPC baixa pode produzir um sinal possuindo uma qualidade percebida comparável à codificação de banda estreita em uma ordem LPC mais elevada. Uma implementação típica do codificador de banda alta a200 pode estar configurada para emitir 8 a 12 bits por quadro para reconstrução de alta qualidade do envelope temporal. Como outro exemplo, o módulo de análise a210 emite um conjunto de oito LSF por quadro. Algumas implementações do codificador de banda alta a200 estão configuradas para produzir o sinal de excitação de banda alta sl20 através da geração de um sinal de ruido aleatório possuindo componentes de freqüência de banda alta e modulação em amplitude do sinal de ruido de acordo com o envelope no domínio de tempo do sinal de banda estreita s20, do sinal de excitação de banda estreita s80, ou do sinal de banda alta s30. Em tal caso, pode ser desejável que o estado do gerador de ruído seja uma função determinística de outras informações no sinal de fala codificado (por exemplo, informações no mesmo quadro, tais como os parâmetros de filtro de banda estreita s40 ou uma parte dos mesmos e/ou o sinal de excitação de banda estreita codificado s50 ou uma parte do mesmo), de forma a que os geradores de ruído correspondentes nos geradores de excitação de banda alta do codificador e decodificador possam apresentar os mesmos estados. No entanto, apesar de um método baseado em ruído poder produzir resultados adequados para sons sem voz, pode não ser desejável para sons com voz, cujos residuais são usualmente harmônicos e, conseqüentemente, possuem uma certa estrutura periódica.
0 gerador de excitação de banda alta a300 está configurado para a obtenção do sinal de excitação s80 (por exemplo, por dequantização do sinal de excitação de banda estreita codificado s50) e para geração do sinal de excitação de banda alta sl20 com base no sinal de excitação de banda estreita s80. Como exemplo, o gerador de excitação de banda alta a300 pode ser implementado para efetuar uma ou mais técnicas tais como a extensão de amplitude de banda harmônica, dobragem espectral, translação espectral e/ou síntese harmônica usando processamento não linear do sinal de excitação de banda estreita s80. Como exemplo específico, o gerador de excitação de banda alta a300 está configurado para a geração do sinal de excitação de banda alta sl20 por extensão de amplitude de banda não linear do sinal de excitação de banda estreita s80 combinada com mistura adaptável do sinal estendido com um sinal de ruido modulado. 0 gerador de excitação de banda alta a300 pode também estar configurado para efetuar a filtração anti- espalhamento do sinal estendido e/ou misturado.
Uma descrição adicional e figuras relacionadas ao gerador de excitação de banda alta a300 e à geração do sinal de excitação de banda alta sl20 podem ser encontradas no Pedido de Patente U.S. N- de Série 11/397 870, intitulado "SYSTEMS, METHODS, AND APPARATUS FOR HIGHBAND EXCITATION GENERATION" (de Vos et al.), depositado em 3 de abril de 2006, nas Figuras 11 a 20 e no texto pertinente (incluindo os parágrafos [000112] a [000146] e [000156], sendo tal material agui incorporado pela presente referência, nos EUA e em qualquer outra jurisdição que permita tal incorporação por referência, com o propósito de prover uma descrição adicional relacionada ao gerador de excitação de banda alta a300 e/ou à geração de um sinal de excitação para uma sub- banda a partir de um sinal de excitação codificado para outra sub-banda.
A Figura 10 apresenta um fluxograma para um método mlO para codificação de uma parte de banda alta de um sinal de fala possuindo uma parte de banda estreita e a parte de banda alta. A tarefa xlOO calcula um conjunto de parâmetros de filtro que caracterizam um envelope espectral da porção de banda alta. A tarefa x200 calcula um sinal espectralmente estendido pela aplicação de uma função não linear a um sinal derivado a partir da parte de banda estreita. A tarefa x300 gera um sinal de banda alta sintetizado de acordo com (a) o conjunto de parâmetros de filtro e (b) um sinal de excitação de banda alta baseado no sinal espectralmente estendido. A tarefa x400 calcula um envelope de ganho com base em uma relação entre (c) a energia da parte de banda alta e (d) a energia de um sinal derivado a partir da parte de banda estreita. Será tipicamente desejável que as características temporais de um sinal decodificado se assemelhem àquelas do sinal original que ele representa. Além disso, para um sistema em que diferentes sub-bandas são codificadas separadamente, pode ser desejável que as características temporais relativas das sub-bandas no sinal decodificado se assemelhem às características temporais das sub-bandas no sinal original. Para a reprodução acurada do sinal de fala codificado, pode ser desejável que a razão entre os níveis das partes de banda alta e banda estreita do sinal de fala de banda larga sintetizado slOO seja similar àquela no sinal de fala de banda larga original slO. 0 codificador de banda alta a200 pode estar configurado de MOD a incluir informações no sinal de fala codificado que descrevam, ou estejam de outra forma baseadas em, um envelope temporal do sinal de banda alta original. Para um caso em que o sinal de excitação de banda alta está baseado em informações provenientes de outra sub-banda, tal como o sinal de excitação de banda estreita codificado s50, pode ser desejável, em particular para os parâmetros codificados, a inclusão de informações descrevendo uma diferença entre os envelopes temporais do sinal de banda alta sintetizado e o sinal de banda alta original.
Além das informações relacionadas ao envelope espectral do sinal de banda alta s30 (isto é, tal como descrito pelos coeficientes LPC ou valores de parâmetros similares) , pode ser desejável que os parâmetros codificados de um sinal de banda larga incluam informações temporais do sinal de banda alta s30. Além de um envelope espectral tal como representado pelos parâmetros de codificação de banda alta s60a, por exemplo, o codificador de banda alta a200 pode estar configurado para caracterizar o sinal de banda alta s30 através da especificação de um envelope de ganho ou temporal. Tal como apresentado na Figura 9, o codificador de banda alta a202 inclui um calculador de fator de ganho de banda alta a230 que está configurado e disposto para calcular um ou mais fatores de ganho de acordo com uma relação entre o sinal de banda alta s30 e o sinal de banda alta sintetizado sl30, tal como uma diferença ou razão entre as energias dos dois sinais em um quadro ou alguma parte do mesmo. Em outras implementações do codificador de banda alta a202, o calculador de ganho de banda alta a230 pode estar configurado de forma similar, porém disposto para calcular o envelope de ganho de acordo com tal relação variável com o tempo entre o sinal de banda alta s30 e o sinal de excitação de banda estreita s80 ou o sinal de excitação de banda alta sl20.
Os envelopes temporais do sinal de excitação de banda estreita s80 e do sinal de banda alta s30 provavelmente serão similares. Portanto, um envelope de ganho que está baseado em uma relação entre o sinal de banda alta s30 e o sinal de excitação de banda estreita s80 (ou um sinal dele derivado, tal como o sinal de excitação de banda alta sl20 ou o sinal de banda alta sintetizado sl30) estará de um modo geral melhor adequado para codificação do que um envelope de ganho com base apenas no sinal de banda alta s30.
0 codificador de banda alta a202 inclui um calculador de fator de ganho a230 configurado para calcular um ou mais fatores de ganho para cada quadro do sinal de banda alta s30, em que cada fator de ganho está baseado em uma relação entre envelopes temporais de partes correspondentes do sinal de banda alta sintetizado sl30 e do sinal de banda alta s30. Como exemplo, o calculador de fator de ganho de banda alta a230 pode estar configurado para calcular cada fator de ganho na forma de uma razão entre envelopes de amplitude dos sinais, ou de uma razão entre envelopes de energia dos sinais. Em uma implementação tipica, o codificador de banda alta a202 está configurado para emitir um índice quantizado de oito a doze bits que especifica cinco fatores de ganho para cada quadro (por exemplo, um para cada cinco sub-quadros consecutivos). Em outra implementação, o codificador de banda alta a202 está configurado para emitir um indice quantizado adicional que especifica um fator de ganho no nivel de quadro para cada quadro.
Um fator de ganho pode ser calculado como um fator de normalização, tal como uma razão R entre uma medida de energia do sinal original e uma medida de energia do sinal sintetizado. A razão R pode ser expressada na forma de um valor linear ou um valor logaritmico (por exemplo, em uma escala de decibéis) . O calculador de fator de ganho de banda alta a230 pode estar configurado para calcular tal fator de normalização para cada quadro. Alternativa ou adicionalmente, o calculador de fator de ganho de banda alta a230 pode estar configurado para calcular uma série de fatores de ganho para cada um dentre um certo número de sub-quadros de cada quadro. Como exemplo, o calculador de fator de ganho de banda alta a230 está configurado para calcular a energia de cada quadro (e/ou sub-quadro) como uma raiz quadrada de uma soma de quadrados.
O calculador de fator de ganho de banda alta a230 pode estar configurado para efetuar o cálculo do fator de ganho como uma tarefa que inclui uma ou mais séries de subtarefas. A Figura 11 apresenta um fluxograma de um exemplo t200 para tal tarefa de cálculo de ganho para uma parte correspondente do sinal de banda alta codificado (por exemplo, um quadro ou sub-quadro) de acordo com as energias relativas de partes correspondentes do sinal de banda alta s30 e do sinal de banda alta sintetizado sl30. As tarefas 220a e 220b calculam as energias das partes correspondentes dos respectivos sinais. Como exemplo, as tarefas 220a e 220b podem estar configuradas para calcular a energia como uma soma dos quadrados das amostras das respectivas partes. A tarefa t230 calcula um fator de ganho para a parte como a raiz quadrada da razão da energia do sinal de banda alta s30 na parte para a energia do sinal de banda alta sintetizado sl30 na parte.
Pode ser desejável que o calculador de fator de
ganho de banda alta a230 esteja configurado para calcular as energias de acordo com uma função de formação de janela. A Figura 12 apresenta um fluxograma para tal implementação t210 da tarefa de cálculo de ganho t200. a tarefa t215a aplica uma função de janela ao sinal de banda alta s30 e a tarefa t215b aplica a mesma função de janela ao sinal de banda alta sintetizado sl30. As implementações 222a e 222b das tarefas 220a e 220b calculam as energias das respectivas janelas e a tarefa t230 calcula um fator de ganho para a parte como a raiz quadrada da razão das energias.
Ao calcular um fator de ganho para um quadro, pode ser desejável a aplicação de uma função de janela que sobreponha quadros adjacentes. Ao calcular um fator de ganho para um sub-quadro, pode ser desejável a aplicação de uma função de janela que sobreponha sub-quadros adjacentes. Como exemplo, uma função de janela que produza fatores de ganho que podem ser aplicados de uma forma a sobrepor - somar pode auxiliar a reduzir ou evitar descontinuidades entre sub-quadros. Como exemplo, o calculador de fator de ganho de banda alta a230 está configurado para aplicar uma função de janela trapezoidal, tal como mostrado na Figura 13a, em que a janela sobrepõe cada um dos dois sub-quadros adjacentes por um milissegundo. A Figura 13b apresenta uma aplicação de tal função de janela a cada um dos cinco sub- quadros de um quadro de 20 milissegundos. Outras implementações do calculador de fator de ganho de banda alta a230 podem estar configuradas para aplicar funções de janela possuindo diferentes períodos de sobreposição e/ou diferentes formatos de janela (por exemplo, retangular, Hamming) que podem ser simétricas ou assimétricas. É também possível que uma implementação do calculador de fator de ganho de banda alta a230 esteja configurada para aplicar diferentes funções de janela a diferentes sub-quadros dentro de um quadro e/ou que um quadro inclua sub-quadros de diferentes comprimentos / durações. Em uma implementação específica, o calculador de fator de ganho de banda alta a230 está configurado para calcular fatores de ganho de sub-quadros usando uma função de janela trapezoidal, tal como mostrado nas Figuras 13a e 13b, estando também configurado para calcular um fator de ganho no nível de quadro sem usar uma função de janela.
Sem qualquer limitação, os valores a seguir são apresentados como exemplos para implementações específicas. Presume-se um quadro de 20 ms para tais casos, apesar de poder ser usada qualquer outra duração. Para um sinal de banda alta amostrado a 7 kHz, cada quadro possui 140 amostras. Caso tal quadro esteja dividido em cinco sub- quadros de igual tamanho, cada sub-quadro terá 28 amostras e a janela tal como mostrada na Figura 13a terá largura de 42 amostras. Para um sinal de banda alta amostrado a 8 kHz, cada quadro possui 160 amostras. Caso tal quadro seja dividido em cinco sub-quadros de igual tamanho, cada sub- quadro terá 32 amostras e a janela tal como mostrada na Figura 13a terá largura de 48 amostras. Em outras implementações, podem ser usados sub-quadros de qualquer largura, sendo mesmo possível que uma implementação do calculador de ganho de banda alta a230 esteja configurada para produzir um fator de ganho diferente para cada amostra de um quadro.
Como foi acima mencionado, o codificador de banda alta a202 pode incluir um calculador de ganho de banda alta a230 que está configurado para calcular uma série de fatores de ganho de acordo com uma relação variável com o tempo entre o sinal de banda alta s30 e um sinal baseado no sinal de banda estreita s20 (tal como o sinal de excitação de banda estreita s80, o sinal de excitação de banda alta sl20, ou o sinal de banda alta sintetizado sl30) . A Figura 14a apresenta um diagrama de blocos de uma implementação a232 do calculador de fator de ganho de banda alta a230. 0 calculador de fator de ganho de banda alta a232 inclui uma implementação glOa do calculador de envelope glO que está configurado para calcular um envelope de um primeiro sinal e uma implementação glOb do calculador de envelope glO que está configurado para calcular um envelope de um segundo sinal. Os calculadores de envelope glOa e glOb podem ser idênticos ou podem ser casos de diferentes implementações do calculador de envelope glO. Em alguns casos, os calculadores de envelope glOa e glOb podem ser implementados como a mesma estrutura (por exemplo, um arranjo de portas) e/ou conjunto de instruções (por exemplo, linhas de código) configurada para processar diferentes sinais em diferentes momentos.
Os calculadores de envelope glOa e glOb podem, cada um, estar configurados para calcular um envelope de amplitude (por exemplo, de acordo com uma função de valor absoluto) ou um envelope de energia (por exemplo, de acordo com uma função de elevação ao quadrado) . Tipicamente, cada calculador de envelope glOa e glOb está configurado para calcular um envelope que é sub-amostrado com referência ao sinal de entrada (por exemplo, um envelope possuindo um valor para cada quadro ou sub-quadro do sinal de entrada) . Como foi acima descrito com referência, por exemplo, às Figuras 11 a 13b, os calculadores glOa e/ou glOb podem estar configurados para calcular o envelope de acordo com uma função de janela, a qual pode estar configurada para sobrepor quadros e/ou sub-quadros adjacentes.
0 calculador de fator g20 está configurado para calcular uma série de fatores de ganho de acordo com uma relação variável com o tempo entre os dois envelopes ao longo do tempo. Como exemplo, tal como acima descrito, o calculador de fator g20 calcula cada fator de ganho como a raiz guadrada da razão dos envelopes durante um sub-quadro correspondente. Alternativamente, o calculador de fator g20 pode estar configurado para calcular cada fator de ganho com base em uma distância entre os envelopes, tal como uma diferença, ou uma diferença ao quadro assinada entre os envelopes durante um sub-quadro correspondentes. Pode ser desejável configurar o calculador de fator g20 para emitir os valores calculados dos fatores de ganho em uma forma escalonada em decibéis ou logaritmica. Como exemplo, o calculador de fator g20 pode estar configurado para calcular um logaritmo da razão de dois valores de energia como a diferença dos logaritmos dos valores de energia. A Figura 14b apresenta um diagrama de blocos de
uma disposição generalizada incluindo o calculador de fator de ganho de banda alta a232 em que o calculador de envelope glOa está configurado para calcular um envelope de um sinal com base no sinal de banda estreita s20, o calculador de envelope glOb está configurado para calcular um envelope do sinal de banda alta s30 e o calculador de fator g20 está configurado para emitir os fatores de ganho de banda alta s60b (por exemplo, para o quantizador 430) . Neste exemplo, o calculador de envelope glOa está configurado para calcular um envelope de um sinal recebido a partir do processamento intermediário Pl, o qual pode incluir estruturas e/ou instruções tal como aqui descrito que estão configuradas para efetuar o cálculo do sinal de excitação de banda estreita s80, a geração do sinal de excitação de banda alta sl20 e/ou a síntese do sinal de banda alta sl30. Por conveniência, é presumido que o calculador de envelope glOa está configurado para calcular um envelope do sinal de banda alta sintetizado sl30, apesar de que implementações em que o calculador de envelope glOa está configurado para calcular um envelope do sinal de excitação de banda estreita s80, ou do sinal de excitação de banda alta sl20, serem expressamente contempladas e aqui descritas.
Como foi acima mencionado, pode ser desejável a obtenção de fatores de ganho com duas ou mais resoluções de tempo diferentes. Como exemplo, pode ser desejável que o calculador de fator de ganho de banda alta a230 esteja configurado para calcular tanto fatores de ganho no nivel de quadros como uma série de fatores de ganho de sub- quadros para cada quadro do sinal de banda alta s30 a ser codificado. A Figura 15 apresenta um diagrama de blocos de uma implementação a234 do calculador de fator de ganho de banda alta a232 que inclui as implementações glOaf, glOas do calculador de envelope glO que estão configuradas para calcular envelopes no nivel de quadro e no nivel de sub- quadro, respectivamente, de um primeiro sinal (por exemplo, o sinal de banda alta sintetizado sl30, apesar de que implementações em que os calculadores de envelope glOaf, glOas estão configurados para calcular envelopes do sinal de excitação de banda estreita s80 ou d sinal de excitação de banda alta sl20 são expressamente contempladas e aqui de scritas). 0 calculador de fator de ganho de banda alta a234 compreende também as implementações glObf e glObs do calculador de envelope glOb que estão configuradas para calcular envelopes no nivel de quadro e de sub-quadro, respectivamente, de um segundo sinal (por exemplo, o sinal de banda alta s30).
Os calculadores de envelope glOaf e glObf podem ser idênticos ou podem constituir casos de diferentes implementações do calculador de envelope glO. Em alguns casos, os calculadores de envelope glOaf e glObf podem ser implementados como a mesma estrutura (por exemplo, um arranjo de portas) e/ou um conjunto de instruções (por exemplo, linhas de código) configurada para processar diferentes sinais em diferentes momentos. De forma similar, os calculadores de envelope glOas e glObs podem ser idênti cos, podem ser casos de diferentes implementações do calculador de envelope glO, ou podem ser implementados como a mesma estrutura e/ou conjunto de instruções. É mesmo possível que todos os quatro geradores de envelope glOaf, glOas, glObf e glObs, sejam implementados como a mesma estrutura e/ou conjunto de instruções configuráveis em diferentes momentos.
As implementações g20f, g20s, do calculador de fator g20 tal como aqui descrito estão configuradas para calcular os fatores de ganho no nível de quadro e de sub- quadro s60bf e s60bs com base nos respectivos envelopes. 0 normalizador nlO, que pode ser implementado na forma de um multiplicador ou divisor para se adequar ao esquema específico, está configurado para normalizar cada conjunto de fatores de ganho de sub-quadro s60bs de acordo com o fator de ganho de nível de quadro s60bf correspondente (por exemplo, antes que os fatores de ganho de sub-quadro sejam quantizados). Em alguns casos, pode ser desejado obter um resultado possivelmente mais acurado por quantização do fator de ganho de nível de quadro s60bf e a seguir usar o valor dequantizado correspondente para normalizar os fatores de ganho de sub-quadro s60bs.
A Figura 16 apresenta um diagrama de blocos de outra implementação a236 do calculador de fator de ganho de banda alta a232. Em tal implementação, vários calculadores de ganho e envelope tal como mostrados na Figura 15 são re- configurados de tal forma que a normalização seja efetuada sobre o primeiro sinal antes que o envelope seja calculado. 0 normalizador n20 pode ser implementado como um multiplicador ou divisor para se adequar ao esquema específico. Em alguns casos, pode ser desejado obter um resultado possivelmente mais acurado por quantização do fator de ganho de nível de quadro s60bf e a seguir usar o valor dequantizado correspondente para normalizar o primeiro sinal. O quantizador 430 pode ser implementado de acordo com quaisquer técnicas conhecidas ou a serem desenvolvidas para efetuar um ou mais métodos de quantização escalar e/ou vetorial considerados adequados para o esquema especifico. O quantizador 430 pode ser configurado para quantizar os fatores de ganho de nível de quadro separadamente dos fatores de ganho de sub-quadros. Como exemplo, cada fator de ganho de nível de quadro s60bf é quantizado usando-se um quantizador de tabela de consulta de quatro bits e o conjunto de fatores de ganho de sub-quadro s60bs para cada quadro é quantizado vetorialmente usando-se quatro bits. Tal esquema é usado no codificador EVRC-wb para quadros de fala com voz (tal como mencionado na seção 4.18.4 do documento 3GPP2 C.S0014-C versão 0.2, disponível em www.3gpp2.org). Como outro exemplo, cada fator de ganho de nível de quadro s60bf é quantizado usando-se um quantizador escalar de sete bits e o conjunto de fatores de ganho de sub-quadros s60bs para cada quadro é quantizado vetorialmente usando-se um quantizador vetorial de múltiplos estágios com quatro bits por estágio. Tal esquema é usado no codificador EVRC-wb para quadros de fala sem voz (tal como mencionado na seção 4.18.4 do documento 3GPP2 C.S0014-C versão 0.2, acima mencionado). É também possível que em outros esquemas, cada fator de ganho de nível de quadro seja quantizado em conjunto com os fatores de ganho de sub-quadros para tal quadro.
Um quantizador está tipicamente configurado para mapear um valor de entrada para um dentre um conjunto de valores de saída / emissão individuais. Um número limitado de valores de saída está disponível, de tal forma que uma gama de valores de entrada é mapeada para um único valor de saída. A quantização aumenta a eficiência de codificação pois um índice que indica o correspondente valor de saída pode ser transmitido em menos bits do que o valor de entrada original. A Figura 17 apresenta um exemplo de um mapeamento unidimensional tal como pode ser efetuado por um quantizador escalar, em que valores de entrada entre (2nD- l)/2 e (2nD+l) /2 são mapeados para um valor de salda nD (para η inteiro)
Um quantizador pode também ser implementado como um quantizador vetorial. Como exemplo, o conjunto de fatores de ganho de sub-quadros para cada quadro é tipicamente quantizado usando-se um quantizador vetorial. A Figura 18 apresenta um exemplo simples de um mapeamento multidimensional tal como efetuado por um quantizador vetorial. Neste exemplo, o espaço de entrada está dividido em um certo número de regiões Voronoi (por exemplo, de acordo com um critério de vizinho mais próximo) . A quantização mapeia cada valor de entrada para um valor que representa a região Voronoi correspondente (tipicamente o centróide), aqui mostrado como um ponto. Neste exemplo, o espaço de entrada está dividido em seis regiões, de tal forma que qualquer valor de entrada possa ser representado por um índice possuindo apenas seis estados diferentes.
A Figura 19a apresenta outro exemplo de um mapeamento unidimensional tal como pode ser efetuado por um quantizador escalar. Neste exemplo, um espaço de entrada que se estende a partir de algum valor inicial a (por exemplo, O dB) até algum valor terminal b (por exemplo, 6 dB) está dividido em η regiões. Os valores em cada uma das η regiões são representados por um valor correspondente dentre η valores de quantização q[0] a q[n-l]. Em uma aplicação típica, o conjunto de η valores de quantização está disponível para o codificador e decodificador, de tal forma que a transmissão do índice de quantização (O a n-1) é suficiente para transferência do valor quantizado do codificador para o decodificador. Como exemplo, o conjunto de valores de quantização pode ser armazenado em uma tabela, livro código, ou lista ordenada no interior de cada dispositivo. Apesar de a Figura 19a apresentar um espaço de entrada dividido em η regiões de igual tamanho, pode ser desejável dividir o espaço de entrada usando regiões de diferentes tamanhos. É possível que um resultado médio mais acurado seja obtido pela distribuição dos valores de quantização de acordo com uma distribuição esperada dos dados de entrada. Como exemplo, pode ser desejável a obtenção de uma resolução mais elevada (isto é, regiões de quantização menores) em áreas do espaço de entrada que se espera serem observadas mais freqüentemente e uma resolução mais baixa em outros locais. A Figura 19b apresenta um exemplo de tal mapeamento. Como outro exemplo, os tamanhos das regiões de quantização aumentam a medida que a amplitude cresce de a para b (por exemplo, de forma logarítmica). Também podem ser usadas regiões de quantização de diferentes tamanhos na quantização vetorial (por exemplo, tal como mostrado na Figura 18) . Na quantização de fatores de ganho de nível de quadro s60bf, o quantizador 430 pode estar configurado para aplicar um mapeamento que é uniforme ou não uniforme, conforme desejado. De forma similar, na quantização de fatores de ganho de sub-quadros s60bs, o quantizador 430 pode estar configurado para aplicação de um mapeamento que é uniforme ou não uniforme, conforme desejado. O quantizador 430 pode ser implementado de modo a incluir quantizadores separados para os fatores s60bf e s60bs e/ou pode ser implementado para usar a mesma estrutura configurável e/ou o conjunto de instruções para quantizar as diferentes correntes de fatores de ganho em momentos diferentes.
Como foi acima descrito, os fatores de ganho de banda alta s60b codificam uma relação variável com o tempo entre um envelope do sinal de banda alta original s30 e um envelope de um sinal baseado no sinal de excitação de banda estreita s80 (por exemplo, o sinal de banda alta sintetizado sl30) . Tal relação pode ser reconstruída no decodificador de tal forma que os níveis relativos dos sinais decodificados de banda estreita e banda alta se aproximem daqueles componentes de banda estreita e banda alta do sinal de fala de banda larga original slO.
Um artefato audível pode ocorrer caso os níveis
relativos das várias sub-bandas em um sinal de fala decodificado não sejam acurados. Como exemplo, um artefato que pode ser notado pode ocorrer quando um sinal de banda alta decodificado possui um nível mais alto (por exemplo, uma energia maior) com referência a um sinal de banda estreita decodificado correspondente do que no sinal de fala original. Os artefatos audíveis podem prejudicar a experiência do usuário e reduzir a qualidade percebida do codificador. Para se obter um resultado perceptivamente bom, pode ser desejável que o codificador de sub-banda (por exemplo, o codificador de banda alta a200) seja conservador na alocação de energia para o sinal sintetizado. Como exemplo, pode ser desejável o uso de um método de quantização conservador para codificar um valor de fator de ganho para o sinal sintetizado.
Um artefato resultante de desequilíbrio de nível pode ser especialmente objetável para uma situação em que a excitação para a sub-banda amplificada seja derivada a partir de outra sub-banda. Tal artefato pode ocorrer quando, por exemplo, um fator de ganho de banda alta s60b é quantizado para um valor maior do que seu valor original. A Figura 19c ilustra um exemplo em que o valor quantizado para um valor de fator de ganho R é maior do que o valor original. 0 valor quantizado é aqui denotado como q[iR], em que iR indica o índice de quantização associado ao valor R e q[.] indica a operação de obtenção do valor de quantização identificado pelo índice em questão.
A Figura 20a apresenta um fluxograma para um método mlOO para limitação de fator de ganho de acordo com uma implementação geral. A tarefa tqlO calcula um valor R para um fator de ganho de uma parte (por exemplo, um quadro ou sub-quadro) de um sinal de sub-banda. Como exemplo, a tarefa tqlO pode estar configurada para calcular o valor R como a razão da energia do quadro de sub-banda original para a energia de um quadro de sub-banda sintetizado. Alternativamente, o valor de fator de ganho R pode ser um logaritmo (por exemplo, de base 10) de tal razão. A tarefa tqlO pode ser efetuada por uma implementação do calculador de fator de ganho de banda alta a230 tal como acima descrito.
A tarefa tq20 quantifica o valor de fator de ganho R. Tal quantização pode ser efetuada por qualquer método de quantização escalar (por exemplo, tal como aqui descrito) ou qualquer outro método considerado adequado para o esquema de codificador especifico, tal como um método de quantização vetorial. Em uma aplicação típica, a tarefa tq20 está configurada para identificar um indice de quantização iR correspondente ao valor de entrada R. Como exemplo, a tarefa tq20 pode estar configurada para selecionar o indice por comparação do valor de R com alimentações em uma lista, tabela, ou livro código de quantização, de acordo com um método de pesquisa desejado (por exemplo, um algoritmo de erro mínimo) . Neste exemplo é presumido que a tabela ou lista de quantização está configurada em ordem decrescente do método de pesquisa (isto é, de tal modo que q[i-l] < q[i]).
A tarefa tq30 avalia uma relação entre o valor de ganho quantizado e o valor original. Neste exemplo, a tarefa tq30 compara o valor de ganho quantizado com o valor original. Caso a tarefa tq30 constate que o valor quantizado de R não é maior do que o valor de entrada de R, então o método mlOO é terminado. No entanto, caso a tarefa tq30 encontre que o valor quantizado de R supera aquele de R, a tarefa tq50 é executada para selecionar um índice de quantização diferente para R. Como exemplo, a tarefa tq50 pode estar configurada para selecionar um indice que indique um valor de quantização menor do que q[iR].
Em uma implementação típica, a tarefa tq50 seleciona o próximo valor mais baixo na lista, tabela, ou livro código de quantização. A Figura 20b apresenta um f luxograma para uma implementação mllO do método mlOO que inclui tal implementação tq52 da tarefa tq50, em que a tarefa tq52 está configurada para decrementar o índice de quantização.
Em alguns casos, pode ser desejável permitir que o valor quantizado de R supere o valor de R por uma certa quantidade nominal. Como exemplo, pode ser desejável permitir que o valor quantizado de R supere o valor de R por uma certa quantidade ou proporção que se espera ter um efeito aceitavelmente baixo sobre a qualidade percebida. A Figura 20c apresenta um fluxograma para tal implementação ml20 do método mlOO. O método ml20 inclui uma implementação tq32 da tarefa tq30 que compara o valor quantizado de R com um limite superior maior do que R. Neste exemplo, a tarefa tq32 compara q[iR] com o produto de R e um limite tl, em que tl possui um valor maior do que a, porém próximo à, unidade I(por exemplo, 1,1 ou 1,2). Caso a tarefa tq32 constate que o valor quantizado é menor do que (alternativamente, não maior do que) o produto, então uma implementação da tarefa tq50 é executada. Outras implementações da tarefa tq30 podem estar configuradas para determinar se um diferença entre o valor de R e o valor quantizado de R é igual ou maior do que um limite.
É possível em alguns casos que a seleção de um valor de quantização mais baixo para R irá causar uma maior discrepância entre os sinais decodificados do que o valor de quantização original. Como exemplo, tal situação pode ocorrer quando q[iR-l] for muito menor do que o valor de R. Outras implementações do método mlOO incluem métodos em que a execução ou configuração da tarefa tq50 depende de teste do valor de quantização candidato (por exemplo, q[iR-l]).
A Figura 20d apresenta um fluxograma para tal implementação ml30 do método mlOO. 0 método ml30 inclui uma tarefa tq40 que compara o valor de quantização candidato (por exemplo, q[iR-l]) com um limite baixo menor do que R. Neste exemplo, a tarefa tq40 compara q[iR] com o produto de R e um limite t2, em que t2 possui um valor menor que a, porém próximo à, unidade (por exemplo, 0,8 ou 0,9) . Caso a tarefa tq40 constate que o valor de quantização candidato não é maior do que (alternativamente, é menor do que) o produto, então o método ml30 termina. Caso a tarefa tq40 constate que o valor de quantização é maior do que (alternativamente, não é menor do que) o produto, então uma implementação da tarefa tq50 é executada. Outras implementações da tarefa tq40 podem ser configuradas para determinar se uma diferença entre o valor de quantização candidato e o valor de R é igual que e/ou supera um limite.
Uma implementação do método mlOO pode ser aplicada aos fatores de ganho de nivel de quadro s60bf e/ou aos fatores de ganho de sub-quadros s60bs. Em uma aplicação típica, tal método é aplicado somente aos fatores de ganho de nível de quadro. Caso o método selecione um novo índice de quantização para um fator de ganho de nível de quadro, pode ser desejável recalcular os fatores de ganho de sub- quadros s60bs correspondentes com base no novo valor quantizado do fator de ganho de nível de quadro. Alternativamente, o cálculo dos fatores de ganho de sub- quadros s60bs pode ser configurado para ocorrer após um método de limitação de fator de ganho ter sido efetuado sobre o correspondente fator de ganho de nível de quadro.
A Figura 21 apresenta um diagrama de blocos de uma implementação a203 do codificador de banda alta a202. O codificador a203 inclui um limitador de fator de ganho 110 que está configurado para receber os valores de fator de ganho quantizados e seus valores originais (isto é, antes da quantização). 0 limitador 110 está configurado para emitir fatores de ganho de banda alta s60b de acordo com uma relação entre tais valores. Como exemplo, o limitador 110 pode estar configurado para efetuar uma implementação do método mlOO tal como aqui descrito para emitir fatores de ganho de banda alta s60b na forma de uma ou mais correntes de Índices de quantização. A Figura 22 apresenta um diagrama de blocos de uma implementação a204 do codificador de banda alta a203 que está configurada para emitir fatores de ganho de sub-quadros s60bs tal como produzidos pelo quantizador 430 e para emitir fatores de ganho de nível de quadro s60bf através do limitador 110.
A Figura 23a apresenta um diagrama operacional para uma implementação 112 do limitador 110. O limitador 112 compara os valores pré e pós-quantização de R para determinar se q[iR] é maior que R. Caso tal expressão seja verdadeira, então o limitador 112 seleciona outro índice de quantização, decrementando o valor do índice iR em um para produzir um novo valor quantizado para R. Caso contrário, o valor do índice iR não é modificado.
A Figura 23b apresenta um diagrama operacional para outra implementação 114 do limitador 110. neste exemplo, o valor quantizado é comparado ao produto do valor de R e um limite tl, em que tl possui um valor maior do que, porém próximo à unidade (por exemplo, 1,1 ou 1,2) . Caso q[iR] é maior (alternativamente, não menor que) tlR, o limitador 114 decrementa o valor do índice iR.
A Figura 23c apresenta um diagrama operacional para outra implementação 116 do limitador 110, que está configurada para determinar se o valor de quantização proposto para substituir o corrente está próximo o suficiente ao valor original de R. Como exemplo, o limitador 116 pode estar configurado para efetuar uma comparação adicional para determinar se o próximo valor de quantização indexado menor (por exemplo, q[iR-l]) está dentro de uma distância especificada, ou dentro de uma proporção especificada, do valor pré-quantizado de R. Neste exemplo especifico, o valor de quantização candidato é comparado ao produto do valor de R e um limite t2, em que t2 possui um valor menor que, porém próximo à unidade (por exemplo, 0,8 ou 0,9). Caso q[iR-l] seja menor do que (alternativamente, não maior do que) t2R, a comparação falha. Caso qualquer das comparações efetuadas com q[ÍR] e q[±R—1] falhe, o valor do índice iR não é modificado.
É possível que variações entre fatores de ganho dêem origem a artefatos no sinal decodificado, podendo ser desejável configurar o codificador de banda alta a200 para efetuar um método para uniformização do fator de ganho (por exemplo, pela aplicação de um filtro de uniformização tal como um filtro IIR de uma tomada) . Tal uniformização pode ser aplicada aos fatores de ganho de nível de quadro s60bf e/ou aos fatores de ganho de sub-quadros s60bs. Em tal caso, uma implementação do limitador 110 e/ou do método mlOO tal como aqui descrito pode ser configurada para comparar o valor quantizado iR com o valor pré-normalizado de R. Uma descrição adicional e figuras relacionadas a tal uniformização de fator de ganho podem ser encontradas no Pedido de Patente U.S. N2 de Série 11 / 408 390 (de Vos et al.), intitulado "SYSTEMS, METHODS, AND APPARATUS FOR GAIN FACTOR SMOOTHING", depositado em 21 de abril de 2006, nas Figuras 48 a 55b e no texto correspondente (incluindo os parágrafos [000254] a [000272]), sendo tal material aqui incorporado pela presente referência, nos EUA e em qualquer outra jurisdição que permita tal incorporação por referência, com o propósito de prover uma descrição adicional relacionada à uniformização de fator de ganho.
Caso um sinal de entrada para um quantizador seja muito uniforme, pode algumas vezes acontecer que a saída / emissão quantificada seja muito menos uniforme, de acordo com um "degrau" mínimo entre valores no espaço de saída da quantização. Tal efeito pode levar a artefatos audíveis, podendo ser desejável reduzir seu efeito para fatores de ganho. Em alguns casos, o desempenho de quantização de fator de ganho pode ser melhorado por implementação do quantizador 430 de modo a incorporar conformação de ruído temporal. Tal conformação pode ser aplicada aos fatores de ganho de nível de quadro s60bf e/ou aos fatores de ganho de sub-quadros s60bs. Uma descrição adicional e figuras relacionadas à quantização de fatores de ganho utilizando conformação de ruído temporal podem ser encontradas no Pedido de Patente U.S. N2 de Série 11 / 408 390, nas Figuras 48 a 55b e no texto correspondente (incluindo os parágrafos [000254] a [000272]), sendo tal material aqui incorporado pela presente referência, nos EUA e em qualquer outra jurisdição que permita tal incorporação por referência, com o propósito de prover uma descrição adicional relacionada à quantização de fatores de ganho usando-se conformação de ruído temporal.
Para um caso em que o sinal de excitação de banda
alta sl20 é derivado a partir de uma sinal de excitação que foi regularizado, pode ser desejado distorcer temporalmente o envelope temporal do sinal de banda alta s30 de acordo com a distorção de tempo do sinal de excitação fonte. Uma descrição adicional e figuras relacionadas a tal distorção de tempo podem ser encontradas no Pedido de Patente U.S. de Vos et al. Intitulado "SYSTEMS, METHODS, AND APPARATUS FOR HIGH BAND TIME WARPING", depositado em 3 de abril de 2006, referência do agente N2 050550 nas Figuras 25 a 29 e no texto correspondente (incluindo os parágrafos [000157] a [000187]), sendo tal material aqui incorporado pela presente referência, nos EUA e em qualquer outra jurisdição que permita tal incorporação por referência, com o propósito de prover uma descrição adicional relacionada à distorção temporal do envelope temporal do sinal de banda alta s30.
Um certo grau de similaridade entre o sinal de banda alta s30 e o sinal de banda alta sintetizado sl30 pode indicar quão bem o sinal de banda alta decodificado slOO será semelhante ao sinal de banda alta s30. especificamente, uma similaridade entre os envelopes temporais do sinal de banda alta s30 e do sinal de banda alta sintetizado sl30 pode indicar que o sinal de banda alta decodificado slOO deve possuir uma boa qualidade de som e ser perceptivamente similar ao sinal de banda alta s30. Uma grande variação ao longo do tempo entre os envelopes pode ser tomada como uma indicação de que o sinal sintetizado é muito diferente do original e, em tal caso, pode ser desejável identificar e atenuar tais fatores de ganho antes da quantização. Uma descrição adicional e figuras relacionadas a tal atenuação de fator de ganho podem ser encontradas no Pedido de Patente U.S. de Vos et al. Intitulado "SYSTEMS, METHODS, AND APPARATUS FOR GAIN FACTOR ATTENUATION", depositado em 21 de abril de 2006, referência do agente N- 050558 nas Figuras 34 a 39 e no texto correspondente (incluindo os parágrafos [000222] a [000236]), sendo tal material aqui incorporado pela presente referência, nos EUA e em qualquer outra jurisdição que permita tal incorporação por referência, com o propósito de prover uma descrição adicional relacionada à atenuação de fator de ganho.
A Figura 24 apresenta um diagrama de blocos de uma implementação b202 do decodificador de banda alta b200. O decodif icador de banda alta b202 inclui um gerador de excitação de banda alta b300 que está configurado para a produção do sinal de excitação de banda alta sl20 com base no sinal de excitação de banda estreita s80. Dependendo das escolhas especificas do projeto do sistema, o gerador de excitação de banda alta b300 pode ser implementado de acordo com qualquer uma das implementações do gerador de excitação de banda alta b300 aqui descritas. Tipicamente, é desejável implementar o gerador de excitação de banda alta b300 de modo a possuir a mesma resposta que o gerador de excitação de banda alta do codificador de banda alta do sistema de codificação especifico. No entanto, dado que o decodificador de banda estreita bllO irá tipicamente efetuar a dequantização do sinal de excitação de banda estreita codificado s50, na maioria dos casos o gerador de excitação de banda alta b300 pode ser implementado para receber o sinal de excitação de banda estreita s80 a partir do decodificador de banda estreita bllO e não necessita incluir um quantizador inverso configurado para dequantizar o sinal de excitação de banda estreita codificado s50. É também possível que o decodificador de banda estreita bllO seja implementado de modo a incluir um caso do filtro anti- espalhamento 600 configurado para filtrar o sinal de excitação de banda estreita dequantizado antes que ele seja alimentado a um filtro de síntese de banda estreita tal como o filtro 330.
0 quantizador inverso 560 está configurado para dequantizar os parâmetros de filtro de banda alta s60a (neste exemplo para um conjunto de LSF) e a transformada de coeficiente de filtro LSF para LP 570 está configurada para transformar os LSF para um conjunto de coeficientes de filtro (por exemplo, tal como acima descrito com referência ao quantizador inverso 240 e transformada 250 do codificador de banda estreita al22). Em outras implementações, como foi acima mencionado, podem ser usados diferentes conjuntos de coeficientes (por exemplo, coeficientes cepstral) e/ou representações de coeficientes (por exemplo, ISP) . O filtro de síntese de banda alta b200 está configurado para a produção de um sinal de banda alta sintetizado de acordo com o sinal de excitação de banda alta sl20 e o conjunto de coeficientes de filtro. Para um sistema em que o codificador de banda alta inclui um filtro de síntese (por exemplo, tal como no caso do codificador a202 acima descrito), pode ser desejável implementar o filtro de síntese de banda alta b200 de modo a possuir a mesma resposta (por exemplo, a mesma função de transferência) que aquele filtro de síntese.
O decodificador de banda alta b202 inclui também um quantizador inverso 580 configurado para dequantizar os fatores de ganho de banda alta s60b e um elemento de controle de ganho 590 (por exemplo, um multiplicador ou amplificador) configurados e dispostos para aplicar os fatores de ganho dequantizados ao sinal de banda alta sintetizado para produzir o sinal de banda alta slOO. para um caso em que o envelope de ganho de um quadro é especificado por mais de um fator de ganho, o elemento de controle de ganho 590 pode incluir uma lógica configurada para aplicar os fatores de ganho aos respectivos sub- quadros, possivelmente de acordo com uma função de janela que pode ser a mesma ou diferente da função de janela aplicada por um calculador de ganho (por exemplo, o calculador de ganho de banda alta a230) do correspondente codificador de banda alta. Em outras implementações do decodificador de banda alta b202, o elemento de controle de ganho 590 está configurado de modo similar, porém está disposto para a aplicação dos fatores de ganho dequantizados ao sinal de excitação de banda estreita s80 ou ao sinal de excitação de banda alta sl20. O elemento de controle de ganho 590 pode também ser implementado para a aplicação de fatores de ganho em mais de uma resolução temporal (por exemplo, para normalizar o sinal de entrada de acordo com um fator de ganho de nível de quadro e para conformar o sinal resultante de acordo com um conjunto de fatores de ganho de sub-quadros).
Uma implementação do decodificador de banda estreita bllO de acordo com um modelo tal como o apresentado na Figura 8 pode estar configurada para emitir o sinal de excitação de banda estreita s80 para o decodificador de banda alta b200 após a estrutura de longo prazo (estrutura harmônica ou de passo) ter sido restaurada. Como exemplo, tal decodificador pode estar configurado para emitir o sinal de excitação de banda estreita s80 como uma versão dequantifiçada do sinal de excitação de banda estreita codificado s50. Naturalmente, é também possível implementar o decodificador de banda estreita bllO de tal forma que o decodif icador de banda alta b200 efetue a dequantização do sinal de excitação de banda estreita codificado s50 para obtenção do sinal de excitação de banda estreita s80.
Apesar de serem em grande parte descritos como aplicados à codificação de banda alta, os princípios aqui descritos podem ser aplicados a qualquer codificação de uma sub-banda de um sinal de fala em relação a outra sub-banda do sinal de fala. Como exemplo, o banco de filtros do codificador pode estar configurado para emitir um sinal de banda baixa para um codificador de banda baixa (como alternativa ou em adição a um ou mais sinais de banda alta) e o codificador de banda baixa pode estar configurado para efetuar uma análise espectral do sinal de banda baixa, para estender o sinal de excitação de banda estreita codificado e para calcular um envelope de ganho para o sinal de banda baixa codificado em relação ao sinal de banda baixa original. Para cada uma de tais operações, é expressamente contemplado e aqui descrito que o codificador de banda baixa pode estar configurado para efetuar tal operação de acordo com qualquer da ampla gama de variações aqui descritas.
A apresentação acima das configurações descritas é provida para permitir que os técnicos na área efetuem ou façam uso dos princípios e estruturas aqui descritos. Várias modificações são possíveis para tais configurações e os princípios genéricos aqui apresentados podem ser também aplicados a outras configurações. Como exemplo, uma configuração pode ser implementada em parte ou no todo na forma de um circuito "hard-wired", na forma de uma configuração de circuito produzida em um circuito integrado específico para aplicação, ou na forma de um programa de firmware carregado em armazenamento não volátil, ou um programa de software carregado a partir de um, ou para um, meio para armazenamento de dados na forma de um código para leitura por máquina, tal código consistindo de instruções para execução por um arranjo de elementos lógicos, tal como um microprocessador ou outra unidade de processamento de sinais digitais. 0 meio para armazenamento de dados pode ser um arranjo de elementos de armazenamento tais como uma memória de semicondutor (a qual pode incluir, sem qualquer limitação, uma RAM - memória de acesso aleatório - dinâmica ou estática), ROM (memória apenas para leitura) e/ou RAM flash), ou uma memória ferro elétrica, magneto resistiva, ovônica, polimérica, ou de mudança de fase; ou um meio de disco, tal como um disco magnético ou óptico. 0 termo "software" deve ser considerado como incluindo um código fonte, um código de linguagem Assembly, um código de máquina, um código binário, firmware, macro código, micro código, qualquer um dentre um ou mais conjuntos ou seqüências de instruções para execução por um arranjo de elementos lógicos, bem como quaisquer combinações de tais exemplos.
Os vários elementos de implementações do calculador de fator de ganho de banda alta a230, do codificador de banda alta a200, do decodif icador de banda alta b200, do codificador de fala de banda larga alOO e do decodificador de fala de banda larga blOO podem ser implementados na forma de dispositivos ópticos e/ou eletrônicos residentes, por exemplo, no mesmo chip ou entre dois ou mais chips em um conjunto de chips, apesar de outras disposições sem tal limitação serem também contempladas. Um ou mais elementos de tal equipamento (por exemplo, o calculador de fator de ganho de banda alta a230, o quantizador 430 e/ou o limitador 110) podem ser implementados no todo ou em parte na forma de um ou mais conjuntos de instruções configurados para execução em um ou mais arranjos fixos ou programáveis de elementos lógicos (por exemplo, transistores, portas) tais como microprocessadores, processadores embutidos, núcleos IP, processadores de sinais digitais, arranjos de porta programáveis no campo (FPGAs), produtos padrão específicos para aplicativo (ASSPs) e circuitos integrados específicos para aplicação (ASICs) . É também possível que um ou mais de tais elementos possuam uma estrutura em comum (por exemplo, um processador usado para executar partes de um código correspondente a diferentes elementos em momentos diferentes, um conjunto de instruções executadas para efetuar tarefas correspondentes a diferentes elementos em diferentes momentos, ou uma disposição de dispositivos ópticos e/ou eletrônicos efetuando operações para diferentes elementos em momentos diferentes). Além disso, é possível que um ou mais de tais elementos sejam usados para efetuar tarefas ou executar outros conjuntos de instruções que não estão diretamente relacionados a uma operação do equipamento, tal como uma tarefa relacionada a outra operação de um dispositivo ou sistema em que o equipamento está embutido.
As configurações incluem também métodos adicionais de codificação de fala, codificação e decodificação tal como expressamente aqui descritos, por exemplo por descrições de estruturas configuradas para efetuar tais métodos. Cada um de tais métodos pode também estar incorporado (por exemplo, em um ou mais meios para armazenamento de dados tal como acima descritos) na forma de um ou mais conjuntos de instruções para leitura ou execução por uma máquina, incluindo um arranjo de elementos lógicos (por exemplo, um processador, um microprocessador, um micro controlador, ou outra máquina de estado finito). Dessa forma, a presente invenção não deve ser limitada às configurações acima descritas, mas deve receber o escopo mais amplo consistente com os princípios e características novas aqui descritos em qualquer forma, inclusive nas reivindicações anexas tal como depositadas, as quais fazem parte da descrição original.
Claims (37)
1. Um método para processamento de fala, o método compreendendo: com base em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub- banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala, calcular um valor de um fator de ganho; de acordo com o valor de fator de ganho, selecionar um primeiro índice para um conjunto ordenado de valores de quantização; avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice; e de acordo com um resultado da avaliação, selecionar um segundo índice para o conjunto ordenado de valores de quantização.
2. O método para processamento de fala, de acordo com a reivindicação 1, no qual a parte no tempo do primeiro sinal consiste de um quadro do primeiro sinal e em que a parte correspondente no tempo do segundo sinal é um quadro do segundo sinal.
3. O método para processamento de fala, de acordo com a reivindicação 1, no qual a primeira sub-banda é um sinal de banda alta e em que a segunda sub-banda é um sinal de banda estreita.
4. O método para processamento de fala, de acordo com a reivindicação 1, no qual a primeira sub-banda é um sinal de banda alta e em que o segundo sinal é uma versão sintetizada do sinal de banda alta.
5. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o segundo sinal está baseado em um componente derivado a partir da primeira sub- banda.
6. 0 método para processamento de fala, de acordo com a reivindicação 5, no qual o componente derivado a partir da primeira sub-banda é um envelope espectral da primeira sub-banda.
7. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o componente derivado a partir de uma segunda sub-banda do sinal de fala é um sinal de excitação codificado.
8. 0 método para processamento de fala, de acordo com a reivindicação 7, no qual o segundo sinal esta baseado em um envelope espectral da primeira sub-banda.
9. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual a relação entre uma parte no tempo do primeiro sinal e uma parte correspondente no tempo do segundo sinal é uma relação entre uma medida de energia da parte no tempo do primeiro sinal e uma medida de energia da parte correspondente no tempo do segundo sinal.
10. O método para processamento de fala, de acordo com a reivindicação 9, no qual o calcular um valor de fator de ganho compreende calcular o valor de fator de ganho com base em uma razão entre a medida de energia da parte no tempo do primeiro sinal e a medida de energia da parte correspondente no tempo do segundo sinal.
11. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o selecionar um primeiro índice compreende comparar o valor de fator de ganho com cada um dentre uma pluralidade dos valores de quantização.
12. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o primeiro índice indica o valor de quantização dentre o conjunto ordenado que está mais próximo ao valor de fator de ganho.
13. O método para processamento de fala, de acordo com a reivindicação 1, no qual o avaliar uma relação compreende determinar se o valor de quantização indicado pelo primeiro índice supera o valor do fator de ganho.
14. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o avaliar uma relação compreende pelo menos um dentre (c) determinar se o valor de quantização indicado pelo primeiro índice supera o valor de fator de ganho por uma quantidade específica e (d) determinar se o valor de quantização indicado pelo primeiro índice supera o valor de fator de ganho por uma proporção específica do valor de fator de ganho.
15. O método para processamento de fala, de acordo com a reivindicação 1, no qual o selecionar um segundo índice compreende decrementar o primeiro índice.
16. O método para processamento de fala, de acordo com a reivindicação 1, no qual o segundo índice indica um valor de quantização que é menor do que o valor de quantização indicado pelo primeiro índice.
17. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o segundo índice indica o valor de quantização dentre o conjunto ordenado que está mais próximo do valor de fator de ganho sem superar o valor de fator de ganho.
18. 0 método para processamento de fala, de acordo com a reivindicação 1, no qual o selecionar um segundo índice compreende avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo segundo índice.
19. 0 método para processamento de fala, de acordo com a reivindicação 18, no qual o avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo segundo índice compreende determinar se o valor de quantização indicado pelo segundo índice está dentro de uma proporção especifica do valor de fator de ganho.
20. Um produto de programa de computador, compreendendo: um meio para leitura por computador compreendendo: um código para levar pelo menos um computador, com base em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub-banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala, a calcular um valor de um fator de ganho; um código para levar pelo menos um computador, de acordo com o valor de fator de ganho, a selecionar um primeiro índice para um conjunto ordenado de valores de quantização; um código para levar pelo menos um computador, a avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice; e um código para levar pelo menos um computador, de acordo com um resultado da avaliação, a selecionar um segundo índice para o conjunto ordenado de valores de quantização.
21. Um equipamento para processamento de fala, o equipamento compreendendo: um calculador para calcular um valor de fator de ganho baseado em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub-banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala; um quantizador configurado para selecionar, de acordo com o valor de fator de ganho, um primeiro índice para um conjunto ordenado de valores de quantização; e um limitador configurado (a) para avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice e (b) para selecionar, de acordo com um resultado da avaliação, um segundo índice para o conjunto ordenado de valores de quantização.
22. 0 equipamento, de acordo com a reivindicação 21, no qual a parte no tempo do primeiro sinal consiste de um quadro do primeiro sinal e em que a parte correspondente no tempo do segundo sinal é um quadro do segundo sinal.
23. 0 equipamento, de acordo com a reivindicação 21, no qual a primeira sub-banda é um sinal de banda alta e em que a segunda sub-banda é um sinal de banda estreita.
24. 0 equipamento, de acordo com a reivindicação 21, no qual o componente derivado a partir de uma segunda sub-banda do sinal de fala é um sinal de excitação codificado.
25. 0 equipamento, de acordo com a reivindicação 24, no qual o segundo sinal está baseado em um envelope espectral da primeira sub-banda.
26. 0 equipamento, de acordo com a reivindicação 21, no qual o calculador está configurado para calcular o valor de fator de ganho com base em uma medida de energia da parte no tempo do primeiro sinal e uma medida de energia da parte correspondente no tempo do segundo sinal.
27. 0 equipamento, de acordo com a reivindicação 21, no qual o limitador está configurado para avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice por determinar se o valor de quantização indicado pelo primeiro índice supera o valor de fator de ganho.
28. 0 equipamento, de acordo com a reivindicação 21, no qual o limitador está configurado para avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice por pelo menos dentre (c) determinar se o valor de quantização indicado pelo primeiro índice supera o valor de fator de ganho por uma quantidade específica e (d) determinar se o valor de quantização indicado pelo primeiro índice supera o valor de fator de ganho por uma proporção específica do valor de fator de ganho.
29. 0 equipamento, de acordo com a reivindicação 21, no qual o segundo índice indica o valor de quantização dentre o conjunto ordenado que está mais próximo do valor de fator de ganho sem superar o valor de fator de ganho.
30. O equipamento, de acordo com a reivindicação 21, no qual o limitador está configurado para determinar se o valor de quantização indicado pelo segundo índice está dentro de uma proporção específica do valor de fator de ganho.
31. O equipamento, de acordo com a reivindicação 21, compreendendo um telefone celular possuindo um codificador que inclui o calculador, o quantizador e o limitador.
32. O equipamento, de acordo com a reivindicação 21, compreendendo um dispositivo configurado para transmitir uma pluralidade de pacotes possuindo um formato de acordo com uma versão do protocolo Internet, em que a pluralidade de pacotes inclui parâmetros codificando a primeira sub-banda, parâmetros codificando a segunda sub- banda e o segundo índice.
33. Um equipamento para processamento de fala, o equipamento compreendendo: dispositivos para calcular um valor de fator de ganho baseado em uma relação entre (a) uma parte no tempo de um primeiro sinal baseado em uma primeira sub-banda de um sinal de fala e (b) uma parte correspondente no tempo de um segundo sinal baseado em um componente derivado a partir de uma segunda sub-banda do sinal de fala; dispositivos para selecionar, de acordo com o valor de fator de ganho, um primeiro índice para um conjunto ordenado de valores de quantização; e dispositivos para avaliar uma relação entre o valor de fator de ganho e um valor de quantização indicado pelo primeiro índice e para selecionar, de acordo com um resultado da avaliação, um segundo índice para o conjunto ordenado de valores de quantização.
34. 0 equipamento, de acordo com a reivindicação 33, no qual o componente derivado a partir de uma segunda sub-banda do sinal de fala é um sinal de excitação codificado.
35. 0 equipamento, de acordo com a reivindicação 34, no qual o segundo sinal está baseado em um envelope espectral da primeira sub-banda.
36. 0 equipamento, de acordo com a reivindicação 33, no qual os dispositivos para calcular estão configurados para calcular o valor de fator de ganho com base em uma razão entre uma medida de energia da parte no tempo do primeiro sinal e uma medida de energia da parte correspondente no tempo do segundo sinal.
37. 0 equipamento, de acordo com a reivindicação 33, no qual o segundo índice indica o valor de quantização entre o conjunto ordenado que está mais próximo ao valor de fator de ganho sem superar o valor de fator de ganho.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US83465806P | 2006-07-31 | 2006-07-31 | |
| US60/834,658 | 2006-07-31 | ||
| US11/610,104 US9454974B2 (en) | 2006-07-31 | 2006-12-13 | Systems, methods, and apparatus for gain factor limiting |
| US11/610,104 | 2006-12-13 | ||
| PCT/US2007/074794 WO2008030673A2 (en) | 2006-07-31 | 2007-07-31 | Systems, methods, and apparatus for gain factor limiting |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0715516A2 true BRPI0715516A2 (pt) | 2013-07-09 |
| BRPI0715516B1 BRPI0715516B1 (pt) | 2019-12-10 |
Family
ID=38987459
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0715516-6A2 BRPI0715516B1 (pt) | 2006-07-31 | 2007-07-31 | sistemas, métodos e equipamentos para limitar fator de ganho |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US9454974B2 (pt) |
| EP (1) | EP2047466B1 (pt) |
| JP (1) | JP5290173B2 (pt) |
| KR (1) | KR101078625B1 (pt) |
| CN (1) | CN101496101B (pt) |
| BR (1) | BRPI0715516B1 (pt) |
| CA (1) | CA2657910C (pt) |
| ES (1) | ES2460893T3 (pt) |
| RU (1) | RU2420817C2 (pt) |
| TW (1) | TWI352972B (pt) |
| WO (1) | WO2008030673A2 (pt) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1989548B (zh) * | 2004-07-20 | 2010-12-08 | 松下电器产业株式会社 | 语音解码装置及补偿帧生成方法 |
| US8135588B2 (en) * | 2005-10-14 | 2012-03-13 | Panasonic Corporation | Transform coder and transform coding method |
| KR101413968B1 (ko) * | 2008-01-29 | 2014-07-01 | 삼성전자주식회사 | 오디오 신호의 부호화, 복호화 방법 및 장치 |
| US8326641B2 (en) * | 2008-03-20 | 2012-12-04 | Samsung Electronics Co., Ltd. | Apparatus and method for encoding and decoding using bandwidth extension in portable terminal |
| KR101614160B1 (ko) * | 2008-07-16 | 2016-04-20 | 한국전자통신연구원 | 포스트 다운믹스 신호를 지원하는 다객체 오디오 부호화 장치 및 복호화 장치 |
| JP4932917B2 (ja) * | 2009-04-03 | 2012-05-16 | 株式会社エヌ・ティ・ティ・ドコモ | 音声復号装置、音声復号方法、及び音声復号プログラム |
| JP5544371B2 (ja) * | 2009-10-14 | 2014-07-09 | パナソニック株式会社 | 符号化装置、復号装置およびこれらの方法 |
| PL2510515T3 (pl) * | 2009-12-07 | 2014-07-31 | Dolby Laboratories Licensing Corp | Dekodowanie wielokanałowych zakodowanych strumieni bitów dźwięku stosując adaptacyjną transformatę hybrydową |
| WO2012108798A1 (en) | 2011-02-09 | 2012-08-16 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient encoding/decoding of audio signals |
| MX2013009148A (es) * | 2011-02-16 | 2013-08-29 | Dolby Lab Licensing Corp | Metodos y sistemas para generar coeficientes filtro y configurar filtros. |
| CN105469805B (zh) * | 2012-03-01 | 2018-01-12 | 华为技术有限公司 | 一种语音频信号处理方法和装置 |
| EP3611728A1 (en) * | 2012-03-21 | 2020-02-19 | Samsung Electronics Co., Ltd. | Method and apparatus for high-frequency encoding/decoding for bandwidth extension |
| CN103928031B (zh) * | 2013-01-15 | 2016-03-30 | 华为技术有限公司 | 编码方法、解码方法、编码装置和解码装置 |
| US9601125B2 (en) | 2013-02-08 | 2017-03-21 | Qualcomm Incorporated | Systems and methods of performing noise modulation and gain adjustment |
| CN105324982B (zh) * | 2013-05-06 | 2018-10-12 | 波音频有限公司 | 用于抑制不需要的音频信号的方法和设备 |
| FR3007563A1 (fr) * | 2013-06-25 | 2014-12-26 | France Telecom | Extension amelioree de bande de frequence dans un decodeur de signaux audiofrequences |
| FR3008533A1 (fr) * | 2013-07-12 | 2015-01-16 | Orange | Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences |
| EP2830064A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection |
| US9384746B2 (en) * | 2013-10-14 | 2016-07-05 | Qualcomm Incorporated | Systems and methods of energy-scaled signal processing |
| KR102271852B1 (ko) * | 2013-11-02 | 2021-07-01 | 삼성전자주식회사 | 광대역 신호 생성방법 및 장치와 이를 채용하는 기기 |
| CN104681032B (zh) * | 2013-11-28 | 2018-05-11 | 中国移动通信集团公司 | 一种语音通信方法和设备 |
| US10163447B2 (en) * | 2013-12-16 | 2018-12-25 | Qualcomm Incorporated | High-band signal modeling |
| US9564141B2 (en) * | 2014-02-13 | 2017-02-07 | Qualcomm Incorporated | Harmonic bandwidth extension of audio signals |
| CN106409304B (zh) * | 2014-06-12 | 2020-08-25 | 华为技术有限公司 | 一种音频信号的时域包络处理方法及装置、编码器 |
| CN105225671B (zh) * | 2014-06-26 | 2016-10-26 | 华为技术有限公司 | 编解码方法、装置及系统 |
| US9984699B2 (en) * | 2014-06-26 | 2018-05-29 | Qualcomm Incorporated | High-band signal coding using mismatched frequency ranges |
| US9595269B2 (en) * | 2015-01-19 | 2017-03-14 | Qualcomm Incorporated | Scaling for gain shape circuitry |
| US10020002B2 (en) * | 2015-04-05 | 2018-07-10 | Qualcomm Incorporated | Gain parameter estimation based on energy saturation and signal scaling |
| US10499165B2 (en) * | 2016-05-16 | 2019-12-03 | Intricon Corporation | Feedback reduction for high frequencies |
| TWI594231B (zh) * | 2016-12-23 | 2017-08-01 | 瑞軒科技股份有限公司 | 分頻壓縮電路,音訊處理方法以及音訊處理系統 |
| CN118890699A (zh) * | 2018-08-21 | 2024-11-01 | 苹果公司 | 在未授权频谱上操作的新无线电(nr)系统中的宽带传输的传输带宽指示 |
Family Cites Families (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2893691B2 (ja) | 1988-11-25 | 1999-05-24 | ソニー株式会社 | デイジタル信号処理装置 |
| JPH0828875B2 (ja) | 1989-08-21 | 1996-03-21 | 三菱電機株式会社 | 符号化装置および復号化装置 |
| IT1257431B (it) * | 1992-12-04 | 1996-01-16 | Sip | Procedimento e dispositivo per la quantizzazione dei guadagni dell'eccitazione in codificatori della voce basati su tecniche di analisi per sintesi |
| JP3498375B2 (ja) | 1994-07-20 | 2004-02-16 | ソニー株式会社 | ディジタル・オーディオ信号記録装置 |
| JPH08123500A (ja) | 1994-10-24 | 1996-05-17 | Matsushita Electric Ind Co Ltd | ベクトル量子化装置 |
| AU683058B2 (en) | 1995-04-19 | 1997-10-30 | Motorola, Inc. | Method and apparatus for low rate coding and decoding |
| JP3707116B2 (ja) | 1995-10-26 | 2005-10-19 | ソニー株式会社 | 音声復号化方法及び装置 |
| JP3353266B2 (ja) | 1996-02-22 | 2002-12-03 | 日本電信電話株式会社 | 音響信号変換符号化方法 |
| EP0878790A1 (en) * | 1997-05-15 | 1998-11-18 | Hewlett-Packard Company | Voice coding system and method |
| US6260010B1 (en) * | 1998-08-24 | 2001-07-10 | Conexant Systems, Inc. | Speech encoder using gain normalization that combines open and closed loop gains |
| US6397178B1 (en) * | 1998-09-18 | 2002-05-28 | Conexant Systems, Inc. | Data organizational scheme for enhanced selection of gain parameters for speech coding |
| US6324505B1 (en) * | 1999-07-19 | 2001-11-27 | Qualcomm Incorporated | Amplitude quantization scheme for low-bit-rate speech coders |
| US6782360B1 (en) | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
| US7260523B2 (en) | 1999-12-21 | 2007-08-21 | Texas Instruments Incorporated | Sub-band speech coding system |
| US6704711B2 (en) | 2000-01-28 | 2004-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for modifying speech signals |
| US6732070B1 (en) | 2000-02-16 | 2004-05-04 | Nokia Mobile Phones, Ltd. | Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching |
| US6947888B1 (en) * | 2000-10-17 | 2005-09-20 | Qualcomm Incorporated | Method and apparatus for high performance low bit-rate coding of unvoiced speech |
| CA2327041A1 (en) | 2000-11-22 | 2002-05-22 | Voiceage Corporation | A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals |
| US7003454B2 (en) * | 2001-05-16 | 2006-02-21 | Nokia Corporation | Method and system for line spectral frequency vector quantization in speech codec |
| US7406411B2 (en) * | 2001-08-17 | 2008-07-29 | Broadcom Corporation | Bit error concealment methods for speech coding |
| US6988066B2 (en) | 2001-10-04 | 2006-01-17 | At&T Corp. | Method of bandwidth extension for narrow-band speech |
| US6895375B2 (en) | 2001-10-04 | 2005-05-17 | At&T Corp. | System for bandwidth extension of Narrow-band speech |
| US20040002856A1 (en) | 2002-03-08 | 2004-01-01 | Udaya Bhaskar | Multi-rate frequency domain interpolative speech CODEC system |
| US7047188B2 (en) | 2002-11-08 | 2006-05-16 | Motorola, Inc. | Method and apparatus for improvement coding of the subframe gain in a speech coding system |
| US7242763B2 (en) | 2002-11-26 | 2007-07-10 | Lucent Technologies Inc. | Systems and methods for far-end noise reduction and near-end noise compensation in a mixed time-frequency domain compander to improve signal quality in communications systems |
| ATE368279T1 (de) * | 2003-05-01 | 2007-08-15 | Nokia Corp | Verfahren und vorrichtung zur quantisierung des verstärkungsfaktors in einem breitbandsprachkodierer mit variabler bitrate |
| US20050004793A1 (en) * | 2003-07-03 | 2005-01-06 | Pasi Ojala | Signal adaptation for higher band coding in a codec utilizing band split coding |
| FI118550B (fi) | 2003-07-14 | 2007-12-14 | Nokia Corp | Parannettu eksitaatio ylemmän kaistan koodaukselle koodekissa, joka käyttää kaistojen jakoon perustuvia koodausmenetelmiä |
| US7613607B2 (en) * | 2003-12-18 | 2009-11-03 | Nokia Corporation | Audio enhancement in coded domain |
| FI119533B (fi) * | 2004-04-15 | 2008-12-15 | Nokia Corp | Audiosignaalien koodaus |
| WO2006049205A1 (ja) | 2004-11-05 | 2006-05-11 | Matsushita Electric Industrial Co., Ltd. | スケーラブル復号化装置およびスケーラブル符号化装置 |
| SI1875463T1 (sl) | 2005-04-22 | 2019-02-28 | Qualcomm Incorporated | Sistemi, postopki in naprava za glajenje faktorja ojačenja |
| US7177804B2 (en) * | 2005-05-31 | 2007-02-13 | Microsoft Corporation | Sub-band voice codec with multi-stage codebooks and redundant coding |
-
2006
- 2006-12-13 US US11/610,104 patent/US9454974B2/en active Active
-
2007
- 2007-07-31 KR KR1020097001288A patent/KR101078625B1/ko active Active
- 2007-07-31 BR BRPI0715516-6A2 patent/BRPI0715516B1/pt active IP Right Grant
- 2007-07-31 RU RU2009107198A patent/RU2420817C2/ru active
- 2007-07-31 WO PCT/US2007/074794 patent/WO2008030673A2/en not_active Ceased
- 2007-07-31 TW TW96128124A patent/TWI352972B/zh active
- 2007-07-31 CN CN2007800280373A patent/CN101496101B/zh active Active
- 2007-07-31 ES ES07853508T patent/ES2460893T3/es active Active
- 2007-07-31 JP JP2009523002A patent/JP5290173B2/ja active Active
- 2007-07-31 EP EP20070853508 patent/EP2047466B1/en active Active
- 2007-07-31 CA CA 2657910 patent/CA2657910C/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR101078625B1 (ko) | 2011-11-01 |
| WO2008030673A2 (en) | 2008-03-13 |
| EP2047466B1 (en) | 2014-03-26 |
| US20080027718A1 (en) | 2008-01-31 |
| JP2009545775A (ja) | 2009-12-24 |
| ES2460893T3 (es) | 2014-05-14 |
| CN101496101A (zh) | 2009-07-29 |
| CN101496101B (zh) | 2013-01-23 |
| EP2047466A2 (en) | 2009-04-15 |
| TWI352972B (en) | 2011-11-21 |
| CA2657910C (en) | 2015-04-28 |
| CA2657910A1 (en) | 2008-03-13 |
| TW200820219A (en) | 2008-05-01 |
| WO2008030673A3 (en) | 2008-06-26 |
| KR20090025349A (ko) | 2009-03-10 |
| US9454974B2 (en) | 2016-09-27 |
| RU2009107198A (ru) | 2010-09-10 |
| RU2420817C2 (ru) | 2011-06-10 |
| BRPI0715516B1 (pt) | 2019-12-10 |
| JP5290173B2 (ja) | 2013-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0715516A2 (pt) | sistemas, mÉtodos e equipamentos para limitar fator de ganho | |
| JP5203929B2 (ja) | スペクトルエンベロープ表示のベクトル量子化方法及び装置 | |
| RU2667382C2 (ru) | Улучшение классификации между кодированием во временной области и кодированием в частотной области | |
| ES2351935T3 (es) | Procedimiento y aparato para la cuantificación vectorial de una representación de envolvente espectral. | |
| ES2705589T3 (es) | Sistemas, procedimientos y aparatos para el suavizado del factor de ganancia | |
| ES2687249T3 (es) | Decisión no sonora/sonora para el procesamiento de la voz | |
| US9418671B2 (en) | Adaptive high-pass post-filter | |
| BR112016030384B1 (pt) | Ajuste de ganho temporal baseado em característica de sinal de banda alta | |
| BR112016007914B1 (pt) | Estimativa de formato de ganho para rastreamento aperfeiçoado de características temporais de banda alta | |
| HK1114235A (en) | Method and apparatus for vector quantizing of a spectral envelope representation | |
| HK1216450B (zh) | 语音处理的清音/浊音判决方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B06F | Objections, documents and/or translations needed after an examination request according art. 34 industrial property law | ||
| B06T | Formal requirements before examination | ||
| B15K | Others concerning applications: alteration of classification |
Free format text: A CLASSIFICACAO ANTERIOR ERA: G10L 21/02 Ipc: G10L 21/038 (2013.01), G10L 25/18 (2013.01), G10L |
|
| B09A | Decision: intention to grant | ||
| B16A | Patent or certificate of addition of invention granted |
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 |