BR112016008117B1 - Codificação de coeficientes espectrais de um espectro de um sinal de áudio - Google Patents

Codificação de coeficientes espectrais de um espectro de um sinal de áudio Download PDF

Info

Publication number
BR112016008117B1
BR112016008117B1 BR112016008117-0A BR112016008117A BR112016008117B1 BR 112016008117 B1 BR112016008117 B1 BR 112016008117B1 BR 112016008117 A BR112016008117 A BR 112016008117A BR 112016008117 B1 BR112016008117 B1 BR 112016008117B1
Authority
BR
Brazil
Prior art keywords
spectral
spectrum
decoder
coefficient
decoded
Prior art date
Application number
BR112016008117-0A
Other languages
English (en)
Other versions
BR112016008117A2 (pt
Inventor
Guillaume Fuchs
Matthias Neusinger
Markus Multrus
Stefan DOEHLA
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Publication of BR112016008117A2 publication Critical patent/BR112016008117A2/pt
Publication of BR112016008117B1 publication Critical patent/BR112016008117B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders

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

codificação de coeficientes espectrais de um espectro de um sinal de áudio. uma eficiência de codificação para codificar coeficientes espectrais de um espectro de um sinal de áudio é aumentada codificando/descodificando um coeficiente espectral que está por ser codificado/descodificado através da codificação/descodificação entrópica e, ao fazê-lo, realiza a codificação/descodificação entrópica dependendo, de um modo adaptativo do contexto, de um coeficiente espectral anteriormente codificado/descodificado, enquanto ajusta uma distância espectral relativa entre o coeficiente espectral previamente codificado/descodificado e o coeficiente espectral atualmente codificado/descodificado dependendo de uma informação relativa a uma forma do espectro. a informação relativa à forma do espectro pode compreender uma medida de um pitch ou periodicidade do sinal de áudio, uma medida de uma distância inter-harmônica do espectro do sinal de áudio e/ou localizações relativas dos formantes e/ou vales de um envelope espectral do espectro, e com base neste conhecimento, a vizinhança espectral que é explorada para formar o contexto dos coeficientes espectrais que estão por ser codificados/descodificados pode ser adaptada à forma do espectro assim determinada, melhorando assim a eficiência de codificação entrópica.

Description

[001] O presente pedido dedica-se a um esquema de codificação para coeficientes espectrais de um espectro de um sinal de áudio que pode ser usado em, por exemplo, vários codecs de áudio com base na transformação.
[002] A codificação aritmética com base no contexto é um modo eficiente para codificar sem ruído os coeficientes espectrais de um codificador com base na transformação [1]. O contexto explora a informação mútua entre um coeficiente espectral e os coeficientes já codificados que se encontram na sua vizinhança. O contexto está disponível tanto do lado do codificador como do lado do decodificador e não precisa de qualquer informação extra para ser transmitido. Deste modo, a codificação entrópica com base no contexto tem o potencial de fornecer um ganho maior em relação à codificação entrópica sem memória. No entanto, na prática, o design do contexto é seriamente limitado devido, entre outras coisas, aos requisitos de memória, à complexidade computacional e à robustez relativamente a erros de canal. Estas limitações limitam a eficiência da codificação entrópica com base no contexto e engendram um ganho de codificação mais baixo especialmente para sinais tonais onde o contexto tem de ser também limitado para explorar a estrutura harmónica do sinal.
[003] Além disso, na codificação baseada em transformação de áudio de atraso baixo, as janelas de sobreposição são usadas para diminuir o atraso algorítmico. Como consequência direta, a fuga no MDCT é importante para sinais tonais e resulta em um maior ruído de quantização. Os sinais tonais podem ser manuseados pela combinação da transformação com previsão no domínio de frequência tal como é feito para MPEG2/4-AAC [2] ou com uma previsão no domínio do tempo [3].
[004] Seria favorável ter um conceito de codificação à mão que aumenta a eficiência de codificação. Correspondentemente, é um objeto da presente invenção fornecer um conceito de codificação para coeficientes espectrais de um espectro de um sinal de áudio que aumenta a eficiência de codificação. Este objetivo é conseguido pela matéria das reivindicações independentes anexas.
[005] Uma descoberta básica do presente pedido é que a eficiência de codificar coeficientes espectrais de um espectro de um sinal de áudio pode ser aumentada codificando/descodificando um coeficiente espectral que está por ser codificado/descodificado através da codificação/descodificação entrópica e, ao fazê-lo, realiza a codificação/descodificação entrópica dependendo, de um modo adaptativo do contexto, de um coeficiente espectral anteriormente codificado/descodificado, enquanto ajusta uma distância espectral relativa entre o coeficiente espectral previamente codificado/descodificado e o coeficiente espectral atualmente codificado/descodificado dependendo de uma informação relativa a uma forma do espectro. A informação relativa à forma do espectro pode compreender uma medida de um pitch ou periodicidade do sinal de áudio, uma medida de uma distância inter-harmônica do espectro do sinal de áudio e/ou relativas localizações dos formantes e/ou vales de um envelope espectral do espectro, e com base neste conhecimento, a vizinhança espectral que é explorada para formar o contexto dos coeficientes espectrais que estão por ser codificados/descodificados pode ser adaptada à forma do espectro assim determinada, melhorando assim a eficiência de codificação entrópica.
[006] As implementações vantajosas, que são o objeto das reivindicações dependentes e dos modelos privilegiados do presente pedido, são descritas em mais detalhe abaixo relativamente às figuras, em que:
[007] a Fig. 1 mostra um diagrama esquemático que ilustra um codificador de coeficiente espectral e o seu modo de operação na codificação dos coeficientes espectral de um espectro de um sinal de áudio;
[008] a Fig. 2 mostra um diagrama esquemático que ilustra um decodificador de coeficiente espectral adaptado ao codificador de coeficiente espectral da Fig. 1;
[009] a Fig. 3 mostra um diagrama de bloco de uma possível estrutura interna do codificador de coeficiente espectral da Fig. 1 de acordo com um modelo;
[010] a Fig. 4 mostra um diagrama de bloco de uma possível estrutura interna do decodificador de coeficiente espectral da Fig. 2 de acordo com um modelo;
[011] a Fig. 5 indica esquematicamente um gráfico de um espectro, cujos coeficientes devem ser codificados/descodificados para ilustrar a adaptação da distância espectral relativa dependendo de uma medida de um pitch ou periodicidade do sinal de áudio ou de uma medida da distância inter- harmônica;
[012] a Fig. 6 mostra um diagrama esquemático que ilustra um espectro, cujos coeficientes espectrais devem ser codificados/descodificados de acordo com um modelo em que o espectro é espectralmente modulado de acordo com um filtro de síntese ponderado perceptualmente com base em LP, nomeadamente o seu inverso, com a ilustração da adaptação da distância espectral relativa dependendo de uma medida de distância inter-formante de acordo com um modelo;
[013] a Fig. 7 ilustra esquematicamente uma parte do espectro para ilustrar o modelo do contexto à volta do coeficiente espectral que está por codificar/decodificar e a adaptação da expansão espectral dos modelos do contexto dependendo da informação sobre a forma do espectro de acordo com um modelo;
[014] a Fig. 8 mostra um diagrama esquemático que ilustra o mapeamento a partir do um ou mais valores dos coeficientes espectrais de referência do modelo do contexto 81 que usam uma informação escalar para derivar a estimativa da distribuição da probabilidade a usar para a codificação/descodificação do atual coeficiente espectral de acordo com um modelo;
[015] a Fig. 9a ilustra esquematicamente a utilização da sinalização implícita para sincronizar a adaptação da distância espectral relativa entre codificador e decodificador;
[016] a Fig. 9b ilustra um diagrama esquemático que ilustra a utilização da sinalização explícita para sincronizar a adaptação da distância espectral relativa entre codificador e decodificador;
[017] a Fig. 10a mostra um diagrama de bloco de um codificador de áudio baseado em transformação acordo com um modelo,
[018] a Fig. 10b mostra um diagrama de bloco de um decodificador de áudio baseado em transformação adaptado ao codificador da Fig. 10a;
[019] a Fig. 11a mostra um diagrama de bloco de um codificador de áudio baseado em transformação que usa a modulação espectral do domínio da frequência acordo com um modelo;
[020] a Fig. 11b mostra um diagrama de bloco de um decodificador de áudio baseado em transformação adaptado ao codificador da Fig. 11a;
[021] a Fig. 12a mostra um diagrama de bloco de um codificador de áudio de excitação codificado em transformação baseado em previsão acordo com um modelo;
[022] a Fig. 12b mostra um decodificador de áudio de excitação codificado em transformação baseado em previsão linear adaptado ao codificador da Fig. 12a;
[023] a Fig. 13 mostra um diagrama de bloco de um codificador de áudio baseado em transformação acordo com outro modelo;
[024] a Fig. 14 mostra um diagrama de bloco de um decodificador de áudio baseado em transformação adaptado ao modelo da Fig. 13;
[025] a Fig. 15 mostra um diagrama esquemática que ilustra um contexto convencional ou modelo de contexto que cobre a vizinhança de um coeficiente espectral que está por codificar/decodificar;
[026] as Figs. 16a-c mostram configurações do modelo do contexto modificado ou um contexto mapeado de acordo com modelos do presente pedido;
[027] a Fig. 17 ilustra esquematicamente um gráfico de um espectro harmónico para ilustrar a vantagem da utilização do contexto mapeado de qualquer uma das Figs. 16a a 16c sobre a definição do modelo do contexto da Fig. 15 para um espectro harmónico;
[028] a Fig. 18 mostra um fluxograma de um algoritmo par otimização da distância espectral relativa D para o mapeamento do contexto de acordo com um modelo.
[029] A Fig. 1 mostra um codificador de coeficiente espectral 10 de acordo com um modelo. O codificador está configurado para codificar coeficientes espectrais de um espectro de um sinal de áudio. A Fig. 1 ilustra espectros sequenciais na forma de um espectrograma 12. Para ser mais preciso, os coeficientes espectrais 14 são ilustrados como caixas espectrotemporalmente dispostas ao longo de um eixo temporal t e um eixo de frequência f. Enquanto seria possível que a resolução espectrotemporal se mantenha constante, a Fig. 1 ilustra que a resolução espectrotemporal pode variar ao longo do tempo com um instante de tempo desses ilustrado na Fig. 1 com 16. Este espectrograma 12 pode ser o resultado de uma transformação de decomposição espectral aplicada ao sinal de áudio 18 em diferentes instantes de tempo, tal como uma transformação mapeada, tal como por exemplo uma transformação criticamente amostrada, tal como um MDCT ou uma outra transformação amostrada criticamente de valor real. Até agora, o espectrograma 12 pode ser recebido por codificador de coeficiente espectral 10 na forma de um espectro 20 que consiste de uma sequência de coeficientes de transformação, pertencendo cada um ao mesmo instante de tempo. Os espectros 20 representam, assim, pedaços espectrais do espectrograma e são ilustrados na Fig. 1 como colunas individuais do espectrograma 12. Cada espectro é composto por uma sequência de coeficientes de transformação 14 e tem sido derivado de um correspondente quadro de tempo 22 do sinal de áudio 18 que usa, por exemplo, alguma função da janela 24. Em particular, os quadros de tempo 22 estão sequencialmente dispostos nas instâncias de tempo anteriormente mencionadas e estão associados à sequência temporal dos espectros 20. Eles podem, conforme ilustrado na Fig. 1, sobreporem-se uns aos outros, tal como podem as correspondentes janelas de transformação 24. Isto é, tal como é aqui usado, “espectro” denota coeficientes espectrais que pertencem ao mesmo instante de tempo e, assim, é uma decomposição de frequência. “Espectrograma” é uma decomposição tempo-frequência feita de espectros consecutivos, sendo “Espectros” o plural de espectro. Por vezes, porém, “espectro” é usado como sinónimo de espectrograma. “coeficiente de transformação” é usado como sinónimo de “coeficiente espectral”, se o sinal original estiver no domínio do tempo e transformação for uma transformação de frequência.
[030] Tal como foi delineado, o codificador do coeficientes espectral 10 é para codificar os coeficientes espectrais 14 o espectrograma 12 do sinal de áudio 18 e, para esse efeito, o codificador pode, por exemplo, aplicar uma ordem de codificação/descodificação predeterminada que atravessa, por exemplo, os coeficientes espectrais 14 ao longo de um caminho espectrotemporal que, por exemplo, analisa os coeficientes espectrais 14 espectralmente da frequência baixa para alta dentro de um espectro 20 e depois continua com os coeficientes espectrais do espectro temporalmente sucessor 20 conforme delineado na Fig. 1 em 26.
[031] De um modo delineado em mais detalhe abaixo, o codificador 10 está configurado para codificar um coeficiente espectral que está por codificar, indicado usando uma pequena cruz na Fig. 1, através da codificação entrópica dependendo, de um modo adaptativo do contexto, de um ou mais coeficientes espectrais anteriormente codificados, indicados a título de exemplo usando um pequeno círculo na Fig. 1. Em particular, o codificador 10 está configurado para ajustar uma distância espectral relativa entre o coeficiente espectral anteriormente codificado e o coeficiente espectral atualmente codificado dependendo de uma informação relativa a uma forma do espectro. Relativamente à dependência e informação sobre a forma do espectro, são definidos detalhes a seguir juntamente com considerações sobre as vantagens resultantes da adaptação da distância espectral relativa 28 dependendo da informação acabada de mencionar.
[032] Por outras palavras, o codificador de coeficientes espectral 10 codificar os coeficientes espectrais 14 sequencialmente em um fluxo de dados 30. Tal como será delineado em mais detalhe abaixo, o codificador de coeficiente espectral 10 pode fazer parte de um codificador baseado em transformação que, adicionalmente aos coeficientes espectrais 14, codifica para o fluxo de dados 30 mais informação de modo a que o fluxo de dados 30 permita uma reconstrução do sinal de áudio 18.
[033] A Fig. 2 mostra um decodificador de coeficiente espectral 40 adaptado ao codificador de coeficiente espectral 10 da Fig. 1. A funcionalidade do decodificador de coeficiente espectral 40 é substancialmente uma inversão do codificador de coeficiente espectral 10 da Fig. 1: o decodificador de coeficiente espectral 40 descodifica os coeficientes espectrais 14 do espectro 12 usando, por exemplo, a ordem de descodificação 26 sequencialmente. Ao decodificar um coeficiente espectral que está por decodificar, indicado a título de exemplo usando a pequena cruz na Fig. 2 através da descodificação entrópica, o decodificador de coeficiente espectral 40 realiza a descodificação entrópica dependendo, de um modo adaptativo do contexto, de um ou mais coeficientes espectrais anteriormente descodificados também indicados por um pequeno círculo na Fig. 2. Ao fazê-lo, o decodificador de coeficiente espectral 40 ajusta a distância espectral relativa 28 entre o coeficiente espectral anteriormente descodificado e o coeficiente espectral que está por decodificar dependendo da informação anteriormente mencionada relativa à forma do espectro 12. Do mesmo modo indicado acima, o decodificador de coeficiente espectral 40 pode fazer parte de um decodificador baseado em transformação configurado para reconstruir o sinal de áudio 18 a partir do fluxo de dados 30, a partir do qual o decodificador de coeficiente espectral 40 descodifica os coeficientes espectrais 14 usando descodificação entrópica. O último decodificador baseado em transformação pode, como parte da reconstrução, sujeitar o espectro 12 a uma transformação inversa, tal como por exemplo uma transformação sobreposta inversa, que por exemplo resulta em uma reconstrução da sequência de quadros de tempo de janelas sobrepostas 22 que, através de um processo de sobreposição e adição, remove por exemplo o efeito de escada resultante da transformação de decomposição espectral.
[034] Tal como será descrito em mais detalhe abaixo, as vantagens resultantes do ajuste da distância espectral relativa 28 dependendo da informação sobre a forma do espectro 12 baseia-se na capacidade de melhorar a estimativa da distribuição da probabilidade usada para a codificação/descodificação entrópica do atual coeficiente espectral x. Quanto melhor a estimativa da distribuição da probabilidade, maior é a eficiência da codificação entrópica, isto é, é mais comprimida. A “estimativa da distribuição da probabilidade” é uma estimativa da atual distribuição da probabilidade do atual coeficiente espectral 14, isto é uma função que atribui uma probabilidade a cada valor de um domínio de valores que o coeficiente espectral atual 14 pode assumir. Devido à dependência da adaptação da distância 28 da forma do espectro 12, a estimativa da distribuição da probabilidade pode ser determinada de modo a corresponder mais à atual distribuição da probabilidade, uma vez que a exploração da informação da forma do espectro 12 permite derivar a estimativa da distribuição da probabilidade a partir de uma vizinhança espectral do atual coeficiente espectral x que permite uma estimativa mais precisa da distribuição da probabilidade do atual coeficiente espectral x. Detalhes neste sentido são apresentados abaixo juntamente com exemplos da informação sobre a forma do espectro 12.
[035] Antes de proceder com exemplos específicos da informação acima mencionada sobre a forma do espectro 12, as Figs. 3 e 4 mostram possíveis estruturas internas do codificador de coeficiente espectral 10 e do decodificador de coeficiente espectral 40, respetivamente. Em particular, tal como se pode ver na Fig. 3, o codificador de coeficiente espectral 10 pode ser composto por um derivador da distribuição de probabilidade 42 e um motor de codificação entrópica 44, em que, de igual modo, o decodificador de coeficiente espectral 40 pode ser composto de um derivador da estimativa da distribuição de probabilidade 52 e um motor de descodificação entrópica 54. Os derivadores da estimativa da distribuição da probabilidade 42 e 52 operam do mesmo modo: eles derivam, com base no valor do um ou mais coeficientes espectrais anteriormente descodificados/codificados “o”, a estimativa da distribuição da probabilidade 56 para decodificar/codificar entropicamente o coeficiente espectral atual x. Em particular, o motor de codificação/descodificação entrópica 44/54 recebe a estimativa da distribuição da probabilidade do derivador 42/52 e realiza a codificação/descodificação entrópica relativamente ao coeficiente espectral atual x correspondentemente.
[036] O motor de codificação/descodificação entrópica 44/54 pode usar, por exemplo, uma codificação de comprimento variável, tal como a codificação Huffman para codificar/decodificar o coeficiente espectral atual x e relativamente a isto, o motor 44/54 pode usar diferentes tabelas VLC (codificação de comprimento variável) para diferentes estimativas da distribuição de probabilidade 56. Em alternativa, o motor 44/54 pode usar a codificação/descodificação aritmética relativamente ao coeficiente espectral atual x com a estimativa da distribuição da probabilidade 56 que controla a subdivisão do intervalo da probabilidade do atual intervalo de probabilidade que representa o estado interno dos motores de codificação/descodificação aritmética 44/54, sendo cada intervalo parcial atribuído a um possível valor diferente fora da faixa de valores que pode ser assumido pelo coeficiente espectral atual x. Tal como será delineado em mais detalhe abaixo, o motor de codificação entrópica e o moto de descodificação entrópica 44 e 54 podem usar um mecanismo de escape para mapear a faixa de valores geral do coeficiente espectral 14 para um intervalo de valor inteiro limitado, isto é, a faixa pretendida, tal como [0...2N-1]. O conjunto de valores inteiros na faixa pretendida, isto é {0,...,2N-1} define, juntamente com um símbolo de escape {esc}, o alfabeto de símbolos do motor de codificação/descodificação aritmética 44/54, isto é, {0,.,2N-1, esc}. Por exemplo, o motor de codificação entrópica 44 sujeita o coeficiente espectral de entrada x a uma divisão por 2 as vezes necessárias, se for o caso, para colocar o coeficiente espectral x no intervalo pretendido anteriormente mencionado [0.2N-1] com, para cada divisão, codificação do símbolo de escape no fluxo de dados 30, seguido pela codificação aritmética do resto da divisão - ou o valor espectral original no caso de não ser necessária nenhuma divisão - para o fluxo de dados 30. O motor de descodificação entrópica 54, por sua vez, implementa o mecanismo de escape do seguinte modo: iria decodificar um coeficiente de transformação atual x a partir do fluxo de dados 30 como uma sequência de 0, 1 ou mais símbolos de escape esc seguidos por um símbolo de não-escape, isto é, como as sequências {a}, {esc, a}, {esc, esc, a}, ., com “a” a indicar o símbolo de não- escape. O motor de descodificação entrópica 54 iria, através da descodificação aritmética do símbolo de não-escape, obter um valor a dentro o intervalo pretendido [0.2N-1], por exemplo, e iria derivar o valor do coeficiente de x calculando o atual valor do coeficiente espectral para ser igual a a + 2 vezes o número de símbolos de escape.
[037] Existem diferentes possibilidades relativamente ao uso da estimativa da distribuição da probabilidade 56 e à aplicação do mesmo na sequência de símbolos usados para representar o atual coeficiente espectral x: a estimativa da distribuição da probabilidade pode, por exemplo, ser aplicada a qualquer símbolo transportado dentro do fluxo de dados 30 para o coeficiente espectral x, isto é, o símbolo de não-escape, assim como, o símbolo de escape, se houver. Em alternativa, a estimativa da distribuição da probabilidade 56 é meramente usada para o primeiro ou os dois primeiros ou o primeiro n<N da sequência de 0 ou mais símbolos de escape seguidos pelo símbolo de não- escape que usa, por exemplo, alguma estimativa da distribuição da probabilidade predefinida para qualquer uma subsequente da sequência de símbolos, tal como uma distribuição de probabilidade igual.
[038] A Fig. 5 mostra um espectro 20 exemplificativo do espectrograma 12. Em particular, a magnitude dos coeficientes espectrais estão representados na Fig. 5 em unidade arbitrária ao longo do eixo y, em que o eixo horizontal x corresponde à frequência em unidade arbitrária. Tal como já foi mencionado, o espectro 20 na Fig. 5 corresponde a um pedaço espectral por cima do espectrograma do sinal de áudio em um certo instante de tempo, em que o espectrograma 12 é composto de uma sequência desse tipo de espectros 20. A Fig. 5 também ilustra a posição espectral de um coeficiente espectral atual x.
[039] Tal como será delineado em mais detalhe abaixo, enquanto o espectro 20 pode ser um espectro não ponderado do sinal de áudio, de acordo com os modelos delineados mais abaixo, por exemplo, o espectro 20 já está perceptualmente ponderado usando uma função de transferência que corresponde ao inverso de uma função do filtro de síntese percentual. No entanto, o presente pedido não se limita ao caso especifico delineado mais abaixo.
[040] Em qualquer caso, a Fig. 5 mostra o espectro 20 com uma certa periodicidade ao longo do eixo de frequência que se manifesta em uma disposição mais ou menos equidistante do máximo e mínimo local no espectro ao longo da direção de frequência. Para efeitos de ilustração apenas, a Fig. 5 mostra uma medida 60 de um pitch ou periodicidade do sinal de áudio conforme definido pela distância espectral entre a máxima local do espectro, entre o qual está posicionado o coeficiente espectral atual x. Naturalmente, a medida 60 pode ser definida e determinada de modo diferente, tal como um pitch médio entre a máxima local e/ou mínima local da distância da frequência equivalente ao máximo atraso de tempo medido na função de auto-correlação do sinal do domínio do tempo 18.
[041] De acordo com um modelo, a medida 60 é a, ou é compreendido pela, informação da forma do espectro. O codificador 10 e decodificador 40 ou, para ser mais preciso, o derivador do estimador da distribuição da probabilidade 42/52 podia, por exemplo, ajustar a distância espectral relativa entre o coeficiente espectral anterior “o” e o coeficiente espectral atual x dependendo da medida 60. Por exemplo, a distância espectral relativa 28 podia ser variada dependendo da medida 60, de modo a que a distância 28 aumenta assim que aumenta medida 60. Por exemplo, podia ser favorável definir a distância 28 de modo a ser igual à medida 60 ou a ser um seu múltiplo inteiro.
[042] Tal como será descrito em mais detalhe abaixo, existem diferentes possibilidades para disponibilizar a informação da forma do espectro 12 ao decodificador. De um modo geral, esta informação, tal como a medida 60, pode ser sinalizada ao decodificador explicitamente com apenas o codificador 10 ou derivador do estimador da distribuição da probabilidade 42 que, na realidade, determina a informação sobre a forma do espectro, ou a determinação da informação sobre a forma do espectro é realizada nos lados do codificador e do decodificador em paralelo com base em uma parte anteriormente descodificada do espectro, ou pode ser deduzida a partir de outra informação já escrita no fluxo de bits.
[043] Usando um termo diferente, a medida 60 podia ser também interpretada como uma “medida da distância inter-harmônica”, uma vez que o máximo local ou colinas anteriormente mencionado no espectro pode formar harmónicos reciprocamente.
[044] A Fig. 6 fornece outro exemplo de uma informação sobre a forma do espectro, com base no qual a distância espectral 28 pode ser ajustada - seja exclusivamente ou juntamente com outra medida, tal como a medida 60, conforme descrito anteriormente. Em particular, a Fig. 6 ilustra o caso exemplificativo em que o espectro 12 representado pelos coeficientes espectrais codificados/descodificados pelo codificador10 e decodificador 40, cujo pedaço espectral apresentado na Fig. 6, é ponderado usando a inversão de uma função de filtro de síntese ponderada perceptualmente. Isto é, o espectro do sinal de áudio original e finalmente reconstruído é apresentado na Fig. 6 com 62. A versão pré-enfatizada é apresentada com 64 em uma linha ponteada. O envelope espectral estimado da previsão linear da versão pré- enfatizada 64 é apresentado com uma linha tracejada 66 e a sua versão perceptualmente modificada, isto é, a função de transferência do filtro da síntese perceptualmente motivada é apresentada na Fig. 6 com 68 usando uma linha tracejada-ponteada. O espectro 12 pode ser o resultado da filtragem da versão pré-enfatizada do espectro do sinal de áudio original 62 com a inversão da função do filtro de síntese ponderada perceptualmente 68. Em qualquer caso, tanto o codificador como o decodificador podem ter acesso ao envelope espectral 66 que, por sua vez, pode ter mais ou menos formantes pronunciados 70 ou vales 72. De acordo com um modelo alternativo do presente pedido, a informação relativa à forma do espectro está pelo menos parcialmente definida com base em localizações relativas destes formantes 70 e/ou vales 72 do envelope espectral 66 do espectro 12. Por exemplo, a distância espectral 74 entre os formantes 70 pode ser usada para definir a distância espectral relativa anteriormente mencionada 28 entre o coeficiente espectral atual x e o coeficiente espectral anterior “o”. Por exemplo, a distância 28 pode ser preferencialmente definida para ser igual à, ou para ser um seu múltiplo inteiro da, distância 74, em que são, porém, também possíveis alternativas.
[045] Em vez de um envelope com base em LP conforme ilustrado na Fig. 6, um envelope espectral também pode ser definido de modo diferente. Por exemplo, o envelope pode ser definido e transmitido no fluxo de dados através de fatores de escala. Podem ser também usados outros métodos para transmitir o envelope.
[046] Graças ao ajuste da distância 28 do modo delineado acima relativamente às Figs. 5 e 6, o valor do coeficiente espectral de “referência” “o” representa uma dica substancialmente melhor para fazer a estimativa da distribuição da probabilidade para o coeficiente espectral atual x do que quando comparado com outros coeficientes espectrais que ficam, por exemplo, espectralmente mais perto do coeficiente espectral atual x. Relativamente a isto, note-se que a modulação do contexto é, na maioria dos casos, um compromisso entre a complexidade de codificação entrópica, por um lado, e a eficiência de codificação, por outro lado. Assim sendo, os modelos descritos até agora sugerem uma adaptação da distância espectral relativa 28 dependendo da informação sobre a forma do espectro, de modo a que, por exemplo, a distância 28 aumente com o aumento da medida 60 e/ou com o aumento da distância inter-formante 74. No entanto, o número de coeficientes anteriores “o,” com base no qual é realizada a adaptação do contexto da codificação/descodificação entrópica, pode ser constante, isto é, pode não aumentar. O número de coeficientes espectrais anteriores “o”, com base no qual é realizada a adaptação do contexto, pode ser por exemplo constante independentemente da variação da informação relativa à forma do espectro. Isto quer dizer que a adaptação da distância espectral relativa 28 no modo acima delineado leva a uma melhor ou mais eficiente codificação/descodificação entrópica sem aumentar significativamente os custos gerais da realização da modulação do contexto. Meramente a própria adaptação da distância espectral 28 aumenta os custos gerais da modulação do contexto.
[047] Para ilustrar a questão acabada de mencionar em mais detalhe, faz- se referência à Fig. 7 que mostra uma parte espectrotemporal fora do espectrograma 12, incluindo a parte espectrotemporal o coeficiente espectral atual 14 por codificar/decodificar. Além isso, a Fig. 7 ilustra um modelo de cinco coeficientes espectrais exemplificativos anteriormente codificados/descodificados “o”, com base no qual é realizada a modulação do contexto para a codificação/descodificação entrópica do coeficiente atual x. O modelo é posicionado no local do coeficiente espectral atual x e indica os coeficientes espectrais de referência vizinhos “o”. Dependendo da informação anteriormente mencionada sobre a forma do espectro, a expansão espectral das posições espectrais destes coeficientes espectrais de referência “o” é adaptada. Isto é ilustrado na Fig. 7 usando uma seta de cabeça dupla 80 e pequenos círculos sombreados, que, a título de exemplo, ilustram as posições dos coeficientes espectrais de referência no caso de, por exemplo, escalonar a expansão espectral das posições espectrais dos coeficientes espectrais de referência dependendo da adaptação 80. Isto é, a Fig. 7 mostra que o número de coeficientes espectrais de referência que contribuem para a modulação do contexto, ou seja, o número de coeficientes espectrais de referência do modelo à volta do coeficiente espectral atual x que identificam os coeficientes espectrais de referência “o”, mantém-se constante independentemente de qualquer variação da informação sobre a forma do espectro. Meramente a distância espectral relativa entre estes coeficientes espectrais de referência e o coeficiente espectral atual é adaptada de acordo com 80, e inerentemente a distância entre os próprios coeficientes espectrais de referência. No entanto, note-se que o número de coeficientes espectrais de referência “o” não é necessariamente mantido constante. De acordo com um modelo, o número de coeficientes espectrais de referência podia aumentar com o aumento da distância espectral relativa. O oposto seria, porém, também possível.
[048] Note-se que a Fig. 7 mostra o caso exemplificativo, em que a modulação do contexto para o coeficiente espectral atual x também envolve coeficientes espectrais anteriormente codificados/descodificados que corresponde a um quadro temporal/espectro anterior. Isto deve ser, porém, também meramente entendido como um exemplo e a dependência desses coeficientes espectrais anteriormente codificados/descodificados temporalmente precedentes pode ser deixada de fora de acordo com outro modelo. A Fig. 8 ilustra como o derivador da estimativa da distribuição da probabilidade 42/52 pode, com base no um ou mais coeficientes espectrais de referência “o”, determinar a estimativa da distribuição da probabilidade para o coeficiente espectral atual. Conforme ilustrado na Fig. 8 e com esta finalidade, o um ou mais coeficientes espectrais de referência “o” podem ser sujeitos a uma função escalar 82. Com base na função escalar, por exemplo, o um ou mais coeficientes espectrais de referência “o” estão mapeados em um índice que indexa a estimativa da distribuição de probabilidade por ser usada para o coeficiente espectral atual x de entre um conjunto de estimativas da distribuição da probabilidade disponível. Tal como já foi mencionado, as estimativas da distribuição da probabilidade disponíveis podem, por exemplo, corresponder a diferentes subdivisões do intervalo de probabilidade para o alfabeto de símbolos no caso da codificação aritmética, ou para diferentes tabelas de codificação de comprimento variável no caso de usar codificação de comprimento variável.
[049] Antes de continuar com a descrição de uma possível integração dos codificadores/decodificadores de coeficientes espectrais acima mencionados em respetivos codificadores/decodificadores com base em transformação, são aqui em baixo discutidas várias possibilidades sobre como os modelos até aqui descritos podiam ser variados. Por exemplo, o mecanismo de escape brevemente delineado acima relativamente às Fig. 3 e Fig. 4 foi escolhido apenas para efeitos de ilustração e pode ser deixado de fora de acordo com um modelo alternativo. No modelo descrito abaixo é usado o mecanismo de escape. Além disso, tal como fica claro com a descrição de mais modelos específicos delineados em baixo, em vez da codificação/descodificação dos coeficientes espectrais individualmente, o mesmo pode ser codificado/descodificado em unidades de n-tuplos, isto é, em unidades n espectralmente e imediatamente vizinhas dos coeficientes espectrais. Nesse caso, a determinação da distância espectral relativa também pode ser determinada em unidades desses n-tuplos, ou em unidades de coeficientes espectrais individuais. Relativamente à função escalar 82 da Fig. 8, note-se que a função escalar pode ser uma função aritmética ou uma operação lógica. Além disso, podem ser tomadas medidas especiais para esses coeficientes escalares de referência “o” que, por exemplo, estão disponíveis devido, por exemplo, ao fato de exceder a faixa de frequência do espectro ou por exemplo por estarem em uma parte do espectro amostrada pelos coeficientes espectrais em uma resolução espectrotemporal diferente da resolução espectrotemporal, na qual o espectro é amostrado no instante de tempo correspondente ao coeficiente espectral atual. Os valores dos valores espectrais de referência indisponíveis “o” podem ser substituído por valores predefinidos, por exemplo, e depois introduzidos na função escalar 82 juntamente com outros coeficientes espectrais de referência (disponíveis). Outro maneira para a codificação/descodificação entrópica trabalhar usando a adaptação da distância espectral delineada acima é a seguinte: por exemplo, o coeficiente espectral atual podia ser sujeito a uma binarização. Por exemplo, o coeficiente espectral x podia ser mapeado para uma sequência de recipientes que são depois entropicamente codificadas usando a adaptação da adaptação da distância espectral relativa. Quando descodifica, os recipientes seriam entropicamente descodificados sequencialmente até encontrar uma sequência de recipientes válida, que pode depois ser remapeada aos respetivos valores do atual coeficiente espectral x.
[050] Além disso, a adaptação do contexto dependendo do um ou mais coeficientes espectrais anteriores “o” podia ser implementada de um modo diferente do que é apresentado na Fig. 8. Em particular, a função escalar 82 podia ser usada para indexar um de entre um conjunto de contextos disponíveis e cada contexto podia ter aí associada uma estimativa da distribuição da probabilidade. Nesse caso, a estimativa da distribuição da probabilidade associada a um certo contexto podia ser adaptada às atuais estatísticas de coeficiente espectral sempre que o coeficiente espectral atualmente codificado/descodificado x tiver sido atribuído ao respetivo contexto, nomeadamente usando o valor deste coeficiente espectral atual x.
[051] Por fim, as Figs. 9a e 9b mostram diferentes possibilidades de como a derivação da informação sobre a forma do espectro pode ser sincronizada entre codificador e decodificador. A Fig. 9a mostra a possibilidade, de acordo com a qual é usada uma sinalização implícita para sincronizar a derivação da informação sobre a forma do espectro entre codificador e decodificador. Aqui, tanto no lado da codificação como do lado da descodificação, a derivação da informação é realizada com base em uma parte anteriormente codificada ou em uma parte anteriormente descodificada do fluxo de bits 30 respetivamente, a derivação no lado de codificação que é indicada usando o sinal de referência 83 e a derivação no lado de descodificação que é indicada usando o sinal de referência 84. Ambas as derivações podem ser realizadas, por exemplo, através dos próprios derivadores 42 e 52.
[052] A Fig. 9b ilustra uma possibilidade, de acordo a qual é usada uma sinalização explícita para transmitir a informação relativa à forma do espectro do codificador para o decodificador. A derivação 83 no lado de codificação podem até envolver uma análise do sinal de áudio original incluindo os seus componentes, que estão, devido à perda de codificação, indisponíveis no lado de descodificação. Em vez disso, a sinalização explícita dentro do fluxo de dados 30 é usada para tornar a informação sobre a forma do espectro disponível no lado de descodificação. Por outras palavras, a derivação 84 no lado de descodificação usa a sinalização explícita dentro do fluxo de dados 30, de modo a obter acesso à informação sobre a forma do espectro. A sinalização explícita 30 pode envolver uma codificação diferenciada. Tal como será delineado em mais detalhe abaixo, por exemplo, o parâmetro do atraso LTP (previsão a longo prazo) já disponível no fluxo de dados 30 para outros efeitos pode ser usado como a informação sobre a forma do espectro. Em alternativa, porém, a sinalização explícita da Fig. 9b pode codificar de modo diferente a medida 60 relativamente a, isto é diferenciadamente a, o parâmetro de atraso LTP já disponível. Muitas outras possibilidades existem para disponibilizar a informação relativa à forma do espectro no lado de descodificação.
[053] Adicionalmente aos modelos alternativos definidos acima, note-se que a codificação/descodificação dos coeficientes espectrais pode, para além da codificação/descodificação entrópica, envolver a previsão espectral e/ou temporal do coeficiente espectral que está por codificar/decodificar. O residual de previsão pode ser depois sujeito à codificação/descodificação entrópica conforme descrito acima.
[054] Depois de ter descrito vários modelos para o codificador e decodificador do coeficiente espectral, passa-se a descrever alguns modelos sobre como os mesmos podem ser vantajosamente integrados em um codificador/decodificador com base em transformação.
[055] A Fig. 10A, por exemplo, mostra um codificador de áudio com base em transformação de acordo com um modelo do presente pedido. O codificador com base em transformação da Fig. 10a é geralmente indicado usando a referência 100 e compreende um computador de espectro 102 seguido pelo codificador de coeficiente espectral 10 da Fig. 1. O computador de espectro 102 recebe o sinal de áudio 18 e calcula com base no mesmo espectro 12, cujos coeficientes espectrais são codificados pelo codificador do coeficiente espectral 10 conforme descrito acima para o fluxo de dados 30. A Fig. 10b mostra a construção do correspondente decodificador 104: o decodificador 104 compreende uma concatenação de um decodificador de coeficiente espectral 40 formado conforme delineado acima, e no caso das Figs. 10a e 10b, o computador de espectro 102 pode, por exemplo, meramente realizar uma transformação sobreposta em um espectro 20 com um computador do domínio espectro para tempo 106 correspondentemente a realizar meramente o seu inverso. O codificador de coeficiente espectral 10 pode ser configurado para codificador sem perdas o espectro de entrada 20. Comparado com isso, o computador do espectro 102 pode introduzir a perda de codificação devido à quantização.
[056] Para formar espectralmente o ruído de quantização, o computador de espectro 102 pode ser incorporado tal como é apresentado na Fig. 11a. Aqui, o espectro 12 é espectralmente modulado usando fatores de escala. Em particular, de acordo com a Fig. 11A, o computador de espectro 102 compreende uma concatenação de um transformador 108 e um modelador espectral 110, entre o qual o transformador 108 sujeita o sinal de áudio de entrada 18 a uma transformação de decomposição espectral para obter um espectro não modulado 112 do sinal de áudio 18, em que o modelador espectral 110 forma espectralmente estes espectro não modulado 112 usando fatores de escala 114 obtidos a partir de um determinador do fator de escala 116 do computador de espectro 102, de modo a obter o espectro 12 que é finalmente codificado pelo codificador de coeficiente espectral 10. Por exemplo, o modelador espectral 110 obtém um fator de escala 114 por banda de fator de escala a partir do determinador do fator de escala 116 e divide cada coeficiente espectral da respetiva banda de fator de escala pelo fator de escala associado à respetiva banda de fator de escala, de modo a receber espectro 12. O determinador do fator de escala 116 pode ser acionado por um modelo percentual para determinar os fatores de escala com base no sinal de áudio 18. E alternativa, o determinador do fator de escala 116 pode determinar os fatores de escala baseados em uma análise de previsão linear, de modo a que os fatores de escala representem uma função de transferência dependendo de um filtro de síntese de previsão linear definido pela informação do coeficiente de previsão linear. A informação do coeficiente de previsão linear 118 é codificada no fluxo de dados 30 juntamente com os coeficientes espectrais do espectro 20 pelo codificador 10. Por razões de exaustividade, a Fig. 11a mostra um quantizador 120 posicionado a jusante do modelador espectral 110 para obter espectro 12 com coeficientes espectrais quantizados que são depois codificados sem perdas pelo codificador de coeficiente espectral 10.
[057] A Fig. 11b mostra um decodificador correspondente ao codificador da Fig. 10a. Aqui, o computador do domínio espectro para tempo 106 compreende um determinador do fator de escala 122 que reconstrói os fatores de escala 114 com base na informação de coeficiente de previsão linear 118 contida no fluxo de dados 30, de modo a que os fatores de escala representem uma função de transferência dependendo de um filtro de síntese de previsão linear definido pela informação de coeficiente de previsão linear 118. O modelador espectral molda espectralmente o espectro 12 conforme descodificado pelo decodificador 40 a partir de dados do fluxo 30 de acordo com fatores de escala 114, isto é, o modelador espectral 124 escala os fatores de escala dentro de cada banda espectral usando o fator de escala da respetiva banda do setor de escala. Assim sendo, na saída do modelador espectral 124, uma reconstrução do espectro não modulado 121 do sinal de áudio 18 resulta e é ilustrada na Fig. 11b por linhas tracejadas, aplicando uma transformação inversa no espectro 112 através de um transformador inverso 126, de modo a que a reconstrução do sinal de áudio 18 no domínio do tempo seja opcional.
[058] A Fig. 12a mostra um modelo mais detalhado do codificador de áudio com base em transformação da Fig. 11a no caso de usar a modulação do espectro com base na previsão linear. Adicionalmente aos componentes apresentados na Fig. 11a, o codificador da Fig. 12a compreende um filtro de pré-ênfase 128 configurado para inicialmente sujeitar o sinal de áudio de entrada 18 a uma filtragem de pré-ênfase. O filtro de pré-ênfase 128 pode, por exemplo, ser implementado como um filtro FIR. A função de transferência d o filtro de pré-ênfase 128 pode, por exemplo, representar uma função de transferência passa-alto. De acordo com um modelo, o filtro de pré-ênfase 128 é incorporado como um filtro passa-alto da ordem n-th, tal como por exemplo um filtro passa-alto na ordem de um com função de transferência H(z) = 1 - αz- 1 em que α é definido, por exemplo, para 0.68. Correspondentemente, na saída do filtro de pré-ênfase 128, resulta uma versão pré-enfatizada 130 do sinal de áudio 18. Além disso, a Fig. 12a mostra um determinador do fator de escala 116 composto por um analisador LP (previsão linear) 132 e um coeficiente de previsão linear para conversor do fator de escala 134. O analisador LPC 132 calcula a informação do coeficiente de previsão linear 118 com base na versão pré-enfatizada do sinal de áudio 18. Assim sendo, os coeficientes da previsão linear da informação 118 representam um envelope espectral baseado na previsão linear do sinal de áudio 18 ou, para ser mais preciso, a sua versão pré-enfatizada 130. O modo de operação do analisador LP 132 pode, por exemplo, envolver janelas do sinal de entrada 130, de modo a obter uma sequência das partes com janelas do sinal 130 para serem analisadas LP, uma determinação de autocorrelação para determinar a autocorrelação de cada parte com janelas e janelas de atraso, que são opcionais, para aplicar uma função de janela de atraso nas autocorrelações. A estimativa do parâmetro de previsão linear pode ser depois realizado nas autocorrelações ou saída da janela de atraso, isto é, as funções de autocorrelação com janelas. A estimativa do parâmetro de previsão linear pode, por exemplo, envolver o desempenho de um algoritmo Wiener-Levinson-Durbin ou outro algoritmo adequado nas autocorrelações (com janelas de atraso) para derivar coeficientes de previsão linear por autocorrelação, isto é, por cada parte com janela do sinal 130. Ou seja, na saída do analisador LP 132, resultam coeficientes LPC 118. O analisador LP 132 pode ser configurado para quantizar os coeficientes de previsão linear para inserção no fluxo de dados 30. A quantização dos coeficientes de previsão linear pode ser realizada noutro domínio que não no domínio do coeficiente de previsão linear, tal como por exemplo, em um par espectral de linha ou domínio de frequência espectral de linha. No entanto, podem ser também utilizados outros algoritmos que não o algoritmo Wiener- Levinson-Durbin.
[059] O coeficiente de previsão linear para o conversor do fator de escala 134 converte os coeficientes de previsão linear em fatores de escala 114. O conversor 134 pode determinar os fatores de escala 140, de modo a fazer corresponder a inversão do filtro de síntese de previsão linear 1/A(z) conforme definido pela informação do coeficiente da previsão linear 118. Em alternativa, o conversor 134 determina o fator de escala para seguir uma modificação perceptualmente motivada deste filtro de síntese de previsão linear, tal como por exemplo, 1/A(y-z) com Y = 0,92 ± 10%, por exemplo. A modificação perceptualmente motivada do filtro de síntese da previsão linear, isto é 1/A(y •z), pode ser chamada de “modelo percentual”.
[060] Para efeitos de ilustração, a Fig. 12a mostra outro elemento que é, no entanto, opcional para o modelo da Fig. 12a. Este elemento é um filtro LTP (previsão a longo prazo) 136 posicionado a montante do transformador 108 para sujeitar o sinal de áudio para previsão a longo prazo. Preferencialmente, o analisador LP 132 opera sobre a versão filtrada da previsão não a longo prazo. Por outras palavras, o filtro LTP 136 realiza uma previsão LTP no sinal de áudio 18 ou a sua versão pré-enfatizada 130, e produz a versão residual LTP 138 para que o transformador 108 realize a transformação no sinal pré- enfatizado e sinal residual previsto LTP 138. O filtro LTP pode, por exemplo, ser implementado como um filtro FIR e o filtro LTP 136 pode ser controlado pelos parâmetros LTP incluindo, por exemplo, um ganho de previsão LTP e um atraso LTP. Ambos os parâmetros LTP 140 são codificados no fluxo de dados 30. O ganho LTP representa, tal como será delineado em mais detalhe abaixo, um exemplo para a medida 60 uma vez que indica um pitch ou periodicidade que iria, sem a filtragem LTP, manifestar-se completamente no espectro 12 e, usando a filtragem LTP, ocorre no espectro 12 a uma intensidade que diminui gradualmente com um grau de redução dependendo do parâmetro de ganho LTP que controla a intensidade da filtragem LTP pelo filtro LTP 136.
[061] A Fig. 12B mostra, por razões de exaustividade, um decodificador adaptado ao codificador da Fig. 12a. Adicionalmente aos componentes da Fig. 11b e o fato de o determinador do fator de escala 122 ser incorporado como um LPC para o conversor de fatores de escala 142, o decodificador da Fig. 12b compreende o transformador inverso a jusante 126, uma fase de sobreposição- adição 144 que sujeita as transformações inversas produzidas pelo transformador inverso 126 a um processo de sobreposição e adição, obtendo assim uma reconstrução da versão pré-enfatizada e filtrada LTP 138 que é depois sujeita à pós-filtragem LTP com pós-filtro LTP 146, cuja função de transferência corresponde à inversão da função de transferência do filtro LTP 136. O pós-filtro LTP 146 pode, por exemplo, ser implementado em forma de um filtro IIR. Sequencialmente ao pós-filtro LTP 146, no seu a jusante exemplificativo da Fig. 12b, o decodificador da Fig. 12b compreende um filtro que dê ênfase 148 que realiza uma filtragem de dê-ênfase no sinal do domínio do tempo que usa uma função de transferência correspondente ao inverso da função de transferência do filtro de pré-ênfase 128. O filtro de de-ênfase 148 pode ser também incorporado na forma de um filtro IIR. O sinal de áudio 18 resulta na saída do filtro de ênfase 148.
[062] Por outras palavras, os modelos descritos acima fornecem a possibilidade de codificação de sinais tonais e domínio de frequência através da adaptação da concessão de um contexto de codificador entrópico, tal como um contexto de codificador aritmético, à forma do espectro do sinal, tal como a periodicidade do sinal. Os modelos descritos em cima, muito sinceramente, expandem o contexto para além da noção de vizinhança e propõem uma concessão de contexto adaptativo com base na forma do espectro do sinal de áudio, tal como baseado na informação do pitch. Essa informação do pitch pode ser transmitida ao decodificador adicionalmente ou pode estar já disponível a partir de outros módulos de codificação, tal como o ganho LTP mencionado em cima. O contexto é depois mapeado para apontar para os coeficientes já codificados que estão relacionados com o coeficiente atual por codificar por um múltiplo da distância ou proporcional à frequência fundamental do sinal de entrada.
[063] Note-se que o conceito de pré/pós-filtro LTP usado de acordo com a Fig. 12 e 12b pode ser substituído por um conceito harmónico de pós-filtro de acordo com o qual um pós-filtro harmónico no decodificador é controlado via parâmetros LTP incluindo um pitch (ou atraso de pitch) enviado do codificador para o decodificador através do fluxo de dados 30. Os parâmetros LTP podem ser usados como uma referência para transmitirem diferenciadamente a informação acima mencionada relativa à forma do espectro ao decodificador usando sinalização explícita.
[064] Através do modelo acima delineado, pode ser deixada de fora uma previsão para sinais tonais, evitando assim por exemplo a introdução indesejada de dependências inter-quadro. Por outro lado, o conceito acima para codificar/decodificar os coeficientes espectrais também pode ser combinado com qualquer técnica de previsão, uma vez que os residuais de previsão continuam a mostrar algumas estruturas harmónicas.
[065] Utilizando outras palavras, os modelos acima descritos são ilustrados novamente relativamente às seguintes figuras, entre as quais a Fig. 13 mostra um diagrama de bloco geral de um processo de codificação que usa o conceito de adaptação da distância espectral acima delineado. Para facilitar a concordância entre a seguinte descrição e a descrição já apresentada até agora, os sinais de referência são parcialmente reutilizados.
[066] O sinal de entrada 18 é primeiramente transportado para a modulação/previsão de ruído no módulo TD (TD = domínio do tempo) 200. O módulo 200 engloba, por exemplo, um ou ambos os elementos 128 e 136 da Fig. 12a. Este módulo 200 pode ser derivado ou ele pode realizar uma previsão a curto prazo usando uma codificação LPC, e/ou - conforme ilustrado na Fig. 12a - uma previsão a longo prazo. Pode ser idealizada qualquer tipo de previsão. Se um dos processamentos do domínio do tempo explorar e transmitir uma informação do pitch, tal como foi brevemente delineado acima através do parâmetro de atraso LTP produzido pelo filtro LTP 136, essa informação pode ser depois transportada para o módulo de codificador aritmético com base no contexto para fins de mapeamento do contexto com base no pitch.
[067] Em seguida, o sinal do domínio do tempo residual e formado 202 é transformado pelo transformador 108 no domínio da frequência com a ajuda da transformação tempo-frequência. Pode ser usado um DFT ou um MDCT. O comprimento de transformação pode ser adaptativo e para o atraso baixo serão usadas regiões de sobreposição baixas com as janelas de transformação anteriores e próximas (cp. 24). No resto do documento será usado um MDCT como exemplo ilustrativo.
[068] O sinal transformado 112 é depois formado no domínio da frequência pelo módulo 204, que é assim implementado por exemplo usando o determinador do fator de escala 116 e modelador espectral 110. Pode ser feito pela resposta da frequência dos coeficientes LPC e pelos fatores de escala acionados por um modelo psicoacústico. É possível aplicar uma modulação do ruído do tempo (TNS) ou uma previsão do domínio da frequência que explora e transmite uma informação do pitch. Nesse caso, a informação do pitch pode ser transportada para o módulo do codificador baseado no contexto tendo em conta o mapeamento do contexto com base no pitch. A última possibilidade pode ser também aplicada aos modelos em cima das Figs. 10a até 12b, respetivamente.
[069] Os coeficientes espectrais de saída são depois quantizados pela fase de quantização 120 antes de serem codificados sem ruído pelo codificador entrópico com base no contexto 10. Conforme descrito acima, este último módulo 10 usa, por exemplo, uma estimativa de pitch do sinal de entrada como informação sobre o espectro do sinal de áudio. Uma informação dessas pode ser herdada de um dos módulos de modulação/previsão do ruído 200 ou 204 que foram realizados anteriormente no domínio do tempo ou no domínio da frequência. Se a informação não estiver disponível, a informação dedicada do pitch pode ser realizada no sinal de entrada, tal como por um módulo da estimativa do pitch 206, que depois envia a informação do pitch para ao fluxo de bits 30.
[070] A Fig. 14 mostra um diagrama de bloco do processo de descodificação adequado à Fig. 13. Consiste dos processamentos inversos descritos na Fig. 13. A informação de pitch - que é usada no caso das Figs. 13 e 14 como um exemplo da informação na forma do espectro - é a primeira descodificada e transportada para o decodificador aritmético 40. Se necessário, a informação é ainda transportada para os outros módulos que requerem esta informação.
[071] Em particular, adicionalmente ao decodificador da informação do pitch 208 que descodifica a informação do pitch a partir do fluxo de dados 30, sendo assim responsável pelo processo de derivação 84 na Fig. 9b, o decodificador da Fig. 14 compreende, subsequente ao decodificador com base no contexto 40, e pela ordem que são mencionados, um desquantizador 210, uma modulação/previsão de ruído inverso no módulo FD (domínio da frequência) 212, um transformador inverso 214 e um modulação/previsão de ruído inverso no módulo TD 216, estando todos ligados em série entre si, de modo a reconstruir a partir do espectro 12, cujos coeficientes espectrais são descodificados pelo decodificador 40 a partir do fluxo de dados 30, o sinal de áudio 18 no domínio do tempo. Ao mapear os componentes da Fig. 14 nos apresentados, por exemplo, na Fig. 12b, o transformador inverso 214 engloba o transformador inverso 126 e sobrepõe-adiciona a fase 144 da Fig. 12b. Adicionalmente, a Fig. 14 ilustra que a desquantização pode ser aplicada nos coeficientes espectrais descodificados produzidos pelo codificador 40 usando, por exemplo, uma função do pitch de quantização igual para todas as linhas espectrais. Além disso, a Fig. 14 ilustra que o módulo 212, tal como um módulo TNS (modulação de ruído temporal), pode ser posicionado entre o modelador espectral 124 e 126. A modulação/previsão de ruído inverso no módulo do domínio do tempo 216 engloba elementos 146 e/ou 148 da Fig. 12b.
[072] Para motivar as vantagens providenciadas pelos modelos do presente pedido novamente, a Fig. 15 mostra um contexto convencional para a codificação entrópica dos coeficientes espectrais. O contexto cobre uma área limitada da vizinhança passada dos coeficientes presentes por codificar. Isto é, a Fig. 15 mostra um exemplo para a codificação entrópica de coeficientes espectrais usando a adaptação de contexto tal como é, por exemplo, utilizada em MPEG USAC. A Fig. 15 ilustra, assim, os coeficientes espectrais de um modo idêntico às Figs. 1 e 2, mas com o agrupamento de coeficientes espectrais vizinhos espectrais ou dividindo-os em grupos chamados n-tuplos de coeficientes espectrais. Para distinguir esses n-tuplos dos coeficientes espectrais individuais, ao mesmo tempo que se mantém consistência com a descrição anteriormente apresentada, estes n-tuplos são indicados usando a referência 14’. A Fig. 15 distingue entre n-tuplos já codificados/descodificados, por um lado, e n-tuplos ainda não codificados/descodificados ao apresentar a forma dos que usam contornos retangulares, e dos últimos que usam contornos circulares. Além disso, o n-tuplo 14’ que está por decodificar/codificar é apresentado usando uma eclosão e um contorno circular, enquanto os n-tuplos 14’ já codificados/descodificados localizados por um modelo da vizinhança fixo posicionado no n-tuplo que está por processar são também indicados usando a eclosão, mas possuindo um contorno retangular. Assim sendo, de acordo com o exemplo da Fig. 15, o modelo da vizinhança do contexto identificou seis n- tuplos 14’ na vizinhança do n-tuplo que está por processar, nomeadamente o n- tuplo no mesmo instante mas na vizinhança imediata, linha(s) espectral/espectrais mais baixa(s), nomeadamente c0, uma na(s) mesma(s) linha(s) espectral/espectrais, mas em um instante de tempo imediatamente anterior, nomeadamente c1, o n-tuplo na vizinhança imediata, linha espectral mais alta no instante de tempo imediatamente anterior, nomeadamente c2 e assim por diante. Isto é, o modelo de contexto utilizado de acordo com a Fig. 15 identifica n-tuplos 14’ de referência a distâncias relativas fixas relativamente ao n-tuplo que está por processar, nomeadamente os vizinhos imediatos. De acordo com a Fig. 15, os coeficientes espectrais são, a título de exemplo, considerados em blocos de n, chamados n-tuplos. A combinação de n valores consecutivos permite explorar as dependências inter-coeficientes. Dimensões maiores aumenta exponencialmente o tamanho do alfabeto do n-tuplo para codificar e, assim, o tamanho do livro de códigos Uma dimensão de n = 2 é, a título de exemplo, utilizada no resto da descrição e representa um compromisso entre o ganho da codificação e o tamanho do livro de códigos. Em todos os modelos, a codificação considera, por exemplo, a marca separadamente. Além disso, os 2 bits mais significativos e os restantes bits menos significativos de cada coeficiente podem ser tratados separadamente, também. A adaptação de contexto pode ser aplicada, por exemplo, apenas aos 2 bits mais significativos (MSBs) dos valores espectrais não marcados. A marca e os bits menos significativos podem ser assumidos para serem uniformemente distribuídos. Juntamente com as 16 combinações dos MSBs de um 2-tuplo, é adicionado um símbolo de escape, ESC, ao alfabeto para indicar que o LSB adicional tem de ser esperado pelo decodificador. É transmitido o mesmo número de símbolos de ESC que o número de LSBs adicionais. No total, 17 símbolos do alfabeto do código. A presente invenção não está limitada ao modo acima descrito para criar os símbolos.
[073] Transferir os últimos dados específicos para a descrição das Figs. 3 e 4 quer dizer o seguinte: o alfabeto de símbolos do motor da codificação/descodificação entrópica 44 e 54 pode englobar os valores {0, 1, 2, 3} mais um símbolo de escape, e o coeficiente espectral de entrada por codificar é dividido por 4, se exceder 3 as vezes necessárias para ficar mais pequeno que 4 com a codificação de um símbolo de escape por divisão. Assim sendo, 0 ou mais símbolos de escape seguidos pelo símbolo atual de não- escape são codificados para cada coeficiente espectral, com meramente os primeiros dois destes símbolos, por exemplo, a serem codificados usando a adaptatividade do contexto conforme descrito aqui anteriormente. Transferir esta ideia para 2-tuplos. Isto é, pares de coeficientes imediatamente vizinhos espectralmente, o alfabeto de símbolos pode compreender 16 pares de valores para este 2-tuplo, nomeadamente {(0, 0), (0, 1), (1, 0), ..., (1, 1)}, e o símbolo de escape esc (sendo esc uma abreviatura para o símbolo de escape), isto, no total 17 símbolos. Cada n-tuplo do coeficiente espectral de entrada que compreende pelo menos um coeficiente que excede 3 é sujeito à divisão por 4 aplicada a cada coeficiente do respetivo 2-tuplo. No lado da descodificação, o número de símbolos de escape vezes 4, se houver, é adicionado ao valore restante obtido a partir do símbolo de não-escape.
[074] A Fig. 16 mostra a configuração de um mapeamento de contexto mapeado resultante da modificação do conceito da Fig. 15 de acordo com o conceito delineado acima, de acordo com o qual a distância espectral relativa 28 dos coeficientes espectrais de referência é adaptada dependente da informação sobre a forma do espectro, tal como por exemplo tendo em conta a informação da periodicidade ou pitch do sinal. Em particular, as Figs. 16a até 16c mostram que a distância D que corresponde à distância espectral relativa anteriormente mencionada 28, dentro do contexto, pode ser estimada por alto por D0 fornecido pela seguinte fórmula:
Figure img0001
[075] Aqui, fs é a frequência de amostragem, N o tamanho MDCT e L o período de atraso em amostras. No exemplo Fig. 16(a), o contexto aponta para os n-tuplos distantes do atual n-tuplo para ser codificado por um múltiplo de D. A Fig. 16(b) combina o contexto de vizinhança convencional com um contexto relacionado harmónico. Por fim, a Fig. 16(c) mostra um exemplo de um contexto mapeado intra-quadro sem dependências a quadros anteriores. Isto é, a Fig. 16a ilustra que, adicionalmente às possibilidades definidas em cima relativamente à Fig. 7, a adaptação da distância espectral relativa dependente da informação sobre a forma do espectro pode ser aplicada a todos os números fixos dos coeficientes espectrais de referência que pertencem ao modelo de contexto. A Fig. 16b mostra que, de acordo com um exemplo diferente, meramente um subconjunto destes coeficientes espectrais de referência és sujeito à deslocação de acordo com a adaptatividade 80, tal como por exemplo meramente os espectralmente mais exteriores no lado de baixa frequência do modelo do contexto, aqui C3 e C5. Os restantes coeficientes espectrais de referência, aqui C0 até C4, podem ser posicionados em uma posição fixa relativamente ao coeficiente espectral atualmente processado, nomeadamente em posições espectrotemporais imediatamente adjacentes relativamente ao coeficiente espectral que está por processar. Por fim, a Fig. 16c mostra a possibilidade de que meramente os coeficientes espectrais anteriormente codificados são utilizados como coeficientes de referência do modelo do contexto, que estão posicionados no mesmo instante de tempo que o coeficiente espectral que está por processar.
[076] A Fig. 17 fornece uma ilustração de como o contexto mapeado das Figs. 16a-c pode ser mais eficiente do que o contexto convencional de acordo com a Fig. 15 que falha em prever um tom de um espectro altamente harmónico X (cp. 20).
[077] Subsequentemente, vamos descrever em detalhe um possível mecanismo de mapeamento do contexto e apresentar implementações exemplificativas para eficientemente estimar e codificar a distância D. Para fins ilustrativos, vamos usar nas seções seguintes um contexto mapeado intra- quadro de acordo com a Fig. 16c.
[078] Primeiro modelo: 2-tuplo codificação e mapeamento
[079] Primeiramente, a distância ideal é procurada de modo a reduzir ao máximo o número de bits necessários para codificar o atual espectro quantizado x[] do tamanho N. Uma distância inicial pode ser estimada pela função D0 do período de atraso L encontrado na estimativa do pitch anteriormente realizado. O alcance da procura pode ser o seguinte:DO - Δ< D < DO + Δ
[080] Em alternativa, o alcance pode ser emendado considerando um múltiplo de D0. O alcance aumentado fica:{M. D0-Δ<D <M.D0 + Δ-.M E F]
[081] Em que M é um coeficiente multiplicativo que pertence a um conjunto finito F. Por exemplo. M pode obter os valores 0,5, 1 e 2, para explorar metade e o dobro do pitch. Por fim, pode-se também fazer uma procura exaustiva de D. Na prática, esta última abordagem pode ser demasiado complexa. A Fig. 18 dá um exemplo de um algoritmo de procura. Este algoritmo de procura pode, por exemplo, fazer parte do processo de derivação 82 ou de ambos os processos de derivação 82 e 84 no lado de descodificação e codificação.
[082] O custo é inicializado relativamente ao custo quando não é realizado nenhum mapeamento para o contexto. Se nenhuma distância levar a um custo melhor, não é realizado nenhum mapeamento. É transmitida uma bandeira ao decodificador para sinalizar quando o mapeamento é realizado.
[083] Se for encontrada uma distância ideal Dopt, é necessário transmiti- la. Se L já foi transmitida por outro módulo do codificador, os parâmetros de ajuste m e d, correspondentes à sinalização explícita anteriormente mencionada da Fig. 9b, têm de ser transmitidos de um modo que Dopt = m.DO + d
[084] Caso contrário, o valor absoluto de Dopt tem de ser transmitido. Ambas as alternativas foram discutidas em cima relativamente á Fig. 9b. Por exemplo, se considerámos um MDCT do tamanho N=256 e fs=12800 Hz, podemos cobrir uma frequência de pitch entre 30Hz e 256 Hz ao limitar D entre 2 e 17. Com uma resolução de número inteiro, D pode ser codificado com 4 bits, com 5 bits para uma resolução de 0,5 e com 6 bits com 0,25.
[085] A função de custo pode ser calculada como o número de bits necessários para codificar x[] com D usado para criar o mapeamento de contexto. A função de custo é normalmente complexa para obter, uma vez que requer codificar aritmeticamente o espectro ou pelo menos ter uma boa estimativa do número de bits que precisa. Uma vez que esta função de custo pode ser complexa para calcular para cada candidato D. nós propomos como alternativa obter uma estimativa do custo diretamente a partir da derivação do mapeamento de contexto do valor D. Enquanto se deriva o mapeamento de contexto, pode-se facilmente calcular a diferença da norma do contexto mapeado adjacente. Uma vez que o contexto é usado no codificador aritmético para prever o n-tuplo para codificar e uma vez que o contexto é calculado no nosso modelo privilegiado com base na norma-L1, a soma da diferença da norma entre contextos mapeados adjacentes é uma boa indicação da eficiência do mapeamento fornecido D. A primeira norma de cada 2-tuplo de x[] é calculada do seguinte modo: for(i=0;i<N/2;i++){ normVect[i]= pow(abs(x[2*i]NORM,)+ pow(abs(normaVect[2*i+1], NORM), }
[086] Em que NORM=1 no modelo preferido, uma vez que consideramos a norma-L1 no cálculo do contexto. Nesta seção estamos a descrever um mapeamento de contexto que funciona com uma resolução de 2, isto é, um mapeamento por 2-tuplo. A resolução é r=2 e a tabela do mapeamento de contextos tem o tamanho de N/2. O pseudo-código da criação do mapeamento de contexto e o cálculo da função do custo é dado a seguir: Entrada: resolução r Entrada: normVect[N/r] Saída: contextMappingpig[N/r] m=1; i = (int)( m*D/r)); k = 0; meamDiffNorm= oldNorm=0; /*Deteta Harmónicos do espectro*/ while (i <=N/r-preroll) { for(o=0;o<preroll;o++){ meanDiffNorm += abs(normVect[i]-oldNorm); oldNorm=normVect[i]; IndexPermutation[k++] = i; i++; } m+=1; i = (int)((m * D)/r)); } /*Deteta vales od espectro */ SlideIndex=k ; i = 0; for (o = 0; o < k; o+=preroll) { for (; i < IndexPermutation[o]; i++) { meanDiffNorm += abs(normVect[i]-oldNorm); oldNorm=normVect[i]; IndexPermutation[SlideIndex++] = i; } /*Saltar componente tonal*/ i+=preroll; } /*Deteta extremidade traseira do espectro*/ for (i = SlideIndex; i < numVect; ++i) { meanDiffNorm +=abs(normVect[i]-oldNorm); oldNorm=normVect[i]; IndexPermutation[i] = i; }
[087] Assim que a distância ideal D é calculada, o quadro do índice de permutação é também deduzido, o que fornece as posição harmónicas, os vales e a extremidade traseira do espectro. As regras do mapeamento do contexto são depois deduzidas como: for (i = 0; i < N/r; i++) { contextMapping[IndexPermutation[i]]=i; }
[088] Isto quer dizer que para um 2-tuplo do índice i no espectro (x[2*i],x[2*i+1]), o contexto passado será considerado com 2-tuplos dos índices contextMapping[i-1], contextMapping[i-2]... contextMapping[i-l], em que l é o tamanho do contexto em termos de 2-tuplos. Se um ou mais espectros anteriores forem também considerados para o contexto, os 2-tuplos para estes espectros incorporados no contexto passado terão como índices contextMapping[i+l],.,contextMapping[i+1],contextMapping [i],contextMapping[i-1], contextMapping[i-l], em que 2l+1 é o tamanho do contexto por espectro anterior.
[089] O quadro IndexPermutation fornece também informação adicional interessante, uma vez que recolhe os índices dos componentes tonais seguidos dos índices dos componentes não-tonais. Por isso, podemos esperar que as correspondentes amplitudes sejam diminuídas. Pode ser explorado através da deteção do último índice em IndexPermutation, que corresponde ao 2-tuplo não-zero. Este índice corresponde a (lastNz/2-1), em que lastNz é calculado como: for ( lastNz = (N-2) ; lastNz >= 0 ; lastNz -= 2 ) { if( ( x[2*IndexPermutatioin[llastNz/2]] != 0 ) || ( x[2* IndexPermutation[lastNz/2]+1] != 0)) break; } lastNz += 2; lastNz/2 está codificado em ceil(log2(N/2)) bits antes dos componentes espectrais. Codificador aritmético pseudo-código: Entrada: espectro x[N] Entrada: contextMapping[N/2] Entrada: lastNz Saída: fluxo de bits codificado para ( i = 0 ; i < N/2;i++) { while((i<N/2) && (contextMapping [i]>=lastNz/2)){ context[contextMapping[i]] = -1; i++; } if(i>=N/2){ break; } a=a1 = abs(x[2*i]); b=b1 = abs(x[2*i+1]); t = (context[contextMapping [i-2]<<6) + context[contextMapping [i- 1]; while ( ( a1 >= 4 ) || ( b1 >= 4 ) ) { /*codificar símbolo de escape*/ pki = proba_model_lookup[t]; ari_code(cum_proba[pki],16,17); (a1) >>= 1; (b1) >>= 1; /*codificar LSBs*/ ari_code(cum_equiproba,a1&1,2); ari_code(cum_equiproba,b1&1,2); } /*codificar MSBs*/ pki = proba_model_lookup[t]; ari_code(cum_proba[pki], a1 + 4*b1,17); /*Codificar marcas*/ If(a>0) { ari_code(cum_equiproba,x[2*i]>0,2); } If(b>0) { ari_code(cum_equiproba,x[2*i+1]>0,2); } /*Atualizar contexto*/ context[contextMapping [i]]=min(a+b,power(2,6));
[090] Os quadros cum_proba[] são modelos cumulativos diferentes obtidos durante uma formação offline sobre um grande conjunto de formação. Compreende 17 símbolos neste caso específico. proba_model_lookup[] é um quadro de consulta que mapeia um índice de contexto t para um modelo de probabilidade cumulativa pki. Este quadro também é obtido através de uma fase de formação. cum_equiprob[] é um quadro de probabilidade cumulativa para um alfabeto de 2 símbolos que são equiprováveis.
[091] Segundo modelo: 2-Tuplo com mapeamento de 1-tuplo.
[092] Neste segundo modelo, os componentes espectrais continuam codificados 2-tuplos por 2-tuplos, mas o contextMapping tem agora uma resolução de 1-tuplo. Isto quer dizer que existem muitas mais possibilidades e flexibilidades no mapeamento do contexto. O contexto mapeado pode ser mais adequado a um certo sinal. A distância ideal é procurada do mesmo modo como é feito na seção 3, mas desta vez com uma resolução r=1. Para isso, normVect[] tem de ser calculado para cada linha MDCT: for(i=0;i<N;i++){ normVect[i]= pow(abs(x[2*i]NORM,); }
[093] O resultante mapeamento de contexto é depois fornecido por um quadro da dimensão N. LastNz é calculado como na seção anterior e a codificação pode ser descrita do seguinte modo: Entrada: lastNz Entrada: contextMapping[N] Entrada: espectro x[N] saída: fluxo de bits codificado local: contexto[N/2] for ( k=0,i = 0 ; k < lastnz ; k+=2){ /* Próximo coeficientes para codificar*/ while(contextMapping]>=lastnz) i++; a1_i=i++; /* Próximo coeficiente para codificar*/ while(contextMapping]>=lastnz) i++; b1_i=i++; /*Obter contexto para o índice mais baixo*/ i_min=min(contextMapping[a1_i], contextMapping[b1_i]); t = context[(i_min/2)-2]<<6 + context[(i_min/2)-1]; /* Inic atual 2-tuplo codificação */ a=a1 = abs(x[a1_i]); b=b1 = abs(x[b1_i]); while ( ( a1 >= 4 ) || ( b1 >= 4 ) ) { /*codificar símbolo de escape*/ pki = proba_model_lookup[t]; ari_code(cum_proba[pki],16,16); (a1) >>= 1; (b1) >>= 1; /*codificar LSBs*/ ari_code(cum_equiproba,a1&1,2); ari_code(cum_equiproba,b1&1,2); } /*codificar MSBs*/ pki = proba_model_lookup[t]; ari_code(cum_proba[pki], a1 + 4*b1,16); /*Codificar marcas*/ se(a>0) ari_code(cum_equiproba,x[2*i]>0,2); se(b>0) ari_code(cum_equiproba,x[2*i+1]>0,2); /*atualizar contexto*/ if(contextMapping[a1_i]!=( contextMapping [b1_i]-1)){ context[contextMapping[a1_i]/2]=min(a+a,power(2,6)); context[contextMapping[b1_i]/2]=min(b+b,power(2,6)); }or{ context[contextMapping[a1_i]/2]=min(a+b,power(2,6)); context[contextMapping[b1_i]/2]=min(a+b,power(2,6)); } }
[094] Contrariamente à seção anterior, dois coeficientes espectrais não- subsequentes podem ser juntados no mesmo 2-tuplo. Por essa razão, o mapeamento de contexto para os dois elementos do 2-tuplo pode apontar para dois índices diferentes no quadro do contexto. No modelo privilegiado, nós selecionamos o contexto mapeado com o índice mais baixo, mas também se pode ter uma regra diferente, como fazer a média dos dois contextos mapeados. Pela mesma razão, a atualização do contexto deve ser tratada de maneira diferente. Se os 2 elementos são consecutivos no espectro, nós usamos o modo convencional para calcular o contexto. Caso contrário, o contexto é atualizado separadamente para os 2 elementos considerando apenas a sua magnitude.
[095] A descodificação consiste dos seguintes passos: • Decodificar a bandeira para saber se o mapeamento do contexto está realizado. • Decodificar o mapeamento do contexto, descodificando Dopt ou o parâmetro Parâmetros de ajuste para obter Dopt para D0. • Decodificar lastNz. • Decodificar o espectro quantizado do seguinte modo: Entrada: lastNz Entrada: contextMapping[N] Entrada: fluxo de bits codificado local: contexto[N/2] Saída: espectro quantizado x[N]for( k=0,i = 0 ; k < lastnz ; k+=2){ a=b=0; /* Próximo coeficiente para codificar*/ while(contextMapping[i]>=lastnz) x[ i++]=0; a1_i=i++; /* Próximo coeficientes para codificar*/ while(contextMapping[i]>=lastnz) x[ i++]=0; b1_i=i++; /*Obter contexto para o índice mais baixo*/ i_min=min(contextMapping[a1_i], contextMapping[b1_i]); t = context[(i_min/2)-2]<<6 + context[(i_min/2)-1]; /* Inic atual 2-tuplo codificação */ a=a1 = abs(x[a1_i]); b=b1 = abs(x[b1_i]); /*MSBs descodificação*/ for (lev=0;;) { pki = proba_model_lookup[t]; r= ari_decode(cum_proba[pki],16); if(r<16){ break; } /*LSBs descodificação*/ a=(a)+ ari_decode(cum_equiproba,2)<<(lev)); b=(b)+ ari_decode(cum_equiproba,2)<<(lev)); lev+=1; } b1= r>>2; a1= r&0x3; a += (a1)<<lev; b += (b1)<<lev; /*atualizar contexto*/ if(contextMapping[a1_i]!=( contextMapping [b1_i]-1)){ context[contextMapping[a1_i]/2]=min(a+a,power(2,6)); context[contextMapping[b1_i]/2]=min(b+b,power(2,6)); }ou{ context[contextMapping[a1_i]/2]=min(a+b,power(2,6)); context[contextMapping[b1_i]/2]=min(a+b,power(2,6)); } /*decodificar marcas*/ if(a>0) a=a*(-2*ari_decode(cum_equiproba ,2)+1); if(b>0) b=b*(-2*ari_decode(cum_equiproba ,2)+1); /* Guardar dados descodificados */ x[a1_i] = a; x[b1_i] = b; }
[096] Assim sendo, os modelos acima, entre outros, revelaram um, por exemplo, mapeamento do contexto com base no pitch para a codificação entrópica, tal como aritmética, de sinais tonais.
[097] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, está claro que esses aspectos representam também uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma fase do método ou a uma característica de uma fase do método. De forma análoga, os aspectos descritos no contexto de uma fase do método representam também uma descrição de um bloco ou item correspondente ou característica de um aparelho correspondente. Poderão ser executadas algumas ou todas as fases do método com (ou utilizando) um aparelho de hardware, como por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas versões, poderá ser executada uma ou mais fases importantes do método com esse aparelho.
[098] O sinal de áudio codificado da invenção pode ser guardado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão, tal como um meio de transmissão sem fios ou um meio de transmissão com fios, tal como a Internet.
[099] Dependendo de determinados requisitos de implementação, as versões da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada usando um meio de armazenamento digital, por exemplo uma disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, com sinais de controlo de leitura eletrônica guardados lá, que cooperam (ou são capazes de cooperar) com um sistema de computador programável, de modo a que seja executado o respetivo método. Desse modo, o meio de armazenamento digital poderá ser legível pelo computador.
[100] Algumas versões de acordo com a invenção incluem um transportador de dados com sinais de controlo eletronicamente legíveis, que conseguem cooperar com um sistema de computador programável de modo a que seja efetuado um dos métodos aqui descritos.
[101] No geral, as versões da presente invenção podem ser implementadas como um produto do programa de computador com um código do programa, sendo o código do programa operativo para efetuar um dos métodos quando o produto do programa de computador é executado em um computador. O código de programa pode, por exemplo, ser guardado em um suporte de leitura em máquina.
[102] Outras versões incluem o programa de computador para efetuar um dos métodos aqui descritos, guardados em um suporte legível pela máquina.
[103] Por outras palavras, uma versão do método da invenção é, desse modo, um programa de computador com um código do programa para efetuar um dos métodos aqui descritos, quando o programa de computador é executado em um computador.
[104] Outro modelo dos métodos da invenção é, por isso, um suporte de dados (ou um suporte de armazenamento digital ou um suporte de leitura em computador) compreendendo, aí gravados, o programa de computador para executar um dos métodos aqui descritos. O suporte de dados, o suporte de armazenamento digital ou o suporte gravado são tipicamente tangíveis e/ou não transicionários.
[105] Outro modelo do método da invenção é, por isso, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para executar um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma ligação de comunicação de dados, por exemplo via Internet.
[106] Outro modelo compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para executar um dos métodos aqui descritos.
[107] Outro modelo compreende um computador com o programa informático instalado para executar um dos métodos aqui descritos.
[108] Outra versão de acordo com a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou opticamente) um programa de computador para executar um dos métodos aqui descritos para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou idêntico. O aparelho ou sistema pode, por exemplo, compreender um servidor de ficheiros para transferir o programa de computador para o receptor.
[109] Em alguns modelos, pode ser utilizado um dispositivo programável lógico (por exemplo uma rede de portas lógicas programáveis) para executar algumas ou todas as funcionalidades dos métodos aqui descritos Em alguns modelos, uma rede de portas lógicas programáveis pode cooperar com um microprocessador para executar um dos métodos aqui descritos. De um modo geral, os métodos são preferencialmente executados por qualquer aparelho de hardware.
[110] Os modelos acima descritos são meramente ilustrativos para os princípios da presente invenção. Compreende-se que as modificações e variações das disposições e dos detalhes descritos serão evidentes aos profissionais da matéria. É intenção, desse modo, estar limitado apenas pelo âmbito das reivindicações da patente iminente e não pelos pormenores específicos apresentados através da descrição e explicação das versões.
[111] Referências [1] Fuchs, G.; Subbaraman, V.; Multrus, M., "Efficient context adaptive entropy coding for real-time applications," Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on , vol., n.°, pág. 493,496, 22-27 maio de 2011. [2] ISO/IEC 13818, Parte 7, MPEG-2 AAC. [3] Juin-Hwey Chen; Dongmei Wang, "Transform predictive coding of wideband speech signals," Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. Conference Proceedings., 1996 IEEE International Conference on , vol.1, n.°, pág. 275,278 vol. 1,7-10 maio de 1996.

