13
Carlos Ignácio de Mattos MPEG Layer 3 – MP3 Trabalho elaborado para a Disciplina de Processamento Digital de Sinais ministrada pelo professor Marcelo Rosa. Departamento de Engenharia Elétrica Universidade Federal do Paraná Curitiba Novembro de 2007

Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

Embed Size (px)

Citation preview

Page 1: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

Carlos Ignácio de Mattos

MPEG Layer 3 – MP3

Trabalho elaborado para a Disciplina de Processamento Digital de Sinais ministrada pelo professor Marcelo Rosa. Departamento de Engenharia Elétrica Universidade Federal do Paraná

Curitiba Novembro de 2007

Page 2: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

1. Introdução

Nos tempos atuais a demanda por largura de banda no acesso a Internet tem sido um assunto largamente estudado. Contudo a velocidade do download não está ligada somente à banda utilizada, mas também ao tamanho do arquivo. Reduzindo o tamanho do arquivo não somente será reduzido o tempo de download como também facilitará o armazenamento deste. Para realizar essa redução, sugiram técnicas de compressão. Existem técnicas específicas para cada tipo de aplicação. Este trabalho irá tratar da compressão de áudio conhecida como MP3. A sigla MP3 é uma abreviação de MPEG 1 Layer-3. Já a sigla MPEG significa Moving Pictures Experts Group, que nada mais é do que um padrão de compressão de áudio e vídeo. Para realizar a compressão, a técnica MP3 remove do som original sons que não são perceptíveis ao ouvido humano. Conceitos como freqüência audível, limiar de audição na freqüência audível e mascaramento em freqüência e temporal são utilizados pela técnica MP3. O quanto irá comprimir depende da qualidade do som desejada. Contudo, é possível uma compressão de 12 vezes sem uma perda substancial da qualidade. Uma outra característica interessante da tecnologia MP3 é o streaming. Este permite que o usuário escute parte da musica enquanto faz o download da mesma, ou seja, não é necessário baixar a música inteira para escutá-la parcialmente.

2. Princípios de Funcionamento

Como mencionado anteriormente, a sigla MP3 é uma abreviação de MPEG 1 Layer-3. A palavra layer, camada, distingue os três diferentes níveis de compressão dessa tecnologia. O layer 1 confere uma menor compressão do que o layer 3. Contudo o primeiro é destinado à utilização em ambientes de áudio profissional e o último para utilização pelo usuário comum. Uma observação sobre a compressão é importante de ser feita. A compressão consiste em retirar do arquivo características não essenciais para sua reprodução. Logo, depois de feita a compressão, parte da informação original é perdida e não é possível recuperar o arquivo de som original a partir do arquivo MP3. O ramo da psico-acústica estuda o modo que o ser humano escuta o som. Utilizando os conceitos deste ramo, a tecnologia MP3 supre do som original sons que estão aquém da percepção humana. Essa técnica não causa perda substancial da qualidade do áudio. Os princípios de supressão são:

��Faixa de freqüência audível humana � A capacidade física de detectar sons do ouvido humano encontra-se na faixa de freqüência que vai de 20Hz até 20kHz. Logo, não faz sentido armazenar dados sobre o som fora dessa faixa de freqüência.

��Limiar de audição na faixa de freqüência audível � A capacidade do ouvido humano de perceber a intensidade do som varia com a freqüência. Isso

Page 3: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

significa que dentro da faixa audível, a sensibilidade a sons de diferentes freqüências não é uniforme. A tecnologia MP3 retira dados sobre o som cuja sensibilidade do ouvido humano não é capaz de detectar.

��Mascaramento em freqüência e mascaramento temporal � Mascaramento auditivo define que um determinado som é suprimido devido à presença de outro, podendo essa supressão ser no tempo ou freqüência. O mascaramento em freqüência caracteriza-se quando dois sons de freqüência próxima ocorrem e o ouvido humano detecta apenas um deles devido à diferença de intensidade entre os mesmos, vide figura 1. Esse fenômeno ocorre no intervalo de 100Hz até 4kHz. Analogamente existe o mascaramento temporal. Esse fenômeno ocorre quando dois sons de diferentes intensidades são soados em um curto intervalo de tempo e, o de menor intensidade, não é percebido pelo ouvido humano. Se o som de baixa intensidade vier antes do de alta intensidade ocorre o pré-mascaramento. Este dura cerca de 20ms. Já se vier depois, pós-mascaramento, a duração é de 200ms.

