BR122021004490B1 - Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador - Google Patents

Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador Download PDF

Info

Publication number
BR122021004490B1
BR122021004490B1 BR122021004490-2A BR122021004490A BR122021004490B1 BR 122021004490 B1 BR122021004490 B1 BR 122021004490B1 BR 122021004490 A BR122021004490 A BR 122021004490A BR 122021004490 B1 BR122021004490 B1 BR 122021004490B1
Authority
BR
Brazil
Prior art keywords
decoder
sample values
audio
encoded
special
Prior art date
Application number
BR122021004490-2A
Other languages
English (en)
Inventor
Fischer Daniel
Czelhan Bernd
Neuendorf Max
Rettelbach Nikolaus
Hofmann Ingo
Fuchs Harald
Döhla Stefan
Fãrber Nikolaus
Original Assignee
Fraunhofer-Gesellschaft Zur Forderung 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=49378190&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR122021004490(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V. filed Critical Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V.
Publication of BR122021004490B1 publication Critical patent/BR122021004490B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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
    • 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/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • 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/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Mathematical Physics (AREA)

Abstract

Um decodificador de áudio decodifica um fluxo contínuo de dados de áudio codificado, caracterizado pelo fluxo contínuo de dados de áudio codificado representar uma sequência de valores de amostra de áudio e compreender uma pluralidade de estruturas, que inclui valores de amostra de áudio codificado associados. O decodificador de áudio compreende um determinador de uma estrutura especial dos dados de áudio codificado e as informações adicionais, em que compreendem valores de amostra de áudio codificado de diversas estruturas precedentes, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que a estrutura especial, suficiente para inicializar o decodificador para estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial. O decodificador compreende um inicializador, em que a inicialização compreende a decodificação dos valores de amostra de áudio codificado incluídos nas informações adicionais antes de decodificar os valores de amostra de áudio codificado associados à estrutura especial.

Description

RELATÓRIO DESCRITIVO
[0001] A presente invenção refere-se à codificação/decodificação de áudio e, em particular, a uma abordagem para codificar e decodificar dados que permite inicializar um decodificador, conforme possa ser necessário durante a comutação entre diferentes configurações do codec.
[0002] As aplicações da invenção podem ser aplicadas aos cenários nos quais as propriedades dos canais de transmissão podem variar amplamente, dependendo da tecnologia de acesso, como DSL, WiFi, 3G, LTE e semelhante. A recepção de celular pode desaparecer em ambientes internos ou em áreas rurais. A qualidade das conexões de internet sem fio depende fortemente da distância à estação base e tecnologia de acesso, levando a flutuações da taxa de bit. A taxa de bit disponível por usuário também pode mudar com o número de clientes conectados a uma estação base.
[0003] É o objeto da invenção fornecer um conceito que permite a entrega do conteúdo de áudio de forma flexível.
[0004] De acordo com a invenção, esse objeto é alcançado por um decodificador de áudio, de acordo com a reivindicação 1, um aparelho para geração de dados de saída de áudio codificado, de acordo com a reivindicação 9, um método para decodificação dos dados de entrada de áudio, de acordo com a reivindicação 18, um método para geração de dados de áudio codificado, de acordo com a reivindicação 22, e um programa de computador, de acordo com reivindicação 25.
[0005] Aplicações da invenção fornecem um decodificador de áudio para decodificar um fluxo contínuo de dados dos dados de áudio codificado, em que o fluxo contínuo de dados dos dados de áudio codificado representa uma sequência de valores de amostra de áudio e compreende uma pluralidade de estruturas, em que cada estrutura inclui valores de amostra de áudio codificado associados, o decodificador de áudio compreendendo: um determinador configurado para determinar se uma estrutura dos dados de áudio codificado é uma estrutura especial, compreendendo valores de amostra de áudio codificado associados à estrutura especial e informações adicionais, em que as informações adicionais compreendem valores de amostra de áudio codificado de diversas estruturas precedentes à estrutura especial, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que da estrutura especial, em que o número de estruturas precedentes é suficiente para inicializar o decodificador para estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial se a estrutura especial for a primeira estrutura na inicialização do decodificador; e um inicializador configurado para inicializar o decodificador se o determinador determinar que a estrutura é uma estrutura especial, em que inicializar o decodificador compreende decodificar os valores de amostra de áudio codificado incluídos nas informações adicionais antes de decodificar os valores de amostra de áudio codificado associados à estrutura especial.
[0006] Aplicações da invenção fornecem um aparelho para geração de um fluxo contínuo de dados dos dados de áudio codificado que representa uma sequência de valores de amostra de áudio de um sinal de áudio, caracterizado pelo fluxo contínuo de dados dos dados de áudio codificado compreender uma pluralidade de estruturas, em que cada estrutura inclui valores de amostra de áudio codificado associados, em que o aparelho compreende: um provedor de estrutura especial configurado para fornecer, pelo menos, uma das estruturas como uma estrutura especial, a estrutura especial compreendendo valores de amostra de áudio codificado associados à estrutura especial e informações adicionais, em que as informações adicionais compreendem valores de amostra de áudio codificado de diversas estruturas precedentes à estrutura especial, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que da estrutura especial, e em que o número de estruturas precedentes é suficiente para inicializar um decodificador para estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial se a estrutura especial for a primeira estrutura na inicialização do decodificador; e uma saída configurada para emitir o fluxo contínuo de dados dos dados de áudio codificado.
[0007] Aplicações da invenção fornecem um método para decodificação de um fluxo contínuo de dados dos dados de áudio codificado, caracterizado pelo fluxo contínuo de dados dos dados de áudio codificado representar uma sequência de valores de amostra de áudio e compreende uma pluralidade de estruturas, em que cada estrutura inclui valores de amostra de áudio codificado associados, compreendendo: determinar se uma estrutura dos dados de áudio codificado é uma estrutura especial compreendendo valores de amostra de áudio codificado associados à estrutura especial e informações adicionais, em que as informações adicionais compreendem valores de amostra de áudio codificado de diversas estruturas precedentes à estrutura especial, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que da estrutura especial, em que o número de estruturas precedentes é suficiente para inicializar um decodificador para estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial se a estrutura especial for a primeira estrutura na inicialização do decodificador; e inicializar o decodificador se for determinado que a estrutura é uma estrutura especial, em que a inicialização compreende decodificar os valores de amostra de áudio codificado incluídos nas informações adicionais antes de decodificar os valores de amostra de áudio codificado associados à estrutura especial.
[0008] Aplicações da invenção fornecem um método para geração de um fluxo contínuo de dados dos dados de áudio codificado que representa uma sequência de valores de amostra de áudio de um sinal de áudio, caracterizado pelo fluxo contínuo de dados dos dados de áudio codificado compreender uma pluralidade de estruturas, em que cada estrutura inclui valores de amostra de áudio codificado associados, compreendendo: fornecer, pelo menos, uma das estruturas como uma estrutura especial, a estrutura especial compreendendo valores de amostra de áudio codificado associados à estrutura especial e informações adicionais, em que as informações adicionais compreendem valores de amostra de áudio codificado de diversas estruturas precedentes à estrutura especial, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que da estrutura especial, e em que o número de estruturas precedentes é suficiente para inicializar um decodificador para estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial se a estrutura especial for a primeira estrutura na inicialização do decodificador; e gerar o fluxo contínuo de dados por meio da concatenação da estrutura especial e de outras estruturas da pluralidade de estruturas.
[0009] Aplicações da invenção se baseiam na constatação que a reprodução imediata de um fluxo contínuo de dados dos dados de áudio codificado que representa uma sequência de valores de amostra de áudio de um sinal de áudio e compreendendo uma pluralidade de estruturas pode ser obtida se uma das estruturas for fornecida como uma estrutura especial que inclui valores de amostra de áudio codificado associados com as estruturas precedentes, que são necessárias para iniciar um decodificador para estar em uma posição para decodificar os valores de amostra de áudio codificado associados à estrutura especial. O número de estruturas necessário para iniciar o decodificador corretamente depende da configuração do codec utilizada e é conhecido para as configurações do codec. Aplicações da invenção se baseiam na constatação a mudança entre diferentes configurações do codec pode ser obtida em uma forma benéfica se tal estrutura especial estiver disposta em uma posição onde a mudança entre as configurações de codificação devem ocorrer. A estrutura especial pode não incluir apenas os valores de amostra de áudio codificado associados à estrutura especial, mas informações adicionais que permitem a mudança entre as configurações do codec e a reprodução imediata na mudança. Nas aplicações da invenção, o aparelho e o método para gerar dados de saída de áudio codificado e o codificador de áudio são configurados para preparar os dados de áudio codificado de tal forma que a resposta imediata na mudança entre as configurações do codec pode ocorrer no lado do decodificador. Nas aplicações da invenção, esses dados de áudio gerados e emitidos no lado do codificador são recebidos como dados de entrada de áudio no lado do decodificador e permitem a reprodução imediata no lado do decodificador. Nas aplicações da invenção, a reprodução imediata é imediata no lado do decodificador ao mudar entre as diferentes configurações do codec no lado do decodificador.
[00010] Nas aplicações da invenção, o inicializador é configurado para mudar o decodificador de áudio de uma configuração do codec atual para uma configuração do codec diferente se o determinador determinar que a estrutura é uma estrutura especial e se os valores de amostra de áudio da estrutura especial forem codificados utilizando a configuração do codec diferente.
[00011] Nas aplicações da invenção, o decodificador é configurado para decodificar a estrutura especial utilizando a configuração do codec atual e para descartar as informações adicionais se o determinador determinar que a estrutura é uma estrutura especial e se os valores de amostra de áudio da estrutura especial forem codificados utilizando a configuração codificada atual.
[00012] Nas aplicações da invenção, as informações adicionais compreendem informações sobre a configuração do codec utilizada para codificar os valores de amostra de áudio associados à estrutura especial, em que o determinador é configurado para determinar se a configuração do codec das informações adicionais é diferente da configuração do codec atual.
[00013] Nas aplicações da invenção, o decodificador de áudio compreende uma crossfader [regulador de transição] configurado para realizar crossfading [transição suave] entre uma pluralidade de valores de amostra de saída obtida utilizando a configuração do codec atual e uma pluralidade de valores de amostra de saída obtida por meio da decodificação dos valores de amostra de áudio codificado associados à estrutura especial. Nas aplicações da invenção, o crossfader é configurado para realizar crossfading dos valores de amostra de saída obtida por meio do nivelamento do decodificador na configuração do codec atual e os valores de amostra de saída obtidos por meio da decodificação dos valores de amostra de áudio codificado associados à estrutura especial.
[00014] Nas aplicações da invenção, uma estrutura inicial do número de estruturas compreendida nas informações adicionais não é codificada diferencialmente por tempo ou codificada por entropia com relação a qualquer estrutura prévia à estrutura inicial e em que a estrutura especial não é codificada diferencialmente por tempo ou codificada por entropia com relação a qualquer estrutura prévia à estrutura inicial do número de estruturas precedentes à estrutura especial ou com relação a qualquer estrutura prévia à estrutura especial.
[00015] Nas aplicações da invenção, a estrutura especial compreende as informações adicionais como uma carga útil de extensão e em que o determinador é configurado para avaliar a carga útil de extensão da estrutura especial. Nas aplicações da invenção, as informações adicionais compreendem informações sobre a configuração do codec utilizada para codificar os valores de amostra de áudio associados à estrutura especial.
[00016] Nas aplicações da invenção, os dados de áudio codificado compreendem uma pluralidade de segmentos, em que cada segmento está associado a uma dentre uma pluralidade de partes da sequência de valores de amostra de áudio e compreende uma pluralidade de estruturas, em que o adicionador de estrutura especial é configurado para adicionar uma estrutura especial no início de cada segmento.
[00017] Na aplicação da invenção, os dados de áudio codificado compreendem uma pluralidade de segmentos, em que cada segmento está associado a uma dentre uma pluralidade de partes da sequência de valores de amostra de áudio e compreende uma pluralidade de estruturas, em que o aparelho para geração de um fluxo contínuo de dados dos dados de áudio codificado compreende um provedor de segmento configurado para fornecer segmentos associados com diferentes partes da sequência de valores de amostra de áudio e codificadas por diferentes configurações do codec, em que o provedor de estrutura especial é configurado para fornecer uma primeira estrutura de pelo menos um dos segmentos como a estrutura especial; e um gerador configurado para gerar os dados de saída de áudio por meio da disposição de pelo menos um dos segmentos seguido por outro dos segmentos. Nas aplicações da invenção, o provedor de segmento é configurado para selecionar uma configuração do codec para cada segmento com base em um sinal de controle. Nas aplicações da invenção, o provedor de segmento é configurado para fornecer m versões codificadas da sequência de valores de amostra de áudio, com m > 2, em que as m versões codificadas são codificadas utilizando diferentes configurações do codec, em que cada versão codificada compreende uma pluralidade de segmentos que representa a pluralidade de partes da sequência de valores de amostra de áudio, em que o provedor de estrutura especial é configurado para fornecer uma estrutura especial no início de cada um dos segmentos.
[00018] Nas aplicações da invenção, o provedor de segmento compreende uma pluralidade de codificadores, cada um configurado para codificar, pelo menos parcialmente, o sinal de áudio de acordo com uma da pluralidade de diferentes configurações do codec. Nas aplicações da invenção, o provedor de segmento compreende uma memória que armazena as m versões codificadas da sequência de valores de amostra de áudio.
[00019] Nas aplicações da invenção, as informações adicionais estão na forma de uma carga útil de extensão da estrutura especial.
[00020] Nas aplicações da invenção, o método de decodificação compreende mudar o decodificador de áudio de uma configuração do codec atual para uma configuração do codec diferente se for determinado que a estrutura é uma estrutura especial e se os valores de amostra de áudio da estrutura especial forem codificados utilizando a configuração do codec diferente.
[00021] Nas aplicações da invenção, o fluxo contínuo de dados dos dados de áudio codificado compreende um primeiro número de estruturas codificadas utilizando uma primeira configuração do codec e um segundo número de estruturas seguido pelo primeiro número de estruturas e codificadas utilizando uma segunda configuração do codec, em que a primeira estrutura do segundo número de estruturas é a estrutura especial.
[00022] Nas aplicações da invenção, as informações adicionais compreendem informações sobre a configuração do codec utilizada para codificar os valores de amostra de áudio associados à estrutura especial, e o método compreende determinar se a configuração do codec das informações adicionais é diferente da configuração do codec atual utilizando os valores de amostra de áudio codificado de estruturas no fluxo contínuo de dados, que precede a estrutura especial, que são codificados.
[00023] Nas aplicações da invenção, o método para geração de um fluxo contínuo de dados dos dados de áudio codificado compreende fornecer segmentos associados com diferentes partes da sequência de valores de amostra de áudio e codificadas por diferentes configurações do codec, em que uma primeira estrutura de pelo menos um dos segmentos é fornecida como a estrutura especial.
[00024] Assim, nas aplicações da invenção, a crossfading é realizada a fim de permitir a mudança contínua entre as diferentes configurações do codec. Nas aplicações da invenção, as informações adicionais da estrutura especial compreendem as estruturas pre-roll [pré-rolagem] necessárias a fim de inicializar um decodificador para estar em uma posição para decodificar a estrutura especial. Em outras palavras, nas aplicações da invenção, as informações adicionais compreendem uma cópia dessas estruturas de valores de amostra de áudio codificado precedentes à estrutura especial e codificadas utilizando a mesma configuração do codec que os valores de amostra de áudio codificado representados pela estrutura especial necessária para inicializar o decodificador para estar na posição para decodificar os valores de amostra de áudio associados à estrutura especial.
[00025] Nas aplicações da invenção, as estruturas especiais são introduzidas aos dados de áudio codificado em intervalos temporais regulares, ou seja, em uma forma periódica. Nas aplicações da invenção, uma primeira estrutura de cada segmento dos dados de áudio codificado é uma estrutura especial. Nas aplicações, o decodificador de áudio é configurado para decodificar as estruturas especiais e as estruturas seguintes utilizando a configuração do codec indicada na estrutura especial até uma estrutura especial adicional indicar uma configuração do codec diferente é encontrada.
[00026] Nas aplicações da invenção, o decodificador e o método para decodificar são configurados para realizar uma crossfade ao mudar de uma configuração do codec para outra configuração do codec, a fim de permitir a mudança contínua entre múltiplas representações de áudio comprimido.
[00027] Nas aplicações da invenção, as diferentes configurações do codec são diferentes configurações do codec de acordo com o padrão AAC (Codificação de Áudio Avançado | Advanced Audio Coding), ou seja, diferentes configurações do codec dos codecs da família AAC. As aplicações da invenção podem ser direcionadas para mudar entre as configurações do codec dos codecs da família AAC e as configurações do codec dos codecs da família AMR (Adaptive Multiple Rate | Taxa Múltipla Adaptativa).
[00028] Assim, as aplicações da invenção permitem a reprodução imediata no lado do decodificador e a mudança entre as diferentes configurações do codec de modo que a forma na qual o conteúdo de áudio é entregue pode ser adaptado às condições ambientais, como um canal de transmissão com taxa de bit variável. Assim, as aplicações da invenção permitem fornecer ao consumidor a melhor qualidade de áudio possível para uma dada condição de rede.
[00029] As aplicações da invenção são subsequentemente discutidas com referência aos desenhos anexos, nos quais: a figura 1 mostra uma visualização esquemática de uma aplicação de um aparelho para geração de dados de saída de áudio codificado; a figura 2 mostra uma visualização esquemática para explicar uma aplicação de uma estrutura especial; a figura 3 mostra uma visualização esquemática de diferentes representações de um sinal de áudio; a figura 4a e a figura 4b mostram visualizações esquemáticas de aparelhos para geração de dados de saída de áudio codificado; a figura 5 mostra uma visualização esquemática de um decodificador de áudio; a figura 6 mostra um diagrama em blocos esquemático para explicar uma aplicação de um decodificador de áudio e um método para decodificar; a figura 7 mostra um diagrama em blocos esquemático para explicar a comutação de um decodificador de áudio entre diferentes configurações do codec; a figura 8 mostra um diagrama esquemático para explicar o comportamento do decodificador de AAC (Codificação de Áudio Avançado); a figura 9 mostra a comutação de um primeiro fluxo 1 a um segundo fluxo 2; e a figura 10 mostra um elemento de sintaxe exemplar que fornece informações adicionais.
[00030] De modo geral, as aplicações da invenção visam a entrega do conteúdo de áudio, possivelmente combinada com a entrega de vídeo, sobre um canal de transmissão com taxa de bit variável. O objetivo pode ser fornecer ao consumidor a melhor qualidade de áudio possível para uma dada condição de rede. As aplicações da invenção focam na implementação dos codecs da família AAC em um ambiente de fluxo adaptável.
[00031] Nas aplicações da invenção, conforme utilizado aqui, os valores de amostra de áudio que não são codificados representam os valores de amostra de áudio de domínio de tempo como amostras de PCM (Pulse Code Modulated | Código de Pulso Modulado). Nas aplicações da invenção, o termo valor da amostra de áudio codificado se refere aos valores da amostra de domínio de frequência obtidos após a codificação dos valores de amostra de áudio de domínio de tempo. Nas aplicações da invenção, os valores de amostra de áudio codificado ou amostras são aqueles obtidos por meio da conversão das amostras de domínio de tempo em uma representação espectral, como por meios de uma MDCT (transformada de cosseno discreta modificada | modified discrete cosine transformation) e codificar o resultado, como pela quantização e codificação de Huffman. Consequentemente, na aplicação da invenção, o meio de codificação que obtém as amostras de domínio de frequência das amostras de domínio de tempo e meio de decodificação que obtém as amostras de domínio de tempo das amostras de domínio de frequência. Os valores da amostra (amostras) obtidos por meio da decodificação dos dados de áudio codificado são, às vezes, referidos aqui como valores de amostra de saída (amostras).
[00032] A figura 1 mostra uma aplicação de um aparelho para geração de dados de saída de áudio codificado. A figura 1 mostra um cenário típico do fluxo de áudio adaptável, cujas aplicações da invenção podem ser aplicadas. Um sinal de entrada de áudio (10) é codificado por vários codificadores de áudio (12, 14, 16 e 18), ou seja, codificadores de 1 a m. Os codificadores de 1 a m podem ser configurados para codificar o sinal de entrada de áudio (10) simultaneamente. Tipicamente, os codificadores de 1 a m podem ser configurados de modo que uma ampla faixa da taxa de bit pudesse ser obtida. Os codificadores geram as diferentes representações, ou seja, as versões codificadas, (22, 24, 26 e 28) do sinal de entrada de áudio (10), ou seja, as representações de 1 a m. Cada representação inclui uma pluralidade de segmentos de 1 a k, em que o segundo segmento da primeira representação recebeu o número de referência 30 para finalidades exemplificadoras apenas. Cada segmento compreende uma pluralidade de estruturas (unidades de acesso) designada pelas letras AU e um respectivo índice 1 a n indicando a posição da estrutura na respectiva representação. A oitava estrutura da primeira representação recebe o número de referência (40) apenas pata finalidades exemplificadoras.
[00033] Os codificadores (12, 14, 16 e 18) são configurados para inserir os pontos de acesso do fluxo (SAPs | flow access points) (42) em intervalos temporais regulares, que definem os tamanhos dos segmentos. Assim, um segmento, como segmento (30), consiste em múltiplas estruturas, como AU5, AU6, AU7 e AU8, em que a primeira estrutura, AU5, representa um SAP (42). Na figura 1, os SAPs são indicados por hachura. Cada representação de 1 a m representa uma representação de áudio comprimido (CAR | compressed audio representation) para o sinal de entrada de áudio (10) e consiste em k desses segmentos. A comutação entre as diferentes CARs pode ocorrer nos limites do segmento.
[00034] No lado do decodificador, um cliente pode solicitar uma das representações que melhor se ajusta para uma dada situação, por exemplo, para as condições de rede. Se por alguma razão as condições mudarem, o cliente poderia solicitar uma diferente CAR, o aparelho para gerar os dados de saída codificados deveria poder alternar entre as diferentes CARs em cada limite de segmento e o decodificador deveria poder alternar para decodificar a CAR diferente em cada limite de segmento. Assim, o cliente estaria em uma posição para adaptar a taxa de bit da mídia de acordo com a taxa de bit do canal disponível a fim de maximizar a qualidade enquanto minimiza o armazenamento temporário nos testes (“re-buffering | rearmazenamento temporário”). Se HTTP (Protocolo de Transferência de Hipertexto | Hyper Text Transfer Protocol) for utilizado para fazer download dos segmentos, tal arquitetura de fluxo pode ser referida como fluxo adaptativo de HTTP.
[00035] As implementações atuais incluem Apple HTTP Live Streaming (HLS), Microsoft Smooth Streaming e Adobe Dynamic Streaming, que todas seguem o princípio básico. Recentemente, MPEG lançou um padrão aberto: Dynamic Adaptive Streaming over HTTP (MPEG DASH), vide “Guidelines for Implementation: DASH-AVC/264 Interoperability Points”, http://dashif.org/w/2013/08/DASH-AVC-264-v2.00-hd-mca.pdf. HTTP tipicamente usa TCP/IP (Protocolo de Controle de Transmissão | Transmission Control Protocol/Protocolo de Internet | Internet Protocol) como o protocolo de rede subjacente. As aplicações da invenção podem ser aplicadas em todos esses desenvolvimentos atuais.
[00036] Uma troca entre as representações (versões codificadas) deve ser a mais contínua possível. Em outras palavras, não deve existir qualquer falha sonora ou clique durante a troca. Sem outras medidas fornecidas pelas aplicações da invenção, essa exigência pode ser obtida apenas sob certas restrições e se cuidado especial for tomado durante o processo de codificação.
[00037] Na figura 1, o respectivo codificador de onde o segmento se origina é indicado por uma respectiva marca colocada dentro de um círculo. A figura 1 ainda mostra um motor de decisão (50), que decide qual representação baixar para cada segmento. Um gerador (52) gera os dados de saída de áudio codificado (54) a partir dos segmentos selecionados que recebem os números de referência (44, 46 e 48) na figura 1 por meio da concatenação dos segmentos selecionados. Os dados de saída de áudio codificado (54) podem ser entregues a um decodificador (60) configurado para decodificar os dados de saída de áudio codificado em um sinal de saída de áudio 62 compreendendo amostras de saída de áudio.
[00038] Na aplicação mostrada na figura 1, os segmentos, e assim as estruturas, originados de diferentes codificadores são inseridos ao mesmo decodificador (60), por exemplo, AU4 do codificador (2) e AU5 do codificador (3) no exemplo da figura 1. Caso o mesmo decodificador seja utilizado para decodificar essas AUs é necessário que ambos os codificadores sejam compatíveis entre si. Em particular, sem quaisquer medidas adicionais, essa abordagem não pode funcionar se os dois codificadores são de uma família de codec completamente diferente, digamos AMR para o codificador (2) e G.711 para o codificador (3). Entretanto, mesmo quando o codec é utilizado por todas as representações, cuidado especial deve ser tomado para restringir o processo de codificação. Isso é porque o codec de áudio moderno, como a Codificação de Áudio Avançado (AAC), são algoritmos flexíveis que podem operar em várias configurações utilizando várias ferramentas e modos de codificação. Exemplos para tais ferramentas de codificação em AAC são Réplica de Banda Espectral (SBR | Spectral Band Replication) ou Blocos Curtos (SB | Short Blocks). Outros parâmetros de configuração importantes são a frequência de amostragem (fs, por exemplo, 48 kHz) ou configuração do canal (mono, estéreo, surround). A fim de decodificar as estruturas (AUs) corretamente, o decodificador deve saber quais ferramentas são usadas e como essas são configuradas (por exemplo fs ou frequência cruzada de SBR). Assim, de modo geral, as informações necessárias são codificadas em uma curta cadeia de configuração e ficam disponíveis ao decodificador antes da decodificação. Esses parâmetros de configuração podem ser referidos como a configuração do codec. No caso de AAC, essa configuração é conhecida como a Configuração Específica de Áudio (ASC | Audio Specific Config).
[00039] Até agora, a fim de obter a troca contínua, foi necessário restringir a configuração do codec para ser compatível pelas representações (versões codificadas). Por exemplo, a frequência de amostragem ou as ferramentas de codificação devem ser tipicamente idênticas por todas as representações. Se configurações do codec incompatíveis são usadas entre as representações, então o decodificador deve ser reconfigurado. Isso basicamente significa que o decodificador antigo deve ser fechado e o novo decodificador deve ser iniciado com uma nova configuração. Entretanto, esse processo de reconfiguração não é contínuo sob todas as circunstâncias e pode causar uma falha. Uma razão para isso é que o novo decodificador não pode produzir amostras válidas imediatamente, mas exige várias AUs de pre-roll para criar a resistência total do sinal. Esse comportamento de inicialização é típico para os codecs que têm um estado do decodificador, ou seja, onde a decodificação da AU atual não é completamente independente da decodificação das AUs prévias.
[00040] Como um resultado desse comportamento, a configuração do codec foi tipicamente necessária para ser constante por todas as representações e o único parâmetro de troca foi a taxa de bit. Isso é, por exemplo, o caso para o perfil DASH-AVC/264 conforme definido pelo Fórum da Indústria de DASH.
[00041] Essa restrição limitou a flexibilidade do codec e, assim, a eficiência da codificação pela completa faixa da taxa de bit. Por exemplo, SBR é uma ferramenta de codificação valiosa para taxas de bit muito baixas, mas limita a qualidade do áudio em altas taxas de bit. Assim, se a configuração codificada for necessária ser constante, ou seja, com ou sem SBR, teve-se de comprometer as taxas de bit altas ou baixas. De modo similar, a eficiência da codificação poderia se beneficiar da troca da taxa de amostragem pelas representações, mas teve que ser mantida constante por causa das restrições mencionadas acima para troca contínua.
[00042] As aplicações da presente invenção são direcionadas são direcionadas a uma abordagem de novidade que permite a troca contínua de áudio em um ambiente de fluxo adaptativo e, em particular, permitindo a troca contínua de áudio para os codecs da família AAC em um ambiente de fluxo adaptativo. A abordagem inventiva é desenhada para solucionar todas as desvantagens resultantes das restrições na configuração do codec conforme descrito acima. O objetivo geral é ter mais flexibilidade na configuração pelas representações (versões codificadas), como ferramentas de codificação ou frequência de amostragem, enquanto a troca contínua ainda está habilitada ou garantida.
[00043] As aplicações da invenção são com base na constatação que as restrições explicadas acima podem ser superadas e uma flexibilidade mais elevada pode ser obtida por meio da adição de uma estrutura especial que carrega informações adicionais além dos valores de amostra de áudio codificado associados à estrutura especial entre outras estruturas dos dados de áudio codificado, como uma representação de áudio comprimido (CAR). Uma representação de áudio comprimido pode ser referida como uma peça do material de áudio (música, fala, ...) após a compressão por um codificador de áudio com ou sem perdas, por exemplo, um codificador de áudio da família AAC (AAC, HE-AAC, MPEG-D USAC, .) com uma taxa de bit geral constante. Em particular, as informações adicionais na estrutura especial são desenhadas para permitir uma reprodução instantânea no lado do decodificador mesmo no caso de uma troca entre as diferentes configurações do codec. Assim, a estrutura especial pode ser referida como uma estrutura de reprodução instantânea (IPF | instantaneous play-out frame). A IPF é configurada para compensar o atraso de inicialização do decodificador e é usada para transmitir as informações de áudio sobre as estruturas prévias ao longo com os dados da presente estrutura.
[00044] Um exemplo de tal IPF (80) é mostrado na figura 2. A figura 2 mostra diversas estruturas (unidades de acesso) (40), enumeradas de n-4 a n+3. Cada estrutura inclui valores de amostra de áudio codificado associados, ou seja, os valores de amostra de áudio codificado de um número específico de valores de amostra de áudio de domínio de tempo de uma sequência de valores de amostra de áudio de domínio de tempo que representa um sinal de áudio, como sinal de entrada de áudio (10). Por exemplo, cada estrutura pode compreender valores de amostra de áudio codificado que representa (1024) os valores de amostra de áudio de domínio de tempo, ou seja, valores de amostra de áudio de um sinal de áudio não codificado. Na figura 2, a estrutura n disposta entre a estrutura precedente n-1 e a estrutura subsequente n+1 representa a estrutura especial ou IPF (80). A estrutura especial (80) inclui informações adicionais (82). As informações adicionais (82) incluem informações (84) sobre a configuração do codec, ou seja, informações sobre a configuração do codec utilizada na codificação dos fluxos de dados que incluem as estruturas n-4 a n+3, e, assim, as informações sobre a configuração do codec utilizada para codificar valores de amostra de áudio associados à estrutura especial.
[00045] Na aplicação mostrada na figura 2, um atraso introduzido por um decodificador de áudio é assumido ser três estruturas, ou seja, assume-se que as três chamadas estruturas de pre-roll são necessárias para criar o sinal total durante a inicialização do decodificador de áudio. Assim, assume-se que o fluxo configuração (configuração do codec) é conhecido para o decodificador, o decodificador normalmente teria que iniciar a decodificação na estrutura n- 3 a fim de produzir amostras válidas na estrutura n. Assim, a fim de tornar disponível as informações necessárias ao decodificador, as informações adicionais (82) compreendem diversas estruturas de valores de amostra de áudio codificado precedentes à estrutura especial (80) e codificados utilizando a configuração do codec (84) indicada nas informações adicionais (82). Esse número de estruturas é indicado pelo número de referência (86) na figura 2. Esse número de estruturas (86) é necessário para inicializar o decodificador para estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial n. Consequentemente, as informações da estrutura (86) é duplicada e carregada como parte da estrutura especial (80). Assim, essas informações estão disponíveis ao decodificador imediatamente na troca dos fluxos de dados mostrados na figura 2 na estrutura n. Sem essas informações adicionais na estrutura n, nem a configuração do codec (84) ou as estruturas n-3 a n-1 estariam disponíveis ao decodificador após a troca. A adição dessas informações à estrutura especial (80) permite inicializar imediatamente o decodificador e, assim, a reprodução simultânea na troca aos fluxos de dados compreendendo a estrutura especial. O decodificador é configurado de modo que tal inicialização e decodificação da estrutura n podem ser realizadas dentro do intervalo de tempo disponível até que as amostras de saída obtidas pela estrutura de decodificação n tenham que ser emitidas.
[00046] Durante a decodificação normal, ou seja, sem trocar por uma configuração do codec diferente, apenas a estrutura n é decodificada e as estruturas incluídas nas informações adicionais, n-3 a n-1, são ignoradas. Entretanto, após trocar por uma configuração do codec diferente, todas as informações na estrutura especial 80 são extraídas e o decodificador é inicializado com base na configuração do codec incluída e com base na decodificação das estruturas de pre-roll (n-3 a n-1) antes de finalmente codificar e reproduzir a estrutura n atual. A decodificação das estruturas de pre-roll ocorre antes da estrutura atual ser decodificada e reproduzida. As estruturas de pre-roll não são reproduzidas, mas o decodificador é configurado para decodificar as estruturas de pre-roll dentro do intervalo de tempo disponível antes de reproduzir a estrutura atual n.
[00047] O termo “configuração do codec” se refere à configuração do codec utilizada na codificação dos dados de áudio ou estruturas dos dados de áudio. Assim, a codificação da configuração pode indicar diferentes ferramentas de codificação e modos usados, em que as ferramentas de codificação exemplificadoras usadas em AAC são réplica de banda espectral (SBR) ou blocos curtos (SB). Um parâmetro de configuração pode ser a frequência cruzada de SBR. Outros parâmetros de configuração podem ser a frequência de amostragem ou a configuração do canal. Diferentes configurações do codec diferem em um ou mais desses parâmetros de configuração. Nas aplicações da invenção, diferentes configurações do codec também podem compreender os codecs completamente diferentes, como AAC, AMR ou G.711.
[00048] Consequentemente, no exemplo ilustrado na figura 2 três estruturas, ou seja, n-3 a n-1, são necessárias para compensar o atraso de inicialização do decodificador. Os dados adicionais da estrutura podem ser transmitidos por meio de um mecanismo de carga útil de extensão dentro do fluxo contínuo de bits de áudio. Por exemplo, o mecanismo da carga útil de extensão de USAC (UsacExtElement) pode ser utilizado para carregar as informações adicionais. Além disso, o campo “config” pode ser utilizado para transmitir a configuração do fluxo (94). Isso pode ser útil no caso de troca de fluxo contínuo de bits ou adaptação da taxa de bit. Ambas, a primeira AU de pre-roll (n-3) e a própria IPF (n) podem ser uma estrutura independemente decodificável. No contexto dos codificadores de USAC pode-se definir um indicador (usacIndependencyFlag) para “1” para essas estruturas. Implementar a estrutura conforme mostrado na figura 2, é possível acessar aleatoriamente o fluxo contínuo de bits em cada amostra válida de PCM de reprodução e IPF imediatamente. O processo de decodificação de uma IPF pode incluir as seguintes etapas. Decodificar todas as AUs de “pre-roll” (n- 3...n-1) e descartar as amostras de PCM de saída resultantes. Os estados do decodificador interno e os buffers são completamente inicializados após essa etapa. Decodificar a estrutura n e iniciar a reprodução regular. Continuar decodificando normalmente com a estrutura n+1. A IPF pode ser usada como um ponto de acesso do fluxo (SAP) de áudio. A reprodução imediata de amostras de PCM válidas é possível a cada IPF.
[00049] As estruturas especiais conforme aqui definido podem ser implementadas em qualquer codec que permite a multiplexação e transmissão de dados auxiliares ou dados de extensão ou elementos dos fluxos de dados ou mecanismos similares para transmitir os dados externos do codec de áudio. As aplicações da invenção se refere à implementação para uma estrutura de trabalho de codec USAC. As aplicações da invenção podem ser implementadas em conexão com os codificadores e decodificadores de áudio USAC. Meios de USAC unificam a codificação da fala e de áudio e a referência é feito ao padrão ISO/IEC 23003-3:2012. Nas aplicações da invenção, as informações adicionais são contidas em uma carga útil de extensão da estrutura correspondente, como a estrutura n na figura 2. Por exemplo, o padrão USAC permite a adição de carga útil de extensão arbitrária aos dados de áudio codificado. A existência da carga útil de extensão pode ser trocada em uma base de estrutura para estrutura. Consequentemente, as informações adicionais podem ser implementadas como um novo tipo de carga útil de extensão definido para carregar as informações de áudio adicionais as estruturas prévias.
[00050] Conforme explicado acima, a estrutura de reprodução instantânea (80) é desenhada de modo que as amostras de saída válidas associadas com um certo registro de hora (estrutura n) pudessem ser geradas imediatamente, ou seja, sem ter que aguardar pelo número específico de estruturas de acordo com o atraso do codec de áudio. Em outras palavras, o atraso do codec de áudio pode ser compensado. Na aplicação mostrada na figura 2, o atraso do codec de áudio tem três estruturas. Além disso, a IPF é desenhada de modo que seja completamente e independentemente decodificável, ou seja, sem qualquer conhecimento do fluxo de áudio anterior. Com relação a isso, a mais anterior do número de estruturas adicionado à estrutura especial (ou seja, estrutura n-3 na figura 2) não é diferencialmente codificada por tempo ou codificada por entropia com relação a qualquer estrutura anterior. Além disso, a estrutura especial não é diferencialmente codificada por tempo ou codificada por entropia com relação a qualquer estrutura prévia à mais anterior do número de estruturas contido nas informações adicionais ou qualquer estrutura prévia. Em outras palavras, para as estruturas n-3 e n na figura 2 todas as dependências às estruturas prévias podem ser removidas, por exemplo, codificação diferencial por tempo de certos parâmetros ou reajuste da codificação por entropia. Assim, essas estruturas independentes permitem a correta decodificação e análise de todos os símbolos, mas eles mesmos não são suficientes para obter as amostras válidas de PCM instantaneamente. Enquanto tais estruturas independentes já estão independentes nos codecs de áudio comuns, como AAC ou USAC, tais codecs de áudio não fornecem estruturas especiais, como estrutura de IPF (80).
[00051] Nas aplicações da invenção, uma estrutura especial é fornecida em cada ponto de acesso de fluxo das representações mostradas na figura 1. Na figura 1 os pontos de acesso de fluxo são a primeira estrutura em cada segmento e as com hachuras. Consequentemente, a figura 1 mostra uma aplicação específica de um aparelho para geração de dados de saída de áudio codificado de acordo com a presente invenção. Além disso, cada um dos codificadores de 1 a m mostrados na figura 1 representa uma aplicação de um codificador de áudio de acordo com a invenção. De acordo com a figura 1, codificadores de (12 a 18) representam provedores configurados para fornecer segmentos associados com diferentes partes do sinal de entrada de áudio (10) e codificados por diferentes configurações do codec. Com relação a isso, cada um dos codificadores de (12 a 18) utiliza uma configuração do codec diferente. A unidade de decisão (50) é configurada para decidir cada segmento da representação baixar. Assim, a unidade de decisão (50) é configurada para selecionar uma configuração do codec (associada com a respectiva representação) para cada segmento com base em um sinal de controle. Por exemplo, o sinal de controle pode ser recebido de um cliente que solicita a representação que melhor se encaixa para uma dada situação.
[00052] Com base na decisão da unidade de decisão (50), o bloco (52) gera os dados de saída de áudio (54) por meio da disposição dos segmentos um após o outro, como segmento (46) (segmento 2 da representação 3) seguindo o segmento (44) (segmento 1 da representação 2). Assim, a estrutura especial AU5 no início do segmento (2) permite trocar pela representação (3) e a reprodução imediata no limite entre os segmentos (44 e 46) no lado do decodificador.
[00053] Assim, na aplicação mostrada na figura 1, um provedor (compreendendo codificadores 1 a m) é configurado para fornecer m versões codificadas da entrada de áudio (10), com m > 2, em que as m versões codificadas (representações) são codificadas utilizando diferentes configurações do codec, em que cada versão codificada inclui uma pluralidade de segmentos que representa a pluralidade de partes da sequência de valores de amostra de áudio, em que cada um dos segmentos compreende uma estrutura especial no início da respectiva.
[00054] Em outras aplicações da invenção, diferentes representações da mesma entrada de áudio, como representações de (22 a 28) na figura 1, podem ser armazenadas em uma memória e podem ser acessadas se um usuário solicitar o conteúdo de mídia correspondente.
[00055] As instâncias do codificador de 1 a m mostradas na figura 1 podem produzir um diferente atraso do codificador dependendo da configuração do codificador e/ou da ativação das ferramentas nas instâncias do codificador. Nesse caso, as medidas podem ser tomadas para garantir que os atrasos do codificador são compensados para atingir um alinhamento de tempo dos m fluxos de saída, ou seja, as m representações. Isso pode ser implementado, por exemplo, por meio da adição de uma quantidade de amostras zero à direita para a entrada do codificador a fim de compensar os diferentes atrasos do codificador. Em outras palavras, os segmentos nas diferentes representações devem ter a mesma duração a fim de permitir a troca contínua entre as representações nos limites do segmento. As durações teóricas do segmento dependem das taxas de amostragem empregadas e tamanhos da estrutura. A figura 3 mostra um exemplo da possível inserção de IPF nas representações com diferente enquadramento, talvez devido à diferentes taxas de amostragem e/ou tamanhos da estrutura. Amostras zero podem ser adicionadas aos segmentos mais curtos em uma posição apropriada de modo que todas as estruturas especiais sejam alinhadas por tempo como pode ser visto da figura 3.
[00056] A figura 4a mostra uma visualização esquemática de um aparelho (90) para gerar dados de saída de áudio codificado (102). O aparelho (90) compreende um provedor (92) configurado para fornecer, pelo menos, uma estrutura (80) de uma pluralidade de estruturas (40) como uma estrutura especial como é aqui definido. Nas aplicações da invenção, o provedor (92) pode ser implementado como parte de um codificador para codificar valores de amostra de áudio, que fornece as estruturas (40) e adiciona as informações adicionais a pelo menos uma das estruturas a fim de gerar a estrutura especial. Por exemplo, o provedor (92) pode ser configurado para adicionar as informações adicionais como uma extensão de carga útil a uma das estruturas (40) para gerar a estrutura especial (80). As estruturas (40, 80) que representam o fluxo contínuo de bits dos dados de áudio codificado (102) são emitidas através de uma saída (112).
[00057] A figura 4b mostra uma visualização esquemática de um aparelho (100) para gerar dados de saída de áudio codificado (102). O aparelho compreende um provedor (104) configurado para fornecer segmentos (106, 108) associados com diferentes partes de uma sequência de valores de amostra de áudio. Uma primeira estrutura de pelo menos um dos segmentos é uma estrutura especial conforme explicado acima. Um gerador (110) é configurado para gerar os dados de saída de áudio por meio da disposição de pelo menos um dos segmentos (106, 108) seguindo outro dos segmentos (106, 108). O gerador (110) entrega os dados de saída de áudio à saída (112) configurada para emitir os dados de áudio codificado (102).
[00058] A figura 5 mostra uma visualização esquemática de uma aplicação do decodificador de áudio (60) para decodificar dados de entrada de áudio (122). Os dados de entrada de áudio podem ser a saída do bloco (52) mostrado na figura 1. O decodificador de áudio (60) compreende um determinador (130), um inicializador (132) e um núcleo do decodificador (134). O determinador (130) é configurado para determinar se uma estrutura de dados de entrada de áudio (122) é uma estrutura especial. O inicializador (132) é configurado para inicializar o núcleo do decodificador (134) se a estrutura for uma estrutura especial e a inicialização é necessária ou desejada. Inicializar compreende decodificar as estruturas precedentes incluídas nas informações adicionais. O núcleo do decodificador (134) é configurado para decodificar as estruturas dos valores de amostra de áudio codificado utilizando a configuração do codec com a qual é inicializado.
[00059] No caso de a estrutura não ser uma estrutura especial, ela é entregue ao núcleo do decodificador (134) diretamente, seta (136). No caso de a estrutura ser uma estrutura especial e a inicialização do núcleo do decodificador (134) não ser necessária, o determinador (130) pode descartar as informações adicionais e apenas entregar os valores de amostra de áudio codificado da estrutura especial (sem as estruturas nas informações adicionais) ao núcleo do decodificador (134). O determinador (130) pode ser configurado para determinar se a inicialização do núcleo do decodificador (134) é necessária com base nas informações incluídas nas informações adicionais ou com base nas informações externas. As informações incluídas nas informações adicionais podem ser as informações sobre a configuração do codec utilizada para codificar a estrutura especial, em que o determinador pode decidir que a inicialização é necessária se essas informações indicarem que as estruturas precedentes são codificadas utilizando uma configuração do codec diferente como a estrutura especial. As informações externas podem indicar que o núcleo do decodificador (134) deve ser inicializado ou reinicializado no recebimento da próxima estrutura especial.
[00060] Nas aplicações da invenção, o decodificador (60) é configurado para iniciar o núcleo do decodificador (134) em uma das diferentes configurações do codec. Por exemplo, diferentes instâncias de um núcleo do decodificador do software podem ser iniciadas utilizando diferentes configurações do codec, ou seja, diferentes parâmetros da configuração do codec conforme explicado acima. Nas aplicações da invenção, inicializar o decodificador (núcleo) pode compreender fechar uma instância do decodificador atual e abrir uma nova instância do decodificador utilizando os parâmetros de configuração do codec incluídos nas informações adicionais (ou seja, dentro do fluxo contínuo de bits recebido) ou entregues externamente, ou seja, externas ao fluxo contínuo de bits recebido. O decodificador (60) pode ser trocado pelas diferentes configurações do codec dependendo das configurações do codec utilizadas para codificar os respectivos segmentos dos dados de áudio codificado recebidos.
[00061] O decodificador (60) pode ser configurado para mudar de uma configuração do codec atual, ou seja, a configuração do codec do decodificador de áudio antes de encontrar a estrutura especial, para uma configuração do codec diferente se as informações adicionais indicam uma configuração do codec diferente da configuração do codec atual.
[00062] Mais detalhes de uma aplicação de um decodificador de áudio tendo um comportamento do decodificador de AAC são explicados com referência às figuras 6 a 8. A figura 8 mostra esquematicamente o comportamento de um decodificador de AAC. A referência é feita ao padrão ISO/IEC DTR 14496-24, “Interação de Áudio e Sistemas”.
[00063] A figura 8 mostra o comportamento do decodificador sobre os diversos estados, um primeiro estado (200) correspondente a uma ou mais estruturas de pre-roll, um estado associado com cada uma das estruturas AU1, AU2 e AU3, e um estado “nivelado” (202).
[00064] Para gerar amostras de saída válidas para AU1, uma ou mais estruturas de pre-roll e a estrutura AU1 devem ser codificadas. As amostras geradas pela(s) estrutura(s) de pre-roll são descartadas, ou seja, são usadas para inicializar o decodificador apenas e não são reproduzidas. Entretanto, a decodificação da(s) estrutura(s) de pre-roll é obrigatória para configurar os estados do decodificador interno. Nas aplicações da invenção, as informações adicionais das estruturas especiais incluem a(s) estrutura(s) de pre-roll. Assim, o decodificador está em uma posição para decodificar a(s) estrutura(s) de pre-roll para configurar os estados do decodificador interno de modo que a estrutura especial possa ser decodificada e a reprodução imediata de amostras de saída válidas da estrutura especial possam ocorrer. O número real de AUs (estruturas) de “preroll’ depende do atraso de inicialização do decodificador, no exemplo da figura 8 uma AU.
[00065] Geralmente, para reprodução de arquivo, a reprodução imediata conforme descrito com referência à figura 8 é implementada no nível do sistema. Logo, apenas ocorre na inicialização do decodificador. Uma estrutura especial (IPF), entretanto sempre carrega as informações para inicializar completamente os estados do decodificador interno e preencher os buffers internos. Assim, a inserção das estruturas especiais permite a reprodução imediata nas posições de fluxo aleatórias.
[00066] O estado nivelado (202) na figura 8 mostra o comportamento do decodificador se o nivelamento for realizado após a decodificação da última estrutura AU3. O meio de nivelamento que alimenta o decodificador com uma estrutura zero hipotética, ou seja, uma estrutura hipotética de todas as amostras de entrada “digital zero”. Devido à adição por sobreposição da família AAC, o nivelamento resulta em uma saída válida que é obtida sem consumir uma nova estrutura de entrada. Isso é possível visto que a última estrutura AU3 inclui informações de previsão sobre os valores de amostra de saída que seriam obtidos ao decodificar uma próxima estrutura subsequente AU3 visto que as estruturas sobrepõem sobre diversos valores de amostra de domínio de tempo. De modo geral, a primeira metade de uma estrutura sobrepõe com uma estrutura precedente e uma segunda metade de uma estrutura sobrepõe com uma estrutura subsequente. Assim, a segunda metade dos valores de amostra de saída obtidos ao decodificar uma primeira estrutura inclui informações sobre a primeira metade dos valores de amostra de saída obtidos ao decodificar uma segunda estrutura após a primeira estrutura. Essa característica pode ser explorada ao implementar uma crossfade, conforme será explicado a seguir.
[00067] Mais detalhes de uma aplicação de um decodificador de áudio e um método para decodificação dos dados de entrada de áudio são agora descritos com referência à figura 6, em que o decodificador de áudio é configurado para realizar o método conforme descrito com referência às figuras 6 e 7. O processo inicia em (300). O decodificador analisa as estruturas de chegada (AUs) para uma IPF e determina se uma estrutura de chegada é uma IPF, (302). Se a estrutura de chegada não for uma IPF, a estrutura é decodificada, (304), e o processo pula para a próxima estrutura, (306). Se não houver próxima estrutura, o processo finaliza. As amostras de PCM decodificadas são emitidas, conforme indicado pelo bloco (308), que pode representar um armazenamento temporário de saída. Se for determinado em (302) que a estrutura é uma IPF, a configuração do codec é avaliada, (310). Por exemplo, o campo “config” mostrado na figura 2 é avaliado. Uma determinação é feita se a configuração do codec (configuração do fluxo) tiver mudado (312). Se a configuração do codec não mudou, ou seja, se as informações adicionais indicarem uma configuração do codec idêntica à configuração do codec atual, as informações adicionais, como a carga útil de extensão, são ignoradas e o processo pula para (304), onde a decodificação continua normalmente.
[00068] Se a configuração do codec mudou, as seguintes etapas são aplicadas. O decodificador é nivelado, (314). As amostras de saída resultantes do nivelamento do decodificador são armazenadas em um armazenamento temporário nivelado, (316). Essas amostras de saída (ou, pelo menos, uma parte dessas amostras de saída) são uma primeira entrada para um processo de crossfade (318). O decodificador é então reinicializado utilizando a nova configuração do codec conforme indicado pelas informações adicionais, como pelo campo “config” na figura 2, e utilizando as estruturas precedentes compreendidas na estrutura especial. Ao reinicializar, o decodificador é capaz de decodificar a estrutura especial, ou seja, os valores de amostra de áudio codificado associados à estrutura especial. A estrutura especial é decodificada, (322). As amostras de saída (amostras de PCM) obtidas pela decodificação da estrutura especial são armazenadas como uma segunda entrada ao processo de crossfade (318). Por exemplo, as amostras de PCM de saída correspondentes podem ser armazenadas em um buffer, (324), que pode ser referido como o armazenamento temporário IPF. No processo de crossfade (318), uma crossfade é calculado com base nos dois sinais de entrada do armazenamento temporário nivelado e do armazenamento temporário de IPF. O resultado da crossfade é emitido como as amostras de PCM de saída, bloco (308). Depois, o processo pula para a próxima estrutura (306) e o processo é repetido para a próxima estrutura. No caso da presente estrutura ser a última estrutura, o processo finaliza.
[00069] Mais detalhes dessas etapas realizadas após uma mudança de configuração como foram detectadas em (312) são agora explicadas com referência à figura 7. A configuração do codec é recuperada das informações adicionais da IPF, (330) e é fornecida para a reinicialização do decodificador (332). Antes de reinicializar o decodificador, o decodificador é nivelado, (314) e as amostras de saída resultantes são armazenadas no armazenamento temporário nivelado, (316). A reinicialização do decodificador pode incluir o fechamento da instância atual do decodificador e a abertura da nova instância do decodificador com a nova configuração. Ao reabrir a nova instância do decodificador, as informações sobre a configuração do codec contida na IPF são usadas. Após reabrir a nova instância do decodificador, ela é inicializada pela decodificação das estruturas de pre-roll incluídas no IPF. O número de estruturas de pre-roll contidas na IPF é assumido ser m, conforme indicado pelo bloco (334). Determina-se se m > 0, 336. Se m > 0, a estrutura de pre-roll n-m é decodificada, (338), em que n indica a IPF. As amostras de PCM de saída obtidas são descartadas (340). m é reduzido em um e o processo pula para o bloco (336). Por meio da repetição das etapas de (336 a 342) para todas as estruturas de pre-roll contidas na IPF, um processo de preenchimento dos estados do decodificador do decodificador após reabrir o mesmo é realizado, (344). Se todas as estruturas de pre-roll foram decodificadas, o processo pula para o bloco (332), onde a IPF é decodificada. As amostras de PCM resultantes são entregues ao armazenamento temporário de PCM (342). A crossfading (318) é realizada com base nas saídas dos buffers de PCM (316 e 324) e a saída do processo de crossfading (318) é entregue ao armazenamento temporário de PCM de saída (308).
[00070] Na aplicação descrita acima, a reinicialização do decodificador inclui fechar a instância atual do decodificador e abrir uma nova instância do decodificador. Nas aplicações alternativas, o decodificador pode incluir uma pluralidade de instâncias do decodificador em paralelo, de modo que a reinicialização do decodificador pudesse incluir a troca entre as diferentes instâncias do decodificador. Além disso, a reinicialização do decodificador inclui preencher os estados do decodificador pelas estruturas de decodificação de pre-roll incluídas nas informações adicionais da estrutura especial.
[00071] Conforme explicado acima, tirar vantagem dos estados da memória interna e buffers (adição por sobreposição, estados de filtro) em um decodificador de AAC, é possível obter as amostras de saída sem passar pela nova entrada por meio do processo de nivelamento. O sinal de saída do nivelamento lembra muito o “sinal original” para pelo menos uma parte dos valores de amostra de saída obtidos, em particular a primeira parte do respectivo, veja o estado (202) na figura 8. Os valores de amostra de saída obtidos pelo processo de nivelamento são usados para o processo de crossfade descrito em mais detalhes abaixo.
[00072] Como pode ser visto no estado (202) na figura 8, a energia no armazenamento temporário nivelado resultante reduzirá ao longo do tempo dependendo da janela de transformação e das ferramentas habilitadas da configuração do codec atual. Assim, a crossfade deveria ser aplicada na primeira parte do armazenamento temporário nivelado, onde o sinal de saída pode ser considerado como quase energia total. Explorar o fato de que os codecs de áudio modernos podem ser nivelados para obter as amostras válidas para uma crossfade sucessiva ajuda significantemente a obter os valores de troca contínua. Consequentemente, nas aplicações da invenção, o crossfader é configurado para realizar a crossfading entre os valores de saída obtidos por um processo de nivelamento da configuração do codec atual e os valores de amostra de saída obtidos pela decodificação da estrutura especial utilizando a configuração do codec indicada nas informações adicionais.
[00073] A seguir, uma aplicação específica do processo de crossfade é descrita. A crossfade é aplicada aos sinais de áudio conforme descrito acima a fim de evitar as perturbações sonoras de CARs. Uma típica perturbação é uma queda na energia do sinal de saída. Conforme explicado acima, a energia do sinal revelado reduzirá dependendo da configuração. Assim, o comprimento da crossfade deve ser escolhido com cuidado dependendo da configuração a fim de evitar perturbações. Se a janela de crossfade for muito curta, então o processo de troca pode introduzir as perturbações sonoras devido à diferença na forma de onda do áudio. Se a janela de crossfade for muito longa, então as amostras de áudio nivelado já perderam a energia e causarão uma queda na energia do sinal de saída. Para uma configuração do codec AAC utilizando curtas janelas de transformação de (256) amostras, uma crossfade linear com um comprimento de n=128 amostras (por canal) pode ser aplicada. Em outras aplicações, uma crossfade linear com um comprimento de, por exemplo, (64) amostras (por canal) pode ser aplicada. Um exemplo de um processo de crossfade linear com um comprimento de n=128 amostras (por canal) pode ser aplicada. Em outras aplicações, uma crossfade linear com um comprimento de, porexemplo, (64) amostras (por canal) pode ser aplicada.
[00074] Um exemplo de um processo de crossfade linear utilizando (128) amostras é descrito abaixo:
[00075] O processo de crossfade pode usar as primeiras (128) amostras do armazenamento temporário nivelado. O armazenamento temporário nivelado é colocado em janelas por meio da multiplicação das primeiras (128) amostras do armazenamento temporário nivelado Sf = Sf0, …, Sf127 por 1 − 𝑖+1 128 , em que i é o índice da amostra atual. O resultado pode ser armazenado em um armazenamento temporário interno da crossfader, ou seja, 𝑆𝑓′ = 𝑆𝑓0 ∙ (1 − 128 1 ) , … , 𝑆127 ∙ (1 − 128 128). Além disso, o armazenamento temporário de IPF Sd é colocado em janelas, em que as primeiras (128) amostras de saída de IPF decodificadas são multiplicadas pelo fator 𝑖+1 128 , em que i é o índice da amostra atual. O resultado pode ser armazenado em um armazenamento temporário interno da crossfader, ou seja, 𝑆𝑑′ = 𝑆𝑑0 ∙ 1 128 , … , 𝑆127 ∙ 1, … , 𝑆𝑑𝑛.
[00076] As primeiras (128) amostras dos buffers internos são adicionadas: 𝑆 0 = 𝑆𝑑′0 + 𝑆𝑓′0, … , 𝑆𝑑′127 + 𝑆𝑓′, 𝑆𝑑′128, … 𝑆𝑑′𝑛, e os valores resultantes são emitidos às amostras de PCM do armazenamento temporário de saída (308).
[00077] Assim, a crossfading linear sobre os primeiros (128) valores de amostra de saída do armazenamento temporário nivelado e os primeiros (128) valores de amostra do armazenamento temporário de IPF é obtida.
[00078] De modo geral, o crossfader pode ser configurado para realizar a crossfading entre uma pluralidade de valores de amostra de saída obtida utilizando a configuração do codec atual e uma pluralidade de valores de amostra de saída obtida pela decodificação dos valores de amostra de áudio codificado associados à estrutura especial. De modo geral, nos codecs de áudio, como os codecs da família AAC e os codecs da família AMR, os valores de amostra de áudio codificado de uma estrutura precedente completamente compreendem informações sobre o sinal de áudio codificado em uma próxima estrutura. Essa propriedade pode ser utilizada na implementação da crossfading na troca entre as diferentes configurações do codec. Por exemplo, se a configuração do codec atual é uma configuração do codec AMR, os valores de amostra de saída usados na crossfading podem ser com base em uma resposta de impulso zero, ou seja, com base na reposta obtida ao aplicar uma estrutura zero ao núcleo do decodificador após a última estrutura da configuração do codec atual. Nas aplicações da invenção, os mecanismos atuais usados na codificação e na decodificação de áudio podem ser usados na crossfading. Por exemplo, os filtros internos em SBR (Réplica de Banda Espectral) compreendem atrasos e, assim, períodos longos de estabelecimento que podem ser usados na crossfading. Assim, as aplicações da invenção não estão restritas a qualquer crossfading específica a fim de obter uma troca contínua entre as configurações do codec. Por exemplo, o crossfader pode ser configurado para aplicar as ponderações crescentes a um primeiro número de valores de amostra de saída da estrutura especial e para aplicar as ponderações decrescentes nos diversos valores de amostra de saída obtidos com base na decodificação utilizando a configuração do codec atual, em que as ponderações podem aumentar e reduzir linearmente de forma não linear.
[00079] Nas aplicações da invenção, a inicialização do decodificador compreende inicializar os estados do decodificador interno e buffers utilizando as informações adicionais da(s) estrutura(s) especial(is). Nas aplicações da invenção, a inicialização do decodificador ocorre se a configuração do codec mudar. Em outras aplicações da invenção, a estrutura especial pode ser usada para inicializar o decodificador sem mudar a configuração do codec. Por exemplo, nas aplicações da invenção, o decodificador pode ser configurado para reprodução imediata, em que os estados e os buffers internos do decodificador são preenchidos sem mudar uma configuração do codec, em que a crossfading com zero amostras pode ser realizada. Assim, a reprodução imediata das amostras válidas é possível. Em outras aplicações, uma rápida função de avanço pode ser implementada, em que a estrutura especial pode ser decodificada nos intervalos predeterminados dependendo da taxa rápida de avanço desejada. Nas aplicações da invenção, a decisão se iniciar utilizando a estrutura especial deve ocorrer, ou seja, é necessária ou desejada, pode ser tomada com base em um sinal de controle externo fornecido ao decodificador de áudio.
[00080] Conforme explicado acima, a estrutura especial (como IPF (80) conforme mostrado na figura 2) pode ser usada para a adaptação da taxa de bit e troca do fluxo contínuo de bits, respectivamente. As seguintes restrições podem aplicar: todas as representações (por exemplo, taxa de bit diferente, uso diferente das ferramentas de codificação) são alinhadas por tempo), IPFs são inseridas em cada representação, as IPFs são sincronizadas e o campo “config” de IPF na figura 2 contém a configuração do fluxo, ou seja, a ativação das ferramentas etc. A figura 9 mostra um exemplo da adoção da taxa de bit pela troca de fluxo contínuo de bits em um ambiente de fluxo adaptativo. A lógica de controle (como o sistema mostrado na figura 1), que é às vezes chamada de estrutura de trabalho, divide os dados de áudio em segmentos. Um segmento compreende múltiplas AUs. A configuração do fluxo de áudio pode mudar a cada limite de segmento. O decodificador de áudio não está ciente da segmentação, é apenas fornecido com AUs simples pela lógica de controle. Para permitir que o fluxo contínuo de bits de áudio troque a cada limite de segmento, a primeira AU de cada segmento pode ser uma IPF conforme explicado acima. Na figura 9, um limite de segmento (400) é indicado pela linha pontilhada. No cenário ilustrado na figura 9, o decodificador de áudio é fornecido com AUs (40) (AU1 a AU3) do “Fluxo 1”. A lógica de controle decide mudar para “Fluxo 2” no próximo limite de segmento, ou seja, limite (400). Após a decodificação AU3 do “Fluxo 1” a lógica de controle pode passar AU4 de “Fluxo 2” ao decodificador de áudio sem qualquer notificação adicional. AU4 é a estrutura especial (IPF) e, assim, a reprodução imediata pode ocorrer após a troca ao fluxo2.
[00081] Com referência ao cenário mostrado na figura 9, a troca pode ocorrer como segue: para AU1 a AU3 do fluxo1, nenhuma IPF é detectada e o processo de decodificação é realizado como normal. Uma IPF é detectada para AU4 do fluxo2. Além disso, uma mudança na configuração do fluxo é detectada. O decodificador de áudio inicializa o processo de nivelamento, (402) na figura 9. As amostras resultantes de PCM de saída são armazenadas em um armazenamento temporário (armazenamento nivelado) para uso posterior. O decodificador de áudio é reinicializado com a configuração do fluxo carregada pela IPF. A carga útil de IPF (“pre-roll”) é decodificada. As amostras de PCM de saída resultantes são descartadas. Nesse ponto, os estados do decodificador interno e os buffers são completamente inicializados. AU4 é decodificada. Para evitar as perturbações de troca perturbações uma crossfade é aplicada. As amostras de PCM armazenadas no armazenamento temporário nivelado são faded out (diminuídas gradualmente), enquanto as amostras de PCM resultantes da decodificação de AU4 e armazenadas no armazenamento temporário de PCM de saída são faded in (aumentadas gradualmente). O resultado da crossfade é reproduzido.
[00082] Consequentemente, a IPF pode ser utilizada para permitir a troca das representações de áudio comprimido. O decodificador pode receber AUs simples como entrada, assim nenhuma lógica de controle adicional é necessária.
[00083] Detalhes de uma aplicação específica no contexto de MPEG-D USAC são agora descritos, em que a sintaxe do fluxo contínuo de bits pode ser como segue:
[00084] O elemento de sintaxe AudioPreRoll() é utilizado para transmitir as informações de áudio das estruturas prévias com os dados da presente estrutura. Os dados de áudio adicionais podem ser usados para compensar o atraso da inicialização do decodificador (pre-roll), assim permitindo o acesso aleatório nos pontos de acesso de fluxo que fazem uso de AudioPreRoll(). Um UsacExtElement() pode ser utilizado para transmitir o AudioPreRoll(). Para essa finalidade um novo identificador de carga útil deve ser utilizado: TABELA 1: IDENTIFICADOR DE CARGA ÚTIL PARA AUDIOPREROLL()
Figure img0001
[00085] A sintaxe de AudioPreRoll() é mostrada na figura e explicada a seguir:
[00086] configLen: tamanho do elemento da sintaxe de configuração em bytes.
[00087] Config(): o elemento de sintaxe de configuração do decodificador. No contexto de MPEG-D USAC, esse é o UsacConfig(), conforme definido em ISO/IEC 23003-3:2012. O campo Config() pode ser transmitido para poder responder às mudanças na configuração de áudio (troca de fluxos).
[00088] numPreRollFrames: o número de unidades de acesso (AUs) de pre-roll transmitido dos dados de áudio de pre-roll. O número razoável de AUs depende do atraso de inicialização do decodificador.
[00089] auLen: comprimento de AU em bytes.
[00090] AccessUnit(): a(s) AU(s) de pre-roll.
[00091] Os dados de pre-roll carregados no elemento de extensão podem ser transmitidos “fora da banda”, ou seja, as exigências do armazenamento temporário podem não ser atendidas.
[00092] A fim de usar AudioPreRoll() para o acesso aleatório e a adaptação da taxa de bit as seguintes restrições se aplicam: - O primeiro elemento de cada estrutura é um elemento de extensão (UsacExtElement) do tipo ID_EXT_ELE_AUDIOPREROLL. - O UsacExtElement() correspondente deve ser configurado conforme descrito na Tabela 2. - Consequentemente, se os dados de pre-roll estiverem presentes, esse UsacFrame() deve iniciar com a seguinte sequência de bit:
[00093] “1”: usacIndependencyFlag.
[00094] “1”: usacExtElementPresent (com referência ao elemento de extensão de pre-roll de áudio).
[00095] “0”: usacExtElementUseDefaultLength (com referência ao elemento de extensão de pre-roll de áudio). - Se nenhum dado de pre-roll for transmitido, a carga útil de extensão não deve estar presente (usacExtElementPresent = 0). - As estruturas de pre-roll com o índice “0” e “numPreRollFrames-1” devem ser independentemente decodificáveis, ou seja, usacIndependencyFlag deve ser definido como “1”. TABELA 2: CONFIGURAÇÃO DE USACEXTELEMENT()PARA AUDIOPREROLL()
Figure img0002
[00096] O acesso aleatório e a reprodução imediata são possíveis em cada estrutura que utiliza a estrutura AudioPreRoll(), conforme descrito. O seguinte pseudocódigo descreve o processo de decodificação: Se (usacIndependencyFlag == 1){ Se (usacExtElementPresent == 1{ /* Nesse caso usacExtElementUseDefaultLength deve ser 0! */ Se (usacExtElementUseDefaultLength != 0) goto error; /* Verificar quanto à presença de config e reinicializar se necessário */ int configLen = getConfigLen(); Se (configLen > 0){ config c = getConfig(configLen); ReConfigureDecoder(c); } /* Obter pre-roll AUs e decodificar, descartar as amostras de saída */ int numPreRollFrames = getNumPreRollFrames(); para (auIdx = 0; auIdx < numPreRollFrames; auIdx++) int auLen = getAuLen(); AU nextAU = getPreRollAU(auLen); DecodeAU(nextAU); } } } /* Estados do decodificador são inicializados nesse ponto. Continuar a decodificação normal */
[00097] A adaptação da taxa de bit pode ser usada pela troca entre as diferentes representações codificadas do mesmo conteúdo de áudio. A estrutura AudioPreRoll(), conforme descrita, pode ser usada para essa finalidade. O processo de decodificação no caso da adaptação da taxa de bit é descrito pelo seguinte pseudocódigo: Se (usacIndependencyFlag == 1){ Se (usacExtElementPresent == 1{ /* Nesse caso usacExtElementUseDefaultLength deve ser 0! */ Se (usacExtElementUseDefaultLength != 0) goto error; int configLen = getConfigLen(); se (configLen > 0){ config newConfig = getConfig(configLen); /* A configuração não mudou, ignore AudioPreRoll e continue a decodificação normalmente */ Se (newConfig == currentConfig){ SkipAudioPreRoll(); goto finish; } /* A configuração mudou, preparar para troca do fluxo contínuo de bit */ config c = getConfig(configLen); outSamplesFlush = FlushDecoder(); ReConfigureDecoder(c); /* Obter AUs de pre-roll e decodificar, descartar as amostras de saída */ int numPreRollFrames = getNumPreRollFrames(); para (auIdx = 0; auIdx < numPreRollFrames; auIdx++) int auLen = getAuLen(); AU nextAU = getPreRollAU(auLen); DecodeAU(nextAU); } /* Obter AU “regular” e decodificar */ AU au = UsacFrame(); outSamplesFrame = Decode(au); /* Aplicar crossfade */ Para (i = 0; i < 128; i++){ outSamples[i] = outSamplesFlush[i] * (1-i/127) + outSamplesFrame[i] * (i/127) } Para (i = 128; i < outputFrameLength; i++){ outSamples[i] = outSamplesFrame[i]; } } else { goto error; } } }
[00098] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que estes aspectos representam também uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método ou uma característica da etapa do método. De forma análoga, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco correspondente ou item ou característica de um aparelho correspondente. Algumas ou todas as etapas do método podem ser executadas por (ou utilizando) um aparelho de hardware, como, por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas aplicações, uma ou algumas da(s) etapa(s) mais importante(s) do método pode(m) ser executada(s) por esse equipamento. Nas aplicações da invenção, os métodos descritos aqui são implementados por um processador ou por um computador.
[00099] Dependendo de certos requisitos de implementação, as aplicações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser executada utilizando um meio de armazenamento não transitório, como um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, uma memória ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, tendo sinais de controle eletronicamente legíveis armazenados nele, os quais cooperam (ou são capazes de cooperar) com um sistema de computador programável, de forma que o respectivo método seja executado. Portanto, o meio de armazenamento digital pode ser legível por computador.
[000100] Algumas aplicações, de acordo com a invenção, compreendem um transportador de dados tendo sinais de controle eletronicamente legíveis que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos de descrito no presente documento seja executado.
[000101] Geralmente, as aplicações da presente invenção podem ser implementadas como um produto de programa de computador tendo um código de programa, o código de programa sendo operativo para a realização de um dos métodos quando o produto de programa de computador for executado em um computador. O código do programa pode, por exemplo, ser armazenado em um transportador legível por uma máquina.
[000102] Outras aplicações compreendem o programa de computador para executar um dos métodos descritos no presente documento, armazenados em um transportador legível por uma máquina.
[000103] Em outras palavras, uma aplicação do método inventivo é, portanto, um programa de computador tendo um código de programa para a realização de um dos métodos descritos no presente documento, quando o programa de computador for executado em um computador.
[000104] Uma aplicação adicional do método inventivo é, portanto, um transportador de dados (ou um meio de armazenamento digital ou um meio legível por computador) compreendendo, gravado nele, o programa de computador para a realização de um dos métodos descrito no presente documento. O transportador de dados, o meio de armazenamento digital ou a mídia gravada normalmente são tangíveis e/ou não transitórios.
[000105] Uma aplicação adicional do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais representando o programa de computador para a realização de um dos métodos descritos no presente documento. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado(a) para transferência através de uma conexão de comunicação de dados, por exemplo, através da Internet.
[000106] Uma aplicaçã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 no presente documento.
[000107] Uma aplicação adicional compreende um computador, tendo instalado nele o programa de computador para a realização de um dos métodos descritos no presente documento.
[000108] Uma aplicação adicional, de acordo com a invenção, compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletrônica ou opticamente) um programa de computador para a realização de um dos métodos descritos no presente documento a um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou semelhante. O aparelho ou sistema pode, por exemplo, compreender um servidor de arquivos para transferir o programa de computador para o receptor.
[000109] Em algumas aplicações, um dispositivo lógico programável (por exemplo, um arranjo de portas de campo programáveis) pode ser utilizado para executar algumas ou todas as funcionalidades dos métodos descritos no presente documento. Em algumas aplicações, um arranjo de portas de campo programáveis pode cooperar com um microprocessador para executar um dos métodos descritos no presente documento. Geralmente, os métodos são preferencialmente executados por qualquer equipamento de hardware.
[000110] As aplicações acima descritas são meramente ilustrativas para os princípios da presente invenção. Entende-se que modificações e variações das disposições e os detalhes descritos no presente documento serão evidentes àqueles especialistas na técnica. Destina-se, portanto, ser limitada apenas pelo escopo das reivindicações de patente iminentes e não pelos detalhes específicos apresentados por meio de descrição e explicação das aplicações do presente documento.