Claims (20)

1. Decodificador (40) configurado para decodificar coeficientes espectrais (14) de um espectro (12) de um sinal de áudio (18), caracterizado por coeficientes espectrais pertencentes ao mesmo instante de tempo, estando o decodificador configurado para sequencialmente, da frequência baixa para a alta, decodificar os coeficientes espectrais e decodificar um coeficiente espectral que está por ser descodificado (x) dos coeficientes espectrais através da descodificação entrópica dependente, de um modo adaptativo do contexto, de um coeficiente espectral anteriormente descodificado (o) dos coeficientes espectrais, com ajuste de uma distância espectral relativa (28) entre o coeficiente espectral previamente descodificado (o) e o coeficiente espectral que está por decodificar (x) dependendo de uma informação relativa a uma forma do espectro.
2. Decodificador de acordo com a reivindicação 1, caracterizado por informação relativa à forma do espectro consistir de pelo menos uma medida (60) de um pitch ou periodicidade do sinal de áudio (18); uma medida de uma distância inter-harmónica do espectro do sinal de áudio (12); localizações relativas de formantes (70) e/ou vales (72) de um envelope espectral do espectro.
3. Decodificador de acordo com a reivindicação 1 ou 2, caracterizado por decodificador (40) estar configurado para derivar a informação relativa à forma do espectro a partir de sinalização explícita.
4. Decodificador de acordo com a reivindicação 1 ou 2, caracterizado por decodificar (40) estar configurado para derivar a informação relativa à forma do espectro a partir de coeficientes espectrais anteriormente descodificados (o) ou do envelope espectral baseado em LPC anteriormente descodificado do espectro.
5. Decodificador de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por decodificador (40) estar configurado, de modo a que a dependência da descodificação entrópica envolva uma série de coeficientes espectrais anteriormente descodificados (o), uma expansão espectral, cujas posições espectrais são ajustadas dependendo da informação sobre a forma do espectro.
6. Decodificador de acordo com qualquer uma das reivindicações 1 a 5, caracterizado por decodificador (40) estar configurado, de modo a que a informação relativa à forma do espectro seja uma medida (60) de um pitch do sinal de áudio e o decodificador esteja configurado para ajustar a distância espectral relativa (28) entre o coeficiente espectral anteriormente descodificado (o) e coeficiente espectral que está por decodificar (x) dependendo da medida do pitch, de modo a que a distância espectral relativa aumente com o aumento do pitch, ou a informação relativa à forma do espectro seja uma medida (60) de uma periodicidade do sinal de áudio e o decodificador esteja configurado para ajustar a distância espectral relativa (28) entre o coeficiente espectral anteriormente descodificado (o) e coeficiente espectral que está por decodificar (x) dependendo da medida da periodicidade, de modo a que a distância espectral relativa diminua com o aumento da periodicidade, ou a informação relativa à forma do espectro seja uma medida de uma distância inter-harmónica do espectro do sinal de áudio (12) e o decodificador (40) esteja configurado para ajustar a distância espectral relativa entre o coeficiente espectral anteriormente descodificado (o) e coeficiente espectral que está por decodificar (x) dependendo da medida da distância inter-harmónica, de modo a que a distância espectral relativa aumente com o aumento da distância inter-harmónica, ou a informação relativa à forma do espectro que compreende localizações relativas de formantes (70) e/ou vales (72) de um envelope espectral do espectro, e o decodificador esteja configurado para ajustar a distância espectral relativa entre o coeficiente espectral anteriormente descodificado e o coeficiente espectral que está por decodificar dependendo da localização, de modo a que a distância espectral relativa aumente com o aumento da distância espectral (74) entre os vales no envelope espectral e/ou entre os formantes no envelope espectral.
7. Decodificador de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por decodificador estar configurado para, ao decodificar o atual coeficiente espectral que está por decodificar através da descodificação entrópica, derivar uma estimativa da distribuição da probabilidade (56) para o coeficiente espectral que está por decodificar, sujeitando o coeficiente espectral anteriormente descodificado a uma função escalar (82) e usando a estimativa da distribuição da probabilidade para a descodificação entrópica.
8. Decodificador de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por decodificador estar configurado para usar a descodificação aritmética como descodificação entrópica.
9. Decodificador de acordo com qualquer uma das reivindicações 1 a 8, caracterizado por decodificador estar configurado para decodificar o coeficiente espectral que está por decodificar, prevendo espectralmente e/ou temporalmente o coeficiente espectral que está por decodificar e corrigindo a previsão espectral e/ou temporal através de um residual de previsão obtido através da descodificação entrópica.
10. Decodificador de áudio com base em transformação, caracterizado por compreender um decodificador configurado para decodificar coeficientes espectrais de um espectro de um sinal de áudio de acordo com qualquer uma das reivindicações 1 a 9.
11. Decodificador de áudio com base em transformação de acordo com a reivindicação 10, caracterizado por decodificador estar configurado para formar espectralmente o espectro através do escalonamento do espectro usando fatores de escala (114).
12. Decodificador de áudio com base em transformação de acordo com a reivindicação 11, caracterizado por estar configurado para determinar os fatores de escala (114) com base em informação do coeficiente de previsão linear, de modo a que os fatores de escala representem uma função de transferência dependendo de um filtro de síntese de previsão linear definido pela informação do coeficiente de previsão linear.
13. Decodificador de áudio com base em transformação de acordo com a reivindicação 12, caracterizado por dependência da função de transferência do filtro de síntese de previsão linear definido pela informação do coeficiente de previsão linear ser tal que a função de transferência é perceptualmente ponderada.
14. Decodificador de áudio com base em transformação de acordo com a reivindicação 13, caracterizado por dependência da função de transferência do filtro de síntese de previsão linear , 1/A(z), definida pela informação de previsão linear ser tal que a função de transferência é uma função de transferência de 1/A(k ■ z), em que k é uma constante.
15. Decodificador de áudio com base em transformação de acordo com qualquer uma das reivindicações 10 a 14, caracterizado por decodificador de áudio com base em transformação suportar harmónica de previsão a longo prazo ou pós-filtragem controlada através de parâmetros de previsão a longo prazo explicitamente assinalados, em que o decodificador de áudio com base em transformação está configurado para derivar uma informação relativa à forma do espectro a partir dos parâmetros de previsão a longo prazo explicitamente assinalados.
16. Codificador (10) configurado para codificar coeficientes espectrais (14) de um espectro (12) de um sinal de áudio (18), caracterizado por coeficientes espectrais pertencerem ao mesmo instante de tempo, estando o codificador configurado para sequencialmente, da frequência baixa para a alta, codificar os coeficientes espectrais e codificar um coeficiente espectral que está por ser codificado (x) dos coeficientes espectrais através da codificação entrópica dependente, de um modo adaptativo do contexto, de um coeficiente espectral anteriormente codificado (o) dos coeficientes espectrais, com ajuste de uma distância espectral relativa (28) entre o coeficiente espectral previamente codificado (o) e o coeficiente espectral que está por codificar (x) dependendo de uma informação relativa a uma forma do espectro.
17. Método para decodificar coeficientes espectrais (14) de um espectro (12) de um sinal de áudio (18), caracterizado por coeficientes espectrais pertencerem ao mesmo instante de tempo, compreendendo o método sequencialmente, da frequência baixa para a alta, decodificar os coeficientes espectrais e decodificar o coeficiente espectral que está por ser descodificado (x) dos coeficientes espectrais através da descodificação entrópica dependente, de um modo adaptativo do contexto, de um coeficiente espectral anteriormente descodificado (o) dos coeficientes espectrais, com ajuste de uma distância espectral relativa (28) entre o coeficiente espectral previamente descodificado (o) e o coeficiente espectral que está por decodificar (x) dependendo de uma informação relativa a uma forma do espectro.
18. Método para codificar coeficientes espectrais (14) de um espectro (12) de um sinal de áudio (18), caracterizado por coeficientes espectrais pertencerem ao mesmo instante de tempo, compreendendo o método sequencialmente, da frequência baixa para a alta, codificar os coeficientes espectrais e codificar um coeficiente espectral que está por ser codificado (x) dos coeficientes espectrais através da codificação entrópica dependente, de um modo adaptativo do contexto, de um coeficiente espectral anteriormente codificado (o) dos coeficientes espectrais, com ajuste de uma distância espectral relativa (28) entre o coeficiente espectral previamente codificado e o coeficiente espectral atualmente codificado dependendo de uma informação relativa a uma forma do espectro.
19. Decodificador (40) configurado para decodificar coeficientes espectrais (14) de um espectrograma (20) de um sinal de áudio (18), composto por uma sequência de espectros (12), caracterizado por decodificador estar configurado para decodificar os coeficientes espectrais ao longo de um caminho espectrotemporal que analisa os coeficientes espectrais (14) espectralmente da frequência baixa para a alta dentro de um espectro (20) e depois continua com os coeficientes espectrais de um espectro que se segue temporalmente (20) com descodificação, através da descodificação entrópica, de um coeficiente espectral que está por decodificar (x) de um espectro atual dependente, de um modo adaptativo do contexto, de um modelo de coeficientes espectrais anteriormente descodificados (o) incluindo um coeficiente espectral que pertence ao espectro atual, estando o modelo posicionado em um local do coeficiente espectral que está por decodificar (x), com o ajuste de uma distância espectral relativa (28) entre o coeficiente espectral (o) que pertence ao espectro atual e o coeficiente espectral que está por decodificar (x) dependendo de uma informação sobre uma forma do espectro.
20. Decodificador de acordo com a reivindicação 19, caracterizado por decodificador estar configurado, de modo a que a distância espectral relativa (28) aumente com o aumento da informação sobre a forma do espectro, em que a informação sobre a forma do espectro compreende uma medida (60) de um pitch ou periodicidade do sinal de áudio (18).
BR112016008117-0A 2013-10-18 2014-10-17 Codificação de coeficientes espectrais de um espectro de um sinal de áudio BR112016008117B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13189391 2013-10-18
EP13189391.9 2013-10-18
EP14178806 2014-07-28
EP14178806.7 2014-07-28
PCT/EP2014/072290 WO2015055800A1 (en) 2013-10-18 2014-10-17 Coding of spectral coefficients of a spectrum of an audio signal

