BRPI0910522B1 - Dispositivo preenchedor de ruídos, dispositivo calculador do parâmetro de preenchimento de ruído, método para prover uma representação espectral com preenchimento de ruído, método para prover um parâmetro de preenchimento de ruído de um sinal de áudio - Google Patents

Dispositivo preenchedor de ruídos, dispositivo calculador do parâmetro de preenchimento de ruído, método para prover uma representação espectral com preenchimento de ruído, método para prover um parâmetro de preenchimento de ruído de um sinal de áudio

Info

Publication number
BRPI0910522B1
BRPI0910522B1 BRPI0910522-0A BRPI0910522A BRPI0910522B1 BR PI0910522 B1 BRPI0910522 B1 BR PI0910522B1 BR PI0910522 A BRPI0910522 A BR PI0910522A BR PI0910522 B1 BRPI0910522 B1 BR PI0910522B1
Authority
BR
Brazil
Prior art keywords
spectral
noise
quantized
zero
representation
Prior art date
Application number
BRPI0910522-0A
Other languages
English (en)
Inventor
Rettelbach Nikolaus
Grill Bernhard
Fuchs Guillaume
Geyersberger Stefan
Multrus Markus
Popp Harald
Herre Jürgen
Wabnik Stefan
Schuller Gerald
Hirschfeld Jens
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V
Priority claimed from PCT/EP2009/004653 external-priority patent/WO2010003565A1/en
Publication of BRPI0910522A2 publication Critical patent/BRPI0910522A2/pt
Publication of BRPI0910522B1 publication Critical patent/BRPI0910522B1/pt

Links

Abstract

PREENCHEDOR DE RUÍDOS, CALCULADORA DO PARÂMETRO DE PREENCHIMENTO DE RUÍDO, MÉTODO PARA PROVER UM PARÂMETRO DE PREENCHIMENTO DE RUÍDO, MÉTODO PARA PROVER UMA REPRESENTAÇÃO ESPECTRAL COM PREENCHIMENTO DE RUÍDO DE UM SINAL DE ÁUDIO, CORRESPONDENTE PROGRAMA DE COMPUTADOR E SINAL CODIFICADO DE ÁUDIO. Preenchedor de ruídos para prover uma representação espectral com preenchimento de ruído de um sinal de áudio com base em uma representação espectral de entrada do sinal de áudio, com um calculador do parâmetro de preenchimento de ruído para prover um parâmetro de preenchimento de ruído com base em uma representação espectral quantizada de um sinal de áudio, com uma representação do sinal de áudio codificado representando um sinal de áudio, com um método para prover uma representação espectral com preenchimento de ruído de um sinal de áudio, com um método para prover um parâmetro de preenchimento de ruído com base em uma representação espectral quantizada de um sinal de áudio, e com programas de computadores para a implementação dos referidos métodos .

Description

