25
1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento de Engenharia de Telecomunicações - Escola de Engenharia – Universidade Federal Fluminense (UFF) Rua Passo da Pátria, 156 - 24210-240 - São Domingos - Niterói – RJ – Brasil. [email protected], [email protected] Resumo. Este trabalho tem como objetivo apresentar alguns conceitos sobre uma das técnicas de codificação empregada à mídia áudio, o MPEG. Nesse sentido, serão abordadas as Técnicas de Codificação de Áudio MPEG-1, MPEG-2 BC (Backward Compatible), MPEG-2 AAC (Advanced Audio Coding) e MPEG-4, suas tecnologias, suas arquiteturas e algumas de suas aplicações, consistindo o AAC no principal tópico a ser abordado neste trabalho. 1. I NTRODUÇÃO Dados de imagens estáticas, gráficos, áudio e vídeo sem compressão necessitam de grandes espaços de memória para armazenamento, além de exigirem uma grande largura de banda para uma simples comunicação ponto-a-ponto ou entre grupos. De modo a se obter uma boa relação custo/benefício, os sistemas multimídia devem usar compressão para esses tipos de dados. Já existem muitos métodos de compressão disponíveis com esta finalidade, além de outros em fase de desenvolvimento e, dentre estes, destacam-se o JPEG para imagem, o H.26X para vídeo e o MPEG para vídeo e áudio [1, 2, 3, 4]. Este trabalho aborda o método de compressão AAC ( Advanced Audio Coding), parte integrante dos padrões MPEG-2 AAC e MPEG-4. Na primeira parte, será apresentado, de uma forma geral, o padrão MPEG ( Motion Picture Expert Group), abordando diversos aspectos relacionados aos Padrões MPEG-1 e MPEG-2 BC ( Backward Compatible); na segunda parte, será apresentado o Padrão MPEG-2 AAC, propriamente dito; na terceira parte, será feita uma rápida abordagem sobre o formato adotado para a mídia áudio do MPEG-4, que também emprega o AAC; ao longo do trabalho, serão feitas algumas comparações entre os Padrões MPEG-2 BC, MPEG-2 AAC e MPEG-4.

MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

1

MPEG AAC (Advanced Audio Coding)

Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca

Departamento de Engenharia de Telecomunicações - Escola de Engenharia – Universidade Federal Fluminense (UFF)

Rua Passo da Pátria, 156 - 24210-240 - São Domingos - Niterói – RJ – Brasil.

[email protected], [email protected]

Resumo. Este trabalho tem como objetivo apresentar alguns conceitos sobre uma das técnicas de codificação empregada à mídia áudio, o MPEG. Nesse sentido, serão abordadas as Técnicas de Codificação de Áudio MPEG-1, MPEG-2 BC (Backward Compatible), MPEG-2 AAC (Advanced Audio Coding) e MPEG-4, suas tecnologias, suas arquiteturas e algumas de suas aplicações, consistindo o AAC no principal tópico a ser abordado neste trabalho.

1. INTRODUÇÃO Dados de imagens estáticas, gráficos, áudio e vídeo sem compressão necessitam de grandes espaços de memória para armazenamento, além de exigirem uma grande largura de banda para uma simples comunicação ponto-a-ponto ou entre grupos. De modo a se obter uma boa relação custo/benefício, os sistemas multimídia devem usar compressão para esses tipos de dados. Já existem muitos métodos de compressão disponíveis com esta finalidade, além de outros em fase de desenvolvimento e, dentre estes, destacam-se o JPEG para imagem, o H.26X para vídeo e o MPEG para vídeo e áudio [1, 2, 3, 4]. Este trabalho aborda o método de compressão AAC (Advanced Audio Coding), parte integrante dos padrões MPEG-2 AAC e MPEG-4. Na primeira parte, será apresentado, de uma forma geral, o padrão MPEG (Motion Picture Expert Group), abordando diversos aspectos relacionados aos Padrões MPEG-1 e MPEG-2 BC (Backward Compatible); na segunda parte, será apresentado o Padrão MPEG-2 AAC, propriamente dito; na terceira parte, será feita uma rápida abordagem sobre o formato adotado para a mídia áudio do MPEG-4, que também emprega o AAC; ao longo do trabalho, serão feitas algumas comparações entre os Padrões MPEG-2 BC, MPEG-2 AAC e MPEG-4.

Page 2: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

2

2. PADRÃO MPEG Analisando as razões que levaram o MPEG-1/2 Layer 3 [1], e não outras tecnologias de compressão, a emergir como o principal meio de representação de áudio, especialmente na Internet, podemos concluir que:

?? O MPEG é um padrão aberto: a especificação está disponível para qualquer um que estiver interessado em implementar o padrão, não existindo problemas de interoperabilidade entre equipamentos – hardware e software – de diferentes fabricantes;

?? Alta disponibilidade de codificadores e decodificadores: impulsionado

inicialmente pela demanda de uso para broadcasting, hardware (DSP – Digital Signal Processor) e software foram disponibilizados por muitos anos; e

?? Tecnologias de suporte: o MPEG-1/2 Layer 3 foi definido em 1991. Desde

então, pesquisas baseadas em modelos perceptuais acústicos progrediram e outros codificadores dotados de uma maior eficiência de compressão tornaram-se disponíveis. Dentre estes, o MPEG-2 AAC, o provável sucessor do MPEG-1/2 Layer 3.

Resumindo, podemos afirmar que: “O Padrão MPEG-1/2 Layer 3 surgiu como a tecnologia certa na hora certa”. O Padrão MPEG-1/2 Layer 3 emprega um sistema de codificação de áudio perceptual, cuja função básica é comprimir o áudio original de tal modo que:

?? a compressão seja a mais eficiente possível, garantindo que o arquivo comprimido seja o menor possível; e

?? o áudio reconstituído (decodificado) deva soar exatamente como o áudio original

antes do processo de compressão (ou bem próximo). Outro requisito necessário às técnicas de compressão de áudio refere-se à baixa complexidade (possibilita o uso de decodificadores baseados em software ou em hardware de baixo custo, garantindo a flexibilidade para suas aplicações em diferentes cenários). A técnica que garante estes benefícios baseia-se, conforme mencionado acima, num modelo psicoacús tico [1, 2, 3, 4], que explora as limitações do ouvido humano, consistindo numa técnica de compressão com perdas, ou seja, o arquivo decodificado não representa uma réplica exata do dado de áudio original. Apesar disto, a técnica pode ser considerada perceptualmente sem perdas, uma vez que nós, humanos, não percebemos as supressões feitas pelo modelo perceptual. A Figura 1 contém o diagrama em blocos básico de um codificador/decodificador perceptual.

Page 3: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

3

Figura 1 – Diagrama de um CODEC Perceptual

O codificador consiste dos seguintes módulos:

?? BANCO DE FILTROS: usado para decompor o sinal de entrada em componentes espectrais, transformando um sinal no domínio do tempo para o domínio da freqüência;

?? MODELO PERCEPTUAL: aplicam-se as técnicas de mascaramento de freqüências e

de mascaramento temporal [4];

?? QUANTIZAÇÃO E CODIFICAÇÃO: as componentes espectrais são quantizadas e codificadas com o objetivo de manter o ruído de quantização abaixo de um valor definido de threshold;

