BR122019004595B1 - Unidade de processamento de áudio, método de decodificação de um fluxo de bits de áudio codificado e meio legível por computador não transitório - Google Patents

Unidade de processamento de áudio, método de decodificação de um fluxo de bits de áudio codificado e meio legível por computador não transitório Download PDF

Info

Publication number
BR122019004595B1
BR122019004595B1 BR122019004595-0A BR122019004595A BR122019004595B1 BR 122019004595 B1 BR122019004595 B1 BR 122019004595B1 BR 122019004595 A BR122019004595 A BR 122019004595A BR 122019004595 B1 BR122019004595 B1 BR 122019004595B1
Authority
BR
Brazil
Prior art keywords
replication
audio
spectral
bitstream
spectral band
Prior art date
Application number
BR122019004595-0A
Other languages
English (en)
Inventor
Lars Villemoes
Heiko Purnhagen
Per Ekstrand
Original Assignee
Dolby International Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolby International Ab filed Critical Dolby International Ab
Publication of BR122019004595B1 publication Critical patent/BR122019004595B1/pt

Links

Abstract

As modalidades referem-se a uma unidade de processamento de áudio que inclui uma memória intermediária, um desformatador de carga útil de fluxo de bits e um subsistema de decodificação. A memória intermediária armazena pelo menos um bloco de um fluxo de bits de áudio codificado. O bloco inclui um elemento de preenchimento, que começa com um identificador seguido de dados de preenchimento. Esses dados de preenchimento incluem pelo menos um sinalizador que identifica se o processamento de replicação de banda espectral melhorada (eSBR) deve ser executado no conteúdo de áudio do bloco. Um método correspondente para decodificar um fluxo de bits de áudio codificado também é fornecido.

Description

