4-AAC

Link to this pageLink to this page

Home | Comentários

1-Introdução
2-História
3-MP3
4-AAC
5-MP3 Vs AAC
6-Conclusões
7-Referências
Autores

4-AAC

O algoritmo de compressão MPEG-2 não retrocompatível foi originalmente desenvolvido pelo grupo MPEG. Inspirado sobretudo nos codificadores anteriores como o MP3, o ASPEC, o AC-3 (Dolby Digital) e o PAC foi finalizado e aprovado (pelo ISO e IEC) como parte das especificações do MPEG-2 e MPEG-4 em 1997 e 2007 respectivamente.

Posteriormente a sua designação inicial (MPEG-2 Áudio NBC – Non-Backwards Compatible) acabaria por ser convertida em Advanced Audio Coding cuja sigla (AAC) traduz a referência por que é normalmente conhecido e que comercialmente é mais apelativa.

O algoritmo MPEG-2 AAC veria a ser mais tarde adoptado no âmbito do MPEG-4 como o codificador para áudio natural a partir dos 32 kbit/s, o que levou a que houvesse uma confusão pelo público em geral, que começou a usar os termos AAC, MPEG-4 e MP4 sem a diferenciação que lhes é devida. Para que fique claro, AAC é apenas uma das várias subsecções existentes do MPEG-4.

Projectado para ser o sucessor do MP3 como o codec áudio standard para a difusão digital pela Internet e Wireless. [7] [8]

4.1-Tecnologia

O algoritmo AAC tem uma abordagem modular para a codificação, quer isto dizer que o mesmo se estrutura por um conjunto de módulos de processamento razoavelmente independentes (tools).

O AAC apresenta então 4 perfis (selecção de tools que produzem uma trama de informação áudio comprimida de acordo com a norma MPEG-2 Áudio NBC) padrão: [6]

1. Low Complexity (LC) – O mais simples e mais usado;
2. Main Profile (Main) – Idêntico ao LC mas com possibilidade de backwards prediction (compatibilidade com modelos anteriores), mais completo e complexo.
3. Scalable Sample Rate (SSR) – a.k.a. Sample-Rate Scalable (SRS);
4. Long Term Prediction (LTP) - é um aperfeiçoamento do Main Profile. Utiliza forward predition com baixa complexidade computacional.

Na seguinte figura apresenta-se a estrutura, simplificada, correspondente ao perfil Main do MPEG-4 AAC:

Figura 4.1- Diagrama de blocos do MPEG4 AAC [9]

Uma vez que se trata de um codificador do tipo perceptivo podemos identificar na sua estrutura blocos comuns a codificadores deste tipo: filter bank, psychoacoutic model, quantization e coding.

Os blocos adicionais, servem em geral para um pré-condicionamento do sinal, reduzindo redundância e irrelevância ou facilitando operações subsequentes.

AAC Gain Control Tool (Ganho): Este módulo consiste num bando de filtros pseudo – QMF de 4 bandas uniformes com detectores de ganho e modificadores de ganho. Permite a decomposição e normalização do sinal áudio, o que leva a uma representação escalável em frequência em quatro níveis, facilitando, ao mesmo tempo, as operações seguintes.

No banco de filtros para o Main Profile e para o Low Complexity Profile é utilizada a Transformada Discreta de Co-seno Modificada (MDCT) e no Scaleable Sample Rate Profile é usado um banco de filtros híbrido.

A MDCT permite usar diferentes tamanhos de blocos de janela consoante o sinal seja estacionário ou transitório. Quando o sinal muda ou ocorre uma transição, é usado um conjunto de blocos de janela mais pequenos, possibilitando deste modo, reduzir os efeitos de pré-eco a que os codificadores perpetuais são propensos. Caso o sinal seja estacionário, é usada uma janela de maior tamanho. Esta janela maior tem a vantagem de possibilitar um modelo psicoacústico melhor, pois tem uma maior resolução espectral, o que permite obter uma maior eficiência na codificação.

Temporal Noise Shaping (TNS): Traduzindo uma técnica preditiva aplicada no domínio de frequência, este módulo permite também a redução do efeito de pré-eco. Aplicando técnicas preditivas aos coeficientes MDCT de cada transformada, molda deste modo, o ruído de quantificação, no segmento temporal dessa transformada, de acordo com o perfil temporal do próprio sinal.

Long Term Prediction (LTP): Adição para a norma MPEG-4, é uma ferramenta eficiente na redução de redundância entre sucessivas frames de codificação.

Intesity/Coupling: O Intesity Stereo é um modo eficiente de codificar informação stereo. Em vez de codificar dois canais separadamente, eles são combinados de forma a se obter um stream de áudio mono e uma posição stereo. Os coeficientes espectrais são divididos em blocos contíguos, a cada qual corresponde uma posição stereo. O Coupling permite o acoplamento entre dados de canais diferentes.

Prediction: A ferramenta de predição (Prediction) emprega pré-predição adaptativa (backward-adaptative prediction) de segunda ordem (um por cada coeficiente espectral até 16kHz) de forma a remover redundâncias contidas em blocos de áudio sucessivos. É apenas aplicada a blocos longos, uma vez que tem um melhor desempenho em sinais estacionários e é baseada no algoritmo Least Mean Squares (LMS).

Perceptual Noise Substitution (PNS): Mais uma adição no MPEG-4, tem como objectivo a optimização de eficiência das taxas de transmissão do AAC, quando estas são baixas. A técnica utilizada no PNS assenta no facto de todos os ruídos “soarem” ao mesmo. Assim, em vez de se transmitir todas as componentes espectrais de um sinal com ruído, é apenas indicado que uma dada região de frequência possui ruído e dar alguma informação adicional sobre a potência total nessa banda.

Middle/Side Stereo Coding (M/S): Esta ferramenta provém do codificador PXFM, é usada no codificador AAC para codificar no modo soma-diferença, canais dispostos simetricamente em relação ao canal central, ou seja, transforma os canais left e right nos canais mid e side (os canais mid e side são a soma e a diferença dos canais left e right, respectivamente). Esta ferramenta, ao contrário da Intesity Stereo, mantém inalterado o áudio.

Quantization (Quantificador): As regras usadas são as mesmas do algoritmo MP3. Os coeficientes espectrais quantificados são posteriormente sujeitos à codificação de Huffman.

Coding (Codificação Entrópica): Consiste na codificação de Huffman dos coeficientes espectrais quantificados, assim como os factores de escala. É usada uma tabela de Huffman dedicada a estes factores, e um conjunto de tabelas dedicadas aos coeficientes espectrais que são distribuídas através de um algoritmo greedy merge, que é mais flexível do que o usado no MP3.

Bitstream Formatter: Neste módulo são agregados os coeficientes quantificados e codificados e os parâmetros de controlo num stream de áudio para transmissão. Este stream é composto por frames de diferentes tamanhos, dependendo das variações causadas pela codificação de Huffman.[7] [8]

Voltar ao início

 


Home | 1-Introdução | 2-História | 3-MP3 | 4-AAC | 5-MP3 Vs AAC | 6-Conclusões | 7-Referências | Autores

Perguntas ou problemas sobre este site da Web e/ou artigo de divulgação devem ser dirigidas aos seguintes contactos: andresantiago@ist.utl.pt ou joao.cardoso.matos@ist.utl.pt .
Última modificação: 26/05/10.