Figura 1 – Mascaramento em Freqüência

3. A Tecnologia MPEG

Analisando a tecnologia MPEG/Audio, podemos defini-la como um padrão

genérico para compressão de áudio. O codificador faz a compressão sem levar em conta a natureza da fonte de áudio. A taxa de amostragem pode ser 32kHz 44,1kHz ou 48kHz, dependendo da qualidade.

Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças entre os sons tanto da caixa esquerda como o da direita retirando aqueles que não são necessários. A taxa de bits depende da freqüência de amostragem e pode variar de 32kbps até 224kbps. Isso leva a uma variação de compressão de 2,7 a 24 vezes do tamanho do arquivo original. A tecnologia de compressão de áudio MPEG possui três layers independentes. O layer I é o mais simples. As compressões mais comuns possuem uma taxa de 128kbps por canal, mas existem aplicações comerciais com 19kbps. O layer II atua como um intermediário. Sons nesse layer são utilizados em áudio brodcasting e em CD-ROM, entre outros. O layer III é o que oferece a melhor qualidade. Geralmente atua com 64kbps por canal.

Page 4: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

A tecnologia MPEG de compressão de áudio atua ainda na detecção de erros utilizando códigos de redundância cíclicos. A chave da tecnologia MPEG audio compression reside na quantização, ou seja, nas perdas. Testes mostraram que quando realizado uma compressão de 1:6 não foram detectados diferenças audíveis pelo ouvido humano. Agora será feito um overview da tecnologia empregada em MP3. A entrada de áudio passa por um banco de filtros que divide a entrada em múltiplas sub-bandas de freqüência. Essa mesma entrada passa simultaneamente pelo modelo psico-acústico que determina a razão do sinal de energia para o limiar de mascaramento para cada banda de freqüência. O bloco de bit allocation usa as razões de sinal de mascaramento para decidir o número de bits da quantização. O último bloco analisa as bandas amostradas e formata numa seqüência de bits codificada. O decodificador decifra a seqüência e reconstrói o sinal de áudio. A figura 2 mostra o diagrama de blocos da tecnologia, incluindo a decodificação.

Figura 2 – Diagrama de Blocos da Tecnologia MP3

3.1 O Banco de Filtro Polifásico O banco de filtro polifásico é comum a todos os layers. Nessa etapa, o áudio é dividido em 32 partes de igual largura espectral. Essa divisão prove ao sistema boa resolução temporal e razoável resolução na freqüência. Nessa etapa nota-se que cada uma das partes, sub-banda, possui um comportamento diferente em relação à audição humana. Em baixas freqüências, por exemplo, uma única sub-banda cobre várias freqüências críticas. Em circunstancias críticas, uma maior amostragem fornece uma maior resolução. Logo, o comportamento mais crítico existente na sub-banda dita a taxa de amostragem da mesma. Outro fator a ser considerado é que o do banco de filtro faz uma transformação no sinal com perdas. Sendo assim, a transformação inversa não

Page 5: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

recupera o sinal original perfeitamente. No entanto o erro introduzido é pequeno e inaudível. Por último, as sub-bandas adjacentes podem possuir sobreposição, fazendo com que uma única freqüência atue em duas saídas adjacentes. Agora vamos entender o funcionamento do filtro polifásico. O padrão ISO MPEG/Audio descreve um procedimento para a análise computacional das saídas do filtro, o método de Rothweiler1. (1)

A equação 1 relaciona a sub-banda i, de 0 a 31, com sua respectiva saída st[i] num determinado tempo t. C[n] é um dos 512 coeficientes definidos pelo padrão para a análise da janela. E x[n] é a entrada de áudio lida com um buffer de 512 amostras. M[i][k] é análise dos coeficientes da matriz. (1.a) O diagrama de blocos que representa o sistema descrito acima pode ser visualizado na figura 3.