REFERÊNCIA REMISSIVA A PEDIDOS CORRELATOS
[001] Este pedido reivindica a prioridade do pedido de patente n° EP 15159067.6 depositado em 13 de março de 2015 e o pedido provisório n° US 62/133.800 depositado em 16 de março de 2016, cada um dos quais está aqui incorporado na íntegra, a título de referência.
CAMPO TÉCNICO
[002] A invenção refere-se a processamento de sinal de áudio. Algumas modalidades se referem à codificação e decodificação de fluxos de bits de áudio (por exemplo, fluxos de bits tendo um formato MPEG-4 AAC) incluindo metadados para controlar a replicação de banda espectral melhorada (eSBR). Outras modalidades referem-se à decodificação de tais fluxos de bits pelos decodificadores antigos que não são configurados para executar um processamento de eSBR e que ignoram tais metadados, ou à decodificação de um fluxo de bits de áudio que não inclui tais metadados, inclusive pela geração de dados de controle de eSBR em resposta ao fluxo de bits.
ANTECEDENTES DA INVENÇÃO
[003] Um típico fluxo de bits de áudio inclui tanto dados de áudio (por exemplo, dados de áudio codificados), indicativos de um ou mais canais de conteúdo de áudio, como metadados indicativos de pelo menos uma característica dos dados de áudio ou conteúdo de áudio. Um formato bem conhecido para gerar um fluxo de bits de áudio codificado é o formato MPEG-4 de codificação de áudio avançada (AAC), descrito no padrão MPEG ISO/IEC 14496-3:2009. No padrão MPEG-4, AAC (advanced audio coding) significa "codificação de áudio avançada" e HE-AAC (high- efficiency advanced audio coding) significa "codificação de áudio avançada de alta eficiência".
[004] O padrão MPEG-4 AAC define vários perfis de áudio, o que determina quais objetos e ferramentas de codificação estão presentes em um codificador ou de- codificador em conformidade. Três desses perfis de áudio são (1) o perfil AAC, (2) o perfil HE-AAC e (3) o perfil HE-AAC v2. O perfil AAC inclui a baixa complexidade de AAC (ou "AAC-LC") do tipo objeto. O objeto AAC-LC é a contraparte do perfil de baixa complexidade do MPEG-2 AAC, com alguns ajustes, e não inclui o tipo de objeto de replicação de banda espectral ("SBR") nem o tipo de objeto estéreo paramétrico ("PS"). O perfil HE-AAC é um superconjunto do perfil de AAC e inclui adicionalmente o objeto do tipo SBR. O perfil HE-AAC V2 é um superconjunto do perfil HE-AAC e inclui adicionalmente o objeto do tipo PS.
[005] O objeto do tipo SBR contém a ferramenta de replicação de banda espectral, que é uma ferramenta de codificação importante que melhora significativamente a eficiência da compressão dos codecs de áudio perceptuais. A SBR reconstrói os componentes de alta frequência de um sinal de áudio no lado de receptor (por exemplo, no decodificador). Assim, o codificador precisa apenas codificar e transmitir apenas componentes de baixa frequência, permitindo uma qualidade de áudio muito mais alta em baixas taxas de dados. A SBR se baseia na replicação das sequências de harmônicas, anteriormente truncadas para reduzir a taxa de dados, do sinal limitado de largura de banda disponível e dos dados de controle obtidos a partir do codificador. A razão entre os componentes semelhantes a ruído e tom é mantida pela filtragem adaptável inversa, bem como a adição opcional de ruído e sinusoidal. No padrão MPEG-4 AAC, a ferramenta SBR executa o reparo espectral, no qual um número de sub-bandas do filtro espelhado em quadratura (QMF) contíguas são copiadas a partir de uma porção de banda baixa transmitida de um sinal de áudio a uma porção de banda alta do sinal de áudio, que é gerada no decodificador.
[006] O reparo espectral pode não ser ideal para certos tipos de áudio, como um conteúdo musical com cruzamento relativamente baixo sobre as frequências. Assim, são necessárias técnicas para melhorar a replicação de banda espectral.
BREVE DESCRIÇÃO DE MODALIDADES DA INVENÇÃO
[007] Uma primeira classe de modalidades refere-se a unidades de processamento de áudio que incluem uma memória, um desformatador de carga útil de fluxo de bits e um subsistema de decodificação. A memória é configurada para armazenar pelo menos um bloco de um fluxo de bits de áudio codificado (por exemplo, um fluxo de bits MPEG-4 AAC). O desformatador de carga útil de fluxo de bits é configurado para demultiplexar o bloco de áudio codificado. O subsistema de decodificação é configurado para decodificar o conteúdo do bloco de áudio codificado. O bloco de áudio codificado inclui um elemento de preenchimento com um identificador que indica o início do elemento de preenchimento e os dados de pre-enchimento após o identificador. Os dados de preenchimento incluem pelo menos um sinalizador que identifica se o processamento da replicação de banda espectral melhorada (eSBR) deve ser executado no conteúdo de áudio do bloco de áudio codificado.
[008] Uma segunda classe de modalidades refere-se a métodos para decodificar um fluxo de bits de áudio codificado. O método inclui a recepção de pelo menos um bloco de um fluxo de bits de áudio codificado, a demultiplexação de ao menos algumas porções do pelo menos um bloco do fluxo de bits de áudio codificado e a decodificação de pelo menos algumas porções do pelo menos um bloco do fluxo de bits de áudio codificado. O pelo menos um bloco do fluxo de bits de áudio codificado inclui um elemento de preenchimento com um identificador que indica o início do elemento de preenchimento e os dados de preenchimento após o identificador. Os dados de preenchimento incluem pelo menos um sinalizador que identifica se o processamento da replicação de banda espectral melhorada (eSBR) deve ser execu- tado no conteúdo de áudio do pelo menos um bloco de fluxo de bits de áudio codificado.
[009] Outras classes de modalidades referem-se à codificação e transcodi- ficação de fluxos de bits de áudio contendo metadados que identificam se o processamento da replicação de banda espectral melhorada (eSBR) deve para ser executado.
BREVE DESCRIÇÃO DOS DESENHOS
[010] A Figura 1 é um diagrama de blocos de uma modalidade de um sistema que pode ser configurado para executar uma modalidade do método da invenção.
[011] A Figura 2 é um diagrama de blocos de um codificador que é uma modalidade da unidade de processamento de áudio da invenção.
[012] A Figura 3 é um diagrama de blocos de um sistema incluindo um decodi- ficador que é uma modalidade da unidade de processamento de áudio da invenção, e, opcionalmente, também um pós-processador acoplado ao mesmo.
[013] A Figura 4 é um diagrama de blocos de um decodificador que é uma modalidade da unidade de processamento de áudio da invenção.
[014] A Figura 5 é um diagrama de blocos de um decodificador que é uma outra modalidade da unidade de processamento de áudio da invenção.
[015] A Figura 6 é um diagrama de blocos de outra modalidade da unidade de processamento de áudio da invenção.
[016] A Figura 7 é um diagrama de um bloco de um fluxo de bits MPEG-4 AAC que inclui os segmentos nos quais é dividido.
Notação e nomenclatura
[017] Ao longo desta revelação, inclusive nas reivindicações, a expressão "executando uma operação 'sobre' um sinal ou dados" (por exemplo, filtragem, escalonamento, transformação ou aplicação de ganho ao sinal ou dados) é usada em um sentido amplo para indicar a execução da operação diretamente sobre o sinal ou dados ou em uma versão processada do sinal ou dados (por exemplo, em uma versão do sinal que foi submetido à filtração e pré-processamento antes do desempenho da operação no mesmo).
[018] Ao longo desta revelação, inclusive nas reivindicações, a expressão "unidade de processamento de áudio" é usada em um sentido amplo, para indicar um sistema, dispositivo ou aparelho configurado para processar dados de áudio. Exemplos de unidades de processamento de áudio incluem, mas não se limitam a, codificadores (por exemplo, transcodificadores), decodificadores, codecs, sistemas de pré- processamento, sistemas de pós-processamento, sistemas de processamento de fluxo de bits (algumas vezes chamados de ferramentas de processamento de fluxo de bits). Virtualmente, todos os circuitos eletrônicos do consumidor, como telefones móveis, televisões, computadores portáteis e computadores tablete, contêm uma unidade de processamento de áudio.
[019] Ao longo da presente revelação, incluindo nas reivindicações, o termo "acopla" ou "acoplado" é usado em um sentido amplo para significar uma conexão indireta ou direta. Assim, se um primeiro dispositivo se acopla a um segundo dispositivo, essa conexão pode ser através de uma conexão direta ou através de uma conexão indireta por meio de outros dispositivos e conexões. Além disso, componentes que são integrados em ou com outros componentes também são acoplados um ao outro.
DESCRIÇÃO DETALHADA DAS MODALIDADES DA INVENÇÃO
[020] O padrão MPEG-4 AAC contempla que um fluxo de bits MPEG-4 AAC codificado inclui metadados indicativos de cada tipo de processamento de SBR a ser aplicado (caso algum deva ser aplicado) por um decodificador para decodificar conteúdo de áudio do fluxo de bits, e/ou que controla tal processamento de SBR, e/ou é indicativo de pelo menos uma característica ou parâmetro de pelo menos uma ferramenta de SBR a ser usada para decodificar o conteúdo de áudio do fluxo de bits. Aqui, usamos a expressão "metadados de SBR" para indicar metadados desse tipo que são descritos ou mencionados no padrão MPEG-4 AAC.
[021] O nível superior de um fluxo de bits de MPEG-4 AAC é uma sequência de blocos de dados (elementos "raw_data_block"), sendo que cada um deles é um segmento de dados (mencionado, na presente invenção, como "bloco") que contém dados de áudio (geralmente durante um período de tempo de 1024 ou 960 amostras) e informações relacionadas e/ou outros dados. Na presente invenção, utiliza-se o termo "bloco" para denotar um segmento de um fluxo de bits MPEG-4 AAC que compreende dados de áudio (e metadados correspondentes e, opcionalmente, também outros dados relacionados) que determina ou é indicativo de um (mas não mais do que um) elemento "raw_data_block".
[022] Cada bloco de um fluxo de bits MPEG-4 AAC pode incluir um número de elementos sintáticos (sendo que cada um deles também é materializado no fluxo de bits como um segmento de dados). Sete tipos desses elementos sintáticos são definidos no padrão MPEG-4 AAC. Cada elemento sintático é identificado por um valor diferente do elemento de dados "id_syn_ele". Exemplos de elementos sintáticos incluem um "single_channel_element()", um "channel_pair_element()" e um "fill_element()". Um único elemento de canal é um recipiente incluindo dados de áudio de um único canal de áudio (um sinal de áudio monofônico). Um elemento de par de canais inclui dados de áudio de dois canais de áudio (isto é, um sinal de áudio estéreo).
[023] Um elemento de preenchimento é um recipiente de informações que inclui um identificador (por exemplo, o valor do elemento indicado acima "id_syn_ele") seguido de dados, que são chamados de "dados de preenchimento". Os elementos de preenchimento têm sido historicamente usados para ajustar a taxa de bits instantânea dos fluxos de bits que deverão ser transmitidos ao longo de um canal de taxa constante. Ao se adicionar a quantidade adequada de dados de preenchimento em cada bloco, pode-se obter uma taxa de dados constante.
[024] De acordo com as modalidades da invenção, os dados de preenchimento podem incluir uma ou mais cargas úteis de extensão que estendem o tipo de dados (por exemplo, metadados) capazes de serem transmitidos em um fluxo de bits. Um decodificador que recebe fluxos de bits com dados de preenchimento contendo um novo tipo de dados pode ser opcionalmente usado por um dispositivo de recepção do fluxo de bits (por exemplo, um decodificador) para estender a funcionalidade do dispositivo. Dessa forma, conforme pode ser entendido pelo versado na técnica, os elementos de preenchimento são um tipo especial de estrutura de dados e são diferentes das estruturas de dados usadas, geralmente, para transmitir dados de áudio (por exemplo, cargas úteis de áudio contendo dados de canal).
[025] Em algumas modalidades da invenção, o identificador usado para identificar um elemento de preenchimento pode consistir em um primeiro bit mais significativo transmitido de um número inteiro sem sinal de três bits ("uimsbf") tendo um valor de 0x6. Em um bloco, podem ocorrer vários exemplos do mesmo tipo de elemento sintático (por exemplo, vários elementos de preenchimento).
[026] Um outro padrão para a codificação de fluxos de bits de áudio é o padrão MPEG Unified Speech and Audio Coding (Fala unificada e codificação de áudio, USAC) (ISO/IEC 23003-3:2012). O padrão MPEG USAC descreve a codificação e de- codificação do conteúdo de áudio através do processamento de replicação de banda espectral (incluindo processamento de SBR conforme descrito no padrão MPEG-4 AAC e também incluindo outras formas melhoradas de processamento de replicação de banda espectral). Esse processamento aplica ferramentas de replicação de banda espectral (às vezes mencionadas neste documento como "ferramentas de SBR melhoradas" ou "ferramentas de eSBR") de uma versão expandida e otimizada do conjunto de ferramentas de SBR descritas no padrão MPEG-4 AAC. Dessa forma, eSBR (conforme definido no padrão USAC) é um aprimoramento de SBR (conforme definido no padrão MPEG-4 AAC).
[027] Aqui, usamos a expressão "processamento de SBR melhorada" (ou "processamento de eSBR") para denotar o processamento de replicação de banda espectral com o uso de ao menos uma ferramenta de eSBR (por exemplo, pelo menos uma ferramenta de eSBR que é descrita ou mencionada no padrão MPEG USAC) que não é descrita ou mencionada no padrão MPEG-4 AAC. Exemplos de tais ferramentas de eSBR são a transposição harmônica, o pré-processamento adicional de reparo de QMF ou "pré-achatamento" e a formatação de envelope temporal da amostra entre sub-bandas ou "inter-TES".
[028] Um fluxo de bits gerado de acordo com o padrão MPEG USAC (às vezes, aqui chamado de "fluxo de bits USAC") inclui conteúdo de áudio codificado e inclui, geralmente, metadados indicativos de cada tipo de processamento de replica- ção de banda espectral a ser aplicado por um decodificador para decodificar o conteúdo de áudio do fluxo de bits USAC e/ou os metadados que controlam tal processamento de replicação de banda espectral e/ou são indicativos de pelo menos uma característica ou parâmetro de pelo menos uma ferramenta de SBR e/ou ferramenta de eSBR a ser empregada para decodificar conteúdo de áudio do fluxo de bits USAC.
[029] Na presente invenção, usamos a expressão "metadados de SBR melhorada" (ou "metadados de eSBR") para designar metadados indicativos de cada tipo de processamento de replicação de banda espectral a ser aplicado por um de- codificador para decodificar conteúdo de áudio de um fluxo de bits de áudio codificado (por exemplo, um fluxo de bits USAC) e/ou que controlam tal processamento de replicação de banda espectral e/ou que são indicativos de pelo menos uma característica ou parâmetro de pelo menos uma ferramenta de SBR e/ou ferramenta eSBR a ser empregada para decodificar tal conteúdo de áudio, mas que não é descrita ou mencionada no padrão MPEG-4 AAC. Um exemplo de metadados de eSBR são os metadados (indicativos de, ou para controlar, o processamento de replicação de banda espectral) que são descritos ou mencionados no padrão MPEG USAC mas não no padrão MPEG-4 AAC. Dessa forma, os metadados de eSBR da presente invenção designam metadados que não são metadados de SBR, e os metadados de SBR da presente invenção designam metadados que não são metadados de eSBR.
[030] Um fluxo de bits USAC pode incluir metadados de SBR e metadados de eSBR. Mais especificamente, um fluxo de bits USAC pode incluir metadados de eSBR que controlam o desempenho do processamento de eSBR através de um decodificador, e os metadados de SBR que controlam o desempenho do processamento de SBR pelo decodificador. De acordo com modalidades típicas da presente invenção, os metadados de eSBR (por exemplo, dados de configuração específicos para eSBR) são incluídos (de acordo com a presente invenção) em um fluxo de bits MPEG-4 AAC (por exemplo, no recipiente sbr_extension() no final da carga útil de SBR).
[031] O desempenho do processamento de eSBR, durante a decodificação de um fluxo de bits codificado com o uso de um conjunto de ferramentas de eSBR (que compreende pelo menos uma ferramenta de eSBR) por um decodificador, regenera a banda de alta frequência do sinal de áudio, com base na replicação de sequências de harmônicas que foram truncadas durante a decodificação. Tal processamento de eSBR geralmente ajusta o envelope espectral da banda de alta frequência gerada e aplica filtragem inversa e adiciona ruído componentes sinusoidais para recriar as características espectrais do sinal de áudio original.
[032] De acordo com as modalidades típicas da invenção, os metadados de eSBR são incluídos (por exemplo, um pequeno número de bits de controle que são metadados de eSBR são incluídos) em um ou mais segmentos de metadados de um fluxo de bits de áudio codificado (por exemplo, um fluxo de bits MPEG-4 AAC) que também incluem dados de áudio codificados em outros segmentos (segmentos de dados de áudio). Geralmente, pelo menos um desses segmentos de metadados de cada bloco de fluxo de bits é (ou inclui) um elemento de preenchimento (incluindo um identificador indicando o início do elemento de preenchimento), e os metadados de eSBR são incluídos no elemento de preenchimento após o identificador.
[033] A Figura 1 é um diagrama de blocos de uma cadeia de processamento de áudio exemplificadora (um sistema de processamento de dados de áudio), em que um ou mais dos elementos do sistema podem ser configurados de acordo com uma modalidade da presente invenção. O sistema inclui os seguintes elementos, acoplados juntos conforme mostrado: codificador 1, subsistema de transferência 2, decodifi- cador 3 e unidade de pós-processamento 4. Em variações do sistema mostrado, um ou mais dos elementos são omitidos ou unidades de processamento de dados de áudio adicionais são incluídas.
[034] Em algumas implementações, o codificador 1 (que, opcionalmente, inclui uma unidade de pré-processamento) é configurado para aceitar amostras de PCM (tempo-domínio) compreendendo conteúdo de áudio como entrada, e para produzir um fluxo de bits de áudio codificado (tendo um formato que é compatível com o padrão MPEG-4 AAC) que é indicativo do conteúdo de áudio. Os dados do fluxo de bits que são indicativos do conteúdo de áudio são, às vezes, chamados na presente invenção de "dados de áudio" ou "dados de áudio codificados". Se o codificador é configurado de acordo com uma modalidade típica da presente invenção, a saída do fluxo de bits de áudio do codificador inclui metadados de eSBR (e geralmente também outros metadados) bem como dados de áudio.
[035] Pode-se afirmar que uma ou mais saídas de fluxo de bits de áudio codificado do codificador 1 codificam o subsistema de produção de áudio codificado 2. O subsistema 2 é configurado para armazenar e/ou fornecer cada saída de fluxo de bits codificado do codificador 1. Uma saída de fluxo de bits de áudio codificado do codificador 1 pode ser armazenada pelo subsistema 2 (por exemplo, sob a forma de um disco de DVD ou Blu-Ray) ou transmitida pelo subsistema 2 (que pode imple- mentar um enlace ou rede de transmissão) ou pode ser armazenada e transmitida pelo subsistema 2.
[036] O decodificador 3 é configurado para decodificar um fluxo de bits de áudio MPEG-4 AAC codificado (gerado pelo codificador 1) que o mesmo recebe através do subsistema 2. Em algumas modalidades, o decodificador 3 é configurado para extrair metadados de eSBR de cada bloco do fluxo de bits, e para decodificar o fluxo de bits (incluindo através da execução do processamento de eSBR usando os metadados de eSBR extraídos) para gerar dados de áudio decodificados (por exemplo, fluxos de amostras de áudio PCM decodificado). Em algumas modalidades, o decodificador 3 é configurado para extrair metadados de SBR do fluxo de bits (mas para ignorar metadados de eSBR incluídos no fluxo de bits) e decodificar o fluxo de bits (incluindo pela execução do processamento de SBR com o uso dos metadados de SBR extraídos) para gerar dados de áudio decodificados (por exemplo, fluxos de amostras de áudio PCM decodificado). Geralmente, o decodificador 3 inclui uma memória intermediária (buffer) que armazena (por exemplo, de uma maneira não transitória) segmentos de fluxo de bits de áudio codificado recebido do subsistema 2.
[037] A unidade de pós-processamento da Figura 1 é configurada para aceitar um fluxo de dados de áudio decodificados a partir do decodificador 3 (por exemplo, amostras de áudio de PCM decodificado) para executar o pós- processamento no mesmo. A unidade de pós-processamento 4 pode também ser configurada para renderizar o conteúdo de áudio pós-processado (ou o áudio decodificado recebido do decodificador 3) para playback por um ou mais dos alto- falantes.
[038] A Figura 2 é um diagrama de blocos de um codificador (100) que é uma modalidade da unidade de processamento de áudio da invenção. Qualquer um dos componentes ou elementos do codificador 100 pode ser implementado como um ou mais processos e/ou um ou mais circuitos (por exemplo, ASICs, FPGAs ou outros circuitos integrados) em hardware, software ou uma combinação de hardware e software. O codificador 100 inclui o codificador 105, etapa de preenchedor/formatador 107, etapa de geração de metadados 106 e memória intermediária 109, conectados conforme mostrado. O codificador 100, também inclui, geralmente, outros elementos de processamento (não mostrados). O codificador 100 é configurado para converter um fluxo de bits de áudio de entrada em um fluxo de bits MPEG-4 AAC de saída codificado.
[039] O gerador de metadados 106 é acoplado e configurado para gerar (e/ou passar para a etapa 107) metadados (incluindo metadados de eSBR e metadados de SBR) para serem incluídos pela etapa 107 no fluxo de bits codificado para serem liberados pelo codificador 100.
[040] O codificador 105 é acoplado e configurado para codificar (por exemplo, ao executar a compressão no mesmo) os dados de áudio de entrada e para a asserção do áudio codificado resultante para a etapa 107 para inclusão no fluxo de bits codificados a serem liberados a partir da etapa 107.
[041] A etapa 107 é configurada para multiplexar o áudio codificado a partir do codificador 105 e os metadados 105 (incluindo metadados de eSBR e metadados de SBR) do gerador 106 para gerar o fluxo de bits codificado a ser liberado a partir da etapa 107, de preferência, de modo que o fluxo de bits codificado tenha um formato conforme especificado por uma das modalidades da presente invenção.
[042] A memória intermediária 109 é configurada para armazenar (por exemplo, de uma maneira não transitória) pelo menos um bloco da saída de fluxo de bits de áudio codificado da etapa 107, e uma sequência dos blocos do fluxo de bits de áudio codificado de tampão é, então, produzida pela memória intermediária 109 como saída do codificador 100 para um sistema de liberação.
[043] A Figura 3 é um diagrama de blocos de um sistema incluindo um de- codificador (200) que é uma modalidade da unidade de processamento de áudio da invenção, e, opcionalmente, também um pós-processador (300) acoplado à mesma. Qualquer um dos componentes ou elementos do decodificador 200 e do pós- processador 300 pode ser implementado como um ou mais processos e/ou um ou mais circuitos (por exemplo, ASICs, FPGAs ou outros circuitos integrados) em hardware, software ou uma combinação de hardware e software. O decodificador 200 compreende uma memória intermediária 201, um desformatador de carga útil de fluxo de bits (analisador) 205, um subsistema de decodificação de áudio 202 (às vezes chamado de etapa de decodificação "central" ou subsistema de decodifica- ção "central"), uma etapa de processamento de eSBR 203 e uma etapa de geração de bits de controle 204, conectada conforme mostrado. Também, tipicamente, o decodificador 200 inclui outros elementos de processamento (não mostrados).
[044] A memória intermediária (buffer) 201 armazena (por exemplo, de uma maneira não transitória) pelo menos um bloco de um fluxo de bits de áudio MPEG-4 AAC codificado recebido pelo decodificador 200. No funcionamento do decodificador 200, é feita asserção de uma sequência dos blocos do fluxo de bits do buffer 201 para o desformatador 205.
[045] Em variações da modalidade da Figura 3 (ou da modalidade da Figura 4 a ser descrita), uma APU que não é um decodificador (por exemplo, APU 500 da Figura 6) inclui uma memória intermediária (por exemplo, uma memória intermediária idêntica à memória intermediária 201) que armazena (por exemplo, de uma maneira não transitória) pelo menos um bloco de um fluxo de bits de áudio codificado (por exemplo, um fluxo de bits de áudio MPEG-4 AAC) do mesmo tipo recebido pela memória intermediária 201 da Figura 3 ou Figura 4 (isto é, um fluxo de bits de áudio codificado que inclui metadados de eSBR).
[046] Com referência novamente à Figura 3, o desformatador 205 é acoplado e configurado para demultiplexar cada bloco do fluxo de bits para extrair metadados de SBR (incluindo dados de envelope quantizados) e metadados de eSBR (e geralmente também outros metadados) dos mesmos, para asserção ao menos dos metadados de eSBR e dos metadados de SBR para a etapa de processamento de metadados de eSBR e, geralmente, também para asserção de outros metadados extraídos para decodificar o subsistema 202 (e opcionalmente também para controlar o gerador de bits 204). O desformatador 205 também é acoplado e configurado para extrair dados de áudio de cada bloco do fluxo de bits e para a asserção dos dados de áudio extraídos para o subsistema de decodificação (etapa de decodifica- ção) 202.
[047] O sistema da Figura 3 também inclui, opcionalmente, o pós- processador 300. O pós-processador 300 inclui uma memória intermediária (buffer) 301 e outros elementos de processamento (não mostrados), incluindo pelo menos um elemento de processamento acoplado ao buffer 301. O buffer 301 armazena (por exemplo, de uma maneira não transitória) pelo menos um bloco (ou quadro) dos dados de áudio decodificados recebidos do pós-processador 300 do decodificador 200. Os elementos de processamento do pós-processador 300 são acoplados e configurados para receber e processar de forma adaptável uma sequência dos blocos (ou quadros) da saída de áudio decodificada da memória intermediária 301, usando a saída de metadados do subsistema de decodificação 202 (e/ou o desformatador 205) e/ou a saída de bits de controle da etapa 204 do decodificador 200.
[048] O subsistema de decodificação de áudio 202 do decodificador 200 é configurado para decodificar os dados de áudio extraídos pelo analisador 205 (tal deco- dificação pode ser chamada de uma operação de decodificação "central") para gerar dados de áudio decodificados e para asserção dos dados de áudio decodificados para a etapa de processamento de eSBR 203. A decodificação é executada no domínio da frequência e geralmente inclui a quantização inversa seguida de processamento espectral. Geralmente, uma etapa final de processamento no subsistema 202 aplica uma transformada de domínio de frequência para domínio por tempo, para os dados de áu- dio decodificados de domínio da frequência, de modo que a saída do subsistema seja dados de áudio decodificados de domínio do tempo. A etapa 203 é configurada para aplicar as ferramentas de SBR e as ferramentas de eSBR indicadas pelos metadados de eSBR e os metadados de eSBR (extraída pelo analisador 205) para os dados de áudio decodificados (isto é, para executar o processamento de SBR e eSBR na saída do subsistema de decodificação 202 utilizando os metadados de SBR e eSBR) para gerar os dados de áudio totalmente decodificados que é a saída (por exemplo, para o pós-processador 300) a partir do decodificador 200. Geralmente, um decodificador 200 inclui uma memória (acessível pelo subsistema 202 e etapa 203) que armazena a saída de dados de áudio e metadados desformatados do desformatador 205 e a etapa 203 é configurada para acessar os dados e metadados de áudio (incluindo os metadados de SBR e metadados de eSBR), conforme necessário durante o processamento de SBR e eSBR. O processamento de SBR e o processamento de eSBR na etapa 203 podem ser considerados pós-processamento na saída do subsistema de decodificação central 202. Opcionalmente, o decodificador 200 inclui também um subsistema de upmixing (que pode aplicar ferramentas de estéreo paramétrico ("PS") definidas no padrão MPEG-4 AAC, usando metadados PS extraídos pelo desformatador 205 e/ou bits de controle gerados no subsistema 204) que é acoplado e configurado de modo a executar o upmi- xing na saída da etapa 203 para gerar áudio com upmixing totalmente decodificado que é produzido pelo decodificador 200. Alternativamente, o pós-processador 300 é configurado para executar o upmixing na saída do decodificador 200 (por exemplo, com o uso de metadados PS extraídos pelo desformatador 205 e/ou pelos bits de controle gerados no subsistema 204).
[049] Em resposta aos metadados extraídos pelo desformatador 205, o gerador de bits de controle 204 pode gerar dados de controle, e os dados de controle podem ser usados dentro do decodificador 200 (por exemplo, em um subsistema de upmixing final) e/ou pode ser feita asserção como saída do decodificador 200 (por exemplo, ao pós-processador 300 para uso em pós-processamento). Em resposta aos metadados extraídos do fluxo de bits de entrada (e opcionalmente também em resposta aos dados de controle), a etapa 204 pode gerar (e fazer asserção para o pós-processador 300) os bits de controle indicando que a saída de dados de áudio decodificados da etapa de processamento de eSBR 203 deve passar por um tipo específico de pós-processamento. Em algumas implementações, o decodificador 200 é configurado para a asserção de metadados extraídos pelo des- formatador 205 do fluxo de bits de entrada para o pós-processador 300, e o pós- processador 300 é configurado para executar o pós-processamento na saída de dados de áudio decodificados do decodificador 200 usando os metadados.
[050] A Figura 4 é um diagrama de blocos de uma unidade de processamento de áudio ("APU") (210), que é uma outra modalidade da unidade de processamento de áudio da invenção. A APU 210 é um decodificador antigo que não é configurado para executar o processamento de eSBR. Qualquer dos componentes ou elementos da APU 210 podem ser implementados como um ou mais processos e/ou um ou mais circuitos (por exemplo, ASICs, FPGAs ou outros circuitos integrados), em hardware, software ou uma combinação de hardware e software. A APU 210 compreende uma memória intermediária 201, um desformatador de carga útil de fluxo de bits (analisador) 215, um subsistema de decodificação de áudio 202 (às vezes, chamado de etapa de decodificação "central" ou subsistema de decodificação "central"), uma etapa de processamento de SBR 213, conectada conforme mostrado. A APU 210 inclui também, geralmente, outros elementos de processamento (não mostrados).
[051] Os elementos 201 e 202 da APU 210 são idênticos aos elementos do decodificador 200 numerados de forma idêntica (da Figura 3) e a descrição acima dos mesmos não será repetida. Na operação da APU 210, é feita a asserção de uma sequência de blocos de um fluxo de bits de áudio codificado (um fluxo de bits MPEG-4 AAC) recebido pela APU 210 da memória intermediária 210 para o desfor- matador 215.
[052] O desformatador 215 é acoplado e configurado para demultiplexar cada bloco do fluxo de bits para extrair metadados de SBR (incluindo dados de envelope quantizados) e geralmente também outros metadados a partir dali, mas para ignorar os metadados de eSBR que podem ser incluídos no fluxo de bits de acordo com qualquer modalidade da presente invenção. O desformatador 215 é configurado para asserção de pelo menos os metadados de SBR para a etapa de processamento de SBR 213. O desformatador 215 também é acoplado e configurado para extrair dados de áudio de cada bloco do fluxo de bits e para a asserção dos dados de áudio extraídos para o subsistema de decodificação (etapa de deco- dificação) 202.
[053] O subsistema de decodificação de áudio 202 do decodificador 200 é configurado para decodificar os dados de áudio extraídos pelo desformatador 215 (tal decodificação pode ser chamada de operação de decodificação "central") para gerar dados de áudio decodificados e para a asserção dos dados de áudio decodificados para a etapa de processamento de SBR 213. A decodificação é executada no domínio da frequência. Geralmente, uma etapa final de processamento no subsistema 202 aplica uma transformada de domínio de frequência para domínio por tempo, para os dados de áudio decodificados de domínio da frequência, de modo que a saída do subsistema seja dados de áudio decodificados de domínio do tempo. A etapa 213 é configurada para aplicar as ferramentas de SBR (mas não as ferramentas de eSBR) indicadas pelos metadados de SBR (extraídos pelo desformatador 215) para os dados de áudio decodificados (isto é, para executar o processamento de SBR na saída do subsistema de decodificação 202 utilizando os metadados de SBR) para gerar os dados de áudio totalmente decodificados que é a saída (por exemplo, para o pós-processador 300) da APU 210. Geralmente, a APU 210 inclui uma memória (acessível pelo subsistema 202 e pela etapa 213) que armazena a saída de dados e metadados de áudio desformatados do desformatador 215 e a etapa 213 é configurada para acessar os dados e metadados de áudio (incluindo os metadados de SBR), conforme necessário durante o processamento de SBR. O processamento de SBR na etapa 213 pode ser considerado pós-processamento na saída do subsistema de decodificação central 202. Opcionalmente, a APU 210 inclui também um subsistema de upmixing (que pode aplicar ferramentas de estéreo paramétrico ("PS") definidas no padrão MPEG-4 AAC, usando metadados de PS extraídos pelo desfor- matador 205) que é acoplado e configurado de modo a executar o upmixing na saída da etapa 213 para gerado áudio com upmixing totalmente decodificado que é produzido pela APU 210. Alternativamente, um pós-processador é configurado para executar o upmixing na saída da APU 210 (por exemplo, com o uso de metadados de PS extraídos pelo desformatador 215 e/ou pelos bits de controle gerados na APU 210).
[054] Várias implementações de codificador 100, decodificador 200 e APU 210 são configuradas para executar diferentes modalidades do método da invenção.
[055] De acordo com algumas modalidades, metadados de eSBR são incluídos (por exemplo, um pequeno número de bits de controle que são metadados de eSBR são incluídos) em um fluxo de bits de áudio codificado (por exemplo, um fluxo de bits MPEG-4 AAC), de modo que os decodificadores antigos (que não são configurados para analisar metadados de eSBR ou usar qualquer ferramenta de eSBR à qual os metadados de eSBR pertencem) possam ignorar os metadados de eSBR mas, no entanto, decodifiquem o fluxo de bits o máximo possível sem o uso de metadados de eSBR ou qualquer ferramenta de eSBR à qual os metadados de eSBR pertencem, Geralmente sem qualquer prejuízo significativo à qualidade de áudio decodificado. Entretanto, decodificadores eSBR configurados para analisar o fluxo de bits para identificar os metadados de eSBR e usar pelo menos uma ferramenta de eSBR em res- posta aos metadados de eSBR, apreciarão os benefícios do uso de pelo menos uma de tal ferramenta de eSBR. Portanto, as modalidades da invenção fornecem um meio para a transmissão eficiente dos dados ou metadados de controle da replicação de banda espectral melhorada (eSBR) de uma maneira retrocompatível.
[056] Geralmente, os metadados de eSBR no fluxo de bits são indicativos (por exemplo, indicativos de pelo menos uma característica ou parâmetro de) de uma ou mais das seguintes ferramentas de eSBR (que são descritas no padrão MPEG USAC e que podem ou não ter sido aplicadas por um codificador durante a geração de fluxo de bits): • Transposição harmônica; • pré-processamento adicional de reparo de QMF (pré-achatamento); e • formatação de envelope temporal da amostra entre sub-bandas "inter-TES".
[057] Por exemplo, os metadados de eSBR incluídos no fluxo de bits podem ser indicativos de valores dos parâmetros (descritos no padrão MPEG USAC e na presente revelação): harmonicSBR[ch], sbrPatchingMode[ch], sbrOversampling- Flag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch], bs_interTes, bs_temp_shape[ch][env], bs_inter_temp_shape_mode[ch][env] e bs_sbr_preprocessing.
[058] Aqui, a notação X[ch], onde X é algum parâmetro, denota que o parâmetro se refere ao canal ("ch") do conteúdo de áudio de um fluxo de bits codificado a ser decodificado. Por uma questão de simplicidade, às vezes a expressão [ch] é omitida e supõe-se que o parâmetro relevante refira-se a um canal de conteúdo de áudio.
[059] Aqui, a notação X[ch][env], onde X é algum parâmetro, denota que o parâmetro se refere ao envelope ("env") SBR do canal ("ch") do conteúdo de áudio de um fluxo de bits codificado a ser decodificado. Por uma questão de simplicidade, às vezes, as expressões [env] e [ch] são omitidas e supõe-se que o parâmetro relevante refira-se a um envelope de SBR de um canal de conteúdo de áudio.
[060] Conforme observado, o padrão MPEG USAC contempla que um fluxo de bits USAC inclui metadados de eSBR que controlam o desempenho do processamento de eSBR por um decodificador. Os metadados de eSBR incluem os seguintes parâmetros de metadados de um bit: harmonicSBR; bs_interTES; e bs_pvc.
[061] O parâmetro "harmonicSBR" indica o uso do reparo harmônico (transposição harmônica) para SBR. Especificamente, harmonicSBR = 0 indica o reparo espectral não harmônico conforme descrito na Seção 4.6.18.6.3 do padrão MPEG-4 AAC; e harmonicSBR = 1 indica o reparo de SBR harmônico (do tipo usado na eSBR, conforme descrito na Seção 7.5.3 ou 7.5.4 do padrão MPEG USAC). O reparo de SBR harmônico não é usado de acordo com a replicação de banda espectral não-eSBR (isto é, SBR que não é eSBR). Ao longo desta revelação, o reparo espectral é chamado de forma básica da replicação de banda espectral, enquanto a transposição harmônica é chamada de forma melhorada da replicação de banda espectral.
[062] O valor do parâmetro "bs_interTES" indica o uso da ferramenta inter- TES de eSBR.
[063] O valor do parâmetro "bs_pvc" indica o uso da ferramenta PVC de eSBR.
[064] Durante a decodificação de um fluxo de bits codificado, o desempenho da transposição harmônica durante uma etapa de processamento de eSBR da decodificação (para cada canal, "ch", do conteúdo de áudio indicado pelo fluxo de bits) é controlado pelos seguintes parâmetros de metadados de eSBR: sbrPatching- Mode[ch]: sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; e sbrPitchInBins[ch].
[065] O valor "sbrPatchingMode[ch]" indica o tipo de transpositor usado em eSBR: o valor sbrPatchingMode[ch] = 1 indica reparo não harmônico conforme descrito na Seção 4.6.18.6.3 do padrão MPEG-4 AAC; o valor sbrPatchingMo- de[ch] = 0 indica reparo de SBR harmônico conforme descrito na Seção 7.5.3 ou 7.5.4 do padrão MPEG USAC.
[066] O valor "sbrOversamplingFlag[ch]" indica o uso da sobreamostragem do domínio da frequência adaptável do sinal em eSBR em combinação com o reparo de SBR harmônico com base em DFT, conforme descrito na Seção 7.5.3 do padrão MPEG USAC. Essa sinalização controla o tamanho dos DFTs que são utilizados no transposi- tor: 1 indica a sobreamostragem do domínio de frequência adaptável do sinal ativado conforme descrito na Seção 7.5.3.1 do padrão MPEG USAC; 0 indica a sobreamostra- gem do domínio de frequência adaptável do sinal desativado conforme descrito na Seção 7.5.3.1 do padrão MPEG USAC.
[067] O valor "sbrPitchInBinsFlag[ch]" controla a interpretação do parâmetro sbrPitchInBins[ch]: 1 indica que o valor em sbrPitchInBins[ch] é válido e maior que zero; 0 indica que o valor de sbrPitchInBins[ch] é definido como zero.
[068] O valor "sbrPitchInBins[ch]" controla a adição dos termos do produto transversal no transpositor harmônico de SBR. O valor sbrPitchinBins[ch] é um valor de número inteiro na faixa de [0,127] e representa a distância medida nos pontos de frequência de um DFT da linha 1536 atuando sobre a frequência da amostragem do codificador central.
[069] Caso um fluxo de bits MPEG-4 AAC seja indicativo de um par de canais de SBR cujos canais não são acoplados (em vez de um canal de SBR único), o fluxo de bits é indicativo de dois exemplos da sintaxe acima (para transposição harmônica ou não harmônica), um para cada canal do sbr_channel_pair_element().
[070] A transposição harmônica da ferramenta de eSBR geralmente aprimora a qualidade dos sinais de música decodificados a um cruzamento relativamente baixo em relação às frequências. A transposição harmônica deve ser implementada no decodificador por transposição harmônica com base em DFT ou QMF. A transposição não harmônica (isto é, reparos espectrais legados ou cópias) tipicamente aprimora os sinais de fala. Por conseguinte, um ponto de partida na decisão de que tipo de transposição é preferível para a codificação do conteúdo de áudio específico é selecionar o método de transposição dependendo da detecção de fala/música com a transposição harmônica sendo usada no conteúdo musical e no reparo espectral no conteúdo de fala.
[071] O desempenho do pré-achatamento durante o processamento de eSBR é controlado pelo valor de um parâmetro de metadados de eSBR de um bit conhecido "bs_sbr_preprocessing", no sentido de que o pré-achatamento ou é executado ou não executado dependendo do valor desse bit único. Quando o algoritmo de reparo SBR QMF, conforme descrito na Seção 4.6.18.6.3 do padrão MPEG-4 AAC, é usado, a etapa de pré-achatamento pode ser executada (quando indicada pelo parâmetro "bs_sbr_preprocessing") em um esforço para evitar des- continuidades no formato do envelope espectral de um sinal de alta frequência sendo inserido em um ajustador de envelope subsequente (o ajustador de envelope executa uma outra etapa do processamento de eSBR). O pré-achatamento geralmente melhora a operação da etapa de ajuste de envelope subsequente, resultando em um sinal de banda alta que é percebido como sendo mais estável.
[072] O desempenho da formatação de envelope temporal entre subbandas (a ferramenta "inter-TES") durante o processamento de eSBR em um de- codificador é controlado pelos seguintes parâmetros de metadados de eSBR para cada envelope SBR ("env") de cada canal ("ch") de conteúdo de áudio de um fluxo de bits USAC que está sendo decodificado: bs_temp_shape[ch][env]; e bs_inter_temp_shape_mode[ch][env].
[073] A ferramenta inter-TES processa as amostras de sub-banda QMF subsequentes ao ajustador de envelope. Essa etapa de processamento formata o envelope temporal da banda de frequência mais alta com uma granularidade temporal mais fina que a do ajustador de envelope. Por meio da aplicação de um fator de ganho a cada amostra de sub-banda QMF em um envelope de SBR, inter-TES formata o envelope temporal entre as amostras de sub-banda QMF.
[074] O parâmetro "bs_temp_shape[ch][env]" é um sinalizador que sinaliza o uso de inter-TES. O parâmetro "bs_inter_temp_shape_mode[ch][env]" indica (conforme definido no padrão MPEG USAC) os valores do parâmetro Y em inter- TES.
[075] Espera-se que o requisito de taxa de dados geral para incluir em um fluxo de bits MPEG-4 AAC os metadados de eSBR indicativos das ferramentas de eSBR supracitadas (transposição harmônica, pré-achatamento e inter_TES) seja da ordem de algumas centenas de bits por segundo, devido ao fato de que apenas os dados de controle diferencial necessários para executar o processamento de eSBR são transmitidos de acordo com algumas modalidades da invenção. Decodificadores antigos podem ignorar essas informações pois as mesmas estão incluídas de uma maneira retrocompa- tível (como será explicado mais adiante). Portanto, o efeito prejudicial sobre a taxa de bits associada à inclusão de metadados de eSBR é desprezível, por várias razões, incluindo as seguintes: • A penalidade de taxa de bits (devido à inclusão dos metadados de eSBR) é uma fração muito pequena da taxa de bits total, devido ao fato de que apenas os dados de controle diferencial necessários para executar o processamento de eSBR são transmitidos (em vez de uma transmissão simultânea dos dados de controle de SBR); • O ajuste das informações de controle relacionadas a SBR geralmente não depende dos detalhes da transposição; e • A ferramenta inter-TES (empregada durante o processamento de eSBR) executa um pós-processamento de extremidade única do sinal transposto.
[076] Dessa forma, as modalidades da invenção fornecem um meio para a transmissão eficiente dos dados ou metadados de controle da replicação de banda espectral melhorada (eSBR) de uma maneira retrocompatível. Essa transmissão eficiente dos dados de controle de eSBR reduz os requisitos de memória nos decodifica- dores, codificadores e transcodificadores que usam aspectos da invenção, que não têm efeito adverso tangível sobre a taxa de bits. Além disso, os requisitos de complexidade e processamento associados à execução de eSBR, de acordo com as modalidades da invenção, também são reduzidos porque os dados de SBR precisam ser processados apenas uma vez e não transmitidos simultaneamente, o que seria o caso se um eSBR fosse tratado como um tipo de objeto completamente separado em MPEG-4 AAC em vez de ser integrado ao codificador MPEG-4 AAC de uma maneira retrocompatível.
[077] Em seguida, com referência à Figura 7, são descritos os elementos de um bloco ("raw_data_block") de um fluxo de bits MPEG-4 AAC no qual os metadados de eSBR são incluídos de acordo com algumas modalidades da presente invenção. A Figura 7 é um diagrama de um bloco (um "raw_data_block") do fluxo de bits MPEG-4 AAC, mostrando alguns dos segmentos do mesmo.
[078] Um bloco de um fluxo de bits MPEG-4 AAC pode incluir pelo menos um "single_channel_element()" (por exemplo, o elemento de canal único mostrado na Figura 7), e/ou pelo menos um "channel_pair_element()" (não mostrado especificamente na Figura 7, embora possa estar presente), incluindo dados de áudio para um programa de áudio. O bloco pode incluir também vários dos "fill_elements" (por exemplo, elemento de preenchimento 1 e/ou elemento de preenchimento 2 da Figura 7) incluindo os dados (por exemplo, metadados) relacionados ao programa. Cada "single_channel_element()" inclui um identificador (por exemplo, "ID1" da Figura 7), indicando o início de um único elemento de canal, e pode incluir dados de áudio indicativos de um canal diferente de um programa de áudio multicanal. Cada "channel_pair_element" inclui um identificador (não mostrado na Figura 7) indicando o início de um elemento de par de canais e pode incluir dados de áudio indicativos de dois canais do programa.
[079] Um fill_element (mencionado neste documento como um elemento de preenchimento) de um fluxo de bits MPEG-4 AAC inclui um identificador ("ID2" da Figura 7), indicando o início de um elemento de preenchimento e os dados de preenchimento após o identificador. O identificador ID2 pode consistir em um primeiro bit mais significativo transmitido de um número inteiro sem sinal ("uimsbf") de três bits tendo um valor de 0x6. Os dados de preenchimento podem incluir um elemento extension_payload() (algumas vezes chamados aqui como de carga útil de extensão), cuja sintaxe é mostrada na Tabela 4.57 do padrão MPEG-4 AAC. Vários tipos de cargas úteis de extensão existem e são identificadas através do parâmetro "ex- tension_type", que é um primeiro bit mais significativo transmitido de um número inteiro sem sinal ("uimsbf") de quatro bits.
[080] Os dados de preenchimento (por exemplo, uma carga útil de extensão dos mesmos) podem incluir um cabeçalho ou identificador (por exemplo, "hea- der1" da Figura 7) que indica um segmento de dados de preenchimento que é indicativo de um objeto SBR (isto é, o cabeçalho inicializa um tipo de "objeto SBR", chamado de sbr_extension_data () no padrão MPEG-4 AAC). Por exemplo, uma carga útil de extensão de replicação de banda espectral (SBR) é identificada com o valor de carga de '1101' ou '1110' para o campo extension_type no cabeçalho com o identificador '1101' identificando uma carga útil de extensão com os dados SBR e '1110' identificando e carga útil de extensão com dados de SBR com uma verificação de redundância cíclica (CRC) para verificar a exatidão dos dados de SBR.
[081] Quando o cabeçalho (por exemplo, o campo extension_type) inicializa um tipo de objeto de SBR, os metadados de SBR (algumas vezes aqui chamados de "dados de replicação de banda espectral" chamados de sbr_data() no padrão MPEG-4 AAC) seguem o cabeçalho, e pelo menos um elemento de extensão de re- plicação de banda espectral (por exemplo, o "elemento de extensão de SBR" do elemento de preenchimento 1 da Figura 7) pode seguir os metadados de SBR. Tal elemento de extensão de replicação de banda espectral (um segmento de fluxo de bits) é chamado de recipiente "() sbr_extension" no padrão MPEG-4 AAC. Um elemento de extensão de replicação de banda espectral inclui, opcionalmente, um cabeçalho (por exemplo, "cabeçalho de extensão SBR" do elemento de preenchimento 1 da Figura 7).
[082] O padrão MPEG-4 AAC contempla que um elemento de extensão de replicação de banda espectral pode incluir dados PS (estéreo paramétrico) para dados de áudio de um programa. O padrão MPEG-4 AAC contempla que, quando o cabeçalho de um elemento de preenchimento (por exemplo, de uma carga útil de extensão do mesmo) inicializa um tipo de objeto SBR (assim como o "header1" da Figura 7) e um elemento de extensão de replicação de banda espectral do elemento de preenchimento inclui dados PS, o elemento de preenchimento (por exemplo, a carga útil de extensão do mesmo) inclui dados de replicação de banda espectral, e um parâmetro "bs_extension_id" cujo valor (isto é, bs_extension_id = 2) indica que os dados de PS são incluídos em um elemento de extensão de banda espectral do elemento de preenchimento.
[083] De acordo com algumas modalidades da presente invenção, os metadados de eSBR (por exemplo, um sinalizador indicativo de se o processamento de replicação de banda espectral aumentada (eSBR) deve ser executado no conteúdo de áudio do bloco) são incluídos em um elemento de extensão de replicação de banda espectral de um elemento de preenchimento. Por exemplo, tal sinalizador é indicado no elemento de preenchimento 1 da Figura 7, onde o sinalizador ocorre após o cabeçalho (o "cabeçalho de extensão SBR" do elemento de preenchimento 1) do "elemento de extensão SBR" do elemento de preenchimento 1. Opcionalmente, tal sinalizador e os metadados de eSBR adicionais são incluídos em um elemento de extensão de replicação de banda espectral após o cabeçalho do elemento de extensão de replica- ção de banda espectral (por exemplo, no elemento de extensão SBR do elemento de preenchimento 1 na Figura 7, após o cabeçalho de extensão SBR). De acordo com algumas modalidades da presente invenção, um elemento de preenchimento que inclui metadados de eSBR inclui também um parâmetro "bs_extension_id" cujo valor (por exemplo, bs_extension_id = 3) indica que os metadados de eSBR são incluídos no elemento de preenchimento e que o processamento de eSBR deve ser executado no conteúdo de áudio do bloco relevante.
[084] De acordo com algumas modalidades da invenção, os metadados de eSBR são incluídos em um elemento de preenchimento (por exemplo, elemento de preenchimento 2 da Figura 7) de um fluxo de bits MPEG-4 AAC diferente de um elemento de extensão de replicação de banda espectral (elemento de extensão SBR) do elemento de preenchimento. Isso se deve ao fato de que os elementos de preenchimento que contêm um extension_payload() com dados de SBR ou dados de SBR com um CRC não contêm qualquer carga útil de extensão de qualquer outro tipo de extensão. Portanto, em modalidades onde os metadados de eSBR são armazenados na sua própria carga útil de extensão, um elemento de preenchimento separado é usado para armazenar os metadados de eSBR. Tal elemento de preenchimento inclui um identificador (por exemplo, "ID2" da Figura 7), indicando o início de um elemento de preenchimento e os dados de preenchimento após o identificador. Os dados de preenchimento podem incluir um elemento extension_payload() (algumas vezes chamados aqui como de carga útil de extensão), cuja sintaxe é mostrada na Tabela 4.57 do padrão MPEG-4 AAC. Os dados de preenchimento (por exemplo, uma carga útil de extensão dos mesmos) incluem um cabeçalho (por exemplo, "header2" do elemento de preenchimento 2 da Figura 7) que é indicativo de um objeto eSBR (isto é, o cabeçalho inicializa um tipo de objeto de replicação de banda espectral melhorada (eSBR)), e os dados de preenchimento (por exemplo, uma carga útil de extensão dos mesmos) incluem os metadados de eSBR após o cabeçalho. Por exemplo, o elemento de preenchimento 2 da Figura 7 inclui tal cabe- çalho ("header2") e também inclui, após o cabeçalho, metadados de eSBR (isto é, o "sinalizador" no elemento de preenchimento 2, que é indicativo de se o processamento de replicação de banda espectral aumentada (eSBR) deve ser executado em conteúdo de áudio do bloco). Opcionalmente, os metadados de eSBR adicionais também são incluídos nos dados de preenchimento do elemento de preenchimento 2 da Figura 7 após o cabeçalho 2. Nas modalidades que são descritas no presente parágrafo, o cabeçalho (por exemplo, o cabeçalho 2 da Figura 7) tem um valor de identificação que não é um dos valores convencionais especificados na Tabela 4.57 do padrão MPEG-4 AAC, e em vez disso é indicativo de uma carga útil de extensão de eSBR (de modo que o campo extension_type do cabeçalho indica que os dados de preenchimento incluem metadados de eSBR).
[085] Em uma primeira classe de modalidades, a invenção é uma unidade de processamento de áudio (por exemplo, um decodificador), que compreende: uma memória (por exemplo, memória intermediária 201 da Figura 3 ou 4) configurada para armazenar pelo menos um bloco de um fluxo de bits de áudio codificado (por exemplo, pelo menos um bloco de um fluxo de bits MPEG-4 AAC); um desformatador de carga útil de fluxo de bits (por exemplo, o elemento 205 da Figura 3 ou o elemento 215 da Figura 4) acoplado à memória e configurado para demultiplexar ao menos uma porção do dito bloco do fluxo de bits; e um subsistema de decodificação (por exemplo, elementos 202 e 203 da Figura 3, ou os elementos 202 e 213 da Figura 4), acoplado e configurado para decodificar pelo menos uma porção do conteúdo de áudio do dito bloco do fluxo de bits, sendo que o bloco inclui: um elemento de preenchimento, que inclui um identificador indicando um início do elemento de preenchimento (por exemplo, o identificador "id_syn_ele" tendo valor 0x6, da Tabela 4.85 do padrão MPEG-4 AAC) e os dados de preenchimento após o identificador, sendo que os dados de preenchimento incluem: pelo menos um sinalizador identificando se o processamento da replicação de banda espectral melhorada (eSBR) deve ser executado no conteúdo de áudio do bloco (por exemplo, com o uso de dados de replicação de banda espectral e metadados de eSBR incluídos no bloco).
[086] O sinalizador são metadados de eSBR, e um exemplo de sinalizador é o indicador sbrPatchingMode. Um outro exemplo de sinalizador é o indicador harmonicSBR. Ambos os sinalizadores indicam se uma forma básica de replicação de banda espectral ou uma forma melhorada da replicação espectral deve ser executada nos dados de áudio do bloco. A forma básica de replicação espectral é o reparo espectral e a forma melhorada da replicação de banda espectral é a transposição harmônica.
[087] Em algumas modalidades, os dados de preenchimento também incluem metadados de eSBR adicionais (isto é, metadados de eSBR além do sinalizador).
[088] A memória pode ser uma memória intermediária (por exemplo, uma implementação da memória intermediária 201 da Figura 4) que armazena (por exemplo, de uma maneira não transitória) o pelo menos um bloco do fluxo de bits de áudio codificado.
[089] Estima-se que a complexidade do desempenho do processamento de eSBR (usando a transposição harmônica de eSBR, pré-achatamento e ferramentas inter_TES) por um decodificador de eSBR durante a decodificação de um fluxo de bits MPEG-4 AAC que inclui metadados de eSBR (indicativo dessas ferramentas de eSBR) seria a seguinte (para decodificação típica com os parâmetros indicados): o Transposição harmônica (16 kbp, 14.400/28.800 Hz) o com base em DFT: 3,68 WMOPS (ponderado em milhão de operações por segundo); o com base em QMF: 0,98 WMOPS; • pré-processamento de reparo de QMF (pré-achatamento): 0,1 WMOPS e • formatação de envelope temporal da amostra entre sub-bandas (inter- TES): No máximo WMOPS 0,16.
[090] Sabe-se que a transposição com base em DFT tem, geralmente, um desempenho melhor que a transposição com base em QMF para elementos transientes.
[091] De acordo com algumas modalidades da presente invenção, um elemento de preenchimento (de um fluxo de bits de áudio codificado) que inclui metadados de eSBR também inclui um parâmetro (por exemplo, um parâmetro de "bs_extension_id") cujo valor (por exemplo, bs_extension_id = 3) indica que os metadados de eSBR são incluídos no elemento de preenchimento e que o processamento de eSBR deve ser executado no conteúdo de áudio do bloco e/ou ou um parâmetro relevante (por exemplo, o mesmo parâmetro "bs_extension_id") cujo valor (por exemplo, bs_extension_id = 2) sinaliza que um recipiente sbr_extension() do elemento de preenchimento inclui dados de PS. Por exemplo, conforme indicado na Tabela 1 abaixo, tal parâmetro tendo o valor bs_extension_id = 2 pode indicar que um recipiente sbr_extension() do elemento de preenchimento inclui dados PS e tal parâmetro tendo o valor bs_extension_id = 3 pode indicar que o recipiente sbr_extension() do elemento de preenchimento inclui os metadados de eSBR: Tabela 1
[092] De acordo com algumas modalidades da invenção, a sintaxe de cada elemento de extensão de replicação de banda espectral que inclui metadados de eSBR e/ou dados de PS é conforme indicado na Tabela 2 abaixo (em que "sbr_extension ()" designa um recipiente que é o elemento de extensão de replica- ção de banda espectral, "bs_extension_id" é conforme descrito na Tabela 1 acima, "ps_data" designa dados de PS e "esbr_data" designa metadados de eSBR): Tabela 2
[093] Em uma modalidade exemplificadora, o esbr_data() mencionado na Tabela 2 acima é indicativo de valores dos seguintes parâmetros de metadados: 1. cada um dos parâmetros de metadados de um bit descritos acima "harmoni- cSBR"; "bs_interTES"; e "bs_sbr_preprocessing"; 2. para cada canal ("ch") de conteúdo de áudio do fluxo de bits codificado a ser decodificado, cada um dos parâmetros descritos acima: "sbrPatchingMode[ch]"; "sbrO- versamplingFlag[ch]"; "sbrPitchInBinsFlag[ch]"; e "sbrPitchInBins[ch]"; e 3. para cada envelope SBR ("env") de cada canal ("ch") do conteúdo de áudio do fluxo de bits codificado a ser decodificado, cada um dos parâmetros descritos acima: "bs_temp_shape[ch][env]"; e "bs_inter_temp_shape_mode[ch][env]".
[094] Por exemplo, em algumas modalidades, o esbr_data() pode ter a sintaxe indicada na Tabela 3 para indicar esses parâmetros de metadados: Tabela 3
[095] Na Tabela 3, o número na coluna central indica o número de bits do parâmetro correspondente na coluna da esquerda.
[096] A sintaxe acima possibilita uma implementação eficaz de uma forma melhorada da replicação de banda espectral, como transposição harmônica, como uma extensão para um decodificador antigo. Especificamente, os dados de eSBR da Tabela 3 incluem apenas os parâmetros necessários para executar a forma melhorada da replicação de banda espectral que não são suportados no fluxo de bits ou diretamente deriváveis dos parâmetros já suportados no fluxo de bits. Todos os outros parâmetros e dados de processamento necessários para executar a forma melhorada de replicação de banda espectral são extraídos de parâmetros pré- existente nos locais de fluxo de bits já definidos. Isto está em contraste com uma implementação alternativa (e menos eficiente) que simplesmente transmite todos os metadados de processamento usados para a replicação de banda espectral aumentada.
[097] Por exemplo, um decodificador em conformidade com MPEG-4 HE- AAC ou HE-AAC v2 pode ser expandido para incluir uma forma melhorada da re- plicação de banda espectral, como transposição harmônica. Essa forma melhorada de replicação de banda espectral é, em adição à forma básica de replicação de banda espectral, já suportada pelo decodificador. No contexto de um decodificador em conformidade com MPEG-4 HE-AAC ou HE-AAC v2, essa forma básica de re- plicação de banda espectral é a ferramenta de SBR espectral QMF conforme definido na Seção 4.6.18 do padrão MPEG-4 AAC.
[098] Na execução da forma melhorada da replicação de banda espectral, um decodificador HE-AAC expandido pode reutilizar muitos dos parâmetros de fluxo de bits já incluídos na carga útil da extensão SBR do fluxo de bits. Os parâmetros específicos que podem ser reutilizados incluem, por exemplo, os vários parâmetros que determinam a tabela da banda de frequência mestra. Esses parâmetros incluem bs_start_freq (parâmetro que determina o início do parâmetro da tabela de frequência mestra), bs_stop_freq (parâmetro que determina a interrupção da tabela de frequência mestra), bs_freq_scale (parâmetro que determina o número de bandas de frequência por oitava) e bs_alter_scale (parâmetro que altera a escala das bandas de frequência). Os parâmetros que podem ser reutilizados também incluem parâmetros que determinam a tabela de banda de ruído (bs_noise_bands) e os parâmetros limitadores da tabela de banda (bs_limiter_bands).
[099] Em adição aos vários parâmetros, outros elementos de dados também podem ser reutilizados por um decodificador HE-AAC expandido na execução de uma forma melhorada da replicação de banda espectral de acordo com as modalidades da invenção. Por exemplo, os dados de envelope e os dados de piso de ruído podem também ser extraídos a partir dos dados bs_data_env e bs_noise_env e usados durante a forma melhorada da replicação de banda espectral.
[0100] Em essência, essas modalidades exploram os parâmetros de configuração e os dados de envelope já suportados por um decodificador HE-AAC ou HE-AAC v2 antigo na carga útil da extensão de SBR para possibilitar uma forma melhorada de replicação de banda espectral que exige o mínimo possível de dados transmitidos. Consequentemente, os decodificadores expandidos que suportam uma forma melhorada de replicação de banda espectral podem ser criados de uma maneira muito eficiente contando com elementos de fluxo de bits já definidos (por exemplo, aqueles na carga útil de extensão de SBR) e adicionando apenas os parâmetros necessários para suportar a forma melhorada da replicação de banda espectral (em uma carga útil de extensão do elemento de preenchimento). Essa característica de redução de dados combinada com o posicionamento dos parâmetros recém-adicionados em um campo de dados reservado, como um recipiente de extensão, reduz substancialmente as barreiras para criar um decodificador que suporta uma forma melhorada de replicação de banda espectral assegurando que o fluxo de bits seja retrocompatível com o decodificador antigo que não suporta a forma melhorada de replicação de banda espectral.
[0101] Em algumas modalidades, a invenção é um método que inclui uma etapa de codificar dados de áudio codificados para gerar um fluxo de bits codificado (por exemplo, um fluxo de bits MPEG-4 AAC), incluindo metadados de eSBR em pelo menos um segmento de pelo menos um bloco do fluxo de bits e dados de áudio codificados e em pelo menos um outro segmento do bloco. Em modalidades típicas, o método inclui uma etapa de multiplexação de dados de áudio com os metadados de eSBR em cada bloco do fluxo de bits codificado. Na decodificação típica do fluxo de bits codificado em um decodificador de eSBR, o decodificador extrai os metadados de eSBR do fluxo de bits (incluindo análise e demultiplexação dos metadados de eSBR e dos dados de áudio) e usa os metadados de eSBR para processar os dados de áudio para gerar um fluxo de dados de áudio decodificados.
[0102] Um outro aspecto da invenção é um decodificador de eSBR configurado para executar o processamento de eSBR (por exemplo, com o uso de ao menos uma dentre as ferramentas de eSBR conhecidas, como transposição harmônica, pré-achatamento ou inter_TES) durante a decodificação de um fluxo de bits de áudio codificado (por exemplo, um fluxo de bits de MPEG-4 AAC) que não inclui metadados de eSBR. Um exemplo de tal decodificador será descrito com referência à Figura 5.
[0103] O decodificador de eSBR (400) da Figura 5 inclui a memória intermediária 201 (que é idêntica à memória 201 das Figuras 3 e 4), o desformatador de carga útil de fluxo de bits 215 (que é idêntico ao desformatador da Figura 4), o subsistema de decodificação de áudio 202 (às vezes chamado de etapa de decodi- ficação "central" ou subsistema de decodificação "central", e que é idêntico ao subsistema de decodificação central 202 da Figura 3), o subsistema de geração de dados de controle eSBR 401, e a etapa de processamento de eSBR 203 (que é idêntica à etapa 203 da Figura 3), conectada conforme mostrado. Também, geral-mente, o decodificador 400 inclui outros elementos de processamento (não mostrados).
[0104] Na operação do decodificador 400, é feita a asserção de uma sequência de blocos de um fluxo de bits de áudio codificado (um fluxo de bits MPEG-4 AAC) recebidos pelo decodificador 400 da memória intermediária 210 para o desformatador 215.
[0105] O desformatador 215 é acoplado e configurado para a demultiplexa- ção de cada bloco do fluxo de bits para extrair metadados de SBR (incluindo dados de envelope quantizado) e geralmente também outros metadados a partir dali. O desformatador 215 é configurado para asserção de pelo menos os metadados de eSBR para a etapa de processamento de SBR 203. O desformatador 215 também é acoplado e configurado para extrair dados de áudio de cada bloco do fluxo de bits e para a asserção dos dados de áudio extraídos para o subsistema de decodificação (etapa de decodificação) 202.
[0106] O subsistema de decodificação de áudio 202 do decodificador 400 é configurado para decodificar os dados de áudio extraídos pelo desformatador 215 (tal decodificação pode ser chamada de operação de decodificação "central") para gerar dados de áudio decodificados e para a asserção dos dados de áudio decodificados para a etapa de processamento de eSBR 203. A decodificação é executada no domínio da frequência. Geralmente, uma etapa final de processamento no subsistema 202 aplica uma transformada de domínio de frequência para domínio por tempo, para os dados de áudio decodificados de domínio da frequência, de modo que a saída do subsistema seja dados de áudio decodificados de domínio do tempo. A etapa 203 é configurada para aplicar as ferramentas de SBR (e as ferramentas de eSBR) indicadas pelos metadados de SBR (extraídos pelo desformatador 215) e pelos metadados de eSBR gerados no subsistema 401 para os dados de áudio decodificados (isto é, para executar o processamento de SBR e eSBR na saída do subsistema de decodificação 202 utilizando os metadados de SBR e eSBR) para gerar os dados de áudio totalmente decodificados que é a saída do decodificador 400. Geralmente, o decodificador 400 inclui uma memória (acessível pelo subsistema 202 e pela etapa 203) que armazena a saída de dados e metadados de áudio desformatados do desformatador 215 (e opcionalmente também o subsistema 401), e a etapa 203 é configurada para acessar os dados e metadados de áudio, conforme necessário durante o processamento de SBR e eSBR. O processamento de SBR na etapa 203 pode ser considerado pós-processamento na saída do subsistema de de- codificação central 202. Opcionalmente, o decodificador 400 inclui também um subsistema de upmixing (que pode aplicar ferramentas de estéreo paramétrico ("PS") definidas no padrão MPEG-4 AAC, usando metadados de PS extraídos pelo desfor- matador 205) que é acoplado e configurado de modo a executar o upmixing na saída da etapa 203 para gerar áudio com upmixing totalmente codificado [[d]] que é produzido pela APU 210.
[0107] O subsistema de geração de dados de controle da Figura 5 é acoplado e configurado para detectar pelo menos uma propriedade do fluxo de bits de áudio codificado a ser decodificado, e para gerar dados de controle de eSBR (que podem ser ou incluir metadados de eSBR de qualquer um dos tipos incluídos nos fluxos de bits de áudio codificado, de acordo com outras modalidades da invenção), em resposta a pelo menos um resultado da etapa de detecção. É feita a asserção dos dados de controle de eSBR para a etapa 203 para ativar a aplicação de ferramentas de eSBR individuais ou combinações de ferramentas de eSBR mediante a detecção de uma propriedade específica (ou combinação de propriedades) do fluxo de bits e/ou para controlar a aplicação de tais ferramentas de eSBR. Por exemplo, para controlar o desempenho do controle do processamento de eSBR usando a transposição harmônica, algumas modalidades do subsistema de geração de dados de controle 401 pode incluir: um detector de música (por exemplo, uma versão simplificada de um detector convencional de música) para definir o parâmetro o sbrPatchingMode[ch] (e asserção do conjunto de parâmetros para a etapa 203) em resposta à detecção de que o fluxo de bits é ou não indicativo de música; um detector temporário para definir o parâmetro sbrOversamplingFlag[ch] (e asserção do conjunto de parâmetros para a etapa 2013) em resposta à detecção da presença ou ausência de elementos transientes no conteúdo de áudio indicado pelo fluxo de bits; e/ou um detector de espaçamento para definir os parâmetros de sbrPitchInBinsFlag[ch] e sbrPitchInBins[ch] (e asserção do conjunto de parâmetros para a etapa 203) em resposta à detecção do espaçamento do conteúdo de áudio indicado pelo fluxo de bits. Outros aspectos da invenção são métodos de decodifi- cação de fluxo de bits de áudio executados por qualquer modalidade do decodifi- cador da invenção descrita neste parágrafo e no parágrafo anterior.
[0108] Os aspectos da invenção incluem um método de codificação ou de- codificação do tipo para o qual qualquer modalidade de APU, sistema ou dispositivo da invenção é configurada (por exemplo, programado) para executar. Outros aspectos da invenção incluem um sistema ou dispositivo configurado (por exemplo, pro- gramado) para executar qualquer modalidade do método da invenção, e uma mídia legível por computador (por exemplo, um disco) que armazena código (por exemplo, de uma maneira não-transitória) para implementar qualquer modalidade do método da invenção ou suas etapas. Por exemplo, o sistema da invenção pode ser ou incluir um processador programável de uso geral, um processador de sinal digital ou microprocessador, programados com software ou firmware, e/ou de outro modo configurados para executar qualquer de uma variedade de operações de dados, incluindo uma modalidade do método da invenção ou suas etapas. Esse processador de uso geral pode ser ou incluir um sistema de computador incluindo um dispositivo de entrada de dados, uma memória e circuito de processamento programado (e/ou de outro modo configurado) para executar uma modalidade do método da invenção (ou suas etapas) em resposta aos dados a ele designado.
[0109] As modalidades da presente invenção podem ser implementadas em hardware, firmware, ou software, ou uma combinação de ambos (por exemplo, como uma matriz de lógica programável). A menos que de outro modo especificado, os algoritmos ou processos incluídos como parte da invenção não são inerentemente relacionados a qualquer computador ou outro aparelho específico. Em particular, várias máquinas de propósito geral podem ser usadas com programas escritos de acordo com os ensinamentos da presente invenção, ou pode ser mais conveniente construir aparelho mais especializado (por exemplo, circuitos integrados) para exe-cutar as etapas exigidas do método. Dessa forma, a invenção pode ser implementada em um ou mais programas de computador executado em um ou mais sistemas de computador programáveis (por exemplo, uma implementação de qualquer um dos elementos da Figura 1, ou o codificador 100 da Figura 2 (ou um elemento do mesmo), ou o decodificador 200 da Figura 3 (ou um elemento do mesmo) ou o decodifi- cador 210 da Figura 4 (ou um elemento do mesmo) ou o decodificador 400 da Figura 5 (ou a um elemento do mesmo)), cada um compreendendo pelo menos um proces- sador, pelo menos um sistema de armazenamento de dados (incluindo memória volátil e não volátil e/ou elementos de armazenamento), pelo menos um dispositivo ou porta de entrada, e pelo menos um dispositivo ou porta de saída. O código de programa é aplicado para que os dados de entrada realizem as funções aqui descritas e gerar informações de saída. As informações de saída são aplicadas a um ou mais dispositivos de saída, de maneira conhecida.
[0110] Cada um desses programas pode ser implementado em qualquer linguagem de computador desejada (incluindo máquina, montagem ou de alto nível processual, lógica, ou linguagens de programação orientadas a objeto) para se comunicar com um sistema de computador. Em qualquer caso, a linguagem pode ser uma linguagem compilada ou interpretada.
[0111] Por exemplo, quando implementadas por sequências de instrução de software de computador, várias funções e etapas das modalidades da invenção podem ser implementadas por sequências de instruções de software multitarefa executadas em hardware de processamento de sinal digital adequado, no qual os vários dispositivos, etapas e funções das modalidades podem corresponder às porções das instruções de software.
[0112] Cada um desses programas de computador é de preferência armazenado em ou transferido para um meio ou dispositivo de armazenamento (por exemplo, memória ou meio de estado sólido, ou meio magnético ou óptico) legível por um computador programável de propósito geral ou especial, para configurar e operar o computador quando o meio ou dispositivo de armazenamento é lido pelo computador para executar os procedimentos aqui descritos. O sistema da invenção pode também ser implementado como uma mídia de armazenamento legível por computador, configurada com (ou seja, armazenamento) um programa de computador, onde a mídia de armazenamento assim configurada faz com que um sistema de computador funcione de uma maneira específica e predefinida para executar as fun- ções aqui descritas.
[0113] Várias modalidades da invenção foram descritas. No entanto, deve- se compreender que várias modificações podem ser feitas sem que se desvie do espírito e escopo da invenção. Numerosas modificações e variações da presente invenção são possíveis à luz dos ensinamentos acima. Deve-se compreender que dentro do escopo das reivindicações em anexo, a invenção pode ser posta em prática de outro modo que não especificamente descrito aqui. Quaisquer números de referência contidos nas reivindicações a seguir são incluídos para propósitos ilustrativos apenas e não devem ser usados para interpretar ou limitar as reivindicações em qualquer maneira que seja.

