BR112012013745B1 - Método para decodificar um quadro de um sinal de áudio digital codificado, aparelho para decodificar um quadro de um sinal de áudio digital codificado e meio de armazenamento que grava o método - Google Patents

Método para decodificar um quadro de um sinal de áudio digital codificado, aparelho para decodificar um quadro de um sinal de áudio digital codificado e meio de armazenamento que grava o método Download PDF

Info

Publication number
BR112012013745B1
BR112012013745B1 BR112012013745-0A BR112012013745A BR112012013745B1 BR 112012013745 B1 BR112012013745 B1 BR 112012013745B1 BR 112012013745 A BR112012013745 A BR 112012013745A BR 112012013745 B1 BR112012013745 B1 BR 112012013745B1
Authority
BR
Brazil
Prior art keywords
audio
block
frame
channel
transform
Prior art date
Application number
BR112012013745-0A
Other languages
English (en)
Other versions
BR112012013745A2 (pt
Inventor
Kamalanathan Ramamoorthy
Original Assignee
Dolby Laboratories Licensing Corporation
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 Laboratories Licensing Corporation filed Critical Dolby Laboratories Licensing Corporation
Publication of BR112012013745A2 publication Critical patent/BR112012013745A2/pt
Publication of BR112012013745B1 publication Critical patent/BR112012013745B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation

Abstract

DECODIFICAÇÃO DE FLUXOS DE BITS CODIFICADOS DE ÁUDIO DE MULTICANAL UTILIZANDO TRANSFORMAÇÃO HÍBRIDA ADAPTATIVA. a presente invenção refere-se à eficiência de processamento de um processo utilizado para decodificar quadros de um fluxo de bits AC-3 intensificado que é melhorada processando cada bloco de áudio em um quadro apenas uma vez. Os blocos de áudio de dados codificados são decodificados por ordem de bloco em vez de pela ordem de canal. São divulgados processos de decodificação exemplificativos para características de codificação de fluxo de bits intensificada, tal como processamento por transformada híbrida adaptativa e extensão espectral.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[0001] Este pedido reivindica prioridade do Pedido de Patente Provisório US 61/267.422, depositado em 7 de dezembro de 2009, que é por meio deste documento incorporado por referência na sua totalidade.
CAMPO TÉCNICO
[0002] A presente invenção refere-se de um modo geral a sistemas de codificação de áudio e se refere mais especificamente a métodos e dispositivos que decodificam sinais codificados de áudio digital.
ANTECEDENTES DA TÉCNICA
[0003] A United States Advanced Television Systems Committee (ATSC), Inc., que foi formada por organizações membro da Joint Committee on InterSociety Coordination (JCIC), desenvolveram urn grupo coordenado de Normas nacionais para o desenvolvimento de serviços domésticos de televisão dos EUA. Estas Normas incluindo normas de áudio relevantes de codificação/decodificação são apresentadas em diversos documentos incluindo o Documento A/52B intitulado "Digital Audio Compression Standard (AC-3, E-AC-3)," Revisão B, publicada em 14 de Junho de 2005, que está aqui incorporado por referência na sua totalidade. O algoritmo de codificação de áudio especificado no Documento A/52B é denominado como "AC-3." Uma versão melhorada deste algoritmo, que é descrito no Anexo E do documento, é denominada como "E-AC-3." Estes dois algoritmos são aqui denominados como "AC-3" e as Normas pertinentes são aqui denominadas como "Normas ATSC".
[0004] O documento A/52B não especifica muito aspectos de con- cepção do algoritmo, mas em vez disso, descreve uma "sintaxe de fluxo de bits" definindo características estruturais e sintáticas da informação codificada que um decodificador compatível deve ser capaz de decodificar. Muitas aplicações que respeitam as Normas ATSC transmitirão a informação áudio digital codificada como dados binários em um modo série. Em consequência, os dados codificados são frequentemente referidos como um fluxo de bits, mas outras configurações de dados são permissíveis. Para facilidade da discussão, o termo "fluxo de bits" é aqui utilizado para referir um sinal de áudio digital codificado independentemente do formato ou da técnica de gravação ou transmissão que é utilizada.
[0005] Um fluxo de bits que respeita as Normas ATSC é configurado em uma série de "quadros de sincronização." Cada quadro é uma unidade do fluxo de bits que pode ser totalmente descodificada em um ou mais canais de dados de áudio digital modulado por código de pulso (PCM). Cada quadro inclui "blocos de áudio" e metadados do quadro que estão associados aos blocos de áudio. Cada um dos blocos de áudio contém dados de áudio codificados representando amostras de áudio digital para um ou mais canais de áudio e blocos de metadados associados aos dados de áudio codificados.
[0006] Embora os detalhes da concepção algorítmica não estejam especificados nas Normas ATSC, determinadas funcionalidades dos algoritmos foram amplamente adotadas pelos fabricantes de equipamento de decodificação profissional e doméstico. Uma funcionalidade universal de implementação para decodificadores que podem decodificar fluxos de bits AC-3 melhorados gerados por codificadores E-AC-3 é um algoritmo que decodifica todos os dados codificados em um quadro para um canal respectivo antes de decodificar dados para outro canal. Esta abordagem foi utilizada para melhorar o desempenho de implementações em processadores com um único circuito integrado tendo pouca memória integrada no circuito porque alguns processos de decodificação exigem dados para um dado canal de cada um dos blocos de áudio em um quadro. Processando os dados codificados por ordem do canal, as operações de decodificação podem ser executadas utilizando memória integrada no circuito para um canal particular. Os dados decodificados do canal podem ser subsequentemente transferidos para memória externa ao circuito integrado para liberar recursos integrados no circuito para o canal seguinte.
[0007] Um fluxo de bits que respeita as Normas ATSC pode ser muito complexo porque é possível um grande número de variações. Alguns exemplos, mencionados aqui apenas resumidamente, incluem acoplamento de canais, rematrização de canais, normalização de diálogos, compressão de intervalo dinâmico, redução de mistura de canais e comutação de comprimento de bloco para fluxos de bits AC-3 normalizados e múltiplos fluxos independentes, fluxos secundários dependentes, extensão espectral e transformação híbrida adaptativa para fluxos de bits AC-3 melhorados. Detalhes para estas funcionalidades podem ser obtidos do documento A/52B.
[0008] Processando independentemente cada canal, os algoritmos exigidos para estas variações podem ser simplificados. Processos complexos subsequentes como filtração por síntese podem ser executados sem preocupações com estas variações. Algoritmos mais simples pareciam proporcionar um benefício ao reduzir os recursos computacionais necessários para processar um quadro de dados de áudio.
[0009] Infelizmente, esta abordagem exige que o algoritmo de decodificação leia e examine dados em todos os blocos de áudio duas vezes. Cada iteração de leitura e exame de blocos de dados de áudio em um quadro é aqui referida como uma "passagem" sobre os blocos de áudio. A primeira passagem executa cálculos extensivos para determinar a localização dos dados de áudio codificados em cada bloco. A segunda passagem executa muitos destes mesmos cálculos à medida que executa os processos de decodificação. Ambas as passagens exigem recursos computacionais consideráveis para calcular as localizações dos dados. Se a passagem inicial puder ser eliminada, pode ser possível reduzir o total de recursos de processamento ne-cessários para decodificar um quadro de dados de áudio.
DESCRIÇÃO DA INVENÇÃO
[00010] É um objetivo da presente invenção reduzir os recursos computacionais exigidos para decodificar um quadro de dados de áudio em fluxos de bits codificados configurados em unidades hierárquicas como os quadros e os blocos de áudio acima mencionados. O texto anterior e a seguinte descrição referem-se a fluxos de bits codificados que respeitam as Normas ATSC, mas a presente invenção não está limitada a utilização apenas com estes fluxos de bits. Os princípios da presente invenção podem ser aplicados a essencialmente qualquer fluxo de bits codificado que tenha características estruturais semelhantes aos quadros, blocos e canais utilizados em algoritmos de codificação AC-3.
[00011] De acordo com um aspecto da presente invenção, um método decodifica um quadro de um sinal de áudio digital codificado recebendo o quadro e examinando o sinal de áudio digital codificado em uma única passagem para decodificar os dados de áudio codificados para cada bloco de áudio por ordem por bloco. Cada quadro compreende metadados do quadro e uma pluralidade de blocos de áudio. Cada bloco de áudio compreende metadados do bloco e dados de áudio codificados para um ou mais canais de áudio. Os metadados do bloco compreendem informação de controle descrevendo ferramentas de codificação utilizadas por um processo de codificação que produziu os dados de áudio codificados. Uma das ferramentas de codificação é processamento por transformação híbrida que aplica um banco de fil- tros de análise implementado por uma transformada principal a um ou mais canais de áudio para gerar coeficientes espectrais representando o conteúdo espectral de um ou mais canais de áudio e aplica uma transformada secundária aos coeficientes espectrais para, pelo menos, alguns do um ou mais canais de áudio para gerar coeficientes da transformada híbrida. A decodificação de cada bloco de áudio determina se o processo de codificação utilizou processamento por transformada híbrida adaptativa para codificar qualquer um dos dados de áudio codificados. Se o processo de codificação utilizou processamento por transformada híbrida adaptativa, o método obtém todos os coe-ficientes da transformada híbrida para o quadro dos dados de áudio codificados no primeiro bloco de áudio no quadro e aplica uma trans-formada secundária inversa ao coeficientes da transformada híbrida para obter coeficientes da transformada secundária inversa e obtém coeficientes espectrais dos coeficientes da transformada secundária inversa. Se o processo de codificação não utilizou o processamento por transformada híbrida adaptativa, os coeficientes espectrais são obtidos a partir dos dados de áudio codificados no bloco de áudio respectivo. Uma transformada principal inversa é aplicada aos coeficientes espectrais para gerar um sinal de saída representando um ou mais canais no bloco de áudio respectivo.
[00012] As várias características da presente invenção e as suas modalidades preferidas podem ser melhor compreendidas com referência à seguinte discussão e aos desenhos anexos nos quais números de referência semelhantes se referem a elementos semelhantes nas diversas figuras. O conteúdo da seguinte discussão e os desenhos são mostrados apenas como exemplos e não devem ser entendidos como representando limitações ao âmbito da presente invenção.
BREVE DESCRIÇÃO DOS DESENHOS
[00013] A figura 1 é um diagrama de blocos esquemático de imple- mentações exemplificativas de um codificador.
[00014] A figura 2 é um diagrama de blocos esquemático de imple-mentações exemplificativas de um decodificador.
[00015] As figuras 3A e 3B são ilustrações esquemáticas de quadros em fluxos de bits respeitando estruturas sintáticas normalizadas e melhoradas.
[00016] As figuras 4A e 4B são ilustrações esquemáticas de blocos de áudio que respeitam estruturas sintáticas normalizadas e melhoradas.
[00017] As figuras 5A a 5C são ilustrações esquemáticas de fluxos de bits exemplificativas transportando dados com extensões de programas e de canais.
[00018] A figura 6 é um diagrama de blocos esquemático de um processo exemplificative implementado por um decodificador que processa dados de áudio codificados por ordem de canal.
[00019] A figura 7 é um diagrama de blocos esquemático de um processo exemplificative implementado por um decodificador que processa dados de áudio codificados por ordem de bloco.
[00020] A figura 8 é um diagrama de blocos esquemático de um dispositivo que pode ser utilizado para implementar vários aspectos da presente invenção.
MODOS PARA REALIZAR A INVENÇÃO A. Vista Geral do Sistema de Codificação
[00021] As figuras 1 e 2 são diagramas de blocos esquemáticos de implementações exemplificativas de um codificador e um decodificador para um sistema de codificação de áudio em que o decodificador pode incorporar vários aspectos da presente invenção. Estas implementações respeitam o que é divulgado no documento A/52B citado acima.
[00022] A finalidade do sistema de codificação é gerar uma representação codificada de sinais de áudio de entrada que pode ser gravada ou transmitida e, subsequentemente, descodificada para produzir sinais de áudio de saída que soam essencialmente idênticos aos sinais de áudio de entrada, utilizando uma quantidade mínima de informação digital para representar o sinal codificado. Os sistemas de codificação que respeitam as Normas ATSC básicas são capazes de codificar e decodificar informação que pode representar de um aos assim chamados 5.1 canais de sinais de áudio, onde por 5.1 se entende cinco canais que podem transportar sinais da largura de banda total e um canal de largura de banda limitada que é destinada a transportar sinais para efeitos de baixa frequência (LFE).
[00023] As seções seguintes descrevem implementações do codificador e do decodificador, e alguns detalhes da estrutura codificada do fluxo de bits e de processos de codificação e decodificação relacionados. Estas descrições são proporcionadas de modo a que vários aspectos da presente invenção possam ser descritos mais sucintamente e mais claramente compreendidos.
1. Codificador
[00024] Com referência à implementação exemplificativa na figura 1, o codificador recebe uma série de amostras moduladas por código de pulso (PCM) representando um ou mais canais de entrada de sinais de áudio do trajeto 1 do sinal de entrada, e aplica um banco 2 de filtros de análise à série de amostras para gerar valores digitais representando a composição espectral dos sinais de áudio de entrada. Para modalidades que respeitam as Normas ATSC, o banco de filtros de análise é implementado por uma Transformada de Co-seno Alterada Discreta (MDCT) descrita no documento A/52B. A MDCT é aplicada a segmentos de sobreposição ou blocos de amostras para cada canal de entrada de sinal de áudio para gerar blocos de coeficientes da transformada representando a composição espectral desse sinal de canal de entrada. A MDCT é parte de um sistema de análise/síntese que utiliza funções de janelas especialmente concebidas e processos de sobreposi- ção/adição para cancelar a amostragem no domínio do tempo. Os coeficientes da transformada em cada bloco são expressos em uma forma de bloco-vírgula flutuante (BFP) compreendendo, expoentes e mantissas de vírgula flutuante. Esta descrição refere-se a dados de áudio expressos como expoentes e mantissas de vírgula flutuante porque esta forma de representação é utilizada nos fluxos de bits que respeitam as Normas ATSC; contudo, esta representação particular é meramente um exemplo das representações numéricas que utilizam fatores de escala e valores escalados associados.
[00025] Os expoentes BFP para cada bloco proporcionam coletivamente um envelope espectral aproximado para o sinal de áudio de entrada. Estes expoentes são codificados por modulação delta e outras técnicas de codificação para reduzir as exigências de informação, passadas ao formatador 5 e introduzidas em um modelo psicoacústico para calcular o limiar de máscara psicoacústico do sinal que está sendo codificado. Os resultados do modelo são utilizados pelo alocador 3 de bits para alocar informação digital sob a forma de bits para quantiza- ção das mantissas de tal modo que o nível de ruído produzido pela quantização seja mantido abaixo do limiar de máscara psicoacústico do sinal que está sendo codificado. O quantizador 4 quantiza as mantissas de acordo com as atribuições de bit recebidas do alocador 3 de bits e passadas ao formatador 5.
[00026] O formatador 5 multiplexa ou monta os expoentes codificados, as mantissas quantizadas e outra informação de controle, por vezes referidos como metadados do bloco, em blocos de áudio. Os dados para seis blocos de áudio sucessivos são montados em unidades de informação digital chamadas quadros. Os próprios quadros contêm igualmente informação de controle ou metadados do quadro. A informação codificada para quadros sucessivos é produzida como um fluxo de bits ao longo do trajeto 6 para gravar em um meio de armazenamento de informação ou para transmitir ao longo de um canal de comunicação. Para codificadores que respeitam as Normas ATSC, o formato de cada quadro no fluxo de bits respeita a sintaxe especificada no documento A/52B.
[00027] O algoritmo de codificação utilizado por codificadores típicos que respeitam as Normas ATSC é mais complicado do que o que está ilustrado na figura 1 e descrito acima. Por exemplo, os códigos de detecção de erro são introduzidos nos quadros para permitir que um decodificador de recepção valide o fluxo de bits. Uma técnica de codificação conhecida como comutação de comprimento do bloco, por vezes referida mais simplesmente como comutador de bloco, pode ser utilizada para adaptar a definição temporal e espectral do banco de filtros de análise para otimizar o seu desempenho com características de sinal variáveis. Os expoentes de vírgula flutuante podem ser codificados com resolução variável do tempo e da frequência. Dois ou mais canais podem ser combinados em uma representação composta utilizando uma técnica de codificação conhecida como acoplamento de canais. Outra técnica de codificação conhecida como rematrização de canais pode ser utilizada de modo adaptativo para sinais de áudio de dois canais. Técnicas de codificação adicionais podem ser utilizadas além das aqui mencionadas. Algumas destas outras técnicas de codificação são discutidas abaixo. Muitos outros detalhes de implementa-ção são omitidos porque não são necessários para compreender a presente invenção. Estes detalhes podem ser obtidos do documento A/52B como desejado.
2. Decodificador
[00028] O decodificador executa um algoritmo de decodificação que é, essencialmente, o inverso do algoritmo de codificação que é executado no codificador. Com referência à implementação exemplificativa na figura 2, o decodificador recebe um fluxo de bits codificado representando uma série de quadros do trajeto 11 de entrada do sinal. O fluxo de bits codificado pode ser recuperado de um meio de armazenamento de informação ou ser recebido de um canal de comunicação. O desformatador 12 desmultiplexa ou desmonta a informação codificada para cada quadro em metadados do quadro e em seis blocos de áudio. Os blocos de áudio são desmontados nos seus respectivos metadados do bloco, expoentes codificados e mantissas quantizadas. Os expoentes codificados são utilizados por um modelo psicoacústico no alocador 13 de bits para atribuir da mesma forma a informação digital sob a forma de bits para desquantização das mantissas quantizadas porque foram atribuídos bits no codificador. O desquantizador 14 des- quantiza as mantissas quantizadas de acordo com as atribuições de bit recebidas do alocador 13 de bits e passa as mantissas desquanti- zadas para o banco 15 de filtros de síntese. Os expoentes codificados são decodificados e passados para o banco 15 de filtros de síntese.
[00029] Os expoentes decodificados e as mantissas desquantiza- das constituem uma representação BFP do conteúdo espectral do sinal de entrada de áudio como codificado pelo codificador. O banco 15 de filtros de síntese é aplicado à representação do conteúdo espectral para reconstruir uma réplica inexata dos sinais de entrada de áudio originais, que é passada ao longo do trajeto 16 do sinal de saída. Para modalidades que respeitem as Normas ATSC, o banco de filtros de síntese é implementado por uma Transformada de Cosseno Discreta Alterada Inversa (IMDCT) descrita no documento A/52B. A IMDCT é parte de um sistema de análise/síntese resumidamente mencionado acima que é aplicado aos blocos de coeficientes da transformada para gerar blocos de amostras áudio que são sobrepostos e adicionados para cancelar a amostragem do domínio do tempo.
[00030] O algoritmo de decodificação utilizado pelos decodificado- res típicos que respeitam as Normas ATSC é mais complicado que o que é ilustrado na figura 2 e descrito acima. Algumas técnicas de decodificação que são o inverso das técnicas de codificação acima descritas incluem detecção de erro para correção ou ocultação de erros, comutação de comprimento do bloco para adaptar a definição temporal e espectral do banco de filtros de síntese, desacoplamento de canais para recuperar a informação de canal de representações compostas acopladas e operações matriciais para recuperação de representações de dois canais rematrizadas. Informação sobre outras técnicas e detalhes adicionais podem ser obtidos do documento A/52B como desejado.
B. Estrutura Codificada de Fluxo de bits 1. Quadro
[00031] Um fluxo de bits codificado que respeita as Normas ATSC compreende uma série de unidades de informação codificadas chamadas "quadros de sincronização" que são por vezes referidas mais simplesmente como quadros. Como mencionado acima, cada quadro contém metadados do quadro e seis blocos de áudio. Cada bloco de áudio contém metadados do bloco e expoentes e mantissas BFP codificados para um intervalo concorrente de um ou mais canais de sinais de áudio. A estrutura para o fluxo de bits normalizado é ilustrada esquematicamente na figura 3A. A estrutura para um fluxo de bits AC-3 melhorado como descrito no Anexo E do documento A/52B é ilustrada na figura 3B. A parte de cada fluxo de bits dentro do intervalo marcado desde SI até CRC é um quadro.
[00032] Um padrão normalizado de bits ou uma palavra de sincronização especial são incluídos na informação de sincronização (SI) que é proporcionada no início de cada quadro de modo a que um decodifi- cador possa identificar o início de um quadro e manter a sincronização dos seus processos de decodificação com o fluxo de bits codificado. Uma seção de informação do fluxo de bits (BSI) imediatamente após o SI contém parâmetros que são necessários pelo algoritmo de decodificação para decodificar o quadro. Por exemplo, o BSI especifica o número, tipo e ordem de canais que são representados pela informação codificada no quadro, e a compressão do intervalo dinâmico e informação de normalização do diálogo sendo utilizada pelo decodificador. Cada quadro contém seis blocos (ABO a AB5) de áudio, que podem ser seguidos por dados auxiliares (AUX) se desejado. A informação da detecção de erro sob a forma de uma palavra de verificação (CRC) de redundância cíclica é proporcionada no final de cada quadro.
[00033] Um quadro no fluxo de bits AC-3 melhorado contém igualmente dados de áudio do quadro (AFRM) que contêm marcas e parâmetros que se referem às técnicas de codificação adicionais que não estão disponíveis para utilização na codificação de um fluxo de bits normalizado. Algumas das técnicas adicionais incluem a utilização de extensão espectral (SPX), igualmente conhecida como réplica espectral e transformada híbrida adaptativa (AHT). Várias técnicas de codificação são discutidas abaixo.
2. Blocos de Áudio
[00034] Cada bloco de áudio contém representações codificadas de expoentes BFP e mantissas quantizadas para 256 coeficientes da transformada, e metadados dos blocos necessários para decodificar os expoentes codificados e as mantissas quantizadas. Esta estrutura é ilustrada esquematicamente na figura 4A. A estrutura para o bloco de áudio em um fluxo de bits AC-3 melhorado como descrito no Anexo E do documento A/52B é ilustrada na figura 4B. Uma estrutura de bloco de áudio em uma versão alternativa do fluxo de bits, como descrito no Anexo D do documento A/52B não é aqui discutida porque suas características únicas não são pertinentes para a presente invenção.
[00035] Alguns exemplos de metadados do bloco incluem marcas e parâmetros para comutação de bloco (BLKSW), compressão do intervalo dinâmico (DYNRNG), acoplamento de canais (CPL), rematrização de canais (REMAT), técnica ou estratégia de codificação de expoente ou (EXPSTR) utilizada para codificar os expoentes BFP, os expoentes BFP codificados (EXP), informação de alocação de bit para as mantissas, ajustes à alocação de bit conhecidos como informação de alocação de bit delta (DBA) e as mantissas quantizadas (MANT). Cada bloco de áudio em um fluxo de bits AC-3 melhorado pode conter informação para técnicas de codificação adicionais incluindo extensão espectral (SPX).
3. Limitações do Fluxo de Bits
[00036] As Normas ATSC impõem algumas limitações ao conteúdo do fluxo de bits que são pertinentes à presente invenção. Duas limitações são aqui mencionadas: (1) o primeiro bloco de áudio no quadro, que é referido como ABO, deve conter toda a informação necessária ao algoritmo de decodificação para começar a decodificar todos os blocos de áudio no quadro, e (2) sempre que o fluxo de bits começa a levar a informação codificada gerada pelo acoplamento de canais, o bloco de áudio no qual o acoplamento de canais é primeiro utilizado deve conter todos os parâmetros necessários para desacoplamento. Estas funcionalidades são discutidas abaixo. Informação sobre outros processos não discutidos aqui pode ser obtida do documento A/52B.
C. Processos e Técnicas de Codificação Normalizados
[00037] As Normas ATSC descrevem inúmeras características sintáticas do fluxo de bits em termos de processos de codificação ou "ferramentas de codificação" que podem ser utilizadas para gerar um fluxo de bits codificado. Um codificador não precisa empregar todas as ferramentas de codificação mas um decodificador que respeita a norma deve poder responder às ferramentas de codificação que são julgadas essenciais para conformidade. Esta resposta é implementada execu- tando uma ferramenta de decodificação apropriada que é essencialmente o inverso da ferramenta de codificação correspondente.
[00038] Algumas das ferramentas de decodificação são particularmente relevantes para a presente invenção porque a sua utilização ou ausência influencia como aspectos de utilização da presente invenção devem ser implementados. Alguns processos de decodificação e algumas ferramentas de decodificação são discutidos resumidamente nos seguintes parágrafos. As seguintes descrições não se destinam sendo uma descrição completa. Vários detalhes e características opcionais são omitidos. As descrições se destinam apenas a proporcionar uma introdução de nível elevado àqueles que não estão familiarizados com as técnicas e refrescar a memória daqueles que podem ter esquecido que técnicas estes termos descrevem.
[00039] Se desejado, detalhes adicionais podem ser obtidos documento A/52B e da patente US 5583962 intitulada "Encoder/Decoder for Multi-Dimensional Sound Fields"por Davis et al., publicada em 10 de dezembro de 1996 e está aqui incorporada por referência na sua totalidade.
1. Desempacotamento do Fluxo de bits
[00040] Todos Os decodificadores devem desempacotar ou des- multiplexar o fluxo de bits codificado para obter parâmetros e dados codificados. Este processo é representado pelo desformatador 12 discutido acima. Este processo é essencialmente um que lê dados no fluxo de bits afluente e copia partes do fluxo de bits para registos, copia partes para localizações da memória, ou armazena indicadores ou outras referências em dados no fluxo de bits que são armazenados em uma memória buffer. A memória é exigida para armazenar os dados e ponteiros e um compromisso pode ser feito entre armazenar desta informação para utilização posterior ou reler o fluxo de bits para obter a informação sempre que é necessário.
2. Decodificação do Expoente
[00041] Os valores de todos os expoentes BFP são necessários para desempacotar os dados nos blocos de áudio para cada quadro porque estes valores indicam indiretamente os números de bits que estão alocados às mantissas quantizadas. Os valores do expoente no fluxo de bits são codificados, contudo, por técnicas de codificação diferenciais que podem ser aplicadas ao longo do tempo e frequência. Em consequência, os dados representando os expoentes codificados devem ser desempacotados do fluxo de bits e decodificados antes de poderem ser utilizados para outros processos de decodificação.
3. Processamento de Alocação de bit
[00042] Cada uma das mantissas BFP quantizadas no fluxo de bits é representada por um número variável de bits que são uma função dos expoentes BFP e, possivelmente, outros metadados contidos no fluxo de bits. Os expoentes BFP são introduzidos em um modelo especificado, que calcula uma alocação de bit para cada mantissa. Se um bloco de áudio contém igualmente informação da alocação de bit delta (DBA), esta informação adicional é utilizada para ajustar a alocação de bit calculada pelo modelo.
4. Processamento da Mantissa
[00043] As mantissas BFP quantizadas constituem a maior parte dos dados em um fluxo de bits codificado. A alocação de bit é utilizada para determinar a localização de cada mantissa no fluxo de bits para desempacotar, assim como para selecionar a função de desquantiza- ção apropriada para obter as mantissas desquantizadas. Alguns dados no fluxo de bits podem representar mantissas múltiplas por um único valor. Nesta situação, um número apropriado de mantissas é derivado do único valor. As mantissas que têm uma atribuição igual a zero podem ser reproduzidas com um valor igual a zero ou como um número pseudoaleatório.
5. Desacoplamento de Canais
[00044] A técnica de codificação por acoplamento de canais permite que um codificador represente múltiplos canais de áudio com menos dados. A técnica combina componentes espectrais de dois ou mais canais selecionados, referidos como os canais acoplados, para formar um único canal de componentes espectrais compostos, referido como o canal de acoplamento. Os componentes espectrais do canal de acoplamento são representados no formato BFP. Um grupo de fatores de escala descrevendo a diferença de energia entre o canal de acoplamento e cada canal acoplado, conhecido como coordenadas de acoplamento, é derivado para cada um dos canais acoplados e incluído no fluxo de bits codificado. O acoplamento apenas é utilizado para uma parte especificada da largura de banda de cada canal.
[00045] Quando o acoplamento de canais é utilizado, como indicado por parâmetros no fluxo de bits, um decodificador utiliza uma técnica de decodificação conhecida como desacoplamento de canais para derivar uma réplica inexata dos expoentes BFP e mantissas para cada canal acoplado dos componentes espectrais do canal de acoplamento e coordenadas de acoplamento. Isto é feito multiplicando cada componente espectral do canal acoplado pela coordenada de acoplamento apropriada. Detalhes adicionais podem ser obtidos do documento A/52B.
6. Rematrização de Canais
[00046] A técnica de codificação por rematrização de canais permite que um codificador represente sinais de dois canais com menos dados utilizando uma matriz para converter dois canais de áudio independentes nos canais de adição e diferença. O expoente e as mantissas BFP normalmente empacotados em um fluxo de bits para os canais de áudio esquerdo e direito representam, em vez disso, os canais de adição e de subtração. Esta técnica pode ser utilizada, de um modo vantajoso, quando os dois canais têm um elevado nível de semelhança.
[00047] Quando é utilizada rematrização, como indicado por uma marca no fluxo de bits, um decodificador obtém os valores representando os dois canais de áudio aplicando uma matriz apropriada aos valores de adição e subtração. Detalhes adicionais podem ser obtidos do documento A/52B.
D. Processos e Técnicas de Codificação Melhoradas
[00048] O Anexo E do documento A/52B descreve características de sintaxe melhorada do fluxo de bits AC-3 que permite a utilização de ferramentas de codificação adicionais. Algumas destas ferramentas e processos relacionados são descritos resumidamente abaixo.
1. Processamento por Transformada Híbrida Adaptativa
[00049] A técnica de codificação por transformada híbrida adaptativa (AHT) proporciona outra ferramenta além da comutação de blocos para adaptar a resolução temporal e espectral dos bancos de filtros de análise e síntese em resposta às características variáveis do sinal aplicando duas transformadas em cascata. Informação adicional para o processamento AHT pode ser obtida do documento A/52B e patente US 7516064 intitulada "Adaptive Hybrid Transform for Signal Analysis and Synthesis" de Vinton et al.,publicada a 7 de Abril de 2009 e está aqui incorporado por referência na sua totalidade.
[00050] Os codificadores empregam uma transformada principal implementada pela transformada de análise MDCT mencionada acima antecedendo e em cascata com uma transformada secundária implementada por uma Transformada de Cosseno Discreta Tipo-ll (DCT-II). A MDCT é aplicada aos blocos de sobreposição de amostras de sinal de áudio para gerar coeficientes espectrais representando o conteúdo espectral do sinal de áudio. A DCT-II pode ser ligada e desligada do trajeto de tratamento dos sinais como desejado e, quando ligada, é aplicada aos blocos de sobreposição dos coeficientes espectrais MDCT representando a mesma frequência para gerar coeficientes da transformada híbrida. Em utilização típica, a DCT-II está ligada quando o sinal de entrada de áudio é julgado ser suficientemente estacionário porque a sua utilização aumenta significativamente a resolução espectral efetiva do banco de filtros de análise diminuindo a sua resolução temporal efetiva de 256 amostras para 1536 amostras.
[00051] Os decodificadores empregam uma transformada principal inversa implementada pelo banco de filtros de síntese IMDCT mencionada acima que segue e está em cascata com uma transformada secundária inversa implementada por uma Transformada de Co-seno Discreta Inversa de Tipo-ll (IDCT-II). A IDCT-II ligada e desligada do trajeto de tratamento dos sinais em resposta aos metadados proporcionados pelo codificador. Quando ligada, a IDCT-II é aplicada aos blocos de sobreposição de coeficientes da transformada híbrida para obter coeficientes da transformada secundária inversa. Os coeficientes da transformada secundária inversa podem ser coeficientes espectrais para introdução direta na IMDCT se nenhuma outra ferramenta da codificação como acoplamento de canais ou SPX foi utilizada. De modo alternativo, os coeficientes espectrais MDCT podem ser derivados dos coeficientes da transformada secundária inversa se foram utilizadas ferramentas de codificação como acoplamento de canais ou SPX. Após serem obtidos coeficientes espectrais MDCT, a IMDCT é aplicada aos blocos dos coeficientes de MDCT espectrais de um modo convencional.
[00052] A AHT pode ser utilizada com qualquer canal áudio incluindo o canal de acoplamento e o canal LFE. Um canal que é codificado utilizando a AHT utiliza um processo alternativo de alocação de bit e dois tipos diferentes de quantização. Um tipo é quantização de vector (VQ) e o segundo tipo é quantização adaptativa de ganho (GAQ). A técnica GAQ é discutida na patente US 6246345 intitulada "Using Gain-Adaptive Quantization and Non-Uniform Symbol Lengths for Im-proved Audio Coding" de Davidson et al.,publicada em 12 de Junho de 2001 e está aqui incorporada por referência na sua totalidade.
[00053] A utilização da AHT exige um decodificador para derivar diversos parâmetros da informação contida no fluxo de bits codificado. O documento A/52B descreve como estes parâmetros podem ser calculados. Um conjunto de parâmetros especifica o número de vezes que os expoentes BFP são transportados em um quadro e são derivados examinando os metadados contidos em todos os blocos de áudio em um quadro. Outros dois conjuntos de parâmetros identificam quais as mantissas BFP que são quantizadas utilizando GAQ e proporcionam palavras de controle do ganho para os quantizadores e são derivadas examinando metadados para um canal em um bloco de áudio.
[00054] Todos os coeficientes da transformada híbrida para AHT são transportados no primeiro bloco de áudio, ABO, de um quadro. Se a AHT é aplicada a um canal de acoplamento, as coordenadas do acoplamento para os coeficientes AHT são distribuídas através de todos os blocos de áudio da mesma forma que para os canais acoplados sem AHT. Um processo para resolver esta situação é descrito abaixo.
2. Processamento por Extensão Espectral
[00055] A técnica de codificação espectral por extensão espectral (SPX) permite que um codificador reduza a quantidade de informação necessária para codificar um canal da largura de banda total excluindo componentes espectrais de alta frequência do fluxo de bits codificado e tendo o decodificador sintetizando os componentes espectrais em falta a partir de componentes espectrais de baixa frequência que estão contidos no fluxo de bits codificado.
[00056] Quando é utilizada SPX, o decodificador sintetiza componentes espectrais em falta copiando coeficientes MDCT de baixa frequência em lugar dos coeficientes MDCT de alta frequência, adicionando valores pseudoaleatórios ou ruído aos coeficientes da transformada copiados, e escalando a amplitude de acordo com um envelope espectral SPX incluído no fluxo de bits codificado. O codificador calcula o envelope espectral SPX e introduz este no fluxo de bits codificado sempre que a ferramenta de codificação SPX é utilizada.
[00057] A técnica SPX é utilizada tipicamente para sintetizar as bandas mais altas de componentes espectrais para um canal. Pode ser utilizada conjuntamente com acoplamento de canais para um intervalo de frequências médio. Detalhes de processamento adicionais podem ser obtidos do documento A/52B.
3. Extensões dos Canais e dos Programas
[00058] A sintaxe melhorada do fluxo de bits AC-3 permite que um codificador gere um fluxo de bits codificado que representa um único programa com mais de 5.1 canais (extensão dos canais), dois ou mais programas com até 5.1 canais (extensão dos programas) ou uma combinação de programas com até 5.1 canais e mais de 5.1 canais. A extensão dos programas é implementada por uma multiplexagem de quadros para múltiplos fluxos de dados independentes em um fluxo de bits codificado. A extensão dos canais é implementada por uma multiplexagem dos quadros para um ou mais fluxos dependentes secundários de dados que estão associados a um fluxo independente de dados. Em implementações preferidas para a extensão dos programas, um decodificador é informado qual o programa ou programas a decodificar e o processo de decodificação salta ou ignora essencialmente os fluxos e fluxos secundários representando os programas que não devem ser decodificados.
[00059] As figuras 5A a 5C ilustram três exemplos de fluxos de bits transportando dados com extensões de programas e canais. A figura 5A ilustra um fluxo de bits exemplificative com extensão de canais. Um único programa P1 é representado por um fluxo S0 independente e três fluxos SSO, SS1 e SS2 secundários dependentes associados. Um quadro Fn para o fluxo S0 independente é seguido imediatamente por quadros Fn para cada um dos fluxos SSO a SS3 secundários dependentes associados. Estes quadros são seguidos pelo quadro Fn+1 seguinte para o fluxo S0 independente, que é, por sua vez, imediatamente seguido pelos quadros Fn+1 para cada um dos fluxos SSO a SS2 secundários dependentes associados. A sintaxe melhorada do fluxo de bits AC-3 permite até oito fluxos secundários dependentes para cada fluxo independente.
[00060] A figura 5B ilustra um fluxo de bits exemplificative com extensão de programas. Cada um de quatro programas P1, P2, P3 e P4 é representado por fluxos S0, S1, S2 e S3 independentes, respectivamente. Um quadro Fn para o fluxo S0 independente é seguido imediatamente por quadros Fn para cada um dos fluxos S1, S2 e S3 independentes. Estes quadros são seguidos pelo quadro Fn+1 seguinte para cada um dos fluxos independentes. A sintaxe melhorada do fluxo de bits AC-3 deve ter, pelo menos, um fluxo independente e permite até oito fluxos independentes.
[00061] A figura 5C ilustra um fluxo de bits exemplificativo com extensão de programas e extensão de canais. O Programa P1 é representado por dados no fluxo S0 independente e o programa P2 é representado por dados no fluxo S1 independente e fluxos SSO e SS1 secundários dependentes associados. Um quadro Fn para o fluxo S0 independente é seguido imediatamente pelo quadro Fn para o fluxo S1 independente que, por sua vez, é imediatamente seguido pelos quadros Fn para os fluxos SSO e SS1 secundários dependentes associados. Estes quadros são seguidos pelo quadro Fn+1 seguinte para cada um dos fluxos independentes e fluxos secundários dependentes.
[00062] Um fluxo independente sem extensão de canais contém dados que podem representar até 5.1 canais de áudio independentes. Um fluxo independente com extensão de canais , ou seja um fluxo in-dependente que tem um ou mais fluxos secundários dependentes as-sociados, contém dados que representam um downmixpara 5.1 canais de todos os canais para o programa. O termo "downmix"refere-se a uma combinação de canais no menor número de canais. Isto é feito para compatibilidade com decodificadores que não decodificam os fluxos secundários dependentes. Os fluxos secundários dependentes contêm dados representando canais que substituem ou suplementam os canais transportados no fluxo independente associado. A extensão de canais permite até catorze canais para um programa.
[00063] Detalhes adicionais da sintaxe do fluxo de bits e processamento associado podem ser obtidos do documento A/52B.
E. Processamento por Prioridade de Bloco
[00064] É exigida lógica complexa para processar e decodificar cor-retamente muitas variações na estrutura de fluxo de bits que ocorrem quando várias combinações de ferramentas de codificação são utilizadas para gerar o fluxo de bits codificado. Como mencionado acima, os detalhes da concepção algorítmica não são especificados nas Normas ATSC, mas um componente universal da implementação convencional dos decodificadores E-AC-3 é um algoritmo que decodifica todos os dados em um quadro para um canal respectivo antes de decodificar dados para um outro canal. Esta abordagem tradicional reduz a quantidade de memória integrada no circuito necessária para decodificar o fluxo de bits, mas igualmente exige passagens múltiplas sobre os dados em cada quadro para ler e examinar dados em todos os blocos de áudio do quadro.
[00065] A abordagem tradicional é ilustrada esquematicamente na figura 6. O componente 19 analisa logicamente quadros de um fluxo de bits codificado recebido a partir do trajeto 1 e extrai dados dos quadros em resposta aos sinais de controle recebidos do trajeto 20. A análise lógica é realizada por passagens múltiplas sobre os dados do quadro. Os dados extraídos de um quadro são representados pelas caixas por baixo do componente 19. Por exemplo, a caixa com a etiqueta AB0-CH0 representa dados extraídos para o canal 0 no bloco ABO de áudio e a caixa com a etiqueta AB5-CH2 representa dados extraídos para o canal 2 no bloco AB5 de áudio. Apenas três canais 0 a 2 e três blocos 0, 1 e 5 de áudio são ilustrados para simplificar o desenho. O componente 19 passa igualmente parâmetros obtidos dos metadados do quadro ao longo do trajeto 20 para os componentes 31,32 e 33 de processamento do canal. Os trajetos do sinal e os interruptores rotativos à esquerda das caixas de dados representam a lógica executada por decodificadores tradicionais para processar dados de áudio codificados em ordem por canal. O componente 31 de processamento de canal recebe dados de áudio codificados e metadados através do interruptor 21 rotativo para o canal CHO, começando com o bloco ABO de áudio e concluindo com o bloco AB5 de áudio, decodifica os dados e gera um sinal de saída aplicando um banco de filtros de síntese aos dados decodificados. Os resultados do seu processamento são passados ao longo do trajeto 41. O componente 32 de processamento de canal recebe dados para o canal CH1 para os blocos ABO a AB5 de áudio através do interruptor 22 rotativo, processa os dados e passa a sua saída ao longo do trajeto 42. O componente 33 de pro-cessamento de canal recebe dados para o canal CH2 para os blocos ABO a AB5 de áudio através do interruptor 23 rotativo, processa os dados e passa a sua saída ao longo do trajeto 43.
[00066] Aplicações da presente invenção podem melhorar a eficiência de processamento eliminando passagens múltiplas sobre os dados do quadro em muitas situações. Passagens múltiplas são utilizadas em algumas situações quando determinadas combinações de ferramentas de codificação são utilizadas para gerar o fluxo de bits codificado; contudo, os fluxos de bits AC-3 melhorados gerados pelas combinações de ferramentas de codificação discutidas abaixo podem ser decodificados com uma única passagem. Esta nova abordagem está ilustrada esquematicamente na figura 7. O componente 19 analisa logicamente quadros de um fluxo de bits codificado recebido do trajeto 1 e extrai dados dos quadros em resposta aos sinais de controle recebidos do trajeto 20. Em muitas situações, a análise lógica é realizada por uma única passagem sobre os dados do quadro. Os dados extraídos de um quadro são representados pelas caixas abaixo do componente 19, da mesma forma discutido acima para a figura 6. O componente 19 passa os parâmetros obtidos dos metadados do qua-dro ao longo do trajeto 20 para o bloco que processa os componentes 61, 62 e 63. O componente 61 de processamento de blocos recebe dados e metadados de áudio codificados através do interruptor 51 rotativo para todos os canais no bloco ABO de áudio, decodifica os dados e gera um sinal de saída aplicando um banco de filtros de síntese aos dados decodificados. Os resultados do seu processamento para os canais CHO, CH1 e CH2 são passados através do interruptor 71 rotativo para o trajeto 41, 42 e 43 de saída apropriado, respectivamente. O componente 62 de processamento de blocos recebe dados para todos os canais no bloco AB1 de áudio através do interruptor 52 rotativo, processa os dados e passa a sua saída através do interruptor 72 rotativo para o trajeto de saída apropriado para cada canal. O componente 63 de processamento de blocos recebe dados para todos os canais no bloco AB5 de áudio através do interruptor 53 rotativo, processa os dados e passa a sua saída através do interruptor 73 rotativo para o trajeto de saída apropriado para cada canal.
[00067] Vários aspectos da presente invenção são discutidos abaixo e ilustrados com fragmentos de programa. Estes fragmentos de programa não se destinam sendo implementações práticas ou ótimas, mas apenas exemplos ilustrativos. Por exemplo, a ordem das instruções do programa pode ser alterada permutando algumas das instruções.
1. Processo Geral
[00068] Uma ilustração de alto nível da presente invenção é mostrada no seguinte fragmento de programa: (1.(1) determina o início de um quadro no fluxo S de bits (1.(2) para cada quadro N no fluxo S de bits (1.(3) desempacota metadados no quadro N (1.(4) obtém parâmetros dos metadados desempacotados do quadro (1.(5) determina o início do primeiro bloco K de áudio no quadro N (1.(6) para bloco K de áudio no quadro N (1.(7) desempacota metadados no bloco K (1.(8) obtém parâmetros dos metadados desempacotados do bloco (1.(9) determina o início do primeiro canal C no bloco K (1.(10) para canal C no bloco K (1.(11) desempacota e decodifica expoentes (1.(12) desempacota e desquantiza mantissas (1.(13) aplica o filtro de síntese aos dados de áudio decodificados para o canal C (1.(14) determina o início do canal C+1 no bloco K (1.(15) termina para (1.(16) determina o início do bloco K+1 no quadro N (1.(17) termina para (1.(18) determina o início do quadro N+1 seguinte no fluxo S de bits (1.(19) termina para
[00069] A instrução (1.1) pesquisa no fluxo de bits por uma cadeia de bits que combinam o padrão de sincronização transportado na informação Sl. Quando o padrão da sincronização é encontrado, o início de um quadro no fluxo de bits foi determinado.
[00070] As instruções (1.2) e (1.19) controlam o processo de deco- dificação sendo executado para cada quadro no fluxo de bits ou até o processo de decodificação ser parado por algum outro meio. As instruções (1.3) a (1.18) executam processos que decodificam um quadro no fluxo de bits codificado.
[00071] As instruções (1.3) a (1.5) desempacotam metadados no quadro, obtêm parâmetros de decodificação a partir dos metadados desempacotados e determinam a localização no fluxo de bits onde os dados se iniciam para o primeiro bloco K de áudio no quadro. A instrução (1.16) determina o início do bloco de áudio seguinte no fluxo de bits se qualquer bloco de áudio subsequente estiver no quadro.
[00072] As instruções (1.6) e (1.17) fazem com que o processo da decodificação seja executado para cada bloco de áudio no quadro. As instruções (1.7) a (1.15) executam processos que decodificam um bloco de áudio no quadro. As instruções (1.7) a (1.9) desempacotam metadados no bloco de áudio, obtêm parâmetros de decodificação dos metadados desempacotados e determinam onde os dados se iniciam para o primeiro canal.
[00073] As instruções (1.10) e (1.15) fazem com que o processo de decodificação seja executado para cada canal no bloco de áudio. As instruções (1.11) a (1.13) desempacotam e decodificam expoentes, utilizam os expoentes decodificados para determinar a alocação de bit para desempacotar e desquantizar cada mantissa quantizada e aplica o banco de filtros de síntese às mantissas desquantizadas. A instrução (1.14) determina o lugar no fluxo de bits onde os dados se iniciam para o canal seguinte, se qualquer canal subsequente estiver no quadro.
[00074] A estrutura do processo varia para acomodar as diferentes técnicas de codificação utilizadas para gerar o fluxo de bits codificado. Diversas variações são discutidas e ilustradas em fragmentos do programa abaixo. As descrições dos seguintes fragmentos do programa omitem algum do pormenor que é descrito para o fragmento de programa anterior.
2. Extensão Espectral
[00075] Quando é utilizada extensão espectral (SPX), o bloco de áudio no qual o processo da extensão começa contém parâmetros partilhados necessários para SPX no bloco de áudio inicial assim como outro bloco de áudio utilizando SPX no quadro. Os parâmetros partilhados incluem uma identificação dos canais que participam no processo, o intervalo de frequência de extensão espectral e como o envelope espectral SPX para cada canal é partilhado através do tempo e da frequência. Estes parâmetros são desempacotados do bloco de áudio que inicia a utilização do SPX e armazenados na memória ou em registos de computador para utilização no processamento SPX em blocos de áudio subsequentes no quadro.
[00076] É possível para um quadro ter mais de um bloco de áudio inicial para o SPX. Um bloco de áudio inicia SPX se os metadados para esse bloco de áudio indicam que SPX é utilizado e, ou os metadados para o bloco de áudio anterior no quadro indicam que SPX não é utilizado, ou o bloco de áudio é o primeiro bloco em um quadro.
[00077] Cada bloco de áudio que utiliza SPX ou inclui o envelope espectral SPX, referido como coordenadas SPX, que é utilizado para processamento de extensão espectral nesse blocos áudio ou inclui uma marca "reutilizar" que indica que as coordenadas SPX para um bloco anterior devem ser utilizadas. As coordenadas SPX em um bloco são desempacotadas e retidas para possível reutilização por operações SPX em blocos de áudio subsequentes.
[00078] O seguinte fragmento de programa ilustra um modo pelo qual os blocos de áudio utilizando SPX podem ser processados. (2.(1) determina o início de um quadro no fluxo S de bits (2.(2) para cada quadro N no fluxo S de bits (2.(3) desempacota metadados no quadro N (2.(4) obtém parâmetros dos metadados desempacotados do quadro (2.(5) se parâmetros SPX do quadro estão presente então desempacota parâmetros SPX do quadro (2.(6) determina o início do primeiro bloco K de áudio no quadro N (2.(7) para bloco K de áudio no quadro N (2.(8) desempacota metadados no bloco K (2.(9) obtém parâmetros dos metadados desempacotados do bloco (2.(10) se parâmetros do bloco do SPX estão presente então de-sempacota parâmetros SPX do bloco (2.(11) para canal C no bloco K (2.(12) desempacota e decodifica expoentes (2.(13) desempacota e desquantiza mantissas (2.(14) se canal C utiliza SPX então (2.(15) estende a largura de banda do canal C (2.(16) termina se (2.(17) aplica o filtro de síntese aos dados de áudio decodificados para o canal C (2.(18) determina o início do canal C+1 no bloco K (2.(19) termina para (2.(20) determina o início do bloco K+1 no quadro N (2.(21) termina para (2.(22) determina o início do quadro N+1 seguinte no fluxo S de bits (2.(23) termina para
[00079] A instrução (2.5) desempacota SPX parâmetros do quadro a partir dos metadados do quadro se algum estiver presente naqueles metadados. A instrução (2.10) desempacota SPX parâmetros do bloco a partir dos metadados do bloco se algum estiver presente nos metadados do bloco. Os parâmetros SPX do bloco podem incluir coordenadas SPX para um ou mais canais no bloco.
[00080] As instruções (2.12) e (2.13) desempacotam e decodificam expoentes e utilizam os expoentes decodificados para determinar a alocação de bit para desempacotar e desquantizar cada mantissa quantizada. A instrução (2.14) determina se o canal C no corrente bloco de áudio utiliza SPX. Se utiliza SPX, a instrução (2.15) aplica processamento SPX para estender a largura de banda do canal C. Este processo proporciona os componentes espectrais para o canal C que são introduzidos no banco de filtros de síntese aplicada na instrução (2.17).
3. Transformada Híbrida Adaptativa
[00081] Quando é utilizado transformada híbrida adaptativa (AHT), o primeiro bloco ABO de áudio em um quadro contém todos os coeficientes da transformada híbrida para cada canal processado pela transformada DCT-II. Para todos os outros canais, cada um dos seis blocos de áudio no quadro contém até 256 coeficientes espectrais gerados pelo banco de filtros de análise MDCT.
[00082] Por exemplo, um fluxo de bits codificado contém dados para os canais esquerdos, central e direito. Quando os canais esquerdo e direito são processados pela AHT e o canal central não é processado pela AHT, o bloco ABO de áudio contém todos os coeficientes da transformada híbrida para cada um dos canais esquerdo e direito e contém até 256 coeficientes MDCT espectrais para o canal central. Os blocos AB1 até AB5 de áudio não contêm coeficientes MDCT espectrais para o canal central e nenhum coeficiente para os canais esquer-do e direito.
[00083] O seguinte fragmento de programa ilustra um modo pelo qual os blocos de áudio com coeficientes AHT podem ser processados. (3.(1) determina o início de um quadro no fluxo S de bits (3.(2) para cada quadro N no fluxo S de bits (3.(3) desempacota metadados no quadro N (3.(4) obtém parâmetros dos metadados desempacotados do quadro (3.(5) determina o início do primeiro bloco K de áudio no quadro N (3.(6) para bloco K de áudio no quadro N (3.(7) desempacota metadados no bloco K (3.(8) obtém parâmetros a partir dos metadados desempacotados do bloco (3.(9) determina o início do primeiro canal C no bloco K (3.(10) para o canal C no bloco K (3.(11) se AHT está em utilização para o canal C então (3.(12) se K=0 então (3.(13) desempacota e decodifica expoentes (3.(14) desempacota e desquantiza mantissas (3.(15) aplica transformada secundária inversa aos expoentes e às mantissas (3.(16) armazena expoentes e mantissas MDCT na memória buffer (3.(17) termina se (3.(18) obtém expoentes e mantissas MDCT para o bloco K a partir da memória buffer (3.(19) senão (3.(20) desempacota e decodifica expoentes (3.(21) desempacota e desquantiza mantissas (3.(22) termina se (3.(23) aplica o filtro de síntese aos dados de áudio decodificados para o canal C (3.(24) determina o início do canal C+1 no bloco K (3.(25) termina para (3.(26) determina o início do bloco K+1 no quadro N (3.(27) termina para (3.(28) determina o início do quadro N+1 seguinte no fluxo S de bits (3.(29) termina para
[00084] A instrução (3.11) determina se AHT está em utilização para o canal C. Se está em utilização, a instrução (3.12) determina se o primeiro bloco ABO de áudio está sendo processado. Se o primeiro bloco de áudio está sendo processado, então as instruções (3.13) a (3.16) para obter todos os coeficientes AHT para o canal C, aplicam a transformada secundária inversa ou IDCT-II aos coeficientes da AHT para obter coeficientes MDCT espectrais e armazenam-nos em uma memória buffer. Estes coeficientes espectrais correspondem aos expoentes e às mantissas desquantizadas que são obtidos pelas instruções (3.20) e (3.21) para os canais para os quais AHT não está em utilização. A instrução (3.18) obtém os expoentes e as mantissas dos coeficientes de MDCT espectrais que correspondem ao bloco K de áudio que está sendo processado. Se o primeiro bloco (K=0) de áudio está sendo processado, por exemplo, então os expoentes e mantissas para o grupo de coeficientes MDCT espectrais para o primeiro bloco são obtidos da memória buffer. Se o segundo bloco (K=1) de áudio está sendo processado, por exemplo, então os expoentes e mantissas para o grupo de coeficientes MDCT espectrais para o segundo bloco são obtidos da memória buffer.
4. Extensão Espectral e Transformada Híbrida Adaptativa
[00085] Podem ser utilizados SPX e AHT para gerar dados codifi- cados para os mesmos canais. A lógica discutida acima separadamente para extensão espectral e processamento por transformada híbrida pode ser combinada para processar canais para os quais SPX está em utilização, AHT está em utilização, ou SPX e AHT estão em utilização.
[00086] O seguinte fragmento de programa ilustra um modo como blocos de áudio com coeficientes SPX e AHT podem ser processados. (4.(1) início de um quadro no fluxo S de bits (4.(2) para cada quadro N no fluxo S de bits (4.(3) desempacota metadados no quadro N (4.(4) obtém parâmetros dos metadados desempacotados do quadro (4.(5) se parâmetros SPX do quadro estão presentes então de-sempacota parâmetros do quadro do SPX (4.(6) determina o início do primeiro bloco K de áudio no quadro N (4.(7) para bloco K de áudio no quadro N (4.(8) desempacota metadados no bloco K (4.(9) obtém parâmetros dos metadados desempacotados do bloco (4.(10) se os parâmetros do bloco do SPX estão presente então desempacota parâmetros do bloco do SPX (4.(11) para canal C no bloco K (4.(12) se AHT em utilização para o canal C então (4.(13) se K=0 então (4.(14) desempacota e decodifica expoentes (4.(15) desempacota e desquantiza mantissas (4.(16) aplica transformada secundária inversa aos expoentes e às mantissas (4.(17) armazena expoentes e mantissas da transformada secun dária inversa na memória buffer (4.(18) termina se (4.(19) obtém expoentes e mantissas da transformada secundária inversa para o bloco K da memória buffer (4.(20) senão (4.(21) desempacota e decodifica expoentes (4.(22) desempacota e desquantiza mantissas (4.(23) termina se (4.(24) se o canal C utiliza o SPX então (4.(25) estende a largura de banda do canal C (4.(26) termina se (4.(27) aplica o filtro de síntese aos dados de áudio decodificados para o canal C (4.(28) determina o início do canal C+1 no bloco K (4.(29) termina para (4.(30) determina o início do bloco K+1 no quadro N (4.(31) termina para (4.(32) determina o início do quadro N+1 seguinte no fluxo S de bits (4.(33) termina para
[00087] A instrução (4.5) desempacota parâmetros SPX do quadro dos metadados do quadro se algum estiver presente naqueles metadados. A instrução (4.10) desempacota parâmetros SPX do bloco dos metadados do bloco se algum estiver presente nos metadados do bloco. Os parâmetros SPX do bloco podem incluir coordenadas SPX para um ou mais canais no bloco.
[00088] A instrução (4.12) determina se AHT está em utilização para o canal C. Se AHT está em utilização para o canal C, a instrução (4.13) determina se este é o primeiro bloco de áudio. Se é o primeiro bloco de áudio, as instruções (4.14) até (4.17) obtém todos os coeficientes AHT para o canal C, aplicam a transformada secundária inversa ou IDCT-II para os coeficientes AHT para obter coeficientes da transformada secundária inversa, e armazena-os em uma memória buffer. A instrução (4.19) obtém os expoentes e as mantissas dos coeficientes da transformada secundária inversa que correspondem ao bloco K de áudio que está sendo processado.
[00089] Se AHT não está em utilização para o canal C, as instruções (4.21) e (4.22) desempacotam e obtêm os expoentes e as mantissas para o canal C no bloco K como discutido acima para instruções (1.11) e (1.12) de programa.
[00090] A instrução (4.24) determina se o canal C no bloco de áudio corrente utiliza SPX. Se utiliza SPX, a instrução (4.25) aplica proces-samento SPX aos coeficientes da transformada secundária inversa para estender a largura de banda, obtendo desse modo os coeficientes MDCT espectrais do canal C. Este processo proporciona os componentes espectrais para o canal C que são introduzidos no banco de filtros de síntese aplicada na instrução (4.27). Se o processamento SPX não é utilizado para o canal C, os coeficientes MDCT espectrais são obtidos diretamente dos coeficientes da transformada secundária inversa.
5. Acoplamento e Transformada Híbrida Adaptativa
[00091] O acoplamento de canais e AHT podem ser utilizados para gerar dados codificados para os mesmos canais. Essencialmente a mesma lógica discutida acima para a extensão espectral e o processamento por transformada híbrida podem ser utilizados para processar fluxos de bits utilizando acoplamento de canais e AHT porque os detalhes do processamento SPX discutidos acima se aplicam ao processamento executado para o acoplamento de canais.
[00092] O seguinte fragmento de programa ilustra uma maneira como blocos de áudio com acoplamento e coeficientes AHT podem ser processados. (5.(1) início de um quadro no fluxo S de bits (5.(2) para cada quadro N no fluxo S de bits (5.(3) desempacota metadados no quadro N (5.(4) obtenha parâmetros dos metadados desempacotados do quadro (5.(5) se os parâmetros de acoplamento do quadro estão presentes então desempacota parâmetros do quadro do acoplamento (5.(6) determina o início do primeiro bloco K de áudio no quadro N (5.(7) para bloco K de áudio no quadro N (5.(8) desempacota metadados no bloco K (5.(9) obtém parâmetros dos metadados desempacotados do bloco (5.(10) se parâmetros de acoplamento do bloco estão presentes se desempacota parâmetros de acoplamento do bloco (5.(11) para o canal C no bloco K (5.(12) se AHT no utilização para o canal C então (5.(13) se K=0 então (5.(14) desempacota e decodifica expoentes (5.(15) desempacota e desquantiza mantissas (5.(16) aplica transformada secundária inversa aos expoentes e às mantissas (5.(17) armazena expoentes e mantissas da transformada secundária inversa na memória buffer (5.(18) termina se (5.(19) obtém expoentes e mantissas da transformada secundária inversa para o bloco K da memória buffer (5.20) senão (5.(21) desempacota e decodifica expoentes para o canal C (5.(22) desempacota e desquantiza mantissas para o canal C (5.(23) termina se (5.(24) se o canal C utiliza o acoplamento então (5.(25) se o canal C é primeiro canal para utilizar o acoplamento então (5.(26) se AHT no utilização para o canal de acoplamento então (5.(27) se K=0 então (5.(28) desempacota e decodifica expoentes do canal de acoplamento (5.(29) desempacota e desquantiza mantissas do canal de acoplamento (5.(30) aplica transformada secundária inversa ao canal de acoplamento (5.(31) armazena expoentes e mantissas da transformada secun dária inversa do canal de acoplamento na memória buffer (5.(32) termina se (5.(33) obtém expoentes e mantissas do canal de acoplamento para o bloco K da memória buffer (5.34) senão (5.(35) desempacota e decodifica expoentes do canal de acopla mento (5.(36) desempacota e desquantiza mantissas do canal de acoplamento (5.(37) termina se (5.(38) termina se (5.(39) obtém o canal C acoplado a partir do canal de acoplamento (5.(40) termina se (5.(41) aplica o filtro de síntese aos dados de áudio decodificados para o canal C (5.(42) determina o início do canal C+1 no bloco K (5.(43) termina para (5.(44) determina o início do bloco K+1 no quadro N (5.(45) termina para (5.(46) determina o início do quadro N+1 seguinte no fluxo S de bits (5.(47) termina para
[00093] A instrução (5.5) desempacota parâmetros de acoplamento de canais dos metadados do quadro se algum estiver presente naqueles metadados. A instrução (5.10) desempacota parâmetros de acoplamento de canais dos metadados do bloco se algum estiver presente nos metadados do bloco. Se estiverem presentes, coordenadas de acoplamento são obtidas para os canais acoplados no bloco.
[00094] A instrução (5.12) determina se AHT está em utilização para o canal C. Se AHT está em utilização, a instrução (5.13) determina se é o primeiro bloco de áudio. Se é o primeiro bloco de áudio, as instruções (5.14) até (5.17) obtém todos os coeficientes AHT para o canal C, aplicam a transformada secundária inversa ou IDCT-II aos coeficientes AHT para obter os coeficientes da transformada secundária inversa e armazenam-nos em uma memória buffer. A instrução (5.19) obtém os expoentes e mantissas dos coeficientes da transformada secundária inversa que correspondem ao bloco K de áudio que está sendo processado.
[00095] Se AHT não está em utilização para o canal C, as instruções (5.21) e (5.22) desempacotam e obtêm os expoentes e as mantissas para o canal C no bloco K como discutido acima para as instruções (1.11) e (1.12) do programa.
[00096] A instrução (5.24) determina se o acoplamento de canais está em utilização para o canal C. Se está em utilização, a instrução (5.25) determina se o canal C é o primeiro canal no bloco a utilizar o acoplamento. Se é, os expoentes e as mantissas para o canal de aco-plamento são obtidos quer a partir de uma aplicação de uma transformada secundária inversa aos expoentes e às mantissas do canal de acoplamento como mostrado nas instruções (5.26) até (5.33) ou a par- tir de dados no fluxo de bits como mostrado nas instruções (5.35) e (5.36). Os dados representando as mantissas do canal de acoplamento estão colocados no fluxo de bits imediatamente depois dos dados representando mantissas do canal C. A instrução (5.39) deriva o canal acoplado C a partir do canal de acoplamento utilizando as coordenadas de acoplamento apropriadas para o canal C. Se o acoplamento de canais não é utilizado para o canal C, os coeficientes MDCT espectrais são obtidos diretamente dos coeficientes da transformada secundária inversa.
6. Extensão Espectral, Acoplamento e Transformada Híbrida adaptativa
[00097] A extensão espectral, acoplamento de canais e AHT podem ser todos utilizados para gerar dados codificados para os mesmos canais. A lógica discutida acima para combinações de processamento AHT com extensão espectral e acoplamento pode ser combinada para processar os canais utilizando qualquer combinação das três ferramentas de codificação incorporando a lógica adicional necessária para gerir oito situações possíveis. O processamento para o desacoplamen- to de canais é executado antes de executar o processamento SPX.
F. Implementação
[00098] Dispositivos que incorporam vários aspectos da presente invenção podem ser implementados de uma variedade de modos, incluindo software para execução por um computador ou algum outro dispositivo incluindo componentes mais especializados, tais como circuitos de processamento digital de sinais (DSP) acoplados a componentes semelhantes àqueles encontrados em um computador de utilização geral. A figura 8 é um diagrama de blocos esquemático de um dispositivo 90 que pode ser utilizado para implementar aspectos da presente invenção. O processador 92 proporciona recursos de computação. A RAM 93 é a memória (RAM) de acesso aleatório do sistema utilizada pelo processador 92 para processar. A ROM 94 representa alguma forma de armazenamento persistente, tal como memória (ROM) apenas de leitura para armazenar os programas necessários para operar o dispositivo 90 e possivelmente para vários aspectos de execução da presente invenção. O controle 95 de I/O representa circuitos da interface para receber e transmitir sinais pelos canais 1,16 de comunicação. Na modalidade mostrada, todos os componentes principais do sistema se ligam ao barramento 91, que pode representar mais do que um barramento físico ou lógico; contudo, uma arquitetura de barramento não é exigida para implementar a presente invenção.
[00099] Em modalidades implementadas por um sistema informático de utilização geral, podem ser incluídos componentes adicionais para estabelecer interface com dispositivos, tais como um teclado ou um mouse e uma tela, e para controlar um dispositivo de armazenamento que tem um meio de armazenamento, tal como a banda ou disco magnético, ou um meio óptico. O meio de armazenamento pode ser utilizado para gravar programas de instruções para sistemas operativos, utilitários e aplicações, e pode incluir programas que implementam vários aspectos da presente invenção.
[000100] As funções exigidas para praticar vários aspectos da presente invenção podem ser executadas por componentes que são implementados em uma grande variedade de modos incluindo componentes de lógica discretos, circuitos integrados, um ou mais ASIC e/ou processadores controlados por programa. O modo como estes componentes são implementados não é importante para a presente invenção.
[000101] As implementações de software da presente invenção podem ser transportadas por uma variedade de meios de leitura óptica, tais como banda base ou trajetos de comunicação modulados através de todo o espectro, incluindo das frequências supersônicas às ultravio- letas, ou meios de armazenamento que transportam a informação utilizando essencialmente qualquer tecnologia de gravação incluindo banda magnética, cartões ou disco, cartões ou disco ópticos, e marcações detectáveis em meios incluindo papel.

Claims (6)

1. Método para decodificar um quadro de um sinal de áudio digital codificado, em que: o quadro compreende metadados do quadro, um primeiro bloco de áudio e um ou mais blocos de áudio subsequentes; e cada um dentre o primeiro e os subsequentes blocos de áudio compreende metadados de bloco e dados de áudio codificados para dois ou mais canais de áudio, onde: os dados de áudio codificados compreendem fatores de escala e valores escalados representando conteúdo espectral dos dois ou mais canais de áudio, cada valor escalado estando associado a um fator respectivo dentre os fatores de escala; e os metadados do bloco compreendem informação de controle descrevendo ferramentas de codificação utilizadas por um processo de codificação que produziu os dados de áudio codificados, as ferramentas de codificação incluindo processamento por transformada híbrida adaptativa que compreende: aplicar um banco de filtros de análise implementado por uma transformada principal aos dois ou mais canais de áudio para gerar coeficientes da transformada principal, e aplicar uma transformada secundária aos coeficientes da transformada principal para pelo menos alguns dentre os dois ou mais canais de áudio gerarem coeficientes de transformada híbrida; e caracterizado pelo fato de que o método compreende as etapas de: (1) receber o quadro do sinal de áudio digital codificado; e (8) examinar o sinal de áudio digital codificado do quadro em uma única passagem para decodificar os dados de áudio codificados para cada bloco de áudio em ordem por bloco, em que a decodificação de cada bloco de áudio respectivo compreende: (9) determinar, para cada canal respectivo dos dois ou mais canais, se o processo de codificação utilizou processamento por trans-formada híbrida adaptativa para codificar qualquer um dos dados de áudio codificados; (10) se o processo de codificação utilizou processamento por transformada híbrida adaptativa para o respectivo canal: (a) se o bloco de áudio respectivo for o primeiro bloco de áudio no quadro: (i) obter todos os coeficientes da transformada híbrida do respectivo canal para o quadro a partir dos dados de áudio codificados no primeiro bloco de áudio, e (ii) aplicar uma transformada secundária inversa aos coeficientes de transformada híbrida para obter coeficientes de transformada secundária inversa, e (b) obter coeficientes de transformada principal a partir dos coeficientes de transformada secundários inversa para o respectivo canal no respectivo bloco de áudio; (11) se o processo de codificação não utilizou processamen-to por transformada híbrida adaptativa para o canal respectivo, obter coeficientes da transformada principal para o canal respectivo decodi-ficando os dados de áudio codificados no bloco de áudio respectivo; e (12) aplicar uma transformada principal inversa aos coefici-entes da transformada principal para gerar um sinal de saída represen-tando o canal respectivo no bloco de áudio respectivo.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o quadro do sinal de áudio digital codificado respeita a sintaxe melhorada do fluxo de bits AC-3.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que as ferramentas de codificação incluem processamento por extensão espectral e a decodificação de cada bloco de áu- dio respectivo compreende ainda: determinar se o processo de decodificação deve utilizar processamento por extensão espectral para decodificar qualquer um dos dados de áudio codificados; e se o processamento por extensão espectral deve ser utilizado, sintetizar um ou mais componentes espectrais dos coeficientes da transformada secundária inversa para obter coeficientes da transformada principal com uma largura de banda estendida.
4. Método, de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de que as ferramentas de codificação incluem acoplamento de canais e a decodificação de cada bloco de áudio respectivo compreende ainda: determinar se o processo de codificação utilizou acoplamento de canais para codificar qualquer um dos dados de áudio codificados; e se o processo de codificação utilizou o acoplamento de canais, derivar componentes espectrais dos coeficientes da transformada secundária inversa para obter os coeficientes da transformada principal para os canais acoplados.
5. Aparelho para decodificar um quadro de um sinal de áudio digital codificado, caracterizado pelo fato de que o aparelho compreende meios para realizar todas as etapas de qualquer uma das reivindicações 1 a 4.
6. Meio de armazenamento que grava um método que é executável por um dispositivo para decodificar um quadro de um sinal de áudio digital codificado, caracterizado pelo fato de que o método é o método conforme definido em qualquer uma das reivindicações 1 a 4.
BR112012013745-0A 2009-12-07 2010-10-28 Método para decodificar um quadro de um sinal de áudio digital codificado, aparelho para decodificar um quadro de um sinal de áudio digital codificado e meio de armazenamento que grava o método BR112012013745B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26742209P 2009-12-07 2009-12-07
US61/267,422 2009-12-07
PCT/US2010/054480 WO2011071610A1 (en) 2009-12-07 2010-10-28 Decoding of multichannel aufio encoded bit streams using adaptive hybrid transformation

Publications (2)

Publication Number Publication Date
BR112012013745A2 BR112012013745A2 (pt) 2016-03-15
BR112012013745B1 true BR112012013745B1 (pt) 2020-10-27

Family

ID=43334376

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012013745-0A BR112012013745B1 (pt) 2009-12-07 2010-10-28 Método para decodificar um quadro de um sinal de áudio digital codificado, aparelho para decodificar um quadro de um sinal de áudio digital codificado e meio de armazenamento que grava o método

Country Status (37)

Country Link
US (2) US8891776B2 (pt)
EP (3) EP2706529A3 (pt)
JP (2) JP5547297B2 (pt)
KR (2) KR101370522B1 (pt)
CN (2) CN104217724B (pt)
AP (1) AP3301A (pt)
AR (1) AR079878A1 (pt)
AU (1) AU2010328635B2 (pt)
BR (1) BR112012013745B1 (pt)
CA (1) CA2779453C (pt)
CL (1) CL2012001493A1 (pt)
CO (1) CO6460719A2 (pt)
DK (1) DK2510515T3 (pt)
EA (1) EA024310B1 (pt)
EC (1) ECSP12012006A (pt)
ES (1) ES2463840T3 (pt)
GE (1) GEP20146081B (pt)
GT (1) GT201200134A (pt)
HK (1) HK1170058A1 (pt)
HN (1) HN2012000819A (pt)
HR (1) HRP20140400T1 (pt)
IL (1) IL219304A (pt)
MA (1) MA33775B1 (pt)
MX (1) MX2012005723A (pt)
MY (1) MY161012A (pt)
NI (1) NI201200063A (pt)
NZ (1) NZ599981A (pt)
PE (1) PE20130167A1 (pt)
PL (1) PL2510515T3 (pt)
PT (1) PT2510515E (pt)
RS (1) RS53288B (pt)
SI (1) SI2510515T1 (pt)
TN (1) TN2012000211A1 (pt)
TW (1) TWI498881B (pt)
UA (1) UA100353C2 (pt)
WO (1) WO2011071610A1 (pt)
ZA (1) ZA201203290B (pt)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711123B2 (en) * 2001-04-13 2010-05-04 Dolby Laboratories Licensing Corporation Segmenting audio signals into auditory events
US8948406B2 (en) * 2010-08-06 2015-02-03 Samsung Electronics Co., Ltd. Signal processing method, encoding apparatus using the signal processing method, decoding apparatus using the signal processing method, and information storage medium
US20120033819A1 (en) * 2010-08-06 2012-02-09 Samsung Electronics Co., Ltd. Signal processing method, encoding apparatus therefor, decoding apparatus therefor, and information storage medium
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
CN103959375B (zh) 2011-11-30 2016-11-09 杜比国际公司 增强的从音频编解码器的色度提取
KR101679209B1 (ko) * 2012-02-23 2016-12-06 돌비 인터네셔널 에이비 고 주파수 오디오 콘텐트의 효율적인 복구를 위한 방법들 및 시스템들
WO2014046916A1 (en) 2012-09-21 2014-03-27 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
KR101729930B1 (ko) 2013-02-14 2017-04-25 돌비 레버러토리즈 라이쎈싱 코오포레이션 업믹스된 오디오 신호들의 채널간 코히어런스를 제어하기 위한 방법
TWI618050B (zh) 2013-02-14 2018-03-11 杜比實驗室特許公司 用於音訊處理系統中之訊號去相關的方法及設備
US9830917B2 (en) 2013-02-14 2017-11-28 Dolby Laboratories Licensing Corporation Methods for audio signal transient detection and decorrelation control
TWI618051B (zh) * 2013-02-14 2018-03-11 杜比實驗室特許公司 用於利用估計之空間參數的音頻訊號增強的音頻訊號處理方法及裝置
US8804971B1 (en) * 2013-04-30 2014-08-12 Dolby International Ab Hybrid encoding of higher frequency and downmixed low frequency content of multichannel audio
MY178342A (en) * 2013-05-24 2020-10-08 Dolby Int Ab Coding of audio scenes
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US11146903B2 (en) 2013-05-29 2021-10-12 Qualcomm Incorporated Compression of decomposed representations of a sound field
TWM487509U (zh) * 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
US9530422B2 (en) 2013-06-27 2016-12-27 Dolby Laboratories Licensing Corporation Bitstream syntax for spatial voice coding
EP2830059A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Noise filling energy adjustment
US10095468B2 (en) 2013-09-12 2018-10-09 Dolby Laboratories Licensing Corporation Dynamic range control for a wide variety of playback environments
JP6396452B2 (ja) 2013-10-21 2018-09-26 ドルビー・インターナショナル・アーベー オーディオ・エンコーダおよびデコーダ
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US10770087B2 (en) * 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
CN105280212A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 混音播放方法及装置
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
TW202242853A (zh) 2015-03-13 2022-11-01 瑞典商杜比國際公司 解碼具有增強頻譜帶複製元資料在至少一填充元素中的音訊位元流
US9837086B2 (en) * 2015-07-31 2017-12-05 Apple Inc. Encoded audio extended metadata-based dynamic range control
US10504530B2 (en) 2015-11-03 2019-12-10 Dolby Laboratories Licensing Corporation Switching between transforms
EP3208800A1 (en) * 2016-02-17 2017-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for stereo filing in multichannel coding
US10015612B2 (en) 2016-05-25 2018-07-03 Dolby Laboratories Licensing Corporation Measurement, verification and correction of time alignment of multiple audio channels and associated metadata
SG10202100336WA (en) * 2017-01-10 2021-02-25 Fraunhofer Ges Forschung Audio decoder, audio encoder, method for providing a decoded audio signal, method for providing an encoded audio signal, audio stream, audio stream provider and computer program using a stream identifier
US10885921B2 (en) * 2017-07-07 2021-01-05 Qualcomm Incorporated Multi-stream audio coding
US10854209B2 (en) * 2017-10-03 2020-12-01 Qualcomm Incorporated Multi-stream audio coding
US10657974B2 (en) * 2017-12-21 2020-05-19 Qualcomm Incorporated Priority information for higher order ambisonic audio data
US20220059102A1 (en) * 2018-12-13 2022-02-24 Dolby Laboratories Licensing Corporation Methods, Apparatus and Systems for Dual-Ended Media Intelligence
WO2020207593A1 (en) * 2019-04-11 2020-10-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for determining a set of values defining characteristics of a filter, methods for providing a decoded audio representation, methods for determining a set of values defining characteristics of a filter and computer program
CN111711493B (zh) * 2020-06-16 2022-03-11 中国电子科技集团公司第三研究所 具有加密解密能力的水下通信设备及发射器和接收器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE138238T1 (de) 1991-01-08 1996-06-15 Dolby Lab Licensing Corp Kodierer/dekodierer für mehrdimensionale schallfelder
TW405328B (en) * 1997-04-11 2000-09-11 Matsushita Electric Ind Co Ltd Audio decoding apparatus, signal processing device, sound image localization device, sound image control method, audio signal processing device, and audio signal high-rate reproduction method used for audio visual equipment
JPH10340099A (ja) * 1997-04-11 1998-12-22 Matsushita Electric Ind Co Ltd オーディオデコーダ装置及び信号処理装置
US6246345B1 (en) 1999-04-16 2001-06-12 Dolby Laboratories Licensing Corporation Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding
US7292901B2 (en) 2002-06-24 2007-11-06 Agere Systems Inc. Hybrid multi-channel/cue coding/decoding of audio signals
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
CN1261663C (zh) 2002-12-31 2006-06-28 深圳市高科智能系统有限公司 无线集中控制门禁/门锁的方法及系统设备
US7516064B2 (en) * 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
US9454974B2 (en) * 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
KR101325802B1 (ko) * 2007-02-06 2013-11-05 엘지전자 주식회사 디지털 방송 송신기 및 디지털 방송 수신기와 그를 이용한디지털 방송 시스템 및 그 서비스 방법
CN101067931B (zh) 2007-05-10 2011-04-20 芯晟(北京)科技有限公司 一种高效可配置的频域参数立体声及多声道编解码方法与系统
US8706480B2 (en) * 2007-06-11 2014-04-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder for encoding an audio signal having an impulse-like portion and stationary portion, encoding methods, decoder, decoding method, and encoding audio signal
JP5284360B2 (ja) * 2007-09-26 2013-09-11 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 周囲信号を抽出するための重み付け係数を取得する装置および方法における周囲信号を抽出する装置および方法、並びに、コンピュータプログラム
CA2704812C (en) * 2007-11-06 2016-05-17 Nokia Corporation An encoder for encoding an audio signal
EP2107556A1 (en) * 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction

Also Published As

Publication number Publication date
MA33775B1 (fr) 2012-11-01
HN2012000819A (es) 2015-03-16
AP2012006289A0 (en) 2012-06-30
US8891776B2 (en) 2014-11-18
EP2801975A1 (en) 2014-11-12
CO6460719A2 (es) 2012-06-15
PE20130167A1 (es) 2013-02-16
IL219304A0 (en) 2012-06-28
GT201200134A (es) 2013-08-29
EP2801975B1 (en) 2017-01-04
NI201200063A (es) 2013-06-13
ECSP12012006A (es) 2012-08-31
US9620132B2 (en) 2017-04-11
CN104217724B (zh) 2017-04-05
JP5547297B2 (ja) 2014-07-09
EP2706529A2 (en) 2014-03-12
TWI498881B (zh) 2015-09-01
DK2510515T3 (da) 2014-05-19
JP2013511754A (ja) 2013-04-04
CN102687198B (zh) 2014-09-24
AU2010328635B2 (en) 2014-02-13
EP2510515B1 (en) 2014-03-19
ZA201203290B (en) 2013-07-31
AR079878A1 (es) 2012-02-29
SI2510515T1 (sl) 2014-06-30
MX2012005723A (es) 2012-06-13
EA201270642A1 (ru) 2012-12-28
KR20130116959A (ko) 2013-10-24
HRP20140400T1 (hr) 2014-06-06
KR101629306B1 (ko) 2016-06-10
ES2463840T3 (es) 2014-05-29
CL2012001493A1 (es) 2012-10-19
UA100353C2 (uk) 2012-12-10
KR20120074305A (ko) 2012-07-05
CN102687198A (zh) 2012-09-19
US20150030161A1 (en) 2015-01-29
EA024310B1 (ru) 2016-09-30
TN2012000211A1 (en) 2013-12-12
PT2510515E (pt) 2014-05-23
JP2014063187A (ja) 2014-04-10
NZ599981A (en) 2014-07-25
WO2011071610A1 (en) 2011-06-16
TW201126511A (en) 2011-08-01
AU2010328635A1 (en) 2012-05-17
AP3301A (en) 2015-06-30
HK1170058A1 (en) 2013-02-15
CA2779453A1 (en) 2011-06-16
GEP20146081B (en) 2014-04-25
RS53288B (en) 2014-08-29
BR112012013745A2 (pt) 2016-03-15
US20120243692A1 (en) 2012-09-27
CN104217724A (zh) 2014-12-17
PL2510515T3 (pl) 2014-07-31
EP2706529A3 (en) 2014-04-02
EP2510515A1 (en) 2012-10-17
JP5607809B2 (ja) 2014-10-15
CA2779453C (en) 2015-12-22
MY161012A (en) 2017-03-31
IL219304A (en) 2015-05-31
KR101370522B1 (ko) 2014-03-06

Similar Documents

Publication Publication Date Title
BR112012013745B1 (pt) Método para decodificar um quadro de um sinal de áudio digital codificado, aparelho para decodificar um quadro de um sinal de áudio digital codificado e meio de armazenamento que grava o método
BRPI0709235B1 (pt) Decodificador de áudio, método de decodificação de áudio, receptor para receber um sinal de n canais, sistema de transmissão para transmitir um sinal de áudio, método para receber um sinal de áudio, método para transmitir e receber um sinal de áudio, mídia de armazenamento legível por computador, e, dispositivo de reprodução de áudio
KR20050097990A (ko) 엔코딩과 저-복잡성의 변환 부호화를 위한 합성된 스펙트럼성분들의 변환
PT1668959E (pt) Codificação/descodificação compatível com multicanal
BR112015007532B1 (pt) Codificador, decodificador e métodos para codificação de objeto de áudio espacial multirresolução compatível regressivo
BRPI0410130B1 (pt) "método e codificador para codificação de sinais de áudio de entrada, e método e decodificador para a decodificação de um sinal codificado"
BR122017006701B1 (pt) Codificador e decodificador de áudio estereofônico
BRPI0609897A2 (pt) codificador, decodificador, método para codificação de um sinal de multicanal, sinal de multicanal codificado, produto programa de computador, transmissor, receptor, sistema de transmissão, métodos de transmissão e de recebimento de um sinal de multicanal, dispositivos de registro e de reprodução de áudio, e, meio de armazenamento
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
DK2691951T3 (en) TRANSFORMATION WITH REDUCED COMPLEXITY OF AN Low-Frequency
BR112015028914B1 (pt) Método e aparelho para reconstruir um bloco de tempo/frequência de objetos de áudio n, método e codificador para gerar pelo menos um parâmetro de ponderação, e meio legível por computador
BR112013022988B1 (pt) Método para processar um sinal de áudio digital, aparelho para processar um sinal de áudio digital e meio de armazenamento
BR112015025080B1 (pt) Método de decodificação e decodificador para decodificar dois sinais de áudio, método de codificação e codificador para codificar dois sinais de áudio, e meio legível não transitório

Legal Events

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

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