BRPI0906320A2 - Calculadora de contorno de distorção de tempo, codificador de sinal de áudio, representação de sinal de áudio codificado, métodos e programa de computador - Google Patents

Calculadora de contorno de distorção de tempo, codificador de sinal de áudio, representação de sinal de áudio codificado, métodos e programa de computador Download PDF

Info

Publication number
BRPI0906320A2
BRPI0906320A2 BRPI0906320A BRPI0906320A BRPI0906320A2 BR PI0906320 A2 BRPI0906320 A2 BR PI0906320A2 BR PI0906320 A BRPI0906320 A BR PI0906320A BR PI0906320 A BRPI0906320 A BR PI0906320A BR PI0906320 A2 BRPI0906320 A2 BR PI0906320A2
Authority
BR
Brazil
Prior art keywords
time
contour
distortion
ratio
node
Prior art date
Application number
BRPI0906320A
Other languages
English (en)
Inventor
Stefan Bayer
Sascha Disch
Bernd Edler
Guillaume Fuchs
Ralf Geiger
Max Neuendorf
Gerald Schuller
Original Assignee
Fraunhofer Ges Zur Foeerderung 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41131685&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0906320(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fraunhofer Ges Zur Foeerderung Der Angewandten Forschung E V filed Critical Fraunhofer Ges Zur Foeerderung Der Angewandten Forschung E V
Publication of BRPI0906320A2 publication Critical patent/BRPI0906320A2/pt
Publication of BRPI0906320B1 publication Critical patent/BRPI0906320B1/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
    • G10L19/032Quantisation or dequantisation of spectral components
    • 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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Stereophonic System (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

calculadora de contorno de distorção de tempo, codificador de sinal de áudio, representação de sinal de áudio codificado, métodos e programa de computador uma calculadora de contorno de distorção de tempo para uso em um decodificador de sinal de áudio para fornecer uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado é configurada para receber uma informação de proporção de distorção codificada, para derivar uma sequência de valores de proporção de distorção a partir da informação de proporção de distorção codificada, e para obter valores de nó de contorno de distorção começando a partir de um valor inicial de contorno de distorção de tempo. proporções entre os valores de nó de contorno de distorção de tempo e o valor inicial de contorno de distorção de tempo associadas com um nó inicial de contorno de distorção de tempo são determinadas pelos valores de proporção de distorção. a calculadora de contorno de distorção de tempo é configurada para computar um valor de nó de contorno de distorção de tempo de um dado nó de contorno de distorção de tempo, que é espaçado a partir do nó inicial de contorno de distorção de tempo por um nó intermediário de contorno de distorção de tempo com base em uma formação de produto compreendendo uma proporção entre o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo e o valor inicial de contorno de distorção de tempo e uma proporção entre o valor de nó de contorno de distorção de tempo do dado nó de contorno de distorção de tempo e o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo como fatores.

Description

CALCULADORA DE CONTORNO DE DISTORÇÃO DE TEMPO,
CODIFICADOR DE SINAL DE ÁUDIO, REPRESENTAÇÃO DE SINAL DE ÁUDIO CODIFICADO, MÉTODOS E PROGRAMA DE COMPUTADOR
HISTÓRICO DA INVENÇÃO
Configurações de acordo com a invenção estão relacionadas a uma calculadora de contorno de distorção de tempo.
Configurações adicionais de acordo com a invenção estão relacionadas a um codificador de sinal de áudio. Configurações adicionais de acordo com a invenção estão relacionadas a uma representação de sinal de áudio codificado. Configurações adicionais de acordo com as invenções estão relacionadas a métodos para fornecer uma representação de sinal de áudio decodificado e para fornecer uma representação—codi£i-eaeta—de—um—s-inal _de áurtioT Ainda configurações adicionais de acordo com a invenção estão relacionadas a um programa de computador.
Algumas configurações de acordo com a invenção estão relacionadas com métodos para um codificador de transformação MDCT de tempo distorcido.
A seguir, será fornecida uma breve introdução ao campo do codificador de áudio de tempo distorcido, conceitos dos quais podem ser aplicados em conjunto com algumas das configurações da invenção.
Nos anos recentes, foram desenvolvidas técnicas para transformar um sinal de áudio em uma representação de dominio 25 de frequência, e para codificar eficientemente esta representação de dominio de frequência, por exemplo levando em conta limiares de máscara conceituais. Este conceito de codificação de sinal de áudio é particularmente eficiente se os comprimentos de bloco, para o qual um conjunto de coeficientes espectrais são transmitidos, forem longos, e se apenas um número comparativamente pequeno de coeficientes espectrais estiverem bem acima do limiar de máscara global enquanto um grande número de coeficientes espectrais estiverem próximos ou abaixo do limiar de máscara global e puderem ser desprezados (ou codificados com duração de código mínima).
Por exemplo, transformadas cíclicas moduladas baseadas em senos e cossenos são frequentemente usadas 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 (passo), elas concentram a energia sinal em um pequeno númexo—de—cemoenrent-es^e-sp^ectTãis (sub^ bandas), o que leva a uma representação sinal eficiente.
Geralmente, o passo (fundamental) de um sinal deve ser entendido como sendo a menor frequência dominante distinguível de um espectro do sinal. No modelo do discurso comum, o passo é a frequência do sinal de excitação modulada pela garganta humana. Se apenas uma única frequência fundamental estivesse presente, o espectro seria extremamente simples, compreendendo a frequência fundamental e os sobretons apenas. Tal espectro poderia ser codificado com grande eficiência. Para sinais com passo variável, contudo, a energia correspondente a cada
componente harmônico é < espalhada por diversos coeficientes de
transformada , desta forma levando a uma redução da eficiência de
codificação. A fim de contornar esta redução da eficiência de
codificação, o sinal de áudio a ser codificado é efetivamente
reamostrado em uma grade temporal não-uniforme. No processamento subsequente, as posições de amostra obtidas pela reamostragem nãouniforme são processadas como se representassem valores em uma grade temporal uniforme. Esta operação é comumente denotada pela frase distorção de tempo. Os tempos de amostra podem ser escolhidos com vantagem na dependência da variação temporal do passo, tal que uma variação de passo na versão de tempo distorcido do sinal de áudio é menor do que uma variação de passo na versão original do sinal de áudio (antes da distorção de tempo) . Após a 10 distorção de tempo do sinal de áudio, a versão de tempo distorcido do sinal de áudio é convertida no domínio de frequência. A distorção de tempo dependente do passo tem o efeito que a representação do domínio de frequência_do—sin-a-1—de—áudiro—de tempo distorcido é tipicamente concentrada em um número muito menor de componentes espectrais do que uma representação do domínio de frequência do sinal de áudio original (tempo não-distorcido).
No lado do decodificador, a representação do domínio de frequência do sinal de áudio de tempo distorcido é convertida de volta ao domínio de tempo, de tal forma que uma representação do domínio de tempo do sinal de áudio de tempo distorcido está disponível no lado do decodificador. Entretanto, na representação do domínio de tempo do sinal de áudio de tempo distorcido reconstruído do lado do decodificador, as variações de passo originais do sinal de áudio de entrada no lado do decodificador não são incluídas. Da mesma forma, ainda outra distorção de tempo por reamostragem da representação do sinal de áudio de tempo distorcido do domínio de tempo reconstruído pelo lado do decodif icador é aplicada. A fim de obter uma boa reconstrução do sinal de áudio de entrada pelo lado do codificador no decodificador, é desejável que a distorção de tempo no lado do decodificador seja pelo menos aproximadamente a operação inversa com respeito à distorção de tempo do lado do codificador. A fim de 5 obter uma distorção de tempo apropriada, é desejável ter uma informação disponível no decodificador que permita um ajuste da distorção de tempo do lado do decodificador.
Como é tipicamente necessário transferir tal informação do codificador de sinal de áudio para o decodificador 10 de sinal de áudio, é desejável manter uma taxa de bits necessária para esta transmissão pequena enquanto ainda se disponibiliza uma reconstrução confiável da informação necessária de distorção de tempo no lado do decodificador_____—---Em vista da discussão acima, há um desejo de ter um conceito que permita uma reconstrução eficiente de uma informação de distorção de tempo com base em uma representação eficientemente codificada da informação de distorção de tempo.
SUMÁRIO DA INVENÇÃO
Uma configuração de acordo com a invenção cria uma calculadora de contorno de distorção de tempo para uso em um decodificador de sinal de áudio para fornecer uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado. A calculadora de contorno de distorção de tempo é configurada para receber uma informação de proporção de distorção codificada, para derivar uma sequência de valoresde proporção de distorção a partir da informação de proporção de distorção codificada, e para obter valores de nó de contornode distorção começando a partir de um valor inicial de contornode distorção de tempo. As proporções entre os valores de nó de contorno de distorção de tempo (isto é valores de nós de contorno de distorção de tempo diferentes do nó inicial de contorno de distorção de tempo) e do valor inicial de contorno de distorção de 5 tempo associado com um nó inicial de contorno de distorção de tempo são determinados pelos valores de proporção de distorção. A calculadora de contorno de distorção de tempo é configurada para computar um valor de nó de contorno de distorção de tempo de um dado nó de contorno de distorção de tempo, que é espaçado a partir 10 do nó inicial de contorno de distorção de tempo por um nó intermediário de contorno de distorção de tempo, com base em uma formação de produto compreendendo uma proporção entre o valor de nó de contorno de distorção de tempo—-de—nó—rntrermediárTõ de contorno de distorção de tempo e o valor inicial de contorno de 15 distorção de tempo e uma proporção entre o valor de nó de contorno de distorção de tempo do dado nó de contorno de distorção de tempo e o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo como fatores.
Esta configuração da invenção baseia-se na idéia20 chave de que uma codificação eficiente de um contorno de distorção de tempo pode ser obtida se proporções entre subsequentes valores de nó de contorno de tempo forem codificadas na forma de uma informação de proporção de distorção codificada. Descobriu-se que uma mudança relativa (isto é proporção) entre valores de nó (de 25 contorno de distorção de tempo) de dois nós de contorno de distorção de tempo subsequentes é uma quantidade que pode ser codificada em uma forma com eficiência de bits sem seriamente degradar uma reconstrução do contorno de distorção de tempo. Por exemplo, descobriu-se que proporções entre valores de nó de contorno de distorção de tempo de subsequentes nós de contorno de distorção de tempo tipicamente cobrem a mesma gama de valores independentemente do valor absoluto do contorno de distorção de tempo, tal que a codificação dos valores de proporção de distorção pode ser escolhida independente de um valor absoluto atual do contorno de distorção de tempo. Os valores de nó de contorno de distorção de tempo são computados com base em uma formação de produto, tal que um valor de nó de contorno de distorção de tempo de um novo nó de contorno de distorção de tempo é derivado a partir de um valor de nó de um nó anterior de contorno de distorção de tempo por uma formação de produto (isto é multiplicação) . Desta forma, garante-se que nma—di£ea?ençra—reTativã’ entre valores de nó de contorno de distorção de tempo de subsequentes nós de contorno de distorção de tempo esteja dentro de uma gama de valores predeterminados, em que a gama de valores predeterminados é determinada pelos valores de proporção de distorção codificada. Da mesma forma, garante-se que o contorno de distorção de tempo não compreenda descontinuidades indesejavelmente grandes (passos), que resultariam em uma distorção audível.
Adicionalmente, descobriu-se que operações complicadas de ajuste de curva podem ser evitadas computando-se valores de nó de contorno de distorção de tempo de subsequentes nós de contorno de distorção de tempo usando uma formação de produto. Da mesma forma, a complexidade do decodificador pode ser mantida comparativamente pequena. Em particular, um número de operações matemáticas difíceis de implementar (por exemplo,
operações de divisão) pode ser mantido suficientemente pequeno.
Para resumir o que foi referido acima, a
configuração descrita de acordo com a invenção permite uma
eficiente e precisa reconstrução do contorno de distorção de
tempo, aproveitando o fato de que a mudança relativa do contorno de distorção de tempo entre subsequentes nós de contorno de distorção de tempo é tipicamente limitada a uma pequena gama de valores, que pode ser descrita com suficiente precisão pela informação de proporção de distorção de tempo codificada (também 10 abreviadamente designada aqui como informação de proporção de distorção), mesmo se um pequeno número de bits (por exemplo, 3 bits, ou 4 bits) for usado para a codificação dos valores de proporção de distorção. O computo dos vai ovas—de—nó—de—coTTüõrnõ%3e^ ’ distorção de tempo é computacionalmente eficiente e garante uma 15 continuidade psico-acusticamente suficiente do contorno de distorção de tempo.
Em uma configuração preferida, a calculadora de contorno de distorção de tempo é configurada para periodicamente reiniciar a partir do valor inicial de contorno de distorção de 20 tempo. Ao realizar um reinicio periódico a partir do valor inicial de contorno de distorção de tempo, pode-se concluir que a gama de valores do contorno de distorção de tempo é limitada a valores em um ambiente do valor inicial de contorno de distorção de tempo. Da mesma forma, a complexidade exigida da calculadora de contorno de
25 distorção de tempo pode ser mantida pequena e é muito bem
controlável, pois o desvio dos valores de nó de contorno de
distorção de tempo a partir do valor inicial de contorno de
distorção de tempo é limitado pela gama de valores dos valores de
proporção de distorção e o número de nós de contorno de distorção
de tempo entre dois reinícios subsequentes. Desta forma, um
underflow numérico ou estouro numérico pode ser seguramente
prevenido, mesmo se a calculadora de contorno de distorção de
5 tempo compreender uma resolução numérica ou gama de valores
numéricos relativamente pequena (o que permite uma implementação simples).
Em uma configuração preferida, a calculadora de contorno de distorção de tempo é configurada para mapear a informação de proporção de distorção codificada na sequência de valores de proporção de distorção usando uma regra de mapeamento, em que a regra de mapeamento descreve um mapeamento de uma pluralidade de índices de livro de códigos—de—proporção dê “distorção sobre valores correspondentes de proporção de distorção, e em que a regra de mapeamento é escolhida tal que a regra de mapeamento compreenda uma pluralidade de pares de valores recíprocos de proporção de distorção, tal que um produto de dois valores de proporção de distorção de um par de valores recíprocos de proporção de distorção fica entre 0,9997 e 1,0003. Tal 20 codificação dos valores de proporção de distorção permite uma precisa representação de contornos de distorção de tempo que retornam a um valor prévio. Descobriu-se que em alguns casos é desejável que um contorno de distorção de tempo se desvie de um valor inicial por um instante (por exemplo, para uma pluralidade 25 de nós de contorno de distorção de tempo) e então retorne ao valor inicial. Também, descobriu-se que distorções audíveis podem ocorrer se o valor, que o contorno de distorção de tempo finalmente alcança, se desviar do valor inicial. Não obstante, fornecendo pares de valores recíprocos de proporção de distorção, pode-se concluir que um contorno de distorção de tempo retorna ao seu valor inicial com uma precisão muito alta. Da mesma forma, potenciais artefatos audíveis, que poderíam surgir de uma inconsistência entre um valor inicial de nó de contorno de distorção de tempo e um valor de nó de contorno de distorção de tempo ao qual o contorno de distorção de tempo retorna após um instante, são prevenidos.
Em uma configuração preferida, a calculadora de contorno de distorção de tempo é configurada para mapear a informação de proporção de distorção codificada sobre uma sequência de valores de proporção de distorção usando uma regra de mapeamento, em que a regra de mapeamento des_c.r.e-ve—e—rnapreamgrrtõ de uma pluralidade de índices de livro de códigos de proporção de distorção sobre valores correspondentes de proporção de distorção, em que a regra de mapeamento é escolhida tal que os valores de proporção de distorção, sobre os quais os índices de livro de códigos de proporção de distorção são mapeados, estejam dentro de uma variação entre 0,97 e 1,03. Descobriu-se que tal escolha permite uma descrição suficientemente precisa do contorno de distorção de tempo ao manter a taxa necessária de transferência de
bits para a codificação da proporção de distorção suficientemente
pequena.
Em uma configuração preferida, a calculadora de
contorno de distorção de tempo é configurada para mapear a
informação de proporção de distorção codificada sobre uma sequência de valores de proporção de distorção usando uma regra de mapeamento, em que a regra de mapeamento descreve o mapeamento de uma pluralidade de índices de livro de códigos de proporção de distorção sobre valores correspondentes de proporção de distorção, e em que a regra de mapeamento é escolhida assimetricamente, tal que uma gama de valores crescentes de proporção de distorção é 5 maior do que uma gama de valores decrescentes de proporção de distorção. Descobriu-se que tal escolha da regra de mapeamento é bem adaptada às características da fala humana e de peças musicais típicas. Da mesma forma, uma escolha assimétrica da regra de mapeamento permite um uso ótimo da taxa de transferência de bits 10 disponível, que é um critério muito importante no campo de codificação de áudio e decodificação de áudio.
Em uma configuração preferida, a calculadora de contorno de distorção de tempo é configurada aar.a—reeebe-r uma —--i-nfarmação lateral indicando um contorno de distorção de tempo não-variável (por exemplo, plano) ou um contorno de distorção de tempo variável (por exemplo, não-plano) para uma dada estrutura da representação de sinal de áudio codificado, e, na dependência da informação lateral indicando um contorno de distorção de tempo não-variável ou um contorno de distorção de tempo variável, para 20 obter os valores de nó de contorno de distorção de tempo para a dada estrutura com base na informação de proporção de distorção codificada, ou para estabelecer os valores de nó de contorno de distorção de tempo para a dada estrutura ao valor inicial de contorno de distorção de tempo. Nesta configuração, uma 25 transferência de qualquer informação de proporção de distorção de tempo codificada para a calculadora de contorno de distorção de tempo pode ser omitida para estruturas em que a informação lateral indica a presença de um contorno de distorção de tempo não11 variável. Da mesma forma, estruturas de áudio em que o contorno de distorção de tempo é não-variável (ou para as quais um contorno de distorção de tempo variável não pode ser identificado), meramente compreendem um flag apropriado indicando que este 5 contorno de distorção de tempo não-variável (ou a ausência de um contorno de distorção de tempo variável) . Em contraste, estruturas de áudio em que o contorno de distorção de tempo é variável compreendem um flag indicando que o contorno de distorção de tempo não é não-variável e, além disso, a informação de proporção de distorção de tempo codificada. Desta forma, enquanto estruturas de áudio compreendendo um contorno de distorção de tempo variável compreendem um flag adicional, por exemplo um bit, além da informação de^_-P-ro-oe-r-çãO de -----dirstrrrçãõ de-tempo codificada, estruturas de áudio em que o 15 contorno de distorção de tempo é não-variável meramente compreendem um flag (por exemplo, um bit) , porém não compreendem a informação de proporção de distorção codificada. Como há tipicamente um percentual significativo de estruturas em que o contorno de distorção de tempo é não-variável (ou um 20 contorno de distorção de tempo variável não pode ser identificado), um número de bits exigidos para a descrição do contorno de distorção de tempo é tipicamente reduzido quando comparado a uma solução em que a informação de proporção de distorção de tempo codificada é transmitida para toda estrutura 25 de áudio, muito embora a contagem de bits da informação de contorno de distorção de tempo seja até aumentada (por exemplo, por um bit) naquelas estruturas em que o contorno de distorção de tempo seja variável.
Em uma configuração preferida, a calculadora de contorno de distorção de tempo é configurada para interpolar linearmente entre os valores de nó de contorno de distorção de tempo, para obter valores de contorno de distorção de tempo de 5 novas porções de contorno de distorção de tempo. Ao realizar tal interpolação, pode-se obter uma exatidão aumentada da reconstrução do contorno de distorção de tempo.
Em uma configuração preferida, a calculadora de contorno de distorção de tempo é configurada para iterativamente 10 obter uma sequência de valores de nó de contorno de distorção de tempo, em que a calculadora de contorno de distorção de tempo é configurada para obter um subsequente valor de nó de contorno de distorção de tempo a partir de um valor de nó de_co-ntorfte—de dústrorção dê tempo presente multiplicando-se o valor de nó de contorno de distorção de tempo presente com um valor de proporção de distorção de tempo correspondente. Desta forma, pode-se fazer um uso eficiente dos valores de proporção de distorção de tempo. Em particular, um valor de nó de contorno de distorção de tempo pode ser obtido a partir de um valor prévio de nó de contorno de 20 distorção de tempo em uma operação de passo único.
Outra configuração de acordo com a invenção cria um codificador de sinal de áudio para fornecer uma representação codificada de um sinal de áudio. O codificador de sinal de áudio compreende um codificador de contorno de distorção de tempo 25 configurado para receber uma informação de contorno de distorção de tempo associada com o sinal de áudio, para computar uma proporção entre subsequentes valores de nó do contorno de distorção de tempo, e para codificar a proporção entre subsequentes valores de nó do contorno de distorção de tempo. 0 codificador de sinal de áudio adicionalmente compreende um codificador de sinal de distorção de tempo configurado para obter uma representação codificada de um espectro do sinal de áudio, 5 levando em conta uma distorção de tempo descrita pela informação de contorno de distorção de tempo. A representação de áudio codificado do sinal de áudio compreende a proporção codificada (entre subsequentes valores de nó do contorno de distorção de tempo) e a representação codificada do espectro do sinal de áudio.
O codificador de sinal de áudio de acordo com esta configuração fornece uma representação codificada do sinal de áudio, que é bem ajustado para o cálculo pelo lado do codificador de um contorno de distorção de tempo, que foi descrito a c ima. Por__exemt>-le>-7—é—
---tdpTcãmênte possível codificar a proporção entre subsequentes 15 valores de nó do contorno de distorção de tempo com boa precisão usando um pequeno número de bits. Como discutido acima, a proporção entre · subsequentes valores de nó do contorno de distorção de tempo está tipicamente dentro da mesma gama de valores, tanto para pequenos valores absolutos do contorno de distorção de tempo como para grandes valores absolutos do contorno de distorção de tempo. Adicionalmente, o computo de uma proporção entre subsequentes valores de nó do contorno de distorção de tempo pode ser realizado com complexidade computacional muito baixa, assim facilitando o projeto do codificador de sinal de áudio.
Em uma configuração preferida, o codificador de contorno de distorção de tempo é configurado para checar se um contorno de distorção de tempo variável está disponível para uma dada estrutura do sinal de áudio, e para estabelecer um flag dentro da representação codificada do sinal de áudio para indicar a ausência de um contorno de distorção de tempo variável se um contorno de distorção de tempo variável não estiver disponível para a dada estrutura do sinal de áudio. Por exemplo, um flag indicando a presença de um contorno de distorção de tempo variável pode ser desativado (ou restabelecido) neste caso. O codificador de contorno de distorção de tempo é também configurado para omitir a inclusão de valores de proporção codificada na representação codificada do sinal de áudio se um contorno de distorção de tempo variável não estiver disponível para a dada estrutura do sinal de áudio. Desta forma, uma taxa de transferência de bits é minimizada para sinais de áudio que tenham um significativo número de estruturas para as quais um contorno de distorção—de—-tempo* jLari^velr-não^^stêj^^dispõnívelT Deve-se notar aqui que um contorno de distorção de tempo variável é tipicamente não disponível para sinais de áudio, em que há um contorno de distorção de tempo nãovariável, e também para sinais de áudio para os quais a extração de um contorno de distorção de tempo falha (ou não traz um resultado significativo) . Como já discutido acima, o uso de um flag indicando a presença ou ausência de um contorno de distorção de tempo variável, permite uma redução da taxa de transferência de bits exigida para a codificação do contorno de distorção de tempo para sinais de áudio típicos.
Outra configuração de acordo com a invenção cria uma representação de sinal de áudio codificado representando um sinal de áudio. A representação de sinal de áudio codificado compreende uma representação de domínio de frequências codificada representando um ou mais canais de áudio re-amostrados para t distorção de tempo, re-amostrados de acordo com uma distorção de tempo. A representação de sinal de áudio codificado também compreende uma representação codificada de um contorno de distorção de tempo representando a distorção de tempo, em que a representação codificada do contorno de distorção de tempo compreende uma pluralidade de valores de proporção de distorção de tempo codificados. Os valores de proporção de distorção de tempo representam proporções entre subsequentes valores de nó do contorno de distorção de tempo. Tal representação de sinal de áudio codificado transporta a informação de distorção de tempo em uma forma particularmente eficiente e permite o uso da eficiente calculadora de contorno de distorção de tempo descrita acima.
Em uma configuração preferida, a representa_c_ã-Q—de--sinal—efe—árudiõ codificado compreende, conforme uma estrutura de áudio, um flag indicando a presença de uma representação codificada de um contorno de distorção de tempo para a respectiva estrutura.
compreende um
Outra configuração de acordo com método para fornecer uma representação de invenção sinal de áudio decodificado com base em uma representação de sinal de áudio codificado. O método compreende o recebimento de uma informação de proporção de distorção codificada, derivando uma sequência de valores de proporção de distorção a partir da informação de proporção de distorção codificada e obtenção de uma pluralidade de valores de nó de contorno de distorção começando a partir de um valor inicial de contorno de distorção. Proporções entre valores de nó de contorno de distorção de tempo (de nós de contorno de distorção de tempo diferentes do nó inicial de contorno de distorção de tempo) e o valor inicial de contorno de distorção de tempo associado com o nó inicial de contorno de distorção de tempo são determinados pelos valores de proporção de distorção de tempo. O valor de nó de contorno de distorção de tempo de um dado nó de contorno de distorção de tempo, que é espaçado a partir do nó inicial de contorno de distorção de tempo por um nó intermediário de contorno de distorção de tempo, é computado com base em uma formação de produto, compreendendo uma proporção entre o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo e o valor inicial de contorno de distorção de tempo e uma proporção entre o valor de nó de contorno de distorção de tempo do dado nó de contorno de distorção de tempo e o valor de nó de contorno de distorção de tempo.—do—nó
-Jjrtexmediá-rTírtelé--contorno de distorção de tempo como fatores. Este método compreende as mesmas vantagens que a calculadora de contorno de distorção de tempo discutida acima e pode ser suplementado pelos mesmos aspectos e funcionalidades que a calculadora de contorno de distorção de tempo aqui descrita.
Uma configuração da invenção cria um método para fornecer uma representação codificada de um sinal de áudio. O método compreende a recepção de uma informação de contorno de distorção de tempo associada com o sinal de áudio, o computo de uma proporção entre subsequentes valores de nó do contorno de distorção de tempo e a codificação da proporção entre subsequentes valores de nó do contorno de distorção de tempo. O método também compreende a obtenção de uma representação codificada de um espectro do sinal de áudio, levando em conta uma distorção de tempo descrita pela informação de distorção de tempo. A representação codificada do sinal de áudio compreende a proporção codificada e a representação codificada do espectro. Este método compreende as mesmas vantagens que o decodificador de sinal de áudio mencionado acima, e pode ser suplementado por quaisquer dos 5 aspectos e funcionalidades aqui descritos com respeito ao codificador de sinal de áudio.
Outra configuração de acordo com a invenção cria um programa de computador para executar os métodos aqui descritos.
Outra configuração de acordo com a invenção cria um decodificador de sinal de áudio compreendendo a calculadora de contorno de distorção de tempo mencionada acima. O decodificador de sinal de áudio pode ser suplementado por quaisquer dos aspectns ^funciojiaiid-ade-s-ãqui~~descritos.
BREVE DESCRIÇÃO DAS FIGURAS
Configurações de acordo com a invenção serão descritas seguir tomando referência às figuras inclusas, nas quais:
A Figura mostra um diagrama esquemático de blocos de um codificador de áudio de distorção de tempo;
A Figura mostra um diagrama esquemático de blocos de um decodificador de áudio de distorção de tempo;
blocos de
A Figura mostra um diagrama esquemático de um decodificador de sinal de áudio, de acordo com uma configuração da invenção;
A Figura 4 mostra um fluxograma de um método para fornecer uma representação de sinal de áudio decodificado, de acordo com uma configuração da invenção;
A Figura 5 mostra um extrato detalhado de um diagrama esquemático de blocos de um decodificador de sinal de áudio de acordo com uma configuração da invenção;
A Figura 6 mostra um extrato detalhado de um fluxograma de um método para fornecer uma representação de sinal de áudio decodificado de acordo com uma configuração da invenção;
As Figuras 7a,7b mostram uma representação gráfica de uma reconstrução de um contorno de distorção de tempo, de acordo com uma configuração da invenção;
A Figura 8 mostra outra representação gráfica de uma reconstrução de um contorno de distorção de tempo, de acordo com uma configuração da invenção; ___ __— _______----—--As Figuras 9a e 9b mostram algoritmos para o cálculo do contorno de distorção de tempo;
A Figura 9c mostra uma tabela de mapeamento a partir de um índice de proporção de distorção de tempo até um valor de proporção de distorção de tempo;
As Figuras 10a e 10b mostram representações de algoritmos para o cálculo de um contorno de tempo, uma posição de amostra, um comprimento de transição, uma primeira posição e uma última posição;
A Figura 10c mostra uma representação de algoritmos para um cálculo de forma de janela;
As Figuras lOd e lOe mostram uma representação de algoritmos para uma aplicação de uma janela;
A Figura lOf mostra uma representação de algoritmos para uma reamostragem de tempo variável;
A Figura lOg mostra uma representação gráfica de algoritmos para um processamento de estrutura pós-distorção de tempo e para uma sobreposição e soma;
As Figuras 11a e 11b mostram uma legenda;
A Figura 12 mostra uma representação gráfica de um contorno de tempo, que pode ser extraído de um contorno de distorção de tempo;
A Figura 13 mostra um diagrama esquemático de blocos detalhado de um aparelho para fornecer um contorno de 10 distorção, de acordo com uma configuração da invenção;
A Figura 14 mostra um diagrama esquemático de blocos de um decodificador de sinal de áudio, de acordo com outra configuração da invenção;
A Figura 15 mostra um diagrama esquemático de blocos de outra calculadora de contorno de distorção de tempo de acordo com uma configuração da invenção;
As Figuras 16a, 16b mostram uma representação gráfica de um computo de valores de nó de distorção de tempo, de acordo com uma configuração da invenção;
A Figura 17 mostra um diagrama esquemático de blocos de outro codificador de sinal de áudio, de acordo com uma configuração da invenção;
A Figura 18 blocos de outro decodificador 25 configuração da invenção; e
As Figuras mostra um diagrama esquemático de de sinal de áudio, de acordo com uma
19a-19f mostram representações de elementos de sintaxe de um stream de áudio, de acordo com uma configuração da invenção;
DESCRIÇÃO DETALHADA DAS CONFIGURAÇÕES
1. CODIFICADOR DE ÁUDIO DE DISTORÇÃO DE TEMPO DE
ACORDO COM A FIGURA 1
Como a presente invenção está relacionada com a codificação de áudio de distorção de tempo e decodificação de áudio de distorção de tempo, uma breve visão geral será apresentada de um protótipo de codificador de áudio de distorção de tempo e um decodificador de áudio de distorção de tempo, em que a presente invenção pode ser aplicada.
A Figura 1 mostra um diagrama esquemático de blocos de um codificador de áudio de distorção de tempo, no qual alguns aspectos e configurações da invenção podem ser integrados.
-O—cod±íXcadQrL_de__sLÍn,a.l__de .áudio 100 da Figura 1 é configurado para receber um sinal de entrada de áudio 110 e para fornecer uma representação codificada do sinal de entrada de áudio 110 em uma sequência de estruturas. O codificador de áudio 100 compreende um amostrador 104, que é adaptado para amostrar o sinal de áudio 110 (sinal de entrada) para derivar blocos de sinais (representações amostradas) 105 usados como base para uma transformação de dominio de frequência. O codificador de áudio 100 compreende adicionalmente uma calculadora de janela de transformada 106, adaptada para derivar janelas de escalação para a saidade representações amostradas 105 do amostrador 104. Estassão inseridas em um windower 108 que é adaptado para aplicaras janelas de escalação às representações amostradas 105 derivadas pelo amostrador 104. Em algumas configurações, o codificador de áudio 100 pode adicionalmente compreender um transformador de dominio de frequência 108a, a fim de derivar uma representação de dominio de frequência (por exemplo, na forma de coeficientes de transformada) das representações amostradas e escaladas 105. As representações de dominio de frequência podem ser processadas ou adicionalmente transmitidas como uma representação codificada do 5 sinal de áudio 110.
O codificador de áudio 100 adicionalmente usa um contorno de passo 112 do sinal de áudio 110, que pode ser fornecido ao codificador de áudio 100 ou que pode ser derivado pelo codificador de áudio 100. O codificador de áudio 100 pode portanto opcionalmente compreender um estimador de passo para derivar o contorno de passo 112. O amostrador 104 pode operar em uma representação continua do sinal de entrada de áudio 110.
-----ALte^nativamente-,---o___amostrador 104 pode operar em uma representação já amostrada do sinal de entrada de áudio 110. No último caso, o amostrador 104 pode reamostrar o sinal de áudio
110. O amostrador 104 pode, por exemplo, ser adaptado para distorção de tempo próxima a blocos de áudio sobreponentes tal que a porção de sobreposição tenha um passo constante ou variação de passo reduzida dentro de cada um dos blocos de entrada após a 20 amostragem.
A calculadora de janela de transformada 106 deriva as janelas de escalação para os blocos de áudio dependendo da distorção de tempo realizada pelo amostrador 104. Para este fim, um bloco de ajuste de taxa de amostragem opcional 114 pode 25 estar presente a fim de definir uma regra de distorção de tempo usada pelo amostrador, que é então também fornecida para a calculadora de janela de transformada 106. Em uma configuração alternativa, o bloco de ajuste de taxa de amostragem 114 pode ser ι omitido e o contorno de passo 112 pode ser diretamente fornecido para a calculadora de janela de transformada 106, que pode ela mesma realizar os cálculos apropriados. Além disso, o amostrador
104 pode comunicar a amostragem aplicada à calculadora de janela de transformada 106 a fim de habilitar o cálculo de janelas de escalação apropriadas.
A distorção de tempo é realizada tal que um contorno de passo tempo distorcido de blocos de áudio amostrados e
amostrados pelo amostrador 104 não seja mais constante do que o
10 contorno de passo do sinal de áudio original 110 dentro do bloco
de entrada.
2. DECODIFICADOR DE ÁUDIO DE DISTORÇÃO DE TEMPO
DE ACORDO COM A FIGURA 2
A Figura 2 mostra um diagrama esquemático de blocos de um decodificador de áudio de distorção de tempo 200 para processar um primeiro tempo distorcido e amostrado, ou simplesmente representação de tempo distorcido de uma primeira e segunda estrutura de um sinal de áudio tendo uma sequência de estruturas em que a segunda estrutura segue a primeira estrutura e 20 para adicionalmente processar uma segunda representação de tempo distorcido da segunda estrutura e de uma terceira estrutura seguindo a segunda estrutura na sequência de estruturas. O decodificador de áudio 200 compreende uma calculadora de janela de transformada 210 adaptada para derivar uma primeira janela de 25 escalação para a primeira representação de tempo distorcido 211a usando informação sobre um contorno de passo 212 da primeira e segunda estrutura e para derivar uma segunda janela de escalação para a segunda representação de tempo distorcido 211b usando
informação sobre um contorno de passo da segunda e terceira
estrutura, em que as janelas de escalação podem ter números
idênticos de amostras e em que o primeiro número de amostras
usadas para fechar a primeira janela de escalação podem diferir de um segundo número de amostras usadas para abrir a segunda janela de escalação. O decodificador de áudio 200 adicionalmente compreende um windower 216 adaptado para aplicar a primeira janela de escalação à primeira representação de distorção de tempo e para aplicar a segunda janela de escalação à segunda representação de tempo distorcido. O decodificador de áudio 200, além disso, compreende um reamostrador 218 adaptado para distorcer inversamente o tempo na primeira representação escalada de tempo distorcido para derivar uma primeira representação amostrada usando a informação sobre o contorno de passo da primeira e segunda estrutura e para distorcer inversamente o tempo na segunda representação escalada para derivar uma segunda representação amostrada usando a informação sobre o contorno de passo da segunda e terceira estrutura tal que uma porção da primeira representação amostrada correspondente à segunda estrutura compreende um contorno de passo que iguala, dentro de uma faixa de tolerância predeterminada, um contorno de passo da porção da segunda representação amostrada correspondente à segunda estrutura. A fim de derivar a janela de escalação, a calculadora de janela de transformada 210 pode ou receber o contorno de passo 212 diretamente ou receber informação sobre a distorção de tempo a partir de um ajustador de taxa de amostra opcional 220, que recebe o contorno de passo 212 e que deriva uma estratégia inversa de distorção de tempo de tal maneira que as posições de amostra em uma escala de tempo linear para as amostras das regiões de sobreposição sejam idênticas ou quase idênticas e regularmente espaçadas, de modo que o passo se torne o mesmo nas regiões de sobreposição, e opcionalmente as durações de desvanecimento diferentes de partes de sobreposição de janela antes da distorção de tempo inversa se tornam de mesmo comprimento após a distorção de tempo inversa.
O decodificador de áudio 200, além disso, compreende um adicionador opcional 230, que é adaptado para adicionar a porção da primeira representação amostrada correspondente à segunda estrutura e a porção da segunda representação amostrada correspondente à segunda estrutura para derivar uma representação reconstruída da segunda estrutura do sinal__de__áudio__como__um__sinal___de___saída__2-4-2-.___A__primeira representação de tempo distorcido e a segunda representação de tempo distorcido poderíam, em uma configuração, ser fornecidas como uma entrada para o decodificador de áudio 200. Em uma configuração adicional, o decodificador de áudio 200 pode, opcionalmente, compreender um transformador de domínio de frequência inversa 240, que pode derivar a primeira e segunda representações de tempo distorcido a partir de representações de domínio de frequência da primeira e segunda representações de tempo distorcido fornecidas para a entrada do transformador de domínio de frequência inversa 240.
3. DECODIFICADOR DE DISTORÇÃO DE TEMPO DE SINAL DE ÁUDIO DE ACORDO COM A FIGURA 3
A seguir, será descrito um decodificador de sinal de áudio simplificado. A Figura 3 mostra um diagrama esquemático de blocos deste decodificador de sinal de áudio simplificado 300.
decodificador de sinal de áudio 300 é configurado para receber a representação de sinal de áudio codificado 310, e para fornecer, com base nela, uma representação de sinal de áudio decodificado 312, em que a representação de sinal de áudio codificado 310 5 compreende uma informação de evolução de contorno de distorção de tempo. O decodificador de sinal de áudio 300 compreende uma calculadora de contorno de distorção de tempo 320 configurada para gerar dados de contorno de distorção de tempo 322 com base na informação de evolução de contorno de distorção de tempo, 10 informação de evolução de contorno de distorção de tempo esta que descreve uma evolução temporal do contorno de distorção de tempo, e informação de evolução de contorno de distorção de tempo esta _____que é composta pela representaçAo_de_sXnal—de—áudi-o—eedáf ie-ade310. Ao derivar os dados de contorno de distorção de tempo 322 a partir da informação de evolução de contorno de distorção de tempo
312, a calculadora de contorno de distorção de tempo 320 repetidamente reinicia a partir de um valor inicial de contorno de distorção de tempo predeterminado, como será descrito em detalhes a seguir. O reinicio pode ter a consequência de que o contorno de 20 distorção de tempo compreenda descontinuidades (mudanças step-wise que são maiores do que os passos codificados pela informação de evolução de contorno de distorção de tempo 312) . O decodificador de sinal de áudio 300 também compreende dados de rescalador de contorno de distorção de tempo 330 que são configurados para rescalar pelo 25 menos uma porção dos dados de contorno de distorção de tempo 322, tal que uma descontinuidade em um reinicio do cálculo do contorno de distorção de tempo seja evitada, reduzida ou eliminada em uma versão rescalada 332 do contorno de distorção de tempo.
O decodificador de sinal de áudio 300 também compreende um decodificador de distorção 340 configurado para prover uma representação de sinal de áudio decodificado 312 com base na representação de sinal de áudio codificado 310 e usando a versão rescalada 332 do contorno de distorção de tempo.
Para colocar o decodificador de sinal de áudio 300 no contexto de decodificação de áudio de distorção de tempo, deve-se notar que a representação de sinal de áudio codificado 310 pode compreender uma representação codificada dos coeficientes de transformada 211 e também uma representação codificada do contorno de passo 212 (também chamada de contorno de distorção de tempo) . A calculadora de contorno de distorção de tempo 320 e os dados de rescalador de contorno de di st-orção—de--tempo--33Θ—pedem—s-e-rconfigurados para prover uma representação reconstruída do contorno de passo 212 na forma da versão rescalada 332 do contorno de distorção de tempo. O decodificador de distorção 340 pode, por exemplo, assumir a funcionalidade da janela 216, a reamostragem 218, o ajuste da taxa de amostra 220 e o ajuste da forma de janela 210. Além disso, o decodificador de distorção 340 pode, por exemplo, opcionalmente, compreender a funcionalidade da transformada inversa 240 e da sobreposição/soma 230, tal que a representação de sinal de áudio decodificado 312 possa ser equivalente ao sinal de saída de áudio 232 do decodificador de áudio de distorção de tempo 200.
Aplicando a rescalação dos dados de contorno de distorção de tempo 322, uma versão rescalada 332 contínua (ou pelo menos aproximadamente contínua) do contorno de distorção de tempo pode ser obtida, assim garantindo que um estouro ou underflow numérico seja evitado mesmo quando usando uma informação de t evolução de contorno de distorção de tempo de variação relativa • eficiente para codificar.
4. MÉTODO PARA FORNECER UMA REPRESENTAÇÃO DE SINAL DE ÁUDIO DECODIFICADO DE ACORDO COM A FIGURA 4.
A Figura 4 mostra um fluxograma de um método para fornecer uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado compreendendo uma informação de evolução de contorno de distorção de tempo, que pode ser realizada pelo aparelho 300 de acordo com a Figura 3. O método 400 compreende um primeiro passo 410 de geração de dados de contorno de distorção de tempo, reiniciando repetidamente a partir de um valor inicial de contorno de distorção de tempo predeterminado, com base em uma vn£oj2ma-çAo——evetaç-ãe—de—eontcrrncr de distorção de tempo descrevendo uma evolução temporal do 15 contorno de distorção de tempo.
O método 400 adicionalmente compreende um passo
420 de rescalação de pelo menos uma porção dos dados de controle da distorção de tempo, tal que uma descontinuidade em um dos reinicios seja evitada, reduzida ou eliminada em uma versão 20 rescalada do contorno de distorção de tempo.
O método 400 adicionalmente compreende um passo 430 de fornecimento de uma representação de sinal de áudio decodificado com base na representação de sinal de áudio codificado usando a versão rescalada do contorno de distorção de tempo.
5. descrição detalhada de uma configuração DE
ACORDO COM A INVENÇÃO TOMANDO REFERÊNCIA ÀS FIGURAS 5-9.
A seguir, será descrita uma configuração de acordo com a invenção em detalhe tomando referência às Figuras 5-9.
A Figura 5 mostra um diagrama esquemático de blocos de um aparelho 500 para fornecer uma informação de controle de distorção de tempo 512 com base em uma informação de evolução de contorno de distorção de tempo 510. O aparelho 500 compreende 5 um meio 520 para fornecer um contorno reconstruído de informação de distorção de tempo 522 com base na informação de evolução de contorno de distorção de tempo 510, e uma calculadora de informação de controle de distorção de tempo 530 para fornecer a informação de controle de distorção de tempo 512 com base no 10 contorno reconstruído de informação de distorção de tempo 522.
MEIO 520 PARA FORNECER O CONTORNO RECONSTRUÍDO DE
INFORMAÇÃO DE DISTORÇÃO DE TEMPO ______A segui ----se-rAo---de-SCTrátac---a ' es Lr utuia e funcionalidade do meio 520. O meio 520 compreende uma calculadora 15 de contorno de distorção de tempo 540, que é configurada para receber a informação de evolução de contorno de distorção de tempo 510 e para fornecer, com base nela, uma nova informação de porção de contorno de distorção 542. Por exemplo, um conjunto de informações de evolução de contorno de distorção de tempo pode ser 20 transmitido para o aparelho 500 para cada estrutura do sinal de áudio a ser reconstruído. Não obstante, um conjunto de informações de evolução de contorno de distorção de tempo 510 associadas com uma estrutura do sinal de áudio a ser reconstruído pode ser usado para a reconstrução de uma pluralidade de estruturas do sinal de 25 áudio. Similarmente, uma pluralidade de conjuntos de informação de evolução de contorno de distorção de tempo pode ser usada para a reconstrução do conteúdo de áudio de uma única estrutura do sinal de áudio, como será discutido em detalhes a seguir. Como conclusão, pode-se afirmar que em algumas informação de evolução de contorno de distorção configurações, a de tempo 510 pode ser atualizada na mesma taxa em que conjuntos do coeficiente de domínio de transformada do sinal de áudio a ser reconstruído ou atualizado (uma porção de contorno de distorção de tempo por estrutura do sinal de áudio).
A calculadora de contorno de distorção de tempo 540 compreende uma calculadora de valor de nó de distorção 544, que é configurada para computar uma pluralidade (ou sequência temporal) de valores de nó de contorno de distorção com base em uma pluralidade (ou sequência temporal) de valores de proporção de contorno de distorção de tempo (ou índices de proporção de distorção de tempo) ,_em—que—o-s—vaiares—de—proporção dê distorção de tempo (ou índices) são compostos pela informação de evolução de contorno de distorção de tempo 510. Para este propósito, a calculadora de valor de nó de distorção 544 é configurada para iniciar o fornecimento dos valores de nó de contorno de distorção de tempo em um valor inicial predeterminado (por exemplo, 1) e para calcular valores subsequentes de nó de contorno de distorção de tempo usando os valores de proporção de contorno de distorção de tempo, como será discutido abaixo.
Além disso, a calculadora de contorno de distorção de tempo 540 opcionalmente compreende um interpolador 548 que é configurado para interpolar entre valores subsequentes de nó de contorno de distorção de tempo. Da mesma forma, a descrição 542 da nova porção de contorno de distorção de tempo é obtida, em que a nova porção de contorno de distorção de tempo tipicamente começa a partir do valor inicial predeterminado usado pela calculadora de valor de nó de distorção 524. Além disso, o meio 520 é configurado para considerar porções adicionais de contorno de distorção de tempo, a saber uma referida última porção de contorno de distorção de tempo e uma referida porção de contorno de distorção de tempo atual para o fornecimento de uma seção completa de contorno de distorção de tempo. Para este propósito, o meio 520 é configurado para armazenar a referida última porção de contorno de distorção de tempo e a referida porção de contorno de distorção de tempo atual em uma memória não mostrada na Figura 5.
Entretanto, o meio 520 também compreende um rescalador 550, que é configurado para rescalar a última porção de contorno de distorção d.e_tempo—e—a—^hpcrrçrãO de contorno dê distorção de tempo atual para evitar (ou reduzir, ou eliminar) quaisquer descontinuidades na seção completa de contorno de distorção de tempo, que se baseia na última porção de contorno de distorção de tempo, na porção de contorno de distorção de tempo atual e na nova porção de contorno de distorção de tempo. Para este propósito, o rescalador 550 é configurado para receber a descrição armazenada da última porção de contorno de distorção de tempo e da porção de contorno de distorção de tempo atual e conjuntamente rescalar a última porção de contorno de distorção de tempo e a porção de contorno de distorção de tempo atual, para obter versões rescaladas da última porção de contorno de distorção de tempo e da porção de contorno de distorção de tempo atual. Detalhes relativos à rescalação realizada pelo rescalador 550 serão discutidos abaixo, tomando referência às Figuras 7a, 7b e 8.
Além disso, o rescalador 550 pode também ser configurado para receber, por exemplo de uma memória não mostrada na Figura 5, um valor de soma associado com a última porção de contorno de distorção de tempo e outro valor de soma associado com a porção de contorno de distorção de tempo atual. Estes valores de soma são às vezes chamados de last_warp_sum e cur_warp_sum, respectivamente. O rescalador 550 é configurado para rescalar os valores de soma associados com as porções de contorno de distorção de tempo usando o mesmo fator de rescalação com que as correspondentes porções de contorno de distorção de tempo são rescaladas. Da mesma forma, valores de soma rescalados são obtidos.
____Em alguns casos-—o—meie—5-2-Θ—poete compreender um atualizador 560, que é configurado para repetidamente atualizar a entrada de porções de contorno de distorção de tempo no rescalador 550 e também a entrada de valores de soma no rescalador 550. Por exemplo, o atualizador 560 pode ser configurado para atualizar a referida informação na taxa de estrutura. Por exemplo, a nova porção de contorno de distorção de tempo do presente ciclo de estrutura pode servir como a porção de contorno de distorção de tempo atual em um próximo ciclo de estrutura. Similarmente, a porção de contorno de distorção de tempo atual rescalada do atual ciclo de estrutura pode servir como a última porção de contorno de distorção de tempo em um próximo ciclo de estrutura. Da mesma forma, cria-se uma implementação eficiente de memória, porque a última porção de contorno de distorção de tempo do atual ciclo de estrutura pode ser descartada na conclusão do atual ciclo de estrutura.
Para resumir o exposto acima, o meio 520 é configurado para prover, para cada ciclo de estrutura (com exceção de alguns ciclos de estrutura especiais, por exemplo no inicio de uma sequência de estrutura, ou no final de uma sequência de 5 estrutura, ou em uma estrutura na qual a distorção de tempo é inativa) uma descrição de uma seção de contorno de distorção de tempo compreendendo uma descrição de uma nova porção de contorno de distorção de tempo, de uma porção rescalada de contorno de distorção de tempo atual e de uma última porção rescalada de 10 contorno de distorção de tempo. Além disso, o meio 520 pode fornecer, para cada ciclo de estrutura (com exceção do ciclo de estrutura especial mencionado acima) uma representação de valores de soma de contorno de distorção-,—per—exemprtoç compreendendo um valor de soma da nova porção de contorno de distorção de tempo, 15 um valor de soma de contorno de distorção de tempo atual rescalado e um valor de soma do último contorno de distorção de tempo rescalado.
A calculadora de informação de controle de distorção de tempo 530 é configurada para calcular a informação de 20 controle de distorção de tempo 512 com base no contorno reconstruído de informação de distorção de tempo fornecido pelo meio 520. Por exemplo, a calculadora de informação de controle de distorção de tempo compreende uma calculadora de contorno de tempo 570, que é configurada para computar um contorno de tempo 572 com 25 base na informação reconstruída de controle de distorção de tempo.
Além disso, a calculadora de informação de contorno de distorção de tempo 530 compreende uma calculadora de posição de amostra 574, que é configurada para receber o contorno de tempo 572 e para fornecer, com base nele, 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 distorção de tempo realizada, por exemplo, pelo reamostrador 218.
A calculadora de informação de controle de distorção de tempo 530 também compreende uma calculadora de comprimento de transição, que é configurada para derivar uma informação de comprimento de transição a partir da informação reconstruída de controle de distorção de tempo. A informação de comprimento de transição 582 pode, por exemplo, compreender uma informação descrevendo um comprimento de transição esquerda e uma informação descrevendo um comprimento de transição direita. O comprimento de transição pode, po-r—e-xemphoç depender cie um comprimento de segmentos de tempo descritos pela última porção de contorno de distorção de tempo, pela porção de contorno de distorção de tempo atual e pela nova porção de contorno de distorção de tempo. Por exemplo, o comprimento de transição pode ser encurtado (quando comparado a um comprimento de transição padrão) se a extensão temporal de um segmento de tempo descrito pela última porção de contorno de distorção de tempo for mais curta do que uma extensão temporal do segmento de tempo descrito pela porção de contorno de distorção de tempo atual, ou se a extensão temporal de um segmento de tempo descrito pela nova porção de contorno de distorção de tempo for mais curta do que a extensão temporal do segmento de tempo descrito pela porção de contorno de distorção de tempo atual.
Além disso, a calculadora de informação de controle de distorção de tempo 530 pode adicionalmente compreender uma calculadora de primeira e última posição 584, que é configurada para calcular uma referida primeira posição e uma referida última posição com base no comprimento de transição esquerda e direita, a primeira posição e a última posição aumentam a eficiência do reamostrador, pois regiões fora destas posições são idênticas a zero após aplicação da função janela e portanto não é necessário levá-las em conta para a distorção de tempo. Deve-se notar aqui que o vetor de posição de amostra 57 6 compreende, por exemplo, informação exigida pela distorção de tempo realizada pelo reamostrador 280. Além disso, o comprimento de transição esquerda e direita 582 e a primeira posição e última posição 586 constituem informação, que é, por exemplo·, exigida pelo windower 216.___________
Da mesma forma, pode-se dizer que o meio 520 e a calculadora de informação de controle de distorção de tempo 530 podem juntas assumir a funcionalidade do ajuste de taxa de amostra 220, do ajuste de forma de janela 210 e do cálculo de posição de amostragem 219.
A seguir, será descrita a funcionalidade de um decodificador de áudio que compreende o meio 520 e a calculadora de informação de controle de distorção de tempo 530 com referência às Figuras 6, 7a, 7b, 8, 9a-9c, lOa-lOg, 11a, 11b e 12.
A Figura 6 mostra um fluxograma de um método para decodificar uma representação codificada de um sinal de áudio, de acordo com uma configuração da invenção. O método 600 compreende o fornecimento de um contorno reconstruído de informação de distorção de tempo, em que o fornecimento do contorno reconstruído de informação de distorção de tempo compreende o cálculo 610 de valores de nó de distorção, interpolação 620 entre os valores de nó de distorção e rescalação 630 de uma ou mais porções de contorno de distorção previamente calculadas e um ou mais valores de soma de contorno de distorção previamente calculados. O método 5 600 adicionalmente compreende o cálculo 640 da informação de controle de distorção de tempo usando uma nova porção de contorno de distorção de tempo obtida nos passos 610 e 620, as porções rescaladas de contorno de distorção de tempo previamente calculadas (''porção de contorno de distorção de tempo atual e 10 última porção de contorno de distorção de tempo) e também, opcionalmente, usando os valores rescalados de soma de contorno de distorção previamente calculados. Como resultado, uma informação de contorno de tempo, e/ou uma informa.cão—de—po-s-rção de amostra,” e/ou uma informação de comprimento de transição e/ou uma 15 informação de primeira porção e de última posição podem ser obtidas no passo 640.
O método 600 adicionalmente compreende a realização 650 da reconstrução do sinal de tempo distorcido usando a informação de controle de distorção de tempo obtida no passo 20 640. Detalhes relativos à reconstrução de sinal de distorção de tempo serão descritos subsequentemente.
O método 600 também compreende um passo 660 de atualização de uma memória, como será descrito abaixo.
CÁLCULO DAS PORÇÕES DE CONTORNO DE DISTORÇÃO DE 25 TEMPO
A seguir, serão descritos detalhes relativos ao cálculo das porções de contorno de distorção de tempo, tomando referência às Figuras 7a, 7b, 8, 9a, 9b, 9c.
Será assumido que um estado inicial está presente, que é ilustrado em uma representação gráfica 710 da
Figura 7a.
Como pode ser visto, uma primeira porção de contorno de distorção
716 (porção de contorno de distorção 1) e uma segunda porção de contorno de distorção
718 (porção de contorno de distorção
2) estão presentes. Cada uma das porções de contorno de distorção tipicamente compreende uma pluralidade de valores discretos de dados de contorno de distorção, que são tipicamente armazenados em uma memória.
Os diferentes valores de dados de contorno de distorção estão associados com valores de tempo, em que um tempo é mostrado em uma abscissa 712. Uma magnitude dos valores de dados de contorno de distorção é mostrada em uma ordenada 714. Como pode ser visto, a primei.
e distorção tem um valor final de 1, e a segunda porção de contorno de distorção tem um valor inicial de 1, em que o valor de pode ser considerado como um ''valor predeterminado.
Deve-se notar que a primeira porção de contorno de distorção 716 pode ser considerada como uma última porção de contorno de distorção de tempo (também chamada de last_warp_contour), enquanto a segunda porção de contorno de distorção 718 pode ser considerada como uma porção de contorno de distorção de tempo atual (também chamada de cur_warp_contour).
Começando a partir do estado inicial, uma nova porção de contorno de distorção calculada, por exemplo, nos passos 610, 620 do método 600. Da mesma forma, valores de dados de contorno de distorção da terceira porção de contorno de distorção (também chamada de porção de contorno de distorção 3 ou nova porção de contorno de distorção de tempo ou new_warp_contour) são calculados. O cálculo pode, por exemplo, ser separado em um cálculo de valores de nó de distorção, de acordo com um algoritmo
910 mostrado na Figura 9a, e uma interpolação 620 entre os valores de nó de distorção, de acordo com um algoritmo 920 mostrado na
Figura 9a. Da mesma forma, uma nova porção de contorno de distorção 722 é obtida, que começa a partir do valor predeterminado (por exemplo, 1) e que é mostrado em uma representação gráfica 720 da Figura 7a. Como pode ser visto, a primeira porção de contorno de distorção de tempo 716, a segunda porção de contorno porção de contorno de distorção de tempo 718 e a terceira nova de distorção de tempo estão associadas com intervalos de tempo subsequentes e contíguos. Além disso, podese ver que há uma des continuidade 724 en±x.e—um—porrto furna! 7Τ8ΈΓ da segunda porção de contorno de distorção de tempo 718 e um
15 ponto inicial 722a da terceira porção de contorno de distorção
de tempo.
Deve-se notar aqui que a descontinuidade 724
tipicamente compreende uma magnitude que é maior do que uma
variação entre quaisquer dois valores de dados de contorno de
20 distorção do contorno de distorção de tempo temporalmente
de distorção de tempo.
adjacentes dentro de uma porção de contorno
Isso se deve ao fato de que o valor inicial 722a da terceira porção de contorno de distorção de tempo 722 é forçado ao valor predeterminado (e.g. 1), independente do valor final 718b da 25 segunda porção de contorno de distorção de tempo 718. Deve-se notar que a descontinuidade 724 é portanto maior do que a variação inevitável entre dois valores de dados de contorno de distorção adjacentes, discretos.
Não obstante, esta descontinuidade entre a s segunda porção de contorno de distorção de tempo 718 e a terceira porção de contorno de distorção de tempo 722 seria prejudicial para o uso posterior dos valores de dados de contorno de distorção de tempo.
Da mesma forma, a primeira porção de contorno de distorção de tempo e a segunda porção de contorno de distorção de tempo são conjuntamente rescaladas no passo 630 do método 600. Por exemplo, os valores de dados de contorno de distorção de tempo da primeira porção de contorno de distorção de tempo 716 e os valores de dados de contorno de distorção de tempo da segunda porção de contorno de distorção de tempo 718 são rescalados por multiplicação com um fator de rescalação (também—eh-amado de 'norm_fac). Da mesma forma, uma versão rescalada 716' da primeira porção de contorno de distorção de tempo 716 é obtida, e também uma versão rescalada 718' da segunda porção de contorno de distorção de tempo 718 é obtida. Em contraste, a terceira porção de contorno de distorção de tempo é tipicamente não afetada neste passo de rescalação, como pode ser visto em uma representação gráfica 730 da Figura 7a. A rescalação pode ser realizada tal que o ponto final rescalado 718b' compreende, pelo menos aproximadamente, os mesmos valores de dados que o ponto inicial 722a da terceira porção de contorno de distorção de tempo 722. Da mesma forma, a versão rescalada 716' da primeira porção de contorno de distorção de tempo, a versão rescalada 718' da segunda porção de contorno de distorção de tempo e a terceira porção de contorno de distorção de tempo 722 juntas formam uma seção de contorno de distorção de tempo (aproximadamente) contínua. Em particular, a escalação pode ser realizada tal que uma diferença entre os valores de dados do ponto final rescalado 718b' e o ponto inicial 722a não é maior do que um máximo da diferença entre quaisquer dois valores de dados adjacentes das porções de contorno de distorção de tempo 716', 718',
722.
Da mesma forma, a seção aproximadamente contínua de contorno de distorção de tempo compreendendo as porções rescaladas de contorno de distorção de tempo 716', 718' e porção original de contorno de distorção de tempo 722 é usada para cálculo da informação de controle de distorção de tempo, que realizada no passo 640.
Por exemplo, a informação de controle de distorção de tempo pode ser computada para uma estrutura de áudio temporalmente associada com a s
Entretanto, no cálculo da informação de controle de distorção de tempo no passo 640, uma reconstrução de sinal de tempo distorcido pode ser realizada em um passo 650, que será explicado em mais detalhes abaixo.
Subsequentemente, é necessário obter a informação 20 de controle de distorção de tempo para uma próxima estrutura de áudio. Para este propósito, a versão rescalada 716' da primeira porção de contorno de distorção de tempo pode ser descartada para poupar memória, porque não é mais necessária. Entretanto, a versão rescalada 716' pode naturalmente também ser salva para qualquer 25 propósito. Mais ainda, a versão rescalada 718' da segunda porção de contorno de distorção de tempo toma o lugar da última porção de contorno de distorção de tempo para o novo cálculo, como pode ser visto em uma representação gráfica 740 da Figura 7b. Depois, a terceira porção de contorno de distorção de tempo 722, que tomou o lugar da nova porção de contorno de distorção de tempo no cálculo anterior, assume o papel da porção de contorno de distorção de tempo atual para um próximo cálculo. A associação é mostrada na representação gráfica 740.
Subsequente a esta atualização da memória (passo
660 do método 600) , uma nova porção de contorno de distorção de tempo 752 é calculada, como pode ser visto na representação gráfica 750. Para este propósito, os passos 610 e 620 do método 600 podem ser re-executados com novos dados de entrada. A quarta porção de contorno de distorção de tempo 752 assume o papel da nova porção de contorno de distorção de tempo agora. Como pode ser visto, há tipicamente uma descontinuidade entr_e__um—pon-feo final -4-2-2b—da têrceTrã porção dê contorno de distorção de tempo e um ponto inicial 752a da quarta porção de contorno de distorção de tempo 752. Esta descontinuidade 754 é reduzida ou eliminada por uma subsequente rescalação (passo 630 do método 600) da versão rescalada 718' da segunda porção de contorno de distorção de tempo e da versão original da terceira porção de contorno de distorção de tempo 722. Da mesma forma, uma versão rescalada duas vezes 718'' da segunda porção de contorno de distorção de tempo e uma versão rescalada uma vez 722' da terceira porção de contorno de distorção de tempo são obtidas, como pode ser visto a partir de uma representação gráfica 760 da Figura 7b. Como pode ser visto, as porções de contorno de distorção de tempo 718'', 722', 752 formam uma seção de contorno de distorção de tempo pelo menos aproximadamente continua, que pode ser usada para o cálculo de informação de controle de distorção de tempo em uma re-execução do passo 640. Por exemplo, uma informação de controle de distorção de tempo pode ser calculada com base nas porções de contorno de distorção de tempo 718'', 722', 752, cuja informação de controle de distorção de tempo é associada a uma estrutura de tempo de sinal de áudio centrado na segunda porção de contorno de distorção de tempo.
Deve-se notar que em alguns casos é desejável ter um valor de soma de contorno de distorção associado para cada uma das porções de contorno de distorção de tempo. Por exemplo, um primeiro valor de soma de contorno de distorção pode ser associado com a primeira porção de contorno de distorção de tempo, um segundo valor de soma de contorno de distorção pode ser associado com a segunda porção de contorno de distorção de _t.empo-,—e—a-s-sinr por-díãntêl Os valores de soma de contorno de distorção podem, por exemplo, ser usados para o cálculo da informação de controle de distorção de tempo no passo 640.
Por exemplo, o valor de soma de contornode distorção pode representar uma soma dos valores de dadosde contorno de distorção de uma respectiva porção de contorno de distorção de tempo. Entretanto, como as porções de contornode distorção de tempo são escaladas, é às vezes desejável também escalar o valor de soma de contorno de distorção de tempo, tal que o valor de soma de contorno de distorção de tempo siga a característica de sua porção de contorno de distorção de tempo associada. Da mesma forma, um valor de soma de contorno de distorção associado com a segunda porção de contorno de distorção de tempo 718 pode ser escalado (por exemplo, pelo mesmo fator de escalação) quando a segunda porção de contorno de distorção de tempo 718 é escalada para obter a versão escalada 718' desta. Similarmente, o valor de soma de contorno de distorção associado com a primeira porção de contorno de distorção de tempo 716 pode ser escalado (por exemplo, com o mesmo fator de escalação) quando a primeira porção de contorno de distorção de tempo 716 é escalada para obter a versão escalada 716' desta, se desejado.
Além disso, uma re-associação(ou re-alocação de memória) pode ser realizada ao proceder à consideração de uma nova porção de contorno de distorção de tempo. Por exemplo, o valor de soma de contorno de distorção associado com a versão escalada 718' da segunda porção de contorno de distorção de tempo, que assume o papel de um valor atual de soma de contorno de distorção de tempo para o cálculo da informação de controle de—dis-terç-ão de _t_e.mpc)—a-s-srrcrãdã com ãs porções de contorno de distorção de tempo 716', 718', 722 pode ser considerado como um último valor de soma de distorção de tempo para o cálculo de uma informação de controle de distorção de tempo associada com as porções de contorno de distorção de tempo 718'', 722', 752. Similarmente, o valor de soma de contorno de distorção associado com a terceira porção de contorno de distorção de tempo 722 pode ser considerado como um novo valor de soma de contorno de distorção para o cálculo da informação de controle de distorção de tempo associada com as porções de contorno de distorção de tempo 716', 718', 722 e pode ser mapeado para agir como atual valor de soma de contorno de distorção para o cálculo da informação de controle de distorção de tempo associada com as porções de contorno de distorção de tempo 718'', 722', 752. Além disso, o recém calculado valor de soma de contorno de distorção da quarta porção de contorno de distorção de tempo 7 52 pode assumir o papel do novo valor de soma de contorno de distorção para o cálculo da informação de controle de distorção de tempo associada com as porções de contorno' de distorção de tempo 718'', 722', 752.
EXEMPLO DE ACORDO COM A FIGURA 8
A Figura 8 mostra uma representação gráfica ilustrando um problema que é resolvido pelas configurações de acordo com a invenção. Uma primeira representação gráfica 810 mostra uma evolução temporal de um passo relativo reconstruído ao 10 longo do tempo, que é obtido em algumas configurações convencionais. Uma abscissa 812 descreve o tempo, uma ordenada 814 descreve o passo relativo. Uma curva 816 mostra a evolução temporal do passo relativo ao longo do tempo, -q.ue—pode-r-ra str - —reconstrui dã ã partir da informação de passo relativo. No que 15 concerne à reconstrução do contorno de passo relativo, deve-se notar que para a aplicação da transformada de cossenos discreta modificada (MDCT) de tempo distorcido apenas o conhecimento da variação relativa do passo dentro da estrutura real é necessário. A fim de entender isto, faz-se referência aos passos de cálculo 20 para obter o contorno de tempo a partir do contorno de passo relativo, que leva a um contorno de tempo idêntico para versões escaladas do mesmo contorno de passo relativo. Portanto, é suficiente apenas codificar o valor de passo relativo ao invés de um valor absoluto , que aumenta a eficiência da codificação. Para 25 adicionalmente aumentar a eficiência, o valor quantizado real não é o passo relativo mas a mudança relativa no passo, isto é, a proporção do atual passo relativo sobre o passo relativo anterior (como será discutido em detalhe a seguir). Em algumas estruturas, onde, por exemplo, o sinal não exibe estrutura harmônica alguma, não podería ser desejada distorção de tempo. Em tais casos, um flag adicional pode opcionalmente indicar um contorno plano de passo ao invés de codificar este contorno plano com o método mencionado anteriormente. Como em sinais do mundo real a quantidade de tais estruturas é tipicamente alta suficiente, o balanço entre o bit adicional adicionado em todas as vezes e os bits salvos para estruturas não distorcidas está a favor da economia de bits.
O valor inicial para o cálculo da variação de passo (contorno de passo relativo, ou contorno de distorção de tempo) pode ser escolhido arbitrariamente ou até diferir no codificador e decodificador. Devido à natureza da MDCT_de—tempo dis-to-re-rdo CTW^MDCT) diferentes valores iniciais da variação de passo ainda dão as mesmas posições de amostra e formas de janela adaptadas para realizar a TW-MDCT.
Por exemplo, um codificador (de áudio) obtém um contorno de passo para cada nó que é expresso como atraso de passo real em amostras em conjunto com uma especificação vocalizado/não vocalizado opcional, que era, por exemplo, obtida aplicando-se uma estimativa de passo e decisão vocalizado/não vocalizado que se sabia oriunda de codificação da fala. Se para o atual nó a classificação é estabelecida como vocalizado, ou não há decisão vocalizado/não vocalizado disponível, o codificador calcula a proporção entre o atraso de passo real e o quantiza, ou apenas estabelece a proporção para 1 se não vocalizado. Outro exemplo poderia ser que a variação de passo é estimada diretamente por um método apropriado (por exemplo, estimativa de variação de sinal).
No decodificador, o valor inicial para o primeiro passo relativo no início do áudio codificado é estabelecido para um valor arbitrário, por exemplo para 1. Portanto, o contorno de passo relativo decodificado não está mais na mesma variação 5 absoluta do codificador de contorno de passo, porém uma versão escalada deste. Ainda, como descrito acima, o algoritmo da TW-MDCT leva às mesmas posições de amostra e formas de janela. Além disso, o codificador poderia decidir, se as proporções de passo codificadas resultarem em um contorno de passo plano, não enviar o contorno totalmente codificado, mas ao invés disso estabelecer o flag activePitchData em 0, economizando bits nesta estrutura (por exemplo, salvando bits numPitchbits * numPitches nesta estrutura).
A seguir, serão discutidos os problLema^—queocoxr.em—na-—ausência da renormalização do contorno de passo inventivo. Como mencionado acima, para a TW-MDCT, apenas a mudança de passo relativo dentro de um certo intervalo de tempo limitado em volta do bloco atual é necessária para o computo da distorção de tempo e a adaptação da forma de janela correta (vide explicações acima). A distorção de tempo segue o contorno decodificado para segmentos onde uma mudança de passo foi detectada, e permanece constante em todos os outros casos (vide a representação gráfica 810 da Figura 8) . Para o cálculo de janela e posições de amostragem de um bloco, três segmentos consecutivos de contorno de passo relativo (por exemplo, três porções de contorno de distorção de tempo) são necessários, em que o terceiro é o recentemente transmitido na estrutura (designada como nova porção de contorno de distorção de tempo) e os outros dois são amortecidos a partir do passado (por exemplo, designado como última porção de contorno de distorção de tempo e porção de contorno de distorção de tempo atual).
Para ter um exemplo, faz-se referência, por exemplo, às explicações que foram feitas com referência às Figuras 5 7a e 7b, e também às representações gráficas 810, 860 da Figura 8.
Para calcular, por exemplo, as posições de amostragem da janela para (ou associada com) a estrutura 1, que se estende da estrutura para a estrutura os contornos de passo de (ou associados com) a estrutura 0 são necessários. No bit stream, apenas a informação de passo para a estrutura 2 é enviada na atual estrutura, e as outras duas são tomadas a partir do passado. Como explicado aqui, o contorno de passo pode ser continuado aplicandose a primeira proporção de passo relativo decodificada__a-O—ú-Lt-imo· passo__da__es-tr-u-tur'a Ί para obter o passo no primeiro nó da estrutura 2, e assim por diante. Agora é possível, devido à natureza do sinal, que se o contorno de passo for simplesmente continuado (isto é, se a parte recém transmitida do contorno for anexada às duas partes existentes sem qualquer modificação), que um estouro de variação no formato de número interno do codificador ocorra após um certo tempo. Por exemplo, um sinal poderia começar com um segmento de características harmônicas fortes e um valor de passo alto no início que é decrescente ao longo de todo o segmento, levando a um passo relativo decrescente. Então, um segmento sem informação de passo pode seguir, a fim de que o passo 25 relativo mantenha-se constante. Então novamente, uma seção harmônica pode começar com um passo absoluto que é maior do que o último passo absoluto do segmento anterior, e novamente seguindo para baixo. Entretanto, se simplesmente continua-se o passo relativo, é o mesmo que no final do último segmento harmônico e irá baixar mais ainda, e assim por diante. Se o sinal é forte o suficiente e tem em seus segmentos harmônicos uma tendência global de subir ou descer (como mostrado na representação gráfica 810 da
Figura 8), cedo ou tarde o passo relativo alcança a fronteira de uma gama do formato de número interno. É bem conhecido a partir de codificação da fala que sinais da voz de fato exibem tal característica. Portanto não é surpresa, que a codificação de um conjunto concatenado de sinais do mundo real incluindo a voz de fato excederam a gama dos valores de flutuação usados para o passo relativo após um tempo relativamente curto ao se usar o método convencional descrito acima.
Para resumir, para um segmento (ou estrutura-)—<
qual um passo pode ser determinado, poderia ser determinada uma evolução apropriada do contorno de passo relativo (ou contorno de distorção de tempo) . Para segmentos de sinal de áudio (ou sinais de estrutura de áudio) para os quais um passo não possa ser determinado (por exemplo porque os segmentos de sinal de áudio são semelhantes a ruídos) o contorno de passo relativo (ou contorno de distorção de tempo) podería ser mantido constante. Da mesma forma, se houvesse um desequilíbrio entre segmentos de áudio com passo crescente e passo decrescente, o contorno de passo relativo (ou contorno de distorção de tempo) tendería a um underflow numérico ou estouro numérico.
Por exemplo, na representação gráfica
810 um contorno de passo relativo é mostrado para o caso em que há uma pluralidade de porções de contorno de passo relativo
820c, 820d com passo decrescente e alguns segmentos de
820a, 820a áudio 822a '822b sem passo, porém sem segmentos de áudio com passo crescente.
Da mesma forma, pode-se ver que o contorno de passo relativo 816 tende a um underflow numérico (pelo menos sob circunstâncias muito adversas).
A seguir, será descrita uma solução para este problema.
Para prevenir os problemas supracitados, em particular o underflow ou estouro numérico, uma renormalização periódica do contorno de passo relativo foi introduzida de acordo com um aspecto da invenção. Como cálculo do contorno de tempo distorcido e as formas de janela confiam apenas nas mudanças relativas ao longo dos três segmentos de contorno de passo relativo supracitados (também designados como porções de contorno de distorção de tempo) , como explicado aqui, é__pos-s-í-v-e-1— normaliza.
o contorno de distorção de tempo, que pode ser composto de três partes de porções de contorno de distorção de tempo) para cada estrutura (por exemplo, do sinal de áudio) de uma nova maneira com o mesmo resultado.
Para isto, a referência foi, por exemplo, escolhida para ser a última amostra do segundo segmento de contorno (também designado como porção de contorno de distorção de tempo), e o contorno está agora normalizado (por exemplo multiplicativamente no domínio linear) de tal forma que esta amostra tem um valor de 1,0 (vide a representação gráfica 860 da
Figura 8).
representação gráfica 860 da
Figura 8 representa a normalização do contorno de passo relativo. Uma abscissa 862 mostra o tempo, subdividido em estruturas (estruturas
0, 1, 2) . Uma ordenada 8 64 descreve o valor do contorno de passo relativo.
Um contorno de passo relativo antes da normalização é designado com 870 e cobre duas estruturas (por exemplo, estrutura número 0 e estrutura número 1). Um novo segmento de contorno de passo relativo (também designado como porção de contorno de distorção de tempo) começando a partir do valor inicial predeterminado do contorno de passo relativo (ou valor inicial de contorno de distorção de tempo) é designado com 874. Como pode ser visto, o reinicio do novo segmento de contorno de passo relativo 874 a partir do valor inicial predeterminado do contorno de passo relativo (por exemplo, 1) traz uma descontinuidade entre o segmento de contorno de passo relativo 870 que precede o ponto temporal de reinicio e o novo segmento de contorno de passo, relativo 874, que é designado com 878. Esta descontinuidade traria um grave problema para a derivação de qualquer informação de controle de distorção de tempo a partir do contorno e possivelmente resultará em distorções de áudio. Portanto, um segmento de contorno de passo relativo 870 previamente obtido que precede o ponto temporal de reinicio é rescalado (ou normalizado) , para obter um segmento rescalado de contorno de passo relativo 870' . A normalização é realizada tal que a última amostra do segmento de contorno de passo relativo 870 é escalada para um valor inicial predeterminado do contorno de passo relativo (por exemplo, de 1,0).
DESCRIÇÃO DETALHADA DO ALGORITMO
A seguir, serão descritos em detalhe alguns dos algoritmos realizados por um decodificador de áudio de acordo com uma configuração da invenção. Para este propósito, serão feitas referências às Figuras 5, 6, 9a, 9b, 9c e lOa-lOg. Adicionalmente, faz-se referência à legenda de elementos de dados, elementos de ajuda e constantes das Figuras 11a e 11b.
Falando de forma geral, pode-se dizer que o método descrito aqui pode ser usado para decodificar um stream de áudio que esteja codificado de acordo com uma transformada de cossenos discreta modificada de tempo distorcido. Assim, quando a TW-MDCT é habilitada para o stream de áudio (que pode ser indicada por um flag, por exemplo chamado de flag twMdct, que pode ser composta em uma informação de configuração especifica), um banco de filtros de tempo distorcido e troca de bloco podem substituir um banco de filtros padrão e troca de bloco. Adicionalmente à transformada inversa de cossenos discreta modificada (IMDCT), o banco de filtros de tempo distorcido e troca de bloco contém um domínio de tempo para mapeamento de domínio de tempo a partir de uma grade de tempo arbitrariamente espaçado para a grade de tempo
regularmente espaçado normal e uma adaptação correspondente de
formas de janela.
A seguir, será descrito o processo de
codificação. Em um primeiro passo, o contorno de distorção é
decodificado. O contorno de distorção pode ser, por exemplo, codificado usando índices de livro de código de nós de contorno de distorção. Os índices de livro de código dos nós de contorno de distorção são decodificados, por exemplo, usando o algoritmo mostrado em uma representação gráfica 910 da Figura 9a. De acordo com o referido algoritmo, valores de proporção de distorção (warp_value_tbl) são derivados a partir de índices do livro de códigos para proporção de distorção (tw_ratio), por exemplo usando um mapeamento definido por uma tabela de mapeamento 990 da Figura
9c. Como pode ser visto a partir do algoritmo mostrado como numeral de referência 910, os valores de nó de distorção podem ser estabelecidos para um valor constante predeterminado, se um flag (tw_data_present) indicar que dados de distorção de tempo não estão presentes. Em contraste, se o flag indicar que dados de distorção de tempo estão presentes, um primeiro valor de nó de distorção pode ser estabelecido para o valor predeterminado inicial de contorno de distorção de tempo (por exemplo
Valores subsequentes de nó de distorção (de uma porção de contorno de distorção de tempo) podem ser determinados com base em uma formação de um produto de múltiplos valores de proporção de distorção de tempo. Por exemplo, um valor de nó de distorção de um nó imediatamente após o primeiro nó de distorção (i=0) pode ser igual a um primeiro valor de proporção de distorção (se o valor inicial for 1) ou igual a um produto do primeiro valor de proporção de distorção e o valor inicial. Valores subsequentes de nó de distorção de tempo (i=2,3 num tw nodes) são computados formando-se um produto de múltiplos valores de proporção de distorção de tempo (opcionalmente levando em consideração o valor inicial, se o valor inicial diferir de
1). Naturalmente, a ordem da formação de produto é arbitrária.
Entretanto, é vantajoso derivar um (i+l)-ésimo valor de modo de distorção a partir de um i-ésimo valor de nó de distorção multiplicando o i-ésimo valor de nó de distorção com um único valor de proporção de distorção descrevendo uma proporção entre dois valores subsequentes de nó do contorno de distorção de tempo...
Como pode ser visto a partir do algoritmo no numeral de referência 910, pode haver múltiplos índices mostrado do livro de códigos para proporção de distorção para uma única porção de contorno de distorção de tempo ao longo de uma única estrutura de áudio (em que pode haver uma correspondência 1-a-l entre porções de contorno de distorção de tempo e estruturas de áudio).
Para resumir, uma pluralidade de valores de nó de distorção de tempo pode ser obtida para uma determinada porção de contorno de distorção de tempo (ou uma determinada estrutura de áudio) no passo 610, por exemplo usando a calculadora de valor de nó de distorção 544. Subsequentemente, uma interpolação linear 10 pode ser realizada entre os valores de nó de distorção de tempo (warp_node_values[i]). Por exemplo, para obter os valores de dados de contorno de distorção de tempo da nova porção de contorno de distorção de tempo (new_warp_contour) o algoritmo mostrado no numeral de referência 920 na Figura 9a pode ser usado. Por 15 exemplo, o número de amostras da nova porção de contorno de distorção de tempo é igual à metade do número das amostras de domínio de tempo de uma transformada inversa de cossenos discreta modificada. Com relação a esta questão, deve-se notar que as estruturas de sinal de áudio adjacentes são tipicamente trocadas 20 (pelo menos aproximadamente) por metade do número de amostras de domínio de tempo da MDCT ou IMDCT. Em outras palavras, para obter o modo de amostra (amostras N_long) new_warp_contour[], os warp_node_values[ ] são interpelados linearmente entre os nós igualmente espaçados (separação interp_dist) usando o algoritmo 25 mostrado no numeral de referência 920.
A interpolação pode, por exemplo, ser realizada pelo interpolador 548 do aparelho da Figura 5, ou no passo 620 do algoritmo 600.
Antes de obter o completo contorno de distorção para esta estrutura (isto é para a estrutura presentemente sob consideração) os valores amortecidos a partir do passado são rescalados para que o último valor de distorção do past_warp_contour [ ] seja igual a 1 (ou qualquer outro valor predeterminado, que é preferivelmente igual ao valor inicial da nova porção de contorno de distorção dé tempo) .
Deve-se notar aqui que o termo contorno de distorção passado preferivelmente compreende a última porção de contorno de distorção de tempo descrita acima e a porção de contorno de distorção de tempo atual descrita acima. Devese também notar que o contorno de distorção passado tipicamente compreende uma extensão que é igual a um número de amostras de domínio de tempo da IMDCT, tal que valores do contorno de distorção passado são designados com índices entre 0 e 2*n_long-l. Assim, past_warp_contour[2*n_long-l] designa um último valor de distorção do contorno de distorção passado. Da mesma forma, um fator de normalização norm_fac pode ser calculado de acordo com uma equação mostrada no numeral de referência 930 na Figura 9a. Desta forma, o contorno de distorção passado (compreendendo a última porção de contorno de distorção de tempo e a porção de contorno de distorção de tempo atual) pode ser multiplicativamente rescalado de acordo com a equação mostrada no numeral de referência 932 na Figura 9a. Além disso, o último valor de soma de contorno de distorção (last_warp_sum) e o atual valor de soma de contorno de distorção (cur_warp_sum) podem ser multiplicativamente rescalados, como mostrado nos numerais de referência 934 e 936 na Figura 9a. A rescalação pode ser realizada pelo rescalador 550 da Figura 5, ou no passo 630 do método 600 da Figura 6.
Deve-se notar que a normalização descrita aqui, por exemplo no numeral de referência 930, então podería ser modificada, por exemplo, substituindo o valor inicial de 1 por qualquer outro valor predeterminado desejado.
Aplicando-se a normalização, um full warp_contour[] também designado como uma seção de contorno de distorção de tempo é obtido concatenando-se o past__warp_contour e o new_warp_contour. Desta forma, três porções de contorno de distorção de tempo (última porção de contorno de distorção de tempo, porção de contorno de distorção de tempo atual,____e nova porção de contorno de distorção de tempo) formam o contorno de distorção completo, que pode ser aplicado em passos adicionais do cálculo.
Além disso, um valor de soma de contorno de distorção (new_warp_sum) é calculado, por exemplo, como uma soma de todos os valores de new_warp_contour[]. Por exemplo, um novo valor de soma de contorno de distorção pode ser calculado de acordo com os algoritmos mostrados no numeral de referência 940 na Figura 9a.
Após os cálculos descritos acima, a informação de entrada exigida pela calculadora de informação de controle de 25 distorção de tempo 330 ou pelo passo 640 do método 600 está disponível. Da mesma forma, o cálculo 640 da informação de controle de distorção de tempo pode ser realizado, por exemplo pela calculadora de informação de controle de distorção de tempo
530. Também, a reconstrução de sinal de tempo distorcido 650 pode ser realizada pelo decodificador de áudio. Ambos, o cálculo 640 e a reconstrução de sinal de tempo distorcido 650 serão explicados em maiores detalhes abaixo.
Entretanto, é importante notar que o presente algoritmo procede iterativamente.
É portanto computacionalmente eficiente atualizar a memória. Por exemplo, é possível descartar informação sobre a última porção de contorno de distorção de tempo. Adicionalmente, recomendável usar a presente porção de contorno de distorção de tempo atual como uma última porção de contorno de distorção de tempo em um próximo ciclo de cálculo.
Adicionalmente, é recomendável usar a presente nova porção de contorno de distorção de tempo como uma_porção de_contorno de____ distorção de tempo atual em um próximo ciclo de cálculo. Esta atribuição pode ser feita usando a equação mostrada no numeral de referência
950 na Figura
9b, (em que warp_contour[n] descreve presente nova porção de contorno de distorção de tempo para
2* n_long<n<3»n_long).
Atribuições apropriadas podem ser vistas nos numerais de referência 952 e
954 na Figura 9b.
Em outras palavras, buffers de memória usados para decodificar a próxima estrutura podem atualizados de acordo com as equações mostradas nos numerais de referência 950
952 e 954.
Deve-se notar que a atualização de acordo com as equações 950
952 e 954 não fornece um resultado razoável, se a informação apropriada não estiver sendo gerada para uma estrutura prévia. Da mesma forma, antes de decodificar a primeira estrutura ou se a última estrutura foi codificada com um tipo diferente de codificador (por exemplo, um codificador de domínio LPC) no contexto de um codificador trocado, os estados de memória podem ser estabelecidos de acordo com as equações mostradas nos numerais de referência 960, 962 e 964 da Figura 9b.
CÁLCULO DE INFORMAÇÃO DE CONTROLE DE DISTORÇÃO DE TEMPO
A seguir, será descrito brevemente como a informação de controle de distorção de tempo pode ser calculada 10 com base no contorno de distorção de tempo (compreendendo, por exemplo, três porções de contorno de distorção de tempo) e com base nos valores de soma de contorno de distorção.
___,________.... Por exemplo, deseja-se reconstruir um contorno de tempo usando o contorno de distorção de tempo. Para este propósito, pode ser usado um algoritmo que é mostrado nos numerais de referência 1010, 1012 na Figura 10a. Como pode ser visto, o contorno de tempo mapeia um índice i (0^i^3‘n long) em um correspondente valor de contorno de tempo. Um exemplo de tal mapeamento é mostrado na Figura 12.
Com base no cálculo do contorno de tempo, é tipicamente necessário calcular uma posição de amostra (sample_pos[]), que descreve posições amostras de tempo distorcido em uma escala de tempo linear. Tal cálculo pode ser realizado usando um algoritmo, que é mostrado no numeral de referência 1030 25 na Figura 10b. No algoritmo 1030, podem ser usadas funções auxiliares, que são mostradas nos numerais de referência 1020 e 1022 na Figura 10a. Da mesma forma, uma informação sobre o tempo de amostra pode ser obtida.
Além disso, algumas durações de transições de tempo distorcido (warped_trans_len_left; warped_trans_len_right) são calculadas, por exemplo usando um algoritmo 1032 mostrado na Figura 10b. Opcionalmente, as durações de transição de distorção de tempo pode ser adaptada dependendo de um tipo de janela ou um comprimento de transformada, por exemplo usando um algoritmo mostrado no numeral de referência 1034 na Figura 10b. Além disso, uma assim chamada primeira posição e uma assim chamada última posição podem ser computadas com base nas informações de durações de transição, por exemplo usando um algoritmo mostrado no numeral de referência 1036 na Figura 10b. Para resumir, será feito um ajuste de posições de amostra e durações de janela, que pode ser realizado pelo aparelho 530 ou no passo 640 _do___método 600. _ A partir de warp_contour[], pode ser computado um vetor das posições de amostra (sample_pos[]) das amostras de tempo distorcido em uma escala de tempo linear. Para isto, primeiro o contorno de tempo pode ser gerado usando o algoritmo mostrado nos numerais de referência 1010, 1012. Com as funções auxiliares warp_in_vec() e warp_time_inv(), que são mostradas nos numerais de referência 1020 e 1022, o vetor de posição de amostra (sample_pos[]) e as durações de transição (warped_trans_len_left e warped_trans_len_right) são computados, por exemplo usando os algoritmos mostrados nos numerais de referência 1030, 1032, 1034 e 1036. Da mesma forma, a informação de controle de distorção de tempo 512 é obtida.
RECONSTRUÇÃO DE SINAL DE TEMPO DISTORCIDO
A seguir, a reconstrução de sinal de tempo distorcido, que pode ser realizada com base na informação de controle de distorção de tempo será brevemente discutida para
$ colocar o computo do contorno de distorção de tempo no contexto
próprio. A reconstrução de um sinal de áudio compreende a
5 execução de uma transformada inversa de cossenos discreta
modificada, que não é descrita aqui em detalhe, porque é bem conhecida para qualquer técnico no assunto. A execução da transformada inversa de cossenos discreta modificada permite reconstruir amostras de dominio de tempo distorcido com base em um 10 conjunto de coeficientes de domínio de frequência. A execução da
IMDCT pode, por exemplo, ser feita na forma de estrutura, que significa, por exemplo, que uma estrutura de 2048 amostras de dominio de tempo distorcido é reconstruída com base em um conjunto de 1024 coeficientes de domínio de frequência. Para a correta 15 reconstrução é necessário que não mais do que duas janelas subsequentes se sobreponham. Devido à natureza da TW-MDCT podería ocorrer que uma porção de tempo inversamente distorcido de uma estrutura se estenda até uma estrutura não-vizinha, desta forma violando o pré-requisito afirmado acima. Portanto a duração de 20 desvanecimento da forma de janela . precisa ser encurtada calculando-se os valores apropriados de warped_trans_len_lef't e warped_trans_len_right mencionados acima.
Uma janela e troca de bloco 650b é então aplicado às amostras de domínio de tempo obtidas a partir da IMDCT. A 25 janela e troca de bloco podem ser aplicados às amostras de domínio de tempo distorcido fornecidas pela IMDCT 650a na dependência da informação de controle de distorção de tempo, para obter amostras de domínio de tempo distorcido em janela. Por exemplo, dependendo de uma informação, ou elemento, de window_shape, diferentes protótipos de janela de transformada sobreamostrada podem ser usados, em que o comprimento das janelas sobreamostradas pode ser dado pela equação mostrada no numeral de referência 1040 na Figura 10c. Por exemplo, para um primeiro tipo de forma de janela (por exemplo, window_shape==l), os coeficientes de janela são dados por uma janela derivada de Kaiser-Bessel (KBD) de acordo com a definição mostrada no numeral de referência 1042 na Figura 10c, em que W', a função de janela central de Kaiser-Bessel, é definida como mostrado no numeral de referência 1044 na Figura 10c.
De outra forma, ao usar uma forma de janela diferente (por exemplo, se window_shape==0), uma janela de seno _Ser _ emPre9aõa de acordo com _a_„definição...„.no__numeral, de referência 1046. Para todos os tipos de sequências de janela (window_sequences), o protótipo usado para a parte de janela esquerda é determinado pela forma de janela do bloco anterior. A formula mostrada no numeral de referência 1048 na Figura 10c expressa este fato. De maneira similar, o protótipo para forma de janela direita é determinado pela fórmula mostrada no numeral de referência 1050 na Figura 10c.
A seguir, será descrita a aplicação das janelas acima descritas às amostras de domínio de tempo distorcido fornecidas pela IMDCT. Em algumas configurações, a informação para uma estrutura pode ser fornecida por uma pluralidade de sequências curtas (por exemplo, oito sequências curtas) . Em outras configurações, a informação para uma estrutura pode ser fornecida usando blocos de diferentes durações, em que um tratamento especial pode ser necessário para sequências de início, sequências ί
de parada e/ou sequências de durações não-padrão. Entretanto, como o comprimento transicional pode ser determinado como acima, pode ser suficiente diferenciar entre estruturas codificadas usando oito sequências curtas (indicadas informação e todas as sequência referência da janela.
descrito que foram por uma de tipo de estrutura apropriada eight_short_sequence) outras estruturas.
Por exemplo em uma estrutura descrita por uma curta de oito, um
1060 na Figura lOd algoritmo pode ser
Em contraste, para estruturas mostrado aplicado como numeral de para a aplicação codificadas usando outras informações, um algoritmo é mostrado no numeral de referência 1064 na Figura lOe pode ser aplicado. Em outras palavras, a porção semelhante a código^ C mostrada _no __numeral_ de, referência. 1060,.,na
Figura lOd descreve a aplicação da janela e sobreposição-soma interna de uma assim chamada oito sequências curtas
Em contraste, a porção semelhante a código mostrada no numeral de referência 1064 na Figura lOd descreve aplicação de janela em outros casos.
REAMOSTRAGEM
A seguir, será descrita distorção de tempo inversa 650c das amostras de domínio de tempo distorcido em j anela na dependência da informação de controle de distorção de tempo, pela qual amostras de domínio de tempo amostradas regularmente, ou simplesmente amostras de domínio de tempo, são obtidas por 25 reamostragem variável com o tempo. Na reamostragem variável com o tempo, o bloco em janela z[] é reamostrado de acordo com as posições amostradas, por exemplo usando uma resposta de impulso mostrada no numeral de referência 1070 na Figura lOf. Antes da reamostragem, o bloco em janela pode ser preenchido com zeros em ambas as extremidades, como mostrado no numeral de referência 1072 na Figura lOf. A reamostragem em si é descrita pela seção de pseudo-código mostrada no numeral de referência
1074 na Figura
PROCESSAMENTO DE
ESTRUTURA PÓS-REAMOSTRADOR
A seguir, será descrito um pós-processamento opcional 650d das amostras de dominio de tempo. Em algumas configurações o processamento de estrutura pós-reamostragem pode ser realizado na dependência de um tipo da sequência de janela.
Dependendo do parâmetro window_sequence, certos passos de processamento adicionais podem ser aplicados.
Por exemplo, se. .a ..sequência _ de - janela .é -..uma assim chamada EIGHT_SHORT_SEQUENCE, uma assim chamada
LONG_START_SEQUENCE, uma assim chamada STOP
START SEQUENCE uma assim chamada STOP_START_1152_SEQUENCE seguida por uma assim chamada LPD SEQUENCE pode ser realizado um pósprocessamento como mostrado nos numerais de referência 1080a
1080b, 1082.
Por exemplo, se a próxima sequência de janela for uma assim chamada LPD SEQUENCE uma janela de correção W corr pode ser calculada como mostrada no numeral de referência 1080a, levando em conta as definições mostradas no numeral de referência
1080b. Também. A janela de correção Wcorr(n) pode ser aplicada como mostrado no numeral de referência
1082 na
Figura lOg.
Para todos os outros casos, nada pode ser feito, como pode ser visto no numeral de . referência 1084 na
Figura lOg.
SOBREPOSIÇÃO E SOMA COM SEQUÊNCIAS DE JANELA
ANTERIORES
Além disso, uma sobreposição-e-soma 650e das amostras de domínio de tempo atuais com uma ou mais amostras 5 anteriores de domínio de tempo pode ser realizada. A sobreposição e soma pode ser a mesma para todas as sequências e pode ser descrita matematicamente como mostrado no numeral de referência 1086 na Figura lOg.
LEGENDA Com relação às explicações dadas, também se faz referência à legenda, que é mostrada nas Figuras 11a e lld. Em particular, o comprimento de janela de síntese N para a ... -----transformada . inversa., é tipicamente. uma . função .do ..elemento.. .de sintaxe window_sequence e do contexto algorítmico. Pode ser por 15 exemplo definida como mostrado no numeral de referência 1190 da Figura 11b.
CONFIGURAÇÃO DE ACORDO COM A FIGURA 13
A Figura 13 mostra um diagrama esquemático de blocos de um meio 1300 para fornecer um contorno reconstruído de 20 informação de distorção de tempo que assume a funcionalidade do meio 520 descrita com referência à Figura 5. Entretanto, os caminhos e buffers de dados são mostrados em maiores detalhes. O meio 1300 compreende uma calculadora de valor de nó de distorção 1344, que assume a função da calculadora de valor de nó de 25 distorção 544. A calculadora de valor de nó de distorção 1344 recebe um índice de livro de código tw_ratio [ ] da proporção de distorção como uma informação de proporção de distorção codificada. A calculadora de valor de nó de distorção compreende uma tabela de valor de distorção representando, por exemplo, o mapeamento de um índice de proporção de distorção de tempo sobre um valor de proporção de distorção de tempo representado na Figura
9c. A calculadora de valor de nó de distorção 1344 pode adicionalmente compreender um multiplicador para realizar o algoritmo representado no numeral de referência
910 da Figura 9a.
Da mesma forma, a calculadora de valor de nó de distorção fornece valores de nó de distorção warp_node_values[i]. Adicionalmente, o meio 1300 compreende um interpolador de contorno de distorção
1348, que assume a função do interpolador 540a que pode ser figurado para realizar o algoritmo mostrado no numeral de referência 920 na Figura 9a, desta forma obtendo valores do novo contorno de distorção (new warp contour)..
. O . „ meio.,. 1300 adicionalmente compreende um novo buffer de contorno de distorção
1350, que armazena os valores do novo contorno de distorção (isto é warp_contour com 2·n_long^i<3·n_long).
meio 1300 adicionalmente compreende um buffer/atualizador de contorno de distorção passado 1360, que armazena a última porção de contorno de distorção de tempo a porção de contorno de distorção de tempo atual e atualiza os conteúdos da memória em resposta a uma rescalação e em resposta uma conclusão do processamento da atual estrutura. Desta forma o buffer/atualizador de contorno de distorção passado 1360 pode estar em cooperação com o rescalador de contorno de distorção passado 1370 tal que o buffer/atualizador de contorno de distorção passado rescalador de contorno de distorção passado juntos cumprem a funcionalidade dos algoritmos 930, 932, 934, 936, 950, 960. Opcionalmente, o buffer/atualizador de contorno de distorção passado 1360 pode também assumir a funcionalidade dos algoritmos 932, 936, 952, 954,
962, 964.
Desta forma, o meio 1300 fornece o contorno de distorção (warp_contour) e otimamente também fornece os valores de soma de contorno de distorção.
CODIFICADOR DE SINAL DE ÁUDIO DE ACORDO COM A
FIGURA 14
A seguir, de áudio de acordo com um será descrito um codificador de sinal aspecto da invenção. O codificador de sinal de áudio da Figura 14 é designado em sua plenitude com 1400.
O codificador de sinal de áudio 1400 é configurado para receber um sinal de áudio 1410 e, opcionalmente, uma informação de contorno de distorção_ 1412.....fornecida., externamente., e.. associada com o. sinal de áudio 1410. Adicionalmente o codificador de sinal de áudio
1400 é configurado para prover uma representação codificada 1440 do sinal de áudio 1410.
O codificador de sinal de áudio
1400 compreende um codificador de contorno de distorção de tempo 1420, configurado para receber uma informação de contorno de distorção de tempo 1422 associado com o sinal de áudio 1410 e para fornecer uma informação de contorno de distorção de tempo codificado 1424 com base nele.
O codificador de sinal de áudio 1400 adicionalmente compreende um processador de sinal de distorção de tempo (ou codificador de sinal de distorção de tempo) 1430 que é configurado para receber o sinal de áudio 1410 e para fornecer, com base nele, uma representação codificada de distorção de tempo
1432 do sinal de áudio 1410, levando em conta uma distorção de tempo descrita pela informação de distorção de tempo 1422. A representação codificada 1414 do sinal de áudio 1410 compreende a informação de contorno de distorção de tempo codificado 1424 e a representação codificada 1432 do espectro do sinal de áudio 1410.
Opcionalmente, o codificador de sinal de áudio
1400 compreende uma calculadora de informação de contorno de distorção 1440, que é configurada para prover a informação de contorno de distorção de tempo 1422 com base no sinal de áudio 1410. Alternativamente, entretanto, a informação de contorno de distorção de tempo 1422 pode ser fornecido com base na informação 10 de contorno de distorção fornecida externamente 1412.
O codificador de contorno de distorção’ de tempo 1420 pode ser configurado para computar uma proporção entre valores subsequentes de nó do contorno de . distorção de .tempo descrito pela informação de contorno de distorção de tempo 1422.
Por exemplo, os valores de nó podem ser valores de amostra do
contorno de distorção de tempo representados pela informação de
contorno de distorção de tempo. Por exemplo, se a informação de
contorno de distorção de tempo compreende uma pluralidade de
valores para cada estrutura do sinal de áudio 1410, os valores de 20 nó de distorção de tempo podem ser um subconjunto verdadeiro deste informação de contorno de distorção de tempo. Por exemplo, os valores de nó de distorção de tempo podem ser um subconjunto verdadeiro periódico dos valores de contorno da distorção de tempo. Um valor de nó de contorno de distorção de tempo pode estar 25 presente conforme N das amostras de áudio, em que N pode ser maior do que ou igual a 2.
A calculadora de proporção de valor de nó de contorno de tempo pode ser configurada para computar uma proporção entre valores subsequentes de nó de distorção de tempo do contorno de distorção de tempo, desta forma fornecendo uma informação que descreve uma proporção entre valores subsequentes de nó do contorno de distorção de tempo. Um codificador de proporção do codificador de contorno de distorção de tempo pode ser configurado para codificar a proporção entre valores subsequentes de nó do contorno de distorção de tempo. Por exemplo, o codificador de proporção pode mapear diferentes proporções para diferentes índices do livro de códigos. Por exemplo, um mapeamento pode ser escolhido tal que as proporções fornecidas pela calculadora de proporção de valor de contorno de distorção de tempo estejam dentro de uma faixa entre 0,9 e 1,1, ou mesmo entre 0,95 e 1,05. Da mesma forma, o codificador de proporção pode ser configurado para mapear esta faixa para diferentes índices de livro de código. Por exemplo, as correspondências mostradas na tabela da Figura 9c podem agir como pontos de apoio neste mapeamento, tal que, por exemplo, uma proporção de 1 seja mapeada sobre um índice de livro de código de 3, enquanto uma proporção de 1,0057 seja mapeada para um índice de livro de código de 4, e assim por diante (comparar Figura 9c). Valores de proporção entre aqueles mostrados na tabela da Figura 9c podem ser mapeados para apropriados índices de livro de código, por exemplo para o índice de livro de código do mais próximo valor de proporção para o qual o índice de livro de código é mostrado na tabela da Figura 9c.
Naturalmente, diferentes codificações podem ser usadas tal que, por exemplo, um número de índices de livro de código disponíveis pode ser escolhido maior ou menor do que o mostrado aqui. Também, a associação entre valores de nó de contorno de distorção e índices dos valores do livro de códigos pode ser escolhida apropriadamente. Também, os índices de livro de código podem ser codificados, por exemplo, usando uma codificação binária, opcionalmente usando uma codificação de entropia.
Da mesma forma, são obtidas as proporções codificadas 1424.
O processador de sinal de distorção de tempo
1430 compreende um conversor de distorção de tempo do domínio temporal para o domínio de frequências 1434, que é configurado para receber o sinal de áudio 1410 e uma informação de contorno de distorção de tempo 1422a associado com o sinal de áudio (ou uma versão codificada deste), e para fornecer, com base nele uma representação de domínio espectral (domínio de frequências)
1436.
A informação de contorno de distorção de tempo
1422a pode preferivelmente ser obtida a partir da informação codificada
1424 fornecida pelo codificador de contorno de distorção de tempo 1420 usando um decodificador de distorção 1425.
Desta forma pode-se perceber que o codificador (em particular o seu processador de sinal de distorção de tempo 1430) e o decodificador (que recebe a representação codificada 1414 do sinal de áudio) opera nos mesmos contornos de distorção, a saber o contorno de distorção (de tempo) decodificado. Entretanto, em uma configuração simplificada, a informação de contorno de distorção de tempo 1422a usado pelo processador de sinal de distorção de tempo 1430 pode ser idêntico à informação de contorno de tempo 1422 inserida no codificador de contorno de de distorção distorção de tempo 1420.
conversor de distorção de tempo do domínio temporal para o domínio de frequências 1434 pode, por exemplo, considerar uma distorção de tempo ao formar a representação de domínio espectral 1436, por exemplo usando uma operação de 5 reamostragem variável com o tempo do sinal de áudio 1410.
Alternativamente, entretanto, a reamostragem variável com o tempo e a conversão de domínio temporal para domínio de frequências podem ser integradas em um único passo de processamento. O processador de sinal de distorção de tempo também compreende um 10 codificador de valor espectral 1438, que é configurado para codificar a representação de domínio espectral 1346. O codificador de valor espectral 1438 pode, por exemplo, ser configurado para levar em consideração o mascaramento . perceptivo.. Também,, o codificador de valor espectral 1438 pode ser configurado para 15 adaptar a exatidão de codificação à relevância perceptiva das bandas de frequência e para aplicar uma codificação de entropia.
Da mesma forma, obtém-se a representação codificada 1432 do sinal de áudio 1410.
CALCULADORA DE CONTORNO DE DISTORÇÃO DE TEMPO DE 20 ACORDO COM A FIGURA 15
A Figura 15 mostra o diagrama esquemático de blocos de uma calculadora de contorno de distorção de tempo, de acordo com outra configuração da invenção. A calculadora de contorno de distorção de tempo 1500 é configurada para receber uma 25 informação de proporção de distorção codificada 1510 para fornecer, com base nela, uma pluralidade de valores de nó de distorção 1512. A calculadora de contorno de distorção de tempo 1500 compreende, por exemplo, um decodificador de proporção de distorção 1520, que é configurado para valores de proporção de distorção 1522 derivar uma sequência de a partir da informação de proporção de distorção codificada 1510.
A calculadora de contorno de distorção de tempo
1500 também compreende uma calculadora de contorno de distorção
1530, que é configurada para derivar a sequência de valores de nó de distorção 1512 a partir da sequência de valores de proporção de distorção 1522. Por exemplo, a calculadora de contorno de distorção pode ser configurada para obter os valores de nó de contorno de distorção começando a partir de um valor inicial de contorno de distorção, em que proporções entre o valor inicial de contorno de distorção, associado com um nó inicial de contorno de distorção, e os valores de nó de contorno de distorção são determinados.pelos valores de proporção de distorção 1522. A calculadora de valor de nó de distorção é também configurada para computar um valor de nó de contorno de distorção 1512 de um determinado nó de contorno de distorção que é espaçado a partir do nó inicial de contorno de distorção por um nó de contorno de distorção intermediário com base em uma formação de produto compreendendo uma proporção entre o valor inicial de contorno de distorção (por exemplo, 1) e o valor de nó de contorno de distorção do nó de contorno de distorção intermediário e uma proporção entre o valor de nó de contorno de distorção do nó de contorno de distorção intermediário e o valor de nó de contorno de distorção do determinado nó de contorno de distorção como fatores.
A seguir, a operação da calculadora de contorno de distorção de tempo 1500 será brevemente discutida tomando referência às Figuras 16a e 16b...
A Figura 16a mostra uma representação gráfica de um cálculo sucessivo de um contorno de distorção de tempo. Uma primeira representação gráfica 1610 mostra uma sequência de índices de livro de código de proporção de distorção de tempo 1510 (index=0, index=l, index=2, index=3, index=7). Adicionalmente, a representação gráfica 1610 mostra uma sequência de valores de proporção de distorção (0,983, 0,988, 0,994, 1,000, 1,023) associados com os índices de livro de código. Adicionalmente, pode-se ver que um primeiro valor de nó de distorção 1621 (i=0) é escolhido para ser 1 (em que 1 é um valor inicial) . Como pode ser visto, um segundo valor de nó de distorção 1622 (i=l) é obtido multiplicando-se o valor inicial de 1 com o primeiro valor de proporção de 0,983 (associado com o primeiro. índice -0) . Também se pode ser visto que o terceiro valor de nó de distorção 1623 é obtido ao se multiplicar o segundo valor de nó de distorção 1622 de 0,983 pelo segundo valor de proporção de distorção de 0,988 (associado com o segundo índice de 1). Da mesma maneira, o quarto valor de nó de distorção 1624 é obtido ao se multiplicar o terceiro valor de nó de distorção 1623 pelo terceiro valor de proporção de distorção de 0,994 (associado com um terceiro índice de 2) .
Da mesma forma, uma sequência de valores de nó de distorção 1621, 1622, 1623, 1624, 1625, 1626 é obtida.
Um respectivo valor de nó de distorção é efetivamente obtido tal que seja um produto do valor inicial (por exemplo, 1) e todos os valores intermediários de proporção de distorção entre os nós de distorção inicial 1621 e o respectivo valor de nó de distorção 1622 a 1626.
Uma representação gráfica 1640 ilustra uma interpelação linear entre os valores de nó de distorção. Por exemplo, os valores interpelados 1621a, 1621b, 1621c poderíam ser obtidos em um decodificador de sinal de áudio entre dois valores adjacentes de nó de distorção de tempo 1621
1622, por exemplo fazendo uso de uma interpolação linear.
A Figura 16b mostra uma representação gráfica de
Uma reconstrução de contorno de distorção de tempo usando um reinicio periódico a partir de um valor inicial predeterminado, 10 que pode opcionalmente ser implementado na calculadora de contorno de distorção de tempo 1500. Em outras palavras, o reinicio repetido ou periódico não é uma característica essencial, desde que um estouro numérico possa ser evitado por qualquer outra medida apropriada no lado do codificador ou no lado do 15 decodificador. Como pode ser visto, uma porção de contorno de distorção pode começar a partir de um nó inicial 1660 em que os nós de contorno de distorção 1661, 1662, 1663, 1664 podem ser determinados. Para este propósito, valores de proporção de distorção (0,983, 0,988, 0,965, 1,000) podem ser considerados, tal 20 que os nós adjacentes de contorno de distorção 1661 a 1664 da primeira porção de contorno de distorção de tempo são separados por proporções determinadas por estes valores de proporção de distorção. Entretanto, uma segunda porção de contorno de distorção de tempo, adicional, pode ser iniciada após um nó de final 1664 da 25 primeira porção de contorno de distorção de tempo (compreendendo os nós 1660-1664) ter sido alcançado. A segunda porção de contorno de distorção de tempo pode começar a partir de um nó inicial 1665, que pode assumir o valor inicial predeterminado, independente de quaisquer valores de proporção de distorção. Da mesma forma, valores de nó de distorção da segunda porção de contorno de distorção de tempo podem ser computados começando a partir do nó inicial 1665 da segunda porção de contorno de distorção de tempo com base nos valores de proporção de distorção da segunda porção de contorno de distorção de tempo. Posteriormente, uma terceira porção de contorno de distorção de tempo pode começar a partir de um correspondente nó inicial 1670, que pode novamente assumir o valor inicial predeterminado independente de quaisquer valores de proporção de distorção. Da mesma forma, um reinicio periódico das porções de contorno de distorção de tempo é obtido. Opcionalmente, uma repetida renormalização pode ser aplicada, como descrita em detalhes acima. , . -- - — J
O CODIFICADOR DE SINAL DE ÁUDIO DE ACORDO COM A FIGURA 17
A seguir, um codificador de sinal de áudio de acordo com outra configuração da invenção será brevemente descrito, tomando referência à Figura 17. O codificador de sinal de áudio 1700 é configurado para receber um sinal de áudio multicanal 1710 e para fornecer uma representação codificada 1712 do sinal de áudio multi-canal 1710. O codificador de sinal de áudio 1700 compreende um provedor de representação de áudio codificado 1720, que é configurado para seletivamente fornecer uma representação de áudio compreendendo uma informação comum de contorno de distorção, comumente associada com uma pluralidade de canais de áudio do sinal de áudio multi-canal, ou uma representação de áudio codificado compreendendo informação individual de contorno de distorção, individualmente associados com os diferentes canais de áudio da pluralidade de canais de áudio, dependentes de uma informação que descreve uma similaridade ou diferença entre contornos de distorção associados com os canais de áudio da pluralidade de canais de áudio.
Por exemplo, o codificador de sinal de áudio
1700 compreende uma calculadora de similaridade de contorno de distorção ou calculadora de diferença de contorno de distorção 1730 configurada para prover a informação 1732 que descreve a similaridade ou diferença entre contornos de distorção associados com os canais de áudio. O provedor de representação de áudio codificado compreende, por exemplo, um codificador seletivo de contorno de distorção de tempo 1722 configurado para receber a informação de contorno de distorção de tempo 1724 (que pode ser fornecido externamente ou que pode ser fornecido por uma calculadora de informação de contorno de distorção de tempo opcional 1734) e a informação 1732. Se a informação 1732 indicar que os contornos de distorção de tempo de dois ou mais canais de áudio são suficientemente semelhantes, o codificador seletivo de contorno de distorção de tempo 1722 pode ser configurado para prover uma informação conjunta de contorno de distorção de tempo codificado. A informação conjunta de contorno de distorção pode, por exemplo, se basear em uma média da informação de contorno de distorção de dois ou mais canais. Entretanto, alternativamente a informação conjunta de contorno de distorção pode se basear em uma única informação de contorno de distorção de um único canal de áudio, porém conjuntamente associados com uma pluralidade de canais.
Entretanto, se a informação 1732 indicar que os contornos de distorção de múltiplos canais de áudio não são suficientemente similares, o codificador seletivo de contorno de distorção de tempo 1722 pode fornecer informação codificada 5 separada dos diferentes contornos de distorção de tempo.
provedor de representação de áudio codificado
1720 também compreende um processador de sinal de distorção de tempo 1726, que é também configurado para receber a informação de contorno de distorção de tempo 1724 e o sinal de áudio multi-canal 10 1710. O processador de sinal de distorção de tempo 1726 é configurado para codificar os múltiplos canais do sinal de áudio 1710. O processador de sinal de distorção de tempo 1726 pode compreender diferentes modos, de -operação: Por~ exemplo, o processador de sinal de distorção de tempo 1726 pode ser 15 configurado para seletivamente codificar canais de áudio individualmente ou codificá-los conjuntamente, explorando similaridades entre os canais. Em alguns casos, é preferível que o processador de sinal de distorção de tempo 1726 seja capaz de codificar múltiplos canais de áudio da maneira comum tendo um 20 contorno comum de informação de distorção de tempo. Há casos em que um canal de áudio esquerdo e um canal de áudio direito exibem a mesma evolução de passo relativo, porém têm características de sinal diferentes em outros aspectos, por exemplo diferentes frequências fundamentais absolutas ou diferentes envelopes 25 espectrais. Neste caso, não é desejável codificar o canal de áudio esquerdo e o canal de áudio direito conjuntamente, por causa da significativa diferença entre o canal de áudio esquerdo e o canal de áudio direito. Não obstante, a evolução de passo relativo no canal de áudio esquerdo e no canal de áudio direito pode ser paralela, tal que a aplicação de uma distorção de tempo comum é uma solução muito eficiente. Um exemplo de tal sinal de áudio é uma música polifônica, em que os conteúdos de múltiplos canais de áudio exibem uma diferença significativa (por exemplo, são dominados por diferentes cantores ou instrumentos musicais), porém exibem similar variação de passo. Desta forma, a eficiência de codificação pode ser significativamente melhorada ao fornecer a possibility de ter uma codificação conjunta dos contornos de distorção de tempo para múltiplos canais de áudio enquanto se mantém a opção de codificar separadamente os espectros de frequência dos diferentes canais de áudio para os quais é fornecido um contorno comum de informação.de passo. -- O provedor de representação de áudio codificado 1720 opcionalmente compreende um codificador de informação lateral 1728, que é configurado para receber a informação 1732 e para fornecer uma informação lateral indicando se um contorno de distorção comum codificado está fornecido para múltiplos canais de áudio ou se contornos de distorção individuais codificados são fornecidos para os múltiplos canais de áudio. Por exemplo, tal informação lateral pode ser fornecida na forma de um flag de 1 bit chamado common tw.
Para resumir, o codificador seletivo de contorno de distorção de tempo 1722 seletivamente fornece representações individuais codificadas dos contornos de distorção de tempo de áudio associados com múltiplos sinais de áudio, ou uma representação codificada conjunta de contorno de distorção de tempo representando um único conjunto de contorno de distorção de tempo associado com os múltiplos canais de áudio. 0 codificador de informação lateral 1728 opcionalmente fornece uma informação lateral indicando se são fornecidas representações individuais de contorno de distorção de tempo ou uma representação de conjunto de 5 contorno de distorção de tempo. 0 processador de sinal de distorção de tempo 1726 fornece representações codificadas dos múltiplos canais de áudio. Opcionalmente, uma informação codificada comum pode ser fornecida para múltiplos canais de áudio. Entretanto, tipicamente é até possível fornecer 10 representações individuais codificadas de múltiplos canais de áudio, para os quais uma representação comum de contorno de distorção de tempo está disponível, tal que diferentes canais de áudio com diferentes conteúdos de áudio, porém distorções de tempo idênticas são apropriadamente representados. Consequentemente, a 15 representação codificada 1712 compreende informação codificada fornecida pelo codificador seletivo de contorno de distorção de tempo 1722, e o processador de sinal de distorção de tempo 1726 e, opcionalmente, o codificador de informação lateral 1728.
DECODIFICADOR DE SINAL DE ÁUDIO DE ACORDO COM A 20 FIGURA 18
A Figura 18 mostra um diagrama esquemático de blocos de um decodificador de sinal de áudio de acordo com uma configuração da invenção. O decodificador de sinal de áudio 1800 é configurado para receber uma representação de sinal de áudio 25 codificado 1810 (por exemplo, a representação codificada 1712) e para fornecer, com base nela, uma representação decodificada 1812 do sinal de áudio multi-canal. O decodificador de sinal de áudio 1800 compreende um extrator de informação lateral 1820 e um decodificador de distorção de tempo 1830. 0 extrator de informação lateral 1820 é configurado para extrair uma informação de aplicação de contorno de distorção de tempo 1822 e uma informação de contorno de distorção 1824 a partir da representação de sinal de áudio 5 codificado 1810. Por exemplo, o extrator de informação lateral 1820 pode ser configurado para reconhecer se um único, contorno comum de informação de distorção de tempo está disponível para múltiplos canais do sinal de áudio codificado, ou se a informação de contorno de distorção de tempo separado está disponível para os múltiplos 10 canais. Da mesma forma, o extrator de informação lateral pode fornecer tanto a informação de aplicação de contorno de distorção de tempo 1822 (indicando se está disponível informação de contorno de distorção de tempo conjunto ou individual) quanto a informação 'de contorno de distorção de tempo 1824 (descrevendo uma evolução 15 temporal do contorno comum (conjunto) de distorção de tempo ou dos contornos de distorção de tempo individuais). O decodificador de distorção de tempo 1830 pode ser configurado para reconstruir a representação decodificada do sinal de áudio multi-canal com base na representação de sinal de áudio codificado 1810, levando em 20 consideração a distorção de tempo descrita pela informação 1822, 1824. Por exemplo, o decodificador de distorção de tempo 1830 pode ser configurado para aplicar um contorno comum de distorção de tempo para decodificar diferentes canais de áudio, para os quais está disponível informação individual codificada sobre domínio de 25 frequências. Da mesma forma, o decodificador de distorção de tempo 1830 pode, por exemplo, reconstruir diferentes canais do sinal de áudio multi-canal, que compreendem distorção de tempo similar ou idêntica, porém passo diferente.
STREAM DE ÁUDIO DE ACORDO
COM AS FIGURAS 19A A
19E
A seguir, será descrito um stream de áudio, que compreende uma representação codificada de um ou mais sinais de canal de áudio e um ou mais contornos de. distorção de tempo.
A Figura 19a mostra uma representação gráfica de um assim chamado elemento de stream de dados USAC raw data block que pode compreender um elemento de canal único (SCE), um elemento de dois canais (CPE) ou uma combinação de um ou mais elementos de canal único e/ou um ou mais elementos de dois canais.
USAC raw data block pode tipicamente compreender um bloco de dados de áudio codificados, enquanto informação adicional sobre contorno de distorção de tempo pode ser fornecida em um elemento separado de stream de dados. Não obstante, é usualmente possível codificar alguns dados de contorno de distorção de tempo no USAC raw data block.
Como pode ser visto a partir da Figura elemento de canal único tipicamente compreende um stream
19b, um de canal de domínio de frequências (fd channel stream) que será explicado em detalhes com referência à Figura 9d.
Como pode ser visto a partir da. Figura 19c, um elemento de dois canais (channel_pair_element) tipicamente compreende uma pluralidade de streams de canal de domínio de frequências.
Também, o elemento de dois canais pode compreender informação de distorção de tempo. Por exemplo, um flag de ativação de distorção de tempo (tw_MDCT) que pode ser transmitido em um elemento de stream de dados de configuração ou no
USAC_saw data_block determina se a informação de distorção de tempo está incluída no elemento de dois canais. Por exemplo, se o flag tw_MDCT indicar que a distorção de tempo está ativa, o elemento de dois canais pode compreender um flag (common_tw) que indica se há uma distorção de tempo comum para os canais de áudio do elemento de dois canais. Se o referido flag (common_tw) indicar que há uma distorção de tempo comum para múltiplo dos canais de áudio, então uma informação comum de distorção de tempo (tw_data) é incluída no elemento de dois canais, por exemplo, separado dos streams de canal de domínio de frequências.
Tomando referência agora à Figura 19d, o stream de canal de domínio de frequências é descrito. Como pode ser visto a partir da Figura 19d, o stream de canal de domínio de frequências, por exemplo, compreende uma informação de ganho global. Também, o stream de canal de domínio de frequências compreende dados de distorção de tempo, se a distorção de tempo estiver ativa (flag tw_MDCT ativo) e se não houver informação comum de distorção de tempo para canal de sinal de áudio múltiplo (o flag common_tw está inativo).
Adicionalmente, um stream de canal de domínio de frequências também compreende dados de fator de escala (scale_factor_data) e dados espectrais codificados (por exemplo, dados espectrais aritmeticamente codificados ac_spectral_data).
Tomando referência agora à Figura 19e, a sintaxe dos dados de distorção de tempo será brevemente discutida. Os dados de distorção de tempo podem por exemplo, opcionalmente, compreender um flag (por exemplo, tw_data_present ou Dados de Passo ativos) indicando se os dados de distorção de tempo estão presentes. Se os dados de distorção de tempo estiverem presentes, (isto é o contorno de distorção de tempo não está plano) os dados de distorção de tempo podem compreender uma sequência de uma pluralidade de valores de proporção de distorção de tempo codificados (por exemplo, tw_ratio [i] ou pitchldx[i]), que podem, por exemplo, ser codificados de acordo com a tabela do livro de códigos da Figura 9c.
Desta forma, os dados de distorção de tempo podem compreender um flag indicando que não há dados de distorção de tempo disponíveis, que pode ser estabelecido por um codificador de sinal de áudio, se o contorno de distorção de tempo for constante (as proporções de distorção de tempo são aproximadamente iguais a 1,000). Em contraste, se o contorno de distorção de tempo estiver variando, proporções entre nós .subsequentes de contorno de distorção de tempo podem ser codificadas usando os índices de livro de código que compõem a informação tw_ratio.
CONCLUSÃO
Resumindo o texto acima, as configurações de acordo com a invenção trazem diferentes melhorias no campo de distorção de tempo.
Os aspectos da invenção descritos aqui estão no contexto de um codificador de tempo distorcido por transformada MDCT (vide, por exemplo, a referência [1]). Configurações de acordo com a invenção fornecem métodos para um desempenho melhorado de um codificador de tempo distorcido por transformada MDCT.
De acordo com um aspecto da invenção, é fornecido um formato de bitstream particularmente eficiente. A descrição do formato de bitstream baseia-se em e aperfeiçoa a sintaxe de bitstream MPEG-2 AAC (vide, por exemplo, a referência [2]) , porém é naturalmente aplicável a todos os formatos de bitstream com um cabeçalho de descrição geral no início de um stream e uma sintaxe de informação na forma de estrutura individual.
Por exemplo, a seguinte informação lateral pode ser transmitida no bitstream:
Em geral, um flag de um bit (por exemplo, a saber tw_MDCT) pode apresentar na configuração específica de áudio geral (GASC), indicando se a distorção de tempo está ativa ou não. Dados de passo podem ser transmitidos usando a sintaxe mostrada na Figura 19e ou a sintaxe mostrada na Figura 19f. Na sintaxe mostrada na Figura 19f, o número de passos (numPitches) pode ser igual a 16, e o número de bits de passo em (numPitchBits) pode ser igual a 3. Em outras palavras, pode haver 16 valores de proporção-de distorção codificados por porção de contorno de distorção de tempo (ou por sinal de estrutura de áudio), e cada valor de proporção de contorno de distorção pode ser codificado usando 3 bits.
Além disso, em um elemento de canal único (SCE) os dados de passo (pitch_data[]) podem ser localizados antes dos dados de seção no canal individual, se a distorção estiver ativa.
Em um elemento de dois canais (CPE) , um flag de passo comum sinaliza se houver dados de um passo comum para ambos os canais, que segue após isto, se não, os contornos de passo individuais são encontrados nos canais individuais.
A seguir, será dado um exemplo para um elemento de dois canais, üm exemplo poderia ser um sinal de uma única fonte de sons harmônicos, disposta dentro do panorama estéreo. Neste caso, os contornos de passo relativo para o primeiro canal e o segundo canal serão iguais ou diferiríam apenas ligeiramente devido a alguns pequenos erros na estimativa da variação. Neste caso, o codificador pode decidir que ao invés de enviar dois contornos de passo codificados separados para cada canal, enviar apenas um contorno de passo que é uma média dos contornos de passo do primeiro e segundo canal, e usar o mesmo contorno ao aplicar a TW-MDCT em ambos os canais. Por outro lado, poderia haver um sinal onde a estimativa do contorno de passo gera diferentes resultados para o primeiro e segundo canal respectivamente. Neste caso, os contornos de passo individualmente codificados são enviados dentro do canal correspondente.
A seguir, será descrita uma decodificação vantajosa de dados de passo de contorno, de acordo com um aspecto da invenção. Por exemplo, se o flag active _PitchData - for 0, o contorno de passo é estabelecido para 1 para todas as amostras na estrutura, do contrário os nós de contorno de passo individuais são computados como segue:
• há numPitches + 1 nós, • nó [0] é sempre 1,0;
• nó [i] =nó [i-1] «relChange [i] (i=l..numPitches+1), onde o relChange é obtido por quantização inversa do pitchldxfi].
O contorno de passo é então gerado pela interpolação linear entre os nós, onde as posições de amostra de nós são 0:frameLen/numPitches:frameLen.
ALTERNATIVAS DE IMPLEMENTAÇÃO
Dependendo de certos requisitos de implementação, as configurações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada usando uma mídia de armazenamento digital, por exemplo um disquete, um DVD, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, tendo sinais de controle eletronicamente legíveis armazenados nela, que cooperam (ou são capazes de cooperar) com um sistema de computador programável tal que o respectivo método seja executado.
Algumas configuraçõ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 com um sistema de computador programável, tal que um dos métodos descritos aqui seja executado.
Geralmente, as configuraçõ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 operante para executar um dos métodos quando o produto do programa de computador roda em um computador. O código de programa pode, por exemplo, ser armazenado em um carregador legível pela máquina.
Outras configurações compreendem o programa de computador para executar um dos métodos descritos aqui, armazenado em um carregador legível pela máquina.
Em outras palavras, uma configuração do método inventivo é, portanto, um programa de computador que tem um código de programa para executar um dos métodos descritos aqui, quando o programa de computador roda em um computador.
Uma configuração adicional dos métodos inventivos é, portanto, um carregador de dados (ou uma mídia de armazenamento digital, ou uma mídia legível por computador) compreendendo, nela registrado, o programa de computador para executar um dos métodos descritos aqui...
Uma configuração adicional do método inventivo é. portanto, um stream de dados ou uma sequência de sinais representando o programa de computador para executar um dos métodos descritos aqui. O stream de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido por meio de uma conexão para comunicação de dados, por exemplo, por meio da Internet.
Uma configuração adicional compreende um meio de processamento, por exemplo um computador, ou um dispositivo lógico
programável, configurado para ou adaptado para executar um dos
métodos descritos aqui. Al
Uma configuração adicional compreende um
computador tendo nele instalado o programa de. computador para
executar um dos métodos descritos aqui.
Em algumas configurações, um dispositivo lógico programável (por exemplo, um arranjo de portas programável em campo) pode ser usado para realizar algumas ou todas as funcionalidades dos métodos descritos aqui. Em algumas configurações, um field programmable gate array pode cooperar com um microprocessador a fim de executar um dos métodos descritos aqui.
REFERÊNCIAS [1] L. Villemoes, Time Warped Transform Coding of Audio Signals, PCT/EP2006/010246, Int. patent application, November 2005.
[2] Generic Coding of Moving pictures and
Associated Audio: Advanced Audio Coding. International Standard
13818-7, ISO/IECJTC1/SC29/WG11 Moving Pictures Expert Group, 1997.
REIVINDICAÇÕES