Figura 3 – Diagrama de Blocos do Filtro Polifásico

1 J. H. Rothweiler. “Polyphase Quadrature Filters – A New Subband Coding Technique”, Proc. Int´l Cont. IEEE ASSP, 27.2, IEEE Press, Psicataway, N.J,, 1983, pp. 1280-1283.

Page 6: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

Manipulando a equação 1 chega-se a essa nova equação:

(2) sendo: x[t] o áudio amostrado no tempo t;

A resposta espectral de h[n] é mostrada na figura 4. Nessa é possível notar que H(ejw) atua como um filtro passa baixas.

Figura 4 – Resposta Espectral do Sistema – H(ejw)

3.2. O Modelo Psico-Acústico

A maior parte da compressão é realizada nessa etapa, pois aqui é retirado do sinal os efeitos estudados no tópico 2. Efeitos esses imperceptíveis ao ouvido humano. O modelo psico-acústico analisa o sinal de áudio e quantifica o efeito de mascaramento em função da freqüência. O padrão MPEG/Áudio descreve dois modelos de implementação do bloco psico-acústico. O primeiro utiliza um processo menos complexo que o segundo. Ambos os modelos trabalham em qualquer um dos

Page 7: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

layers de compressão. Contudo, o modelo 2 possui parâmetros específicos do layer III. No processo de implementar o modelo psico-acústico existe uma certa flexibilidade. A precisão do modelo depende do quanto o projetista deseja comprimir e da aplicação do arquivo MP3. Há apenas uma avaliação psico-acústica por frame. Os dados de áudio enviados ao modelo psico-acústico devem concordar com os dados de áudio a serem codificados. O modelo psico-acústico deve levar em conta o atraso do áudio no banco de filtros e offset existente nas sub-bandas.

O modelo psico-acústico deve conter um mapeador de tempo e freqüência independente do filtro polifásico. Isso porque ele necessita de uma maior precisão para poder calcular os limiares de mascaramento. Ambos os modelos psico-acústicos utilizam a transformada de Fourier para mapeamento em freqüência. O modelo psico-acústico 1 usa uma janela de analise com 512 amostras para o layer I e 1024 amostras para os layers II e III. Devido ao fato de haver somente 384 amostras no frame layer I, uma amostragem com 512 amostras prove uma leitura adequada. Já os layer II e II possuem frames com 1152 amostras, logo a leitura feita pelo modelo psico-acústico 1 não é suficiente. Contudo isso não causa um grande impacto na qualidade do modelo. Por outro lado, o modelo psico-acústico 2 usa amostras de 1024 para leitura de frames em todos os layers. Ambos os modelos identificam e separam os tons e ruídos que compõem o sinal de áudio. O modelo psico-acústico 1 identifica o tom baseado nos picos de áudio no espectro de potência. Depois de processar os componentes tonais, o modelo 1 soma os valores espectrais remanescentes num único componente tonal por banda crítica. O modelo psico-acústico 2 nunca separa os componentes tonais e não tonais. Ao invés disso, ele computa o índice de tonalidade como função da freqüência. Devido a esse modelo discriminar mais dados, ele geralmente discrimina melhor do que o modelo 1os componentes tonais e não tonais. Os dois modelos calculam os limiares de mascaramento com alta resolução na freqüência, sendo esta melhor do que a fornecida pelo filtro polifásico. O modelo 1 seleciona o menor limiar de mascaramento de cada sub-banda. Enquanto esse raciocínio é utilizado em baixas freqüências onde a sub-banda é estreita em relação à banda crítica, o modelo funciona bem. O problema surge em altas freqüências, porque a banda crítica atinge várias sub-bandas. O modelo 2 seleciona o menor limiar de mascaramento coberto pela sub-banda. Esse raciocínio faz com que o modelo dois tenha a mesma precisão em altas e baixas freqüências. 3.3. Os Layers O padrão MPEG/Audio possui três layers de compressão. O layer I possui o algoritmo mais básico, enquanto os layers II e III possuem uma maior complexidade. Contudo, os layers II e III possuem elementos do layer I. A cada