?? CODIFICAÇÃO DO FLUXO DE BITS: um formatador deve ser usado para o fluxo de

bits, que tipicamente consiste dos coeficientes espectrais quantizados e codificados e outras informações relacionadas ao fluxo de bits.

O MPEG (Motion Pictures Experts Group), formalmente conhecido como ISO/IEC JTC1/SC29/WG11, foi estabelecido pela ISO/IEC, em 1988, para desenvolver padrões gerais (a serem usados por diferentes aplicações) para a representação de vídeo, áudio associado, e a combinação de áudio e vídeo. O MPEG-1 representa a primeira fase do trabalho do MPEG, e foi finalizado com a adoção da Norma ISO/IEC IS 11172, ao final do ano de 1992. A parte de áudio do MPEG-1 (ISO/IEC IS 11172-3) [6] descreve um sistema de codificação geral, desenvolvido para atendimento da demanda de muitas aplicações, consistindo de três modos de operação chamados de camadas – Layers 1, 2 e 3. A Layer 3 representa o

Page 4: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

4

modo de mais alta complexidade, otimizada para prover a maior qualidade a taxas de transmissão mais baixas – 128 kbit/s para um sinal estéreo. O MPEG-2 representa a segunda fase do MPEG. O padrão introduz vários novos conceitos para a codificação de vídeo, incluindo o suporte aos sinais de vídeo entrelaçado. A aplicação principal do MPEG-2 é a televisão digital. No que se refere ao áudio, o Padrão MPEG-2 original [7] foi finalizado em 1994, consistindo de duas extensões ao MPEG-1:

?? BACKWARD COMPATIBLE MULTICHANNEL CODING (MPEG-2 BC): adiciona a opção de sinais multicanais, na configuração 5.1, conhecida por ser empregada nas salas de cinema; e

?? CODIFICAÇÃO A TAXAS DE AMOSTRAGEM MAIS BAIXAS: empregadas taxas

inferiores – 16, 22.05 e 24 kHz – se comparadas àquelas suportadas pelo MPEG-1, adicionando eficiência de codificação a taxas de transmissão muito baixas.

3. MPEG-2 AAC (ADVANCED AUDIO CODING)

O MPEG-2 AAC [8], também conhecido como MPEG-2 NBC (Non-Backward Compatible), por não ser compatível com os padrões MPEG de áudio camada-1 (MP-1), camada-2 (MP-2) e camada-3 (MP-3), representa o estado da arte na codificação natural de áudio. O MPEG-2 AAC é o formato de tecnologia de áudio utilizado no sistema de difusão digital japonês, conhecido como ISDB (Integrated Services Digital Broadcasting), consistindo na base da tecnologia de codificação de áudio usada pelos serviços de rádio satélite correntemente em operação nos Estados Unidos. O MPEG-2 AAC é um novo esquema de codificação flexível, possuindo as seguintes características principais:

?? Pode ser usado em ambientes de baixa largura de banda, com 2 canais de áudio a 16 kbit/s, bem como em ambientes que exijam qualidade de áudio de difusão com 2 canais a 128 kbit/s; e

?? O MPEG-2 AAC suporta taxas de amostragem de 8 a 96 kHz, suportando de 1 a

48 canais e uma taxa de amostragem de 1 a 6 bits/amostra. O AAC (Advanced Audio Coding) é um dos vários sistemas de codificação de áudio especificado no padrão MPEG-2 (ISO/IEC 13818-7), que define métodos para compressão/descompressão de até 48 canais de áudio amostrados a 8, 11, 12, 16, 22, 24, 32, 44, 48, 64, 88 ou 96 kHz com taxa de até 288 kbit/s por canal.

Page 5: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

5

O padrão MPEG-2 AAC [5, 10] define também três métodos independentes entre si, que correspondem a diferentes configurações do esquema de codificação básico, fornecendo diferentes opções entre eficiência de codificação e complexidade:

?? BAIXA COMPLEXIDADE (LC – LOW COMPLEXITY): define um codificador base que, além de ser eficiente na codificação, é de complexidade moderada. Este método requer menos recursos computacionais e não usa predição inter-quadros (inter-frame), a máxima ordem do filtro TNS (Temporal Noise Shaping) é limitado a 12, permitindo decodificação mais robusta;

?? PRINCIPAL (MAIN): permite eficiência de alta compressão com um custo no uso

de alta capacidade de memória e demanda computacional. Pelo fato do método principal ser muito superior ao método LC, todos os fluxos de bits referentes ao método LC podem ser decodificados pelo decodificador do método principal; e

?? TAXA DE AMOSTRAGEM ESCALÁVEL (SSR – SAMPLE SCALABLE RATIO): este

método pode fornecer configurações do decodificador com complexidade muito abaixo daquela apresentada pelo método LC, o que é alcançado usando um estágio de pré-processamento constituído por um banco de filtros e um estágio de controle de ganho, em combinação com um banco de filtros de comprimento modificado.

O MPEG-2 AAC está disponível para manipular muito mais canais que os padrões MP2 ou MP3 (48 canais de áudio e 16 canais de baixa freqüência, se comparados com os 5 canais de áudio e 1 canal de baixa freqüência para o MP2 ou MP3). Testes formais de audição MPEG, demonstraram que, para 2 canais, é possível fornecer uma qualidade de áudio a 96 kbit/s ligeiramente melhor que o MP3 a 128 kbit/s ou que o MP2 a 192 kbit/s. O AAC usa ferramentas de codificação do MP3, porém, estas são empregadas de uma forma melhor, conforme descrito a seguir:

?? O banco de filtros é um puro MDCT e não um banco de filtros híbrido como no MP3;

?? Janelas largas são duas vezes mais próximas que as do MP3, fornecendo melhor

resolução de freqüência; e

?? Janelas curtas são menores que as do MP3, fornecendo melhor manuseio de transientes e pré-eco.

Similar a todos os esquemas baseados em codificação perceptual, o MPEG-2 AAC faz uso das propriedades de mascaramento de sinal do ouvido humano de modo a reduzir a quantidade de dados. Portanto, o ruído de quantização é distribuído para as bandas de freqüência, de tal forma que é mascarado pelo sinal total, isto é, permanece inaudível. A Figura 2 mostra a estrutura básica do método de codificação.

Page 6: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

6

Figura 2 – Fluxograma do codificador AAC

As diferenças cruciais em relação aos seus predecessores ISO/MPEG Áudio Camada-3 são:

?? Filterbank: em relação ao banco de filtros híbrido usado pelo ISO/MPEG Áudio Camada-3, escolhido por razões de compatibilidade, mas mostrando certa fraqueza estrutural, o MPEG-2 AAC usa MDCT (Modified Discrete Cosine Transform), que, em conjunto com a largura da janela - 1024 em oposição às 576 linhas espectrais por transformada - permitem uma maior eficiência do banco de filtros em comparação aos métodos de codificação anteriores;

?? Temporal Noise Shaping (TNS): uma verdadeira novidade na área de esquemas de codificação de tempo/freqüência, determinando o ruído de quantização no tempo pela predição no domínio da freqüência. Em particular, os sinais de voz experimentam considerável melhoria através do TNS;

