Home
MP3

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. O MP3 utiliza um algoritmo de compressão com perdas que se encontra apresentado na seguinte figura.
 
codificadormp3
 
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 as amostras quantificadas e codificadas são formatadas, num fluxo de bits, 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, adaptavelmente, 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. Ao passar pelo banco de filtros, as amostras vão ser divididas em 32 sub-bandas que estão separadas em intervalos de frequências iguais;

• 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 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 mascaramento, 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;