BR112018002979B1 - Controle de sinal-alvo de banda alta - Google Patents

Controle de sinal-alvo de banda alta Download PDF

Info

Publication number
BR112018002979B1
BR112018002979B1 BR112018002979-3A BR112018002979A BR112018002979B1 BR 112018002979 B1 BR112018002979 B1 BR 112018002979B1 BR 112018002979 A BR112018002979 A BR 112018002979A BR 112018002979 B1 BR112018002979 B1 BR 112018002979B1
Authority
BR
Brazil
Prior art keywords
signal
band
input
scaling
input audio
Prior art date
Application number
BR112018002979-3A
Other languages
English (en)
Other versions
BR112018002979A2 (pt
Inventor
Venkatraman Atti
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112018002979A2 publication Critical patent/BR112018002979A2/pt
Publication of BR112018002979B1 publication Critical patent/BR112018002979B1/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech 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 correlation coefficients

Abstract

controle de sinal-alvo de banda alta. um método para gerar um sinal-alvo de banda alta inclui receber, em um codificador, um sinal de entrada que tem uma porção de banda baixa e uma porção de banda alta. o método também inclui comparar um primeiro valor de autocorrelação do sinal de entrada com um segundo valor de autocorrelação do sinal de entrada. o método inclui adicionalmente escalonar o sinal de entrada por um fator de escalonamento para gerar um sinal de entrada escalonado. o fator de escalonamento é determinado com base em um resultado da comparação. o método também inclui gerar um sinal de banda baixa com base no sinal de entrada e gerar o sinal-alvo de banda alta com base no sinal de entrada escalonado.

Description

I. Reivindicação de Prioridade
[0001] O presente pedido reivindica a prioridade do Pedido de Patente Provisório n° U.S. 62/206.197, depositado em 17 de agosto de 2015 e do Pedido de Patente n° U.S. 15/169.633, depositado em 31 de maio de 2016, ambos intitulados "HIGH-BAND TARGET SIGNAL CONTROL", os quais são incorporados a título de referência em sua totalidade.
II. Campo
[0002] A presente revelação é, de modo geral, relacionada ao processamento de sinal.
III. Descrição da Técnica Relacionada
[0003] Os avanços na tecnologia resultaram em dispositivos de computação menores e mais poderosos. Por exemplo, atualmente existe uma variedade de dispositivos de computação pessoais portáteis, incluindo dispositivos de computação sem fio, como telefones sem fio portáteis, assistentes pessoais digitais (PDAs) e dispositivos de paginação que são pequenos, leves e facilmente portados por usuários. Mais especificamente, os telefones sem fio portáteis, como telefones celulares e telefones de Protocolo de Internet (IP), podem comunicar pacotes de dados e voz através de redes sem fio. Adicionalmente, muitos de tais telefones sem fio incluem outros tipos de dispositivos que são incorporados nos mesmos. Por exemplo, um telefone sem fio também pode incluir uma câmera fotográfica digital, uma câmera de vídeo digital, um gravador digital e um reprodutor de arquivo de áudio.
[0004] A transmissão de voz por técnicas digitais é difundida, particularmente em aplicações de telefone por rádio de longa distância e digitais. Pode haver um interesse em determinar a menor quantidade de informação que pode ser enviada através de um canal enquanto se mantém uma qualidade notável de fala reconstruída. Se a fala for transmitida por amostragem e digitalização, uma taxa de dados na ordem de sessenta e quatro quilobits por segundo (kbps) pode ser usada para alcançar uma qualidade de fala de um telefone analógico. Através do uso de análise de fala, seguida por codificação, transmissão e ressíntese em um receptor, uma redução significativa na taxa de dados pode ser alcançada.
[0005] Os dispositivos para comprimir a fala podem encontrar utilidade em muitos campos de telecomunicações. Um campo exemplificativo é o de comunicações sem fio. O campo de comunicações sem fio tem muitas aplicações incluindo, por exemplo, telefones sem cabo, paginação, circuitos locais sem fio, telefonia sem fio como sistemas de telefone de serviço de comunicação celular e pessoal (PCS), telefonia de IP móvel e sistemas de comunicação via satélite. Uma aplicação particular é a telefonia sem fio para assinantes móveis.
[0006] Várias interfaces aéreas foram desenvolvidas para sistemas de comunicação sem fio incluindo, por exemplo, acesso múltiplo por divisão de frequência (FDMA), acesso múltiplo por divisão de tempo (TDMA), acesso múltiplo por divisão de código (CDMA) e CDMA sincronizado por divisão de tempo (TD-SCDMA). Em relação às mesmas, vários padrões domésticos e internacionais foram estabelecidos incluindo, por exemplo, Serviço de Telefone Móvel Avançado (AMPS), Sistema Global para Comunicações Móveis (GSM) e Padrão Provisório 95 (IS-95). Um sistema de comunicação por telefonia sem fio exemplificativo é um sistema de acesso múltiplo por divisão de código (CDMA). O padrão IS-95 e seus derivados, IS-95A, ANSI J-STD-008 e IS- 95B (chamados, coletivamente no presente documento, de IS- 95), são promulgados pela Associação da Indústria de Telecomunicação (TIA) e outros órgãos de padrões bem conhecidos para especificar o uso de uma interface aérea de CDMA para sistemas de comunicação de telefonia celular ou de PCS.
[0007] O padrão IS-95 subsequentemente envolvido em sistemas de "3G", como cdma2000 e WCDMA, que fornecem mais capacidade e serviços de pacote de dados de alta velocidade. Duas variações de cdma2000 são apresentadas pelos documentos IS-2000 (cdma2000 1xRTT) e IS-856 (cdma2000 1xEV-DO), que são expedidos pela TIA. O sistema de comunicação de cdma2000 1xRTT oferece uma taxa de dados de pico de 153 kbps, enquanto o sistema de comunicação de cdma2000 1xEV-DO define um conjunto de taxas de dados que variam de 38,4 kbps a 2,4 Mbps. O padrão WCDMA é incorporado nos documentos números 3G TS 25.211, 3G TS 25.212, 3G TS 25.213, e 3G TS 25.214 do Projeto de Parceria de 3a Geração "3 GPP". O relatório descritivo de Telecomunicações Móveis Internacionais Avançadas (IMT- Avançadas) estabelece os padrões de "4G". O relatório descritivo de IMT-Avançadas determina a taxa de dados de pico para serviço de 4G em 100 megabits por segundo (Mbit/s) para comunicação de alta mobilidade (por exemplo, a partir de trens e carros) e 1 gigabit por segundo (Gbit/s) para comunicação de baixa mobilidade (por exemplo, de pedestres e usuários estacionários).
[0008] Os dispositivos que empregam técnicas para comprimir a fala através de parâmetros de extração que são relacionados a um modelo de geração de fala humana são chamados de codificadores de fala. Os codificadores de fala podem compreender um codificador e um decodificador. O codificador divide o sinal de fala de entrada em blocos de tempo ou quadros de análise. A duração de cada segmento em tempo (ou "quadro") pode ser selecionada para ser suficientemente curta para que se possa esperar que o envelope espectral do sinal permaneça relativamente estacionário. Por exemplo, um comprimento de quadro tem vinte milissegundos, o que corresponde a 160 amostras em uma taxa de amostragem de oito quilohertz (kHz), embora qualquer comprimento de quadro ou taxa de amostragem considerada adequada para a aplicação particular possa ser usada.
[0009] O codificador analisa o quadro de fala de entrada para extrair certos parâmetros relevantes e, então, quantiza os parâmetros em representação binária, por exemplo, em um conjunto de bits ou um pacote de dados binários. Os pacotes de dados são transmitidos através de um canal de comunicação (isto é, uma conexão de rede com fio e/ou sem fio) para um receptor e um decodificador. O decodificador processa os pacotes de dados, desquantiza os pacotes de dados processados para produzir os parâmetros e ressintetiza os quadros de fala com o uso dos parâmetros desquantizados.
[0010] A função do codificador de fala é comprimir o sinal de fala digitalizado em um sinal de taxa de bit baixa através da remoção de redundâncias naturais inerentes na fala. A compressão digital pode ser alcançada através da representação em um quadro de fala de entrada com um conjunto de parâmetros e empregando-se a quantização para representar os parâmetros com um conjunto de bits. Se o quadro de fala de entrada tiver um número de bits Ni e um pacote de dados produzido pelo codificador de fala tiver um número de bits No, o fator de compressão alcançado pelo codificador de fala é Cr = Ni/No. O desafio é reter a alta qualidade de voz da fala decodificada enquanto se alcança o fator de compressão-alvo. O desempenho de um codificador de fala depende de (1) quão bem é realizado o modelo de fala, ou a combinação da análise e do processo de síntese descrito acima e (2) quão bem é realizado o processo de quantização de parâmetro na taxa de bit-alvo de bits No por quadro. O objetivo do modelo de fala é, portanto, capturar a essência do sinal de fala, ou a qualidade de voz-alvo, com um pequeno conjunto de parâmetros para cada quadro.
[0011] Os codificadores de fala, em geral, utilizam um conjunto de parâmetros (que inclui vetores) para descrever o sinal de fala. Um bom conjunto de parâmetros idealmente fornece uma largura de banda de sistema baixa para a reconstrução de um sinal de fala perceptivelmente preciso. O intervalo, a potência de sinal, o envelope espectral (ou formantes), os espectros de fase e amplitude são exemplos dos parâmetros de codificação de fala.
[0012] Os codificadores de fala podem ser implementados como codificadores de domínio de tempo, que tentam capturar a forma de onda de fala de domínio de tempo empregando-se processamento de alta resolução de tempo para codificar pequenos segmentos de fala (por exemplo, subquadros de 5 milissegundos (ms)) por vez. Para cada subquadro, uma alta precisão representativa de um espaço de livro de códigos é encontrada por meio de um algoritmo de busca. Alternativamente, os codificadores de fala podem ser implementados como codificadores de domínio de frequência, que tentam capturar um espectro de fala de curto prazo do quadro de fala de entrada com um conjunto de parâmetros (análise) e empregam um processo de síntese correspondente para recriar a forma de onda de fala a partir dos parâmetros espectrais. O quantizador de parâmetro preserva os parâmetros através da representação dos mesmos com representações armazenadas de vetores de código de acordo com técnicas de quantização conhecidas.
[0013] Um codificador de fala de domínio de tempo é o codificador Preditivo Linear Excitado por Código (CELP). Em um codificador CELP, as correlações de curto prazo, ou redundâncias, no sinal de fala são removidas por uma análise de previsão linear (LP), que encontra os coeficientes de um filtro de formante de curto prazo. Aplicar o filtro de previsão de curto prazo ao quadro de fala de entrada gera um sinal residual de LP, que é adicionalmente modelado e quantizado com parâmetros de filtro de previsão de longo prazo e um livro de códigos estocástico subsequente. Dessa forma, a codificação CELP divide a tarefa de codificar a forma de onda de fala de domínio de tempo nas tarefas separadas de codificar os coeficientes de filtro de curto prazo de LP e codificar a LP residual. A codificação de domínio de tempo pode ser realizada em uma taxa fixa (isto é, com o uso do mesmo número de bits, No, para cada quadro) ou a uma taxa variável (na qual diferentes taxas de bit são usadas para diferentes tipos de conteúdos de quadro). Os codificadores de taxa variável tentam usar a quantidade de bits necessária para codificar os parâmetros de codec a um nível adequado para obter uma qualidade-alvo.
[0014] Os codificadores de domínio de tempo com o codificador CELP podem depender de um alto número de bits, No, por quadro para preservar a precisão da forma de onda de fala de domínio de tempo. Tais codificadores podem entregar uma qualidade de voz excelente desde que o número de bits, No, por quadro seja relativamente grande (por exemplo, 8 kbps ou acima). Em taxas de bit baixas (por exemplo, 4 kbps e abaixo), os codificadores de domínio de tempo podem falhar ao reter a alta qualidade e o desempenho robusto devido ao número limitado de bits disponíveis. Em taxas de bit baixas, o espaço de livro de códigos limitado reduz a capacidade de correspondência de forma de onda dos codificadores de domínio de tempo, que são implantados em aplicações comerciais de taxa superior. Portanto, apesar dos aprimoramentos ao longo do tempo, muitos sistemas de codificação CELP que operam em taxas de bit baixas sofrem com distorção significativamente perceptiva caracterizada como ruído.
[0015] Uma alternativa aos codificadores CELP em taxas de bit baixas é o codificador "Preditivo Linear Excitado por Ruído" (NELP), que opera sob princípios similares ao codificador CELP. Os codificadores NELP usam um sinal de ruído pseudoaleatório filtrado para modelar a fala, em vez de um livro de códigos. Visto que o NELP usa um modelo mais simples para fala codificada, o NELP alcança uma taxa de bits mais baixa do que o CELP. O NELP pode ser usado para comprimir ou representar fala sem voz ou o silêncio.
[0016] Os sistemas de codificação que operam em taxas na ordem de 2,4 kbps são, em geral, paramétricos por natureza. Ou seja, tais sistemas de codificação operam através da transmissão de parâmetros que descrevem o período de intervalo e o envelope espectral (ou os formantes) do sinal de fala em intervalos regulares. A ilustração dos chamados codificadores paramétricos é o sistema de vocoder de LP.
[0017] Os vocoders de LP modelam um sinal de fala com voz com um único pulso por período de intervalo. Essa técnica básica pode ser aumentada para incluir a informação de transmissão sobre o envelope espectral, entre outras coisas. Embora os vocoders de LP forneçam um desempenho, em geral, razoável, os mesmos podem introduzir uma distorção significativamente perceptiva, caracterizada como zumbido.
[0018] Nos últimos anos, surgiram os codificadores que são híbridos de ambos os codificadores de forma de onda e os codificadores paramétricos. A ilustração dos chamados codificadores híbridos é o sistema de codificação de fala por interpolação de forma de onda de protótipo (PWI). O sistema de codificação por PWI também pode ser conhecido como um codificador de fala de período de frequência fundamenta de protótipo (PPP). Um sistema de codificação por PWI fornece um método eficaz para codificar fala com voz. O conceito básico de PWI é extrair um ciclo de intervalo representativo (a forma de onda de protótipo) em intervalos fixos, para transmitir sua descrição e para reconstruir o sinal de fala através da interpolação entre as formas de onda de protótipo. O método de PWI pode operar no sinal residual de LP ou no sinal de fala.
[0019] Pode haver interesse de pesquisa e interesse comercial no aprimoramento da qualidade de áudio de um sinal de fala (por exemplo, um sinal de fala codificado, um sinal de fala reconstruído ou ambos). Por exemplo, um dispositivo de comunicação pode receber um sinal de fala com qualidade de voz mais baixa do que o ideal. Para ilustrar, o dispositivo de comunicação pode receber o sinal de fala a partir de outro dispositivo de comunicação durante uma chamada de voz. A qualidade de chamada de voz pode sofrer devido a várias razões, como ruído ambiental (por exemplo, vento, ruído da rua), limitações das interfaces dos dispositivos de comunicação, processamento de sinal pelos dispositivos de comunicação, perda de pacote, limitações de largura de banda, limitações de taxa de bits, etc.
[0020] Em sistemas de telefone tradicionais (por exemplo, redes de telefone comutadas públicas (PSTNs)), a largura de banda de sinal é limitada à faixa de frequência de 300 Hertz (Hz) a 3,4 kHz. Em aplicações de banda larga (WB), como telefonia celular e voz sobre protocolo de internet (VoIP), a largura de banda de sinal pode abranger a faixa de frequência de aproximadamente 0 kHz a 8 kHz. As técnicas de codificação de banda superlarga (SWB) suportam uma largura de banda que se estende até cerca de 16 kHz. Estender a largura de banda de sinal da telefonia de banda estreita em 3,4 kHz para telefonia de SWB de 16 kHz pode aprimorar a qualidade reconstrução, inteligibilidade e naturalidade de sinal.
[0021] As técnicas de codificação de WB tipicamente envolvem codificar e transmitir a porção de frequência mais baixa do sinal de entrada (por exemplo, 0 Hz a 6 kHz, também chamada de "banda baixa"). Por exemplo, a banda baixa pode ser representada com o uso de parâmetros de filtro e/ou a sinal de excitação de banda baixa. Entretanto, a fim de aprimorar a eficácia de codificação, a porção de frequência mais alta do sinal de entrada (por exemplo, 6 kHz a 8 kHz, também chamada de "banda alta") pode não ser completamente codificada e transmitida. Em vez disso, um receptor pode utilizar modelagem de sinal para prever a banda alta. Em algumas implementações, os dados associados à banda alta podem ser fornecidos ao receptor para auxiliar na previsão. Tais dados podem ser chamados de "informação secundária" e podem incluir informação de ganho, frequências espectrais de linha (LSFs, também chamadas de pares espectrais de linha (LSPs)), etc.
[0022] Prever a banda alta com o uso de modelagem de sinal pode incluir reunir um sinal-alvo de banda alta no codificador. O sinal-alvo de banda alta pode ser usado para estimar um envelope espectral de LP e para estimar parâmetros de ganho temporal da banda alta. Para gerar o sinal-alvo de banda alta, o sinal de entrada pode ser submetido a uma operação de "inversão espectral" para gear um sinal invertido espectralmente, de modo que o componente de frequência de 8 kHz do sinal de entrada seja localizado em uma frequência de 0 kHz do sinal invertido espectralmente, e de modo que o componente de frequência de 0 kHz do sinal de entrada seja localizado na frequência de 8 kHz do sinal invertido espectralmente. O sinal invertido espectralmente pode ser submetido a uma operação de decimação (por exemplo, uma operação de "decimação por quatro") para gerar o sinal-alvo de banda alta.
[0023] O sinal de entrada pode ser escalonado de modo que uma precisão da banda baixa e da banda alta após a decimação seja preservada. Entretanto, se um fator de escalonamento fixo for aplicado ao sinal de entrada inteiro quando um primeiro nível de energia da banda baixa for diversas vezes maior do que um segundo nível de energia da banda alta, a banda alta pode perder precisão após a operação de inversão espectral e a operação de decimação. Subsequentemente, os parâmetros de ganho de banda alta que são estimados podem ser brutamente quantizados e podem resultar em artefatos.
IV. Sumário
[0024] De acordo com uma implementação da presente revelação, um método para gerar um sinal-alvo de banda alta inclui receber, em um codificador, um sinal de entrada que tem uma porção de banda baixa e uma porção de banda alta. O método também inclui comparar um primeiro valor de autocorrelação do sinal de entrada com um segundo valor de autocorrelação do sinal de entrada. O método inclui adicionalmente escalonar o sinal de entrada por um fator de escalonamento para gerar um sinal de entrada escalonado. O fator de escalonamento é determinado com base em um resultado da comparação. Alternativamente, o valor de um fator de escalonamento predeterminado é modificado com base no resultado da comparação. O método também inclui gerar um sinal de banda baixa com base no sinal de entrada e gerar o sinal-alvo de banda alta com base no sinal de entrada escalonado. O sinal de banda baixa é gerado independentemente do sinal e entrada escalonado.
[0025] De acordo com outra implementação da presente revelação, um aparelho inclui um codificador e uma memória que armazena instruções que são executáveis por um processador dentro do codificador para realizar operações. As operações incluem comparar um primeiro valor de autocorrelação de um sinal de entrada com um segundo valor de autocorrelação do sinal de entrada. O sinal de entrada tem uma porção de banda baixa e uma porção de banda alta. As operações incluem adicionalmente escalonar o sinal de entrada por um fator de escalonamento para gerar um sinal de entrada escalonado. O fator de escalonamento é determinado com base em um resultado da comparação. Alternativamente, o valor de um fator de escalonamento predeterminado é modificado com base no resultado da comparação. As operações também incluem gerar um sinal de banda baixa com base no sinal de entrada e gerar um sinal- alvo de banda alta com base no sinal de entrada escalonado. O sinal de banda baixa é gerado independentemente do sinal e entrada escalonado.
[0026] De acordo com outra implementação da presente revelação, um meio legível por computador não transitório inclui instruções para gerar um sinal-alvo de banda alta. As instruções, quando executadas por um processador dentro de um codificador, fazem com que o processador realize operações. As operações incluem comparar um primeiro valor de autocorrelação de um sinal de entrada com um segundo valor de autocorrelação do sinal de entrada. O sinal de entrada tem uma porção de banda baixa e uma porção de banda alta. As operações incluem adicionalmente escalonar o sinal de entrada por um fator de escalonamento para gerar um sinal de entrada escalonado. O fator de escalonamento é determinado com base em um resultado da comparação. Alternativamente, o valor de um fator de escalonamento predeterminado é modificado com base no resultado da comparação. As operações também incluem gerar um sinal de banda baixa com base no sinal de entrada e gerar um sinal-alvo de banda alta com base no sinal de entrada escalonado. O sinal de banda baixa é gerado independentemente do sinal e entrada escalonado.
[0027] De acordo com outra implementação da presente revelação, um aparelho inclui meios para receber um sinal de entrada que tem uma porção de banda baixa e uma porção de banda alta. O aparelho também inclui meios para comparar um primeiro valor de autocorrelação do sinal de entrada com um segundo valor de autocorrelação do sinal de entrada. O aparelho inclui adicionalmente meios para escalonar o sinal de entrada por um fator de escalonamento para gerar um sinal de entrada escalonado. O fator de escalonamento é determinado com base em um resultado da comparação. Alternativamente, o valor de um fator de escalonamento predeterminado é modificado com base no resultado da comparação. O aparelho também inclui meios para gerar um sinal de banda baixa com base no sinal de entrada e meios para gerar o sinal-alvo de banda alta com base no sinal de entrada escalonado. O sinal de banda baixa é gerado independentemente do sinal e entrada escalonado. V. Breve Descrição dos Desenhos
[0028] A Figura 1 é um diagrama para ilustrar um sistema que é operável para controlar a precisão de um sinal-alvo de banda alta;
[0029] A Figura 2A é uma plotagem de uma estimativa de ganhos temporais de banda alta sem usar um sinal-alvo de banda alta de acordo com as técnicas da Figura 1 em comparação com os ganhos temporais de referência;
[0030] A Figura 2B é uma plotagem de ganhos temporais de banda alta estimados com o uso de um sinal- alvo de banda alta de acordo com as técnicas da Figura 1 em comparação com os ganhos temporais de referência;
[0031] A Figura 3A é uma plotagem de domínio de tempo de um sinal-alvo de banda larga sem usar as técnicas de precisão da Figura 1 em comparação com um sinal-alvo de banda larga de referência;
[0032] A Figura 3B é uma plotagem de domínio de tempo de um sinal-alvo de banda larga com o uso das técnicas de controle de precisão da Figura 1 em comparação com um sinal-alvo de banda larga de referência;
[0033] A Figura 4A é um fluxograma de um método para gerar um sinal-alvo de banda alta;
[0034] A Figura 4B é outro fluxograma de um método para gerar um sinal-alvo de banda alta;
[0035] A Figura 5 é um diagrama de blocos de um dispositivo sem fio operável para controlar a precisão de um sinal-alvo de banda alta; e
[0036] A Figura 6 é um diagrama de blocos de uma estação-base que é operável para controlar a precisão de um sinal-alvo de banda alta.
VI. Descrição Detalhada
[0037] As técnicas para controlar a precisão do sinal-alvo de banda alta são reveladas. Um codificador pode receber um sinal de entrada que é uma banda baixa que varia de aproximadamente 0 kHz a 6 kHz e que tem uma banda alta que varia de aproximadamente 6 kHz a 8 kHz. A banda baixa pode ter um primeiro nível de energia e a banda alta pode ter um segundo nível de energia. O codificador pode gerar um sinal-alvo de banda alta que é usado para estimar um envelope espectral de LP da banda alta e para estimar os parâmetros de ganho temporal da banda alta. O envelope espectral de LP e os parâmetros de ganho temporal podem ser codificados e transmitidos para um decodificador para reconstruir a banda alta. O sinal-alvo de banda alta pode ser gerado com base no sinal de entrada. Para ilustrar, o codificador pode realizar uma operação de inversão espectral em uma versão escalonada do sinal de entrada para gerar um sinal invertido espectralmente, e o sinal invertido espectralmente pode ser submetido à decimação para gerar o sinal-alvo de banda alta.
[0038] Tipicamente, o sinal de entrada é escalonado (com base no valor de pico absoluto do sinal considerando-se a banda de frequência inteira) para incluir o espaço que substancialmente reduz uma probabilidade de saturação do sinal-alvo de banda alta se operações adicionais forem realizadas durante a decimação. Por exemplo, um sinal de entrada de 16 palavras pode incluir uma faixa de ponto fixo de - 32.768 a 32.767. O codificador pode escalonar o sinal de entrada para incluir três bits de espaço com o propósito de reduzir a saturação do sinal-alvo de banda alta. O escalonamento do sinal de entrada para incluir três bits de espaço pode reduzir de modo eficaz a faixa de ponto fixo de - 4.096 a 4.095.
[0039] Se o segundo nível de energia da banda alta for significativamente inferior ao primeiro nível de energia da banda baixa, o sinal-alvo de banda alta pode ter uma energia muito baixa ou "precisão baixa", e escalonar adicionalmente o sinal de entrada para incluir o espaço calculado com base na banda de frequência inteira do sinal de entrada original pode resultar em artefatos. Para evitar a geração de um sinal-alvo de banda alta que tem energia negligenciável, o codificador pode determinar uma inclinação espectral do sinal de entrada. A inclinação espectral pode ser representativa de uma distribuição de energia da banda alta para a banda de frequência inteira. Por exemplo, a inclinação espectral pode ser baseada em uma autocorrelação (R0) no índice de latência zero que representa uma energia da banda de frequência inteira e baseada em uma autocorrelação (R1) no índice de latência um. Se a inclinação espectral não puder satisfazer um limiar (por exemplo, se o primeiro nível de energia for significativamente maior do que o segundo nível de energia), o codificador pode diminuir a quantidade de espaço durante o escalonamento do sinal de entrada para fornecer uma faixa maior para o sinal-alvo de banda alta. Fornecer uma faixa maior para o sinal-alvo de banda alta pode possibilitar estimativas de energia mais precisas para uma banda alta de baixa energia, que, por sua vez, pode reduzir os artefatos. Se a inclinação espectral satisfizer o limiar (por exemplo, se o primeiro nível de energia não for significativamente maior do que o segundo nível de energia), o codificador pode aumentar a quantidade de espaço durante o escalonamento do sinal de entrada para reduzir a probabilidade de saturação do sinal-alvo de banda alta.
[0040] As vantagens particulares fornecidas através de pelo menos uma dentre as implementações reveladas incluem aumentar a precisão do sinal-alvo de banda alta para reduzir os artefatos. Por exemplo, uma quantidade de espaço usada durante o escalonamento de um sinal de entrada pode ser dinamicamente ajustada com base em uma inclinação espectral do sinal de entrada. Diminuir o espaço quando um nível de energia de uma porção de frequência mais alta do sinal de entrada é significativamente menor do que um nível de energia de uma porção de frequência mais baixa do sinal de entrada pode resultar em uma faixa maior para o sinal-alvo de banda alta. A faixa maior pode possibilitar estimativas de energia mais precisas para a banda alta, o que, por sua vez, pode reduzir os artefatos. Outras implementações, vantagens e recursos da presente revelação irão se tornar evidentes após a revisão do pedido inteiro.
[0041] Com referência à Figura 1, um sistema que é operável para controlar a precisão de um sinal-alvo de banda alta é mostrado e. em geral, designado 100. Em uma implementação particular, o sistema 100 pode ser integrado em um sistema ou aparelho de codificação (por exemplo, em um codificador/decodificador (CODEC) de um telefone sem fio). Em outras implementações, o sistema 100 pode ser integrado em um decodificador de sinais, um reprodutor de música, um reprodutor de vídeo, uma unidade de entretenimento, um dispositivo de navegação, um dispositivo de comunicações, um PDA, uma unidade de dados de localização fixa ou um computador, como exemplos não limitantes ilustrativos. Em uma implementação particular, o sistema 100 pode corresponder a, ou ser incluído em um vocoder.
[0042] Deve ser observado que na seguinte descrição, várias funções realizadas pelo sistema 100 da Figura 1 são descritas como sendo realizadas por certos componentes ou módulos. Entretanto, essa divisão de componentes e módulos é apenas para ilustração. Em uma implementação alternativa, uma função realizada por um componente ou módulo particular pode, em vez disso, ser dividida entre múltiplos componentes ou módulos. Ademais, em uma implementação alternativa, dois ou mais componentes ou módulos da Figura 1 podem ser integrados em um único componente ou módulo. Cada componente ou módulo ilustrado na Figura 1 pode ser implementado com o uso de hardware (por exemplo, um dispositivo de arranjo de porta programável em campo (FPGA), um circuito integrado de aplicação específica (ASIC), um processador de sinal digital (DSP), um controlador, etc.), software (por exemplo, instruções executáveis por um processador) ou qualquer combinação dos mesmos.
[0043] O sistema 100 inclui um banco de filtro de análise 110 que é configurado para receber um sinal de áudio de entrada 102. Por exemplo, o sinal de áudio de entrada 102 pode ser fornecido por um microfone ou outro dispositivo de entrada. Em uma implementação particular, o sinal de áudio de entrada 102 pode incluir a fala. O sinal de áudio de entrada 102 pode incluir o conteúdo de fala na faixa de frequência a partir de aproximadamente 0 Hz a aproximadamente 8 kHz. Como usado no presente documento, "aproximadamente" pode incluir frequências dentro de uma faixa particular da frequência descrita. Por exemplo, aproximadamente pode incluir frequências dentro de dez por cento da frequência descrita, cinco por cento da frequência descrita, um por cento da frequência descrita, etc. Como um exemplo não limitante ilustrativo, "aproximadamente 8 kHz" pode incluir frequências de 7,6 kHz (por exemplo, 8 kHz - 8 kHz * 0,05) a 8,4 kHz (por exemplo, 8 kHz + 8 kHz * 0,05). O sinal de áudio de entrada 102 pode incluir uma porção de banda baixa que abrange de aproximadamente 0 Hz a 6 kHz e uma porção de banda alta que abrange de aproximadamente 6 kHz a 8 kHz. Deve ser entendido que, embora o sinal de áudio de entrada 102 seja representado como um Sinal de banda larga (por exemplo, um sinal que tem uma faixa de frequência entre 0 Hz e 8 kHz), as técnicas descritas em relação à presente revelação também podem ser aplicáveis aos Sinais de banda superlarga (por exemplo, um sinal que tem uma faixa de frequência entre 0 Hz e 16 kHz) e Sinais de banda completa (por exemplo, um sinal que tem uma faixa de frequência entre 0 Hz e 20 kHz).
[0044] O banco de filtro de análise 110 inclui um reamostrador 103, um módulo de análise de inclinação espectral 105, um módulo de seleção de fator de escalonamento 107, um módulo de escalonamento 109 e um módulo de geração de sinal-alvo de banda alta 113. O sinal de áudio de entrada 102 pode ser fornecido para o reamostrador 103, o módulo de análise de inclinação espectral 105 e o módulo de escalonamento 109. O reamostrador 103 pode ser configurado para remover por filtração os componentes de frequência alta do sinal de áudio de entrada 102 para gerar um sinal de banda baixa 122. Por exemplo, o reamostrador 103 pode ter uma frequência de recorte de aproximadamente 6,4 kHz para gerar um sinal de banda baixa 122 que tem uma largura de banda que se estende a partir de aproximadamente 0 Hz a aproximadamente 6,4 kHz.
[0045] O módulo de análise de inclinação espectral 105, o módulo de seleção de fator de escalonamento 107, o módulo de escalonamento 109 e o módulo de geração de sinal-alvo de banda alta 113 pode operar em conjunto para gerar um sinal-alvo de banda alta 126 que é usado para estimar um envelope espectral de LP da banda alta do sinal de áudio de entrada 102 e usada para estimar parâmetros de ganho temporal da banda alta do sinal de áudio de entrada 102. Para ilustrar, o módulo de análise de inclinação espectral 105 pode determinar uma inclinação espectral associada ao sinal de áudio de entrada 102. A inclinação espectral pode ser baseada em uma distribuição de energia do sinal de áudio de entrada 102. Por exemplo, a inclinação espectral pode ser baseada em uma razão entre uma autocorrelação (R0) no índice de latência zero que representa uma energia da banda de frequência inteira do sinal de áudio de entrada 102 no domínio de tempo e uma autocorrelação (R1) no índice de latência um que representa uma energia no domínio de tempo. De acordo com uma implementação, a autocorrelação (R1) no índice de latência um pode ser calculada com base em uma soma do produto de amostras adjacentes. No pseudocódigo descrito abaixo, a autocorrelação (R0) no índice de latência zero é designada "temp1" e a autocorrelação (R1) no índice de latência um é designada "temp2". De acordo com uma implementação, a inclinação espectral pode ser expressada como o quociente resultante da autocorrelação (R1) e a autocorrelação (R0) (por exemplo, R1/R0 ou temp2/temp1). O módulo de análise de inclinação espectral 105 pode gerar um sinal 106 que indica a inclinação espectral e pode fornecer o sinal 106 para o módulo de seleção de fator de escalonamento 107.
[0046] O módulo de seleção de fator de escalonamento 107 pode selecionar um fator de escalonamento (por exemplo, um "fator de controle de precisão" ou um "fator de norma") para ser usado para escalonar o sinal de áudio de entrada 102. O fator de escalonamento pode ser baseado na inclinação espectral indicada pelo sinal 106. Por exemplo, o módulo de seleção de fator de escalonamento 107 pode comparar a inclinação espectral com um limiar para determinar o fator de escalonamento. Como um exemplo não limitante, o módulo de seleção de fator de escalonamento 107 pode comparar a inclinação espectral com um limiar de noventa e cinco por cento (por exemplo, 0,95).
[0047] Se a inclinação espectral falhar ao satisfazer o limiar (por exemplo, não for menor do que o limiar, isto é, R1/R0 > = 0,95), então o módulo de seleção de fator de escalonamento 107 pode selecionar um primeiro fator de escalonamento. Selecionar o primeiro fator de escalonamento pode indicar um cenário em que um primeiro nível de energia da banda baixa é significativamente maior do que um segundo nível de energia da banda alta. Por exemplo, a distribuição de energia do sinal de áudio de entrada 102 pode ser relativamente íngreme quando a inclinação espectral falha ao satisfazer o limiar. Se a inclinação espectral satisfizer o limiar (por exemplo, for menor do que o limiar), então, o fator de módulo de escalonamento 107 pode selecionar um segundo fator de escalonamento. Selecionar o segundo fator de escalonamento pode indicar um cenário em que o primeiro nível de energia da banda baixa não é significativamente maior do que o segundo nível de energia da banda alta. Por exemplo, a distribuição de energia do sinal de áudio de entrada 102 pode ser relativamente uniforme através da banda baixa e da banda alta quando a inclinação espectral satisfizer o critério de limiar (isto é, R1/R0 < 0,95). Como um exemplo, o primeiro fator de escalonamento pode ser estimado para normalizar o sinal de entrada para deixar um espaço de 3 bits (isto é, limitar o sinal de entrada de - 4,096 a 4.095 para um sinal do tipo de 16 bits) e o segundo fator de escalonamento pode ser estimado para normalizar o sinal de entrada para não deixar nenhum espaço (isto é, limitar o sinal de entrada de - 32.768 a 32.767 para um sinal do tipo de 16 bits))
[0048] O módulo de seleção de fator de escalonamento 107 pode gerar um sinal 108 indicativo do fator de escalonamento selecionado e pode fornecer o sinal 108 ao módulo de escalonamento 109. Por exemplo, se o primeiro fator de escalonamento for selecionado, o sinal 108 pode ter um primeiro valor para indicar que o primeiro fator de escalonamento foi selecionado pelo módulo de seleção de fator de escalonamento 107. Se o segundo fator de escalonamento for selecionado, o sinal 108 pode ter um segundo valor para indicar que o segundo fator de escalonamento foi selecionado pelo módulo de seleção de fator de escalonamento 107. Como um exemplo, o sinal 108 pode ser o próprio valor de fator de escala selecionado.
[0049] O módulo de escalonamento 109 pode ser configurado para escalonar o sinal de áudio de entrada 102 pelo fator de escalonamento selecionado para gerar um sinal de áudio de entrada escalonado 112. Para ilustrar, se o segundo fator de escalonamento for selecionado, o módulo de escalonamento 109 pode aumentar uma quantidade de espaço durante o escalonamento do sinal de áudio de entrada 102 para gerar o sinal de áudio de entrada escalonado 112. De acordo com uma implementação, o módulo de escalonamento 109 pode aumentar (ou manter) o espaço alocado para o sinal de áudio de entrada 102 para três bits de espaço. Como descrito abaixo, aumentar a quantidade de espaço durante o escalonamento do sinal de áudio de entrada 102 pode reduzir a probabilidade de saturação durante a geração do sinal- alvo de banda alta 126. Se o primeiro fator de escalonamento for selecionado, o módulo de escalonamento 109 pode diminuir a quantidade de espaço durante o escalonamento do sinal de áudio de entrada 102 para gerar o sinal de áudio de entrada escalonado 112. De acordo com uma implementação, o módulo de escalonamento 109 pode diminuir o espaço alocado para o sinal de áudio de entrada 102 para zero bits de espaço. Como descrito abaixo, diminuir a quantidade de espaço durante o escalonamento do sinal de áudio de entrada 102 pode possibilitar estimativas de energia mais precisas para uma banda alta de baixa energia, que, por sua vez, pode reduzir os artefatos.
[0050] O módulo de geração de sinal-alvo de banda alta 113 pode receber o sinal de áudio de entrada escalonado 112 e pode ser configurado para gerar o sinal- alvo de banda alta 126 com base no sinal de áudio de entrada escalonado 112. Para ilustrar, o módulo de geração de sinal-alvo de banda alta 113 pode realizar uma operação de inversão espectral no sinal de áudio de entrada escalonado 112 para gerar um sinal invertido espectralmente. Por exemplo, os componentes de frequência superior do sinal de áudio de entrada escalonado 112 podem ser localizados em uma frequência inferior do sinal invertido espectralmente e os componentes de frequência inferior do sinal de áudio de entrada escalonado 112 podem ser localizados em uma frequência superior do sinal invertido espectralmente. Dessa forma, se o sinal de áudio de entrada escalonado 112 tiver uma largura de banda de 8 kHz que abrange de 0 Hz a 8 kHz, o componente de frequência de 8 kHz do sinal de áudio de entrada escalonado 112 pode ser localizado em uma frequência de 0 kHz do sinal invertido espectralmente, e o componente de frequência de 0 kHz do sinal de áudio de entrada escalonado 112 pode ser localizado na frequência de 8 kHz do sinal invertido espectralmente.
[0051] O módulo de geração de sinal-alvo de banda alta 113 pode ser configurado para realizar uma operação de decimação no sinal invertido espectralmente para gerar o sinal-alvo de banda alta 126. Por exemplo, o módulo de geração de sinal-alvo de banda alta 113 pode decimar o sinal invertido espectralmente por um fator de quatro para gerar o sinal-alvo de banda alta 126. O sinal- alvo de banda alta 126 pode ser um sinal de banda-base que abrange de 0 Hz a 2 kHz e pode representar a banda alta do sinal de áudio de entrada 102.
[0052] O sinal-alvo de banda alta 126 pode ter aumentado a precisão com base no fator de escalonamento dinâmico selecionado pelo módulo de seleção de fator de escalonamento 107. Por exemplo, em cenários em que o primeiro nível de energia da banda baixa é significativamente maior do que o segundo nível de energia da banda alta, em que o sinal de áudio de entrada 102 pode ser escalonado para diminuir a quantidade de espaço. Diminuir a quantidade de espaço pode fornecer uma faixa maior para gerar o sinal-alvo de banda alta 126 de modo que a energia da banda alta possa ser mais precisamente capturada. Capturar precisamente a energia da banda alta pelo sinal-alvo de banda alta pode resultar em aprimoramento de estimativa de parâmetros de ganho de banda alta (por exemplo, informação secundária de banda alta 172) e reduzir artefatos. Por exemplo, com referência à Figura 2B, uma plotagem de ganhos temporais de banda alta estimados com o uso do sinal-alvo de banda alta 126, que são comparados com ganhos temporais de referência é mostrada. Os ganhos temporais estimados com o uso do sinal- alvo de banda alta 126 simulam de modo próximo os ganhos temporais de referência em comparação com a Figura 2A em que os ganhos temporais estimados desviem significativamente dos ganhos temporais de referência. Dessa forma, os artefatos reduzidos (por exemplo, ruído) podem resultar durante a reconstrução de sinal.
[0053] Em cenários em que o primeiro nível de energia da banda baixa não é significativamente maior do que o segundo nível de energia da banda alta, o sinal de áudio de entrada 102 pode ser escalonado para aumentar a quantidade de espaço. Aumentar a quantidade pode reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Por exemplo, durante a decimação, o módulo de geração de sinal-alvo de banda alta 113 pode realizar operações adicionais que podem causar a saturação se não houver espaço suficiente. Aumentar a quantidade de espaço (ou manter uma quantidade predefinida de espaço) pode reduzir substancialmente a saturação do sinal-alvo de banda alta 126. Por exemplo, com referência à Figura 3B, uma plotagem de domínio de tempo do sinal-alvo de banda alta 126 comparado com um sinal-alvo de banda larga de referência é mostrada. O nível de energia do sinal-alvo de banda alta 126 simula o nível de energia do sinal-alvo de banda larga de referência em comparação com a Figura 3A, em que o nível de energia desvia significativamente do nível de energia do sinal-alvo de banda larga de referência. Dessa forma, a saturação reduzida pode ser alcançada.
[0054] Embora o banco de filtro de análise 110 inclua múltiplos módulos 105, 107, 109, 113, em outras implementações, as funções de um ou mais dentre os módulos 105, 107, 109, 113 podem ser combinadas. De acordo com uma implementação, um ou mais dentre os módulos 105, 107, 109, 113 podem operar para gerar e controlar a precisão do sinal-alvo de banda alta 126 com base no seguinte pseudocódigo:
[0055] De acordo com o pseudocódigo, "max_wb" corresponde ao valor de amostra máximo do sinal de áudio de entrada 102 e "new_inp_resamp16k[i]" corresponde ao sinal de áudio de entrada 102. Por exemplo, new_inp_resamp16k[i] pode ter uma frequência que abrange de 0 Hz a 8 kHz e pode ser amostrado em taxa de amostragem de Nyquist de 16 kHz. Para cada amostra, o sinal de áudio de entrada 102 (max_wb) pode ser definido para o valor absoluto máximo do sinal de áudio de entrada 102 (new_inp_resamp16k[i]). Um parâmetro ("Q_wb_sp") pode indicar um número de bits pelo qual o sinal de áudio de entrada 102 (new_inp_resamp16k[i]) pode ser deslocado para a esquerda enquanto cobre a faixa completa do sinal (new_inp_resamp16k[i]). De acordo com o pseudocódigo, o parâmetro (Q_wb_sp) pode ser igual a uma norma de max_wb.
[0056] De acordo com o pseudocódigo, a inclinação espectral pode ser baseada em uma razão entre a autocorrelação (R1) no índice de latência um ("temp2") do sinal de áudio de entrada 102 e a autocorrelação (R0) no índice de latência zero ("temp1"). A autocorrelação (R1) no índice de latência um pode ser calculada com base em uma soma do produto de amostras adjacentes.
[0057] Se a autocorrelação (R1) for menor do que o limiar (0,95) multiplicado pela autocorrelação (R0), o parâmetro (Q_wb_sp) pode manter um espaço adicional de três bits a mais durante o escalonamento para reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Se a autocorrelação (R1) não for menor do que o limiar (0,95) multiplicado pela autocorrelação (R0), o (Q_wb_sp) pode diminuir o espaço adicional para zero bits durante o escalonamento para fornecer uma faixa maior para gerar o sinal-alvo de banda alta 126 de modo que a energia da banda alta possa ser mais precisamente capturada. De acordo com o pseudocódigo, o sinal de entrada é deslocado para a esquerda pelo número de bits de Q_wb_sp, o que significa que o fator de escala final selecionado pelo módulo de seleção de fator de escalonamento 107 corresponderia a 2Q-wb-sp. Capturar precisamente a energia da banda alta pelo sinal-alvo de banda alta pode aprimorar a estimativa de parâmetros de ganho de banda alta (por exemplo, informação secundária de banda alta 172) e reduzir artefatos. Em algumas modalidades exemplificativas, o sinal-alvo de banda alta 126 pode ser re-escalonado de volta para o nível de entrada original (por exemplo, em fatores de Q: Q0 ou Q-1), de modo que as atualizações de memória, estimativa de parâmetro de banda alta e síntese de banda alta através de quadros mantenham um ajuste de fator de escala temporal fixo.
[0058] O exemplo acima ilustra a filtração para a codificação de WB (por exemplo, codificação de aproximadamente 0 Hz a 8 kHz). Em outros exemplos, o banco de filtro de análise 110 pode filtrar um sinal de áudio de entrada para codificação de SWB (por exemplo, codificação de aproximadamente 0 Hz a 16 kHz) e codificação de banda completa (FB) (por exemplo, codificação de aproximadamente 0 Hz a 20 kHz). Para ilustrar. Para a facilidade de ilustração, exceto se for declarado de outro modo, a seguinte descrição é, em geral, descrita em relação à codificação de WB. Entretanto, as técnicas similares podem ser aplicadas para realizar a codificação de SWB e a codificação de FB.
[0059] O sistema 100 pode incluir um módulo de análise de banda baixa 130 configurado para receber o sinal de banda baixa 122. Em uma implementação particular, o módulo de análise de banda baixa 130 pode representar um codificador CELP. O módulo de análise de banda baixa 130 pode incluir um módulo de análise e codificação de LP 132, um coeficiente de previsão linear (LPC) para modo de transformada de LSP 134 e um quantizador 136. LSPs também podem ser chamados de LSFs e os dois termos (LSP e LSF) podem ser usados de modo intercambiável no presente documento. O módulo de análise e codificação de LP 132 pode codificar um envelope espectral do sinal de banda baixa 122 como um conjunto de LPCs. LPCs podem ser gerados para cada quadro de áudio (por exemplo, 20 ms de áudio, correspondente a 320 amostras em uma taxa de amostragem de 16 kHz), para cada subquadro de áudio (por exemplo, 5 ms de áudio), ou qualquer combinação dos mesmos. O número de LPCs gerados para cada quadro ou subquadro pode ser determinado pela "ordem" da análise de LP realizada. Em uma implementação particular, o módulo de análise e codificação de LP 132 pode gerar um conjunto de onze LPCs correspondente à análise de LP de décima ordem.
[0060] O modo de transformada de LPC para LSP 134 pode transformar o conjunto de LPCs gerado pelo módulo de análise e codificação de LP 132 em um conjunto de LSPs correspondente (por exemplo, com o uso de uma transformada de um para um). Alternativamente, o conjunto de LPCs pode ser transformado de um para um em um conjunto de coeficientes de parcor correspondente, valores de razão de área de log, pares espectrais de imitância (ISPs) ou frequências espectrais de imitância (ISFs). A transformada entre o conjunto de LPCs e o conjunto de LSPs pode ser reversível sem erro.
[0061] O quantizador 136 pode quantizar o conjunto de LSPs gerado pelo módulo de transformada 134. Por exemplo, o quantizador 136 pode incluir ou ser acoplado a múltiplos livros de códigos que incluem múltiplas entradas (por exemplo, vetores). Para quantizar o conjunto de LSPs, o quantizador 136 pode identificar entradas de livros de códigos que são "mais próximas" (por exemplo, com base em uma medida de distorção como erro quadrático médio ou quadrático mínimo) do conjunto de LSPs. O quantizador 136 pode emitir um valor de índice ou série de valores de índice correspondentes à localização das entradas identificadas no livro de códigos. A saída do quantizador 136 pode, portanto, representar parâmetros de filtro de banda baixa que são incluídos em um fluxo de bits de banda baixa 142.
[0062] O módulo de análise de banda baixa 130 também pode gerar um sinal de excitação de banda baixa 144. Por exemplo, o sinal de excitação de banda baixa 144 pode ser um sinal codificado que é gerado através da quantização de um sinal residual de LP que é gerado durante o processo de LP realizado pelo módulo de análise de banda baixa 130. O sinal residual de LP pode representar erro de previsão do sinal de excitação de banda baixa 144.
[0063] O sistema 100 pode incluir adicionalmente um módulo de análise de banda alta 150 configurado para receber o sinal-alvo de banda alta 126 do banco de filtro de análise 110 e para receber o sinal de excitação de banda baixa 144 do módulo de análise de banda baixa 130. O módulo de análise de banda alta 150 pode gerar a informação secundária de banda alta 172 com base no sinal-alvo de banda alta 126 e com base no sinal de excitação de banda baixa 144. Por exemplo, a informação secundária de banda alta 172 pode incluir LSPs de banda alta, informação de ganho e/ou informação de fase.
[0064] Como ilustrado, o módulo de análise de banda alta 150 pode incluir um módulo de análise e codificação de LP 152, um modo de transformada de LPC para LSP 154 e um quantizador 156. Cada um dentre o módulo de análise e codificação de LP 152, o módulo de transformada 154 e o quantizador 156 pode funcionar como descrito acima com referência aos componentes correspondentes do módulo de análise de banda baixa 130, mas em uma resolução comparativamente reduzida (por exemplo, com o uso de menos bits para cada coeficiente, LSP, etc.). O módulo de análise e codificação de LP 152 pode gerar um conjunto de LPCs para o sinal-alvo de banda alta 126 que são transformados em um conjunto de LSPs pelo módulo de transformada 154 e quantizados pelo quantizador 156 com base em um livro de códigos 163.
[0065] O módulo de análise e codificação de LP 152, o módulo de transformada 154 e o quantizador 156 podem usar o sinal-alvo de banda alta 126 para determinar informação de filtro de banda alta (por exemplo, LSPs de banda alta) que está incluída na informação secundária de banda alta 172. Por exemplo, o módulo de análise e codificação de LP 152, o módulo de transformada 154 e o quantizador 156 podem usar o sinal-alvo de banda alta 126 e um sinal de excitação de banda alta 162 para determinar a informação secundária de banda alta 172.
[0066] O quantizador 156 pode ser configurado para quantizar um conjunto de valores de frequência espectral, como LSPs fornecidos pelo módulo de transformada 154. Em outras implementações, o quantizador 156 pode receber e quantizar conjuntos de um ou mais outros tipos de valores de frequência espectral em adição a, ou em vez de LSFs ou LSPs. Por exemplo, o quantizador 156 pode receber e quantizar um conjunto de LPCs gerados pelo módulo de análise e codificação de LP 152. Outros exemplos incluem os coeficientes de conjuntos de parcor, os valores de razão de área de log e ISFs que podem ser recebidos e quantizados no quantizador 156. O quantizador 156 pode incluir um quantizador de vetor que codifica um vetor de entrada (por exemplo, um conjunto de valores de frequência espectral em um formato de vetor) como um índice para uma entrada correspondente em uma tabela ou livro de códigos, como o livro de códigos 163. Como outro exemplo, o quantizador 156 pode ser configurado para determinar um ou mais parâmetros a partir dos quais o vetor de entrada pode ser gerado dinamicamente em um decodificador, como em uma implementação de livro de códigos esparso, em vez de recuperado do armazenamento. Para ilustrar, os exemplos de livro de códigos esparso podem ser aplicados em esquemas de codificação como CELP e codecs de acordo com padrões da indústria como 3GPP2 (Parceria da Terceira Geração 2) EVRC (Codec de Taxa Variável Avançado). Em outra implementação, o módulo de análise de banda alta 150 pode incluir o quantizador 156 e pode ser configurado para usar inúmeros vetores de livro de códigos para gerar sinais sintetizados (por exemplo, de acordo com um conjunto de parâmetros de filtro) e para selecionar um dentre os vetores de livro de códigos associados ao sinal sintetizado que mais bem corresponde ao sinal-alvo de banda alta 126, como em um domínio ponderado perceptivamente.
[0067] O módulo de análise de banda alta 150 também pode incluir um gerador de excitação de banda alta 160. O gerador de excitação de banda alta 160 pode gerar o sinal de excitação de banda alta 162 (por exemplo, um sinal harmonicamente estendido) com base no sinal de excitação de banda baixa 144 a partir do módulo de análise de banda baixa 130. O módulo de análise de banda alta 150 também pode incluir um módulo de síntese de LP 166. O módulo de síntese de LP 166 usa a informação de LPC gerada pelo quantizador 156 para gerar uma versão sintetizada do sinal- alvo de banda alta 126. O gerador de excitação de banda alta 160 e o módulo de síntese de LP 166 podem ser incluídos em um decodificador local que emula o desempenho em um dispositivo decodificador em um receptor. Uma saída do módulo de síntese de LP 166 pode ser usada para a comparação com o sinal-alvo de banda alta 126 e parâmetros (por exemplo, parâmetros de ganho) podem ser ajustados com base na comparação.
[0068] O fluxo de bits de banda baixa 142 e a informação secundária de banda alta 172 podem ser multiplexados pelo multiplexador 170 para gerar um fluxo de bits de saída 199. O fluxo de bits de saída 199 pode representar um sinal de áudio codificado correspondente ao sinal de áudio de entrada 102. O fluxo de bits de saída 199 pode ser transmitido (por exemplo, através de um canal com cabo, sem cabo ou óptico) por um transmissor 198 e/ou armazenado. Em um receptor, as operações inversas podem ser realizadas por um demultiplexador (DEMUX), um decodificador de banda baixa, um decodificador de banda alta e um banco de filtro para gerar um sinal de áudio (por exemplo, uma versão reconstruída do sinal de áudio de entrada 102 que é fornecida para um alto-falante ou outro dispositivo de saída). O número de bits usados para representar o fluxo de bits de banda baixa 142 pode ser substancialmente maior do que o número de bits usados para representar a informação secundária de banda alta 172. Dessa forma, a maior parte dos bits no fluxo de bits de saída 199 pode representar dados de banda baixa. A informação secundária de banda alta 172 pode ser usada em um receptor para regenerar os sinais de excitação de banda alta 162, 164 dos dados de banda baixa de acordo com um modelo de sinal. Por exemplo, o modelo de sinal pode representar um conjunto de relações ou correlações esperadas entre dados de banda baixa (por exemplo, o sinal de banda baixa 122) e dados de banda alta (por exemplo, o sinal-alvo de banda alta 126). Dessa forma, diferentes modelos de sinal podem ser usados para diferentes tipos de dados de áudio (por exemplo, fala, música, etc.) e o modelo de sinal particular que está em uso pode ser negociado por um transmissor e um receptor (ou definido por um padrão da indústria) antes da comunicação de dados de áudio codificados. Com o uso do modelo de sinal, o módulo de análise de banda alta 150 em um transmissor pode gerar a informação secundária de banda alta 172 de modo que um módulo de análise de banda alta correspondente em um receptor possa usar o modelo de sinal para reconstruir o sinal-alvo de banda alta 126 a partir do fluxo de bits de saída 199.
[0069] O sistema 100 da Figura 1 pode controlar a precisão do sinal-alvo de banda alta 126 com base no fator de escalonamento dinâmico selecionado pelo módulo de seleção de fator de escalonamento 107. Por exemplo, em cenários em que o primeiro nível de energia da banda baixa é significativamente maior do que o segundo nível de energia da banda alta, em que o sinal de áudio de entrada 102 pode ser escalonado para diminuir a quantidade de espaço. Diminuir a quantidade de espaço pode fornecer uma faixa maior para gerar o sinal-alvo de banda alta 126 de modo que a energia da banda alta possa ser mais precisamente capturada. Capturar precisamente a energia da banda alta pelo sinal-alvo de banda alta pode resultar em aprimoramento de estimativa de parâmetros de ganho de banda alta (por exemplo, informação secundária de banda alta 172) e reduzir artefatos. Em cenários em que o primeiro nível de energia da banda baixa não é significativamente maior do que o segundo nível de energia da banda alta, o sinal de áudio de entrada 102 pode ser escalonado para aumentar a quantidade de espaço. Aumentar a quantidade pode reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Por exemplo, durante a decimação, o módulo de geração de sinal-alvo de banda alta 113 pode realizar operações adicionais que podem causar a saturação se não houver espaço suficiente. Aumentar a quantidade de espaço (ou manter uma quantidade predefinida de espaço) pode reduzir substancialmente a saturação do sinal-alvo de banda alta 126.
[0070] Com referência à Figura 4A, um fluxograma de um método 400 para gerar um sinal-alvo de banda alta é mostrado. O método 400 pode ser realizado pelo sistema 100 da Figura 1.
[0071] O método 400 inclui receber, em um codificador, um sinal de entrada que tem uma porção de banda baixa e uma porção de banda alta, em 402. Por exemplo, com referência à Figura 1, a banda de filtro de análise 110 pode receber o sinal de áudio de entrada 102. Em particular, o reamostrador 103, o módulo de análise de inclinação espectral 105 e o módulo de escalonamento 109 podem receber o sinal de áudio de entrada 102. O sinal de áudio de entrada 102 pode ter uma porção de banda baixa que tem uma faixa de frequência entre 0 Hz e 6 kHz. O sinal de áudio de entrada 102 também pode ter uma porção de banda alta que tem uma faixa de frequência entre 6 kHz e 8 kHz.
[0072] Uma inclinação espectral associada ao sinal de entrada pode ser determinada, em 404. A inclinação espectral pode ser baseada em uma distribuição de energia do sinal de entrada. De acordo com uma implementação, a distribuição de energia do sinal de entrada pode ser baseada, pelo menos em parte, em um primeiro nível de energia da banda baixa e em um segundo nível de energia da banda alta. Com referência à Figura 1, o módulo de análise de inclinação espectral 105 pode determinar a inclinação espectral associada ao sinal de áudio de entrada 102. A inclinação espectral pode ser baseada em uma distribuição de energia do sinal de áudio de entrada 102. Por exemplo, a inclinação espectral pode ser baseada em uma razão entre a autocorrelação (R0) no índice de latência zero que representa uma energia da banda de frequência inteira do sinal de áudio de entrada 102 no domínio de tempo e a autocorrelação (R1) no índice de latência um que representa uma energia da banda alta no domínio de tempo. De acordo com uma implementação, a autocorrelação (R1) no índice de latência um pode ser calculada com base em uma soma do produto de amostras adjacentes. A inclinação espectral pode ser expressada como o quociente resultante da autocorrelação (R1) e a autocorrelação (R0) (por exemplo, R1/R0). O módulo de análise de inclinação espectral 105 pode gerar o sinal 106 que indica a inclinação espectral e pode fornecer o sinal 106 para o módulo de seleção de fator de escalonamento 107.
[0073] Um fator de escalonamento pode ser selecionado com base na inclinação espectral, em 406. Por exemplo, com referência à Figura 1 , o módulo de seleção de fator de escalonamento 107 pode selecionar o fator de escalonamento a ser usado para escalonar o sinal de áudio de entrada 102. O fator de escalonamento pode ser baseado na inclinação espectral indicada pelo sinal 106. Por exemplo, o módulo de seleção de fator de escalonamento 107 pode comparar a inclinação espectral com um limiar para determinar o fator de escalonamento. Se a inclinação espectral falhar ao satisfazer o limiar (por exemplo, não for menor do que o limiar, ou R1/R0 > = 0,95), então o módulo de seleção de fator de escalonamento 107 pode selecionar o primeiro fator de escalonamento. Selecionar o primeiro fator de escalonamento pode indicar um cenário em que um primeiro nível de energia da banda baixa é significativamente maior do que um segundo nível de energia da banda alta. Por exemplo, a distribuição de energia do sinal de áudio de entrada 102 pode ser relativamente íngreme quando a inclinação espectral falha ao satisfazer o limiar. Se a inclinação espectral satisfizer o limiar (por exemplo, for menor do que o limiar), então, o fator de módulo de escalonamento 107 pode selecionar o segundo fator de escalonamento. Selecionar o segundo fator de escalonamento pode indicar um cenário em que o primeiro nível de energia da banda baixa não é significativamente maior do que o segundo nível de energia da banda alta. Por exemplo, a distribuição de energia do sinal de áudio de entrada 102 pode ser relativamente uniforme através da banda baixa e da banda alta quando a inclinação espectral satisfizer o critério de limiar (isto é, R1/R0 < 0,95).
[0074] O sinal de entrada pode ser escalonado pelo fator de escalonamento para gerar um sinal de entrada escalonado, em 408. Por exemplo, com referência à Figura 1, módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 pelo fator de escalonamento selecionado para gerar um sinal de áudio de entrada escalonado 112. Para ilustrar, se o primeiro fator de escalonamento é selecionado, o módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 de modo que o sinal de áudio de entrada escalonado resultante 112 tenha uma primeira quantidade de espaço. Se o segundo fator de escalonamento for selecionado, o módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 de modo que o sinal de áudio de entrada escalonado resultante 112 tenha uma segunda quantidade de espaço que é menor do que a primeira quantidade de espaço. De acordo com uma implementação, a primeira quantidade de espaço pode ser igual a três bits de espaço e a segunda quantidade de espaço pode ser igual a zero bits de espaço. Gerar um sinal de áudio de entrada escalonado 112 que tem a primeira quantidade de espaço pode reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Gerar um sinal de áudio de entrada escalonado 112 que tem a segunda quantidade de espaço pode possibilitar estimativas de energia mais precisas para uma banda alta de baixa energia, o que, por sua vez, pode reduzir os artefatos.
[0075] Um sinal-alvo de banda alta pode ser gerado com base no sinal de entrada escalonado, em 410. Por exemplo, com referência à Figura 1, uma operação de inversão espectral pode ser realizada no sinal de áudio de entrada escalonado 112 para gerar um sinal invertido espectralmente. Adicionalmente, uma operação de decimação pode ser realizada no sinal invertido espectralmente para gerar o sinal-alvo de banda alta 126. De acordo com uma implementação, a operação de decimação pode decimar o sinal invertido espectralmente por um fator de quatro. O método 400 também pode incluir gerar um envelope espectral de previsão linear, parâmetros de ganho temporal ou uma combinação dos mesmos com base no sinal-alvo de banda alta.
[0076] O método 400 da Figura 4A pode controlar a precisão do sinal-alvo de banda alta 126 com base no fator de escalonamento dinâmico selecionado pelo módulo de seleção de fator de escalonamento 107. Por exemplo, em cenários em que o primeiro nível de energia da banda baixa é significativamente maior do que o segundo nível de energia da banda alta, em que o sinal de áudio de entrada 102 pode ser escalonado para diminuir a quantidade de espaço. Diminuir a quantidade de espaço pode fornecer uma faixa maior para gerar o sinal-alvo de banda alta 126 de modo que a energia da banda alta possa ser mais precisamente capturada. Capturar precisamente a energia da banda alta pelo sinal-alvo de banda alta pode resultar em aprimoramento de estimativa de parâmetros de ganho de banda alta (por exemplo, informação secundária de banda alta 172) e reduzir artefatos. Em cenários em que o primeiro nível de energia da banda baixa não é significativamente maior do que o segundo nível de energia da banda alta, o sinal de áudio de entrada 102 pode ser escalonado para aumentar a quantidade de espaço. Aumentar a quantidade pode reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Por exemplo, durante a decimação, o módulo de geração de sinal-alvo de banda alta 113 pode realizar operações adicionais que podem causar a saturação se não houver espaço suficiente. Aumentar a quantidade de espaço (ou manter uma quantidade predefinida de espaço) pode reduzir substancialmente a saturação do sinal-alvo de banda alta 126.
[0077] Com referência à Figura 4B, outro fluxograma de um método 420 para gerar um sinal-alvo de banda alta é mostrado. O método 420 pode ser realizado pelo sistema 100 da Figura 1.
[0078] O método 420 inclui receber, em um codificador, um sinal de entrada que tem uma porção de banda baixa e uma porção de banda alta, em 422. Por exemplo, a banda de filtro de análise 110 pode receber o sinal de áudio de entrada 102. Em particular, o reamostrador 103, o módulo de análise de inclinação espectral 105 e o módulo de escalonamento 109 podem receber o sinal de áudio de entrada 102. O sinal de áudio de entrada 102 pode ter uma porção de banda baixa que tem uma faixa de frequência entre 0 Hz e 6 kHz. O sinal de áudio de entrada 102 também pode ter uma porção de banda alta que tem uma faixa de frequência entre 6 kHz e 8 kHz.
[0079] Um primeiro valor de autocorrelação do sinal de entrada pode ser comparado com um segundo valor de autocorrelação do sinal de entrada, em 424. Por exemplo, de acordo com o pseudocódigo descrito acima, o banco de filtro de análise 110 pode realizar uma operação de comparação com o uso da autocorrelação (R1) no índice de latência um ("temp2") do sinal de áudio de entrada 102 e a autocorrelação (R0) no índice de latência zero ("temp1"). Para ilustrar, o banco de filtro de análise 110 pode determinar se o segundo valor de autocorrelação (por exemplo, a autocorrelação (R1) no índice de latência um) é menor do que um produto do primeiro valor de autocorrelação (por exemplo, a autocorrelação (R0) no índice de latência zero) e um limiar (por exemplo, um limiar de 95 por cento). A autocorrelação (R1) no índice de latência um pode ser calculada com base em uma soma de produto de amostras adjacentes.
[0080] O sinal de entrada pode ser escalonado por um fator de escalonamento para gerar um sinal de entrada escalonado, em 426. O fator de escalonamento pode ser determinado com base em um resultado da comparação. Por exemplo, com referência à Figura 1, o módulo de seleção de fator de escalonamento 107 pode selecionar um primeiro fator de escalonamento como o fator de escalonamento se o segundo valor de autocorrelação (R1) não for menos do que o produto do primeiro valor de autocorrelação (R0) e o limiar (por exemplo, 0,95). O módulo de seleção de fator de escalonamento 107 pode selecionar um segundo fator de escalonamento como o fator de escalonamento se o segundo valor de autocorrelação (R1) for menor do que o produto do primeiro valor de autocorrelação (R0) e o limiar (por exemplo, 0,95). O módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 pelo fator de escalonamento selecionado para gerar um sinal de áudio de entrada escalonado 112. Para ilustrar, se o primeiro fator de escalonamento é selecionado, o módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 de modo que o sinal de áudio de entrada escalonado resultante 112 tenha uma primeira quantidade de espaço. Se o segundo fator de escalonamento for selecionado, o módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 de modo que o sinal de áudio de entrada escalonado resultante 112 tenha uma segunda quantidade de espaço que é menor do que a primeira quantidade de espaço. De acordo com uma implementação, a primeira quantidade de espaço pode ser igual a três bits de espaço e a segunda quantidade de espaço pode ser igual a zero bits de espaço. Gerar um sinal de áudio de entrada escalonado 112 que tem a primeira quantidade de espaço pode reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Gerar um sinal de áudio de entrada escalonado 112 que tem a segunda quantidade de espaço pode possibilitar estimativas de energia mais precisas para uma banda alta de baixa energia, o que, por sua vez, pode reduzir os artefatos. Em outras implementações ilustrativas alternativas, o módulo de seleção de fator de escalonamento 107 pode selecionar entre múltiplos fatores de escalonamento (por exemplo, mais do que 2) com base em múltiplos limiares da comparação realizada entre o primeiro e o segundo valores de autocorrelação. Alternativamente, o módulo de seleção de fator de escalonamento 107 pode mapear o primeiro e o segundo valores de autocorrelação para um fator de escalonamento de saída.
[0081] Em uma implementação alternativa, o módulo de seleção de fator de escalonamento 107 pode selecionar o primeiro fator de escalonamento como o fator de escalonamento. O módulo de seleção de fator de escalonamento 107 pode modificar o valor do fator de escalonamento para o segundo fator de escalonamento se o segundo valor de autocorrelação (R1) for menor do que o produto do primeiro valor de autocorrelação (R0) e o limiar (por exemplo, 0,95). O módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 pelo fator de escalonamento selecionado para gerar um sinal de áudio de entrada escalonado 112. Para ilustrar, se o primeiro fator de escalonamento for selecionado e o valor do fator de escalonamento não for modificado para o segundo fator de escalonamento, o módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 de modo que o sinal de áudio de entrada escalonado resultante 112 tenha uma primeira quantidade de espaço. Se o valor do fator de escalonamento for modificado do primeiro fator de escalonamento para o segundo fator de escalonamento com base na comparação do primeiro e do segundo valores de autocorrelação, o módulo de escalonamento 109 pode escalonar o sinal de áudio de entrada 102 de modo que o sinal de áudio de entrada escalonado resultante 112 tenha uma segunda quantidade de espaço que é menor do que a primeira quantidade de espaço. De acordo com uma implementação, a primeira quantidade de espaço pode ser igual a três bits de espaço e a segunda quantidade de espaço pode ser igual a zero bits de espaço.
[0082] Um sinal de banda baixa pode ser gerado com base no sinal de entrada e um sinal-alvo de banda alta pode ser gerado com base no de entrada escalonado, em 428. O sinal de banda baixa pode ser gerado independentemente do sinal de entrada escalonado. Por exemplo, com referência à Figura 1, uma operação de inversão espectral pode ser realizada no sinal de áudio de entrada escalonado 112 para gerar um sinal invertido espectralmente. Adicionalmente, uma operação de decimação pode ser realizada no sinal invertido espectralmente para gerar o sinal-alvo de banda alta 126. Adicionalmente, o reamostrador 103 pode remover por filtração os componentes de frequência alta do sinal de áudio de entrada 102 para gerar um sinal de banda baixa 122.
[0083] De acordo com o método 420, se o segundo valor de autocorrelação (R1) for menor do que o limiar (0,95) multiplicado pelo primeiro valor de autocorrelação (R0), o parâmetro (Q_wb_sp) pode manter um espaço adicional de três bits a mais durante o escalonamento para reduzir a probabilidade de saturação durante a geração do sinal-alvo de banda alta 126. Se o segundo valor de autocorrelação (R1) não for menor do que o limiar (0,95) multiplicado pelo primeiro valor de autocorrelação (R0), o (Q_wb_sp) pode diminuir o espaço adicional para zero bits durante o escalonamento para fornecer uma faixa maior para gerar o sinal-alvo de banda alta 126 de modo que a energia da banda alta possa ser mais precisamente capturada. De acordo com o pseudocódigo, o sinal de entrada é deslocado para a esquerda pelo número de bits de Q_wb_sp, o que significa que o fator de escala final selecionado por 107 corresponderia a 2Q-wb-sp. Capturar precisamente a energia da banda alta pelo sinal-alvo de banda alta pode resultar e aprimoramento de estimativa de parâmetros de ganho de banda alta (por exemplo, informação secundária de banda alta 172) e poderia reduzir os artefatos. Em algumas modalidades exemplificativas, o sinal-alvo de banda alta 126 pode ser re-escalonado de volta para o nível de entrada original (por exemplo, em fatores de Q: Q0 ou Q-1), de modo que as atualizações de memória, estimativa de parâmetro de banda alta e síntese de banda alta através de quadros mantenham um ajuste de fator de escala temporal fixo.
[0084] O método 420 da Figura 4B pode controlar a precisão do sinal-alvo de banda alta 126 com base no fator de escalonamento dinâmico selecionado pelo módulo de seleção de fator de escalonamento 107. Por exemplo, em cenários em que o primeiro nível de energia da banda baixa é significativamente maior do que o segundo nível de energia da banda alta, em que o sinal de áudio de entrada 102 pode ser escalonado para diminuir a quantidade de espaço. Diminuir a quantidade de espaço pode fornecer uma faixa maior para gerar o sinal-alvo de banda alta 126 de modo que a energia da banda alta possa ser mais precisamente capturada.
[0085] Em implementações particulares, os métodos 400, 420 das Figuras 4A a 4B podem ser implementados por meio de hardware (por exemplo, um dispositivo de FPGA, um ASIC, etc.) de uma unidade de processamento, como a central unidade de processamento (CPU), um DSP ou um controlador, por meio de um dispositivo de firmware, ou qualquer combinação dos mesmos. Como um exemplo, os métodos 400, 420 das Figuras 4A a 4B podem ser realizados por um processador que executa instruções, como descrito em relação à Figura 5.
[0086] Com referência à Figura 5, um diagrama de blocos de um dispositivo é representado e, em geral, designado 500. Em uma implementação particular, o dispositivo 500 inclui um processador 506 (por exemplo, uma CPU). O dispositivo 500 pode incluir um ou mais processadores adicionais 510 (por exemplo, um ou mais DSPs). Os processadores 510 podem incluir um CODEC de fala e de música 508. O CODEC de fala e de música 508 pode incluir um codificador tipo vocoder 592, um decodificador tipo vocoder (não mostrado) ou ambos. Em uma implementação particular, o codificador tipo vocoder 592 pode incluir um sistema de codificação como o sistema 100 da Figura 1.
[0087] O dispositivo 500 pode incluir uma memória 532 e um controlador sem fio 540 acoplado a uma antena 542. O dispositivo 500 pode incluir um visor 528 acoplado a um controlador de visor 526. Um alto-falante 536, um microfone 538 ou ambos podem ser acoplados ao CODEC 534. O CODEC 534 pode incluir um conversor de digital para analógico (DAC) 502 e um conversor de analógico para digital (ADC) 504.
[0088] Em uma implementação particular, o CODEC 534 pode receber sinais analógicos a partir do microfone 538, converter os sinais analógicos para sinais digitais com o uso do conversor de analógico para digital 504 e fornecer os sinais digitais para o CODEC de fala e de música 508 como em um formato de modulação de código de pulso (PCM). O CODEC de fala e de música 508 pode processar os sinais digitais. Em uma implementação particular, o CODEC de fala e de música 508 pode fornecer sinais digitais para o CODEC 534. O CODEC 534 pode converter os sinais digitais para sinais analógicos com o uso do conversor de digital para analógico 502 e pode fornecer os sinais analógicos para o alto-falante 536.
[0089] A memória 532 pode incluir instruções 560 executáveis pelo processador 506, pelos processadores 510, pelo CODEC 534, por outra unidade de processamento do dispositivo 500 ou por uma combinação dos mesmos, para realizar métodos e processos revelados no presente documento, como os métodos 400, 420 das Figuras 4A a 4B. Um ou mais componentes do sistema 100 da Figura 1 podem ser implementados por meio de hardware dedicado (por exemplo, conjunto de circuitos), por um processador que executa instruções (por exemplo, as instruções 560) para realizar uma ou mais tarefas ou uma combinação dos mesmos. Como um exemplo, a memória 532 ou um ou mais componentes do processador 506, dos processadores 510 e/ou do CODEC 534 podem ser um dispositivo de memória, como uma memória de acesso aleatório (RAM), memória de acesso aleatório magnetorresistiva (MRAM), MRAM de transferência de torque de giro (STT-MRAM), memória flash, memória somente de leitura (ROM), memória somente de leitura programável (PROM), memória somente de leitura programável passível de ser apagada (EPROM), memória somente de leitura programável passível de ser apagada eletricamente (EEPROM), registros, disco rígido, um disco removível ou uma memória somente de leitura de disco compacto (CD-ROM). O dispositivo de memória pode incluir instruções (por exemplo, as instruções 560) que, quando executadas por um computador (por exemplo, um processador no CODEC 534, o processador 506 e/ou os processadores 510), podem fazer com que o computador realize os métodos 400, 420 das Figuras 4A a 4B. Como um exemplo, a memória 532 ou os um ou mais componentes do processador 506, dos processadores 510 e/ou do CODEC 534 podem ser um meio legível por computador não transitório que inclui instruções (por exemplo, as instruções 560) que, quando executadas por um computador (por exemplo, um processador no CODEC 534, o processador 506 e/ou os processadores 510), fazem com que o computador realize pelo menos uma porção dos métodos 400, 420 das Figuras 4A a 4B.
[0090] Em uma implementação particular, o dispositivo 500 pode ser incluído em um dispositivo de sistema em chip ou sistema em pacote 522, como um modem de estação móvel (MSM). Em uma implementação particular, o processador 506, os processadores 510, o controlador de exibição 526, a memória 532, o CODEC 534 e o controlador sem fio 540 são incluídos em um dispositivo de sistema em chip ou sistema em pacote 522. Em uma implementação particular, um dispositivo de entrada 530, como uma tela sensível ao toque e/ou teclado e uma fonte de alimentação 544 são acoplados ao dispositivo de sistema em chip 522. Ademais, em uma implementação particular, como ilustrado na Figura 5, o visor 528, o dispositivo de entrada 530, o alto-falante 536, o microfone 538, a antena 542 e a fonte de alimentação 544 são externos ao dispositivo de sistema em chip 522. Entretanto, cada um dentre o visor 528, o dispositivo de entrada 530, o alto-falante 548, o microfone 546, a antena 542 e a fonte de alimentação 544 pode ser acoplado a um componente do dispositivo de sistema em chip 522, como uma interface ou um controlador. Em um exemplo ilustrativo, o dispositivo 500 corresponde a um dispositivo de comunicação móvel, um telefone inteligente, um telefone celular, um computador tipo laptop, um computador, um computador tipo tablet, um assistente pessoal digital, um dispositivo de exibição, uma televisão, um console de jogo, um reprodutor de música, um rádio, um reprodutor de vídeo digital, um reprodutor de disco óptico, um sintonizador, uma câmera, um dispositivo de navegação, um sistema de decodificador, um sistema de codificador ou qualquer combinação dos mesmos.
[0091] Em conjunto com as implementações descritas, um aparelho inclui meios para receber um sinal de entrada que tem uma porção de banda baixa e uma porção de banda alta. Por exemplo, os meios para receber o sinal de entrada podem incluir p banco de filtro de análise 110 da Figura 1, o reamostrador 103 da Figura 1, o módulo de análise de inclinação espectral 105 da Figura 1, o módulo de escalonamento 109 da Figura 1, o CODEC de fala e de música 508 da Figura 5, o codificador tipo vocoder 592 da Figura 5, um ou mais dispositivos configurados para receber o sinal de entrada (por exemplo, um processador que executa instruções em um meio de armazenamento legível por computador não transitório), ou uma combinação dos mesmos.
[0092] O aparelho também pode incluir meios para comparar um primeiro valor de autocorrelação do sinal de entrada com um segundo valor de autocorrelação do sinal de entrada. Por exemplo, os meios para comparar podem incluir o banco de filtro de análise 110 da Figura 1, o CODEC de fala e de música 508 da Figura 5, o codificador tipo vocoder 592 da Figura 5, um ou mais dispositivos configurados para comparar o primeiro valor de autocorrelação com o segundo valor de autocorrelação (por exemplo, um processador que executa instruções em um meio de armazenamento legível por computador não transitório) ou uma combinação dos mesmos.
[0093] O aparelho também pode incluir meios para escalonamento do sinal de entrada pelo fator de escalonamento para gerar um sinal de entrada escalonado. O fator de escalonamento pode ser determinado com base em um resultado da comparação. Por exemplo, os meios para escalonamento do sinal de entrada podem incluir o banco de filtro de análise 110 da Figura 1, o módulo de escalonamento 109 da Figura 1, o CODEC de fala e de música 508 da Figura 5, o codificador tipo vocoder 592 da Figura 5, um ou mais dispositivos configurados para escalonar o sinal de entrada (por exemplo, um processador que executa instruções em um meio de armazenamento legível por computador não transitório), ou uma combinação dos mesmos.
[0094] O aparelho também pode incluir meios para gerar um sinal de banda baixa com base no sinal de entrada. O sinal de banda baixa pode ser gerado independentemente do sinal de entrada escalonado. Por exemplo, os meios para gerar o sinal de banda baixa podem incluir o banco de filtro de análise 110 da Figura 1, o reamostrador 103 da Figura 1, o CODEC de fala e de música 508 da Figura 5, o codificador tipo vocoder 592 da Figura 5, um ou mais dispositivos configurados para gerar o sinal- alvo de banda alta (por exemplo, um processador que executa instruções em um meio de armazenamento legível por computador não transitório), ou uma combinação dos mesmos.
[0095] O aparelho também pode incluir meios para gerar um sinal-alvo de banda alta com base no sinal de entrada escalonado. Por exemplo, os meios para gerar o sinal-alvo de banda alta podem incluir o banco de filtro de análise 110 da Figura 1, o módulo de geração de sinal-alvo de banda alta 113 da Figura 1, o CODEC de fala e de música 508 da Figura 5, o codificador tipo vocoder 592 da Figura 5, um ou mais dispositivos configurados para gerar o sinal de banda baixa (por exemplo, um processador que executa instruções em um meio de armazenamento legível por computador não transitório) ou uma combinação dos mesmos.
[0096] Com referência à Figura 6, é representado um diagrama de blocos de um exemplo ilustrativo particular de uma estação-base 600. Em várias implementações, a estação-base 600 pode ter mais componentes ou menos componentes do que é ilustrado na Figura 6. Em um exemplo ilustrativo, a estação-base 600 pode incluir o sistema 100 da Figura 1. Em um exemplo ilustrativo, a estação-base 600 pode operar de acordo com o método 400 da Figura 4A, o método 420 da Figura 4B ou uma combinação dos mesmos.
[0097] A estação-base 600 pode ser parte de um sistema de comunicação sem fio. O sistema de comunicação sem fio pode incluir múltiplas estações-base e múltiplos dispositivos sem fio. O sistema de comunicação sem fio pode ser um sistema de Evolução de Longo Prazo (LTE), um sistema de Acesso Múltiplo por Divisão de Código (CDMA), um sistema tipo Sistema Global para Comunicações Móveis (GSM), um sistema de rede de área local sem fio (WLAN) ou algum outro sistema sem fio. Um sistema de CDMA pode implementar CDMA de Banda Larga (WCDMA), CDMA 1X, Dados de Evolução Otimizada (EVDO), CDMA Sincronizado por Divisão de Tempo (TD-SCDMA) ou alguma outra versão de CDMA.
[0098] Os dispositivos sem fio também podem ser chamados de equipamento de usuário (UE), uma estação móvel, um terminal, um terminal de acesso, uma unidade de assinante, uma estação, etc. Os dispositivos sem fio podem incluir um telefone celular, um telefone inteligente, um computador tipo tablet, um modem sem fio, um assistente pessoal digital (PDA), um dispositivo portátil, um computador tipo laptop, um livro inteligente, um computador tipo netbook, um computador tipo tablet, um telefone sem cordão, uma estão de circuito local sem fio (WLL), um dispositivo de Bluetooth, etc. Os dispositivos sem fio podem incluir ou corresponder ao dispositivo 500 da Figura 5.
[0099] Várias funções podem ser realizadas por um ou mais componentes da estação-base 600 (e/ou em outros componentes não mostrados), como o envio e o recebimento de mensagens e dados (por exemplo, dados de áudio). Em um exemplo particular, a estação-base 600 inclui um processador 606 (por exemplo, um CPU). A estação-base 600 pode incluir um transcodificador 610. O transcodificador 610 pode incluir um CODEC de áudio 608. Por exemplo, o transcodificador 610 pode incluir um ou mais componentes (por exemplo, conjunto de circuitos) configurados para realizar operações do CODEC de áudio 608. Como outro exemplo, o transcodificador 610 pode ser configurado para executar uma ou mais instruções legíveis por computador para realizar as operações do CODEC de áudio 608. Embora o CODEC de áudio 608 seja ilustrado como um componente do transcodificador 610, em outros exemplos, um ou mais componentes do CODEC de áudio 608 podem ser incluídos no processador 606, outro componente de processamento ou uma combinação dos mesmos. Por exemplo, um decodificador tipo vocoder 638 pode ser incluído em um processador de dados de receptor 664. Como outro exemplo, um codificador tipo vocoder 636 pode ser incluído em um processador de dados de transmissão 667.
[0100] O transcodificador 610 pode funcionar para transcodificar mensagens e dados entre duas ou mais redes. O transcodificador 610 pode ser configurado para converter mensagem e dados de áudio a partir de um primeiro formato (por exemplo, um formato digital) para um segundo formato. Para ilustrar, o decodificador tipo vocoder 638 pode decodificar sinais codificados que têm um primeiro formato e o codificador tipo vocoder 636 pode codificar os sinais decodificados em sinais codificados que têm um segundo formato. Adicional ou alternativamente, o transcodificador 610 pode ser configurado para realizar a adaptação de taxa de dados. Por exemplo, o transcodificador 610 pode converter de modo descendente uma taxa de dados ou converter de modo ascendente a taxa de dados sem alterar um formato dos dados de áudio. Para ilustrar, o transcodificador 610 pode converter de modo descendente sinais de 64 kbits/s em sinais de 16 kbits/s.
[0101] O CODEC de áudio 608 pode incluir o codificador tipo vocoder 636 e o decodificador tipo vocoder 638. O codificador tipo vocoder 636 pode incluir um seletor de codificação, um codificador de fala e um codificador de música, como descrito com referência à Figura 5. O decodificador tipo vocoder 638 pode incluir um seletor de decodificador, um decodificador de fala e um decodificador de música.
[0102] A estação-base 600 pode incluir uma memória 632. A memória 632, como um dispositivo de armazenamento legível por computador, pode incluir instruções. As instruções podem incluir uma ou mais instruções que são executáveis pelo processador 606, pelo transcodificador 610 ou uma combinação dos mesmos, para realizar o método 400 da Figura 4A, o método 420 da Figura 4B ou uma combinação dos mesmos. A estação-base 600 pode incluir múltiplos transmissores e receptores (por exemplo, transceptores), como um primeiro transceptor 652 e um segundo transceptor 654, acoplados a um arranjo de antenas. O arranjo de antenas pode incluir uma primeira antena 642 e uma segunda antena 644. O arranjo de antenas pode ser configurado para se comunicar sem fio com um ou mais dispositivos sem fio, como o dispositivo 500 da Figura 5. Por exemplo, a segunda antena 644 pode receber um fluxo de dados 614 (por exemplo, um fluxo de bits) a partir do dispositivo sem fio. O fluxo de dados 614 pode incluir mensagens, dados (por exemplo, dados de fala codificados) ou uma combinação dos mesmos.
[0103] A estação-base 600 pode incluir uma conexão de rede 660, como conexão de tráfego de retorno. A conexão de rede 660 pode ser configurada para se comunicar com uma rede de núcleo ou uma ou mais estações-base da rede de comunicação sem fio. Por exemplo, a estação-base 600 pode receber um segundo fluxo de dados (por exemplo, mensagens ou dados de áudio) a partir de uma rede de núcleo por meio da conexão de rede 660. A estação-base 600 pode processar o segundo fluxo de dados para gerar mensagens ou dados de áudio e fornecer as mensagens ou os dados de áudio para um ou mais dispositivos sem fio por meio de uma ou mais antenas do arranjo de antenas ou para outra estação- base por meio da conexão de rede 660. Em uma implementação particular, a conexão de rede 660 pode ser uma conexão de rede de área ampla (WAN), como um exemplo não limitante ilustrativo. Em algumas implementações, a rede de núcleo pode incluir ou corresponder a uma Rede de Telefone Comutada Pública (PSTN), uma rede principal de pacote ou ambas.
[0104] A estação-base 600 pode incluir uma porta de comunicação de mídia 670 que é acoplada à conexão de rede 660 e ao processador 606. A porta de comunicação de mídia 670 pode ser configurada para converter entre fluxos de mídia de diferentes tecnologias de telecomunicações. Por exemplo, a porta de comunicação de mídia 670 pode converter entre diferentes protocolos de transmissão, diferentes esquemas de codificação ou ambos. Para ilustrar, a porta de comunicação de mídia 670 pode converter de sinais de PCM para sinais de Protocolo de Transporte em Tempo Real (RTP) como um exemplo não limitante ilustrativo. A porta de comunicação de mídia 670 pode converter dados entre reder comutadas por pacote (por exemplo, uma rede de Voz Sobre Protocolo de Internet (VoIP), um Subsistema de Multimídia de IP (IMS), uma rede sem fio da quarta geração (4G), como LTE, WiMax e UMB, etc.), redes comutadas por circuito (por exemplo, uma PSTN) e redes híbridas (por exemplo, uma rede sem fio da segunda geração (2G), como GSM, GPRS e EDGE, uma rede sem fio da terceira geração (3G), como WCDMA, EV-DO e HSPA, etc.).
[0105] Adicionalmente, a porta de comunicação de mídia 670 pode incluir um transcodificador, como o transcodificador 610 e pode ser configurada para transcodificar dados quando os codecs são incompatíveis. Por exemplo, a porta de comunicação de mídia 670 pode transcodificar entre um codec de Múltiplas Taxas Adaptativas (AMR) e um codec G.711, como um exemplo não limitante ilustrativo. A porta de comunicação de mídia 670 pode incluir um roteador e uma pluralidade de interfaces físicas. Em algumas implementações, a porta de comunicação de mídia 670 também pode incluir um controlador (não mostrado). Em uma implementação particular, o controlador de porta de comunicação de mídia pode ser externo à porta de comunicação de mídia 670, externo à estação-base 600, ou ambos. O controlador de porta de comunicação de mídia pode controlar e coordenar as operações de múltiplas portas de comunicação de mídia. A porta de comunicação de mídia 670 pode receber sinais de controle a partir do controlador de porta de comunicação de mídia e pode funcionar para fazer uma ponte entre diferentes tecnologias de transmissão e pode adicionar serviço às capacidades e conexões do usuário final.
[0106] A estação-base 600 pode incluir um demodulador 662 que é acoplado aos transceptores 652, 654, ao processador de dados de receptor 664 e ao processador 606, e o processador de dados de receptor 664 pode ser acoplado ao processador 606. O demodulador 662 pode ser configurado para demodular sinais modulados recebidos a partir dos transceptores 652, 654 e para fornecer dados demodulados para o processador de dados de receptor 664. O processador de dados de receptor 664 pode ser configurado para extrair uma mensagem ou dados de áudio a partir dos dados demodulados e enviar a mensagem ou os dados de áudio para o processador 606.
[0107] A estação-base 600 pode incluir um processador de dados de transmissão 667 e um processador de múltiplas entradas e múltiplas saídas (MIMO) de transmissão 668. O processador de dados de transmissão 667 pode ser acoplado ao processador 606 e ao processador de MIMO de transmissão 668. O processador de MIMO de transmissão 668 pode ser acoplado aos transceptores 652, 654 e ao processador 606. Em algumas implementações, o processador de MIMO de transmissão 668 pode ser acoplado à porta de comunicação de mídia 670. O processador de dados de transmissão 667 pode ser configurado para receber as mensagens ou os dados de áudio a partir do processador 606 e para codificar as mensagens ou os dados de áudio com base em um esquema de codificação, como CDMA ou multiplexação por divisão de frequência ortogonal (OFDM), como exemplos não limitantes ilustrativos. O processador de dados de transmissão 667 pode fornecer os dados codificados ao processador de MIMO de transmissão 668.
[0108] Os dados codificados podem ser multiplexados com outros dados, como dados-piloto, com o uso de técnicas de CDMA ou de OFDM para gerar dados multiplexados. Os dados multiplexados podem, então, ser modulados (isto é, mapeados por símbolo) pelo processador de dados de transmissão 667 com base em um esquema de modulação particular (por exemplo, chaveamento de deslocamento de fase binária ("BPSK"), o chaveamento de deslocamento de fase de quadratura ("QSPK"), chaveamento de deslocamento de fase M-ária ("M-PSK"), modulação de amplitude de quadratura M-ária ("M-QAM"), etc.) para gerar símbolos de modulação. Em uma implementação particular, os dados codificados e outros dados podem ser modulados com o uso de diferentes esquemas de modulação. A taxa de dados, a codificação e a modulação para cada fluxo de dados pode ser determinada por instruções executadas pelo processador 606.
[0109] O processador de MIMO de transmissão 668 pode ser configurado para receber os símbolos de modulação a partir do processador de dados de transmissão 667 e pode processar adicionalmente os símbolos de modulação e pode realizar a formação de feixe nos dados. Por exemplo, o processador de MIMO de transmissão 668 pode aplicar ponderações de formação de feixe nos símbolos de modulação. As ponderações de formação de feixe podem corresponder a uma ou mais antenas do arranjo de antenas a partir do qual os símbolos de modulação são transmitidos.
[0110] Durante a operação, a segunda antena 644 da estação-base 600 pode receber um fluxo de dados 614. O segundo transceptor 654 pode receber o fluxo de dados 614 a partir da segunda antena 644 e pode fornecer o fluxo de dados 614 ao demodulador 662. O demodulador 662 pode demodular sinais modulados do fluxo de dados 614 e fornecer dados demodulados ao processador de dados de receptor 664. O processador de dados de receptor 664 pode extrair dados de áudio a partir dos dados demodulados e fornecer os dados de áudio extraídos para o processador 606.
[0111] O processador 606 pode fornecer os dados de áudio par ao transcodificador 610 para a transcodificação. O decodificador tipo vocoder 638 do transcodificador 610 pode decodificar os dados de áudio a partir de um primeiro formato em dados de áudio decodificados e o codificador tipo vocoder 636 pode codificar os dados de áudio decodificados em um segundo formato. Em algumas implementações, o codificador tipo vocoder 636 pode codificar os dados de áudio com o uso de uma taxa de dados superior (por exemplo, conversão ascendente) ou uma taxa de dados inferior (por exemplo, conversão descendente) à recebida pelo dispositivo sem fio. Em outras implementações, os dados de áudio podem não ser transcodificados. Embora a transcodificação (por exemplo, decodificação e codificação) seja ilustrada como sendo realizada por um transcodificador 610, as operações de transcodificação (por exemplo, decodificação e codificação) pode ser realizada por múltiplos componentes da estação- base 600. Por exemplo, a decodificação pode ser realizada pelo processador de dados de receptor 664 e a codificação pode ser realizada pelo processador de dados de transmissão 667. Em outras implementações, o processador 606 pode fornecer os dados de áudio para a porta de comunicação de mídia 670 para a conversão para outro protocolo de transmissão, esquema de codificação ou ambos. A porta de comunicação de mídia 670 pode fornecer os dados convertidos para outra estação-base ou rede de núcleo por meio da conexão de rede 660.
[0112] O decodificador tipo vocoder 638, o codificador tipo vocoder 636 ou ambos podem receber os dados de parâmetro e podem identificar os dados de parâmetro a uma base de quadro por quadro. O decodificador tipo vocoder 638, o codificador tipo vocoder 636 ou ambos podem classificar, a uma base de quadro por quadro, o sinal sintetizado com base nos dados de parâmetro. O sinal sintetizado pode ser classificado como um sinal de fala, um sinal de não fala, um sinal de música, um sinal de fala com ruído, um sinal de ruído de plano de fundo ou uma combinação dos mesmos. O decodificador tipo vocoder 638, O codificador tipo vocoder 636 ou ambos podem selecionar um decodificador particular, um codificador particular ou ambos com base na classificação. Os dados de áudio codificados gerados no codificador tipo vocoder 636, como os dados transcodificados, podem ser fornecidos ao processador de dados de transmissão 667 ou à conexão de rede 660 por meio do processador 606.
[0113] Os dados transcodificados de áudio do transcodificador 610 podem ser fornecidos ao processador de dados de transmissão 667 para a codificação de acordo com um esquema de modulação, como OFDM, para gerar os símbolos de modulação. O processador de dados de transmissão 667 pode fornecer os símbolos de modulação ao processador de MIMO de transmissão 668 para processamento adicional e formação de feixe. O processador de MIMO de transmissão 668 pode aplicar ponderações de formação de feixe e pode fornecer os símbolos de modulação às uma ou mais antenas do arranjo de antenas, como à primeira antena 642 por meio do primeiro transceptor 652. Dessa forma, a estação-base 600 pode fornecer um fluxo de dados transcodificado 616 que corresponde ao fluxo de dados 614 recebido a partir do dispositivo sem fio para outro dispositivo sem fio. O fluxo de dados transcodificado 616 pode ter um formato de codificação, uma taxa de dados ou ambos diferentes do fluxo de dados 614. Em outras implementações, o fluxo de dados transcodificado 616 pode ser fornecido à conexão de rede 660 para a transmissão para outra estação-base ou uma rede de núcleo.
[0114] A estação-base 600 pode, portanto, incluir um dispositivo de armazenamento legível por computador (por exemplo, a memória 632) que armazena instruções que, quando executadas por um processador (por exemplo, o processador 606 ou o transcodificador 610), fazem com que o processador realize operações que incluem decodificar um sinal de áudio codificado para gerar um sinal sintetizado. As operações também podem incluir classificar o sinal sintetizado com base em pelo menos um parâmetro determinado a partir do sinal de áudio codificado.
[0115] Os elementos versados irão observar, adicionalmente, que os vários blocos lógicos, configurações, módulos, circuitos e etapas de algoritmo ilustrativos descritos em relação às implementações reveladas no presente documento podem ser implementados como hardware eletrônico, software de computador executado por um dispositivo de processamento como um processador de hardware ou combinações de ambos. Vários componentes, blocos, configurações, módulos, circuitos e etapas ilustrativos foram descritos acima, em geral, em termos de sua funcionalidade. A possibilidade de tal funcionalidade ser implementada como hardware ou como software executável depende da aplicação particular e das restrições de projeto impostas sobre o sistema geral. Os técnicos versados podem implementar a funcionalidade descrita de formas variáveis para cada aplicação particular, porém, tais decisões de implementação não devem ser interpretadas de modo a causar um afastamento do escopo da presente revelação.
[0116] As etapas de um método ou algoritmo descritas em relação às implementações reveladas no presente documento podem ser incorporadas diretamente em hardware, em um módulo de software executado por um processador ou em uma combinação dos dois. Um módulo de software pode residir em um dispositivo de memória, como memória de acesso aleatório (RAM), memória de acesso aleatório magnetorresistiva (MRAM), MRAM de transferência de torque de giro (STT- MRAM), memória flash, memória somente de leitura (ROM), memória somente de leitura programável (PROM), memória somente de leitura programável passível de ser apagada (EPROM), memória somente de leitura programável passível de ser apagada eletricamente (EEPROM), registros, disco rígido, um disco removível ou uma memória somente de leitura de disco compacto (CD-ROM). Um dispositivo de memória exemplificativo é acoplado ao processador de modo que o processador possa ler informação a partir de, e gravar informação no dispositivo de memória. Alternativamente, o dispositivo de memória pode ser integral ao processador. O processador e O meio de armazenamento podem estar situados em um ASIC. O ASIC pode estar situado em um dispositivo de computação ou um terminal de usuário. Alternativamente, o processador e o meio de armazenamento podem estar situados como componentes distintos em um dispositivo de computação ou um terminal de usuário.
[0117] A descrição anterior das implementações reveladas é fornecida para possibilitar que uma pessoa versada na técnica produza ou use as implementações reveladas. Várias modificações em tais implementações serão prontamente evidentes àqueles versados na técnica, e os princípios definidos no presente documento podem ser aplicados a outras implementações sem que se afaste do escopo da revelação. Dessa forma, a presente revelação não é destinada a ser limitada às implementações mostradas no presente documento, mas deve ser atribuída ao escopo mais amplo possível consistente com os princípios e recursos inovadores como definido pelas reivindicações a seguir.