?? Prediction: uma técnica comumente estabelecida na área de sistemas de codificação de voz, se beneficiando do fato de que certos tipos de sinais de áudio são fáceis de se predizer;

?? Quantization: com o controle fino da resolução de quantização, a razão de bits pode ser usada com mais eficácia; e

Page 7: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

7

?? Bit-stream format: A informação a ser transmitida usa codificação por entropia, de modo a manter a redundância tão baixa quanto possível. A otimização deste método de codificação em conjunto com uma estrutura do tipo ‘bit-stream’ flexível garantem melhorias adicionais na eficiência da codificação.

A seguir, serão abordados os aspectos principais dos módulos que constituem o MPEG-2 AAC e as principais técnicas de codificação:

?? MÓDULO GAIN CONTROL: bloco adicional na entrada do codificador, usado exclusivamente pelo MPEG-2 AAC no modo SSR, incluindo um banco de filtros de polifase de quadratura (PQF – Polyphase Quadrature Filterbank), detectores e modificadores de ganho.

Cada canal de entrada de áudio é dividido em 4 (quatro) bandas de freqüências de larguras iguais (0-6 kHz, 6-12 kHz, 12-18 kHz e 18-24 kHz), para uma taxa de amostragem de 48 kHz. Os sinais nestas bandas são examinados pelos detectores de ganho para mudanças rápidas na potência do sinal. Baseado nesta análise, ajustes da amplitude do sinal em função do tempo são realizados pelos modificadores de ganho, de modo a comprimir as mudanças do sinal. Então, cada sinal processado é passado para um banco de filtros MDCT que fornece 256 coeficientes de freqüência, o que resulta num total de 1024 coeficientes de freqüência para cada quadro de entrada de 1024 amostras.

?? FILTERBANK: opera em quatro modos de diferentes tipos de banco de filtros, isto

é, especifica a forma das janelas de entrada e a resolução do banco de filtros: ONLY_LONG_SEQUENCE,LONG_START_SEQUENCE,EIGHT_SHORT_SEQUENCE e LONG_STOP_SEQUENCE.

ONLY_LONG_SEQUENCE - considerado o modo padrão de operação, o codificador analisa a janela de entrada de 2048 amostras com um comprimento variável de 1024 amostras entre as janelas imediatamente seguintes. Como resultado, o banco de filtros produz 1024 coeficientes de freqüência, representando 1024 canais uniformemente espaçados e com uma resolução de freqüência de 23.4 Hz (24 kHz/1024, taxa de amostragem de 48 kHz). Esta resolução de alta freqüência permite, para uma pequena faixa, uma baixa formação do ruído de quantização, que é particularmente importante na faixa de freqüências baixas, onde as bandas críticas são mais estreitas.

No caso do codificador AAC, a resolução do banco de filtros pode ser chaveada na proporção de 8:1, isto é, um conjunto de 1024 (ONLY_LONG_SEQUENCE) ou 8 conjuntos de 128 (EIGHT_SHORT_SEQUENCE) coeficientes de freqüência. Chaveamento entre as duas resoluções, enquanto mantendo a reconstrução perfeita, é alcançado através de duas janelas de transição (LONG_START_SEQUENCE e LONG_STOP_SEQUENCE), que combinam metade de uma janela longa e uma janela curta, sendo a janela curta ampliada pelo segmento de janela plana para um tamanho de quadro de 1024 coeficientes de freqüência. Devido ao tamanho da janela, o estado de EIGHT_SHORT_SEQUENCE também é

Page 8: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

8

freqüentemente referenciado como janela curta, onde todos os outros estados são referenciados como janelas longas.

A Figura 3 mostra uma seqüência de janela típica, consistindo dos estados: (a) ONLY_LONG_SEQUENCE, (b) LONG_START_SEQUENCE, (c) EIGHT_SHORT_SEQUENCE, (d) LONG_STOP_SEQUENCE e (e) ONLY_LONG_SEQUENCE.

Figura 3 – Seqüência de alteração da janela típica

?? TNS (TEMPORAL NOISE SHAPING): representa um novo conceito na codificação

perceptual de áudio e foi introduzido pela primeira vez no MPEG-2 AAC. Esta ferramenta de codificação é fundamentada no fato de que o manuseio de transientes e sinais de entrada de tons espúrios ainda apresentam um desafio para esquemas de codificação baseados em T/F (domínio do Tempo/Freqüência). Mais especificamente: a codificação de tais sinais é difícil devido ao descasamento temporal entre o threshold e o ruído de quantização (problema do pré-eco). Isto se deve ao fato que o ruído de quantização será eventualmente distribuído dentro de cada janela do banco de filtros, ao passo que o nível de mascaramento atual pode variar consideravelmente dentro daquele período de tempo.

A técnica TNS pode ser caracterizada pelos seguintes aspectos: a. Dualidade T/F: o conceito de TNS explora a dualidade entre o domínio do

tempo e da freqüência para a mais conhecida técnica de codificação preditiva. Das tradicionais aplicações de processamento de sinais, é bem conhecido que sinais com um envelope espectral não plano mostram correlação entre amostras de sinais subseqüentes. Mas eles podem ser codificados eficientemente diretamente pela codificação dos valores espectrais - transform coding - ou aplicando métodos de codificação preditiva para sinais no tempo; e

b. Noise shaping by predictive coding: se um sinal no domino do tempo é

codificado por meio de uma técnica de codificação preditiva de malha aberta, o erro de quantização do sinal codificado final é conhecido por estar ajustado em sua densidade de potencia espectral (PSD – Power Spectral Density) para a densidade da potência espectral do sinal de entrada, ou seja, se técnicas de codificação preditivas são aplicadas a espectro de dados no

Page 9: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

9

domínio da freqüência, a forma temporal do erro de quantização do sinal aparecerá adaptado à forma temporal do sinal de entrada na saída do decodificador.

Na técnica TNS, se comparada à arquitetura padrão de um codificador e decodificador perceptual genérico, o processo de codificação/decodificação preditivo no domínio da freqüência pode ser realizado pela adição de mais um módulo, chamado TNS filtering. A Figura 4 mostra o codificador com a inclusão do novo módulo.

Figura 4 – Inclusão do módulo TNS Filtering no codificador

O TNS filtering executa uma operação de filtragem nos valores do espectro, isto é, ele substitui o conjunto dos coeficientes espectrais para o qual TNS é aplicado com a correspondente predição residual. Os coeficientes de predição TNS são determinados por meio de uma análise de codificação preditiva linear (LPC) dos coeficientes espectrais e transmitidos para o decodificador. No lado do decodificador, o processo de decodificação TNS é alcançado inserindo um bloco de processamento adicional, chamado filtragem inversa TNS (Inverse TNS Filtering), antes do banco de filtros síntese. A Figura 5 mostra o modulo de filtragem inversa TNS no decodificador.

Figura 5 – Inclusão do módulo Inverse TNS Filtering no decodificador

A operação de filtragem inversa é realizada sobre os valores espectrais residuais, de modo que os coeficientes espectrais alvo sejam substituídos pelos coeficientes espectrais decodificados por meio do filtro de predição inversa. No decodificador, o modo de operação TNS é sinalizado pelas informações, descritas abaixo, contidas e transmitidas dentro do fluxo de bits (bitstream):

Analysis Filterbank

TNS Filtering

