BR112017021355B1 - Método e aparelho para gerar um parâmetro de quadro de ganho para produzir um fluxo de bits e memória legível por computador - Google Patents
Método e aparelho para gerar um parâmetro de quadro de ganho para produzir um fluxo de bits e memória legível por computador Download PDFInfo
- Publication number
- BR112017021355B1 BR112017021355B1 BR112017021355-9A BR112017021355A BR112017021355B1 BR 112017021355 B1 BR112017021355 B1 BR 112017021355B1 BR 112017021355 A BR112017021355 A BR 112017021355A BR 112017021355 B1 BR112017021355 B1 BR 112017021355B1
- Authority
- BR
- Brazil
- Prior art keywords
- audio signal
- gain
- band audio
- frame
- determining
- Prior art date
Links
Abstract
ESTIMATIVA DE PARÂMETRO DE GANHO BASEADA EM SATURAÇÃO DE ENERGIA E ESCALONAMENTO DE SINAL. Trata-se de um dispositivo que inclui um conjunto de circuitos de formato de ganho configurado para determinar um número de subquadros de múltiplos subquadros que são saturados, sendo que os múltiplos subquadros são incluídos em um quadro de um sinal de áudio de banda alta. O dispositivo inclui, ainda, um conjunto de circuitos de quadro de ganho configurado para determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro.
Description
[0001] O presente pedido reivindica o benefício do Pedido de Patente no U.S. 15/083.633, intitulado “GAIN PARAMETER ESTIMATION BASED ON ENERGY SATURATION AND SIGNAL SCALING”, depositado em 29 de março de 2016, e do Pedido de Patente Provisório no U.S. 62/143.156, intitulado “GAIN PARAMETER ESTIMATION BASED ON ENERGY SATURATION AND SIGNAL SCALING”, depositado em 5 de abril de 2015, cujos conteúdos se encontram expressamente incorporados ao presente pedido em suas totalidades a título de referência.
[0002] A presente invenção refere-se, em geral, à estimativa de parâmetro de ganho.
[0003] A transmissão de sinais de áudio (por exemplo, conteúdo de voz humana, tal como fala) por técnicas digitais é difundida. A extensão de largura de banda (BWE) é uma metodologia que permite transmitir áudio usando uma largura de banda de rede reduzida e alcançar uma reconstrução de alta qualidade do áudio transmitido. De acordo com esquemas de extensão de BWE, um sinal de áudio de entrada pode ser separado em um sinal de banda baixa e um sinal de banda alta. O sinal de banda baixa pode ser codificado para transmissão. Para economizar espaço, ao invés de codificar o sinal de banda alta para transmissão, um codificador pode determinar parâmetros associados um sinal de banda alta e transmitir os parâmetros. Um receptor pode usar os parâmetros de banda alta para reconstruir o sinal de banda alta.
[0004] Exemplos de parâmetros de banda alta incluem parâmetros de ganho, tal como um parâmetro de quadro de ganho, um parâmetro de formato de ganho, ou uma combinação dos mesmos. Logo, um dispositivo pode incluir um codificador que analisa um quadro de fala para estimar um ou mais parâmetros de ganho, tais como quadro de ganho, formato de ganho, ou uma combinação dos mesmos. Para determinar um ou mais parâmetros de ganho, o codificador pode determinar um valor de energia, tal como um valor de energia associado a uma parte de banda alta do quadro de fala. O valor de energia determinado pode, então, ser usado para estimar um ou mais parâmetros de ganho.
[0005] Em algumas implementações, o valor de energia pode se tornar saturado durante um ou mais cálculos para determinar a energia de fala de entrada. Por exemplo, em sistemas de computação de ponto fixo, a saturação pode ocorrer se um número de bits necessários ou usados para representar o valor de energia exceder um número total de bits disponíveis para armazenar o valor de energia calculado. Como um exemplo, se o codificador for limitado ao armazenamento e processamento de quantidades de 32-bit, então, o valor de energia pode ser saturado se o valor de energia ocupar mais de 32 bits. Se o valor de energia for saturado, os parâmetros de ganho que são determinados a partir do valor de energia podem ter valores menores que seus valores reais, que podem levar à atenuação e perda em faixa dinâmica de um sinal de áudio de alta energia. A perda em faixa dinâmica do sinal de áudio pode degradar a qualidade de áudio, por exemplo, no caso de sinais de áudio de alto nível (por exemplo, carga útil de -16 decibéis (dBov)) onde os sons fricativos (por exemplo, /sh/, /ss/) exibem uma compressão de nível não natural.
[0006] Em um aspecto particular, um dispositivo inclui um conjunto de circuitos de formato de ganho e um conjunto de circuitos de quadro de ganho. O conjunto de circuitos de formato de ganho é configurado para determinar um número de subquadros de múltiplos subquadros que são saturados. Os múltiplos subquadros são incluídos em um quadro de um sinal de áudio de banda alta. O conjunto de circuitos de quadro de ganho é configurado para determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro.
[0007] Em outro aspecto particular, um método inclui receber, em um codificador, um sinal de áudio de banda alta que inclui um quadro, sendo que o quadro inclui múltiplos subquadros. O método também inclui determinar um número de subquadros dos múltiplos subquadros que são saturados. O método inclui, ainda, determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro.
[0008] Em outro aspecto particular, um dispositivo de armazenamento legível por computador que armazena instruções que, quando executadas por um processador, induzem o processador a realizar operações incluindo determinar um número de subquadros de múltiplos subquadros que são saturados. Os múltiplos subquadros são incluídos em um quadro de um sinal de áudio de banda alta. As operações incluem, ainda, determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro.
[0009] Em outro aspecto particular, um aparelho inclui meios para receber um sinal de áudio de banda alta que inclui um quadro, sendo que o quadro inclui múltiplos subquadros. O aparelho também inclui meios para determinar um número de subquadros dos múltiplos subquadros que são saturados. O aparelho inclui, ainda, meios para determinar um parâmetro de quadro de ganho correspondente ao quadro. O parâmetro de quadro de ganho é determinado com base no número de subquadros que são saturados.
[0010] Em outro aspecto particular, um método inclui receber, em um codificador, um sinal de áudio de banda alta. O método inclui, ainda, escalonar o sinal de áudio de banda alta para gerar um sinal de áudio de banda alta escalonado. O método também inclui determinar um parâmetro de ganho com base no sinal de áudio de banda alta escalonado.
[0011] Outros aspectos, vantagens e recursos da presente descrição se tornarão aparentes após analisar o pedido, incluindo as seções a seguir: Breve Descrição dos Desenhos, Descrição Detalhada e Reivindicações.
[0012] A Figura 1 é um diagrama de blocos de um exemplo de um sistema que é configurado para determinar um ou mais parâmetros de ganho;
[0013] A Figura 2 é um diagrama de blocos de outro exemplo de um sistema que é configurado para determinar um ou mais parâmetros de ganho;
[0014] A Figura 3 é um diagrama de blocos de outro exemplo de um sistema que é configurado para determinar um ou mais parâmetros de ganho;
[0015] A Figura 4 inclui gráficos que ilustram exemplos para determinar valores de energia associados a um sinal de áudio;
[0016] A Figura 5 inclui gráficos que ilustram exemplos de sinais de áudio;
[0017] A Figura 6 é um fluxograma que ilustra um exemplo de um método para operar um codificador;
[0018] A Figura 7 é um fluxograma que ilustra outro exemplo de um método para operar um codificador;
[0019] A Figura 8 é um diagrama de blocos de um exemplo ilustrativo particular de um dispositivo que é operável para detectar um conteúdo limitado por banda; e
[0020] A Figura 9 é um diagrama de blocos de um aspecto ilustrativo particular de uma estação de base que é operável para selecionar um codificador.
[0021] Descrevem-se abaixo aspectos particulares da presente descrição com referência aos desenhos. Na descrição, recursos comuns são designados por números de referência comum. Conforme o uso em questão, utilizam-se várias terminologias para o propósito de descrever apenas implementações particulares e não são destonadas a serem limitantes. Por exemplo, as formas no singular “um,” “uma,” “o” e “a” também são destinadas a incluírem formas no plural, salvo onde o contexto indicar claramente em contrário. Pode- se compreender, ainda, que os termos “compreende” e “compreender” podem ser usados de modo intercambiável com os termos “inclui” ou “incluir”. Adicionalmente, compreende-se que o termo “em que” pode ser usado de modo intercambiável ao termo “onde”. Conforme o uso em questão, um termo ordinal (por exemplo, “primeiro,” “segundo,” “terceiro,” etc.) usado para modificar um elemento, tal como uma estrutura, um componente, uma operação, etc., não indica por si só qualquer prioridade ou ordem do elemento em relação a outro elemento, mas, de preferência, meramente distingue o elemento de outro tendo um mesmo nome (mas para uso do termo ordinal). Conforme o uso em questão, o termo “conjunto” se refere a um grupamento de um ou mais elementos, e o termo “pluralidade” se refere a múltiplos elementos.
[0022] Na presente descrição, um sinal de banda alta pode ser escalonado e o sinal de banda alta escalonado pode ser usado para determinar um ou mais parâmetros de ganho. O um ou mais parâmetros de ganho pode incluir um parâmetro de formato de ganho, um parâmetro de quadro de ganho, ou uma combinação dos mesmos, como exemplos não limitantes ilustrativos. O sinal de banda alta pode ser escalonado antes, ou como parte, de realizar um cálculo de energia para determinar o um ou mais parâmetros de ganho. O parâmetro de formato de ganho pode ser determinado em uma base por subquadro e pode ser associado a uma razão de potência do sinal de banda alta e um sinal de banda alta sintetizado (por exemplo, uma versão sintetizada do sinal de banda alta). O parâmetro de quadro de ganho pode ser determinado em uma base por quadro e pode ser associado à razão de potência do sinal de banda alta e um sinal de banda alta sintetizado.
[0023] A título de ilustração, um sinal de banda alta pode incluir um quadro tendo múltiplos subquadros. Um formato de ganho estimado pode ser determinado para cada um dos múltiplos subquadros. Com o intuito de determinar o parâmetro de formato de ganho para cada subquadro, um valor de energia do sinal de banda alta (não selado) pode ser gerado para determinar se o subquadro é saturado. Se m subquadro particular for saturado, o sinal de banda alta correspondente ao subquadro pode ser escalonado por um primeiro valor predeterminado (por exemplo, um primeiro fator de escalonamento) para gerar um primeiro sinal de banda alta escalonado. Por exemplo, o subquadro particular pode ser escalonado descendentemente por um fator de dois, como um exemplo não limitante ilustrativo. Para cada subquadro que é identificado como sendo saturado, o parâmetro de formato de ganho pode ser determinado usando o primeiro sinal de banda alta escalonado para o subquadro.
[0024] Para determinar o parâmetro de quadro de ganho para o quadro, o sinal de banda alta pode ser escalonado para gerar um segundo sinal de banda alta. Em um exemplo, a banda alta pode ser escalonada com base em um número de subquadros do quadro que foi identificado como sendo saturado durante a estimativa de formato de ganho. A título de ilustração, o número de subquadros identificado como sendo saturado pode ser usado para determinar um fator de escalonamento que é aplicado ao sinal de banda alta. Em outro exemplo, o sinal de banda alta pode ser escalonado por um segundo valor predeterminado (por exemplo, um segundo fator de escalonamento), tal como um fator de 2 ou um fator de 8, como exemplos não limitantes ilustrativos. Como outro exemplo, o sinal de banda alta pode ser iterativamente escalonado até que seu valor de energia correspondente não seja mais saturado. O parâmetro de quadro de ganho pode ser determinado usando o segundo sinal de banda alta escalonado.
[0025] Uma vantagem particular fornecida por ao menos um dos aspectos revelados é que o sinal de banda alta pode ser escalonado antes de realizar o cálculo de energia. O escalonamento de sinal de energia de banda alta pode evitar a saturação do sinal de banda alta e pode reduzir a degradação da qualidade de áudio (associada ao sinal de banda alta) causada por atenuação. Por exemplo, o escalonamento descendente por fator(es) de 2 (ou 4, 8, etc.) pode reduzir o valor de energia de um quadro ou subquadro a uma quantidade que possa ser apresentada usando um número disponível de bits usados para armazenar o valor de energia calculado em um codificador.
[0026] Referindo-se à Figura 1, um aspecto ilustrativo particular de um sistema operável em gerar um ou mais parâmetros de ganho é revelado e genericamente designado pela referência numérica 100. O sistema 100 pode incluir um codificador 104 que é configurado para receber um sinal de áudio de entrada 110. Em algumas implementações, o codificador 104 pode ser configurado para operar de acordo com um ou mais protocolos/padrões, tal como de acordo (ou em conformidade) com um protocolo/padrão de serviços aprimorados de voz (EVS) de Projeto de Parceria de Terceira Geração (3GPP), como um exemplo não limitante ilustrativo.
[0027] O codificador 104 pode ser configurado para codificar um sinal de áudio de entrada 110 (por exemplo, dados de fala). Por exemplo, o codificador 104 pode ser configurado para analisar o sinal de áudio de entrada 110 para extrair um ou mais parâmetros e pode quantizar os parâmetros em representação binária, por exemplo, em um conjunto de bits ou um pacote de dados binários. Em algumas implementações, o codificador 104 pode incluir um codificador de banda alta baseado em modelo, tal como um codificador de banda alta baseado em modelo de extensão de largura de banda harmônica de banda super-ampliada (SWB). Em uma implementação particular, uma banda super-ampliada pode corresponder a uma faixa de frequência de 0 Hertz (Hz) a 16 kilohertz (kHz). Em outra implementação particular, a banda super-ampliada pode corresponder a uma faixa de frequência de 0 Hertz (Hz) a 14,4 kHz. Em algumas implementações, o codificador 104 pode incluir um codificador de banda ampliada ou um codificador de banda completa, como exemplos não limitantes ilustrativos. Em uma implementação particular, o codificador de banda ampliada pode corresponder a uma faixa de frequência de 0 Hertz (Hz) a 8 kHz e o codificador de banda completa pode corresponder a uma faixa de frequência de 0 Hertz (Hz) a 20 kHz. O codificador pode ser configurado para estimar, quantizar e transmitir um ou mais parâmetros de ganho 170. Por exemplo, o um ou mais parâmetros de ganho 170 podem incluir um ou mais ganhos de subquadro referidos como parâmetros de “formato de ganho”, um ou mais ganhos de quadro geral referidos como parâmetros de “quadro de ganho”, ou uma combinação dos mesmos. O um ou mais parâmetros de formato de ganho podem ser gerados e usados pelo codificador 104 para controlar uma variação temporal de energia (por exemplo, potência) de um sinal de fala de banda alta sintetizado em uma resolução que se baseie em um número de subquadros por quadro associado ao sinal de áudio de entrada 110.
[0028] A título de ilustração, o codificador 104 pode ser configurada para comprimir, dividir, ou uma combinação dos mesmos, um sinal de fala em blocos de tempo para gerar quadros. Em algumas implementações, o codificador 104 pode ser configurado para receber um sinal de fala em uma base quadro por quadro. A duração de cada bloco de tempo (ou “quadro”) pode ser selecionada para ser curta o suficiente para que possa se esperar que o envelope espectral do sinal permaneça relativamente estacionário. Em algumas implementações, o sistema 100 pode incluir múltiplos codificadores, tal como um primeiro codificador configurado para codificar conteúdo de fala e um segundo codificador configurado para codificar um conteúdo sem fala, tal como conteúdo de música.
[0029] O codificador 104 pode incluir um banco de filtro 120, um sintetizador 122 (por exemplo, um módulo de síntese) e um conjunto de circuitos de parâmetro de ganho 102 (por exemplo, uma lógica de parâmetro de ganho ou um módulo de parâmetro de ganho). O banco de filtro 120 pode incluir um ou mais filtros. O banco de filtro 120 pode ser configurado para receber o sinal de áudio de entrada 110. O banco de filtro 120 pode filtrar o sinal de áudio de entrada 110 em múltiplas partes com base em frequência. Por exemplo, o banco de filtro 120 pode gerar um sinal de áudio de banda baixa (não mostrado) e um sinal de áudio de banda alta (SHB) 140. Em um exemplo, se o sinal de áudio de entrada 110 for uma banda super-ampliada, o sinal de áudio de banda baixa pode corresponder a 0 a 8 kHz e o sinal de áudio de banda alta (SHB') 140 pode corresponder a 8 a 16 kHz. Em outro exemplo, o sinal de áudio de banda baixa pode corresponder a 0 a 6,4 kHz e o sinal de áudio de banda alta (SHB) 140 pode corresponder a 6,4 a 14,4 kHz. O sinal de áudio de banda alta (SHB) 140 pode ser associado a um sinal de fala de banda alta. O sinal de áudio de banda alta (SHB) 140 pode incluir um quadro que tem múltiplos subquadros, tal como quatro subquadros, como um exemplo não limitante ilustrativo. Em algumas implementações, o banco de filtro 120 pode gerar mais de duas saídas.
[0030] O sintetizador 122 pode ser configurado para receber o sinal de áudio de banda alta (SHB) 140 (ou uma versão processada do mesmo) e gerar um sinal de áudio de banda alta sintetizado (SHB) 150 (por exemplo, um sinal sintetizado) com base pelo menos em parte no sinal de áudio de banda alta (SHB) 140. No presente documento, descreve-se, ainda, a geração do sinal de áudio de banda alta sintetizado (SHB) 150 com referência à Figura 3. Em algumas implementações, o sinal de áudio de banda alta sintetizado (SHB) 150 pode ser escalonado por um fator de escalonamento (por exemplo, um fator de escalonamento de 2, como um exemplo não limitante ilustrativo) para gerar um sinal de áudio de banda alta sintetizado escalonado. O sinal de áudio de banda alta sintetizado escalonado pode ser proporcionado ao conjunto de circuitos de parâmetro de ganho 102.
[0031] O conjunto de circuitos de parâmetro de ganho 102 pode ser configurado para receber o sinal de áudio de banda alta (SHB) 140 e o sinal de áudio de banda alta sintetizado (SHB) 150 e gerar o um ou mais parâmetros de ganho 170. O um ou mais parâmetros de ganho 170 podem incluir um parâmetro de formato de ganho, um parâmetro de quadro de ganho, ou uma combinação dos mesmos. O parâmetro de formato de ganho pode ser determinado em uma base por subquadro e o parâmetro de quadro de ganho pode ser determinado e uma base por quadro. Descreve-se, ainda, a geração dos parâmetros de formato de ganho e o parâmetro de quadro de ganho com referência à Figura 2.
[0032] O conjunto de circuitos de parâmetro de ganho 102 pode incluir um conjunto de circuitos de escalonamento 124 (por exemplo, uma lógica de escalonamento ou um módulo de escalonamento) e um conjunto de circuitos de determinação de parâmetros 126 (por exemplo, uma determinação de parâmetros ou um módulo de determinação de parâmetros). O conjunto de circuitos de escalonamento 124 pode ser configurado para escalonar o sinal de áudio de banda alta (SHB) 140 para gerar um sinal de áudio de banda alta escalonado 160. Por exemplo, o sinal de áudio de banda alta (SHB) 140 pode ser escalonado descendentemente por um valor escalonamento, tal como um valor escalonamento de 2, 4, ou 8, como exemplos não limitantes ilustrativos. Embora o valor escalonamento tenha sido descrito como uma potência de dois (por exemplo 21, 22, 23, etc.), em outros exemplos, o valor escalonamento pode ser qualquer número. Em algumas implementações, o conjunto de circuitos de escalonamento 124 pode ser configurado para escalonar o sinal de áudio de banda alta sintetizado (SHB) 150 para gerar um sinal de áudio de banda alta sintetizado escalonado.
[0033] O conjunto de circuitos de determinação de parâmetros 126 pode ser configurado para receber o sinal de áudio de banda alta (SHB) 140, o sinal de áudio de banda alta sintetizado (SHB) 150 e o sinal de áudio de banda alta escalonado 160. Em algumas implementações, o conjunto de circuitos de determinação de parâmetros 126 pode não receber um ou mais dentre o sinal de áudio de banda alta (SHB) 140, o sinal de áudio de banda alta sintetizado (SHB) 150 e o sinal de áudio de banda alta escalonado 160.
[0034] O conjunto de circuitos de determinação de parâmetros 126 pode ser configurado para gerar o um ou mais parâmetros de ganho 170 com base em um ou mais dentre o sinal de áudio de banda alta (SHB) 140, o sinal de áudio de banda alta sintetizado (SHB) 150 e o sinal de áudio de banda alta escalonado 160. O um ou mais parâmetros de ganho 170 podem ser determinados com base em uma razão, tal como uma razão de energia (por exemplo, uma razão de potência), que seja associada ao sinal de áudio de banda alta (SHB) 140 e um sinal de áudio de banda alta sintetizado (SHB)150. Por exemplo, o conjunto de circuitos de determinação de parâmetros 126 pode determinar formatos de ganho para cada um dos subquadros de um quadro e pode determinar um quadro de ganho para o quadro como um todo, conforme adicionalmente descrito no presente documento.
[0035] Em algumas implementações, o conjunto de circuitos de determinação de parâmetros 126 pode ser configurado para proporcionar um ou mais valores, tais como o um ou mais parâmetros de ganho 170 ou um valor intermediário associado à determinação de um ou mais parâmetros de ganho 170, ao conjunto de circuitos de escalonamento 124. O conjunto de circuitos de escalonamento 124 pode usar o um ou mais valores para escalonar o sinal de áudio de banda alta (SHB) 140. Adicional ou alternativamente, o conjunto de circuitos de escalonamento 124 pode usar o um ou mais valores para escalonar o sinal de áudio de banda alta sintetizado (SHB) 150, conforme descrito com referência à Figura 2.
[0036] Durante a operação, o codificador 104 pode receber o sinal de áudio de entrada 110 e o banco de filtro 120 pode gerar o sinal de áudio de banda alta (SHB) 140. O sinal de áudio de banda alta (SHB) 140 pode ser proporcionado ao sintetizador 122 e ao conjunto de circuitos de parâmetro de ganho 102. O sintetizador 122 pode gerar o sinal de áudio de banda alta sintetizado (SHB) 150 com base no sinal de áudio de banda alta (SHB) 140 e pode proporcionar o sinal de áudio de banda alta sintetizado (SHB) 150 ao conjunto de circuitos de parâmetro de ganho 102. O conjunto de circuitos de parâmetro de ganho 102 pode gerar o um ou mais parâmetros de ganho 170 com base no sinal de áudio de banda alta (SHB) 140, no sinal de áudio de banda alta sintetizado (SHB) 150, no sinal de áudio de banda alta escalonado 160, ou uma combinação dos mesmos.
[0037] Em um aspecto particular, com o intuito de determinar formatos de ganho para um quadro do sinal de áudio de banda alta (SHB) 140, o conjunto de circuitos de determinação de parâmetros 126 pode ser configurado para determinar, para cada subquadro do quadro, se um primeiro valor de energia do subquadro é saturado. A título de ilustração, em programação de ponto fixo, uma variável de 32-bit pode manter um valor positivo máximo de 231 - 1 = 2147483647. Se um valor de energia particular for 1 maior ou igual a 231 - 1, o valor de energia particular, e, portanto, o subquadro ou quadro correspondente, é considerado saturado.
[0038] Se um subquadro for determinado como sendo insaturado, o conjunto de circuitos de determinação de parâmetros 126 pode determinar um parâmetro de formato de ganho de subquadro correspondente para o subquadro particular que se baseia em um rádio associado ao sinal de áudio de banda alta (SHB) 140 e ao sinal de áudio de banda alta sintetizado (SHB) 150. Se um subquadro for determinado como sendo saturado, o conjunto de circuitos de determinação de parâmetros 126 pode determinar um parâmetro de formato de ganho de subquadro correspondente para o subquadro particular que se baseia em uma razão entre o sinal de áudio de banda alta escalonado 160 e o sinal de áudio de banda alta sintetizado (SHB) 150. O sinal de áudio de banda alta escalonado 160 usado para determinar um parâmetro de formato de ganho de subquadro particular pode ser gerado escalonando- se o sinal de áudio de banda alta (SHB) 140 usando um fator de escalonamento predeterminado, tal como um fator de escalonamento de dois (que pode efetivamente reduzir pela metade amplitudes de sinal de banda alta), como um exemplo não limitante ilustrativo. Logo, o conjunto de circuitos de determinação de parâmetros 126 pode emitir um formato de ganho para cada subquadro do quadro. Em algumas implementações, o conjunto de circuitos de determinação de parâmetros 126 pode contar quantos subquadros do quadro foram determinados como sendo saturados e podem proporcionar um sinal (por exemplo, dados) ao conjunto de circuitos de escalonamento 124 indicando o número de subquadros. Descreve-se, ainda, o cálculo de formatos de ganho com referência às Figuras 2 a 4.
[0039] O conjunto de circuitos de determinação de parâmetros 126 também pode ser configurado para determinar um parâmetro de quadro de ganho para o quadro do sinal de áudio de banda alta (SHB) 140 usando o sinal de áudio de banda alta escalonado 160. Por exemplo, o conjunto de circuitos de determinação de parâmetros 126 pode calcular o parâmetro de quadro de ganho para o quadro com base em uma razão associada ao sinal de áudio de banda alta escalonado 160 e ao sinal de áudio de banda alta sintetizado (SHB) 150. Em algumas implementações, o parâmetro de quadro de ganho para o quadro pode ser determinado com base em uma razão entre o sinal de áudio de banda alta escalonado 160 e uma versão escalonada do sinal de áudio de banda alta sintetizado (SHB)150. Por exemplo, o conjunto de circuitos de escalonamento 124 pode usar parâmetro(s) de formato de ganho (ou uma versão quantizada do parâmetro de formato de ganho(s)) para gerar a versão escalonada do sinal de áudio de banda alta sintetizado (SHB)150.
[0040] O parâmetro de quadro de ganho pode ser gerado usando uma ou mais técnicas. Em uma primeira técnica, o sinal de áudio de banda alta escalonado 160 usado para determinar o parâmetro de quadro de ganho pode ser gerado pelo conjunto de circuitos de escalonamento 124 com base no número de subquadros saturados do quadro que foram identificados durante a estimativa de formato de ganho. Por exemplo, o conjunto de circuitos de escalonamento 124 pode determinar um fator de escalonamento que se baseie no número de subquadros saturados. A título de ilustração, o fator de escalonamento pode ser determinado como, fator de escalonamento (SF) = 21+N/2, onde N é o número de subquadros saturados. Em algumas implementações, uma função ceiling ou uma função floor podem ser aplicadas ao valor de (N/2). O conjunto de circuitos de escalonamento 124 pode aplicar o fator de escalonamento (SF) ao sinal de áudio de banda alta (SHB) 140 para gerar o sinal de áudio de banda alta escalonado 160.
[0041] Em uma segunda técnica, o sinal de áudio de banda alta escalonado 160 usado para determinar o parâmetro de quadro de ganho pode ser gerado pelo conjunto de circuitos de escalonamento 124 com base em um fator de escalonamento predeterminado. Por exemplo, o fator de escalonamento predeterminado pode ser um fator de escalonamento de 2, 4 ou 8, como exemplos não limitantes ilustrativos. O fator de escalonamento pode ser armazenado em uma memória acoplada ao conjunto de circuitos de escalonamento 124, tal como uma memória (não mostrada) que seja acoplada ao codificador 104. Em algumas implementações, o fator de escalonamento pode ser proporcionado como uma memória a um registrador que seja acessível ao conjunto de circuitos de escalonamento 124. O conjunto de circuitos de escalonamento 124 pode aplicar o fator de escalonamento predeterminado ao sinal de áudio de banda alta (SHB) 140 para gerar o sinal de áudio de banda alta escalonado 160.
[0042] Em uma terceira técnica, o conjunto de circuitos de escalonamento 124 pode usar um processo iterativo para gerar o sinal de áudio de banda alta escalonado 160 usado para determinar o parâmetro de quadro de ganho. Por exemplo, o conjunto de circuitos de determinação de parâmetros 126 pode determinar se a energia do quadro do sinal de áudio de banda alta (SHB) 140 é saturada. Se a energia do quadro for insaturada, o conjunto de circuitos de determinação de parâmetros 126 pode determinar o parâmetro de quadro de ganho com base em uma razão do valor de energia do quadro do sinal de áudio de banda alta (SHB) 140 e do sinal de áudio de banda alta sintetizado (SHB) 150 (ou uma versão escalonada do sinal de áudio de banda alta sintetizado (SHB) 150 ). Alternativamente, se a energia do quadro for insaturada, o conjunto de circuitos de escalonamento 124 pode aplicar um primeiro fator de escalonamento (por exemplo, um fator de escalonamento de 2, 4 ou 8, como exemplos não limitantes ilustrativos) para gerar um primeiro sinal de áudio de banda alta escalonado.
[0043] Em uma quarta técnica, o conjunto de circuitos de escalonamento 124 pode usar um processo para gerar o sinal de áudio de banda alta escalonado 160 que é usado para determinar o parâmetro de quadro de ganho. A título de ilustração, o conjunto de circuitos de determinação de parâmetros 126 pode determinar se a energia do quadro do sinal de áudio de banda alta (SHB) 140 é saturada. Se a energia do quadro for insaturada, o conjunto de circuitos de determinação de parâmetros 126 pode determinar o parâmetro de quadro de ganho com base em uma razão entre um valor de energia do quadro do sinal de áudio de banda alta (SHB) 140 e um valor de energia de sinal de áudio de banda alta sintetizado (SHB) 150 (ou uma versão escalonada do sinal de áudio de banda alta sintetizado (SHB) 150 ). Alternativamente, se a energia do quadro for saturada, o conjunto de circuitos de escalonamento 124 pode determinar um primeiro fator de escalonamento com base no número de subquadros saturados (do quadro). A título de ilustração, o primeiro fator de escalonamento pode ser determinado como, fator de escalonamento (SF) = 21+N/2, onde N é o número de subquadros saturados. Deve-se notar que implementações alternativas para gerar o fator de escalonamento com base no número de subquadros saturados podem ser usadas. O conjunto de circuitos de escalonamento 124 pode aplicar o primeiro fator de escalonamento para gerar um primeiro sinal de áudio de banda alta escalonado, tal como o sinal de áudio de banda alta escalonado 160. O conjunto de circuitos de determinação de parâmetros 126 pode determinar o parâmetro de quadro de ganho com base em uma razão entre um valor de energia do primeiro sinal de áudio de banda alta escalonado (SHB) 160 e a energia do sinal de áudio de banda alta sintetizado (SHB) 150 (ou de uma versão escalonada do sinal de áudio de banda alta sintetizado (SHB) 150).
[0044] Em outra técnica, o conjunto de circuitos de determinação de parâmetros 126 pode, opcionalmente, determinar se uma energia correspondente ao primeiro sinal de áudio de banda alta escalonado é saturada. Se a energia do primeiro sinal de áudio de banda alta escalonado for insaturada, o conjunto de circuitos de determinação de parâmetros 126 pode determinar o parâmetro de quadro de ganho usando o primeiro sinal de áudio de banda alta escalonado. Alternativamente, se a energia do quadro for saturada, o conjunto de circuitos de escalonamento 124 pode aplicar um segundo fator de escalonamento (por exemplo, um fator de escalonamento de 4 ou 8, como exemplos não limitantes ilustrativos) para gerar um primeiro sinal de áudio de banda alta escalonado. O segundo fator de escalonamento pode ser maior que o primeiro fator de escalonamento. O conjunto de circuitos de escalonamento 124 pode continuar a gerar sinais de áudio de banda alta escalonados usando fatores de escalonamento maiores até que o conjunto de circuitos de determinação de parâmetros 126 identifique um sinal de áudio de banda alta escalonado particular que não seja saturado. Em outras implementações, o conjunto de circuitos de escalonamento 124 pode realizar um número predeterminado de iterações e se o conjunto de circuitos de determinação de parâmetros 126 não identificar um sinal de áudio de banda alta escalonado insaturado, o conjunto de circuitos de determinação de parâmetros 126 pode usar o sinal de áudio de banda alta (SHB) 140 ou um sinal de áudio de banda alta escalonado particular (gerado pelo conjunto de circuitos de escalonamento 124) para determinar o parâmetro de quadro de ganho.
[0045] Em algumas implementações, uma combinação de várias técnicas pode ser usada para gerar o parâmetro de quadro de ganho. Por exemplo, o conjunto de circuitos de escalonamento 124 pode usar o número de subquadros saturados para gerar o primeiro sinal de áudio de banda alta escalonado (por exemplo, o sinal de áudio de banda alta escalonado 160). O conjunto de circuitos de determinação de parâmetros 126 pode determinar se a energia do sinal de áudio de banda alta escalonado 160 é saturada. Se o valor de energia for insaturado, o conjunto de circuitos de determinação de parâmetros 126 pode usar o primeiro sinal de áudio de banda alta escalonado (por exemplo, o sinal de áudio de banda alta escalonado 160) para determinar o parâmetro de quadro de ganho. Alternativamente, se o valor de energia for saturado, o conjunto de circuitos de escalonamento 124 pode gerar um segundo sinal de áudio de banda alta escalonado usando um fator de escalonamento particular que seja maior que o fator de escalonamento usado para gerar o primeiro sinal de áudio de banda alta escalonado (por exemplo, o sinal de áudio de banda alta escalonado 160).
[0046] O sistema 100 (por exemplo, o codificador 104) da Figura 1 pode gerar uma versão escalonada do sinal de áudio de banda alta (SHB) 140 a ser usada para determinar o um ou mais parâmetros de ganho 170. O escalonamento do sinal de áudio de banda alta (SHB) 140 pode evitar a saturação do sinal de áudio de banda alta (SHB) 140 (por exemplo, um valor de energia do sinal de áudio de banda alta (SHB) 140). O uso de um valor de energia insaturado para determinar o um ou mais parâmetros de ganho 170 pode mitigar imprecisões no cálculo dos ganhos (por exemplo, formato de ganho) a ser aplicado no sinal de banda alta sintetizado (SHB) 150 que, de fato, mitiga a degradação na qualidade de áudio (associada à banda alta).
[0047] Referindo-se à Figura 2, um aspecto ilustrativo particular de um sistema operável para gerar um ou mais parâmetros de ganho é revelado e genericamente designado pela referência numérica 200. O sistema 200 pode corresponder (por exemplo, incluir componentes descritos com referência) ao sistema 100 da Figura 1.
[0048] O sistema 200 pode incluir o codificador 204. O codificador 204 pode incluir ou corresponder ao codificador 104 da Figura 1. O codificador 204 pode ser configurado para receber o sinal de áudio de entrada 110 e gerar o um ou mais parâmetros de ganho 170, tal como um parâmetro de formato de ganho 264, um parâmetro de quadro de ganho 268, ou uma combinação dos mesmos. O codificador 204 pode incluir o banco de filtro 120, o sintetizador 122, o conjunto de circuitos de formato de ganho 230, um compensador de formato de ganho 232 e um conjunto de circuitos de quadro de ganho 236. O conjunto de circuitos de formato de ganho 230, o compensador de formato de ganho 232, o conjunto de circuitos de quadro de ganho 236, ou uma combinação dos mesmos, podem corresponder ao conjunto de circuitos de parâmetro de ganho 102 ou componentes do mesmo. Por exemplo, o conjunto de circuitos de formato de ganho 230, o compensador de formato de ganho 232, o conjunto de circuitos de quadro de ganho 236, ou uma combinação dos mesmos, podem realizar uma ou mais operações, uma ou mais funções conforme descrito com referência ao conjunto de circuitos de escalonamento 124 da Figura 1, uma ou mais funções conforme descrito com referência ao conjunto de circuitos de determinação de parâmetros 126 da Figura 1, ou uma combinação dos mesmos.
[0049] O conjunto de circuitos de formato de ganho 230 (por exemplo, lógica de formato de ganho ou um módulo de formato de ganho) é configurado para determinar o parâmetro de formato de ganho 264, tal como um valor de formato de ganho estimado, com base em uma primeira razão que seja associada ao sinal de áudio de banda alta (SHB) 140 e ao sinal de áudio de banda alta sintetizado (SHB)150. O parâmetro de formato de ganho 264 pode ser determinado em uma base por subquadro. Por exemplo, o parâmetro de format de ganho 264 de um quadro particular pode incluir um arranjo (por exemplo, um vetor ou outra estrutura de dados) que inclui um valor (por exemplo, um valor de formato de ganho) para cada subquadro do quadro particular. Nota-se que o parâmetro de formato de ganho 264 pode ser quantizado pelo conjunto de circuitos de formato de ganho 230 antes de ser emitido pelo conjunto de circuitos de formato de ganho 230.
[0050] A título de ilustração, para um subquadro particular, o conjunto de circuitos de formato de ganho 230 pode determinar se o subquadro particular (por exemplo, uma energia do subquadro particular) é saturado. Se o subquadro particular não for saturado, o valor de formato de ganho do subquadro particular pode ser determinado usando o sinal de áudio de banda alta (SHB) 140 e o sinal de áudio de banda alta sintetizado (SHB)150. Alternativamente, se o subquadro particular for saturado, o conjunto de circuitos de formato de ganho pode escalonar o sinal de áudio de banda alta (SHB) 140 para gerar um sinal de áudio de banda alta escalonado e o valor de formato de ganho do subquadro particular pode ser determinado usando o sinal de áudio de banda alta escalonado e o sinal de áudio de banda alta sintetizado (SHB) 150. Para um quadro particular, o conjunto de circuitos de formato de ganho 230 pode ser configurado para determinar (por exemplo, contar) um número de subquadros saturados 262 (de múltiplos subquadros) do quadro particular e emitir um sinal (por exemplo, ou dados) que indique o número de subquadros saturados 262.
[0051] O conjunto de circuitos de formato de ganho 230 pode ser configurado, ainda, para proporcionar o parâmetro de formato de ganho 264 (por exemplo, um parâmetro de formato de ganho estimado) ao compensador de formato de ganho 232, conforme mostrado. O compensador de formato de ganho 232 (por exemplo, conjunto de circuitos de compensação de formato de ganho) pode ser configurado para receber o sinal de áudio de banda alta sintetizado (SHB) 150 e o parâmetro de formato de ganho 264. O compensador de formato de ganho 232 pode escalonar o sinal de áudio de banda alta sintetizado (SHB) 150 (em uma base por subquadro) para gerar um sinal de áudio de banda alta sintetizado compensado por formato de ganho 261. A geração do sinal de áudio de banda alta sintetizado compensado por formato de ganho 261 pode ser referido como uma compensação de formato de ganho.
[0052] O conjunto de circuitos de quadro de ganho 236 (por exemplo, uma lógica de quadro de ganho ou um módulo de quadro de ganho) é configurado para determinar o parâmetro de quadro de ganho 268, tal como um valor de quadro de ganho estimado, com base em uma segunda razão que seja associada ao sinal de áudio de banda alta (SHB) 140 e ao sinal de áudio de banda alta sintetizado (SHB) 150. O conjunto de circuitos de quadro de ganho 236 pode determinar o parâmetro de quadro de ganho em uma base por quadro. Por exemplo, o conjunto de circuitos de quadro de ganho 236 pode determinar o parâmetro de quadro de ganho 268 com base em uma segunda razão que seja associada ao sinal de áudio de banda alta (SHB) 140 e ao sinal de áudio de banda alta sintetizado (SHB)150.
[0053] A título de ilustração, para calcular o parâmetro de quadro de ganho 268 para um quadro particular, o conjunto de circuitos de quadro de ganho 236 pode escalonar o sinal de áudio de banda alta (SHB) 140 com base no número de subquadros saturados 262 determinados pelo conjunto de circuitos de formato de ganho 230. Por exemplo, o conjunto de circuitos de quadro de ganho 236 pode determinar (por exemplo, pesquisar em uma tabela ou calcular) um fator de escalonamento com base no número de subquadros saturados 262. Deve-se notar que em implementações alternativas, esse escalonamento não precisa ser realizado no conjunto de circuitos de quadro de ganho 236, e pode ser realizado em outro componente do codificador 204 que esteja a montante a partir do conjunto de circuitos de quadro de ganho 236 (por exemplo, antes do conjunto de circuitos de quadro de ganho 236 em uma cadeia de processamento de sinal). O conjunto de circuitos de quadro de ganho 236 pode aplicar o fator de escalonamento ao sinal de áudio de banda alta (SHB) 140 para gerar um segundo sinal de áudio de banda alta escalonado. O conjunto de circuitos de quadro de ganho 236 pode determinar o parâmetro de quadro de ganho 268 com base no segundo sinal de áudio de banda alta escalonado o sinal de áudio de banda alta sintetizado compensado por formato de ganho 261. Por exemplo, o parâmetro de quadro de ganho 268 pode ser determinado com base em uma razão entre um valor de energia do segundo sinal de áudio de banda alta escalonado e um valor de energia do sinal de áudio de banda alta sintetizado compensado por formato de ganho 261. Em algumas implementações, o parâmetro de quadro de ganho 268 pode ser quantizado pelo conjunto de circuitos de quadro de ganho 236 antes de ser emitido pelo conjunto de circuitos de quadro de ganho 236.
[0054] Com o intuito de ilustrar outra implementação alternativa para calcular o parâmetro de quadro de ganho 268 para um quadro particular, o conjunto de circuitos de quadro de ganho 236 pode estimar um primeiro valor de energia associado ao sinal de áudio de banda alta (SHB) 140. Se o primeiro valor de energia não for saturado, o conjunto de circuitos de quadro de ganho 236 pode estimar o quadro de ganho com base na razão entre o primeiro parâmetro de energia e um segundo parâmetro de energia. O segundo parâmetro de energia pode se basear na energia estimada do sinal de áudio de banda alta sintetizado compensado por formato de ganho 261. Se for constato que o primeiro valor de energia seja saturado, o conjunto de circuitos de quadro de ganho 236 pode, então, estimar um fator de escalonamento que seja determinado (por exemplo, identificado usando uma pesquisa em uma tabela ou calculado) com base no número de subquadros saturados 262 determinados pelo conjunto de circuitos de formato de ganho 230. O conjunto de circuitos de quadro de ganho 236 pode aplicar o fator de escalonamento ao sinal de áudio de banda alta (SHB) 140 para gerar um primeiro sinal de áudio de banda alta escalonado. O conjunto de circuitos de quadro de ganho 236 pode estimar novamente um terceiro valor de energia associado ao primeiro sinal de áudio de banda alta escalonado. O conjunto de circuitos de quadro de ganho 236 pode determinar o parâmetro de quadro de ganho 268 com base no primeiro sinal de áudio de banda alta escalonado e no sinal de áudio de banda alta sintetizado compensado por formato de ganho 261. Por exemplo, o parâmetro de quadro de ganho 268 pode ser determinado com base em uma razão entre o terceiro valor de energia correspondente ao primeiro sinal de áudio de banda alta escalonado e o segundo valor de energia correspondente ao sinal de áudio de banda alta sintetizado compensado por formato de ganho 261.
[0055] Durante a operação, para um quadro particular do sinal de áudio de entrada 110, o conjunto de circuitos de formato de ganho 230 pode escalonar o sinal de áudio de banda alta (SHB) 140 para gerar um primeiro sinal de áudio de banda alta escalonado. O conjunto de circuitos de formato de ganho 230 pode determinar o parâmetro de formato de ganho 264 para cada subquadro do quadro usando o primeiro sinal de áudio de banda alta escalonado. Adicionalmente, o conjunto de circuitos de formato de ganho 230 pode determinar o número de subquadros saturados 262 do quadro. O conjunto de circuitos de quadro de ganho 236 pode escalonar o sinal de áudio de banda alta (SHB) 140 com base no número de subquadros saturados 262 para gerar um segundo sinal de áudio de banda alta escalonado, e pode determinar o parâmetro de quadro de ganho 268 com base no segundo sinal de áudio de banda alta escalonado.
[0056] O codificador 204 (por exemplo, o conjunto de circuitos de formato de ganho 230, o conjunto de circuitos de quadro de ganho 236, ou uma combinação dos mesmos) pode ser configurado para reduzir a saturação de um ou mais valores de energia usados para gerar o um ou mais parâmetros de ganho 170. Por exemplo, para um quadro (m), onde m pode ser um inteiro não negativo e pode representar um número de quadro, que inclui múltiplos subquadros (i), onde i é um inteiro não negativo, a saturação pode ocorrer durante um primeiro cálculo de energia do sinal de áudio de banda alta (SHB) 140 para calcular um subquadro energia (ESHB(I)) que pode ser usado para determinar o parâmetro de formato de ganho 264 (por exemplo, um valor do parâmetro de formato de ganho 264). Adicional ou alternativamente, a saturação pode ocorrer durante um segundo cálculo de energia do sinal de áudio de banda alta (SHB) 140 para calcular um quadro energia (E[BB) que pode ser usado para determinar o parâmetro de quadro de ganho 268 (por exemplo, um valor do parâmetro de quadro de ganho 268). Conforme o uso em questão, o superscript “fr” denota que um parâmetro, tal como o quadro energia, corresponde a um quadro inteiro e não é específico a qualquer subquadro particular (i).
[0057] Em algumas implementações, o conjunto de circuitos de formato de ganho 230 pode ser configurado para estimar um valor de formato de ganho para cada subquadro de um quadro. Por exemplo, um quadro particular (m) pode ter um valor de m = 1 e (i) inclui um conjunto de valores i = [1, 2, 3, 4], como um exemplo não limitante ilustrativo. Em outros exemplos, o quadro particular (m) pode ter outro valor e (i) pode incluir um conjunto diferente de valores. O parâmetro de formato de ganho 264 (por exemplo, GainShape[i]) pode ser determinado como uma razão de potência para cada subquadro (i) do sinal de áudio de banda alta (SHB) 140 e do sinal de áudio de banda alta sintetizado (SHB)150.
[0058] Nos exemplos a seguir, um primeiro quadro (m) inclui 320 amostras de áudio, que podem ser divididas em quatro subquadros de 80 amostras de áudio cada. Para calcular o valor de formato de ganho para cada subquadro (i) do primeiro quadro (m), o conjunto de circuitos de formato de ganho 230 pode calcular o valor de energia de subquadro Es (i) para tal subquadro do sinal de áudio de banda alta (SHB) 140. O valor de energia de subquadro Es (i) pode ser calculado como: Onde w é uma janela de sobreposição. Por exemplo,a janela de sobreposição pode ter um comprimento de 100 amostras que incluem 80 mostras de um primeiro subquadro (i) e 20 amostras (correspondentes a uma sobreposição de suavização) de um subquadro prévio (i-1). Se i-1 é igual a zero, o subquadro prévio (i-1) pode ser um último subquadro de um quadro prévio (m-1) que precede sequencialmente o primeiro quadro (m). Descreve-se um exemplo da janela de sobreposição com referência à Figura 4. Os tamanhos da janela e da sobreposição servem para propósitos ilustrativos e não devem ser considerados como limitantes.
[0059] Para calcular o valor de formato de ganho para cada subquadro (i), o conjunto de circuitos de formato de ganho 230 pode calcular o valor de energia de subquadro EsHB(i) para tal subquadro correspondente do sinal de áudio de banda alta sintetizado (SHB) 150 (ou uma versão escalonada do sinal de áudio de banda alta sintetizado SHB 150). O valor de energia de subquadro E§HB(I) pode ser calculado como:
[0060] Se a saturação não for detectada, o valor de energia de subquadro ESHB(I) pode ser usado para determinar o valor de formato de ganho para o subquadro (i) (por exemplo, GainShape[i]), que pode ser calculado como:onde o valor de energia de subquadro ESHB(I) é a energia do sinal de áudio de banda alta (SHB) 140 e FSHB é o valor de energia de subquadro do sinal de áudio de banda alta sintetizado (SHB) 150 (ou uma versão escalonada do sinal de áudio de banda alta sintetizado (SHB) 150 ). O valor de formato de ganho para o subquadro (i) pode ser incluído no parâmetro de formato de ganho 264.
[0061] Alternativamente, se o valor de energia de subquadro ESHB(I) é detectado como sendo saturado, o conjunto de circuitos de formato de ganho 230 pode escalonar o sinal de áudio de banda alta (SHB) 140 por um fator de 2, como um exemplo não limitante ilustrativo, para calcular a energia de subquadro ESHB(I):
[0062] Esse ESHB(Í) calculado usando o sinal de áudio de banda alta escalonado (SHB) é um quarto do ESHB(I) original, que tem saturação. O escalonamento descendente pelo fator de 2 pode resultar em uma operação de divisão por quatro porque o fator de escalonamento é quadrado, que pode reduzir uma probabilidade de saturação. Embora um escalonamento descendente por um fator de 2 seja descrito para evitar a saturação, outros fatores podem ser usados. O escalonamento descendente de energia por 4 pode ser considerado em um cálculo de GainShape escalonando-se o GainShape(i) final por um fator de 2:
[0063] De modo correspondente, aplicando-se um fator de escalonamento ao sinal de áudio de banda alta (SHB) 140, a saturação do valor de energia de subquadro Es (i) pode ser evitada.
[0064] Em algumas implementações, o conjunto de circuitos de formato de ganho 230 pode escalonar o sinal de áudio de banda alta sintetizado (SHB) 150 para gerar um sinal sintetizado escalonado. Por exemplo, o conjunto de circuitos de formato de ganho 230 pode aplicar um fator de escalonamento de síntese ao sinal de áudio de banda alta sintetizado (SHB) 150 para gerar o sinal sintetizado escalonado. O conjunto de circuitos de formato de ganho 230 pode usar o sinal sintetizado escalonado para calcular o parâmetro de formato de ganho 264 (por exemplo, GainShape). Por exemplo, para calcular o parâmetro de formato de ganho 264 (por exemplo, GainShape), o conjunto de circuitos de formato de ganho 230 pode considerar o fator de escalonamento de síntese. A título de ilustração, se o fator de escalonamento de síntese for 2 e nenhum fator de escalonamento for aplicado ao sinal de áudio de banda alta (SHB) 140, o parâmetro de formato de ganho 264 pode ser computado como:
[0065] Como outro exemplo, se o fator de escalonamento de síntese for 2 e o fator de escalonamento for aplicado ao sinal de áudio de banda alta (SHB) 140 for 2, o parâmetro de formato de ganho 264 pode ser computado como:
[0066] Uma vez que os GainShapes forem estimados para o quadro, os GainShapes podem ser quantizados para obter GainShapes’[i]. O sinal de áudio de banda alta sintetizado (SHB) 150 pode ser escalonado pelo compensador de formato de ganho 232 em uma base de subquadro com os GainShapes’[i] quantizados para gerar o sinal de áudio de banda alta sintetizado compensado por formato de ganho 261. A geração do sinal de áudio de banda alta sintetizado compensado por formato de ganho 261 pode ser referida como Compensação de GainShape.
[0067] Após a compensação de GainShape ser concluída, o conjunto de circuitos de quadro de ganho 236 pode estimar o parâmetro de quadro de ganho 268. Para determinar o parâmetro de quadro de ganho 268 (por exemplo, GainFrame), o conjunto de circuitos de quadro de ganho 236 pode calcular um valor de energia de quadro de um quadro usando uma janela de sobreposição wfr. Em algumas implementações, o valor de energia de quadro pode ser calculado como:
[0068] A janela de sobreposição pode incluir 340 amostras, tais como 320 amostras de um primeiro quadro (m) e 20 amostras (correspondentes a uma sobreposição) a partir de um quadro prévio (m-1) que precede sequencialmente o primeiro quadro (m). Um exemplo da janela de sobreposição wfr usada para determinar o parâmetro de quadro de ganho 268 é descrito com referência à Figura 4. Os tamanhos da janela e da sobreposição servem para propósitos ilustrativos e não devem ser considerados como limitantes. Em algumas implementações, a janela pode não se sobrepor.
[0069] Visto que o cálculo de valor de energia de quadro é realizado em 340 amostras (diferente de 100 amostras para Es (i) usado para calcular GainShape(i)), mais valores de energia amostral estão sendo acumulados e provavelmente se saturam.
[0070] O conjunto de circuitos de quadro de ganho 236 pode determinar se a saturação do valor de energia de quadroB ocorreu. Se não ocorreu uma saturação, o parâmetro de quadro de ganho 268 pode ser calculado como:
[0071] Se a saturação do valor de energia de quadro for detectada pelo conjunto de circuitos de quadro de ganho 236, um fator de escalonamento pode ser aplicado ao sinal de áudio de banda alta (SHB) 140 para evitar uma saturação. O fator de escalonamento pode variar de 2 a 8, como exemplos não limitantes ilustrativos, quando a saturação for detectada. A título de ilustração, se o valor verdadeiro do valor de energia de quadro sem qualquer saturação aplicada for 234, o escalonamento do sinal de áudio de banda alta (SHB) 140 por um fator de 2 produziria um valor de energia de quadro calculado que é reduzido por 4 vezes (por exemplo, 4 = 232 (>2(31-1))) e a saturação ainda seria detectada. No entanto, se o sinal de áudio de banda alta (SHB) 140 for escalonado por um fator de 4, o valor de energia de quadro efetivamente reduzido 16 vezes, que seria (234/16 = 230 (<=2(31-1))), evitando efetivamente qualquer saturação.
[0072] Em algumas implementações, devido à alta probabilidade do valor de energia de quadrosendo saturado se um escalonamento não for aplicado, o escalonamento pode ser automaticamente aplicado ao sinal de áudio de banda alta (SHB) 140 para calcular o valor de energia de quadro . Em outras implementações, o escalonamento pode ser aplicado após uma determinação que um valor de energia de quadro calculado sem escalonamento é saturado.
[0073] Em uma primeira técnica, um fator de escalonamento pode ser estimado com base em um número de subquadros (i) de um quadro detectado como sendo saturado durante o cálculo das energias de subquadro ESHB(Í) incluídas no parâmetro de formato de ganho 264 (por exemplo, o GainShape). Por exemplo, se
existem dois subquadros maiores que 231-1 significando que se constata que dois subquadros estão saturando pelo conjunto de circuitos de formato de ganho 230. Pode ser provável (por exemplo, altamente provável) que o valor de energia de quadro será saturado e que:Da mesma forma, pode ser provável (por exemplo, altamente provável) que apesar de o valor de energia de quadro ser menor ou igual a
o valor de energia de quadro seria substancialmente próximo a
[0074] Nesse exemplo,
Visto que o valor de energia de quadro pode ser aproximado como estando na ordem de 233. Logo, se o sinal de áudio de banda alta (SHB) 140 for escalonado por 2, a energia de quadro pode ser reduzida em 4 vezes. O conjunto de circuitos de quadro de ganho 236 pode recalcular o valor de energia de quadro usando o fator de escalonamento e o recalculado pode ser da ordem de 231, e a saturação pode ser evitada.
[0075] Para generalizar esse exemplo, o conjunto de circuitos de quadro de ganho 236 pode determinar um fator de escalonamento a ser aplicado ao sinal de áudio de banda alta (SHB)140 para evitar a saturação no cálculo do valor de energia de quadro . Por exemplo, o fator de escalonamento pode se basear no número de energias de subquadro ESHB(Í) que saturam (por exemplo, o número de subquadros saturados 262). A título de ilustração, o fator de escalonamento para o sinal de áudio de banda alta (SHB) 140 pode ser determinado como:onde N é o número de subquadros saturados (por exemplo, onde N é número de subquadros saturados 262). Em algumas implementações, o valor de N/2 pode ser calculado usando uma função ceiling ou uma função flooring. Usando o fator de escalonamento, o valor de energia de quadro pode ser calculado como:e o parâmetro de quadro de ganho 268 pode ser calculado como:
[0076] Se o parâmetro de quadro de ganho 268 (por exemplo, GainFrame) for calculado usando um valor de energia de quadro saturadoe nenhum fator tenha sido aplicado (por exemplo, um fator =1), um valor estimado do parâmetro de quadro de ganho 268 pode ser menor que o valor verdadeiro do quadro de ganho e pode ocorrer uma atenuação do sinal de áudio de banda alta.
[0077] Em uma segunda técnica, o fator de escalonamento aplicado pelo conjunto de circuitos de quadro de ganho 236 ao sinal de áudio de banda alta (SHB) 140 pode ser um fator de escalonamento predeterminado. Por exemplo, o fator de escalonamento predeterminado pode ser um fator de escalonamento de 2, 4 ou 8, como exemplos não limitantes ilustrativos.
[0078] Adicional ou alternativamente, o conjunto de circuitos de quadro de ganho 236 pode usar uma terceira técnica através da qual o conjunto de circuitos de quadro de ganho 236 pode aumentar iterativamente o fator de escalonamento aplicado ao sinal de áudio de banda alta (SHB) 140. Por exemplo, se a saturação do valor de energia de quadro for detectada pelo conjunto de circuitos de quadro de ganho 236 sem usar escalonamento, o escalonamento pode ser iterativamente realizado pelo conjunto de circuitos de quadro de ganho 236. Por exemplo, na primeira iteração, o conjunto de circuitos de quadro de ganho 236 pode escalonar o sinal de áudio de banda alta (SHB) 140 por um fator de 2 e recalcular o valor de energia de quadro Se o valor de energia de quadro recalculado for saturado, o conjunto de circuitos de quadro de ganho 236 pode, na segunda iteração, escalonar o sinal de áudio de banda alta (SHB) 140 por um fator de 4 e recalcular o valor de energia de quadro . O conjunto de circuitos de quadro de ganho 236 pode continuar a realizar iterações até que um valor de energia de quadro insaturado seja detectado. Em outras implementações, o conjunto de circuitos de quadro de ganho 236 pode funcionar até um número limiar de iterações.
[0079] Nessa solução proposta, quando for constatado que o valor de energia de quadro esteja saturando, o recálculo do valor de energia de quadro é realizado apenas uma vez, com um fator de escalonamento descendente calculado usando a equação supramencionada, economizando, assim, em complexidade.
[0080] Em algumas implementações, a segunda técnica, a terceira técnica, ou uma combinação das mesmas, podem ser combinadas à primeira técnica. Por exemplo, a segunda técnica pode ser aplicada pelo conjunto de circuitos de quadro de ganho 236 e, se o valor de energia de quadro calculadofor saturado, a segunda ou terceira técnica podem ser implementadas, onde um primeiro fator de escalonamento usado durante a segunda ou terceira técnica é maior que um fator de escalonamento usado durante a primeira técnica.
[0081] O sistema 200 (por exemplo, o codificador 204) da Figura 2 pode gerar uma versão escalonada do sinal de áudio de banda alta (SHB) 140 a ser usado para determiner o um ou mais parâmetros de ganho 170. O escalonamento do sinal de áudio de banda alta (SHB) 140 para evitar a saturação do sinal de áudio de banda alta (SHB) 140 (por exemplo, um valor de energia de sinal de áudio de banda alta (SHB) 140).O uso de um valor de energia insaturado pode permitir determinar valores ou o um ou mais parâmetros de ganho 170 que não são afetados por saturação e, logo, uma qualidade de áudio (associado ao sinal de áudio de banda alta (SHB) 140) pode não ser degradada pela atenuação do sinal de áudio de banda alta (SHB) 140.
[0082] Referindo-se à Figura 3, um aspecto ilustrativo particular de um sistema operável em gerar um ou mais parâmetros de ganho é revelado e genericamente designado pela referência numérica 300. O sistema 300 pode corresponder (por exemplo, incluir componentes descritos com referência) ao sistema 100 da Figura 1 ou o sistema 200 da Figura 2.
[0083] O codificador 204 pode incluir uma análise de predição linear (LP) e um conjunto de circuitos de quantização 312, um conjunto de circuitos de frequência espectral linear (LFS) a coeficiente de predição linear (LPC) 318, um conjunto de circuitos de extensão harmônica 314, um gerador de ruídos aleatórios 316, um conjunto de circuitos de conformação de ruídos 317, um primeiro amplificador 332, um segundo amplificador 336, e um combinador 334. O codificador 204 inclui, ainda, o sintetizador 122, o compensador de formato de ganho 232, o conjunto de circuitos de formato de ganho 230 e o conjunto de circuitos de quadro de ganho 236. O codificador 204 pode ser configurado para receber o sinal de áudio de banda alta (SHB) 140 e um sinal de excitação de banda baixa 310. O codificador 204 pode ser configurado para emitir parâmetro(s) de LSF de banda alta 342, o parâmetro de formato de ganho 264 e o parâmetro de quadro de ganho 268. Um parâmetro de quadro de ganho quantizado 340 pode ser emitido pelo conjunto de circuitos de quadro de ganho 236 e pode ser descartado pelo codificador 204.
[0084] O conjunto de circuitos de análise e quantização de LP 312 pode ser configurado para determinar uma frequência espectral linear (por exemplo, parâmetro(s) de LSF de banda alta 342) do sinal de áudio de banda alta (SHB) 140. Em algumas implementações, o(s) parâmetro(s) de LSF de banda alta 342 pode(m) ser emitido(s) pelo conjunto de circuitos de análise e quantização de LP 312 como parâmetro(s) de LSF de banda alta quantizado(s). O conjunto de circuitos de análise e quantização de LP 312 pode quantizar o(s) parâmetro(s) de LSF de banda alta 342 para gerar LSFs de banda alta quantizados. O conjunto de circuitos de LSF a LPC 318 pode converter os LSFs de banda alta quantizados em um ou mais LPCs que são proporcionados ao sintetizador 122.
[0085] O sinal de excitação de banda baixa 310 pode ser gerado por um codificador de fala, tal como um codificador de predição linear excitada por código algébrico (ACELP). O sinal de excitação de banda baixa 310 pode ser recebido pelo conjunto de circuitos de extensão harmônica 314. O conjunto de circuitos de extensão harmônica 314 pode ser configurado para gerar um sinal de excitação de banda alta estendendo-se um espectro do sinal de excitação de banda baixa 310. Uma saída do conjunto de circuitos de extensão harmônica 314 pode ser proporcionado a um combinador 334 através de um primeiro amplificador 332 (por exemplo, um conjunto de circuitos de escalonamento) tendo um primeiro valor de ganho (Gain1). A saída do conjunto de circuitos de extensão harmônica 314 também pode ser proporcionada a um conjunto de circuitos de conformação de ruídos 317.
[0086] O gerador de ruídos aleatórios 316 pode ser configurado para proporcionar um sinal de ruído aleatório ao conjunto de circuitos de conformação de ruídos 317. O conjunto de circuitos de conformação de ruídos 317 pode processar a saída do conjunto de circuitos de extensão harmônica 314 e o sinal de ruído aleatório para proporcionar um sinal de saída ao combinador 334 através de um segundo amplificador 336 (por exemplo, um módulo de escalonamento) tendo um segundo valor de ganho (Gain2).
[0087] O combinador 334 pode ser configurado para gerar um sinal de excitação de banda alta que seja proporcionado ao sintetizador 122. O sintetizador 122 pode gerar o sinal de áudio de banda alta sintetizado (SHB)150. Por exemplo, o sintetizador 122 pode ser configurado de acordo com os LPCs recebidos a partir do conjunto de circuitos de LSF a LPC 318. O sintetizador configurado 122 pode emitir o sinal de áudio de banda alta sintetizado (SHB) 150 com base no sinal de excitação de banda alta recebido a partir do combinador 334. O 150 pode ser processado pelo conjunto de circuitos de formato de ganho 230, pelo conjunto de circuitos de quadro de ganho 236, pelo compensador de formato de ganho 232, ou por uma combinação dos mesmos, para acomodar um valor de energia saturação e gerar o parâmetro de formato de ganho 264, o parâmetro de quadro de ganho 268, ou uma combinação dos mesmos, conforme descrito com referência à Figura 2.
[0088] Embora o sintetizador 122 seja descrito como sendo distinto do conjunto de circuitos de análise e quantização de LP 312, do conjunto de circuitos de LSF a LPC 318, do conjunto de circuitos de extensão harmônica 314, do gerador de ruídos aleatórios 316, do conjunto de circuitos de conformação de ruídos 317, do primeiro amplificador 332, do segundo amplificador 336 e do combinador 334, em outras implementações, o sintetizador 122 pode incluir um ou mais dentre o conjunto de circuitos de análise e quantização de LP 312, o conjunto de circuitos de LSF a LPC 318, o conjunto de circuitos de extensão harmônica 314, o gerador de ruídos aleatórios 316, o conjunto de circuitos de conformação de ruídos 317, o primeiro amplificador 332, o segundo amplificador 336 e o combinador 334.
[0089] A Figura 4 descreve gráficos que ilustram a determinação de valores de energia associados a um sinal de áudio. O sinal de áudio pode corresponder ao sinal de áudio de banda alta (SHB) 140 da Figura 1. Os valores de energia podem ser determinados pelo conjunto de circuitos de parâmetro de ganho 102 (por exemplo, o conjunto de circuitos de determinação de parâmetros 126) da Figura 1, pelo conjunto de circuitos de formato de ganho 230 ou pelo conjunto de circuitos de quadro de ganho 236 da Figura 2.
[0090] Um primeiro gráfico 400 ilustra janelas de sobreposição (w) usadas para determinar valores de energia de subquadro Es (l) de um primeiro quadro (m) que são verificados para determinação da saturação e que podem ser escalonados quando um ou mais valores de energia de subquadro forem determinados como sendo saturados. O primeiro quadro (m) pode incluir quatro subquadros, tal como um primeiro subquadro (i), um segundo subquadro (i+1), um terceiro subquadro (i+2) e um quarto subquadro (i+3). Embora o primeiro quadro (m) seja ilustrado incluindo 4 subquadros, em outras implementações, o primeiro quadro (m) pode incluir mais ou menos de 4 subquadros. Uma janela (w) usada para calcular valores de energia de subquadro ESHB de um subquadro particular pode incluir um comprimento de 100 amostras. As 100 amostras podem incluir 80 amostras do subquadro particular e 20 amostras de um subquadro prévio (i-1) de um quadro prévio (m-1). Em algumas implementações, os 20 quatros do subquadro prévio (i-1) podem ser armazenados em uma memória que é acoplada ao codificador 104 da Figura 1 ou ao codificador 204 da Figura 2.
[0091] Um segundo gráfico 450 ilustra uma janela de sobreposição (wfr) usada para determinar um valor de energia de quadro de um primeiro quadro (m) que é usado para verificar a saturação e que pode ser escalonado quando um valor de energia de quadro for determinado como sendo saturado. A janela (wfr) do primeiro quadro (m) pode incluir 340 amostras. As 340 amostras podem incluir 320 amostras do primeiro quadro (m) e 20 amostras de um quadro prévio (m-1). Em algumas implementações, os 20 quadros do quadro prévio (m-1) podem ser armazenados em uma memória que é acoplada ao codificador 104 da Figura 1 ou ao codificador 204 da Figura 2.
[0092] A Figura 5 descreve gráficos que ilustram exemplos de sinais de áudio. Os gráficos podem ser associados ao sinal de áudio de banda alta (SHB) 140 da Figura 1. Um primeiro gráfico 500 descreve uma representação do sinal de áudio de banda alta (SHB) 140 emitido pelo banco de filtro 120. O gráfico 530 descreve uma representação de uma saída do sinal de áudio de banda alta (SHB) 140 após o sinal de áudio de banda alta (SHB) 140 ter sido codificado pelo codificador 104 da Figura 1 ou pelo codificador 204 da Figura 2 com base em um ou mais valores de energia saturados, tal como um valor de energia de subquadro ESHB e um valor de energia de quadro e decodificado por um decodificador. Nota-se que uma energia inferior pode ser observada em 1:25:14 comparada à representação do sinal de áudio de banda alta (SHB) 140 descrita no primeiro gráfico 500 devido à perda de informações que surgem a partir da saturação de valores de energia. Um terceiro gráfico 550 descreve uma representação de uma saída do sinal de áudio de banda alta (SHB) 140 emitido por um decodificador após um ou mais valores de energia saturados, tal como um valor de energia de subquadro ESHB e um valor de energia de quadro , são corrigidos pelo codificador 104 da Figura 1 ou pelo codificador 204 da Figura 2. Por exemplo, o um ou mais valores de energia saturados podem ter sido corrigidos escalonando-se o sinal de áudio de banda alta (SHB) 140. Nota-se que a energia em 1:25:14 tem uma magnitude similar como uma energia do sinal de áudio original descrito no primeiro gráfico 500.
[0093] Referindo-se à Figura 6, um fluxograma de um exemplo ilustrativo particular de um método de operação de um codificador é revelado e genericamente designado pela referência numérica 600. O codificador pode incluir ou corresponde ao codificador 104 (por exemplo, o conjunto de circuitos de parâmetro de ganho 102, o conjunto de circuitos de escalonamento 124, o conjunto de circuitos de determinação de parâmetros 126) da Figura 1, ou o codificador 204 (por exemplo, o conjunto de circuitos de formato de ganho 230, o conjunto de circuitos de quadro de ganho 236, ou uma combinação dos mesmos) da Figura 2.
[0094] O método 600 inclui receber, em um codificador, um sinal de áudio de banda alta que inclui um quadro, sendo que o quadro inclui múltiplos subquadros, em 602. O sinal de áudio de banda alta pode corresponder ao sinal de áudio de banda alta (SHB) 140 da Figura 1. O sinal de áudio de banda alta pode incluir um sinal de fala de banda alta. Em algumas implementações, os múltiplos subquadros podem incluir quatro subquadros.
[0095] O método 600 também inclui determinar um número de subquadros dos múltiplos subquadros que são saturados, em 604. Por exemplo, o número de subquadros que são saturados pode corresponder ao número de subquadros saturados 262 da Figura 1. A determinação que um subquadro particular dos múltiplos subquadros é saturado pode incluir determinar que um número de bits necessário ou usado para representar um valor de energia associado ao subquadro particular excede uma largura de ponto fixo no codificador.
[0096] O método 600 inclui, ainda, determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro, em 606. O parâmetro de quadro de ganho pode corresponder a um ou mais parâmetros de ganho 170 da Figura 1 ou ao parâmetro de quadro de ganho 268 da Figura 2. O parâmetro de quadro de ganho pode ser associado a uma razão que se baseie no sinal de áudio de banda alta e a um sinal de áudio de banda alta sintetizado, tal como o sinal de áudio de banda alta sintetizado (SHB) 150 da Figura 1.
[0097] Em algumas implementações, antes de determinar o parâmetro de quadro de ganho, o método 600 pode determinar um valor de energia particular do quadro com base no sinal de áudio de banda alta. O valor de energia particular pode corresponder a um valor de energia de quadro . Uma determinação pode ser feita se o valor de energia particular for saturado. Se o valor de energia particular for insaturado, o valor de energia particular pode ser usado para calcular o parâmetro de quadro de ganho. Alternativamente, se o valor de energia particular for determinado como sendo saturado, um fator de escalonamento pode ser determinado que se baseie no número de subquadros que são saturados e no sinal de áudio de banda alta pode ser escalonado com base no fator de escalonamento para gerar um sinal de áudio de banda alta escalonado. Após o sinal de áudio de banda alta escalonado ser gerado, um segundo valor de energia do quadro pode ser determinado com base no sinal de áudio de banda alta escalonado.
[0098] Para determinar o parâmetro de quadro de ganho, um terceiro valor de energia do quadro pode ser determinado com base em um sinal de áudio de banda alta sintetizado. Um valor particular pode ser determinado com base em uma razão entre o segundo valor de energia e o terceiro valor de energia. Em algumas implementações, o valor particular pode ser igual a uma raiz quadrada de uma razão entre o segundo valor de energia e o terceiro valor de energia. O valor particular pode ser multiplicado pelo fator de escalonamento para gerar o parâmetro de quadro de ganho.
[0099] Em algumas implementações, o método 600 pode incluir determinar um parâmetro de formato de ganho correspondente ao quadro. Por exemplo, o parâmetro de formato de ganho pode corresponder a um ou mais parâmetros de ganho 170 da Figura 1 ou ao parâmetro de formato de ganho 264 da Figura 2. O parâmetro de formato de ganho pode incluir um vetor que inclui um valor estimado para cada subquadro dos múltiplos subquadros. Para cada subquadro, o valor estimado pode ser associado a uma razão que se baseie no sinal de áudio de banda alta e no sinal de áudio de banda alta sintetizado.
[0100] Em algumas implementações, para cada subquadro dos múltiplos subquadros, um primeiro valor de energia do subquadro pode ser determinado com base no sinal de áudio de banda alta e uma determinação pode ser feita se o primeiro valor de energia do subquadro for saturado. Para cada subquadro dos múltiplos subquadros que seja determinado como sendo insaturado, o valor de formato de ganho estimado do subquadro pode ser determinado com base em uma razão entre o primeiro valor de energia e um segundo valor de energia de um subquadro correspondente do sinal de áudio de banda alta sintetizado. Alternativamente, para cada subquadro dos múltiplos subquadros que seja determinado como sendo saturado, uma parte do sinal de áudio de banda alta que corresponde ao subquadro pode ser escalonada e um segundo valor de energia do subquadro com base na parte escalonada do sinal de áudio de banda alta pode ser determinado. O segundo valor de energia pode ser ajustado como o valor estimado do subquadro. A título de ilustração, a parte do sinal de áudio de banda alta pode ser escalonada usando um fator de escalonamento. O fator de escalonamento pode corresponder a um fator de dois, como um exemplo não limitante ilustrativo.
[0101] O parâmetro de formato de ganho determinado, tal como o parâmetro de formato de ganho 264, pode ser quantizado. O parâmetro de formato de ganho, tal como o parâmetro de formato de ganho 264 da Figura 1, pode ser usado para gerar um sinal compensado por formato de ganho com base em no parâmetro de formato de ganho quantizado e em um sinal de banda alta sintetizado. O sinal compensado por formato de ganho pode corresponder ao sinal de áudio de banda alta sintetizado compensado por formato de ganho 261 da Figura 2. O parâmetro de quadro de ganho pode ser determinado com base no sinal compensado por formato de ganho e uma versão escalonada do sinal de áudio de banda alta. A versão escalonada do sinal de áudio de banda alta pode ser gerada com base no sinal de áudio de banda alta e com base no número de subquadros que são saturados. A versão escalonada do sinal de áudio de banda alta pode corresponder ao sinal de áudio de banda alta escalonado 160 da Figura 1.
[0102] Em algumas implementações, pode-se realizar uma determinação se escalona o sinal de áudio de banda alta com base no número de subquadros que são saturados. Em resposta a uma determinação para escalonar o sinal de áudio de banda alta, o sinal de áudio de banda alta pode ser escalonado de acordo com um fator de escalonamento para gerar um segundo sinal de áudio de banda alta escalonado, tal como o sinal de áudio de banda alta escalonado 160 da Figura 1. Por exemplo, o segundo sinal de áudio de banda alta escalonado pode ser gerado em resposta a uma determinação que o número de subquadros que são saturados é maior que zero. Em algumas implementações, o fator de escalonamento pode ser determinado com base no número de subquadros que são saturados.
[0103] Em algumas implementações, o método 600 pode incluir escalonar o sinal de áudio de banda alta para gerar um sinal de áudio de banda alta escalonado. Por exemplo, o conjunto de circuitos de escalonamento 124 da Figura 1, o conjunto de circuitos de formato de ganho 230 da Figura 2 ou da Figura 3, ou o conjunto de circuitos de quadro de ganho 236 da Figura 2 ou da Figura 3 pode escalonar o sinal de áudio de banda alta (SHB) 140 da Figura 1. O método 600 também pode incluir determinar um parâmetro de formato de ganho com base no sinal de áudio de banda alta escalonado. Por exemplo, o conjunto de circuitos de formato de ganho 230 da Figura 2 ou da Figura 3 pode determinar o parâmetro de formato de ganho 264.
[0104] Logo, o método 600 pode permitir que o sinal de banda alta possa ser escalonado antes de realizar o cálculo de energia. O escalonamento do sinal de energia de banda alta pode evitar uma saturação do sinal de banda alta e pode reduzir a degradação da qualidade de áudio (associado ao sinal de banda alta) causada por atenuação. Por exemplo, o escalonamento descendente por fator(es) de 2 (ou 4, 8, etc.) pode reduzir o valor de energia de um quadro ou subquadro a uma quantidade que pode ser apresentada usando um número de bits disponível em um codificador.
[0105] Referindo-se à Figura 7, um fluxograma de um exemplo ilustrativo particular de um método de operação de um codificador é revelado e genericamente designado pela referência numérica 700. O codificador pode incluir ou corresponder ao codificador 104 (por exemplo, o conjunto de circuitos de parâmetro de ganho 102, o conjunto de circuitos de escalonamento 124, o conjunto de circuitos de determinação de parâmetros 126) da Figura 1 ou o codificador 204 (por exemplo, o conjunto de circuitos de formato de ganho 230, o conjunto de circuitos de quadro de ganho 236, ou uma combinação dos mesmos) da Figura 2.
[0106] O método 700 inclui receber, em um codificador, um sinal de áudio de banda alta, em 702. Por exemplo, o sinal de áudio de banda alta pode corresponder ao sinal de áudio de banda alta (SHB) 140 da Figura 1. O sinal de áudio de banda alta pode incluir um sinal de fala de banda alta.
[0107] O método 700 inclui escalonar o sinal de áudio de banda alta para gerar um sinal de áudio de banda alta escalonado, em 704. O sinal de áudio de banda alta escalonado pode corresponder ao sinal de áudio de banda alta escalonado 160 da Figura 1.
[0108] O método 700 também inclui determinar um parâmetro de ganho com base no sinal de áudio de banda alta escalonado, em 706. Por exemplo, o parâmetro de ganho pode corresponder a um ou mais parâmetros de ganho 170 da Figura 1, ao parâmetro de formato de ganho 264 da Figura 2, ao parâmetro de quadro de ganho 268 da Figura 2, ou a uma combinação dos mesmos.
[0109] Em algumas implementações, o sinal de áudio de banda alta inclui m quadro tendo múltiplos subquadros. O escalonamento do sinal de áudio de banda alta pode incluir determinar um fator de escalonamento com base em um número de subquadros saturados do quadro, tal como o número de subquadros saturados 262 da Figura 2. O fator de escalonamento pode ser usado para escalonar o sinal de áudio de banda alta.
[0110] Em algumas implementações, o sinal de áudio de banda alta pode ser escalonado usando um valor predeterminado para gerar o sinal de áudio de banda alta escalonado. O valor predeterminado pode corresponder a um fator de 2 ou um fator de 8, como exemplos não limitantes ilustrativos. Adicional ou alternativamente, o escalonamento do sinal de áudio de banda alta pode incluir escalonar iterativamente o sinal de áudio de banda alta para gerar o sinal de áudio de banda alta escalonado.
[0111] Em algumas implementações, o sinal de áudio de banda alta escalonado pode ser gerado em resposta à determinação que um primeiro valor de energia do sinal de áudio de banda alta é saturado. Subsequente ao sinal de áudio de banda alta escalonado sendo gerado, um segundo valor de energia do sinal de áudio de banda alta escalonado pode ser gerado e uma determinação se o sinal de áudio de banda alta escalonado é saturado pode ser feita com base no segundo valor de energia.
[0112] Logo, o método 700 pode permitir que o codificador escalone o sinal de banda alta antes de realizar o cálculo de energia. Escalonando-se o sinal de energia de banda alta, a saturação do sinal de banda alta pode ser evitada e a degradação da qualidade de áudio (associada ao sinal de banda alta) causada por atenuação pode ser reduzida. Adicionalmente, escalonando-se o sinal de energia de banda alta, o valor de energia de um quadro ou subquadro pode ser reduzido a uma quantidade que possa ser apresentada usando um número de bits disponível no codificador.
[0113] Em aspectos particulares, os métodos das Figuras 6 a 7 podem ser implementados por um dispositivo de arranjo de portas programáveis em campo (FPGA), um circuito integrado para aplicações específicas (ASIC), uma unidade de processamento, tal como uma unidade de processamento central (CPU), um processador de sinal digital (DSP), um controlador, outro dispositivo de hardware, um dispositivo de firmware, ou qualquer combinação dos mesmos. Como um exemplo, um ou mais dentre os métodos das Figuras 6 a 7, individualmente ou em combinação, podem ser realizados por um processador que execute instruções, conforme descrito em relação às Figuras 8 e 9. A título de ilustração, uma parte do método 600 da Figura 6 pode ser combinada com uma segunda parte do método 700 da Figura 7. Adicionalmente, uma ou mais etapas descritas com referência às Figuras 6 a 7, podem ser opcionais, podem ser realizadas de modo pelo menos parcialmente simultâneo, podem ser realizadas em uma ordem diferente daquela mostrada ou descrita, ou uma combinação dos mesmos.
[0114] Referindo-se à Figura 8, um diagrama de blocos de um exemplo ilustrativo particular de um dispositivo (por exemplo, um dispositivo de comunicação sem fio) é descrito e genericamente designado pela referência numérica 800. Em várias implementações, o dispositivo 800 pode ter mais ou menos componentes do que ilustrado na Figura 8. Em um exemplo ilustrativo, o dispositivo 800 pode incluir o codificador 104 da Figura 1 ou o codificador 204 da Figura 2. Em um exemplo ilustrativo, o dispositivo 800 pode operar de acordo com um ou mais dentre os métodos das Figuras 6 a 7.
[0115] Em uma implementação particular, o dispositivo 800 inclui um processador 806 (por exemplo, uma CPU). O dispositivo 800 pode incluir um ou mais processadores adicionais 810 (por exemplo, um ou mais DSPs). Os processadores 810 podem incluir um codificador-decodificador de fala e música (CODEC) 808 e um anulador de ecos 812. Por exemplo, os processadores 810 podem incluir um ou mais componentes (por exemplo, um conjunto de circuitos) configurados para realizar operações do CODEC de fala e música 808. Como outro exemplo, os processadores 810 podem ser configurados para executar uma ou mais instruções legíveis por computador para realizar as operações do CODEC de fala e música 808. Embora o CODEC de fala e música 808 seja ilustrado como um componente dos processadores 810, em outros exemplos, um ou mais componentes do CODEC de fala e música 808 podem ser incluídos no processador 806, um CODEC 834, outro componente de processamento, ou uma combinação dos mesmos. O CODEC de fala e música 808 pode incluir um codificador 892, tal como um codificador vocoder. Por exemplo, o codificador 892 pode corresponder ao codificador 104 da Figura 1 ou ao codificador 204 da Figura 2.
[0116] Em um aspecto particular, o codificador 892 pode incluir um conjunto de circuitos de formato de ganho 894 e um conjunto de circuitos de quadro de ganho 895 que são configurados para determinar um ou mais parâmetros de quadro de ganho. Por exemplo, o conjunto de circuitos de formato de ganho 894 pode corresponder ao conjunto de circuitos de parâmetro de ganho 102 da Figura 1 ou ao conjunto de circuitos de formato de ganho 230 da Figura 1. O conjunto de circuitos de quadro de ganho 895 pode corresponder ao conjunto de circuitos de parâmetro de ganho 102 da Figura 1 ou ao conjunto de circuitos de quadro de ganho 236 da Figura 2.
[0117] O dispositivo 800 pode incluir uma memória 832 e o CODEC 834. O CODEC 834 pode incluir um conversor digital em analógico (DAC) 802 e um conversor analógico em digital (ADC) 804. Um alto-falante 836, um microfone 838, ou ambos, podem ser acoplados ao CODEC 834. O CODEC 834 pode receber sinais analógicos a partir do microfone 838, converter os sinais analógicos em sinais digitais usando o conversor analógico em digital 804, e proporcionar os sinais digitais ao CODEC de fala e música 808. O CODEC de fala e música 808 pode processar os sinais digitais. Em algumas implementações, o CODEC de fala e música 808 pode proporcionar sinais digitais ao CODEC 834. O CODEC 834 pode converter os sinais digitais em sinais analógicos usando o conversor digital em analógico 802 e pode proporcionar os sinais analógicos ao alto-falante 836.
[0118] O dispositivo 800 pode incluir um controlador sem fio 840 acoplado, através de um transceptor 850 (por exemplo, um transmissor, um receptor, ou uma combinação dos mesmos), a uma antena 842. O dispositivo 800 pode incluir a memória 832, tal como um dispositivo de armazenamento legível por computador. A memória 832 pode incluir instruções 860, tais como uma ou mais instruções que sejam executáveis pelo processador 806, pelo processador 810, ou por uma combinação dos mesmos, para realizar um ou mais dentre os métodos das Figuras 6 a 7.
[0119] Como um exemplo ilustrativo, a memória 832 pode armazenar instruções que, quando executadas pelo processador 806, o processador 810, ou uma combinação dos mesmos, induz o processador 806, o processador 810, ou uma combinação dos mesmos, a realizar operações incluindo determinar um número de subquadros de múltiplos subquadros que são saturados. Os múltiplos subquadros podem ser incluídos em um quadro de um sinal de áudio de banda alta. As operações podem incluir, ainda, determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro.
[0120] Em algumas implementações, a memória 832 pode incluir um código (por exemplo, instruções de programa interpretadas ou compiladas) que pode ser executado pelo processador 806, pelo processador 810, ou uma por combinação dos mesmos, para induzir o processador 806, o processador 810, ou uma combinação dos mesmos, a realizar funções conforme descrito com referência ao codificador 104 da Figura 1 ou a codificador 204 da Figura 2, a realizar pelo menos uma parte de um ou mais dentre os métodos das Figuras 6 a 7, ou uma combinação dos mesmos. Para ilustrar adicionalmente, o Exemplo 1 descreve um pseudocódigo ilustrativo (por exemplo, código C simplificado em um ponto flutuante) que pode ser compilado e armazenado na memória 832. O pseudocódigo ilustra uma implementação possível de aspectos descritos em relação às Figuras 1 a 7. O pseudocódigo inclui comentários que não fazem parte do código executável. No pseudocódigo, um início de um comentário é indicado por uma barra e um asterisco (por exemplo, “/*”) e um término do comentário é indicado por um asterisco e por uma barra (por exemplo, “*/”). A título de ilustração, um comentário “COMMENT” pode aparecer no pseudocódigo como /* COMMENT */.
[0121] No exemplo fornecido, o operador “==” indica uma comparação de igualdade, de modo que “A==B” tenha um valor de VERDADEIRO quando o valor de A for igual ao valor de B e tenha um valor de FALSO, caso contrário. O operador “&&” indica uma operação AND lógica. O operador “||” indica uma operação OR lógica. O operador “>” (maior que) representa “maior que”, o operador “>=”representa “maior ou igual a”, e o operador “<” indica “menor que”. O termo “f” seguido de um número indica um formato numérico de ponto flutuante (por exemplo, decimal).
[0122] No exemplo fornecido, “*” pode representar uma operação de multiplicação, “+” ou “soma” pode representar uma operação de adição, “-” pode indicar uma operação de subtração, e “/” pode representar uma operação de divisão. O operador “=”representa uma atribuição (por exemplo, “a=1” atribui o valor de 1 à variável “a”). Outras implementações luir uma ou mais condições além, ou ao invés do, de condições do Exemplo 1. EXEMPLO 1 oriNrg = L_deposit_1 (0); /*oriNrg corresponde a synNrg = L_deposit_1 (0); /*synNrg corresponde a FOR(i = -20; i <= 319; i++) { /* win shb corresponde a wfr e oriSHB corresponde sig = (oriSHB[i] * win shb [i]); /* oriNrg = oriNrg + sig*sig */ oriNrg = L_mac0 (oriNrg, sig, sig); /*mod_syn corresponde a SHB*/ sig = round_fx (Mult_32_16 (mod_syn [i], win_shb[i])); /* synNrg = synNrg + sig*sig */ synNrg = L_mac0 (synNrg, sig, sig); } Log2_Factor = 0; /*log2 (Factor) */ /*Initialize Factor = 1, significando Log2_Factor = 0*/ IF (oriNrg == MAX_32) /*significando oriNrg saturado em 231 -1*/ { /*n_subfr_saturation é o número de energias de subquadro saturadas de oriSHB em cálculo GainShape */ Log2_Factor = ((n_subfr_saturation/2) + 1); oriNrg = 0; /* Recalcular oriNrg */ FOR(i = -20; i <= 319; i++) { sig = ((oriSHB[i]/pow(2, Log2_Factor) * win_shb [i])); /*Above, oriSHB[i] é escalonado por 2Log2_Factor = Factor*/ oriNrg = L_mac0 (oriNrg, sig, sig); } } GainFrame = pow(2, Log2_Factor)*sqrt (oriNrg/synNrg);
[0123] A memória 832 pode incluir instruções 860 executáveis pelo processador 806, pelos processadores 810, pelo CODEC 834, por outra unidade de processamento do dispositivo 800, ou por uma combinação dos mesmos, para realizar métodos e processos revelados no presente documento, tais como um ou mais dentre os métodos das Figuras 6 a 7. Um ou mais componentes do sistema 100 da Figura 1, o sistema 200 da Figura 2, ou o sistema 300 da Figura 3 podem ser implementados através de hardware dedicado (por exemplo, conjunto de circuitos), por um processador que executa instruções (por exemplo, as instruções 860) para realizar uma ou mais tarefas, ou uma combinação dos mesmos. Como um exemplo, a memória 832 ou um ou mais componentes do processador 806, dos processadores 810, do CODEC 834, ou de uma combinação dos mesmos, pode ser um dispositivo de memória, tal como uma memória de acesso aleatório (RAM), uma memória de acesso aleatório magneto-resistiva (MRAM), MRAM de transferência de torque por giro (STT-MRAM), memória flash, memória somente para leitura (ROM), memória somente para leitura programável (PROM), memória somente para leitura programável apagável (EPROM), memória somente para leitura programável eletricamente apagável (EEPROM), registradores, disco rígido, um disco removível, ou um disco compacto de memória somente para leitura (CD-ROM). O dispositivo de memória pode incluir instruções (por exemplo, as instruções 860) que, quando executadas por um computador (por exemplo, um processador no CODEC 834, no processador 806, nos processadores 810, ou em uma combinação dos mesmos),pode induzir o computador a realizar pelo menos uma parte de um ou mais dentre os métodos das Figuras 6 a 7. Como um exemplo, a memória 832 ou um ou mais componentes do processador 806, dos processadores 810, do CODEC 834 pode ser uma mídia legível por computador não transitória que inclui instruções (por exemplo, as instruções 860) que, quando executadas por um computador (por exemplo, um processador no CODEC 834, no processador 806, nos processadores 810, ou em uma combinação dos mesmos), induz o computador a realizar pelo menos uma parte de um ou mais dentre os métodos das Figuras 6 a 7.
[0124] Em uma implementação particular, o dispositivo 800 pode ser incluído em um dispositivo de sistema-em-pacote ou sistema-em-chip 822. Em algumas implementações, a memória 832, o processador 806, os processadores 810, o controlador de exibição 826, o CODEC 834, o controlador sem fio 840, e o transceptor 850 são incluídos em um dispositivo de sistema-em-pacote ou sistema- em-chip 822. Em algumas implementações, um dispositivo de entrada 830 e um fonte de alimentação 844 são acoplados ao dispositivo de sistema-em-chip 822. Ademais, em uma implementação particular, conforme ilustrado na Figura 8, a tela 828, o dispositivo de entrada 830, o alto-falante 836, o microfone 838, a antena 842, e a fonte de alimentação 844 são externas ao dispositivo de sistema-em-chip 822. Em outras implementações, cada dentre a tela 828, o dispositivo de entrada 830, o alto-falante 836, o microfone 838, a antena 842, e a fonte de alimentação 844 podem ser acoplados a um componente do dispositivo de sistema-em-chip 822, tal como uma interface ou um controlador do dispositivo de sistema- em-chip 822. Em um exemplo ilustrativo, o dispositivo 800 corresponde a um dispositivo de comunicação, um dispositivo de comunicação móvel, um smartphone, um telefone celular, um computador tipo laptop, um computador, um computador tipo tablet, um assistente pessoal digital, um decodificador de sinais, um dispositivo de exibição, uma televisão, um console de jogos, um reprodutor de músicas, um rádio, um reprodutor de vídeo digital, um reprodutor de disco de vídeo digital (DVD), um reprodutor de disco óptico, um sintonizador, uma câmera, um dispositivo de navegação, um sistema decodificador, um sistema codificador, uma estação de base, um veículo, ou qualquer combinação dos mesmos.
[0125] Em um exemplo ilustrativo, os processadores 810 podem ser operáveis em realizar todos, ou uma parte dos, métodos ou operações descritos com referência às Figuras 1 a 7. Por exemplo, o microfone 838 pode capturar um sinal de áudio correspondente a um sinal de fala de usuário. O ADC 804 pode converter o sinal de áudio capturado a partir de uma forma de onda analógica em uma forma de onda digital composta por amostras de áudio digital. Os processadores 810 podem processar as amostras de áudio digital. O anulador de ecos 812 pode reduzir um eco que pode ter sido criado por uma saída do alto-falante 836 que entra no microfone 838.
[0126] O codificador 892 (por exemplo, um codificador vocoder) do CODEC de fala e música 808 pode comprimir amostras de áudio digital correspondentes ao sinal de fala processado e pode formar uma sequência de pacotes (por exemplo, uma representação dos bits comprimidos das amostras de áudio digital). A sequência de pacotes pode ser armazenada na memória 832. O transceptor 850 pode modular cada pacote da sequência e pode transmitir os dados modulados através da antena 842.
[0127] Como um exemplo adicional, a antena 842 pode receber pacotes de entrada correspondentes a uma sequência de pacotes enviados por outro dispositivo através de uma rede. Os pacotes de entrada podem incluir um quadro de áudio (por exemplo, um quadro de áudio codificado). O decodificador pode descomprimir e decodificar o pacote recebido para gerar amostras de áudio reconstruídas (por exemplo, correspondente a um sinal de áudio sintetizado). O anulador de ecos 812 pode remover eco das amostras de áudio reconstruídas. O DAC 802 pode converter uma saída do decodificador a partir de uma forma de onda digital em uma forma de onda analógica e pode proporcionar a forma de onda convertida ao alto-falante 836 para saída.
[0128] Referindo-se à Figura 9, descreve-se um diagrama de blocos de um exemplo ilustrativo particular de uma estação de base 900. Em várias implementações, a estação de base 900 pode ter mais componentes ou menos componentes do que ilustrado na Figura 9. Em um exemplo ilustrativo, a estação de base 900 pode incluir o dispositivo 102 da Figura 1. Em um exemplo ilustrativo, a estação de base 900 pode operar de acordo com um ou mais dentre os métodos das Figuras 5 a 6, um ou mais dentre os Exemplos 1 a 5, ou uma combinação dos mesmos.
[0129] A estação de base 900 pode ser parte de um sistema de comunicação sem fio. O sistema de comunicação sem fio pode incluir múltiplas estações de base e múltiplos dispositivos sem fio. O sistema de comunicação sem fio pode ser um sistema de Evolução a Longo Prazo (LTE), um sistema de Acesso Múltiplo por Divisão de Código (CDMA), um 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 CDMA pode implementar CDMA de Banda Larga (WCDMA), CDMA IX, Dados de Evolução Otimizados (EVDO), CDMA Síncrono por Divisão de Tempo (TD-SCDMA), ou alguma outra versão de CDMA.
[0130] Os dispositivos sem fio também podem ser referidos como um equipamento de usuário (UE), uma estação móvel, um terminal, um terminal de acesso, uma unidade assinante, uma estação, etc. Os dispositivos sem fio podem incluir um telefone celular, um smartphone, um tablet, um modem sem fio, um assistente pessoal digital (PDA), um dispositivo de mão, um computador tipo laptop, um smartbook, um netbook, um tablet, um telefone sem fio, uma estação de laço local sem fio (WLL), um dispositivo Bluetooth, etc. Os dispositivos sem fio podem incluir ou corresponder a dispositivo 800 da Figura 8.
[0131] Várias funções podem ser realizadas por um ou mais componentes da estação de base 900 (e/ou em outros componentes não mostrados), tais como enviar e receber mensagens e dados (por exemplo, dados de áudio). Em um exemplo particular, a estação de base 900 inclui um processador 906 (por exemplo, uma CPU). A estação de base 900 pode incluir um transcodificador 910. O transcodificador 910 pode incluir um CODEC de fala e música 908. Por exemplo,o transcodificador 910 pode incluir um ou mais componentes (por exemplo, conjunto de circuitos) configurados para realizar operações do CODEC de fala e música 908. Como outro exemplo, o transcodificador 910 pode ser configurado para executar uma ou mais instruções legíveis por computador para realizar as operações do CODEC de fala e música 908. Embora o CODEC de fala e música 908 seja ilustrado como um componente do transcodificador 910, em outro exemplo, um ou mais componentes do CODEC de fala e música 908 podem ser incluídos no processador 906, outro componente de processamento, ou uma combinação dos mesmos. Por exemplo, um decodificador 938 (por exemplo, um decodificador vocoder) pode ser incluído em um processador de dados de recepção 964. Como outro exemplo, um codificador 936 (por exemplo, um codificador vocoder) pode ser incluído em um processador de dados de transmissão 966.
[0132] O transcodificador 910 pode funcionar para transcodificar mensagens e dados entre duas ou mais redes.O transcodificador 910 pode ser configurado para converter mensagens e dados de áudio a partir de um primeiro format (por exemplo, um formato digital) em um segundo formato. A título de ilustração, o decodificador 938 pode decodificar sinais codificados tendo um primeiro formato e o codificador 936 pode codificar os sinais decodificados em sinais codificados tendo um segundo formato. Adicional ou alternativamente, o transcodificador 910 pode ser configurado para realizar uma adaptação ode taxa de dados. Por exemplo, o transcodificador 910 pode converter descendentemente uma taxa de dados ou converter ascendentemente a taxa de dados sem alterar um formato dos dados de áudio. A título de ilustração, o transcodificador 910 pode converter descendentemente sinais de 64 kbit/s em sinais de 16 kbit/s.
[0133] O CODEC de fala e música 908 pode incluir o codificador 936 e o decodificador 938. O codificador 936 pode incluir um conjunto de circuitos de formato de ganho e um conjunto de circuitos de quadro de ganho, conforme descrito com referência à Figura 8. O decodificador 938 pode incluir um conjunto de circuitos de formato de ganho e m conjunto de circuitos de quadro de ganho.
[0134] A estação de base 900 pode incluir uma memória 932. A memória 932, tal como um dispositivo de armazenamento legível por computador, pode incluir instruções. As instruções podem incluir uma ou mais instruções que sejam executáveis pelo processador 906, pelo transcodificador 910, ou por uma combinação dos mesmos, para realizar um ou mais dentre os métodos das Figuras 5 a 6, dos Exemplos 1 a 5, ou uma combinação dos mesmos. A estação de base 900 pode incluir múltiplos transmissores e receptores (por exemplo, transceptores), tal como um primeiro transceptor 952 e um segundo transceptor 954, acoplados a um arranjo de antenas. O arranjo de antenas pode incluir uma primeira antena 942 e uma segunda antena 944. O arranjo de antenas pode ser configurado para se comunicar remotamente com um ou mais dispositivos sem fio, tal como o dispositivo 800 da Figura 8. Por exemplo, a segunda antena 944 pode receber um fluxo de dados 914 (por exemplo, um fluxo de bits) a partir de um dispositivo sem fio. O fluxo de dados 914 pode incluir mensagens, dados (por exemplo, dados de fala codificados), ou uma combinação dos mesmos.
[0135] A estação de base 900 pode incluir uma conexão de rede 960, tal como uma conexão de canal de transporte de retorno. A conexão de rede 960 pode ser configurada para se comunicar com uma rede principal ou uma ou mais estações de base da rede de comunicação sem fio. Por exemplo, a estação de base 900 pode receber um segundo fluxo de dados (por exemplo, mensagens ou dados de áudio) a partir de uma rede principal através da conexão de rede 960. A estação de base 900 pode processar o segundo fluxo de dados para gerar mensagens ou dados de áudio e proporcionar as mensagens ou dados de áudio a um ou mais dispositivos sem fio através de uma ou mais antenas do arranjo de antenas ou à outra estação de base através da conexão de rede 960. Em uma implementação particular, a conexão de rede 960 pode ser uma conexão de rede de área ampliada (WAN), como um exemplo não limitante ilustrativo.
[0136] A estação de base 900 pode incluir um demodulador 962 que é acoplado aos transceptores 952, 954,ao processador de dados de recepção 964, e ao processador 906, e o processador de dados de recepção 964 pode ser acoplado ao processador 906. O demodulador 962 pode ser configurado para demodular sinais modulados recebidos a partir dos transceptores 952, 954 e fornecer os dados demodulados ao processador de dados de recepção 964. O processador de dados de recepção 964 pode ser configurado para extrair uma mensagem ou dados de áudio a partir dos dados modulados e enviar a mensagem ou os dados de áudio ao processador 906.
[0137] A estação de base 900 pode incluir um processador de dados de transmissão 966 e um processador de transmissão de múltiplas entradas e múltiplas saídas (MIMO) 968. O processador de dados de transmissão 966 pode ser acoplado ao processador 906 e ao processador de transmissão de MIMO 968. O processador de transmissão de MIMO 968 pode ser acoplado aos transceptores 952, 954 e ao processador 906. O processador de dados de transmissão 966 pode ser configurado para receber as mensagens ou os dados de audio a partir do processador 906 e codificar as mensagens ou os dados de áudio com base em um esquema de codificação, tal 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 966 pode proporcionar os dados codificados ao processador de transmissão de MIMO 968.
[0138] Os dados codificados podem ser multiplexados com outros dados, tais como dados piloto, usando técnicas de CDMA ou 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 966 com base em um esquema de modulação particular (por exemplo, chaveamento por deslocamento de fase binário (“BPSK”), chaveamento por deslocamento de fase de quadratura (“QSPK”), chaveamento por deslocamento de fase M-ary (“M-PSK”), modulação de amplitude de quadratura M-ary (“M-QAM”), etc.) para gerar símbolos de modulação. Em uma implementação particular, os dados codificados e outros dados podem ser modulados usando diferentes esquemas de modulação. A taxa de dados, codificação, e modulação para cada fluxo de dados podem ser determinados por instruções executadas pelo processador 906.
[0139] O processador de transmissão de MIMO 968 pode ser configurado para receber os símbolos de modulação a partir do processador de dados de transmissão 966 e pode processar, ainda, os símbolos de modulação e pode realizar formação de feixes nos dados. Por exemplo, o processador de transmissão de MIMO 968 pode aplicar pesos de formação de feixes aos símbolos de modulação. Os pesos de formação de feixes podem corresponder a uma ou mais antenas do arranjo de antenas a partir do qual os símbolos de modulação são transmitidos.
[0140] Durante a operação, a segunda antena 944 da estação de base 900 pode receber um fluxo de dados 914. O segundo transceptor 954 pode receber o fluxo de dados 914 a partir da segunda antena 944 e pode proporcionar o fluxo de dados 914 ao demodulador 962. O demodulador 962 pode demodular sinais modulados do fluxo de dados 914 e proporcionar dados demodulados ao processador de dados de recepção 964. O processador de dados de recepção 964 pode extrair dados de áudio a partir dos dados demodulados e proporcionar os dados de áudio extraídos ao processador 906.
[0141] O processador 906 pode proporcionar os dados de áudio ao transcodificador 910 para transcodificação. O decodificador 938 do transcodificador 910 pode decodificar os dados de áudio a partir de um primeiro formato em dados de áudio decodificados e o codificador 936 pode codificar os dados de áudio decodificados em um segundo formato. Em algumas implementações, o codificador 936 pode codificar os dados de áudio usando uma taxa de dados superior (por exemplo, converter ascendentemente) ou uma taxa de dados inferior (por exemplo, converter descendentemente) em relação àqueles recebidos a partir do 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 910, as operações de transcodificação (por exemplo, decodificação e codificação) podem ser realizadas por múltiplos componentes da estação de base 900. Por exemplo, a decodificação pode ser realizada pelo processador de dados de recepção 964 e a codificação pode ser realizada pelo processador de dados de transmissão 966.
[0142] O decodificador 938 e o codificador 936 podem determinar, em uma base quadro-por-quadro, um parâmetro de formato de ganho correspondente ao quadro, um parâmetro de quadro de ganho correspondente ao quadro, ou ambos. O parâmetro de formato de ganho, o parâmetro de quadro de ganho, ou ambos, podem ser usados para gerar um sinal de banda alta sintetizado. Os dados de áudio codificados gerados no codificador 936, tais como dados transcodificados, podem ser proporcionados ao processador de dados de transmissão 966 ou à conexão de rede 960 através do processador 906.
[0143] Os dados de áudio transcodificados a partir do transcodificador 810 podem ser proporcionados ao processador de dados de transmissão 966 para codificação de acordo com um esquema de modulação, tal como OFDM, para gerar os símbolos de modulação. O processador de dados de transmissão 966 pode proporcionar os símbolos de modulação ao processador de transmissão de MIMO 968 para um processamento e formação de feixes adicionais. O processador de transmissão de MIMO 968 pode aplicar pesos de formação de feixes e pode proporcionar os símbolos de modulação a uma ou mais antenas do arranjo de antenas, tal como a primeira antena 942 através do primeiro transceptor 952. Logo, a estação de base 900 pode proporcionar o fluxo de dados transcodificados 916, que corresponde ao fluxo de dados 914 recebido a partir do dispositivo sem fio, a outro dispositivo sem fio. O fluxo de dados transcodificados 916 pode ter um formato de codificação diferente, taxa de dados, ou ambos, em relação ao fluxo de dados 914. Em outras implementações, o fluxo de dados transcodificados 916 pode ser proporcionado à conexão de rede 960 para transmissão à outra estação de base ou uma rede principal.
[0144] Portanto, a estação de base 900 pode incluir um dispositivo de armazenamento legível por computador (por exemplo, a memória 932) que armazena instruções que, quando executadas por um processador (por exemplo, o processador 906 ou o transcodificador 910), induzem o processador a realizar operações incluindo determinar um número de subquadros de múltiplos subquadros que são saturados. Os múltiplos subquadros podem ser incluídos em um quadro de um sinal de áudio de banda alta. As operações podem incluir, ainda, determinar, com base no número de subquadros que são saturados, um parâmetro de quadro de ganho correspondente ao quadro.
[0145] Em conjunto com os aspectos descritos, um aparelho pode incluir meios para receber um sinal de áudio de banda alta que inclui um quadro, sendo que o quadro inclui múltiplos subquadros. Por exemplo, os meios para receber um sinal de áudio de banda alta podem incluir ou corresponder ao codificador 104, banco de filtro 120, sintetizador 122, conjunto de circuitos de parâmetro de ganho, conjunto de circuitos de escalonamento 124, conjunto de circuitos de determinação de parâmetros 126 da Figura 1, codificador 204, ao conjunto de circuitos de formato de ganho 230, conjunto de circuitos de quadro de ganho 236 da Figura 2, conjunto de circuitos de análise e quantização de LP 312 da Figura 3, à antena 842, transceptor 850, controlador sem fio 840, CODEC de fala e música 808, codificador 892, conjunto de circuitos de formato de ganho 894, conjunto de circuitos de quadro de ganho 895, CODEC 834, microfone 838, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, processador 906 ou transcodificador 910 da Figura 9, uma ou mais outras estruturas, dispositivos, circuitos, módulos, ou instruções para receber o sinal de áudio de banda alta, ou uma combinação dos mesmos.
[0146] O aparelho também pode incluir meios para determinar um número de subquadros dos múltiplos subquadros que são saturados. Por exemplo, os meios para determinar o número de subquadros podem incluir ou corresponder ao codificador 104, conjunto de circuitos de parâmetro de ganho 102, conjunto de circuitos de escalonamento 124, conjunto de circuitos de determinação de parâmetros 126 da Figura 1, codificador 204, conjunto de circuitos de formato de ganho 230, conjunto de circuitos de quadro de ganho 236 da Figura 2, CODEC de fala e música 808, CODEC 834, codificador 892, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, um contador, o processador 906 ou transcodificador 910 da Figura 9, uma ou mais outras estruturas, dispositivos, circuitos, módulos, ou instruções para determinar o número de subquadros, ou uma combinação dos mesmos.
[0147] O aparelho também pode incluir meios para determinar um parâmetro de quadro de ganho correspondente ao quadro. O parâmetro de quadro de ganho pode ser determinado com base no número de subquadros que são saturados. Por exemplo, os meios para determinar o parâmetro de quadro de ganho podem incluir ou corresponder ao codificador 104, conjunto de circuitos de parâmetro de ganho 102, conjunto de circuitos de determinação de parâmetros 126 da Figura 1, codificador 204, conjunto de circuitos de formato de ganho 230, conjunto de circuitos de quadro de ganho 236 da Figura 2, CODEC de fala e música 808, CODEC 834, codificador 892, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, processador 906 ou transcodificador 910 da Figura 9, uma ou mais estruturas, dispositivos, circuitos, modules, ou instruções para emitir a segunda fala decodificada, ou uma combinação dos mesmos.
[0148] O aparelho também pode incluir meios para gerar um sinal sintetizado com base no sinal de áudio de banda alta. Por exemplo, os meios para gerar um sinal sintetizado podem incluir ou corresponder ao codificador 104, sintetizador 122 da Figura 1, codificador 204 da Figura 2, CODEC de fala e música 808, CODEC 834, codificador 892, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, processador 906 ou transcodificador 910 da Figura 9, uma ou mais outras estruturas, dispositivos, circuitos, módulos, ou instruções para gerar o sinal sintetizado, ou uma combinação dos mesmos.
[0149] O aparelho também pode incluir meios para escalonar iterativamente o sinal de áudio de banda alta para gerar um sinal de áudio de banda alta escalonado. Por exemplo, os meios para escalonar iterativamente o sinal de áudio de banda alta podem incluir ou corresponder ao codificador 104, conjunto de circuitos de parâmetro de ganho 102, conjunto de circuitos de determinação de parâmetros 126 da Figura 1, codificador 204, conjunto de circuitos de formato de ganho 230, conjunto de circuitos de quadro de ganho 236 da Figura 2, CODEC de fala e música 808, CODEC 834, codificador 892, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, processador 906 ou transcodificador 910 da Figura 9, uma ou mais outras estruturas, dispositivos, circuitos, módulos, ou instruções para escalonar iterativamente o sinal de áudio de banda alta, ou uma combinação dos mesmos.
[0150] O aparelho também pode incluir meios para gerar um primeiro sinal sintetizado escalonado. Por exemplo, os meios para gerar o primeiro sinal sintetizado escalonado pode incluir ou corresponder ao codificador 104, conjunto de circuitos de parâmetro de ganho 102, conjunto de circuitos de determinação de parâmetros 126 da Figura 1, codificador 204, conjunto de circuitos de quadro de ganho 236 da Figura 2, CODEC de fala e música 808, CODEC 834, codificador 892, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, processador 906 ou transcodificador 910 da Figura 9, uma ou mais outras estruturas, dispositivos, circuitos, módulos, ou instruções para gerar a sinal sintetizado escalonado, ou uma combinação dos mesmos.
[0151] O aparelho também pode incluir meios para determinar um parâmetro de formato de ganho com base no primeiro sinal sintetizado escalonado. Por exemplo, os meios para determinar o parâmetro de formato de ganho com base no primeiro sinal sintetizado escalonado podem incluir ou corresponder ao codificador 104, conjunto de circuitos de parâmetro de ganho 102, conjunto de circuitos de determinação de parâmetros 126 da Figura 1, codificador 204, conjunto de circuitos de formato de ganho 230, conjunto de circuitos de quadro de ganho 236 da Figura 2, CODEC de fala e música 808, CODEC 834, codificador 892, um ou mais dentre os processadores 810, 806 programados para executar as instruções 860 da Figura 8, processador 906 ou o transcodificador 910 da Figura 9, uma ou mais outras estruturas, dispositivos, circuitos, módulos, ou instruções para determinar um parâmetro de formato de ganho com base em a sinal sintetizado escalonado, ou uma combinação dos mesmos.
[0152] Em algumas implementações, os meios para recepção compreendem um banco de filtro, os meios para determinar o número de subquadros compreendem um conjunto de circuitos de formato de ganho, e os meios para determinar o quadro de ganho compreendem um conjunto de circuitos de quadro de ganho.
[0153] Em algumas implementações, os meios para receber o sinal de áudio de banda alta, os meios para determinar o número de subquadros, e os meios para determinar um parâmetro de quadro de ganho compreendem um processador e uma memória que armazena instruções que são executáveis pelo processador. Adicional ou alternativamente, os meios para receber o sinal de áudio de banda alta, os meios para determinar o número de subquadros, e os meios para determinar o parâmetro de quadro de ganho são integrados a um codificador, 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 assistente pessoal digital (PDA), um computador, ou uma combinação dos mesmos.
[0154] Nos aspectos da descrição exposta acima, várias funções realizadas foram descritas como sendo realizadas por determinados conjuntos de circuitos ou componentes, tais como conjuntos de circuitos ou componentes do sistema 100 da Figura 1, do sistema 200 da Figura 2, do sistema 300 da Figura 3, do dispositivo 800 da Figura 8, da estação de base 900 da Figura 9, ou uma combinação dos mesmos. No entanto, essa divisão de conjuntos de circuitos e componentes serve somente para propósitos de ilustração. Em exemplos alternativos, uma função realizada por um circuito ou componente particular pode, ao invés disso, ser dividida dentre múltiplos circuitos ou componentes. Ademais, em outros exemplos alternativos, dois ou mais circuitos ou componentes das Figuras 1 a 3 podem ser integrados em um único circuito ou componente. Cada circuito e componente ilustrado nas Figuras 1 a 3, 8 e 9 pode ser implementado usando hardware (por exemplo, um ASIC, um DSP, um controlador, um dispositivo FPGA, etc.), software (por exemplo, lógica, módulos, instruções executáveis por um processador, etc.), ou qualquer combinação dos mesmos.
[0155] Os indivíduos versados na técnica avaliarão, ainda, que os vários blocos lógicos ilustrativos, configurações, módulos, circuitos, e etapas de algoritmo descritos em conexão aos aspectos revelados no presente documento podem ser implementados como hardware eletrônico, software computacional executado por um processador, ou combinações de ambos. Vários componentes, blocos, configurações, módulos, circuitos, e etapas ilustrativos foram descritos acima genericamente em termos de sua funcionalidade. Se essa funcionalidade for implementada como hardware ou instruções executáveis por processador depende da aplicação e restrições design particulares impostas ao sistema como um todo. Os artesãos versados podem implementar a funcionalidade descrita de várias formas para cada aplicação particular, essas decisões de implementação não devem ser interpretadas como causadoras de divergência do escopo da presente descrição.
[0156] As etapas de um método ou algoritmo descritas em conexão aos aspectos revelados no presente documento podem ser incluídas 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 RAM, memória flash, ROM, PROM, EPROM, EEPROM, registradores, disco rígido, um disco removível, um CD-ROM, ou qualquer outra forma de mídia de armazenamento não transiente conhecida na técnica. Uma mídia de armazenamento particular pode ser acoplada ao processador de modo que o processador possa ler informações, e gravar informações, à mídia de armazenamento. Alternativamente, a mídia de armazenamento pode ser integral ao processador. O processador e a mídia de armazenamento podem residir em um ASIC. O ASIC pode residir em um dispositivo computacional ou um terminal de usuário. Alternativamente, o processador e a mídia de armazenamento podem residir como componentes discretos em um dispositivo computacional ou terminal de usuário.
[0157] A descrição anterior é fornecida para permitir que um indivíduo versado na técnica produza ou use os aspectos revelados. Várias modificações a esses aspectos se tornarão aparentes aos indivíduos versados na técnica, e os princípios definidos no presente documento podem ser aplicados a outros aspectos sem divergir do escopo da descrição. Logo, a presente descrição não é destinada a ser limitada aos aspectos mostrados no presente documento e deve estar de acordo com o escopo mais abrangente possível consistente com os princípios e recursos inovadores conforme definido pelas reivindicações a seguir.
Claims (15)
1. Método para gerar um parâmetro de quadro de ganho para produzir um fluxo de bits, caracterizado pelo fato de que compreende: receber, em um codificador, um sinal de áudio de banda alta que inclui um quadro, o quadro incluindo múltiplos subquadros; determinar um número de subquadros dos múltiplos subquadros que são saturados; gerar um sinal de áudio de banda alta sintetizado com base no sinal de áudio de banda alta; determinar um parâmetro de formato de ganho com base em uma primeira taxa associada com o sinal de áudio de banda alta e o sinal de áudio de banda alta sintetizado; e determinar o parâmetro de quadro de ganho correspondente ao quadro com base no número de subquadros que são saturados e com base em uma segunda taxa associada com o sinal de áudio de banda alta e o sinal de áudio de banda alta sintetizado; e gerar o fluxo de bits com base no parâmetro de quadro de ganho.
2. Método, de acordo com a reivindicação 1, caracterizado por determinar que um subquadro particular dos múltiplos subquadros é saturado compreendendo determinar, no codificador, que um número de bits necessário para representar um valor de energia associado ao subquadro particular excede uma largura de ponto fixo do codificador.
3. Método, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente, antes de determinar o parâmetro de quadro de ganho: determinar um valor de energia particular do quadro com base no sinal de áudio de banda alta; e determinar se o valor de energia particular é saturado com base em um número de bits necessário para representar o valor de energia particular.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o valor de energia particular é saturado quando o número de bits necessário para representar o valor de energia particular for maior que um número total de bits do codificador disponível para armazenar o valor de energia particular.
5. Método, de acordo com a reivindicação 3, caracterizado por compreender adicionalmente em resposta à determinação que o valor de energia particular é saturado: determinar um fator de escalonamento com base no número de subquadros que são saturados; escalonar o sinal de áudio de banda alta com base no fator de escalonamento para gerar um sinal de áudio de banda alta escalonado; e determinar um segundo valor de energia do quadro com base no sinal de áudio de banda alta escalonado, e preferencialmente; em que determinar o parâmetro de quadro de ganho compreende: determinar um terceiro valor de energia do quadro com base em um sinal de áudio de banda alta sintetizado; determinar um valor particular com base em uma razão entre o segundo valor de energia e o terceiro valor de energia; e multiplicar o valor particular pelo fator de escalonamento para gerar o parâmetro de quadro de ganho.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o sinal de áudio de banda alta compreende um sinal de fala de banda alta.
7. Método, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente: escalonar o sinal de áudio de banda alta para gerar um sinal de áudio de banda alta escalonado; e determinar o parâmetro de formato de ganho com base no sinal de áudio de banda alta escalonado.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o parâmetro de formato de ganho compreende um vetor que inclui um valor de formato de ganho estimado para cada subquadro dos múltiplos subquadros e, preferencialmente, compreende adicionalmente: gerar um sinal sintetizado escalonado com base no sinal de áudio de banda alta sintetizado, em que o parâmetro de formato de ganho é adicionalmente baseado no sinal sintetizado escalonado; e/ou compreendendo adicionalmente, para cada subquadro dos múltiplos subquadros: determinar um primeiro valor de energia do subquadro com base no sinal de áudio de banda alta; e determinar se o primeiro valor de energia do subquadro é saturado e, preferencialmente, compreendendo adicionalmente, para cada subquadro dos múltiplos subquadros que é determinado como sendo insaturado, determinar o valor de formato de ganho estimado do subquadro com base em uma razão entre o primeiro valor de energia e um segundo valor de energia de um subquadro correspondente de um sinal de áudio de banda alta sintetizado, e/ou compreendendo adicionalmente, para cada subquadro dos múltiplos subquadros que é determinado como sendo saturado: escalonar uma porção do sinal de áudio de banda alta que corresponde ao subquadro por um fator de escalonamento; determinar um segundo valor de energia do subquadro com base na porção escalonada do sinal de áudio de banda alta; determinar um terceiro valor de energia de um subquadro correspondente de um sinal de áudio de banda alta sintetizado; determinar um valor particular com base em uma razão entre o segundo valor de energia e o terceiro valor de energia; e multiplicar o valor particular pelo fator de escalonamento para gerar o valor de formato de ganho estimado para o subquadro e, preferencialmente, compreendendo adicionalmente restaurar o fator de escalonamento a partir de uma memória, em que o fator de escalonamento corresponde a um fator de dois.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que compreende adicionalmente: quantizar o parâmetro de formato de ganho; e gerar um sinal compensado de formato de ganho com base no parâmetro de formato de ganho quantizado e no sinal de áudio de banda alta sintetizado, e preferencialmente em que o parâmetro de quadro de ganho é determinado com base no sinal compensado de formato de ganho e uma versão escalonada do sinal de áudio de banda alta, a versão escalonada do sinal de áudio de banda alta gerada com base no sinal de áudio de banda alta e com base no número de subquadros que são saturados.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente determinar se escalona o sinal de áudio de banda alta com base no número de subquadros que são saturados, e preferencialmente compreende adicionalmente escalonar o sinal de áudio de banda alta em resposta a uma determinação que o número de subquadros que são saturados no sinal de áudio de banda alta é maior que zero.
11. Método, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente: determinar um fator de escalonamento com base no número de subquadros que são saturados; e escalonar o sinal de áudio de banda alta com base no fator de escalonamento para gerar um sinal de áudio de banda alta escalonado.
12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o codificador é incluído em um dispositivo que compreende um dispositivo de comunicação móvel ou uma estação de base.
13. Aparelho para gerar um parâmetro de quadro de ganho para produzir um fluxo de bits, caracterizado pelo fato de que compreende: meios para receber um sinal de áudio de banda alta que inclui um quadro, sendo que o quadro inclui múltiplos subquadros; meios para determinar um número de subquadros dos múltiplos subquadros que são saturados; meios para gerar um sinal de áudio de banda alta sintetizado com base no sinal de áudio de banda alta; meios para determinar um parâmetro de formato de ganho com base em uma primeira taxa associada com o sinal de áudio de banda alta e o sinal sintetizado; meios para determinar o parâmetro de quadro de ganho correspondente ao quadro com base no número de subquadros que são saturados e com base em uma segunda taxa associada com o sinal de áudio de banda alta e o sinal sintetizado; e meios para gerar o fluxo de bits com base no parâmetro de quadro de ganho.
14. Aparelho, de acordo com a reivindicação 13, caracterizado pelo fato de que compreende adicionalmente: meios para gerar um primeiro sinal sintetizado escalonado com base no sinal sintetizado; em que os meios para receber compreendem um banco de filtro, em que os meios para determinar o número de subquadros compreende um conjunto de circuitos de formato de ganho, e em que os meios para determinar o parâmetro de quadro de ganho compreendem um conjunto de circuitos de quadro de ganho; e/ou compreendendo adicionalmente meios para escalonar iterativamente o sinal de áudio de banda alta para gerar um sinal de áudio de banda alta escalonado, em que o parâmetro de quadro de ganho se baseia adicionalmente no sinal de áudio de banda alta escalonado; e/ou em que os meios para receber o sinal de áudio de banda alta, os meios para determinar o número de subquadros, e os meios para determinar o parâmetro de quadro de ganho são integrados a pelo menos um dentre um codificador, 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 móveis, um assistente pessoal digital (PDA), ou um computador; e/ou em que os meios para receber o sinal de áudio de banda alta, os meios para determinar o número de subquadros, e os meios para determinar o parâmetro de quadro de ganho são integrados a uma estação de base.
15. Memória legível por computador, caracterizada pelo fato de que possui instruções armazenadas na mesma que, quando executadas, fazem com que um computador realize o método para gerar um parâmetro de quadro de ganho para produzir um fluxo de bits do tipo definido em qualquer uma das reivindicações 1 a 12.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562143156P | 2015-04-05 | 2015-04-05 | |
US62/143,156 | 2015-04-05 | ||
US15/083,633 | 2016-03-29 | ||
US15/083,633 US10020002B2 (en) | 2015-04-05 | 2016-03-29 | Gain parameter estimation based on energy saturation and signal scaling |
PCT/US2016/025041 WO2016164230A1 (en) | 2015-04-05 | 2016-03-30 | Gain parameter estimation based on energy saturation and signal scaling |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112017021355A2 BR112017021355A2 (pt) | 2018-06-26 |
BR112017021355B1 true BR112017021355B1 (pt) | 2023-07-11 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2842175T3 (es) | Control de señal objetivo de banda alta | |
ES2955855T3 (es) | Generación de señal de banda alta | |
CA2952214C (en) | Temporal gain adjustment based on high-band signal characteristic | |
US9837094B2 (en) | Signal re-use during bandwidth transition period | |
BR112015019040B1 (pt) | Sistemas e métodos de realizar filtragem para determinação de ganho | |
US20150170662A1 (en) | High-band signal modeling | |
US10083708B2 (en) | Estimation of mixing factors to generate high-band excitation signal | |
JP2016189012A (ja) | ハーモニックオーディオ信号の帯域幅拡張 | |
AU2013377884A1 (en) | Systems and methods of performing gain control | |
DK3058570T3 (en) | PROCEDURE, DEVICE, DEVICE, COMPUTER READABLE MEDIUM FOR BANDWIDTH EXTENSION OF AN AUDIO SIGNAL USING SCALED HIGH-BAND EXCITATION | |
ES2688037T3 (es) | Aparato y procedimientos de conmutación de tecnologías de codificación en un dispositivo | |
AU2016245003B2 (en) | Gain parameter estimation based on energy saturation and signal scaling | |
BR112017021355B1 (pt) | Método e aparelho para gerar um parâmetro de quadro de ganho para produzir um fluxo de bits e memória legível por computador | |
BR112016030381B1 (pt) | Método e aparelho para codificar um sinal de áudio e memória legível por computador |