HISTÓRICO DA INVENÇÃO
As configurações se relacionam de acordo com a invenção com um preenchedor de ruídos para prover uma representação espectral com preenchimento de ruído de um sinal de áudio com base em uma representação espectral de entrada do sinal de áudio, com um calculador do parâmetro de preenchimento de ruído para prover um parâmetro de preenchimento de ruído com base em uma representação espectral quantizada de um sinal de áudio, com uma representação do sinal de áudio codificado representando um sinal de áudio, com um método para prover uma representação espectral com preenchimento de ruído de um sinal de áudio, com um método para prover um parâmetro de preenchimento de ruído com base em uma representação espectral quantizada de um sinal de áudio, e com programas de computadores para a implementação dos referidos métodos.
A seguir, serão descritos alguns cenários em que podem ser aplicadas com vantagens as configurações de acordo com a invenção. Muitos codificadores de sinal de áudio no domínio da frequência se baseiam na ideia que algumas regiões de frequência ou regiões espectrais (ex., linhas de frequência ou linhas espectrais providas por uma conversão do domínio do tempo para o domínio da frequência), são mais importantes que outras regiões espectrais. Assim, regiões espectrais de alta relevância psicoacústica são tipicamente codificadas com maior precisão que regiões espectrais de baixa relevância psicoacústica. A relevância psicoacústica das diferentes regiões espectrais pode, por exemplo, ser calculada usando um modelo psicoacústico que leva em conta o 5 mascaramento de regiões espectrais mais fracas por meio de fortes picos espectrais adjacentes.
Caso for desejado reduzir a taxa de bits de um i sinal codificado de áudio para um baixo nivel, algumas regiões » espectrais são quantizadas com muito baixa precisão (ex., com 10 precisão de somente um bit, ou precisão de dois bits) . Assim, muitas das regiões espectrais quantizadas com baixa precisão são _ quantizadas para zero. Assim, em baixas taxas de bits, . codificadores-de áudio baseados em transformadas estão propensos a diferentes problemas e especialmente a problemas que se originam 15 das linhas de frequência quantizadas em zero. Realmente, a quantização grosseira de valores espectrais em codificação de t áudio com baixa taxa de bits pode conduzir a espectros muito esparsos após a quantização inversa, já que muitas linhas 4 espectrais podem ter sido quantizadas para zero. Esses buracos de 20 frequência no sinal reconstruído produzem indesejáveis problemas sonoros. Podem tornar o som reproduzido muito agudo ou instável (birdies') quando os buracos de frequência nos espectros se movem de quadro a quadro. O preenchimento de ruido é um meio para mascarar 25 esses problemas por meio do preenchimento, no lado do decodificador, com coeficientes ou bandas quantizadas em zero ou bandas com um ruido randômico. A energia do ruido inserido é um parâmetro computado e transmitido pelo codificador. € São conhecidos diferentes conceitos de preenchimento de ruido. Por exemplo, o denominado AMR-WR+ combina o preenchimento de ruido e uma Transformada Discreta de Fourier (DFT), como descrita, por exemplo, na referência [1]. Além disso, 5 o Padrão Internacional ITU-T G.729.1 define um conceito que combina o preenchimento de ruido com a transformada discreta de cosseno modificada (MDCT). Os detalhes são descritos na referência [2] . Outros aspectos referentes ao preenchimento de 10 ruido são descritos no Pedido Internacional de Patente PCT/IB2002/001388 por Koninklijke Philips Electronics N.V. (ver referência [3] ) ' _ Não obstante,. os — conceitos -de- preenchimento convencional de ruido resultam em distorções audiveis. 15 Com vista nesta discussão, existe o desejo de criar um conceito de preenchimento de ruido que proporcione uma melhor impressão auditiva.
SUMÁRIO DA INVENÇÃO
Uma configuração de acordo com a invenção cria 20 um preenchedor de ruídos para prover uma representação espectral com preenchimento de ruído de um sinal de áudio com base em uma representação espectral de entrada do sinal de áudio. O preenchedor de ruídos compreende um identificador de região espectral configurado para identificar regiões espectrais (ex. , 25 linhas espectrais, ou bins espectrais) da representação espectral de entrada espaçada das regiões espectrais diferentes de zero (ex., linhas espectrais ou bins espectrais) da representação intermediária, para obter regiões espectrais identificadas. O preenchedor de ruidos também compreende um insersor de ruido configurado para seletivamente introduzir ruido nas regiões espectrais identificadas (ex., linhas espectrais ou bins 5 espectrais) para obter a representação espectral com preenchimento de ruido do sinal de áudio.
Esta configuração da presente invenção se baseia no achado que componentes tonais da representação espectral de um > sinal de áudio são tipicamente degradadas, em termos da impressão 10 auditiva, caso um preenchimento de ruido seja aplicado na vizinhança imediata dessas componentes tonais. Assim, foi determinado que uma melhor impressão auditiva de um sinal de n "" ~ áudio ecom- preenchimento de ruídos pode " ser obtida- se“ o preenchimento de ruido for somente aplicado às regiões espectrais 15 que forem espaçadas dessas regiões espectrais tonais diferentes . de zero. Assim, as componentes tonais do espectro do sinal de áudio (que não são quantizadas em zero na entrada da representação espectral quantizada no preenchedor de ruidos) permanecem audiveis (isto é, não se tornam contaminadas pelo 20 ruido adjacente próximo), enquanto a presença de grandes buracos espectrais é ainda evitada de maneira eficiente.
Em uma configuração preferida, o identificador de região espectral é configurado para identificar linhas espectrais da representação espectral de entrada, que são 25 quantizadas em zero e que compreendem pelo menos um primeiro número predeterminado de linhas espectrais vizinhas de menor frequência quantizadas em zero e pelo menos um segundo número predeterminado de linhas espectrais de maior frequência quantizadas em zero, como regiões espectrais identificadas, onde o primeiro número predeterminado é maior ou igual a um e onde o segundo número predeterminado é maior ou igual a um. Nesta configuração, o insersor de ruido é configurado para 5 seletivamente introduzir ruido nas linhas espectrais identificadas, enquanto deixa as linhas espectrais quantizadas em um valor diferente de zero e linhas espectrais quantizadas em zero, mas não tendo o primeiro número predeterminado de linhas espectrais vizinhas de menor frequência quantizadas em zero, ou o 10 segundo número predeterminado de linhas espectrais vizinhas de maior frequência quantizadas em zero não afetadas pelo preenchimento de ruido. Assim, o preenchimento de ruido é seletivo, já ^que o ruido • é- somente introduzido nãs~ linhas espectrais que são quantizadas em zero e que são espaçadas das 15 linhas quantizadas em um valor diferente de zero, ambas em uma direção espectral para cima e uma direção espectral para baixo, por exemplo, pelo primeiro número predeterminado de linhas espectrais vizinhas de menor frequência quantizadas em zero e pelo segundo número predeterminado de linhas espectrais vizinhas 20 de maior frequência quantizadas em zero.
Em uma configuração preferida, o primeiro número predeterminado é igual ao segundo número predeterminado, de maneira que um espaçamento minimo na direção da frequência superior das linhas quantizadas para um valor diferente de zero 25 seja igual a um espaçamento minimo na direção da frequência inferior das linhas quantizadas para um valor diferente de zero.
Em uma configuração preferida, o preenchedor de ruidos é configurado para introduzir somente ruído nas regiões espectrais em uma porção superior da representação espectral do sinal de áudio, deixando não afetada uma porção inferior da representação espectral do sinal de áudio pelo preenchimento de ruido. Esse conceito é útil, já que normalmente maiores 5 frequências são menos perceptualmente importantes que as baixas frequências. Os valores quantizados em zero também ocorrem principalmente na segunda metade dos espectros (isto é, para altas frequências) . Também a adição de ruido nas altas frequências tem menos possibilidade de obter uma restituição 10 final sonora ruidosa.
Em uma configuração preferida, o identificador de região espectral é configurado para somar valores quantizados de intensidade (ex., valores de energia'ou valores “dé amplitude) de regiões espectrais em uma vizinhança espectral predeterminada 15 bilateral de uma dada região espectral (isto é, uma vizinhança espectral que se estende tanto na direção das frequências mais baixas como das mais altas), para obter um valor somado, e avaliar o valor somado para decidir se a dada região espectral é uma região espectral identificada ou não. Foi determinado que o valor 20 somado das energias de um espectro quantizado com relação a uma vizinhança espectral bilateral de uma dada região espectral é uma quantidade significativa para a decisão de se o preenchimento de ruído deve ser aplicado a uma dada região espectral.
Em outra configuração preferida, o identificador 25 de região espectral é configurado para varrer uma faixa de regiões espectrais da representação espectral de entrada para detectar sequências contíguas de regiões espectrais quantizadas em zero, e reconhecer uma ou mais regiões espectrais centrais (isto é, regiões espectrais não divisórias) dessas sequências contiguas detectadas como regiões espectrais identificadas. Foi determinado que uma detecção de um determinado "comprimento de operação" das regiões espectrais 5 quantizadas em zero, é uma tarefa que pode ser implementada com complexidade computacional particularmente baixa. Para identificar essa sequência contigua de regiões espectrais, é possível decidir se todas as regiões espectrais dentro desta sequência de regiões , espectrais são quantizadas em zero, o que pode ser feito usando um 10 algoritmo ou circuito relativamente simples. Caso seja determinado que esta sequência contígua de regiões espectrais é quantizada em zero, uma ou mais das regiões espectrais internas da sequência Jque são espaçadas suficientemente longe "dás "regiões espectrais fora da presente sequência de regiões espectrais) são tratadas 15 como regiões espectrais identificadas. Assim, varrendo .urna faixa de regiões espectrais (ex., selecionando subsequentemente diferentes sequências deslocadas de regiões espectrais) , pode ser feita uma eficiente análise da representação espectral, para identificar regiões espectrais quantizadas em zero e espaçadas das 20 regiões espectrais quantizadas em um valor diferente de zero por uma distância mínima predeterminada.
Outra configuração de acordo com a invenção cria um calculador do parâmetro de preenchimento de ruído para prover um parâmetro de preenchimento de ruído com base em uma 25 representação espectral quantizada de um sinal de áudio. O calculador do parâmetro de preenchimento de ruído compreende um identificador de região espectral configurado para identificar regiões espectrais da representação espectral quantizada espaçada de regiões espectrais diferentes de zero da representação espectral quantizada por pelo menos uma região espectral intermediária, para obter regiões espectrais identificadas. O calculador do parâmetro de preenchimento de ruido também 5 compreende um calculador de valor de ruido configurado para considerar seletivamente os erros de quantização das regiões espectrais identificadas para o cálculo do parâmetro de preenchimento de ruido. O calculador do parâmetro de preenchimento de ruido se baseia na ideia principal de que é desejável 10 restringir um preenchimento de ruido do lado do decodificador nas regiões espectrais que são espaçadas das regiões espectrais tonais (quantizadas em um valor diferente de zero), e que como consequência o^ parâmetro de ruido- deve ser’ calculado no lado do codificador, levando em consideração este conceito. Assim, é 15 obtido um parâmetro de preenchimento de ruido particularmente bem adaptado para o conceito de decodificador supramencionado. Foi também determinado que regiões espectrais que são quantizadas em zero, mas que são muito próximas às regiões espectrais quantizadas em um valor diferente de zero, geralmente não refletem a um teor 20 de áudio verdadeiramente tipo ruido, mas fortemente correlacionado com a região espectral tonal adjacente (quantizada para um valor diferente de zero). Assim, foi determinado ser geralmente indesejável considerar o erro de quantização das regiões espectrais, que estiverem próximas às regiões espectrais 25 quantizadas em um valor diferente de zero para o cálculo de um parâmetro de preenchimento de ruido, porque isto resultaria normalmente em uma forte superestimativa do ruido, resultando assim em uma representação espectral reconstruida muito ruidosa.
Assim, o conceito de cálculo do parâmetro de preenchimento de ruido descrito na presente pode ser usado em combinação com o conceito de preenchimento de ruido supramencionado e até em combinação com conceitos convencionais de 5 preenchimento de ruido.
Em configurações preferidas, o conceito para a identificação de regiões espectrais que tiver sido discutido com relação ao preenchedor de ruidos, também pode ser aplicado em combinação com o calculador do parâmetro de preenchimento de 10 ruido.
Em ainda outra configuração preferida, o calculador de valor de ruido é configurado para considerar uma energia real do erro, de - quantização das ~ regiões espectrais identificadas para o cálculo do parâmetro de preenchimento de 15 ruido. Foi determinado que a consideração de. um erro .real- de - quantização (ao invés de um erro de quantização estimado ou de um erro médio de quantização) traz normalmente consigo melhores resultados, porque o erro real de quantização normalmente se desvia do erro de quantização estatisticamente esperado. 20 Em ainda outra configuração preferida, o calculador de valor de ruido é configurado para realçar uma energia não tonal do erro de quantização distribuída em uma pluralidade de regiões espectrais identificadas em relação a uma energia tonal do erro de quantização concentrada em uma única 25 região espectral. Este conceito se baseia no achado que um ruido não tonal de banda larga, uma energia média a qual se situa abaixo um limite de quantização e que é, portanto, quantizada em zero, é perceptualmente muito mais relevante para o preenchedor de ruidos que uma única componente tonal de áudio, uma intensidade que se situa abaixo do limite de quantizaçâo, mesmo se o ruido não tonal de banda larga quantizado em zero e a componente tonal quantizada em zero fossem ambas quantizadas em zero. O motivo é que o 5 preenchedor de ruidos pela geração de um ruido randômico no decodificador possa modelar o ruido não tonal de banda larga faltante na representação espectral quantizada, mas não as componentes tonais faltantes. Assim, uma ênfase sobre as componentes não tonais de ruido quantizadas em zero com relação às 10 componentes tonais quantizadas em zero, traz consigo uma reconstrução sonora mais realista. Isto também se deve ao fato que a impressão auditiva humana é muito mais degradada pela presença de um buraco .espectral - (ex.,- na forma dé ausência de um ruido de banda larga quantizado em zero) que pela ausência de um 15 pequeno pico espectral quantizado em zero. Uma _ componente-tona-l ■ ’ * pode ser concentrada em uma simples linha espectral, ou pode se espalhar por várias linhas espectrais contíguas (por exemplo, i,i+l). A região espectral pode, por exemplo, compreender uma ou mais linhas espectrais. 20 Em uma configuração preferida, o calculador de valor de ruido é configurado para calcular a soma de energias logaritmizadas de erros de quantizaçâo das regiões espectrais identificadas para obter o parâmetro de preenchimento de ruido. Calculando a soma das energias logaritmizadas de erros de 25 quantizaçâo das regiões espectrais identificadas, a ênfase relativa supramencionada das regiões espectrais não tonais quantizadas em zero com relação às regiões tonais quantizadas em zero, pode ser obtida de maneira eficiente. Outra configuração de acordo com a invenção cria uma representação do sinal de áudio codificado, para a representação de um sinal de áudio. A representação do sinal de áudio codificado compreende uma representação do dominio 5 espectral quantizado codificado do sinal de áudio e um parâmetro de preenchimento de ruido codificado. O parâmetro de preenchimento de ruido representa um erro de quantização das regiões espectrais da representação no dominio espectral quantizado em zero e espaçado das regiões espectrais da 10 representação no dominio espectral quantizadas em um valor diferente de zero por pelo menos um número predeterminado de regiões espectrais intermediárias. A representação do sinal de Ju áudio .codificado supramencionacla é “usada pelo preenchedor de ruidos supramencionado e pode ser obtida usando o calculador do 15 parâmetro de preenchimento de ruído, .acima - discutido. A representação do sinal de áudio codificado permite a reconstrução do sinal de áudio com qualidade de áudio particularmente boa, porque o parâmetro de preenchimento de ruido seletivamente reflete o erro de quantização da representação quantizada no 20 dominio espectral dessas regiões espectrais em que existem significativas informações de ruido e que devem ser seletivamente consideradas para o preenchimento de ruidos no lado do decodificador. Outra configuração de acordo com a invenção cria 25 um método para prover uma representação com preenchimento de ruidos de um sinal de áudio.
Ainda outra configuração de acordo com a invenção cria um método para prover um parâmetro de preenchimento de ruidos com base em uma representação espectral quantizada de um sinal de áudio. ■ Ainda outra configuração de acordo com a invenção cria um programa de computador para a implementação dos métodos supramencionados.
BREVE DESCRIÇÃO DAS FIGURAS
Serão subsequentemente descritas configurações de acordo com a invenção, com referência às figuras anexas, onde:
A Fig. 1 mostra um diagrama esquemático de blocos de um preenchedor de ruidos, de acordo com uma configuração da invenção;
A Fig. 2 mostra um diagrama esquemático de .blocos- de -um decodificador de ~ sinal de áudio que compreende o preenchedor de ruidos de acordo com a presente invenção;
A Fig. 3 mostra um pseudo-código - de programas para a implementação da funcionalidade do preenchedor de ruidos da Fig. 1;
A Fig. 4 mostra uma representação gráfica de uma identificação de regiões espectrais, que pode ser feita no preenchedor de ruidos de acordo com a Fig. 1;
A Fig. 5 mostra um diagrama esquemático de blocos de um calculador do parâmetro de preenchimento de ruido de acordo com uma configuração da invenção;
A Fig. 6 mostra um pseudo-código de programas para a implementação da funcionalidade do calculador do parâmetro de preenchimento de ruido de acordo com a Fig. 5;
A Fig. 7 mostra um fluxograma de um método para prover uma representação espectral com preenchimento de ruido de um sinal de áudio com base em uma representação espectral de entrada do sinal de áudio;
A Fig. 8 mostra um fluxograma de um método para prover um parâmetro de preenchimento de ruidos com base em uma 5 representação espectral quantizada de um sinal de áudio; e
A Fig. 9 mostra a representação gráfica de uma representação de sinal de áudio, de acordo com uma configuração da invenção.
Preenchedor de ruidos de acordo com as Figs. 1-4
A Fig. 1 mostra um diagrama esquemático de blocos de um preenchedor de ruidos 100, de acordo com uma configuração da invenção. O preenchedor de ruidos 100 é configurado ,para -receber -uma* representação’*’espectral de entrada 110 de um sinal de áudio, por exemplo, na forma de coeficientes 15 espectrais decodificados (que podem, por exemplo, ser quantizados ou quantizados inversamente). O preenchedor de ruidos 100 é também configurado prover uma representação espectral com preenchimento de ruido 112 do sinal de áudio com base na representação espectral de entrada 110. 20 O preenchedor de ruidos 100 compreende um identificador de região espectral 120, que é configurado para identificar regiões espectrais da representação espectral de entrada 110 espaçadas das regiões espectrais da representação espectral de entrada diferente de zero 110 por pelo menos uma 25 região espectral intermediária, para obter uma informação 122 indicando as regiões espectrais identificadas. O preenchedor de ruidos 100 também compreende um insersor de ruido 130, que é configurado para seletivamente introduzir ruído nas regiões espectrais identificadas (descritas na informação 122), para obter a representação espectral com preenchimento de ruido 112 do sinal de áudio.
Com relação à funcionalidade do preenchedor de 5 ruidos 100, pode ser geralmente dito que o preenchedor de ruidos 100 seletivamente preenche regiões espectrais (ex., linhas espectrais ou bins espectrais) da representação espectral de entrada 110 com ruido, por exemplo, substituindo os valores espectrais das linhas espectrais quantizadas em zero com a 10 substituição dos valores espectrais que descrevem um ruido. Dessa forma, podem ser preenchidos os buracos espectrais ou vãos espectrais dentro da representação espectral de entrada 110, o _que_ pode,- -por - exemplo, ' surgir * da quantização grosseira da representação espectral de entrada 110. Entretanto, o preenchedor 15 de ruidos 100 não introduz ruido em todas as linhas - espectrais quantizadas em zero (isto é, linhas espectrais, os valores espectrais que são quantizados em zero). Ao invés disso, o preenchedor de ruidos 100 somente introduz ruido nessas linhas espectrais quantizadas em zero, o que compreende uma distância 20 suficiente a partir das linhas espectrais quantizadas em um valor diferente de zero. Dessa forma, o preenchimento de ruido não preenche totalmente os buracos espectrais ou vãos espectrais, mas mantém uma distância espectral de pelo menos uma região espectral (ou de pelo menos qualquer outro número predeterminado de regiões 25 espectrais) entre essas linhas espectrais em que é introduzido um ruido e linhas espectrais quantizadas em um valor diferente de zero. Assim, é mantida a distância espectral entre o ruido de espectrais quantizadas em um valor diferente de zero, de maneira que as linhas espectrais psicoacusticamente relevantes (que não são quantizadas em zero na representação espectral de entrada do sinal de áudio) podem ser claramente distintas (devido à distância 5 espectral do número predeterminado de uma ou mais regiões espectrais) do ruido de preenchimento introduzido no espectro pelo preenchedor de ruidos. Assim, pode ser claramente percebido o conteúdo de áudio mais psicoacusticamente relevante (representado por valores de linhas espectrais diferentes de zero na 10 representação espectral de entrada 110), enquanto grandes buracos espectrais são evitados. Isto se deve ao fato que o preenchimento de ruido é seletivamente omitido na proximidade das linhas espectrais - da representação1 espectral de entrada quantizadas em um valor diferente de zero, enquanto o preenchimento de ruido é 15 feito nas regiões centrais de buracos. .espectrais ou- vãos espectrais.
A seguir, será descrito um ambiente de aplicação para o preenchedor de ruidos 100 com referência à Fig. 2. A Fig. 2 mostra um diagrama esquemático de blocos de um decodificador de 20 sinal de áudio 200, de acordo com uma configuração da invenção. O decodificador de sinal de áudio 200 compreende, como uma componente principal, o preenchedor de ruidos 100. O decodificador de sinal de áudio 200 também compreende uni decodificador do coeficiente espectral 210, que é configurado para receber uma 25 representação do sinal de áudio codificado 212 e prover uma representação decodificada e opcionalmente quantizada inversamente 214 dos coeficientes espectrais do sinal codificado de áudio. O decodificador do coeficiente espectral 210 pode, por exemplo compreender um decodificador de entropia (ex., decodificador aritmético ou decodificador de comprimento de operação) e, opcionalmente, um quantizador inverso para obter a representação decodificada 214 dos coeficientes espectrais (ex., sob a forma de 5 coeficientes inversamente quantizados) da representação do sinal de áudio codificado 212. O preenchedor de ruidos 100 é configurado para receber a representação decodificada 214 de coeficientes espectrais (que é, opcionalmente, quantizada inversamente) como a representação espectral de entrada 110 do sinal de áudio. 10 O decodificador de sinal de áudio 200 também compreende um extrator de fator de ruido 220, que é configurado para extrair uma informação do fator de ruido 222 da representação - do* sinal de áudio codificado* 212 e prover a informação do fator de ruido extraida 222 ao preenchedor de ruidos 100. O decodificador 15 de sinal de áudio 200 também^ compreende um - reformatador de espectro 230, que é configurado para receber uma representação do espectro reconstruído 232 do preenchedor de ruidos 100. A representação do espectro reconstruído 232 pode, por exemplo, ser igual à representação espectral com preenchimento de ruido 112 20 provida pelo preenchedor de ruidos. O reformatador de espectro 230, que pode ser considerado como opcional, é configurado para prover as informações de espectro 234 com base na representação do espectro reconstruído 232. O decodificador de sinal de áudio 200 ainda compreende um conversor do dominio espectral para o dominio 25 do tempo 240, que recebe a representação do espectro 234 fornecida pelo reformatador de espectro 230, ou, na ausência do reformatador de espectro 230, a representação do espectro reconstruído 232, e prover com base nesta, uma representação do sinal de áudio no dominio do tempo 242. O conversor do dominio espectral para o dominio do tempo 240 pode, por exemplo, ser configurado para fazer uma transformada inversa de cosseno discreta modificada (IMDCT).
Em uma configuração preferida, o preenchimento de 5 ruido no lado do decodificador compreende as seguintes etapas (ou acompanha as seguintes etapas): 1. Decodificar o patamar de ruido; 2. Decodificar os valores quantizados das linhas de frequência; 10 3. Detectar as regiões espectrais na parte selecionada dos espectros em que um comprimento de operação de zeros é maior que um tamanho minimo de comprimento de operação; e - "4. ~ Aplicar 'um’ sinal de geração randômica ao patamar de ruido decodificado para cada uma das linhas dentro das 15 regiões selecionadas. _ . - - - *- - - - O patamar de ruido é decodificado como segue: nf_decoded = 0.0625*(8-index).
As regiões espectrais detectadas são, por exemplo, selecionadas da mesma forma feita no lado do codificador 20 (que será descrito abaixo).
É gerado um ruido Gaussiano sem memória no dominio MDCT por um espectro com a mesma amplitude para todas as linhas, mas com sinais randômicos. Assim, para cada uma das linhas dentro das regiões selecionadas, o decodificador gera um sinal 25 randômico (-1 ou +1) e o aplica ao patamar de ruido decodificado.
Entretanto, também podem ser aplicados outros métodos para prover uma contribuição de ruido.
A seguir, serão descritos alguns detalhes com referência às Figs. 1, 2, 3 e 4, em que a Fig. 3 mostra um pseudo-código de programas de um algoritmo para o preenchimento de ruido no lado do decodificador, que pode ser feito pelo preenchedor de ruidos 100, e em que a Fig. 4 mostra uma representação gráfica do 5 preenchimento de ruido. Para iniciar, a decodificação do patamar de ruido pode ser feita pelo extrator de fator de ruido 220, que recebe, por exemplo, um indice de fator de ruido (também brevemente denominado de "indice") e prover com base nisso o valor do fator 10 de ruido decodificado 222 (também denominado por "nf_decoded"). O indice de fator de ruido pode, por exemplo, ser codificado usando três ou quatro bits, e pode, por exemplo, ser um valor inteiro ’entre Che 7, oh um valor” inteiro entre 0 e 15. Os valores quantizados das linhas de frequência 15 (também denominadas de "linhas, espectrais"- ou-"bins-espectrais") - podem ser providos pelo decodificador do coeficiente espectral 210. Assim, são obtidos valores de linhas espectrais quantizadas (ou opcionalmente, inversamente quantizadas) (também denominadas de "coeficientes espectrais"), que são denominadas de "quantizadas 20 (x(i))". Aqui, i indica um indice de frequência dos valores da linha espectral.
Subsequentemente, são detectadas regiões espectrais pelo preenchedor de ruidos 100 em uma parte selecionada dos espectros (ex., em uma porção superior do espectro iniciando a 25 partir de um indice de frequência predeterminado de linha espectral i) onde o comprimento de operação de zeros (isto é, de valores de linhas espectrais quantizadas e quantizadas em zero) é maior que o tamanho minimo de comprimento de operação. A detecção dessas regiões espectrais é feita por uma primeira porção 310 do algoritmo 300 da Fig. 3. Como pode ser visto na primeira porção 310 do algoritmo 300, um conjunto R de regiões detectadas é inicializado como sendo um conjunto vazio no inicio do algoritmo 5 (R = {}; ) -
No exemplo do algoritmo da Fig. 3, é estabelecido um comprimento de operação minimo em um valor fixo de 8, mas naturalmente pode ser escolhido qualquer outro valor. » Subsequentemente, foi determinado para uma 10 pluralidade de linhas espectrais em consideração (indicadas pela variável corrente "line index") se cada uma dessas linhas espectrais em consideração compreende um ambiente bilateral de - linhas espectrais quantizadas em "zero (e se a própria linha espectral em consideração é quantizada em zero). Por exemplo, 15 todas as linhas_ na segunda metade .dos espectros - podem ser sucessivamente consideradas como linhas em consideração, quando . uma linha que estiver atualmente em consideração for indicada por um indice de frequência "line index". Para uma linha em consideração indicada pelo "line index", é computada a soma de 20 coeficientes espectrais quantizados "quantized(x(i))" em um ambiente que vai de um indice de frequência de linha espectral de "line index - (MinimalRunLength)/2" até um índice de frequência de linha espectral de "line index + MinimalRunLength)/2". Se for determinado que a soma dos valores da linha espectral no referido 25 ambiente da linha espectral atualmente em consideração (tendo índice de frequência de linha espectral "line index") é zero, então a linha espectral atualmente em consideração (ou, mais precisamente, seu índice de frequência de linha espectral "line index") é adicionada ao conjunto R das regiões detectadas (ou linhas espectrais detectadas). Como consequência, se um indice de frequência de linha espectral de uma linha espectral for adicionado ao conjunto R, isto significa que as linhas espectrais 5 com indices de linha entre "line index - MinimalRunLength)/2" e "line index + MinimalRunLength)/2" todas compreendem valores da linha espectral quantizadas em zero.
Assim, na primeira porção 310 do pseudo-código de programas 310, é obtido um conjunto R de indices de frequência 10 de linha espectral "line index", que enumera aquelas (e somente aquelas) linhas espectrais da porção espectral em consideração que são "suficientemente" espaçadas (isto é, por pelo menos _MinimalRunLengthl2 linhas)- - deA quaisquer ' linhas espectrais quantizadas em um valor diferente de zero. 15 A detecção dessa região está ilustrada na Fig. 4, que mostra uma representação gráfica 400 de um espectro. Uma abscissa 410 descreve uma frequência de linhas espectrais em termos de um indice de frequência de linha espectral "line index". Uma ordenada 412 descreve uma intensidade (ex., amplitude 20 ou energia) das linhas espectrais. Como pode ser visto, a porção do espectro ilustrada na representação gráfica 400 compreende quatro linhas espectrais 420a, 420b, 420c e 420d, quantizadas em um valor diferente de zero. Além disso, entre as linhas espectrais 420c e 420d existem 11 linhas espectrais 422a-422k quantizadas em 25 zero. Também, é suposto que uma linha espectral é somente considerada como sendo suficientemente espaçada de uma linha espectral quantizada em um valor diferente de zero se houver pelo menos quatro linhas espectrais quantizadas em zero entre a linha espectral atualmente em consideração e qualquer outra linha espectral quantizada em um valor diferente de zero (e naturalmente, se a própria linha espectral atualmente em consideração for quantizada em zero). Entretanto, ao considerar a 5 linha espectral 422a, será achado que a linha espectral 422a é imediatamente adjacente à linha espectral 422c, que não é quantizada em zero, de maneira que o indice de frequência de linha espectral da linha espectral 422a não será parte do conjunto R computado de acordo com a primeira parte 310 do algoritmo 300. De 10 forma similar, será achado que as linhas espectrais 422b, 422c, e 422d não são espaçadas de maneira suficiente de qualquer das linhas espectrais quantizadas em um valor diferente de zero, de maneira que os indices de frequência de linha espectral'das linhas espectrais 422b a 422d também não farão parte do conjunto R. Em 15 contraste, será visto que a linha espectral 422e é suficientemente - espaçada de qualquer das linhas espectrais quantizadas em um valor diferente de zero, porque a linha espectral 422e é uma linha de centro (ou, mais geralmente, uma linha central), de uma sequência de 9 linhas espectrais contiguas, todas quantizadas em zero. 20 Assim, o indice de frequência de linha espectral da linha espectral 422e fará parte do conjunto R computado na primeira porção 310 do algoritmo 300. O mesmo também vale para as linhas espectrais 422f e 422g, de maneira que os indices de frequência de linha espectral das linhas espectrais 422f e 422g farão parte do 25 conjunto R determinado na primeira porção 310 do algoritmo 300, como as linhas espectrais 422f, 422g são suficientemente espaçadas de quaisquer linhas espectrais de baixa frequência 420a, 420b, e 420c, quantizadas em um valor diferente de zero e de quaisquer linhas espectrais de maior frequência quantizadas em um valor diferente de zero. Por outro lado, as linhas espectrais 422h, 422i, 422 j, e 422k não farão parte do conjunto R, porque as referidas linhas espectrais estão localizadas muito perto, em termos de frequência, além da linha espectral 420d quantizada em um valor diferente de zero. Assim, o conjunto R não compreenderá indices de frequência de linha espectral das linhas espectrais 420a, 420b, 420c, 420d, porque as referidas linhas espectrais são quantizadas em um valor diferente de zero. Além disso, os indices de frequência de linha espectral das linhas espectrais 422a, 422b, 422c, 422d, 422h, 422i, 422j, e 422k, não farão parte do conjunto R, porque as referidas linhas espectrais se . localizam muito próximas do lado das linhas espectrais 420a, 420b, 420c, e 420d. Em contraste, os indices de frequência de linha espectral das linhas-espectrais 422e, 422f, 422g, serão incluidos no conjunto R, porque as próprias referidas linhas espectrais são quantizadas em zero e espaçadas o suficiente de quaisquer linhas espectrais adjacentes diferentes de zero. O algoritmo 300 também compreende uma segunda porção 320 de decodificação do patamar de ruido, onde um indice de valor de ruido ("index" na porção de código do programa 320) é convertido em um valor de figura do ruido decodificado ("nf_decoded" no código do programa 300) . O código do programa 300 também compreende uma terceira porção 330 de preenchimento das linhas espectrais identificadas, isto é, linhas espectrais dos indices de frequência de linha espectral i que estão no conjunto R, com ruido. Para tanto, os valores espectrais das linhas espectrais identificadas (indicados, por exemplo, por x(i), onde a variável operacional i subsequentemente toma todos os índices de frequência de linha espectral incluídos no conjunto R) são estabelecidos para os 5 valores de preenchimento de ruído. Os valores de preenchimento de ruído são, por exemplo, obtidos multiplicando o valor de preenchimento de ruído decodificado (nf_decoded) com um número randômico ou pseudo número randômico (indicado por "random(-1, + 1)") , onde o número randômico ou pseudo-randômico pode, por 10 exemplo, randomicamente ou pseudo-randomicamente tomar os números -1 e +1. Entretanto, a provisão diferente de um ruído randômico ou pseudo-randômico é naturalmente possível. . ,.te _... „ O., preenchimento- de-ruí do é também i-lus trado na Fig. 4. Como pode ser visto na Fig. 4, os valores espectrais zero 15 das linhas espectrais 422e, 422f, e 422g são substituídos pelos valores de preenchimento de ruído (ilustrados pelas linhas pontilhadas na Fig. 4).
Calculador do parâmetro de preenchimento de ruido de acordo com as Figs. 5 e 6
A Fig. 5 mostra um diagrama esquemático de blocos de um calculador do parâmetro de preenchimento de ruído 500. O calculador do parâmetro de preenchimento de ruído é configurado para obter uma representação espectral quantizada 510 de um sinal de áudio e prover, com base nela, um parâmetro de preenchimento de ruído 512. O calculador do parâmetro de preenchimento de ruído 500 compreende um identificador de região espectral 520, que é configurado para receber a representação espectral quantizada 510 do sinal de áudio e para identificar regiões espectrais (ex., linhas espectrais) da representação espectral quantizada 510 espaçada das regiões espectrais diferentes de zero da representação espectral quantizada 510 por pelo menos uma região espectral intermediária (ex., linha espectral), para obter uma informação 522 descrevendo as regiões espectrais identificadas (ex., linhas espectrais identificadas). O calculador do parâmetro de preenchimento de ruido 500 ainda compreende um calculador de valor de ruido 530 configurado para receber informações do erro de quantização 532 e prover o parâmetro de preenchimento de ruido 512. Para tanto, o calculador de valor de ruido é configurado para considerar seletivamente os erros de quantização das regiões espectrais identificadas, descritos pelas informações 522, para um cálculo do parâmetro de preenchimento de _ruido =512.- - -
As informações do erro de quantização 532 podem, por exemplo, ser idênticas a uma informação de energia (ou informação de intensidade) que descreva energias (ou intensidades) dessas linhas espectrais que são quantizadas em zero na representação espectral quantizada 510.
O calculador do parâmetro de preenchimento de ruido 500 pode opcionalmente compreender um quantizador 540, que é configurado para receber uma representação espectral não quantizada 542 de um sinal de áudio e prover a representação espectral quantizada 510 do sinal de áudio. O quantizador 540 pode ter uma resolução de quantização ajustável, que pode, por exemplo, ser individualmente ajustável por linha espectral, ou por banda espectral (ex., na dependência de uma relevância psicoacústica das linhas espectrais ou das bandas espectrais, obtidas usando um modelo psicoacústico). A funcionalidade do quantizador de resolução variável pode ser igual à funcionalidade descrita em International Standards ISO/IEC 13818-7 e ISO/IEC 14496-3. Em particular, o quantizador 540 pode ser ajustado de maneira que existam vãos espectrais ou buracos espectrais na 5 representação espectral quantizada 510 do sinal de áudio, isto é, regiões contiguas de linhas espectrais adjacentes quantizadas em zero.
Além disso, a representação espectral não quantizada 542 pode servir como informações do erro de 10 quantizaçâo 532, ou as informações do erro de quantizaçâo 532 podem ser obtidas da representação espectral não quantizada 542.
A seguir, será descrita em detalhes a funcionalidade da computação do parâmetro de preenchimento, de ruido, que pode ser formado pelo calculador do parâmetro de preenchimento de ruido 500. Na computação do parâmetro de preenchimento de ruido no lado do codificador, o preenchimento de ruido se aplica preferivelmente no dominio da quantizaçâo. Dessa forma, o ruido introduzido é conformado posteriormente pelo filtro inverso psicoacústico relevante. A energia do ruido introduzido pelo decodificador é calculada e codificada no lado do codificador seguindo as próximas etapas: 1. Obter os valores quantizados das linhas de frequência; 2. Selecionar somente uma parte dos espectros; 3. Detectar as regiões espectrais na parte selecionada dos espectros onde o comprimento de operação dos zeros é maior que o tamanho minimo de comprimento de operação; 4. Calcular a média geométrica do erro de quantização com relação às regiões previamente detectadas; e 5. Quantizar uniformemente a média geométrica com 3 bits. Com relação à primeira etapa, os valores 5 quantizados das linhas de frequência podem ser obtidos usando o quantizador 540. Os valores quantizados das linhas de frequência são, portanto, representados pela representação espectral quantizada 510. Com relação à segunda etapa, que pode ser 10 considerada como opcional, deve ser notado que a computação do preenchimento de ruido é feita, de preferência, com base na porção de alta frequência dos espectros. Em uma configuração preferida, a energia do ruido (denominada patamar de ruido) é somente calculada na segunda metade dos espectros, isto é, para 15 as altas frequências (mas não para as menores frequências). Realmente, normalmente as altas frequências (a parte superior do espectro) são menos perceptualmente importantes que as baixas frequências, e os valores quantizados em zero ocorrem principalmente na segunda metade dos espectros. Além disso, somar 20 o ruido nas altas frequências é menos propenso a obter uma restituição final sonora ruidosa. Com relação à terceira etapa, restringindo o preenchimento de ruido nas regiões espectrais em que ocorre o comprimento de operação de valores quantizados em zero, é evitado 25 que o preenchimento de ruido afete muito os valores não zerados. Dessa forma, o preenchimento de ruido não se aplica na vizinhança dos valores não zerados, e a tonalidade original dessas linhas é assim melhor preservada. O tamanho minimo de comprimento de operação é fixado em 8 em uma configuração preferida. Isto significa que as 8 linhas que circundam um valor não zerado não são afetadas pelo preenchimento de ruido (e não são, como consequência, consideradas para o cálculo de um valor de ruido). Com relação à quarta etapa, o erro de quantização no dominio quantizado está na faixa de [-0,5; 0,5], e é suposto uniformemente distribuído. A energia dos erros de quantização das regiões detectadas é média no dominio logarítmico (isto é, média geométrica) . 0 patamar de ruido, nf, é, então, calculado como 10 segue: nf = power(10, sum(log10(E(x(i))))/(2*n)) .
Acima, sum() é a soma das energias logarítmicas, loglO(EJ)), das^ linhas .individuais x(i)—dentro -das regiões detectadas, eno número de linhas dentro dessas regiões. O 15 patamar de ruido, nf, está entre 0 e 0,5. Esse cálculo permite levar em conta a original planicidade espectral dos valores zerados, e então obter as informações sobre suas características de tonalidade/ruidos. Se os valores zerados forem muito tonais, o 20 patamar de ruido (computador no equipamento 500) irá para zero, e um baixo patamar de ruido será adicionado ao decodificador (ex., no decodificador 100, 200 acima descrito). Se os valores zerados forem realmente ruidosos, o patamar de ruido será alto, e o preenchimento de ruidos pode ser visto como uma codificação altamente paramétrica das linhas espectrais zeradas, como PNS (Substituição do Ruido Perceptual) (ver também a referência [4]) . Com relação à quinta etapa, é então calculado como segue o indice de quantização ("index") do patamar de ruido: index=max(0,min(7, int(8-16*nf))). O índice é transmitido, por exemplo, em 3 bits.
A seguir, será descrito o algoritmo para a computação do parâmetro de preenchimento de ruído, com referência 5 à Fig. 6, que mostra um pseudo-código de programas 600 desse algoritmo para a obtenção do parâmetro de preenchimento de ruído, de acordo com uma configuração da invenção. O algoritmo 600 compreende uma primeira porção 610 de regiões de detecção que devem ser consideradas para a computação do parâmetro de 10 preenchimento de ruído. São descritas regiões identificadas (ex., linhas espectrais) pelo conjunto R, que pode, por exemplo, compreender índices de frequência de linha espectral ("line JLndex") de linhas espectrais identificadas. As linhas espectrais podem ser identificadas, sendo as mesmas quantizadas em zero e 15 que são mais espaçadas, o suficiente, de quaisquer outras linhas espectrais quantizadas em um valor diferente de zero.
A primeira porção 610 do programa 600 pode ser idêntica à primeira porção 310 do programa 300. Assim, a representação espectral quantizada ("quantized (x(i))") usada no 20 algoritmo 600 pode, por exemplo, ser idêntica à representação espectral quantizada ("quantized x(i))") usada no algoritmo 300 no lado do decodificador. Em outras palavras, a representação espectral quantizada usada no lado do codificador pode ser transmitida, de forma codificada, para o decodificador em um 25 sistema de transmissão que compreende um codificador e um decodificador. O algoritmo 600 compreende uma segunda porção 620 de computação do patamar de ruído. Na computação do patamar de ruído, somente são consideradas as regiões espectrais (ou linhas espectrais) descritas pelo conjunto R computado na primeira porção 610 do algoritmo 600. Como pode ser visto, o valor de preenchimento de ruido é primeiro inicializado em zero. O número de linhas espectrais consideradas (n) é também primeiro inicializado em zero. Subsequentemente, as energias de todas as linhas espectrais, índices de linha que são incluídos no conjunto R, são somadas, onde as energias das linhas espectrais são logaritmizadas antes da soma. Por exemplo, pode ser somado um 10 logaritmo na base 10 (log 10) das energias (E(x(i))) das linhas espectrais. Deve ser aqui notado que a energia real das linhas espectrais antes da quantização (indicada por "E ou energy —(x(i)-)") é— somada sob forma logaritmizada*. O “número dé^lintíãs espectrais considerado é também contado. Assim, após a execução 15 da segunda porção 620 do algoritmo 600, a variável nf indica uma soma logarítmica das energias das linhas espectrais identificadas antes da quantização, e a variável n descreve o número de linhas espectrais identificadas. O algoritmo 600 também compreende uma terceira porção 630 de quantização do valor nf, isto é, a soma logarítmica das linhas espectrais identificadas. Pode ser usada uma equação de mapeamento como descrita acima ou como mostrada na Fig. 6.
Método de acordo com a Fig. 7
A Fig. 7 mostra um fluxograma de um método para prover uma representação espectral com preenchimento de ruído de um sinal de áudio com base em uma representação espectral de entrada do sinal de áudio. O método 7 00 da Fig. 7 compreende uma etapa 710 de identificação das regiões espectrais de representação espectral de entrada de um sinal de áudio espaçadas das regiões espectrais da representação espectral de entrada diferente de zero por pelo menos uma região espectral intermediária, para obter regiões espectrais identificadas. O método 700 também compreende uma etapa 720 de introduzir seletivamente ruído nas regiões espectrais identificadas, para obter uma representação espectral com preenchimento de ruído do sinal de áudio. O método 700 pode ser suplementado por qualquer das características e funcionalidades descritas na presente com referência ao preenchedor de ruídos do invento.
Método de acordo com a Fig. 8
A Fig - 8 mostra urrr fluxograma *de um método pára prover um parâmetro de preenchimento de ruído com base em uma representação espectral quantizada de um sinal de áudio. O método 800 compreende uma etapa 810 de identificação das regiões espectrais da representação espectral quantizada de um sinal de áudio espaçado das regiões espectrais diferentes de zero da representação espectral quantizada por pelo menos uma região espectral intermediária, para obter regiões espectrais identificadas. O método 800 também compreende uma etapa 820 de considerar seletivamente erros de quantização das regiões espectrais identificadas para o cálculo do parâmetro de preenchimento.
O método 800 pode ser suplementado por quaisquer das características e funcionalidades descritas na presente com relação ao calculador do parâmetro de preenchimento de ruído.
Representação do sinal de áudio de acordo com a Fig. 9.
A Fig. 9 mostra uma representação gráfica de uma representação de sinal de áudio, de acordo com uma configuração da invenção. A representação do sinal de áudio 900 pode, por 5 exemplo, formar a base para a representação espectral de entrada 110. A representação do sinal de áudio 900 pode também tomar a funcionalidade da representação do sinal de áudio codificado 212. A representação do sinal de áudio 900 pode ser obtida usando o calculador do parâmetro de preenchimento de ruido 500, em que a 10 representação do sinal de áudio 900 pode, por exemplo, compreender a representação espectral quantizada 510 do sinal de áudio e o parâmetro de preenchimento de ruido 512, por exemplo, ambos sob forma codificada. - — • * ~ ~ *■ “ ‘
Em outras palavras, a representação do sinal de 15 áudio 900 pode representar um sinal de áudio. A representação do sinal de áudio codificado 900 compreende uma representação do dominio espectral quantizado codificado do sinal de áudio e também um parâmetro de preenchimento de ruído codificado. O parâmetro de preenchimento de ruído representa um erro de 20 quantizaçâo das regiões espectrais da representação no domínio espectral quantizada em zero e espaçadas das regiões espectrais da representação no domínio espectral quantizado em um valor diferente de zero por pelo menos uma região espectral intermediária. Naturalmente, a representação do sinal de áudio 900 pode ser suplementada por qualquer das informações acima descritas.
ALTERNATIVAS DE IMPLEMENTAÇÃO
Dependendo de determinados requisitos de implementação, as configurações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser feita usando um meio digital de armazenagem, por exemplo, um 5 disquete, um DVD, CD, ROM, PROM, EPROM, EEPROM ou uma memória FLASH, tendo armazenados sinais de controle de leitura eletrônica, que cooperam (ou são capazes de cooperar) com um sistema programável de computador, de maneira a ser realizado o respectivo método.
Algumas configurações de acordo com a invenção compreendem um portador de dados tendo sinais de controle de leitura eletrônica, que são capazes de cooperar com um sistema programável de computador, - de maneira que seja realizado um ~dós métodos descritos na presente.
Em geral, as configurações da presente invenção podem ser implementadas como um produto de programa de computador com um código do programa, o código do programa sendo operacional para realizar um dos métodos quando o produto de programa de computador opera em um computador. O código do programa pode, por 20 exemplo, ser armazenado em um portador de leitura por máquina.
Outras configurações compreendem o programa de computador para realizar um dos métodos descritos na presente, armazenados em um portador de leitura por máquina.
Portanto, em outras palavras, uma configuração 25 do método do invento é um programa de computador tendo um código do programa para realizar um dos métodos descritos na presente, quando o programa de computador opera em um computador. outra configuração dos métodos do invento é um portador de dados (ou um meio digital de armazenagem) compreendendo o programa de computador para realizar um dos métodos descritos na presente.
Portanto, outra configuração do método do invento é um fluxo de dados ou uma sequência de sinais representando o programa de computador para realizar os métodos descritos na presente. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para transferência pela conexão de comunicação de dados, por exemplo, via Internet.
Outra configuração compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para realizar um dos métodos descritos na presente
Outra configuração compreende um computador tendo instalado o programa de computador para realizar um dos métodos descritos na presente.
Em algumas configurações, um dispositivo lógico programável (por exemplo, um gate array programável de campo) pode ser usado para realizar algumas ou todas as funcionalidades dos métodos descritos na presente. Em algumas configurações, um gate array programável de campo pode cooperar com um microprocessador para realizar um dos métodos descritos na presente.
CONCLUSÃO
Para resumir o que foi dito acima, a presente invenção amplia a ferramenta de codificação de áudio "preenchimento de ruido" considerando o sinal de entrada e as características do sinal decodificado tanto ao fazer a computação do parâmetro de preenchimento de ruidos no lado do codificador como a aplicação do ruido no lado do decodificador. Em uma configuração da invenção, a tonalidade/ruidos das linhas espectrais quantizadas em zero é estimada e usada para a 5 estimativa do patamar de ruidos. Este patamar de ruido é então transmitido para o decodificador, que aplica o preenchimento de ruido aos valores quantizados em zero que ocorrem em regiões especificas dos espectros. Essas regiões são selecionadas com base nas características dos espectros decodificados.
Com relação ao contexto da invenção, pode-se notar que a invenção foi aplicada a uma codificação baseada em transformada, que usa uma quantização escalar em MDCT. Os _ . coeficientes -MDCT são- - previamente^ normalizados por' uma 'curva calculada com base em avisos perceptuais. A curva é deduzida a 15 partir de um estágio de análise LPC prévia {Linear Prediction Coding) ponderando os coeficientes LPC, como é feito no modo TCX de AMR-WB+ (ver referência [1]). A partir dos coeficientes ponderados, é projetado um filtro de ponderação perceptual e aplicado antes da MDCT. O filtro inverso é também aplicado no lado do decodificador após a MDCT inversa. Este filtro inverso de ponderação perceptual conforma os ruidos de quantização de forma a minimizar ou mascarar o ruido percebido.
Em configurações de acordo com a invenção, são superadas as desvantagens da técnica anterior. O preenchimento de 25 ruido é aplicado de forma convencional de maneira sistemática aos valores quantizados em zero, considerando somente um limite espectral baseado em envelope, um limite de mascaramento ou um limite energético. A técnica anterior não considera nem as características do sinal de entrada nem as características do sinal decodificado. Assim, o equipamento convencional pode introduzir outros problemas indesejáveis, especialmente problemas de ruídos e cancela as vantagens dessa ferramenta.
Em contraste, configurações de acordo com a invenção permitem um melhor preenchimento de ruído com redução de problemas, como é discutido abaixo.
Referências: [1] "Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec", 3GPP TS 26.290 V6.3.0, 2005-06, Technical Specification. [2] Ragot et al, "ITU-T G.729.1: AN 8-32 Kbit/S _ Scalable_Coder Interoperable- with G.729 for Wideband Telephony and Voice Over IP", Vol. 4, ICASSP 07, 15-20 April 2007. [3] "AUDIO CODING", International Application No.: PCT/IB2002/001388, Applicant: KONINKLIJKE PHILIPS ELECTRONICS N.V. [NL/NL]; Groenewoudseweg 1 NL-5621 BA Eindhoven (NL) . Inventors: TAORI, Rakesh; Prof Holstlaan 6 NL-5656 AA Eindhoven (NL) and VAN DE PAR, Steven, L., J., D., E.; Prof. Holstlaan 6 NL-5656 AA Eindhoven (NL). [4] Generic Coding of Moving Pictures and Associated Audio: Advanced Audio Coding. International Standard 13818-7, ISO/IEC JTC1/SC29/WG11 Moving 10 Pictures Expert Group, 1997.