TNS Filterbank

LPC Analysis

Quantização &

Codificação

Coeficientes Predictor

Inverse TNS

Filterbank

Syntesis Filterbank

Inverse TNS Filterbank

Quantização Inversa &

decodificação

Coeficientes Predictor

Page 10: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

10

a. Um Flag on/off global indicando se a técnica TNS está ativa no quadro (janela do banco de filtros) que está sendo transmitido;

b. A quantidade de filtros TNS que está sendo usada: em janelas estreitas,

podem ser usados, no máximo, um filtro por janela de banco de filtros; em janelas maiores, podem ser usados até 3 filtros; e

c. A largura da banda de freqüências por filtro TNS, junto com os

parâmetros do filtro, incluindo os coeficientes e a ordem do filtro. Os coeficientes do filtro são representados como coeficientes de reflexão que são quantizados por uma quantização não uniforme (arcsin). Dependendo do método utilizado, é possível utilizar filtros de 12ª ordem (MPEG-2 AAC métodos LC e SSR) ou 20ª ordem (MPEG-2 AAC Método Main).

Para codificadores MPEG-2 AAC, o TNS tem mostrado fornecer ganhos de qualidade de codificação, em particular para sinais de voz e outros sinais com características transientes. Além disso, a necessidade do uso TNS vem se tornando importante quando um codificador opera a taxas de amostragem muito baixas e a duração efetiva da janela do banco de filtros aumenta.

?? INTENSITY/COUPLING STEREO CODING: o conceito de codificação de sinais

estereofônicos foi usado no MPEG-1 e no MPEG-2 para codificação de sinais de áudio estereofônico e múltiplos canais, e em outros codificadores, conhecidos como: dynamic crosstalk e channel coupling.

A codificação do sinal estereofônico tenta explorar o fato de que a percepção dos componentes de áudio, principalmente os de alta freqüência, conta com o encapsulamento do sinal no tempo, mas que é possível, para certos tipos de sinais estereofônicos ou multicanais, transmitir um simples conjunto de valores espectrais, que é compartilhado ao longo dos canais de áudio, sem perdas virtuais na qualidade do som. O sinal original nos canais codificados é praticamente preservado por meio da operação de escalonamento, onde cada sinal no canal é reconstruído com níveis originais após a codificação. A Figura 6 mostra o diagrama do principio de processamento da intensidade estéreo.

Figura 6 – Princípio de processamento da intensidade estereofônica

Codec Mono +

x

x Codificação Decodificação

R R’

L’ L canal esquerdo

canal direito

Informação escalonada canal direito

Valores Espectrais

Informação escalonada canal esquerdo

Page 11: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

11

O MPEG-2 AAC proporciona codificação estéreo de intensidade seletiva nos domínios do tempo e da freqüência usando os mecanismos a seguir:

??AAC Intensity Stereo Coding: é uma ferramenta baseada no conceito de par

de canais e de codificação de fácil uso, que cobre muitas das necessidades sem a introdução de grandes cabeçalhos para o fluxo de bits.

Embora esta ferramenta implemente somente codificação de acoplamento para cada um dos pares de canais, também pode ser usada para codificação de sinais multicanais. Sua utilização é sinalizada por meio de dois números de pseudocódigos, usados ao lado da codificação da informação sem ruído, indicando se a codificação do sinal estéreo, na seção correspondente, está em fase ou fora de fase: INTENSITY_HCB=15, indica que está em fase; INTENSITY_HCB2=14, indica que está fora de fase.

Os coeficientes espectrais compartilhados são transmitidos no canal esquerdo e os valores de escalonamento da intensidade estereofônica do sinal no canal direito.

??AAC Coupling Channel: este mecanismo não é restrito ao conceito de par de

canais e fornece as seguintes funcionalidades:

a. Acoplamento de canais pode ser usado para a implementação generalizada da codificação de intensidade estéreo, onde o espectro do canal pode ser compartilhado através dos canais adjacentes, incluindo o compartilhamento entre diferentes pares de canais; e

b. Acoplamento de canais, além do exposto acima, pode processar uma

combinação de objetos de sons adicionais para uma imagem estéreo. Por exemplo, um canal comentário pode ser adicionado para um programa multicanal existente, isto é, sobreposição de voz.

O AAC Coupling Channel é implementado como um elemento de sintaxe dedicada, que basicamente consiste de um simples canal de informação de áudio mais uma lista de canais objeto para os quais a informação de áudio será adicionada.

?? PREDICTION: técnicas de codificação preditivas vêm sendo usadas há muito

tempo em modelos tradicionais de codificação de voz, como uma forma da explorar as redundâncias, removendo-as do sinal de entrada. Como é conhecido da teoria de codificação, redundâncias também podem ser exploradas pela codificação dos dados espectrais, tirando proveito da distribuição espectral não plana do sinal.

O MPEG-2 AAC prediction é baseado nos coeficientes espectrais quantizados dos quadros precedentes, sendo que uma estimativa de seus valores correntes é calculada por meio de um predictor. Um ganho na taxa de bits é alcançado pela quantização e pela codificação do resíduo de predição (erro/diferença de sinal), ao contrário dos coeficientes espectrais atuais. A predição é realizada

Page 12: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

12

separadamente para cada coeficiente espectral da sub-banda, baseado nos valores do coeficiente espectral da sub-banda correspondente para os dois quadros precedentes; mais especificamente, um modelo predictor de segunda ordem é empregado para cada coeficiente espectral.

A ferramenta AAC prediction implementa predição no domínio do tempo, ao passo que a ferramenta TNS endereça a predição no domínio da freqüência. Aspectos práticos que caracterizam a ferramenta AAC prediction:

a. Enable/disable signaling: um bit Flag é transmitido no fluxo de bits para

cada fator de escala da banda, indicando se a predição está sendo usada para aquela banda, isto é, se o sinal residual está quantizado e codificado em substituição aos coeficientes espectrais originais. No caso da codificação de um par de canais estéreo, cada bit Flag determina o uso de predição para ambos os canais (direito/esquerdo) para um dado fator de escala da banda;

b. Predictor reset : mecanismo que permite que os codificadores e os

decodificadores predictors sejam reinicializados a partir de um estado inicial de sincronismo bem definido, devido aos algoritmos predictors poderem rodar em diferentes plataformas de processamento/computação com diferentes aspectos numéricos, o que é importante para garantir que a adaptação dos coeficientes em ambas as partes não divirjam além dos limites toleráveis;

c. Handling of short filterbank window: devido à predição de coeficientes

espectrais no domínio do tempo ser significativa somente entre valores com a mesma interpretação de tempo/freqüência, nenhuma predição pode ser alcançada quando o codificador selecionou um estado de banco de filtro de janela curta. Neste caso, todas as variáveis de estado predictor são reinicializadas e o calculo residual é desligado. O uso de janelas curtas usualmente indica a presença de transientes ou sinais estacionários para os quais alcançar um ganho de predição é indesejável; e

d. Complexity: para reduzir a complexidade dos modelos de predição

adaptativa anteriores, o modelo AAC considera que a predição não é aplicada além de um certo limite superior de freqüência. Este limite é definido para cada taxa de amostragem da codificação e chega a 16 kHz para uma taxa de amostragem de 48 kHz. Além disso, a memória necessária ao cálculo da predição é reduzida em 50% pela armazenagem dos valores de estado associado num formato de ponto flutuante de 16 bits, ao contrário do formato completo de ponto flutuante de 32 bits.