Publications (2)

Publication Number Publication Date
BR112016008117A2 BR112016008117A2 (pt) 2017-08-01
BR112016008117B1 true BR112016008117B1 (pt) 2021-12-14

Family

ID=51844681

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016008117-0A BR112016008117B1 (pt) 2013-10-18 2014-10-17 Codificação de coeficientes espectrais de um espectro de um sinal de áudio

Country Status (17)

Country Link
US (3) US9892735B2 (pt)
EP (1) EP3058566B1 (pt)
JP (3) JP6385433B2 (pt)
KR (1) KR101831289B1 (pt)
CN (2) CN105723452B (pt)
AU (1) AU2014336097B2 (pt)
BR (1) BR112016008117B1 (pt)
CA (1) CA2925734C (pt)
ES (1) ES2660392T3 (pt)
MX (1) MX357135B (pt)
MY (1) MY181965A (pt)
PL (1) PL3058566T3 (pt)
PT (1) PT3058566T (pt)
RU (1) RU2638734C2 (pt)
SG (1) SG11201603046RA (pt)
TW (1) TWI578308B (pt)
WO (1) WO2015055800A1 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313359B1 (en) 2011-04-26 2016-04-12 Gracenote, Inc. Media content identification on mobile devices
DK3573056T3 (da) 2008-07-11 2022-10-03 Fraunhofer Ges Forschung Audiokoder og audioafkoder
TWI585749B (zh) * 2011-10-21 2017-06-01 三星電子股份有限公司 無損編碼方法
US11706481B2 (en) 2012-02-21 2023-07-18 Roku, Inc. Media content identification on mobile devices
CA2925734C (en) * 2013-10-18 2018-07-10 Guillaume Fuchs Coding of spectral coefficients of a spectrum of an audio signal
KR101837153B1 (ko) 2014-05-01 2018-03-09 니폰 덴신 덴와 가부시끼가이샤 주기성 통합 포락 계열 생성 장치, 주기성 통합 포락 계열 생성 방법, 주기성 통합 포락 계열 생성 프로그램, 기록매체
DE102016200637B3 (de) * 2016-01-19 2017-04-27 Sivantos Pte. Ltd. Verfahren zur Reduktion der Latenzzeit einer Filterbank zur Filterung eines Audiosignals sowie Verfahren zum latenzarmen Betrieb eines Hörsystems
JP2018113414A (ja) * 2017-01-13 2018-07-19 新光電気工業株式会社 半導体装置とその製造方法
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483878A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
WO2020207593A1 (en) * 2019-04-11 2020-10-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for determining a set of values defining characteristics of a filter, methods for providing a decoded audio representation, methods for determining a set of values defining characteristics of a filter and computer program
CN110544472B (zh) * 2019-09-29 2021-12-31 上海依图信息技术有限公司 提升使用cnn网络结构的语音任务的性能的方法
US11227614B2 (en) * 2020-06-11 2022-01-18 Silicon Laboratories Inc. End node spectrogram compression for machine learning speech recognition

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583500A (en) 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
IT1281001B1 (it) * 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio.
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
ATE543179T1 (de) * 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7599840B2 (en) 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
JP4736699B2 (ja) * 2005-10-13 2011-07-27 株式会社ケンウッド 音声信号圧縮装置、音声信号復元装置、音声信号圧縮方法、音声信号復元方法及びプログラム
DE102006027673A1 (de) * 2006-06-14 2007-12-20 Friedrich-Alexander-Universität Erlangen-Nürnberg Signaltrenner, Verfahren zum Bestimmen von Ausgangssignalen basierend auf Mikrophonsignalen und Computerprogramm
US8527265B2 (en) 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
CN100578619C (zh) * 2007-11-05 2010-01-06 华为技术有限公司 编码方法和编码器
CA2716817C (en) 2008-03-03 2014-04-22 Lg Electronics Inc. Method and apparatus for processing audio signal
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
MY154452A (en) * 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
KR101425290B1 (ko) 2009-10-08 2014-08-01 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 멀티-모드 오디오 신호 디코더, 멀티-모드 오디오 신호 인코더 및 선형-예측-코딩 기반의 노이즈 성형을 사용하는 방법 및 컴퓨터 프로그램
ES2461183T3 (es) * 2010-03-10 2014-05-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V Decodificador de señales de audio, codificador de señales de audio, procedimiento para decodificar una señal de audio, método para codificar una señal de audio y programa de ordenador que utilizan una adaptación dependiente de la frecuencia de un contexto de codificación
RU2554554C2 (ru) * 2011-01-25 2015-06-27 Ниппон Телеграф Энд Телефон Корпорейшн Способ кодирования, кодер, способ определения величины периодического признака, устройство определения величины периодического признака, программа и носитель записи
RU2464649C1 (ru) * 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ обработки звукового сигнала
RU2651187C2 (ru) * 2012-06-28 2018-04-18 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Основанное на линейном предсказании кодирование аудио с использованием улучшенной оценки распределения вероятностей
CA2925734C (en) * 2013-10-18 2018-07-10 Guillaume Fuchs Coding of spectral coefficients of a spectrum of an audio signal

