BR112012022741A2 - decodificador de sinal de áudio, codificador de sinal de áudio, método e programa de computador utilizando uma codificação de contorno da deformação no tempo dependente da taxa de amostragem - Google Patents

decodificador de sinal de áudio, codificador de sinal de áudio, método e programa de computador utilizando uma codificação de contorno da deformação no tempo dependente da taxa de amostragem Download PDF

Info

Publication number
BR112012022741A2
BR112012022741A2 BR112012022741-6A BR112012022741A BR112012022741A2 BR 112012022741 A2 BR112012022741 A2 BR 112012022741A2 BR 112012022741 A BR112012022741 A BR 112012022741A BR 112012022741 A2 BR112012022741 A2 BR 112012022741A2
Authority
BR
Brazil
Prior art keywords
time
audio signal
warp
deformation
information
Prior art date
Application number
BR112012022741-6A
Other languages
English (en)
Other versions
BR112012022741B1 (pt
Inventor
Lars Villemoes
Stefan Bayer
Ralf Geiger
Bernd Edler
Sascha Disch
Tom Bäckström
Original Assignee
Dolby International Ab
Fraunhofer - Gesellschaft Zur Foerderung 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 Dolby International Ab, Fraunhofer - Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. filed Critical Dolby International Ab
Publication of BR112012022741A2 publication Critical patent/BR112012022741A2/pt
Publication of BR112012022741B1 publication Critical patent/BR112012022741B1/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • 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
    • 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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • 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/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

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)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

DECODIFICADOR DE SINAL DE ÁUDIO, CODIFICADOR DE SINAL DE ÁUDIO, MÉTODOS E PROGRAMA DE COMPUTADOR UTILIZANDO UMA CODIFICAÇÃO DE CONTORNO DA DEFORMAÇÃO NO TEMPO DEPENDENTE DA TAXA DE AMOSTRAGEM Um decodificador de sinal de áudio configurado para prover uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado compreendendo uma informação de frequência de amostragem, uma informação de de formação de tempo codificada e uma representação de espectro codificado compreende um calculador de deformação de tempo e um decodificador de deformação. O calculador de deformação de tempo é configurado para adaptar uma norma de mapeamento para mapear senhas da informação de deformação de tempo codificada em valores de de formação de tempo decodificados que descrevem a informação de de formação de tempo decodificada em dependência da informação de frequência de amostragem. O decodificador de deformação é configurado para prover a representação de sinal de áudio decodificado com base na representação de espectro codificado e em dependência da informação de deformação de tempo decodificada.

Description