A predição no MPEG-2 AAC ainda está associada com uma significante complexidade, de modo que esta ferramenta somente se aplica a modelos de decodificadores MPEG-2 AAC – Main.

?? M/S MATRIXING – MID/SIDE STEREO CODING: ao invés de utilizar, a codificação

dos sinais do canal direito e do esquerdo independentemente, como na técnica de

Page 13: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

13

codificação M/S de sinais estéreo que tem sido usada na codificação de áudio perceptual por um longo período de tempo (difusão de Rádio FM e gravação pelo uso de microfone), utiliza-se dos sinais soma e diferença e são referenciados como canais M (Midle) e S (Side), respectivamente.

A codificação estéreo M/S é um método de codificação muito eficiente para o caso de sinais monofônicos próximos, em que o sinal diferença é muito fraco e os atributos espaciais do ruído de codificação, quando comparados com os atributos espaciais do sinal original, vêm a ser importantes. No MPEG-2 AAC, a codificação estéreo M/S é empregada dentro de cada par de canais de um sinal multicanal, isto é, entre um par de canais que são posicionados simetricamente no lado esquerdo e direito do eixo do ouvinte. A codificação M/S pode ser usada de forma flexível pelo chaveamento seletivo no tempo (quadro-a-quadro) ou na freqüência (scalefactor), de acordo com a necessidade do sinal. O estado de chaveamento da codificação estéreo M/S é transmitido para o decodificador como um vetor de bits de sinalização.

?? SCALEFACTORS: responsável por definir os níveis de quantização das sub-bandas.

Sua funcionalidade será abordada no módulo quantizer.

?? QUANTIZER: o módulo de quantização AAC apresenta três aspectos normativos: quantização não uniforme, normalização de ruído usando fator-de-escala e codificação dos fatores-de-escala, os quais descreveremos a seguir:

??Quantização não uniforme: o MPEG-2 AAC usa um módulo de quantização

não uniforme baseado na equação abaixo:

ix(i) = sign (x ( i ). Nint) { [ (? x ( i ) ? ) / (4 v2 scale_factor ) ] 0,75 - a }

as variáveis x( i ) e ix ( i ) denotam os valores de não quantização e quantização; sign ( x( i ) ) retorna argumentos sign (-1, 0, 1); nint (...) retorna os valores inteiros mais próximos do argumento de valor real; ? é uma pequena constante e scalefactor define o parâmetro de resolução de quantização. O princípio que trata deste esquema de quantização foi herdado do codificador MPEG-1/2 Layer 3, tendo como vantagem uma capacidade de forma de ruído intrínseco, se dentro de um grupo de coeficientes espectrais for compartilhado um quantizador comum. Devido às características compressivas do quantizador da lei das potências, valores muito pequenos são quantizados muito bem e valores muito grandes são grosseiramente representados em comparação a um quantizador uniforme. Mas o ruído de quantização tende a mudar sobre regiões espectrais contendo coeficientes grandes, onde o mascaramento é mais eficiente. O espectro de valores quantizados é limitado aos valores absolutos não excedendo 8.191.

Page 14: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

14

??Noise Shaping by Using Scalefactors: um aspecto crucial do processo de codificação perceptual é a habilidade para atingir uma forma dinâmica do ruído de quantização de acordo com requerimentos perceptuais, como aqueles avaliados pelo modelo psicoacústico. Em geral, o caminho para alcançar esta funcionalidade no MPEG-2 AAC, bem como no MPEG-1/2 camada 3, consiste em variar o tamanho dos passos do quantizador por meio dos fatores de escala.

A idéia básica é escalar os coeficientes espectrais, passando-os através de um quantizador com características de quantização fixas e então realizar uma operação inversa de escalonamento no lado do decodificador. No algoritmo AAC, a resolução da operação de escalonamento pode ser controlada em incrementos de 1.5 dB, permitindo assim controlar muito suavemente a quantidade de ruído de quantização introduzida. Para que a forma de ruído dependente da freqüência seja alcançada, todos os 1024 coeficientes espectrais são agrupados em bandas fator-de-escala, com um fator-de-escala por banda.

??Encoding of Scalefactors: todos os fatores-de-escala são codificados

diferencialmente, através do cálculo da diferença entre os fatores-de-escala de bandas adjacentes de freqüência. O resultado é codificado usando uma tabela dedicada de código Huffman. Devido a este esquema de codificação, a manipulação do primeiro fator-de-escala mudará efetivamente o nível do sinal de saída do decodificador em passos de 1.5 dB. Conseqüentemente, este fator-de-escala chamado de ganho global (global_gain) é codificado por meio de um campo PCM de comprimento fixo de 8 bits para permitir acesso conveniente e alteração de valores. Para se evitar a transmissão de redundâncias, fatores-de-escala de bandas para as quais todos os coeficientes espectrais são zero, são omitidos no fluxo de bits.

?? NOISELESS CODING: codifica o conjunto dos 1.024 coeficientes espectrais

quantizados explorando redundâncias estatísticas sem qualquer redução adicional na precisão. Como um método simples de redução da faixa dinâmica de noiseless, até quatro coeficientes podem ser codificados separadamente substituindo-os com um valor +/-1 no vetor de coeficientes quantizados, transportando assim a informação do sinal. As amplitudes destes sinais são codificadas separadamente, junto com os correspondentes índices de freqüência. Este método não está disponível para uso com banco de filtros no modo de alta resolução de tempo, isto é, janelas curtas.

O mecanismo de codificação geral do estágio de codificação noiseless usa as técnicas de agrupamento e codificação de Huffman, as quais serão descritas a seguir:

??Agrupamento (Sectioning): como os coeficientes estatísticos quantizados

variam com a freqüência e dependem do tipo de sinal, um bom núcleo de codificação por entropia necessita ser capaz de acomodar estas condições. Isto é endereçado fornecendo um conjunto de onze tabelas de código

Page 15: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

15

Huffman (codebook), otimizadas para várias estatísticas mais a pseudo-tabela indicando todos os coeficientes zero.

Em principio, uma seleção de tabela individual de código Huffman pode ser usada para codificar os coeficientes de cada fator-de-escala da banda. Mas, para reduzir o overhead no lado da informação, vários fatores-de-escala das bandas adjacentes podem ser grupados para formar uma seção e compartilhar uma tabela de código Huffman (codebook). Conseqüentemente, uma seção é descrita no fluxo de bits pelo número dos fatores-de-escala das bandas agrupadas, mais o índice da tabela de código de Huffman (codebook) usada. Desta forma, codificação por entropia de todos os fatores-de-escala das bandas ativas, é definido pela escolha de parâmetros de agrupamento. Por causa deste processo de agrupamento fornecer um alto grau de liberdade, um codificador procurará pelos parâmetros de agrupamento que resulta numa minimização total da demanda de bits necessários para codificar os coeficientes quantizados e o agrupamento da informação original.

??Codificação de Huffman: Codificação de Huffman multidimensional é usada