Claims (14)

1. “DISPOSITIVO PREENCHEDOR DE RUÍDOS” (100) para prover uma representação espectral com preenchimento de ruído (112) de um sinal de áudio com base em uma representação espectral de entrada (110) do sinal de áudio, caracterizado por compreender: um identificador de região espectral (120) configurado para identificar regiões espectrais (422e, 422f, 422g) da representação espectral de entrada (110) que são quantizadas em zero e espaçadas das regiões espectrais diferentes de zero (420a, 420b, 420c, 420d) da representação espectral de entrada (110) por pelo menos uma região espectral intermediária (422a, 422b, 422c, 422d, 422h, 422i, 422j, 422k), para obter regiões espectrais identificadas (422e, 422f, 422g); e um insersor de ruído (130) configurado para introduzir seletivamente o ruído nas regiões espectrais identificadas (422e, 422f, 422g) e obter a representação espectral com preenchimento de ruído (112) do sinal de áudio.
2. Dispositivo preenchedor de ruídos (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o identificador de região espectral (120) é configurado para identificar, como as regiões espectrais identificadas, linhas espectrais (422e, 422f, 422g) da representação espectral de entrada (110), que são quantizadas em zero e que compreendem pelo menos um primeiro número predeterminado (4) de linhas espectrais vizinhas de menor frequência (422a, 422b, 422d; 422b, 422c, 422d, 422e, 422c, 422d, 422e, 422f) quantizadas em zero e pelo menos um segundo número predeterminado (4) de linhas espectrais vizinhas de maior frequência (422f, 422g, 422h, 422i; 422g, 422h, 422i, 422j; 422h, 422i, 422j, 422k) quantizadas em zero, como regiões espectrais identificadas; onde o primeiro número predeterminado (4) é maior ou igual a 1, e onde o segundo número predeterminado (4) é maior ou igual a 1; e onde o insersor de ruído (130) é configurado para introduzir seletivamente o ruído nas linhas espectrais identificadas (422e, 422f, 422g) enquanto deixa as linhas espectrais (420a, 420b, 420c, 420d) quantizadas em um valor diferente de zero e linhas espectrais (422a, 422b, 422c, 422d, 422h, 422i, 422j, 422k) quantizadas em zero, mas não tendo o primeiro número predeterminado (4) de linhas espectrais vizinhas de menor frequência quantizadas em zero, ou o segundo número predeterminado (4) de linhas espectrais vizinhas de maior frequência quantizadas em zero não afetadas pelo preenchimento de ruído.
3. Dispositivo preenchedor de ruído (100), de acordo com a reivindicação 2, caracterizado pelo fato de que o primeiro número predeterminado (4) é igual ao segundo número predeterminado (4).
4. Dispositivo preenchedor de ruído (100), de acordo com qualquer uma das reivindicações de 1 a 3, caracterizado pelo fato de que o preenchedor de ruídos (100) é configurado para introduzir ruído somente nas regiões espectrais em uma porção superior da representação espectral de entrada (110) do sinal de áudio, deixando uma porção inferior da representação espectral de entrada (110) do sinal de áudio não afetada pelo preenchimento de ruído.
5. Dispositivo preenchedor de ruído (100), de acordo com qualquer uma das reivindicações de 1 a 4, caracterizado pelo fato de que o identificador de região espectral (120) é configurado para somar valores quantizados de intensidade (quantizados (x(i))) das regiões espectrais na vizinhança espectral predeterminada bilateral de uma dada região espectral (i), para obter um valor somado (E), e avaliar o valor somado (E) e decidir se a determinada região espectral (i) é uma região espectral identificada ou não.
6. Dispositivo preenchedor de ruído (100), de acordo com qualquer uma das reivindicações de 1 a 5, caracterizado pelo fato de que o identificador de região espectral (120) é configurado para varrer uma faixa de regiões espectrais da representação espectral de entrada (110) e detectar sequências contíguas (422a a 422i; 422b a 422j; 422c a 422k) de regiões espectrais quantizadas em zero, e reconhecer uma ou mais regiões espectrais centrais (422e, 422f, 422g) das sequências contíguas detectadas como regiões espectrais identificadas.
7. Dispositivo calculador do parâmetro de preenchimento de ruído (500) para prover um parâmetro de preenchimento de ruído (512) com base em uma representação espectral quantizada (510) de um sinal de áudio, caracterizado por compreender: um identificador de região espectral (520) configurado para identificar regiões espectrais (422e, 422f, 422g) da representação espectral quantizada (510) espaçadas das regiões espectrais diferentes de zero (420a, 420b, 420c, 420d) da representação espectral quantizada (510) por pelo menos uma região espectral intermediária (422a, 422b, 422c, 422d, 422h, 422i, 422j, 422k), para obter regiões espectrais identificadas (422e, 422f, 422g); e um calculador de valor de ruído (530) configurado para considerar seletivamente erros de quantização (energy (x(i))) das regiões espectrais identificadas (i) para o cálculo do parâmetro de preenchimento de ruído (512, nf).
8. Dispositivo calculador do parâmetro de preenchimento de ruído (500), de acordo com a reivindicação 7, caracterizado pelo fato de que o identificador de região espectral (520) é configurado para identificar linhas espectrais (422e, 422f, 422g) da representação espectral de entrada (510), que sejam quantizadas em zero e que compreendam pelo menos um primeiro número predeterminado (4) de linhas espectrais vizinhas de menor frequência (422a, 422b, 422c, 422d; 422b, 422c, 422d, 422e, 422c, 422d, 422e, 422f) quantizadas em zero e pelo menos um segundo número predeterminado (4) de linhas espectrais vizinhas de maior frequência (422f, 422g, 422h, 422i; 422g, 422h, 422i, 422j; 422h, 422i, 422j, 422k) quantizadas em zero, como regiões espectrais identificadas; onde o primeiro número predeterminado (4) é maior ou igual a 1, e onde o segundo número predeterminado (4) é maior ou igual a 1; e onde o calculador de valor de ruído (520) é configurado para considerar seletivamente os erros de quantização das regiões espectrais identificadas (i) para o cálculo do parâmetro de preenchimento de ruído, deixando as linhas espectrais (420a, 420b, 420c, 420d) quantizadas em um valor diferente de zero e linha espectral (422a, 422b, 422c, 422d, 422h, 422i, 422j, 422k) quantizada em zero, mas não tendo o primeiro número predeterminado (4) de linhas espectrais vizinhas de menor frequência quantizadas em zero, ou o segundo número predeterminado (4) de linhas espectrais vizinhas de maior frequência quantizadas em zero fora de consideração para o cálculo do parâmetro de preenchimento de ruído.
9. Dispositivo calculador do parâmetro de preenchimento de ruído (500), de acordo com qualquer uma das reivindicações de 7 a 8, caracterizado pelo fato de que o calculador de valor de ruído (530) é configurado para considerar uma energia real (energy(x(i))) dos erros de quantização das regiões espectrais identificadas (i) para o cálculo do parâmetro de preenchimento de ruído (512, nf, nf_index).
10. Dispositivo calculador do parâmetro de preenchimento de ruído (500), de acordo com qualquer uma das reivindicações de 7 a 9, caracterizado pelo fato de que o calculador de valor de ruído (530) é configurado para realçar a energia não tonal do erro de quantização (energy (x(i))) distribuída em uma pluralidade de regiões espectrais identificadas com relação à energia tonal do erro de quantização concentrada em uma única região espectral ou em uma pluralidade de linhas espectrais.
11. Dispositivo calculador do parâmetro de preenchimento de ruído (500), de acordo com qualquer uma das reivindicações de 7 a 10, caracterizado pelo fato de que o calculador de valor de ruído (530) é configurado para calcular a soma das energias logaritmizadas dos erros de quantização (log10(energy(x(i)))) das regiões espectrais identificadas (i), para obter o parâmetro de preenchimento de ruído (512, nf, nf_index).
12. Método (700) para prover uma representação espectral com preenchimento de ruído de um sinal de áudio com base em uma representação espectral de entrada do sinal de áudio, caracterizado por compreender: identificação (710) das regiões espectrais da representação espectral espaçadas de regiões espectrais diferentes de zero por pelo menos uma região espectral intermediária, para obter regiões espectrais identificadas; e seletivamente introduzir (720) ruído nas regiões espectrais identificadas para obter a representação espectral com preenchimento de ruído do sinal de áudio.
13. Método (800) para prover um parâmetro de preenchimento de ruído com base na representação espectral quantizada de um sinal de áudio, caracterizado por compreender: identificar (810) regiões espectrais da representação espectral quantizada espaçadas das regiões espectrais diferentes de zero da representação espectral quantizada por pelo menos uma região espectral intermediária para obter regiões espectrais identificadas; e considerar seletivamente (820) erros de quantização das regiões espectrais identificadas para um cálculo do parâmetro de preenchimento de ruído.
14. Mídia de armazenamento não transitória tendo gravada instruções lida por um computador caracterizada por compreender instruções que quando executadas realizam o método da reivindicação 12 ou 13.
BRPI0910522-0A 2008-07-11 2009-06-26 Dispositivo preenchedor de ruídos, dispositivo calculador do parâmetro de preenchimento de ruído, método para prover uma representação espectral com preenchimento de ruído, método para prover um parâmetro de preenchimento de ruído de um sinal de áudio BRPI0910522B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7987208P 2008-07-11 2008-07-11
US61/079,872 2008-07-11
US10382008P 2008-10-08 2008-10-08
US61/103,820 2008-10-08
PCT/EP2009/004653 WO2010003565A1 (en) 2008-07-11 2009-06-26 Noise filler, noise filling parameter calculator, method for providing a noise filling parameter, method for providing a noise-filled spectral representation of an audio signal, corresponding computer program and encoded audio signal

Publications (2)

Publication Number Publication Date
BRPI0910522A2 BRPI0910522A2 (pt) 2020-10-20
BRPI0910522B1 true BRPI0910522B1 (pt) 2025-09-02

Family

ID=

Similar Documents

Publication Publication Date Title
ES2374640T3 (es) Rellenador de ruido, calculador de parámetro de relleno de ruido, método para proporcionar un parámetro de relleno de ruido, método para proporcionar una representación espectral rellenada con ruido de una señal de audio, programa informático correspondiente y señal de audio codificada.
CN110189760B (zh) 对音频信号的频谱执行噪声填充的装置
RU2630889C2 (ru) Способ и устройство для определения режима кодирования, способ и устройство для кодирования аудиосигналов и способ и устройство для декодирования аудиосигналов
US20190189137A1 (en) Apparatus and method for encoding an audio signal using a compensation value
US9546924B2 (en) Transform audio codec and methods for encoding and decoding a time segment of an audio signal
CA2871252A1 (en) Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
BRPI0715516A2 (pt) sistemas, mÉtodos e equipamentos para limitar fator de ganho
BR112014021054B1 (pt) Controle de coerência de fase para sinais harmônicos nos codecs de áudio perceptuais
BR112015018020B1 (pt) Preenchimento de ruído sem informação adicional para codificadores do tipo celp
BRPI0910522B1 (pt) Dispositivo preenchedor de ruídos, dispositivo calculador do parâmetro de preenchimento de ruído, método para prover uma representação espectral com preenchimento de ruído, método para prover um parâmetro de preenchimento de ruído de um sinal de áudio
JP2008518264A (ja) 振幅の包絡線を有するパラメトリックオーディオコーディング
HK1157045B (en) Noise filler, noise filling parameter calculator, method for providing a noise filling parameter, method for providing a noise-filled spectral representation of an audio signal, corresponding computer program and encoded audio signal
BR112019003711B1 (pt) Aparelho e método para codificar um sinal de áudio com o uso de um valor de compensação
HK1246960A1 (en) Audio decoder, method for decoding an audio signal and computer program
HK1154113B (en) Audio encoder, methods for providing an audio stream and computer program
HK1154113A (en) Audio encoder, methods for providing an audio stream and computer program
AU2013273846A1 (en) Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program