Claims (10)

1. Decodificador de áudio (60) para decodificação de um fluxo contínuo de dados de dados de áudio codificado, caracterizado pelo fluxo contínuo de dados dos dados de áudio codificado representar uma sequência de valores de amostra de áudio e compreender uma pluralidade de estruturas (40), em que cada estrutura (40) inclui valores de amostra de áudio codificado associados, o decodificador de áudio (60) compreendendo: um determinador (130) configurado para determinar se uma estrutura dos dados de áudio codificado é uma estrutura especial (42, 80) que compreende valores de amostra de áudio codificado associados à estrutura especial (42, 80) e informações adicionais (82), em que as informações adicionais (82) compreendem valores de amostra de áudio codificado de diversas estruturas (86) precedentes à estrutura especial, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que a estrutura especial, em que o número de estruturas precedentes, correspondendo às estruturas pre-roll, corresponde ao número de estruturas requerido pelo decodificador (60) para construir o sinal completo durante a inicialização do decodificador, de modo a estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial (42, 80) se a estrutura especial for a primeira estrutura na inicialização do decodificador; e um inicializador configurado para inicializar o decodificador (60) se o determinador determinar que a estrutura é uma estrutura especial, em que a inicialização do decodificador compreende decodificar os valores de amostra de áudio codificado incluídos nas informações adicionais antes de decodificar os valores de amostra de áudio codificado associados à estrutura especial (42, 80), em que o inicializador é configurado para mudar o decodificador de áudio (60) de uma configuração do codec atual para uma configuração do codec diferente (84) se o determinador (130) determinar que a estrutura é uma estrutura especial (42, 80) e se os valores de amostra de áudio da estrutura especial forem codificados utilizando a configuração do codec diferente, e em que o decodificador é configurado para decodificar a estrutura especial (42, 80) utilizando a configuração do codec atual e para descartar as informações adicionais se o determinador determinar (130) que a estrutura é uma estrutura especial (42, 80) e se os valores de amostra de áudio da estrutura especial forem codificados utilizando a configuração de codec atual, em que, antes de ser inicializado, o decodificador é liberado após a detecção de uma alteração na configuração do codec e as amostras de saída resultantes são armazenadas em um buffer de liberação.
2. Decodificador de áudio de acordo com a reivindicação 1, caracterizado pelas informações adicionais compreenderem as informações na configuração do codec (84) utilizadas para codificar os valores de amostra de áudio associados à estrutura especial (42, 80), em que o determinador é configurado para determinar se a configuração do codec das informações adicionais é diferente da configuração do codec atual.
3. Decodificador de áudio (60) de acordo com uma das reivindicações 1 e 2, caracterizado por compreender uma crossfader (318) configurado para realizar a crossfading entre uma pluralidade de valores de amostra de saída obtidos utilizando a configuração do codec atual e uma pluralidade de valores de amostra de saída obtidos por meio da decodificação dos valores de amostra de áudio codificado associados à estrutura especial (42, 80).
4. Decodificador de áudio de acordo com a reivindicação 3, caracterizado pelo crossfader (318) ser configurado para realizar a crossfading dos valores de amostra de saída obtidos por meio do nivelamento do decodificador (60) na configuração do codec atual e valores de amostra de saída obtidos por meio da decodificação dos valores de amostra de áudio codificado associados à estrutura especial (42, 80).
5. Decodificador de áudio de acordo com uma das reivindicações de 1 a 4, caracterizado por uma estrutura inicial do número de estruturas (86) compreendido nas informações adicionais (82) não ser codificado diferencialmente por tempo ou codificado por entropia com relação a qualquer estrutura prévia à estrutura inicial e em que a estrutura especial (42, 80) não é codificada diferencialmente por tempo ou codificada por entropia com relação a qualquer estrutura prévia à estrutura inicial do número de estruturas precedentes à estrutura especial (42, 80) ou com relação a qualquer estrutura prévia à estrutura especial (42, 80).
6. Decodificador de áudio de acordo com uma das reivindicações de 1 a 5, caracterizado pela estrutura especial (42, 80) compreender as informações adicionais como uma carga útil de extensão e em que o determinador é configurado para avaliar a carga útil de extensão da estrutura especial (42, 80).
7. Método para decodificação de um fluxo contínuo de dados dos dados de áudio codificado, caracterizado pelo fluxo contínuo de dados dos dados de áudio codificado representar uma sequência de valores de amostra de áudio e compreender uma pluralidade de estruturas (40), em que cada estrutura (40) inclui valores de amostra de áudio codificado associados, compreendendo: determinar se uma estrutura dos dados de áudio codificado é uma estrutura especial (42, 80) compreendendo valores de amostra de áudio codificado associados à estrutura especial (42, 80) e informações adicionais (82), em que as informações adicionais (82) compreendem valores de amostra de áudio codificado de diversas estruturas (86) precedentes à estrutura especial, em que os valores de amostra de áudio codificado das estruturas precedentes são codificados utilizando a mesma configuração do codec que a estrutura especial, em que o número de estruturas precedentes, correspondendo às estruturas pre roll, corresponde ao número de estruturas requerido pelo decodificador (60) para construir o sinal completo durante a inicialização do decodificador, de modo a estar em uma posição para decodificar os valores de amostra de áudio associados à estrutura especial (42, 80) se a estrutura especial for a primeira estrutura na inicialização do decodificador; inicializar o decodificador (60) se for determinado que a estrutura é uma estrutura especial, em que o inicializar compreende decodificar os valores de amostra de áudio codificado incluídos nas informações adicionais antes de decodificar os valores de amostra de áudio codificado associados à estrutura especial (42, 80); mudar o decodificador de áudio (60) de uma configuração do codec atual para uma configuração do codec diferente (84) se for determinado que a estrutura é uma estrutura especial (42, 80) e se os valores de amostra de áudio da estrutura especial forem codificados utilizando a configuração do codec diferente; e decodificar a estrutura especial (42, 80) utilizando a configuração de codec atual e descartar a informação adicional se for determinado que a estrutura é uma estrutura especial (42, 80) e se os valores da amostra de áudio da estrutura especial tiverem sido codificados utilizando a configuração de codec atual, em que, antes de ser inicializado, o decodificador é liberado após a detecção de uma alteração na configuração do codec e as amostras de saída resultantes são armazenadas em um buffer de liberação.
8. Método de acordo com a reivindicação 7, caracterizado pelo fluxo contínuo de dados dos dados de áudio compreender um primeiro número de estruturas codificadas utilizando uma primeira configuração do codec e um segundo número de estruturas seguido pelo primeiro número de estruturas e codificado utilizando uma segunda configuração do codec, em que a primeira estrutura do segundo número de estruturas é a estrutura especial.
9. Método de acordo com uma das reivindicações 7 ou 8, caracterizado pelas informações adicionais compreenderem informações na configuração do codec (84) utilizada para codificar os valores de amostra de áudio associados à estrutura especial (42, 80), o método compreendendo determinar se a configuração do codec das informações adicionais é diferente da configuração do codec atual utilizando quais valores de amostra de áudio codificado das estruturas no fluxo contínuo de dados, que precede a estrutura especial, são codificados.
10. Mídia de armazenamento não transitória tendo gravadas instruções lidas por um processador, caracterizada por compreender instruções que, quando executadas, realizam os métodos das reivindicações 7 a 9.
BR122021004490-2A 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador BR122021004490B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13189328.1A EP2863386A1 (en) 2013-10-18 2013-10-18 Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
EP13189328.1 2013-10-18
PCT/EP2014/072063 WO2015055683A1 (en) 2013-10-18 2014-10-14 Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder

Publications (1)

Publication Number Publication Date
BR122021004490B1 true BR122021004490B1 (pt) 2023-02-23

Family

ID=49378190

Family Applications (4)

Application Number Title Priority Date Filing Date
BR122021004494-5A BR122021004494B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador
BR122021004490-2A BR122021004490B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador
BR112016008415-2A BR112016008415B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador
BR122021004485-6A BR122021004485B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122021004494-5A BR122021004494B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR112016008415-2A BR112016008415B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador
BR122021004485-6A BR122021004485B1 (pt) 2013-10-18 2014-10-14 Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador

Country Status (19)

Country Link
US (6) US9928845B2 (pt)
EP (2) EP2863386A1 (pt)
JP (1) JP6214765B2 (pt)
KR (1) KR101809390B1 (pt)
CN (2) CN105745704B (pt)
AR (1) AR098075A1 (pt)
AU (1) AU2014336243B2 (pt)
BR (4) BR122021004494B1 (pt)
CA (1) CA2925653C (pt)
ES (1) ES2644370T3 (pt)
MX (1) MX355274B (pt)
MY (1) MY177213A (pt)
PL (1) PL3044782T3 (pt)
PT (1) PT3044782T (pt)
RU (1) RU2651190C2 (pt)
SG (1) SG11201602971SA (pt)
TW (1) TWI579832B (pt)
WO (1) WO2015055683A1 (pt)
ZA (1) ZA201603154B (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2863386A1 (en) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
CN116631416A (zh) * 2017-01-10 2023-08-22 弗劳恩霍夫应用研究促进协会 音频解码器、提供解码的音频信号的方法、和计算机程序
BR112020015531A2 (pt) 2018-02-22 2021-02-02 Dolby International Ab método e aparelho para processamento de fluxos de mídias auxiliares integrados em um fluxo de áudio mpeg-h 3d
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10580424B2 (en) * 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
JP7455812B2 (ja) 2018-08-21 2024-03-26 ドルビー・インターナショナル・アーベー 即時再生フレーム(ipf)の生成、輸送及び処理のための方法、装置及びシステム
CN116978387A (zh) 2019-07-02 2023-10-31 杜比国际公司 用于离散指向性数据的表示、编码和解码的方法、设备和系统
WO2021015484A1 (ko) * 2019-07-19 2021-01-28 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 적응적인 오디오 처리 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체
US20240056591A1 (en) * 2021-04-12 2024-02-15 Lg Electronics Inc. Method for image coding based on signaling of information related to decoder initialization
CN118103906A (zh) * 2021-08-19 2024-05-28 弗劳恩霍夫应用研究促进协会 音频编码器、用于提供音频信息的编码表示的方法、计算机程序、以及使用立即播出帧的编码音频表示
US20230090440A1 (en) * 2021-09-21 2023-03-23 Qualcomm Incorporated Lossy Compressed Feedback For Multiple Incremental Redundancy Scheme (MIRS)
DE102021006419A1 (de) 2021-12-30 2023-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Streaming-Techniken

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100304092B1 (ko) 1998-03-11 2001-09-26 마츠시타 덴끼 산교 가부시키가이샤 오디오 신호 부호화 장치, 오디오 신호 복호화 장치 및 오디오 신호 부호화/복호화 장치
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US7460629B2 (en) * 2001-06-29 2008-12-02 Agere Systems Inc. Method and apparatus for frame-based buffer control in a communication system
JP2003273939A (ja) * 2002-03-13 2003-09-26 Nec Corp 多重伝送システムおよび変換装置と警報転送方法
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
US7272567B2 (en) * 2004-03-25 2007-09-18 Zoran Fejzo Scalable lossless audio codec and authoring tool
CN1947407A (zh) * 2004-04-09 2007-04-11 日本电气株式会社 音频通信方法和装置
US7596486B2 (en) 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes
DE102004043521A1 (de) 2004-09-08 2006-03-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines Multikanalsignals oder eines Parameterdatensatzes
US7610195B2 (en) 2006-06-01 2009-10-27 Nokia Corporation Decoding of predictively coded data using buffer adaptation
AU2009220341B2 (en) * 2008-03-04 2011-09-22 Lg Electronics Inc. Method and apparatus for processing an audio signal
EP2131590A1 (en) * 2008-06-02 2009-12-09 Deutsche Thomson OHG Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
WO2010005224A2 (en) * 2008-07-07 2010-01-14 Lg Electronics Inc. A method and an apparatus for processing an audio signal
MX2011000366A (es) * 2008-07-11 2011-04-28 Fraunhofer Ges Forschung Codificador y decodificador de audio para codificar y decodificar muestras de audio.
EP2169670B1 (en) * 2008-09-25 2016-07-20 LG Electronics Inc. An apparatus for processing an audio signal and method thereof
US9237387B2 (en) 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US8428936B2 (en) 2010-03-05 2013-04-23 Motorola Mobility Llc Decoder for audio signal including generic audio and speech frames
US9275650B2 (en) * 2010-06-14 2016-03-01 Panasonic Corporation Hybrid audio encoder and hybrid audio decoder which perform coding or decoding while switching between different codecs
EP2863386A1 (en) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder

Also Published As

Publication number Publication date
US10614824B2 (en) 2020-04-07
US20190156844A1 (en) 2019-05-23
US20200234726A1 (en) 2020-07-23
US11670314B2 (en) 2023-06-06
ZA201603154B (en) 2017-11-29
US20220215850A1 (en) 2022-07-07
AR098075A1 (es) 2016-04-27
BR112016008415B1 (pt) 2022-11-29
US11423919B2 (en) 2022-08-23
KR101809390B1 (ko) 2018-01-18
CA2925653A1 (en) 2015-04-23
AU2014336243A1 (en) 2016-05-26
MY177213A (en) 2020-09-09
EP2863386A1 (en) 2015-04-22
TW201523587A (zh) 2015-06-16
PL3044782T3 (pl) 2018-02-28
CN105745704A (zh) 2016-07-06
JP6214765B2 (ja) 2017-10-18
CA2925653C (en) 2018-07-24
CN110444218B (zh) 2023-10-24
US20230335146A1 (en) 2023-10-19
BR122021004494B1 (pt) 2023-02-23
RU2651190C2 (ru) 2018-04-18
US10229694B2 (en) 2019-03-12
MX355274B (es) 2018-04-13
BR122021004485B1 (pt) 2023-02-28
EP3044782B1 (en) 2017-09-06
CN105745704B (zh) 2019-08-23
RU2016118985A (ru) 2017-11-23
US9928845B2 (en) 2018-03-27
ES2644370T3 (es) 2017-11-28
PT3044782T (pt) 2017-12-04
WO2015055683A1 (en) 2015-04-23
SG11201602971SA (en) 2016-05-30
TWI579832B (zh) 2017-04-21
AU2014336243B2 (en) 2017-02-02
CN110444218A (zh) 2019-11-12
BR112016008415A2 (pt) 2017-08-22
JP2016539357A (ja) 2016-12-15
MX2016004845A (es) 2016-07-26
US20180197556A1 (en) 2018-07-12
KR20160060686A (ko) 2016-05-30
EP3044782A1 (en) 2016-07-20
US20160232910A1 (en) 2016-08-11

Similar Documents

Publication Publication Date Title
BR122021004490B1 (pt) Decodificador de áudio, aparelho para geração de dados de saída de áudio codificado e métodos que permitem a inicialização de um decodificador
US11882323B2 (en) Audio splicing concept
BR112017003288B1 (pt) Conceito de combinação de áudio

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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