Claims (15)

1. Método para codificar um sinal de áudio de entrada (102), o método caracterizado por compreender: receber, em um codificador, um sinal de áudio de entrada (102) que tem uma porção de banda baixa tendo um primeiro nível de energia e uma porção de banda alta tendo um segundo nível de energia; determinar uma inclinação espectral representativa da distribuição de energia do sinal de áudio de entrada (102) ao comparar um primeiro valor de autocorrelação (R0) do sinal de áudio de entrada (102) com um segundo valor de autocorrelação (R1) do sinal de áudio de entrada (102); escalonar o sinal de áudio de entrada (102) por um fator de escalonamento para gerar um sinal de entrada escalonado (112), em que o fator de escalonamento é determinado com base na inclinação espectral do sinal de áudio de entrada (102); gerar um sinal de excitação de banda baixa (144) baseado no sinal de entrada (102); gerar um sinal-alvo de banda alta (126) a partir do sinal de entrada escalonado (112); gerar, a partir do sinal-alvo de banda alta (126) e do sinal de excitação de banda baixa (144), informação secundária de banda alta (172) a partir da qual um decodificador é capaz de reconstruir o sinal-alvo de banda alta (126); e codificar a informação secundária de banda alta (172) como parte de um fluxo de bits (199) representando o sinal de áudio de entrada (102).
2. Método, de acordo com a reivindicação 1, caracterizado por comparar o primeiro valor de autocorrelação (R0) com o segundo valor de autocorrelação (R1) compreender comparar o segundo valor de autocorrelação (R1) com um produto do primeiro valor de autocorrelação (R0) e um limiar, e em que escalonar o sinal de entrada (102) pelo fator de escalonamento compreende: escalonar o sinal de entrada (102) por um primeiro fator de escalonamento se a comparação gerar um primeiro resultado; ou escalonar o sinal de entrada (102) por um segundo fator de escalonamento se a comparação gerar um segundo resultado.
3. Método, de acordo com a reivindicação 2, caracterizado pelo sinal de entrada escalonado (112) ter uma primeira quantidade de espaço em resposta ao escalonamento do sinal de entrada (102) pelo primeiro fator de escalonamento, em que o sinal de entrada escalonado (112) tem uma segunda quantidade de espaço em resposta ao escalonamento do sinal de entrada (102) pelo segundo fator de escalonamento, e em que a segunda quantidade de espaço é maior do que a primeira quantidade de espaço.
4. Método, de acordo com a reivindicação 3, caracterizado pela primeira quantidade de espaço ser igual a zero bits de espaço, e em que a segunda quantidade de espaço é igual a três bits de espaço.
5. Método, de acordo com a reivindicação 1, caracterizado por gerar o sinal-alvo de banda alta (126) compreender: realizar uma operação de inversão espectral no sinal de entrada escalonado (112) para gerar um sinal invertido espectralmente; e realizar uma operação de decimação no sinal invertido espectralmente para gerar o sinal-alvo de banda alta (126).
6. Método, de acordo com a reivindicação 5, caracterizado pela operação de decimação decimar o sinal invertido espectralmente por um fator de quatro.
7. Método, de acordo com a reivindicação 1, caracterizado pela porção de banda baixa ter uma faixa de frequência entre 0 Hertz (Hz) e 6 Quilohertz (kHz), ou em que a porção de banda alta tem uma faixa de frequência entre 6 Quilohertz (kHz) e 8 kHz.
8. Método, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente gerar um envelope espectral de previsão linear, parâmetros de ganho temporal ou uma combinação dos mesmos a partir do sinal-alvo de banda alta (126).
9. Método, de acordo com a reivindicação 1, caracterizado pela comparação do primeiro valor de autocorrelação (R0) com o segundo valor de autocorrelação (R1) e o escalonamento do sinal de entrada (102) serem realizados em um dispositivo que compreende um dispositivo de comunicação móvel.
10. Método, de acordo com a reivindicação 1, caracterizado pela comparação do primeiro valor de autocorrelação (R0) com o segundo valor de autocorrelação (R1) e o escalonamento do sinal de entrada (102) serem realizados em um dispositivo que compreende uma estação-base (600).
11. Memória caracterizada por compreender instruções para codificar um sinal de áudio de entrada (102), as instruções, quando executadas por um processador dentro de um codificador, fazem com que o processador realize o método conforme definido em qualquer uma das reivindicações 1 a 10.
12. Aparelho para codificar um sinal de áudio de entrada (102) caracterizado por compreender: meios para receber um sinal de áudio de entrada (102) que tem uma porção de banda baixa tendo um primeiro nível de energia e uma porção de banda alta tendo um segundo nível de energia; meios determinar uma inclinação espectral representativa da distribuição de energia do sinal de áudio de entrada (102) ao comparar um primeiro valor de autocorrelação (R0) do sinal de áudio de entrada (102) com um segundo valor de autocorrelação (R1) do sinal de áudio de entrada (102); meios para escalonar o sinal de áudio de entrada (102) por um fator de escalonamento para gerar um sinal de entrada escalonado (112), em que o fator de escalonamento é determinado com base em um resultado da inclinação espectral do sinal de áudio de entrada (102); meios para gerar um sinal de excitação de banda baixa (144) baseado no sinal de entrada (102); meios para gerar o sinal-alvo de banda alta (126) com base no sinal de entrada escalonado (112); meios para gerar, a partir do sinal-alvo de banda alta (126) e do sinal de excitação de banda baixa (144), informação secundária de banda alta (172) a partir da qual um decodificador é capaz de reconstruir o sinal-alvo de banda alta (126); e meios para codificar a informação secundária de banda alta (172) como parte de um fluxo de bits (199) representando o sinal de áudio de entrada (102).
13. Aparelho, de acordo com a reivindicação 12, caracterizado por compreender adicionalmente: meios para realizar uma operação de inversão espectral no sinal de entrada escalonado (112) para gerar um sinal invertido espectralmente; e meios para realizar uma operação de decimação no sinal invertido espectralmente para gerar o sinal-alvo de banda alta (126).
14. Aparelho, de acordo com a reivindicação 12, caracterizado por compreender adicionalmente meios para gerar um envelope espectral de previsão linear, parâmetros de ganho temporal ou uma combinação dos mesmos, com base no sinal-alvo de banda alta (126).
15. Aparelho, de acordo com a reivindicação 12, caracterizado pelos meios para receber o sinal de entrada (102) e os meios para gerar o sinal-alvo de banda alta (126) serem integrados a um dispositivo de comunicação móvel ou uma estação-base.
BR112018002979-3A 2015-08-17 2016-07-15 Controle de sinal-alvo de banda alta BR112018002979B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562206197P 2015-08-17 2015-08-17
US62/206,197 2015-08-17
US15/169,633 US9830921B2 (en) 2015-08-17 2016-05-31 High-band target signal control
US15/169,633 2016-05-31
PCT/US2016/042648 WO2017030705A1 (en) 2015-08-17 2016-07-15 High-band target signal control