Claims (15)

1. Unidade de processamento de áudio (210) CARACTERIZADA por compreender: um desformatador de carga útil de fluxo de bits (215) configurado para de- multiplexar um bloco de um fluxo de bits de áudio codificado; e um subsistema de decodificação (202) acoplado ao desformatador de carga útil de fluxo de bits (215) e configurado para decodificar pelo menos uma porção do bloco do fluxo de bits de áudio codificado, em que o bloco do fluxo de bits de áudio codificado inclui: um elemento de preenchimento com um identificador indicando um início do elemento de preenchimento e dados de preenchimento após o identificador, em que os dados de preenchimento incluem: pelo menos um sinalizador identificando se uma forma básica de replicação de banda espectral ou uma forma melhorada de replicação de banda espectral deve ser executada em conteúdo de áudio do bloco do fluxo de bits de áudio codificado, em que a forma básica de replicação de banda espectral inclui reparo espectral, a forma melhorada de replicação de banda espectral inclui transposição harmônica, um valor do sinalizador indica que a dita forma melhorada de replicação de banda espectral deve ser executada no conteúdo de áudio, e outro valor do sinalizador indica que a dita forma básica de replicação de banda espectral, mas não a dita transposição harmônica, deve ser executada no conteúdo de áudio, em que a unidade de processamento de áudio (210) é um decodificador de áudio e o identificador é um primeiro bit mais significativo transmitido de um número inteiro sem sinal de três bits e tendo um valor de 0x6.
2. Unidade de processamento de áudio (210), de acordo com a reivindicação 1, CARACTERIZADA pelo fato de que os dados de preenchimento incluem uma carga útil de extensão, a carga útil de extensão inclui dados de extensão de replicação de banda espectral e a carga útil de extensão é identificada com um primeiro bit mais significativo transmitido de um número inteiro sem sinal de quatro bits e tendo um valor de '1101' ou '1110'.
3. Unidade de processamento de áudio (210), de acordo com a reivindicação 1, CARACTERIZADA pelo fato de que o bloco do fluxo de bits de áudio codificado inclui um primeiro elemento de preenchimento e um segundo elemento de preenchimento, e dados de replicação de banda espectral são incluídos no primeiro elemento de preenchimento e no primeiro sinalizador, mas não nos dados de replicação de banda espectral, são incluído no segundo elemento de preenchimento.
4. Unidade de processamento de áudio (210), de acordo com a reivindicação 1, CARACTERIZADA pelo fato de que a forma melhorada de processamento de replicação de banda espectral inclui transposição harmônica, a forma básica de processamento de replicação de banda espectral inclui reparo espectral, um valor do primeiro sinalizador indica que o dito processamento de replicação de banda espectral de forma melhorada deve ser executado em conteúdo de áudio do bloco do fluxo de bits de áudio codificado e outro valor do primeiro sinalizador indica que reparo espectral, mas não a dita transposição harmônica, deve ser executado em conteúdo de áudio do bloco do fluxo de bits de áudio codificado.
5. Unidade de processamento de áudio (210), de acordo com a reivindicação 4, CARACTERIZADA pelo fato de que o elemento de extensão de replicação de banda espectral inclui metadados de replicação de banda espectral melhorada diferentes do primeiro sinalizador e em que os metadados de replicação de banda espectral melhorada incluem um parâmetro que indica se deve-se realizar pré- achatamento.
6. Unidade de processamento de áudio (210), de acordo com a reivindicação 4, CARACTERIZADA pelo fato de que o elemento de extensão de replicação de banda espectral inclui metadados de replicação de banda espectral melhorada diferentes do primeiro sinalizador e do segundo sinalizador e em que os metadados de replicação de banda espectral melhorada incluem um parâmetro que indica se deve-se executar formatação de envelope temporal de amostra entre subbandas.
7. Unidade de processamento de áudio (210), de acordo com a reivindicação 1, CARACTERIZADA pelo fato de que compreende ainda um subsistema de processamento de replicação de banda espectral melhorada configurado para executar processamento de replicação de banda espectral melhorada usando o primeiro sinalizador, em que a replicação de banda espectral melhorada inclui transposição harmônica.
8. Unidade de processamento de áudio (210), de acordo com a reivindicação 1, CARACTERIZADA pelo fato de que se o pelo menos um sinalizador identifica a forma melhorada de processamento de replicação de banda espectral, um segundo sinalizador que identifica se sobreamostragem de domínio de frequência adaptável de sinal é habilitada ou desabilitada.
9. Método de decodificação de um fluxo de bits de áudio codificado, o método CARACTERIZADO por compreender: receber um bloco de um fluxo de bits de áudio codificado; demultiplexar pelo menos uma porção do bloco do fluxo de bits de áudio codificado; e decodificar (202) pelo menos uma porção do bloco do fluxo de bits de áudio co-dificado, em que o bloco do fluxo de bits de áudio codificado inclui: um elemento de preenchimento com um identificador (ID1, ID2) indicando um início do elemento de preenchimento e dados de preenchimento após o identificador, sendo que os dados de preenchimento incluem: pelo menos um sinalizador identificando se uma forma básica de replicação de banda espectral ou uma forma melhorada de replicação de banda espectral deve ser executada em conteúdo de áudio do bloco do fluxo de bits de áudio codificado, em que a forma básica de replicação de banda espectral inclui reparo espectral, a forma melhorada de replicação de banda espectral inclui transposição harmônica, um valor do sinalizador indica que a dita forma melhorada de replicação de banda espectral deve ser executada no conteúdo de áudio, e outro valor do sinalizador indica que a dita forma básica de replicação de banda espectral, mas não a dita transposição harmônica, deve ser executada no conteúdo de áudio.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que os dados de preenchimento incluem uma carga útil de extensão (SBR), a carga útil de extensão inclui dados de extensão de replicação de banda espectral, e a carga útil de extensão (SBR) é identificada com um primeiro bit mais significativo transmitido de um número inteiro sem sinal de quatro bits e tendo um valor de "1101" ou "1110".
11. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que a forma melhorada de processamento de replicação de banda espectral é transposição harmônica, a forma básica de processamento de replicação de banda espectral é reparo espectral, um valor do primeiro sinalizador indica que a dita forma melhorada de processamento de replicação de banda espectral deve ser executada em conteúdo de áudio do bloco do fluxo de bits de áudio codificado, e outro valor do primeiro sinalizador indica que reparo espectral, mas não a dita transposição harmônica, deve ser executado em conteúdo de áudio do bloco do fluxo de bits de áudio codificado.
12. Método, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que o elemento de extensão de replicação de banda espectral inclui metadados de replicação de banda espectral melhorada diferentes do primeiro sinalizador e em que os metadados de replicação de banda espectral melhorada incluem um parâme- tro indicando se deve-se executar pré-achatamento, ou em que o elemento de extensão de replicação de banda espectral inclui metadados de replicação de banda espectral melhorada diferentes do primeiro sinalizador e em que os metadados de replicação de banda espectral melhorada incluem um parâmetro indicando se deve-se executar formatação de envelope temporal da amostra entre sub-bandas.
13. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que compreende ainda executar processamento de replicação de banda espectral melhorada usando o primeiro sinalizador e o segundo sinalizador, em que a replicação de banda espectral melhorada inclui transposição harmônica.
14. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o fluxo de bits de áudio codificado é um fluxo de bits MPEG-4 AAC.
15. Meio legível por computador não transitório CARACTERIZADO pelo fato de que contém instruções que, quando executadas por um processador, realizam o método definido na reivindicação 9.
BR122019004595-0A 2015-03-13 2016-03-10 Unidade de processamento de áudio, método de decodificação de um fluxo de bits de áudio codificado e meio legível por computador não transitório BR122019004595B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15159067.6 2015-03-13
US62/133,800 2015-03-16

Publications (1)

Publication Number Publication Date
BR122019004595B1 true BR122019004595B1 (pt) 2023-06-27

Family

ID=

Similar Documents

Publication Publication Date Title
JP7354328B2 (ja) 少なくとも一つの充填要素内の向上スペクトル帯域複製メタデータを用いたオーディオ・ビットストリームのデコード
BR112019014125B1 (pt) Método e decodificador para decodificar um fluxo de bits de áudio codificado e mídia legível por computador não transitória
BR122019004595B1 (pt) Unidade de processamento de áudio, método de decodificação de um fluxo de bits de áudio codificado e meio legível por computador não transitório
JP7210658B2 (ja) オーディオ処理ユニットおよびエンコードされたオーディオ・ビットストリームをデコードする方法
OA18768A (en) Decoding audio bitstreams with enhanced spectral band replication metadata in at least one fill element