para representar n_tuples coeficientes espectrais quantizados usando uma tabela de código Huffman (codebook) selecionada dentre as 12 tabelas de código pré-definidas. Tabelas de 2 e 4 dimensões estão disponíveis para codificação.

A Tabela 1 mostra os índices de codebooks de Huffman associados aos tamanhos n_tuple e aos maiores valores absolutos que podem ser codificados com cada codebook.

Tabela 1 - Códigos Huffman AAC

Para um valor absoluto grande, pode haver mais do que uma tabela código disponível de tal forma que diferentes distribuições estatísticas possam ser enquadradas, como por exemplo: Índices #1 e #2, índices #3 e # 4, etc. Como pode ser visto na tabela, há codebooks para codificar valores com sinal e para valores sem sinal (absolutos). No caso da codificação de valores sem sinal, a informação de sinal é colocada na palavra código (codeword) para cada um dos coeficientes diferentes de zero no n_tuple codificado.

Índice Tabelas “Codebook”

Tamanho “n_tuple”

Maior Valor Absoluto Sinal

0 - 0 1 4 1 +/- 2 4 1 +/-

3 4 2 4 4 2 5 2 4 +/-

6 2 4 +/- 7 2 7 8 2 7 9 2 12

10 2 12

11 2 16 (ESC)

Page 16: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

16

Duas tabelas código do quadro acima merecem atenção especial devido às suas características:

a. TABELA ÍNDICE #0: mostra que todos os coeficientes têm valor zero,

portanto, não há necessidade de transmitir bits, coeficientes e mesmo o índice da tabela. Da mesma forma os fatores-de-escala (scalefactors) não são transmitidos para as bandas desses fatores-de-escala e que pertencem à seção que está sendo analisada. Tudo isso se deve ao fato de que os coeficientes de alta freqüência são zero e, portanto, podem ser recuperados eficientemente na decodificação usando a tabela índice #0 de Huffman; e

b. TABELA ÍNDICE #11: seu uso não está restrito à codificação do valor

máximo 16, mas pode ser utilizado para valores maiores, inserindo o código ESC para informar ao sistema a existência de valores maiores que 16.

A amplitude máxima dos coeficientes é limitada a 16 e a correspondente 2-tuple é codificada por Huffman; o bit de sinal, quando necessário, é anexado à palavra código (codeword), de modo que, para cada coeficiente maior ou igual a 16, um código ESC é incluído, informando o valor excedente da palavra código. Desta forma, valores absolutos até 8.191 podem ser usados. Sua aplicação pode ser necessária quando se utilizam determinados sinais de tom ou mesmo para altas taxas de bits.

??Intercalamento/Agrupamento (Interleaving/Grouping): se o banco de filtros

é comutado para o modo de alta resolução, isto é, para o estado EIGHT_SHORT_SEQUENCE, então, os 1.024 valores de saída consistem de uma matriz 8x128 coeficientes espectrais, que representam as características dos sinais no domínio do tempo e da freqüência num período de tempo gasto para analisar 8 janelas curtas.

Estes valores são quantizados e precisam ser eficientemente codificados pelo estágio de codificação noiseless. Como isto é feito pela seção baseada na codificação por entropia, é vantajoso rearranjar a ordem dos coeficientes espectrais quantizados tal que se tenha o menor overhead de agrupamento. Como já exposto anteriormente, a operação de agrupamento é realizada numa seqüência de janelas curtas para reduzir a quantidade de informação secundária (scalefactors). Similarmente, o esquema de reagrupamento é usado para intercambiar a ordem das bandas do fator-de-escala (scalefactor) e as janelas no vetor de coeficientes espectrais, antes de se aplicar a codificação noiseless de agrupamento. Devido à limitação de banda, os zeros dentro de cada grupo são combinados dentro do agrupamento (sectioning), o que garante uma maior probabilidade de aumento da eficiência da codificação, se houver coeficientes de amplitudes similares menores em regiões contíguas do vetor de coeficientes.

Page 17: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

17

??Multiplexação do fluxo de bits (Bitstream Multiplexing): diferenças entre o

MPEG-2 AAC e os padrões de áudio MPEG anteriores:

o A primeira diferença está entre a camada de transporte ADIF “AUDIO_DATA_INTERCHANGE_FORMAT” ou ADTS “AUDIO_DATA_TRANSPORT_STREAM” e a camada de compressão AAC.

A camada de transporte fornece funções de sincronização, sinalização do empacotamento de dados e marcas de referência para ressincronização. Como nenhuma camada específica de transporte pode ser conveniente para todas as aplicações, somente o formato do fluxo de bits de áudio codificado é normativamente definido dentro do padrão MPEG-2 AAC.

o A segunda diferença com respeito aos codificadores de áudio MPEG anteriores é o abandono do paradigma da taxa constante de cabeçalho. O fluxo de bits do MPEG-1/2 camada 3, consiste de porções de cabeçalho que ocorrem a uma taxa regular correspondente à taxa de bit nominal. Afim de permitir variações locais da taxa de bits, a informação principal codificada está localizada em algum lugar da grade de tempo do cabeçalho, com um offset variável dependendo do nível atual de preenchimento.

O formato do fluxo de bits do MPEG-2 AAC parte deste princípio simplesmente concatenando cabeçalho e pedaços do fluxo de bits, resultando numa estrutura simples de fluxo de bits com um comprimento variável no meio do cabeçalho posterior, dependendo da taxa de bit atual usada para o quadro. Devido à simplicidade, cada cabeçalho iniciará no byte de alinhamento. A funcionalidade Fast-Foward e Fast-Reverse é fornecida por meio da camada de transporte, que pode conter ponteiros apropriados dentro do fluxo de bits para acesso direto a quadros futuros ou quadros passados.

o Um outro novo conceito na definição do fluxo de dados é representado pela sintaxe do fluxo de bits modular AAC, ao contrário dos antigos padrões de áudio MPEG que são baseados em definições monolíticas de fluxo de dados. O fluxo de bits AAC consiste de um número de elementos sintáticos que podem ser extraídos, re-arranjados e encarreirados para serem decodificados nele próprio ou formar um novo fluxo de bits. Cada elemento sintático é identificado por único identificador (ID). Em geral, pode haver mais de um caso, no máximo 16, de cada tipo de elemento sintático. A Tabela 2 fornece uma visão dos vários tipos de elementos sintáticos e suas funcionalidades.

Page 18: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

18

Tabela 2 – Elementos sintáticos do MPEG-2 AAC

O MPEG-2 AAC permite uma grande variedade de codificações possíveis e um decodificador capaz de decodificar todos os fluxos de bits possíveis que necessitaria de um imenso espaço de memória e de recursos de processamento DSP. A Figura 7 apresenta o diagrama em blocos de um decodificador MPEG-2 AAC.

Figura 7 – Diagrama de blocos do decodificador MPEG-2 AAC

O decodificador (e seus vários blocos) se comporta de forma inversa àquela do processo de codificação, não sendo, portanto, abordado neste trabalho. Apenas será descrito o funcionamento do bloco “controle de ganho”, por se tratar de um caso específico, aplicando-se apenas ao modelo MPEG-2 AAC SSR. O processamento do bloco “controle de ganho” pelo decodificador SSR usa os mesmos componentes do processamento da codificação, porém, na ordem inversa, onde cada

Nome Elemento Sintático Símbolo Propósito

