BRPI0010672B1 - uso de quantificação de ganho adaptativo e comprimentos de símbolo não-uniformes para uma codificação de áudio - Google Patents

uso de quantificação de ganho adaptativo e comprimentos de símbolo não-uniformes para uma codificação de áudio Download PDF

Info

Publication number
BRPI0010672B1
BRPI0010672B1 BRPI0010672A BR0010672A BRPI0010672B1 BR PI0010672 B1 BRPI0010672 B1 BR PI0010672B1 BR PI0010672 A BRPI0010672 A BR PI0010672A BR 0010672 A BR0010672 A BR 0010672A BR PI0010672 B1 BRPI0010672 B1 BR PI0010672B1
Authority
BR
Brazil
Prior art keywords
components
subband signal
gain factor
component
gain
Prior art date
Application number
BRPI0010672A
Other languages
English (en)
Other versions
BR0010672A (pt
Inventor
Charles Quito Robinson
Grant Allen Davidson
Michael Mead Truman
Original Assignee
Dolby Lab Licensing Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26968028&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0010672(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US09/349,645 external-priority patent/US6246345B1/en
Application filed by Dolby Lab Licensing Corp filed Critical Dolby Lab Licensing Corp
Publication of BR0010672A publication Critical patent/BR0010672A/pt
Publication of BRPI0010672B1 publication Critical patent/BRPI0010672B1/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders

Abstract

patente de invenção: "uso de quantificação de ganho adaptativo e comprimentos de símbolo não-uniformes para uma codificação de áudio". técnicas como a codificação de huffman podem ser usadas, para a representação de componentes de sinal de áudio digital de forma mais eficiente, usando símbolos de comprimento não-uniforme, que podem ser representados por outras técnicas de codificação usando símbolos de comprimento uniforme. infelizmente, a eficiência de codificação que pode ser obtida por uma codificação de huffman depende da função de densidade de probabilidade da informação a ser codificada, e o processo de codificação de huffman em si requer um processamento e recursos de memória consideráveis. um processo de codificação que use uma quantificação de ganho adaptativo de acordo com a presente invenção pode incluir a vantagem de usar símbolos de comprimento não-uniforme, enquanto elimina os inconvenientes de uma codificação de huffman. em uma quantificação de ganho adaptativo, as magnitudes de componentes de sinal a serem codificados são comparadas com um ou mais limites e colocadas em classes, de acordo com os resultados da comparação. as magnitudes dos componentes colocados em uma das classes são modificadas de acordo com um fator de ganho, que está relacionado ao limite usado para a classificação dos componentes. preferivelmente, o fator de ganho pode ser expresso como uma função apenas do valor limite. uma quantificação de ganho adaptativo pode ser usada para a codificação de sinais de sub-banda de freqüência em sistemas de codificação de áudio de banda dividida. aspectos adicionais incluindo quantificação de ganho adaptativo em cascata, codificação intraquadro, quantificadores de intervalo dividido e de não-sobrecarga são mostrados.

Description

Relatório Descritivo da Patente de Invenção para "USO DE QUANTIZAÇÃO DE GANHO ADAPTATIVO E COMPRIMENTOS DE SÍMBOLO NÃO-UNIFORMES PARA UMA CODIFICAÇÃO DE ÁUDIO".
Campo Técnico [001] A presente invenção refere-se, geralmente, à codificação e à decodificação de sinais. A presente invenção pode ser usada, vantajosamente, para uma codificação e uma decodificação de banda dividida, na qual os sinais de sub-banda de frequência são separadamente codificados. A presente invenção é particularmente útil em sistemas de codificação de áudio de percepção. Técnica Anterior [002] Há um interesse contínuo em codificar sinais de áudio digital em uma forma que imponha baixas exigências de capacidade de informação em canais de transmissão e uma mídia de armazenamento que ainda possa transportar os sinais de áudio codificados com um alto nível de qualidade subjetiva. Os sistemas de codificação de percepção tentam atingir essas metas conflitantes, usando um processo que codifica e quantiza os sinais de áudio de uma maneira que usa componentes espectrais maiores no sinal de áudio, para mascarar ou tornar inaudível o ruído de quantização resultante. Geralmente, é vantajoso controlar o formato e a amplitude do espectro de ruído de quantização, de modo que ele fique imediatamente abaixo do limite de mascaramento psicoacústico do sinal a ser codificado.
[003] Um processo de codificação de percepção pode ser realizado por um assim denominado codificador de banda dividida, que aplica um banco de filtros de síntese ao sinal de áudio, para obter sinais de sub-banda, que têm larguras de banda que são comensuráveis com as bandas críticas do sistema auditivo humano, estima o limite de mascaramento do sinal de áudio, pela aplicação de um modelo per- ceptivo aos sinais de sub-banda ou alguma outra medida de conteúdo espectral de sinal de áudio, estabiliza os tamanhos de passo de quan-tização, para a quantização dos sinais de sub-banda que são apenas pequenos o bastante para que o ruído de quantização resultante fique imediatamente abaixo do limite de mascaramento estimado do sinal de áudio, quantiza os sinais de sub-banda, de acordo com os tamanhos de passo de quantização estabelecidos, e monta em um sinal de áudio uma pluralidade de símbolos, que representam os sinais de sub-banda quantizados. Um processo de decodificação de percepção complementar pode ser realizado por um decodificador de banda dividida, que extrai os símbolos do sinal codificado e recupera os sinais de sub-banda quantizados a partir disso, obtém representações desquantiza-das dos sinais de sub-banda quantizados, e aplica um banco de filtros de síntese às representações desquantizadas, para a geração de um sinal de áudio, que é, de modo ideal, perceptivamente indistinguível do sinal de áudio original.
[004] Os processos de codificação nesses sistemas de codificação, frequentemente, usam um símbolo de comprimento uniforme para representar os elementos de sinal quantizado ou componentes em cada sinal de sub-banda. Infelizmente, o uso de símbolos de comprimento uniforme impõe uma capacidade de informação mais alta do que é necessário. A capacidade de informação requerida pode ser reduzida usando-se símbolos de comprimento não-uniforme, para representar os componentes quantizados em cada sinal de sub-banda.
[005] Uma técnica para proporcionar símbolos de comprimento não-uniforme é a codificação de Huffman de componente de sinal de sub-banda quantizado. Tipicamente, as tabelas de código de Huffman são projetadas usando-se "sinais de treinamento", que foram selecionados para representarem os sinais a serem codificados em aplicações reais. A codificação de Huffman pode proporcionar um bom ga- nho de codificação, se a função de densidade de probabilidade média (PDF) dos sinais de treinamento for razoavelmente próxima da PDF do sinal real a ser codificado, e se a PDF não for plana.
[006] Se a PDF do sinal real a ser codificado não estiver próxima da PDF média dos sinais de treinamento, a codificação de Huffman não realizará um ganho de codificação, mas pode incorrer em uma penalidade de codificação, aumentando as exigências de capacidade de informação do sinal codificado. Este problema pode ser minimizado pelo uso de múltiplos livros de código correspondentes a diferentes PDFs de sinal; contudo, um espaço de armazenamento adicional requerido para se armazenarem os livros de código e um processamento adicional é requerido, para se codificar o sinal de acordo com cada livro de código e, então, tomar um que proporcione os melhores resultados.
[007] Permanece uma necessidade de uma técnica de codificação que possa representar blocos de componentes de sinal de sub-banda quantizados usando-se símbolos de comprimento não-uniforme em cada sub-banda, que não seja dependente de uma PDF em particular de valores componentes, e possa ser realizada eficientemente, usando-se recursos mínimos computacionais e de memória.
Divulgação da Invenção [008] É um objeto da presente invenção proporcionar as vantagens que podem ser realizadas, usando-se símbolos de comprimento não-uniforme para representar os componentes de sinal quantizados, tais como os componentes de sinal de sub-banda em uma respectiva sub-banda de frequência em um sistema de codificação de banda dividida.
[009] A presente invenção atinge esse objetivo usando uma técnica que não depende de qualquer PDF em particular de valores de componente para a obtenção de um bom ganho de codificação, e po- de ser realizada eficientemente, usando-se recursos mínimos computacionais e de memória. Em algumas aplicações, os sistemas de codificação podem usar, vantajosamente, aspectos da presente invenção em conjunto com outras técnicas, tais como a codificação de Huffman.
[0010] De acordo com os ensinamentos de um aspecto da presente invenção, um método para a codificação de um sinal de entrada compreende o recebimento do sinal de entrada e a geração de um bloco de sinal de sub-banda de componentes de sinal de sub-banda representando uma sub-banda de frequência do sinal de entrada; a comparação das magnitudes dos componentes no bloco de sinal de sub-banda com um limite, a colocação de cada componente em uma de duas ou mais classes, de acordo com a magnitude do componente, e a obtenção de um fator de ganho; a aplicação do fator de ganho aos componentes colocados em uma das classes, para modificar as magnitudes de alguns dos componentes no bloco de sinal de sub-banda; a quantização dos componentes no bloco de sinal de sub-banda; e inserindo em um sinal codificado uma informação de controle portando uma classificação dos componentes e símbolos de comprimento não-uniforme representando os componentes de sinal de sub-banda quan-tizados.
[0011] De acordo com os ensinamentos de um outro aspecto da presente invenção, um método para a decodificação de um sinal codificado compreende o recebimento do sinal codificado e a obtenção a partir dele de uma informação de controle e símbolos de comprimento não-uniforme, e a obtenção, a partir dos símbolos de comprimento não-uniforme de componentes de sinal de sub-banda quantizados representando uma sub-banda de frequência de um sinal de entrada; a desquantização dos componentes de sinal de sub-banda, para a obtenção de componentes de sinal de sub-banda desquantizados; a aplicação de um fator de ganho, para modificar as magnitudes de alguns dos componentes desquantizados, de acordo com a informação de controle; e a geração de um sinal de saída, em resposta aos componentes de sinal de sub-banda desquantizados.
[0012] Esses métodos podem ser realizados em um meio como um programa de instruções, que podem ser executadas por um dispositivo, para a realização da presente invenção.
[0013] De acordo com os ensinamentos de um outro aspecto da presente invenção, um aparelho, para a codificação de um sinal de entrada compreende um filtro de síntese, que tem uma entrada, que recebe o sinal de entrada e tendo uma saída através da qual é proporcionado um bloco de sinal de sub-banda de componentes de sinal de sub-banda representando uma sub-banda de frequência do sinal de entrada; um analisador de bloco de sinal de sub-banda acoplado ao filtro de síntese, que compara as magnitudes dos componentes no bloco de sinal de sub-banda com um limite, coloca cada componente em uma de duas ou mais classes, de acordo com a magnitude do componente, e obtém um fator de ganho; um processador de componente de sinal de sub-banda que aplica o fator de ganho aos componentes colocados em uma das classes, para modificar as magnitudes de alguns dos componentes no bloco de sinal de sub-banda; um primeiro quantizador acoplado ao processador de sinal de sub-banda, que quantiza os componentes no bloco de sinal de sub-banda tendo magnitudes modificadas de acordo com o fator de ganho; e um forma-tador acoplado ao primeiro quantizador, que monta os símbolos de comprimento não-uniforme representando os componentes de sinal de sub-banda quantizados e uma informação de controle portando uma classificação dos componentes em um sinal codificado.
[0014] De acordo com os ensinamentos ainda de um outro aspecto da presente invenção, em um aparelho para a decodificação de um sinal codificado, o aparelho compreende um desformatador, que rece- be o sinal codificado e obtém a partir dele uma informação de controle e símbolos de comprimento não-uniforme, e obtém, a partir dos símbolos de comprimento não-uniforme, componentes de sinal de sub-banda quantizados; um primeiro desquantizador acoplado ao desformatador, que desquantiza alguns dos componente de sinal de sub-banda no bloco, de acordo com a informação de controle, para obter primeiros componentes desquantizados; um processador de bloco de sinal de sub-banda acoplado ao primeiro desquantizador, que aplica um fator de ganho para modificar as magnitudes de alguns dos primeiros componentes desquantizados no bloco de sinal de sub-banda, de acordo com a informação de controle; e um filtro de síntese, que tem uma entrada acoplada ao processador de sinal de sub-banda e tendo uma saída através da qual um sinal de saída é proporcionado.
[0015] De acordo com os ensinamentos ainda de um outro aspecto da presente invenção, um meio porta (1) símbolos de comprimento não-uniforme representando componentes de sinal de sub-banda quantizados, onde os componentes de sinal de sub-banda quantizados correspondem aos elementos de um bloco de sinal de sub-banda representando uma sub-banda de frequência de um sinal de áudio; (2) uma informação de controle indicando uma classificação dos componentes de sinal de sub-banda quantizados, de acordo com as magnitudes dos elementos de bloco de sinal de sub-banda correspondentes; e (3) uma indicação de um fator de ganho que se refere às magnitudes dos componentes de sinal de sub-banda quantizados, de acordo com a informação de controle.
[0016] Os vários aspectos da presente invenção e suas modalidades preferidas podem ser mais bem compreendidos por meio de uma referência à discussão a seguir e às figuras em anexo, nas quais números de referência iguais se referem a elementos iguais nas várias figuras. Os conteúdos da discussão a seguir e das figuras são estabe- lecido como exemplos apenas, e não devem ser entendidos como representando limitações quanto ao escopo da presente invenção.
Breve Descrição das Figuras [0017] A Figura 1 é um diagrama de blocos de um codificador de banda dividida, que incorpora uma quantização de ganho adaptativo.
[0018] A Figura 2 é um diagrama de blocos de um decodificador de banda dividida, que incorpora uma desquantização de ganho adap-tativo, [0019] A Figura 3 é um fluxograma que ilustra as etapas em um processo de alocação de bit reiterativo.
[0020] As Figuras 4 e 5 são ilustrações gráficas de btocos hipotéticos de componentes de sinal de sub-banda e dos efeitos de aplicação de um ganho aos componentes.
[0021] A Figura 6 é um diagrama de blocos de estágios de ganho em cascata para uma quantização de ganho adaptativo.
[0022] As Figuras 7 e 8 são ilustrações gráficas das funções de quantização.
[0023] As Figuras 9A a 9C ilustram como uma função de quantização de intervalo dividido pode ser implementada, usando-se uma transformada de mapeamento.
[0024] As Figuras 10 a 12 são ilustrações gráficas das funções de quantização.
[0025] A Figura 13 é um diagrama de blocos de um aparelho, que pode ser usado para a realização de vários aspectos da presente invenção.
Modos de Realização da Invenção Sistema de Codificação [0026] A presente invenção é dirigida a um melhoramento da eficiência da representação de informação quantizada, tal como uma informação de áudio, e encontra uma aplicação vantajosa em sistemas de codificação, que usam codificadores de banda dividida e decodifi-cadores de banda dividida. As modalidades de um codificador de banda dividida e de um decodificador de banda dividida que incorporam vários aspectos da presente invenção são ilustradas nas Figuras 1 e 2, respectivamente.
Codificador Filtragem de síntese [0027] Na Figura 1, um banco de filtro de síntese 12 recebe um sinal de entrada do percurso 11, divide o sinal de entrada em sinais de sub-banda, que representam sub-bandas de frequência do sinal de entrada, e passa os sinais de sub-banda ao longo dos percursos 13 e 23. Em nome da clareza ilustrativa, as modalidades mostradas nas Figuras 1 e 2 ilustram componentes apenas para duas sub-bandas; entretanto, é comum que o codificador e o decodificador de banda dividida em um sistema de codificação perceptiva processem muito mais sub-bandas tendo larguras de banda que são comensuráveis com as larguras de banda críticas do sistema auditivo humano.
[0028] Um banco de filtro de síntese 12 pode ser implementado de uma variedade de formas, incluindo filtros de polifase, filtros lattice, o filtro de espelho em quadratura (QMF), várias transformadas de bloco de domínio de tempo para domínio de frequência, incluindo as transformadas do tipo de série de Fourier, transformadas de banco de filtro de co-seno modulado e transformadas de wavelet. Nas modalidades preferidas, o banco de filtros é implementado ponderando-se ou modu-lando-se blocos sobrepostos de amostras de áudio digital com uma função de janela de síntese e aplicando uma Transformada de Co-seno Discreta Modificada (MDCT) aos blocos ponderados por janela. Esta MDCT é referida como uma transformada de Cancelamento de Desalinhamento de Domínio do Tempo (TDAC) e é mostrada em Prin-cen, Johnson e Bradley, "Subband / Transform Coding Using Filter Banks Designs Based on Time Domain Aliasing Cancellatíon”, Proc. Int. Conf. Acous.. Speeeh and Siqnal Proc.. maio de 1987, pp. 2161-2164. Embora a escolha de implementação possa ter um efeito profundo sobre a performance de um sistema de codificação, nenhuma implementação em particular do banco de filtro de síntese é importante para o conceito da presente invenção.
[0029] Os sinais de sub-banda passados ao longo dos percursos 13 e 23, cada um, compreendem componentes de sinal de sub-banda, que são dispostos em blocos. Em uma modalidade preferida, cada bloco de sinal de sub-banda é representado em uma forma escalonada de bloco, na qual os componentes são escalonados em relação a um fator de escala. Uma forma de ponto flutuante de bloco (BFP) pode ser usada, por exemplo.
[0030] Se o banco de filtro de síntese 12 for implementado por uma transformada de bloco, por exemplo, os sinais de sub-banda são gerados pela aplicação da transformada a um bloco de amostras de sinal de entrada, para gerar um bloco de coeficientes de transformada e, então, agrupando um ou mais coeficientes de transformada adjacentes, para a formação de blocos de sinal de sub-banda. Se o banco de filtro de síntese 12 for implementado por meio de um outro tipo de filtro digital, tal como um QMF, por exemplo, os sinais de sub-banda são gerados pela aplicação do filtro a uma sequência de amostras de sinal de entrada, para a geração de uma sequência de amostras de sinal de sub-banda, para cada sub-banda de frequência e, então, agrupando-se as amostras de sinal de sub-banda em blocos. Os componentes de sinal de sub-banda desses dois exemplos são coeficientes de transformada e amostras de sinal de sub-banda, respectivamente.
Modelagem de Percepção [0031] Em uma modalidade preferida para um sistema de codifica- ção perceptiva, o codificador usa um modelo de percepção, para estabelecer um tamanho de passo de quantização, para a quantização de cada sinal de sub-banda. Um método que usa um modelo de percepção para de forma adaptativa alocar bits é ilustrado na Figura 3. De acordo com este método, a etapa 51 aplica um modelo de percepção a uma informação que representa características do sinal de entrada, para estabelecer um espectro de ruído de quantização desejado. Em muitas modalidades, os níveis de ruído neste espectro correspondem ao limite de mascaramento psicoacústico estimado do sinal de entrada. A etapa 52 estabelece os tamanhos de passo de quantização propostos iniciais, para a quantização dos componentes nos blocos de sinal de sub-banda. A etapa 53 determina as alocações de bits que são requeridas para a obtenção dos tamanhos de passo de quantização propostos para todos os componentes de sinal de sub-banda. Preferivelmente, permite-se que os efeitos de dispersão de ruído do banco de filtro de síntese no decodificador de banda dividida sejam usados para a decodificação do sinal codificado. Vários métodos de confecção dessa permissão são mostrados na Patente U.S. N° 5.623.577 e no Pedido de Patente U.S. N° de Série 09/289.865 de Ubale et al., intitulado "Quantization in Perceptual Audio Coders with Compensation for Synthesis Filter Noise Spreading", depositado em 12 de abril, 1999, ambos os quais sendo incorporados aqui como referência.
[0032] A etapa 54 determina se o total das alocações requeridas difere significativamente do número total de bits que estão disponíveis para uma quantização. Se a alocação total for muito alta, a etapa 55 aumenta os tamanhos dos passos de quantização propostos. Se a alocação total for muito baixa, a etapa 55 diminui os tamanhos dos passos de quantização propostos. O processo retorna para a etapa 53, e reitera este processo até a etapa 54 determinar que a alocação total requerida, para a obtenção dos tamanhos dos passos de quantização propostos está sufi ciente mente próxima do número total de bits disponíveis. Subsequentemente, a etapa 56 quantiza os componentes de sinal de sub-banda, de acordo com os tamanhos dos passos de quan-tização estabelecidos.
Quantização de Ganho Adaptativo [0033] A quantização de ganho adaptativo pode ser incorporada no método descrito acima, incluindo-se vários aspectos da presente invenção na etapa 53, por exemplo. Embora o método descrito acima seja típico de muitos sistemas de codificação perceptiva, ele é apenas um exemplo de um processo de codificação que pode incorporar a presente invenção. A presente invenção pode ser usada em sistemas de codificação que usem, essencialmente, quaisquer critérios subjetivos e/ou objetivos, para o estabelecimento do tamanho de passos para a quantização de componentes de sinal. Para facilidade de discussão, modalidades simplificadas são usadas aqui, para explicar vários aspectos da presente invenção.
[0034] O bloco de sinal de sub-banda para uma sub-banda de frequência é passado ao longo do percurso 13 para um analisador de sinal de sub-banda 14, o qual compara a magnitude dos componentes de sinal de sub-banda em cada bloco com um limite, e coloca cada componente em uma de duas classes, de acordo com uma magnitude de componente. Uma informação de controle portando a classificação dos componentes é passada para um formatador 19. Em uma modalidade preferida, os componentes que têm uma magnitude menor ou igual ao limite são colocados em uma primeira classe. O analisador de sinal de sub-banda 14 também obtém um fator de ganho para uso subsequente. Como será explicado abaixo, preferivelmente, o valor do fator de ganho está relacionado ao nível do limite, de alguma maneira. Por exemplo, o limite pode ser expresso como uma função apenas do fator de ganho. Alternativamente, o limite pode ser expresso como uma função do fator de ganho e de outras considerações.
[0035] Os componentes de sinal de sub-banda que são colocados na primeira classe são passados para o elemento de ganho 15, o qual aplica o fator de ganho obtido pelo analisador de sinal de sub-banda 14 a cada componente na primeira classe, e os componentes de ganho modificado são, então, passados para o quantizador 17. O quanti-zador 17 quantiza os componentes de ganho modificado de acordo com um primeiro tamanho de passo de quantização, e passa os componentes quantizados resultantes para o formatador 19. Em uma modalidade preferida, o primeiro tamanho de passo de quantização é regulado de acordo com um modelo de percepção e de acordo com o valor do limite usado pelo analisador de sinal de sub-banda 14.
[0036] Os componentes de sinal de sub-banda que não são colocados na primeira classe são passados ao longo do percurso 16 para o quantizador 18, o qual quantiza esses componentes de acordo com um segundo tamanho de passo de quantização. O segundo tamanho de passo de quantização pode ser igual ao primeiro tamanho de passo de quantização; entretanto, em uma modalidade preferida, o segundo tamanho de passo de quantização é menor do que o primeiro tamanho de passo de quantização.
[0037] O bloco de sinal de sub-banda para a segunda sub-banda de frequência é passado ao longo do percurso 23, e é processado pelo analisador de sinal de sub-banda 24, pelo elemento de ganho 25 e pelos quantizadores 27 e 28, da mesma maneira que a descrita acima para a primeira sub-banda de frequência. Em uma modalidade preferida, o limite usado para cada sub-banda de frequência é adaptativo e independente do limite usado para outras sub-bandas de frequência. Formatação de Sinal Codificado [0038] O formatador 19 monta a informação de controle portando a classificação dos componentes e símbolos de comprimento não- uniforme representando os componentes de sinal de sub-banda quan-tizados em um sinal codificado, e passa o sinal codificado ao longo do percurso 20 a ser portado por uma mídia de transmissão, incluindo uma banda de base ou percursos de comunicação modulados por todo o espectro, incluindo de frequências supersônicas a ultravioleta, ou por uma mídia de armazenamento, incluindo fita magnética, disco magnético e disco ótico, que portam a informação usando uma tecnologia de gravação magnética ou ótica.
[0039] Os símbolos usados para representação dos componentes quantizados podem ser idênticos aos valores quantizados, ou eles podem ser algum tipo de código derivado dos valores quantizados. Por exemplo, os símbolos podem ser obtidos diretamente a partir de um quantizador ou eles podem ser obtidos por algum processo, tal como uma codificação de Huffman dos valores quantizados. Os valores quantizados em si podem ser facilmente usados como os símbolos de comprimento não-uniforme, porque números de bits não-uniformes podem ser alocados aos componentes de sinal de sub-banda quantizados em uma sub-banda. 2. Decodificador Desformatação de Sinal Codificado [0040] Na Figura 2, um desformatador 32 recebe um sinal codificado do percurso 31, e obtém a partir dali símbolos que representam componentes de sinal de sub-banda quantizados e uma informação de controle que porta a classificação dos componentes. Os processos de decodificação podem ser aplicados, como necessário, para derivar os componentes quantizados a partir dos símbolos. Em uma modalidade preferida, os componentes de ganho modificado são colocados em uma primeira classe. O desformatador 32 também obtém qualquer informação que pode ser necessária por quaisquer modelos de percepção ou processos de alocação de bit, por exemplo.
Desquantização de Ganho Adaptativo [0041] O desquantizador 33 recebe os componentes para um bloco de sinal de sub-banda, que são colocados na primeira classe, os desquantiza, de acordo com um primeiro tamanho de passo de quanti-zação, e passa o resultado para o elemento de ganho 35. Em uma modalidade preferida, o primeiro tamanho de passo de quantização é regulado de acordo com um modelo de percepção e de acordo com um limite, que foi usado para a classificação dos componentes de sinal de sub-banda.
[0042] O elemento de ganho 35 aplica um fator de ganho aos componentes desquantizados recebidos a partir do desquantizador 33, e passa os componentes de ganho modificado para a combinação 37. A operação do elemento de ganho 35 reverte as modificações de ganho proporcionadas pelo elemento de ganho 15 no codificador que acompanha. Como explicado acima, preferivelmente, este fator de ganho está relacionado ao limite que foi usado para classificar os componentes de sinal de sub-banda.
[0043] Os componentes de sinal de sub-banda que não são colocados na primeira classe são passados para o desquantizador 34, o qual desquantiza esses componentes, de acordo com um segundo tamanho de passo de quantização, e passa o resultado para a combinação 37. O segundo tamanho de passo de quantização pode ser igual ao primeiro tamanho de passo de quantização; entretanto, em uma modalidade preferida, o segundo tamanho de passo de quantização é menor do que o primeiro tamanho de passo de quantização.
[0044] A combinação 37 forma um bloco de sinal de sub-banda ao combinar os componentes de sinal de sub-banda desquantizados recebidos do elemento de ganho 35 com os componentes desquantizados recebidos do desquantizador 36, e passa o bloco de sinal de sub-banda resultante ao longo do percurso 38 para o banco de filtro de sín- tese 39.
[0045] Os componentes quantizados no bloco de sinal de sub-banda para a segunda sub-banda de frequência são processados pelos desquantizadores 43 e 44, o elemento de ganho 45 e a combinação 47, da mesma maneira que aquela descrita acima para a primeira sub-banda de frequência, e passa o bloco de sinal de sub-banda resultante ao longo do percurso 48, para o banco de filtro de síntese 39. Filtragem de Síntese [0046] O banco de filtro de síntese 39 pode ser implementado em uma ampla variedade de formas, que são complementares às formas discutidas acima, para a implementação do banco de filtro de síntese 12. Um sinal de saída é gerado ao longo do percurso 40, em resposta aos blocos de componentes de sinal de sub-banda recebidos dos percursos 38 e 48. B. Aspectos Classificação de Componente de Sinal de Sub-banda [0047] Função de limite simplificada [0048] Os efeitos de uma quantização de ganho adaptativo podem ser apreciados com referência à Figura 4, a qual ilustra blocos hipotéticos 111, 112 e 113 de componentes de sinal de sub-banda. No exemplo ilustrado, cada bloco de sinal de sub-banda compreende oito componentes numerados de 1 a 8. Cada componente é representado por uma linha vertical, e a magnitude de cada componente é representada pela altura da respectiva linha. Por exemplo, o componente 1 no bloco 111 tem uma magnitude ligeiramente maior do que o valor 0,25, como mostrado no eixo das ordenadas do gráfico.
[0049] A linha 102 representa um limite no nível 0,50. Cada componente no bloco 111 pode ser colocado em uma de duas classes, comparando-se as respectivas magnitudes de componente com o limite. Os componentes tendo uma magnitude menor ou igual ao limite são colocados em uma primeira classe. Os componentes remanescentes são colocados em uma segunda classe. Alternativamente, resultados ligeiramente diferentes podem ser obtidos, se os componentes forem classificados colocando-se na primeira classe aqueles componentes que têm uma magnitude estritamente menor do que o limite. Para facilidade de discussão, as comparações de limite feitas de acordo com o primeiro exemplo serão assumidas e mencionadas mais particularmente aqui.
[0050] Os componentes no bloco 112 são obtidos pela aplicação de um fator de ganho de dois a cada componente de bloco 111 que está colocado na primeira classe. Por exemplo, a magnitude de componente 1 no bloco 112, a qual é ligeiramente maior do que 0,500, é obtida pela multiplicação da magnitude de componente 1 no bloco 111 por um fator de ganho igual a dois. Inversamente, a magnitude de componente 2 no bloco 112 é igual à magnitude de componente 2 no bloco 111, porque este componente foi colocado na segunda classe, e não é modificado pelo fator de ganho.
[0051] A linha 104 representa um limite no nível 0,25. Cada componente no bloco 111 pode ser colocado em uma de duas classes, comparando-se as respectivas magnitudes de componente com este limite, e colocando-se os componentes tendo uma magnitude menor ou igual ao limite em uma primeira classe. Os componentes remanescentes são colocados em uma segunda classe.
[0052] Os componentes no bloco 113 são obtidos pela aplicação de um fator de ganho de quatro a cada componente de bloco 111, que está colocado na primeira classe. Por exemplo, a magnitude de componente 3 no bloco 113, o qual é de cerca de 0,44, é obtido pela multiplicação da magnitude de componente 3 no bloco 111, a qual é de cerca de 0,11, por um fator de ganho igual a quatro. Inversamente, a magnitude de componente 1 no bloco 113 é igual à magnitude de componente 1 no bloco 111, porque este componente foi colocado na segunda classe e não é modificado pelo fator de ganho.
[0053] O limite pode ser expresso como uma função apenas do fator de ganho. Como mostrado por esses dois exemplos, o limite pode ser expresso como: Th = 1/G (1) Onde Th = o valor limite; e G = fator de ganho.
Função de Limite Alternativa [0054] Infelizmente, um limite obtido a partir da expressão 1 pode ser muito grande, porque um componente de sinal de sub-banda tendo uma magnitude que seja ligeiramente menor do que o limite Th, quando modificado por um fator G, pode sobrecarregar o quantizador.
[0055] Um valor é dito como sobrecarregando um quantizador, se o erro de quantização daquele valor exceder metade do tamanho de passo de quantização. Para quantizadores simétricos tendo um tamanho de passo de quantização uniforme, que quantizam valores em uma faixa de aproximadamente -1 a +1, a região de quantizadores positivos que sobrecarregam o quantizador pode ser expressa como: Qol > Qmax + ΔΟ/2 (2a) e a região de valores negativos que sobrecarregam o quantizador pode ser expressa como: Qol < -Qmax - ΔΟ/2 (2b) onde Qol = um valor que sobrecarrega o quantizador;
Qmax = valor quantizado positivo máximo; e ΔΟ = tamanho de passo de quantização.
[0056] Para um quantizador de zona morta simétrico com sinal de b bits, tendo um tamanho de passo de quantização uniforme que quantiza valores em uma faixa de aproximadamente -1 a +1, o valor quantizado positivo máximo Qmax é igual a 1 - 21b, o tamanho de pas- so de quantização é igual a 21b, e metade do tamanho de passo de quantização é igual a 2'b. A expressão 2a para valores de sobrecarga positivos pode ser reescrita como: Qol > 1 - 21"b + 2'b = 1 - 2b (3a) e a expressão 2b para valores de sobrecarga negativos pode ser reescrita como: Qol < -(1 - 21"b) - 2"b = -1 + 2b (3b) [0057] A linha 100 na Figura 4 representa a fronteira de valores de sobrecarga positivos para um quantizador de zona morta simétrico com sinal de 3 bits. A faixa negativa deste quantizador não é mostrada. O valor quantizado positivo máximo para este quantizador é 0,75 (1 - 21'3) e metade do tamanho de passo de quantização é 0,125 = 2'3; portanto, a fronteira para os valores de sobrecarga positivos para este quantizador é 0,875 = (1 - 2'3). A fronteira para os valores de sobrecarga negativos é -0,875.
[0058] O componente 5 no bloco 111 tem uma magnitude que é ligeiramente menor do que o limite no valor 0,500. Quando um fator de ganho igual a dois é aplicado a este componente, a magnitude resultante excede à fronteira de sobrecarga do quantizador. Um problema similar ocorre para o componente 6, quando um limite igual a 0,250 é usado com um fator de ganho igual a quatro.
[0059] Um valor limite para quantidades positivas, que evita uma sobrecarga e mapeia, de forma ótima, o domínio de valores de componente positivo na primeira classe para a faixa positiva de um quantizador, pode ser expresso como: Th = Qol / G (4a) O limite para as quantidades negativas pode ser expresso como: Th = - Qol / G (4b) [0060] Por todo o restante desta discussão, apenas o limite positivo será discutido. Esta simplificação não perde qualquer generalidade, porque aquelas operações que comparam as magnitudes de componente com um limite positivo são equivalentes a outras operações, que comparam amplitudes de componente com limites positivos e negativos.
[0061] Para o quantizador de zona morta simétrico com sinal de b bits descrito acima, a função de limite da expressão 4a pode ser rees-crita como: Th = (1 - 2"b) / G (5) [0062] Os efeitos de uma quantização de ganho adaptativo usando-se este limite alternativo são ilustrados na Figura 5, a qual ilustra os blocos hipotéticos 121, 122, 123 e 124 de componentes de sinal de sub-banda. Nos exemplos ilustrados, cada bloco de sinal de sub-banda compreende oito componentes numerados de 1 a 8, cujas magnitudes são representadas pelo comprimento de respectivas linhas verticais. As linhas 102 e 104 representam os limites para um quantizador de zona morta simétrico com sinal de 3 bits para fatores de ganho iguais a 2 e 4, respectivamente. A linha 100 representa a fronteira de valores de sobrecarga positivos para este quantizador.
[0063] Os componentes no bloco de sinal de sub-banda 122 podem ser obtidos por meio de uma comparação das magnitudes dos componentes no bloco 121 com um limite 102, e aplicando-se um ganho de G = 2 aos componentes que têm magnitudes menores ou iguais ao limite. De modo similar, os componentes no bloco de sinal de sub-banda 123 podem ser obtidos pela comparação das magnitudes dos componentes no bloco 121 com um limite 104 e aplicando-se um ganho de G = 4 aos componentes que têm magnitudes menores ou iguais a este limite. Os componentes no bloco de sinal de sub-banda 124 podem ser obtidos usando-se uma técnica de cascata, escrita abaixo. Diferentemente dos exemplos mostrados na Figura 4 para o primeiro limite discutido acima, nenhum dos componentes de ganho modificado mostrados na Figura 5 excede a fronteira de sobrecarga do quantizador.
[0064] Por um lado, o limite alternativo de acordo com a expressão 5 é desejável, porque ele evita uma sobrecarga de quantizador para componentes de pequena magnitude na primeira classe e carrega, de forma ótima, o quantizador. Por outro lado, este limite pode não ser desejável em algumas modalidades que visem um tamanho de passo de quantização ótimo, porque o limite não pode ser determinado até que o tamanho de passo de quantização seja estabelecido. Em modalidades que adaptam o tamanho de passo de quantização por uma alocação de bits, o tamanho de passo de quantização não pode ser estabelecido até a alocação de bit b para um respectivo bloco de sinal de sub-banda ser conhecida. Esta desvantagem é explicada em maiores detalhes abaixo. 2. Quantização [0065] Preferivelmente, o tamanho de passo de quantização dos quantizadores usados para a quantização de componentes em um bloco de sinal de sub-banda é adaptado em resposta ao fator de ganho para aquele bloco. Em uma modalidade, usando-se um processo similar àquele discutido acima e ilustrado na Figura 3, um número de bits b é alocado a cada componente em um bloco de sinal de sub-banda e, então, o tamanho de passo de quantização e, possivelmente, a alocação de bit são adaptados para cada componente, de acordo com o fator de ganho selecionado para aquele bloco. Para esta modalidade, o fator de ganho é selecionado a partir de quatro valores possíveis, representando ganhos de 1, 2, 4 e 8. Os componentes naquele bloco são quantizados usando-se um quantizador de zona morta simétrico com sinal.
[0066] Aos componentes de magnitude maior, que não são colocados na primeira classe e não têm o ganho modificado, são atribuí- dos o mesmo número b de bits que seria alocado sem o benefício da presente invenção. Em uma modalidade alternativa, usando-se uma função de quantização de intervalo dividido discutida abaixo, a alocação de bit para esses componentes de magnitude maior pode ser reduzida, para alguns fatores de ganho.
[0067] Aos componentes de magnitude menor que são colocados na primeira classe e têm o ganho modificado é alocado um número e bits de acordo com os valores mostrados na Tabela I.
Tabela I
[0068] Um fator de ganho igual a 1 para um bloco de sinal de sub-banda em particular indica que o aspecto de ganho modificado não é aplicado àquele bloco; portanto, o mesmo número de bits b é alocado a cada componente, como seria alocado sem o benefício da presente invenção. O uso do fator de ganho G = 2, 4 e 8 para um bloco de sinal de sub-banda em particular pode proporcionar, potencialmente, o benefício de uma alocação reduzida de 1, 2 e 3 bits, respectivamente, para cada componente de magnitude menor naquele bloco de sub-banda.
[0069] As alocações mostradas na Tabela I estão sujeitas à limitação de que o número de bits alocados a cada componente não pode ser menor do que um. Por exemplo, se o processo de alocação de bit alocou b = 3 bits aos componentes de um bloco de sinal de sub-banda em particular e um fator de ganho G = 8 é selecionado para aquele bloco, a alocação de bit para os componentes de magnitude menor seria reduzida para um bit, ao invés de para zero bit, como sugerido pela Tabela I. O efeito pretendido da modificação de ganho e do ajuste para a alocação de bit é para preservar, essencialmente, a mesma relação de sinal para ruído de quantização, usando-se menos bits. Se desejado, uma modalidade pode evitar selecionar qualquer fator de ganho que não reduza o número de bits alocados. 3. Informação de Controle [0070] Como explicado acima, o analisador de sinal de sub-banda 14 proporciona uma informação de controle para o formatador 19, para modalidade no sinal codificado. Esta informação de controle porta a classificação para cada componente em um bloco de sinal de sub-banda. Esta informação de controle pode ser incluída no sinal codificado em uma variedade de formas.
[0071] Uma forma de incluir uma informação de controle é embutir no sinal codificado uma cadeia de bits para cada bloco de sinal de sub-banda, na qual um bit corresponde a cada componente no bloco. Um bit regulado para um valor, o valor 1, por exemplo, indicaria que o componente correspondente não é um componente de ganho modificado, e um bit regulado para o outro valor, o qual é o valor 0, neste exemplo, indicaria que o componente correspondente é um componente de ganho modificado. Uma outra forma de incluir uma informação de controle é embutir um "código de escape" especial no sinal codificado, imediatamente precedente a cada componente que seja de ganho modificado ou, alternativamente, não seja de ganho modificado.
[0072] Na modalidade preferida discutida acima, que usa um quantizador de zona morta simétrico com sinal, cada componente de magnitude grande que não é de ganho modificado é precedido por um código de escape, que é igual a um valor de quantização não usado. Por exemplo, os valores de quantização para um quantizador com sinal tipo complemento dois de 3 bits varia de um mínimo de -0,750, representado pela cadeia binária de 3 bits b'101, até um máximo de +0,75, representado pela cadeia binária b'011. A cadeia binária b'100, a qual corresponde a -1,000, não é usada para a quantização e está disponível para uso como uma informação de controle. De modo similar, a cadeia binária não usada para um quantizador com sinal tipo complemento dois de 4 bits é b'1000.
[0073] Com referência ao bloco de sinal de sub-banda 121 na Figura 5, os componentes 4 e 5 são componentes de magnitude grande, que excedem ao limite 102. Se este limite for usado em conjunto com um fator de ganho G = 2, a alocação de bit para todos os componentes de magnitude pequena colocados na primeira classe é b-1, como mostrado acima na Tabela I. Se o processo de alocação de bit alocar b = 4 bits a cada componente no bloco 121, por exemplo, a alocação para cada componente de sinal de sub-banda seria reduzida para 3 = (b-1) bits, e um quantizador de 3 bits seria usado para quantizar os componentes de magnitude pequena. Cada componente de magnitude grande, o qual, neste exemplo, são os componentes 4 e 5, seria quantiza-do com um quantizador de 4 bits e identificado por uma informação de controle, que equivale à cadeia binária não usada do quantizador de 3 bits, ou b'100. Esta informação de controle para cada componente de magnitude grande pode ser convenientemente montado no sinal codificado imediatamente precedente ao respectivo componente de magnitude grande.
[0074] Pode ser instrutivo destacar que a presente invenção não proporciona qualquer benefício no exemplo discutido no parágrafo precedente. O custo ou os auxílios requeridos para transportar a informação de controle, a qual é de seis bits neste exemplo, é igual ao número de bits que são economizados pela redução da alocação de bit para os componentes de magnitude pequena. Com referência ao exemplo acima, se apenas um componente no bloco 121 fosse um componente de magnitude grande, a presente invenção reduziría o número de bits requerido para transportar este bloco em quatro. Sete bits seriam poupados pelas alocações reduzidas para sete componentes de pequena magnitude, e apenas três bits seriam requeridos para o transporte da informação de controle para um componente de magnitude grande.
[0075] Este último exemplo ignora um aspecto adicional. Dois bits são requeridos para cada bloco de sinal de sub-banda nesta modalidade de exemplo, para transportar quais de quatro fatores de ganho são usados para aquele bloco. Como mencionado acima, um fator de ganho igual a 1 pode ser usado, para indicar que os aspectos da presente invenção não são aplicados para um bloco de sinal de sub-banda em particular.
[0076] A presente invenção, usualmente, não proporciona qualquer vantagem para a quantização de bloco de sinal de sub-banda com quatro ou menos componentes. Em sistemas de codificação de percepção, que geram sinais de sub-banda tendo larguras de banda comensuráveis com as larguras de banda críticas do sistema auditivo humano, o número de componentes nos blocos de sinal de sub-banda para sub-bandas de frequência baixa é baixo, talvez apenas um componente por bloco, mas o número de componentes por bloco de sinal de sub-banda aumenta com a frequência de sub-banda aumentando. Como resultado, em modalidades preferidas, o processamento requerido para a implementação de aspectos da presente invenção pode ser restrito a sub-bandas mais largas. Um pedaço adicional de informação de controle pode ser embutido no sinal codificado, para indicar a sub-banda de frequência mais baixa na qual uma quantização de ganho adaptativo é usada. O codificador pode selecionar, de forma adaptati-va, esta sub-banda, de acordo com as características de sinal de entrada. Esta técnica evita a necessidade de proporcionar uma informação de controle para sub-bandas que não usem uma quantização de ganho adaptativo. 4. Aspectos de Decodificador [0077] Um decodificador que incorpora aspectos da presente invenção pode mudar, de forma adaptativa, o tamanho de passo de quantização de seus desquantizadores essencialmente da mesma maneira. Por exemplo, um decodificador que seja pretendido para decodificar um sinal codificado gerado pelas modalidades de codificador discutidas acima pode usar uma alocação de bit adaptativa para regular o tamanho de passo de quantização. O decodificador pode operar em um assim denominado sistema adaptativo à frente, no qual as alocações de bit podem ser obtidas diretamente a partir do sinal codificado, ele pode operar em um assim denominado sistema adaptativo para trás, no qual as alocações de bit são obtidas pela repetição do mesmo processo de alocação que foi usado no codificador, ou ele pode operar em um híbrido dos dois sistemas. Os valores de alocação obtidos desta maneira são referidos como as alocações de bit "convencionais".
[0078] O decodificador obtém uma informação de controle do sinal codificado, para identificar fatores de ganho e a classificação dos componentes em cada bloco de sinal de sub-banda. Continuando o exemplo discutido acima, uma informação de controle que transporta um fator de ganho G = 1 indica o aspecto de ganho adaptativo que não foi usado, e a alocação de bit convencional b deve ser usada para desquantizar os componentes naquele bloco de sinal de sub-banda em particular. Para outros valores de fator de ganho, a alocação de bit convencional b para um bloco é usada para determinar o valor do "código de escape" ou da informação de controle que identifica os componentes de magnitude grande. No exemplo dado acima, uma alocação de b = 4 com um fator de ganho G =2 indica que a informação de controle é a cadeia binária b'100, a qual tem um comprimento igual a 3 = (6-1) bits. A presença desta informação de controle no sinal codifica- do indica que um componente de magnitude grande se segue imediatamente.
[0079] A alocação de bit para cada componente de ganho modificado é ajustada como discutido acima e mostrado na Tabela I. A des-quantização é realizada usando-se o tamanho de passo de quantiza-ção apropriado e os componentes de ganho modificado estão sujeitos a um fator de ganho que é o recíproco do fator de ganho usado para realizar a modificação de ganho no codificador. Por exemplo, se componentes de magnitude pequena fossem multiplicados por um fator de ganho G = 2 no codificador, o decodificador aplicaria um ganho recíproco G = 0,5 aos componentes desquantizados correspondentes. C. Aspectos Adicionais [0080] Além das variações discutidas acima, várias alternativas são discutidas abaixo.
Classificações Adicionais [0081] De acordo com uma alternativa, as magnitudes dos componentes em um bloco de sinal de sub-banda são comparadas com dois ou mais limites e colocados em mais de duas classes. Com referência à Figura 5, por exemplo, a magnitude de cada componente no bloco 121 podería ser comparada com os limites 102 e 104 e colocada em uma de três classes. Os fatores de ganho poderíam ser obtidos para duas das classes e aplicados aos componentes apropriados. Por exemplo, um fator de ganho G = 4 podería ser aplicado aos componentes tendo magnitudes menores ou iguais ao limite 104 e um fator de ganho G = 2 poderia ser aplicado aos componentes tendo uma magnitude menor ou igual ao limite 102, mas maior do que o limite 104. Alternativamente, um fator de ganho G = 2 poderia ser aplicado a todos os componentes tendo magnitudes menores ou iguais ao limite 102, e um fator de ganho G = 2 poderia ser aplicado, novamente, aos componentes que tivessem magnitudes menores ou iguais ao limite 104. 2. Operação em Cascata [0082] O processo de modificação de ganho descrito acima pode ser realizado múltiplas vezes, antes da quantização. A Figura 6 é um diagrama de blocos que ilustra uma modalidade de dois estágios de ganho em cascata. Nesta modalidade, o analisador de sinal de sub-banda 61 compara as magnitudes dos componentes em um bloco de sinal de sub-banda com um primeiro limite, e coloca os componentes em uma de duas classes. O elemento de ganho 62 aplica um primeiro fator de ganho aos componentes colocados em uma das classes. O valor do primeiro fator de ganho está relacionado ao valor do primeiro limite.
[0083] O analisador de sinal de sub-banda 64 compara as magnitudes dos componentes de ganho modificado e, possivelmente, os componentes remanescentes no bloco com um segundo limite, e coloca os componentes em uma de duas classes. O elemento de ganho 65 aplica um segundo fator de ganho aos componentes colocados em uma das classes. O valor do segundo fator de ganho está relacionado ao valor do segundo limite. Se o segundo limite for menor ou igual ao primeiro limite, o analisador de sinal de sub-banda 64 não precisa analisar os componentes que o analisador 61 colocou na classe, para magnitudes maiores do que o primeiro limite.
[0084] Os componentes de bloco de sinal de sub-banda são quan-tizados por quantizadores 67 e 68, de uma maneira similar àquela discutida acima.
[0085] Com referência à Figura 5, os componentes no bloco de sinal de sub-banda 124 podem ser obtidos pela aplicação sucessiva de estágios de ganho, nos quais o analisador de sinal de sub-banda 61 e o elemento de ganho 62 aplicam um fator de ganho G = 2 aos componentes tendo uma magnitude menor ou igual ao limite 102, e o analisador de sinal de sub-banda 64 e o elemento de ganho 65 aplicam um fator de ganho G = 2 aos componentes de ganho modificado tendo uma magnitude que ainda é menor ou igual ao limite 102. Por exemplo, os componentes 1 a 3 e 6 a 8 no bloco 121 são modificados por um fator de ganho G = 2 no primeiro estágio, o que produz um resultado intermediário que é mostrado no bloco 122. Os componentes 1, 3, 7 e 8 são modificados por um fator de ganho G = 2 no segundo estágio, para a obtenção do resultado mostrado para o bloco 124.
[0086] Nas modalidades que usam estágios de ganho em cascata, uma informação de controle adequada deve ser proporcionada no sinal codificado, de modo que o decodificador possa realizar um conjunto complementar de estágios de ganho em cascata. 3. Alocação de Bit Otimizada [0087] Há várias estratégias possíveis para a aplicação de uma quantização de ganho adaptativo. Uma estratégia simples analisa os componentes em um respectivo bloco de sinal de sub-banda, começando com um primeiro limite e com um primeiro fator de ganho G = 2 relacionado, e determina se uma quantização de ganho adaptativo, de acordo com o primeiro limite e com o primeiro fator de ganho leva a uma redução nas exigências de alocação de bit. Se não, a análise pára e a quantização de ganho adaptativo não é realizada. Se levar a uma redução, a análise continua com um segundo limite e com um segundo fator de ganho G = 4 relacionado. Se o uso do segundo limite e do fator de ganho relacionado não levar a uma redução na alocação de bit, a quantização de ganho adaptativo é realizada usando-se o primeiro limite e o primeiro fator de ganho. Se o uso do segundo limite e do segundo fator de ganho não levar a uma redução, a análise continua com um terceiro limite e com um terceiro fator de ganho G = 8 relacionado. Este processo continua até que o uso de um limite e de um fator de ganho relacionado não leve a uma redução na alocação de bit, ou até que todas as combinações de limites e fatores de ganho relacionados tenham sido consideradas.
[0088] Uma outra estratégia visa a otimizar a escolha de fator de ganho pelo cálculo dos custos e benefícios proporcionados por cada possível limite e fator de ganho relacionado, e usando-se o limite e o fator de ganho que leve ao maior benefício líquido. Para o exemplo discutido acima, o benefício líquido para um limite em particular e para um fator de ganho relacionado é o benefício bruto menos o custo. O benefício bruto é o número de bits que são economizados pela redução da alocação de bit para os componentes de magnitude pequena que são de ganho modificado. O custo é o número de bits que são requeridos para o transporte da informação de controle para os componentes de magnitude grande, que não são de ganho modificado.
[0089] Uma forma na qual esta estratégia preferida pode ser implementada é mostrada no fragmento de programa a seguir. Este fragmento de programa é expresso em pseudocódigo usando uma sintaxe que inclui alguns aspectos de sintaxe das linguagens de programação C, FORTRAN e BASIC. Este fragmento de programa e os outros programas mostrados aqui não são pretendidos para serem segmentos de código fonte, que são adequados para compilação, mas são proporcionados para portar uns poucos aspectos de implementações possíveis.
Gain (X, N, b) { Th2 = (1 -2A(-b))/gf[1 ]; //inicializar limite para fator de ganho G=2 Th4 = Th2/2; II... para fator de ganho G=4 Th8 = Th4/2; //...para fator de ganho G=8 n2 = n4 = n8 = 0; //inicializar contadores para (k=1 até N) { //para cada componente k...
CompMag = Abs(X[k]); //obter magnitude do componente if (CompMag>Th2) n2=n2 + 1; //contar componentes acima de Th2 else if (CompMag>Th4) n4=n4 + 1; //contar componentes entre Th4 e Th2 else if (CompMag>Th8) n8=n8 + 1; //contar componentes entre Th8 e Th4 } n24=n2 + n4 //n— de componentes grandes acima de Th4 n248=n24 + n8 //n— de componentes grandes acima de Th8 benefit2=Min(b-1, 1); //bits por componente pequeno economizado pelo uso de G = 2 benefit4=Min(b-1, 2); //bits por componente pequeno economizado pelo uso de G = 4 benefit8=Min(b-1, 3); //bits por componente pequeno economizado pelo uso de G = 8 net[0]=0; //benefício net para nenhuma modificação de ganho net[1]=(N-n2)*benefit2 - n2* (b-benefit2); //benefício net por usar G=2 net[2]=(N-n24)*benefit4 - n24* (b-benefit4); //benefício net por usar G=4 net[3]=(N-n248)*benefit8 - n248* (b-benefit8); //benefício net por usar G=8 j=lndexMax(net[j]I j=0 to 3); //obter índice de benefício máximo Gain = gf[j]; //obter fator de ganho } [0090] A função Gain é proporcionada com um vetor X de componentes de bloco de sinal de sub-banda, o número N de componentes no bloco, e a alocação de bit convencional b para o bloco de componentes. A primeira declaração na função usa um cálculo de acordo com a expressão 5, mostrada acima, para iniciar a variável Th2 para representar o limite que está relacionado a um fator de ganho G = 2, que é obtido a partir de um vetor gf. Neste exemplo, os fatores de ganho gf[1], gf[2] e gf[3] são iguais a G = 2,4 e 8, respectivamente. As próximas declarações inicializam variáveis para os limites que estão relacionados aos fatores de ganho G = 4 e 8. Em seguida, os contadores são inicializados para zero, os quais serão usados para determinar o número de componentes de grande magnitude em várias classes.
[0091] As declarações no laço for invocam funções Abs, para a obtenção da magnitude para cada componente de bloco de sinal de sub-banda no vetor X e, então, comparam a magnitude de componente com limites, começando com o limite mais alto. Se a magnitude for maior do que o limite Th2, por exemplo, a variável n2 é incrementada de um. Quando o laço for é acabado, a variável n2 contém o número de componentes que têm uma magnitude maior do que o limite Th2, a variável n4 contém o número de componentes que têm uma magnitude que é maior do que o limite Th4, mas menor ou igual ao limite Th2, e a variável n8 contém o número de componentes que têm uma magnitude que é maior do que o limite Th8, mas menor ou igual ao limite Th4.
[0092] As duas declarações imediatamente seguintes ao loop "para" for calculam o número total de componentes que estão acima dos respectivos limites. O número na variável n24 representa o número de componentes que têm uma magnitude maior do que o limite Th4, e o número na variável n248 representa o número de componentes que têm uma magnitude maior do que o limite Th8.
[0093] As próximas três declarações calculam o benefício por componente de magnitude pequena para o uso de cada fator de ganho. Esse benefício pode ser tanto quanto 1, 2 ou 3 bits por componente, como mostrado acima na Tabela I, mas o benefício também é limitado a ser não mais do que b-1 bits por componente, uma vez que a alocação a cada componente está limitada a um mínimo de um bit. Por exemplo, o número na variável benefit2 representa o número de bits por componente de magnitude pequena que são economizados, usando-se um fator de ganho G = 2. Como mostrado na Tabela I, este benefício pode ser tanto quanto um bit; entretanto, o benefício também é limitado a não ser maior do que a alocação de bit convencional b menos um. O cálculo deste benefício é proporcionado usando-se a função Min, para retornar o mínimo dos dois valores b-1 e 1.
[0094] Os benefícios líquidos são, então, calculados e atribuídos a elementos de vetor net. O elemento net[0] representa o benefício líquido de não se usar uma quantização de ganho adaptativo, o qual é zero. O benefício líquido de se usar um fator de ganho G = 2 é atribuído a net[1], multiplicando-se o benefício apropriado por componente de magnitude pequena benefit2 pelo número apropriado de componentes de magnitude pequena (N-n2) e, então, subtraindo-se o custo, o qual é o número de componentes de magnitude grande n2 multiplicado pelo comprimento do valor de quantizador não usado para a informação de controle. Este comprimento é o comprimento de bit dos componentes de magnitude pequena, o qual pode ser obtido a partir da alocação de bit convencional b reduzida pelos bits economizados por componente de magnitude pequena. Por exemplo, o comprimento de bit dos componentes de magnitude pequena, quando o fator de ganho G = 2, é a quantidade (b-benefit2). Cálculos similares são realizados para a atribuição do benefício líquido para o uso de fatores de ganho G = 4 e 8 para as variáveis net[2] e net[3], respectivamente.
[0095] A função IndexMax é invocada para a obtenção do vetor de índice j para o maior benefício líquido no vetor net. Este índice é usado para a obtenção do fator de ganho apropriado do vetor gf, o qual é retornado pela função Gain. 4. Eficiência Melhorada Usando-se a Função de Limite Simplificada [0096] Foi mencionado que os vários aspectos da presente invenção podem ser incorporados em um processo de alocação de bit de percepção, tal como ilustrado na Figura 3. Em particular, esses aspec- tos podem ser realizados na etapa 53. A etapa 53 é realizada em um laço que determina, de forma reiterativa, uma alocação de bit proposta para a quantização de componentes em cada bloco de sinal de sub-banda a ser codificado. Por causa disso, a eficiência das operações realizadas na etapa 53 é muito importante.
[0097] O processo discutido acima para a função Gain, a qual determina o fator de ganho ótimo para cada bloco, é relativamente ineficiente, porque ela deve contar o número de componentes de bloco de sinal de sub-banda que estão colocados em várias classes. As contagens de componente devem ser calculadas durante cada iteração, porque os limites que são obtidos de acordo com a expressão 5 não podem ser calculados até que a alocação de bit proposta b para cada iteração seja conhecida.
[0098] Em contraste com os limites obtidos de acordo com a expressão 5, os limites obtidos de acordo com a expressão 1 são menos precisos, mas podem ser calculados antes da alocação de bit proposta b ser conhecida. Isso permite que os limites e as contagens de componente sejam calculados fora da reiteração. Com referência ao método mostrado na Figura 3, os limites Th1, Th2 e Th3 e as contagens de componente n2, n24 e n248 poderíam ser calculados na etapa 52, por exemplo.
[0099] Uma versão alternativa da função Gain discutida acima, a qual pode ser usada nesta modalidade, é mostrada no fragmento de programa a seguir.
Gain2 (X,N) { benefit2=Min(b-1, 1); //bits por componente pequeno economizado pelo uso de G = 2 benefit4=Min(b-1, 2); //bits por componente pequeno economizado pelo uso de G = 4 benefit8=Min(b-1, 3); //bits por componente pequeno economizado pelo uso de G = 8 net[0]=0; //benefício net para nenhuma modificação de ganho net[1]=(N-n2)*benefit2 - n2* (b-benefit2); //benefício net por usar G=2 net[2]=(N-n24)*benefit4 - n24* (b-benefit4); //benefício net por usar G=4 net[3]=(N-n248)*benefit8 - n248* (b-benefit8); //benefício net por usar G=8 j=lndexMax(net[j]I j=0 to 3); //obter índice de benefício máximo Gain = gf[j]; //obter fator de ganho } [00100] As declarações na função Gain2 são idênticas às declarações correspondentes na função Gain discutida acima, que calculam os benefícios líquidos para cada fator de ganho e, então, selecionam o fator de ganho ótimo. 5. Funções de Quantização Funções de Intervalo Dividido [00101] A precisão de quantização de componentes de magnitude grande pode ser melhorada, usando-se uma função de quantização de intervalo dividido, que quantiza valores de entrada em dois intervalos não contíguos.
[00102] A linha 105 na Figura 7 é uma ilustração gráfica de uma função que representa o efeito de ponta a ponta de um quantizador de zona morta simétrico com sinal de 3 bits e um desquantizador complementar. Os valores ao longo do eixo x representam valores de entrada para o quantizador, e os valores ao longo do eixo q(x) representam os valores de saída correspondentes obtidos a partir do desquantizador. As linhas 100 e 109 representam as fronteiras de valores de sobrecarga positivos e negativos, respectivamente, para este quantizador. As linhas 102 e 108 representam os limites positivo e negativo, respectivamente, para o fator de ganho G = 2, de acordo com a expressão 1 e como mostrado na Figura 4. As linhas 104 e 107 representam os limites positivo e negativo, respectivamente, para o fator de ganho G = 4.
[00103] Com referência à Figura 1, se o analisador de sinal de sub-banda 14 classificar componentes de bloco de sinal de sub-banda de acordo com o limite 102, então, é sabido que as magnitudes dos componentes proporcionados para o quantizador 18 são todas maiores do que o limite 102. Em outras palavras, o quantizador 18 não seria usado para quantizar quaisquer valores que caiam entre os limites 108 e 102. Isso evita representar uma subutilização do quantizador.
[00104] Esta subutilização pode ser eliminada usando-se um quantizador que implemente uma função de quantização de intervalo dividido. Uma variedade de funções de intervalo dividido é possível. A Figura 8 é uma ilustração gráfica de uma função que representa o efeito de ponta a ponta de um quantizador com sinal de 3 bits de intervalo dividido e um desquantizador complementar. A linha 101 representa a função para as quantidades positivas, e a linha 106 representa a função para as quantidades negativas.
[00105] A função mostrada na Figura 8 tem oito níveis de quantização, em contraste com a função mostrada na Figura 7, a qual tem apenas sete níveis de quantização. O nível de quantização adicional é obtido usando-se o nível discutido acima, que, para uma função de quantização de passo médio, corresponde a -1.
Quantizadores de Não-sobrecarga [00106] Um quantizador de 3 bits e um desquantizador complementar que implementam a função na Figura 8 são preferidos para valores de quantização em um intervalo dividido de -1,0 a cerca de -0,5 e de cerca de +0,5 a +1,0, porque o quantizador não pode ser sobrecarregado. Como explicado acima, um valor sobrecarrega um quantizador se o erro de quantização daquele valor exceder a metade do tamanho de passo de quantização. No exemplo mostrado na Figura 8, as saídas de desquantizador são definidas para valores iguais a -0,9375, -0,8125, -0,6875, -0,5625, +0,5625, +0,6875, +0,8125 e +0,9375, e o tamanho de passo de quantização é igual a 0,125. A magnitude do erro de quantização para todos os valores no intervalo dividido mencionado acima não é maior do que 0,0625, o qual é igual à metade do tamanho de passo de quantização. Um quantizador como esse é referido aqui como um "quantizador de não-sobrecarga", porque ele é imune a uma sobrecarga.
[00107] Quantizadores de intervalo único e dividido de não-sobrecarga, essencialmente para qualquer tamanho de passo de quantização, podem ser realizados pela implementação de uma função de quantização tendo saídas de quantizador que são limitadas pelos "pontos de decisão" de quantizador espaçados apropriadamente nos intervalos de valores a serem quantizados. Falando de forma geral, os pontos de decisão são espaçados uns dos outros por uma certa distância d, e os pontos de decisão que estão mais próximos de uma respectiva extremidade de um intervalo de valor de entrada são espaçados da respectiva extremidade por uma quantidade d. Este espaçamento proporciona um quantizador que, quando usado com um des-quantizador complementar, proporciona valores de saída quantizados uniformemente espaçados uns dos outros, por um tamanho de passo de quantização em particular, e tendo um erro de quantização máximo que é igual à metade deste tamanho de passo de quantização em particular.
Funções de Mapeamento [00108] Um quantizador de intervalo dividido pode ser implementado em uma variedade de formas. Nenhuma implementação em particular é crítica. Uma implementação, mostrada na Figura 9A, compreende uma transformada de mapeamento 72 em cascata com o quantizador 74. A transformada de mapeamento 72 recebe valores de entrada do percurso 71, mapeia esses valores de entrada em um intervalo apropriado, e passa os valores mapeados ao longo do percurso 73 pa- ra o quantizador 74.
[00109] Se o quantizador 74 for um quantizador de zona morta assimétrico com sinal, então, a função de mapeamento representada pelas linhas 80 e 81 ilustradas na Figura 9B seria adequada para a função de mapeamento 72. De acordo com esta função de mapeamento, valores no intervalo de -1,0 a -0,5 são mapeados linearmente em um intervalo de -1,0 -YzAQ a -YzAQ, onde ΔΟ é o tamanho de passo de quantização do quantizador 74, e valores no intervalo de +0,5 a +1,0 são mapeados linearmente em um intervalo de -YtAQ a +1,0 -YzAQ. Neste exemplo, nenhum componente de magnitude grande pode ter um valor exatamente igual a -0,5 ou +0,5, porque os componentes com esses valores são classificados como componentes de magnitude pequena. Por causa disso, a transformada de mapeamento 72 não mapeará qualquer valor de entrada para -YzAQ exatamente; contudo, ela pode mapear valores de entrada arbitrariamente próximos a e em um dos lados de -YzAQ.
[00110] O efeito deste mapeamento pode ser visto com referência às Figura 9B e 9C. Com referência à Figura 9B, pode ser visto que a transformada de mapeamento 72 mapeia os pontos de entrada 82 e 84 para pontos mapeados 86 e 88, respectivamente. Com referência à Figura 9C, a qual ilustra uma função que representa os efeitos de ponta a ponta de um desquantizador de zona morta assimétrico com sinal de 3 bits e um desquantizador complementar, os pontos mapeados 86 e 88 podem ser vistos como ficando em um lado do ponto de decisão de quantizador 87, o qual tem o valor -YzAQ.
[00111] Um desquantizador de intervalo dividido complementar pode ser implementado por um quantizador de zona morta assimétrico com sinal que é complementar ao quantizador 74, seguido por uma transformada de mapeamento, que é o inverso da transformada de mapeamento 72.
Funções Compostos [00112] Em um exemplo discutido acima, a quantização de ganho adaptativo com um fator de ganho G =2 é usada para a quantização de componentes de um sinal de sub-banda para o qual uma alocação de bit convencional b é igual a três bits. Como explicado acima em conjunto com a Tabela I, 3 bits são usados para a quantização de componentes de magnitude grande e 2 = (b-1) bits são usados para a quantização de componentes de ganho modificado de magnitude pequena. Preferivelmente, um quantizador que implementa a função de quantização da Figura 8 é usado para a quantização dos componentes de magnitude grande.
[00113] Um quantizador de zona morta simétrico com sinal de 2 bits e um desquantizador complementar que implementam uma função 111 mostrada na Figura 10 podem ser usados para componentes de ganho modificado de magnitude pequena. A função 111, como ilustrada, leva em conta os efeitos de escalonamento e desescalonamento do fator de ganho G = 2, usados em conjunto com o quantizador e com o desquantizador, respectivamente. Os valores de saída para o desquantizador são -0,3333..., 0,0 e +0,3333..., e os pontos de decisão de quantizador estão em +0,1666... e +0,1666....
[00114] Um compósito das funções dos componentes de magnitude grande e de magnitude pequena é ilustrado na Figura 11.
Funções de Intervalo Dividido Alternativas [00115] O uso de um quantizador de intervalo dividido com um fator de ganho G = 2 e um limite em ou em torno de 0,500 proporciona um melhoramento da resolução de quantização em cerca de um bit. Esta resolução melhorada pode ser usada para preservar a resolução de quantização de componentes de magnitude grande, enquanto reduz a alocação de bit para esses componentes em um bit. No exemplo discutido acima, quantizadores de 2 bits poderíam ser usados para a quantização de ambos componentes de magnitude grande e de magnitude pequena. Um compósito das funções de quantização implementadas pelos dois quantizadores é mostrado na Figura 12. Os quantiza-dores que implementam as funções de quantização 112 e 113 poderíam ser usados para a quantização de componentes de magnitude grande tendo amplitudes positivas e negativas, respectivamente, e um quantizador implementando a função de quantização 111 poderia ser usado para a quantização dos componentes de magnitude pequena.
[00116] O uso de funções de quantização de intervalo dividido com fatores de ganho maiores e limites menores não proporciona um bit completo de resolução de quantização melhorada; portanto, a alocação de bit não pode ser reduzida sem se sacrificar a resolução de quantização. Em modalidades preferidas, a alocação de bit b para mantissas de magnitude grande é reduzida por um bit para blocos que são quantizados com ganho adaptativo, usando-se um fator de ganho G = 2.
[00117] A função de desquantização proporcionada no decodifica-dor deve ser complementar à função de quantização usada no codificador. 6. Codificação IntraQuadro [00118] O termo "bloco de sinal codificado" é usado aqui para se referir à informação codificada que representa todos os blocos de sinal de sub-banda para as sub-bandas de frequência através da largura de banda útil do sinal de entrada. Alguns sistemas de codificação montam múltiplos blocos de sinal codificado em unidades maiores, as quais são referidas aqui como um quadro de sinal codificado. Uma estrutura de quadro é útil em muitas aplicações, para compartilharem uma informação através de blocos de sinal codificado, desse modo reduzindo o excesso de informação, ou para facilitar os sinais de sincronização, tais como sinais de áudio e de vídeo. Uma variedade de itens envolvi- dos na codificação de uma informação de áudio em quadros para aplicações de áudio / vídeo é discutida no pedido de Patente U.S. N° de Série PCT/US 98/20751, depositado em 17 de outubro de 1998, o qual é incorporado aqui como referência.
[00119] Os aspectos de quantização de ganho adaptativo discutidos acima podem ser aplicados a grupos de blocos de sinal de sub-banda que estejam em blocos de sinal codificado diferentes. Este aspecto pode ser usado, vantajosamente, em aplicações que agrupem blocos de sinal codificado em quadros, por exemplo. Esta técnica, essencialmente, agrupa os componentes em múltiplos blocos de sinal de sub-banda em um quadro e, então, classifica os componentes e aplica um fator de ganho a este grupo de componentes, como descrito acima. Esta assim denominada técnica de codificação intraquadro pode compartilhar uma informação de controle dentre os blocos em um quadro. Nenhum agrupamento em particular de blocos de sinal codificado é crítico para a prática desta técnica. D. Implementação [00120] A presente invenção pode ser implementada em uma ampla variedade de formas, incluindo software, em um sistema de computador de finalidade geral, ou em algum outro aparelho que inclua componentes mais especializados, tais como um circuito de processador de sinal digital (DSP) acoplado a componentes similares àqueles encontrados em um sistema de computador de finalidade geral. A Figura 13 é um diagrama de blocos do dispositivo 90, que pode ser usado para a implementação de vários aspectos da presente invenção. O DSP 92 proporciona recursos computacionais. A RAM 93 é uma memória de acesso randômico de sistema (RAM). A ROM 94 representa alguma forma de armazenamento persistente, tal como uma memória apenas de leitura (ROM), para o armazenamento de programas necessários para operar o dispositivo 90 e realizar vários aspectos da presente invenção. O controle de l/O 95 representa um circuito de interface, para receber e transmitir sinais de áudio por meio de um canal de comunicação 96. Conversores de analógico para digital e conversores de digital para analógico podem ser incluídos no controle de 1/0 95, como desejado, para receberem e/ou transmitirem sinais de áudio analógicos. Na modalidade mostrada, todos os componentes principais do sistema se conectam a um barramento 91, o qual pode representar mais de um barramento físico; entretanto, uma arquitetura de barramento não é requerida para a implementação da presente invenção.
[00121] Nas modalidades implementadas em um sistema de computador de finalidade geral, componentes adicionais podem ser incluídos, para a criação de uma interface com dispositivos tais como um teclado ou um mouse e um visor, e para o controle de um dispositivo de armazenamento, que tem um meio de armazenamento como uma fita ou um disco magnético, ou um meio ótico. O meio de armazenamento pode ser usado para a gravação de programas de instruções para sistemas operacionais, utilitários e aplicativos, e pode incluir modalidades de programas que implementem vários aspectos da presente invenção.
[00122] As funções requeridas para a prática de vários aspectos da presente invenção podem ser executadas por componentes que são implementados em uma ampla variedade de formas, incluindo componentes lógicos discretos, um ou mais ASICs e/ou processadores controlados por programa. A maneira pela qual esses componentes são implementados não é importante para a presente invenção.
[00123] As implementações de software da presente invenção podem ser convertidas por uma variedade de meios que podem ser lidos em máquina, tais como percursos de comunicação de banda de base ou modulados por todo espectro, incluindo de frequências supersôni- cas a ultravioleta, ou mídias de armazenamento, incluindo aquelas que portam uma informação usando essencialmente qualquer tecnologia de gravação magnética ou ótica, incluindo fita magnética, disco magnético e disco ótico. Vários aspectos também podem ser implementados em vários componentes do sistema de computador 90, por meio de um circuito de processamento, tal como ASICs, circuitos integrados de finalidade gera, microprocessadores controlados por programas realizados em várias formas de memória apenas de leitura (ROM) ou RAM, e outras técnicas.

Claims (26)

1. Método para codificar de um sinal de entrada caracterizado pelo fato de que compreende as etapas de: receber o sinal de entrada e gerar um bloco de sinal de sub-banda de componentes de sinal de sub-banda que representam uma sub-banda de frequência do sinal de entrada; comparar magnitudes dos componentes no bloco de sinal de sub-banda com um limite, colocar cada componente em uma de duas ou mais classes de acordo com a respectiva magnitude do componente, e obter um fator de ganho a partir do dito limite; aplicar o fator de ganho aos componentes colocados em uma das classes para modificar as magnitudes dos componentes no bloco de sinal de sub-banda cujo valor se encontre abaixo do dito limite, em que o valor do dito fator de ganho é relacionado com o valor do dito limite; quantizar os componentes no bloco de sinal de sub-banda usando símbolos de comprimento não-uniforme; e montar em um sinal codificado informação de controle portando uma classificação dos componentes e dos símbolos de comprimento não-uniforme representando os componentes de sinal de sub-banda quantizados.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que monta a informação de controle no sinal codificado que indica aqueles componentes de sinal de sub-banda quantizados tendo magnitudes que não são modificadas de acordo com o fator de ganho, em que a informação de controle é portada por um ou mais símbolos reservados que não são usados para representarem componentes de sinal de sub-banda quantizados.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que compreende a etapa de obter o limite a partir de uma função que é dependente de um fator de ganho predeterminado, mas independente de um tamanho de passo de quantização dos componentes quantizados.
4. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que compreende a etapa de obter o limite a partir de uma função que é dependente de um fator de ganho predeterminado e do tamanho de passo de quantização de componentes quantizados.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que compreende as etapas de: mudar, de forma adaptativa, um respectivo tamanho de passo de quantização para cada componente no bloco de sinal de sub-banda, de acordo com a classe na qual o componente é colocado pela alocação de bits, de forma adaptativa ao componente, e obter o fator de ganho de modo que o número de bits alocados aos componentes com magnitudes modificadas seja reduzido, enquanto se preserva o respectivo tamanho de passo de quantização.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que compreende a etapa de quanti-zar os componentes colocados em uma das classes, de acordo com uma função de quantização de intervalo dividido.
7. Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que coloca cada componente em uma de três ou mais classes, de acordo com a magnitude do componente, e compreende etapas de: obter um ou mais fatores de ganho adicionais, cada um associado a uma respectiva classe, e aplicar cada um dos fatores de ganho adicionais aos componentes colocados na respectiva classe associada.
8. Método, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que compreende as etapas de: comparar as magnitudes dos componentes do bloco de sinal de sub-banda que tiveram seu ganho modificado com um segundo limite, em que os ditos componentes tiveram o fator de ganho previamente obtido, colocar de cada componente em uma de duas ou mais segundas classes de acordo com a respectiva magnitude do componente, e a obtenção de um segundo fator de ganho; e aplicar o segundo fator de ganho aos componentes colocados em uma das segundas classes, para modificar as magnitudes de alguns dos componentes no bloco de sinal de sub-banda; em que os símbolos de comprimento não-uniforme representam os componentes quantizados como modificados pelo fator de ganho e pelo segundo fator de ganho.
9. Método, de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que quantiza pelo menos alguns dos componentes usando um ou mais quantizadores de não-sobrecarga.
10. Método para decodificar de um sinal codificado caracterizado pelo fato de que compreende as etapas de: receber o sinal codificado e obter a partir dele uma informação de controle e de símbolos de comprimento não-uniforme, e obter, a partir dos símbolos de comprimento não-uniforme, componentes de sinal de sub-banda quantizados representando uma sub-banda de frequência de um sinal de entrada; desquantizar os componentes de sinal de sub-banda para obter um bloco de sinal de sub-banda de componentes desquantiza-dos; aplicar um fator de ganho para modificar as magnitudes de alguns dos componentes desquantizados, de acordo com a informa- ção de controle para obter um bloco de sinal de sub-banda modificado de componentes desquantizados, em que cada componente desquan-tizado no bloco de sinal de sub-banda modificado está em uma de duas ou mais classes de acordo com a respectiva magnitude do componente desquantizado quando comparada a um limite e todos componentes desquantizados conforme modificados pelo fator de ganho estão na mesma classe; e gerar um sinal de saída em resposta ao bloco de sinal de sub-banda modificado de componentes desquantizados.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que obtém uma informação de controle a partir do sinal codificado indicando aqueles componentes de sinal de sub-banda quantizados tendo magnitudes que não sejam para serem modificadas de acordo com o fator de ganho, em que a informação de controle é portada por um ou mais símbolos reservados que não são usados para representarem os componentes de sinal de sub-banda quantizados.
12. Método, de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de que compreende a etapa de desquantizar alguns dos componentes quantizados no bloco de sinal de sub-banda, de acordo com uma função de desquantização que é complementar a uma função de quantização de intervalo dividido.
13. Método, de acordo com qualquer uma das reivindicações 10 a 12, caracterizado pelo fato de que compreende a etapa de aplicar um segundo fator de ganho para modificar as magnitudes de alguns dos componentes desquantizados, de acordo com a informação de controle.
14. Método, de acordo com qualquer uma das reivindicações 10 a 13, caracterizado pelo fato de que desquantiza pelo menos alguns dos componentes quantizados, usando um ou mais des-quantizadores, que são complementares a um respectivo quantizador de não-sobrecarga.
15. Aparelho para codificar de um sinal de entrada caracterizado pelo fato de que compreende: um filtro de análise (12), tendo uma entrada (11) que recebe o sinal de entrada e tendo uma saída (13, 23) através da qual é proporcionado um bloco de sinal de sub-banda dos componentes de sinal de sub-banda que representam uma sub-banda de frequência do sinal de entrada; um analisador de bloco de sinal de sub-banda (14, 24; 61) acoplado ao filtro de análise (12), que compara as magnitudes dos componentes no bloco de sinal de sub-banda com um limite, coloca cada componente em uma de duas ou mais classes, de acordo com a respectiva magnitude do componente, e obtém um fator de ganho para cada classe; um processador de componente de sinal de sub-banda (15, 25; 62) acoplado ao analisador de bloco de sinal de sub-banda (14, 24; 61), que aplica o fator de ganho associado a cada classe para cada um dos componentes colocados em cada classe; um primeiro quantizador (17, 27; 67) acoplado ao processador de sinal de sub-banda, que quantiza os componentes no bloco de sinal de sub-banda tendo magnitudes modificadas de acordo com o fator de ganho; um segundo quantizador (18, 28, 68) acoplado ao analisador de bloco de sinal de sub-banda quantifica os ditos componentes conforme uma função de quantificação de intervalo dividido; e um formatador (19) acoplado ao primeiro quantizador (17, 27; 67) e ao segundo quantizador (18, 28; 68) que reune símbolos de comprimento não-uniforme que representam os componentes de sinal de sub-banda quantizados e informação de controle portando uma classificação dos componentes em um sinal codificado.
16. Aparelho, de acordo com a reivindicação 15, caracterizado pelo fato de que o formatador (19) monta uma informação de controle no sinal codificado, que indica aqueles componentes de sinal de sub-banda quantizados tendo magnitudes que não são modificadas de acordo com o fator de ganho, em que a informação de controle é portada por um ou mais símbolos reservados que não são usados para representarem os componentes de sinal de sub-banda quantizados.
17. Aparelho, de acordo com a reivindicação 15 ou 16, caracterizado pelo fato de que obtém o limite a partir de uma função que é dependente de um fator de ganho predeterminado, mas independente do tamanho do passo de quantização dos componentes quantizados.
18. Aparelho, de acordo com a reivindicação 15 ou 16, caracterizado pelo fato de que obtém o limite a partir de uma função que é dependente de um fator de ganho predeterminado e do tamanho do passo de quantização dos componentes quantizados.
19. Aparelho, de acordo com qualquer uma das reivindicações 15 a 18, caracterizado pelo fato de que muda, de forma adap-tativa, um respectivo tamanho do passo de quantização para cada componente no bloco de sinal de sub-banda, de acordo com a classe na qual o componente é colocado pela alocação de forma adaptativa de bits, ao componente, e obtém o fator de ganho de modo que o número de bits alocados aos componentes com magnitudes modificadas seja reduzido, enquanto se preserva o respectivo tamanho de passo de quantização.
20. Aparelho, de acordo com qualquer uma das reivindicações 15 a 19, caracterizado pelo fato de que coloca cada componente em uma de três ou mais classes, de acordo com a magnitude do componente, obtém um ou mais fatores de ganho adicionais, cada um associado a uma respectiva classe, e aplica cada um dos fatores de ganho adicionais aos componentes colocados na respectiva classe associada.
21. Aparelho, de acordo com qualquer uma das reivindicações 15 a 20, caracterizado pelo fato de que: o analisador de bloco de sinal de sub-banda (14, 24; 64) compara as magnitudes dos componentes do bloco de sinal de sub-banda que tiveram seu ganho modificado com um segundo limite, em que os ditos componentes tiveram o fator de ganho previamente obtido, coloca cada componente em uma de duas ou mais segundas classes de acordo com a respectiva magnitude do componente, e a obtém um segundo fator de ganho; e o processador de componente de sinal de sub-banda (15, 25; 65) aplica o segundo fator de ganho aos componentes colocados em uma das segundas classes, para modificar as magnitudes de alguns dos componentes no bloco de sinal de sub-banda; em que os símbolos de comprimento não-uniforme representam componentes quantizados conforme modificados pelo fator de ganho e pelo segundo fator de ganho.
22. Aparelho, de acordo com qualquer uma das reivindicações 15 a 21, caracterizado pelo fato de que quantiza pelo menos alguns dos componentes usando um ou mais quantizadores de não-sobrecarga.
23. Aparelho para decodificar um sinal codificado, caracterizado pelo fato de que compreende: um desformatador (32), que recebe o sinal codificado e obtém a partir dele uma informação de controle e símbolos de comprimento não-uniforme, e obtém a partir dos símbolos de comprimento não-uniforme componentes de sinal de sub-banda quantizados; um primeiro desquantizador (33, 43) acoplado ao desformatador (32), que desquantiza componentes de sinal de sub-banda no bloco, de acordo com a informação de controle, para obter componentes desquantizados, em que os componentes de sinal de sub-banda são quantificados; um segundo desquantizador (34,44) acoplado ao desforma-tador (32), que desquantiza outros componentes de sinal de sub-banda no bloco, de acordo com uma função de desquantização, que é complementar a uma função de quantização de intervalo dividido, para a obtenção de segundos componentes desquantizados; um processador de bloco de sinal de sub-banda (35, 45), acoplado ao primeiro desquantizador (33, 43), que aplica um fator de ganho para modificar as magnitudes de alguns dos primeiros componentes desquantizados no bloco de sinal de sub-banda, de acordo com a informação de controle para obter um bloco de sinal de sub-banda dos primeiros componentes desquantizados, em que cada componente desquantizado no bloco de sinal de sub-banda modificado esteja em uma de duas ou mais classes de acordo com a respectiva magnitude de componente desquantizado conforme comparada a um limite e todos componentes desquantizados conforme modificados pelo fator de ganho estejam na mesma classe; e um filtro de síntese (39), que tem uma entrada (38, 48) acoplada ao processador de sinal de sub-banda e ao segundo desquantizador (34,44) e uma saída (40) através da qual um sinal de saída é fornecido.
24. Aparelho, de acordo com a reivindicação 23, caracterizado pelo fato de que o desformatador (32) obtém uma informação de controle a partir do sinal codificado, indicando aqueles componentes de sinal de sub-banda quantizados tendo magnitudes que não devam ser modificadas de acordo com o fator de ganho, em que a informação de controle é portada por um ou mais símbolos reservados que não são usados para representarem componentes de sinal de sub- banda quantizados.
25. Aparelho, de acordo com a reivindicação 23 ou 24, caracterizado pelo fato de que o processador de bloco de sinal de sub-banda (35, 45) aplica um segundo fator de ganho, para modificar as magnitudes de alguns dos componentes desquantizados, de acordo com a informação de controle.
26. Aparelho, de acordo com qualquer uma das reivindicações 23 a 25, caracterizado pelo fato de que desquantiza pelo menos alguns dos componentes quantizados, usando um ou mais des-quantizadores que são complementares a um respectivo quantizador de não-sobrecarga.
BRPI0010672A 1999-04-16 2000-04-11 uso de quantificação de ganho adaptativo e comprimentos de símbolo não-uniformes para uma codificação de áudio BRPI0010672B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US29357799A 1999-04-16 1999-04-16
US09/349,645 US6246345B1 (en) 1999-04-16 1999-07-08 Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding
PCT/US2000/009604 WO2000063886A1 (en) 1999-04-16 2000-04-11 Using gain-adaptive quantization and non-uniform symbol lengths for audio coding

Publications (2)

Publication Number Publication Date
BR0010672A BR0010672A (pt) 2002-02-19
BRPI0010672B1 true BRPI0010672B1 (pt) 2016-06-07

Family

ID=26968028

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0010672A BRPI0010672B1 (pt) 1999-04-16 2000-04-11 uso de quantificação de ganho adaptativo e comprimentos de símbolo não-uniformes para uma codificação de áudio

Country Status (17)

Country Link
EP (1) EP1175670B2 (pt)
JP (1) JP4843142B2 (pt)
KR (1) KR100893281B1 (pt)
CN (1) CN1158646C (pt)
AR (1) AR023444A1 (pt)
AT (1) ATE269574T1 (pt)
AU (1) AU771454B2 (pt)
BR (1) BRPI0010672B1 (pt)
CA (1) CA2368453C (pt)
DE (1) DE60011606T3 (pt)
DK (1) DK1175670T4 (pt)
ES (1) ES2218148T5 (pt)
HK (1) HK1045747B (pt)
MX (1) MXPA01010447A (pt)
MY (1) MY122486A (pt)
TW (1) TW536692B (pt)
WO (1) WO2000063886A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
DE102004007200B3 (de) 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
DE102004007191B3 (de) 2004-02-13 2005-09-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
DE102004007184B3 (de) * 2004-02-13 2005-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Quantisieren eines Informationssignals
RU2420816C2 (ru) * 2006-02-24 2011-06-10 Франс Телеком Способ двоичного кодирования показателей квантования огибающей сигнала, способ декодирования огибающей сигнала и соответствующие модули кодирования и декодирования
DE102006022346B4 (de) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
WO2008013672A2 (en) * 2006-07-24 2008-01-31 Marvell World Trade Ltd. Magnetic and optical rotating storage systems with audio monitoring
EP2132732B1 (en) * 2007-03-02 2012-03-07 Telefonaktiebolaget LM Ericsson (publ) Postfilter for layered codecs
US9236063B2 (en) 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
CN107277548B (zh) * 2011-08-29 2019-12-06 苗太平洋控股有限公司 以合并模式对图像编码的方法
PL3232437T3 (pl) 2012-12-13 2019-05-31 Fraunhofer Ges Forschung Urządzenie do kodowania głosowego audio, urządzenie do dekodowania głosowego audio, sposób kodowania głosowego audio i sposób dekodowania głosowego audio
CN116366411B (zh) * 2023-03-28 2024-03-08 扬州宇安电子科技有限公司 一种多比特信号量化自适应门限生成及量化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365553A (en) * 1990-11-30 1994-11-15 U.S. Philips Corporation Transmitter, encoding system and method employing use of a bit need determiner for subband coding a digital signal
US5758315A (en) * 1994-05-25 1998-05-26 Sony Corporation Encoding/decoding method and apparatus using bit allocation as a function of scale factor
JP3307138B2 (ja) * 1995-02-27 2002-07-24 ソニー株式会社 信号符号化方法及び装置、並びに信号復号化方法及び装置
US5924064A (en) * 1996-10-07 1999-07-13 Picturetel Corporation Variable length coding using a plurality of region bit allocation patterns
US6006179A (en) * 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification

Also Published As

Publication number Publication date
BR0010672A (pt) 2002-02-19
HK1045747A1 (en) 2002-12-06
CA2368453C (en) 2009-12-08
EP1175670A1 (en) 2002-01-30
CA2368453A1 (en) 2000-10-26
DK1175670T4 (da) 2007-11-19
WO2000063886A1 (en) 2000-10-26
AU771454B2 (en) 2004-03-25
KR100893281B1 (ko) 2009-04-17
DE60011606T3 (de) 2008-01-24
DE60011606T2 (de) 2005-06-23
HK1045747B (zh) 2004-12-31
EP1175670B1 (en) 2004-06-16
DE60011606D1 (de) 2004-07-22
AU4227900A (en) 2000-11-02
ES2218148T3 (es) 2004-11-16
JP4843142B2 (ja) 2011-12-21
CN1158646C (zh) 2004-07-21
AR023444A1 (es) 2002-09-04
JP2002542522A (ja) 2002-12-10
DK1175670T3 (da) 2004-10-11
EP1175670B2 (en) 2007-09-19
ATE269574T1 (de) 2004-07-15
CN1347549A (zh) 2002-05-01
ES2218148T5 (es) 2008-02-16
TW536692B (en) 2003-06-11
MXPA01010447A (es) 2002-07-30
MY122486A (en) 2006-04-29
KR20010112434A (ko) 2001-12-20

Similar Documents

Publication Publication Date Title
US6246345B1 (en) Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding
KR100991450B1 (ko) 스펙트럼 홀 충전을 사용하는 오디오 코딩 시스템
US10121480B2 (en) Method and apparatus for encoding audio data
EP1701452B1 (en) System and method for masking quantization noise of audio signals
RU2670797C9 (ru) Способ и устройство для формирования из представления hoa-сигналов в области коэффициентов смешанного представления упомянутых hoa-сигналов в пространственной области/области коэффициентов
PL182240B1 (pl) Koder akustyczny wielokanalowy PL PL PL PL PL PL PL PL PL
CA2075156A1 (en) Digital encoder with dynamic quantization bit allocation
JPH05248972A (ja) 音声信号処理方法
BRPI0010672B1 (pt) uso de quantificação de ganho adaptativo e comprimentos de símbolo não-uniformes para uma codificação de áudio
KR101143792B1 (ko) 신호 부호화 장치 및 방법, 및 신호 복호 장치 및 방법
JPH03167927A (ja) 心理的聴覚基準で適応形量子化する変換ディジタルオーディオ放送信号用の信号圧縮装置
KR20050112796A (ko) 디지털 신호 부호화/복호화 방법 및 장치
US7613609B2 (en) Apparatus and method for encoding a multi-channel signal and a program pertaining thereto
JPH0846518A (ja) 情報符号化方法及び復号化方法、情報符号化装置及び復号化装置、並びに情報記録媒体
EP2697795B1 (en) Adaptive gain-shape rate sharing
KR20160003264A (ko) 신호 인코딩 및 디코딩 방법 및 장치
US7640157B2 (en) Systems and methods for low bit rate audio coders
JPH08307281A (ja) 非線形量子化方法及び非線形逆量子化方法
KR100640833B1 (ko) 디지털 오디오의 부호화 방법
Bhaskar Low rate coding of audio by a predictive transform coder for efficient satellite transmission
JPH05114863A (ja) 高能率符号化装置及び復号化装置
JPH11266160A (ja) 符号化装置

Legal Events

Date Code Title Description
B08E Application fees: payment of additional fee required [chapter 8.5 patent gazette]

Free format text: COMPLEMENTAR A 7A ANUIDADE REFERENTE A GUIA 920602228320 DE ACORDO COM A TABELA VIGENTE.

B08H Application fees: decision cancelled [chapter 8.8 patent gazette]

Free format text: REFERENTE AO DESPACHO PUBLICADO NA RPI 2014 DE 11/08/2009 POR TER SIDO INDEVIDO.

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: (VINTE) ANOS CONTADOS A PARTIR DE 11/04/2000, OBSERVADAS AS CONDICOES LEGAIS.