Publications (2)

Publication Number Publication Date
BR112018002979A2 BR112018002979A2 (pt) 2018-09-25
BR112018002979B1 true BR112018002979B1 (pt) 2024-03-12

Family

ID=56618240

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018002979-3A BR112018002979B1 (pt) 2015-08-17 2016-07-15 Controle de sinal-alvo de banda alta

Country Status (10)

Country Link
US (1) US9830921B2 (pt)
EP (1) EP3338282B1 (pt)
JP (1) JP6779280B2 (pt)
KR (1) KR102612134B1 (pt)
CN (1) CN107851441B (pt)
BR (1) BR112018002979B1 (pt)
CA (1) CA2993004C (pt)
ES (1) ES2842175T3 (pt)
TW (1) TWI642052B (pt)
WO (1) WO2017030705A1 (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2018012490A (es) 2016-04-12 2019-02-21 Fraunhofer Ges Forschung Codificador de audio para codificar una se?al de audio, metodo para codificar una se?al de audio y programa de computadora en consideracion de una region espectral del pico detectada en una banda de frecuencia superior.
US10431231B2 (en) * 2017-06-29 2019-10-01 Qualcomm Incorporated High-band residual prediction with time-domain inter-channel bandwidth extension
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483884A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
KR102271357B1 (ko) * 2019-06-28 2021-07-01 국방과학연구소 보코더 유형 판별 방법 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0054365B1 (en) * 1980-12-09 1984-09-12 Secretary of State for Industry in Her Britannic Majesty's Gov. of the United Kingdom of Great Britain and Northern Ireland Speech recognition systems
US7092881B1 (en) * 1999-07-26 2006-08-15 Lucent Technologies Inc. Parametric speech codec for representing synthetic speech in the presence of background noise
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
MX2007012187A (es) * 2005-04-01 2007-12-11 Qualcomm Inc Sistemas, metodos y aparatos para deformacion en tiempo de banda alta.
CN101199002B (zh) * 2005-06-09 2011-09-07 株式会社A.G.I. 检测音调频率的语音分析器和语音分析方法
CN101228576A (zh) * 2005-07-21 2008-07-23 皇家飞利浦电子股份有限公司 音频信号修改
US8255207B2 (en) * 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
CN101183526A (zh) * 2006-11-14 2008-05-21 中兴通讯股份有限公司 一种检测语音信号基音周期的方法
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

Also Published As

Publication number Publication date
CA2993004A1 (en) 2017-02-23
WO2017030705A1 (en) 2017-02-23
US20170053658A1 (en) 2017-02-23
ES2842175T3 (es) 2021-07-13
CN107851441B (zh) 2021-09-14
TW201713061A (zh) 2017-04-01
CA2993004C (en) 2023-05-02
US9830921B2 (en) 2017-11-28
BR112018002979A2 (pt) 2018-09-25
TWI642052B (zh) 2018-11-21
KR20180041131A (ko) 2018-04-23
EP3338282A1 (en) 2018-06-27
JP2018528464A (ja) 2018-09-27
CN107851441A (zh) 2018-03-27
JP6779280B2 (ja) 2020-11-04
EP3338282B1 (en) 2020-09-23
KR102612134B1 (ko) 2023-12-08

Similar Documents

Publication Publication Date Title
US9830921B2 (en) High-band target signal control
US9626983B2 (en) Temporal gain adjustment based on high-band signal characteristic
US9837094B2 (en) Signal re-use during bandwidth transition period
US9818419B2 (en) High-band signal coding using multiple sub-bands
US9685164B2 (en) Systems and methods of switching coding technologies at a device
BR112016030381B1 (pt) Método e aparelho para codificar um sinal de áudio e memória legível por computador

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/07/2016, OBSERVADAS AS CONDICOES LEGAIS