Claims (14)

1. CALCULADORA DE CONTORNO DE DISTORÇÃO DE TEMPO, CODIFICADOR DE SINAL DE ÁUDIO, REPRESENTAÇÃO DE SINAL DE ÁUDIO CODIFICADO, MÉTODOS E PROGRAMA DE COMPUTADOR, compreendendo calculadora de contorno de distorção de tempo (320;540; 1344,1348; 1500) para uso em um decodificador de sinal de áudio (200;300;1800) para fornecer uma representação de sinal de áudio decodificado (312;1812) com base em uma representação de sinal de áudio codificado (310;1810), caracterizado pelo fato de que a calculadora de contorno de distorção de tempo é configurada para receber uma informação de proporção de distorção codificada (316;510; 1510; tw_ratio[]), para derivar uma sequência de valores de proporção de distorção (1522;warp_value_tbl[tw_ratio[k]]) a partir da informação de proporção de distorção codificada, e para obter valores de nó de contorno de distorção (warp_n°óe_values' 1512) começando a partir de um valor inicial de contorno de distorção de tempo (1);
onde as proporções entre os valores de nó de contorno de distorção de tempo e o valor inicial de contorno de distorção de tempo (1) associado com um nó inicial de contorno de distorção de tempo (1621) são determinadas pelos valores de proporção de distorção; e onde a calculadora de contorno de distorção de tempo é configurada para computar um valor de nó de contorno de distorção de tempo (warp_node_values;1512) de um dado nó de contorno de distorção de tempo (1623) , que é espaçado a partir do nó inicial de contorno de distorção de tempo (1621) por um nó intermediário de contorno de distorção de tempo (1622) com base em uma formação de produto compreendendo uma proporção entre o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo (1622) e o valor inicial de contorno de distorção de tempo (1) e uma proporção entre o valor de nó de contorno de distorção de tempo do dado nó de contorno de distorção de tempo (1623) e o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo (1622) como fatores.
2. Calculadora de contorno de distorção de tempo (320;540;1344,1348;1500), de acordo com a reivindicação 1 caracterizado pela calculadora de contorno de distorção de tempo é configurada para periodicamente reiniciar a partir do valor inicial de contorno de distorção de tempo (1)
3. Calculadora de contorno de distorção de tempo (320;540;1344,1348;1500), de acordo com a reivindicação ou 2 caracterizado pela calculadora de contorno de distorção de tempo ser configurada para mapear a informação de proporção de distorção codificada (316;510;1510;tw ratio[]) sobre uma sequência de valores de proporção de distorção (1522;
warp_value_tbl[tw_ratio[k]]) usando uma regra de mapeamento (990) compreendendo:
uma regra de mapeamento (990) descreve um mapeamento de uma pluralidade de índices de livro de códigos de proporção de distorção (316; 510;1510;tw ratio[]) sobre valores correspondentes de proporção de distorção (1522;warp_value_tbl[tw_ratio]), uma a regra de mapeamento (990) escolhida tal que a regra de mapeamento compreende uma pluralidade de pares de valores recíprocos de proporção de distorção, tal que o produto de dois valores de proporção de distorção (1522;warp_value_tbl[tw_ratio[k]]) de um par de valores recíprocos de proporção de distorção fique entre 0,9997 e 1,0003.
4. Calculadora de contorno de distorção de tempo (320;540;1344,1348;1500), de acordo com qualquer uma das reivindicações de 1 a 3, caracterizado pela calculadora de contorno de distorção de tempo é configurada para mapear a informação de proporção de distorção codificada (316;510;1510;tw_ratio[]) sobre uma sequência de valores de proporção de distorção (1522;warp_value_table[tw_ratio]) usando uma regra de mapeamento (990) compreendendo:
regra de mapeamento (990) descreve um mapeamento de uma pluralidade de índices de livro de códigos de proporção de distorção (tw_ratio) sobre valores correspondentes de proporção de distorção (1522; warp__value_table [tw_ratio] ) ;
regra de mapeamento é escolhida tal que os valores de proporção de distorção, sobre os quais os índices de livro de códigos de proporção de distorção são mapeados, estejam dentro de uma faixa entre 0,97 e 1,03.
5. Calculadora de contorno de distorção de tempo (320;540;1344,1348;1500), de acordo com qualquer uma das reivindicações de 1 a 4, caracterizado pela calculadora de contorno de distorção de tempo é configurada para mapear a informação de proporção de distorção codificada (316;510;1510;tw_ratio[]) sobre uma sequência de valores de proporção de distorção (1522; warp_value_t-able (tw_ratio] ) usando uma regra de mapeamento (990) compreendendo:
regra de mapeamento descreve um mapeamento de uma pluralidade de índices de livro de códigos de proporção de distorção (316;510;1510;tw_ratio[]) sobre valores correspondentes de proporção de distorção (1522;warp_value_table[tw_ratio]); e
5 regra de mapeamento (990) é escolhida assimetricamente tal que uma gama de valores crescentes de proporção de distorção é maior do que uma gama de valores decrescentes de proporção de distorção.
6. Calculadora de contorno de distorção de tempo (320;540;1344,1348;1500) de acordo com qualquer uma das reivindicações de 1 a 5, caracterizado pela calculadora de contorno de distorção de tempo é configurada para receber uma informação lateral (tw_data_present) indicando um contorno de
- distorção dé tempo não-variável ou um contorno de distorção de tempo variável para uma dada estrutura da representação de sinal de áudio codificado, e, na dependência da informação lateral (tw_data_present) indicando um contorno de distorção de tempo nãovariável ou um contorno de distorção de tempo variável para obter (910) os valores de nó de contorno de distorção de tempo (warp_node_values;1512) para a dada estrutura com base na informação de proporção de distorção codificada ou para estabelecer os valores de nó de contorno de distorção de tempo (warp_node_values;1512) para a dada estrutura para o valor inicial de contorno de distorção (1).
7. Calculadora de contorno de distorção de tempo (320;540;1344,1348;1500), de acordo com reivindicações de 1 a 6, caracterizado qualquer uma das pela calculadora de contorno de distorção de tempo -~é—configurada para interpolar linearmente entre os valores de nó de contorno de distorção de tempo (warp_node_values;1512), para obter valores de contorno de distorção de tempo (nov_warp_contour) de uma nova porção de contorno de distorção de tempo.
5
8. Calculadora de contorno de distorção de tempo (320;540; 1344,1348; 1500) , de acordo com qualquer uma das reivindicações de 1 a 7, caracterizado pela calculadora de contorno de distorção de tempo é configurada para iterativamente obter uma sequência de valores de nó de contorno de distorção de
10 tempo (warp_node_values;1512), onde a calculadora de contorno de distorção de tempo é configurada para obter um subsequente valor de nó de contorno de distorção de tempo (warp_node_values[i+1]) a partir de um valor de nó de contorno de distorção _de tempo ---presente' (warp_node__values [i] ) ao se multiplicar o valor de nó de
15 contorno de distorção de tempo presente com um correspondente valor de proporção de distorção de tempo (warp_value_tbl [tw__ratio [i] ] ) .
9. Codificador de sinal de áudio (100;1400;1700) para fornecer uma representação codificada (150,152;1414;1712) de
20 um sinal de áudio (110; 1410; 1710) , o codificador de sinal de áudio caracterizado por compreender:
um codificador de contorno de distorção de tempo (1420;1722) configurado para receber uma informação de contorno de distorção de tempo (1422;1724) associada com o sinal de áudio 25 (1410;1710), para computar uma proporção entre subsequentes valores de nó do contorno de distorção de tempo, e para codificar a proporção entre subsequentes valores de nó do contorno de distorção de tempo; e um codificador de sinal de distorção de tempo (1430;1726) configurado para obter uma representação codificada (1432) de um espectro do sinal de áudio (1410;1710), levando em conta uma distorção de tempo descrita pela informação de contorno de distorção de tempo (1422,-1724) ;
onde a representação codificada (1414,-1712) do sinal de áudio compreende as proporções codificadas (1412; tw__ratio []) e a representação codificada (1432) do espectro.
10. Codificador de sinal de áudio (100,-1400,-1700), de acordo com a reivindicação 9, caracterizado pelo codificador de contorno de distorção de tempo (1420;1722) é configurado para checar, se um contorno de distorção de tempo nãoplano está disponível para uma dada estrutura do sinal de áudio, e para estabelecer um flag (tw_data_present) dentro da representação codificada (1414,-1712) do sinal de áudio (1410,-1710) para indicar a ausência de um contorno de distorção de tempo variável se um contorno de distorção de tempo variável não estiver disponível para a dada estrutura do sinal de áudio; e para omitir uma inclusão de valores de proporção codificada (tw_ratio) na representação codificada do sinal de áudio se um contorno de distorção de tempo variável não estiver disponível para a dada estrutura do sinal de áudio.
11. Representação de sinal de áudio codificado (usac_raw_data_block()) representando um sinal de áudio, a representação de sinal de áudio caracterizado por compreender:
uma representação de domínio de frequências codificada (scalefactor_data() , ac_spectral_data()) representando um ou mais canais de áudio reamostrados para distorção de tempo, reamostrados de acordo com uma distorção de tempo; e ~ uma representação codificada (tw_data) de um contorno de distorção de tempo representando a distorção de tempo, caracterizada pelo fato de que a representação codificada do contorno de distorção de tempo compreende uma pluralidade de valores de proporção de distorção de tempo codificados (tw_ratio) , onde os valores de proporção de distorção de tempo representam proporções entre subsequentes valores de nó (warp_node_values) do contorno de distorção de tempo.
12. Representação de sinal de áudio codificado (usac_raw_data_block()), de acordo com a reivindicação 11, caracterizado pela representação de sinal de áudio codificado compreende, conforme uma estrutura de áudio, um flag _ (tw_data_present) indicando a presença de uma representação codificada de um contorno de distorção de tempo (tw_ratio) para a respectiva estrutura.
13. Método para fornecer uma representação de sinal de áudio decodificado com base em uma representação de sinal de áudio codificado, caracterizado por compreender:
recebimento de uma informação de proporção de distorção codificada (316; 510;1510;tw_ratio[]);
derivação de uma sequência de valores de proporção de distorção (1522;warp_value_tbl[tw_ratio [k]])a partir da informação de proporção de distorção codificada; e obtenção de uma pluralidade de valores de nó de contorno de distorção de tempo (warp_node_values;1512) começando a partir de um valor inicial de contorno de distorção de tempo (1), onde os valores de nó de contorno de distorção de tempo e o valor inicial de contorno de distor'çâo de tempo associado com o nó inicial de contorno de distorção de tempo são determinadas pelos valores de proporção de distorção;
onde um valor de nó de contorno de distorção de tempo (warp_node_values;1512) de um dado nó de contorno de distorção de tempo (1623), que é espaçado a partir do nó inicial de contorno de distorção de tempo (1621) por um nó intermediário de contorno de distorção de tempo (1622) , é computado com base em uma formação de produto, compreendendo uma proporção entre o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo (1622) e o valor inicial de contorno de distorção de tempo e uma proporção entre o valor de nó de contorno de distorção de tempo do dado nó de contorno de distorção de tempo (1623) e o valor de nó de contorno de distorção de tempo do nó intermediário de contorno de distorção de tempo (1622) como fatores.
14. Método para fornecer uma representação codificada de um sinal de áudio, caracterizado por compreender:
recebimento de uma informação de contorno de distorção de tempo (1422,-1724) associada com o sinal de áudio (1410,-1710) ;
computo de uma proporção entre subsequentes valores de do contorno de distorção de tempo; codificação da proporção entre subsequentes valores de do contorno de distorção de tempo; e obtenção de uma representação codificada (1432)
de um espectro do sinal de áudio (1410,-1710), levando em conta uma distorção de tempo descrita pela informação de contorno de distorção de tempo (1422;1724);
onde a representação codificada (1414,-1712) do sinal de áudio compreende as proporções codificadas e a representação codificada (1432) do espectro.
Programa de computador quando executado em computador, caracterizado por executar o método de acordo com a reivindicação 13 ou 14.
codificador de áudio de distorção de tempo
BRPI0906320-0A 2008-07-11 2009-07-01 Calculadora de contorno de distorção de tempo, codificador de sinal de áudio, representação de sinal de áudio codificado e seus métodos. BRPI0906320B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7987308P 2008-07-11 2008-07-11
US61/079,873 2008-07-11
US10382008P 2008-10-08 2008-10-08
US61/103,820 2008-10-08
PCT/EP2009/004756 WO2010003581A1 (en) 2008-07-11 2009-07-01 Time warp contour calculator, audio signal encoder, encoded audio signal representation, methods and computer program

Publications (2)

Publication Number Publication Date
BRPI0906320A2 true BRPI0906320A2 (pt) 2020-01-14
BRPI0906320B1 BRPI0906320B1 (pt) 2021-05-18

Family

ID=41131685

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI0906320-0A BRPI0906320B1 (pt) 2008-07-11 2009-07-01 Calculadora de contorno de distorção de tempo, codificador de sinal de áudio, representação de sinal de áudio codificado e seus métodos.
BRPI0906300-5A BRPI0906300B1 (pt) 2008-07-11 2009-07-01 Decodificador de sinal de áudio, provedor de dados de contorno de distorção de tempo e método

Family Applications After (1)

Application Number Title Priority Date Filing Date
BRPI0906300-5A BRPI0906300B1 (pt) 2008-07-11 2009-07-01 Decodificador de sinal de áudio, provedor de dados de contorno de distorção de tempo e método

Country Status (17)

Country Link
US (3) US9299363B2 (pt)
EP (3) EP2257944B1 (pt)
JP (4) JP5323180B2 (pt)
KR (3) KR101205615B1 (pt)
CN (3) CN102007531B (pt)
AR (3) AR072498A1 (pt)
AT (2) ATE532176T1 (pt)
AU (3) AU2009267484B2 (pt)
BR (2) BRPI0906320B1 (pt)
CA (3) CA2718859C (pt)
ES (3) ES2376849T3 (pt)
MX (3) MX2010010749A (pt)
MY (1) MY154452A (pt)
PL (3) PL2260485T3 (pt)
RU (3) RU2509381C2 (pt)
TW (3) TWI451402B (pt)
WO (3) WO2010003583A1 (pt)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720677B2 (en) * 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
EP2107556A1 (en) * 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
KR101400535B1 (ko) 2008-07-11 2014-05-28 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 워프 활성 신호의 제공 및 이를 이용한 오디오 신호의 인코딩
MY154452A (en) * 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
BR112012007803B1 (pt) * 2009-10-08 2022-03-15 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Decodificador de sinal de áudio multimodal, codificador de sinal de áudio multimodal e métodos usando uma configuração de ruído com base em codificação de previsão linear
JP5456914B2 (ja) * 2010-03-10 2014-04-02 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. サンプリングレート依存型タイムワープコンター符号化を用いた、オーディオ信号復号器、オーディオ信号符号化器、方法、およびコンピュータプログラム
EP2372703A1 (en) * 2010-03-11 2011-10-05 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Signal processor, window provider, encoded media signal, method for processing a signal and method for providing a window
WO2011119111A1 (en) * 2010-03-26 2011-09-29 Agency For Science, Technology And Research Methods and devices for providing an encoded digital signal
KR20130111611A (ko) * 2011-01-25 2013-10-10 니뽄 덴신 덴와 가부시키가이샤 부호화 방법, 부호화 장치, 주기성 특징량 결정 방법, 주기성 특징량 결정 장치, 프로그램, 기록 매체
TR201908598T4 (tr) 2011-02-14 2019-07-22 Fraunhofer Ges Forschung Bir ses sinyalinin hizalı bir ileriye dönük kısımdan faydalanılarak enkode edilmesi için cihaz ve yöntem.
AR085218A1 (es) 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Aparato y metodo para ocultamiento de error en voz unificada con bajo retardo y codificacion de audio
PL2676267T3 (pl) 2011-02-14 2017-12-29 Fraunhofergesellschaft Zur Förderung Der Angewandten Forschung E V Kodowanie i dekodowanie pozycji impulsów ścieżek sygnału audio
MX2013009303A (es) 2011-02-14 2013-09-13 Fraunhofer Ges Forschung Codec de audio utilizando sintesis de ruido durante fases inactivas.
AR085362A1 (es) 2011-02-14 2013-09-25 Fraunhofer Ges Forschung Aparato y metodo para procesar una señal de audio decodificada en un dominio espectral
EP2676266B1 (en) 2011-02-14 2015-03-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Linear prediction based coding scheme using spectral domain noise shaping
AU2012217216B2 (en) 2011-02-14 2015-09-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
ES2458436T3 (es) * 2011-02-14 2014-05-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Representación de señal de información utilizando transformada superpuesta
KR101742136B1 (ko) 2011-03-18 2017-05-31 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 콘텐츠를 표현하는 비트스트림의 프레임들 내의 프레임 요소 배치
TWI450266B (zh) * 2011-04-19 2014-08-21 Hon Hai Prec Ind Co Ltd 電子裝置及音頻資料的解碼方法
US9967600B2 (en) * 2011-05-26 2018-05-08 Nbcuniversal Media, Llc Multi-channel digital content watermark system and method
EP2704142B1 (en) * 2012-08-27 2015-09-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for reproducing an audio signal, apparatus and method for generating a coded audio signal, computer program and coded audio signal
CN102855884B (zh) * 2012-09-11 2014-08-13 中国人民解放军理工大学 基于短时连续非负矩阵分解的语音时长调整方法
CN103854653B (zh) 2012-12-06 2016-12-28 华为技术有限公司 信号解码的方法和设备
US9548056B2 (en) * 2012-12-19 2017-01-17 Dolby International Ab Signal adaptive FIR/IIR predictors for minimizing entropy
AU2014336097B2 (en) 2013-10-18 2017-01-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of spectral coefficients of a spectrum of an audio signal
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
EP2980791A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Processor, method and computer program for processing an audio signal using truncated analysis or synthesis window overlap portions
US10553230B2 (en) * 2015-11-09 2020-02-04 Sony Corporation Decoding apparatus, decoding method, and program
US10074373B2 (en) * 2015-12-21 2018-09-11 Qualcomm Incorporated Channel adjustment for inter-frame temporal shift variations
MY181992A (en) 2016-01-22 2021-01-18 Fraunhofer Ges Forschung Apparatus and method for encoding or decoding a multi-channel signal using spectral-domain resampling
CN107749304B (zh) * 2017-09-07 2021-04-06 电信科学技术研究院 有限冲激响应滤波器系数矢量的可持续更新方法及装置
KR20220054645A (ko) * 2019-09-03 2022-05-03 돌비 레버러토리즈 라이쎈싱 코오포레이션 저지연, 저주파 효과 코덱
TWI752551B (zh) * 2020-07-13 2022-01-11 國立屏東大學 迅吃偵測方法、迅吃偵測裝置與電腦程式產品

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5054075A (en) 1989-09-05 1991-10-01 Motorola, Inc. Subband decoding method and apparatus
JP3076859B2 (ja) * 1992-04-20 2000-08-14 三菱電機株式会社 ディジタルオーディオ信号の信号処理装置
US5408580A (en) 1992-09-21 1995-04-18 Aware, Inc. Audio compression system employing multi-rate signal analysis
JPH0784597A (ja) 1993-09-20 1995-03-31 Fujitsu Ltd 音声符号化装置および音声復号化装置
US5717823A (en) * 1994-04-14 1998-02-10 Lucent Technologies Inc. Speech-rate modification for linear-prediction based analysis-by-synthesis speech coders
FI105001B (fi) 1995-06-30 2000-05-15 Nokia Mobile Phones Ltd Menetelmä odotusajan selvittämiseksi puhedekooderissa epäjatkuvassa lähetyksessä ja puhedekooderi sekä lähetin-vastaanotin
US5704003A (en) 1995-09-19 1997-12-30 Lucent Technologies Inc. RCELP coder
JP3707116B2 (ja) 1995-10-26 2005-10-19 ソニー株式会社 音声復号化方法及び装置
US5659622A (en) 1995-11-13 1997-08-19 Motorola, Inc. Method and apparatus for suppressing noise in a communication system
US5848391A (en) 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
US6134518A (en) 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
KR100261253B1 (ko) 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치
US6070137A (en) 1998-01-07 2000-05-30 Ericsson Inc. Integrated frequency-domain voice coding using an adaptive spectral enhancement filter
ES2247741T3 (es) 1998-01-22 2006-03-01 Deutsche Telekom Ag Metodo para conmutacion controlada por señales entre esquemas de codificacion de audio.
US6115689A (en) 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6453285B1 (en) 1998-08-21 2002-09-17 Polycom, Inc. Speech activity detector for use in noise reduction system, and methods therefor
US6330533B2 (en) 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6449590B1 (en) * 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US7047185B1 (en) 1998-09-15 2006-05-16 Skyworks Solutions, Inc. Method and apparatus for dynamically switching between speech coders of a mobile unit as a function of received signal quality
US6424938B1 (en) 1998-11-23 2002-07-23 Telefonaktiebolaget L M Ericsson Complex signal activity detection for improved speech/noise classification of an audio signal
US6691084B2 (en) 1998-12-21 2004-02-10 Qualcomm Incorporated Multiple mode variable rate speech coding
US6223151B1 (en) 1999-02-10 2001-04-24 Telefon Aktie Bolaget Lm Ericsson Method and apparatus for pre-processing speech signals prior to coding by transform-based speech coders
DE19910833C1 (de) 1999-03-11 2000-05-31 Mayer Textilmaschf Kurzketten-Schärmaschine
KR20010072035A (ko) 1999-05-26 2001-07-31 요트.게.아. 롤페즈 오디오 신호 송신 시스템
US6782360B1 (en) 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US6978236B1 (en) * 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
US6366880B1 (en) 1999-11-30 2002-04-02 Motorola, Inc. Method and apparatus for suppressing acoustic background noise in a communication system by equaliztion of pre-and post-comb-filtered subband spectral energies
JP2001255882A (ja) * 2000-03-09 2001-09-21 Sony Corp 音声信号処理装置及びその信号処理方法
JP2002149200A (ja) 2000-08-31 2002-05-24 Matsushita Electric Ind Co Ltd 音声処理装置及び音声処理方法
US6850884B2 (en) 2000-09-15 2005-02-01 Mindspeed Technologies, Inc. Selection of coding parameters based on spectral content of a speech signal
WO2002037688A1 (en) 2000-11-03 2002-05-10 Koninklijke Philips Electronics N.V. Parametric coding of audio signals
US6925435B1 (en) 2000-11-27 2005-08-02 Mindspeed Technologies, Inc. Method and apparatus for improved noise reduction in a speech encoder
SE0004818D0 (sv) 2000-12-22 2000-12-22 Coding Technologies Sweden Ab Enhancing source coding systems by adaptive transposition
WO2002082428A1 (en) 2001-04-05 2002-10-17 Koninklijke Philips Electronics N.V. Time-scale modification of signals applying techniques specific to determined signal types
FI110729B (fi) 2001-04-11 2003-03-14 Nokia Corp Menetelmä pakatun audiosignaalin purkamiseksi
JP4290997B2 (ja) 2001-05-10 2009-07-08 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション プレノイズの縮減による低ビットレートオーディオコーディングにおけるトランジエント効率の改善
DE20108778U1 (de) * 2001-05-25 2001-08-02 Mannesmann VDO AG, 60388 Frankfurt Gehäuse für ein in einem Fahrzeug verwendbares Gerät zur automatischen Ermittlung von Straßenbenutzungsgebühren
US6879955B2 (en) 2001-06-29 2005-04-12 Microsoft Corporation Signal modification based on continuous time warping for low bit rate CELP coding
EP1278185A3 (en) 2001-07-13 2005-02-09 Alcatel Method for improving noise reduction in speech transmission
US6963842B2 (en) 2001-09-05 2005-11-08 Creative Technology Ltd. Efficient system and method for converting between different transform-domain signal representations
BR0206202A (pt) * 2001-10-26 2004-02-03 Koninklije Philips Electronics Métodos para codificar um sinal de áudio e para decodificar um fluxo de áudio, codificador de áudio, reprodutor de áudio, sistema de áudio, fluxo de áudio, e, meio de armazenamento
CA2365203A1 (en) 2001-12-14 2003-06-14 Voiceage Corporation A signal modification method for efficient coding of speech signals
JP2003316392A (ja) 2002-04-22 2003-11-07 Mitsubishi Electric Corp オーディオ信号の復号化及び符号化装置、復号化装置並びに符号化装置
US7457757B1 (en) 2002-05-30 2008-11-25 Plantronics, Inc. Intelligibility control for speech communications systems
US7447631B2 (en) 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
TWI288915B (en) 2002-06-17 2007-10-21 Dolby Lab Licensing Corp Improved audio coding system using characteristics of a decoded signal to adapt synthesized spectral components
US7043423B2 (en) 2002-07-16 2006-05-09 Dolby Laboratories Licensing Corporation Low bit-rate audio coding systems and methods that use expanding quantizers with arithmetic coding
CN1703736A (zh) 2002-10-11 2005-11-30 诺基亚有限公司 用于源控制可变比特率宽带语音编码的方法和装置
US7155386B2 (en) 2003-03-15 2006-12-26 Mindspeed Technologies, Inc. Adaptive correlation window for open-loop pitch
JP4629353B2 (ja) * 2003-04-17 2011-02-09 インベンテイオ・アクテイエンゲゼルシヤフト エスカレータまたは動く歩道のための移動手摺り駆動装置
RU2316059C2 (ru) * 2003-05-01 2008-01-27 Нокиа Корпорейшн Способ и устройство для квантования усиления в широкополосном речевом кодировании с переменной битовой скоростью передачи
US7363221B2 (en) 2003-08-19 2008-04-22 Microsoft Corporation Method of noise reduction using instantaneous signal-to-noise ratio as the principal quantity for optimal estimation
KR100640893B1 (ko) 2004-09-07 2006-11-02 엘지전자 주식회사 음성 인식용 베이스밴드 모뎀 및 이동통신용 단말기
KR100604897B1 (ko) 2004-09-07 2006-07-28 삼성전자주식회사 하드 디스크 드라이브 조립체, 하드 디스크 드라이브의장착 구조 및 이를 채용한 휴대폰
JP5143569B2 (ja) 2005-01-27 2013-02-13 シンクロ アーツ リミテッド 音響的特徴の同期化された修正のための方法及び装置
UA90506C2 (ru) * 2005-03-11 2010-05-11 Квелкомм Инкорпорейтед Изменение масштаба времени кадров в вокодере с помощью изменения остатка
US8155965B2 (en) 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
JP5129117B2 (ja) * 2005-04-01 2013-01-23 クゥアルコム・インコーポレイテッド 音声信号の高帯域部分を符号化及び復号する方法及び装置
JP4550652B2 (ja) * 2005-04-14 2010-09-22 株式会社東芝 音響信号処理装置、音響信号処理プログラム及び音響信号処理方法
US7885809B2 (en) 2005-04-20 2011-02-08 Ntt Docomo, Inc. Quantization of speech and audio coding parameters using partial information on atypical subsequences
PL1875463T3 (pl) 2005-04-22 2019-03-29 Qualcomm Incorporated Układy, sposoby i urządzenie do wygładzania współczynnika wzmocnienia
JP4450324B2 (ja) 2005-08-15 2010-04-14 日立オートモティブシステムズ株式会社 内燃機関の始動制御装置
JP2007084597A (ja) 2005-09-20 2007-04-05 Fuji Shikiso Kk 表面処理カーボンブラック組成物およびその製造方法
US7720677B2 (en) 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
US7366658B2 (en) 2005-12-09 2008-04-29 Texas Instruments Incorporated Noise pre-processor for enhanced variable rate speech codec
CA2636330C (en) * 2006-02-23 2012-05-29 Lg Electronics Inc. Method and apparatus for processing an audio signal
TWI294107B (en) 2006-04-28 2008-03-01 Univ Nat Kaohsiung 1St Univ Sc A pronunciation-scored method for the application of voice and image in the e-learning
EP2038879B1 (en) 2006-06-30 2015-11-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and audio decoder having a dynamically variable warping characteristic
US7873511B2 (en) * 2006-06-30 2011-01-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
US8682652B2 (en) 2006-06-30 2014-03-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
CN101136901B (zh) * 2006-08-18 2012-11-21 广州广晟数码技术有限公司 用于处理基于帧的数据的方法和系统
US8239190B2 (en) 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
CN101025918B (zh) 2007-01-19 2011-06-29 清华大学 一种语音/音乐双模编解码无缝切换方法
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
EP2107556A1 (en) 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
KR101400535B1 (ko) 2008-07-11 2014-05-28 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 워프 활성 신호의 제공 및 이를 이용한 오디오 신호의 인코딩
MY154452A (en) 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
JP5297891B2 (ja) 2009-05-25 2013-09-25 京楽産業.株式会社 遊技機
US8670990B2 (en) 2009-08-03 2014-03-11 Broadcom Corporation Dynamic time scale modification for reduced bit rate audio coding
CN102257564B (zh) * 2009-10-21 2013-07-10 松下电器产业株式会社 音频编码装置、解码装置、方法、电路及程序

Also Published As

Publication number Publication date
CA2718740A1 (en) 2010-01-14
JP2011521303A (ja) 2011-07-21
EP2257944A1 (en) 2010-12-08
RU2486484C2 (ru) 2013-06-27
PL2257944T3 (pl) 2012-04-30
TWI459374B (zh) 2014-11-01
EP2257945A1 (en) 2010-12-08
JP5323180B2 (ja) 2013-10-23
MY154452A (en) 2015-06-15
TWI451402B (zh) 2014-09-01
TW201009811A (en) 2010-03-01
JP2011521304A (ja) 2011-07-21
TW201009809A (en) 2010-03-01
US20110158415A1 (en) 2011-06-30
EP2260485A1 (en) 2010-12-15
ES2376849T3 (es) 2012-03-20
US9025777B2 (en) 2015-05-05
RU2010139023A (ru) 2012-03-27
CN102007536B (zh) 2012-09-05
KR101205593B1 (ko) 2012-11-27
MX2010010747A (es) 2010-11-30
JP6041815B2 (ja) 2016-12-14
AU2009267485B2 (en) 2011-10-06
CA2718857C (en) 2014-09-09
AU2009267484B2 (en) 2011-09-01
HK1151619A1 (en) 2012-02-03
CN102007537A (zh) 2011-04-06
BRPI0906319A2 (pt) 2023-03-14
US20110161088A1 (en) 2011-06-30
TWI453732B (zh) 2014-09-21
PL2257945T3 (pl) 2012-04-30
RU2527760C2 (ru) 2014-09-10
EP2257945B1 (en) 2011-11-02
JP2014130359A (ja) 2014-07-10
EP2260485B1 (en) 2013-04-03
JP5323179B2 (ja) 2013-10-23
AU2009267485A1 (en) 2010-01-14
US20110106542A1 (en) 2011-05-05
WO2010003582A1 (en) 2010-01-14
ATE532177T1 (de) 2011-11-15
AR072498A1 (es) 2010-09-01
AU2009267486B2 (en) 2011-09-15
MX2010010748A (es) 2010-11-30
EP2257944B1 (en) 2011-11-02
AU2009267484A1 (en) 2010-01-14
BRPI0906300B1 (pt) 2021-11-09
AU2009267486A1 (en) 2010-01-14
ES2376974T3 (es) 2012-03-21
ATE532176T1 (de) 2011-11-15
ES2404132T3 (es) 2013-05-24
MX2010010749A (es) 2010-11-30
CA2718859A1 (en) 2010-01-14
BRPI0906320B1 (pt) 2021-05-18
KR20100134627A (ko) 2010-12-23
HK1151620A1 (en) 2012-02-03
CA2718740C (en) 2015-10-27
JP2011521305A (ja) 2011-07-21
KR101205644B1 (ko) 2012-11-27
RU2010139022A (ru) 2012-03-27
WO2010003581A1 (en) 2010-01-14
CN102007531B (zh) 2013-08-21
KR101205615B1 (ko) 2012-11-27
JP5551686B2 (ja) 2014-07-16
US9043216B2 (en) 2015-05-26
CN102007536A (zh) 2011-04-06
CN102007531A (zh) 2011-04-06
WO2010003583A1 (en) 2010-01-14
PL2260485T3 (pl) 2013-08-30
AR072500A1 (es) 2010-09-01
TW201009810A (en) 2010-03-01
CA2718857A1 (en) 2010-01-14
CN102007537B (zh) 2013-08-28
AR072739A1 (es) 2010-09-15
RU2010139021A (ru) 2012-03-27
HK1151883A1 (en) 2012-02-10
US9299363B2 (en) 2016-03-29
RU2509381C2 (ru) 2014-03-10
KR20100134625A (ko) 2010-12-23
BRPI0906300A2 (pt) 2020-09-24
CA2718859C (en) 2015-09-29
KR20100125372A (ko) 2010-11-30

Similar Documents

Publication Publication Date Title
BRPI0906320A2 (pt) Calculadora de contorno de distorção de tempo, codificador de sinal de áudio, representação de sinal de áudio codificado, métodos e programa de computador
BRPI0906319B1 (pt) Decodificador de sinal de áudio, codificador de sinal de áudio, representação de sinal de áudio multi-canal codificado e métodos
HK1151619B (en) Time warp contour calculator, audio signal encoder, encoded audio signal representation, methods and computer program
HK1151620B (en) Audio signal decoder, time warp contour data provider, method and computer program
HK1151883B (en) Audio signal decoder, audio signal encoder, encoded multi-channel audio signal representation, methods and computer program

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]
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 01/07/2009, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF