BR112017015461B1 - Método de funcionamento de um aparelho; memória legível por computador e equipamento para realizar uma operação - Google Patents

Método de funcionamento de um aparelho; memória legível por computador e equipamento para realizar uma operação Download PDF

Info

Publication number
BR112017015461B1
BR112017015461B1 BR112017015461-7A BR112017015461A BR112017015461B1 BR 112017015461 B1 BR112017015461 B1 BR 112017015461B1 BR 112017015461 A BR112017015461 A BR 112017015461A BR 112017015461 B1 BR112017015461 B1 BR 112017015461B1
Authority
BR
Brazil
Prior art keywords
samples
window
audio frame
band
target
Prior art date
Application number
BR112017015461-7A
Other languages
English (en)
Other versions
BR112017015461A2 (pt
Inventor
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Venkatraman S. Atti
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/939,436 external-priority patent/US9595269B2/en
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112017015461A2 publication Critical patent/BR112017015461A2/pt
Publication of BR112017015461B1 publication Critical patent/BR112017015461B1/pt

Links

Abstract

SINALIZAÇÃO PARA CONJUNTO DE CIRCUITOS DE CONFORMAÇÃO DE GANHO. O método de funcionamento de um aparelho inclui receber um primeiro conjunto de amostras e um segundo conjunto de amostras. O primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio e o segundo conjunto de amostras corresponde a um segundo quadro de áudio. O método inclui também gerar um conjunto-alvo de amostras com base no primeiro conjunto de amostras e um primeiro subconjunto do segundo conjunto de amostras e gerar um conjunto de referência de amostras com base, pelo menos em parte, em um segundo subconjunto do segundo conjunto de amostras. O método inclui também escalonar o conjunto-alvo de amostras de modo a se gerar um conjuntoalvo de amostras escalonado e gerar um terceiro conjunto de amostras com base no conjunto-alvo escalonado de amostras e em uma ou mais amostras do segundo conjunto de amostras.

Description

I. Referência Cruzada a Pedidos Correlatos
[0001] Este pedido reivindica o benefício do pedido de patente norte-americano No. 14/939 436, depositado a 12 de novembro de 2015 e do pedido de patente provisório No. 62/105 071, depositado a 19 de janeiro de 2015, ambos intitulados “ESCALONAMENTO PARA CONJUNTO DE CIRCUITOS DE CONFORMAÇÃO DE GANHO”, cuja descrição é aqui incorporada em sua totalidade à guisa de referência.
II. Campo
[0002] Esta descrição está relacionada de maneira geral com processamento de sinais, tal como o processamento de sinais executado em conexão com comunicações de áudio sem fio e armazenamento de áudio.
III. Fundamentos da invenção
[0003] Os avanços em tecnologia têm resultado em aparelhos de computação menores e mais potentes. Por exemplo, existem atualmente diversos aparelhos de computação pessoais portáteis, inclusive aparelhos de computação sem fio, tais como telefones sem fio portáteis, assistentes digitais pessoais (PDAs) e aparelhos de paging que são pequenos, leves e facilmente portados pelos usuários. Mais especificamente, telefones sem fio portáteis, tais como telefones celulares e telefones de protocolo Internet (IP), podem comunicar pacotes de voz e dados através de rede sem fio. Além disto, muitos de tais telefones sem fio incluem outros tipos de aparelho e são incorporados a eles. Por exemplo, um telefone sem fio pode incluir também uma câmera parada digital, uma câmara de vídeo digital, um gravador digital e um executor de pacotes de áudio.
[0004] Um telefone sem fio (ou outro aparelho eletrônico) pode gravar e reproduzir fala e outros sons, tais como música. Para suportar uma conversa telefônica, por exemplo, um aparelho transmissor pode executar operações para transmitir uma representação de um sinal de áudio, tal como uma fala gravada (como, por exemplo, pela gravação da fala, pela digitalização da fala, pela codificação da fala, etc.) para um aparelho receptor por meio de uma rede de comunicações.
[0005] Ainda para exemplificar, algumas técnicas de codificação incluem codificação e transmissão da parte de frequência mais baixa de um sinal (50 Hz a 7 kHz, também chamada “banda baixa”, por exemplo). Por exemplo, a banda baixa pode ser representada utilizando-se parâmetros de filtro e/ou um sinal de excitação de banda baixa. De modo a se aperfeiçoar a eficácia de codificação, a parte de frequência mais elevada do sinal (7 kHz a 16 kHz, também chamada de “banda alta”, por exemplo) pode não ser completamente codificada e transmitida. Em vez disto, o receptor o receptor pode utilizar modelação de sinal e/ou dados à banda alta (“informações colaterais”) para predizer a banda alta.
[0006] Em algumas circunstâncias, uma “falta de correspondência” de níveis de energia pode ocorrer entre quadros da banda alta. Entretanto, algumas operações de processamento associadas à codificação de quadros executadas por um aparelho transmissor e sínteses dos quadros em um aparelho receptor podem fazer com que a energia de um quadro se superponha à (ou “escape” para dentro) de outro quadro. Consequentemente, determinadas operações de decodificação executadas por um aparelho receptor para gerar (ou predizer) a banda alta podem provocar artefatos em um sinal de áudio reproduzido, do que resulta qualidade de áudio precária.
IV. Sumário
[0007] Um aparelho (tal como um aparelho móvel que se comunica dentro de uma rede de comunicações sem fio) pode compensar a superposição inter-quadro (“vazamento” de energia, por exemplo) entre um primeiro conjunto de amostras associado a um primeiro quadro de áudio e um segundo conjunto de amostras associado a um segundo quadro de áudio pela geração de um conjunto-alvo de amostras que corresponde à superposição inter-quadro. O aparelho pode também gerar um conjunto de referência de amostras associado ao segundo quadro de áudio. O aparelho pode escalonar o conjunto-alvo de amostras com base no conjunto de referência de amostras, seja reduzindo a diferença de energia entre o conjunto-alvo de amostras e o conjunto de referência de amostras.
[0008] Em uma implementação exemplificativa, o aparelho se comunica em uma rede sem fio com base em um protocolo de serviços de voz aperfeiçoados (EVS) do Projeto de Parcerias de Terceira Geração (3GPP) que utiliza um conjunto de circuitos de conformação de ganho para conformar em ganho um sinal de banda alta sintetizado. O aparelho pode escalonar o conjunto-alvo de amostras e “substituir” o conjunto-alvo de amostras pelo conjunto-alvo de amostras escalonado antes de introduzir o sinal de banda alta sintetizado no conjunto de circuitos de conformação de ganho, o que pode reduzir ou eliminar determinados artefatos associados à superposição inter-quadros. Por exemplo, o escalonamento do conjunto-alvo de amostras pode reduzir ou eliminar os artefatos provocados por uma falta de correspondência de transceptor/receptor de um valor de semente (referido como “bwe_seed”) associado ao protocolo EVS 3GPP.
[0009] Em um exemplo específico, um método de funcionamento de um aparelho inclui receber um primeiro conjunto de amostras e um segundo conjunto de amostras. O primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio e o segundo conjunto de amostras corresponde a um segundo quadro de áudio. O método inclui também gerar um conjunto-alvo de amostras com base no primeiro conjunto de amostras e um primeiro subconjunto do segundo conjunto de amostras e gerar um conjunto de referência de amostras com base, pelo menos em parte, em um segundo subconjunto do segundo conjunto de amostras. O método inclui escalonar o conjunto-alvo de amostras de modo a se gerar um conjunto-alvo de amostras escalonado e gerar um terceiro conjunto-alvo de amostras com base no conjunto- alvo escalonado ou em uma ou mais amostras do segundo conjunto de amostras.
[0010] Em outro exemplo específico, um equipamento inclui uma memória configurada para receber um primeiro conjunto de amostras e um segundo conjunto de amostras. O primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio e o segundo conjunto de amostras corresponde a um segundo quadro de áudio. O equipamento inclui também um formador de janela configurado para gerar um conjunto-alvo de amostras com base no primeiro conjunto de amostras e um primeiro subconjunto do segundo conjunto de amostras. O formador de janela é configurado para gerar um conjunto de referência de amostras com base, pelo menos em parte, em um segundo subconjunto do segundo conjunto de amostras. O equipamento inclui também um escalonador configurado para escalonar o conjunto-alvo de amostras de modo a gerar um conjunto-alvo de amostras escalonado e um combinador configurado para gerar um terceiro conjunto de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras.
[0011] Em outro exemplo específico, um meio passível de leitura por computador armazena instruções executáveis por um processador para executar operações. As operações incluem receber um primeiro conjunto de amostras e um segundo conjunto de amostras. Um primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio e o segundo conjunto de amostras corresponde a um segundo quadro de áudio. As operações incluem também gerar um conjunto-alvo de amostras com base no primeiro conjunto de amostras e em um primeiro subconjunto do segundo conjunto de amostras e gerar um conjunto de referência de amostras com base, pelo menos em parte, em um segundo subconjunto do segundo conjunto de amostras. As operações incluem também escalonar o conjunto-alvo de amostras de modo a se gerar um conjunto-alvo de amostras escalonado e gerar um terceiro conjunto de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras.
[0012] Em outro exemplo específico, um equipamento inclui um dispositivo para receber um primeiro conjunto de amostras e um segundo conjunto de amostras. Um primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio e o segundo conjunto de amostras corresponde a um segundo quadro de áudio. O equipamento inclui também um dispositivo para gerar um conjunto-alvo de amostras e um conjunto de referência de amostras. O conjunto-alvo de amostras é baseado no primeiro conjunto de amostras e em um primeiro subconjunto do segundo conjunto de amostras, e o conjunto de referência de amostras é baseado, pelo menos em parte, em um segundo subconjunto do segundo conjunto de amostras. O equipamento inclui também um dispositivo para escalonar o conjunto-alvo de amostras de modo a se gerar um conjunto-alvo de amostras escalonado e um dispositivo para gerar um terceiro conjunto de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras.
[0013] Uma vantagem específica proporcionada por pelo menos uma das modalidades reveladas é a qualidade aperfeiçoada de áudio reproduzida em um aparelho receptor, tal como um aparelho de comunicação sem fio que recebe informações que correspondem ao áudio transmitido em uma rede sem fio em conexão com uma conversa telefônica. Outros aspectos, vantagens e recursos da presente descrição se tornarão evidentes após o exame do pedido inteiro, inclusive das seções seguintes: Descrição Resumida dos Desenhos, Descrição Detalhada e Reivindicações.
V. Descrição Resumida dos Desenhos
[0014] A Figura 1 é um diagrama de blocos de um exemplo ilustrativo de aparelho, tal como um decodificador, dentro de um aparelho de comunicação sem fio, que pode compensar a descontinuidade de energia em uma superposição de inter-quadro.
[0015] A Figura 2 mostra exemplos ilustrativos de quadros de áudio que podem estar associados ao funcionamento de um aparelho, tal como o aparelho da Figura 1.
[0016] A Figura 3 mostra aspectos ilustrativos associados ao funcionamento de um aparelho, tal como o aparelho da Figura 1.
[0017] A Figura 4 é um diagrama de blocos de um exemplo ilustrativos de determinador de fatores de escalonamento, tal como um determinador de fatores de escalonamento que pode ser incluído no aparelho da Figura 1.
[0018] A Figura 5 é um fluxograma que mostra um exemplo de um método de funcionamento de um aparelho, tal como o aparelho da Figura 1.
[0019] A Figura 6 é um diagrama de blocos de um exemplo ilustrativo de um aparelho de eletrônico, tal como um aparelho eletrônico que inclui o aparelho da Figura 1 e que utiliza o aparelho da Figura 1 para decodificar informações recebidas por meio de uma rede comunicações sem fio.
[0020] A Figura 7 é um diagrama de blocos de um exemplo ilustrativo de sistema, tal como um sistema que pode ser integrado dentro do aparelho eletrônico da Figura 6 e que executa operações de codificação para codificar informações a serem transmitidas por meio de uma rede de comunicações sem fio.
VI. Descrição Detalhada
[0021] A Figura 1 mostra determinados aspectos ilustrativos de um aparelho 100. Para exemplificar, o aparelho 100 pode ser integrado dentro de um codificador ou dentro de um decodificador de um aparelho eletrônico, tal como um aparelho de comunicação sem fio que envia e recebe pacotes de dados dentro de uma rede de comunicações sem fio utilizando um transceptor acoplado ao aparelho 100. Em outros casos, o aparelho 100 pode ser integrado dentro de outro aparelho eletrônico, tal como um aparelho cabeado (um modem ou um conversor set-top-box, como exemplos ilustrativos).
[0022] Em algumas implementações, o aparelho 100 funciona em conformidade com o padrão 3GPP, tal como o padrão EVS 3GPP utilizado por aparelhos de comunicação sem fio para comunicação dentro de uma rede de comunicações sem fio. O padrão EVS 3GPP pode especificar determinadas operação de decodificação a serem executadas por um decodificador, e as operações de decodificação podem ser executadas pelo aparelho 100 para decodificação de informações recebidas por meio de uma rede de comunicações sem fio. Embora determinados exemplos da Figura 1 sejam descritos com referência a um decodificador, deve-se observar que os aspectos descritos com referência à Figura 1 (e outros exemplos aqui descritos) podem ser também implementados em um codificador, tal como descrito também com referência à Figura 7. Além disto, em algumas implementações, os aspectos da descrição podem ser implementados em conexão com um ou mais outros protocolos, tal como o protocolo do Grupo de Especialistas em Imagens em Movimento (MPEG) para codificação de dados, decodificação de dados ou ambas.
[0023] O aparelho 100 pode incluir um conjunto de circuitos 112 acoplado a uma memória 120. O conjunto de circuitos 112 pode incluir um ou mais de um gerador de excitação, um sintetizador de predição linear ou uma unidade de pós-processamento, como exemplos ilustrativos. A memória 120 pode incluir um buffer como exemplo ilustrativo.
[0024] O aparelho 100 pode incluir também um formador de janela 128 acoplado ao determinador de fatores de escalonamento 140. O determinador de fatores de escalonamento 140 pode ser acoplado a um escalonador 148. O escalonador pode ser acoplado ao formador de janela 128 e a um combinador 156. O combinador 156 pode ser acoplado a um módulo de processamento de conformação de ganho, tal como o conjunto de circuitos de conformação de ganho 164. O conjunto de circuitos de conformação de ganhos 164 pode incluir um ajustador de conformação de ganho (em conexão com uma implementação de decodificador do aparelho 100, por exemplo) ou um gerador de parâmetros de conformação de ganho que gera informações de conformação de ganho (em conexão com um codificador que tem um ou mais recursos que correspondem ao aparelho 100, por exemplo).
[0025] Em funcionamento, o conjunto de circuitos 112 pode responder a um sinal de excitação de banda baixa 104. O conjunto de circuitos 112 pode ser configurado para gerar sinais de banda alta sintetizados, tal como um sinal de banda alta sintetizado 116, com base em um sinal de excitação de banda alta gerado utilizando-se o sinal de excitação de banda baixa 104 e um ruído modulado por invólucro de banda alta utilizando-se o ruído pseudo- aleatório 108. O sinal de banda alta sintetizado 116 pode corresponder a conjuntos de amostras de quadros de áudio (pacotes de dados recebidos por um aparelho de comunicação sem fio que utiliza uma rede de comunicações sem fio, por exemplo) que estão associados a um sinal de áudio (um sinal que representa fala, por exemplo). Por exemplo, o conjunto de circuitos 112 pode ser configurado para gerar um primeiro conjunto de amostras 124 e um segundo conjunto de amostras 126.
[0026] O primeiro conjunto de amostras 124 e o segundo conjunto de amostras 126 podem corresponder a sinais de banda alta sintetizados que são gerados com base no sinal de excitação de banda baixa 104 utilizando-se um gerador de excitação do conjunto de circuitos 112, um sintetizador de predição linear do conjunto de circuitos 112 e uma unidade de pós-processamento do conjunto de circuitos 112. Em outra implementação, o primeiro conjunto de amostras 124 e o segundo conjunto de amostras 126 correspondem a um sinal de excitação de banda alta que é gerado com base em um sinal de excitação de banda baixa (o sinal de excitação de banda baixa 124, por exemplo) utilizando-se um gerador de excitação do conjunto de circuitos 112. O conjunto de circuitos 112 pode ser configurado para enviar o primeiro conjunto de amostras 124 e o segundo conjunto de amostras 126 à memória 120. A memória 120 pode ser configurada para receber o primeiro conjunto de amostras 124 e o segundo conjunto de amostras 126. O primeiro conjunto de amostras 124 pode estar associado a um primeiro quadro de áudio, e o segundo conjunto de amostras 126 pode estar associado a um segundo quadro de áudio. O primeiro quadro de áudio pode estar associado a (processado pelo aparelho 100 durante, por exemplo) um primeiro intervalo de tempo, e o segundo conjunto de amostras 126 pode estar associado a (processado pelo aparelho 100 durante, por exemplo) um segundo intervalo de tempo que ocorre depois do primeiro intervalo de tempo. O primeiro quadro de áudio pode ser referido como “quadro de áudio anterior”, e o segundo quadro de áudio pode ser referido como “quadro de áudio atual”. Entretanto deve ficar entendido que “anterior” e “atual” são rótulos utilizados para distinguir entre quadros sequenciais em um sinal de áudio e não indicam necessariamente limitações de síntese em tempo real. Em alguns casos, se o segundo conjunto de amostras corresponder a um quadro de áudio inicial (ou primeiro) de um sinal a ser processado pelo aparelho 100, o primeiro conjunto de amostras 124 pode incluir valores de zero (a memória 120 pode ser inicializada pelo aparelho 100 utilizando-se uma técnica de enchimento zero antes de processar o sinal, por exemplo).
[0027] Em conexão com determinados protocolos, uma fronteira entre quadros de áudio pode provocar “vazamento” de energia de um quadro de áudio anterior para um quadro de áudio atual. Como exemplo não limitador, um protocolo pode especificar que uma entrada de um aparelho de conformação de ganho (tal como o circuito de conformação de ganho 164) seja gerada pela concatenação de um primeiro número de amostras de um quadro de áudio anterior (as últimas 20 amostras, como exemplo ilustrativo, por exemplo) com um segundo número de amostras de um quadro de áudio atual (320 amostras, como exemplo ilustrativo, por exemplo). Como exemplo, o primeiro número de amostras corresponde ao primeiro conjunto de amostras 124. Como outro exemplo, um número específico de amostras do quadro de áudio atual (as primeira 10 amostras, como exemplo ilustrativo, por exemplo) pode ser afetado pelo quadro de áudio anterior (devido ao funcionamento do conjunto de circuitos 112, tal como uma memória de filtro utilizada em operações de síntese de codificação preditivas lineares ou operações de pós-processamento, por exemplo). Tal “vazamento” (ou superposição inter-quadro) pode resultar em diferenças de amplitude (ou “saltos”) em uma forma de onda de áudio no domínio do tempo que é gerada com base nos conjuntos de amostras 124, 126. Nestes exemplos ilustrativos não limitadores, a memória 120 pode ser configurada para armazenar as últimas 20 amostras do quadro de áudio anterior (tal como o primeiro conjunto de amostras 124) concatenadas com 320 amostras do quadro de áudio atual (tal como o segundo conjunto de amostras 126).
[0028] O formador de janela 128 pode ser configurado para acessar amostras armazenadas na memória 120 e para gerar um conjunto-alvo de amostras 132 e um conjunto de referência de amostras 136. Para exemplificar, o formador de janela 128 pode ser configurado para gerar o conjunto-alvo de amostras 132 utilizando uma primeira janela e para gerar o conjunto de referência de amostras 136 utilizando uma segunda janela. Em um exemplo ilustrativo, o formador de janela 128 é configurado para selecionar o primeiro conjunto de amostras 124 e um primeiro subconjunto do segundo conjunto de amostras 126 de modo a gerar o conjunto-alvo de amostras 132 e para selecionar um segundo subconjunto do segundo conjunto de amostras 126 de modo a gerar o conjunto de referência de amostras 136. Neste exemplo, o formador de janela 128 pode incluir um seletor (um multiplexador, por exemplo) configurado para acessar a memória 120. Neste caso, a primeira janela e a segunda janela não se superpõe (e o conjunto-alvo de amostras 132 e o conjunto de referência de amostras 136 não “compartilham” uma ou mais amostras). Por não “compartilhar” uma ou mais amostras, a implementação do aparelho 100 pode ser simplificada em alguns casos. Por exemplo, o formador de janela 128 pode incluir uma lógica de seleção configurada para selecionar o conjunto-alvo de amostras 132 e o conjunto de referência de amostras 136, Neste exemplo, as operações de “formação de janela” executadas pela formação de janela 128 podem incluir selecionar o conjunto-alvo de amostras 132 e o conjunto de referência de amostras 136.
[0029] Em outra implementação ilustrativa, o conjunto-alvo de amostras 132 e o conjunto de referência de amostras 136 incluem, cada um, amostras “ponderadas” do primeiro subconjunto do segundo conjunto de amostras 126 (amostras que são ponderadas com base na proximidade de uma fronteira entre quadros que separa o primeiro conjunto de amostras 124 e o segundo conjunto de amostras 126, por exemplo). Neste exemplo ilustrativo, o formação de janela 128 é configurado para gerar um conjunto-alvo de amostras 132 e o conjunto-alvo de amostras 136 com base no primeiro conjunto de amostras 124, no primeiro subconjunto do segundo conjunto de amostras 126 e no segundo subconjunto do segundo conjunto de amostras 126. Além disto, neste exemplo, a primeira janela e a segunda janela se superpõe e o conjunto-alvo de amostras 132 e o conjunto de referência de amostras 136 “compartilham” uma ou mais amostras. Uma amostra “compartilhada” pode ser “ponderada” com base na proximidade da amostra com relação a uma fronteira entre quadros de áudio (que pode aperfeiçoar a precisão de determinadas operações executadas pelo aparelho 100 em alguns casos). Determinados aspectos ilustrativos que podem estar associados ao formação de janela 128 são descritos também com relação às Figuras 2 e 3. A ponderação que utiliza a primeira janela e a segunda janela pode ser efetuada pelo determinador de fatores de escalonamento 140, tal como também descrito com relação às Figuras 4 e 5.
[0030] O determinador de fatores de escalonamento 140 pode ser configurado para receber o conjunto-alvo de amostras 136 e o conjunto de referência de amostras 132 do formação de janela 128. O determinador de fatores de escalonamento 140 pode ser configurado para determinar um fator de escalonamento 144 com base no conjunto-alvo de amostras 132 e no conjunto de referência de amostras 136. Em um exemplo ilustrativo específico, o determinador de fatores de escalonamento 140 é configurado para determinar um primeiro parâmetro de energia associado ao conjunto-alvo de amostras 132, para determinar um segundo parâmetro de energia associado ao conjunto de referência de amostras 136, para determinar a razão do segundo parâmetro de energia e o primeiro parâmetro de energia e para executar uma operação de raiz quadrada na razão de modo a gerar o fator de escalonamento 144. Determinados recursos ilustrativos do determinador de fatores de escalonamento 140 são descritos também com referência às Figuras 4 e 5.
[0031] O escalonador 148 pode ser configurado para receber o conjunto-alvo de amostras 132 e o fator de escalonamento 144. O escalonador 148 pode ser configurado para escalonar o conjunto-alvo de amostras 132 com base no fator de escalonamento 144 e para gerar um conjunto-alvo de amostras escalonado 152.
[0032] O combinador 156 pode ser configurado para receber o conjunto-alvo de amostras escalonado 152 e para gerar um terceiro conjunto-alvo de amostras 160 com base no conjunto-alvo de amostras escalonado 152 e também com base em uma ou mais amostras 130 do segundo conjunto de amostras 126 (também aqui referidas como amostras “restantes” do segundo conjunto de amostras 126). A amostra ou amostras 130 podem incluir amostras “não escalonadas” do segundo conjunto de amostras 126 que não são enviadas ao escalonador 148 e que não são escalonadas pelo escalonador 148.
[0033] No exemplo da Figura 1, o formação de janela 128 pode ser configurado para enviar a amostra ou amostras 130 ao combinador 156. Alternativamente, ou além disto, o combinador 156 pode ser configurado para receber a amostra ou amostras 130 utilizando outra técnica, como, por exemplo, acessando a memória 120 utilizando uma conexão entre a memória 120 e o combinador 156. Uma vez que as operações de escalonamento pelo aparelho 100 podem ser baseadas na razão de energia dos conjuntos de amostras 124, 126, uma descontinuidade nos níveis de energia entre quadros de áudio que correspondem aos conjuntos de amostras 124, 126 pode ser “suavizada”. A “suavização” da descontinuidade de energia pode aperfeiçoar a qualidade do sinal de áudio gerado com base nos conjuntos de amostras 124, 126 (pela redução ou eliminação de artefatos no sinal de áudio que resultam da descontinuidade de energia, por exemplo).
[0034] O conjunto de circuitos de conformação de ganho 164 é configurado para receber o terceiro conjunto de amostras 160. Por exemplo, o conjunto de circuitos de conformação de ganho 164 pode ser configurado para estimar conformações de ganho com base no terceiro conjunto de amostras 160 (em conexão com um processo de codificação executado por um codificador que inclui o aparelho 100, por exemplo). Alternativamente, ou além disto, o conjunto de circuitos de conformação de ganho pode ser configurado para gerar um sinal de banda alta sintetizado ajustado por conformação de ganho 168 com base no terceiro conjunto de amostras 160 (pela aplicação de conformações de ganho em conexão ou com um processo de decodificação executado em um decodificador ou com um processo de codificação executado em um codificador que inclui o aparelho 100, por exemplo). Por exemplo, o conjunto de circuitos de conformação de ganho 164 é configurado para conformar por ganho o terceiro conjunto de amostras 160 (de acordo com um protocolo EVS 3GPP, por exemplo) de modo a gerar o sinal de banda alta sintetizado ajustado por conformação de ganho 168. Como exemplo ilustrativo, o conjunto de circuitos de conformação de ganho 164 pode ser configurado para conformar por ganho o terceiro conjunto de amostras 160 utilizando uma ou mais operações especificadas pelo número de especificação técnica 3GPP 26.445, Seção 6.1.5.1.12, versão 12.4.0. Alternativamente, ou além disto, o conjunto de circuitos de conformação de ganho 164 pode ser configurado para efetuar conformação de ganho utilizando uma ou mais outras operações. Uma vez que o conjunto-alvo de amostras 132 inclui uma ou mais amostras tanto do primeiro conjunto de amostras 124 quanto do segundo conjunto de amostras 126 que sofrem impacto direto do nível de energia do primeiro conjunto de amostras 124, o escalonamento efetuado pelo aparelho 100 da Figura 1 com base na razão de energia podem compensar os artefatos devidos aos efeitos de descontinuidade de energia associados à superposição inter- quadro (ou “vazamento”) entre o primeiro conjunto de amostras 124 e o segundo conjunto de amostras 126. A compensação das descontinuidades de energia na superposição inter-quadro pode reduzir as descontinuidades (ou saltos) no sinal de banda alta sintetizado ajustado por conformação de ganho 168, aperfeiçoando a qualidade do sinal de áudio que é gerado com base nos conjuntos de amostras 124, 126 em um aparelho eletrônico que inclui o aparelho 100.
[0035] A Figura 2 mostra exemplos ilustrativos de quadros de áudio 200 associados ao funcionamento de um aparelho, tal como o aparelho 100 da Figura 1. Os quadros de áudio 200 podem incluir um primeiro quadro de áudio 204 (o primeiro quadro de áudio descrito com referência à Figura 1, que pode corresponder a um quadro de áudio anterior, por exemplo) e um segundo quadro de áudio 212 (o segundo quadro de áudio descrito com referência à Figura 1, que pode corresponder a um quadro de áudio atual, por exemplo). O exemplo ilustrativo da Figura 2 mostra que o primeiro quadro de áudio 204 e o segundo quadro de áudio 212 podem ser separados por uma fronteira entre quadros, tal como a fronteira 208.
[0036] O primeiro quadro de áudio 204 pode preceder o segundo quadro de áudio 212. Por exemplo, o primeiro quadro de áudio 204 pode preceder sequencialmente imediatamente o segundo quadro de áudio 212 em uma ordem de processamento do primeiro quadro de áudio 204 e do segundo quadro de áudio (uma ordem na qual o primeiro quadro de áudio e o segundo quadro de áudio 212 são acessados da memória 120 da Figura 1, como exemplo ilustrativo).
[0037] O primeiro quadro de áudio 204 pode incluir uma primeira parte, tal como um primeiro conjunto de amostras 220 (o primeiro conjunto de amostras 124 da Figura 1, por exemplo). O segundo quadro de áudio 212 pode incluir uma segunda parte, tal como um segundo conjunto de amostras 224 (o segundo conjunto de amostras 126 da Figura 1, por exemplo).
[0038] O segundo conjunto de amostras 224 pode incluir um primeiro subconjunto 232 (o primeiro subconjunto descrito com referência à Figura 1, por exemplo) e um segundo subconjunto 236 (o segundo subconjunto descrito com referência à Figura 1, por exemplo). Como exemplo ilustrativo, não limitador, onde uma codificação de predição linear de décima ordem é utilizada, o primeiro subconjunto 232 pode incluir as primeiras 10 amostras do segundo quadro de áudio 212, e o segundo subconjunto 236 pode incluir as 20 amostras seguintes do segundo quadro de áudio 212. Em um exemplo ilustrativo não limitador, o primeiro subconjunto 232 pode incluir as primeiras 10 amostras do segundo quadro de áudio 212 e o segundo subconjunto 236 pode incluir as 30 amostras seguintes do segundo quadro de áudio 212. Em outras implementações, o primeiro subconjunto 232 e/ou o segundo subconjunto 236 podem incluir amostras diferentes do segundo quadro de áudio 212.
[0039] A Figura 2 mostra também um exemplo de conjunto-alvo de amostras 216 (o conjunto-alvo de amostras 132 da Figura 1, por exemplo) e uma ou mais amostras 240 (a amostra ou amostras 130 da Figura 1, por exemplo). A amostra ou amostras 240 podem incluir uma ou mais amostras do segundo conjunto de amostras 224 que não são incluídas no primeiro subconjunto 232 (também aqui referidas como amostra ou amostras “restantes” do segundo conjunto de amostras 224). No exemplo da Figura 2 o conjunto-alvo de amostras 216 inclui o primeiro conjunto de amostras 220 e o primeiro subconjunto 232. Como exemplo ilustrativo não limitador, o conjunto-alvo de amostras 216 pode incluir as últimas 20 amostras do primeiro quadro de áudio 204 e as primeiras 10 amostras do segundo quadro de áudio. Em outras implementações, o conjunto-alvo de amostras 220 pode incluir amostras diferentes do primeiro quadro de áudio 204 e/ou do segundo quadro de áudio 212. A Figura 2 mostra também um exemplo de conjunto de referência de amostras 228 (o conjunto de referência de amostras 136 da Figura 1, por exemplo). No exemplo da Figura 2, o conjunto de referência de amostras 228 inclui o primeiro subconjunto 232 e o segundo subconjunto 236. Neste caso, o conjunto-alvo de amostras 216 e o conjunto de referência de amostras 228 podem “compartilhar” o primeiro subconjunto 232. Em outros exemplos, o conjunto-alvo de amostras 216 pode incluir amostras diferentes das mostradas na Figura 2. Em outra implementação, por exemplo, o conjunto de referência de amostras 228 inclui o segundo subconjunto 236 e não inclui o primeiro subconjunto 232 (indicado na Figura 2 como uma linha parcialmente quebrada que representa o conjunto de referência de amostras 228). Neste exemplo, o conjunto-alvo de amostras 216 e o conjunto de referência de amostras 228 não “compartilham” uma ou mais amostras. Em algumas implementações, o número de amostras no conjunto-alvo de amostras 216 é igual ao número de amostras no conjunto de referência de amostras 228.
[0040] Em algumas implementações, o conjunto de amostras armazenado na memória 120 pode incluir amostras de um conjunto anterior de amostras. Uma parte do primeiro quadro de áudio 204 (o primeiro conjunto de amostras 220, por exemplo) pode ser concatenada com o segundo conjunto de amostras 224. Alternativamente, ou além disto, em alguns casos, as operações de codificação preditiva linear ou de pós-processamento executadas pelo conjunto de circuitos 112 podem fazer com que valores de amostra do primeiro subconjunto 232 dependam dos valores de amostra do primeiro quadro de áudio 242 (ou de uma parte dele). Assim, o conjunto-alvo de amostras 216 pode corresponder a uma “superposição” inter-quadro entre o primeiro quadro de áudio 204 e o segundo quadro de áudio 212. A superposição inter-quadro pode ser baseada no número total de amostras em um dos dois lados da fronteira 208 que sofrem impacto direto do primeiro quadro de áudio 204 e que são utilizadas durante o processamento do segundo quadro de áudio 212.
[0041] Com referência novamente à Figura 1, o formação de janela 128 pode ser configurado para gerar o conjunto-alvo de amostras 132 e/ou o conjunto-alvo de amostras 216, com base no número de amostras associadas ao comprimento da superposição inter-quadro entre o primeiro quadro de áudio 204 e o segundo quadro de áudio 212. Para exemplificar, o comprimento pode ser de 30 amostras ou outro número de amostras. Em determinados casos, o comprimento pode alterar-se dinamicamente durante o funcionamento do aparelho 100 (com base em uma alteração de comprimento de quadro, em uma alteração na ordem de codificação preditiva linear e/ou em outra alteração de parâmetro, por exemplo). O formação de janela 128 pode responder a ou ser integrado dentro de outro aparelho (um processador, por exemplo) que identifica o comprimento (o comprimento estimado) da superposição inter-quadro (com base em um protocolo, tal como um protocolo EVS 3GPP, por exemplo) e que fornece uma indicação do comprimento ao formação de janela 128. O formação de janela 128 pode ser configurado para armazenar uma indicação do comprimento e/ou posição da superposição inter-quadro, como, por exemplo, em uma memória e/ou em conexão com a execução de instruções pelo processador.
[0042] Pelo escalonamento do conjunto-alvo de amostras 216 baseado no comprimento da superposição inter-quadro, um aparelho pode compensar a superposição inter- quadro associada à fronteira 208. Por exemplo, a diferença de energia que o primeiro quadro de áudio 204 e o Segundo quadro de áudio 212 pode ser “suavizada”, o que pode reduzir ou eliminar o “salto” de amplitude em um sinal de áudio em uma posição que corresponde à fronteira 208. Um exemplo de sinal “suavizado” é descrito também com referência à Figura 3. A Figura 3 mostra exemplos ilustrativos de um gráfico 310, um gráfico 320 e um gráfico 330. Os gráficos 310, 320 e 330 podem estar associados ao funcionamento de um aparelho, tal como o aparelho 100 da Figura 1. Em cada um dos gráficos 310, 320 e 330 a abscissa indica o número de amostras “n” onde “n” é um número inteiro maior do que ou igual a zero. Em cada um dos gráficos 310 e 320, a ordenada indica um valor de janela. No gráfico 330, a ordenada indica um valor de fator de escalonamento.
[0043] O gráfico 310 mostra um primeiro exemplo de uma primeira janela w1(n) e uma segundo janela w2(n). Novamente com referência às Figuras 1 e 2, a formação de janela 128 pode ser configurado para gerar o conjunto-alvo de amostras 132 com base na primeira janela w1(n)(pela seleção do primeiro conjunto de amostras 220 e do primeiro subconjunto 232 utilizando-se a primeira janela w1(n), por exemplo). O formação de janela 128 pode ser configurado para um conjunto de referência de amostras 136 com base na segunda janela w2(n)(pela seleção do segundo subconjunto 236 utilizando-se a segunda janela w2(n), por exemplo). Deve-se observar que, neste exemplo ilustrativo, as janelas w1(n) e w2(n) têm um valor de 1,0. Estas janelas mostram um case em que a formação de janela não modifica um sinal (onde o conjunto-alvo de amostras e um conjunto de referência de amostras são selecionados pelo formador de janela 128 e pelo determinador de fatores de escalonamento 140 da Figura 1 sem o escalonamento pelo formador de janela 128 e/ou pelo determinador de fatores de escalonamento 140, por exemplo). Neste caso, um conjunto-alvo “transformado em janela” incluiria os mesmos valores do conjunto-alvo de amostras 132 ou do conjunto-alvo de amostras 216, e o conjunto de referência de amostras “transformado em janela” incluiria os mesmos valores do conjunto de referência de amostras 136 ou do conjunto de referência de amostras 228.
[0044] O gráfico 320 mostra um segundo exemplo da primeira janela w1(n) e da segunda janela w2(n). O formador de janela 128 pode ser configurado para gerar o conjunto-alvo de amostras 132 com base na primeira janela w1(n) (pela seleção do primeiro conjunto de amostras 220 e do primeiro subconjunto 232 de modo a se gerar o conjunto- alvo de amostras 132 e pela ponderação do primeiro conjunto de amostras 220 e do primeiro subconjunto 232 de acordo com a primeira janela w1(n) de modo a se gerar um conjunto-alvo de mostras ponderado. O formador de janela 128 pode ser configurado para gerar o conjunto de referência de amostras 136 com base na segunda janela w2(n) (pela seleção dos subconjuntos 232, 236 de modo a se gerar um conjunto de referência de amostras e pala ponderação dos subconjuntos 232, 236 de acordo com a segunda janela w2(n) de modo a gerar um conjunto de referência de amostras ponderado, por exemplo).
[0045] O gráfico 330 mostra aspectos de um processo de escalonamento que pode ser executado pelo escalonador 148. No gráfico 330, um valor de um fator de escalonamento (o fator de escalonamento 144, por exemplo) que é aplicado a um conjunto-alvo de amostras (qualquer um dos conjuntos-alvo selecionados por janelas de amostras 132, 216, por exemplo) é alterado gradualmente perto da fronteira 208 (representada no gráfico 330 como suavização de diferença de amplitude 334). A suavização de diferença de amplitude 334 pode permitir uma transição ou “afilamento” de ganho (uma transição de ganho suave, tal como uma transição de ganho linear suave, por exemplo) a partir do escalonamento baseado no fator de escalonamento 144 até um fator de escalonamento de um (ou nenhum escalonamento) o que pode evitar uma descontinuidade (um “salto’, por exemplo) no grau de escalonamento perto da fronteira 208. Neste exemplo, qualquer um dos conjuntos- alvo de amostras 132, 216 pode ser escalonado utilizando-se uma transição de ganho linear de um primeiro valor do fator de escalonamento (“fator de escalonamento” no exemplo do gráfico 330) até um segundo valor do fator de escalonamento (“1” no exemplo do gráfico 330). Deve-se observar o gráfico 330 é apresentado para exemplificação e que outros exemplos estão dentro do alcance da descrição. Por exemplo, embora o gráfico 330 mostre que o primeiro valor do fator de escalonamento pode ser maior que o segundo valor do fator de escalonamento, em outros exemplos ilustrativos, o primeiro valor do fator de escalonamento pode ser menor do que ou igual ao segundo valor do fator de escalonamento. Para exemplificar também, com referência novamente à Figura 1, o determinador de fatores de escalonamento 140 pode ser configurado para escalonar o conjunto-alvo de amostras 132 utilizando uma transição de ganho linear de um primeiro valor do fator de escalonamento 144 para um segundo valor do fator de escalonamento 144.
[0046] Embora o gráfico 330 mostre uma duração e inclinação (20 amostras) e inclinação específicas da suavização de diferença de amplitude 334, deve ficar entendido que a duração e/ou a inclinação da suavização de diferença de amplitude 334 podem variar. Como exemplo, a duração e/ou a inclinação da suavização de diferença de amplitude 334 podem depender do grau de superposição inter- quadro e dos valores específicos dos primeiro e segundo fatores de escalonamento. Além disto, em algumas aplicações, a suavização de diferença de amplitude 334 podem ser não linear (uma suavização exponencial, uma suavização logarítmica ou uma suavização polinominal, tal como uma suavização por interpolação de ranhura, como exemplos ilustrativos).
[0047] Por permitir a suavização de diferença de amplitude 334 utilizando-se um “afilamento” de escalonamento, as diferenças de amplitude entre quadros de áudio associados a um sinal de áudio podem ser “suavizadas”. A suavização da diferenças de amplitude podem aperfeiçoar a qualidade dos sinais de áudio em um aparelho de exibição.
[0048] A Figura 4 é um diagrama de blocos de um exemplo ilustrativo de determinador de fatores de escalonamento. O determinador de fatores de escalonamento 400 podem ser integrados dentro do aparelho 100 da Figura 1. Por exemplo, o determinador de fatores de escalonamento 400 pode corresponder ao determinador de fatores de escalonamento 140 da Figura 1.
[0049] O determinador de fatores de escalonamento 400 pode incluir um determinador de parâmetros de energia 412 acoplado a um conjunto de circuitos de razão 420. O determinador de fatores de escalonamento 400 pode incluir também um conjunto de circuitos de raiz quadrada 432 acoplado ao conjunto de circuitos de razão 420.
[0050] Durante o funcionamento, o determinador de parâmetros de energia 412 pode responder a um conjunto- alvo transformado em janela ou selecionado em janela de amostras 404 (os conjuntos-alvo de amostras transformados em janela 132, 216, por exemplo). O determinador de parâmetros de energia 412 pode responder também a um conjunto de referência transformado em janela ou selecionado por janela de amostras 408 (os conjuntos de referência de amostras 136, 228, por exemplo).
[0051] O determinador de parâmetros de energia 412 pode ser configurado para determinar um primeiro parâmetro de energia 416 associado ao conjunto-alvo transformado em janela ou selecionado em janela de amostras 404. Por exemplo, o determinador de parâmetros de energia 412 pode ser configurado para elevar ao quadrado cada amostra do conjunto-alvo transformado em janela ou selecionado por janela de amostras 404 e para somar os valores elevados ao quadrado de modo a gerar o primeiro parâmetro de energia 416.
[0052] O determinador de parâmetros de energia 412 pode ser configurado para determinar um segundo parâmetro de energia 424 associado ao conjunto de referência transformado em janela ou selecionado em janela de amostras 408. Por exemplo, o determinador de parâmetros de energia 412 pode ser configurado para elevar ao quadrado cada amostra do conjunto de referência transformado em janela ou selecionado por janela de amostras 408 e para somar os valores elevados ao quadrado de modo a gerar o segundo parâmetro de energia 424.
[0053] O conjunto de circuitos de razão 420 pode ser configurado para receber os parâmetros de energia 416, 424. O conjunto de circuitos de razão 420 pode ser configurado para determinar uma razão 428, seja dividindo o segundo parâmetro de energia 424 pelo primeiro parâmetro de energia 416, por exemplo.
[0054] O conjunto de circuitos de raiz quadrada 432 pode ser configurado para receber a razão 428. O conjunto de circuitos de raiz quadrada 432 pode ser configurado para executar uma operação de raiz quadrada na razão 428 de modo a gerar um fator de escalonamento 440. O fator de escalonamento 440 pode corresponder ao fator de escalonamento 144 da Figura 1.
[0055] O exemplo da Figura 4 mostra que um fator de escalonamento pode ser determinado com base em um conjunto-alvo transformado em janela de amostras e em um conjunto de referência transformado em janela de amostras. O fator de escalonamento representa a razão de energia entre amostras no, ou que sofreram impacto direto pelo, quadro de áudio anterior, em comparação com as amostras no quadro de áudio atual. O fator de escalonamento pode ser aplicado a um conjunto-alvo de amostras para compensar a superposição inter-quadro, reduzindo ou eliminando a descontinuidade de energia entre o conjunto-alvo de amostras e o conjunto de referência de amostras.
[0056] A Figura 5 é um fluxograma que mostra um exemplo de método 500 de funcionamento de um aparelho. Por exemplo, o aparelho pode corresponder ao aparelho 100 da Figura 1.
[0057] O método 500 inclui receber um primeiro conjunto de amostras (qualquer um dos primeiros conjuntos de amostras, 124, 220, por exemplo) e um segundo conjunto de amostras (qualquer um dos segundos conjuntos de amostras 126, 224, por exemplo) em 510. O primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio (o primeiro quadro de áudio 204, por exemplo) e o segundo conjunto de amostras corresponde a um segundo quadro de áudio (o segundo quadro de áudio 212, por exemplo).
[0058] O método 500 inclui também gerar um conjunto-alvo de amostras com base no primeiro conjunto de amostras e em um primeiro subconjunto do segundo conjunto de amostras, em 520. Por exemplo, o conjunto-alvo de amostras pode corresponder a qualquer um dos conjuntos-alvo de amostras 132, 216 e 404, e o primeiro subconjunto pode corresponder ao primeiro subconjunto 232. Em algumas implementações, o conjunto-alvo de amostras é gerado com base em uma primeira janela, o conjunto de referência de amostras é gerado com base em uma segunda janela, e a primeira janela se superpõe à segunda janela (conforme mostrado no gráfico 320, por exemplo). Em outras implementações, o conjunto-alvo de amostras é gerado em uma primeira janela, o conjunto de referência de amostras é gerado com base em uma segunda janela, e a primeira janela não se superpõe à segunda janela (conforme mostrado no gráfico 310, por exemplo).
[0059] O método 500 inclui também gerar um conjunto de referência de amostras com base, pelo menos em parte em um segundo subconjunto do segundo conjunto de amostras, em 530. Por exemplo, o conjunto de referência de amostras pode corresponder a qualquer um dos conjuntos de referência de amostras 136, 228 e 408, e o Segundo subconjunto pode corresponder ao segundo subconjunto 236. Em algumas modalidades, o conjunto de referência de amostras inclui o primeiro subconjunto (ou amostras ponderadas que correspondem ao primeiro conjunto) tal como mostrado na Figura 2. Neste caso, o conjunto de referência de amostras pode ser gerado também com base no primeiro subconjunto do segundo conjunto de amostras. Em outras modalidades, o conjunto de referência de amostras não inclui o primeiro subconjunto, como é o caso de uma implementação que corresponde ao gráfico 310.
[0060] O método 500 inclui também escalonar o conjunto-alvo de amostras de modo a se gerar um conjunto- alvo de amostras escalonado em 540. Por exemplo, o conjunto-alvo de amostras escalonado pode corresponder ao conjunto-alvo de amostras escalonado 152. O método 500 inclui também gerar um terceiro conjunto de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras, em 550. Por exemplo, o terceiro conjunto de amostras pode corresponder ao terceiro conjunto de amostras 160, e a amostra ou amostras pode corresponder à amostra ou amostras 130. A amostra ou amostras podem incluir uma ou mais amostras restantes do segundo conjunto de amostras.
[0061] O método 500 inclui também gerar um terceiro conjunto de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras, em 550. Por exemplo, o terceiro conjunto de amostras pode corresponder ao terceiro conjunto de amostras 160, a amostra ou amostras pode corresponder a amostra ou amostras 130. A amostra ou amostras podem incluir uma ou mais amostras restantes do segundo conjunto de amostras.
[0062] O método 500 pode incluir também enviar o terceiro conjunto de amostras ao conjunto de conformação de ganho do aparelho. Por exemplo, o conjunto de circuitos de conformação de ganho pode corresponder ao conjunto de circuitos de conformação de ganho 164. Em algumas implementações o método 500 pode incluir opcionalmente escalonar o terceiro conjunto de amostras pelo conjunto de circuitos de conformação de ganho de modo a se gerar um sinal de banda alta sintetizado ajustado por conformação de ganho (o sinal de banda alta sintetizado ajustado por conformação de ganho 168, por exemplo) tal como em conexão ou com uma implementação de decodificador ou com uma implementação de codificador. Alternativamente, o método 500 pode incluir estimar conformações de ganho pelo conjunto de circuitos de conformação de ganho com base no terceiro conjunto de amostras, tal como em conexão com uma implementação de codificador.
[0063] O primeiro conjunto de amostras e o segundo conjunto de amostras podem corresponder a sinais de banda alta sintetizados que são gerados com base em um sinal de excitação de banda baixa utilizando-se um gerador de excitação, um sintetizador de predição linear e uma unidade de pós-processamento do aparelho (utilizando-se o conjunto de circuitos 112, por exemplo). O primeiro conjunto de amostras e o segundo conjunto de amostras podem corresponder a um sinal de excitação de banda alta que é gerado com base em um sinal de excitação de banda baixa (o sinal de excitação de banda baixa 104, por exemplo) utilizando-se um gerador de excitação do aparelho.
[0064] O método 500 pode incluir opcionalmente armazenar o primeiro conjunto de amostras na memória do aparelho (na memória 120, por exemplo), onde o primeiro subconjunto do segundo conjunto de amostras é selecionado por um seletor acoplado à memória (por um seletor incluído no formação de janela 128, por exemplo). O conjunto-alvo de amostras pode ser selecionado com base no número de amostras associadas ao comprimento estimado de uma superposição inter-quadro entre o primeiro quadro de áudio e o segundo quadro de áudio. A superposição inter-quadro pode ser baseada no número total de amostras de ambos os lados de uma fronteira (a fronteira 208, por exemplo) entre o primeiro quadro de áudio e o segundo quadro de áudio que sofrem impacto direto do primeiro quadro de áudio que são utilizados no segundo quadro de áudio.
[0065] O método 500 pode incluir gerar um conjunto-alvo transformado em janela ou selecionado por janela de amostras, gerar um conjunto de referência transformado em janela ou selecionado por janela de amostras e determinar um fator de escalonamento (o fator de escalonamento 144, por exemplo) com base no conjunto-alvo transformado em janela ou selecionado por janela de amostras e no conjunto de referência transformado em janela ou selecionado por janela de amostras e onde o conjunto- alvo de amostras é escalonado com base no fator de escalonamento. O conjunto-alvo de amostras pode ser escalonado utilizando-se uma transição de ganho suave (baseada na suavização de diferença de amplitude 334, por exemplo) de um primeiro valor do fator de escalonamento até um segundo valor do fator de escalonamento. Em algumas implementações o segundo valor do fator de escalonamento pode assumir um valor de 1,0 e o primeiro valor pode assumir o valor do fator de escalonamento 440 ou 144 estimado. Em algumas implementações, determinar o fator de escalonamento inclui determinar um primeiro parâmetro de energia (o primeiro parâmetro de energia 416, por exemplo) associado ao conjunto-alvo transformado em janela ou selecionado por janela de amostras e determinar um segundo parâmetro de energia (o segundo parâmetro de energia 424, por exemplo) associado ao conjunto referência transformado em janela ou selecionado por janela de amostras. Determinar o fator de escalonamento pode incluir também determinar uma razão (a razão 428, por exemplo) do segundo parâmetro de energia e do primeiro parâmetro de energia e executar uma operação de raiz quadrada na razão de modo a se gerar o fator de escalonamento.
[0066] O método 500 mostra que um conjunto-alvo de amostras pode ser escalonado de modo a se compensar a superposição inter-quadro entre quadros de áudio. Por exemplo, o método 500 pode ser executado para compensar a superposição inter-quadro entre o primeiro quadro de áudio 204 e o segundo quadro de áudio 212 na fronteira 208.
[0067] Para exemplificar também, os Exemplos 1 e 2 mostram um pseudo-código que corresponde a instruções que podem ser executadas por um processador para executar uma ou mais operações aqui descritas (uma ou mais das operações do método 500 da Figura 5, por exemplo). Deve ficar entendido que o pseudo-código dos Exemplos 1 e 2 é apresentado para exemplificação e que os parâmetros podem deferir do Exemplo 1 com base na aplicação específica.
[0068] No Exemplo 1, “i” pode corresponder ao número inteiro “n” descrito com referência à Figura 3, “prev_energy” pode corresponder ao primeiro parâmetro de energia 416, “curr_energy” pode corresponder ao segundo parâmetro de energia 424, “w1” percurso condutor à primeira janela w1(n) descrita com referência ao gráfico 310 ou ao gráfico 320, “w2” pode corresponder à segunda janela w2(n) descrita com referência ao gráfico 310 que mostra janelas não superpostas, “synthesized_high_band” pode corresponder ao sinal de banda alta sintetizado 116, “scale_factor” pode corresponder ao fator de escalonamento 144, “shaped_shb_excitation” pode corresponder ao terceiro conjunto de amostras 160, e “actal_scale” pode corresponder à ordenada do gráfico 330 (isto é, “escalonamento” no gráfico 330). Deve-se observar que, em alguns exemplos ilustrativos alternativos não limitadores, as janelas “w1” e “w2” podem ser definidas como superpostas, conforme mostrado no gráfico 320. Exemplo 1 prev_energy = 0; curr energy = 0; para (i = 0; i < 340; i++) { se(i<30) w1(i) = 1.0; caso contrário w1(n) =0; se(i>30 && 1<60) w2(1) = 1.0; caso contrário w2(n) = 0; } para(i = 0; i < 20 + 10; i++) { prev_energy += (wl[i]*synthesized_high_band[i])*(wl[i]*synthesized_high_ba nd[i]);/*0-29*/ curr energy += (w2[i+30]^synthesized high band[i+30])*(w2[i+30]^synthesize d_high_band[i+30]);/*30-59*/ } scale_factor = sqrt(curr_energy/prev_energy); se ((prev_energy ) ==0) scale_factor = 0; para( i=0; i<20; i++ ) /*0=19*/ { actual_scale = scale_factor; shaped shb excitation[i] = actual scale*synthesized high band[i]; } para( ; i<30 ; i++) /*20-29*/ { temp = (i-19)/10.0f; /*tapering*/ actual_scale = (temp*1.0f + (1.Of-temp)*scale_factor) shaped_shb_excitation[i] = actual_scale*synthesized_high_band[i] ; }
[0069] O Exemplo 2 mostra um pseudo-código alternativo que pode ser executado em conexão com janelas não superpostas. Por exemplo, o gráfico 210 da Figura 3 mostra que a primeira janela w1(n) e a segunda janela w2(n) podem ser não superpostas. Uma ou mais operações de escalonamento descritas com referência ao Exemplo podem ser conforme descritas com referência ao gráfico 330 da Figura 3.
[0070] Exemplo L_SHB_LAHEAD = 20; prev_pow = sum2_f( shaped_shb_excitation, L_SHB_LAHEAD + 10 ) '■ curr_pow = sum2_f( shaped_shb_excitation + L_SHB_LAHEAD + 10, L_SHB_LAHEAD + 10 ); if( voice_factors[0] > 0.75f ) { curr pow *= 0.25; } if ( prev_pow == 0 ) { scale = 0; } else { scale = sqrt( curr_pow/ prev_pow ); } for( i=0; iCL-SHB-LAHEAD; i++ ) { shaped—shb_excitation[i] *= scale; } for( ; i<L_SHB_LAHEAD + 10 ; i++) { temp = (i-19)/10.Of; shaped_shb_excitation[i] *= (temp*1.0f + (l.Of- temp)* scale); }
[0071] No Exemplo 2, a função “sum2_f” pode ser utilizada para calcular a energia de uma entrada de armazenador como o primeiro argumento para a chamada de função, para o comprimento da entrada de sinal como o segundo argumento para a chamada de função. A constante L_SHB_LAHEAD é definida para assumir um valor de 20. Este valor de 20 é um exemplo ilustrativo não limitador. O armazenador voice_factor retém os fatores de voz do quadro calculado uma para cada sub-quadro. Os fatores de voz são um indicador da resistência do componente repetitivo (diapasão) com relação ao resto do sinal de excitação de banda baixa e pode variar de 0 a 1. Um valor de fator de voz mais elevado indica que o sinal é mais vocalizado (o que significa um componente de diapasão mais intenso).
[0072] Os exemplos 1 e 2 mostram que as operações e funções aqui descritas podem ser executadas e implementadas utilizando-se instruções executadas por um processador. A Figura 6 descreve um exemplo de aparelho eletrônico que inclui um processador que pode executar instruções que correspondem ao pseudo-código do Exemplo 1, instruções que correspondem ao pseudo-código do Exemplo 2 ou uma combinação deles.
[0073] A Figura 6 é um diagrama de blocos de um exemplo ilustrativo de aparelho eletrônico 600. Por exemplo, o aparelho eletrônico 600 pode corresponder a ou ser integrado dentro de um aparelho móvel (um telefone celular, por exemplo), um computador (um computador laptop, um computador tablet ou um computador de mesa, por exemplo) um conversor set-top-box, uma unidade de entretenimento, um aparelho de navegação, um assistente digital pessoal (PDA), uma televisão, um sintonizador, um rádio (um rádio- satélite, por exemplo) um tocador de música (um tocador de música digital ou um tocador de música portátil, por exemplo), um aparelho de vídeo (um aparelho de vídeo digital, tal como um tocador de disco de vídeo digital (DVD) e/ou um aparelho de vídeo digital portátil, por exemplo). Um console de sistema automotivo, um aparelho residencial, um aparelho consumível (uma câmera pessoal, um monitor montado na cabeça e/ou um relógio, por exemplo) um robô, um aparelho de cuidados de saída ou outro aparelho eletrônico, como exemplos ilustrativos.
[0074] O aparelho eletrônico 600 inclui um processador 610 (uma unidade central de processamento (CPU) acoplado a uma memória 632. A memória 632 pode ser um meio passível de leitura por computador não transitório que armazena instruções 660 executáveis pelo processador 610. Um meio passível de leitura por computador não transitório pode incluir um aparelho 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 por rotação-torque (STT-MRAM), memória flash, memória exclusiva de leitura (ROM), memória exclusiva de leitura programável (PROM), memória exclusiva de leitura programável apagável (EPROM), memória exclusiva de leitura programável eletricamente apagável (EEPROM), registradores, um disco rígido, um disco removível, ou uma memória exclusiva de leitura de disco compacto (CD-ROM).
[0075] O aparelho eletrônico 600 pode incluir também um codificador/decodificador (CODEC) 634. O CODEC 634 pode ser acoplado ao processador 610. Um alto-falante 636 pode ser acoplado ao CODEC, e um microfone pode ser acoplado ao CODEC 634. O CODEC 634 pode incluir uma memória, tal como uma memória 690. A memória 690 pode armazenar instruções 695, que podem ser executáveis pela unidade de processamento do CODEC 634.
[0076] O aparelho eletrônico 600 pode incluir também um processador de sinais digitais (DSP). O DSP 696 pode ser acoplado ao processador 610 e ao CODEC 634. O DSP 696 pode executar um programa de compensação de superposição inter-quadro 694. Por exemplo, o programa de compensação de superposição inter-quadro 694 pode ser executável pelo DSP 696 de modo a executar uma ou mais operações aqui descritas, tais como uma ou mais operações do método 500 da Figura 5. Alternativamente, ou além disto, o programa de compensação de superposição inter-quadro 694 pode incluir uma ou mais instruções que correspondem ao pseudo-código do Exemplo 1, uma ou mais instruções que correspondem ao pseudo-código do Exemplo 2 ou uma combinação delas. Deve-se observar que uma ou mais operações aqui descritas podem ser executadas em conexão com um processador de codificação, tal como um processo de codificação executado para codificar informações de áudio que são detectadas pelo microfone 638 e que serão transmitidas por meio da antena 642. Alternativamente, ou além disto, uma ou mais operações aqui descritas podem ser executadas em conexão com um processo de decodificação, tal como um processo de decodificação executado para decodificar informações de áudio que são recebidas por meio da antena 642 e que são utilizadas para produzir uma saída de áudio no alto-falante 636.
[0077] A Figura 6 mostra também um controlador de exibição 626 que é acoplado ao processador 610 e a um monitor 628. A Figura 6 também indica que um controlador sem fio 640 pode ser acoplado ao processador 610 e a uma antena 642.
[0078] Em um exemplo específico, o processador 610, o controlador de exibição 626, a memória 632, o CODEC 634, o controlador sem fio 640 e o DSP 696 são incluídos em um aparelho de sistema em pacote ou de sistema embutido 622. Um aparelho de entrada 630, tal como uma tela sensível ao toque ou um teclado e uma fonte de alimentação 644 podem ser acoplado ao aparelho de sistema embutido 622. Além do mais, conforme mostrado na Figura 6, o monitor 628, o aparelho de entrada 630, o alto-falante 636, o microfone 638, a antena 642 e a fonte de alimentação 644 podem ser externos ao aparelho de sistema embutido 622. Entretanto, cada um dos aparelhos 628, aparelho de entrada 630, alto- falante 636, microfone 638, antena 642 e fonte de alimentação 644 pode ser acoplado a um componente do aparelho de sistema embutido 622, tal como a uma interface ou a um controlador.
[0079] Um meio passível de leitura por computador (qualquer uma das memórias 632, 690, por exemplo) armazena instruções (uma ou mais das instruções 660, das instruções 695 e/ou o programa de compensação de superposição inter-quadro 694, por exemplo) executáveis por um processador (um ou mais do processador 610, CODEC 634 ou DSP 696, por exemplo) para executar operações. As operações incluem receber um primeiro conjunto de amostras (qualquer um ou o primeiro conjunto de amostras 124 ou o primeiro conjunto de amostras 220, por exemplo) e um segundo conjunto de amostras (qualquer um do segundo conjunto de amostras 126 ou do segundo conjunto de amostras 224, por exemplo). O primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio (o primeiro quadro de áudio 204, por exemplo) e o segundo conjunto de amostras corresponde a um segundo quadro de áudio (um segundo quadro de áudio 212, por exemplo). As operações incluem também gerar um conjunto-alvo de amostras (qualquer um do conjunto-alvo de amostras 132 ou do conjunto-alvo de amostras 216, por exemplo) com base no primeiro conjunto de amostras e em um primeiro subconjunto (o primeiro subconjunto 232, por exemplo) do segundo conjunto de amostras e gerar um conjunto de referência de amostras (qualquer um do conjunto de referência de amostras 136 ou do conjunto de referência de amostras 228, por exemplo) com base, pelo menos em parte, em um segundo subconjunto (o segundo subconjunto 236, por exemplo) do segundo conjunto de amostras. As operações incluem também escalonar o conjunto-alvo de amostras de modo a se gerar um conjunto- alvo de amostras escalonado (o conjunto-alvo de amostras escalonado 152, por exemplo) e gerar um terceiro conjunto de amostras (o terceiro conjunto de amostras 160, por exemplo) com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras (a amostra ou amostras 130, por exemplo) do segundo conjunto de amostras.
[0080] Um equipamento inclui um dispositivo (a memória 120, por exemplo) para receber um primeiro conjunto de amostras (qualquer um do primeiro conjunto de amostras 124 ou do primeiro conjunto de amostras 120, por exemplo) e um segundo conjunto de amostras (qualquer um do segundo conjunto de amostras 126 ou do segundo conjunto de amostras 224, por exemplo). O primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio (o primeiro quadro de áudio 204, por exemplo) e o segundo conjunto de amostras corresponde a um segundo quadro de áudio (o segundo quadro de áudio 212, por exemplo). O equipamento inclui também um dispositivo (o formador de janela 128, por exemplo) para gerar um conjunto-alvo de amostras (qualquer um do conjunto-alvo de amostras 132 ou do conjunto-alvo de amostras 216, por exemplo) com base no primeiro conjunto de amostras e em um primeiro subconjunto (o primeiro subconjunto 232, por exemplo) do segundo conjunto de amostras e para gerar um conjunto de referência de amostras (qualquer um do conjunto de referência de amostras 136 ou do conjunto de referência de amostras 228, por exemplo), com base, pelo menos em parte, em um segundo subconjunto (o segundo subconjunto 236, por exemplo) do segundo conjunto de amostras. O equipamento inclui também um dispositivo (o escalonador 148, por exemplo) para escalonar o conjunto-alvo de amostras de modo a se gerar um conjunto-alvo de amostras escalonado (o conjunto-alvo de amostras escalonado 152, por exemplo), um dispositivo (ou combinador 156, por exemplo) para gerar um terceiro conjunto de amostras (o terceiro conjunto de amostras 160, por exemplo) com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras (a amostra ou amostras 130, por exemplo) do segundo conjunto de amostras.
[0081] Em alguns exemplos, o equipamento inclui também o dispositivo (o comunicados de conformação de ganho 164, por exemplo) para receber o terceiro conjunto de amostras. O dispositivo para receber o terceiro conjunto de amostras pode ser configurado para gerar um sinal de banda alta sintetizado ajustado por conformação de ganho (o sinal de banda alta sintetizado ajustado por conformação de ganho 168, por exemplo) com base no terceiro conjunto de amostras, tal como em conexão ou com uma implementação de decodificador do aparelho 100 ou com uma implementação de codificador do aparelho 100. Alternativamente, o dispositivo para receber o terceiro conjunto de amostras pode ser configurado para estimar conformações de ganho com base no terceiro conjunto de amostras tal como em conexão com uma implementação de codificador do aparelho 100. O equipamento pode incluir também um dispositivo para enviar o primeiro conjunto de amostras e o segundo conjunto de amostras ao dispositivo para receber o primeiro conjunto de amostras e o segundo conjunto de amostras. Em um exemplo ilustrativo, o dispositivo para enviar inclui um ou mais componentes descritos com referência ao conjunto de circuitos 112, tais como um ou mais de um gerador de excitação, um sintetizador de predição linear ou uma unidade de pós-processamento, como exemplos ilustrativos.
[0082] Determinados dos presentes exemplos são descritos com referência a um decodificador. Alternativamente, ou além disto, um ou mais aspecto descritos com referência à Figura 1-6 podem ser implementados em um codificador, tal como o codificador que se conforma com um protocolo 3GPP (um protocolo EVS 3GPP, por exemplo). Por exemplo, um codificador de um aparelho que transmite um sinal em uma rede sem fio e um decodificador de um aparelho que recebe o sinal por meio da rede sem fio podem “cooperar” para reduzir a superposição inter-quadro executando as operações aqui descritas. Determinados exemplos de operações de codificação que podem ser executadas por um codificador de um aparelho são descritos também com referência à Figura 7.
[0083] Com referência à Figura 7, um exemplo ilustrativo de um sistema é mostrado, e designado como 700. Um uma modalidade específica, o sistema 700 pode ser integrado a um sistema ou equipamento de codificação (em um telefone sem fio, um CODEC ou um DSP). Para exemplificar também, o sistema 700 pode ser integrado dentro do aparelho eletrônico 700, tal como dentro do CODEC 634 ou dentro do DSP 696.
[0084] O sistema 700 inclui um banco de filtros de análise 710 que é configurado para receber um sinal de áudio de entrada 702. Por exemplo, o sinal de áudio de antena 702 pode ser fornecido por um microfone ou outro aparelho de entrada. Em uma modalidade específica, o sinal de áudio de entrada 702 pode representar a fala. O sinal de áudio de entrada 702 pode ser um sinal de super-banda larga (SWB) que inclui dados no fluxo de frequência de aproximadamente 0 Hz a aproximadamente 16 kHz.
[0085] O banco de filtros de análise 710 pode filtrar o sinal de áudio de entrada 702 em várias parte com base na frequência. Por exemplo, o banco de filtros de análise 710 pode gerar um sinal de banda baixa 722 e um sinal de banda alta 724. O sinal de banda baixa 722 e o sinal de banda alta 724 podem ter uma largura de banda igual ou desigual e podem ser superpostos ou não superpostos. Em uma modalidade alternativa, o banco de filtros de análise 710 pode gerar mais de duas saídas.
[0086] No exemplo da Figura 7, o sinal de banda baixa 722 e o sinal de banda alta 724 ocupam borda subsequente de frequência não superpostas. Por exemplo, o sinal de banda baixa 722 e o sinal de banda alta 724 podem ocupar bandas de frequência não superpostas de 0 Hz a 8 kHz e de 8 kHz a 16 kHz respectivamente. Em outro exemplo, o sinal de banda baixa 722 e o sinal de banda alta 724 podem ocupar bandas de frequência não superpostas de 0 Hz a 6,4 kHz e de 6,4 kHz a 12,8 kHz. Em outra modalidade alternativa, o sinal de banda baixa 722 e o sinal de banda alta se superpõe (50 Hz - 8 kHz e 7 kHz - 16 kHz, respectivamente, por exemplo) o que pode permitir que um filtro de baixa passagem e um filtro de alta passagem do banco de filtros de análise 710 tenham uma característica de “rolagem suave” que pode simplificar o desempenho e reduzir o custo do filtro de baixa de passagem e do filtro de alta passagem. A superposição do sinal de banda baixa 722 e do sinal de banda alta 724 pode permitir também a combinação suave de sinais de banda baixa e de banda alta em um receptor, o que pode resultar em menos artefatos audíveis.
[0087] Embora o exemplo da Figura 7 mostre o processamento de um sinal SWB, em algumas implementações, o sinal de áudio de entrada 702 pode ser um sinal de banda larga (WB) que tem uma faixa de frequência de aproximadamente 50 Hz a aproximadamente 8 kHz. Em tal modalidade, o sinal de banda baixa 722 pode, por exemplo, corresponder a uma faixa de frequência de aproximadamente 50 Hz a aproximadamente 4 kHz e o sinal de banda alta 724 pode corresponder a uma fluxo de frequência de 6,4 kHz a aproximadamente 8 kHz.
[0088] O sistema 700 pode incluir um módulo de análise da banda baixa 730 configurado para receber o sinal de banda baixa 722. Em uma modalidade específica, o módulo de análise da banda baixa 730 pode representar uma modalidade de codificador de predição linear excitado por código (CELP). Um módulo de análise da banda baixa 730 pode incluir um módulo de análise e codificação de predição linear (LP) 732, um módulo de transformada de coeficientes de predição linear (LPC) em frequências espectrais em linha (LSFs) 734 e um quantificador 736. As LSPs podem ser também referidas como pares espectrais em linha (LSPs), e os dois termos (LSP e LSF) podem ser aqui utilizados de maneira intercambiável.
[0089] O módulo de análise e codificação LP 732 pode codificar o invólucro espectral do sinal de banda baixa 722 como um conjunto de LPCs. Os LPCs podem ser gerados para cada quadro de áudio (20) milissegundos (mseg) de áudio (que correspondem a 320 amostras, por exemplo), cada sub-quadro de áudio (5 mseg de áudio, por exemplo) ou qualquer combinação deles. O número de LPCs gerados para cada quadro ou sub-quadro pode ser determinado pela ordem da análise LP efetuada. Em uma modalidade específica, o módulo de análise e codificação LP 732 pode gerar um conjunto de onze LPCs que correspondem a uma análise LP de décima ordem.
[0090] O módulo de transformada de LPC em LSP 734 pode transformar o conjunto de LPCs gerados pelo módulo de análise e codificação LP 732 em um conjunto corresponde de LPCs (utilizando-se uma transformada de um em um, por exemplo). Alternativamente, o conjunto de LPCs pode ser transformado em um conjunto correspondente de coeficientes parcor, valores de razão de área de registro, pares espectrais de imitância (ISPs) ou frequências espectrais de imitância (ISFs). A transformada entre o conjunto de LPC e o conjunto de LSPs pode ser reversível sem erro.
[0091] O quantificador 736 pode quantificar o conjunto de LSPs gerado pelo módulo de transformada 734. Por exemplo, o quantificador 736 pode incluir ou ser acoplado a vários livros de código que incluem várias entradas (vetores, por exemplo). Para quantificar o conjunto de LSPs, o quantificador 736 pode identificar entradas de livros de código que estão “mais próximas de” combinada (com base em uma medida de distorção, tal como erro quadrado mínimo ou erro quadrado médio, por exemplo) do conjunto de LSPs. O quantificador 736 pode transmitir um valor de índice ou uma série de valores de índice que correspondem à localização das entradas identificadas no livro de código. A saída do quantificador 736 pode representar, portanto, parâmetros de filtro de banda baixa que são incluídos em um fluxo de bit de banda baixa 742.
[0092] O módulo de análise de banda baixa 730 pode também gerar um sinal de excitação de banda baixa. Por exemplo, o sinal de excitação de banda baixa 744 pode ser um sinal codificado que é gerado pela quantificação de um sinal residual LP que é gerado durante o processo LP executado pelo módulo de análise de banda baixa 730. O sinal residual LP pode representar erro de predição.
[0093] O sistema 700 pode incluir também um módulo de análise de banda alta 750 configurado para receber o sinal de banda alta 724 do banco de filtros de análise 710 e o sinal de excitação de banda baixa 744 do módulo de análise de banda baixa 730. O módulo de análise de banda alta 750 pode gerar informações colaterais de banda alta 772 com base no sinal de banda alta 724 e no sinal de excitação de banda baixa 744. Por exemplo, as informações colaterais de banda alta 772 podem incluir LSPs de banda alta e/ou informações de ganho (baseadas, pelo menos, na razão de energia de banda alta para energia de banda baixa, por exemplo). Em uma modalidade específica, as informações de ganho podem incluir parâmetros de conformação de ganho gerados por um módulo de conformação de ganho, tal como o conjunto de circuitos de conformação de ganho 792 (o conjunto de circuitos de conformação de ganho 164 da Figura 1, por exemplo), com base em um sinal harmonicamente estendido ou em um sinal residual de banda alta. O sinal harmonicamente estendido pode ser inadequado para utilização em uma síntese de banda alta devido à correlação insuficiente entre o sinal de banda alta 724 e o sinal de banda baixa 722. Por exemplo, sub-quadros do sinal de banda alta 724 podem incluir flutuações nos níveis de energia que não são adequadamente imitadas em um sinal de excitação de banda alta modelado 777.
[0094] O módulo de análise de banda alta 750 pode incluir um compensador de superposição inter-quadro 790. Em uma implementação exemplificativa, o compensador de superposição inter-quadro 790 inclui o formação de janela 128, o determinador de fatores de escalonamento 140, o escalonador 148 e o combinador 156 da Figura 1. Alternativamente, ou além disto, o compensador de superposição inter-quadro pode corresponder ao programa de compensação de superposição inter-quadro 694 da Figura 6.
[0095] O módulo de análise de banda alta 750 pode incluir também um gerador de excitação de banda alta 760. O gerador de excitação de banda alta 760 pode gerar um sinal de excitação de banda alta 767 estendendo o espectro do sinal de excitação de banda baixa 744 até a faixa de frequência de banda alta 7 kHz - 16 kHz, por exemplo. Para exemplificar, o gerador de excitação de banda alta 760 pode misturar a excitação de banda baixa harmonicamente estendida ajustada com um sinal de ruído (ruído branco modulado de acordo com um invólucro que corresponde ao sinal de excitação de banda baixa 744 que imita as características temporais lentamente variáveis do sinal de banda baixa 722, por exemplo) de modo a gerar o sinal de excitação de banda alta 777. Por exemplo, a imição pode ser efetuada de acordo com a equação seguinte:Excitação de banda alta = (α * excitação de banda baixa harmonicamente estendida ajustada) + ((1-α) * ruído modulado)
[0096] A razão à qual a excitação de banda baixa harmonicamente estendida ajustada e o ruído modulado são misturados pode ter um impacto sobre a qualidade de reconstrução de banda alta em um receptor. Para sinais de fala vocalizados, a imição pode tender para a excitação de banda baixa harmonicamente estendida ajustada (o fator de imição α pode estar na faixa de 0,5 a 1,0, por exemplo). Para sinais não vocalizados, a imição pode tender para o ruído modulado (o fator de imição α pode estar na faixa de 0,0 a 0,5, por exemplo).
[0097] Conforme mostrado, o módulo de análise de banda alta 750 pode incluir também um módulo de análise e codificação LP 752, o módulo de transformada de LPC e, LSP 754 e um quantificador 756. Cada um dos dois módulo de análise codificação LP 752, módulo de transformada 754 e quantificador 756 pode funcionar conforme descrito acima com referência a componentes correspondentes do módulo de análise de banda baixa 730, mas a uma resolução comparativamente reduzida (como, por exemplo, utilizando-se menos bits para cada coeficiente, LSP, etc.). O módulo de análise e codificação LP 752 pode gerar um conjunto de LPCs que são transformados em LSPs pelo módulo de transformada 754 e quantificados pelo quantificador 756 com base em um livro de código 763. Por exemplo, o módulo de análise e codificação LP 752, o módulo de transformada 754 e o quantificador 756 podem utilizar o sinal de banda alta 724 para determinar informações de filtro de banda alta (LSPs de banda alta, por exemplo) que são incluídas nas informações colaterais de banda alta 772.
[0098] O quantificador 756 pode ser configurado para quantificar um conjunto de valores de frequência espectral. tais como os LSPs fornecidos pelo módulo de transformada 754. Em outras modalidades, o quantificador 756 pode receber e quantificar conjuntos de um ou mais outros tipos de valores de frequência espectral além, ou em vez de, LSFs ou LSPs. Por exemplo, o quantificador 756 pode receber e quantificar um conjunto de LPCs gerado pelo módulo de análise e codificação LP 752. Outros exemplos, incluem conjuntos de coeficientes parcor, valores de razão de área de registro, e ISFs que podem ser recebidos e quantificados no quantificador 756. O quantificador 756 pode incluir um quantificador de vetores que quantifica um vetor de antena (um conjunto e valores de frequência espectral em um formato de vetor, por exemplo) como índice de uma entrada correspondente em uma tabela ou livro de código, tal como o livro de código 763. Como outro exemplo, o quantificador 756 pode ser configurado para determinar um ou mais parâmetros a partir dos quais o vetor de entrada pode ser gerado dinamicamente em um decodificador, tal como em uma modalidade de livro de código, e não recuperado de armazenamento. Para exemplificar, exemplos de livros de código esparso podem ser aplicados em esquema de codificação, tais como CELP e CODECs de acordo com padrões industriais, tais como EVRC (CODEC de taxa variável aperfeiçoado) 3GPP2 (Parceria de Terceira Geração 2). Em outra modalidade, o módulo de análise de banda alta 750 pode incluir o quantificador 756 e pode ser configurado para utilizar vários vetores de livro de código para gerar sinais sintetizados (de acordo com um conjunto de parâmetros de filtro, por exemplo) e para selecionar um dos vetores de livro de código associados ao sinal sintetizado que melhor corresponde ao sinal de banda alta 724, tal como em um domínio perceptualmente ponderado.
[0099] Em uma modalidade específica, as informações colaterais de banda alta 772 podem incluir LSPs de banda alta assim como parâmetros de ganho de banda alta. Por exemplo, o sinal de excitação de banda alta 767 pode ser utilizado para determinar parâmetros de ganho adicionais que são incluídos nas informações colaterais de banda alta 772.
[0100] O fluxo de bits de banda baixa 742 e as informações colaterais de banda alta 772 podem ser multiplexados por um multiplexador (MUX) 780 para gerar um fluxo de bits de saída 799. O fluxo de bits de saída 799 pode representar um sinal de áudio codificado que corresponde ao sinal de áudio de entrada 702. Por exemplo, o fluxo de bits de saída 799 pode ser transmitido (através de um canal cabeado, sem fio ou ótico, por exemplo) e/ou armazenado.
[0101] Em um receptor, operações inversas podem ser executadas por um demultiplexador (DEMUX), um decodificador de banda baixa, um decodificador de banda alta e um banco de filtros de modo a se gerar um sinal de áudio (uma versão reconstruída do sinal de áudio de entrada 702 que é enviado a um alto-falante ou outro aparelho de saída, por exemplo). O número de bits utilizado para representar o fluxo de bits de banda baixa 742 pode ser substancialmente maior que o familiarizado de bits utilizados para representar as informações colaterais de banda alta 772. Assim, a maioria dos bits no fluxo de bits de saída 799 pode representar dados de banda baixa. As informações colaterais de banda alta 772 podem ser utilizadas em um receptor para gerar novamente o sinal de excitação de banda alta dos dados de banda baixa de acordo com um modelo de sinal. Por exemplo, o modelo de sinal pode representar um conjunto esperado de relações ou correlações entre dados de banda baixa (o sinal de banda baixa 722, por exemplo) e dados de banda alta (o sinal de banda alta 724,por exemplo). Assim, modelos de sinal diferentes podem ser utilizados para espécies diferentes de dados de áudio (como, por exemplo, fala, música, etc.) e o modelo de sinal específico que está em uso pode ser negociado por um transmissor e um receptor (ou definido por um padrão industrial) antes da comunicação de dados de autorizado codificados. Utilizando o modelo de sinal, um módulo de análise de banda alta 750 em um transmissor é capaz de gerar as informações colaterais de banda alta 772 de modo que um módulo de análise de banda alta correspondente em um receptor seja capaz de utilizar o módulo de sinal para reconstruir o sinal de banda alta 724 a partir do fluxo de bits de saída 799. O receptor pode incluir o aparelho 100 da Figura 1.
[0102] Na descrição precedente, diversas funções e operações foram descritas como sendo implementadas ou executadas por determinados componentes ou módulos. Deve-se observar que, em algumas implementações, uma função ou operação descrita como sendo implementada ou executadas por um componente ou modelo específico pode, em vez disso, ser implementada ou executada utilizando-se várias componentes ou modelos. Além do mais, em alguns implementações, dois ou mais componentes ou módulos aqui descritos podem ser integrados a um único componente ou módulo. Um ou mais componentes por módulos aqui descritos podem ser implementados utilizando-se hardware (um aparelho com arranjo de portas programáveis no campo (FPGA), um circuito integrado específico de aplicativo (ASIC), um DSP e/ou um controlador como exemplos ilustrativos, software (instruções executáveis por um processador, por exemplo) ou qualquer combinação deles.
[0103] Os versados na técnica entenderiam também que os diversos blocos, configurações, módulos, circuitos e etapas de algoritmos lógicos ilustrativos descritos em conexão com os aspectos aqui revelados podem ser implementados como hardware eletrônico, software de computador executado por um aparelho de processamento tal como um processador de hardware ou em combinações de ambos. Diversos componentes, blocos, configurações, módulos, circuitos e etapas ilustrativos foram descritos acima geralmente em termos de sua funcionalidade. Se tal funcionalidade é implementa como hardware ou software executável depende da aplicação específica e das restrições de desenho impostas ao sistema como um todo. Os versados na técnica podem implementar a funcionalidade descrita de maneiras variáveis para cada aplicação específica, mas tais decisões de implementação não devem ser interpretadas como provocando um afastamento do alcance da presente descrição.
[0104] As etapas de método ou algoritmos descritas em conexão com os aspectos aqui revelados podem ser corporificados diretamente em hardware, em um módulo de software executado por um processador ou em uma combinação dos dois. Um módulo de software pode residir em um aparelho de memória tal como uma memória de acesso aleatório magneto-resistiva (MRAM), MRAM com transferência por rotação-torque (STT-MRAM), memória flash, memória exclusiva de leitura (ROM), memória exclusiva de leitura programável (PROM), memória exclusiva de leitura programável apagável (EPROM), memória exclusiva de leitura programável eletricamente apagável (EEPROM), em registradores, disco rígido, disco removível, memória exclusiva de leitura de disco compacto (CD-ROM). Um aparelho de memória exemplar é acoplado ao processador de modo que o processador possa ler informações do, e gravar informações no, aparelho de memória. Alternativamente, o aparelho de memória pode ser integrante com o processador. O processador e o meio de armazenamento podem residir em um ASIC. O ASIC pode residir em um aparelho de computação ou em um terminal de usuário. Alternativamente, o processador e o meio de armazenamento podem residir como componentes discretos em um aparelho de computação ou terminal de usuário.
[0105] A descrição anterior dos aspectos revelados é apresentada para permitir que uma pessoa versada na técnica fabrique ou utilize os aspectos revelados. Diversas modificações nestes aspectos serão prontamente evidentes aos versados na técnica, e os princípios aqui definidos podem ser aplicados a outros aspectos sem que se abandone o alcance da descrição. Assim, a presente descrição não pretende estar limitada aos aspectos aqui mostrados, mas deve receber o mais amplo alcance possível compatível com os princípios e recursos inéditos definidos pelas reivindicações a seguir.

Claims (14)

1. Método de funcionamento de um aparelho, o método sendo caracterizado por compreender: receber (510) um primeiro conjunto de amostras e um segundo conjunto de amostras, em que o primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio, e o segundo conjunto de amostras corresponde a um segundo quadro de áudio; gerar (520) um primeiro parâmetro de energia associado com uma janela de conjunto-alvo de amostras com base no primeiro conjunto de amostras e um primeiro subconjunto do segundo conjunto de amostras; gerar (530) um segundo parâmetro de energia associado com uma janela de um conjunto de referência de amostras que inclui um segundo subconjunto do segundo conjunto de amostras; realizar a operação de raiz quadrada em uma razão do segundo parâmetro de energia e do primeiro parâmetro de energia para gerar um fator de escala; escalonar (540) o conjunto-alvo de amostras baseado no fator de escala, de modo a gerar um conjunto- alvo de amostras escalonadas; e gerar (550) um terceiro conjunto-alvo de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras.
2. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por o primeiro quadro de áudio preceder sequencialmente imediatamente o segundo quadro de áudio em uma ordem de processamento do primeiro quadro de áudio e do segundo quadro de áudio.
3. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por adicionalmente compreender escalonar o terceiro conjunto de amostras pelo conjunto de circuitos de conformação de ganho do aparelho para gerar um sinal de banda alta sintetizado ajustado por conformação de ganho; e /ou compreendendo adicionalmente estimar conformações de ganho pelo conjunto de circuitos de conformação de ganho do aparelho com base no terceiro conjunto de amostras.
4. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por o conjunto de referência de amostras ser gerado adicionalmente com base no primeiro subconjunto do segundo conjunto de amostras; e/ou em que o primeiro conjunto de amostras e o segundo conjunto de amostras correspondem a sinais de banda alta sintetizados que são gerados com base em um sinal de excitação de banda baixa utilizando-se um gerador de excitação, um sintetizador de predição linear e uma unidade de pós-processamento do aparelho; e/ou em que o primeiro conjunto de amostras e o segundo conjunto de amostras correspondem a um sinal de excitação de banda alta que é gerado com base em um sinal de excitação de banda baixa utilizando-se um gerador de excitação.
5. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por adicionalmente compreender armazenar o primeiro conjunto de amostras em uma memória do aparelho, no qual o primeiro subconjunto do segundo conjunto de amostras é selecionado por um seletor acoplado à memória.
6. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por o conjunto- alvo de amostras ser selecionado com base no número de amostras associadas ao comprimento estimado de uma superposição inter-quadro entre o primeiro quadro de áudio e o segundo quadro de áudio, em que a superposição inter- quadro é preferivelmente baseada em um número total de amostras em ambos os lados de uma fronteira entre o primeiro quadro de áudio e o segundo quadro de áudio que são diretamente impactados pelo primeiro quadro de áudio e são utilizados no segundo quadro de áudio.
7. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por o conjunto- alvo de amostras ser escalonado utilizando-se uma transição de ganho suave de um primeiro valor do fator de escalonamento para um segundo valor do fator de escalonamento, em que o segundo valor do fator de escalonamento é, preferivelmente, 1,0.
8. Método de funcionamento de um aparelho, de acordo com a reivindicação 1, caracterizado por determinar o fator de escalonamento incluir: gerar a janela de conjunto-alvo de amostras com base em uma primeira janela; gerar a janela conjunto de referência de amostras com base em uma segunda janela.
9. Método de funcionamento de um aparelho, de acordo com a reivindicação 8, caracterizado pela primeira janela se superpor à segunda janela, ou em que a primeira janela não se superpõe à segunda janela.
10. Memória legível por computador, caracterizada pelo fato de que possui instruções armazenadas na mesma que, quando executadas por um processador, fazem com que um computador realize o método do tipo definido em qualquer uma das reivindicações 1 a 9.
11. Memória legível por computador, de acordo com a reivindicação 10, caracterizada por o processador incluir um processador de sinais digitais (DSP), e no qual as instruções são incluídas em um programa de compensação de superposição inter-quadro.
12. Equipamento para realizar uma operação, caracterizado por compreender: meios para receber um primeiro conjunto de amostras e um segundo conjunto de amostras, no qual o primeiro conjunto de amostras corresponde a uma parte de um primeiro quadro de áudio e o segundo conjunto de amostras corresponde a um segundo quadro de áudio; meios para gerar um primeiro parâmetro de energia associado com uma janela de conjunto-alvo de amostras e para gerar um segundo parâmetro de energia associado com uma janela de um conjunto de referência de amostras, o conjunto-alvo de amostras baseado no primeiro conjunto de amostras e um primeiro subconjunto do segundo conjunto de amostras e o conjunto de referência de amostras incluindo um segundo subconjunto do segundo conjunto de amostras; meios para realizar a operação de raiz quadrada em uma razão do segundo parâmetro de energia e do primeiro parâmetro de energia para gerar um fator de escala; meios para escalonar o conjunto-alvo de amostras baseado no fator de escala, de modo a gerar um conjunto- alvo de amostras escalonado; e meios para gerar um terceiro conjunto de amostras com base no conjunto-alvo de amostras escalonado e em uma ou mais amostras do segundo conjunto de amostras.
13. Equipamento para realizar uma operação, de acordo com a reivindicação 12, caracterizado pelo fato de que compreende adicionalmente meios para determinar o fator de escala, ao determinar uma razão do segundo parâmetro de energia e do primeiro parâmetro de energia, e realizar a operação de raiz quadrada na razão para gerar um fator de escala.
14. Equipamento para realizar uma operação, de acordo com a reivindicação 12, caracterizado pelo fato de que os meios para receber compreendem uma memória, em que os meios para gerar compreendem um formador de janela, em que os meios para escalonar compreendem um escalonador, e em que os meios para gerar compreendem um combinador.
BR112017015461-7A 2015-01-19 2016-01-08 Método de funcionamento de um aparelho; memória legível por computador e equipamento para realizar uma operação BR112017015461B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562105071P 2015-01-19 2015-01-19
US62/105,071 2015-01-19
US14/939,436 US9595269B2 (en) 2015-01-19 2015-11-12 Scaling for gain shape circuitry
US14/939,436 2015-11-12
PCT/US2016/012718 WO2016118343A1 (en) 2015-01-19 2016-01-08 Scaling for gain shape circuitry

Publications (2)

Publication Number Publication Date
BR112017015461A2 BR112017015461A2 (pt) 2018-01-23
BR112017015461B1 true BR112017015461B1 (pt) 2023-08-22

Family

ID=

Similar Documents

Publication Publication Date Title
CA2971600C (en) Scaling for gain shape circuitry
TWI559298B (zh) 用於音訊信號之諧波頻寬延展之方法、裝置及電腦可讀儲存器件
AU2019203827B2 (en) Estimation of mixing factors to generate high-band excitation signal
US9858941B2 (en) Selective phase compensation in high band coding of an audio signal
CA2925572C (en) Gain shape estimation for improved tracking of high-band temporal characteristics
AU2014331903A1 (en) Gain shape estimation for improved tracking of high-band temporal characteristics
US20150149157A1 (en) Frequency domain gain shape estimation
BR112017015461B1 (pt) Método de funcionamento de um aparelho; memória legível por computador e equipamento para realizar uma operação
BR112016007914B1 (pt) Estimativa de formato de ganho para rastreamento aperfeiçoado de características temporais de banda alta