Instituto Superior Técnico
Comunicação de Áudio e Vídeo
MP3

Questões Técnicas

 

Antes de prosseguir com a descrição das técnicas usadas para obter o formato mp3, é essencial contextualizar o seu aparecimento e explicar que tipo de necessidades visava responder.

 O MP3 (assim como o MP1 e o o MP2) faz parte de uma das normas mais importantes da codificação audiovisual, o MPEG1.

Uma das principais motivações que levou ao desenvolvimento desta norma foi o aparecimento de suportes de gravação digital, com grande capacidade e elevadas velocidades de leitura. Nesta altura, década de 90, eram vários os possíveis: CD-ROM, CD-WORM, discos Winchester, DAT, … De entre todos, o CD-ROM foi escolhido como o mais adequado para oferecer, em larga escala, sinais multimédia interactivos, sobretudo devido à sua elevada capacidade e baixo custo.

Assim sendo, tendo como principal objectivo a gravação digital de vídeo em CD-ROM, a norma MPEG1 foi optimizada para débitos totais (áudio e vídeo) de, aproximadamente, 1.5 Mbit/s

 A norma MPEG1 engloba, entre outras, uma norma para a codificação de vídeo e 3 normas para codificação de áudio. Obviamente, aqui, o que mais interessa é a codificação de áudio.

 

As três normas possíveis de áudio em MPEG1 são como que 3 camadas, que representam diferentes compromissos débito/qualidade/complexidade/atraso. Assim a camada exterior, o MPEG1 Layer3 (o MP3!!), é aquela que tem maior complexidade, eficiência de compressão e atraso.

 

 O MP3 consegue níveis de compressão que ascendem até 90% do sinal digital em PCM. Para atingir estes níveis de compressão o MP3 aproveita, além das técnicas habituais de compressão, o conhecimento das imperfeições ou limitações na audição, para eliminar aquilo que não é relevante ao ouvido humano. Esta distinção entre ou que é ou não relevante, tem como base um modelo matemático que retrata as principais propriedades e tolerâncias do sistema auditivo humano, o modelo psico acústico, permitindo assim que se faça uma codificação perceptiva.

De forma muito resumida, pode definir-se um codificador como uma cadeia de processos matemáticos, pelo que um codificador perceptivo pode ser representado da seguinte forma:

 

É importante referir que, tanto o MP1, como o MP2 ou o MP3 usam o modelo psico acústico para melhor comprimir áudio. O que distingue o MP3 do dos restantes é a granularidade de acção, ou seja, à custa de maior complexidade o MP3 consegue analisar o áudio com mais pormenor.

 

MODELO PSICO ACÚSTICO

 

 

O modelo psico acústico é um modelo matemático que tenta representar, o melhor possível, as capacidades auditivas humanas, ou seja, a sensibilidade do ouvido humano, nomeadamente em relação à intensidade sonora, à selectividade espectral e ao efeito do “mascaramento”.

Ter um modelo que permita saber o que é que realmente ouvimos é de uma utilidade extrema, porque, além de permitir “descartar” do sinal tudo o que nos é irrelevante, permite injectar erro de codificação nessas zonas, o que obviamente resulta na diminuição do débito associado ao sinal codificado.

Numa primeira análise o modelo começa por definir um limiar para o que ouvimos, ou seja, começa por definir a intensidade mínima do som para ser ouvido. Esta intensidade mínima varia ao longo da banda de um sinal de voz, que se situa entre os 0 e 4 kHz.

 

 Para além do limiar de sensibilidade, o modelo define também o limiar de dor como sendo a intensidade do som a partir da qual os sons são “sentidos”, podendo causar dor ou eventuais danos nos ouvidos. 

 Mascaramento

 A curva de limiar de audição pressupõe um contexto de silêncio absoluto, no entanto, é fácil perceber que o contexto em que determinado som se inserem não é, de todo, indiferente. Por exemplo, se deixarmos cair uma moeda num ambiente silencioso, facilmente distinguimos o seu som, no entanto se o fizermos numa rua movimentada, só o ouvido mais treinado o consegue distinguir. Isto quer dizer que, a envolvente sonora pode literalmente “abafar” um determinado som. A isto chama-se mascaramento.   