Also Published As

Publication number Publication date
AU2014336097A1 (en) 2016-05-19
US10115401B2 (en) 2018-10-30
TWI578308B (zh) 2017-04-11
US20180122387A1 (en) 2018-05-03
CN105723452A (zh) 2016-06-29
SG11201603046RA (en) 2016-05-30
RU2016118776A (ru) 2017-11-23
PL3058566T3 (pl) 2018-07-31
CN111009249B (zh) 2021-06-04
EP3058566B1 (en) 2017-11-22
US20160307576A1 (en) 2016-10-20
JP2017501427A (ja) 2017-01-12
JP2018205758A (ja) 2018-12-27
AU2014336097B2 (en) 2017-01-19
CA2925734A1 (en) 2015-04-23
MX2016004806A (es) 2016-06-24
PT3058566T (pt) 2018-03-01
US20190043513A1 (en) 2019-02-07
JP7218329B2 (ja) 2023-02-06
TW201521015A (zh) 2015-06-01
MX357135B (es) 2018-06-27
BR112016008117A2 (pt) 2017-08-01
EP3058566A1 (en) 2016-08-24
JP6748160B2 (ja) 2020-08-26
US10847166B2 (en) 2020-11-24
US9892735B2 (en) 2018-02-13
KR20160060085A (ko) 2016-05-27
WO2015055800A1 (en) 2015-04-23
CN105723452B (zh) 2020-01-31
MY181965A (en) 2021-01-15
JP2020190751A (ja) 2020-11-26
ES2660392T3 (es) 2018-03-22
JP6385433B2 (ja) 2018-09-05
KR101831289B1 (ko) 2018-02-22
RU2638734C2 (ru) 2017-12-15
CN111009249A (zh) 2020-04-14
CA2925734C (en) 2018-07-10

Similar Documents

Publication Publication Date Title
BR112016008117B1 (pt) Codificação de coeficientes espectrais de um espectro de um sinal de áudio
TWI557725B (zh) 頻譜包絡線之取樣值之依鄰近關係熵編碼技術
EP3268960B1 (en) Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
ES2685574T3 (es) Control dependiente de la armonicidad de una herramienta de filtro de armónicos
BR112013020587B1 (pt) esquema de codificação com base em previsão linear utilizando modelagem de ruído de domínio espectral
BR112014032735B1 (pt) Codificador e decodificador de áudio com base em predição linear e respectivos métodos para codificar e decodificar
JP6526091B2 (ja) 低複雑度の調性適応音声信号量子化
BR112015025009B1 (pt) Unidades de quantização e quantização inversa, codificador e decodificador, métodos para quantizar e dequantizar
BR112015018020B1 (pt) Preenchimento de ruído sem informação adicional para codificadores do tipo celp

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 17/10/2014, OBSERVADAS AS CONDICOES LEGAIS.