Trabalho da Disciplina de Processamento Digital de Sinais
Anderson Mendes Jacopetti
Antonio Luiz Fabris Junior
Bruno Zago
Mauro Fernando Wadeck
Fernando César de Oliveira
Compressão Digital de Áudio (MP3)
2. O Banco De Filtro Polifásico
3. Codificação e decodificação
5. Opções de Codificação dos Layers
Este trabalho explica a teoria da compressão MPEG/áudio, um algoritmo desenvolvido por Motion Picture Experts Group (MPEG) como uma norma ISO para a alta fidelidade de compressão para áudio digital. O padrão de compressão MPEG/áudio é uma das várias partes que endereçam a compressão de vídeo (11172-2), a compressão de áudio (11172-3), e a sincronização do áudio, vídeo e dados relativos (11172-1) a uma taxa de bits agregada de aproximadamente 1,5 Mbits/s. O padrão MPEG/áudio também pode ser usado para aplicações específicas em áudio, para comprimir dados de áudio de alta fidelidade a taxas de bits bastante baixas.
O algoritmo de compressão trabalha explorando as propriedades perceptíveis do sistema auditivo humano. Este documento também descreve a base do modelo psicoacústico e os métodos usados pelo algoritmo MPEG/áudio para compressão de dados de áudio com o mínimo de degradação perceptível.
O algoritmo de compressão MPEG/áudio é o primeiro padrão internacional [1,2] para a compressão digital de áudio de alta fidelidade. Outros algoritmos de compressão de áudio endereçam aplicações somente de voz ou fornecem apenas uma performance de compressão de áudio de média fidelidade. Por exemplo, Code Excited Linear Prediction (CELP) [3] é um algoritmo de codificação de voz, enquanto u-law e Adaptive Differential Pulse Code Modulation (ADPCM) são algoritmos de compressão relativamente simples que podem fornecer média fidelidade na compressão de áudio. Para contrastar a complexidade do algoritmo MPEG/áudio com algum mais simples, algoritmos de compressão de áudio genéricos, este documento apresenta os detalhes dos algoritmos u-law e ADPCM adotados pela Interactive Multimedia Association.
O padrão MPEG/áudio é o resultado de mais de 3 anos de trabalho feito por um comitê internacional de experiência de compressão de áudio de alta fidelidade conhecido como Motion Picture Experts Group (MPEG/audio). A International Organization for Standards e a International Electrotechnical Commission (ISO/IEC) adotaram este padrão no final de 1992.
Embora a compressão MPEG/áudio seja perfeitamente adequada para aplicações de áudio, ela é apenas uma das três partes do padrão de compressão. Combinada com as outras duas partes, vídeo e sistemas, o padrão MPEG endereça a compressão de vídeo e áudio sincronizados num total de aproximadamente 1.5 Mbits/s.
O padrão MPEG é rígido apenas onde for necessário para assegurar a inter-operabilidade. Ele permite a sintaxe do fluxo de bits codificado, define o processo de endereçamento, e provê testes de flexibilidade para avaliar a precisão do decodificador [4]. Isto garante que, desconsiderando-se a origem, qualquer decodificador MPEG/áudio totalmente complacente será capaz de decodificar qualquer fluxo de bits com um resultado previsível. Uma aceitação completa deste padrão permitirá aos fabricantes produzir e vender, a custos razoáveis, um grande número de codificadores MPEG/áudio.
Onde for possível, o padrão é aberto para futuros aprimoramentos inovadores. Programadores estão livres para tentar novas e diferentes implementações do codificador ou decodificador dentro dos limites do padrão. Há especialmente bom potencial para diversidade no codificador.
MPEG/áudio é um padrão genérico de compressão de áudio. Diferente dos codificadores direcionados para sinais de voz, o codificador MPEG/áudio obtém sua compressão sem fazer suposições sobre a natureza ou origem do áudio. Ao invés disto, o codificador explora as limitações de percepção do sistema auditivo humano. Grande parte da compressão resulta da remoção de partes irrelevantes da percepção do sinal de áudio. Esta remoção resulta em distorções inaudíveis, desta forma MPEG/áudio pode comprimir qualquer sinal com a intenção de mantê-lo audível. A taxa de amostragem do áudio pode ser 32, 44,1, ou 48 kHz.
MPEG/áudio oferece três Layers (camadas) independentes de compressão. Isto fornece uma escala larga entre a complexidade do codificador e a qualidade de áudio na saída.
O Layer I é o mais simples e é melhor aplicado para taxas de bit acima de 128 kbits/s por canal. Por exemplo, Philips' Digital Compact Cassette (DCC) usa a compressão do Layer I em 192 kbits/s por canal.
O Layer II tem uma complexidade intermediária e é utilizada para taxas de bit em torno de 128 kbits/s por canal. As aplicações possíveis para esta camada incluem a codificação do áudio para Digital Audio Broadcasting (®) (DAB), para o armazenamento de seqüências vídeo-e-áudio sincronizadas no CD-ROM, e a extensão total do movimento de CD-INTERACTIVE, Video CD.
O Layer III é o mais complexo e oferece a melhor qualidade de áudio, particularmente para taxas de bit em torno de 64 kbits/s por canal. Esta camada é ótima para a transmissão de áudio ISDN.
Todas os três Layer são simples o bastante para permitir execuções num chip único e em tempo real do decodificador.
As seções seguintes exploram vários aspectos da compressão MPEG/áudio mais detalhadamente.
2. O Banco De Filtro Polifásico
Esta seção dará uma introspecção do comportamento do banco de filtro polifásico de MPEG/áudio, apresentando uma examinação do banco de filtro na análise do codificador. Uma análise similar aplica-se ao banco de filtro da síntese do decodificador.
O banco de filtro polifásico é o componente chave comum a todos os Layers de compressão MPEG/áudio. Este banco de filtro divide o sinal de áudio em 32 subbandas da freqüência de igual largura. Os filtros são relativamente simples e fornecem boa definição do tempo, com razoável definição da freqüência. O projeto é um acordo com três concessões notáveis: primeiramente, as larguras iguais das subbandas não refletem exatamente o comportamento dependente da freqüência do sistema auditivo humano. A largura "de uma faixa crítica" em função da freqüência é um bom indicador deste comportamento. Muitos efeitos psicoacústicos são consistentes com uma escala crítica da faixa de freqüência.
Por exemplo, o barulho de um sinal e sua audibilidade na presença de um sinal mascarador são diferentes comparando-se sinais dentro de uma faixa crítica e sinais que se estendem sobre mais de uma faixa crítica. A figura 1 compara as larguras de faixa polifásicas do filtro com a largura destas faixas críticas. Em freqüências mais baixas uma única subbanda cobre diversas faixas críticas. Nesta circunstância o número de bits do quantizador não pode especificamente ser ajustado para mascarar o ruído disponível para as faixas críticas individuais.
Figura 1 - Bandas do Banco de Filtro MPEG/áudio e Larguras de Bandas Críticas
3. Codificação e decodificação
A figura 2 mostra um diagrama com a descrição funcional do algoritmo MP3, desde a entrada do sinal de áudio PCM até a saída com o áudio codificado.
Seqüência de bits MP3
Figura 2 - Descrição funcional do algoritmo MP3
3.1 Codificação MP3
O diagrama de blocos da figura 3 mostra os diferentes blocos que formam um codificador MPEG1-layer III (MP3).
Seqüência de bits mp3
Figura 3 - Subsistema padrão de codificação MP3
O banco de filtros (ver item 2 - O Banco de Filtro Polifásico) é o coração da codificação MP3, ele quebra o sinal PCM de entrada em 32 subbandas de freqüência igualmente espaçadas dependendo da freqüência de Nyquist do sinal original.
Por exemplo: se a freqüência de Nyquist do sinal for 24kHz o banco de filtros irá dividir o sinal em 32 partições de aproximadamente 750Hz (32 x 750=24000).
A menor subbanda do sinal codificado conterá as componentes do sinal original de 0 a 750Hz, a próxima conterá os componentes de 750 a 1500 Hz e assim sucessivamente.
Após a saída deste banco de filtros uma subamostragem será realizada e em seguida será aplicada uma transformada discreta de cosseno modificada (MDCT) de dezoito pontos nas 32 subbandas de sinal.
A subamostragem reduz a quantidade de dados requeridos para a recuperação do sinal original porque retém somente cada 32a amostra (fator de subamostragem 32). Contudo, a quantidade total de dados requeridos para a recuperação do sinal permanece a mesma porque existem 32 subbandas ao todo.
EX: Para um sinal original com 100 amostras, o banco de filtros cria 32 subbandas, cada uma com 100 amostras. Isto aumenta o número de amostras para 3200 (100 x 32). Após a subamostragem, o número de amostras fica reduzido a 100 novamente.
A MDCT (transformada discreta de cosseno modificada) aumenta a precisão do banco de filtros porque quebra cada uma das subbandas em 18 outras subbandas formando um total de 576 (32 x 18) subbandas. Ao mesmo tempo, como indicado no diagrama de blocos, um modelo psicoacústico é aplicado ao sinal de entrada para determinar quais as bandas de freqüência que deverão permanecer no sinal para que ele possa posteriormente ser recuperado.
O modelo psicoacústico (ver item 4 - Modelo Psicoacústico) se vale da propriedade de mascaramento que é característica do ouvido humano, para identificar componentes desnecessários presentes no sinal original.
O modelo psicoacústico fornece dados sobre estes componentes espúrios para o codificador. O codificador usa os dados provenientes do modelo psicoacústico para decidir como codificar as 576 subbandas de sinal.
Para alcançar a compressão o codificador ignora as subbandas que são completamente mascaradas por outros componentes do sinal.
Além disso, as bandas parcialmente mascaradas são codificadas com menor precisão que as subbandas dominantes. Estes dois métodos permitem que o codificador comprima os dados a um fator de 12:1 em formato PCM com a mínima perda de qualidade.
Por fim, um sistema de formatação irá agrupar a saída do codificador numa seqüência de dados de acordo com as especificações inclusas na norma MPEG-1.
3.2 Decodificação Mp3
O subsistema de decodificação interpreta uma seqüência de bits MP3 e reconstrói o sinal original.
O processo de decodificação é menos trabalhoso que o processo de codificação.
Seqüência de bits MP3
Figura 4 - Diagrama de blocos do Decodificador
O primeiro bloco é o extrator de seqüência de bits. Ele recupera as subbandas de sinal escolhidas pelo codificador e fornece esta informação para um sistema inverso da transformada discreta de cosseno modificada (IMDCT), que consolida as 576 subbandas de freqüência novamente para 32 subbandas de freqüência geradas pelo banco de filtros do codificador.
Todas as subbandas geradas pelo IMDCT são processadas por um superamostrador (upsampler) que aumenta o número de amostras do sinal adicionando 31 amostras de magnitude zero para cada amostra gerada pelo IMDCT.
A superamostragem ou upsampling é necessária para gerar um sinal de saída de mesma largura de banda que o sinal de entrada.
Em seguida as subbandas são processadas pelo banco de filtros de reconstrução,
que elimina a distorção causada pelo processo de superamostragem.
Finalmente, as 32 subbandas são reagrupadas para gerar um único sinal PCM. Idealmente este sinal deveria ser idêntico ao sinal de áudio original.
No desenvolvimento do software de decodificação, o bloco componente mais importante é o extrator. É importante se obter uma função de extrator de seqüência de bits eficiente porque todos os componentes do sistema dependerão da precisão destes dados para trabalharem corretamente.
A obtenção deste algoritmo é recursiva em função da arquitetura não-usual dos frames de dados MP3.
3.3 Estrutura Dos Quadros Mp3
Uma seqüência de bits MP3 que será o sinal de entrada do nosso sistema de decodificação é composta de quadros ou frames.
Figura 5 - Formato dos frames de dados MP3
Cada quadro de dados MP3 possui os mesmos campos básicos: um header de 32 bits, um CRC - cyclic redundancy check ou verificador cíclico de redundância de 16 bits que é opcional, uma certa quantidade de informação misturada de frames laterais e por fim o dado codificado.
O header indica que tipo de dado está sendo processado (estéreo ou mono), a taxa de bits e a localização inicial do dado codificado.
O campo CRC geralmente é incluído, com isso o decodificador pode verificar se os frames de dados foram ou não corrompidos. O software de decodificação irá comparar o valor do CRC recebido com o valor do CRC do frame de dados, se o número não for coincidente indica que os dados foram corrompidos e, portanto o frame em questão será ignorado.
As complicações aumentam porque o codificador pode colocar em um frame informações de frames adjacentes misturadas num frame presente.
Um frame menos dominante requer menos dados para codificar, portanto sobra espaço no campo de dados deste frame, que o codificador preenche com dados do frame adjacente, que é mais dominante. Isto ocorre quando um frame com componente menos dominante é posto em seqüência a um frame mais dominante.
Este processo pode se tornar um tanto complicado, como na figura 5.
Após o extrator de seqüência de bits, vem o bloco de IMDCT e os bancos de filtros de reconstrução, que são programados em forma matricial.
O algoritmo MPEG/áudio comprime os dados de áudio em partes amplas através da remoção das partes acústicas irrelevantes do sinal de áudio, isto é, este algoritmo aproveita-se da incapacidade do sistema auditivo humano de escutar ruídos de quantização sob condições de "disfarce" auditivo. Este disfarce é uma propriedade de percepção do sistema auditivo humano que acontece quando a presença de um forte sinal de áudio a uma dada frequência encobre sinais mais fracos de frequências diferentes. O sistema auditivo humano tem uma resolução limitada e geralmente é capaz de perceber sons em frequências variando de 20 a 20000 Hz.
Devido à dependência da freqüência do sistema auditivo humano, o mínimo disfarce do ruído a qualquer freqüência dada é somente dependente da energia do sinal com uma largura de banda limitada ao redor daquela freqüência. A figura 5 ilustra esta propriedade. MPEG/áudio opera dividindo-se o sinal de áudio em subbandas da freqüência que se aproximam das bandas críticas, e então quantizando cada subbanda de acordo com a audibilidade de quantização do ruído com aquela banda. Para a compressão mais eficiente, cada banda deve ser quantizada com não mais níveis que o necessário para fazer a quantização do ruído inaudível.
4.1 O Modelo Psicoacústico
O modelo psicoacústico analisa o sinal de áudio e computa a soma dos mascaramentos de ruído disponíveis como uma função da freqüência. A habilidade do mascaramento de um dado componente do sinal depende da posição da freqüência e sua intensidade. O codificador usa esta informação para decidir como melhor representar o sinal de áudio de entrada com seu número limitado de bits de código. O padrão MPEG/áudio fornece 2 exemplos de modelo de implementação psicoacústica. O modelo 1 é menos complexo que o segundo e tem mais compromisso em simplificar os cálculos. Os 2 modelos trabalham para qualquer Layer de compressão. Entretanto, apenas o modelo 2 inclui modificações específicas para acomodar o Layer III e, portanto, este será o modelo abordado neste documento.
Há uma liberdade considerável na implementação do modelo psicoacústico. A precisão requerida do modelo é dependente do fator de compressão e da aplicação pretendida.
A seguir tem-se um esboço geral dos passos básicos envolvidos nos cálculos psicoacústicos para o modelo 2:
• Tempo de alinhamento dos dados de áudio: Há uma avaliação psicoacústica por frame. Os dados de áudio enviados ao modelo psicoacústico devem estar coexistindo com os dados de áudio a serem codificados. O modelo psicoacústico deve responsabilizar-se por ambos os atrasos dos dados de áudio através do banco de filtro e um offset de dados de forma que os dados relevantes são centrados com a janela de análise psicoacústica.
• Conversão do áudio para uma representação no domínio da freqüência: O modelo psicoacústico deve usar um mapeamento de tempo para freqüência separado e independente no lugar de um banco de filtro polifásico porque ele necessita de uma resolução mais fina para um cálculo exato de mascaramentos mínimos.
O modelo psicoacústico 1 usa uma janela de análise com 512 amostras para o Layer I e uma janela com 1024 amostras para os Layers II e III. Como existem apenas 384 amostras num frame Layer I, uma janela com 512 amostras fornece a cobertura adequada. Aqui, o pequeno tamanho da janela reduz o ônus computacional. Layers II e III usam um tamanho de frame de 1152 amostras, então a janela com 1024 amostras não fornece uma cobertura completa. Enquanto idealmente a janela de análises deve cobrir completamente as amostras a serem codificadas, uma janela com 1024 amostras é um termo comum razoável. As amostras que ficam fora da janela de análise geralmente não têm uma influência importante na avaliação psicoacústica.
O modelo psicoacústico 2 usa uma janela com 1024 amostras para todos os layers. Para o Layer I, o modelo centra um frame de 384 amostras de áudio na janela psicoacústica como previamente discutido. Para os Layers II e III, o modelo computa 2 cálculos psicoacústicos de 1024 amostras para cada frame. O primeiro cálculo centra metade das 1152 amostras na janela de análise e o segundo cálculo centra a segunda metade. O modelo combina os resultados dos 2 cálculos usando a maior das 2 relações sinal-para-máscara para cada subbanda. Isto, de fato, seleciona o menor dos 2 disfarces mínimos de ruído para cada subbanda.
• Valores espectrais do processo em agrupamentos relacionados às larguras de banda críticas: Para simplificar os cálculos psicoacústicos, ambos os modelos processam os valores de freqüência em quantidades perceptíveis.
• Separação dos valores espectrais em componentes de tom e sem tom: Ambos os modelos identificam e separam os componentes de tom e ruído do sinal de áudio porque as habilidades de disfarce dos 2 tipos de sinais são diferentes.
O modelo psicoacústico 2 nunca separa componentes de tom e sem tom. Em vez disto, ele computa um índice de tonalidade vocal como uma função da freqüência. Este índice dá uma escala se o componente é mais para tom ou mais para ruído. O índice de tonalidade é baseado na medição de possibilidade de previsões. Este modelo usa os dados das 2 janelas de análises anteriores para "adivinhar", via interferência linear, os valores dos componentes para a janela atual. Os componentes de tom são mais previsíveis e dessa forma terão maior índice de tonalidade. Devido a este processo depender de mais dados, é mais apropriado para discriminação entre componente de tom e sem tom do que o método do modelo 1.
• Aplicação de uma função de expansão: A habilidade do disfarce de uma dado sinal se estende através da banda crítica que o envolve. O modelo determina o mínimo disfarce de ruído através da primeira aplicação de um disfarce determinado de forma empírica (modelo 1) ou função de expansão (modelo 2) para os componentes do sinal.
4.1.1 Um Exemplo de Análise do Modelo Psicoacústico
Esta seção dá um exemplo ilustrativo da análise usada pelo modelo psicoacústico. A figura 6 é um gráfico espectral do exemplo do sinal de áudio a ser analisado e comprimido psicoacusticamente. O sinal consiste de uma combinação de um tom senoidal forte de 11250 Hz, com um ruído passa-baixa.
Figura 6 - Entrada de áudio
4.1.2 Exemplo para Modelo Psicoacústico 2
A figura 7a mostra o resultado da transformação do sinal de áudio para o domínio de percepção e então é aplicada a função de expansão. Note a mudança do pico da senóide e a expansão da distribuição do ruído passa-baixa. A transformação de percepção expande a região de baixa freqüência e comprime a região de alta freqüência. A figura 8 mostra um gráfico das funções de expansão. A figura 7b mostra o índice de tonalidade para o sinal de áudio como computado pelo modelo psicoacústico 2. A figura 9a mostra um gráfico do macaramento mínimo como computado pelo modelo baseado na energia de expansão e no índice de tonalidade. A figura 9b é um gráfico destes resultados e a figura 9c é um gráfico da freqüência de um sinal de áudio processado usando as SMR's.
Figura 7a - Energia de áudio e energia de expansão no domínio de percepção
Figura 7b - Índice de tonalidade
Figura 8- Função de expansão para cada partição (modelo psicoacústico 2)
Figura 9a - Energia do sinal original e disfarces mínimos computados
Figura 9b - Relações sinal-ruído
Figura 9c - Energia do áudio codificado (64 kbits/s)
5. Opções de Codificação dos Layers
O padrão MPEG/áudio tem 3 layers distintos para compressão. Layer I forma o algoritmo mais básico enquanto que os Layers II e III são melhorados, usando alguns elementos encontrados no Layer I. Cada layer sucessivo aprimora a performance de compressão mas ao custo de grande complexidade do codificador e do decodificador. Cada fluxo de bits MPEG/áudio contém cabeçalhos periódicos de frame espaçados para identificar o fluxo de bits. A figura 10 dá uma representação da sintaxe do cabeçalho. Um campo de 2 bits no cabeçalho MPEG identifica o layer em uso.
Figura 10 - Sintaxe do cabeçalho MPEG
5.1 Layer I
O algoritmo do Layer I codifica o áudio em frames de 384 amostras de áudio, através do agrupamento de 12 amostras de cada uma das 32 subbandas, como mostrado na figura 11. Além do código para os dados de áudio, cada frame contém um cabeçalho, um opcional Cyclic Redundancy Code (CRC) error check word, e possivelmente dados subordinados. Cada grupo de 12 amostras recebe uma distribuição de bits e, se esta distribuição não for zero, um fator de escala. A distribuição dos bits conta ao codificador o número de bits usados para representar cada amostra. Para o Layer I esta distribuição pode ser de 0 até 15 bits por subbanda. O fator de escala é um multiplicador cujos tamanhos das amostras fazem uso total da faixa do quantizador. Cada fator de escala tem uma representação de 6 bits. O decodificador multiplica a saída decodificada com o fator de escala para recuperar o valor da subbanda quantizada. A faixa dinâmica dos fatores de escala sozinhos é acima de 120 dB. A combinação da distribuição de bits e o fator de escala fornecem a capacidade para se representar as amostras com uma faixa dinâmica acima de 120 dB.
Figura 11 - Agrupamento das amostras de subbanda para Layers I,II e III
5.2 Layer II
O algoritmo do Layer II é um aprimoramento direto do Layer I. Ele codifica os dados de áudio em grupos largos e impõe algumas restrições nas possíveis distribuições de bits para valores das médias e altas subbandas. Ele também pode representar a distribuição dos bits, os valores do fator de escala, e as amostras quantizadas com um código mais compacto. Com Layer II se consegue melhor qualidade de áudio salvando os bits nestas áreas já que mais bits de código são disponíveis para representar os valores de subbanda quantizados.
O codificador Layer II forma frames de 1152 amostras por canal de áudio. Enquanto que Layer I codifica os dados de entrada em grupos únicos de 12 amostras para cada subbanda, Layer II codifica os dados de entrada em 3 grupos de 12 amostras para cada subbanda. A figura 11 também mostra este agrupamento. O codificador usa um fator de escala diferente para cada grupo de 12 amostras apenas se necessário para evitar distorção audível. O codificador distribui os valores de fator de escala entre 2 ou todos os 3 grupos em 2 outros casos. Um, quando os valores dos fatores de escala são suficientemente próximos. Dois, quando o codificador antecipa que o disfarce de ruído temporário pelo sistema auditivo humano ocultará qualquer distorção causada pelo uso de apenas 1 fator de escala no lugar de 2 ou 3.
5.3 Layer III
Embora baseado no mesmo banco de filtro encontrado nos Layers I e II, o algoritmo do Layer III é muito mais refinado. O Layer III compensa por algumas deficiências do banco de filtros através do processamento de filtros de saída com uma Transformada do Cosseno Discreto Modificado (MDCT). A MDCT subdivide as saídas das subbandas em freqüências para fornecer uma melhor resolução espectral. Além disto, uma vez que os componentes das subbandas são subdivididos em freqüência, o codificador Layer III pode cancelar parcialmente algumas sobreposições causadas pelo banco de filtros polifásico.
Layer III especifica 2 diferentes blocos MDCT: um bloco longo de 18 amostras ou um bloco curto de 6 amostras. Há um overlap de 50% entre janelas de transformação sucessivas se o tamanho da janela é 36 e 12, respectivamente. O tamanho do bloco longo permite uma resolução de freqüência notável para sinais de áudio com características estacionárias enquanto que o comprimento do bloco curto fornece uma melhor resolução de tempo para transientes. Note que o comprimento do bloco curto é um terço do bloco longo. No modo do bloco curto, o número de amostras MDCT por frame de amostras de áudio é imutável, apesar da seleção de tamanho do bloco. Para um frame de amostras de áudio dado, as MDCT's podem ter todos os blocos com o mesmo tamanho (longo ou curto) ou ter um modo de bloco misto. Neste modo de bloco misto, as MDCT's para as 2 subbandas de frequências mais baixas possuem blocos longos e as MDCT's para as 30 subbandas superiores possuem blocos curtos.
A troca entre os blocos longo e curto não é instantânea. A figura 12 mostra como é a transição das janelas MDCT entre os modos de blocos longo e curto.
Figura 12 - Disposição da sobreposição das janelas MDCT
Devido ao processamento MDCT de um sinal de subbanda fornecer melhor resolução de freqüência, consequentemente tem uma péssima resolução do tempo.
Além do processamento MDCT, outros aprimoramentos sobre os algoritmos dos Layers I e II incluem:
• Layer III especifica um método de processamento dos valores MDCT para remover alguns artefatos causados pela sobreposição de bandas do banco de filtro polifásico.
• Bandas de fator de escala: diferentemente dos Layers I e II, onde pode haver um fator de escala diferente para cada subbanda, o Layer III usa bandas de fator de escala. Estas bandas cobrem vários coeficientes MDCT e têm larguras de banda críticas aproximadas. No Layer III os fatores de escala servem para colorir o ruído de quantização para ajustar os contornos da freqüência variante do disfarce mínimo. Os valores para estes fatores de escala são ajustados como parte do processo de disposição do ruído.
Algumas performances típicas de dados do MP3 são:
Qualidade Som |
Comprimento de banda |
Modo |
Bitrate |
Razão de redução |
som de telefone |
2.5kHz |
mono |
8kbps |
96:1 |
melhor q ondas curtas |
4.5kHz |
mono |
16kbps |
48:1 |
melhor q rádio AM |
7.4kHz |
mono |
32kbps |
24:1 |
similar a rádio FM |
11kHz |
estéreo |
56 ... 64kbps |
26 ... 24:1 |
próximo de CD |
15kHz |
estéreo |
96kbps |
16:1 |
CD |
> 15kHz |
estéreo |
112 ... 128kbps |
14 ... 12:1 |
FIGURA 13 - performances
Em todos testes internacionais, o padrão MP3 provou sua performance superior, mantendo a qualidade original do som com uma redução de dados de 1:12 (em torno de 64kbits/s por canal de áudio). Se algumas aplicações tolerarem um comprimento de banda reduzido em torno de 10kHz, uma qualidade razoável de som estéreo pode ser obtida com uma compressão de até 24:1.
Para que se possa simplesmente ouvir músicas em MP3, basta ter um programa decodificador.
No PC pode-se usar o WinAmp, o mais popular de todos. Atualmente ele é Freeware (pode ser utilizado gratuitamente) e pode ser baixado do site http://www.winamp.com. Além de decodificar arquivos MP3 o WinAmp pode ser utilizado para data streaming e ouvir músicas on-line.Para transformar uma música de CD para MP3 é necessário um programa ripper, que transforma as músicas de CD em um arquivo no disco rígido. Depois, deve-se usar um programa codificador, que transformará o arquivo do disco rígido (geralmente um wave do windows) para um arquivo com os dados MP3.
Este trabalho teve como objetivo mostrar as bases da compressão de áudio, de forma que o leitor possa ter uma idéia sobre como é possível reduzir tanto a quantidade de informações digitais disponíveis em um arquivo de áudio. O MP3 é interessante também pelo fato de que um sinal de áudio contém muita informação inútil que pode ser descartada através das técnicas descritas.
É importante ressaltar que o desenvolvimento de padrões de compressão de áudio é constante, como, por exemplo, já existe o VQF, sendo que o este tem a fama de comprimir mais um arquivo do que o MPEG através da utilização de taxas de amostragem ligeiramente mais baixas sem perder qualidade em termos auditivos. É claro que algumas amostras/s a menos podem representar vários kb em termos de tamanho final de arquivo.
Outro formato bastante difundido na Internet é o Real Audio, mas ele é mais utilizado para baixas taxas de amostragem e, portanto, em streaming pela internet.
E o MP3, sendo muito popular, vai continuar gerando muitas polêmicas com relação a direitos autorais. Mas isso é assunto para um trabalho de Direito.
1 Davis Yen Pan: Digital Audio Compression,Digital Technical Journal Vol. 5 No. 2, Spring 1993