Posto isto, pode dizer-se que, o mascaramento altera os limiares de audição, e podem definir-se 2 tipos distintos:

·              Mascaramento na frequência;

·              Mascaramento no tempo;

 

MASCARAMENTO NA FREQUÊNCIA

 O efeito mascara na frequência é aquele que se vê na figura abaixo. Isto é, quando um som, numa determinada frequência, tem uma amplitude muito elevada, aqueles que lhe são adjacentes (espectralmente) são mascaradados. O exemplo da moeda é um bom exemplo de mascaramento na frequência.

 

A largura da mascara não é independente dá frequência do som que a provoca. De facto, a largura da mascara aumenta com a frequência. 

Estas diferentes larguras de mascara são designadas de bandas críticas. De momento podem definir-se 3 bandas de frequência críticas:

·                f»500Hz, com LB=100Hz;

·                f»1kHz (2x500Hz), com LB=200Hz (2x100Hz);

·                f»5kH (10x500Hx), com LB=1000Hz (10x100Hz);

 

A forma destas bandas tem sido muito estudada, para se conseguir um modelo cada vez mais fiel do sistema auditivo humano.

 MASCARAMENTO NO TEMPO

 Quando é exposto a sons de muito alta amplitude, mesmo que por pouco tempo, o ouvido humano fica “surdo”, sendo necessários alguns décimos de segundo para se recuperar. Durante este intervalo de tempo o ser humano fica pouco sensível a sinais de baixa amplitude, sendo incapaz de os detectar. A isto chama-se mascaramento no tempo.

 

 

  

Os sons que não conseguem ser detectados pelo ouvido humano devido ao mascaramento (área a cinzento do gráfico) não precisam, portanto, de fazer parte do sinal depois de codificado.

Como se pode ver, é extremamente importante ter bem definidos os sinais importantes ao ser humano e os não importantes, umas vez que enviar sinais irrelevantes representa “desperdício” de bits, quando o objectivo principal é compressão máxima.

A principal função do modelo psico acústico, enquanto parte integrante da arquitectura de um codificador perceptivo, é controlar o erro que quantificação a introduzir em cada banda.

 

BANCO DE FILTROS

O “Banco de filtros” é a primeira etapa do processo de “transformação” de um sinal PCM. O sinal PCM representa amostras de áudio no domínio do tempo. Como é fácil perceber, para poder explorar toda a redundância e irrelevância de um sinal áudio, faz sentido analisa-lo, também, no domínio da frequência.  É essa a função do banco de filtros: decompor o sinal em sub-bandas de frequência, passando a descreve-lo no domínio tempo/frequência.

O codificador MPEG1 Layer3 utiliza uma estrutura de codificação tempo/frequência híbrida, ou seja, recorre aos dois tipos de codificação na frequência possíveis:

Codificação por sub-bandas (também usado pelas Layers 1 e 2), e Codificação de transformada (Modified DCT).

O codificador MP3 consegue usufruir destas duas técnicas dispondo-as em “cascata”, ou seja, primeiro faz a codificação por sub-bandas e depois aplica a Modified DCT a cada uma das bandas resultantes, tal como está explícito na figura:

 Este “banco de filtros” possibilita, assim, uma maior resolução na frequência.

Codificação por sub-bandas

Como é fácil perceber, a codificação por sub-bandas consiste em decompor um bloco de amostras em vários sub-conjuntos de amostras, usando filtros passa-banda (32 neste caso), contínuos na frequência, de forma que o conjunto final das várias bandas possa ser recombinado aditivamente para sintetizar o sinal original.

 

Esta figura, além de exemplificar o funcionamento de um banco de 32 filtros passa-banda, mostra a evolução da Layer 1 para as Layers 2 e 3. O facto das Layers 2 e 3 usarem 36 amostras, em vez de 12, permite-lhes que explorar redundância entre scale factors dos 3 grupos (3x12 amostras).  Só o facto de se explorar a redundância, permite aos Layers 2 e 3 obter o dobro da compressão em relação ao Layer 1.

