MP3

Descrição

Os ficheiros MP3 são gerados, através da modulação do sinal áudio original utilizando a Pulse Code Modulation (PCM). Esta codificação é obtida descartando os bits que são considerados irrelevantes para a audição humana. O limiar de audição é considerado para o processo de codificação aplicando-se o modelo psicoacústico. Às componentes do sinal, cujas frequências se encontram fora da gama captada pelo sistema auditivo humano são atribuídas um número menor de bits durante o processo de codificação. Por outro lado, tendo em consideração que o HAS é especialmente sensível a gamas de frequência entre 2-5 kHz, o algoritmo do MP3 distribui mais bits de informação nessa gama. Embora o algoritmo de compressão do MP3 seja por norma um modelo de codificação com perdas (lossy) também é possível codificar o sinal de áudio sem qualquer perda (lossless) mantendo um factor de compressão considerável de seis para um ou mais.
Algumas das características importantes da codificação MP3 são seguidamente apresentadas:

  • Elevada qualidade do sinal descodificado independentemente do espectro e níveis de amplitude do sinal a codificar.
  • Baixo atraso de codificação/descodificação, Integridade espacial para sinais estereofónicos e multicanal.
  • Capacidade de edição, mistura, baixa complexidade de implementação, baixo consumo de energia.
  • Mono, Dual Stereo, Stereo, Joint Stereo, Mono/Stereo (MS)
  • Como as características relacionadas com a percepção do ouvido humano aproveitadas por códigos perceptivos de áudio (PAC) como o MP3 as frequências perceptivas são representadas de forma exacta ao contrário das frequências menos perceptivas que podem ser retransmitidas de forma menos exacta assim como as frequências que não são definitivamente captadas pelo sistema auditivo humano podem ser descartadas. Tendo em consideração as afirmações referidas podemos facilmente depreender que a quantidade de informação que estará no ficheiro final codificado, será consideravelmente inferior, no entanto também existe o inconveniente de introduzir um sinal de ruído indesejável.
    A qualidade de codificação do MP3 é definida pelo ritmo binário, ou seja, a quantidade de dados codificados que são usados para representar cada segundo de áudio. Naturalmente, quanto maior o ritmo binário menor será à diferença entre o ficheiro original e o codificado.

    Codificação

    Passa-se a descrever os blocos que compõem método de codificação utilizado para o MP3 e que estão representados na figura 4:

    Figura 4 - Esquema de codificação MP3

  • Entrada – A entrada do Algoritmo de codificação é um sinal de PCM amostrado a um determinado ritmo binário. Na norma MPEG-1 as frequências de amostragem são 32, 44.1 e 48 KHz. Assumindo um débito binário de 16bit por amostra e uma frequência de 48 KHz obtém-se um ritmo binário de 768 Kbit/s.
  • Banco de filtros híbrido – O sinal PCM passa por um conjunto de filtros passa-banda, que tal como o seu nome indica deixa passar uma determinada banda de frequência. 32 filtros polifásicos em quadratura (PQF) dividem o sinal PCM em  32 sinais com a mesma largura de banda que simula as bandas críticas do Sistema Auditivo Humano, ou seja as bandas de frequências onde é possível determinar as componentes relevantes e irrelevantes. Por não haver filtros perfeitos é pode aparecer efeito de aliasing (efeito que causa sinais diferentes tornarem-se indistinguíveis).
  • MDCT – A Transformada Discreta do Coseno Modificada é aplicada à saída do banco de filtros, aproveitando os 18 coeficientes da transformada de cada sub-banda, o que perfaz um total de 576 linhas de frequência. No entanto, antes de aplicar a MDCT, cada sub-banda está sujeita a um tipo de janela, determinada pelo Modelo Psicoacústico, com o objectivo de reduzir artefactos causados pelo limite de cada segmento.

     

    Caso o modelo Psicoacústico detecte que um sinal das 32 sub-bandas é igual ao anterior, é aplicada uma janela Long que melhora a resolução espectral, caso contrario é aplicado uma janela Short que melhora a resolução temporal. As transições entre uma janela Short para Long são designadas por janelas Start. O fenómeno inverso é designado por janela Stop. As janelas Start e Stop são enviesadas para os lados, para melhorar as transições entre as janelas Long e Short o que permite a eliminação mais eficiente da redundância.

  • Fast Fourier Transform – Permite passar o sinal no domínio do tempo para o domínio da frequência. Tem um peso computacional bastante baixo e é bastante mais rápida que uma transformada normal de Fourier.
  • Modelo Psicoacústico – este bloco tem como entrada, a saída do bloco FFT, que permite a aplicação de um algoritmo baseado nas características do sistema visual humano, visto que o sinal se encontra definido no domínio da frequência. A sua função principal é fornecer informação sobre as 576 linhas de frequência ao bloco de quantificação uniforme e a MDCT de modo a que estas linhas sejam quantificadas correctamente e também para que o tipo de janela seja correctamente escolhido. Este modelo determina o limiar de mascaramento para cada banda.

     

    Os limiares referidos anteriormente para os coeficientes espectrais são utilizados no processo de quantificação para determinar o tamanho do passo de quantificação óptimo e o escalonamento através de:

  • Rate Control Loop – Este ciclo determina o passo de quantificação que torna possível a utilização de uma tabela do código de Huffman adequada, ou seja, aumenta-se o passo de quantificação até que os bits codificados não sejam superior aos bits disponíveis
  • Distortion Loop - Devido ao processo anterior existe ruído de quantificação pelo que este ciclo controla esse ruído de maneira que não se ultrapasse o limiar de mascaramento.
  • Codificação de Huffman – A partir dos dados quantificados adopta-se a codificação de comprimentos variável de Huffman. As frequências quantificadas do sinal são divididas em três regiões:
    • Big values – Consiste em coeficientes maiores de frequência e usa 32 tabelas codificadas de huffman, que podem ser divididas em 3 regiões, cada região escolha a sua tabela codificado baseado na característica estatística do   sinal áudio.
    • Count 1 – Consiste nos coeficientes de frequência -1, 0 ou 1.
    • Rzero – Consiste numa série de coeficientes de zeros que não são codificados.
  • Codificação de informação auxiliar – Esta codificação permite gerar todos os parâmetros que irão ser utilizados pelo descodificador para poder reproduzir o som.
  • Formato de dados e Geração de CRC – Neste bloco são gerados as tramas que formam o formato MP3
  • 53088 – João Costa, jmcst<at>yahoo.com;

    55276 – Diogo Lucas, diogodiaslucas<at>gmail.com;

    70666 - Stephane Fernandes, saf_jsf<at>hotmail.com;