Single_channel_element SCE Representa um canal de áudio simples

Channel_pair_element CPE Representa um par de canais de áudio estéreo

Coupling_channel_element CCE Acoplamento multicanal Lfe_channel_element LFE Representa efeitos em canais de

baixa frequência Data_stream_element DSE Dados associados a transporte Program_config_element PCE Define configuração de

programa/canal Fill_element FIL Ajusta a taxa de bits para canal de

taxa bits constante Terminator TERM Informa fim de quadro

Gain Control

Sinal de Áudio

Page 19: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

19

subconjunto de 256 coeficientes espectrais é mapeado para a representação da sub-banda com quatro estágios, usando a transformada inversa modificada discreta de co-senos (IMDCT – Inverse Modified Discret Transform). Para cada uma das quatro bandas, a variação do ganho inverso é usada para restaurar o sinal dinâmico original e as saídas são combinadas pelo inverso do banco de filtros PQF (Poliphase Quadrature Filterbank). Em virtude das bandas muito altas PQF incluírem uma largura de banda perceptual muito pequena (número de bandas críticas), a eficiência do algoritmo de controle de ganho aumenta com o número de bandas PQF, permitindo um controle de ruído muito baixo para freqüências muito altas, razão pela qual não é usado para bandas muito baixas; ao invés disto, emprega-se a ferramenta TNS, que atinge o objetivo de maneira similar, com a escolha flexível da faixa de freqüências. O modelo MPEG-2 AAC SSR permite a definição de decodificadores com largura de banda de sinal máxima muito baixa e complexidade inferior, descartando o processamento de sinais para bandas PQF muito altas. Desta forma, decodificadores da banda-1, da banda-2 e da banda-3 (definidas acima para o módulo Gain Control) atingem larguras de banda de áudio máximo de 6 kHz, 12 kHz e 18 kHz, respectivamente, com uma taxa de amostragem de 48 kHz. Desta forma, a complexidade do decodificador pode ser reduzida com a diminuição da largura de banda de saída. Portanto, para os casos de bandas muito baixas, o módulo TNS é usado em substituição ao módulo controle de ganho e um fluxo de bits de banda-1 SSR, limitado à largura de banda de 6 kHz, podendo ser codificado pelo decodificador LC e vice-versa. 4. MPEG-4 O MPEG-4, finalizado em 1998, tinha como objetivo tornar-se o maior padrão existente no mundo da multimídia. Ao contrário do MPEG-1 e do MPEG-2 a ênfase no MPEG-4 está na definição de novas funcionalidades e não em definir padrões mais eficientes em termos de compressão [9]. Usuários de terminais fixos e móveis, acesso a banco de dados, comunicações e novos tipos de serviços de interatividade representarão a maioria das aplicações para MPEG-4. O novo padrão facilitará o crescimento da interatividade e aproximação entre os mundos da computação, da eletrônica de massa (TV e Rádio) e telecomunicações. Inicialmente, este padrão direcionava-se a aplicações similares àquelas do H.263, trafegando sobre canais de taxas de transmissão de bits muito baixas, desde 4.8 a 64 kbit/s. Posteriormente, o escopo foi expandido para incorporar uma ampla variedade de aplicações multimídia interativas na Internet e os diversos tipos de redes de entretenimento. Por esta razão, o áudio associado é comprimido usando algoritmos dependentes da capacidade do canal a ser empregado e a qualidade do som requerida pela aplicação. Exemplos das codificações empregadas [4]: CELP – G.723.1 – para aplicações interativas pela Internet e vídeo-telefonia sobre redes wireless e PSTN; Dolby AC-3 ou

Page 20: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

20

MPEG-2 Layer 2 ou MPEG-2 AAC para aplicações interativas na TV sobre redes de entretenimento. O áudio do MPEG-4 consiste de uma família de algoritmos de codificação, abrangendo codificações a taxas bem baixas - 2 kbit/s - até taxas de alta qualidade de áudio - 64 kbit/s por canal e acima. A codificação empregada no MPEG-4 para taxas de bits médias e altas é feito pelo AAC. Além dos blocos já mencionados para o MPEG-2 AAC, foram implementadas várias extensões [10, 11, 12], de modo a garantir a melhoria na eficiência da codificação e oferecer novas funcionalidades. A Figura 8 mostra as extensões realizadas no MPEG-2 AAC e incorporadas pelo MPEG-4.

Figura 8 - Extensões feitas no MPEG-2 AAC para o MPEG -4 AAC A seguir, serão detalhadas as extensões e as novas funcionalidades do Padrão MPEG-4.

?? EXTENSÃO #1 - PNS (Perceptual Noise Substituition): representa os componentes do tipo ruído do sinal de entrada com uma representação paramétrica muito compacta e, desta forma, garante uma maior eficiência de compressão do codificador AAC para os sinais de entrada disponíveis. As suas principais características são as seguintes:

PNS

Long-Term Prediction

Twin-VQ

Extensão #1

Extensão #2

Extensão #3

Twin VQ

Page 21: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

21

a. Permite a codificação paramétrica de freqüência seletiva de componentes de sinal tipo ruído;

b. Componentes de sinal tipo ruído são detectados no fator de escala da banda

base;

c. Grupos correspondentes de coeficientes espectrais são excluídos da quantização/codificação. Em substituição, somente um flag de substituição de ruído mais a potência total da banda substituída é transmitida no fluxo de bits; e

d. Decodificador insere pseudo-vetores randômicos com a potência desejada,

como coeficientes espectrais.

A Figura 9 mostra o diagrama de blocos da extensão PNS, onde pode-se observar o codificador perceptual mais a representação paramétrica dos sinais tipo ruído.

Figura 9 – Módulo de Extensão PNS: codificador perceptual mais a Representação paramétrica dos sinais tipo ruído

?? EXTENSÃO #2 - LTP (Long Term Prediction): na codificação de voz, esta técnica

é usada para explorar a redundância existente nos sinais de voz, relacionada à periodicidade das porções do sinal de voz, ou seja, a quantização e a codificação são realizadas sobre uma representação espectral do sinal de entrada, de modo que os sinais do tipo tom requerem uma precisão de codificação muito mais alta que aqueles do tipo ruído.

Em relação ao MPEG-2 AAC, no qual a predição de cada coeficiente espectral é compatível com o preditor adaptativo anterior e a complexidade é alta (50% de processamento do decodificador e memória), no MPEG-4 suas principais características são:

Substitued signal energies Noise Subsr. signaling

Substitued signal energies

Bitstream

Noise Subsr. signaling

Bitstream

In

Out

Page 22: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

22

a. LTP, com o mesmo processo de codificação empregado para voz;

b. Baixa complexidade e ganhos de aproximadamente 50% em termos de

computação e memória (comparados aos preditores MPEG-2); e

c. Desempenho comparável aos preditores MPEG-2.

?? EXTENSÃO #3 - TwinVQ – Transform domain weighted interleave vector quantization: modelos anteriores fornecem bom desempenho de codificação para taxa de bits extremamente baixas (abaixo de 6 kbit/s) para tipos comuns de sinais de áudio, incluindo música; 0,5 bits por linha de freqüência; Codificadores de voz CELP não apresentam bom desempenho para música.