Codificação de tranformada.

O MP3 tenta compensar algumas das falhas do banco de filtros, característico das Layers 1 e 2, recorrendo à codificação de transformada.

Uma transformada é, neste contexto, um procedimento matemático que permite converter um bloco de amostras estatisticamente dependentes, num bloco de coeficientes quase independentes onde a energia se encontra normalmente concentrada numa pequena parte dos coeficientes. caracterizar um sinal no domínio da frequência. A DCT é a mais popular no mundo da codificação de imagem, sendo usada nas mais diversas normas. No entanto, a DCT não é a mais indicada para codificação de áudio, uma vez que, a audição humana é mais sensível ao “efeito bloco” do que a visão. Assim, na codificação de áudio, utiliza-se a DCT Modificada (MDCT), que alem de diminuir o “efeito bloco”, com a sobreposição de janelas, permite evitar o efeito “pré-eco”, com a comutação de janelas.

 PRE-ÉCO

 

O efeito pré-eco nota-se quando, em vez de silêncio, se ouve um ruído de fundo antes de um som. Por exemplo, antes de uma faixa de música. Isto acontece, quando a “janela de amostras” que vem do banco de 32 filtros para o codificador de transformada engloba essa transição, uma vez que a transformada é aplicada à totalidade da amostra, podendo alterar a parte do silêncio. Este efeito pode ser atenuado com o uso janelas de amostras com tamanhos variáveis consoante o sinal a codificar (comutação de janelas).

Assim, com a aplicação da MDCT, as 32 sub-bandas são sub-divididas em 6 ou 18 coeficientes, conforme haja ou não efeito pré-eco previsível.

 

 

 EFEITO BLOCO

 O “efeito de bloco”, que tanto incomoda nos vídeos codificados, é ainda mais desagradável no áudio codificado. Este efeito é caracterizado por mudanças bruscas no sinal codificado, e tem como principal causa, o facto de as transformadas serem aplicadas a amostras sem ter em contas que estas são contínuas no tempo. Para suavizar este efeito, uma das soluções possíveis é aplicar a MDCT com 50% de sobreposição com as janelas contíguas, o que significa que a MDCT é aplicada a conjuntos de 12 ou 36 amostras das sub-bandas.

  

QUANTIFICADOR

 Voltando atrás, ao modelo do codificador perceptivo, vê-se que o quantificador recebe informação vinda do modelo psico-acustico e do banco de filtros. De uma forma muito resumida, pode dizer-se que o quantificador “molda”os coeficientes vindos da MDCT conforme o modelo auditivo humano.

Quer isto dizer que, a quantificação dos coeficientes MDCT, através da alocação de bits, se baseia nos limiares de audição dados pelo modelo psico-acustico, podendo introduzir erro (e consequentemente gastar menos bits) nas frequências em que somos menos sensíveis.

É importante perceber, que é aqui, no processo que quantificação, que são introduzidas “perdas” de informação irrecuperáveis, o que faz do MP3 um método de codificação “com perdas”.

Normalmente, é usado no MP3 um mecanismo com dois ciclos aninhados para quantificação e codificação.

CODIFICAÇÃO ENTROPICA

 A codificação entrópica é responsável por atribuir bits ao fluxo de símbolos saídos do codificador. Esta codificação, com vista a reduzir ao máximo o número de bits usados, tenta explorar a redundância estatística do sinal. Isto traduz-se na atribuição de palavras curtas a símbolos muito prováveis e palavras compridas a símbolos pouco prováveis. A maior parte dos codificadores com perdas (incluindo o MP3) utiliza o código de Huffman para codificação entrópica.

Este tipo de codificação permite uma redução de bits no resultado final na ordem dos 20%.

FORMAÇÃO DA TRAMA

É nesta fase do processo de codificação, que se percebe a importância da existência de uma Norma que garanta interoperabilidade entre os vários descodificadores. Assim a trama resultante do processo de codificação deve respeitar as especificações dadas pela norma MPEG 1 Layer3.