Page 8: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

layer a performance de compressão é melhorada. Contudo, para melhorar a compressão são necessários codificadores e decodificadores de maior complexidade. A figura 5 mostra um exemplo da sintaxe do cabeçalho do arquivo MP3, no qual é possível visualizar que são alocados dois blocos para a identificação do layer.

Figura 5 – Exemplo de Cabeçalho do Arquivo MP3

3.3.1. O Layer I O algoritmo desse layer codifica o sinal de áudio em frames com 384 amostras. Isso é feito agrupando 12 amostras de cada uma das 32 sub-bandas. Além dos dados de áudio, cada frame contém um cabeçalho e um código de redundância cíclico, sendo este último opcional. A figura 6 abaixo mostra o processo de amostragem no layer I.

Figura 6 – Processo de Amostragem no Layer I

Page 9: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

A figura 7 mostra um arranjo de uma seqüência de bits no layer I. Os números entre parênteses são as possíveis quantidades de bits. A cada grupo de 12 amostras é alocado um bit, se o bit alocado não for zero, utiliza-se o fator de escala. A alocação de bits é que informa ao decodificador o número de bits usado na representação de cada amostra. Para o layer I esta alocação pode ser de 0 a 15 bits por sub-banda.

Figura 7 – Seqüência de bits no layer I

O fator de escala é um multiplicador que define o tamanho das amostras, para usar toda a capacidade do quantizador. Cada fator de escala possui uma representação de seis bits. A combinação entre a alocação de bits e o fator de escala prove o potencial de representar amostras numa range dinâmico de 120 dB. 3.3.2. O Layer II O algoritmo utilizado no layer II é uma simplificação do usado pelo layer I. Ele codifica os dados de áudio em grandes grupos e impõe algumas restrições de alocação de bits para valores de médias e altas sub-bandas. Ele também representa a alocação de bits, os valores de fator de escala e as amostras quantizadas em um código mais compacto. O layer II consegue atingir uma melhor qualidade de áudio salvando os bits nessas áreas, logo mais bits codificados representam o valor de uma sub-banda quantizada. O codificador utilizado no layer II forma frames de 1152 amostras por canal de áudio. Enquanto o layer I codificava dados um único grupo de 12 amostras por sub-banda, o layer II codifica dados em três grupos de 12 amostras por sub-banda. A figura 6 mostra esse agrupamento. O decodificador utiliza um fator de escala diferente para cada grupo de 12 amostras somente se for necessário bloquear uma distorção audível. O decodificador divide os valores de escala entre dois ou três grupos em dois casos. Um quando os valores de escala estão suficientemente pertos e dois quando o decodificador antecipa o mascaramento temporal. O fator de escala seleciona o campo da informação da seqüência de bits do layer II e informa ao decodificador se e como dividir os valores de fator de escala. A figura 8 mostra uma seqüência de bits típica do layer II.

Figura 8 – Seqüência de Bits do layer II

Page 10: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

3.3.3. O layer III O algoritmo utilizado no layer III é muito mais refinado e deriva dos algoritmos ASPEC, Audio Spectral Perceptual Entropy Coding, e do OFC, Optimal Coding in the Frequency domain. Embora seja baseado no mesmo banco de filtros dos layers I e II, o layer III compensa algumas deficiências do banco de filtros processando as saídas deste com um Modified Discrete Cosine Transform, MDCT. A figura 9 mostra um diagrama de blocos desse processamento do codificador. O MDCT subdivide as sub-bandas de saída em freqüência para prover melhor resolução espectral. Posteriormente cada componente da sub-banda é subdividido em freqüência. O codificador utilizado no layer III pode parcialmente cancelar algum Aliasing causado pelo filtro polifásico. O decodificador do layer III possui o inverso do MDCT para reconstruir as amostras das sub-bandas no formato original, incluindo as partes canceladas pelo Aliasing.

Figura 9 – Diagrama de Blocos do Processamento no Codificador