O MPEG-4 TwinVQ é usado como base alternativa de codificação, na qual o vetor seleção opera sob o controle do modelo perceptual e está totalmente integrado ao sistema de codificação MPEG-4 AAC, usando a mesma representação espectral como codificador AAC; faz uso de outras ferramentas do MPEG-4, como por exemplo: LTP, TNS, joint stereo coding. A quantização/codificação dos coeficientes espectrais é realizada em dois estágios:

a. Normalização espectral, que normaliza os coeficientes espectrais para uma

faixa de amplitude definida - Envelope LPC (forma espectral geral) e codificação de componentes periódicos (componentes harmônicos); e

b. Os coeficientes normalizados são quantizados/codificados por meio de

estágio de pesos WVQ (Weighted Vector Quantization) - entrelaçamento de coeficientes espectrais em novos sub-vetores e vetor de quantização: dois conjuntos de codebooks onde medida de distorção dos pesos permite controle de distorção pelo modelo perceptual.

?? FUNCIONALIDADE #1 - Codificador de baixo delay AAC (AAC LD – Low Delay)

e poder de recuperação de erros (ER – Error Resilience): permite a codificação de sinais de áudio comuns, com um algoritmo de atraso (delay) abaixo de 20ms, codificando música e sinal de voz com boa qualidade. Diferente de outros codificadores de voz, a qualidade de codificação também é superior em relação à taxa de bits para todos os tipos de sinais. O poder de recuperação de erros ER permite reduzir a degradação percebida do sinal de áudio codificado causado pelos bits corrompidos no fluxo de bits (bitstream).

?? FUNCIONALIDADE #2 - Escalabilidade: capacidade de decodificar subconjuntos

úteis do fluxo de bits, introduzindo o conceito de codificação escalável de passos- largos e o conceito de codificação embutida hierárquica (hierarchical embedded coding), isto é, fluxos de bits de áudio escaláveis, consistindo de vários fluxos de bits parciais que podem ser codificados nele próprio e são combinados para formar uma decodificação resultante significativa.

Page 23: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

23

Alguns aspectos relacionados à escalabilidade devem ser considerados: a. SNR (relação sinal ruído)/NMR (relação ruído máscara): extensões melhoram a relação SNR/NMR do sinal codificado; b. Largura de banda de áudio: camadas de extensão aumentam a largura de banda do áudio decodificável; c. Restrições de generalidade: codificador base de taxa de bits muito baixa otimizado para sinais especiais, como, por exemplo, para sinais de voz e camadas adicionais fornecem boa qualidade para todos os tipos de sinais; e d. Complexidade na implementação.

Com respeito ao MPEG-4 AAC [11][12], pode-se afirmar que a transmissão de rede baseada em pacotes necessita de roteadores que conheçam a importância de um pacote; pacotes menos importantes (camada externa) podem ser desprezados se a largura de banda disponível diminui; os pacotes mais importantes (camada interna) são transmitidos com um esquema melhor de proteção de erro. O conteúdo de alta qualidade é codificado e armazenado. O acesso a versão de baixa qualidade é possível sem gravação para permitir pré-escuta com baixa qualidade. 5. CONCLUSÃO

Os formatos de compressão de áudio mais amplamente utilizados são o MPEG-1/2 Layers 2 e 3 e o Dolby AC-3. Vários sistemas e aplicações em desenvolvimento pretendem fazer uso do MPEG-2 AAC, que muitos acreditam ser o sucessor natural do MPEG-1/2 Layer 3. Introduzido dentro do MPEG-2 Áudio, o AAC é dotado de um codificador multicanal poderoso composto de várias ferramentas, que garantem a flexibilidade necessária à sua operação com diversos sinais de entrada. Numa análise comparativa entre os dois formatos BC e AAC, podemos concluir que o MPEG-2 AAC permite uma maior qualidade de codificação, garantindo uma alta definição para o áudio (a uma taxa de amostragem de 96 kHz). O MPEG-2 AAC, em conjunto com sistemas de proteção de patentes, conforme definido pelo SDMI (Secure Digital Music Initiative), será o sistema de compressão escolhido, no futuro, para EMD (Electronic Music Distribution), e, então, seguir os passos para adoção mundial, assim como também ocorreu com os Padrões MPEG-1/2 Layers 2 e 3. O MPEG-4, cuja construção para seu subsistema de áudio também foi apoiada no AAC, definiu algumas extensões de modo a melhorar o desempenho da compressão e suportar, por conseguinte novos modos de operação e funcionalidades, garantindo operações a taxas de codificação de bit extremamente baixas (inferiores a 6 kbit/s por canal).

Page 24: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

24

6. BIBLIOGRAFIA

[1] TANENBAUM, Andrew S., Redes de Computadores. 4. ed. Rio de Janeiro:

Elsevier, 2003.

[2] PETERSON, Larry L., DAVIE, Bruce S. Computer Networks: A Systems

Approach. 3. ed. San Francisco, CA: Elsevier, 2003.

[3] STEINMETZ, Ralf, NAHRSTEDT, Klara, Multimedia Fundamentals v.1 Upper

Saddle River, NJ07458: Prentice Hall PTR, 2002.

[4] HALSALL, Fred, Multimedia Comunications, Edinburgh Gate, EssexCM20 2JE

England: Addison-Wesley.

[5] PEREIRA, Fernando, C. N., The MPEG-4 book 3. ed. Upper Saddle River, New

Jersey 07458: Prentice Hall Inc, 2003.

[6] MPEG. Coding of Moving Pictures and Associated Audio for Digital Storage

Media at up to 1.5 Mbit/s, part 3: Audio. International Standard IS 11172-3,

ISO/IEC JTC1/SC29 WG11, 1992.

[7] ISO/IEC 13818-3:1994 - Generic Coding of Moving Pictures and Associated

Audio, Part 3: Audio. International Standard - IS 13818–3, 1994.

[8] ISO/IEC 13818-7:1997 - Generic Coding of Moving Pictures and Associated

Audio, Part 7: Advanced Audio Coding, AAC. International Standard IS 13818–7,

1997.

[9] ISO/IEC - Committee Draft 14496-3 AMD1: MPEG-4 Audio Version 2, ISO/IEC JTC1/SC29/WG11, N2670, Mar. 1999.

[10] BOSI, M., BRANDENBURG, K., QUACKENBUSH, Sch., FIELDER, L.,

AKAGIRI, K., FUCHS, H., DIETZA, M., HERRE, J., DAVIDSON, G., e

OIKAWA, Yoshiaki. ISO/IEC MPEG-2 Advanced Audio Coding. In Proc. of the

101st AES-Convention, Preprint 4382, 1996.

[11] BRANDENBURG, Karlheinz, MP3 and AAC Explained, Fraunhofer Institute for

Integrated Circuits FhG- IIS A, Erlangen, Germany, AES 17thth International

Conference on High Quality Audio Coding, 1999.

Page 25: MPEG AAC (Advanced Audio Codingdebora/fsmm/trab-2005-1/AAC.pdf1 MPEG AAC (Advanced Audio Coding) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Departamento

25

[12] GRILL, Bernhard, The MPEG-4 General Audio Coder, Fraunhofer Institute for

Integrated Circuits (IIS) A, Erlangen, Germany, AES 17thth International

Conference on High Quality Audio Coding, 1999.