f 1/74 + : DECODIFICADOR DE SINAL DE ÁUDIO, CODIFICADOR DE ' .. SINAL DE ÁUDIO, MÉTODOS E PROGRAMA DE COMPUTADOR UTILIZANDO UMA | : CODIFICAÇÃO DE CONTORNO DA DEFORMAÇÃO NO TEMPO DEPENDENTE DA TAXA | ” -DE AMOSTRAGEM
HISTÓRICO DA INVENÇÃO ' As realizações, de acordo com a invenção, referem-se a um decodificador de sinal de áudio. As realizações adicionais, de acordo com à invenção, referem-se a um codificador de sinal de áudio. As realizações adicionais, de acordo com a invenção, referem-se a um método para decodificar um sinal de áudio, a um método para codificar um sinal de áudio e à um : programa de computador. Algumas realizações, de acordo com a invenção, referem-se à uma quantificação de variação de timbre dependente da frequência de amostragem.
A seguir, será dada uma breve introdução no campo de codificação de áudio deformado no tempo, cujos conceitos podem ser aplicados com algumas das realizações da invenção.
Nos últimos anos, foram desenvolvidas técnicas para transformar um sinal de áudio em uma representação de domínio de frequência e para codificar de maneira eficiente à representação de domínio de frequência, por exemplo, ao levar em conta os limites de mascaramento perceptual. Esse conceito de codificação de sinal de áudio é particularmente eficiente se o comprimento do bloco, ao qual um conjunto de coeficientes | espectrais codificados é transmitido, for longo e se somente um | número comparativamente pequeno de coeficientes espectrais estiver bem acima do limite de mascaramento global, enquanto um amplo
Sm 2/74 : número de coeficientes espectrais estiver próximo ou abaixo do . limite de mascaramento global e puder, portanto, ser ignorado (ou codificado com comprimento de código mínimo). Um espectro no qual a dita condição se mantém é, algumas vezes, chamado de um espectro esparso.
Por exemplo, transformadas sobrepostas moduladas à base de seno e cosseno são geralmente utilizadas em aplicações para codificação de fonte devido às suas propriedades de compactação de energia.
Isto é, para tons harmônicos com | frequências fundamentais constantes (timbre), elas concentram a energia do sinal a um baixo número de componentes espectrais (subfaixas), o que leva a uma representação de sinal eficiente. | De modo geral, o timbre (fundamental) de um sinal deve ser entendido para ser a frequência dominante mais baixa diferenciável do espectro do sinal.
No modelo de fala comum, o timbre é a frequência do sinal de excitação modulado pela garganta humana.
Se somente uma frequência fundamental estivesse presente, o espectro seria extremamente simples, compreendendo a frequência fundamental e os sobretons somente.
Esse espectro poderia ser altamente codificado de maneira eficiente.
Para sinais com timbre variante; entretanto, uma energia correspondente a cada componente harmônico é propagada por diversos coeficientes de transformação, levando, assim, a uma redução da eficiência de codificação.
A fim de compensar a redução da eficiência de codificação, o sinal de áudio a ser codificado é novamente amostrado de maneira eficiente em uma estrutura temporal não uniforme.
No processamento subsequente, as posições de amostra . obtidas pela reamostragem não uniforme são processadas como se
: P 3/74 » Á elas representassem valores em uma estrutura temporal uniforme. í Y Essa operação é comumente denotada pela frase “deformação de tempo”. Os tempos de amostra podem ser escolhidos de maneira vantajosa em dependência da variação temporal do timbre, de modo que uma variação de timbre na versão deformada de tempo do sinal de áudio seja menor que uma variação de timbre na versão original do sinal de áudio (antes da deformação de tempo). Após a deformação de tempo do sinal de áudio, a versão deformada de tempo do sinal de áudio é convertida em domínio de frequência. A deformação de tempo dependente do timbre tem o efeito que a representação de domínio de frequência do sinal de áudio deformado no tempo apresenta tipicamente uma compactação de energia em um número muito menor de componentes espectrais que uma representação de domínio de frequência do original (sinal de áudio não deformado | de tempo). | No lado do decodificador, a representação de domínio de frequência do sinal de áudio deformado no tempo é convertida ao domínio de tempo, de modo que uma representação de domínio de tempo do sinal de áudio deformado no tempo esteja disponível no lado do decodificador. Entretanto, na representação de domínio de tempo do sinal de áudio deformado no tempo . reconstruído no lado do decodificador, as variações de timbre originais do sinal de áudio inserido no lado do codificador não são incluídas. Da mesma forma, ainda outra deformação de tempo pela reamostragem da representação de domínio de tempo reconstruída no lado do decodificador do sinal de áudio deformado no tempo é aplicada.
A fim de obter uma boa reconstrução do sinal de mm 4/74 " áudio inserido no lado do codificador no decodificador, é Ô . desejável que a deformação de tempo no lado do decodificador seja pelo menos aproximadamente a operação inversa em relação à deformação de tempo no lado do codificador. A fim de obter uma | | deformação de tempo apropriada, é desejável ter uma informação | disponível no decodificador, o que permite um ajuste da deformação | de tempo no lado do decodificador. : Como é tipicamente necessário transferir essa informação do codificador de sinal de áudio ao decodificador de sinal de áudio, é desejável manter à taxa de bits, necessária para essa transmissão, pequena enquanto ainda permite uma reconstrução confiável da informação de deformação de tempo necessária no lado do decodificador. Tendo em vista essa situação, há um desejo de ter um conceito que permite uma reconstrução confiável de uma informação deformada no tempo com base em uma representação | codificada de maneira eficiente da informação de deformação no tempo.
SUMÁRIO DA INVENÇÃO Uma realização, de acordo com a invenção, cria um | decodificador de áudio configurado para prover uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado compreendendo uma informação de frequência de amostragem, uma informação de deformação de tempo codificada e uma representação de espectro codificado. o decodificador de sinal de áudio compreende um calculador de deformação de tempo (que pode, por exemplo, ter a função de um decodificador de deformação de tempo) e um decodificador de á 5/74
" deformação.
O calculador de deformação de tempo é configurado para ue mapear a informação de deformação de tempo codificada em uma informação de deformação de tempo decodificada.
O calculador de deformação de tempo é configurado para adaptar uma norma de | 5 mapeamento para mapear senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados que descrevem a informação de deformação de tempo decodificada em dependência da informação de frequência de amostragem. o decodificador de deformação é configurado para prover a representação de sinal de áudio decodificado com base na representação de espectro codificado e em dependência da
| informação de deformação de tempo decodificada.
Essa realização, de acordo com a invenção, tem base na descoberta que uma deformação de tempo (que é, por exemplo, descrita por um contorno de deformação de tempo) pode ser codificada de maneira eficiente se a norma de mapeamento para mapear senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados for adaptada à taxa de amostragem, pois foi descoberto que é desejável representar uma deformação de tempo maior por amostra para frequências de amostragem menores que para frequências de amostragem maiores.
Descobriu que esse desejo surge do fato que é vantajoso se uma deformação de tempo por unidade de tempo, que é representável pelo conjunto de senhas da informação de deformação de tempo codificada, for aproximadamente independente da frequência de amostragem, que se traduz em consequência de uma deformação de tempo representável por um determinado conjunto de senhas deve ser maior para frequências de amostragem menores que para frequências
Á 6/74 Í de amostragem maiores, mediante a suposição que o número de senhas ' QE de deformação de tempo por amostra de áudio (ou por estrutura de áudio) permanece pelo menos aproximadamente constante, independente da frequência de amostragem real.
Para resumir, descobriu-se que é vantajoso adaptar a norma de mapeamento para mapear senhas da informação de deformação de tempo codificada (também, abreviadamente mencionadas | como senhas de deformação de tempo) em valores de deformação de tempo decodificados em dependência da frequência de amostragem do sinal de áudio codificado (representado pela representação de sinal de áudio codificado), porque isso permite representar os valores de deformação de tempo relevantes utilizando um pequeno (e consequentemente, eficiente em termos de taxa de bits) conjunto de ' senhas de deformação de tempo tanto para o caso de uma frequência de amostragem comparativamente alta como para o caso de uma frequência de amostragem comparativamente baixa.
Ao adaptar a norma de mapeamento, é possível codificar uma variação comparativamente menor de valores de deformação de tempo, utilizando uma resolução maior para uma frequência de amostragem comparativamente alta e codificar uma variação comparativamente maior de valores de deformação de tempo com uma resolução mais grossa para uma frequência de amostragem comparativamente menor, o que, por sua vez, traz consigo uma eficiência de taxa de bits muito boa.
Em uma realização preferida, as senhas da informação de deformação de tempo codificada descrevem uma evolução temporal de um contorno de deformação de tempo. O calculador de deformação de tempo é preferencialmente configurado
| | ' 7/74 . : para avaliar um número predeterminado de senhas da informação de , ur deformação de tempo codificada para uma estrutura de áudio de um sinal de áudio codificado representado pela representação de sinal de áudio codificado.
O número predeterminado de senhas é independente de uma frequência de amostragem do sinal de áudio codificado.
Da mesma forma, pode ser alcançado que um formato de fluxo de bits permaneça substancialmente independente da : frequência de amostragem, enquanto é ainda possível codificar de maneira eficiente a deformação de tempo.
Ao utilizar um número —predeterminado para senhas de deformação de tempo para uma | estrutura de áudio do sinal de áudio codificado, em que o número | predeterminado é preferencialmente independente da frequência de | amostragem do sinal de áudio codificado, o formato de fluxo de bits não altera com a frequência de amostragem e o analisador de fluxo de bits de um decodificador de áudio não precisa ser ajustado à frequência de amostragem.
Entretanto, uma codificação eficiente da deformação de tempo é ainda alcançada pela adaptação da norma de mapeamento para mapear senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados, pois o mapeamento das senhas de deformação de tempo em valores de deformação de tempo decodificados pode ser adaptado à frequência de amostragem, de modo que uma variação representável de valores de deformação de tempo traga consigo um bom compromisso entre resolução e deformação de tempo codificável máxima para diferentes frequências de amostragem.
Em uma realização preferida, o calculador de deformação de tempo é configurado para adaptar a norma de mapeamento, de modo que uma variação de valores de deformação de
à 8/74 ' tempo decodificados nos quais as senhas de um determinado conjunto ' e de senhas da informação de deformação de tempo codificada são mapeadas, seja maior para uma primeira frequência de amostragem que para uma segunda frequência de amostragem, contanto que a primeira frequência de amostragem seja menor que a segunda frequência de amostragem. Da mesma forma, as mesmas senhas, que codificam uma variação comparativamente menor de valores de deformação de tempo para uma frequência de amostragem comparativamente alta, codificam uma variação comparativamente maior de valores de deformação de tempo para uma frequência de amostragem comparativamente menor. Assim, pode ser garantido que é possível codificar aproximadamente a mesma deformação de tempo por unidade de tempo (definida, por exemplo, em oitavas por segundo, abreviadamente designadas como “oct/s”) para uma frequência de amostragem alta e uma frequência de amostragem baixa, mesmo que mais senhas de deformação de tempo sejam transmitidas por unidade de tempo para uma frequência de amostragem comparativamente maior que para uma frequência de amostragem comparativamente menor.
Em uma realização preferida, os valores de “20 deformação de tempo decodificados são valores de contorno de | deformação de tempo que representam valores de um contorno de deformação de tempo ou valores de variação de contorno de deformação de tempo que representam uma alteração de valores de um contorno de deformação de tempo.
Em uma realização preferida, o calculador de deformação de tempo é configurado para adaptar a norma de mapeamento, de modo que uma alteração máxima do timbre em um : determinado número de amostras, que é representável por um
| | " 9/74 ' determinado conjunto de senhas da informação de deformação de ' E tempo codificada, seja maior para uma primeira frequência de amostragem que para uma segunda frequência de amostragem contanto | | que a primeira frequência de amostragem seja menor que a segunda | | o frequência de amostragem.
Da mesma forma, o mesmo conjunto de ! senhas é utilizado para descrever diferentes variações de valores | de deformação de tempo decodificados, o que é muito bem adaptado às diferentes frequências de amostragem.
Em uma realização preferida, o calculador de deformação de tempo é configurado para adaptar a norma de mapeamento, de modo que uma alteração máxima do timbre sobre um | determinado período de tempo, que é representável por um determinado conjunto de senhas da informação de deformação de ' tempo codificada em uma primeira frequência de amostragem, seja Í diferente de uma alteração máxima do timbre ao longo de um determinado período de tempo, que é representável pelo determinado | conjunto de senhas da informação de deformação de tempo codificada | | em uma segunda frequência de amostragem, em não mais que 10% para | | uma primeira frequência de amostragem e uma segunda frequência de | amostragem que difere em pelo menos 30%. Da mesma forma, o fato de | | que um determinado conjunto de senhas representaria | convencionalmente uma deformação de tempo significativamente diferente por unidade de tempo para diferentes frequências de | amostragem é evitado, de acordo com a presente invenção, pela | 25 adaptação da norma de mapeamento.
Assim, o número de senhas diferentes pode ser mantido razoavelmente pequeno, o que resulta em uma boa eficiência de codificação, em que a resolução para a codificação da deformação de tempo é independentemente adaptada à |
À 10/74 " frequência de amostragem. ' a Em uma realização preferida, o calculador de | deformação de tempo é configurado para utilizar diferentes tabelas de mapeamento para mapear senhas da informação de deformação de | 5 tempo codificada em valores de deformação de tempo decodificados em dependência da informação de frequência de amostragem. Ao | prover diferentes tabelas de mapeamento, o mecanismo de . decodificação pode ser mantido muito simples no gasto das exigências de memória...
Em outra realização, o calculador de deformação de tempo é configurado para adaptar uma norma de mapeamento (referência), que descreve valores de deformação de tempo | decodificados associados às diferentes senhas da informação de | deformação de tempo codificada para uma frequência de amostragem | 15 de referência, a uma frequência de amostragem real diferente da | frequência de amostragem de referência. Da mesma forma, uma | | demanda de memória pode ser mantida pequena, pois é somente | necessário armazenar os valores de mapeamento (isto é, valores de deformação de tempo decodificados) associados a um conjunto de diferentes senhas para uma única frequência de amostragem de | referência. Descobriu-se que é possível adaptar os valores de | mapeamento, com pequeno esforço computacional, em uma frequência de amostragem diferente. Em uma realização preferida, o calculador de deformação de tempo é configurado para escalar uma parte dos valores de mapeamento, essa parte descreve uma deformação de tempo, em dependência de uma proporção entre à frequência de amostragem real e a frequência de amostragem de referência.
' 11/74 : : Descobriu-se que esse escalamento linear de uma parte dos valores um de mapeamento constitui uma solução particularmente eficiente para obter os valores de mapeamento para diferentes frequências de amostragem.
Em uma realização preferida, os valores de deformação de tempo decodificados descrevem uma variação de um contorno de deformação de tempo em um número predeterminado de amostras do sinal de áudio codificado representado pela representação de sinal de áudio codificado. Nesse caso, o calculador de deformação de tempo é preferencialmente configurado . para combinar uma pluralidade de valores de deformação de tempo decodificados que representam uma variação do contorno de deformação de tempo, para derivar um valor de nó de contorno de deformação, de modo que um desvio do valor de nó de deformação | 15 derivado de um valor de nó de deformação de referência seja maior | que um desvio representável por um único dentre os valores de deformação de tempo decodificados. Ao combinar uma pluralidade de valores de deformação de tempo decodificados, é possível manter uma variação necessária para um valor de deformação de tempo individual suficientemente pequeno. Isso aumenta a eficiência de codificação dos valores de deformação de tempo. Ao mesmo tempo, é possível ajustar a variação de deformações de tempo representáveis ao adaptar a norma de mapeamento.
Em uma realização preferida, os valores de deformação de tempo codificados descrevem uma alteração relativa do contorno de deformação de tempo sobre um número predeterminado de amostras do sinal de áudio codificado representado pela representação de sinal de áudio codificado. Nesse caso, o
| ' 12/74 0 7 calculador de deformação de tempo é configurado para derivar a y Na informação de deformação de tempo decodificada dos valores de deformação de tempo decodificados, de modo que a informação de deformação de tempo decodificada descreva o contorno de deformação de tempo.
Uma combinação de um uso de valores de deformação de tempo, que descrevem uma alteração relativa do contorno de deformação de tempo sobre um número predeterminado de amostras do sinal de áudio codificado, com uma adaptação de uma norma de mapeamento para mapear senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados traz consigo uma alta eficiência de codificação, pois pode ser garantido que uma variação substancialmente idêntica ou, pelo menos, semelhante de deformação de tempo (em termos de oct/s) pode ser codificada para diferentes frequências de amostragem, mesmo que o número de senhas de deformação de tempo por amostra do sinal de áudio codificado seja mantido constante no caso de uma alteração da frequência de amostragem.
Em uma realização preferida, o calculador de deformação de tempo é configurado para computar pontos de suporte de um contorno de deformação de tempo com base nos valores de deformação de tempo decodificados.
Nesse caso, o calculador de deformação de tempo é configurado para interpolar entre os pontos ' de suporte para obter o contorno de deformação de tempo como a informação de deformação de tempo decodificada.
Nesse caso, um número de valores de deformação de tempo decodificados por estrutura de áudio é predeterminado e independente da frequência de amostragem.
Da mesma forma, o esquema de interpolação entre os pontos de suporte pode ser deixado inalterado, o que ajuda a
' 13/74 ' ' manter a complexidade computacional pequena.
e Uma realização, de acordo com a invenção, cria um codificador de sinal de áudio para prover uma representação codificada de um sinal de áudio. O codificador de sinal de áudio compreende um codificador de contorno de deformação de tempo configurado para mapear valores de deformação de tempo que descrevem um contorno de deformação de tempo em uma informação de ; deformação de tempo codificada. O codificador de contorno de deformação de tempo é configurado para adaptar uma norma de mapeamento para mapear os valores de deformação de tempo que descrevem o contorno de deformação de tempo em senhas da informação de deformação de tempo codificada em dependência de uma frequência de amostragem do sinal de áudio. O codificador de sinal de áudio também compreende um codificador de sinal de deformação de tempo configurado para obter uma representação codificada de um espectro do sinal de áudio, levando em consideração uma deformação ' de tempo descrita pela informação de contorno de deformação de tempo. Nesse caso, à representação codificada do sinal de áudio compreende as senhas da informação de deformação de tempo codificada, a representação codificada do espectro e uma informação de frequência de amostragem que descrevem a frequência de amostragem. O dito codificador de áudio é bem adequado para prover a representação de sinal de áudio codificado que é utilizada pelo decodificador de sinal de áudio discutido acima.
Ademais, O codificador de sinal de áudio traz consigo as mesmas | vantagens que foram discutidas acima em relação ao decodificador de sinal de áudio e tem base nas mesmas considerações. Outra realização, de acordo com a invenção, cria
' 14/74 . " um método para prover a representação de sinal de áudio EE decodificado com base em uma representação de sinal de áudio codificado.
Outra realização, de acordo com a invenção cria um método para prover uma representação codificada de um sinal de áudio.
Outra realização, de acordo com a invenção, cria um programa de computador para implementar um ou ambos os ditos métodos.
BREVE DESCRIÇÃO DAS FIGURAS | . As realizações, de acordo com a presente | invenção, serão subsequentemente descritas tendo como referência | as figuras anexas, nas quais: A Figura l1 apresenta um diagrama de blocos esquemático de um codificador de sinal de áudio, de acordo com uma realização da presente invenção; A Figura 2 apresenta um diagrama de blocos esquemático de um decodificador de sinal de áudio, de acordo com uma realização da presente invenção; “20 A Figura 3a apresenta um diagrama de blocos esquemático de um codificador de sinal de áudio, de acordo com outra realização da presente invenção; A Figura 3b apresenta um diagrama de blocos esquemático de um decodificador de sinal de áudio, de acordo com outra realização da presente invenção; A Figura 4a apresenta um diagrama de blocos esquemático de um mapeador para mapear uma informação de deformação de tempo codificada em valores de deformação de tempo f 15/74 i Í decodificados, de acordo com uma realização da invenção;
— A Figura 4b apresenta um diagrama de blocos esquemático de um mapeador para mapear uma informação de deformação de tempo codificada em valores de deformação de tempo decodificados, de acordo com outra realização da invenção; A Figura 4c apresenta uma representação de tabela de deformações de um esquema de quantificação convencional; A Figura 4d apresenta uma representação de tabela de um mapeamento de índices de senha em valores de deformação de tempo decodificados para diferentes frequências de amostragem, de acordo com uma realização da invenção; A Figura 4e apresenta uma representação de tabela de um mapeamento de índices de senha em valores de deformação de | tempo decodificados para diferentes frequências de amostragem, de | acordo com outra realização da invenção; ! As Figuras 5a, 5b apresentam um extrato detalhado de um diagrama de blocos esquemático de um decodificador de sinal de áudio, de acordo com uma realização da invenção; As Figuras 6a, 6b apresentam um extrato detalhado de um fluxograma de um mapeador para prover uma representação de sinal de áudio decodificado, de acordo com uma realização da invenção; A Figura 7a apresenta uma legenda de definições de elementos de dados e elementos de ajuda, que são utilizados em um decodificador de áudio, de acordo com uma realização da invenção; | A Figura 7b apresenta uma legenda de definições de constantes, que são utilizadas em um decodificador de áudio, de
] 16/74 s " acordo com uma realização da invenção;
E A Figura 8 apresenta uma representação de tabela de um mapeamento de uma senha índice em um valor de deformação de tempo decodificado correspondente;
A Figura 9 apresenta uma representação de código | de pseudoprograma de um algoritmo para interpolar linearmente | entre nós de deformação igualmente espaçados;
A Figura l10a apresenta uma representação de código de pseudoprograma de uma função auxiliadora
“warp time inv”“;
A Figura 10b apresenta uma representação de código de pseudoprograma de uma função auxiliadora “warp inv vec”;
A Figura 11 apresenta uma representação de código de pseudoprograma de um algoritmo para computar um vetor de posição de amostra e um comprimento de transição;
A Figura 12 apresenta uma representação de tabela de valores de um comprimento de janela de síntese N dependendo de uma sequência de janelas e um comprimento de estrutura de codificador central;
A Figura 13 apresenta uma representação de matriz de sequências de janelas permitidas;
A Figura 14 apresenta uma representação de código de pseudoprograma de um algoritmo para janelar e para uma sobreposição-adição interna de uma sequência de janelas do tipo
“EIGHT SHORT SEQUENCE”;
A Figura 15 apresenta uma representação de código de pseudoprograma de um algoritmo para o janelamento e a sobreposição e adição interna de outras sequências de janelas, que
| ' 17/74 nm | . , não são do tipo “EIGHT SHORT SEQUENCE”; ma A Figura 16 apresenta uma representação de código de pseudoprograma de um algoritmo para reamostragem; e As Figuras l17a-l17f apresentam representações de elementos de sintaxe do fluxo de áudio, de acordo com uma realização da invenção.
DESCRIÇÃO DETALHADA DAS REALIZAÇÕES
1. CODIFICADOR DE SINAL DE ÁUDIO DE DEFORMAÇÃO DE TEMPO, DE ACORDO COM A FIGURA 1 A Figura 1 apresenta um diagrama de blocos esquemático de um codificador de sinal de áudio de deformação de tempo 100, de acordo com uma realização da invenção. O codificador de sinal de áudio 100 é configurado para receber um sinal de áudio de entrada 110 e para prover, com base nisso, uma representação codificada 112 do sinal de áudio de entrada 110. A representação codificada 112 do sinal de áudio de entrada 110 compreende, por exemplo, uma representação de espectro codificado, uma informação de deformação de tempo codificada (que pode ser designada, por exemplo, com “tw data” e que pode, por exemplo, compreender senhas tw ratio[il) e uma informação de frequência de amostragem. o codificador de sinal de áudio pode | opcionalmente compreender um analisador de deformação de tempo | 120, que pode ser configurado para receber o sinal de áudio de entrada 110, para analisar o sinal de áudio de entrada e para prover uma informação de contorno de deformação de tempo 122, de modo que a informação de contorno de deformação de tempo 122 descreva, por exemplo, uma evolução temporal do timbre do sinal de
Lo EI E TIP E E E E EL LIFE E E LIT E IJ ES E IJ E E E TI E IFP E E E E PR EEE EA EEE EEE EA AA EEE EA EO ESA AA AA EEE EEE A OA : 18/74 . 7 áudio 110. Entretanto, o codificador de sinal de áudio 100 pode, Ne alternativamente, receber uma informação de contorno de deformação | de tempo provida por um analisador de deformação de tempo que é | externo ao codificador de sinal de áudio.
O codificador de sinal de áudio 100 também compreende um codificador de contorno de deformação de tempo 130, | | que é configurado para receber a informação de contorno de deformação de tempo 122 e para prover, com base nisso, a informação de deformação de tempo codificada 132. Por exemplo, o codificador de contorno de deformação de tempo 130 pode receber valores de deformação de tempo que descrevem o contorno de deformação de tempo.
Os valores de deformação de tempo podem, por exemplo, descrever valores absolutos de um contorno de deformação de tempo normalizado ou não normalizado ou alterações relativas ao longo do tempo do contorno de deformação de tempo normalizado ou não normalizado.
Falando de modo geral, o codificador de contorno de deformação de tempo 130 é configurado para mapear os valores de deformação de tempo que descrevem o contorno de deformação de tempo 122 em informação de deformação de tempo codificada 132. O codificador de contorno de deformação de tempo 130 é configurado para adaptar uma norma de mapeamento para mapear os valores de deformação de tempo que descrevem o contorno de ' deformação de tempo em senhas da informação de deformação de tempo codificada 132 em dependência de uma frequência de amostragem do sinal de áudio.
Para este fim, o codificador de contorno de deformação de tempo 130 pode receber uma informação de frequência de amostragem, para, com isso, adaptar o dito mapeamento 134. O codificador de sinal de áudio 100 também
' 19/74 . , compreende um codificador de sinal de deformação de tempo 140, que .. é configurado para obter uma representação codificada 142 de um espectro do sinal de áudio 110, levando em consideração uma deformação de tempo descrita pela informação de contorno de deformação de tempo 122.
Consequentemente, a representação de sinal de áudio codificado 112 pode ser provida, por exemplo, utilizando um provedor de fluxo de bits, de modo que a representação codificada 112 do sinal de áudio 110 compreenda as senhas da informação de deformação de tempo codificada 132, a representação codificada 142 | do espectro e uma informação de frequência de amostragem 152 que descreve a frequência de amostragem (por exemplo, a frequência de amostragem do sinal de áudio de entrada 110 e/ou a frequência de amostragem (média) utilizada pelo codificador de sinal de deformação de tempo 140 em contexto com a conversão de domínio de frequência para domínio de tempo).
Em relação à funcionalidade do codificador de sinal de áudio 100, pode ser dito que o espectro de um sinal de áudio, que altera seu timbre durante uma estrutura de áudio (em que o comprimento de uma estrutura de áudio, em termos de amostras de áudio, pode ser igual a um comprimento de transformação de uma transformação de domínio de frequência para domínio de tempo utilizada pelo codificador de sinal de deformação de tempo) pode ser compactada por uma reamostragem que varia no tempo. Da mesma forma, a reamostragem que varia no tempo, que pode ser realizada pelo codificador de sinal de deformação de tempo 140 em dependência da informação de contorno de deformação de tempo 122, resulta em um espectro (do sinal de áudio reamostrado) que pode
' 20/74 EN | . ] ser codificado com melhor eficiência de taxa de bits que o | de espectro do sinal de áudio de entrada original 110. Entretanto, a deformação de tempo que é aplicada no codificador de sinal de deformação de tempo 140 é sinalizada a um decodificador de sinal de áudio 200, de acordo com a Figura 2, utilizando a informação de deformação de tempo codificada. Ademais, a codificação da informação de deformação de tempo, que pode compreender um mapeamento dos valores de deformação de tempo em senhas, é adaptada em dependência da informação de frequência de amostragem, de modo que diferentes mapeamentos dos valores de deformação de tempo em senhas sejam utilizados para diferentes frequências de amostragem do sinal de áudio de entrada 110 ou para diferentes frequências de amostragem nas quais o codificador de sinal de deformação de tempo 140 (ou a conversão de domínio de frequência para domínio de tempo dele) é operado.
Assim, o mapeamento mais eficiente em termos de taxa de bits pode ser escolhido para cada uma das possíveis frequências de amostragem, que podem ser manipuladas pelo codificador de sinal de deformação de tempo 140. Essa adaptação “20 faz sentido porque se descobriu que uma taxa de bits da informação de deformação de tempo codificada pode ser mantida pequena mesmo no caso de múltiplas frequências de amostragem possíveis utilizadas pelo codificador de sinal de deformação de tempo 140 se o mapeamento dos valores de deformação de tempo que descrevem o contorno de deformação de tempo em senhas corresponderá à frequência atual. Da mesma forma, pode ser garantido que um pequeno conjunto de diferentes senhas é suficiente para codificar o contorno de deformação de tempo que refina suficientemente a
' 21/74 R ' resolução e também com variação dinâmica suficientemente grande, me tanto no caso de frequências de amostragem comparativamente pequenas como frequências de amostragem comparativamente grandes, mesmo se o número de senhas por estrutura de áudio permanecer constante ao longo de diferentes frequências de amostragem (que, por sua vez, provê um fluxo de bits independente da frequência de amostragem e, portanto, facilita a geração, armazenamento, pareamento e processamento imediato da representação de sinal de | | áudio codificado 112). | Os detalhes adicionais em relação à adaptação do mapeamento 134 serão discutidos abaixo.
2. DECODIFICADOR DE SINAL DE ÁUDIO DE DEFORMAÇÃO DE TEMPO, DE ACORDO COM A FIGURA 2 A Figura 2 apresenta um diagrama de blocos esquemático de um decodificador de sinal de áudio de deformação de tempo 200, de acordo com uma realização da invenção.
O decodificador de sinal de áudio 200 é configurado para prover uma representação de sinal de áudio decodificado 212 (por exemplo na forma de uma representação de sinal de áudio de domínio de tempo) com base em uma representação de sinal de áudio codificado 210. A representação de sinal de áudio codificado 210 pode, por exemplo, compreender uma representação de espectro codificado 214 (que pode ser igual à representação de espectro codificado 142 provida pelo codificador de sinal de áudio de deformação de tempo 140), uma informação de deformação de tempo codificada 216 (que pode, por exemplo, ser igual à informação de deformação de tempo codificada 132 provida pelo codificador de contorno de deformação de tempo 130), e uma
' 22/74 . : informação de frequência de amostragem 218 (que pode, por exemplo, NE ser igual à informação de frequência de amostragem 152). O decodificador de sinal de áudio 200 compreende um calculador de deformação de tempo 230, que também pode ser considerado um decodificador de deformação de tempo.
O calculador de deformação de tempo 230 é configurado para mapear a informação de deformação de tempo codificada 216 em uma informação de deformação de tempo decodificada 232. A informação de deformação de tempo codificada 216 pode, por exemplo, compreender senhas de deformação de tempo “tw ratio[i]”, e a informação de deformação de tempo decodificada pode, por exemplo, tomar a forma de uma informação de contorno de deformação de tempo que descreve um contorno de deformação de tempo.
O calculador de deformação de tempo 230 é configurado para adaptar uma norma de mapeamento 234 para mapear (deformação de tempo) senhas da informação de deformação de tempo codificada 216 em valores de deformação de tempo decodificados que descrevem a informação de deformação de tempo decodificada em dependência da informação de frequência de amostragem 218. Da mesma forma, diferentes mapeamentos de senhas da informação de deformação de tempo codificada 216 em valores de deformação de tempo da informação de deformação de tempo decodificada 232 podem ser escolhidos para diferentes frequências de amostragem sinalizadas pela informação de frequência de amostragem.
O decodificador de sinal de áudio 200 também | compreende um decodificador de deformação 240 que é configurado para receber a representação codificada 214 do espectro e para prover a representação de sinal de áudio decodificado 212 com base
: 23/74 . ' na representação de espectro codificado 214 e em dependência da os informação de deformação de tempo decodificada 232. Da mesma forma, o decodificador de sinal de áudio | 200 permite uma decodificação eficiente da informação de | 5 deformação de tempo codificada, tanto para uma frequência de | amostragem comparativamente alta como para uma frequência de | amostragem comparativamente baixa, pois o mapeamento de senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados é dependente da frequência de amostragem. Assim, é possível obter uma alta resolução do contorno de deformação de tempo para uma frequência de amostragem comparativamente alta enquanto ainda cobre uma deformação de tempo suficientemente grande por unidade de tempo para frequências de | amostragem comparativamente pequenas, e enquanto utiliza o mesmo conjunto de senhas tanto para uma frequência de amostragem comparativamente pequena como para uma frequência de amostragem comparativamente alta. Assim, o formato de fluxo de bits é substancialmente independente da frequência de amostragem, enquanto ainda é possível descrever a deformação de tempo com precisão adequada e variação dinâmica, tanto no caso de uma frequência de amostragem comparativamente alta quanto de uma frequência de amostragem comparativamente pequena. Os detalhes adicionais em relação à adaptação do mapeamento 234 serão descritos abaixo. Também, os detalhes adicionais em relação ao decodificador de deformação 240 serão | descritos abaixo.
3. CODIFICADOR DE SINAL DE ÁUDIO DE DEFORMAÇÃO DE : TEMPO, DE ACORDO COM A FIGURA 3a
: 24/74 + ' . A Figura 3a apresenta um diagrama de blocos —. esquemático de um codificador de sinal de áudio de deformação de tempo 300, de acordo com uma realização da invenção. O codificador de sinal de áudio 300, de acordo coma Figura 3, é semelhante ao codificador de sinal de áudio 100, de acordo com a Figura l, de modo que sinais idênticos e dispositivos sejam designados com números de referência idênticos. Entretanto, a Figura 3a apresenta mais detalhes em relação ao codificador de sinal de deformação de tempo 140.
Como a presente invenção é relacionada à uma codificação de áudio de deformação de tempo e decodificação de áudio de deformação de tempo, uma breve visão geral de detalhes do codificador de sinal de áudio de deformação de tempo 140 será dada. O codificador de sinal de áudio de deformação de tempo 140 é configurado para receber um sinal de áudio de entrada 110 e para prover uma representação de espectro codificado 142 do sinal de áudio de entrada 110 para uma sequência de estruturas. O codificador de sinal de áudio de deformação de tempo 140 compreende uma unidade de amostragem e unidade de reamostragem | 20 140a, que é adaptada ao sinal de áudio de entrada de amostra ou de | nova amostra 110 para derivar blocos de sinal (representações | ' amostradas) 140d utilizados como uma base para uma transformação de domínio de frequência. A unidade de amostragem /unidade de reamostragem 140a compreende um calculador de posição de | 25 amostragem 140b, que é configurado para computar posições de amostra que são adaptadas à deformação de tempo descrita pela informação de contorno de deformação de tempo 122 e que não são, portanto, equidistantes no tempo se a deformação de tempo (ou | a 25/74
. " variação de timbre ou variação de frequência f£) for diferente de me zero.
A unidade de amostragem e unidade de reamostragem 140a também compreende um amostrador ou reamostrador 140c, que é configurado para amostrar ou reamostrar uma parte (por exemplo, uma estrutura de áudio) do sinal de áudio de entrada 110 utilizando as posições de amostra temporalmente não equidistantes obtidas pelo calculador de posição de amostragem.
O codificador de sinal de áudio de deformação de tempo 140 ainda compreende um calculador de janela de transformação 140e, que é adaptado para derivar janelas de escalamento para as representações amostradas ou reamostradas 140d produzidas pela unidade de amostragem e unidade de reamostragem 140a.
A informação de janela de escalamento 140f e as representações amostradas/reamostradas 140d são inseridas em um janelador 140g, que é adaptado para aplicar as janelas de escalamento descritas pela informação de janela de escalamento 140f às representações amostradas ou reamostradas 140d correspondentes derivadas pela unidade de amostragem/unidade de reamostragem l40a.
Em outras realizações, O codificador de sinal de áudio de deformação de tempo 140 pode adicionalmente compreender um transformador de domínio de frequência 140i, a fim de derivar uma representação de domínio de frequência 1403 (por exemplo, na forma de coeficientes de transformada ou coeficientes espectrais) da representação amostrada e janelada 140h do sinal de áudio de entrada 110. A representação de domínio de frequência 1403 pode, por exemplo, ser pós-processada.
Ademais, a representação de domínio de frequência 140j ou uma versão pós- processada dela, pode ser codificada utilizando uma codificação
' 26/74 ' a 140k para obter a representação de espectro codificado 142 do ao sinal de áudio de entrada 110.
O codificador de sinal de áudio de deformação de tempo 140 ainda utiliza um contorno de timbre do sinal de áudio de entrada 110, em que o contorno de timbre pode ser descrito por uma informação de contorno de deformação de tempo 122. A informação de contorno de deformação de tempo 122 pode ser provida ao codificador de sinal de áudio 300 como uma informação de entrada ou pode ser derivada pelo codificador de sinal de áudio 300. O codificador de sinal de áudio 300 pode portanto, opcionalmente, compreender um analisador de deformação de tempo 120, que pode operar como um estimador de timbre para derivar a informação de contorno de deformação de tempo 122, de modo que a informação de contorno de deformação de tempo 122 constitua uma informação de contorno de timbre ou descreve o contorno de timbre ou uma frequência fundamental.
A unidade de amostragem /unidade de reamostragem 140a pode operar em uma representação contínua do sinal de áudio de entrada 110. De maneira alternativa; entretanto, a unidade de amostragem/unidade de reamostragem 140a pode operar em uma representação anteriormente amostrada do sinal de áudio de entrada
110. No primeiro caso, a unidade l140a pode amostrar o sinal de áudio de entrada (e pode, portanto, ser considerada uma unidade de amostragem), e no último caso, a unidade l140a pode reamostrar a representação anteriormente amostrada do sinal de áudio de entrada 110 (e pode, portanto, ser considerada uma unidade de reamostragem). A unidade de amostragem 140a pode, por exemplo, ser adaptada aos blocos de áudio de sobreposição próximos à deformação
: 27/74 . " " de tempo, de modo que a parte de sobreposição tem uma variação de
2. timbre constante ou de timbre reduzido dentro de cada um dos blocos de entrada após a amostragem ou reamostragem. O calculador de janela de transformação 140e pode, opcionalmente, derivar as janelas de escalamento para os blocos de áudio (por exemplo, para as estruturas de áudio) dependendo da deformação de tempo realizada pelo amostrador 140a. Para este fim, um bloco de ajuste opcional 1401 pode estar presente a fim de definir a norma de deformação utilizada pelo amostrador, que é, então, também provida ao calculador de janela de transformação l40e. Em uma realização alternativa, o bloco de ajuste 1401 pode ser omitido e o contorno de timbre descrito pela informação de contorno de deformação de tempo 122 pode ser diretamente provida ao calculador de janela de transformação 1l40€e, que pode, por si só, realizar os cálculos adequados. Além disso, a unidade de amostragem /unidade de reamostragem 140a pode comunicar a amostragem aplicada ao calculador de janela de transformação | 140e a fim de permitir o cálculo de janelas de escalamento | apropriadas. | | Entretanto, em algumas outras realizações, O | janelamento pode ser substancialmente independente dos detalhes da deformação de tempo. | | A deformação de tempo é realizada pela unidade de amostragem/unidade de reamostragem 140a de modo que um contorno de timbre de blocos de áudio (ou estruturas de áudio) amostrados (ou | reamostrados) deformados no tempo ou amostrados (ou reamostrados) pela unidade 140a sejam mais constantes que O contorno de timbre
' 28/74 * Nas do sinal de áudio de entrada original 110. Da mesma forma, uma 7 mancha do espectro, que é causada por uma variação temporal do contorno de timbre, é reduzida pela amostragem ou reamostragem realizada pela unidade l40a.
Assim, o espectro do sinal de áudio amostrado ou reamostrado 140d é menos manchado (e, tipicamente, apresenta mais picos espectrais e depressões espectrais explícitas) que o espectro do sinal de áudio de entrada 110. Da mesma forma, é tipicamente possível codificar o espectro do sinal de áudio amostrado (ou reamostrado) 140d utilizando uma taxa de bits menor quando comparada a uma taxa de bits que seria | necessária para codificar o espectro do sinal de áudio de entrada | 110 com a mesma precisão.
Deve ser aqui observado que o sinal de áudio de entrada 110 é tipicamente processado por estrutura, em que as estruturas podem estar em sobreposição ou não, dependendo das necessidades específicas.
Por exemplo, cada uma das estruturas do sinal de áudio de entrada pode ser amostrada ou reamostradas individualmente pela unidade 140a, para, com isso, obter uma | sequência de estruturas amostradas (ou reamostradas) descritas pelos respectivos conjuntos de amostras de domínio de tempo 140d.
Também, o janelamento pode ser aplicado individualmente às estruturas —amostradas ou reamostradas, representadas — pelos respectivos conjuntos de amostras de domínio de tempo 140d, pelo janelamento 140g.
Ademais, as estruturas janeladas e reamostradas, descritas pelos respectivos conjuntos de amostras de domínio de tempo janeladas e reamostradas 140h, podem ser transformadas individualmente em um domínio de frequência pela transformação 140i.
Não obstante, pode haver alguma sobreposição (temporal) das
- 29/74 - . E estruturas individuais. mm Ademais, deve ser observado que Oo sinal de áudio 110 pode ser amostrado com uma frequência de amostragem predeterminada (também designada como uma taxa de amostragem). Na reamostragem, que é realizada pelo amostrador ou reamostrador 140c, a reamostragem pode ser realizada de modo que um bloco (ou estrutura) reamostrado do sinal de áudio de entrada 110 pode compreender uma frequência de amostragem média (ou taxa de amostragem) que é idêntica (ou pelo menos aproximadamente idêntica, por exemplo, dentro de uma tolerância de +/- 5%) à frequência de amostragem (ou taxa de amostragem) do sinal de áudio de entrada 110. Entretanto, o codificador de sinal de áudio 300 pode, de maneira alternativa, ser configurado para operar com sinais de áudio de entrada de diferentes frequências de amostragem (ou taxas de amostragem). Da mesma forma, a frequência de amostragem média | (ou taxa de amostragem) dos blocos ou estruturas reamostrados, | | representados pelas amostras de domínio de tempo 140d, podem ! | variar em dependência da frequência de amostragem ou taxa de | amostragem do sinal de áudio de entrada 110 em algumas realizações.
Entretanto, também é naturalmente possível que a frequência de amostragem média ou taxa de amostragem dos blocos ou | estruturas do sinal de áudio amostrado ou reamostrado, representado pelas amostras de domínio de tempo 140d, seja | diferente da taxa de amostragem do sinal de áudio de entrada 110, pois o amostrador l140a pode realizar tanto uma conversão de taxa de amostragem, de acordo com desejos ou exigências de um operador,
' 30/74 FUN como uma deformação de tempo.
Je Consequentemente, pode ser dito que os blocos ou estruturas do sinal de áudio amostrado ou reamostrado, representados pelos conjuntos de amostras de domínio de tempo 140d, podem ser providos em diferentes frequências de amostragem ou taxas de amostragem, dependendo de uma frequência de amostragem média ou taxa de amostragem do sinal de áudio de entrada 110 e/ou | desejos dos usuários. Entretanto, em algumas realizações, um comprimento dos blocos ou estruturas do sinal de áudio amostrado ou reamostrado representados pelos conjuntos de valores espectrais | 140d, em termos de amostras de áudio, pode ser constante mesmo | . para diferentes frequências de amostragem ou taxas de amostragem | médias. Entretanto, a troca entre dois comprimentos possíveis (em | 15 termos de amostras de áudio por bloco ou estrutura) pode ocorrer em algumas realizações, em que um comprimento do bloco Ou comprimento de estrutura em um primeiro modo (bloco curto) pode ser independente da frequência de amostragem média, e em que um comprimento do bloco ou comprimento de estrutura (em termos de amostras de áudio) em um segundo modo (bloco longo) pode ser independente da frequência de amostragem média ou taxa de ' amostragem também. Da mesma forma, o janelamento, que é realizado pelo janelador 140g, a transformação, que é realizada pelo transformador 140i, e a codificação, que é realizada pelo codificador 140k, podem ser substancialmente independentes da frequência de amostragem média ou taxa de amostragem do sinal de áudio amostrado ou reamostrado 140d (exceto para uma possível
| e Ns troca entre um modo de bloco curto e um modo de bloco longo que E pode ocorrer independente da frequência de amostragem média Ou taxa de amostragem). Para concluiri o codificador de sinal de deformação de tempo 140 permite codificar eficientemente o sinal de áudio de entrada 110, pois a amostragem ou reamostragem realizada pelo amostrador 140a resulta em um sinal de áudio reamostrado 140d tendo um espectro menos manchado que o sinal de áudio de entrada 110, no caso de o sinal de áudio de entrada 110 compreender uma variação de timbre temporal, que, por sua vez, permite uma codificação eficiente em termos de taxa de bits (pelo codificador 140k) dos coeficientes espectrais 140j providos pelo | transformador 140i com base na versão amostrada/reamostrada e janelada 140h do sinal de áudio de entrada 110.
A codificação de contorno de deformação de tempo, que é realizada em uma maneira dependente da frequência de amostragem pelo codificador de contorno de deformação de tempo | 130, permite uma codificação eficiente em termos de taxa de bits | da informação de contorno de deformação de tempo 122 para | 20 diferentes frequências de amostragem (ou frequências de amostragem | médias) do sinal de áudio amostrado/reamostrado 140d, de modo que um fluxo de bits compreendendo a representação de espectro codificado 142 e a informação de deformação de tempo codificada 132 seja eficiente em termos de taxa de bits. | 25 4. DECODIFICADOR DE SINAL DE ÁUDIO DE DEFORMAÇÃO | DE TEMPO, DE ACORDO COM A FIGURA 3b A Figura 3b apresenta um diagrama de blocos esquemático de um decodificador de sinal de áudio 350, de acordo
] 32/74 . E com uma realização da invenção. nm O decodificador de sinal de áudio 350 é semelhante ao decodificador de sinal de áudio 200, de acordo com à Figura 2, de modo que sinais e dispositivos idênticos serão designados com números de referência idênticos e não serão explicados aqui novamente. | O decodificador de sinal de áudio 350 é configurado para receber uma representação de espectro codificado de uma primeira estrutura de áudio deformada no tempo e amostrada e também para receber uma representação de espectro codificado de uma segunda estrutura de áudio deformada no tempo e amostrada. Falando de modo geral, o codificador de sinal de áudio 350 é configurado para receber uma sequência de representações de espectro codificado de estruturas de áudio reamostradas e deformadas no tempo, em que as ditas representações de espectro codificado podem, por exemplo, ser providas pelo codificador de sinal de deformação de tempo 140 do codificador de sinal de áudio
300. Além disso, o decodificador de sinal de áudio 350 recebe | informações paralelas, como, por exemplo, uma informação de deformação de tempo codificada 216 e uma informação de frequência de amostragem 218. o decodificador de deformação 240 pode compreender um decodificador 240a, que é configurado para receber a representação codificada 214 do espectro, para decodificar a representação codificada 214 desse espectro e para prover uma representação decodificada 240b do espectro. O decodificador de deformação 240 também compreende um transformador inverso 240c que é configurado para receber a representação decodificada 240b do
. 33/74 FER espectro e para realizar uma transformação inversa com base na = dita representação decodificada 240b do espectro, para, com isso, obter uma representação de domínio de tempo 240d de um bloco ou S estrutura do sinal de áudio amostrado e deformado no tempo descrito pela representação de espectro codificado 214. O decodificador de deformação 240 também compreende um janelador | 240e, que é configurado para aplicar um janelamento à representação de domínio de tempo 240d de um bloco ou estrutura, | para, com isso, obter uma representação de domínio de tempo ! janelada 240f de um bloco ou estrutura.
O decodificador de | deformação 240 também compreende uma reamostragem 240g, na qual a | representação de domínio de tempo janelada 240f é reamostrada, de acordo com uma informação de posição de amostragem 240h, para, com | isso, obter uma representação de domínio de tempo janelada e reamostrada 240i para um bloco ou uma estrutura.
O decodificador | de deformação 240 também compreende um sobreposicionador- adicionador 240j, que é configurado para sobrepor e adicionar | blocos ou estruturas subsequentes da representação de domínio de tempo janelada e reamostrada, para, com isso, obter uma transição suave entre os blocos ou estruturas subsequentes da representação . de domínio de tempo janelada e reamostrada 240i, e para, com isso, obter uma representação de sinal de áudio decodificado 212 como um resultado da operação de sobreposição e adição.
O decodificador de deformação 240 compreende um calculador de posição de amostragem 240k, que é configurado para receber a informação de deformação de tempo decodificada 232 do calculador de deformação de tempo (ou decodificador de deformação de tempo) 230 e para prover à informação de posição de amostragem
] 34/74 ” . PEA 240h com base nisso.
Da mesma forma, a informação de deformação de O tempo decodificada 232 descreve a reamostragem que varia no tempo, que é realizada pelo reamostrador 2409g.
Opcionalmente, o decodificador de deformação 240 pode compreender um ajustador de forma de janela 2401, que pode | ser configurado para ajustar a forma da janela utilizada pelo janelador 240e em dependência das exigências.
Por exemplo, O ajustador de forma de janela 240l pode, opcionalmente, receber a informação de deformação de tempo decodificada 232 e ajustar a janela em dependência da dita informação de deformação de tempo decodificada 232. De maneira alternativa, ou além disso, o ajustador de forma de janela 2401 pode ser configurado para ajustar a forma de janela utilizada pelo janelador 240e em dependência de uma informação que indica se um modo de bloco longo ou um modo de bloco curto é utilizado, se o decodificador de deformação 240 for alternável entre esse um modo de bloco longo e um modo de bloco curto.
De maneira alternativa, ou além disso, o ajustador de forma de janela 2401 pode ser configurado para selecionar uma forma de janela adequada para uso pelo janelador 240e em dependência de uma informação de sequência de janelas se diferentes tipos de janela forem utilizados pelo decodificador de deformação 240. Entretanto, deve ser observado que um ajuste de forma de janela, que é realizado pelo ajustador de forma de janela . 2401, deve ser considerado como sendo opcional e não é particularmente relevante à presente invenção.
Ademais, o decodificador de deformação 240 pode, opcionalmente, compreender o ajustador de taxa de amostragem 240m, que pode ser configurado para controlar o ajustador de forma de o 35/74 . PE janela 2401 e/ou o calculador de posição de amostragem 240k em a. dependência da informação de frequência de amostragem 218. Entretanto, o ajuste da taxa de amostragem 240m pode ser considerado opcional e não de relevância particular à presente invenção.
Em relação à funcionalidade do decodificador de deformação 240, pode ser dito que a representação codificada 214 do espectro, que pode, por exemplo, compreender um conjunto de coeficientes de transformada (também designados como coeficientes espectrais) para cada uma da uma pluralidade de estruturas de áudio (ou mesmo uma pluralidade de conjuntos de coeficientes espectrais para algumas estruturas de áudio), é primeiro decodificada utilizando o decodificador 240a, de modo que a | representação de espectro decodificada 240b seja obtida.
A representação de espectro decodificada 240b de um bloco ou ! estrutura do sinal de áudio codificado é transformada em uma representação de domínio de tempo (compreendendo, por exemplo, um número predeterminado de amostras de domínio de tempo por estrutura de áudio) do dito bloco ou estrutura do conteúdo de áudio.
Tipicamente, mas não necessariamente, a representação decodificada 240b do espectro compreende picos e depressões pronunciados, porque esse espectro pode ser codificado de maneira eficiente.
Consequentemente, a representação de domínio de tempo 240d compreende uma variação de timbre comparativamente pequena durante um único bloco ou estrutura (que corresponde à um espectro tendo picos e depressões pronunciados). O janelamento 260e é aplicado à representação de domínio de tempo 240d do sinal de áudio para permitir uma operação
Sa 36/74 | . Rs de sobreposição e adição.
Subsequentemente, a representação de | o. domínio de tempo janelada 240f é reamostrada em uma maneira variante no tempo, em que a reamostragem é realizada, de acordo | com a informação de deformação de tempo incluída, em uma forma codificada, na representação de sinal de áudio codificado 210. Da mesma forma, a representação de sinal de áudio reamostrado 240i tipicamente compreende uma variação de timbre significativamente maior que a representação de domínio de tempo janelada 240f, contanto que a informação de deformação de tempo codificada descreve uma deformação de tempo ou, de maneira equivalente, uma variação de timbre.
Assim, um sinal de áudio compreendendo uma variação de timbre significativa ao longo de uma única estrutura de áudio pode ser provido na saída do reamostrador 240g, mesmo que o sinal de saída 240d do transformador inverso 240c compreende uma variação de timbre significativamente menor ao longo de uma única estrutura de áudio.
Entretanto, o decodificador de deformação 240 pode ser configurado para manipular as representações de espectro codificado que são providas utilizando diferentes frequências de amostragemy e para prover a representação de sinal de áudio decodificado 212 com diferentes frequências de amostragem.
Entretanto, um número de amostras de domínio de tempo por estrutura de áudio ou bloco de áudio pode ser idêntico para uma pluralidade de diferentes frequências de amostragem.
De maneira alternativa; entretanto, o decodificador de deformação 240 pode ser alternável entre um modo de bloco curto, em que um bloco de áudio compreende um número comparativamente menor de amostras (por exemplo, 256 amostras) e um modo de bloco longo, em que um bloco
' 37/74 Ph de áudio compreende um número comparativamente maior de amostras NE (por exemplo, 2048 amostras). Nesse caso, o número de amostras por bloco de áudio no modo de bloco curto é idêntico para diferentes frequências de amostragem, e o número de amostras de áudio por bloco de áudio (ou estrutura de áudio) no modo de bloco longo é idêntico para as diferentes frequências de amostragem. Também, o número de senhas de deformação de tempo por estrutura de áudio é tipicamente idêntico para as diferentes frequências de amostragem. Da mesma forma, um formato de fluxo de bits uniforme pode ser | alcançado, que é substancialmente independente (pelo menos em | relação a um número de amostras de domínio de tempo codificadas por estrutura de áudio, e em relação à um número de senhas de deformação de tempo por estrutura de áudio) da frequência de amostragem.
Entretanto, a fim de ter tanto uma codificação eficiente em termos de taxa de bits da informação de deformação de tempo e uma resolução suficiente da informação de deformação de tempo, a codificação da informação de deformação de tempo é adaptada à frequência de amostragem no lado de um codificador de sinal de áudio 300, que provê a representação de sinal de áudio | codificado 210. Consequentemente, a decodificação da informação de deformação de tempo codificada 216, que compreende o mapeamento de senhas de deformação de tempo em valores de deformação de tempo decodificados, é adaptada à frequência de amostragem. Detalhes em relação a essa adaptação da decodificação da informação de deformação de tempo será descrita subsequentemente.
5. ADAPTAÇÃO DE CODIFICAÇÃO E DECODIFICAÇÃO DE
DEFORMAÇÃO DE TEMPO
: 38/74 . o S.1. VISÃO GERAL CONCEITUAL NE A seguir, os detalhes em relação à adaptação da codificação e decodificação de deformação de tempo em dependência de uma frequência de amostragem de um sinal de áudio a ser” codificado ou um sinal de áudio a ser decodificado serão descritos.
Em outras palavras, uma quantificação de variação de timbre dependente da frequência de amostragem será descrita.
A fim | de facilitar o entendimento, alguns conceitos convencionais serão ! | descritos primeiro.
Nos codificadores de áudio e decodificadores de áudio convencionais que utilizam uma deformação de tempo, a tabela de quantificação para a variação de timbre ou uma deformação é fixa para todas as frequências de amostragem.
Como um exemplo, é | feita referência ao Working Draft 6 of the Unified-Speech-and- | 15 Audio-Coding (“WD6 of USAC”, ISO/IEC JTC1/SC29/WG11 N11213, 2010). Uma vez que a distância de atualização nas amostras (por exemplo, uma distância, em termos de amostras de áudio, de casos de tempo para os quais um valor de deformação de tempo é transmitido de um codificador de áudio a um decodificador de áudio) também é fixa (tanto em codificadores de áudio/decodificadores de áudio de deformação de tempo convencionais como em codificadores de áudio/decodificadores de áudio de deformação de tempo, de acordo com a presente invenção), a aplicação desse esquema de codificação em uma taxa de bits inferior leva a uma variação menor de alterações de timbre reais (por exemplo, em termos de alterações de timbre por tempo de unidade) que pode ser coberta.
As alterações máximas típicas na frequência fundamental da fala estão abaixo de cerca de 15 oct/s (15 oitavas por segundo).
Fo 39/74 ' O A tabela da Figura 4c apresenta a descoberta que Fr determinadas frequências de amostragem que são utilizadas na codificação de áudio, o esquema de codificação descrito na referência [3] não é capaz de mapear à variedade de variação de timbre desejada e, portanto, leva a um ganho de codificação subopcional.
Para apresentar esse efeito, a tabela da Figura 4c apresenta as deformações para diferentes frequências de amostragem para a tabela (por exemplo, tabela de mapeamento para mapear senhas de deformação de tempo em valores de deformação de tempo decodificados) utilizada no decodificador de áudio descrito na referência [3]. A fórmula para obter esses valores de deformação em oct/s é: Sho "sf vao: ) (1) Na equação acima, w designa uma deformação, Pre designa um fator de alteração de timbre relativo, f.; designa uma frequência de amostragem, n, designa um número de nós de timbre em uma estrutura e nk; designa um comprimento de estrutura nas amostras.
Da mesma forma, a tabela da Figura 4c apresenta deformações do esquema de quantificação utilizadas no | decodificador de áudio descrito na referência [3], em que n; = 1024 e n,= 16. De acordo com a presente invenção, descobriu-se que é vantajoso adaptar o mapeamento do índice de valor de deformação (que pode ser considerado uma senha de deformação de tempo) em um valor de deformação de tempo correspondente pr. em
' 40/74 , nas dependência da frequência de amostragem.
Em outras palavras, | NE descobriu-se que a solução aos problemas mencionados acima é projetar tabelas de quantificação distintas para diferentes frequências de amostragem, de modo que uma variação absoluta de variações de timbre cobertos ou deformações em oct/s (oitavas por segundo) sejam às mesmas (ou pelo menos aproximadamente as mesmas) para todas as frequências de amostragem.
Descobriu-se que isso | poderia ser feito, por exemplo, ao prover diversas tabelas de quantificação explícita, cada uma utilizada para uma variação estreita de frequências de amostragem próximas, ou por um cálculo da tabela de quantificação rápido para as frequências de amostragem utilizadas.
De acordo com uma realização da invenção, isso poderia ser feito ao prover uma tabela de valores de deformação e | 15 calcular a tabela de quantificação para o fator de alteração de timbre relativo ao transformar a fórmula a partir do mencionado acima: nu Par2Í" (2) Na equação acima Pr. designa um fator de alteração de timbre relativo, n; designa o comprimento de estrutura nas amostras, w designa a deformação, f;, designa a frequência de amostragem e n, designa o número de nós de timbre em uma estrutura.
Utilizando a dita equação, os fatores de alteração de timbre relativos prai, que são apresentados na tabela da Figura 4d, podem ser obtidos.
Fazendo referência à Figura 4d, uma primeira coluna 480 designou um índice, esse índice pode ser considerado
7 ' 41/74 Es uma senha de deformação de tempo, e esse índice pode ser incluído
2. no fluxo de bits que representa a representação de sinal de áudio codificado 210. Uma segunda coluna 482 descreve uma deformação de tempo máxima representável (em termos de oct/s), que pode ser representada por n, fatores de alteração de timbre relativos Pre) associados ao índice apresentado na primeira coluna e nas respectiva fileira. Uma terceira coluna 484 descreve um fator de | alteração de timbre relativo associado ao índice dado na primeira coluna 480 da respectiva fileira para uma frequência de amostragem de 24000 Hz. Uma quarta coluna 486 apresenta fatores de alteração de timbre relativos associados aos valores de índice apresentados na primeira coluna 480 da respectiva fileira para uma frequência | de amostragem de 12000 Hz. Como pode ser visto, os índices 0, l1 e | 2 correspondem a fatores de alteração de timbre relativos Prei Para uma alteração “negativa” do timbre (isto é, para uma redução do timbre), valor de índice 3 corresponde a um fator de alteração de timbre relativo de 1, que representa um timbre constante, e : índices 4, 5, 6 e 7 são associados aos fatores de alteração de timbre relativos Pra que descrevem uma deformação de tempo “positiva”, isto é, um aumento do timbre. Entretanto, descobriu-se que há diferentes conceitos para obter os fatores de alteração de timbre relativos. Descobriu-se que uma outra maneira de obter os fatores de alteração de timbre relativos é projetar uma tabela de quantificação de valores para o fator de alteração de timbre relativo e uma taxa de amostragem de referência correspondente. A tabela de quantificação real para uma determinada frequência de amostragem pode, então, ser simplesmente derivada da tabela
| ' 42/74 eo designada utilizando a seguinte fórmula: e. Pa=1 (pay NÉ (3) sf Prei descreve um fator de alteração de timbre relativo para uma frequência de amostragem atual f.. Além disso, —Prei,rer descreve um fator de alteração de timbre relativo para a frequência de amostragem de referência fs,rer. Um conjunto de fatores de alteração de timbre de referência Prei,rer associados a diferentes índices (senhas de deformação de tempo) podem ser armazenados em uma tabela, em que a frequência de amostragem de referência fs,ret, à qual os fatores de alteração de timbre de referência (relativos) correspondem, é conhecida.
Descobriu-se que a última fórmula dá uma aproximação razoável aos resultados obtidos pela fórmula acima, enquanto se mantém computacionalmente menos complexa.
A Figura 4e apresenta uma representação de tabela de fatores de alteração de timbre relativos pra, que são obtidos de fatores de alteração de timbre relativos de referência DPrei,retr em que a tabela vale para uma frequência de amostragem de referência f;, reg = 24000 Hz.
Uma primeira coluna 490 descreve um índice, que | pode ser considerado uma senha de deformação de tempo. Uma segunda coluna 492 descreve fatores de alteração de timbre relativos de referência Prei,rer associados aos índices (ou senhas) apresentados na primeira coluna 490 na respectiva fileira. Uma terceira coluna 494 e uma quarta coluna 496 descrevem fatores de alteração de timbre (relativos) associados aos índices da primeira coluna 490 para uma frequência de amostra f, de 24000 Hz (terceira coluna
M 43/74 , 11 494) e 12000 Hz (quarta coluna 496). Como pode ser visto, os " . fatores de alteração de timbre relativos Pr. para uma frequência de amostragem f, de 24000 Hz, que são apresentados na terceira coluna 494, são idênticos aos fatores de alteração de timbre relativos de referência apresentados na segunda coluna 492, pois a frequência de amostragem f, de 24000 Hz é igual à frequência de amostragem de referência fs,ree. Entretanto, a quarta coluna 496 apresenta fatores de alteração de timbre relativos pra em uma frequência de amostragem f, de 12000 Hz, que são derivados dos fatores de alteração de timbre relativos de referência da segunda ] coluna 492, de acordo com a equação acima (3).
De fato, esses procedimentos de normalização, | conforme descritos acima, podem ser facilmente aplicados diretamente a qualquer outra representação de uma alteração na frequência ou timbre, por exemplo, também a um esquema que codifica os valores de timbre e de frequência absolutos e não as suas alterações relativas.
5.2. IMPLEMENTAÇÃO, DE ACORDO COM A FIGURA 4a A Figura 4a apresenta um diagrama de blocos esquemático de um mapeamento adaptativo 400, que pode ser utilizado nas realizações, de acordo com a invenção.
Por exemplo, o mapeamento adaptativo 400 pode tomar o lugar do mapeamento 234 no decodificador de sinal de áudio 200 ou do mapeamento 234 no decodificador de sinal de áudio 350.
O mapeamento adaptativo 400 é configurado para receber uma informação de deformação de tempo codificada, como, por exemplo, uma denominada informação “tw data” compreendendo senhas de deformação de tempo “tw ratio[i]l”. Da mesma forma, oO a RS NS a RS NS RO | | : 44/74
É FE mapeamento adaptativo 400 pode prover valores de deformação de E tempo decodificados, por exemplo, valores de proporção decodificados, que são algumas vezes designados como valores “warp value tbl[tw ratio)”, e também são algumas vezes designados como fatores de alteração de timbre relativos Pra. O mapeamento adaptativo 400 também recebe uma informação de frequência de amostragem que descreve, por exemplo, a frequência de amostragem f. da representação de domínio de tempo 240d provida pela transformação inversa 230c, ou a frequência de amostragem média da representação de domínio de tempo janelada e reamostrada 240i | provida pela reamostragem 240g, ou a frequência de amostragem da representação de sinal de áudio decodificado 212. O mapeamento adaptativo compreende um mapeador 420, que provê um valor de deformação de tempo decodificado como uma função de uma senha de deformação de tempo da informação de deformação de tempo codificada. Um seletor de norma de mapeamento 430 seleciona uma tabela de mapeamento, fora de uma pluralidade de tabelas de mapeamento 432, 434 para uso pelo mapeador 420 em dependência da informação de frequência de amostragem 406. Por exemplo, o seletor de tabela de mapeamento 430 seleciona uma | tabela de mapeamento, que representa um mapeamento definido pela | primeira coluna 480 da tabela da Figura 4d e a terceira coluna 484 da tabela da Figura 4d, se a frequência de amostragem atual for igual a 24000 Hz ou se a frequência de amostragem atual estiver em um ambiente predeterminado de 24000 Hz. Ao contrário, o seletor de tabela de mapeamento 430 pode selecionar uma tabela de mapeamento, que representa um mapeamento definido pela primeira coluna 480 da tabela da Figura 4d e a quarta coluna 486 da tabela da Figura 4d,
- 7 45/74 ' ao se a frequência de amostragem f;, for igual a 12000 Hz ou se a o frequência de amostragem f,; estiver em um ambiente predeterminado de 12000 Hz.
Da mesma forma, as senhas de deformação de tempo (também “designadas como “índices”) 0-7 são mapeadas aos respectivos valores de deformação de tempo decodificados (ou fatores de alteração de timbre relativos) apresentados na terceira | coluna 484 da tabela da Figura 4d se a frequência de amostragem | for igual a 24000 Hz, e aos respectivos valores de deformação de tempo decodificados (ou fatores de alteração de timbre relativos) apresentados na quarta coluna 486 da tabela da Figura 4d.
Se uma frequência de amostragem for igual a 12000 Hz.
Para resumir, diferentes tabelas de mapeamento podem ser selecionadas pelo seletor de tabela de mapeamento 430 em dependência da frequência de amostragem, para, com isso, mapear uma senha de deformação de tempo (por exemplo, um “índice” de valor incluído em um fluxo de bits que representa o sinal de áudio decodificado) em um valor de deformação de tempo decodificado (por exemplo, um fator de alteração de timbre relativo pra ou um valor de deformação de tempo “warp value tbl”). 5,3. IMPLEMENTAÇÃO, DE ACORDO COM A FIGURA 4b A Figura 4b apresenta um diagrama de blocos esquemático de um mapeamento adaptativo 450, que pode ser utilizado nas realizações, de acordo com a invenção.
Por exemplo, o mapeamento adaptativo 450 pode tomar o lugar do mapeamento 234 no decodificador de sinal de áudio 200 ou do mapeamento 234 no decodificador de sinal de áudio 350. O mapeamento adaptativo 450 é configurado para receber uma informação de deformação de tempo
' 46/74 ' o codificada, em que as explicações acima em relação ao mapeamento as adaptativo 400 se mantêm.
Primeiro de tudo, o mapeamento adaptativo 450 é configurado para prover valores de deformação de tempo —decodificados, em que as explicações acima em relação ao mapeamento adaptativo 400 também se mantêm.
O mapeamento adaptativo 450 compreende um | mapeador 470, que é configurado para receber uma senha da deformação de tempo codificada e para prover um valor de deformação de tempo decodificado. O mapeamento adaptativo 450 também compreende um computador de valor de mapeamento ou um computador de tabela de mapeamento 480. No caso de um computador de valor de mapeamento, o valor de deformação de tempo decodificado é computado de acordo coma equação acima (3). Para este fim, o computador de valor de mapeamento pode compreender uma tabela de mapeamento de referência
482. A tabela de mapeamento de referência 482 pode, por exemplo, descrever a informação de mapeamento que é definida por uma primeira coluna 490 e uma segunda coluna 492 da tabela da Figura 4e. Da mesma forma, o computador de valor de mapeamento 480 e o mapeador 470 pode cooperar, de modo que um fator de alteração de timbre relativo de referência correspondente seja selecionado para uma determinada senha de deformação de tempo com base na tabela de mapeamento de referência, e de modo que o fator de alteração de timbre relativo pra Correspondente à dita determinada senha de deformação de tempo seja computado de acordo com a equação (3) utilizando as informações sobre a frequência de amostragem atual f; e retornado como valor de deformação de tempo decodificado.
. 47/74 . nm Nesse caso, não é mesmo necessário armazenar todas as entradas de . uma tabela de mapeamento adaptada à frequência de amostragem atual f. às custas de uma computação do valor de deformação de tempo decodificado (fator de alteração de timbre relativo) para cada senha de deformação de tempo.
De maneira alternativa; entretanto, o computador de tabela de mapeamento 480 pode pré-computar uma tabela de mapeamento adaptada à frequência de amostragem atual f. para uso pelo mapeador 470. Por exemplo, o computador de tabela de mapeamento pode ser configurado para computar as entradas da quarta coluna 496 da Figura de em resposta à descoberta de que uma frequência de amostragem atual de 12000 Hz é selecionada. A computação dos ditos fatores de alteração de timbre relativos Pre para uma frequência de amostragem f, de 12000 Hz pode ter base na | tabela de mapeamento de referência (compreendendo, por exemplo, o | mapeamento definido pela primeira coluna 490 e pela segunda coluna | 492 da tabela da Figura de), e pode ser realizado utilizando a equação (3). | Da mesma forma, a dita tabela de mapeamento pré- computada pode ser utilizada para o mapeamento de uma senha de deformação de tempo em um valor de deformação de tempo decodificado. Ademais, a tabela de mapeamento pré-computada pode ser atualizada sempre que a taxa de reamostragem for alterada.
Para resumir, a norma de mapeamento para o mapeamento de senhas de deformação de tempo em valores de deformação de tempo decodificados pode ser avaliada ou computada com base na tabela de mapeamento de referência 482, em que uma pré-computação de uma tabela de mapeamento adaptada à frequência
E 48/74 . e de amostragem atual ou uma computação rápida do valor de EA deformação de tempo decodificado pode ser realizada.
6. DESCRIÇÃO DETALHADA DA COMPUTAÇÃO DA
INFORMAÇÃO DE CONTROLE DE DEFORMAÇÃO DE TEMPO A seguir, serão descritos os detalhes em relação à computação da informação de controle de deformação de tempo com base em uma informação de evolução de contorno de deformação de tempo.
6.1. APARELHO, DE ACORDO COM AS FIGURAS 5a E 5b As Figuras 5a e 5b apresentam um diagrama de blocos esquemático de um aparelho 500 para prover uma informação de controle de deformação de tempo 512 com base em uma informação de evolução de contorno de deformação de tempo 510, que pode ser uma informação de deformação de tempo decodificada, e que pode, por exemplo, compreender — valores de deformação de tempo decodificados providos pelo mapeamento 234 do calculador de deformação de tempo 230. O aparelho 500 compreende o meio 520 para prover a informação de contorno de deformação de tempo | reconstruída 522 com base na informação de evolução de contorno de deformação de tempo 510 e um calculador de informação de controle de deformação de tempo 530 para prover à informação de controle de deformação de tempo 512 com base na informação de contorno de | deformação de tempo reconstruída 522. A seguir, a estrutura e funcionalidade do meio | 25 520 serão descritas. O meio 520 compreende um calculador de contorno | de deformação de tempo 540, que é configurado para receber a | informação de evolução de contorno de deformação de tempo 510 e | |
: 49/74 ' — para prover, com base nisso, uma nova informação de parte do o. contorno de deformação de tempo 542. Por exemplo, um conjunto de informação de evolução de contorno de deformação de tempo (por exemplo, um conjunto de um número predeterminado de valores de deformação de tempo decodificados providos pelo mapeamento 234) pode ser transmitido ao aparelho 500 para cada estrutura do sinal de áudio a ser reconstruída.
Não obstante, o conjunto de informação de evolução de contorno de deformação de tempo 510 associado a uma estrutura do sinal de áudio a ser reconstruída pode ser utilizado para a reconstrução de uma pluralidade de estruturas do sinal de áudio em alguns casos.
Semelhantemente, uma pluralidade de conjuntos de informação de evolução de contorno de deformação de tempo pode ser utilizada para a reconstrução do conteúdo de áudio de uma única estrutura do sinal de áudio, conforme será discutido em detalhes a seguir.
Como uma conclusão, pode ser declarado que, em algumas realizações, a informação de evolução de contorno de deformação de tempo pode ser atualizada na mesma taxa na qual os conjuntos dos coeficientes de domínio de transformada do sinal de áudio a serem reconstruídos são atualizados (um conjunto de informação de evolução de contorno de deformação de tempo 510 por estrutura do sinal de áudio e/ou uma parte de contorno de deformação de tempo por estrutura do sinal de áudio). O calculador de contorno de deformação de tempo 540 compreende um calculador de valor de nó de deformação 544, que é configurado para computar uma pluralidade (ou sequência temporal) de valores de nó de contorno de deformação com base em uma pluralidade (ou sequência temporal) de valores de proporção de
| 1 50/74 | e OS contorno de deformação de tempo, em que os valores de proporção de
2. deformação de tempo são compreendidos pela informação de evolução de contorno de deformação de tempo 510. Em outras palavras, os valores de deformação de tempo decodificados providos pelo mapeamento 234 podem constituir os valores de proporção de deformação de tempo (por exemplo, warp value tbl[tw ratio[]]). Para este fim, o calculador de valor de nó de deformação 544 é ' configurado para iniciar a provisão dos valores de nó de contorno de deformação de tempo em um valor de início predeterminado (por exemplo, 1) e para calcular valores de nó de contorno de | deformação de tempo subsequentes utilizando os valores de ! proporção de contorno de deformação de tempo, conforme será discutido abaixo. Ainda, o calculador de contorno de deformação de tempo 544 opcionalmente compreende um interpolador 548, que é configurado para interpolar entre subsequentes valores de nó de | contorno de deformação de tempo. Da mesma forma, a descrição 542 da nova parte de contorno de deformação de tempo é obtida, em que | a nova parte de contorno de deformação de tempo tipicamente inicia do valor de início predeterminado utilizado pelo calculador de nó | de deformação 524. Além disso, o meio 520 é configurado para | armazenar a denominada “última parte de contorno de deformação de | tempo” e a denominada “parte de contorno de deformação de tempo atual” em uma memória não apresentada na Figura 5. Entretanto, o meio 520 também compreende um re- escalador 550, que é configurado para re-escalar a “última parte | de contorno de deformação de tempo” e a “parte de contorno de deformação de tempo atual” para evitar (ou reduzir ou eliminar)
| : 51/74 e SS quaisquer descontinuidades na seção de contorno de deformação de ' . &V tempo completo, que tem base na “última parte de contorno de | deformação de tempo”, na “parte de contorno de deformação de tempo | | atual” e na “nova parte de contorno de deformação de tempo”. Para | este fimy o re-escalador 550 é configurado para receber a descrição armazenada da “última parte de contorno de deformação de tempo” e da “parte de contorno de deformação de tempo atual” e para re-escalar juntamente a “última parte de contorno de deformação de tempo” e a “parte de contorno de deformação de tempo atual” para obter versões re-escaladas da “última parte de contorno de deformação de tempo” e da “parte de contorno de deformação de tempo atual”. Alguns detalhes em relação à essa funcionalidade serão descritos abaixo.
Ademais, o re-escalador 550 também pode ser configurado para receber, por exemplo, de uma memória não apresentada na Figura 5, um valor de soma associado à “última parte de contorno de deformação de tempo” em outro valor de soma associado a “parte de deformação de tempo atual”. Esses valores de soma são algumas vezes designados com “last warp sum” e “cur warp sum”, respectivamente.
O re-escalador 550 é configurado para re-escalar os valores de soma associados à partes de contorno de deformação de tempo utilizando o mesmo fator de re-escala com o qual as partes de contorno de deformação de tempo correspondentes são re-escaladas.
Da mesma forma, os valores de soma re-escalados são obtidos.
Em alguns casos, o meio 520 pode compreender um atualizador 560, que é configurado para atualizar repetidamente as partes de contorno de deformação de tempo inseridas no re-
' 52/74 , O escalador 550 e também os valores de soma inseridos no re- a. escalador 550. Por exemplo, o atualizador 560 pode ser configurado para atualizar a dita informação na taxa de estrutura.
Por exemplo, a “nova parte de contorno de deformação de tempo” do ciclo de estrutura atual pode servir como a “parte de contorno de deformação de tempo atual” em um próximo ciclo de estrutura.
Semelhantemente, a “parte de contorno de deformação de tempo atual” re-escalada do ciclo de estrutura atual pode servir como à “última parte de contorno de deformação de tempo” em um próximo ciclo de estrutura.
Da mesma forma, uma implementação eficiente em termos de memória é criada, pois a “última parte de contorno de deformação de tempo” do ciclo de estrutura atual pode ser descartada mediante a conclusão do “ciclo de estrutura atual”. Para resumir o mencionado acima, o meio 520 é configurado para prover, para cada ciclo de estrutura (com exceção de alguns ciclos de estrutura especiais, por exemplo, no início de uma sequência de estruturas ou no fim de uma sequência de estruturas ou em uma estrutura na qual a deformação de tempo é inativa) uma descrição de uma seção de contorno de deformação de tempo compreendendo uma descrição de uma “nova parte de contorno de deformação de tempo”, de uma “parte de contorno de deformação de tempo atual re-escalada” e de uma “última parte de contorno de deformação de tempo re-escalada”. Além disso, o meio 520 pode prover, para cada ciclo de estrutura (com exceção dos ciclos de estrutura especiais mencionados acima) uma representação de valores de soma de contorno de deformação, por exemplo, compreendendo uma “nova parte de contorno de deformação de tempo valor de soma”, um “valor de soma de contorno de deformação de
. 53/74 | ' NEL tempo atual re-escalado” e um “último valor de soma de contorno de e deformação de tempo re-escalado”. O calculador de informação de controle de | deformação de tempo 530 é configurado para calcular a informação | de controle de deformação de tempo 512 com base na informação de | contorno de deformação de tempo reconstruída 542 provida pelo meio
520. Por exemplo, o calculador de informação de controle de deformação de tempo 530 compreende um calculador de contorno de | tempo 570, que é configurado para computar um contorno de tempo 572 (por exemplo, uma representação por amostra do contorno de deformação de tempo) com base na informação de contorno de deformação de tempo reconstruída. Além disso, a informação de calculador de contorno de deformação de tempo 530 compreende um calculador de posição de amostra 574, que é provido para receber o contorno de tempo 572 e para prover, com base nisso, uma informação de posição de amostra, por exemplo, na forma de um vetor de posição de amostra 576. O vetor de posição de amostra 576 descreve a deformação de tempo realizada, por exemplo, pelo reamostrador 2409g.
O calculador de informação de controle de deformação de tempo 530 também compreende um calculador de comprimento de transição, que é configurado para derivar uma informação de comprimento de transição da informação de controle de deformação de tempo reconstruída. A informação de comprimento de transição 582 pode, por exemplo, compreender uma informação que descreve um comprimento de transição à esquerda e uma informação que descreve um comprimento de transição à direita. O comprimento de transição pode, por exemplo, depender do comprimento dos
. 54/74 i | : | E segmentos de tempo descritos pela “última parte de contorno de | . deformação de tempo”, pela “parte de contorno de deformação de | tempo atual” e pela “nova parte de contorno de deformação de | tempo”. Por exemplo, o comprimento de transição pode ser reduzido | (quando comparado a um comprimento de transição padrão) se a extensão temporal de um segmento de tempo descrita pela “última parte de contorno de deformação de tempo” for menor que uma extensão temporal do segmento de tempo descrito pela “parte de deformação de tempo atual”, ou se uma extensão temporal de um segmento de tempo descrito pela “nova parte de contorno de deformação de tempo” for menor que à extensão temporal do segmento de tempo descrito pela “parte de contorno de deformação de tempo atual”. Além disso, o calculador de informação de controle de deformação de tempo 530 pode ainda compreender um calculador da primeira e da última posição 584, que é configurado para calcular a denominada “primeira posição” e uma denominada “última posição” com base no comprimento de transição à esquerda e à direita.
A “primeira posição” e a “última posição” aumenta a eficiência do reamostrador, se as regiões fora dessas posições forem idênticas a zero após o janelamento e não são, portanto, necessárias de serem levadas em consideração para a deformação de tempo.
Deve ser observado aqui que o vetor de posição de amostra 576 compreende, por exemplo, informações utilizadas (ou mesmos necessárias) pela deformação de tempo realizada pelo reamostrador 240g.
Além disso, o comprimento de transição à esquerda e à direita 582 e a “primeira posição” e a “última posição” 586 constituem as informações que são, por exemplo, utilizadas (ou
' 55/74 .
Pa mesmo necessárias) pelo janelador 240e.
o Da mesma forma, pode ser dito que o meio 520 e o calculador de informação de controle de deformação de tempo 530 podem juntos assumir o controle da funcionalidade do ajuste de taxa de amostra 240m, do ajuste de forma de janela 2401 e do cálculo de posição de amostragem 240k.
6.2. DESCRIÇÃO FUNCIONAL, DE ACORDO COM AS FIGURAS 6a e 6b | A seguir, a funcionalidade de um decodificador de áudio compreendendo o meio 520 e o calculador de informação de controle de deformação de tempo 530 será descrita com referência às Figuras 6a e 6b. As Figuras 6a e 6b apresentam um fluxograma de um método para decodificar uma representação codificada de um sinal | de áudio, de acordo com uma realização da invenção. O método 600 | compreende a provisão de uma informação de contorno de deformação de tempo reconstruída, em que a provisão da informação de contorno de deformação de tempo reconstruída compreende mapeamento 604 de senhas de uma informação de deformação de tempo codificada em valores de deformação de tempo decodificados, cálculo 610 de valores de nó de deformação, interpolação 620 entre os valores de nó de deformação e re-escalamento 630 de uma ou mais partes de deformação calculadas anteriormente e um ou mais valores de soma de contorno de deformação calculados anteriormente. O método 600 ainda compreende o cálculo 640 da informação de controle de deformação de tempo utilizando uma “nova parte de contorno de deformação de tempo” obtida nas etapas 610 e 620, as partes de contorno de deformação de tempo calculadas anteriormente re-
' 56/74 E escaladas (“parte de contorno de deformação de tempo atual”, sm “última parte de contorno de deformação de tempo”) e também, opcionalmente, utilizando os valores de soma de contorno de deformação calculados anteriormente re-escalados. Como resultado, uma informação de contorno de tempo e/ou uma informação de posição de amostra e/ou uma informação de comprimento de transição e/ou uma informação de primeira posição de última posição pode ser obtida na etapa 640. O método 600 ainda compreende a realização 650 da reconstrução de sinal de deformação de tempo utilizando a informação de controle de deformação de tempo obtida na etapa 640. Os detalhes em relação à reconstrução de sinal de deformação de tempo serão descritos subsequentemente. O método 600 também compreende uma etapa 660 de atualização de uma memória, conforme será descrito abaixo.
7. DESCRIÇÃO DETALHADA DO ALGORITMO
7.1. VISÃO GERAL A seguir, alguns dos algoritmos realizados por um decodificador de áudio, de acordo com uma realização da invenção, serão descritos em detalhes. Para este fim, é feita referência às Figuras 5a, 5b, 6a, 6b, 7a, 7b, 8, 9, 10a, 10b, 11, 12, 13, 14, 15 e 16. Primeiro de tudo, é feita referência à Figura 7a, que apresenta uma legenda de definições de elementos de dados e uma legenda de definições de elementos de ajuda. Ademais, é feita referência à Figura 7b, que apresenta uma legenda de definições de constantes. Falando de modo geral, pode ser dito que os
, ' 57/74 O” métodos aqui descritos podem ser utilizados para decodificação de | 2. um fluxo de áudio que é codificado de acordo com uma transformada de cosseno discreta modificada deformada no tempo. Assim, quando a TW-MDCT estiver habilitada para um fluxo de áudio (que pode ser indicado por um indicador, por exemplo, mencionado como indicador “twMDCT”, que pode ser compreendido em uma informação de configuração específica), um banco de filtros de deformação de | tempo e alternância de bloco podem substituir um banco de filtros padrão e bloco de alternância em um decodificador de áudio. Adicionalmente à transformada de cosseno discreta modificada | inversa (IMDCT), o banco de filtros de deformação de tempo e O bloco de alternância contêm um mapeamento de domínio de tempo para domínio de tempo de uma estrutura de tempo arbitrariamente espaçada para uma estrutura de tempo regular ou linearmente espaçada normal e uma adaptação correspondente das formas de janela.
Deve ser observado aqui, que o algoritmo de decodificação aqui descrito pode ser realizado, por exemplo, pelo decodificador de deformação 240 com base na representação codificada 214 do espectro e também com base na informação de deformação de tempo codificada 232.
7.2. DEFINIÇÕES: Em relação à definição de elementos de dados, elementos de ajuda e constantes, é feita referência às Figuras 7a eb.
7.3. PROCESSO DE DECODIFICAÇÃO-CONTORNO DE
DEFORMAÇÃO Os índices do codebook dos nós de contorno de
' 58/74 , s/n deformação são decodificados, como segue, em valores de deformação — para os nós individuais: 1 fortw data present=0, OS€i<NUM TW NODES warp node values(il=41 fortw data present=N, i=0 f warp value tblltw ratio(k]] fortw data present=1, 0O<i<NUM TW NODES = Entretanto, o mapeamento das senhas de deformação | | de tempo “tw ratio[k]” em valores de deformação de tempo | decodificados, designados aqui como “warp value tbl[tw ratio[k))]”, | é dependente da frequência de amostragem nas realizações, de acordo com a invenção.
Da mesma forma, não há uma única tabela de mapeamento nas realizações, de acordo com a invenção, mas há tabelas de mapeamento individuais para diferentes frequências de amostragem.
Por exemplo, os valores de resultado “warp value tbl[tw ratio[k]]”, que são retornados por um acesso da tabela de mapeamento a uma tabela de mapeamento correspondente à frequência de amostragem atual, podem ser considerados valores de deformação de tempo decodificados e podem ser providos pelo mapeamento 234, pelo mapeamento adaptativo 400 ou pelo mapeamento adaptativo 450 com base nas senhas de deformação de tempo “tw ratio[k]” incluídas em um fluxo de bits que constitui (ou representa) a representação de sinal de áudio codificado 210. Para obter os novos dados de contorno de deformação “new warp contour[]”por amostra (amostras n long), os valores de nó de deformação “warp node values[]” são agora interpolados linearmente entre os nós igualmente espaçados linterp dist separados) utilizando um algoritmo, uma representação
' 59/74 E de código de pseudoprograma que é apresentada na Figura 9.
2 Antes de obter o contorno de deformação completo para essa estrutura (por exemplo, para uma estrutura atual), os | valores armazenados anteriores podem ser re-escalados, como oO | último valor de deformação do último contorno de deformação “past warp contour[]” = 1.
1 norm fe past warp contour(2:n long-1] past warp contouril= past warp contourfil:norm fac for O<i<2-n long last warp sum=last warp sum: norm fac | cur warp sum=cur warp sum:norm fac | o contorno de deformação completo “warp contour[]” é obtido ao concatenar o contorno de deformação | anterior “past warp contour” e o novo contorno de deformação “new warp contour”, e a nova soma de deformação “new warp sum” é calculada como uma soma de todos os novos valores de contorno de deformação “new warp contour[]”: nº long new warp sum= D new warp contour(i] iso
7.4. PROCESSO DE DECODIFICAÇÃO- POSIÇÃO DE AMOSTRA
E AJUSTE DE COMPRIMENTO DE JANELA Do contorno de deformação “warp contour[]”, um vetor das posições de amostra das amostras deformadas em uma escala de tempo não linear é computado. Para isso, o contorno de deformação de tempo é gerado, de acordo com as seguintes equações: —w,, last warp sum fori=0 n = io time contourli] Wes F- last warp sum+ SEmarp contou for0<i<3-n long ko n long where ww, E—A——— cur warp sum
: 60/74 | : | | ND Com as funções auxiliadoras “warp inv vec()” e | 2 “warp time inv()”, representações de código de pseudoprograma que são apresentadas nas Figuras l10a e 10b, respectivamente, o vetor | de posição de amostra e o comprimento de transição são computados de acordo com um algoritmo, uma representação de código de pseudoprograma que é apresentada na Figura 11.
7.5. PROCESSO DE DECODIFICAÇÃO-TRANSFORMADA DE COSSENO DISCRETA MODIFICADA INVERSA (IMDCT) A seguir, a transformada de cosseno discreta modificada inversa será brevemente descrita. A expressão analítica da transformada de cosseno discreta modificada inversa é a seguinte: q. Xi = 2 Esanica Flrine2)) para 0O<n<N onde: n = índice de amostra i = índice de janela k = índice de coeficiente espectral N = comprimento de janela com base no valor window sequence no = (N/2 91)/2 O comprimento de janela de síntese para a transformação inversa é uma função do elemento de sintaxe “window sequence” (que pode ser incluído no fluxo de bits) e o contexto algorítmico. O comprimento de janela de síntese pode, por exemplo, ser definido de acordo com a tabela da Figura 12. As transições significativas de bloco são
.
f listadas na tabela da Figura 13. Uma marca de seleção em uma rn determinada cédula da tabela indica que uma sequência de janelas listada nessa fileira em particular pode ser seguida por uma sequência de janelas listada nessa coluna em particular.
Em relação às sequências de janelas permitidas, deve ser observado que o decodificador de áudio pode, por exemplo, ser alternável entre janelas de diferentes comprimentos. Entretanto, à troca de comprimentos de janelas não é de relevância particular para a presente invenção. De preferência, a presente invenção pode ser entendida com base na suposição que há uma sequência de janelas do tipo “only long sequence” e que oO comprimento de estrutura de codificador central é igual a 1024.
| Ademais, deve ser observado que o decodificador | de sinal de áudio pode ser alternável entre um modo de codificação de domínio de frequência e um modo de codificação de domínio de tempo. Entretanto, essa possibilidade não é de relevância particular à presente invenção. De preferência, a presente invenção é aplicável em decodificadores de sinal de áudio que são somente capazes de manipular o modo de codificação de domínio de frequência, conforme discutido, por exemplo, com referência às Figuras 1, 2, 3a e 3b.
7.6. PROCESSO DE DECODIFICAÇÃO-JANELAMENTO E
ALTERNÂNCIA DE BLOCO A seguir, o janelamento e a alternância de bloco, que podem ser realizadas pelo decodificador de deformação 240 e, em particular, pelo janelador 240e dele, serão descritos. Dependendo do elemento “window shape” (que pode ser incluído em um fluxo de bits que representa o sinal de áudio)
' ' 62/74 ' NES diferentes protótipos de transformação sobreamostrada são | 2. utilizados e o comprimento das janelas sobreamostradas é No6ç=2:n long:-OS FACTOR WIN Para window shape == 1, os coeficientes de janela são dados pela janela derivada de Kaiser - Bessel (KBD) como | segue: | Noszn-l " 26 ro] & —ios | p= os. Wean(" 2 )- TE for 7 <n<Nos Sire) pao onde: | | W, a função central de Kaiser-Besser é definida como segue: n—Noç/4 e 1.0 E ROS: | N, W'(h,0) = for 0<n<— 1, [xa] 2
PV G) SI ÃNZ2 Lixj= 2 | El=2/ x a =fator alfa de janela central, a =4 De outra forma, para window shape == 0, uma janela de seno é empregada como segue: N, NE, 1 N, Waln-Xes)=si En) for XL <n<Nos 2 Nos 2 2 Para todos os tipos de sequências de janelas, o protótipo utilizado para a parte esquerda da janela é o determinado pela forma de janela do bloco anterior. A fórmula a seguir expressa esse fato:
' 63/74 | . left window. shapetnl= = [n] ifwindow shape previous block==1 WswL[n) if window shape previous block==0 a Da mesma forma, o protótipo para a forma de | janela à direita é determinada pela seguinte fórmula: | right window shapeln]= RA A ea . sm —$hape== Uma vez que os comprimentos de transição já são determinados, deve ser somente diferenciado entre sequência de janelas do tipo “EIGHT SHORT SEQUENCE” e todas as outras | sequências de janelas. | NO caso de a estrutura atual ser do tipo | 10 “EIGHT SHORT SEQUENCE”, um janelamento e uma sobreposição e adição interna (interna por estrutura) é realizada. A parte do tipo código C da Figura 14 descreve o janelamento e a sobreposição- | adição interna da estrutura tendo tipo de janela | “EIGHT SHORT SEQUENCE”. | 15 Para estruturas de quaisquer outros tipos, um | algoritmo pode ser utilizado, uma representação de código de | pseudoprograma do qual é apresentada na Figura 15.
7.7. PROCESSO DE DECODIFICAÇÃO-REAMOSTRAGEM QUE
VARIA NO TEMPO A seguir, a reamostragem que varia no tempo será descrita, que pode ser realizada pelo decodificador de deformação 240 e, em particular, pelo reamostrador 240g. O bloco janelado z[] é reamostrado, de acordo com | | as posições de amostra (que são providas pelo calculador de | 25 posição de amostragem 240k com base nos valores de deformação de tempo decodificados providos pelo mapeamento 234) utilizando a |
. ao seguinte resposta de impulso: ; nn na ? (o FACTOR | W n bin] =1, [a] -L| a lr | = —="2"—— forO<n<IP SIZE-l IP LEN 2 A A -
OS FACTOR RESAMP a=8 Antes da reamostragem, o bloco janelado é preenchido com zeros em ambas as extremidades: O, Jor O<n<IP LEN 28 zp[n]=12[n-=1IP LEN 28), forIP LEN 2S<n<N f+1IP LEN 2S o, Sor 2N f+IP LEN 2S<n<N f/+2:IP LEN 28 A reamostragem em si é descrita em uma seção de código de pseudoprograma apresentada na Figura 16.
7.8. PROCESSO DE DECODIFICAÇÃO-SOBREPOSIÇAO E
ADIÇÃO COM AS SEQUÊNCIAS DE JANELAS ANTERIORES A sobreposição e adição, que é realizada pelo sobreposicionador/adicionador 240j do decodificador de deformação 240, é a mesma para todas as sequências e pode ser descrita matematicamente como segue: ez Vin PF Yiinin long FYians2n tong forO<n<n long/2 "O Din FYinin tone forn long2<n<n long
7.9. PROCESSO DE DECODIFICAÇÃO-ATUALIZAÇÃO DE
MEMÓRIA A seguir, uma atualização de memória será descrita. Mesmo que não sejam apresentados meios específicos na Figura 3d, deve ser observado que a atualização de memória pode ser realizada pelo decodificador de deformação 240. os buffers de memória necessários para
| í 65/74 , A decodificar a próxima estrutura são atualizados como segue: past warp contourín|=warp contourfn+n long), for O<n<2:n long FA cur warp sum=new warp sum last warp sum=cur warp sum | Antes de decodificar a primeira estrutura ou se à última estrutura for codificada com um codificador de domínio de LPC óptico, os estados de memória são ajustados como segue: past warp contourín]=1, for O<n<2:n long cur warp sum=n long last warp sum=n long
7.10. PROCESSO DE DECODIFICAÇÃO-CONCLUSÃO | Para resumir o mencionado acima, foi descrito um | | processo de decodificação, que pode ser realizado pelo | decodificador de deformação 240. Como pode ser visto, uma | representação de domínio de tempo é provida para uma estrutura de ! áudio de, por exemplo, 2048 amostras de domínio de tempo, e ! estruturas de áudio subsequentes podem, por exemplo, serem | sobrepostas em aproximadamente 50%, de modo que uma transição suave entre as representações de domínio de tempo de estruturas de áudio subsequentes seja garantida. Um conjunto de, por exemplo, NUM TW NODES = 16 valores de deformação de tempo decodificados pode ser associado a | cada uma das estruturas de áudio (contanto que a deformação de | tempo esteja ativa na dita estrutura de áudio), independente da | | frequência de amostragem real das amostras de domínio de tempo da | estrutura de áudio. |
8. FLUXO DE ÁUDIO, DE ACORDO COM AS FIGURAS 17a- | vs | A seguir, será descrito um fluxo de áudio que | | | o ' 66/74 . | E compreende uma representação codificada de um ou mais canais de
1. sinal de áudio e um ou mais contornos de deformação de tempo. O | fluxo de áudio descrito a seguir pode, por exemplo, carregar a representação de sinal de áudio codificado 112 ou à representação de sinal de áudio codificado 210.
A Figura 17a apresenta uma representação gráfica de um denominado elemento de fluxo de dados “USAC raw data bloco”, que pode compreender um elemento de canal de sinal (SCE), um elemento de par de canais (CPE) ou uma combinação de um ou mais elementos de canal único e/ou um ou mais elementos de par de canais.
o “USAC raw data bloco” pode tipicamente | compreender um bloco de dados de áudio codificados, enquanto as | informações de contorno de deformação de tempo adicionais podem | ser providas em um elemento de fluxo de dados separado. Não obstante, é naturalmente possível codificar alguns dados de contorno de deformação de tempo no “USAC raw data bloco”.
Como pode ser visto da Figura 17b, um elemento de canal único tipicamente compreende um fluxo de canal de domínio de frequência (“fd channel stream”), que será explicado em detalhes com referência à Figura 17d.
Como pode ser visto da Figura 17c, um elemento de par de canais (“channel pair element”) tipicamente compreende uma pluralidade de fluxos de canal de domínio de frequência. Também, o elemento de par de canais pode compreender informação de deformação de tempo, como, por exemplo, um indicador de ativação de deformação de tempo (“tw MDCT”), que pode ser transmitido em um elemento de fluxo de dados de configuração ou no
' 67/74 . a “USAC raw data bloco”, e que determina se a informação de |
2. deformação de tempo é incluída no elemento de par de canais. Por exemplo, se o indicador “tw MDCT” indicar que a deformação de | tempo está ativa, o elemento de par de canais pode compreender um indicador (“common tw"), que indica se há uma deformação de tempo | comum para os canais de áudio do elemento de par de canais. Se o | dito indicador (“common tw") indicar que há uma deformação de tempo comum para múltiplos dos canais de áudio, então, uma informação de deformação de tempo comum (“tw data”) é incluída no elemento de par de canais, por exemplo, separado dos fluxos de canal de domínio de frequência.
Tendo como referência, agora, a Figura 17d, o fluxo de canal de domínio de frequência é descrito. Como pode ser visto da Figura 17d, o fluxo de canal de domínio de frequência, por exemplo, compreende uma informação de ganho global. Também, o fluxo de canal de domínio de frequência compreende dados de deformação de tempo, caso a deformação de tempo estiver ativa (indicador “tw MDCT” está ativo) e se não houver informação de deformação de tempo comum para os múltiplos canais de sinal de áudio (indicador “common tw” está inativo).
Ainda, um fluxo de canal de domínio de frequência também compreende dados de fator de escala (“scale factor data”) e dados espectrais codificados (por exemplo, dados espectrais aritmeticamente codificados “ac spectral data”).
Tendo como referência, agora, a Figura l7e, a Sintaxe dos dados de deformação de tempo é brevemente discutida. Os dados de deformação de tempo podem, por exemplo, opcionalmente compreender um indicador (por exemplo, “tw data present” ou
" 68/74 . .” “active timbre data”) que indica se os dados deformação de tempo
2. estão presentes. Se os dados de deformação de tempo estiverem presentes (isto é, o contorno de deformação de tempo não for um indicador), os dados de deformação de tempo podem compreender a sequência de uma pluralidade de valores de proporção de deformação de tempo codificados (por exemplo, “tw ratio(il” ou “timbre Idx(i]l”), que pode, por exemplo, serem codificados de acordo com uma tabela codebook dependente da taxa de amostragem, conforme é descrito acima. Assim, os dados de deformação de tempo podem compreender um indicador que indica se não há dados de deformação | de tempo disponíveis, que pode ser ajustado por um codificador de sinal de áudio, se o contorno de deformação de tempo for constante (as proporções de deformação de tempo são aproximadamente iguais a
1.000). Ao contrário, se o contorno de deformação de tempo for | variante, as proporções entre nós de contorno de deformação de | tempo subsequentes podem ser codificadas utilizando os índices do codebook, compensando a informação “tw ratio”. | A Figura 17f apresenta uma representação gráfica | 20 da sintaxe dos dados espectrais aritmeticamente codificados “ac spectral data()”. os dados espectrais aritmeticamente | codificados são codificados em dependência do status de um indicador de independência (aqui: “indepFlag”), que indica, se ativo, que os dados aritmeticamente codificados são independentes dos dados aritmeticamente codificados de uma estrutura anterior. Se o indicador de independência “indeprFlag” estiver ativo, um indicador de restabelecimento aritmético “arith reset indicador” é ajustado para ativo. De outra forma, o valor do indicador de
. 69/74 , a. restabelecimento aritmético é determinado por um bit nos dados
2. espectrais aritmeticamente codificados.
Ademais, o bloco de dados espectrais | aritmeticamente codificados “ac spectral data()” compreende uma ou | mais unidades de dados aritmeticamente codificados, em que o número de unidades de dados aritmeticamente codificados “arith data()” é dependente de um número de blocos (ou janelas) na estrutura atual. Em um modo de bloco longo, há somente uma janela por estrutura de áudio. Entretanto, em um modo de bloco curto, pode haver, por exemplo, oito janelas por estrutura de áudio. Cada unidade de dados espectrais aritmeticamente codificados “arith data” compreende um conjunto de coeficientes espectrais, que pode servir como a entrada para uma transformação de domínio de frequência para domínio de tempo, que pode ser realizada, por exemplo, pela transformação inversa 240c.
O número de coeficientes espectrais por unidade de dados aritmeticamente codificados “arith data” pode, por exemplo, ser independente da frequência de amostragem, mas pode ser dependente do modo de comprimento do bloco (modo de bloco curto “EIGHT SHORT SEQUENCE” ou modo de bloco longo “ONLY LONG SEQUENCE”).
9. CONCLUSÕES Para resumir o mencionado acima, uma melhoria da transformada de cosseno discreta modificada deformada no tempo (TW-MDCT) foi descrita. A invenção descrita acima está no contexto de um codificador de transformação de MDCT deformada no tempo e cria métodos para um desempenho aprimorado de um codificador de transformação de MDCT deformada. Para detalhes em relação à
' 70/74 o .-— transformada de cosseno discreta modificada deformada no tempo, a 2 atenção do leitor é voltada às referências [1] e [2). Uma implementação desse codi ficador de transformação de MDCT deformada no tempo é realizada no trabalho de padronização de codificação de áudio de MPEG USAC em andamento | (vide, por exemplo, a referência [3]). Os detalhes da | implementação de MDCT deformada no tempo utilizada podem ser | encontrados na referência [4]. | Ademais, deve ser observado que o codificador de sinal de áudio e o decodificador de sinal de áudio aqui descritos compreendem aspectos que são descritos nos pedidos de patente internacionais WO/2010/003583, MWO/2010/003618, WO/1010/003581 e WO/2010/003582. Os ensinamentos dos ditos quatro pedidos de patente internacionais são explicitamente incorporados aqui. Os aspectos e características revelados nos ditos quatro pedidos de patente internacionais podem ser incorporados às realizações, de acordo com a presente invenção.
10. IMPLEMENTAÇÃO ALTERNATIVA Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é claro que esses aspectos também representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa de método ou um aspecto de uma etapa de método. De maneira análoga, os aspectos descritos no contexto de uma etapa de método também representam uma descrição de um bloco ou item ou aspecto correspondente de um aparelho correspondente. Algumas ou todas as etapas do método pode ser executadas por (ou utilizando) um aparelho de hardware, como, por exemplo, um microprocessador, um computador programável ou um é tu circuito eletrônico. Em algumas realizações, alguma ou mais das 2 etapas mais importantes do método podem ser executadas por esse aparelho.
O sinal de áudio codificado inventivo pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão, como um meio de transmissão sem fio ou um meio de transmissão cabeado, como a Internet.
Dependendo de determinadas exigências de implementação, as realizações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada utilizando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, uma ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, tendo sinais de controle eletronicamente legíveis armazenados nele, que cooperam (ou são ! ] capazes de cooperar) como um sistema de computador programável, de modo que o respectivo método seja realizado. Portanto, o meio de armazenamento digital pode ser legível por computador.
Algumas realizações, de acordo com a invenção, compreendem um carregador de dados tendo sinais de controle eletronicamente legíveis, que são capazes de cooperar como um | sistema de computador programável, de modo que um dos métodos aqui descritos seja realizado. | De modo geral, as realizações da presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, o código de programa sendo operado para realizar um dos métodos quando um produto de programa de computador executa em um computador. O código de programa pode, por exemplo, ser armazenado em um carregador legível por máquina.
* 72/74 4 .. Outras realizações compreendem o programa de oe. computador para realizar um dos métodos aqui descritos, armazenados em um carregador legível por máquina.
Em outras palavras, uma realização do método inventivo é, portanto, um programa de computador tendo um código de programa para realizar um dos métodos aqui descritos, quando o programa de computador executa em um computador.
Uma realização adicional dos métodos inventivos é, portanto, um carregador de dados (ou um meio de armazenamento digital ou um meio legível por computador) compreendendo, gravado nele, o programa de computador para realizar um dos métodos aqui | descritos. O carregador de dados, o meio de armazenamento digital ou o meio gravado são tipicamente tangíveis e/ou não transitórios.
Uma realização adicional do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para realizar um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido por meio de uma conexão de comunicação de dados, por exemplo, por meio da Internet.
Uma realização adicional compreende um meio de processamento, por exemplo, um computador ou um dispositivo de lógica programável, configurado ou adaptado para realizar um dos métodos aqui descritos.
Uma realização adicional compreende um computador | tendo instalado nele o programa de computador para realizar um dos | métodos aqui descritos.
Uma realização adicional, de acordo com a
| | | ' 73/74 | NA. | to invenção, compreende um aparelho ou um sistema configurado para | 2 transferir (por exemplo, eletrônica ou opticamente) um programa de | | computador para realizar um dos métodos aqui descritos a um | receptor. O receptor pode, por exemplo, ser um computador, um | dispositivo móvel, um dispositivo de memória ou semelhante. O | aparelho ou sistema pode, por exemplo, compreender um servidor de | arquivos para transferir o programa de computador ao receptor. | | Em algumas realizações, um dispositivo de lógica programável (por exemplo, uma matriz de porta de campo programável) pode ser utilizado para realizar alguma ou todas as funcional idades dos métodos aqui descritos. Em algumas | realizações, uma matriz de porta de campo programável “pode | cooperar com um microprocessador, a fim de realizar um dos métodos aqui descritos. De modo geral, os métodos são preferencialmente realizados por qualquer aparelho de hardware. As realizações descritas acima são meramente ilustrativas para os princípios da presente invenção. É entendido que modificações e variações das disposições e os detalhes aqui descritos serão aparentes aos técnicos no assunto. Pretende-se, portanto, ser limitada somente pelo escopo das reivindicações da patente anexas e não pelos detalhes específicos apresentados a título de descrição e explicação das realizações aqui. Referências
[1] Bernd Edler et.al., “Time Warped MDCT”, US 61/042,314, Provisional application for patent,
[2] L. Villemoes, “Time Warped Transform Coding of Audio Signals”, PCT/EP2006/010246, International. patent
Í 74/74 1, ro application, November 2005. o [3] “WD6 Of USAC”, ISO/IEC JITC1/SC29/WG11 N11213, 2010
[4] Bernd Edler et. al., “A Time-Warped MDCT Approach to Speech Transform Coding”,126th AES Convention, Munich, May 2009, preprint 7710 (5) Nikolaus Meine, “Vektorquantisierung und kontextabhângige arithmetische Codierung fur MPEG-4 AAC”, VDI, Hannover, 2007 |
Í 1/8 , "OE REIVINDICAÇÕES o 1. DECODIFICADOR DE SINAL DE ÁUDIO (200; 350)
CONFIGURADO PARA PROVER UMA REPRESENTAÇÃO DE SINAL DE ÁUDIO DECODIFICADO (212) COM BASE EM UMA REPRESENTAÇÃO DE SINAL DE ÁUDIO CODIFICADO (112, 210), caracterizado por compreender uma | informação de frequência de amostragem (218), uma informação de | deformação de tempo codificada (216, tw ratio[(i)) e uma | representação de espectro codificado (214, ac spectral data()), o | decodificador de sinal de áudio compreendendo: | | um calculador de deformação de tempo (230, 604) | configurado para mapear a informação de deformação de tempo codificada (216, tw ratio[i]l) em uma informação de deformação de tempo decodificada (232, warp value tbl[tw ratio], Pre), | em que o calculador de deformação de tempo é configurado para adaptar uma norma de mapeamento para mapear senhas (tw ratio[i], índice) da informação de deformação de tempo codificada (216) em valores de deformação de tempo decodificados (warp value tbl[tw ratio], Pra) que descrevem a informação de deformação de tempo decodificada (232) em dependência da informação de frequência de amostragem (218); e um decodificador de deformação (240) configurado para prover a representação de sinal de áudio decodificado (212) com base na representação de espectro codificado (214, ac spectral data()) e em dependência da informação de deformação de tempo decodificada (232).
2. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com a reivindicação 1, caracterizado por as senhas (tw ratio[i],
| | Í 2/8 ,' "mm índice) da informação de deformação de tempo codificada (216) 2 descrevem uma evolução temporal de um contorno de deformação de tempo (time contour([]), e em que o calculador de deformação de tempo (230, 604) é configurado para avaliar um número predeterminado (Num tw nodes) de senhas (tw ratio[i]l, índice) da informação de deformação de tempo codificada (216) para uma estrutura de áudio | de um sinal de áudio codificado representado pela representação de | sinal de áudio codificado (214, ac spectral data()), em que o | 10 número predeterminado de senhas é independente de uma frequência de amostragem do sinal de áudio codificado. | 3. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com | a reivindicação 1 ou reivindicação 2, caracterizado por o | calculador de deformação de tempo (230) ser configurado para adaptar a norma de mapeamento, de modo que uma variação de valores de deformação de tempo decodificados (warp value tbl(tw ratio], Pre), nos quais a senhas (tw ratio[i]l, índice) de um determinado | conjunto de senhas da informação de deformação de tempo codificada (216) são mapeados, seja maior para uma primeira frequência de | 20 amostragem que para uma segunda frequência de amostragem sabendo | que a primeira frequência de amostragem é menor que a segunda | frequência de amostragem.
4. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com a reivindicação 3, caracterizado por os valores de deformação de tempo decodificados (warp value tbl[tw ratio], pra) são valores de contorno de deformação de tempo que representam valores de um contorno de deformação de tempo ou valores de variação de contorno de deformação de tempo que representam uma alteração absoluta ou
' 3/8 | ,' | | ua relativa de valores de um contorno de deformação de tempo | N (time contour([]).
5. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com uma das reivindicações 1 a 4, caracterizado por o calculador de deformação de tempo (230) ser configurado para adaptar a norma de mapeamento, de modo que uma alteração máxima do timbre sobre um determinado número de amostras de um sinal de áudio codificado representado pela representação de sinal de áudio codificado (112;210), que é representável por um determinado conjunto de senhas (tw ratio[i]l, índice) da informação de deformação de tempo codificada (216), seja maior para uma primeira frequência de amostragem que para uma segunda frequência de amostragem, sabendo que a primeira frequência de amostragem é menor que a segunda frequência de amostragem.
6. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com uma das reivindicações 1 a 5, caracterizado por o calculador de deformação de tempo (230) ser configurado para adaptar a norma de | mapeamento, de modo que uma alteração máxima do timbre sobre um | determinado período de tempo, que é representável por um | 20 determinado conjunto de senhas (tw ratio[i], índice) da informação de deformação de tempo codificada (216) em uma primeira frequência de amostragem, diferencie de uma alteração máxima do timbre sobre um determinado período de tempo, que é representável pelo determinado conjunto de senhas da informação de deformação de tempo codificada em uma segunda frequência de amostragem, em não mais que 10% para uma primeira frequência de amostragem e uma | segunda frequência de amostragem que difere em pelo menos 30%.
7. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com
' 4/8 , " uma das reivindicações 1 a 6, caracterizado por o calculador de : deformação de tempo (230) ser configurado para utilizar diferentes tabelas de mapeamento (480, 484; 480, 486) para mapear senhas (tw ratio[il, índice) da informação de deformação de tempo codificada (216) em valores de deformação de tempo decodificados (warp value tbl[tw ratio], pra) em dependência da informação de frequência de amostragem (218).
8. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com uma das reivindicações 1 a 6, caracterizado por o calculador de deformação de tempo ser configurado para adaptar valores de mapeamento de referência (494), que descrevem os valores de deformação de tempo decodificados (warp value tbl[tw ratio], Prel) associados a diferentes senhas (tw ratio[i]l, 490, índice) da informação de deformação de tempo codificada (216) para uma frequência de amostragem de referência (f;,rec), para uma frequência de amostragem real (f.,) diferente da frequência de amostragem de referência (f.), para obter valores de mapeamento adaptados (496).
9. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com | a reivindicação 8, caracterizado por o calculador de deformação de | 20 tempo ser configurado para escalar uma parte dos valores de mapeamento de referência (494), que descreve uma deformação de | tempo, em dependência de uma proporção entre a frequência de | amostragem real (f.) e a frequência de amostragem de referência (És,res)
10. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo com uma das reivindicações 1 a 9, em que os valores de deformação de tempo decodificados (warp value tbl[tw ratio], Pra) descrevem uma variação de um contorno de deformação de tempo sobre um número
' 5/8 , . predeterminado de amostras do sinal de áudio codificado R representado pela representação de sinal de áudio codificado (210), e em que o decodificador de sinal de áudio é caracterizado por compreender um calculador de posição de amostragem, em que o calculador de posição de amostragem é configurado para combinar uma pluralidade de valores de deformação de tempo decodificados (warp value tbl[tw ratio], pra), que representa uma variação do contorno de deformação de tempo, para derivar um valor de nó de contorno de deformação | (warp node values[]), de modo que um desvio dos valores de nó de | contorno de deformação derivados de um valor de nó de deformação | de referência seja maior que um desvio representável por um único dos valores de deformação de tempo decodificados (warp value tbl[tw ratio], pra).
11. DECODIFICADOR DE SINAL DE ÁUDIO, DE ACORDO, com uma das reivindicações 1 a 10, em que os valores de deformação de tempo decodificados (warp value tbl[tw ratio], pra) descrevem uma alteração relativa de um contorno de deformação de tempo sobre um número predeterminado de amostras do sinal de áudio codificado representado pela representação de sinal de áudio codificado (210), e em que o decodificador de sinal de áudio é caracterizado por compreender um calculador de posição de amostragemy em que oO calculador de posição de amostragem é configurado para derivar uma informação de contorno de deformação de tempo dos valores de deformação de tempo decodificados.
12. DECODIFICADOR DE SINAL DE ÁUDIO, de acordo
' 6/8
U a com uma das reivindicações 1 a 11, em que o decodificador de sinal E de áudio é caracterizado por compreender um calculador de posição de amostragem (240k), em que o calculador de posição de amostragem é configurado para computar pontos de suporte (warp node values[]) de um contorno de deformação de tempo com base nos valores de deformação de tempo decodificados (warp value tblí[tw ratio]), e em que o calculador de posição de amostragem é configurado para interpolar entre os pontos de suporte, para obter o contorno de deformação de tempo (time contour(]), e em que diversos valores de deformação de tempo decodificados por estrutura de áudio é independente da frequência de amostragem.
13. CODIFICADOR DE SINAL DE ÁUDIO (100;300) PARA PROVER UMA REPRESENTAÇÃO CODIFICADA (112) DE UM SINAL DE ÁUDIO (110), o codificador de sinal de áudio é caracterizado por compreender: um codificador de contorno de deformação de tempo (130) configurado para mapear os valores de deformação de tempo (Pre) que descrevem um contorno de deformação de tempo em uma informação de deformação de tempo codificada (132), em que o codificador de contorno de deformação de tempo (130) é configurado para adaptar uma norma de mapeamento (134) para mapear os valores de deformação de tempo (bra) que descrevem o contorno de deformação de tempo em senhas (tw ratio([i], índice) da informação de deformação de tempo codificada (132) em dependência de uma frequência de amostragem | (£.) do sinal de áudio (110); e | um codificador de sinal de deformação de tempo |
] 7/8 | U T (140) configurado para obter uma representação codificada (142) de L um espectro do sinal de áudio, levando em consideração uma | deformação de tempo descrita pela informação de contorno de deformação de tempo (122), | 5 em que a representação codificada (112) do sinal de áudio (110) compreende a senha (tw ratio[il, índice) da informação de deformação de tempo codificada (132), a representação codificada (142) do espectro e uma informação de frequência de amostragem (152) que descreve a frequência de amostragem. | 14. MÉTODO PARA PROVER UMA REPRESENTAÇÃO DE SINAL | DE ÁUDIO DECODIFICADO COM BASE EM UMA REPRESENTAÇÃO DE SINAL DE ÁUDIO CODIFICADO, caracterizado por compreender uma informação de | frequência de amostragem, uma informação de deformação de tempo codificada e uma representação de espectro codificado, o método compreendendo: mapeamento da informação de deformação de tempo codificada em uma informação de deformação de tempo decodificada, em que uma norma de mapeamento para mapear senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados que descrevem a informação de deformação de tempo | decodificada é adaptada em dependência da informação de frequência de amostragem; e provisão da representação de sinal de áudio decodificado com base na representação de espectro codificado e em dependência da informação de deformação de tempo decodificada.
15. MÉTODO PARA PROVER UMA REPRESENTAÇÃO CODIFICADA DE UM SINAL DE ÁUDIO, o método caracterizado por
M 8/8 . by compreender: : mapeamento de valores de deformação de tempo que descrevem um contorno de deformação de tempo em uma informação de deformação de tempo codificada, em que uma norma de mapeamento para mapear os valores de deformação de tempo que descrevem o contorno de deformação de tempo em senhas da informação de deformação de tempo codificada é adaptada em dependência de uma frequência de amostragem do sinal de áudio; obtenção de uma representação codificada de um espectro do sinal de áudio, levando em consideração uma deformação de tempo descrita pela informação de contorno de deformação de | tempo; | em que a representação codificada do sinal de | áudio compreende as senhas da informação de deformação de tempo codificada, a representação codificada do espectro e uma informação de frequência de amostragem que descreve a frequência de amostragem.
16. PROGRAMA DE COMPUTADOR, caracterizado por realizar o método, de acordo com a reivindicação 14 ou com a reivindicação 15, caracterizado por o programa de computador ser executado no computador.
o & o E ; Rs BS 2 fsESS
BS
8. o o SSESESSS 8Bo TESTES Ss '& " SO ZCZ DB RES: ES E o Sos SSSTRSSZSS 333 ESGEESSSSSS Ss BEÊS 3 Es SE SSSSEA SÊ &º |E SSSSSSSSS Ss FA EEÉESGES oO Ss : 3 T ea + AS Tn
ON O a wo
O “ 8
N É ê 35 se Ss e e vês ZE SSL E 8% 2 - 18 Éã o 2 o 8 es. 2 SS cBg| ES Ss W E o sasE'ssS E: 3º E Ses 22 ZÊ ÀS oSÇSS 25 8 E 3 Ss Ss ESSO o + SÃF ore, 8 o A TESS
À SESE S&S 2555 É & TOO SA >0O0O0 ER ES : | Ooo / NV = 8888 Ú 2 =— 2227 s52s5 S E des=—— 1 | 32885 S o 2 o o ss = S = TR EEE ii Es gê Vo 285 sÔ 81 8S$ÊS 1 | s < E82S7 1 | 2 EE : A Ss 1 8 — —. v L---7 i — 8 Fte esooqaoo 8 mm! 8 À -
S A = = ooo Z 888 No SoooEs E e 8 ESSE 3 = sSCTSTOSE É PESESS s
SST E 3
. o 8 8 Ss o É vs 88 8 2 2 f=) 3 SW N Pa “El a 2 s8 Ss o Ss
ESSES SIT EBQN
EESS se o seg ?P = . = " QN o 2 Ndo— eu Ss T o 8 E FA = &> o 858 o 5 CS vSag |O S E S8ESE |8E 8 SEZSS & E o o SsSpF8 |wô iz 8 l|eSS58S |EE o Ôs?7T Lo o o g Ss PR o Ss fax Fa TE 3 Es | & $ Ss E S|E É 8 H- "os wS o 88 E 8 2 so | 3 |82 Ss = So o 3 8 o o
O EN EC 2 7 s ss
28. E 88 S- 28, SREES 85 vB SE DES 3 SESXE asa É EESSS 883 8 SS$SeSgãê Ss ES85” o Po FE QI o
FDS 8 s Bo os gar 8S TE 7 e = SIS| 3 ESSES UNE SITS|ÉSDSSSTSESFZETo soe eso XE oO] OE $=3|ESGESSSSSS ES | STESSSETAS go EE SESLSGTRALE
, ê o É s.est o. =. = o SSBSSCS 88 82 SIS SSTE Se PZSSÊe 38 :; SB SRES SO É É Vo o SESC 2ESGESR 32 CUINHD Ta S 3 <= E o 2 ss [o ASSISTA 1r8| S6cSS SER LES z ês EL HESSE R $Es EEE : co FE : : À e = g e — Ss ; TINA ( & | o sl 7 Fa) & sL so O So Ss 3 i 7 E E NX. s : ( : = 2 D-- o Ê s : & ã S ssa = : q 8 Pb 20o ê ê $ em asEs | = E VB 2 39% Ê E = ã : : x oo É Ss | tessl5 | || TS S 4º | ||s Va o 2 o Z = o RS 3 £ so vo E É S a & 2 eêsiEs sp . & o 3 É 588 es = S/ =) SS /8E EoER É o d= 33) sãos Sh[Sgs = os Bos $ + st ! &3 É BRÊ ê vo BESE * 328 o | 38) 5855 Sp iss 18. SE o O oO 3 S É SECOS 3 & Do Ni8S s ecsw CG
SIL Fa —— 3$88sS$ ê Ss | s Nu e IRERERÊ s ss | = pese -— 1 8ESst: 3 | o o 1 1 2É s |
8. 3 | a! ss 1 I58ERSê EA ESSE 's SES: ER SE ES | E 82: 83ES = o 81 ess 1 à s ES É S S Vo : E TOTO ' Mm o a a a as ê -— Im —= - CÊ ' . E) oO : eoocso sã = aos ao e
SSLCTSSE
SR ESSE $5EZOS PES 3 s8S = €
Fo Cs
E 2 É Es 88
ES se s 8 38 gs &o ss Xe a RD Rs 2 o [| & É 288 g5BSÊ o oMTEW Q
ROSS TESE bs
VE DN s$348s
EESES E58538 sv Od8 ã — Ego oco S 8 > s co B— õ
Ê eu Ss YU E Ss Oo 8 |88s8$ | E =D o TES Ee Ps PESE o 8 sSss28/98 É ST8S | o 8 76 8/8 o CS 3 t ES] S> 8 lo so E E , E E é 8 S |& E & 3 | 8 8 8 |lE Ss Ss
S = o |3 8 Ss o | o É 88% SS og82eE 8 S$$SSS
T TI SRH Ss EE o" 8 o o 3 SSSSã Ss E35> 8 8 s
E
E Tox — SEO Ss 3 = ES Ti So -S 8 EN 3 88 s ! 38d (| SS 8 (| , 8 Jess - 8 38s AS | 223 S Ss nO As Ss S. He : o S85 FE UV Ses se FE | P TÉZ|TE às LãS Ss 85 /5E =| ê 8 S | o on j z . TF É A+-S : É $ Ts E E | DS Es É Õ TS 1 Ss as SI, eo a ss 1-2 5 28 = Sr SEE = — = SO = = tt | 8 88 IA OS 8 co ; LF co oo s Ss & Se 6838 E TN Ses gS E 33 $|8S É = g$És/58s & Zoo ss. o q SS 2 S i lh 88
SN vs = = «é 8 Eos | TolSs 88 SE 38|E zo vs É TESSES o E E s5SSSÊ 85 s8 or SSSÇRE So SFSTEZSES o > ESEESESSS — gS | ESESSSSES SITES s ES E gESEs=sS& 2 L E 2 *
Ss = & eo & E So Ss E SS = 2535 É 228, Ss Tas" 283 SS o | SESSZ ! EESgSo 2
SS BSS
DOE N as SE so Ss ss = SNS S5 EN-N3 v 3 ê m>Oo
O E DD, E O ço 8& 228 ls RS 2 Ss SE < E : ES 5 << 2 & 3 oS Es 2 = 885 8 — 3s5s x
C ESC
DE o ss oO Óo É á T ss É sv 2 Ss |es = sã se =
E ' SITE SSs
SSTSSSS RRÊEISE
TESTES EES? Sã Ss o ES22 ES TOE 8E Ss EN - o
Ss as
E E o 8 ag E 598 2828 É 8So,.e8
TESS Ro Rs
SSLSFGS
CLT SGE EE > E $B >
BSS B$RSS
BSSSZ 2a e ÉS 2 ES | 22% -
SS “EB o sS3%, S3%, Te8S = co Ss Oo BSS 3 o 2388 8 ss E DECS E nu a É Ro
ESET 38 Ss =
1. Ss
E = /lEe s” sã E |
SSTSEB SSSsS3sS
RRÊEISE E o e DRE oo sS$SSS8 Ss E€S88S ES ss se Ê 8
: 8/28 Nasi 24000 12000 Dog tl goagag5717 | -9,3540 -4,6774 0,98857141 | -6,2186 -3,1093 0,99428570 | -3,1004 -1,5502 1,00000000 | — 0,0000 0,0000 1,00571430 | 30827 1,5413 1,01142859 | 61479 3,0740 | 6 Tioirisass| 91959 4,5979 1,02285719 | 12,2268 | FIG 4C | 480 482 484 486 | X x NX.
NX. tw ratiol) 24000 12000 ns o 3548701 | 0,98285/2 | 0,9660082 -6,2185945 | 0,9885714 | 0,9772734 -3,1003621 | 0,9942857 | 0,9886041 0,0000000 | 1,0000000 | 1,0000000 3,0826977 | 1,0057143 6,1479243 | 1,0114286 | 1,0229878 [ 91958872 | 1,0171429 | 1,0345797 12,2267745 | 1,02285/2 | 1,0462368 FIG 4D
X NX. x [entao | e o emana 24000 12000 O 90828572 | 0,9828572 | 0,9657143 0,9885714 | 0,9885714 | 0,9771428 0,9942857 | 0,9942857 | 0,9885/14 1,0000000 | 1,0000000 | 1,0000000 1,0057143 | 1,0057143 | 1,0114286 1,0114286 | 1,0114286 | 1,0228572 | 6 | 10171429 | 1,0171429 | 1,0342858 1,0228572 | 1,0228572 (ly = 24000H2) FIG 4E | |
B o 8 | a p8 58% Ss SE [ER ES 2 oTE, E/8 E 2 se /ê $SiígE8 E 0, 'S E S g8sS8$ o | 88 E ns | SesgsoilsEe S í c S5ESS g/ ES Ss ESSSIS/8O = SG 2 e S$ 5 SE 87 & Ss SIS SS = Ss £ olE|S, 22888 3% E, ? jo) vB SIS |8 ' Z " a] a | ERES 35 S| e 2 | e Es SS ES oOºL 2 Ss + ss | SE S/lel88 s| ss, | e e|s, : | EBSS|E 18 SEE $$ “| es & ss silSlS E 2 |E ess se | SB 7 * |8 Ss E | S|3E R =) 8s 858 fo 58 58 = | 3 | Es E | 33 3 | o. 3 3 ' e. men— É & se W o ; Z So 8 ÉS 38 o 28 TZ 8 sSe2 $$ oo > | 255 EE < | 88 $$ Fa Ss 588 o SE s 2288 Pv õ = sE . Sã = o 38 e O 3E Ss EEE LL o ses3sE eo Sã se 2 Eco se So SS 1S j 283 = EZX s S = S383 co 8º jo 2ê = Ss SÊ Ss 1 8 8 E Lo. s EE S 32 35 ã ã 7,7, 2e S&S O =, 745 so o ou o
] | Á & ; sã o 8 : 5 2 8 1º Teos 2 E Est: ve E o &oÇQÇo 52 ESSE Ss ss o o SESE se ESSE 1 8 Z EE lo | E eso 28 7 & se: sE E Po 83 2 | 25 e = Ê 82 3 25SE o - ç 5 3º 38S 7 = Ç 3 8s|º aos | E ; | EUO À E O 3 É 3 | so Ss ts DB S|s 31 88 e ES | 8: : is Es & &— vv & | Í 22 8 2 à : $ Í s8 bs o 8 ss : 8 = Ss s ES À ig 'É| s5 É ES |8S&S V E ss|=32 |3 | 88 88 T OT x 8 3 TT) 3: às ( s - Ss Í 2 É 82 | » B 83 y E às & . À : ps. | ( B s ) 8 QN 8 esa Ss S&S Ss 7 > = º s 2 %sE & ' 8 ESSES Ec FS o Ss + 3 ESSES
E SE 3 É E EE $ 3ê 8ESE EST no
E TE so 2 E os E = TE. 28 Sc É É [TS o = ÇS Es ÊS SR | e 8 s3 Ss Es as 7” E is 8 S | 2o FS | 28 88 SS |/8$ CN s sê E Ez Es SE 2 e SE = ss BE BE ts 3 ES 8 82 [É s vas ZE, 35 |/£E 3 FE Í BS Ss 8 E 3º Ss se to = = D- oO
. 12/28 | 600 | W tw ratio[i] + mapeia senhas de informação de deformação de tempo codificada em valores de deformação de 604 tempo decodificados 630 Warp value tblftw ratio][f,] cálculo de valores de nó de deformação f—— 610 re-escalamento de uma ou mais bartes de contorne de deformaçãa warp node values alculadas anteriormente e um ou — ais valores de soma de contornd opcional: interpolação de deformação calculados entre os valores de nó de | 620 660 anteriormente deformação new warp contour new warp contour portion atualiza alocação de memória calcula a informação de controle de new warp sum deformação de tempo utilizando uma nova e 7 parte de contorno de deformação de tempo, as partes de contorno de deformação calculadas anteriormente re-escaladas, os |, valores de soma de contorno de deformação lime contour calculados anteriormente re-escalados, por exemplo: contorno de tempo posição de amostra comprimentos de transição primeira e última posições
' 13/28 due gritaram aaa eme nl para Eng er aaa Es dente mEeieavedeee, am realiza a reconstrução de o deformado | realiza a transformada de cosseno discreta de — modificada inversa (MDCT) para obter informaçã o " amostras de domínio de tempo, controle de por exemplo, X tempo aplica janela de domínio de tempo às amostras de domínio de tempo em dependência da informação de controle de deformação de tempo para obter as amostras de domínio de tempo janeladas, por exemplo, Z [] amostra novamente as amostras de dominio de tempo janeladas em dependência da informação de controle de deformação de tempo para obter amostras de domínio de tempo reamostradas opcional: pós-processo das amostras de domínio de tempo reamostradas sobreposição e adição das amostras de domínio de tempo atuais com uma ou mais amostras de domínio de tempo reamostradas anteriores | ; | X.
Ds | 650 | | FIG 68B í 14/28 Definições Elementos de Dados tw. data() contém as informações paralelas necessárias para decodificar e aplicar a MDCT de deformação de tempo em um fd channel stream() para elementos SCE e CPE. Os fd channel streams de um channel pair element() pode compartilhar um tw. data() comum.
tw data present 1 bit que indica que um contorno de deformação não plano é transmitido nessa estrutura tw ratio[] Índice de codebook da proporção de deformação para o nó.
Window sequence 2 bits que indicam qual sequência de janelas (isto é, tamanho de bloco) é utilizada Elementos de ajuda warp node values[] valores de nó de contorno de deformação decodificados warp. value tble[] tabela de quantificação para os valores de proporção de nó de deformação, vide FIG 8 new warp. contourl] contorno de deformação decodificado e interpolado para essa estrutura (amostras n long) post warp contour [] contorno de deformação anterior (amostras 2*n Ing) norm fac fator de normalização para o warp. contour anterior warp. contour [] contorno de deformação completo (amostras 3*n long) last warp sum soma da primeira parte do contorno de deformação ] Cur warp sum soma da parte do meio do contorno de deformação | next warp sum soma da última parte do contorno de deformação time contour [] contorno de tempo completo (3*n long + 1. samples) sample post [] posições das amostras deformadas em uma escala de tempo linear (amostras 2*n long + 2*IP LEN 28) : El Er iara rrmentova-Á grade nha a sES/S
Y
: 15/28 eat meant e ema eee Era ame fica nmeemene een ermemormee———
X[w] [] saída da IMDCT para a janela w z vetor de tempo janelado e (opcionalmente) sobreposto de maneira interna para uma estrutura no domínio deformado no tempo zp[] Zz[] com preenchimento zero yl vetor de tempo para uma estrutura no domínio de tempo linear após a reamostragem yin vetor de tempo para a estrutura i após o pós-processamentoi out [ vetor de saída para uma estrutura bl resposta de impulso para o filtro de reamostragem
N comprimento de janela de síntese
Nf comprimento de estrutura, N f = 2* coreCoderFrameLenght | next window sequence — próxima sequência de janela prev window sequence — sequência de janela anterior
FIG 7A2
| : 16/28 | Constantes NUM TW NODES 16 OS FACTOR WIN 16 OS FACTOR RESAMP = 128 IP LEN 28 12 IP LEN 2 OS FACTOR RESAMP*IP LEN 28+-1 IP SIZE IP LEN 2--08 FACTOR RESAMP n long coreCoderFramelLength n short coreCoderFramelengthi8 interp dist n long/NUM TW NODES NOTIME -100000 FIG 7B |
| ' 17/28 tabela: warp value tble [ímice | vaor = | | o | 0982857168
0.988571405
0.994285703
1.02285719 FIG 8 for (i=0;i <NUM TW NODES;i-+-+)f d = (warp node values[i--1] warp node values(i]) /interp dist; for(j=0;j<interp dist j+-+) new warp contourfi*interp dist + j] = warp node values[i-1] -- (j+1)"d; ' ) FIG 9
. | | : | ' 18/28 warp time inv(time contour[],t warp) ( i=0 if (t warp < time contour[0]) f return NOTIME; ) while (t warp > time contour[i+1]) ( + ) return (i + (t warp lime contourfi])/(time contour(i+1]-lime contourfi])) ! ; | | FIG 10A | warp inv vecítime contour[],t start samples,sample pos[]) ( t warp = t start; j=0, while ((i = floor(warp time inv(time contourt warp-0.5))) == NOTIME) ( twarp +=1; j++; ) while (j <n samples && (t warp + 0.5) < time contour[3*n long] ) ( | while (t warp > time contourfi+1]) ++; | ) sample pos[j] = | + (t warp time contour[il)/(time contour[i+1]-time contour[il); j++; E warp += 1; ) + FIG 10B
| : 19/28 | t start=n long-3*N 1/4 -IP LEN 28 + 0.5 warp inv vecítime contour, t start, N f-+2*IP LEN 28, sample pos[]); if (last warp sum > cur warp sum) ( warped trans len left = n long/2; else ( warped trans len left = n long/2"*last warp sum/cur warp sum; | ] mm it (new. warpSum > cur warp sum) ( warped trans len right = n long/2: ) else ( warped trans len right == n long/2*new warp sum/cur warp sum; | ) switch ( window sequence ) í case LONG START SEQUENCE: if ( next window sequence === LPD SEQUENCE) ( warped trans len right /= 4; | y | else ( warped trans len right /== 8; ) break: case LONG STOP SEQUENCE: if ( prev window sequence == LPD SEQUENCE) ( warped trans len left /= 4; ) else ( warped trans len left/= 8 ) break, Á FIG 11A
| ' 20/28 case EIGHT SHORT SEQUENCE: warped trans len right /= 8; warped trans len lelt/= 8; break; case STOP START SEQUENCE: if ( prev window sequence == LPD SEQUENCE) ( warped trans len left/= 4; ) else ( warped trans len left/= 8; ) if ( next window sequence == LPD SEQUENCE) ( warped trans len right /= 4 ) else ( warped trans len right /= 8; ) break; ) . first pos = ceil(N 1/4-0.5-warped trans len left); | last pos = floor(3*N f1/4-0.5-+-warped trans len right): FIG 11B o 21/28 valor de comprimento de janela de síntese N, dependendo de window sequence e coreCoderframeLenght N coreCoderFrameLength| coreCoderFrameLength
ONLY LONG SEQUENCE
LONG START SEQUENCE LONG, STOP SEQUENCE 1536 gu
STOP START SEQUENCE FIG 12 sequências de janela permitidas ui | e uu wu Su S/2|2|/2|/2 Ss 2 /3/3/>3/S s S/S s/S|= us ul Eno silo ola /o|S sequência de janelas de NO, Ss ole / eloa! PM ARO) — << o 8/53/3/5/5/s = e =/2/s|? E/S |S|S|= de | para > = | uu PD | | ONLY LONG SEQUENCE [em ]e| [| | 1) | LONG START SEQUENCE |] | Im|jejeja| EIGHT SHORT SeQUENCE | | Imjlmjejao| LONG STOP SEQUENCE Jefel [| [| |[ | STOP START SEQUENCE | | Jm/m|mejao| Pose — | | [elafefo) FIG 13
: 22/28 Ww. windowing short(X[)[].z[). first pos.last pos warpe trans len lelt warped trans len righ Left window shape(].right window shapel[]) í ofíset =: n long —4*n short-n short/2. tr scale 1 — 0.5*n longóvarped trans len left*OS FACTOR WIN: tr pos | -- warped trans len left+(first pos-n long/2)-+0.5) “tr scale |: tr scale 1 — 8*OS FACTOR WIN: tr pos r=-- tr Scale 1/2: for(i=O:isnshortiii 1) zfi) = X[o]f): | ) for (i=O:i<first pos:i+ +) zfil = O. for (i=:n long-1-first pos:iz>==first posi--) ( z[i] * — left window shapelfloor(tt pos DJ; tr pos | += tr scale | ) for (iz=O;ien shortiii +) ( | z[offset+i+n short] == | X[O)li +n short]*right window shapeffloor(tr pos n): Í tr pos 1 +=tr scale r; Í ; | ofíset + = n short: | | | FIG 14A | |
: 23/28 ar ar - rf oe—— ae for(ki= 1ik<7:kr+)A ' tr scale | = n short"OS FACTOR WIN; tr pos | tr scale 1/2 J tr pos r = OS FACTOR WIN"n long-tr pos |: for(i =0:i<nshort;ir1))f z[i + ofíset] 1 = X[K)][i) “right window shape[fioor(tr pos n]: z[ofíset + n short + ij] = Xíkl[n short + i)*right window shape(floor(tr pos 1): tr pos | += tr scale | tr pos r-=- tr scale |: | ofíset + = n short: ) tr scale | = n short*OS FACTOR WIN: tr pos | == tr scale 1/2: for(i=n short-1:i>=0:i-)f 2li 1 ofíset) + = X[7][i) "right window shape[(int) fioor(tr pos NJ; tr pos | += tr scale |; ) for(i = O:i<n short:i++) 4 z[ofíset 1 n short + il] — X[7)(n short 1 il: + tr scale 1 == 0.5ºn longávarpedTransLenRight*OS FACTOR WIN; tr pos fr = 0.5"tr scale r+.5; tr pos 1 = (1.5*n long-(float)wEnd-O0.5+ warpedTransLenRight) “tr scale r: for (1--3*n long-1-last pos :à< = wEndií+ +) É z[i] *= right window shapeffloor(tr pos n); tr pos 1 1+- tr scale rf 1 for (i—Isat pos-+ t:i<2"n longiit 1) 21) = O:
' 24/28 tw windowing long(X[][].z[].first pos.last pos.warpe trans len left warped trans len right left window shape(].right window shape[]) í for (i=O:i<first pos:i+ 1) 2) = O: | for (i=last pos +iie<N fit 1) il =0, tr scale — 0.5*n longávarped trans len lett*OS FACTOR WIN: tr pos = (warped trans len left+ first pos-N 1/4) 1 0.5)*tr scale: for (i=N f/2-1-first pos iz =first pos:i--) ( z[i] = X[O][i] left window shapeffloor(tr pos))): | tr pos H= tr scale:
N tr scale = 0.5*n long/warped trans len right*OS FACTOR WIN: tr pos = (3º*N (/4-lasl pos-O0.5+ warped trans len right)"tr scale; for (= 3“N 1/2-1-last pos:i<=last pos; +) ( z[i] == X[0) [i]*right window shapelfloor(tr pos))): tr pos 1 = tr scale; 1 1
J |
E md PA o o º 25/28 offset pos 0.5: num samples in — N f12*IP LEN 28: num samples out = 3*n long; | center = O: for (1--0;i< numSamplesOut;i-4 1) í while (j center=:num samples in && sample pos[j center|-offset pos < i) j center+ +: j center--: Ylil=0: il (j center <num samples in-1 &&j center=0) f frac time — floor((i-(sample pos|j center|-ofíset pos)) /sample poslj center+1]-sample pos[j centerl) “os factor): j=1P LEN 28*os factor+frac time; | for (k=j center-lP LEN 28S:k<=j center | IP LEN 28:k1 1) if (k> =0 && k<num samples in) | y[i] + = bfabs())*zp[k]: j-= os factor: 1
H il (j center<0) jcenter+ 1; 3 FIG 16
' 26/28 usac raw data block() ( single channel element (); or single channel element () channel pair element (): 1 or fd channel stream (*,*,*); single channel element (); " and channel pair element (); ) FIG 17B FIG 17A channel pair element ( if (tw. mdet) ( common tw; if (common tw) f tw data(); ) + fd channel steram(“,*,”); fd channel steram(“,*,*), ) | | FIG 17C
. 27/28 fd channel stream (*,*,”); ( global gain; if (tw. mdet) ( if (not common tw) tw data (); ) ) scale factor data (); ac spectral data (); 1 FIG 17D Tabela — Sintaxe de tw data () tw data() í tw data present; 1 uimsbt if (tw data prsent==1) ( for (i=1; | <NUM TW NODES; i++) ( tw ratio[i]; 3 uimsbf x ) 7
Í FIG 17E
. 28/28 Tabela — Sintaxe de ac spectral data () | ac spectral data(indepFlag) í iffindepflag) ( arith reset flag=1; else arith reset flag; 1 uimsbf + for (win=0; win<num windows; win+-+) ( Nota 1 arith data(lo, arith reset flag && (win==0)); ) ) Nota 1: num windows indica o número de janelas na window. sequence atual.
No caso de a window. sequence ser EIGHT SHORT SEQUENCE, num. windows é igual a 8. Em todos os outros casos, num. windows é igual a 1. FIG 17F
: 1/1 Resumo v DECODIFICADOR DE SINAL DE ÁUDIO, CODIFICADOR DE SINAL DE ÁUDIO, MÉTODOS E PROGRAMA DE COMPUTADOR UTILIZANDO UMA
CODIFICAÇÃO DE CONTORNO DA DEFORMAÇÃO NO TEMPO DEPENDENTE DA TAXA
DE AMOSTRAGEM Um decodificador de sinal de áudio configurado para prover uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado | compreendendo uma informação de frequência de amostragem, uma informação de deformação de tempo codificada e uma representação de espectro codificado compreende um calculador de deformação de tempo e um decodificador de deformação. O calculador de deformação de tempo é configurado para adaptar uma norma de mapeamento para i mapear senhas da informação de deformação de tempo codificada em valores de deformação de tempo decodificados que descrevem a informação de deformação de tempo decodificada em dependência da informação de frequência de amostragem. O decodificador de | deformação é configurado para prover a representação de sinal de | áudio decodificado com base na representação de espectro codificado e em dependência da informação de deformação de tempo decodificada.
BR112012022741-6A 2010-03-10 2011-03-09 Decodificador de sinal de áudio, codificador de sinal de áudio e métodos utilizando uma codificação de contorno da deformação no tempo dependente da taxa de amostragem BR112012022741B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31250310P 2010-03-10 2010-03-10
US61/312,503 2010-03-10
PCT/EP2011/053538 WO2011110591A1 (en) 2010-03-10 2011-03-09 Audio signal decoder, audio signal encoder, methods and computer program using a sampling rate dependent time-warp contour encoding

Publications (2)

Publication Number Publication Date
BR112012022741A2 true BR112012022741A2 (pt) 2020-11-24
BR112012022741B1 BR112012022741B1 (pt) 2021-09-21

Family

ID=43829343

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112012022744-0A BR112012022744B1 (pt) 2010-03-10 2011-03-09 decodificador de sinal de áudio, codificador de sinal de áudio, método para decodificar um sinal de áudio, método para codificar um sinal de áudio e programa de computador utilizando uma adaptação dependente de timbre de um contexto de codificação
BR112012022741-6A BR112012022741B1 (pt) 2010-03-10 2011-03-09 Decodificador de sinal de áudio, codificador de sinal de áudio e métodos utilizando uma codificação de contorno da deformação no tempo dependente da taxa de amostragem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR112012022744-0A BR112012022744B1 (pt) 2010-03-10 2011-03-09 decodificador de sinal de áudio, codificador de sinal de áudio, método para decodificar um sinal de áudio, método para codificar um sinal de áudio e programa de computador utilizando uma adaptação dependente de timbre de um contexto de codificação

Country Status (16)

Country Link
US (2) US9129597B2 (pt)
EP (2) EP2539893B1 (pt)
JP (2) JP5625076B2 (pt)
KR (2) KR101445296B1 (pt)
CN (2) CN102884572B (pt)
AR (2) AR080396A1 (pt)
AU (2) AU2011226143B9 (pt)
BR (2) BR112012022744B1 (pt)
CA (2) CA2792500C (pt)
ES (2) ES2461183T3 (pt)
HK (2) HK1179743A1 (pt)
MX (2) MX2012010439A (pt)
PL (2) PL2539893T3 (pt)
RU (2) RU2607264C2 (pt)
TW (2) TWI455113B (pt)
WO (2) WO2011110591A1 (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2083418A1 (en) * 2008-01-24 2009-07-29 Deutsche Thomson OHG Method and Apparatus for determining and using the sampling frequency for decoding watermark information embedded in a received signal sampled with an original sampling frequency at encoder side
US8924222B2 (en) 2010-07-30 2014-12-30 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coding of harmonic signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
CN103035249B (zh) * 2012-11-14 2015-04-08 北京理工大学 一种基于时频平面上下文的音频算术编码方法
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US9716959B2 (en) 2013-05-29 2017-07-25 Qualcomm Incorporated Compensating for error in decomposed representations of sound fields
MX355850B (es) 2013-06-21 2018-05-02 Fraunhofer Ges Forschung Escalador de tiempo, decodificador de audio, metodo y programa de computadora usando un control de calidad.
CA2964362C (en) 2013-06-21 2020-03-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Jitter buffer control, audio decoder, method and computer program
ES2638201T3 (es) 2013-10-18 2017-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Codificación de las posiciones de los picos espectrales
PT3058566T (pt) * 2013-10-18 2018-03-01 Fraunhofer Ges Forschung Codificação de coeficientes espectrais de um espectro de um sinal de áudio
FR3015754A1 (fr) * 2013-12-20 2015-06-26 Orange Re-echantillonnage d'un signal audio cadence a une frequence d'echantillonnage variable selon la trame
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
CN110619884B (zh) * 2014-03-14 2023-03-07 瑞典爱立信有限公司 音频编码方法和装置
US10770087B2 (en) * 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
WO2016142002A1 (en) * 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
CN105070292B (zh) * 2015-07-10 2018-11-16 珠海市杰理科技股份有限公司 音频文件数据重排序的方法和系统
CN117238300A (zh) * 2016-01-22 2023-12-15 弗劳恩霍夫应用研究促进协会 使用帧控制同步来编码或解码多声道音频信号的装置和方法
EP3306609A1 (en) * 2016-10-04 2018-04-11 Fraunhofer Gesellschaft zur Förderung der Angewand Apparatus and method for determining a pitch information
JP7123134B2 (ja) * 2017-10-27 2022-08-22 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. デコーダにおけるノイズ減衰
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US11776562B2 (en) * 2020-05-29 2023-10-03 Qualcomm Incorporated Context-aware hardware-based voice activity detection
AU2021359779A1 (en) * 2020-10-13 2023-06-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding a plurality of audio objects and apparatus and method for decoding using two or more relevant audio objects
CN114488105B (zh) * 2022-04-15 2022-08-23 四川锐明智通科技有限公司 一种基于运动特征及方向模板滤波的雷达目标检测方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
JP4196235B2 (ja) * 1999-01-19 2008-12-17 ソニー株式会社 オーディオデータ処理装置
KR20010072035A (ko) * 1999-05-26 2001-07-31 요트.게.아. 롤페즈 오디오 신호 송신 시스템
US6581032B1 (en) * 1999-09-22 2003-06-17 Conexant Systems, Inc. Bitstream protocol for transmission of encoded voice signals
CA2365203A1 (en) * 2001-12-14 2003-06-14 Voiceage Corporation A signal modification method for efficient coding of speech signals
US20040098255A1 (en) * 2002-11-14 2004-05-20 France Telecom Generalized analysis-by-synthesis speech coding method, and coder implementing such method
US7394833B2 (en) * 2003-02-11 2008-07-01 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification
JP4364544B2 (ja) * 2003-04-09 2009-11-18 株式会社神戸製鋼所 音声信号処理装置及びその方法
CN101167125B (zh) * 2005-03-11 2012-02-29 高通股份有限公司 用于对声码器内的帧进行相位匹配的方法及设备
AU2006232361B2 (en) * 2005-04-01 2010-12-23 Qualcomm Incorporated Methods and apparatus for encoding and decoding an highband portion of a speech signal
US7720677B2 (en) 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
DE602007004502D1 (de) 2006-08-15 2010-03-11 Broadcom Corp Neuphasierung des status eines dekodiergerätes nach einem paketverlust
CN101361112B (zh) * 2006-08-15 2012-02-15 美国博通公司 隐藏丢包后解码器状态的更新
US8239190B2 (en) * 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
US9653088B2 (en) * 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
EP2015293A1 (en) 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
EP2107556A1 (en) * 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
CN102150201B (zh) 2008-07-11 2013-04-17 弗劳恩霍夫应用研究促进协会 提供时间扭曲激活信号以及使用该时间扭曲激活信号对音频信号编码
MY154452A (en) 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
AU2009267543B2 (en) * 2008-07-11 2013-01-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder and audio decoder
US8600737B2 (en) 2010-06-01 2013-12-03 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for wideband speech coding

Also Published As

Publication number Publication date
EP2539893B1 (en) 2014-04-02
AU2011226143B9 (en) 2015-03-19
MX2012010439A (es) 2013-04-29
JP5625076B2 (ja) 2014-11-12
JP2013522658A (ja) 2013-06-13
RU2607264C2 (ru) 2017-01-10
TWI455113B (zh) 2014-10-01
BR112012022744A2 (pt) 2017-12-12
EP2539893A1 (en) 2013-01-02
RU2012143323A (ru) 2014-04-20
CN102884572B (zh) 2015-06-17
CA2792500C (en) 2016-05-03
WO2011110591A1 (en) 2011-09-15
CA2792504C (en) 2016-05-31
US20130117015A1 (en) 2013-05-09
KR101445294B1 (ko) 2014-09-29
KR20130018761A (ko) 2013-02-25
RU2586848C2 (ru) 2016-06-10
CN102884573B (zh) 2014-09-10
AU2011226143A1 (en) 2012-10-25
EP2532001A1 (en) 2012-12-12
US9524726B2 (en) 2016-12-20
AU2011226140B2 (en) 2014-08-14
JP5456914B2 (ja) 2014-04-02
ES2458354T3 (es) 2014-05-05
CN102884572A (zh) 2013-01-16
BR112012022744B1 (pt) 2021-02-17
EP2532001B1 (en) 2014-04-02
CA2792500A1 (en) 2011-09-15
US20130073296A1 (en) 2013-03-21
RU2012143340A (ru) 2014-04-20
TW201203224A (en) 2012-01-16
WO2011110594A1 (en) 2011-09-15
AU2011226140A1 (en) 2012-10-18
BR112012022741B1 (pt) 2021-09-21
TW201207846A (en) 2012-02-16
AR084465A1 (es) 2013-05-22
AU2011226143B2 (en) 2014-08-28
HK1179743A1 (en) 2013-10-04
TWI441170B (zh) 2014-06-11
PL2532001T3 (pl) 2014-09-30
MX2012010469A (es) 2012-12-10
AR080396A1 (es) 2012-04-04
KR101445296B1 (ko) 2014-09-29
JP2013521540A (ja) 2013-06-10
HK1181540A1 (en) 2013-11-08
PL2539893T3 (pl) 2014-09-30
US9129597B2 (en) 2015-09-08
CN102884573A (zh) 2013-01-16
KR20120128156A (ko) 2012-11-26
CA2792504A1 (en) 2011-09-15
ES2461183T3 (es) 2014-05-19

Similar Documents

Publication Publication Date Title
BR112012022741A2 (pt) decodificador de sinal de áudio, codificador de sinal de áudio, método e programa de computador utilizando uma codificação de contorno da deformação no tempo dependente da taxa de amostragem
JP5606433B2 (ja) オーディオエンコーダ及びオーディオデコーダ
US9299363B2 (en) Time warp contour calculator, audio signal encoder, encoded audio signal representation, methods and computer program
ES2677900T3 (es) Codificador y decodificador de audio
BR112012017256A2 (pt) codificador de áudio decodificador de áudio, método de codificação e informação de áudio método de decodificação de uma informação de áudio e programa de computador que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalos&#34;
BR112012009446B1 (pt) Método e aparelho de armazenamento de dados
BR112015019543B1 (pt) Aparelho para codificar um sinal de áudio, descodificador para descodificar um sinal de áudio, método para codificar e método para descodificar um sinal de áudio
ES2651988T3 (es) Transición desde una codificación/decodificación por transformada hacia una codificación/decodificación predictiva
ES2807564T3 (es) Reducción de solapamiento en dominio de tiempo para bancos de filtros no uniformes que usan análisis espectral seguido por síntesis parcial
JP2017151454A (ja) 低複雑度の調性適応音声信号量子化
AU2018365209A1 (en) Analysis/synthesis windowing function for modulated lapped transformation
BR122021003390A2 (pt) Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, método de decodificação de uma informação de áudio e programa de computador que utiliza uma tabela hash otimizada
BR122021003398A2 (pt) Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, método de decodificação de uma informação de áudio e programa de computador que utiliza uma tabela hash otimizada
BR122021007770B1 (pt) Codificador de áudio e decodificador de áudio

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 09/03/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.