MP3 vs. AAC

Transcrição

MP3 vs. AAC
MP3 vs. AAC
Carlos Alves – nº55256, André Serrano – nº55094
Instituto Superior Técnico
Av. Rovisco Pais, 1049-001 Lisboa, Portugal
E-mail: {zni4, alcserrano}@hotmail.com
ABSTRACT
A largura de banda disponível é limitada, de modo que a
tecnologia áudio tem vindo a evoluir ao longo do tempo,
com foco na necessidade de reduzir drasticamente as
taxas de transmissão de música digital, e portanto,
fazendo uso da compressão.
Assim, este artigo confronta os métodos e processos de
codificação utilizados em duas tecnologias de áudio, o
MP3 (MPEG-1/2 Audio Layer 3) e o AAC (Advanced
Audio Coding - MPEG-2 Part 7) evidenciando as
diferenças, as especificações, as vantagens/desvantagens,
o impacto do aparecimento dos dois formatos e os
princípios nos quais estas normas assentam, sendo alguns
deles comuns a ambas.
1. ITRODUÇÃO
O formato digital tem vantagens, quando comparado com
o analógico, como uma melhor qualidade de áudio,
facilidade de processamento e menor consumo de largura
de banda. Além do mais, a utilização deste formato
permite a compressão, O que torna os ficheiros de áudio
mais pequenos, reduzindo a quantidade de dados, o uso de
memória e a velocidade de transmissão dos ficheiros.
Ambos os formatos em estudo utilizam algoritmos de
compressão com perdas que exploram o modelo psicoacústico, resultando na remoção, de sons inaudíveis ao
ouvido humano. A codificação da restante informação é
feita de forma eficiente, permitindo a criação de ficheiros
de áudio relativamente pequenos e de qualidade aceitável. 4.
2. CRESCIMETO E IMPACTO
Em 1979, o Professor Dieter Seitzer desenvolve o
primeiro processador de sinais digitais capaz de realizar a
compressão de áudio. Em seguida o centro de
investigação Fraunhofer, começa a investigar a
codificação de áudio de alta qualidade a baixo débito
binário, num projecto denominado EUREKA Project
EU147 (1987). Em 1988, estabelece-se o MPEG (Moving
Picture Experts Group), grupo de trabalho da ISO
(International Organization for Standardization) com a
responsabilidade desenvolver padrões para a compressão
de áudio e vídeo digitais.
Após testes rigorosos, a ISO sugeriu que a codificação de
áudio apresentasse 3 abordagens em escala de
complexidade e eficiência: Layer 1 e Layer 2, mais
simples, baseadas no codec MUSICA- e Layer 3, de alta
eficiência e maior complexidade, baseada no ASPEC.
Assim, numa fase inicial, o MPEG Layer-3, foi utilizado
para processamento de sinais digitais, permitindo a
utilização de linhas telefónicas RDIS para transmissão de
áudio de alta qualidade. De seguida, em 1995, começam a
ser partilhados através da internet os primeiros ficheiros
de MP3, o que juntamente com o aparecimento dos
primeiros leitores de mp3 como o Winamp, em 1997, e de
serviços de partilha de ficheiros, como o conhecido
-apster, 1999, que levam a um crescimento exponencial
da popularidade do MP3.
No início de 1994, através de testes verificou-se que
novos algoritmos de codificação, sem compatibilidade
com o MPEG-1, possibilitavam uma melhoria
significativa na eficiência da codificação. Este factor em
conjunto com utilização do MP3 requerer licença para
distribuição de codificadores/descodificadores, permitiu o
desenvolvimento de alternativas. Como resultado, foi
definida uma nova norma de codificação de áudio para o
MPEG, o MPEG-2 Advanced Audio Coding (AAC) que
surge em 1997, fruto da colaboração entre entidades como
a AT&T Bell Laboratories, Dolby, -okia e Fraunhofer
Society. Mais tarde, este torna-se muito utilizado, graças a
Apple, que o implanta como principal sistema de áudio de
toda sua linha de iPOD’s. Mais tarde, o AAC surge
novamente integrado na norma MPEG-4 na sua forma
AAC-SSR (Scalable Sample Rate).
Disponíveis ao comum utilizador existem outros formatos
de compressão de áudio, como MPC, OGG Vorbis,
FLAC, ALC e WMA.
3. MPEG
O MPEG cria normas de compressão de áudio e vídeo
digital que definem uma estrutura para os dados
codificados, de forma a serem interpretados correctamente
pelo descodificador, existindo, porém, liberdade de
implementação do codificador. Segundo o MPEG, os
sinais são transformados em sinais PCM amostrados
(sinal digital convertido a partir de um analógico) e
codificados, dependendo da layer escolhida.
Figura 1- Diagrama de blocos do PCM
O MPEG-1 permite compressão de áudio até dois canais
stereo, com qualidade próxima à do CD, a uma taxa de
débito binário de 256 kbit/s. Contem 3 Layers: Layer I
(simples, menor compressão, baixo custo de
implementação), Layer II (maior compressão) e Layer III
(maior compressão e maior custo, devido à
complexidade). Neste caso, a aplicação usa a layer que
melhor relaciona a computação e a compressão, sendo
cada layer um codificador Sub-Band.
O MPEG-2 introduz a capacidade de codificação
multicanal. O modo sem compatibilidade com MPEG-1 é
AAC. Este tem a possibilidade de suportar até cinco canais
áudio mais um canal de graves e permite que um vídeo
seja transmitido com o áudio em diferentes linguagens.
Por sua vez, o MPEG-4 é utilizado para Internet fixa e
móvel, e o MPEG-7 para a descrição e procura de áudio e
conteúdo visual.
pontos da curva são percebidos com a mesma sonoridade
(loudness), mas a pressão sonora necessária não é
constante com a frequência.
Figura 3 – Sensibilidade auditiva
4.2. Mascaramento
Figura 2 - Diagrama de blocos codificador MPEG
4. MODELO PSICO-ACÚSTICO
Tanto o MP3, como o AAC fazem uso de um modelo com
fundamento na sensibilidade do ouvido humano,
tornando-se necessária uma breve descrição do
comportamento deste mesmo.
O som tem de viajar através dos nervos até ao córtex
auditivo no cérebro, onde é transformado em diferentes
percepções. Assim, a audição não é apenas um fenómeno
de propagação de ondas, mas, também, um evento
sensorial e de percepção. O ouvido humano, como parte
do processo de transformação do som num estímulo
sensorial, realiza uma decomposição espectral, tornando
inaudíveis certos eventos sonoros que se situem fora dos
limites de audição. É importante notar que a audição
humana não é perfeita, existindo limitações físicas.
A compressão faz uso deste facto, reduzindo a precisão de
certas partes do som que se encontram para além da
capacidade auditiva. Este método é conhecido como
perceptual coding e providencia uma representação do
som,
numa
determinada
janela
de
análise
tempo/frequência, para descartar ou reduzir a precisão de
componentes menos audíveis ao ouvido humano,
assimilando a restante informação de forma eficiente. De
uma forma muito simples, este modelo permite
determinar a qualidade da implementação do codificador.
4.1. Sensibilidade Auditiva
Em termos da sensibilidade auditiva, pode-se dizer que
esta tem uma gama dinâmica de 96dB e que a sua
frequência varia entre 20Hz e 20kHz, devido às limitações
físicas do ouvido. O alcance de frequência muda com a
idade, pois perde-se a habilidade de ouvir as frequências
mais altas quando se envelhece. Dentro desta gama de
frequências, o ouvido é mais sensível em determinadas
frequências, que se encontram entre os 1kHz e 3kHz,
como se pode observar na figura 3. Portanto, todos os
A partir da figura anterior, torna-se necessária a
introdução de um novo conceito, o de dimensão de banda
crítica. Este representa a capacidade do ouvido em
distinguir tons simultâneos, em diferentes frequências.
Esta dimensão toma o valor aproximado de 100Hz para
baixas frequências aumentando consideravelmente para
frequências mais elevadas.
Assim, quando dois sons de frequências próximas estão
simultaneamente presentes, o ouvido humano assimila
melhor o som com maior amplitude. A este fenómeno
atribui-se o nome de mascaramento, sendo esta outra
propriedade do sistema auditivo humano, que nos permite
aumentar o nível de ruído uma vez que este será
mascarado.
4.2.1.
Mascaramento em Frequência
Quando em presença de um sinal muito forte, com
frequências de 1000Hz e outro a 1100Hz, onde o segundo
sinal apresenta-se 20dB abaixo do primeiro, este segundo
sinal não vai ser ouvido, pois vai ser mascarado pelo
primeiro. Assim, nenhum sinal mais fraco perto de um
outro sinal mais forte será ouvido. Se, por um outro lado,
introduzir-se outro sinal a 2000Hz, também 20dB abaixo
do primeiro sinal, já se conseguirá ouvi-lo, pois para que
este fique mascarado é necessário que esteja 45dB abaixo
do primeiro. Assim quanto mais longe estivermos de um
sinal, menor será o efeito de máscara.
Portanto, o efeito de mascaramento é-nos útil, pois
permite aumentar o ruído de fundo à volta de um som
forte, de modo que o ruído será mascarado de qualquer
forma. Aumentar o ruído de fundo, é o mesmo que reduzir
o número de bits utilizados por amostra, e usar menos bits
significa comprimir.
Na figura 4 é demonstrado o fenómeno de mascaramento.
Figura 6 - Diagrama de blocos de codificador perceptivo.
Numa primeira etapa o sinal áudio é convertido em
componentes espectrais através de um banco de filtros.
Concretizando para a layer III, é utilizado um banco de
filtros híbrido, enquanto que na layer I e na layer II são
utilizados bancos de filtros passa-baixo. Cada componente
espectral sofre uma quantificação.
Em seguida, o sinal é quantizado e o número de bits de
quantificação é obtido através de um algoritmo, que
realiza uma alocação dinâmica de bits, controlada pelo
modelo psico-acústico. Como anteriormente dito, a norma
MPEG apenas descreve o algoritmo de descodificação e o
significado do bitstream codificado, de forma que como o
codificador não é normativo, é deixado espaço para
melhorias técnicas.
Figura 4 – Mascaramento em frequência.
4.2.2. Mascaramento Temporal
O mascaramento temporal, por sua vez, ocorre quando um
sinal forte faz com que outro de igual, ou menor
intensidade, não seja perceptível durante um certo
intervalo de tempo. Se um sinal é mascarado por outro
sinal mais forte antes de este se fazer ouvir, atribui-se o
nome de pré-mascaramento e poderá ter uma duração
máxima de 20ms. Se, por outro lado, um som é mascarado
por um som mais forte depois deste se fazer ouvir,
encontramo-nos numa situação de pós-mascaramento e
poderá ter uma duração máxima 200ms4. Na figura 5 é
demonstrado o fenómeno de mascaramento no tempo.
6.
MP3 - MPEG-1 ÁUDIO LAYER III
MPEG-1 Layer III (MP3) é um formato de compressão de
áudio, no qual é possível criar ficheiros em que o ritmo de
transmissão é variável. Algumas partes do áudio são mais
fáceis de comprimir, nomeadamente os momentos de
silêncio ou música com apenas alguns instrumentos,
enquanto outras, são mais difíceis de comprimir. Pode-se
aumentar a qualidade do ficheiro comprimido usando um
ritmo de transmissão mais baixo no primeiro caso, e no
segundo um ritmo de transmissão mais elevado. O MP3
utiliza um algoritmo de compressão com perdas que se
encontra apresentado na figura 7.
Figura 5 – Mascaramento no tempo.
5. CODIFICADOR PERCEPTIVO
A tarefa principal de um sistema de codificação áudio é
comprimir os dados de áudio digital de modo a que a
compressão seja o mais eficiente possível. Assim, como é
do interesse geral reduzir o ritmo binário dos sinais áudio,
não só para minimizar custos de transmissão, mas para
permitir armazenamentos baratos, sem no entanto
diminuir significativamente a qualidade sonora, o
codificador perceptivo surge com um papel fulcral.
A grande maioria dos codificadores perceptivos
transforma o som no domínio do tempo, para o domínio
na frequência, separando as diferentes frequências em
sub-bandas. Em seguida, utilizam os conhecimentos
adquiridos sobre a forma como o ouvido funciona para
eliminar informação não necessária. Na figura 6 é
ilustrado o diagrama de blocos de um codificador deste
tipo.
Figura 7 – Algoritmo de compressão do MP3.
Na entrada temos os dados de áudio PCM, que em
seguida passam através do banco de filtros que os divide
em sub-bandas. A filtragem é efectuada em paralelo com
a análise psico-acústica que vai determinar a SMR
(relação sinal-máscara) de cada uma das sub-bandas. O
bloco de controlo de distorção utiliza as SMR para a
decisão de como dividir o número total de bits de
codificação que estão disponíveis. Por fim, são
formatadas num bitstream as amostras quantificadas e
codificadas, segundo a norma.
•
Em seguida apresentam-se algumas das características
mais importantes do MP3:
• Modelo psico-acústico - as partições são, de modo geral,
equivalentes às bandas críticas do aparelho auditivo
humano. Deste modo, se o ruído de quantificação se
mantiver abaixo do limiar de mascaramento para cada
partição, a compressão resultante deve ser indistinguível
do original. Este modelo tem como principais funções:
estimar, adaptativamente, a quantidade e o perfil do
ruído de codificação que se pode reduzir, atenuando
assim também a quantidade de informação do sinal
áudio, sem que se torne perceptível para o ouvido
humano.
• Filtro com 32 sub-bandas - ao banco de filtros chegam
blocos de dados com 1152 amostras, ou seja, dois
grupos de 576 amostras. Ao passar pelo banco de filtros,
as amostras vão ser divididas em 32 sub-bandas que
estão separadas na frequência igualmente.
• Transformada Discreta de Co-seno Modificada - a cada
uma destas sub-bandas é aplicada a MDCT, ou seja, a
DCT Modificada. Para a redução do efeito de bloco a
MDCT é aplicada a cada sub-banda com sobreposição
de 50% no que diz respeito a sub-bandas adjacentes.
Pode-se também utilizar comutação dinâmica de janela
para diminuir o pré-eco (tipo de efeito indesejável que a
MDCT introduz).
• Quantização e codificação de Huffman - o processo que
tem como objectivo encontrar o ganho óptimo, os
factores de escala para um dado bloco, ritmo binário e
saída do modelo perceptivo é feito através de 2 ciclos
encadeados. Um deles, consiste num ciclo interno de
iteração, ou ciclo de ritmo, no qual, se o número de bits
que resulta da codificação exceder o número de bits
disponível, pode-se corrigir isso ajustando o ganho
global, aumentando deste modo o passo de
quantificação, para se obterem menores valores
resultantes da quantificação. Esta operação é repetida
para vários valores do passo até ao número de bits
exigido na codificação de Huffman ser suficientemente
pequeno. O segundo ciclo consiste num ciclo externo da
iteração, ou ciclo de controlo de ruído, o qual pretende
disfarçar o ruído de quantificação com o limiar de
mascaramento. Para isto, são aplicados factores de
escala a cada banda, começando por omissão com um
factor de valor 1. Em seguida, se o ruído exceder o
limiar de mascaramneto, ajusta-se o factor de escala de
modo a reduzir o ruído. Este processo de redução de
ruído requer um maior número de passos de
quantificação, o que conduz a um maior ritmo binário
por esse facto o ciclo de ritmo está encadeado no ciclo
de controlo de ruído. Este ciclo externo é executado até
que o ruído actual esteja abaixo do limiar de
mascaramento para todas as bandas.
6.1. Modos de operação
Existem vários modos de operação, os quais são descritos
seguidamente:
• Mono;
• Dual Stereo – onde os canais são codificados
independentemente, p.e., 2 línguas;
• Stereo – com codificação independente, mas com
partilha de campos comuns na trama codificada;
• Joint Stereo – onde a dependência entre canais é
explorada através da técnica intensity stereo, ou seja,
acima de 2 kHz, envia-se o sinal L+R e factores de
escala para os 2 canais (L e R) uma vez que o ouvido é
pouco sensível;
• Mono/Stereo (MS) (só camada 3) – onde os 2 canais são
codificados como L+R (middle) e L-R (side) o que
permite controlar melhor a localização espacial do ruído
de quantização.
Quanto às frequências de amostragem na norma MPEG1
Layer 3 constam apenas o uso de 32 kHz, 44.1 kHz
(qualidade
CD)
e
48
kHz.
Em relação ao débito binário o MPEG áudio trabalha a
um débito variado, ou seja, a selecção do débito (8-320
kbit/s) é segundo o critério do codificador, sendo a
mudança de débito efectuada de trama para trama.
6.2. Trama
O áudio codificado é armazenado em tramas, em
conjunto com alguns dados adicionais. Cada uma das
tramas tem informação que diz respeito a um bloco de
áudio por canal. Uma trama é constituída pelo cabeçalho,
dados de áudio e dados opcionais.
O cabeçalho mp3 contem entre outros, uma palavra de
sincronização, o ritmo binário, a frequência de
Amostragem, a camada em questão, o modo de
codificação (mono, stereo, …) e dois bits SCMS (Serial
Copy Management Scheme) com o objectivo de protecção
contra cópia, mas devido à fácil manipulação destes bits,
esta forma de protecção é praticamente inútil. Os dados
que são codificados pelo codificador entrópico de
Huffman e a sua informação colateral são colocados na
parte relativa aos dados de áudio, onde a informação
colateral vai especificar o tipo de bloco, factores de ganho
das sub-bandas e tabelas de Huffman.
6.3. Descodificação
Figura 8 – Diagrama de blocos do descodificador MP3.
A descodificação MP3 pode ser subdividida em 3
diferentes fases como se pode ver na figura 8.
Numa primeira fase é feita a sincronização entre a
sequência de bits codificada e outras informações acerca
de cada frame. De seguida, dá-se o processo de
desquantificação, onde se reconstrói os coeficientes
gerados nos blocos de DCT modificado durante a
codificação. O cálculo de desquantificação é baseado na
saída de descodificação de Huffman e na informação do
factor de escala. Numa última fase, são efectuadas uma
série de operações invertidas da DCT modificada e é feita
uma análise do filtro de sub-banda no codificador. O
mapeamento frequência/tempo resulta na saída de áudio
PCM a partir dos coeficientes desquantificados.
6.4. Aplicações
A Layer III tem como alvo aplicações onde uma
necessidade crítica de baixos débitos binários justifique o
sofisticado sistema de codificação. Como permite
resultados de alta qualidade a débitos binários tão baixos
como 64 kbps por canal, esta solução é muito útil para um
largo número de aplicações, pois praticamente qualquer
sistema que tenha uma capacidade de canal limitada
beneficia no uso desta solução. Esta técnica abrange pelo
menos três grandes áreas: a transmissão, a
radiodifusão/teledifusão e o armazenamento de dados.
6.5. Limitações
Apesar de todas as vantagens descritas anteriormente,
existem algumas limitações que restringem a eficiência do
código quando comparada com outras normas.
Por exemplo, o MP3 não pode permutar de modo Join
Stereo entre as diversas bandas e depois de especificado
um modo (Intensity Stereo ou MS Stereo) para uma
determinada banda, esse é mantido para todas as bandas, o
que por vezes leva a uma codificação menos eficiente.
Apesar do uso do reservatório de bits, este pode não ser
suficiente. Como as frames são limitadas, por vezes,
pode-se ter um excesso de bits, o que pode provocar uma
degradação da qualidade do sinal de áudio. Uma outra
desvantagem, é o facto do tamanho das janelas não ser o
adequado para a codificação MP3. No caso dos long
blocks o número de amostras é insuficiente o que limita a
resolução espectral e consequentemente a eficiência do
código. No caso dos short blocks o número de amostras é
demasiado elevado o que limita a resolução temporal,
provocando uma falta de precisão.
Para manter a compatibilidade com a norma MPEG-1
Layer II, a norma MPEG-1 Layer III só aplica a
transformada MDCT após as bandas serem filtradas do
mesmo modo que na norma MPEG-1 Layer II. Esta
filtragem introduz um ruído que não é totalmente
eliminado e que se traduz numa desvantagem para a
norma MP3.
Por último existem limitações ao nível da falta de
ferramentas, que actualmente outras normas de
codificação já utilizam, sendo elas: a PNS (perceptual
noise substitution); a SBR (spectral band replication); a
TNS (temporal noise shaping); e a LTP (long term
prediction).
7.
ADVACED AUDIO CODIG (AAC)
Em 2003, o AAC foi escolhido para ser utilizado como
codec padrão nas transmissões digitais japonesas, que
utilizam o sistema digital ISDB-T, e em Abril de 2006,
teve uma variação chamada de HE-AAC utilizada em
transmissões de aparelhos móveis. O AAC utiliza
basicamente 2 métodos simples para codificação, que
resultam na diminuição de dados necessários para
transmissão de áudio digital, são eles: a eliminação das
componentes do sinal consideradas irrelevantes e a
eliminação das redundâncias do sinal de áudio codificado.
Na codificação, inicialmente o sinal é convertido do
domínio tempo para frequência, com a utilização do
método MDCT. Isto é feito com uso de filtros que
capturam amostras de tempo do sinal e as transformam
em amostras de frequência. Em seguida, o sinal já em
domínio de frequência é quantizado, e então, codificado.
Depois, é inserido o código de correcção de erros, passo
após o qual o sinal é armazenado ou transmitido.
Um dos cuidados a ter-se com o AAC, é o controlo de
erros. Normalmente existe um código de correcção de
erros que é utilizado em todo processo de codificação,
mas como determinadas partes do arquivo estão mais
sujeitas a erro do que outras, este, não é um método muito
eficiente. O arquivo de áudio AAC, pode ser subdivido em
várias partes de diferentes sensibilidades a erros:
• Códigos independentes de controlo de erros podem ser
aplicados em qualquer uma dessas partes, usando a
ferramenta Protecção de Erros, disponível no sistema
MPEG-4 Áudio padrão;
• Esta ferramenta permite à correcção de erros, a
possibilidade de que partes de diferentes sensibilidades
a erro recebam diferentes tratamentos, a fim de manter o
tamanho final do arquivo o mais compacto possível;
• O Error Protection do MPEG-4 Audio é totalmente
compatível com o codec AAC, mas já existia antes dele,
e era usado em outros métodos de codificação. Outra
técnica utilizada com o AAC, é a Error Resilient (ER)
AAC, técnica utilizada para tornar a codificação por si
só, mais robusta contra erros.
Três novas técnicas foram desenvolvidas no MPEG-4
Audio para o uso com AAC:
• Huffman Codeword Reordering (HCR) – utilizado para
evitar a propagação de erros dentro do espectro do
arquivo;
• Virtual Codebooks (VCB11) – utilizado para detectar
erros no espectro do arquivo;
• Reversible Variable Length Code (RVLC) – utilizado
para reduzir a propagação de erro em escalas do
arquivo.
Além disso, o processamento de sinal usa a transformada
discreta do co-seno na versão modificada (MDCT), e
acrescenta códigos de correcção de erros. O sinal pode ser
armazenado, ou transmitido. Em cada trama é aplicada o
algoritmo de Luhn mod -, para evitar a existência de
amostras com defeito.
A norma MPEG-4 não define um único grupo de
esquemas de compressão de áudio, mas sim um conjunto
de ferramentas, que permitem realizar uma série de
operações, de acordo com as necessidades. Cobre assim
uma gama que, vai desde o processamento de fala a um
baixo débito binário, até síntese de música. Assim, esta
variação pode ir desde 2kbps para voz, até 64kbps, ou
mais, por canal para o caso de música. As frequências de
amostragem vão de 8kHz até 96kHz, e o número de
canais de 1 a 48. Comparativamente ao banco de filtros
híbrido usado no MP3, o AAC usa a MDCT juntamente
com uma janela de comprimento de 1024. Isto faz com
que o AAC seja capaz de codificar sinais áudio com
formas mais complexas (ondas quadradas e impulsos
complexos), com melhor resultado, comparativamente ao
MP3.
Um codificador AAC pode comutar, dinamicamente, entre
um bloco MDCT com comprimento de 1024 pontos, e 8
blocos de 128 pontos. Se, por exemplo, ocorrer uma
variação no sinal, 8 pequenas janelas de 128 pontos são
escolhidas em função da sua resolução temporal. Por
omissão, é usada a janela de 1024 pontos uma vez que a
resolução de frequência superior permite a criação de um
modelo psico-acústico mais elaborado, o que,
consequentemente, resulta numa codificação mais
eficiente.
Portanto, o Advanced Audio Coding (AAC) é um
algoritmo de codificação de sinais áudio de banda larga,
projectado como um codec e desenvolvido com a mesma
base de codificação que o MP3. Tem, no entanto, como
objectivo uma maior qualidade, fazendo uso de novos
modos de codificação para ter taxas de transmissão mais
baixas mantendo a qualidade.
7.1. Estrutura do codificador
A estrutura ideal do codificador AAC completa-se
interpondo uma unidade de processamento espectral entre
a unidade Analysis & filterbank e a unidade Quantization
& Coding.
A estrutura base de um codificador AAC, dado que é um
codificador perceptivo, é representada na figura 9.
Figura 9 – Diagrama de blocos do codificador AAC.
Surge assim um conjunto de ferramentas de codificação,
das quais se focam as mais importantes:
• Pré-processamento - Pseudo-QMF de 4 bandas com
detectores de ganho;
• Banco de filtros - MDCT de 512/2048 pontos com
comutação dinâmica de janelas. Tem como objectivo
transformar o sinal de entrada do domínio dos tempos
para coeficientes no domínio das frequências através de
uma MDCT (Transformada Discreta de Co-seno
Modificada) que usa o conceito de codificação em subbandas.
• Temporal noise shaping - tem como objectivo controlar
a forma temporal do ruído de quantização dentro de
cada janela de codificação, o que se consegue aplicando
um processo de filtragem a partes do espectro de dados
de cada canal fazendo com que ocorra redução do
artefacto de pré-eco, utilizando a predição no domínio
da frequência;
• Long Term Prediction (Bloco LTP) - ferramenta
utilizada para a redução de redundância entre sucessivas
frames de codificação;
• Intensity\Coupling - insere-se na ferramenta Joint
Channel Coding Tool para ritmos binários baixos, e faz
uso da técnica “Intensity Stereo” (IS). Esta faz com que
a codificação stéreo só seja transmitida num canal,
obtendo-se assim um stream áudio mono e uma posição
stéreo, que por sua vez consiste em coeficientes
espectrais divididos em blocos, tornando a codificação
de informação stereo eficiente. O coupling permite que
os dados de um canal sejam combinados com dados de
outro. Este é um módulo opcional e é usado apenas para
ritmos binários muito baixos. Remove a informação
espacial presente, de forma a manter a distorção baixa, e
envia códigos de amplitudes para reconstrução.
• Prediction - ferramenta de predição adaptativa de
coeficientes espectrais ao longo do tempo, que tem o
objectivo de remover a correlação entre amostras, isto é,
remover redundâncias contidas no áudio em amostras
sucessivas, tendo uma maior eficiência em sinais
estacionários. Este módulo tenta reduzir a redundância
entre os coeficientes das frequências para um dado
bloco através do uso de predições. Recebe cada
coeficiente de frequência por ordem e tenta prever o que
vai acontecer nesse bloco.
• Perceptual -oise Substitution (PNS) - ferramenta
utilizada para melhorar a eficiência das taxas de
transmissão que, em alternativa à transmissão de todas
as componentes espectrais de um sinal com ruído, indica
apenas a frequência que tem ruído e dá a informação
sobre a potência nessa banda.
• MS-Stereo - ferramenta de codificação da soma e
diferença de dois canais áudio. Compressão obtida a
partir do envio apenas da soma ou da diferença dos dois
canais [M= (L+R) /2 S= (L-R) /2], isto é, os canais mid
e sid que são o resultado dessa soma e diferença
respectivamente. Esta ferramenta mantém ainda
inalterado o áudio não introduzindo qualquer tipo de
artefacto ao sinal, ao contrario do que acontece no
Intensity Stereo.
• Escalador e Quantizador - ferramenta que permite a • Scaleable Sample Rate Profile - o áudio é dividido em 4
bandas de frequência discreta, adaptando-se a diversas
quantização de coeficientes espectrais usando um
larguras de banda. Este modo tem menor complexidade;
procedimento de análise por síntese aproximada, para
que o ruído quantizado e definido, de acordo, com o • Long Term Prediction - modo semelhante ao Main Profile
modelo psico-acústico fique muito pouco perceptível,
mas com baixa complexidade. Utiliza forward predition.
ou mascarado.
Dependendo, obviamente, do perfil escolhido para o
codificador AAC e para o MP3, uma codificação em AAC,
• Codificação sem perdas - ferramenta que faz uso do
a 96kbit/s, deve dar a mesma, ou mesmo melhor
método de codificação de Huffman por ser mais flexível
qualidade (perceptível ao ouvinte) que uma codificação de
e utilizar os quádruplos das linhas de frequência. É
128kbit/s em MP3. Tal com o MP3 sofreu uma pequena
preferível em certos casos converter o sinal para
evolução com o uso da técnica SBR (Spectral band
midlle\side antes de quantificar dada a sua informação
replication) que deu origem ao chamado MP3Pro,
espacial. Assim, é esta ferramenta que decide de que
também o AAC tem um perfil um pouco especial, em que
modo codifica para obter maior ganho de codificação.
se usa SBR e PS (Parametric stereo) denominado por
• Bitstream Formatter - bloco onde são agregados os
AACplus, sendo esta a família de codecs mais recente na
coeficientes quantizados e codificados, e os parâmetros
norma MPEG-4.
de controlo para a transmissão.
Desta forma, observando-se a figura 9, verifica-se que o
8. EVOLUÇÃO DOS FORMATOS
AAC segue o mesmo paradigma de codificação que o
Layer-3, utilizando novas ferramentas de codificação
Ambos os formatos sofreram evoluções ao longo do
como forma de melhorar a qualidade a baixos débitos, tais
tempo. Estas evoluções encontram as suas bases nos
como:
formatos já referidos. O MP3Pro é um destes exemplos e
• Elevada resolução espectral, onde o número de linhas no
combina
o formato de áudio e compressão MP3 com
AAC encontra-se acima das 1024 comparado com as
métodos baseados na replicação de banda espectral. Este
576 para o Layer-3;
SBR (spectral band replication) é uma tecnologia baseada
• Predição, baseada no passado opcional, computada linha
na redundância harmónica no domínio da frequência e
por linha, o que permite alcançar melhor eficiência na
surge com o intuito de melhorar a qualidade dos codecs
codificação, especialmente para sinais correspondentes
de áudio, de forma que o ficheiro resultante detém apenas
a tons muito próximos;
metade do tamanho do obtido com a compressão normal
• Codificação do tipo stereo melhorada, que comparada
do MP3. Este avanço, surgiu naturalmente dado que o
com o MP3, tanto a codificação estéreo (mid/side) como
MP3
usa uma largura de banda bastante limitada quando
a intensidade de codificação são mais flexíveis,
se
desce
o bitrate. Podemos assim observar a título
permitindo reduzir o débito mais frequentemente;
ilustrativo
as figuras 10 e 11.
• Codificação de Huffman melhorada, sendo mais
frequente a codificação por quádruplos de linhas de
frequência e existindo maior flexibilidade na atribuição
de tabelas de código Huffman.
Relativamente à qualidade de áudio, são utilizadas
ferramentas para:
• Melhoramento do processo de troca de blocos, ou seja,
Figura 10 – Codificação MP3 a 64kbps.
em vez do filterbank híbrido utilizado no Layer-3, o
AAC utiliza um filterbank do tipo MDCT;
• Ajuste temporal do ruído, T-S (Temporal -oise
Shaping), uma técnica que realiza ajuste do ruído no
domínio temporal através de um ciclo aberto de
predição no domínio da frequência.
7.2. Modos de codificação
Dado que a codificação de áudio se faz de forma modular,
dependendo da qualidade final desejada e da
complexidade do fragmento áudio a codificar, podemos,
através de uma combinação das ferramentas, obter quatro
modos de codificação áudio permitidas pelo AAC:
• Main Profile - utiliza todas as ferramentas disponíveis,
necessitando de muita memória e capacidade de
processamento para atingir uma qualidade elevada;
• Low Complexity - modo simples e muito utilizado para
diminuir significativamente o uso da memória e do
processamento, embora com menor qualidade final e taxa
de compressão;
Figura 11 – Codificação MP3Pro a 64kbps.
O SBR foi também combinado com o AAC e com o PS
(Parametric Stereo) de forma a criar o formato HE-AAC.
Este formato foi desenvolvido igualmente com o intuito
de aumentar a eficiência da codificação a bitrates baixas
ao usar apenas uma representação paramétrica do áudio,
não sendo muito eficiente fora destas. O MPEG-4 SLS ou
HD-AAC como é comercialmente conhecido, é mais uma
vez desenvolvido pelo Fraunhofer IIS, e vem acrescentar
ao formato AAC uma forma de compressão sem perdas,
no entanto, facilmente convertível com perdas num
ficheiro de tamanho reduzido caso o espaço de
armazenamento disponível seja limitativo. O formato
permite ter ambas as layers, uma com perdas, e uma
segunda que tem a função de colmatar as perdas da
primeira chamando-se por isso lossless correction layer.
O MPEG-4 Low Delay Audio Coder (AAC-LD) é uma
derivação do AAC usado em MPEG-2. Tem como
objectivo usar as vantagens da codificação de áudio, e
minimizar os atrasos para se usar em comunicação
bidireccional. Vem fazer a ponte entre os sistemas
dimensionados para voz, e os sistemas para áudio
genérico (que inclui música e, por conseguinte, necessita
de mais processamento). O parâmetro mais exigente cifrase em ter um máximo de atraso de 20ms, mantendo uma
boa qualidade, em qualquer tipo de sinal áudio, seja voz
ou música.
9.
MP3 VS. AAC
Comparando o AAC com o MP3, verificam-se as
seguintes melhorias do AAC, que permitem obter a mesma
qualidade para ritmos binários mais baixos:
• Maior resolução de frequências - número das linhas de
frequências em AAC é 1024 e 576 na layer3;
• Predição - predição inversa opcional, calculada linha a
linha, com melhor eficiência de codificação,
especialmente para sinais tonais (ex. sinal de chamada
dos telefones);
• Codificação de Joint Stereo melhorada - a codificação
dos canais middle/side e a codificação intensity são mais
flexíveis, e a aplicação das duas, reduz o ritmo binário;
• Codificação de Huffman melhorada - em AAC, a
codificação de Huffman opera com quádruplos das
linhas de frequência mais frequentemente., e o uso das
tabelas de codificação de Huffman pode ser muito mais
flexível;
• Suporte
até
cerca
de
48
canais
(AAC),
comparativamente aos 2 canais no modo MPEG-1 e 5.1
canais em modo (MP3);
• Maior eficiência e um filterbank mais simples,
puramente MDCT;
• Maior eficiência na codificação para sinais estacionários
(Tamanho do bloco: 576 -> 1024 amostras);
• Maior eficiência na codificação para sinais transientes
(tamanho do bloco: 192 -> 128 amostras);
• Leitura melhor com frequências acima dos 16 kHz do
que no MP3;
• Técnica joint stereo mais flexível (separada para cada
banda);
Estes módulos podem ser combinados entre si, permitindo
ao AAC uma maior flexibilidade na criação de codecs.
Este conjunto de pequenos melhoramentos permite ao
AAC atingir em média a mesma qualidade que o MP3 em
cerca de 70% do ritmo binário.
Outra das vantagens do AAC, é que este não requer
qualquer licença ou pagamento para o streaming ou
distribuição de conteúdos, e por esta razão, este torna-se
um formato mais atractivo para a distribuição de
conteúdos, em particular para streaming na internet., ou
seja, o AAC permite uma maior flexibilidade no que diz
respeito ao design e à concepção dos codificadores de
áudio.
Quando comparado com o AAC, a débitos superiores a
128 kbps, verifica-se que o MP3 apresenta uma qualidade
semelhante ao AAC. A maior diferença entre eles registase para débitos binários menores que 128 kbps, onde o
AAC tem uma melhor performance que o MP3.
10. COCLUSÃO
Neste artigo são apresentadas as duas normas, para
codificação de áudio, mais utilizadas na actualidade. Estas
normas são as primeiras a nível internacional no campo da
compressão digital áudio de alta qualidade. A grande base
onde ambas as normas assentam é o modelo psicoacústico, que explora as limitações auditivas humanas.
O MP3 cobre a codificação de sinais áudio estereofónicos
a altas frequências de amostragem com perdas de
informação imperceptíveis ao ouvido humano. Apesar das
suas limitações, o MP3 tem se mostrado extremamente
robusto, sendo um dos métodos de codificação mais
utilizados.
Adicionalmente, o MPEG-2 também oferece codificação
multi-canal com, sem compatibilidade inversa para MP3,
fornecendo uma imagem acústica melhorada para
aplicações exclusivamente áudio e para sistemas de
televisão e vídeo-conferência. Dada a robustez e
eficiência do AAC, a sua utilização tem se popularizado
cada vez mais.
Em conclusão, num mundo a acompanhar o avanço
tecnológico procura-se conseguir uma qualidade
subjectiva tão boa quanto possível, que ocupe a menor
banda possível. Assim, o AAC oferece-nos essa
possibilidade, mas, apesar deste facto, o MP3 continua a
ser o mais utilizado.
11.
REFERÊCIAS
[1] http://www.img.lx.it.pt/~fp/cav/com.htm
[2] http://en.wikipedia.org/wiki/MP3
[3] http://en.wikipedia.org/wiki/Advanced_Audio_Coding
[4] http://en.wikipedia.org/wiki/Lossy_data_compression
[5] http://www.apple.com/quicktime/technologies/aac/
[6] http://www.kendavies.net/resources/audioformats/
[7] http://www.ebu.ch/trev_283-kozamernik.pdf.
[8] http://www2.ufpa.br/ensinofts/capitulo3.html
[9] http://www.prof2000.pt/users/eta/Ruido.htm
[10] http://professores.faccat.br/azambuja/MP3.htm
[11] http://www.mp3dev.org/mp3/
[12] http://www.mp3-tech.org/index.html
[13] http://www.iis.fhg.de/amm/techinf/layer3/index.html
[14] http://www.mpeg.org/MPEG/index.html
[15] http://www.ime.usp.br/~walter/mp3/mp3.html
[16] http://www.infowester.com/histomptres.php
[17] http://www.mp3-tech.org/content/?Mp3%20Limitations
[18] http://www.mpeg.org

Documentos relacionados

MP3 VERSUS AAC

MP3 VERSUS AAC muito similar, passando pelos seguintes blocos fundamentais: banco de filtro de análise, um analisador de espectro, um bloco para o cálculo de limiares de mascaramento, um quantificador e escalador...

Leia mais