Dois comprimentos de blocos MDCT são especificados no layer III. Um bloco longo de 18 amostras e um pequeno de seis. Há 50% de sobreposição entre as sucessivas janelas transformadas, então o tamanho da janela é de 36 e 12 respectivamente. O bloco longo prove uma maior resolução para sinais de áudio com características estacionárias. Enquanto o bloco curto é utilizado para analisar sons transientes. No modelo de bloco curto, três blocos formam um bloco longo. Então o número de amostras MDCT para o mesmo frame de áudio permanece inalterado em relação ao tamanho do bloco. Para um dado frame com amostras de áudio, o MDCT pode conter todos os blocos do mesmo tamanho ou de tamanhos diferentes. Neste último, o MDCT possui para as duas sub-bandas de mais baixa freqüência blocos

Page 11: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

longos e para as 30 sub-bandas acima blocos curtos. Essa combinação prove melhor resolução em freqüência para as baixas freqüências, onde mais é preciso, sem sacrificar a resolução temporal para as altas freqüências. Devido ao processamento do MDCT, o sinal da sub-banda possui melhor resolução em freqüência, mas considerável perda na resolução temporal. O MDCT opera em 12 ou 36 amostras do filtro polifásico, então as janelas efetivas das amostras de áudio envolvidas nesse processamento são de 12 a 36 vezes maiores. A quantização dos valores do MDCT irá causar um espalhamento de erros sobre essa maior janela temporal, produzindo distorções audíveis, pré-eco. Para melhorar a performance, o layer III possui diversas medidas para reduzir o pré-eco. Primeiro, o modelo psico-acústico do layer III possui modificações para detectar as condições do pré-eco. Segundo, o layer III pode emprestar bits reserva para reduzir a quantização de ruído quando o pré-eco existe. E por último, o codificador pode alterar para um MDCT de bloco menor para reduzir a janela do tempo. 3.4. Alocação de Bits O processo de alocação de bits determina o número do código de bits alocado por sub-banda, baseado no modelo psico-acústico. Para os layers I e II, o processo inicia-se computando a razão mascaramento ruído. (3)

MNR – Mask-noise-Ratio SNR – Signal-noise-ratio SMR – Signal-mask-ratio Uma vez alocado os bits nas sub-bandas, procura-se a banda com a menor relação MNR e aloca bits nessa sub-banda. Esse processo melhora a relação MNR. Então novamente o processo descrito é refeito até que não seja mais necessária a alocação de bits adcionais. O codificador do layer III usa alocação de ruído. O codificador iterativamente varia o quantizador ordenadamente, quantiza os valores espectrais, conta o número de código de bits Huffman2 requeridos para os dados do áudio, e calcula o ruído. Se, após a quantização, algum fator de escala possuir um ruído além do permitido o codificador amplifica os valores e diminui o fator de escala. Esse processo se repete até que uma das três condições abaixo seja atendida:

1) Nenhum dos fatores de escala possuam mais distorção que a permitida; 2 Codificação Huffman: Método de compressão que utiliza como base a probabilidade de ocorrência dos símbolos. É um código de redundância cíclico. Para maiores informações consulte o site http://pt.wikipedia.org/wiki/Codifica%C3%A7%C3%A3o_de_Huffman.

Page 12: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

2) A próxima iteração irá amplificar o valor para a saturação; 3) A próxima iteração irá requerer que todos os fatores de escala sejam

amplificados.

4. Conclusão

A tecnologia MP3 permitiu que os sinais de áudio fossem significativamente comprimidos, com perda ínfima da qualidade do som, e assim possibilitando o armazenamento de música em aparelhos portáteis como o celular e o MP3 Player.

Page 13: Carlos Ignácio de Mattos - eletrica.ufpr.br · Quanto aos canais de áudio requeridos existem três modelos, mono, stereo e joint-stereo. Este último aproveita-se das semelhanças

Referências

o Wikipedia, a enciclopédia livre. “MP3”. <http://pt.wikipedia.org/wiki/MP3>,

acesso em 04/11/07; o Davis Pan Motorola, “A Tutorial on MPEG/Audio Compression”.