BR112020009325A2 - codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos - Google Patents
codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos Download PDFInfo
- Publication number
- BR112020009325A2 BR112020009325A2 BR112020009325-4A BR112020009325A BR112020009325A2 BR 112020009325 A2 BR112020009325 A2 BR 112020009325A2 BR 112020009325 A BR112020009325 A BR 112020009325A BR 112020009325 A2 BR112020009325 A2 BR 112020009325A2
- Authority
- BR
- Brazil
- Prior art keywords
- bits
- significant bits
- spectral values
- significant
- spectral
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 55
- 238000004590 computer program Methods 0.000 title claims description 15
- 230000003595 spectral effect Effects 0.000 claims abstract description 710
- 238000013139 quantization Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000004048 modification Effects 0.000 abstract description 3
- 238000012986 modification Methods 0.000 abstract description 3
- 238000013459 approach Methods 0.000 description 45
- 238000001228 spectrum Methods 0.000 description 27
- 238000007493 shaping process Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 230000011664 signaling Effects 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
trata-se de um decodificador de áudio para fornecer informações de áudio decodificadas com base em informações de áudio codificadas que é configurado para obter valores espectrais decodificados com base em informações codificadas que representam os valores espectrais. o decodificador de áudio é configurado para decodificar em conjunto dois ou mais bits mais significativos por valor espectral com base em respectivos códigos de símbolos para um conjunto de valores espectrais que usam uma decodificação aritmética, em que um respectivo código de símbolo representa dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais. o decodificador de áudio é configurado para decodificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de quantas informações de bits menos significativos estão disponíveis, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que o um ou mais bits mais significativos. o decodificador de áudio é configurado para fornecer as informações de áudio decodificadas com uso dos valores espectrais. modificações do decodificador de áudio são possíveis. um codificador de áudio é também descrito.
Description
Relatório Descritivo da Patente de Invenção para “CODIFICADORES DE ÁUDIO, DECODIFICADORES DE ÁUDIO, MÉTODOS E PROGRAMAS DE COMPUTADOR
[001] Modalidades de acordo com a invenção referem-se a decodificadores de áudio para fornecer informações de áudio decodificadas com base em informações de áudio codificadas.
[002] Modalidades adicionais de acordo com a invenção referem-se a codificadores de áudio para fornecer informações de áudio codificadas com base em informações de entrada de áudio.
[003] Modalidades adicionais de acordo com a invenção referem-se a métodos para fornecer informações de áudio decodificadas com base em informações de áudio codificadas.
[004] Modalidades adicionais de acordo com a invenção referem-se a métodos para fornecer informações de áudio codificadas com base em informações de entrada de áudio.
[005] Modalidades adicionais de acordo com a invenção referem-se a respectivos programas de computador.
[006] Modalidades de acordo com a invenção referem-se a um truncamento melhorado de dados aritméticos de áudio codificado.
[007] No passado, muitos conceitos diferentes para a codificação e decodificação de conteúdo de áudio foram desenvolvidos.
[008] Por exemplo, o Novo Codec Bluetooth (NBC) é um codificador/decodificador de áudio que é muito similar a um codificador/decodificador de áudio TCX baseado em MDCT usado no padrão 3GPP EVS [1]. Ambos empregam quantização escalar e codificação aritmética baseada em contexto (conferir, por exemplo, referências [2] a [4]) para codificação dos dados MDCT.
[009] O quantizador escalar é um quantizador uniforme simples (com uma zona morta adicional) cujo tamanho de etapa é controlado por um ganho global único (que é, por exemplo, enviado para o decodificador como informação lateral). Esse ganho global controla tanto a distorção introduzida pelo quantizador escalar quanto também o número de bits consumidos pelo codificador aritmético. Quanto maior o ganho global, maior a distorção e menor o número de bits consumidos pelo codificador aritmético.
[010] Em EVS, como em muitos outros codificadores/decodificadores de comunicação, a taxa de bits de codificador/decodificador é constante, ou seja, existe um número limitado de bits (orçamento de bits) disponível para codificação dos dados de MDCT.
[011] Consequentemente, o codificador deve encontrar (ou tem que encontrar) um ganho global que não é muito baixo, caso contrário o número de bits consumidos pelo codificador aritmético iria exceder o orçamento de bits. Além disso, isso deveria (ou tem que) encontrar um ganho global que não é muito alto, caso contrário a distorção introduzida pela quantização seria maior, o que resultaria em qualidade perceptual pior do sinal de saída decodificado.
[012] Idealmente, o codificador deveria encontrar em todo quadro o ganho global ideal: aquele que dá distorções mínimas enquanto produz um número de bits abaixo do orçamento de bits.
[013] Esse objetivo pode, por exemplo, ser atingido com uso de uma abordagem iterativa também conhecida como circuito de taxa: a cada iteração do circuito, os dados de MDCT são requantizados, o número de bits consumidos pelo codificador aritmético é estimado e o ganho global é ajustado como uma função do número de bits e/ou da distorção.
[014] Um circuito de taxa é, entretanto, complexo de maneira computacional, e para poupar complexidade, normalmente um número pequeno de iterações é usado. Isso é particularmente relevante para codificadores/decodificadores de comunicação de potência muito baixa (por exemplo, o Novo Codec Bluetooth) que requerem complexidade computacional muito baixa. Então, na prática, um subganho global ideal é normalmente encontrado.
[015] Foi descoberto que em alguns casos, o ganho global encontrado é muito alto, o que resulta em um número de bits consumidos significativamente menor que o orçamento de bits. Nesse caso, existe um número de bits não usados. Esses bits podem na verdade ser usados por uma ferramenta adicional chamada “quantização/codificação residual” (que é, por exemplo, usada em EVS e NBC). Essa ferramenta refina os coeficientes quantizados diferentes de zero com uso de um bit por coeficiente, e ajuda a pegar uma distorção que não é muito alta mesmo quando o ganho global é muito alto.
[016] Ademais, foi descoberto que, em alguns outros casos, o ganho global encontrado é muito baixo, o que resulta em um número de bits consumidos que excede o orçamento de bits. Nesse caso, os dados quantizados não podem ser codificados por inteiro. Em outras palavras, uma porção dos dados deve ser deixada de fora para ficar dentro do orçamento de bits. Uma solução empregada no padrão EVS (e também atualmente em NBC) é truncar os coeficientes diferentes de zero de alta frequência, ao ajustá-los a zero. Visto que o codificador aritmético não codifica a porção de coeficientes zero de alta frequência (com uso de um último índice de coeficiente diferente de zero), essa abordagem permite poupar bits e se for suficiente coeficientes diferentes de zero de alta frequência são truncados, isso permite ficar dentro do orçamento de bits.
[017] Foi descoberto que essa abordagem produz bons resultados em baixas taxas de bits porque os coeficientes de alta frequência são menos importantes de maneira perceptual e eles podem ser substituídos por um ruído aleatório (com uso de uma ferramenta de enchimento de ruído, consultar, por exemplo, EVS [1]) sem uma perda significativa em qualidade perceptual.
[018] Entretanto, foi também descoberto que, em altas taxas de bits, essa abordagem pode degradar severamente o desempenho de codificador/decodificador.
[019] Em vista dessa situação, existe um desejo para ter um conceito que permite por uma implicação aprimorada entre qualidade de áudio, complexidade e taxa de bits.
[020] Uma modalidade de acordo com a invenção cria um decodificador de áudio para fornecer informações de áudio decodificadas com base em informações de áudio codificadas. O decodificador de áudio é configurado para obter os valores espectrais decodificados com base em informações codificadas que representam esses valores espectrais. O decodificador de áudio é configurado para decodificar em conjunto dois ou mais bits mais significativos por valor espectral (por exemplo, por valor espectral quantizado) com base em respectivos códigos de símbolos para um conjunto de valores espectrais com uso de uma decodificação aritmética. Um respectivo código de símbolos representa dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais. O decodificador de áudio é configurado para decodificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de quantas informações de bits menos significativos estão disponíveis, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais (que podem, por exemplo, ser valores espectrais quantizados) sejam decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais dois ou mais bits mais significativos foram decodificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos. Ademais, o decodificador de áudio é configurado para fornecer as informações de áudio decodificadas com uso dos valores espectrais (decodificados).
[021] Esse decodificador de áudio permite por um conceito eficiente de codificação/decodificação que fornece uma boa implicação entre qualidade de áudio, complexidade e taxa de bits. Por exemplo, o decodificador de áudio pode lidar bem com casos em que um orçamento de bits é insuficiente para decodificar todos os valores espectrais (quantizados) no lado de um codificador de áudio sob uma dada restrição de orçamento de bits.
[022] O decodificador de áudio é baseado na constatação que, para um dado orçamento de bits, uma qualidade de áudio comparativamente boa pode ser atingida se um ou mais bits mais significativos são codificados (e decodificados) para muitos valores espectrais (ou até mesmo para todos os valores espectrais diferentes de zero) enquanto omitem a codificação (e a decodificação) dos bits menos significativos de alguns dos valores espectrais (quantizados). Em outras palavras, é a ideia chave da presente invenção que uma degradação de uma qualidade de áudio em um exemplo em que um orçamento de bits seja insuficiente (por exemplo, para uma codificação completa de valores espectrais quantizados) seja frequentemente menor se a codificação e decodificação de alguns bits menos significativos forem omitidas quando comparadas com uma solução em que uma codificação de valores espectrais completos for omitida. Formulado de maneira diferente, foi constatado que omitir uma codificação de bits menos significativos de muitos valores espectrais é tipicamente ainda uma melhor solução para reduzir uma demanda de bits (para manter dentro de um orçamento de bits) quando comparado com omitir completamente uma codificação de um número comparativamente menor de valores espectrais (mesmo se apenas valores espectrais em uma região de alta frequência fossem omitidos). Ao formular de maneira diferente, a presente invenção é baseada na constatação que omitir (seletivamente) uma decodificação de bits menos significativos para valores espectrais, para os quais o um ou mais bits mais significativos foram decodificados é uma boa maneira para reduzir uma demanda de bits que tipicamente traz menos distorções quando comparada com uma omissão da codificação e decodificação de valores espectrais em uma faixa de alta frequência.
[023] Consequentemente, o decodificador de áudio descrito neste documento tipicamente não traz severas degradações de relação sinal-ruído em quadros em que um orçamento de bits é insuficiente para uma codificação completa sem perdas de valores espectrais quantizados.
[024] Ademais, foi constatado que o conceito é particularmente eficiente em um exemplo em que dois ou mais bits mais significativos por valor espectral são codificados e decodificados em conjunto, porque nesse caso os bits mais significativos transportam informações suficientemente significativas para permitir uma boa representação de áudio mesmo no caso de os bits menos significativos não serem codificados e decodificados. Em outras palavras, ao pela decodificação em conjunto de dois ou mais bits mais significativos por valor espectral, pode ser garantido que não existem artefatos excessivos, que poderia ser causado, por exemplo, ao introduzir conteúdo de áudio codificado com menos de dois bits em uma região de alta frequência. Em outras palavras, foi constatado que o conceito mencionado no presente documento fornece uma boa compreensão entre taxa de bits, complexidade e qualidade de áudio.
[025] Em uma modalidade preferencial, o decodificador de áudio é configurado para mapear um símbolo de uma representação codificada aritmeticamente, que representa pelo menos dois bits mais significativos de pelo menos um valor espectral, nos pelo menos dois bits mais significativos do pelo menos um valor espectral. Consequentemente, pode ser atingido que os dois ou mais bits mais significativos sejam representados por um símbolo único da representação codificada aritmeticamente (que é parte das informações de áudio codificadas), que permite uma boa consideração de um contexto de codificação/decodificação e de dependências estatísticas entre valores espectrais adjacentes (quantizados).
[026] Em uma modalidade preferencial, a decodificação aritmética é configurada para determinar posições de bits (por exemplo, pesos de bits) dos pelo menos dois bits mais significativos (por exemplo, designados no presente documento como “numbits” e “numbits-1”) e para alocar o pelo menos dois bits mais significativos determinados por u símbolo da representação codificada aritmeticamente para as determinadas posições de bits. As posições de bits podem ser determinadas, por exemplo, com base em um número de assim chamados “símbolos de escape”, que podem também ser designados como “VAL_ESC”. Por exemplo, as posições de bits podem ser determinadas individualmente por diferentes símbolos da representação codificada aritmeticamente. Consequentemente, um peso numérico apropriado pode ser alocado para os bits mais significativos, e pode também ser constatado se um ou mais bits menos significativos e um ou mais bits intermediários (posições de bits dos quais estão entre o um ou mais bits menos significativos e os dois ou mais bits mais significativos) estão associados com um valor espectral. Assim, pode ser decidido se ainda deve haver uma decodificação de um ou mais bits menos significativos para os respectivos valores espectrais (e, opcionalmente, de um ou mais bits intermediários para o respectivo valor espectral). Além disso, ao usar esse conceito, é possível evitar uma codificação e decodificação de bits menos significativos para tais valores espectrais para os quais os dois ou mais bits mais significativos sejam suficientes para representar completamente o valor espectral. Isso é, por exemplo, verdadeiro para valores espectrais que se encontram dentro de uma faixa entre 0 e 3 (no caso de haver dois bits mais significativos).
[027] Em uma modalidade preferencial, o decodificador de áudio é configurado para decodificar, para todos os valores espectrais para os quais dois ou mais bits mais significativos foram decodificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos e bits menos significativos, um ou mais bits intermediários, posições de bits dos quais estão entre os bits menos significativos e os dois ou mais bits mais significativos. Consequentemente, é possível decodificar todos os bits de uma representação de número binário de um valor espectral quantizado, exceto pelos bits menos significativos. Por exemplo, é possível decodificar todos os bits das representações de número binário (e possivelmente assinado) de todos os valores espectrais, com a exceção dos bits menos significativos, para todos os valores espectrais diferentes de zero. Portanto, uma boa representação do espectro pode ser obtida, em que é garantido que um erro máximo para cada valor espectral é limitado aos bits menos significativos, independente da pergunta se a representação codificada dos bits menos significativos para o respectivo valor espectral pode ser incluída na representação de áudio codificada devido às restrições de taxa de bits ou não.
[028] Em uma modalidade preferencial, o decodificador de áudio é configurado para decodificar, em uma primeira fase de decodificação (por exemplo, etapa 3 da decodificação), dois ou mais bits mais significativos por valores espectrais, e para todos os valores espectrais para os quais dois ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos (que são decodificados em conjunto) e bits menos significativos, um ou mais bits intermediários, posições de bits dos quais estão ente os bits menos significativos e os dois ou mais bits mais significativos. Além disso, na primeira fase de decodificação, para todos os valores espectrais para os quais dois ou mais bits mais significativos são decodificados e para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam sinais ou valor diferentes de zero que são decodificados. Além disso, o decodificador de áudio é configurado para omitir seletivamente, na primeira fase de decodificação, uma decodificação de um sinal para valores espectrais para os quais os dois ou mais bits mais significativos, e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero. Além disso, o decodificador de áudio é configurado para obter seletivamente, em uma segunda fase de decodificação (por exemplo, etapa 6 da decodificação) que segue a primeira fase de decodificação, informações de sinal para valores espectrais para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários - na medida em que bits intermediários estejam presentes – indicam um valor zero e para os quais informações de bits menos significativos indicam um valor diferente de zero.
[029] Consequentemente, decodificação de sinal não é realizada na primeira fase se aqueles bits decodificados na primeira fase (a saber os dois ou mais bits mais significativos e quaisquer bits intermediários que possam estar presentes) indicam que um valor absoluto do valor espectral não é maior que uma contribuição de bits menos significativos. Portanto, a decodificação do sinal é adiada até que a decodificação real dos bits menos significativos. Tal procedimento é vantajoso, visto que isso pode evitar que um sinal seja decodificado “muito cedo” e em vão, que poderia ser o caso se os bits menos significativos que correspondem ao respectivo valor espectral não estiverem incluídos no fluxo de bits devido a uma exaustão de um orçamento de bits.
[030] Em uma modalidade preferencial, o decodificador de áudio é configurado para usar sequencialmente bits subsequentes de uma sequência de bits de informações de bits menos significativos (por exemplo, lsbs[]) para obter valores de bits menos significativos associados com os valores espectrais. Consequentemente, pode ser atingido que haja uma sequência contígua de bits que representa os bits menos significativos (quaisquer sinais, na medida em que for necessário). Ao encurtar essa sequência de bits (por exemplo, lsbs[]), uma taxa de bits necessária para a transmissão da representação de áudio codificado pode facilmente ser ajustada na lateral de um codificador de áudio, e o decodificador de áudio pode muito facilmente, e sem um mapeamento complexo de bits, adaptar para um ajuste da taxa de bits (ou para um comprimento ou lsbs[] variáveis).
[031] Em uma modalidade preferencial, o decodificador de áudio é configurado para usar um único bit (por exemplo, etapa 6, bit0) da sequência de bits de informações de bits menos significativos (por exemplo, lsbs[]) para respectivos valores espectrais para os quais os dois ou mais valores de bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor diferente de zero, em que o único bit da sequência de bits de informações de bits menos significativos é usado para obter um valor de bits menos significativos nesse caso. Além disso, o decodificador de áudio é configurado para usar um único bit (por exemplo, etapa6, bit0) da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e para os quais o único bit usado da sequência de bits de informações de bits menos significativos confirma o valor zero (por exemplo, valor “0” de bit 0 na etapa 6). Além disso, o decodificador de áudio é configurado para usar dois bits subsequentes (por exemplo, bit 0 e bit 1 na etapa 6) da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e para os quais um primeiro dos bits usados da sequência de bits de informações de bits menos significativos indica um desvio do valor zero por um valor de bits menos significativos (valor “1” de bit0 na etapa 6), em que um segundo dos bits usados (por exemplo, bit1 na etapa 6) da sequência de bits de informações de bits menos significativos determina um sinal do respectivo valor espectral.
[032] Ao usar tal mecanismo, uma eficiência alta de taxa de bits pode ser atingida. Existe apenas uma sequência contígua de bits (por exemplo, lsbs[]) para a codificação e decodificação dos bits menos significativos, em que essa uma sequência contígua de bits também contém seletivamente informações de sinal para tais valores espectrais que apenas desviam de um valor zero por um valor de bits menos significativos (ou seja, para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários (na medida em que bits intermediários estejam presentes) indicam um valor zero).
[033] Em uma modalidade preferencial, o decodificador de áudio é configurado para decodificar bits menos significativos que iniciam de bits menos significativos associados com um valor espectral de menor frequência e que procedem para valores espectrais associados com frequências maiores de maneira frequente, de modo que valores espectrais (por exemplo, todos os valores espectrais que compreendem mais bits que os dois ou mais bits mais significativos) sejam refinados por informações de bits menos significativos em uma faixa de um valor espectral de menor frequência até um valor espectral para o qual uma última informação de bits menos significativos esteja disponível, e de modo que (por exemplo, todos) valores espectrais (por exemplo, até mesmo valores espectrais decodificados que compreendem mais bits que os dois ou mais bits mais significativos) que têm frequências associadas maiores que uma frequência associada com o valor espectral para o qual a última informação de bits menos significativos está disponível permanece não refinada. Em outras palavras, valores espectrais em uma faixa de frequência menor (do valor espectral de menor frequência até um valor espectral que tem associado a última informação de bits menos significativos) são refinados com uso de informações de bits menos significativos, enquanto valores espectrais associados com frequências maiores permanecem todos não refinados. Consequentemente, uma resolução na faixa de baixa frequência mais importante de maneira perceptual é aumentada com uso de refinamento de bits menos significativos, enquanto apenas os dois ou mais bits mais significativos (e bits intermediários, se disponíveis) são usados em uma faixa de frequência maior, que é menor importante de maneira perceptual. Consequentemente, a melhor impressão auditiva possível pode ser obtida com base na taxa de bits disponível, em que também existe um mecanismo simples para o qual valores espectrais de informações de bits menos significativos são fornecidos. Ademais, os valores espectrais podem ser refinados de um valor espectral de menor frequência até um valor espectral para o qual a última informação de bits menos significativos é associada.
[034] Em uma modalidade preferencial, o decodificador de áudio é configurado para ser alternável entre um primeiro modo, em que uma decodificação de valores espectrais em uma faixa de frequência maior é omitida (por exemplo, omitida totalmente) em resposta a uma sinalização do codificador e em que bits menos significativos são decodificados para todos os valores espectrais para os quais um ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que os bits mais significativos, e um segundo modo, em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que os bits mais significativos.
[035] Em outras palavras, o decodificador de áudio é alternável entre dois modos, que usam mecanismos diferentes de maneira significativa para lidar com uma exaustão de um orçamento de bits.
[036] No primeiro modo, todos os valores espectrais em uma faixa de frequência menor são codificados (e decodificados) completamente de modo que incluem os bits menos significativos, enquanto todos os valores espectrais em uma faixa de frequência maior são totalmente descartados pelo codificador mesmo se eles forem diferentes de zero e consequentemente não decodificados na lateral do decodificador. No segundo modo, pelo menos os bits mais significativos são codificados para todos os valores espectrais diferentes de zero (e, portanto, também decodificados), mas os bits menos significativos são apenas codificados (e decodificados) se (ou enquanto) ainda há um orçamento de bits disponível.
[037] Entretanto, foi constatado que a possibilidade para alternar entre os dois modos diferentes permite o decodificador de áudio a adaptar para variar condições de transmissão. Por exemplo, foi constatado que o primeiro modo é algumas vezes mais vantajoso que o segundo modo, por exemplo, se existe apenas uma taxa de bits muito pequena disponível. Por outro lado, foi também constatado que o primeiro modo não fornece bons resultados na presença de uma taxa de bits alta de maneira suficiente, em que as representações binárias de muitos valores espectrais compreendem bits menos significativos além dos dois ou mais bits mais significativos. Consequentemente, o decodificador de áudio pode operar com bons resultados em circunstâncias em que existem apenas poucos bits menos significativos e em circunstâncias em que existe um número comparativamente maior de bits menos significativos (em que a operação no segundo modo é tipicamente problemática no primeiro caso, enquanto a operação no segundo modo é tipicamente muito vantajosa no segundo caso).
[038] Em uma modalidade preferencial, o decodificador de áudio é configurado para avaliar um sinalizador de fluxo de bits que é incluído na representação de áudio codificada para decidir se o codificador de áudio opera no primeiro modo ou no segundo modo. Consequentemente, alternância entre o primeiro modo e o segundo pode ser controlada por um codificador de áudio, que tipicamente compreende bom conhecimento sobre qual modo é mais vantajoso. Além disso, a complexidade do decodificador de áudio pode ser reduzida, porque o decodificador de áudio não precisa decidir por si próprio se usa o primeiro modo ou o segundo modo.
[039] Em outra modalidade, o decodificador de áudio é configurado para decodificar em conjunto dois ou mais bits mais significativos por valor espectral para pelo menos dois valores espectrais com base em respectivos códigos de símbolos, em que um respectivo código de símbolos representa dois ou mais bits mais significativos por valor espectral para pelo menos dois valores espectrais. Tal agrupamento de valores espectrais, em que dois ou mais valores espectrais são representados por um único símbolo da representação codificada aritmeticamente, é também particularmente eficiente, porque existe frequentemente apenas alguma correlação entre valores espectrais adjacentes, e porque não é necessário codificar individualmente a posição de bits para cada um de dois bits mais significativos. Entretanto, pode ocorrer naturalmente que os “bits mais significativos” de um dos valores espectrais sejam ambos “zero”, porque a posição de bits é tipicamente determinada pelo valor espectral que tem um valor absoluto maior.
[040] Uma modalidade de acordo com a invenção cria um decodificador de áudio para fornecer informações de áudio decodificadas com base em informações de áudio codificadas. O decodificador de áudio é configurado para obter valores espectrais decodificados com base em informações codificadas que representam os valores espectrais. O decodificador de áudio é configurado para decodificar um ou mais bits mais significativos com base em respectivos códigos de símbolos para uma pluralidade de valores espectrais, e para decodificar um ou mais bits menos significativos para um ou mais dos valores espectrais. Em particular, o decodificador de áudio é configurado para ser alternável entre um primeiro modo, em que uma decodificação de valores espectrais em uma faixa de frequência maior é omitida (por exemplo, omitida totalmente) em resposta a uma sinalização do codificador e em que bits menos significativos são decodificados para todos os valores espectrais para os quais um ou mais bits mais significativos são decodificados (ou foram decodificados) e sendo que compreendem mais bits que os bits mais significativos, e um segundo modo em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados (ou foram decodificados) e sendo que compreendem mais bits que o um ou mais bits mais significativos. Ademais, o decodificador de áudio é configurado para fornecer as informações de áudio decodificadas com uso dos valores espectrais.
[041] Essa modalidade é baseada na ideia de que o primeiro modo ou o segundo modo podem ser mais vantajosos em termos de uma implicância entre complexidade, taxa de bits e qualidade de áudio que dependem das circunstâncias. O decodificador de áudio pode lidar com duas abordagens diferentes para lidar com uma exaustão de um orçamento de bits. Ao operar no primeiro modo, o decodificador de áudio pode lidar com situações em que um codificador de áudio omite uma codificação de valores espectrais na faixa de frequência maior, enquanto valores espectrais em uma faixa de frequência baixa são todos codificados completamente (de modo que incluem bits menos significativos). No segundo modo, o decodificador de áudio lida com informações de áudio codificadas em que bits menos significativos são omitidos seletivamente para alguns dos valores espectrais, apesar de o um ou mais bits mais significativos serem codificados para todos os valores espectrais. Conforme já mencionado acima, ambas as abordagens têm suas vantagens que dependem de alguns outros parâmetros de sistema (como, por exemplo, a taxa de bits disponível), e o decodificador de áudio descrito neste documento pode assim fornecer bons resultados em condições variáveis.
[042] Esse decodificador de áudio pode também ser suplementado por qualquer um dos recursos e funcionalidades do decodificador de áudio mencionado acima.
[043] Em uma modalidade preferencial, o decodificador de áudio é configurado para obter bits intermediários, posições de bits dos quais estão entre os bits menos significativos e o um ou mais bits mais significativos, e os bits menos significativos associados com um dado valor espectral de uma sequência contígua de bits no primeiro modo. Além disso, o decodificador de áudio é configurado para obter bits intermediários, posições de bits dos quais estão entre os bits menos significativos e o um ou mais bits mais significativos, e os bits menos significativos associados com um dado valor espectral de uma sequência separada de bits ou de localizações de bits separadas e não contíguas de uma sequência de bits no segundo modo.
[044] Em outras palavras, no primeiro modo, pode haver uma única sequência contígua de bits que codifica tanto os bits intermediários (na medida em que bits intermediários estejam presentes) quanto os bits menos significativos. Essa sequência contígua de bits, que compreende tanto a informação sobre os bits intermediários quanto as informações sobre os bits menos significativos (mas que tipicamente não compreendem informações sobre o um ou mais bits mais significativos) pode facilmente ser encurtada no caso de um orçamento de taxa de bits ser reduzido. Por outro lado, no segundo modo, informações que representam os bits menos significativos e as informações que representam os bits intermediários são contidas em sequências separadas de bits ou em subsequências separadas de uma sequência de bits. Consequentemente, há uma sequência de bits que obtém as informações sobre os bits intermediários (e, opcionalmente, informações de sinal), e há uma sequência que compreende informações sobre os bits menos significativos (e, opcionalmente, sobre os sinais de valores que são muito próximos de zero). Consequentemente, visto que as informações sobre os bits menos significativos estão em uma sequência separada ao operar no segundo modo, é fácil remover ou encurtar a sequência que compreende os bits menos significativos, para desse modo, reduzir a taxa de bits necessária. O decodificador de áudio pode facilmente adaptar para um comprimento variável da sequência que compreende os bits menos significativos em que o refinamento de bits menos significativos de valores espectrais é aplicado a mais ou menos valores espectrais, que dependem de quantos bits estão contidos na sequência que representa os bits menos significativos.
[045] Uma modalidade de acordo com a invenção cria um codificador de áudio para fornecer informações de áudio codificadas com base em informações de entrada de áudio. O codificador de áudio é configurado para obter valores espectrais que representam um conteúdo de áudio das informações de entrada de áudio. O codificador de áudio é também configurado para codificar pelo menos uma pluralidade dos valores espectrais, para obter informações codificadas que representam os valores espectrais (que podem ser uma parte das informações de áudio codificadas). Além disso, o codificador de áudio é configurado para codificar em conjunto dois ou mais bits mais significativos por valor espectral, para obter respectivos códigos de símbolos para um conjunto de valores espectrais com uso de uma codificação aritmética. Um respectivo código de símbolos pode representar dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais.
[046] O decodificador de áudio é também configurado para codificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de um orçamento disponível de bits, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais sejam codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais dois ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos. Além disso, o codificador de áudio é configurado para fornecer as informações de áudio codificadas com uso das informações codificadas que representam os valores espectrais.
[047] Esse codificador de áudio é baseado na ideia que uma boa implicância entre complexidade, taxa de bits e qualidade de áudio pode ser atingida ao omitir seletivamente uma codificação de um ou mais bits menos significativos para valores espectrais para os quais dois ou mais bits mais significativos são decodificados com uso de uma codificação aritmética. Foi constatado que omitir a codificação de um ou mais bits menos significativos não é particularmente prejudicial no caso de existirem pelo menos dois bits mais significativos que são codificados.
[048] Em particular, foi constatado que omitir a codificação dos bits menos significativos para um ou mais valores espectrais (quantizados) para os quais bits mais significativos são codificados causa uma degradação muito menor de uma qualidade de áudio quando comparado com omitir totalmente uma codificação de alguns valores espectrais para permanecer dentro de um orçamento de bits.
[049] Em uma modalidade preferencial, a codificação aritmética é configurada para determinar posições de bits (por exemplo, pesos de bits) dos pelo menos dois bits mais significativos (por exemplo, numbits e numbits-1), por exemplo, individualmente para diferentes símbolos da representação codificada aritmeticamente, e para inclui na representação codificada aritmeticamente informações, por exemplo, uma sequência de escape que compreende um ou mais símbolos “VAL_ESC”, que descrevem as posições de bits. Consequentemente, as posições de bits ou pesos de bits dos dois ou mais bits mais significativos podem ser adaptadas para os valores espectrais reais, em que os bits mais significativos podem ter um peso de bits maior para valores espectrais comparativamente grandes e em que os bits mais significativos podem ter um peso de bits comparativamente pequeno para valores espectrais comparativamente menores. Consequentemente, alguns valores espectrais quantizados podem ser codificados totalmente com uso dos dois ou mais bits mais significativos, em que não existem bits menos significativos (ou bits intermediários) remanescentes. Em contraste, outros valores espectrais comparativamente maiores podem ser codificados com uso de dois ou mais bits mais significativos e com uso de pelo menos um bit menos significativo. Para tais valores espectrais comparativamente grandes para os quais existe pelo menos um bit menos significativo, além dos dois ou mais bits mais significativos, o codificador pode decidir de maneira flexível se codifica os bits menos significativos ou não, de modo que depende se um orçamento disponível de bits está exausto ou não. Entretanto, quanto maior a resolução de quantização, maior o número de valores espectrais que compreendem um ou mais bits menos significativos, além dos dois ou mais bits mais significativos. Consequentemente, uma possibilidade para poupar bits por não codificação dos bits menos significativos é particularmente alta para quantização fina.
[050] Em uma modalidade preferencial, o codificador de áudio é configurado para mapear pelo menos dois bits mais significativos do pelo menos um valor espectral para um símbolo da representação codificada aritmeticamente, que representa o pelo menos dois bits mais significativos do pelo menos um valor espectral. Codificação em conjunto de dois ou mais bits mais significativos com uso de um símbolo de uma representação codificada aritmeticamente constatou ser particularmente eficiente, visto que correlações entre bits mais significativos de valores espectrais adjacentes podem ser exploradas, por exemplo, ao determinar um contexto para a codificação aritmética.
[051] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar, para todos os valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos e os bits menos significativos, um ou mais bits intermediários, posições de bits dos quais estão entre os bits menos significativos e os dois ou mais bits mais significativos. Consequentemente, todos os valores espectrais para os quais dois ou mais bits mais significativos estão codificados são na verdade codificados com uma resolução boa. Para tais valores espectrais, todos os bits exceto pelos bits menos significativos são sempre codificados, o que traz uma resolução boa e tem o efeito que apenas os bits menos significativos são afetados no caso de um orçamento de bits estar exausto. Assim, uma impressão auditiva muito boa pode ser mantida.
[052] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar, em uma primeira fase de codificação, dois ou mais bits mais significativos por valores espectrais e para também codificar, na primeira fase de codificação, para valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos (que são codificados em conjunto) e bits menos significativos, um ou mais bits intermediários, posições de bits dos quais estão entre os bits menos significativos e os dois ou mais bits mais significativos. Além disso, o codificador é configurado para codificar, na primeira fase de codificação, sinais para todos os valores espectrais para os quais dois ou mais bits mais significativos são codificados e para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor diferente de zero. Entretanto, o codificador de áudio é configurado para omitir seletivamente, na primeira fase de codificação, uma codificação de um sinal para valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero. Consequentemente, na primeira fase de codificação, os bits mais significativos e os bits intermediários (na medida em que bits intermediários estejam presentes entre os bits mais significativos e os bits menos significativos) são codificados. Entretanto, na primeira fase de codificação, sinais são apenas codificados se os dois ou mais bits mais significativos e os bits intermediários indicam um valor diferente de zero. Em outras palavras, na primeira fase de codificação, sinais não são codificados caso os valores espectrais sejam tão pequenos que eles diferem de zero apenas por um valor de bits menos significativos (que é o caso se o peso de bits dos dois ou mais bits mais significativos for escolhido de modo que os bits mais significativos sejam todos zero, o que pode, por exemplo, acontecer se os pesos de bits de um dado valor espectral forem afetados por um ou mais valores espectrais adjacentes que são maiores que o dado valor espectral).
[053] Além disso, o codificador de áudio é configurado para codificar seletivamente, em uma segunda fase de codificação que segue a fase de codificação, informações de sinal para valores espectrais para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero e para os quais informações de bits menos significativos indicam um valor diferente de zero. Em outras palavras, para valores espectrais muito pequenos, que diferem de zero apenas por um valor de bits menos significativos, o sinal é apenas codificado na segunda fase de codificação, em que uma decisão de se a segunda fase de codificação é na verdade executada (ou completada) para um dado valor espectral (ou seja, se as informações de bits menos significativos são incluídas nas informações de áudio codificadas) é dependente do orçamento de bits. Assim, a primeira fase de codificação é aerodinâmica, e as informações de sinal são apenas codificadas (por exemplo, incluídas nas informações de áudio codificadas) na segunda fase de codificação, a menos que já esteja claro a partir da codificação dos bits mais significativos e quaisquer bits intermediários (na medida em que existem quaisquer bits intermediários) que informações de sinal são necessárias em qualquer caso. A codificação de informações desnecessárias é evitada e a eficiência é aumentada, visto que não é claro a partir do começo para os quais valores espectrais da segunda fase de codificação seriam realizados. A decisão final se a segunda fase de codificação será realizada pode apenas ser feita quando se sabe quantos bits não necessários para a decodificação dos bits mais significativos e quaisquer bits intermediários, e quantos bits já foram usados pela codificação de outros bits menos significativos.
[054] Em uma modalidade preferencial, o codificador de áudio é configurado para apenas incluir informações de sinal para a representação de áudio codificado para valores espectrais que apenas diferem de zero por bits menos significativos se os bits menos significativos de tais valores espectrais forem na verdade codificados (incluídos na representação de áudio codificado). Consequentemente, uma inclusão de informações desnecessárias para as informações de áudio codificadas (ou representação de áudio codificado) pode ser evitada. Em outras palavras, informações de sinal são incluídas para todos os valores espectrais que são diferentes de zero mesmo sem considerar os bits menos significativos. Para valores espectrais que são diferentes de zero apenas ao considerar os bits menos significativos, as informações de sinal são apenas incluídas na representação de áudio codificado se as informações de bits menos significativos forem na verdade incluídas na representação de áudio codificado.
[055] Em uma modalidade preferencial, o codificador de áudio é configurado para fornecer sequencialmente bits subsequentes de uma sequência de bits de informações de bits menos significativos para codificar os valores de bits menos significativos associados com os valores espectrais. Consequentemente, uma sequência contígua de bits ou fluxo de bits é fornecida que apenas compreende as informações de bits menos significativos e possivelmente algumas informações de sinal para tais valores espectrais que são diferentes de zero apenas ao considerar os bits menos significativos. Consequentemente, existe uma sequência separada de informações de bits menos significativos (de modo que inclui informações associadas de sinal), que pode ser encurtada ou omitida sem afetar a codificação dos bits mais significativos e dos bits intermediários (e de quaisquer informações de sinal que são relevantes ao deixar os bits menos significativos não considerados).
[056] Em uma modalidade preferencial, o codificador de áudio é configurado para fornecer um único bit da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores de bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor diferente de zero, em que o único bit usado da sequência de bits de informações de bits menos significativos é usado para codificar um valor de bits menos significativos. Além disso, o codificador de áudio é configurado para fornecer um único bit da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero e para os quais o único bit fornecido da sequência de bits de informações de bits menos significativos confirma o valor zero. Além disso, o codificador de áudio é configurado para fornecer dois bits subsequentes da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais bits mais significativos, e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero e para os quais um primeiro dos bits fornecidos da sequência de bits de informações de bits menos significativos indica desvio do valor zero por um valor de bits menos significativos, em que um segundo dos bits fornecidos da sequência de bits de informações de bits menos significativos codifica um sinal do respectivo valor espectral. Em outras palavras, a sequência de bits de informações de bits menos significativos tipicamente compreende um bit por valores espectrais, mas compreende dois bits por valor espectral se o valor espectral desvia de um valor zero apenas por um valor de bits menos significativos. No último caso, as informações de sinal são incluídas na sequência de bits de informações de bits menos significativos, porque são apenas necessárias se a respectiva parte das informações de bits menos significativos for na verdade codificada ou for na verdade transmitida para um decodificador de áudio, ou for na verdade avaliada por um decodificador de áudio.
[057] Em outras palavras, o sinal é incluído seletivamente na sequência de bits de informações de bits menos significativos para valores espectrais para os quais os bits mais significativos e bits intermediários (se presentes) indicam um valor zero e para os quais os bits menos significativos indicam um valor diferente de zero (que desvia de um valor zero apenas por um valor de bits menos significativos).
[058] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar os bits menos significativos a partir de bits menos significativos associados com um valor espectral de menor frequência e que procedem para valores espectrais associados com frequências maiores de maneira frequente. Consequentemente, informações codificadas para refinar valores espectrais (por exemplo, para refinar todos os valores espectrais que compreendem mais bits que o um ou mais bits mais significativos) por informações de bits menos significativos são fornecidas em uma faixa de um valor espectral de menor frequência até um valor espectral para o qual as “últimas” informações de bits menos significativos são fornecidas. Além disso, informações codificadas para refinar valores espectrais por informações de bits menos significativos não são fornecidas para (todos) os valores espectrais (mesmo para valores espectrais codificados que compreendem mais bits que os dois ou mais bits mais significativos) que têm frequências associadas maiores que uma frequência associada com um valor espectral para o qual as últimas informações de bits menos significativos são fornecidas. Formulado de maneira diferente, bits não usados do orçamento de bits são usados para refinar valores espectrais em uma região de baixa frequência por informações de bits menos significativos, até que o orçamento de bits esteja exausto. Valores espectrais em uma região de maior frequência não são refinados pelas informações de bits menos significativos se o orçamento de bits estiver exausto. Tal procedimento traz que valores espectrais em uma porção de menor frequência são preferenciais sobre valores espectrais em uma porção de maior frequência ao fornecer informações de bits menos significativos. Isso é um acordo com requerimentos psicoacústicos, visto que uma impressão auditiva seria menos distorcida por imprecisões em uma região de maior frequência quando comparada com imprecisões em uma região de menor frequência. Consequentemente, o codificador de áudio pode decidir de maneira flexível, com base no orçamento de bits, até qual frequência (valor espectral para o qual as últimas informações de bits menos significativos são fornecidas) há um refinamento de valores espectrais que usam as informações de bits menos significativos que dependem do orçamento de bits.
[059] Em uma modalidade preferencial, o codificador de áudio é configurado para ser alternável entre um primeiro modo, em que uma codificação de valores espectrais diferentes de zero em uma faixa de frequência maior é (por exemplo, completamente) omitida no caso de um orçamento disponível de bits ser usado (exausto) por uma codificação de valores espectrais em uma faixa de frequência menor e em que bits menos significativos são codificados para todos os valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os bits mais significativos, e um segundo modo em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os bits mais significativos.
[060] Conforme já mencionado acima, ser capaz de alternar entre tais modos permite uma codificação eficiente em ambientes diferentes e em diferentes restrições de taxa de bits. No primeiro modo, o número de valores espectrais codificados pode ser variado, e uma codificação de valores espectrais diferentes de zero em uma faixa de frequência maior pode ser omitida em resposta a uma exaustão de um orçamento de bits. Consequentemente, uma impressão auditiva em uma faixa de alta frequência é degradada, mas isso pode ser aceitável em algumas circunstâncias, por exemplo, em ambientes de baixa taxa de bits. Por outro lado, no segundo modo, o codificador de áudio pode variar para quantos dos valores espectrais de bits menos significativos são codificados o que depende do orçamento de bits, enquanto pelo menos bits mais significativos são codificados para todos os valores espectrais (mesmo em uma região de alta frequência). Assim, no segundo modo, a precisão de codificação pode ser reduzida até para frequências menores em alguns casos, enquanto não há omissão total de valores espectrais diferentes de zero (quantizados) na região de alta frequência. O segundo modo de operação pode, por exemplo, resultar em uma impressão auditiva melhorada em condições de maior taxa de bits, que iria sofrer de uma degradação significativa se valores espectrais diferentes de zero na região de alta frequência fossem totalmente omitidos. Assim, o codificador de áudio pode adaptar para diferentes situações e requerimentos de taxa de bits em uma maneira flexível ao ser alternável entre o primeiro modo e o segundo modo.
[061] Em uma modalidade preferencial, o codificador de áudio é configurado para fornecer um sinalizador de fluxo de bits que é incluído nas informações de áudio codificadas (ou representação de áudio codificado) para indicar se o codificador de áudio opera no primeiro modo ou no segundo modo. Consequentemente, é fácil para um decodificador de áudio reconhecer se um primeiro modo de decodificação ou um segundo modo de decodificação deveria ser usado. O uso de um sinalizador de fluxo de bits para tal sinal é razoável, visto que o codificador de áudio tipicamente tem mais conhecimento sobre as circunstâncias específicas que o decodificador de áudio.
[062] Em uma modalidade preferencial, o codificador de áudio pode ser configurado para codificar em conjunto dois ou mais bits mais significativos por valor espectral para pelo menos dois valores espectrais com uso de respectivos códigos de símbolos. Consequentemente, um respectivo código de símbolos pode representar dois ou mais bits mais significativos por valor espectral para pelo menos dois valores espectrais. Foi constatado que tal codificação é particularmente eficiente, visto que dependências e correlações entre valores espectrais adjacentes de maneira espectral podem ser exploradas. Além disso, o peso de bits dos bits mais significativos pode ser determinado com base de ambos os valores espectrais, em que o valor espectral que tem o maior valor absoluto pode decidir no peso comum de bits dos bits mais significativos para ambos os valores espectrais. Consequentemente, uma sinalização auxiliar para sinalizar o peso de bits dos bits mais significativos pode ser reduzida, porque pode ser sinalizada em conjunto para dois ou mais valores espectrais.
[063] Em uma modalidade preferencial, o codificador de áudio é configurado para determinar um valor espectral real diferente de zero de frequência mais alta (por exemplo, sem truncar valores espectrais) e para codificar pelo menos dois ou mais bits mais significativos de todos os valores espectrais diferentes de zero (quantizados) de todos os grupos diferentes de zero de valores espectrais (quantizados). Consequentemente, pode ser garantido que pelo menos bits mais significativos de todos os valores espectrais diferentes de zero (quantizados) sejam codificados, o que tipicamente resulta em boa impressão auditiva.
[064] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar todos os bits exceto por bits menos significativos para todos os valores espectrais diferentes de zero (quantizados). Ademais, o codificador de áudio é configurado para codificar bits menos significativos para valores espectrais até que um orçamento de bits seja exausto (por exemplo, que começa com um valor espectral de menor frequência e procede para valores espectrais de maior frequência). Consequentemente, uma boa impressão auditiva pode ser atingida e apenas um número variável de bits menos significativos será pulado na codificação, a depender do orçamento de bits.
[065] Em uma modalidade preferencial, o codificador de áudio é configurado para obter informações de ganho global que determinam etapas de quantização de uma quantização de valores espectrais, e que determinam uma demanda de bits para a codificação dos valores espectrais quantizados. Foi constatado que o uso de tais informações de ganho (global) podem ser úteis para ajustar as etapas de quantização. Entretanto, foi também reconhecido que não é facilmente possível ajustar uma demanda de bits ao usar informações de ganho global. Consequentemente, o conceito de omitir seletivamente uma codificação de bits menos significativos para alguns valores espectrais pode ser usado para compensar imprecisões no ajuste da demanda de bits que são causadas pelo uso das informações de ganho global. Entretanto, foi constatado que a combinação do uso das informações de ganho global com o conceito de codificação descrito no presente documento cria um sistema que tem uma complexidade computacional comparativamente baixa e ainda permite uma boa implicação entre qualidade de áudio e taxa de bits. Em particular, uma dada taxa fixa de bits pode ser completamente utilizada mesmo com um ajuste de complexidade baixa das informações de ganho global ao decidir de maneira flexível quantos bits menos significativos devem ser codificados.
[066] Uma modalidade de acordo com a invenção cria um codificador de áudio para fornecer informações de áudio codificadas com base em informações de entrada de áudio. O codificador de áudio é configurado para obter valores espectrais que representam um conteúdo de áudio das informações de entrada de áudio. O codificador de áudio é configurado para codificar pelo menos uma pluralidade dos valores espectrais, para obter informações codificadas que representam os valores espectrais. O codificador de áudio é configurado para codificar um ou mais bits mais significativos com uso de respectivos códigos de símbolos para uma pluralidade dos valores espectrais, e para codificar um ou mais bits menos significativos para um ou mais dos valores espectrais, em que um respectivo código de símbolos representa um ou mais valores de bits mais significativos para um ou mais valores espectrais. O codificador de áudio é configurado para ser alternável entre um primeiro modo em que uma codificação de valores espectrais diferentes de zero em uma faixa de frequência maior é (por exemplo, totalmente) omitida no caso de um orçamento disponível de bits ser usado (por exemplo, exausto) por valores espectrais codificados em uma faixa de frequência menor e em que bits menos significativos são codificados para todos os valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os bits mais significativos, e um segundo modo em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os bits mais significativos. O codificador de áudio é configurado para fornecer as informações de áudio codificadas com uso das informações codificadas que representam os valores espectrais.
[067] Esse codificador de áudio é baseado nas considerações mencionadas acima para o codificador de áudio similar e também para o decodificador de áudio similar. Em particular, enquanto é alternável entre o primeiro modo e o segundo modo, o codificador de áudio pode adaptar para diferentes situações de codificação e requerimentos de taxa de bits.
[068] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar um ou mais bits mais significativos de todos os valores espectrais diferentes de zero ou de todos os grupos diferentes de zero de valores espectrais no segundo modo. Consequentemente, uma boa impressão auditiva pode ser atingida.
[069] Em uma modalidade preferencial, o codificador de áudio é configurado para limitar, ao operar no primeiro modo, uma faixa de frequência para a qual os valores espectrais são codificados, no caso de um orçamento de bits ser insuficiente, de modo que um ou mais valores espectrais (por exemplo, em uma faixa de alta frequência) são deixados não considerados na codificação de valores espectrais. Assim, uma limitação seletiva da faixa de frequência, que depende de um orçamento de bits, é usada no primeiro modo, em que a limitação da faixa de frequência ajuda a poupar bits.
[070] Em uma modalidade preferencial, o codificador de áudio é configurado para determinar, ao operar no primeiro modo, um valor de frequência máxima e para codificar, ao operar no primeiro modo, valores espectrais até a frequência máxima e para deixar, ao operar no primeiro modo, valores espectrais acima da frequência máxima não codificada mesmo se os valores espectrais forem diferentes de zero (ou tiver bits mais significativos diferentes de zero). Além disso, o codificador de áudio é configurado para selecionar, ao operar no primeiro modo, o valor de frequência máxima que depende de uma computação ou estimativa de uma demanda de bits para codificação de todos os valores espectrais, de modo que um número de valores espectrais a ser codificado é reduzido se a demanda de bits computada ou estimada iria exceder um orçamento de bits. Além disso, o codificador de áudio é configurado para determinar, ao operar no segundo modo, o valor de frequência máxima (por exemplo, para ser igual a um valor real de frequência máxima) e para codificar, ao operar no segundo modo, valores espectrais até a frequência máxima e para deixar, ao operar no segundo modo, valores espectrais acima da frequência máxima não codificados. Ao operar no segundo modo, o valor de frequência máxima é selecionado de modo que pelo menos um ou mais bits mais significativos de todos os valores espectrais diferentes de zero ou de todos os grupos de valores espectrais diferentes de zero sejam codificados e de modo que pelo muitos valores espectrais de valor zero sejam deixados não codificados. Em outras palavras, o codificador de áudio usa diferentes critérios para a seleção do valor de frequência máxima nos diferentes modos. No primeiro modo, o valor de frequência máxima é escolhido a depender da demanda de bits, em que valores espectrais diferentes de zero (quantizados) são deixados não codificados no caso de o orçamento de bits ser muito pequeno. Por outro lado, no segundo modo, o valor de frequência máxima é escolhido de modo que para todos os valores espectrais quantizados a um valor diferente de zero pelo menos o um ou mais bits mais significativos sejam codificados. Assim, diferentes conceitos são usados para lidar com uma exaustão de um orçamento de bits. No primeiro modo, uma exaustão de um orçamento de bits é tratada ao reduzir o valor de frequência máxima. No segundo modo, uma exaustão de um orçamento de bits é tratada ao omitir a codificação de valores menos significativos de um ou mais valores espectrais para os quais os bits mais significativos são codificados.
[071] Em uma modalidade preferencial, o codificador de áudio é configurado para incluir informações que descrevem a frequência máxima para as informações de áudio codificadas. Consequentemente, um decodificador de áudio sabe quantos valores espectrais devem ser codificados. As informações que descrevem a frequência máxima podem ser usadas tanto para uma limitação do número de valores espectrais codificados (e decodificados) devido a uma exaustão de um orçamento de bits quanto também para sinalizar que todos os valores espectrais acima da frequência máxima são are (por exemplo, zero na verdade mesmo sem truncamento).
[072] Em uma modalidade preferencial, o codificador de áudio é configurado para tomar uma decisão de modo se deve usar o primeiro modo ou o segundo modo que depende de uma taxa disponível de bits (por exemplo, de modo que o primeiro modo é usado para taxas de bits comparativamente menores e de modo que o segundo modo é usado para taxas de bits comparativamente maiores).
[073] Tal mecanismo é útil, visto que o segundo modo é mais adequado para lidar com uma exaustão de um orçamento de bits no caso de taxas de bits maiores. Em contraste, o primeiro modo algumas vezes traz melhores resultados que o segundo modo no caso de taxas de bits comparativamente baixas.
[074] Em outra modalidade preferencial, o codificador de áudio é configurado para tomar uma decisão se deve usar o primeiro modo ou o segundo modo que depende de informações de um número de valores espectrais de grupos de valores espectrais que compreendem, além de um ou mais bits mais significativos codificados em uma etapa de codificação de bits mais significativos, um ou mais bits menos significativos, uma codificação da qual pode seletivamente ser omitida a depender de uma demanda de bits e um orçamento de bits. Tal conceito é útil visto que o segundo modo é mais adequado para casos em que existe (após a quantização) um grande número de bits menos significativos. Tal grande número de bits menos significativos está, por exemplo, presente no caso de uma grande taxa de bits, em que uma codificação pode ser feita sem uma resolução alta (e em que uma quantização fina pode ser usada).
[075] Em uma modalidade preferencial, o codificador de áudio é configurado para incluir um sinalizador de fluxo de bits nas informações de áudio codificadas que indicam se o codificador de áudio opera no primeiro modo ou no segundo modo. Consequentemente, um decodificador de áudio pode ser informado qual modo de decodificação usar.
[076] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar bits intermediários, posições de bits dos quais estão entre os bits menos significativos e o um ou mais bits mais significativos, e bits menos significativos associados com um dado valor espectral em uma sequência contígua de bits no primeiro modo. Além disso, o codificador de áudio é configurado para codificar bits intermediários, posições de bits dos quais estão entre os bits menos significativos e o um ou mais bits mais significativos, e os bits menos significativos associados com um dado valor espectral em sequências separadas de bits ou em localizações de bits separadas e não contíguas (ou fluxo de porções de bits) de uma sequência de bits no segundo modo. Consequentemente, ao operar no primeiro modo, existe uma sequência contígua de bits que representa tanto bits intermediários quanto os bits menos significativos. Em contraste, ao operar no segundo modo, bits intermediários e bits menos significativos são fornecidos em sequências separadas (ou em porções separadas de uma sequência comum) que permitem um encurtamento simples da sequência que representa os bits menos significativos. Consequentemente, uma adaptação para o orçamento de bits é facilmente possível, mesmo após a codificação ser completada. Isso facilita adaptação para o orçamento de bits.
[077] Em uma modalidade preferencial, o codificador de áudio é configurado para codificar, ao operar no primeiro modo, informações de sinal associadas com um valor espectral em uma sequência de bits que é associada com bits intermediários, posições de bits dos quais estão entre os bits menos significativos e o um ou mais bits mais significativos, e bits menos significativos. Ademais, o codificador de áudio é configurado para codificar seletivamente, ao operar no segundo modo, informações de sinal associadas com um valor espectral em uma sequência de bits que é associada com bits intermediários, posições de bits dos quais estão entre os bits menos significativos e o um ou mais bits mais significativos, ou em uma sequência de bits associados com bits menos significativos (e informações de sinal) de modo que informações de sinal para valores espectrais que desviam de zero apenas por um valor de bits menos significativos são decodificadas na sequência de bits associados com bits menos significativos (e informações de sinal). Consequentemente, as informações de sinal são colocadas dentro da sequência de bits associados com bits menos significativos (e informações de sinal) no caso de as informações de sinal serem apenas necessárias quando as informações de bits menos significativos forem avaliadas. Consequentemente, as informações que são sempre incluídas na representação de áudio codificado, a saber a sequência de bits que é associada com bits intermediários e informações de sinal, não compreende quaisquer informações que são desnecessárias no caso de as informações de bits menos significativos serem omitidas. Isso simplifica escalabilidade da taxa de bits.
[078] Uma modalidade de acordo com a invenção cria um decodificador de áudio para fornecer informações de áudio codificadas com base em informações de entrada de áudio. O codificador de áudio é configurado para obter valores espectrais que representam um conteúdo de áudio das informações de entrada de áudio (por exemplo, com uso de uma transformação MDCT). O codificador de áudio é configurado para codificar pelo menos uma pluralidade dos valores espectrais, para obter informações codificadas que representam os valores espectrais. O codificador de áudio é configurado para obter informações de ganho (global) que determinam etapas de quantização de uma quantização de valores espectrais, e que determinam uma demanda de bits para codificação dos valores espectrais quantizados. O codificador de áudio é configurado para codificar um ou mais bits mais significativos com uso de respectivos códigos de símbolos para uma pluralidade dos valores espectrais com uso de uma codificação aritmética, e para codificar um ou mais bits menos significativos para um ou mais dos valores espectrais, em que um respectivo código de símbolos representa um ou mais bits mais significativos por valor espectral para um ou mais valores espectrais. O codificador de áudio é configurado para codificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de um orçamento disponível de bits, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais sejam codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que o um ou mais bits mais significativos. Além disso, o codificador de áudio é configurado para fornecer as informações de áudio codificadas com uso das informações codificadas que representam os valores espectrais.
[079] Esse codificador de áudio é baseado na constatação que o uso de informações de ganho (ou informações de ganho global) são úteis para definir uma quantização. Além disso, o conceito para codificar seletivamente bits menos significativos é muito eficiente em combinação com esse conceito. Para detalhes, referência é também feita à discussão acima.
[080] Em uma modalidade preferencial, o codificador de áudio é configurado para obter uma primeira estimativa das informações de ganho com base em uma energia de grupos de valores espectrais (por exemplo, coeficientes de MDCT). Ademais, o codificador de áudio é configurado para quantizar o conjunto de valores espectrais (por exemplo, um espectro de MDCT) com uso da primeira estimativa das informações de ganho. Além disso, o codificador de áudio é configurado para computar ou estimar um número de bits necessário para codificar o conjunto de valores espectrais quantizados com uso da primeira estimativa das informações de ganho ou com uso de informações de ganho refinadas. Além disso, o codificador de áudio é configurado para decidir se deve usar o primeiro modo ou o segundo modo que depende de um número de bits necessários. Consequentemente, uma decisão sobre a quantização, e também uma decisão de qual modo usar, pode ser feita em uma maneira eficiente. A depender de se um procedimento iterativo deve ser escolhido ou não, o número de bits necessários para codificar o conjunto de valores espectrais pode ser estimado com uso de uma quantização que depende da primeira estimativa das informações de ganho ou com uso de uma quantização que depende de informações de ganho refinadas de maneira iterativa. Consequentemente, a complexidade da determinação da precisão de quantização pode ser mantida razoavelmente pequena.
[081] Em uma modalidade preferencial, o codificador de áudio é configurado para ser alternável entre o primeiro modo e o segundo modo mencionado acima. Em particular, o codificador de áudio é configurado para decidir se deve usar o primeiro modo ou o segundo modo que depende de um número de bits necessário e que depende de um critério que indica quantos valores espectrais compreendem mais bits que o um ou mais bits mais significativos. Em particular, o número de bits necessários, que pode ser determinado após decidir as informações de ganho a serem usadas (primeira estimativa ou informações de ganho refinadas) pode ser comparado com um orçamento de bits, e a decisão de qual modo usar pode ser feita tanto a depender dessa comparação quanto a depender do critério que indica quantos valores espectrais compreendem mais bits que o um ou mais bits mais significativos. Consequentemente, o segundo modo pode ser usado se existem muitos valores espectrais que compreendem um ou mais bits menos significativos além do um ou mais bits mais significativos.
[082] Em uma modalidade preferencial, o codificador de áudio é configurado para ser alternável entre o primeiro modo e o segundo modo mencionado acima. Nesse caso, o codificador de áudio pode ser configurado para decidir se deve usar o primeiro modo ou o segundo modo que depende do número de bits necessários e que depende de uma taxa de bits, de modo que o segundo modo é escolhido se a taxa de bits for maior que ou igual a um limiar de taxa de bits e se um número de bits computado ou estimado que precisasse codificar o conjunto de valores espectrais é maior que um orçamento de bits. Foi mostrado que o uso do segundo modo é particularmente útil no dito caso.
[083] Além disso, o codificador de áudio pode também ser suplementado por qualquer um dos recursos mencionados antes. As mesmas vantagens discutidas antes também se aplicam.
[084] Modalidades adicionais de acordo com a invenção criam métodos para fornecer informações de áudio decodificadas com base em informações de áudio codificadas e métodos para fornecer informações de áudio codificadas com base em informações de entrada de áudio. Esses métodos correspondem ao respectivo decodificador de áudio e ao respectivo codificador de áudio e podem ser suplementados por qualquer um dos recursos e funcionalidades discutidos no presente documento em relação aos correspondentes decodificador de áudio ou codificador de áudio.
[085] Modalidades adicionais de acordo com a invenção compreendem um programa de computador para realizar qualquer um dos métodos descritos no presente documento.
[086] Uma modalidade adicional compreende um fluxo de bits, que é baseado nas mesmas considerações discutidas acima e que podem ser suplementadas por qualquer um dos itens de informações a serem codificados e decodificados conforme mencionado no presente documento.
[087] Modalidades de acordo com a presente invenção serão descritas de maneira subsequente ao tomar como referência as Figuras reveladas, em que: A Figura 1 mostra um diagrama esquemático de blocos de um decodificador de áudio, de acordo com uma modalidade da presente invenção; A Figura 2 mostra um diagrama esquemático de blocos de um decodificador de áudio, de acordo com outra modalidade da presente invenção; A Figura 3 mostra um diagrama esquemático de blocos de um codificador de áudio, de acordo com uma modalidade da presente invenção; A Figura 4 mostra um diagrama esquemático de blocos de um codificador de áudio, de acordo com uma modalidade da presente invenção; A Figura 5 mostra um diagrama esquemático de blocos de um codificador de áudio, de acordo com uma modalidade da presente invenção; A Figura 6 mostra um diagrama esquemático de blocos de outro codificador de áudio, de acordo com uma modalidade da presente invenção;
A Figura 7 mostra um diagrama esquemático de blocos de um decodificador de áudio de acordo com outra modalidade da presente invenção; A Figura 8 mostra um fluxograma de uma funcionalidade de um codificador de áudio, de acordo com uma modalidade da presente invenção; A Figura 9 mostra um fluxograma de uma funcionalidade de um decodificador de áudio, de acordo com uma modalidade da presente invenção; As Figuras 10a-10f mostram representações de código de pseudoprograma de funcionalidades de um codificador de áudio, de acordo com uma modalidade da presente invenção. As Figuras 11a-11d mostram representações de código de pseudoprograma das funcionalidades de um decodificador de áudio, de acordo com uma modalidade da presente invenção; A Figura 12 mostra uma representação gráfica de uma relação sinal-ruído gerada por um codificador/decodificador convencional de áudio; A Figura 13 mostra uma representação gráfica de uma relação sinal-ruído fornecida por codificadores/decodificadores de áudio de acordo com a presente invenção; e As Figuras 14 a 18 mostram fluxogramas de métodos para codificação de áudio e decodificação de áudio, de acordo com modalidades da presente invenção. 1). DECODIFICADOR DE ÁUDIO DE ACORDO COM A FIGURA 1
[088] A Figura 1 mostra um diagrama esquemático de blocos de um decodificador de áudio 100 de acordo com uma modalidade da presente invenção.
[089] O decodificador de áudio 100 é configurado para receber informações de áudio codificadas 110 e para fornecer, com base nas mesmas, informações de áudio decodificadas 112. O decodificador de áudio 100 é configurado para obter valores espectrais decodificados 132 com base em informações codificadas 130 que representam os valores espectrais, em que as informações codificadas 130 podem ser parte das informações de áudio codificadas 110. Além disso, as informações de áudio codificadas 110 podem opcionalmente compreendem informações adicionais,
como informações de moldagem de ruído, informações de controle e semelhantes.
[090] O decodificador de áudio é configurado para decodificar em conjunto dois ou mais bits mais significativos por valor espectral (por exemplo, por valor espectral quantizado) com base em respectivos códigos de símbolos (por exemplo, códigos de símbolos de uma representação codificada aritmeticamente dos bits mais significativos) para um conjunto de valores espectrais com uso de uma decodificação aritmética. Respectivos códigos de símbolos podem representar dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais. Os códigos de símbolos codificados aritmeticamente podem, por exemplo, ser parte das informações codificadas 130 que representam valores espectrais.
[091] Além disso, o decodificador de áudio é configurado para decodificar um ou mais bits menos significativos associados com um ou mais valores espectrais que dependem de quantas informações de bits menos significativos estão disponíveis. As informações de bits menos significativos, que podem ser consideradas como uma representação de bits menos significativos, podem também ser parte das informações codificadas 130 que representam valores espectrais.
[092] Em particular, o decodificador de áudio pode ser configurado para decodificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de quantas informações de bits menos significativos estão disponíveis, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais (quantizados) são decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados (ou foram decodificados) e sendo que compreendem mais bits que o um ou mais bits mais significativos.
[093] Em outras palavras, o decodificador de áudio pode ser configurado para decodificar bits menos significativos para alguns dos valores espectrais para os quais dois ou mais bits mais significativos foram codificados, e o decodificador de áudio pode omitir uma decodificação de um ou mais bits menos significativos para alguns outros valores espectrais para os quais um ou mais bits mais significativos foram decodificados.
[094] Ao formular de maneira ainda diferente, o decodificador de áudio pode, por exemplo, apenas refinar um subconjunto real dos valores espectrais, para os quais bits mais significativos foram decodificados, em que o número de quantos valores espectrais são refinados por bits menos significativos depende de quantas informações de bits menos significativos estão disponíveis (por exemplo, quantas informações de bits menos significativos estão incluídas nas informações de áudio codificadas 110 por um decodificador de áudio em vista de restrições de orçamento de bits).
[095] O decodificador de áudio 100 pode opcionalmente ser suplementado por qualquer um dos recursos, funcionalidades e detalhes descritos no presente documento, tanto individualmente quanto em combinação. 2). DECODIFICADOR DE ÁUDIO DE ACORDO COM A FIGURA 2
[096] A Figura 2 mostra um diagrama esquemático de blocos de um decodificador de áudio 200, de acordo com uma modalidade da presente invenção.
[097] O decodificador de áudio 200 é configurado para receber informações de áudio codificadas 210 e para fornecer, com base nas mesmas, informações de áudio decodificadas 212.
[098] As informações de áudio codificadas 210 podem, por exemplo, compreender informações codificadas 230 que representam valores espectrais, em que as informações codificadas 230 que representam valores espectrais podem, por exemplo, compreender códigos de símbolos codificados aritmeticamente que representam um ou mais bits mais significativos e uma representação de bits menos significativos e de sinais. As informações de áudio codificadas 210 podem opcionalmente compreender informações adicionais, como por exemplo, informações de controle de informações de moldagem de ruído. As informações adicionais opcionais podem também ser usadas no processo de decodificação, mas não são essenciais para a presente invenção.
[099] O decodificador de áudio é configurado para obter valores espectrais decodificados 232 com base nas informações codificadas 230 que representam os valores espectrais.
[0100] O decodificador de áudio é configurado para decodificar um ou mais bits mais significativos com base em respectivos códigos de símbolos (por exemplo, com base em códigos de símbolos codificados aritmeticamente) para uma pluralidade de valores espectrais, e para decodificar um ou mais bits menos significativos para um ou mais dos valores espectrais. Por exemplo, o decodificador de áudio pode usar os códigos de símbolos codificados aritmeticamente e a representação de bits menos significativos, que podem estar incluídos nas informações codificadas 130.
[0101] O decodificador de áudio 200 é configurado para ser alternável entre um primeiro modo em que uma decodificação de valores espectrais em uma faixa de frequência maior é omitida (por exemplo, omitida totalmente) em resposta a uma sinalização de um codificador e em que bits menos significativos são decodificados para todos os valores espectrais para os quais um ou mais bits mais foram decodificados e sendo que compreendem mais bits que os bits mais significativos, e um segundo modo em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos foram decodificados e sendo que compreendem mais bits que os bits mais significativos. Em outras palavras, no primeiro modo, o decodificador de áudio 200 pode, por exemplo, decodificar apenas valores espectrais em uma faixa de frequência menor (por exemplo, até uma frequência determinada e sinalizada por um codificador de áudio) enquanto omite uma decodificação de valores espectrais em uma faixa de frequência maior (por exemplo, acima da frequência especificada pelo codificador). Entretanto, no primeiro modo, uma representação numérica completa dos valores espectrais pode ser decodificada para todos os valores espectrais na faixa de frequência menor, de modo que bits mais significativos, quaisquer bits intermediários e quaisquer bits menos significativos sejam decodificados para todos os valores espectrais na faixa de frequência menor. Em contraste, no segundo modo, o decodificador de áudio pode apenas decodificar bits menos significativos para alguns dos valores espectrais para os quais um ou mais bits mais significativos são decodificados, mas não para todos os valores espectrais para os quais um ou mais bits mais significativos são decodificados. Assim, no segundo modo, bits menos significativos podem ser decodificados em uma região de frequência, mas não em outra região de frequência (por exemplo, em uma região de maior frequência).
[0102] Além disso, o decodificador de áudio 200 é configurado para fornecer informações de áudio decodificadas 212 com uso dos valores espectrais 232. Por exemplo, o decodificador de áudio 200 pode compreender um processamento adicional dos valores espectrais decodificados 232, em que, detalhes do qual, entretanto, não são de relevância particular para a matéria da presente invenção.
[0103] Além disso, deve ser considerado que o decodificador de áudio 200 pode ser suplementado por qualquer um dos recursos, funcionalidades e detalhes descritos no presente documento, tanto individualmente quanto em combinação. 3). CODIFICAR DE ÁUDIO DE ACORDO COM A FIGURA 3
[0104] A Figura 3 mostra um diagrama esquemático de blocos de um codificador de áudio 300 de acordo com uma modalidade da presente invenção. O codificador de áudio 300 é configurado para receber informações de entrada de áudio 310 e pode fornecer informações de áudio codificadas 312 (que podem corresponder às informações de áudio codificadas 110, 210). O codificador de áudio 300 é configurado para obter valores espectrais 330 que representam um conteúdo de áudio das informações de entrada de áudio 310. Por exemplo, O decodificador de áudio 300 pode opcionalmente compreender qualquer forma de pré-processamento, como, por exemplo, uma conversão de domínio de tempo para domínio espectral (por exemplo, um MDCT) e/ou uma moldagem espectral (no domínio de tempo e/ou no domínio espectral) para obter os valores espectrais 330.
[0105] Os valores espectrais 330 podem, por exemplo, ser valores quantizados
(preferencialmente números inteiros) em uma representação assinada de número binário. Além disso, o codificador de áudio é configurado para codificar pelo menos uma pluralidade dos valores espectrais 330, para obter informações codificadas 350 que representam os valores espectrais 330. O codificador de áudio 300 pode, por exemplo, ser configurado para fornecer as informações de áudio codificadas 312 com uso das informações codificadas 350 que representam os valores espectrais. Entretanto, o codificador de áudio 300 pode opcionalmente também fornecer informações adicionais, como informações de controle ou informações de moldagem de ruído, que são também incluídas nas informações de áudio codificadas 312 (porém detalhes das quais não são de relevância particular para a presente invenção).
[0106] O codificador de áudio 300 é configurado para codificar em conjunto dois ou mais bits mais significativos por valor espectral, para obter respectivos códigos de símbolos para um conjunto de valores espectrais com uso de uma codificação aritmética. Um respectivo código de símbolos pode, por exemplo, representar dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais.
[0107] O codificador de áudio é configurado adicionalmente para codificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais 330 que dependem de um orçamento de bits, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os dois ou mais bits mais significativos.
[0108] Por exemplo, o codificador de áudio 300 pode apenas fornecer bits menos significativos codificados para valores espectrais em uma porção de menor frequência, mas não para valores espectrais em uma porção de maior frequência. Ao selecionar para quais valores espectrais bits menos significativos são fornecidos, um número de bits pode ser adaptado para um orçamento de bits.
[0109] Além disso, deve ser considerado que o codificador de áudio de acordo com a Figura 3 pode ser suplementado com uso de qualquer um dos recursos,
funcionalidades e detalhes descritos no presente documento, tanto individualmente quanto em combinação. 4). CODIFICADOR DE ÁUDIO DE ACORDO COM A FIGURA 4
[0110] A Figura 4 mostra um diagrama esquemático de blocos de um codificador de áudio 400, de acordo com uma modalidade da presente invenção.
[0111] O codificador de áudio 400 é configurado para receber informações de entrada de áudio 410 e para fornecer, com base nas mesmas, informações de áudio codificadas 412. O codificador de áudio é configurado para obter valores espectrais 330 (que podem, por exemplo, ser valores espectrais quantizados (preferencialmente números inteiros) em uma representação assinada de número binário) que representa conteúdo de áudio das informações de entrada de áudio 410. Por exemplo, um pré- processamento opcional pode ser usado, que pode, por exemplo, compreender uma conversão de domínio de tempo para domínio de frequência e/ou uma moldagem de ruído. Além disso, uma quantização pode opcionalmente ser usada para obter os valores espectrais 430.
[0112] O codificador de áudio é adicionalmente configurado para codificar pelo menos uma pluralidade dos valores espectrais 430, para obter informações codificadas 450 que representam os valores espectrais. O codificador de áudio é configurado para codificar um ou mais bits mais significativos (dos valores espectrais) com uso de respectivos códigos de símbolos para uma pluralidade de valores espectrais e para codificar um ou mais bits menos significativos para um ou mais dos valores espectrais. Um respectivo código de símbolos pode, por exemplo, representar um ou mais valores de bits mais significativos para um ou mais valores espectrais. O codificador de áudio pode ser configurado para ser alternável entre um primeiro modo, em que uma codificação de valores espectrais diferentes de zero em uma faixa de frequência maior é omitida (por exemplo, omitida totalmente) no caso de um orçamento disponível de bits ser usado (exausto) por uma codificação de valores espectrais em uma faixa de frequência menor e em que bits menos significativos são codificados para todos os valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os bits mais significativos, e um segundo modo em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que o um ou mais bits mais significativos.
[0113] Em outras palavras, o codificador de áudio pode, por exemplo, codificar um número comparativamente menor (por exemplo, nem todos os valores espectrais diferentes de zero) no primeiro modo, mas aqueles valores espectrais que são codificados e codificados com precisão completa (que inclui os bits menos significativos). Em contraste, no segundo modo, o codificador de áudio pode, por exemplo, codificar pelo menos os bits mais significativos de todos os valores espectrais diferentes de zero, mas pode codificar alguns dos valores espectrais com resolução reduzida (por exemplo, sem codificação dos correspondentes bits menos significativos). Portanto, o codificador pode, por exemplo, ser alternável entre dois modos que fornecem mecanismos diferentes para adaptar um número de bits para o orçamento de bits, em que o primeiro modo depende de uma omissão de uma codificação de valores espectrais em uma faixa de frequência maior para a redução do número de bits, e em que o segundo modo depende de uma omissão de bits menos significativos para alguns valores espectrais (para os quais apenas os bits mais significativos e possivelmente alguns bits intermediários são codificados, e que são “parcialmente codificados”).
[0114] O codificador de áudio 400 de acordo com a Figura 4 pode ser suplementado por quaisquer recursos, funcionalidades e detalhes descritos no presente documento, tanto individualmente quanto em combinação. 5). CODIFICADOR DE ÁUDIO DE ACORDO COM A FIGURA 5
[0115] A Figura 5 mostra um diagrama esquemático de blocos de um codificador de áudio 500, de acordo com uma modalidade da presente invenção. O codificador de áudio 500 é configurado para receber informações de entrada de áudio 510 e para fornecer, com base nas mesmas, informações de áudio codificadas 512. O codificador de áudio é configurado para obter valores espectrais 530 que representam um conteúdo de áudio das informações de entrada de áudio 510. Por exemplo, o codificador de áudio pode usar uma transformada discreta de cosseno modificada (MDCT) para obter os valores espectrais 530. Geralmente, o codificador de áudio 500 pode opcionalmente usar qualquer tipo de pré-processamento, como uma conversão de domínio de tempo para domínio de frequência e uma moldagem de ruído, e o codificador de áudio 500 pode opcionalmente também usar uma quantização. Por exemplo, os valores espectrais 530 podem ser valores espectrais quantizados ou podem ser coeficientes de MDCT em formado de ruído ou quantizados.
[0116] O codificador de áudio é configurado para codificar pelo menos uma pluralidade dos valores espectrais 530, para obter informações codificadas 550 que representam os valores espectrais. As informações codificadas 550 podem ser uma parte das informações de áudio codificadas 512. Entretanto, as informações de áudio codificadas 512 podem também compreender, opcionalmente, informações adicionais, como informações de controle ou informações de moldagem espectral.
[0117] O codificador de áudio 500 é também configurado para obter informações de ganho (por exemplo, informações de ganho global) 560, que determinam etapas de quantização de uma quantização de valores espectrais, e que determinam uma demanda de bits para codificação dos valores espectrais quantizados.
[0118] O codificador de áudio 500 é configurado para codificar um ou mais bits mais significativos (dos valores espectrais quantizados) com uso de respectivos códigos de símbolos para uma pluralidade dos valores espectrais (quantizados) com uso de uma codificação aritmética, e para codificar um ou mais bits menos significativos para um ou mais dos valores espectrais (quantizados). Um respectivo código de símbolos pode, por exemplo, representar um ou mais bits mais significativos por valor espectral para um ou mais valores espectrais.
[0119] O codificador de áudio é configurado para codificar um ou mais bits menos significativos associados com um ou mais dos valores espectrais (quantizados) que dependem de um orçamento disponível de bits, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que o um ou mais bits mais significativos. Por exemplo, o codificador de áudio pode apenas fornecer bits menos significativos codificados para alguns dos valores espectrais, enquanto informações de bits menos significativos não são fornecidas para outros valores espectrais que iriam também se beneficiar de um refinamento de bits menos significativos.
[0120] Além disso, o codificador de áudio 500 é configurado para fornecer as informações de áudio codificadas 512 com uso das informações codificadas 550 que representam os valores espectrais.
[0121] Deve ser considerado que o codificador de áudio 500 pode ser suplementado por qualquer um dos recursos, funcionalidades e detalhes descritos no presente documento, tanto individualmente quanto em combinação. 6). CODIFICADOR DE ÁUDIO DE ACORDO COM A FIGURA 6
[0122] A Figura 6 mostra um diagrama esquemático de blocos de um codificador de áudio, de acordo com uma modalidade da invenção.
[0123] O codificador de áudio de acordo com a Figura 6 é designado em sua totalidade com 600.
[0124] O codificador de áudio 600 é configurado para receber informações de entrada de áudio 610 e para fornecer, com base nas mesmas, uma representação de áudio codificado 612.
[0125] O codificador de áudio 600 pode compreender um pré-processamento opcional 620, que pode aplicar algum tipo de pré-processamento (como, por exemplo, uma filtração, uma limitação de banda larga, uma moldagem de ruído de domínio de tempo, ou semelhantes) no sinal de entrada de áudio.
[0126] O codificador de áudio 600 pode opcionalmente compreender uma conversão de domínio de tempo para domínio espectral 630 que pode, por exemplo,
realizar uma transformada discreta de cosseno modificada ou uma transformada similar, como uma transformada discreta de cosseno modificada de baixo atraso. A conversão de domínio de tempo para domínio espectral 630 pode, por exemplo, receber as informações de entrada de áudio 610, ou a versão pré-processada 622 da mesma e fornecer valores espectrais 632.
[0127] O codificador de áudio 600 pode opcionalmente compreender um pré- processamento (adicional), que recebe os valores espectrais 632 e que podem, por exemplo, realizar uma moldagem de ruído. Por exemplo, o pré-processamento (adicional) 640 pode realizar uma moldagem de ruído espectral e/ou uma moldagem de ruído temporal. Opcionalmente, o pré-processamento 640 pode, por exemplo, aplicar fatores de escala para escalar diferentes bandas de frequência (“bandas de fator de escala”) de acordo com uma relevância psicoacústica das bandas de frequência (que podem ser determinadas, por exemplo, por um modelo psicoacústico). Consequentemente, valores espectrais pré-processados 642 podem ser obtidos.
[0128] O codificador de áudio 600 pode opcionalmente compreender um escalonamento 650 que pode, por exemplo, escalar os valores espectrais 632 ou os valores espectrais pré-processados 642. Por exemplo, o escalonamento 650 pode escalar os valores espectrais 632 ou os valores espectrais pré-processados 642 com uso de um ganho global, para desse modo fornecer valores espectrais escalados 652.
[0129] O codificador de áudio 600 também compreende uma quantização (ou quantizador) 660, que pode receber os valores espectrais 632, os valores espectrais pré-processados 642 ou os valores espectrais escalados 652. A quantização 660 pode, por exemplo, quantizar os valores espectrais 632 ou os valores espectrais pré- processados 642 ou os valores espectrais escalados 652, para, desse modo, obter valores espectrais quantizados 662, que podem, por exemplo, ser valores assinados de número inteiro e que podem, por exemplo, ser representados em uma representação binária (por exemplo, em uma representação de complemento de dois). Os valores espectrais quantizados 662 podem, por exemplo, ser designados com Xq. Por exemplo, um número predeterminado de 256, 512, 1024 ou 2048 valores espectrais quantizados podem ser fornecidos por quadro, em que frequências diferentes são associadas com os valores espectrais quantizados.
[0130] O codificador 600 pode também compreender uma codificação 670, que recebe os valores espectrais quantizados 662 (Xq) e que pode fornecer, com base nos mesmos, informações codificadas que representam os valores espectrais (quantizados) 672.
[0131] Deve ser considerado que os valores espectrais quantizados 662 podem corresponder aos valores espectrais 330, 430, 530 e que as informações codificadas 672 que representam valores espectrais podem corresponder às informações codificadas 350, 450, 550 que representam valores espectrais. Além disso, deve ser considerado que a codificação 670 pode, por exemplo, realizar as funcionalidades descritas em relação aos codificadores 300, 400, 500. Entretanto, a codificação 670 pode também compreender a funcionalidade descrita a seguir (por exemplo, com referência à Figura 8), ou pelo menos parte da dita funcionalidade.
[0132] O codificador de áudio 600 também compreende opcionalmente um pós- processamento 680, que pode aplicar um pós-processamento às informações codificadas 672.
[0133] Consequentemente, a representação codificada 612 é fornecida, que tipicamente compreende as informações codificadas 672. Entretanto, a representação de áudio codificado 612 pode opcionalmente também compreender informações adicionais, como informações de controle e informações referentes à moldagem de ruído (como informações de fato de escala, coeficientes de predição linear, ou semelhantes). A representação de áudio codificado pode opcionalmente também compreender informações de ganho global e/ou informações de modo de codificação/informações de modo de decodificação e/ou informações “lastnz”.
[0134] Para concluir, o conceito para a codificação de valores espectrais revelados no presente documento pode, por exemplo, ser implementado em um codificador de áudio 600, em que apenas alguns ou todos os recursos da codificação de fator de escala descritos no presente documento podem acontecer no codificador de áudio
600. 7). DECODIFICAR DE ÁUDIO DE ACORDO COM A FIGURA 7
[0135] A Figura 7 mostra um diagrama esquemático de blocos de um decodificador de áudio 700, de acordo com uma modalidade da presente invenção. O decodificador de áudio 700 é configurado para receber informações de áudio codificadas 710 (que podem, por exemplo, corresponder à representação de áudio codificado 612) e pode fornecer, com base nas mesmas, informações de áudio decodificadas 712. O codificador de áudio 700 pode, por exemplo, compreender uma decodificação 720 que recebe as informações de áudio codificadas, ou uma parte das mesmas, e fornece, com base nas mesmas, valores espectrais quantizados 722 (também designados com Xq). Por exemplo, a decodificação 720 pode fornecer valores assinados de número inteiro em uma representação binária (por exemplo, em uma representação de complemento de dois).
[0136] O decodificador de áudio 700 opcionalmente compreende um quantizador inverso 730, que recebe os valores espectrais quantizados e que pode realizar uma quantização inversa. Por exemplo, o quantizador inverso 730 pode usar informações de ganho global para ajustar o mapeamento realizado pela quantização inversa.
[0137] O decodificador de áudio 700 opcionalmente compreende um escalonamento 740, que pode receber inversamente valores espectrais quantizados 732 fornecidos pelo quantizador inverso e que podem realizar um escalonamento, para desse modo obter valores espectrais escalados e inversamente quantizados 742. O escalonamento pode opcionalmente ser dependente do ganho global.
[0138] O decodificador de áudio 700 pode também, opcionalmente, compreender um pós-processamento 750, que pode receber os valores espectrais quantizados inversamente 730 ou os valores espectrais escalados quantizados inversamente 742 e que pode realizar uma moldagem espectral. Por exemplo, a moldagem espectral pode ser uma moldagem de ruído espectral, e/ou pode ser baseada em um escalonamento de diferentes bandas de frequência que usam fatores de escala e/ou podem ser baseadas em uma moldagem espectral com uso de coeficientes de predição linear (em que informações que controlam a moldagem espectral podem estar incluídas nas informações de áudio codificadas).
[0139] O decodificador de áudio 700 pode também, opcionalmente, compreender uma conversão de domínio espectral para domínio de tempo 760, que pode receber os valores espectrais quantizados inversamente 732, os valores espectrais escalados e quantizados inversamente 742 ou os valores espectrais pós-processados (por exemplo, em formato espectral) 752 fornecidos pelo pós-processamento 750. A conversão de domínio espectral para domínio de tempo pode, por exemplo, realizar uma transformada discreta de cosseno modificada inversa, ou uma transformada discreta de cosseno modificada inversa de pouco atraso, ou qualquer outra conversão de domínio espectral para domínio de tempo, para, desse modo, obter uma representação de áudio de domínio de tempo 762 com base nas informações de entrada recebidas pela conversão de domínio espectral para domínio de tempo.
[0140] A representação de áudio de domínio de tempo 762 pode, por exemplo, ser inserida em um pós-processamento (opcional) 770, que pode realizar uma ou mais etapas de pós-processamento e que pode, por exemplo, também realizar uma moldagem espectral de domínio de tempo (por exemplo, no caso de nenhuma moldagem espectral ser realizada no domínio espectral, por exemplo, com uso de uma filtração de LPC).
[0141] Consequentemente, as informações de áudio decodificadas 712 podem ser fornecidas com base na saída da conversão de domínio espectral para domínio de tempo 762, e podem possivelmente ser obtidas com uso de alguma forma de pós- processamento e/ou ligação de quadro (como uma operação de sobrepor e adicionar).
[0142] Para concluir, o decodificador de áudio 700 pode realizar alguma funcionalidade de decodificação de áudio, em que detalhes, por exemplo, referentes a uma moldagem de ruído ou moldagem espectral, podem variar de maneira significativa de implementação para implementação. A moldagem espectral ou moldagem de ruído pode ser realizada no domínio espectral (ou seja, antes da conversão de domínio espectral para domínio de tempo) e/ou no domínio de tempo
(por exemplo, após a conversão de domínio espectral para domínio de tempo).
[0143] Entretanto, deve ser considerado que as informações de áudio codificadas 710 podem corresponder às informações de áudio codificadas 110, 210, e que as informações de áudio codificadas 710 podem compreender informações adicionais de controle e informações para ajustar uma moldagem espectral. Além disso, os valores espectrais quantizados 722 podem, por exemplo, corresponder aos valores espectrais decodificados 132, 232.
[0144] Além disso, a decodificação 720 pode realizar algumas ou todas as funcionalidades descritas em relação aos decodificadores de áudio 100, 200.
[0145] Além disso, a decodificação 720 pode ser suplementada por qualquer um dos recursos, funcionalidades e detalhes descritos no presente documento em relação a uma decodificação de valores espectrais (ou coeficientes espectrais) que é revelada no presente documento, tanto individualmente quanto em combinação. 8). CODIFICAÇÃO DE ÁUDIO (CODIFICAÇÃO DE VALOR ESPECTRAL) DE ACORDO COM A FIGURA 8
[0146] A Figura 8 mostra um fluxograma de uma funcionalidade que pode ser realizada por qualquer um dos decodificadores de áudio descritos no presente documente.
[0147] Deve ser considerado que algumas ou todas as funcionalidades descritas com referência à Figura 8 (e também em relação às figuras anexas) podem ser incorporadas nos codificadores de áudio das Figuras 3 a 6.
[0148] Deve ser também considerado que a Figura 8 foca na codificação de valores espectrais, que podem, tipicamente, ser valores espectrais quantizados. Preferencialmente, mas não necessariamente, os valores espectrais são valores assinados de número inteiro, que são representados por uma representação binária de complemento de dois.
[0149] A funcionalidade conforme mostrado no fluxograma 800 compreende uma primeira estimativa 810 de um ganho global. Essa estimativa pode, por exemplo, ser feita com base em um conjunto de valores espectrais, que pode ser associado com um quadro de um conteúdo de áudio, e pode também considerar um orçamento de bits (ou, de maneira equivalente, um orçamento de taxa de bits).
[0150] A funcionalidade do codificador de áudio ou da codificação de áudio, conforme mostrado na Figura 8, também compreende uma quantização 814 de coeficientes espectrais (ou, de maneira equivalente, valores espectrais) com uso de uma primeira estimativa de um ganho global ou com uso de uma estimativa refinada de um ganho global (que pode ser obtida em uma maneira iterativa). Na etapa 814, existe uma computação ou estimativa de um número de bits necessários para codificar o espectro quantizado (que pode ser representado por coeficientes espectrais quantizados ou por valores espectrais quantizados).
[0151] Com base nessa computação ou estimativa do número de bits necessários, que é realizada na etapa 818, o ganho global pode opcionalmente ser ajustado ou refinado em uma etapa 822, para, desse modo, obter uma estimativa melhorada do ganho global.
[0152] Consequentemente, ao realizar etapas 810, 814 e 818, e opcionalmente etapa 822, “informações de ganho global” (ou, geralmente, informações que descrevem uma quantização dos valores espectrais) podem ser obtidas, que resulta em uma quantização de modo que um número esperado de bits se encaixa pelo menos aproximadamente em um orçamento de bits. Entretanto, deve ser considerado que, em vista de restrições de complexidade, as informações de ganho global podem não ser apropriadas, de modo que uma codificação de valores espectrais quantizados que dependem das informações de ganho global pode ainda consumir mais ou menos bits quando comparada ao orçamento de bits.
[0153] Deve ser considerado que quaisquer detalhes referentes à computação do ganho global ou referentes à quantização não são essenciais para a presente invenção. Em vez disso, modalidades de acordo com a presente invenção irão funcionar com qualquer mecanismo que fornece valores espectrais quantizados de modo que os valores espectrais possam ser codificados sem violar excessivamente o orçamento de bits.
[0154] A funcionalidade 800 compreende adicionalmente realizar uma decisão de modo 830. Entretanto, realizar a decisão de modo pode ser considerada como opcional, visto que codificadores de áudio que usam apenas um modo (designado no presente documento como “segundo modo”) são também possíveis. A decisão de modo 830 opcionalmente compreende uma identificação dependente de modo de um último coeficiente codificado. A depender da decisão de modo, a determinação do último coeficiente codificado pode ser realizada em uma maneira diferente.
[0155] Se o “primeiro modo” for usado, pode haver uma decisão de não codificar alguns valores espectrais diferentes de zero para poupar bits (e para permanecer dentro do orçamento de bits). Nesse caso, uma frequência associada com o último coeficiente espectral codificado pode ser escolhida para ser menor que uma frequência máxima na qual existe um valor espectral diferente de zero. Consequentemente, alguns valores espectrais diferentes de zero em uma região de alta frequência podem não ser codificados no primeiro modo.
[0156] Em contraste, no segundo modo, pelo menos bits mais significativos são codificados para todos os coeficientes espectrais diferentes de zero. Consequentemente, o último coeficiente codificado pode, por exemplo, ser escolhido para ser o valor espectral diferente de zero de frequência mais alta.
[0157] Um índice que descreve o valor espectral de maior frequência que será codificado é fornecido como informações de controle “lastnz” tanto no primeiro modo quanto no segundo modo.
[0158] A seguir, operação no “primeiro modo” será descrita, com referência às funcionalidades 840 a 869.
[0159] Operação no primeiro modo compreende uma inicialização de codificador aritmético 840. Nessa etapa, estados e um contexto do codificador aritmético serão inicializados.
[0160] Na etapa 844, alguma informação lateral será codificada, como informações de modo que indicam o uso do primeiro modo, o ganho global e as informações que identificam o último coeficiente codificado (lastnz).
[0161] Funcionalidades 848 a 864 são repetidas para cada valor espectral, ou para cada grupo de valores espectrais. Deve ser considerado que, em uma modalidade preferencial, grupos que compreendem dois valores espectrais serão codificados. Entretanto, uma codificação de valores espectrais individuais é também possível.
[0162] A codificação real de valores espectrais compreende uma determinação de peso de bits mais significativos para um coeficiente espectral ou para um grupo de coeficientes espectrais. Por exemplo, a representação numérica de um ou dois coeficientes espectrais é examinada e é identificada que é a posição de bits de maior valor que compreende um “1”. Por exemplo, um valor binário “00010000” compreende seus bits mais significativos na posição de bits 5, que tem peso de bits 16. Se um par de valores espectrais for considerado, que deve ser codificado junto, o máximo das posições de bits mais significativos dos dois valores espectrais é determinado. Para detalhes opcionais, referência é feita à descrição da “etapa 7a” que será fornecida abaixo (conferir a descrição da Figura 10a).
[0163] Em uma etapa 852, um peso de bits mais significativos será codificado, que pode ser feito, por exemplo, ao fornecer uma sequência de símbolos codificados específicos, em que o número de símbolos codificados específicos indica a posição de bits (ou, de maneira equivalente, o peso de bits). Por exemplo, assim chamado “símbolos de escape” podem ser usados, que são conhecidos em codificação aritmética. Para detalhes opcionais referentes à funcionalidade 852, referência é feita, por exemplo, à discussão da “etapa 7b” fornecida abaixo (conferir a Figura 10c).
[0164] De maneira subsequente, uma codificação de bits mais significativos 856 é realizada. Nessa etapa, um ou mais bits (por exemplo, dois bits) na posição identificada de bits de bits mais significativos (ou adjacente à posição identificada de bits de bits mais significativos) são codificados. Por exemplo, se posição de bits 5, que tem peso de bits 16 for identificada na etapa 848, então bits que têm posições de bits 5 e 4 (pesos de bits 16 e 8) de um primeiro valor espectral podem ser codificados juntos com bits nas posições de bits 5 e 4 (que têm pesos de bits 16 e 8) de um segundo valor espectral. Portanto, no exemplo, um total de quatro bits podem ser codificados juntos, em que tipicamente pelo menos um dos dois valores espectrais terá um “1” na posição de bits 5 (peso de bits 16). Por exemplo, os quatro bits mencionados podem ser mapeados em um símbolo “sym” que usa uma codificação aritmética baseada em contexto. Para detalhes opcionais, referência é feita, por exemplo, à descrição da “etapa 7c” que é fornecida abaixo (conferir a Figura 10d).
[0165] Em uma etapa 860, existe uma codificação remanescente de bits. Na etapa 860, pode haver, por exemplo, uma codificação de (todos) bits menos significativos (que incluem um ou mais bits menos significativos) para todos os valores espectrais que foram codificados na etapa 856 e que compreendem mais bits que o um ou mais bits mais significativos (por exemplo, numbits>2). Em outras palavras, para cada valor espectral que foi parcialmente (mas não completamente) codificado na etapa 856 (porque a codificação do um ou mais bits mais significativos não foi suficiente para representar o valor espectral com precisão completa, até bits que têm peso de bits 1), todos os bits menos significativos serão codificados.
[0166] Com referência ao exemplo acima, se bits 5 e 4 foram codificados na etapa 856 para o primeiro valor espectral e para o segundo valor espectral, então bits 1, 2 e 3 serão codificados para o primeiro valor espectral e para o segundo valor espectral na etapa 860.
[0167] Para detalhes opcionais, referência é feita à descrição da etapa 7d da abordagem convencional.
[0168] Na etapa 864, há uma codificação de sinal para todos os valores espectrais diferentes de zero para os quais o um ou mais bits mais significativos foram decodificados. Para detalhes opcionais, referência é feita à descrição da etapa 7e (conferir a Figura 10f).
[0169] Conforme mencionado anteriormente, etapas 848 a 864 são repetidas para cada valor espectral, ou para cada grupo de valores espectrais os bits mais significativos dos quais são codificados juntos.
[0170] Na etapa 868 há uma determinação de um número de bits usados, e na etapa 869, há, opcionalmente, uma codificação de informações de refinamento se ainda houver bits não usados disponíveis.
[0171] Para concluir, ao operar no primeiro modo, alguns valores espectrais diferentes de zero são pulados na codificação, mas todos os valores espectrais que são na verdade codificados são codificados com resolução completa (até os bits menos significativos). Consequentemente, uma variação da taxa necessária de bits pode ser feita ao decidir quantos valores espectrais são deixados não codificados (pulados na codificação).
[0172] A seguir, a operação no segundo modo que pode, em algumas modalidades, ser o único modo, será descrita com referência às funcionalidades 870 a 898.
[0173] A codificação no segundo modo compreende uma inicialização de codificador aritmético 870, em que estados em um contexto da codificação aritmética serão inicializados.
[0174] Na etapa 874, alguma informação lateral será codificada, como informações de ganho global, “lastnz” e informações de modo que indicam que o segundo modo é usado (desde que o codificador seja alternável entre o primeiro modo e o segundo modo).
[0175] Funcionalidades 878 a 894 são realizadas para cada valor espectral a ser codificado, ou para cada grupo de valores espectrais a serem codificados em conjunto.
[0176] Na etapa 878, há uma determinação de peso de bits mais significativos para coeficientes espectrais (ou valores espectrais) ou para grupos de coeficientes espectrais (ou valores espectrais). Para detalhes opcionais, referência é feita à explicação referente à funcionalidade 848 e também à descrição da “etapa 7a” abaixo (conferir a Figura 10a).
[0177] Na etapa 882, há um cancelamento de bits menos significativos e um processamento de informações de bits menos significativos. Por exemplo, as informações de bits menos significativos são canceladas na representação numérica de tais valores espectrais que compreendem tanto um ou mais bits mais significativos quanto bits menos significativos (numbits>2). Por exemplo, todos os valores espectrais ímpares podem ser definidos ao próximo valor par (adjacente), um valor absoluto do qual é menor que o valor absoluto do valor ímpar. Por exemplo, um valor de 1 pode ser definido a 0, um valor de 3 pode ser definido a 2, um valor de -1 pode ser definido a 0 e um valor de -3 pode ser definido a -2. Para detalhes opcionais, conferir as etapas 1010f e 1011f mencionadas abaixo.
[0178] Entretanto, informações sobre os bits menos significativos, e também informações sobre o sinal do valor espectral (se o valor espectral for definido de +1 a 0 ou de -1 a 0) podem ser armazenadas em informações de fluxo de bits de bits menos significativos (por exemplo, lsbs[]). Para detalhes, referência é feita, por exemplo, à “etapa 7a bis”, que é descrita abaixo (conferir a Figura 10b).
[0179] Ademais, há uma codificação de peso de bits mais significativos 886, que pode ser igual à codificação de peso de bits mais significativos 852. Para detalhes opcionais, conferir a descrição da Etapa 7b (Figura 10c).
[0180] Além disso, há uma codificação de bits mais significativos 890, que pode ser idêntica à codificação de bits mais significativos 856, exceto pelo fato que os valores espectrais modificados na etapa 882 são usados (com o valor de bits menos significativos removido). Para detalhes opcionais, consultar a descrição da Etapa 7c e a Figura 10d.
[0181] Ademais, há uma codificação de bits menos significativos 892. Na codificação de bits menos significativos 892, há uma codificação de bits menos significativos, exceto para um ou mais bits menos significativos. Em outras palavras, bits que estão entre os bits menos significativos e o um ou mais bits mais significativos codificados na etapa 890 podem ser codificados, por exemplo, ao escrevê-los sequencialmente em um fluxo de bits. Para detalhes opcionais, referência é feita à descrição abaixo da “etapa 7d – nova versão” (conferir a Figura 10e).
[0182] Além disso, há uma codificação de sinal 894, que é substancialmente idêntica à codificação de sinal 864, exceto pelo fato que o sinal é determinado com base em um valor espectral conforme modificado na etapa 882.
[0183] Por exemplo, se o valor espectral original (quantizado) era +1, o valor espectral foi mudado para 0 na etapa 882, e não há codificação de sinal na etapa 894, porque esse sinal é apenas codificado para valores diferentes de zero. De maneira similar, se o valor espectral originalmente era -1 (após a quantização), o valor espectral é emendado a0 na etapa 882, e nenhum sinal são codificados na etapa 894 (porque sinais não são codificados para valores zero).
[0184] Para detalhes opcionais referentes à codificação de sinal, referência é feita à descrição da etapa 7e (Figura 10f).
[0185] Etapas 878 a 894 são repetidas para todos os valores espectrais ou grupos de valores espectrais os bits mais significativos dos quais são codificados em conjunto.
[0186] Na etapa 896, há uma determinação de um número de bits disponível para uma codificação de bits menos significativos. Esse número é designado, por exemplo, com nlsbs e pode, por exemplo, designar um número de bits não usados.
[0187] Na etapa 898, os bits não usados (o número dos quais foi determinado na etapa 896) são usados para a codificação “real” dos bits menos significativos (inclusão das informações de bits menos significativos obtidas na etapa 882, ou uma parte das mesmas, na representação de áudio codificado). Por exemplo, uma sequência de bits que foi determinada na etapa 882, ou uma porção da mesma, é adicionada a uma representação de áudio codificado. Essa sequência de bits compreende os bits menos significativos e sinais para aqueles valores espectrais que foram alterados para ser zero pelo cancelamento dos bits menos significativos.
[0188] Consequentemente, no segundo modo, símbolos que representam um ou mais bits mais significativos, uma sequência de bits que representa os bits menos significativos exceto para o um ou mais bits menos significativos (e algumas informações de sinal) e a sequência de bits que representa os bits menos significativos (e algumas informações de sinal) é fornecida. Na sequência que representa os bits menos significativos, os bits menos significativos (e sinais) podem ser incluídos valor espectral por valor espectral ou sequencialmente para pares de valores espectrais codificados em conjunto. Além disso, na sequência de bits que representam os bits menos significativos, os bits menos significativos são incluídos valor espectral por valor espectral.
[0189] Deve ser considerado que detalhes opcionais adicionais referentes à codificação 800 serão descritos abaixo. Deve ser também considerado que referências à representação de código de pseudoprograma das etapas são incluídas na Figura 8. Os detalhes descritos nas representações de código de pseudoprograma não são essenciais, mas podem opcionalmente ser incluídas individualmente para cada uma das etapas conforme mostrado na Figura 8.
9. DECODIFICAÇÃO DE ÁUDIO (CODIFICAÇÃO DE VALOR ESPECTRAL) DE ACORDO COM A FIGURA 9
[0190] A Figura 9 mostra uma representação esquemática de funcionalidades que podem ser realizadas pelos decodificadores de áudio conforme descrito no presente documento.
[0191] Deve ser considerado que algumas ou todas as funcionalidades descritas na Figura 9 podem ser realizadas pelos decodificadores de áudio. Deve ser considerado que será suficiente implementar uma ou diversas das funcionalidades descritas na Figura 9 individualmente, mas que é preferencial implementar a funcionalidade completa. Em particular, a funcionalidade revelada na Figura 9 é relacionada à provisão de valores espectrais decodificados com base em informações codificadas que representam valores espectrais. A funcionalidade conforme mostrado na Figura 9 pode, por exemplo, ser implementada na decodificação 720 do decodificador de áudio 700.
[0192] A funcionalidade 900 compreende, em uma etapa 910 uma inicialização de estados de decodificador aritmético e inicialização de um contexto c que é usado pelo decodificador aritmético. Para detalhes opcionais, referência é feita, por exemplo, à “etapa 1” da decodificação conforme descrito abaixo.
[0193] A funcionalidade 900 também compreende uma decodificação 914 de um ganho global de informações de ganho global, uma decodificação 916 de bits de sinalização para uma seleção de modo (seleção de modo 1 ou de modo 2) e uma decodificação 918 de uma informação sobre um último coeficiente codificado diferente de zero (“lastnz”). Deve ser considerado que as etapas 916 e 918 devem ser consideradas como sendo opcionais, e que a etapa 914 pode ser substituída pela decodificação de quaisquer outras informações que definem uma quantização.
[0194] A funcionalidade 900 compreende uma decodificação em um primeiro modo que é mostrado nas etapas 930 a 948 e uma decodificação em um segundo modo, que é mostrado nas etapas 950 a 972. Deve ser considerado que a operação no primeiro modo, conforme descrito nas etapas 930 a 948, deve ser considerada como sendo opcional. Em outras palavras, é também suficiente se a decodificação de áudio pode operar no segundo modo que é descrito pelas etapas 950 a 972, mesmo apesar da possibilidade para alternar entre dois modos se estender para a funcionalidade e trazer algumas vantagens.
[0195] Além disso, a funcionalidade 900 também compreende realizar quantização inversa 980 de valores espectrais decodificados, que pode, por exemplo, ser realizada por bloco 730 no decodificador 700.
[0196] A seguir, a operação no primeiro modo será descrita.
[0197] A decodificação no primeiro modo compreende uma decodificação de bits mais significativos 930 que pode, por exemplo, compreender uma decodificação em conjunto de um, dois ou mais bits mais significativos de dois coeficientes, que podem ser designados com Xq(n) e Xq(n+1). A decodificação de bits mais significativos 930 pode, por exemplo, compreender uma determinação de um número de bits totais (codificados) dos coeficientes (por exemplo, numbits) ou um número de bits menos significativos dos coeficientes que segue os bits mais significativos codificados em conjunto.
[0198] Por exemplo, pode ser reconhecido pelo decodificador (por exemplo, com base em informações de sinalização na representação de áudio codificado) que um dos dois coeficientes espectrais decodificados juntos compreende um valor diferente de zero (bit mais significativo) em uma quinta posição de bits (que tem peso de bits
16). Consequentemente, bits nas posições 4 e 5 (que têm pesos de bits de 8 e 16) serão decodificados em conjunto para os dois valores espectrais que são decodificados juntos (como um grupo). A posição de bits dos bits mais significativos pode ser codificada, por exemplo, com uso de um “mecanismo de símbolo de escape” que é conhecido na técnica de codificação e decodificação aritmética. Para detalhes opcionais, referência é feita, por exemplo, à descrição da “etapa 3a” abaixo (Figura 11a).
[0199] A decodificação no primeiro modo compreende adicionalmente uma decodificação de bits menos significativos 934. Por exemplo, pode haver uma decodificação de (todos) bits menos significativos, que inclui um ou mais bits menos significativos, de todos os valores espectrais para os quais um ou mais bits mais significativos foram decodificados. Por exemplo, os bits menos significativos podem ser lidos a partir de uma sequência de bits. Para detalhes, referência é feita, por exemplo, à “etapa 3b, abordagem convencional” conforme descrito abaixo.
[0200] A decodificação no primeiro modo compreende uma decodificação de sinal 938, em que sinais podem ser codificados para todos os valores espectrais para os quais um valor diferente de zero foi decodificado nas etapas 930, 934. Para detalhes, referência é feita, por exemplo, à discussão abaixo da “etapa 3c” (conferir a Figura 11c).
[0201] A decodificação no primeiro modo compreende restauração a zero 942 de coeficientes espectrais não codificados. Por exemplo, todos os coeficientes espectrais, frequências dos quais estão acima de certa frequência que foi sinalizada de um codificador para o decodificador podem ser definidas a zero. Para detalhes, referência é feita, por exemplo, à descrição abaixo da “etapa 4”.
[0202] A decodificação no primeiro modo também compreende uma determinação 944 de um número de bits não usados. Por exemplo, podem ser determinados quantos bits do orçamento total de bits não foram usados nas etapas de decodificação anteriores.
[0203] A decodificação no primeiro modo pode adicionalmente, opcionalmente,
compreender um refinamento 948 em que, por exemplo, valores espectrais que foram decodificados podem ser adicionalmente refinados. Para detalhes, referência é feita, por exemplo, à descrição abaixo da “etapa 6”.
[0204] Consequentemente, no primeiro modo, valores espectrais de até uma frequência máxima definidos pelas informações sobre as últimas informações de coeficiente codificado diferente de zero serão decodificados completamente (dos bits mais significativos até os bits menos significativos), que inclui uma decodificação do sinal.
[0205] Entretanto, deve ser considerado que detalhes, conforme descrito abaixo com referência à “etapa 3a” a “etapa 6” podem opcionalmente ser introduzidos nessas etapas. Entretanto, deve ser considerado que não é essencial introduzir todos os detalhes descritos abaixo, e que é suficiente em algumas modalidades manter os detalhes abaixo apenas em uma das etapas ou em algumas das etapas.
[0206] A seguir, uma decodificação em um segundo modo será descrita com referência às etapas 950 a 972.
[0207] Uma decodificação no segundo modo compreende uma decodificação de bits mais significativos 950, que pode, por exemplo, compreender uma decodificação aritmética de um ou mais bits mais significativos. Por exemplo, a decodificação de bits mais significativos 950 pode compreender uma determinação de um número de bits totais dos coeficientes, ou de um número de bits menos significativos dos coeficientes, ou de uma posição de bits (ou um peso de bits) do um ou mais bits mais significativos. Ademais, a decodificação de bits mais significativos 950 pode compreender uma decodificação em conjunto de um, dois ou mais bits mais significativos de dois coeficientes espectrais de valores espectrais Xq(n), Xq(n+1).
[0208] Para detalhes opcionais, referência é feita, por exemplo, à descrição abaixo da “etapa 3a” (Figura 11a).
[0209] A decodificação no segundo modo também compreende uma decodificação de bits menos significativos 954, que pode ser considerada como sendo opcional. Na decodificação de bits menos significativos 954, uma decodificação de bits menos significativos, exceto para um ou mais bits menos significativos, acontece. A decodificação de bits menos significativos 954 pode ser similar à decodificação de bits menos significativos 934, exceto pelo fato que bits menos significativos, ou múltiplos bits menos significativos, são omitidos na decodificação de bits menos significativos 954. Para detalhes opcionais, referência é feita, por exemplo, à descrição abaixo da “etapa 3b” (nova versão) (Figura 11b).
[0210] A decodificação no segundo modo também compreende uma decodificação de sinal 958 em que sinais dos valores espectrais decodificados nas etapas 950, 954 são decodificados, na medida em que a porção decodificada dos valores espectrais que são decodificados nas etapas 950, 954 (que não compreendem o um ou mais bits menos significativos) indica um valor diferente de zero. Para detalhes opcionais, referência é feita, por exemplo, à descrição abaixo da “etapa 3c” (Figura 11c).
[0211] Deve ser considerado que etapas 950, 954, 958 são repetidas para todos os valores espectrais a serem decodificados, ou para todos os grupos de valores espectrais a serem decodificados, em que um número de valores espectrais a serem decodificados pode, por exemplo, ser indicado pelas últimas informações de coeficiente codificado diferente de zero fornecidas pelo codificador.
[0212] A decodificação no segundo modo também compreende uma restauração a zero 962 de coeficientes espectrais não codificados, que não foram fornecidos por um codificador e que não foram decodificados em vista das últimas informações de coeficiente codificado diferente de zero. Para detalhes opcionais, consultar a descrição abaixo da etapa 4.
[0213] Além disso, há uma determinação 968 de um número disponível de bits para uma decodificação de bits menos significativos. Em outras palavras, um número de bits não usados (bits do orçamento de bits que não foram usados nas etapas de decodificação 950, 954, 958) é determinado. Para detalhes, referência é feita, por exemplo, à descrição abaixo da “etapa 5”.
[0214] A decodificação no segundo modo também compreende uma decodificação seletiva 972 de um ou mais bits menos significativos para coeficientes que têm mais bits que o um ou mais bits mais significativos. Em outras palavras, um ou mais bits menos significativos podem ser codificados para apenas alguns dos valores espectrais que foram decodificados nas etapas 950, 954, 958, de modo que apenas alguns (mas não todos) dos ditos valores espectrais são refinados por informações de bits menos significativos. A etapa 972 pode, por exemplo, inclui uma consideração de sinal para tais valores espectrais para os quais um valor zero foi decodificado nas etapas 950 e 954 (de modo que nenhum sinal foi decodificado na etapa 958) e para o qual as informações de bits menos significativos indicam um valor diferente de zero. Consequentemente, os valores espectrais (ou coeficientes espectrais) serão refinados por informações de bits menos significativos de uma sequência de bits que compreende bits menos significativos e informações de sinal. O número de valores espectrais que serão refinados depende de um resultado da determinação 968 do número de bits disponíveis para bits menos significativos.
[0215] Consequentemente, a decodificação no segundo modo irá fornecer alguns valores espectrais com precisão completa (que inclui bits menos significativos) e alguns valores espectrais com precisão reduzida (sem bits menos significativos).
[0216] Deve ser considerado que os detalhes descritos abaixo para “etapa 3a” a “etapa 6” podem opcionalmente ser usados. Entretanto, os detalhes descritos abaixo para “etapa 3a” a “etapa 6” não deveriam ser considerados como sendo essenciais. Além disso, deve ser considerado que detalhes podem ser introduzidos para etapas individuais sem a necessidade de usar todos os detalhes descritos abaixo com referência à “etapa 3a” a “etapa 6”.
[0217] Ademais, a funcionalidade 900 também compreende realizar uma quantização inversa 980, em que os valores espectrais decodificados no primeiro modo e/ou os valores espectrais decodificados no segundo modo serão quantizados inversamente. Na quantização inversa, as informações de ganho global decodificadas na etapa 914 podem ser aplicadas. Entretanto, possibilidades diferentes para definir a quantização inversa podem também ser usadas.
10). MÉTODO DE CODIFICAÇÃO DE ACORDO COM AS FIGURAS 10ª A 10F
[0218] A seguir, uma implementação exemplificativa das etapas para quantizar e codificar um espectro MDCT X(n), 0 ≤ n < N será descrita. O método pode, por exemplo, ser usado nos (ou realizado pelos) codificadores de áudio 300, 400, 500 ou no codificador de áudio 600. Recursos descritos no presente documento podem também assumir, individualmente ou em combinação, a funcionalidade 800. Em particular, um foco estará na operação no modo 2, que pode ser o único modo em algumas modalidades.
[0219] A seguir, uma primeira etapa será descrita. A primeira etapa compreende uma primeira estimativa do ganho global. Essa primeira estimativa, por exemplo, não quantiza o espectro nem computa o número de bits consumidos pelo codificador aritmético. É baseada apenas na energia de grupos de coeficientes de MDCT e uma abordagem iterativa de baixa complexidade para obter uma primeira estimativa grosseira do ganho global. Por exemplo, referência é feita à seção 1.3.8.2 no relatório descritivo NBC.
[0220] A seguir, uma segunda etapa será descrita. A segunda etapa compreende uma do espectro de MDCT com uso do ganho global constatado na etapa 1. Isso produz o espectro quantizado de MDCT Xq(n) 0 ≤ n < N. Para detalhes, referência é feita, por exemplo, à seção 1.8.3 no relatório descritivo NBC.
[0221] A seguir, uma terceira etapa será descrita. A terceira etapa compreende uma computação do número de bits necessários para codificar o espectro quantizado Xq(n). Além disso, essa etapa pode também tomar a decisão se deve usar uma abordagem convencional (também designada como “primeiro modo”) ou a nova abordagem (também designada como “segundo modo”). Por exemplo, a etapa pode definir bits de sinalização mencionados no presente documento (por exemplo, bits de sinalização que sinalizam se o primeiro modo ou o segundo modo deveria ser usado). Por exemplo, a nova abordagem (segundo modo) pode ser usada se um número de bits consumidos estiver acima do orçamento de bits e se alguns critérios são atendidos
(por exemplo, uma alta taxa de bits é usada). A abordagem convencional (primeiro modo) pode ser usada se um número de bits consumidos estiver abaixo do orçamento de bits, ou se os critérios (por exemplo, os critérios para o uso do segundo modo) não são atendidos.
[0222] Por fim, a terceira etapa constata o último coeficiente codificado diferente de zero lastnz. É constatado conforme descrito na descrição da abordagem convencional (ou seja, para truncar o espectro) apenas se a abordagem convencional for selecionada (“a etapa constata o índice do último coeficiente codificado diferente de zero lastnz de modo que o número de bits consumidos do espectro truncado possa encaixar no orçamento de bits, consultar seção 1.3.8.4 no relatório descritivo NBC”). Se a nova abordagem (segundo modo) é selecionada, o espectro não é truncado e lastnz corresponde então simplesmente ao último coeficiente diferente de zero (por exemplo, ao coeficiente espectral de maior frequência diferente de zero).
[0223] A seguir, etapa 4 será descrita. A quarta etapa compreende ajustar o ganho global como uma função do número de bits computados na etapa 3. Se o número de bits for muito alto, o ganho global é aumentado. Se o número de bits for muito baixo, o ganho global é diminuído. Então, etapas 2 e 3 são opcionalmente refeitas. A etapa 4 pode ser repetida diversas vezes até que um ganho global ideal seja constatado. Entretanto, se baixa complexidade for necessária, a etapa 4 pode não ser realizada, ou pode ser realizada apenas uma vez (como, por exemplo, em NBC, consultar seção
1.3.8.6 no relatório descritivo NBC).
[0224] A seguir, etapa 5 será descrita. A etapa 5 compreende uma inicialização de estados de codificador aritmético, e uma inicialização de um contexto c que é usado pelo codificador aritmético.
[0225] A seguir, etapa 6 será descrita. A etapa 6 compreende codificação do ganho global e último coeficiente codificado diferente de zero lastnz como informação lateral. Adicionalmente, essa etapa também codifica os bits de sinalização (por exemplo, os bits de sinalização que indicam se o primeiro modo ou o segundo modo é usado) como informação lateral.
[0226] A seguir, etapa 7 será descrita. Entretanto, etapa 7 compreende repetição das subetapas 7a a 7e para todos (n = 0; n < lastnz; n + = 2). Em outras palavras, etapas 7a a 7e são representadas a partir de n = 0 contanto que n seja menor que lastnz, em que n é incrementado por dois em cada iteração. Dois valores espectrais são processados em cada iteração, e tipicamente todos os valores espectrais diferentes de zero serão processados (visto que, no modo 2, lastnz será escolhido de modo que pelo menos bits mais significativos serão codificados para todos os valores espectrais diferentes de zero).
[0227] A seguir, etapa 7a será descrita. A etapa 7a compreende computar o número mínimo de bits necessários para representar a amplitude (ou magnitude, ou valor absoluto) dos dois coeficientes Xq(n) e Xq(n+1) (que são, preferencialmente, valores de número inteiro). Para detalhes referentes a uma implementação exemplificativa, referência é feita ao código de pseudoprograma da Figura 10a (conferir numeral de referência 1000a). Um coeficiente que tem o maior valor absoluto determina o número mínimo de bits necessários para representar a amplitude (magnitude, valor absoluto) dos dois coeficientes.
[0228] A seguir, etapa 7a-bis será descrita, que pode, por exemplo, ser realizada entre as etapas 7a e 7b. Em outras palavras, etapa 7a-bis é uma etapa adicional logo após a etapa 7a, que é realizada se numbits for maior que dois (numbits > 2). Em outras palavras, etapa 7a-bis é realizada se mais bits que os dois bits mais significativos forem necessários para representar Xq(n) e/ou Xq(n+1). Na etapa 7a-bis, os bits menos significativos de cada coeficiente são “poupados” e o coeficiente é então modificado de modo que seus bits menos significativos seja agora zero. O sinal do coeficiente é também poupado no caso de o coeficiente ser originalmente diferente de zero e ser tornar zero após definir seus bits menos significativos a zero.
[0229] Para detalhes referentes a essa funcionalidade, referência é feita, por exemplo, à representação de código de pseudoprograma mostrada na Figura 10b.
[0230] Conforme pode ser observado no numeral de referência 1010a, bits menos significativos de um valor absoluto de Xq[n] são extraídos e poupados em uma sequência de bits lsbs em uma posição indicada por variáveis em execução nlsbs (comparar com sinal de referência 1010b). A variável em execução nlsbs é então aumentada para se referir aos próximos bits não usados dentro da sequência de bits lsbs. Se for constatado que Xq é +1 ou -1 (condição no numeral de referência 1010c), um bit de sinal é definido para ser 0 se Xq[n] for maior que 0 e definido para ser 1 se Xq for menor que 0, conforme pode ser constatado no numeral de referência 1010d. Além disso, se Xq for +1 ou -1, o bit de sinal é poupado, com um próximo bit, na sequência de bits lsbs, que é mostrada no numeral de referência 1010e. Ademais, o valor espectral sinalizado Xq é então modificado em que valores ímpares são definidos para valores pares adjacentes que têm uma magnitude menor. Essa funcionalidade é mostrada no numeral de referência 1010f.
[0231] Entretanto, deve ser constatado que a ordem das etapas de processamento 1010a a 1010f poderiam ser alteradas, desde que a funcionalidade geral permaneça inalterada. Naturalmente, também seria possível armazenar quantidades intermediárias.
[0232] Além disso, deve ser constatado que a mesma funcionalidade é também realizada para o valor espectral Xq[n+1], que é mostrado nos numerais de referência 1011a a 1011f.
[0233] Consequentemente, etapa 7a-bis fornece uma sequência de bits lsbs, que representa os bits menos significativos de todos os valores espectrais para os quais numbits é maior que dois, em que bits de sinal são incluídos na sequência de bits lsbs para valores espectrais para os quais numbits é maior que dois e que assume o valor +1 ou -1 (por exemplo, porque eles estão em um grupo com um maior valor espectral). Os bits na sequência lsbs são ordenados na sequência dos valores espectrais, mas não há bits na sequência lsbs para tais valores espectrais para os quais numbits não é maior que dois (ou seja, que são completamente representados pelos dois bits mais significativos).
[0234] A seguir, a etapa 7b será descrita. Nessa etapa 7b, informações referentes ao valor “numbits” serão codificadas (em que numbits foi determinado na etapa 7a e descreve um peso de bits dos bits mais significativos que são codificados para um valor espectral ou um grupo de valores espectrais). Por exemplo, etapa 7b compreende codificação de valores de escape de numbits-2 (por exemplo, representados por VAL_ESC = 16) se numbits for maior que 2. Para detalhes, referência é feita à Figura 10c (numeral de referência 1020a). Por exemplo, os valores de escape são codificados com uso de uma codificação aritmética, em que um contexto é avaliado para obter probabilidades para a codificação aritmética. Os símbolos de escape são codificados com codificação aritmética com uso das probabilidades p. Além disso, o contexto é atualizado.
[0235] Entretanto, quaisquer detalhes dessa etapa não são essenciais para a presente invenção.
[0236] A seguir, a etapa 7c será descrita. A etapa 7c compreende codificação de dois bits mais significativos de cada coeficiente Xq(n) e Xq(+1) como um único símbolo sym (cujo valor encontra-se entre 0 e 15). Na etapa 1040a, é determinado, com base no valor numbits, por quantos bits a representação numérica (binária) de Xq[n] e Xq[n+1] (conforme modificado na etapa 7a-bis para o caso de numbits > 2) será deslocada para a direita. Isso é mostrado no numeral de referência 1040a e pode ser considerado como opcional. Na etapa 1040b, Xq[n] é processado de modo que bits em posições de bits determinadas por numbits são armazenados em uma variável a. Na etapa 1040c, Xq[n+1] é processado de modo que bits em posições de bits determinadas por numbits são assumidas em variável b. Em outras palavras, bits em posições de bits considerados como dois bits mais significativos são assumidos em variáveis a e b.
[0237] Consequentemente, um valor de bits quatro é determinado que combine os dois bits mais significativos de Xq[n] e Xq[n+1], conforme é mostrado no numeral de referência 1040d. Sym variável então representa um símbolo de bits quatro que compreende dois bits mais significativos de cada um dos dois valores espectrais a serem codificados juntos. Então, probabilidades para a codificação aritmética são determinadas a partir do contexto c da codificação aritmética, e o símbolo sym é codificado com uso de uma codificação aritmética e que considera as probabilidades p determinadas a partir do contexto. De maneira subsequente, o contexto é atualizado.
[0238] Consequentemente, uma representação aritmética codificada de símbolo sym que representa os dois bits mais significativos dos dois valores espectrais a serem codificados em conjunto é obtida.
[0239] A seguir, etapa 7d será descrita. A etapa 7d compreende uma codificação dos bits remanescentes (também designados como “bits intermediários” ou “bits menos significativos”) exceto pelos bits menos significativos. Para detalhes, referência é feita à Figura 10e, que mostra uma representação de código de pseudoprograma. Conforme pode ser observado, variável em execução b executa de b=1 a numbits-3. Consequentemente, bits são codificados a partir da posição de bits 2 (que tem valor de bits 2) desde que os dois bits mais significativos que são codificados juntos na etapa 7c estejam pelo menos em posições de bits 3 e 4 (que têm valores de bits 4 e 8) ou em posições maiores de bits. Consequentemente, bits nas posições de bits (b+1) dos valores absolutos dos valores espectrais Xq[n] e Xq[n+1] são codificados como informação lateral. Consequentemente, quaisquer bits que se encontram entre os bits menos significativos e os dois bits mais significativos são codificados como informação lateral na etapa 7d, desde que tais bits existam (que depende das posições de bits dos bits mais significativos conforme definido por numbits).
[0240] Por exemplo, um circuito mostrado no numeral de referência 1050a é executa de b=1 a b = numbits - 3 (desde que numbits seja maior que ou igual a 4). Conforme pode ser observado no numeral de referência 1050b, bits na posição de bits b+1 do valor absoluto de Xq[n] são decodificados como informação lateral. Conforme pode ser observado no numeral de referência 1050c, bits na posição de bits b+1 do valor absoluto de Xq[n+1] são codificados como uma informação lateral. As etapas 1050b e 1050c são repetidas até que variável em execução b numbits-2.
[0241] A seguir, etapa 7e será descrita. A etapa 7e inclui codificação do sinal de cada coeficiente (ou valor espectral) exceto se o coeficiente for 0. Deve ser considerado que, na etapa 7e, os coeficientes modificados na etapa 7a-bis são considerados. Em outras palavras, o sinal do valor espectral Xq será codificado se o valor original de Xq (antes da modificação na etapa 7a-bis) for maior que ou igual a 2 ou menor que ou igual a -2. Em contraste, se Xq[n] era originalmente igual a 0, ou foi definido a 0 na etapa 7a-bis, não há codificação do sinal na etapa 7e. A verificação se o valor espectral (modificado) Xq[n] é igual a 0 ou não é observada no numeral de referência 1060a, e a provisão de bits de sinal “0” para um valor positivo de Xq[n] e de bits de sinal “1” para um valor negativo de Xq[n] pode ser observada no numeral de referência 1060b. A codificação do valor de sinal como informação lateral é mostrada no numeral de referência 1060c.
[0242] Uma funcionalidade similar é também realizada para Xq[n+1], que é mostrada nos numerais de referência 1061a, 1061b e 1061c.
[0243] A seguir, etapa 8 será descrita. A etapa 8 compreende finalizar o codificador aritmético e computar um número de bits não usados. Por exemplo, pode ser computado quantos bits do orçamento total de bits permanece não usado nas etapas 7b, 7c, 7d e 7e.
[0244] A seguir, etapa 9 será descrita. Na etapa 9, (se a nova abordagem for selecionada, ou se o segundo modo for selecionado, ou se o codificador apenas usa o segundo modo) quantização/codificação residual (conforme no conceito convencional) não é usada. Se houver bits não usados, esses são usados para codificação dos bits nlsbs que são poupados em lsbs[] (consultar a etapa 7a-bis). Em outras palavras, se for constatado, por exemplo, após a conclusão das etapas 7a a 7e, que nem todos os bits do orçamento de bits foram usados, um número de bits da sequência de bits lsbs fornecida na etapa 7a-bis será incluído em um fluxo de bits (ou, geralmente, em uma representação de áudio codificado). O número de bits da sequência de bits lsbs incluído na representação de áudio codificado pode, por exemplo, ser determinado pelo número de bits não usados, de modo que o orçamento de seja completamente usado (por exemplo, até 1 ou 2 bits, ou até mesmo totalmente).
[0245] Para concluir, deve ser considerado que as etapas descritas no presente documento, ou detalhes das mesmas, podem ser usadas ao realizar a funcionalidade da Figura 8. Por exemplo, as etapas 1 a 4 descritas nesse documento, ou detalhes das mesmas, podem ser usadas para implementar funcionalidades 810, 814, 818 e
830.
[0246] Além disso, as 5 a 9 descritas nesse documento podem ser usadas para implementar funcionalidades 870, 874, 878, 882, 886, 890, 892, 894, 896 e 898. Entretanto, deve ser considerado que os detalhes descritos no presente documento podem ser individualmente incorporados nas etapas da funcionalidade 800. 11). DECODIFICAÇÃO DE ÁUDIO DE ACORDO COM AS FIGURAS 11A A 11D
[0247] A seguir, uma funcionalidade de decodificação de áudio será descrita com referência às Figuras 11a a 11d. A funcionalidade de decodificação descrita nesse documento pode ser usada para fornecer valores espectrais decodificados com base em informações codificadas que representam os valores espectrais. A funcionalidade descrita no presente documento pode ser usada, por exemplo, nos decodificadores de áudio de acordo com as Figuras 1 e 2 e o decodificador de áudio 700 de acordo com a Figura 7 (por exemplo, para implementar a decodificação 720). As etapas descritas no presente documento podem também ser usadas na funcionalidade 900, por exemplo, para implementar funcionalidades 910, 950, 954, 958, 962, 968 e 972.
[0248] A seguir, a funcionalidade para decodificação de valores espectrais será descrita etapa por etapa (com foco na decodificação no “segundo modo” ou no caso de apenas o segundo modo ser usado).
[0249] A seguir, a primeira etapa será descrita. A primeira etapa compreende uma inicialização dos estados do decodificador aritmético e uma inicialização de um contexto c usado pelo decodificador aritmético.
[0250] A seguir, a segunda etapa será descrita. A segunda etapa compreende decodificação do ganho global (ou informações de ganho global, ou quaisquer outras informações que descrevem a quantização inversa) e as últimas informações de coeficiente codificado diferente de zero “lastnz”. Em outras palavras, a segunda etapa compreende decodificação de algumas informações laterais ou informações de controle. Adicionalmente, a segunda etapa também decodifica os bits de sinalização (por exemplo, os bits de sinalização que definem se o primeiro modo ou o segundo modo devem ser usados).
[0251] A seguir, a etapa 3 será descrita. Por exemplo, a etapa 3 compreende repetir as etapas 3a a 3c para todos (n = 0; n < lastnz; n + =2). Em outras palavras, a etapas 3a a 3c serão repetidas para todos os valores espectrais a serem decodificados (conforme definido por lastnz), em que grupos de dois valores espectrais serão processados juntos.
[0252] A seguir, a etapa 3a será descrita. A etapa 3a compreende decodificação de dois bits mais significativos de tanto coeficientes (ou valores espectrais) Xq(n) quanto Xq(n+1). Detalhes referentes à etapa 3a são mostrados na Figura 11a.
[0253] A etapa 3a compreende uma determinação de numbits variável, que descreve uma posição de bits dos dois bits mais significativos a serem codificados. O numbits variável é inicializado a 1 no numeral de referência 1110a. De maneira subsequente, probabilidades p são obtidas a partir do contexto (que foi inicializado antes) na etapa 1110b e símbolo sym é decodificado com uso de uma decodificação aritmética e com uso das probabilidades p na etapa 1110c. De maneira subsequente, o contexto é atualizado na etapa 1110d e o numbits variável é aumentado por 1 na etapa 1110e. Entretanto, se o símbolo sym decodificado for o símbolo de escape, as etapas 1110b, 1110c, 1110d e 1110e são repetidas. Portanto, se o primeiro símbolo decodificado não for símbolo de escape, numbits é definido para ser igual a 2 e as posições de bits mais significativos a serem decodificados iriam definir os bits nas posições de bits 1 e 2 (que têm valores de bits 1 e 2). No entanto, se um ou mais símbolos de escape forem identificados pela decodificação aritmética, o numbits variável é aumentado adicionalmente, que indica um peso maior de bits dos bits mais significativos a serem decodificados, que também indica que há um “lugar” para um ou mais bits menos significativos. Entretanto, logo que é constatado que o último símbolo decodificado não é um símbolo de escape, os valores mais significativos, que têm pesos de bits definidos por numbits variável, são determinados com base no símbolo decodificado. Por exemplo, se o símbolo for representado por um valor de bits quatro, dois bits do valor de bits quatro são usados para definir os dois bits mais significativos de valor espectral Xq[n], e dois bits do valor de bits quatro são usados para definir os dois bits mais significativos do valor espectral Xq[n+1]. Detalhes podem ser considerados nos numerais de referência 1110f e 1110g. Consequentemente, 0, 1 ou mais símbolos de escape, que são codificados pela decodificação aritmética, determinam os pesos de bits dos bits mais significativos, e um símbolo que não é um símbolo de escape define os valores de bits mais significativos de dois valores espectrais.
[0254] A seguir, a etapa 3a-bis será descrita. A etapa 3a-bis é uma etapa adicional logo após a etapa 3a. Essa etapa poupa numbits em um arranjo de numbits[n] para que ele possa ser reutilizado depois na etapa 6. Em outras palavras, os valores do numbits variável são mantidos para todos os pares de valores espectrais decodificados para um uso posterior. Isso é, no entanto, apenas uma etapa auxiliar.
[0255] A seguir, a etapa 3b será descrita. A etapa 3b compreende decodificação dos bits remanescentes exceto pelos bits menos significativos. Para detalhes, referência é feita à Figura 11b. Deve ser considerado aqui que a etapa 3b apenas decodifica bits remanescentes se numbits for maior que ou igual a 4, ou seja, se a representação de números binários dos valores espectrais (ou de pelo menos um valor espectral de um par de valores espectrais processados juntos) compreende mais bits que dois bits mais significativos e um bit menos significativo (ou seja, pelo menos 4 bits). Esses bits, posições de bits dos quais estão entre os bits menos significativos e os dois bits mais significativos são decodificados de maneira subsequente, a partir dos bits que têm posições de bits 2 e que procedem para bits que têm posições maiores de bits (se algum). Para esse propósito, variável em execução b é inicializada a 1 e a decodificação de bits é realizada enquanto b for menor que o numbits-2. Uma funcionalidade de circuito é mostrada no numeral de referência 1120a, uma decodificação de bits para o primeiro valor espectral Xq é mostrada no numeral de referência 1120b, e uma adição dos bits, pesados com seus pesos de bits, até o primeiro valor espectral ser mostrado no numeral de referência 1120c, uma decodificação de bits para o segundo valor espectral Xq[n+1] é mostrada no numeral de referência 1120d, e uma adição dos bits, pesados por seus pesos de bits, é mostrada no numeral de referência 1120e.
[0256] A seguir, a etapa 3c será descrita. A etapa 3c compreende decodificação do sinal de cada coeficiente, exceto se o coeficiente (ou valor espectral) for 0.
[0257] Por exemplo, é verificado se o coeficiente espectral decodificado até então (nas etapas 3a e 3b, sem considerar os bits menos significativos) é igual a 0 ou não (consultar numeral de referência 1130a). Se o valor espectral Xq[n] for diferente de 0, então bits de sinal são decodificados (etapa 1130b) e se os bits de sinal forem iguais a 1 (que é verificado no numeral de referência 1130c) então o sinal de Xq[n] é invertido (comparar com numeral de referência 1130d). Uma funcionalidade similar é realizada para o segundo valor espectral, conforme mostrado nos numerais de referência 1131a a 1131d.
[0258] A seguir, a etapa 4 será descrita. Na etapa 4, todos os coeficientes (ou valores espectrais) para os quais um índice n é maior ou igual a lastnz são definidos a 0. Consequentemente, aqueles coeficientes espectrais que não foram codificados pelo codificador (que é sinalizado pelas informações laterais “lastnz”) são definidos a um valor bem definido (0).
[0259] A seguir, a etapa 5 será descrita.
[0260] A etapa 5 compreende uma finalização do decodificador aritmético e computação do número de bits não usados. Por exemplo, podem ser computados quantos bits foram decodificados nas etapas 3a, 3b e 3c, e pode então ser concluído quantos bits de um orçamento total de bits não foram usados até então.
[0261] A seguir, a etapa 6 será descrita. Na 6a etapa, se houverem bits não usados, bits nlsbs são codificados e eles são armazenados em lsbs[]. Em outras palavras, uma sequência de bits nlsbs será usada para um refinamento de bits menos significativos, em que eles podem tanto ser usados diretamente quanto podem ser armazenados em uma estrutura de dados intermediários, como um arranjo lsbs[].
Então, coeficientes (n, n+1) (ou valores espectrais Xq[n] e Xq[n+1]) são refinados se numbits[n] for maior que 2 (para os respectivos valores espectrais que têm índice n e n+1) com uso dos bits lsb decodificados (ou bits de bits menos significativos).
[0262] Para detalhes, referência é feita à Figura 11d.
[0263] Conforme pode ser observado no numeral de referência 1140a, variável em execução k é inicializada a 0. Então, o processamento de circuito é executado sobre todos os pares de valores espectrais, em que a definição de circuito pode ser observada no numeral de referência 1140b. Entretanto, deve ser considerado que quaisquer pares de valores espectrais são pulados no processamento de circuito que não compreende mais bits que os dois bits mais significativos. Uma verificação se o par de valores espectrais atualmente processados compreende mais bits que os bits mais significativos pode ser observada no numeral de referência 1140c. Além disso, deve ser considerado que o processamento (por exemplo, o refinamento de valores espectrais com uso de informações de bits menos significativos) é parada de qualquer modo (mesmo se nem todos os valores espectrais que têm mais bits que os dois bits mais significativos foram considerados) quando o número de bits processados atinge o número total nlsbs de bits disponíveis para o refinamento de bits menos significativos. Um aborto do processamento de circuito é, por exemplo, efetuado pelo comando “interromper”, e pode ser observado que há tipicamente uma avaliação se um número máximo de bits disponível para o refinamento de bits menos significativos foi atingido antes de novos bits da sequência ou arranjo de bits lsbs ser avaliados. Por exemplo, há uma verificação se todos os bits disponíveis foram avaliados no numeral de referência 1140d, que precede a leitura de novos bits da sequência ou arranjo de bits lsbs, que pode ser observado no numeral de referência 1140e. Após uma leitura de bit da sequência ou arranjo de bits lsbs (no numeral de referência 1140e), ação diferente é tomada que depende do valor de bits e também que depende do valor do valor espectral decodificado anteriormente Xq[n]. Se o valor da leitura de refinamento de bits na etapa 1140e for zero, nenhuma ação adicional é tomada (porque todos os bits não indicam necessidade para uma emenda do valor decodificado anteriormente).
Em contraste, se o valor da leitura de refinamento de bits na etapa 1140e for “1” a ação tomada depende do valor real do valor espectral Xq[n]. Se o valor espectral Xq for maior que zero e se a leitura de bits na etapa 1140e for “1”, então o valor espectral Xq[n] é aumentado por 1 (ou seja, por um valor de bits menos significativos), que pode ser observado no numeral de referência 1140f. Se o valor espectral Xq[n] for negativo e a leitura de valor de bits na etapa 1140e for “1” então o valor espectral Xq[n] é reduzido por 1 (ou seja, por um valor de bits menos significativos).
[0264] Entretanto, se o valor Xq for 0 e o valor de bits da leitura de bits na etapa 1140e for “1”, então outros bits são lidos da sequência ou arranjo de bits lsbs, conforme mostrado no número de referência 1140i, em que a leitura de outros bits na etapa 1140i é precedida por uma verificação se um número total de bits disponível já foi atingido (o que leva a um aborto do circuito pelo comando “interromper”). De maneira subsequente, o valor de Xq[n] é seletivamente definido a +1 ou -1 a depender do valor da leitura de “bits de sinal” na etapa 1140i, que é mostrado no numeral de referência 1140j. De maneira subsequente, etapas 1140d a 1140j são repetidas para o segundo valor espectral Xq[n+1].
[0265] Para concluir, enquanto nem todos os bits da sequência ou arranjo de bits lsbs, que estão disponíveis para o refinamento dos bits menos significativos, forem usados, há um processamento de “bits de refinamento” da dita sequência ou arranjo de bits lsbs. Se o valor espectral decodificado anteriormente Xq[n], Xq[n+1] for diferente de zero 0, uma magnitude do dito valor espectral é aumentada seletivamente por um valor de bits menos significativos que dependem de uma leitura de “bits de refinamento” da sequência ou arranjo de bits lsbs. Se o valor espectral decodificado anteriormente Xq[n], Xq[n+1] for 0, então os “bits de sinal” são extraídos adicionalmente da sequência ou arranjo de bits lsbs, e os bits de sinal decidem se o valor espectral Xq[n], Xq[n+1] deve ser definido a +1 ou -1 no caso do refinamento de bit anterior (primeiro) indicar que o valor espectral deve ser modificado por um valor de bits menos significativos. Em contraste, os bits de sinal não são usados se os bits de refinamento indicam que um valor do valor espectral Xq[n], Xq[n+1] deve permanecer inalterado.
[0266] Em outras palavras, os primeiros bits de refinamento associados a um valor espectral podem ser considerados como bits que indicam se a magnitude do valor espectral deve ser aumentada por um valor de bits menos significativos, e os segundos bits de refinamento (bits de sinal) são apenas usados em casos que o valor espectral decodificado anteriormente era 0.
[0267] Portanto, há um conceito muito eficiente para o refinamento, em que tipicamente apenas um bit é necessário para o refinamento de bits menos significativos de um valor espectral, e em que dois bits (bits que decidem se deve haver um refinamento e bits que decidem o sinal) são apenas necessários no caso de o valor espectral decodificado anteriormente ser 0.
[0268] Deve ser considerado que as funcionalidades descritas nesse documento podem, por exemplo, ser usadas na funcionalidade de decodificação 900.
[0269] Os recursos discutidos no presente documento em muitos detalhes, com referência ao código de pseudoprogramas podem ser introduzidos na funcionalidade conforme mostrado na Figura 9 individualmente ou em combinação. Entretanto, deve ser considerado que não é necessário incluir cada e todo detalhe, e que os detalhes descritos nesse documento podem ser vantajosos quando incorporados individualmente. 11). CONCLUSÕES
11.1) GERAL
[0270] A seguir, Algumas ideias básicas da presente invenção serão resumidas. Em particular, os aspectos mencionados no presente documento podem ser implementados individualmente ou em combinação com os outros aspectos nas modalidades da invenção.
[0271] Modalidades de acordo com a invenção são baseadas na constatação que, em taxas menores de bits, uma abordagem convencional pode degradar severamente o desempenho de codificação. Foi constatado que em taxas elevada de bits, o orçamento elevado de bits permite quantizar o espectro completo com alta precisão, até mesmo os coeficientes de alta frequência. Foi também constatado que definir alguns dos coeficientes de alta frequência a 0 iriam adicionar uma quantidade significativa de distorção nas frequências altas, o que iria evitar uma qualidade transparente do sinal de saída decodificado. Na Figura 12, um espectro SNR de MDCT é plotado para cada quadro de um sinal de áudio e para duas taxas de bits, uma taxa baixa de bits de 32 kbps e uma taxa alta de bits de 128 kbps. O SNR em 32 kbps parece consistente, mas o SNR em 128 kbps contém grandes quedas. Essas quedas correspondem aos quadros em que os coeficientes de alta frequência foram truncados porque o número de bits consumidos excede o orçamento de bits.
11.2). DESCRIÇÃO ETAPA POR ETAPA DA ABORDAGEM
[0272] A seguir, as etapas necessárias para quantizar e codificar o espectro MDCT X(n), 0 ≤ n < N conforme realizado em uma abordagem convencional será descrita.
[0273] Codificador • Etapa 1: Primeira estimativa do ganho global. Essa primeira estimativa não quantiza o espectro nem compute o número de bits consumidos pelo codificador aritmético. Ela é baseada apenas na energia de grupos de coeficientes de MDCT coeficientes e uma abordagem iterativa de baixa complexidade para obter uma primeira estimativa grosseira do ganho global. (consultar a Seção 1.3.8.2 no relatório descritivo NBC) • Etapa 2: Quantização do espectro de MDCT com uso do ganho global constatado na Etapa 1. Isso produz o espectro de MDCT quantizado 𝑋𝑞 (𝑛), 0 ≤ 𝑛 < 𝑁. (consultar a Seção 1.3.8.3 no relatório descritivo NBC) • Etapa 3: Computar o número de bits necessários para codificar o espectro quantizado 𝑋𝑞 (𝑛). Se o número de bits excede o orçamento de bits, essa etapa também constata o índice do último coeficiente codificado diferente de zero lastnz, de modo que o número consumido de bits do espectro truncado pode encaixar no orçamento de bits. (consultar a Seção 1.3.8.4 no relatório descritivo NBC) • Etapa 4: Ajustar o ganho global como uma função do número de bits computado na Etapa 3: se o número de bits for muito alto, aumentar o ganho global;
se o número de bits for muito baixo, diminuir o ganho global.
Então, refazer as Etapas 2 e 3. A Etapa 4 pode ser repetida diversas vezes até que o ganho global ideal seja constatado.
Se complexidade baixa for necessária, a Etapa 4 não é realizada ou realizada apenas uma vez (como em NBC, consultar a Seção 1.3.8.6 no relatório descritivo NBC). • Etapa 5: Inicialização dos estados do codificador aritmético; Inicialização do contexto c. • Etapa 6: Codificar o ganho global e o último coeficiente codificado diferente de zero lastnz como informações laterais. • Etapa 7: Repetir as seguintes subetapas para todos (n = 0; n < lastnz; n += 2): ○ Etapa 7a: Computar o número mínimo de bits necessário para representar a amplitude dos dois coeficientes 𝑋𝑞 (𝑛) e 𝑋𝑞 (𝑛 + 1)
numbits = ceil( log2( max( abs(𝑋𝑞 [n]), abs(𝑋𝑞 [n+1]) ) + 1 ) );
○ Etapa 7b: Codificar valores de escape de numbits-2 (VAL_ESC=16) se numbits>2 para (b = 0; b < numbits-2; b++) { Pegar probabilidades p do contexto c Codificar símbolo de escape VAL_ESC com codificação aritmética e probabilidades p Atualizar contexto c }
○ Etapa 7c: Codificar os 2 bits mais significativos de tanto coeficientes 𝑋𝑞 (𝑛) quanto 𝑋𝑞 (𝑛 + 1) como um único símbolo sym (cujo valo se encontra entre 0 e
15)
s = max(0, numbits-2); a = abs(𝑋𝑞 [n]) >> s; b = abs(𝑋𝑞 [n+1]) >> s;
sym = a + 4*b;
Pegar probabilidades p do contexto c Codificar símbolo sym com codificação aritmética e probabilidades p Atualizar contexto c
○ Etapa 7d: Codificar os bits remanescentes se numbits>2 para (b = 0; b < numbits-2; b++) { bit0 = (abs(𝑋𝑞 [n]) >> b) & 1;
Codificar bit0 como informação lateral bit1 = (abs(𝑋𝑞 [n+1]) >> b) & 1;
Codificar bit1 como informação lateral }
○ Etapa 7e: Codificar o sinal de cada coeficiente, exceto se o coeficiente for zero se (𝑋𝑞 [n] != 0 ) {
bit0 = 0; se (𝑋𝑞 [n] < 0) {
bit0 = 1; } Codificar bit0 como informação lateral } se (𝑋𝑞 [n+1] != 0) {
bit1 = 0; se (𝑋𝑞 [n+1] < 0) {
bit1 = 1; } Codificar bit1 como informação lateral }
• Etapa 8: Finalizar o codificador aritmético e computar o número de bits não usados. • Etapa 9: Se houverem bits não usados, codificar bits residuais dado o quantizador residual (consultar a Seção 1.3.9 no relatório descritivo NBC).
DECODIFICADOR • Etapa 1: Inicialização dos estados do decodificador aritmético; Inicialização do contexto c. • Etapa 2: Decodificar o ganho global e o último coeficiente codificado diferente de zero lastnz. • Etapa 3: Repetir as seguintes subetapas para todos (n = 0; n < lastnz; n += 2): ○ Etapa 3a: Decodificar os 2 bits mais significativos de tanto coeficientes 𝑋𝑞 (𝑛) quanto 𝑋𝑞 (𝑛 + 1) numbits = 1; do { Pegar probabilidades p do contexto c Decodificar símbolo sym com decodificação aritmética e probabilidades p Atualizar contexto c numbits++; } enquanto (sym==VAL_ESC) 𝑋𝑞 [n] = (sym e 3) << (numbits-2); 𝑋𝑞 [n+1] = (sym >> 2) << (numbits-2); ○ Etapa 3b: Decodificar os bits remanescentes se numbits>2 para (b = 0; b < numbits-2; b++) { Decodificar bit0 𝑋𝑞 [n] += bit0 << b Decodificar bit1 𝑋𝑞 [n+1] += bit1 << b } ○ Etapa 3c: Decodificar o sinal de cada coeficiente, exceto se o coeficiente for zero se (𝑋𝑞 [n] != 0 ) { Decodificar bit0 se (bit0 == 1) { 𝑋𝑞 [n] = -𝑋𝑞 [n]; } } se (𝑋𝑞 [n+1] != 0) { Decodificar bit1 se (bit1 == 1) { 𝑋𝑞 [n+1] = -𝑋𝑞 [n+1]; } } • Etapa 4: Definir todos os coeficientes n >= lastnz a zero • Etapa 5: Finalizar o decodificador aritmético e computar o número de bits não usados. • Etapa 6: Se houverem bits não usados, decodificar bits residuais. Aplicar o quantizador residual inverso que refina os coeficientes diferentes de zero com uso dos bits residuais (consultar a Seção 1.4.3 no relatório descritivo NBC). • Etapa 7: Quantização inversa: multiplicar os coeficientes de MDCT decodificados pelo ganho global
[0274] Deve ser considerado que etapas 1 a 9 conforme descrito na presente seção “descrição etapa por etapa da abordagem convencional” podem ser usadas em codificadores e decodificadores convencionais de áudio, e podem também ser usadas quando um codificador de áudio ou decodificador de acordo com a presente invenção operar em um primeiro modo de codificação.
[0275] Por exemplo, etapas de codificador 1 a 9 descritas na descrição etapa por etapa da abordagem convencional podem ser usadas para implementar funcionalidades 810, 814, 818, 840, 844, 848, 852, 856, 860, 864, 868 e 869. Etapas de codificador 1, 2, 4, 5, 6, 7a, 7c, 7e e 8 descritas acima na descrição etapa por etapa da abordagem convencional podem também ser usadas em um codificador de áudio de acordo com uma modalidade da presente invenção, por exemplo para implementar funcionalidades 810, 814, 818, 822, 870, 874, 878, 886, 890, 894 a 896 (por exemplo, ao funcionar no novo segundo modo).
[0276] Etapas de decodificador 1, 2, 3, 3a, 3b, 3c, 4, 5, 6 e 7 podem também ser usados em uma decodificação de áudio de acordo com a presente invenção ao operar no “primeiro modo”, por exemplo, para implementar etapas 910, 914, 918, 930, 934, 938, 942, 944, 948 e 980.
[0277] Ademais, etapas de decodificador 1, 2, 3, 3a, 3c, 4, 5 e 7 podem também ser usadas para implementar funcionalidades 910, 914, 918, 950, 958, 962, 968 e 980 em um decodificador inventivo (por exemplo, ao operar no “segundo modo”).
11.3). ASPECTOS DA INVENÇÃO PROPOSTA
[0278] A seguir, melhorias e extensões sobre as etapas de decodificador e etapas de decodificador usadas na abordagem convencional serão descritas.
[0279] Foi constatado que, em altas taxas de bits, o espectro de MDCT quantizado Xq[n] computado nas etapas de decodificador 1 a 4 contém coeficientes com alta amplitude. Foi constatado que o número mínimo de bits necessários para representar a amplitude desses coeficientes (etapa de decodificador 7a) é, portanto, maior na maior parte dos casos acima de 2. Consequentemente, há na maior parte dos casos pelo menos um bit menos significativo (LSB) por coeficiente, codificado como informação lateral conforme descrito na etapa de decodificador 7d. Esses bits menos significativos (LSBs) são as informações menos importantes, e foi constatado que eles podem ser removidos com um impacto relativamente pequeno no SNR. Foi constatado que, na verdade, o impacto é muito menor que definir um coeficiente inteiro a 0 (ou seja, definir tanto bits mais significativos MSBs quanto bits menos significativos LSBs a 0) como nas abordagens convencionais.
[0280] Modalidades de acordo com a invenção proposta são, portanto, baseadas na ideia que é mais eficiente truncar os bits menos significativos LSBs do que truncar os coeficientes de alta frequência, em que o número de bits consumido para codificação dos dados quantizados de MDCT excede o orçamento de bits. Isso é, entretanto, apenas vantajoso (ou apenas possível) quando os coeficientes de espectro quantizado de MDCT têm uma amplitude alta, assim como altas taxas de bits. Consequentemente, a invenção proposta adiciona bits de sinalização ao fluxo de bits como informação lateral (em que os ditos bits de sinalização podem, por exemplo, descrever se o “primeiro modo” ou o “segundo modo” é usado). Esses bits sinalizam se a abordagem convencional (por exemplo, conforme descrito na seção descrição etapa por etapa da abordagem convencional) ou a nova abordagem (conforme descrito, por exemplo, na seção descrição etapa por etapa de uma modalidade da invenção proposta) é usada. Deve ser considerado que no caso de o número de bits consumidos estar abaixo do orçamento de bits, a nova abordagem não é necessária, e os bits de sinalização podem ser definidos para disparar a abordagem convencional. A nova abordagem é, por exemplo, usada apenas quando o número de bits consumidos excede o orçamento de bits e alguns critérios são atendidos (por exemplo, alta taxa de bits).
[0281] Na Figura 13, o mesmo experimento conforme para a Figura anterior (Figura 12) foi feito, exceto que uma modalidade de acordo com a invenção proposta foi usada para o caso de alta taxa de bits de 128 kbps. O SNR a 128 kbps parece agora muito mais consistente, todas as quedas se foram.
11.4). DESCRIÇÃO ETAPA POR ETAPA DE UMA MODALIDADE DA
[0282] A seguir, uma modalidade de acordo com a presente invenção será descrita etapa por etapa. Nessa descrição, referência também será feita à descrição etapa por etapa da abordagem convencional fornecida na seção 11.2, visto que diversas etapas da abordagem convencional podem ser incorporadas.
[0283] Em outras palavras, muitas dessas etapas descritas na seção 11.2 (abordagem convencional) são as mesmas aqui. Assim, apenas as etapas que são diferentes serão descrita aqui.
• Etapa 3: Essa etapa ainda computa o número de bits necessário para codificar o espectro quantizado 𝑋𝑞 (𝑛). Além disso, essa etapa deve também tomar a decisão se usa a abordagem da técnica anterior ou a nova abordagem (ou seja, definir os bits de sinalização mencionados na seção anterior) ➢ nova abordagem se: bits consumidos acima do orçamento de bits e alguns critérios são atendidos (por exemplo, alta taxa de bits) ➢ técnica anterior se: bits consumidos abaixo do orçamento de bits, ou os critérios não são atendidos Por fim, a etapa encontra o último coeficiente codificado diferente de zero lastnz. É constatado conforme descrito na Seção 11.2 (ou seja, para truncar o espectro) apenas se a abordagem da técnica anterior for selecionada. Se a nova abordagem for selecionada, o espectro não é truncado e lastnz corresponde então simplesmente ao último coeficiente diferente de zero. • Etapa 6: adicionalmente, essa etapa agora codifica também os bits de sinalização como informações laterais. As outras etapas de decodificador são as mesmas se a abordagem da técnica anterior foi selecionada. Se a nova abordagem for selecionada, as seguintes etapas são adicionadas/modificadas. ○ Etapa 7a-bis: essa é uma etapa adicional logo após a Etapa 7a, que é realizada se numbits>2. Os bits menos significativos de cada coeficiente são poupados, e o coeficiente é então modificado de modo que seus LSB sejam agora zero. O sinal do coeficiente é também poupado no caso de o coeficiente ser originalmente diferente de zero e se tornar zero após definir seus LSB a zero.
se (numbits > 2) { bit = abs(𝑋𝑞 [n]) & 1; lsbs[nlsbs++] = bit; se (bit != 0 && (abs(𝑋𝑞 [n]) & FFFE) == 0) {
bit = 0; se (𝑋𝑞 [n] < 0) {
bit = 1; } lsbs[nlsbs++] = bit; } 𝑋𝑞 [n] = (𝑋𝑞[𝑛]/2) ∗ 2; bit = abs(𝑋𝑞 [n+1]) & 1;
lsbs[nlsbs++] = bit; se (bit != 0 && (abs(𝑋𝑞 [n+1]) & FFFE) == 0)
{ bit = 0; se (𝑋𝑞 [n+1] < 0) {
bit = 1; } lsbs[nlsbs++] = bit; } 𝑋𝑞 [n+1] = (𝑋𝑞[𝑛 + 1]/2) ∗ 2;
}
o Etapa 7d: Codificar os bits remanescentes exceto os bits menos significativos para (b = 1; b < numbits-2; b++) { bit0 = (abs(𝑋𝑞 [n]) >> b) & 1;
Codificar bit0 como informação lateral bit1 = (abs(𝑋𝑞 [n+1]) >> b) & 1;
Codificar bit1 como informação lateral }
• Etapa 9: se a nova abordagem for selecionada, quantização/codificação residual não é usada.
Se houver bits não usados, esses são usados para codificação dos bits nlsbs que foram poupados em lsbs[] (consultar a Etapa 7a-bis).
DECODIFICADOR • Etapa 2: adicionalmente, essa etapa agora decodifica também os bits de sinalização. As outras etapas de decodificador são as mesmas se a abordagem da técnica anterior foi selecionada. Se a nova abordagem for selecionada, as seguintes etapas são adicionadas/modificadas. ○ Etapa 3a-bis: essa é uma etapa adicional logo após a Etapa 3a. Isso poupa numbits em um arranjo de numbits[n] para que eles possam ser reutilizados posteriormente na etapa 6. ○ Etapa 3b: Decodificar os bits remanescentes exceto os bits menos significativos para (b = 1; b < numbits-2; b++) { Decodificar bit0 𝑋𝑞 [n] += bit0 << b Decodificar bit1 𝑋𝑞 [n+1] += bit1 << b } • Etapa 6: Se houverem bits não usados, decodificar bits nlsbs e armazená- los em lsbs[]. Então refinar os coeficientes (n,n+1) se numbits[n]>2 com uso dos bits LSB decodificados.
k = 0; para (n = 0; n < lastnz; n+=2) { se (numbits[n] > 2) { se (k == nlsbs) { pausa; } bit0 = lsbs[k++]; se (bit0 == 1) {
se (𝑋𝑞 [n] > 0) { 𝑋𝑞 [n] += 1; } ou se (𝑋𝑞 [n] < 0) { 𝑋𝑞 [n] -= 1;
} ou { se (k == nlsbs) { pausa; } bit1 = lsbs[k++]; 𝑋𝑞 [n] = 1 – 2*bit1;
} } se (k == nlsbs) { pausa; } bit0 = lsbs[k++]; se (bit0 == 1) { se (𝑋𝑞 [n+1] > 0) { 𝑋𝑞 [n+1] += 1; } ou se (𝑋𝑞 [n+1] < 0) { 𝑋𝑞 [n+1] -= 1;
} ou { se (k == nlsbs) { pausa; } bit1 = lsbs[k++]; 𝑋𝑞 [n+1] = 1 – 2*bit1;
} }
} }
12. MÉTODOS DE ACORDO COM AS FIGURAS 14 A 18
[0284] As Figuras 14 a 15 mostram fluxogramas de métodos para decodificação de áudio de acordo com modalidades da invenção.
[0285] As Figuras 16 a 18 mostram fluxogramas de métodos para decodificação de áudio de acordo com modalidades da invenção.
[0286] Deve ser considerado que os métodos podem ser suplementados por qualquer um dos recursos e funcionalidades descritos no presente documento em relação aos aparelhos correspondentes e por qualquer uma das funcionalidades mencionadas, tanto individualmente quanto em combinação.
13. ALTERNATIVAS DE IMPLEMENTAÇÃO
[0287] Apesar de alguns aspectos terem sido descritos no contexto de um aparelho, é evidente que esses aspectos também representam uma descrição do método correspondente, em que um bloco ou dispositivo corresponde a uma etapa de ou um recurso de uma etapa do método. De maneira análoga, aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco ou item ou recurso correspondente de um aparelho correspondente. Algumas ou todas as etapas dos métodos podem ser executadas por (ou com uso de) um aparelho de hardware, como, por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas modalidades, uma ou mais das etapas mais importantes do método podem ser executadas por tal aparelho.
[0288] O sinal de áudio codificado inventivo pode ser armazenado em uma mídia de armazenamento digital ou pode ser transmitido em uma mídia de transmissão tal como uma mídia de transmissão sem fio ou uma mídia de transmissão com fio como a Internet.
[0289] A depender de certos requerimentos de implementação, modalidades da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada com uso de uma mídia de armazenamento digital, por exemplo,
um disquete, um DVD, um Blu-Ray, um CD, uma ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, que têm sinais de controle eletronicamente legíveis armazenados nas mesmas, que cooperam (ou são capazes de cooperar) com um sistema de computador programável de modo que o respectivo método seja realizado. Assim, a mídia de armazenamento digital pode ser legível por computador.
[0290] Algumas modalidades de acordo com a invenção compreendem uma portadora de dados que tem sinais de controle eletronicamente legíveis, que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos descritos no presente documento é realizado.
[0291] Geralmente, modalidades da presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, sendo que o código de programa é operativo para realizar um dos métodos em que o produto de programa de computador executa em um computador. O código de programa pode, por exemplo, ser armazenado em uma portadora legível por máquina.
[0292] Outras modalidades compreendem o programa de computador para realizar um dos métodos descritos no presente documento, armazenados em uma portadora legível por máquina.
[0293] Em outras palavras, uma modalidade do método inventivo é, portanto, um programa de computador que tem um código de programa para realizar um dos métodos descritos no presente documento, em que o programa de computador executa em um computador.
[0294] Uma modalidade adicional dos métodos inventivos é, portanto, uma portadora de dados (ou uma mídia de armazenamento digital, ou uma mídia legível por computador) que compreende registrado na mesma o programa de computador para realizar um dos métodos descritos no presente documento. A portadora de dados, a mídia de armazenamento digital ou a mídia registrada são tipicamente tangíveis e/ou não transitórias.
[0295] Uma modalidade adicional do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para realizar um dos métodos descritos no presente documento. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido por meio de uma conexão de comunicação de dados, por exemplo, por meio da Internet.
[0296] Uma modalidade adicional compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado para ou adaptado para realizar um dos métodos descritos no presente documento.
[0297] Uma modalidade adicional compreende um computador que tem instalado no mesmo o programa de computador para realizar um dos métodos descritos no presente documento.
[0298] Uma modalidade adicional de acordo com a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, de maneira eletrônica ou óptica) um programa de computador para realizar um dos métodos descritos no presente documento para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou semelhantes. O aparelho ou sistema pode, por exemplo, compreender um servidor de arquivo para transferir o programa de computador para o receptor.
[0299] Em algumas modalidades, um dispositivo lógico programável (por exemplo, uma matriz de portas programáveis em campo) pode ser usado para realizar algumas ou todas as funcionalidades dos métodos descritos no presente documento. Em algumas modalidades, uma matriz de portas programáveis em campo pode cooperar com um microprocessador para realizar um dos métodos descritos no presente documento. Geralmente, os métodos são preferencialmente realizados por qualquer aparelho de hardware.
[0300] Os aparelhos descritos no presente documento podem ser implementados com uso de um computador, ou com uso de uma combinação de um aparelho de hardware e um computador.
[0301] O aparelho descrito no presente documento, ou quaisquer componentes do aparelho descrito no presente documento, podem ser implementados pelo menos parcialmente em hardware e/ou em software.
[0302] Os métodos descritos no presente documento podem ser realizados com uso de um aparelho de hardware, ou com uso de um computador, ou com uso de uma combinação de um aparelho de hardware e um computador.
[0303] Os métodos descritos no presente documento, ou quaisquer componentes do aparelho descrito no presente documento, podem ser realizados pelo menos parcialmente por hardware e/ou por software.
[0304] As modalidades descritas acima são meramente ilustrativas para os princípios da presente invenção. É entendido que modificações e variações das disposições e dos detalhes descritos no presente documento serão evidentes para outras pessoas versadas na técnica. É a intenção, portanto, ter limitação apenas pelo escopo das iminentes reivindicações de patente e não pelos detalhes específicos apresentados por meio de descrição e explicação das modalidades no presente documento.
Claims (30)
1. Decodificador de áudio (100; 200; 700) para fornecer informações de áudio decodificadas (112; 212; 712) com base em informações de áudio codificadas (110; 210; 710), caracterizado por o decodificador de áudio ser configurado para obter valores espectrais decodificados (132; 232; 732; Xq[n], Xq[n+1]) com base em informações codificadas (130; 230) que representam os valores espectrais, em que o decodificador de áudio é configurado para decodificar em conjunto (950; 1110a-1110g) dois ou mais bits mais significativos por valor espectral com base em respectivos códigos de símbolos (sym) para um conjunto de valores espectrais que usam uma decodificação aritmética, em que um respectivo código de símbolo (sym) representa dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais, em que o decodificador de áudio é configurado para decodificar (972; 1140a-1141j) um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem da quantidade de informações de bits menos significativos estarem disponível, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais sejam decodificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados e que compreendem mais bits do que um ou mais bits mais significativos; e em que o decodificador de áudio é configurado para fornecer as informações de áudio decodificadas com uso dos valores espectrais.
2. Decodificador de áudio de acordo com a reivindicação 1, caracterizado por o decodificador de áudio ser configurado para mapear (1110f, 1110g) um símbolo (sym) de uma representação decodificada aritmeticamente, que representa pelo menos dois bits mais significativos de pelo menos um valor espectral, nos pelo menos dois bits mais significativos do pelo menos um valor espectral.
3. Decodificador de áudio, de acordo com a reivindicação 1 ou 2, caracterizado por a decodificação aritmética ser configurada para determinar (1110a- 1110e) posições de bit (numbits, numbits-1) dos pelo menos dois bits mais significativos e para alocar (1110f, 1110g) os pelo menos dois bits mais significativos determinados por um símbolo (sym) da representação decodificada aritmeticamente para as determinadas posições de bit.
4. Decodificador de áudio, de acordo com uma das reivindicações 1 a 3, caracterizado por o decodificador de áudio ser configurado para decodificar (954; 1120a-1120e), para todos os valores espectrais para os quais dois ou mais bits mais significativos foram decodificados e que compreendem mais bits do que os dois ou mais bits mais significativos e um bits menos significativos, um ou mais bits intermediários, posições de bit das quais estão entre o bits menos significativos e os dois ou mais bits mais significativos.
5. Decodificador de áudio, de acordo com uma das reivindicações 1 a 4, caracterizado por o decodificador de áudio ser configurado para decodificar, em uma primeira fase de decodificação, - dois ou mais bits mais significativos por valor espectral (950; 1110a- 1110g), e - para todos os valores espectrais para os quais dois ou mais bits mais significativos são decodificados e sendo que compreendem mais bits do que os dois ou mais bits mais significativos e um bits menos significativos, um ou mais bits intermediários (954; 1120a-1120e), posições de bit dos quais estão entre o bits menos significativos e os dois ou mais bits mais significativos, e - para todos os valores espectrais para os quais dois ou mais bits mais significativos são decodificados e para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam sinais ou valor diferentes de zero (958; 1130a-1131d); e em que o decodificador de áudio é configurado para omitir seletivamente (1130a, 1131a), na primeira fase de decodificação, uma decodificação de um sinal para valores espectrais para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e em que o decodificador de áudio é configurado para obter seletivamente (972; 1140h-1140j, 1141h-1141j), em uma segunda fase de decodificação que segue a primeira fase de decodificação, informações de sinal para valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero e para os quais informações de bits menos significativos indicam um valor diferente de zero.
6. Decodificador de áudio, de acordo com uma das reivindicações 1 a 5, caracterizado por o decodificador de áudio ser configurado para usar sequencialmente (1140e, 1140i, 1141e, 1141i) bits subsequentes de uma sequência de bits de informações de bits menos significativos (lsbs[]) para obter valores de bits menos significativos associados com os valores espectrais.
7. Decodificador de áudio, de acordo com a reivindicação 6, caracterizado por o decodificador de áudio ser configurado para usar (1140e, 1141e) um único bit da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor diferente de zero, em que o único bit usado da sequência de bits de informações de bits menos significativos é usado (1140f, 1140g, 1141f, 1141g) para obter valor de bits menos significativos; e em que o decodificador de áudio é configurado para usar (1140e, 1141e) um único bit da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e para os quais o único bit usado da sequência de bits de informações de bits menos significativos confirma o valor zero; e em que o decodificador de áudio é configurado para usar (1140e, 1140i,
1141e, 1141i) dois bits subsequentes da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e para os quais um primeiro dos bits usados da sequência de bits de informações de bits menos significativos indica um desvio do valor zero por um valor de bits menos significativos, em que um segundo dos bits usados da sequência de bits de informações de bits menos significativos determina (1140j, 1141j) um sinal do respectivo valor espectral.
8. Decodificador de áudio, de acordo com uma das reivindicações 1 a 7, caracterizado por o decodificador de áudio ser configurado para decodificar (972; 1140a-1141j) bits menos significativos que iniciam de bits menos significativos associados com um valor espectral de menor frequência e procedem para valores espectrais associados com frequências maiores de maneira crescente, de modo que valores espectrais sejam refinados por informações de bits menos significativos em uma faixa de um valor espectral de menor frequência até um valor espectral para o qual últimas informações de bits menos significativos estejam disponíveis, e de modo que valores espectrais que têm frequências associadas maiores que uma frequência associada com o valor espectral para o qual as últimas informações de bits menos significativos está disponível permanecem não refinadas.
9. Decodificador de áudio, de acordo com uma das reivindicações 1 a 8, caracterizado por o decodificador de áudio ser configurado para ser alternado entre - um primeiro modo (930, 934, 938, 942, 944, 948) no qual uma decodificação de valores espectrais em uma faixa de frequência maior é omitida em resposta a uma sinalização do codificador e no qual bits menos significativos são decodificados (934) para todos os valores espectrais para os quais um ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que os bits mais significativos, e - um segundo modo (950, 954, 958, 962, 968, 972) no qual um ou mais bits menos significativos associados com um ou mais dos valores espectrais são decodificados (972), enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que os bits mais significativos.
10. Decodificador de áudio, de acordo com a reivindicação 9, caracterizado por o decodificador de áudio ser configurado para avaliar um sinalizador de fluxo de bits que é incluído nas informações de áudio codificadas para decidir se o decodificador de áudio opera no primeiro modo ou no segundo modo.
11. Decodificador de áudio, de acordo com uma das reivindicações 1 a 10, caracterizado por o decodificador de áudio ser configurado para decodificar em conjunto (950; 1110a-1110g) dois ou mais bits mais significativos por valor espectral por pelo menos dois valores espectrais (Xq[n],Xq[n+1]) com base em respectivos códigos de símbolos, em que um respectivo código de símbolo representa dois ou mais bits mais significativos por valor espectral para pelo menos dois valores espectrais.
12. Decodificador de áudio, de acordo com uma das reivindicações 1 a 11, caracterizado por o decodificador de áudio ser configurado para decodificar valores espectrais de acordo com o seguinte algoritmo: Decodificar os 2 bits mais significativos de tanto coeficientes 𝑋𝑞 (𝑛) quanto 𝑋𝑞 (𝑛 + 1) de acordo com: numbits = 1; do { Pegar probabilidades p do contexto c Decodificar símbolo sym com decodificação aritmética e probabilidades p Atualizar contexto c numbits++; } enquanto (sym==VAL_ESC) Xq[n] = (sym e 3) << (numbits-2); Xq[n+1] = (sym >> 2) << (numbits-2); Decodificar bits remanescentes exceto os bits menos significativos, se houver quaisquer bits remanescentes, de acordo com: para (b = 1; b < numbits-2; b++) { Decodificar bit0 Xq[n] += bit0 << b Decodificar bit1 Xq[n+1] += bit1 << b } Decodificar o sinal de cada coeficiente, exceto se os bits mais significativos forem zero e os bits remanescentes forem zero de acordo com: se (Xq[n] != 0 ) { Decodificar bit0 se (bit0 == 1) { Xq[n] = -Xq[n]; } } se (Xq[n+1] != 0) { Decodificar bit1 se (bit1 == 1) { Xq[n+1] = -Xq[n+1]; } } Definir todos os coeficientes n >= lastnz a zero, em que lastnz é obtido com base em uma informação secundário obtida da representação de áudio codificado; Finalizar a decodificação aritmética e computar o número de bits não usados; se houverem bits não usados, decodificar bits nlsbs e armazená-los em uma estrutura de dados lsbs[]; então refinar os coeficientes (Xq(n),Xq(n+1)) se numbits[n]>2 com uso dos bits LSB decodificados de acordo com:
k = 0; para (n = 0; n < lastnz; n+=2) { se (numbits[n] > 2) { se (k == nlsbs) { quebra; } bit0 = lsbs[k++]; se (bit0 == 1) { se (Xq[n] > 0) { Xq[n] += 1; } se (Xq[n] < 0) { Xq[n] -= 1; } outro { Se (k == nlsbs) { quebra; } bit1 = lsbs[k++]; Xq[n] = 1 – 2*bit1; } } se (k == nlsbs) { quebra; } bit0 = lsbs[k++]; se (bit0 == 1) { se (Xq[n+1] > 0) { Xq[n+1] += 1; } se (Xq[n+1] < 0) { Xq[n+1] -= 1;
} outro { se (k == nlsbs) { quebra; } bit1 = lsbs[k++]; Xq[n+1] = 1 – 2*bit1; } } } }
13. Codificador de áudio (300; 400; 500; 600) para fornecer informações de áudio codificadas (312; 412; 512; 612) com base em informações de entrada de áudio (310; 410; 510; 610), caracterizado por o codificador de áudio ser configurado para obter (620, 630, 640, 650, 660) valores espectrais (330;662;Xq[n]) que representam um conteúdo de áudio das informações de entrada de áudio, e em que o codificador de áudio é configurado para codificar (670; 800) pelo menos uma pluralidade dos valores espectrais, para obter informações codificadas (350, 450, 550, 672; sym,lsbs[]) que representam os valores espectrais; em que o codificador de áudio é configurado para codificar em conjunto (878, 886, 890; 1000a, 1020a, 1040a-1040d) dois ou mais bits mais significativos por valor espectral, para obter respectivos códigos de símbolos (sym) para um conjunto de valores espectrais (Xq[0]…Xq[lastnz-1]) que usam uma codificação aritmética, em que um respectivo código de símbolo (sym) representa dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais, em que o codificador de áudio é configurado para codificar (882; 898; 1010a-1010e, 1011a-1011e) um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de um orçamento de bit disponível, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais sejam codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreendem mais bits do que os dois ou mais bits mais significativos; e em que o codificador de áudio é configurado para fornecer as informações de áudio codificadas com uso das informações codificadas que representam os valores espectrais.
14. Codificador de áudio, de acordo com a reivindicação 13, caracterizado por a codificação aritmética ser configurada para determinar (878; 1000a) posições de bit (numbits, numbits-1) do pelo menos dois bits mais significativos e incluir (886, 1020a) na representação decodificada aritmeticamente uma informação que descreve as posições de bit.
15. Codificador de áudio, de acordo com a reivindicação 13 ou 14, caracterizado por o codificador de áudio ser configurado para mapear (890; 1040a- 1040d) pelo menos dois bits mais significativos do pelo menos um valor espectral (Xq[n,Xq[n+1) em um símbolo (sym) de uma representação decodificada aritmeticamente, sendo que representa os pelo menos dois bits mais significativos do pelo menos um valor espectral.
16. Codificador de áudio, de acordo com uma das reivindicações 13 a 15, caracterizado por o codificador de áudio ser configurado para codificar (892; 1050a- 1050c), para todos os valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreende mais bits do que os dois ou mais bits mais significativos e bits menos significativos, um ou mais bits intermediários, posições de bit dos quais estão entre os bits menos significativos e os dois ou mais bits mais significativos.
17. Codificador de áudio, de acordo com uma das reivindicações 13 a 16, caracterizado por o codificador de áudio ser configurado para codificar, em uma primeira fase de codificação, - dois ou mais bits mais significativos por valor espectral (878, 886, 890;
1000a, 1020a, 1040a-1040d), e - para todos os valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreendem mais bits do que os dois ou mais bits mais significativos e bits menos significativos, um ou mais bits intermediários, posições de bits dos quais estão entre os bits menos significativos e os dois ou mais bits mais significativos (892; 1050a-1050c), e - para todos os valores espectrais para os quais dois ou mais bits mais significativos são codificados e para os quais os dois ou mais bits mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam sinais ou valor diferentes de zero (894; 1060a-1061c); e em que o codificador de áudio é configurado para omitir seletivamente (1060a, 1061a), na primeira fase de codificação, uma codificação de um sinal para valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e em que o codificador de áudio é configurado para codificar seletivamente (898), em uma segunda fase de codificação, informações de sinal (1010e, 1011e) para valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero e para os quais informações de bits menos significativos indicam um valor diferente de zero.
18. Codificador de áudio, de acordo com uma das reivindicações 13 a 17, caracterizado por o codificador de áudio ser configurado para apenas incluir (882, 898; 1010c-1010e, 1011c-1011e) informações de sinal na representação de áudio codificado para valores espectrais sendo que apenas diferem de zero por bits menos significativos se os bits menos significativos de tais valores espectrais forem realmente codificados.
19. Codificador de áudio, de acordo com uma das reivindicações 13 a 18, caracterizado por o codificador de áudio ser configurado para fornecer sequencialmente bits subsequentes de uma sequência de bits de informações de bits menos significativos (lsbs[]) para codificar valores de bits menos significativos associados com os valores espectrais.
20. Codificador de áudio, de acordo com a reivindicação 19, caracterizado por o codificador de áudio ser configurado para fornecer (882, 898; 1010a, 1010b, 1011a, 1011b) um único bit (bit) da sequência de bits de informações de bits menos significativos (lsbs[]) para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor diferente de zero, em que o único bit usado da sequência de bits de informações de bits menos significativos é usado para codificar um valor de bits menos significativos; e em que o codificador de áudio é configurado para fornecer (882, 898; 1010a, 1010b, 1011a, 1011b) um único bit da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e para os quais o único bit (bit) fornecido da sequência de bits de informações de bits menos significativos confirma o valor zero; e em que o codificador de áudio é configurado para fornecer (882, 898; 1010a, 1010b, 1010d, 1010e, 1011a, 1011b, 1011d, 1011e) dois bits subsequentes da sequência de bits de informações de bits menos significativos para respectivos valores espectrais para os quais os dois ou mais valores mais significativos e quaisquer bits intermediários, na medida em que bits intermediários estejam presentes, indicam um valor zero, e para os quais um primeiro dos bits fornecidos da sequência de bits de informações de bits menos significativos indica um desvio do valor zero por um valor de bits menos significativos, em que um segundo dos bits fornecidos da sequência de bits de informações de bits menos significativos codifica um sinal do respectivo valor espectral.
21. Codificador de áudio, de acordo com uma das reivindicações 13 a 20,
caracterizado por o codificador de áudio ser configurado para codificar (882, 898; 1140a-1141j) bits menos significativos que iniciam de bits menos significativos associados com um valor espectral de menor frequência e que procedem para valores espectrais associados com frequências maiores de maneira frequente, de modo que informações codificadas para refinar valores espectrais por informações de bits menos significativos sejam fornecidas em uma faixa de um valor espectral de menor frequência até um valor espectral para o qual últimas informações de bits menos significativos são fornecidas, e de modo que informações codificadas para refinar valores espectrais por informações de bits menos significativos não sejam fornecidas para valores espectrais que têm frequências associadas maiores que uma frequência associada com o valor espectral para o qual as últimas informações de bits menos significativos são fornecidas.
22. Codificador de áudio, de acordo com uma das reivindicações 13 a 21, caracterizado por o codificador de áudio ser configurado para ser alternável entre - um primeiro modo (840, 844, 848, 852, 856, 860, 864, 868, 869) em que uma codificação de valores espectrais diferentes de zero em uma faixa de frequência maior é omitida no caso em que um orçamento disponível de bits seja usado por uma codificação de valores espectrais em uma faixa de frequência menor e em que bits menos significativos são codificados (860) para todos os valores espectrais para os quais um ou mais bits mais significativos são codificados (848, 852, 856) e sendo que compreendem mais bits que os bits mais significativos, e - um segundo modo (870, 874, 878, 882, 886, 890, 892, 894, 896, 898) em que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados (898), enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são codificados e sendo que compreendem mais bits que os bits mais significativos.
23. Codificador de áudio, de acordo com a reivindicação 22, caracterizado por o codificador de áudio ser configurado para fornecer um sinalizador de fluxo de bits que é incluído nas informações de áudio codificadas para indicar se o codificador de áudio opera no primeiro modo ou no segundo modo.
24. Codificador de áudio, de acordo com uma das reivindicações 13 a 23, caracterizado por o codificador de áudio ser configurado para codificar em conjunto (878, 886, 890; 1000a, 1020a, 1040a-1040d) dois ou mais bits mais significativos por valor espectral para pelo menos dois valores espectrais (Xq[n],Xq[n+1]) que usam respectivos códigos de símbolos (sym), em que um respectivo código de símbolo representa dois ou mais bits mais significativos por valor espectral por pelo menos dois valores espectrais.
25. Codificador de áudio, de acordo com uma das reivindicações 13 a 24, caracterizado por o codificador de áudio ser configurado para determinar um valor espectral diferente de zero de frequência mais alta real e para codificar pelo menos dois ou mais bits mais significativos de todos os valores espectrais diferentes de zero ou de todos os grupos diferentes de zero de valores espectrais.
26. Codificador de áudio, de acordo com uma das reivindicações 13 a 25, caracterizado por o codificador de áudio ser configurado para codificar (878, 886, 890, 892) todos os bits exceto por bits menos significativos para todos os valores espectrais diferentes de zero, e em que o codificador de áudio é configurado para codificar (882, 898) bits menos significativos para valores espectrais até que um orçamento de bits seja esgotado.
27. Codificador de áudio, de acordo com uma das reivindicações 13 a 26, caracterizado por o codificador de áudio ser configurado para obter (810; 814, 818, 82) informações de ganho que determinam etapas de quantização de uma quantização (660) de valores espectrais, e sendo que determina uma demanda de bits para codificar os valores espectrais quantizados.
28. Método para fornecer informações de áudio decodificadas (112; 212; 712) com base em informações de áudio codificadas (110; 210; 710),
caracterizado por o método compreender obter valores espectrais decodificados (132; 232; 732; Xq[n], Xq[n+1] ) com base em informações codificadas (130; 230) que representam os valores espectrais, em que o método compreende decodificação em conjunto (950; 1110a- 1110g) de dois ou mais bits mais significativos por valor espectral com base em respectivos códigos de símbolos (sym) para um conjunto de valores espectrais com uso de uma decodificação aritmética, em que um respectivo código de símbolo (sym) representa dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais, em que o método compreende decodificação (972; 1140a-1141j) de um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de quantas informações de bits menos significativos estão disponíveis, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais são codificados, enquanto bits menos significativos não são decodificados para um ou mais outros valores espectrais para os quais um ou mais bits mais significativos são decodificados e sendo que compreendem mais bits que o um ou mais bits mais significativos; e em que o método compreende fornecer as informações de áudio decodificadas com uso dos valores espectrais.
29. Método para fornecer informações de áudio codificadas (312; 412; 512; 612) com base em informações de entrada de áudio (310; 410; 510; 610), caracterizado por o método compreender obter (620, 630, 640, 650, 660) valores espectrais (330; 662; Xq[n]) que representam um conteúdo de áudio das informações de entrada de áudio, e em que o método compreende codificação (670; 800) de pelo menos uma pluralidade dos valores espectrais, para obter informações codificadas (350, 450, 550, 672; sym,lsbs[]) que representam os valores espectrais; em que o método compreende codificação em conjunto (878, 886, 890; 1000a, 1020a, 1040a-1040d) de dois ou mais bits mais significativos por valor espectral, para obter respectivos códigos de símbolos (sym) para um conjunto de valores espectrais (Xq[0]…Xq[lastnz-1]), com uso de uma codificação aritmética, em que um respectivo código de símbolo (sym) representa dois ou mais bits mais significativos por valor espectral para um ou mais valores espectrais, em que o método compreende codificação (882; 898; 1010a-1010e, 1011a-1011e) de um ou mais bits menos significativos associados com um ou mais dos valores espectrais que dependem de um orçamento de bit disponível, de modo que um ou mais bits menos significativos associados com um ou mais dos valores espectrais sejam codificados, enquanto bits menos significativos não são codificados para um ou mais outros valores espectrais para os quais dois ou mais bits mais significativos são codificados e sendo que compreendem mais bits do que os dois ou mais bits mais significativos; e em que o método compreende fornecer as informações de áudio codificadas com uso das informações codificadas que representam os valores espectrais.
30. Programa de computador para realizar o método, de acordo com uma das reivindicações 28 a 29, caracterizado por quando o programa de computador executa em um computador.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR122020009464-8A BR122020009464A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
BR122020009462-1A BR122020009462A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/078959 WO2019091576A1 (en) | 2017-11-10 | 2017-11-10 | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
EPPCT/EP2017/078959 | 2017-11-10 | ||
PCT/EP2018/080698 WO2019092155A1 (en) | 2017-11-10 | 2018-11-08 | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
Publications (1)
Publication Number | Publication Date |
---|---|
BR112020009325A2 true BR112020009325A2 (pt) | 2020-10-27 |
Family
ID=60293975
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020009464-8A BR122020009464A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
BR122020009462-1A BR122020009462A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
BR112020009325-4A BR112020009325A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122020009464-8A BR122020009464A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
BR122020009462-1A BR122020009462A2 (pt) | 2017-11-10 | 2018-11-08 | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos |
Country Status (17)
Country | Link |
---|---|
US (3) | US11386909B2 (pt) |
EP (3) | EP4336502A3 (pt) |
JP (3) | JP7104785B2 (pt) |
KR (3) | KR102492557B1 (pt) |
CN (3) | CN111656443B (pt) |
AR (1) | AR113482A1 (pt) |
AU (3) | AU2018365309B2 (pt) |
BR (3) | BR122020009464A2 (pt) |
CA (3) | CA3082282C (pt) |
ES (1) | ES2972210T3 (pt) |
MX (3) | MX2020004768A (pt) |
PL (1) | PL3707710T3 (pt) |
RU (3) | RU2767286C2 (pt) |
SG (3) | SG11202004285TA (pt) |
TW (1) | TWI758556B (pt) |
WO (2) | WO2019091576A1 (pt) |
ZA (3) | ZA202003441B (pt) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020253941A1 (en) * | 2019-06-17 | 2020-12-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder with a signal-dependent number and precision control, audio decoder, and related methods and computer programs |
CN112735446B (zh) * | 2020-12-30 | 2022-05-17 | 北京百瑞互联技术有限公司 | 在lc3音频码流中添加额外信息的方法、系统及介质 |
CN112992166B (zh) * | 2021-05-08 | 2021-08-20 | 北京百瑞互联技术有限公司 | 一种动态调整lc3音频编码速率的方法、装置及存储介质 |
CN114550732B (zh) * | 2022-04-15 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 一种高频音频信号的编解码方法和相关装置 |
Family Cites Families (191)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3639753A1 (de) | 1986-11-21 | 1988-06-01 | Inst Rundfunktechnik Gmbh | Verfahren zum uebertragen digitalisierter tonsignale |
US5012517A (en) | 1989-04-18 | 1991-04-30 | Pacific Communication Science, Inc. | Adaptive transform coder having long term predictor |
US5233660A (en) | 1991-09-10 | 1993-08-03 | At&T Bell Laboratories | Method and apparatus for low-delay celp speech coding and decoding |
JPH05281996A (ja) | 1992-03-31 | 1993-10-29 | Sony Corp | ピッチ抽出装置 |
IT1270438B (it) | 1993-06-10 | 1997-05-05 | Sip | Procedimento e dispositivo per la determinazione del periodo del tono fondamentale e la classificazione del segnale vocale in codificatori numerici della voce |
US5581653A (en) | 1993-08-31 | 1996-12-03 | Dolby Laboratories Licensing Corporation | Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder |
JP3402748B2 (ja) | 1994-05-23 | 2003-05-06 | 三洋電機株式会社 | 音声信号のピッチ周期抽出装置 |
JPH0811644A (ja) | 1994-06-27 | 1996-01-16 | Nissan Motor Co Ltd | ルーフモール取付構造 |
US6167093A (en) | 1994-08-16 | 2000-12-26 | Sony Corporation | Method and apparatus for encoding the information, method and apparatus for decoding the information and method for information transmission |
EP0732687B2 (en) | 1995-03-13 | 2005-10-12 | Matsushita Electric Industrial Co., Ltd. | Apparatus for expanding speech bandwidth |
KR100322706B1 (ko) * | 1995-09-25 | 2002-06-20 | 윤종용 | 선형예측부호화계수의부호화및복호화방법 |
US5781888A (en) | 1996-01-16 | 1998-07-14 | Lucent Technologies Inc. | Perceptual noise shaping in the time domain via LPC prediction in the frequency domain |
WO1997027578A1 (en) | 1996-01-26 | 1997-07-31 | Motorola Inc. | Very low bit rate time domain speech analyzer for voice messaging |
US5812971A (en) | 1996-03-22 | 1998-09-22 | Lucent Technologies Inc. | Enhanced joint stereo coding method using temporal envelope shaping |
JPH1091194A (ja) | 1996-09-18 | 1998-04-10 | Sony Corp | 音声復号化方法及び装置 |
US6570991B1 (en) | 1996-12-18 | 2003-05-27 | Interval Research Corporation | Multi-feature speech/music discrimination system |
KR100261253B1 (ko) | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치 |
GB2326572A (en) | 1997-06-19 | 1998-12-23 | Softsound Limited | Low bit rate audio coder and decoder |
AU9404098A (en) | 1997-09-23 | 1999-04-12 | Voxware, Inc. | Scalable and embedded codec for speech and audio signals |
KR100335609B1 (ko) * | 1997-11-20 | 2002-10-04 | 삼성전자 주식회사 | 비트율조절이가능한오디오부호화/복호화방법및장치 |
JP3344962B2 (ja) | 1998-03-11 | 2002-11-18 | 松下電器産業株式会社 | オーディオ信号符号化装置、及びオーディオ信号復号化装置 |
US6507814B1 (en) | 1998-08-24 | 2003-01-14 | Conexant Systems, Inc. | Pitch determination using speech classification and prior pitch estimation |
US7272556B1 (en) | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals |
US6992626B2 (en) * | 1999-03-05 | 2006-01-31 | Rannoch Corporation | Method and apparatus to correlate aircraft flight tracks and events with relevant airport operations information |
US6735561B1 (en) | 2000-03-29 | 2004-05-11 | At&T Corp. | Effective deployment of temporal noise shaping (TNS) filters |
EP1139665A1 (en) | 2000-03-29 | 2001-10-04 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for changing the output delay of audio or video data encoding |
US7099830B1 (en) | 2000-03-29 | 2006-08-29 | At&T Corp. | Effective deployment of temporal noise shaping (TNS) filters |
US6665638B1 (en) | 2000-04-17 | 2003-12-16 | At&T Corp. | Adaptive short-term post-filters for speech coders |
US7395209B1 (en) * | 2000-05-12 | 2008-07-01 | Cirrus Logic, Inc. | Fixed point audio decoding system and method |
WO2002101717A2 (en) | 2001-06-11 | 2002-12-19 | Ivl Technologies Ltd. | Pitch candidate selection method for multi-channel pitch detectors |
US7512535B2 (en) | 2001-10-03 | 2009-03-31 | Broadcom Corporation | Adaptive postfiltering methods and systems for decoding speech |
US6785645B2 (en) | 2001-11-29 | 2004-08-31 | Microsoft Corporation | Real-time speech and music classifier |
US20030187663A1 (en) | 2002-03-28 | 2003-10-02 | Truman Michael Mead | Broadband frequency translation for high frequency regeneration |
DE10217297A1 (de) * | 2002-04-18 | 2003-11-06 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten |
US7447631B2 (en) * | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
DE10236694A1 (de) * | 2002-08-09 | 2004-02-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren |
US7502743B2 (en) | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
JP4728568B2 (ja) * | 2002-09-04 | 2011-07-20 | マイクロソフト コーポレーション | レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化 |
JP4287637B2 (ja) | 2002-10-17 | 2009-07-01 | パナソニック株式会社 | 音声符号化装置、音声符号化方法及びプログラム |
US7318027B2 (en) * | 2003-02-06 | 2008-01-08 | Dolby Laboratories Licensing Corporation | Conversion of synthesized spectral components for encoding and low-complexity transcoding |
ES2273216T3 (es) | 2003-02-11 | 2007-05-01 | Koninklijke Philips Electronics N.V. | Codificacion de audio. |
KR20030031936A (ko) | 2003-02-13 | 2003-04-23 | 배명진 | 피치변경법을 이용한 단일 음성 다중 목소리 합성기 |
US20040162866A1 (en) | 2003-02-19 | 2004-08-19 | Malvar Henrique S. | System and method for producing fast modulated complex lapped transforms |
KR100923301B1 (ko) * | 2003-03-22 | 2009-10-23 | 삼성전자주식회사 | 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치 |
JP2006527864A (ja) | 2003-06-17 | 2006-12-07 | 松下電器産業株式会社 | 受信機器、送信機器および伝送システム |
EP1642265B1 (en) | 2003-06-30 | 2010-10-27 | Koninklijke Philips Electronics N.V. | Improving quality of decoded audio by adding noise |
US7620545B2 (en) * | 2003-07-08 | 2009-11-17 | Industrial Technology Research Institute | Scale factor based bit shifting in fine granularity scalability audio coding |
KR100550003B1 (ko) | 2003-07-11 | 2006-02-08 | 학교법인연세대학교 | 상호부호화기에서 개회로 피치 추정 방법 및 그 장치 |
AU2003302486A1 (en) * | 2003-09-15 | 2005-04-06 | Zakrytoe Aktsionernoe Obschestvo Intel | Method and apparatus for encoding audio |
US7009533B1 (en) | 2004-02-13 | 2006-03-07 | Samplify Systems Llc | Adaptive compression and decompression of bandlimited signals |
KR20050087956A (ko) * | 2004-02-27 | 2005-09-01 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
DE602005005640T2 (de) | 2004-03-01 | 2009-05-14 | Dolby Laboratories Licensing Corp., San Francisco | Mehrkanalige audiocodierung |
DE102004009949B4 (de) * | 2004-03-01 | 2006-03-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Ermitteln eines Schätzwertes |
DE102004009954B4 (de) | 2004-03-01 | 2005-12-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Verarbeiten eines Multikanalsignals |
EP1722359B1 (en) | 2004-03-05 | 2011-09-07 | Panasonic Corporation | Error conceal device and error conceal method |
KR100561869B1 (ko) * | 2004-03-10 | 2006-03-17 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
US7392195B2 (en) | 2004-03-25 | 2008-06-24 | Dts, Inc. | Lossless multi-channel audio codec |
CA2603246C (en) | 2005-04-01 | 2012-07-17 | Qualcomm Incorporated | Systems, methods, and apparatus for anti-sparseness filtering |
US7539612B2 (en) | 2005-07-15 | 2009-05-26 | Microsoft Corporation | Coding and decoding scale factor information |
US7546240B2 (en) | 2005-07-15 | 2009-06-09 | Microsoft Corporation | Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition |
KR20070037945A (ko) * | 2005-10-04 | 2007-04-09 | 삼성전자주식회사 | 오디오 신호의 부호화/복호화 방법 및 장치 |
US20070118361A1 (en) | 2005-10-07 | 2007-05-24 | Deepen Sinha | Window apparatus and method |
KR100888474B1 (ko) | 2005-11-21 | 2009-03-12 | 삼성전자주식회사 | 멀티채널 오디오 신호의 부호화/복호화 장치 및 방법 |
US7805297B2 (en) | 2005-11-23 | 2010-09-28 | Broadcom Corporation | Classification-based frame loss concealment for audio signals |
WO2007070007A1 (en) | 2005-12-14 | 2007-06-21 | Matsushita Electric Industrial Co., Ltd. | A method and system for extracting audio features from an encoded bitstream for audio classification |
US8255207B2 (en) | 2005-12-28 | 2012-08-28 | Voiceage Corporation | Method and device for efficient frame erasure concealment in speech codecs |
US8345890B2 (en) | 2006-01-05 | 2013-01-01 | Audience, Inc. | System and method for utilizing inter-microphone level differences for speech enhancement |
EP1991986B1 (en) | 2006-03-07 | 2019-07-31 | Telefonaktiebolaget LM Ericsson (publ) | Methods and arrangements for audio coding |
US8150065B2 (en) | 2006-05-25 | 2012-04-03 | Audience, Inc. | System and method for processing an audio signal |
US20090204397A1 (en) | 2006-05-30 | 2009-08-13 | Albertus Cornelis Den Drinker | Linear predictive coding of an audio signal |
CN1983909B (zh) | 2006-06-08 | 2010-07-28 | 华为技术有限公司 | 一种丢帧隐藏装置和方法 |
US8015000B2 (en) | 2006-08-03 | 2011-09-06 | Broadcom Corporation | Classification-based frame loss concealment for audio signals |
JP5096468B2 (ja) | 2006-08-15 | 2012-12-12 | ドルビー ラボラトリーズ ライセンシング コーポレイション | サイド情報なしの時間的ノイズエンベロープの自由な整形 |
FR2905510B1 (fr) | 2006-09-01 | 2009-04-10 | Voxler Soc Par Actions Simplif | Procede d'analyse en temps reel de la voix pour le controle en temps reel d'un organe numerique et dispositif associe |
CN101140759B (zh) | 2006-09-08 | 2010-05-12 | 华为技术有限公司 | 语音或音频信号的带宽扩展方法及系统 |
US7752038B2 (en) | 2006-10-13 | 2010-07-06 | Nokia Corporation | Pitch lag estimation |
DE102006049154B4 (de) | 2006-10-18 | 2009-07-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kodierung eines Informationssignals |
KR101292771B1 (ko) | 2006-11-24 | 2013-08-16 | 삼성전자주식회사 | 오디오 신호의 오류은폐방법 및 장치 |
JPWO2008072701A1 (ja) | 2006-12-13 | 2010-04-02 | パナソニック株式会社 | ポストフィルタおよびフィルタリング方法 |
FR2912249A1 (fr) | 2007-02-02 | 2008-08-08 | France Telecom | Codage/decodage perfectionnes de signaux audionumeriques. |
JP4871894B2 (ja) | 2007-03-02 | 2012-02-08 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法および復号方法 |
US20110022924A1 (en) | 2007-06-14 | 2011-01-27 | Vladimir Malenovsky | Device and Method for Frame Erasure Concealment in a PCM Codec Interoperable with the ITU-T Recommendation G. 711 |
EP2015293A1 (en) | 2007-06-14 | 2009-01-14 | Deutsche Thomson OHG | Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain |
JP4928366B2 (ja) | 2007-06-25 | 2012-05-09 | 日本電信電話株式会社 | ピッチ探索装置、パケット消失補償装置、それらの方法、プログラム及びその記録媒体 |
JP4572218B2 (ja) | 2007-06-27 | 2010-11-04 | 日本電信電話株式会社 | 音楽区間検出方法、音楽区間検出装置、音楽区間検出プログラム及び記録媒体 |
US10795949B2 (en) | 2007-07-26 | 2020-10-06 | Hamid Hatami-Hanza | Methods and systems for investigation of compositions of ontological subjects and intelligent systems therefrom |
WO2009027606A1 (fr) * | 2007-08-24 | 2009-03-05 | France Telecom | Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites |
EP2186087B1 (en) | 2007-08-27 | 2011-11-30 | Telefonaktiebolaget L M Ericsson (PUBL) | Improved transform coding of speech and audio signals |
CN100524462C (zh) | 2007-09-15 | 2009-08-05 | 华为技术有限公司 | 对高带信号进行帧错误隐藏的方法及装置 |
JP5547081B2 (ja) | 2007-11-02 | 2014-07-09 | 華為技術有限公司 | 音声復号化方法及び装置 |
WO2009066869A1 (en) | 2007-11-21 | 2009-05-28 | Electronics And Telecommunications Research Institute | Frequency band determining method for quantization noise shaping and transient noise shaping method using the same |
KR101162275B1 (ko) | 2007-12-31 | 2012-07-04 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
US8386271B2 (en) | 2008-03-25 | 2013-02-26 | Microsoft Corporation | Lossless and near lossless scalable audio codec |
AU2009256551B2 (en) | 2008-06-13 | 2015-08-13 | Nokia Technologies Oy | Method and apparatus for error concealment of encoded audio data |
KR101227729B1 (ko) | 2008-07-11 | 2013-01-29 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 샘플 오디오 신호의 프레임을 인코딩하기 위한 오디오 인코더 및 디코더 |
EP2346030B1 (en) * | 2008-07-11 | 2014-10-01 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, method for encoding an audio signal and computer program |
ES2642906T3 (es) * | 2008-07-11 | 2017-11-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador de audio, procedimientos para proporcionar un flujo de audio y programa de ordenador |
EP2144231A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme with common preprocessing |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
US8577673B2 (en) | 2008-09-15 | 2013-11-05 | Huawei Technologies Co., Ltd. | CELP post-processing for music signals |
RU2520402C2 (ru) | 2008-10-08 | 2014-06-27 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Переключаемая аудио кодирующая/декодирующая схема с мультиразрешением |
GB2466673B (en) | 2009-01-06 | 2012-11-07 | Skype | Quantization |
MX2011007925A (es) * | 2009-01-28 | 2011-08-17 | Dten Forschung E V Fraunhofer Ges Zur Foeerderung Der Angewan | Codificador de audio, decodificador de audio, información de audio codificada, métodos para la codificación y decodificación de una señal de audio y programa de computadora. |
JP4945586B2 (ja) | 2009-02-02 | 2012-06-06 | 株式会社東芝 | 信号帯域拡張装置 |
US20100223061A1 (en) | 2009-02-27 | 2010-09-02 | Nokia Corporation | Method and Apparatus for Audio Coding |
JP4932917B2 (ja) | 2009-04-03 | 2012-05-16 | 株式会社エヌ・ティ・ティ・ドコモ | 音声復号装置、音声復号方法、及び音声復号プログラム |
FR2944664A1 (fr) | 2009-04-21 | 2010-10-22 | Thomson Licensing | Dispositif et procede de traitement d'images |
US8428938B2 (en) | 2009-06-04 | 2013-04-23 | Qualcomm Incorporated | Systems and methods for reconstructing an erased speech frame |
US8352252B2 (en) | 2009-06-04 | 2013-01-08 | Qualcomm Incorporated | Systems and methods for preventing the loss of information within a speech frame |
KR20100136890A (ko) * | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
CN101958119B (zh) | 2009-07-16 | 2012-02-29 | 中兴通讯股份有限公司 | 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法 |
ES2441069T3 (es) * | 2009-10-08 | 2014-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación |
WO2011044700A1 (en) | 2009-10-15 | 2011-04-21 | Voiceage Corporation | Simultaneous time-domain and frequency-domain noise shaping for tdac transforms |
ES2533098T3 (es) * | 2009-10-20 | 2015-04-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador de señal de audio, decodificador de señal de audio, método para proveer una representación codificada de un contenido de audio, método para proveer una representación decodificada de un contenido de audio y programa de computación para su uso en aplicaciones de bajo retardo |
MX2012004569A (es) * | 2009-10-20 | 2012-06-08 | Fraunhofer Ges Forschung | Codificador de audio, decodificador de audio, metodo para codificar informacion de audio, metodo para decodificar informacion de audio y programa de computacion que usa la deteccion de un grupo de valores espectrales previamente decodificados. |
US7978101B2 (en) * | 2009-10-28 | 2011-07-12 | Motorola Mobility, Inc. | Encoder and decoder using arithmetic stage to compress code space that is not fully utilized |
US8207875B2 (en) * | 2009-10-28 | 2012-06-26 | Motorola Mobility, Inc. | Encoder that optimizes bit allocation for information sub-parts |
WO2011065741A2 (ko) | 2009-11-24 | 2011-06-03 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
WO2011086066A1 (en) | 2010-01-12 | 2011-07-21 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value |
US20110196673A1 (en) | 2010-02-11 | 2011-08-11 | Qualcomm Incorporated | Concealing lost packets in a sub-band coding decoder |
EP2375409A1 (en) * | 2010-04-09 | 2011-10-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction |
FR2961980A1 (fr) | 2010-06-24 | 2011-12-30 | France Telecom | Controle d'une boucle de retroaction de mise en forme de bruit dans un codeur de signal audionumerique |
CA3160488C (en) | 2010-07-02 | 2023-09-05 | Dolby International Ab | Audio decoding with selective post filtering |
CA2806000C (en) * | 2010-07-20 | 2016-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an optimized hash table |
KR101676477B1 (ko) * | 2010-07-21 | 2016-11-15 | 삼성전자주식회사 | 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법 |
US9082416B2 (en) | 2010-09-16 | 2015-07-14 | Qualcomm Incorporated | Estimating a pitch lag |
US8738385B2 (en) | 2010-10-20 | 2014-05-27 | Broadcom Corporation | Pitch-based pre-filtering and post-filtering for compression of audio signals |
EP2676266B1 (en) | 2011-02-14 | 2015-03-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Linear prediction based coding scheme using spectral domain noise shaping |
US9270807B2 (en) | 2011-02-23 | 2016-02-23 | Digimarc Corporation | Audio localization using audio signal encoding and recognition |
KR101767175B1 (ko) | 2011-03-18 | 2017-08-10 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 오디오 코딩에서의 프레임 요소 길이 전송 |
RU2606552C2 (ru) | 2011-04-21 | 2017-01-10 | Самсунг Электроникс Ко., Лтд. | Устройство для квантования коэффициентов кодирования с линейным предсказанием, устройство кодирования звука, устройство для деквантования коэффициентов кодирования с линейным предсказанием, устройство декодирования звука и электронное устройство для этого |
WO2012152764A1 (en) | 2011-05-09 | 2012-11-15 | Dolby International Ab | Method and encoder for processing a digital stereo audio signal |
FR2977439A1 (fr) | 2011-06-28 | 2013-01-04 | France Telecom | Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard. |
US9363339B2 (en) * | 2011-07-12 | 2016-06-07 | Hughes Network Systems, Llc | Staged data compression, including block level long range compression, for data streams in a communications system |
FR2977969A1 (fr) | 2011-07-12 | 2013-01-18 | France Telecom | Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee |
JP5600822B2 (ja) | 2012-01-20 | 2014-10-08 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 正弦波置換を用いた音声符号化および復号化のための装置および方法 |
EP2834814B1 (en) | 2012-04-05 | 2016-03-02 | Huawei Technologies Co., Ltd. | Method for determining an encoding parameter for a multi-channel audio signal and multi-channel audio encoder |
US20130282372A1 (en) | 2012-04-23 | 2013-10-24 | Qualcomm Incorporated | Systems and methods for audio signal processing |
US9026451B1 (en) | 2012-05-09 | 2015-05-05 | Google Inc. | Pitch post-filter |
WO2013183977A1 (ko) | 2012-06-08 | 2013-12-12 | 삼성전자 주식회사 | 프레임 에러 은닉방법 및 장치와 오디오 복호화방법 및 장치 |
GB201210373D0 (en) * | 2012-06-12 | 2012-07-25 | Meridian Audio Ltd | Doubly compatible lossless audio sandwidth extension |
FR2992766A1 (fr) | 2012-06-29 | 2014-01-03 | France Telecom | Attenuation efficace de pre-echos dans un signal audionumerique |
CN102779526B (zh) | 2012-08-07 | 2014-04-16 | 无锡成电科大科技发展有限公司 | 语音信号中基音提取及修正方法 |
US9406307B2 (en) | 2012-08-19 | 2016-08-02 | The Regents Of The University Of California | Method and apparatus for polyphonic audio signal prediction in coding and networking systems |
US9293146B2 (en) | 2012-09-04 | 2016-03-22 | Apple Inc. | Intensity stereo coding in advanced audio coding |
CN107731237B (zh) | 2012-09-24 | 2021-07-20 | 三星电子株式会社 | 时域帧错误隐藏设备 |
CN103714821A (zh) | 2012-09-28 | 2014-04-09 | 杜比实验室特许公司 | 基于位置的混合域数据包丢失隐藏 |
US9401153B2 (en) | 2012-10-15 | 2016-07-26 | Digimarc Corporation | Multi-mode audio recognition and auxiliary data encoding and decoding |
US9318116B2 (en) | 2012-12-14 | 2016-04-19 | Disney Enterprises, Inc. | Acoustic data transmission based on groups of audio receivers |
EP2757558A1 (en) * | 2013-01-18 | 2014-07-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Time domain level adjustment for audio signal decoding or encoding |
FR3001593A1 (fr) | 2013-01-31 | 2014-08-01 | France Telecom | Correction perfectionnee de perte de trame au decodage d'un signal. |
EP3125239B1 (en) | 2013-02-05 | 2019-07-17 | Telefonaktiebolaget LM Ericsson (publ) | Method and appartus for controlling audio frame loss concealment |
TWI530941B (zh) | 2013-04-03 | 2016-04-21 | 杜比實驗室特許公司 | 用於基於物件音頻之互動成像的方法與系統 |
MX352092B (es) | 2013-06-21 | 2017-11-08 | Fraunhofer Ges Forschung | Aparato y método para mejorar el ocultamiento del libro de códigos adaptativo en la ocultación similar a acelp empleando una resincronización de pulsos mejorada. |
EP2830064A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection |
EP2830055A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Context-based entropy coding of sample values of a spectral envelope |
CN111009249B (zh) | 2013-10-18 | 2021-06-04 | 弗劳恩霍夫应用研究促进协会 | 编码器/解码器、编码/解码方法和非瞬时性存储介质 |
US9906858B2 (en) | 2013-10-22 | 2018-02-27 | Bongiovi Acoustics Llc | System and method for digital signal processing |
ES2755166T3 (es) | 2013-10-31 | 2020-04-21 | Fraunhofer Ges Forschung | Decodificador de audio y método para proporcionar una información de audio decodificada usando una ocultación de error que modifica una señal de excitación de dominio de tiempo |
BR112016009563B1 (pt) | 2013-10-31 | 2021-12-21 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Extensão de largura de banda de áudio através da inserção de ruído temporal pré- formado no domínio de frequência |
MX356164B (es) * | 2013-11-13 | 2018-05-16 | Fraunhofer Ges Forschung | Codificador para codificar una señal de audio, sistema de audio de transmisión y método para determinar valores de corrección. |
KR102625143B1 (ko) * | 2014-02-17 | 2024-01-15 | 삼성전자주식회사 | 신호 부호화방법 및 장치와 신호 복호화방법 및 장치 |
GB2524333A (en) | 2014-03-21 | 2015-09-23 | Nokia Technologies Oy | Audio signal payload |
ES2827278T3 (es) | 2014-04-17 | 2021-05-20 | Voiceage Corp | Método, dispositivo y memoria no transitoria legible por ordenador para codificación y decodificación predictiva linealde señales sonoras en la transición entre tramas que tienen diferentes tasas de muestreo |
US9396733B2 (en) * | 2014-05-06 | 2016-07-19 | University Of Macau | Reversible audio data hiding |
NO2780522T3 (pt) | 2014-05-15 | 2018-06-09 | ||
EP2963645A1 (en) | 2014-07-01 | 2016-01-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Calculator and method for determining phase correction data for an audio signal |
US9685166B2 (en) | 2014-07-26 | 2017-06-20 | Huawei Technologies Co., Ltd. | Classification between time-domain coding and frequency domain coding |
EP2980796A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for processing an audio signal, audio decoder, and audio encoder |
EP2980799A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing an audio signal using a harmonic post-filter |
EP3176781A4 (en) | 2014-07-28 | 2017-12-27 | Samsung Electronics Co., Ltd. | Method and apparatus for packet loss concealment, and decoding method and apparatus employing same |
CN110444219B (zh) | 2014-07-28 | 2023-06-13 | 弗劳恩霍夫应用研究促进协会 | 选择第一编码演算法或第二编码演算法的装置与方法 |
EP2980798A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Harmonicity-dependent controlling of a harmonic filter tool |
EP2988300A1 (en) | 2014-08-18 | 2016-02-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Switching of sampling rates at audio processing devices |
EP3067886A1 (en) | 2015-03-09 | 2016-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal |
WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
US10296959B1 (en) | 2015-03-30 | 2019-05-21 | Audible, Inc. | Automated recommendations of audio narrations |
US9886963B2 (en) | 2015-04-05 | 2018-02-06 | Qualcomm Incorporated | Encoder selection |
US10049684B2 (en) | 2015-04-05 | 2018-08-14 | Qualcomm Incorporated | Audio bandwidth selection |
JP6422813B2 (ja) | 2015-04-13 | 2018-11-14 | 日本電信電話株式会社 | 符号化装置、復号装置、これらの方法及びプログラム |
US9978400B2 (en) * | 2015-06-11 | 2018-05-22 | Zte Corporation | Method and apparatus for frame loss concealment in transform domain |
US9837089B2 (en) | 2015-06-18 | 2017-12-05 | Qualcomm Incorporated | High-band signal generation |
US10847170B2 (en) | 2015-06-18 | 2020-11-24 | Qualcomm Incorporated | Device and method for generating a high-band signal from non-linearly processed sub-ranges |
KR20170000933A (ko) | 2015-06-25 | 2017-01-04 | 한국전기연구원 | 시간 지연 추정을 이용한 풍력 터빈의 피치 제어 시스템 |
US9830921B2 (en) | 2015-08-17 | 2017-11-28 | Qualcomm Incorporated | High-band target signal control |
EP3343558A2 (en) | 2015-09-04 | 2018-07-04 | Samsung Electronics Co., Ltd. | Signal processing methods and apparatuses for enhancing sound quality |
US9978381B2 (en) | 2016-02-12 | 2018-05-22 | Qualcomm Incorporated | Encoding of multiple audio signals |
US10219147B2 (en) | 2016-04-07 | 2019-02-26 | Mediatek Inc. | Enhanced codec control |
US10283143B2 (en) | 2016-04-08 | 2019-05-07 | Friday Harbor Llc | Estimating pitch of harmonic signals |
CN107103908B (zh) | 2017-05-02 | 2019-12-24 | 大连民族大学 | 复调音乐多音高估计方法及伪双谱在多音高估计中的应用 |
-
2017
- 2017-11-10 WO PCT/EP2017/078959 patent/WO2019091576A1/en active Application Filing
-
2018
- 2018-11-08 SG SG11202004285TA patent/SG11202004285TA/en unknown
- 2018-11-08 CA CA3082282A patent/CA3082282C/en active Active
- 2018-11-08 MX MX2020004768A patent/MX2020004768A/es unknown
- 2018-11-08 MX MX2020004770A patent/MX2020004770A/es unknown
- 2018-11-08 BR BR122020009464-8A patent/BR122020009464A2/pt unknown
- 2018-11-08 CA CA3148999A patent/CA3148999C/en active Active
- 2018-11-08 RU RU2020119054A patent/RU2767286C2/ru active
- 2018-11-08 EP EP23218359.0A patent/EP4336502A3/en active Pending
- 2018-11-08 TW TW107139705A patent/TWI758556B/zh active
- 2018-11-08 RU RU2020120256A patent/RU2769218C2/ru active
- 2018-11-08 JP JP2020526094A patent/JP7104785B2/ja active Active
- 2018-11-08 BR BR122020009462-1A patent/BR122020009462A2/pt unknown
- 2018-11-08 WO PCT/EP2018/080698 patent/WO2019092155A1/en active Application Filing
- 2018-11-08 KR KR1020207016503A patent/KR102492557B1/ko active IP Right Grant
- 2018-11-08 KR KR1020207016424A patent/KR102492554B1/ko active IP Right Grant
- 2018-11-08 PL PL18796482.0T patent/PL3707710T3/pl unknown
- 2018-11-08 CN CN201880085999.0A patent/CN111656443B/zh active Active
- 2018-11-08 MX MX2020004772A patent/MX2020004772A/es unknown
- 2018-11-08 AU AU2018365309A patent/AU2018365309B2/en active Active
- 2018-11-08 CN CN202010749863.4A patent/CN111933159B/zh active Active
- 2018-11-08 SG SG11202004279TA patent/SG11202004279TA/en unknown
- 2018-11-08 BR BR112020009325-4A patent/BR112020009325A2/pt unknown
- 2018-11-08 SG SG11202004287YA patent/SG11202004287YA/en unknown
- 2018-11-08 KR KR1020207016504A patent/KR102492558B1/ko active IP Right Grant
- 2018-11-08 CN CN202010749865.3A patent/CN111933160B/zh active Active
- 2018-11-08 CA CA3148963A patent/CA3148963A1/en active Pending
- 2018-11-08 EP EP18796482.0A patent/EP3707710B1/en active Active
- 2018-11-08 EP EP23218364.0A patent/EP4336503A3/en active Pending
- 2018-11-08 ES ES18796482T patent/ES2972210T3/es active Active
- 2018-11-08 RU RU2020120251A patent/RU2769255C2/ru active
- 2018-11-09 AR ARP180103274A patent/AR113482A1/es active IP Right Grant
-
2020
- 2020-05-08 US US16/870,396 patent/US11386909B2/en active Active
- 2020-05-08 US US16/870,361 patent/US11380339B2/en active Active
- 2020-05-08 US US16/870,419 patent/US11315583B2/en active Active
- 2020-05-10 AU AU2020203074A patent/AU2020203074B2/en active Active
- 2020-05-10 AU AU2020203075A patent/AU2020203075B2/en active Active
- 2020-06-09 ZA ZA2020/03441A patent/ZA202003441B/en unknown
- 2020-07-08 ZA ZA2020/04583A patent/ZA202004583B/en unknown
- 2020-07-08 ZA ZA2020/04584A patent/ZA202004584B/en unknown
- 2020-07-10 JP JP2020118838A patent/JP7104749B2/ja active Active
- 2020-07-10 JP JP2020118837A patent/JP7277065B2/ja active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112020009325A2 (pt) | codificadores de áudio, decodificadores de áudio, métodos e programas de computador que adaptam uma codificação e decodificação de bits menos significativos | |
AU2018260836B2 (en) | Encoder, decoder, system and methods for encoding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B350 | Update of information on the portal [chapter 15.35 patent gazette] | ||
B06W | Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette] |