UNIVERSIDADE FEDERAL DO PARANÁ

DISCIPLINA DE PROCESSAMENTO DIGITAL DE SINAIS

PROF.: EDUARDO PARENTE

ALUNOS:    DANILO MACHADO MIRANDA

                LEO FERNANDO KRAPPE

                MARCELO DE PAULA MACHADO

                MAURICIO WALTER BERTOGLIO

 

Introdução

Características da Audição Humana

Codificadores por Forma de Onda e Perceptuais

Descrição do Algoritmo

Conclusões

 

 

 

Introdução

O som que o ouvido humano detecta é basicamente mudanças na pressão do ar. Podemos ouvir freqüências de 20 Hz a 20 kHz. Essa é a faixa de áudio que é interessante salvar, para depois reproduzir o som original e a pressão do ar. Salvar o áudio digitalmente tem sido muito comum ultimamente, principalmente devido à popularização do formato CD introduzido pela Philips em 1982. O formato digital tem muitas vantagens comparado com o analógico, tais como melhor qualidade de áudio, facilidade de processamento e menor consumo de largura de banda. Alem disso, o fato de que os computadores e redes digitais não podem usar som analógico torna o áudio digital num requisito.

Áudio codificado a uma freqüência de amostragem de 44.1 kHz, 16 bits por amostra, estéreo (qualidade de CD) usa 44100x16x2 = 1.411.200 bits por segundo. Isto significa que para transmitir tal arquivo por uma rede, é necessária uma largura de banda de 1,41 Mbits/s. Uma música de três minutos (180 segundos) de áudio nestas condições usa 180x44100x16x2 = 254.016.000 bits, ou mais de 30 MB de armazenamento no computador. Estes dois exemplos dão uma idéia da importância da compressão de som.

O sistema MP3 aproveita, além das técnicas habituais de compressão, o conhecimento das imperfeições ou limitações na audição, para eliminar certas informações sem afetar o que ouvimos, conseguindo assim níveis de compressão de até 12 vezes.

 

Características da Audição Humana

A audição humana não é perfeita. Além das limitações físicas do ouvido, depois o som tem que viajar através dos nervos até o córtex auditivo do cérebro onde ele é transformado em diferentes percepções das quais tomamos consciência.

Sonoridade (Loudness):

Dois sons com a mesma amplitude podem ser percebidos com distinta intensidade dependendo das freqüências que têm. A percepção da intensidade de um som não é constante com a freqüência. Observando a curva da seguinte figura vemos que o ouvido humano tem maior sensibilidade ao som entre os 1000 e os 5000 Hz. Todos os pontos da curva são percebidos com a mesma sonoridade (loudness), mas a pressão sonora necessária não é constante com a freqüência.

Figura 1: Sonoridade (loudness) percebida pelo ouvido humano.


Alcance de Freqüências

O ser humano pode perceber sons na faixa de freqüências de 20 Hz a 20 kHz devido às limitações físicas do ouvido. O alcance de freqüências muda com a idade, perdemos a habilidade de ouvir as freqüências mais altas ao envelhecer.
 
 

Alcance Dinâmico

A menor variação de pressão do ar que um humano pode detectar (20 micro Pascal) medido nas freqüências onde somos mais sensíveis, é usada como referência (0 dB) para medir a intensidade de outros sons.

Potência em dB (decibéis) = , onde P é a potência sendo considerada e é a potência correspondente a 20 micro Pascal.

Uma conversa normal fica entre 50-60 dB e som do trânsito de carros é aproximadamente de 80 dB. O máximo som que o ouvido pode tolerar é de 130 dB, o que dá um alcance dinâmico de 0 a 130 dB.
 

Mascaramento Auditivo

O mascaramento auditivo é definido como a "audibilidade diminuída de um som devido à presença de outro". O mascaramento auditivo consiste de mascaramento em freqüência e mascaramento temporal:

Mascaramento em Freqüência: também chamado mascaramento simultâneo é explicado melhor com um exemplo. Se tem um som forte com uma freqüência de 1000 Hz, e também um som na freqüência de 1100 Hz que está a 18 dB por baixo do anterior, o som de 1100 Hz não pode ser ouvido porque está sendo mascarado pelo som mais forte de 1000 Hz. Isto ocorre porque o som de 1000 Hz é mais forte e está perto em freqüência. Quanto mais perto em freqüência estão, mais fortes são os sons que podem ser mascarados pelo som mais forte. (Figura 2)

Mascaramento Temporal: ocorre antes e depois de um som forte. Se um som é mascarado depois de um som mais forte é chamado pós-mascaramento, e se é mascarado antes em tempo é chamado pré-mascaramento. O pré-mascaramento existe só por um curto momento (20 ms). O pós-mascaramento tem efeito até por 200 ms. (Figura 3).

Explorando ambos os mascaramentos (em freqüência e temporal) é possível reduzir substancialmente a informação de áudio, sem uma mudança audível. (Figura 4).


Figura 2: Mascaramento em Freqüência

Figura 3: Mascaramento temporal

Figura 4: Mascaramentos em freqüência e temporal combinados.



Redundância Estereofônica

O fato do ouvido humano não poder detectar a direção das baixas freqüências é chamado Redundância Estereofônica.

Todas estas imperfeições, ou limitações na audição, fazem possível jogar fora certa informação de áudio, sem afetar o que ouvimos.

 

Codificadores por Forma de Onda e Perceptuais

Existem dois tipos de codificadores de áudio. Temos primeiro os codificadores por forma de onda, os quais tentam reconstruir o sinal tão exatamente quanto seja possível depois de codificar e decodificar.

Os codificadores perceptuais não tentam manter o sinal exatamente como era antes da etapa de codificação e decodificação. Procuram assegurar que a saída seja percebida como o original pelo ouvido humano. Aproveitando conhecimentos sobre as propriedades do ouvido e as limitações da audição humana, o codificador perceptual elimina parte do sinal que nós não podemos perceber.

Quase todos os codificadores perceptuais transformam o som do domínio do tempo para o domínio da freqüência, e logo separaram as diferentes freqüências em sub-bandas. Depois, usa o seu conhecimento de como o ouvido funciona para eliminar informação não necessária. O efeito de mascacamento é o fenômeno auditivo mais habitualmente explorado.

Bons exemplos de codificadores perceptuais são todos os codificadores de áudio MPEG e o codificador ATRAC da Sony, usado nos seus sistemas MiniDisc.

Figura 5: Diagrama de Blocos de um sistema de codificação/decodificação perceptual.


O que é MPEG?

Motion Pictures Experts Group (MPEG) é um subgrupo de trabalho da International Standards Organization (ISO) que cria padões genéricos para compressão de áudio e vídeo digital. MPEG define a sintaxe do "stream" de bits de áudio e vídeo de baixa taxa de bits, e como decodificar ele. Os algoritmos para codificação não são especificados por MPEG. Isto significa que sempre é possível desenvolver novos métodos ou algoritmos para otimizar o uso dos bits em áudio digital, enquanto a sintaxe seja mantida. Isto é muito importante para futuras melhorias nos codificadores MPEG.

 


MPEG-1 Layer III

Em 1987, o Instituto Fraunhofer começou a trabalhar em codificação de áudio perceptual. Junto com outras companhias e indústrias, em 1993, obteve um poderoso algoritmo que foi padronizado como o MPEG-1 Layer III (IS 11172-3), mais conhecido como "mp3". A proliferação de material codificado de áudio MPEG na Internet tem mostrado um crescimento exponencial desde 1995, tornando ".mp3" o termo mais procurado em 1999.

Algumas das razões pelas quais MP3 é a principal ferramenta para a distribuição de áudio pela Internet são:
Padrão aberto: Qualquer pessoa interessada pode implementar o standard e o formato esta bem definido.
Disponibilidade de codificadores e decodificadores.
Existência de tecnologia de apoio: amplo uso de placas de som para computadores, computadores o suficientemente rápidos para rodar programas de codificação e decodificação de áudio e acesso rápido a Internet .
Espera-se também que MP3 tenha um impacto ainda maior na indústria fonográfica.

 


Codificação de Áudio MPEG-1 Layer III

Algumas características importantes do sistema são:

Flexibilidade:
Modos de operação:
Canal único.
Canal dual (dois canais independentes, por exemplo contendo versões de áudio em diferentes linguagens).
Estéreo (sem codificação de estéreo conjunto).
Estéreo conjunto (Joint stereo).
A técnica chamada de estéreo conjunto pode ser usada para fazer uma codificação combinada mais eficiente dos canais esquerdo e direito de um sinal estereofônico de áudio. Layer-3 permite ambas, a codificação estéreo "mid/side" e estéreo de intensidade. A técnica "mid/side" codifica os canais "mid" (meio) e "side" (lado) em vez de esquerdo e direito. Quando os canais esquerdo e direito são muito parecidos (pouca separação estéreo), o canal "side" contém muito pouca informação, economizando bits ou largura de banda. A codificação estéreo de intensidade permite taxas de bits mais baixas mas tem o perigo de mudanças no som. O código estudado neste trabalho, do projeto LAME, não permite o uso do estéreo de intensidade. No programa especificado no projeto LAME, o estéreo "mid/side" somente é usado quando a diferença entre os canais esquerdo e direito é menor que 5db.
Freqüência de amostragem:
32 Khz.
44.1 Khz (qualidade de CD).
44.8 Khz.
Taxa de bits:
O áudio MPEG não trabalha só a uma taxa fixa de compressão. A seleção da taxa de bits, dentro de certos limites, é deixada totalmente ao implementador ou operador do codificador. A mudança da taxa de bits pode ser feita de quadro a quadro, e junto com a tecnologia de "reservatório de bits" permite tanto codificação a taxa variável de bits como a qualquer taxa fixa dentro dos limites do padrão.
Uma das propriedades mais importantes do padrão MPEG é o princípio de minimizar a quantidade de elementos normativos nele. No áudio MPEG somente a representação dos dados (formato do áudio comprimido) e o decodificador são normativos. A codificação do áudio MP3 é deixada totalmente ao implementador do padrão.

 

Descrição do Algoritmo

Uma visão geral do algoritmo codificador de MP3 (MPEG-1 layer III) é descrita no diagrama de blocos da figura 6:


Figura 6

Os dados de áudio de entrada passam através de um banco de filtros que divide a entrada em múltiplas sub-bandas. A filtragem é feita em paralelo com a análise psico-acústica que determina a taxa sinal-a-mascara de cada sub-banda. O bloco de controle da distorção usa as taxas sinal-a-mascara para decidir como dividir o número total de bits de codificação disponíveis. Finalmente, as amostras quantificadas e codificadas são formatadas num "stream" de bits MPEG válido.

Banco de Filtros:

Sua função é separar o sinal de áudio em 32 sub-bandas. Estas sub-bandas estão igualmente separadas em freqüência, e não representam exatamente as bandas críticas do ouvido, mostradas na figura 7:

Figura 7: Bandas do Filtro de MPEG Audio e Bandas Críticas de Audição.

O ouvido tem uma seletividade de freqüência limitada que varia em precisão desde menos de 100 Hz para as freqüências audíveis mais baixas, até mais de 4 kHz para as mais altas. Assim, o espectro audível pode ser particionado em bandas críticas representando a seletividade do ouvido humano.

O processo layer III utiliza na saída do banco de filtros a Transformada Discreta Coseno Modificada (MDCT) para compensar a baixa precisão do banco de filtros.

Modelo Psico-acústico

O modelo psico-acústico é o que principalmente determina a qualidade de uma implementação dada do codificador. Ele tem duas tarefas a realizar. Decidir que tipo de bloco usar, e calcular a taxa sinal-a-máscara (valor do sinal na banda dividido pelo limiar de mascaramento).

Primeiro converte o áudio para o domínio espectral, usando a Transformada Rápida de Fourier (FFT) para obter uma boa resolução de freqüência para o cálculo correto dos limiares de mascaramento. A saída da FFT é primeiro usada para analisar que tipo de sinal está sendo processado. Um sinal estacionário faz com que o modelo escolha um bloco longo e um sinal mais transitório resulta em um bloco curto. O tipo de bloco é usado depois na parte da MDCT do algoritmo. Logo o modelo psico-acústico calcula o limiar de mascaramento mínimo para cada sub-banda. Estes valores são usados para calcular a taxa sinal-a-máscara (SMR). O modelo então passa a SMR para a seção de controle de distorção, quantificação e codificação para ser usada depois. A saída do modelo psico-acústico consiste dos valores para os limiares de mascaramento ou ruído permitido para cada sub-banda, as que são aproximadamente equivalentes às bandas críticas da audição humana. Existe ruído de quantificação num sinal digital, devido à existência só de um número limitado de valores discretos para representar o sinal original. Se o ruído de quantificação pode ser mantido por baixo do limiar de mascaramento para cada sub-banda, então o resultado da compressão não deveria ser distinguido do sinal original.

Quantificação e Codificação

Um sistema com dois laços de iteração aninhados é a solução habitual para a quantificação e codificação num codificador mp3. A quantificação é feita por um quantificador de lei de potência, de modo que os valores maiores são codificados automaticamente com menos exatidão.

Os valores quantificados são codificados por codificação Huffman. Para adaptar o processo de codificação a diferentes estatísticas locais dos sinais musicais, se seleciona uma tabela de Huffman ótima de um número de escolhas possíveis. Para ter uma melhor adaptação às estatísticas dos sinais, podem-se selecionar diferentes tabelas de Huffman para distintas partes do espectro de freqüências.

Dado que a codificação Huffman é basicamente um método de comprimento de código variável e o ruído de quantificação deve ser mantido por baixo do limiar de mascaramento, um valor de ganho global (que determina o tamanho do passo de quantificação) e fatores de escala (que determinam fatores da forma do ruído para cada banda) são aplicados antes da quantificação real.

O processo de achar o ganho e os fatores de escala de cada banda ótimos para um bloco, taxa de bits e saída a partir do modelo perceptual é feito pelo dois seguintes laços de iteração aninhados:
Laço de iteração interior (laço da taxa de bits)
O código de Huffman designa palavras de código mais curtas (mais freqüentes) a valores quantificados menores. Se o número de bits resultante da codificação excede o número dde bits disponível para codificar um bloque de dados, ele pode ser corregido ajustando o ganho global resultando em um passo de quantificação maior, conduzindo a valores quantificados menores. Esta operação é repetida até que a demanda de bits para a codificação Huffman seja o suficientemente pequena. O laço é chamado "de taxa de bits" porque modifica a taxa global do codificador até que ela seja o suficientemente pequena.
Laço de iteração exterior (laço de controle de ruído)
Para conformar o ruído de quantificação de acordo com o limiar de mascaramento, são aplicados fatores de escala a cada banda. O sistema começa com um fator de escala de 1.0 para cada banda. Se o ruído de quantificação numa banda dada for maior que o limiar de mascaramento (ruído permitido) de acordo com o modelo psico-acústico, o fator de escala para essa banda é ajustado para reduzir o ruído de quantificação. Dado que conseguir um ruído de quantificação menor requer um número maior de passos de quantificação e assim uma taxa de bits mais alta, o laço de ajuste de taxa dever ser repetido cada vez que são usados novos fatores de escala. Em outras palavras, o laço de taxa de bits esta aninhado dentro do laço de controle de ruído. O laço exterior (controle de ruído) é executado até que o ruído fique por baixo do limiar de mascaramento para cada banda crítica.
O laço interior sempre converge (no caso extremo, fazendo o passo de quantificação o suficientemente grande para zerar todos os valores espectrais).

O laço exterior pára quando alguma das seguintes condições se cumpre:

  1. Nenhuma das bandas tem demasiado ruído (o laço converge).
  2. A próxima iteração amplificaria uma das bandas mais do o que é permitido.
  3. Todas as bandas dos fatores de escala tem sido amplificadas pelo menos uma vez.


Formatação do "Stream" de Bits

O último passo no processo de codificação é produzir um "stream" de bits de acordo com o padrão MPEG.

O formatador de bits armazena o áudio codificado e alguns dados adicionais em quadros (frames), onde cada quadro contém informação de 1152 amostras de áudio por canal. Um quadro consiste de um cabeçalho e dados de áudio junto com teste de erros e dados subordinados opcionais. O cabeçalho descreve entre outras coisas, qual camada (layer), taxa de bits e freqüência de amostragem estão sendo usadas pelo áudio codificado.

Os dados codificados por Huffman e a sua informação colateral, são colocados na parte de dados de áudio, onde a informação colateral especifica que tipo de bloco, tabelas de Huffman e fatores de ganho das sub-bandas usar.

 

Conclusões

    A compressão de dados têm recebido muita atenção nos ultimos anos principalmente porque o poder de processamento de máquinas tem crescido muito mais do que a velocidade de transmissão de dados via Internet. Isto viabilizou pesquisas de algorítimos que apesar de sererm um tanto quanto complexos ajudam a minimizar problemas de transmição. O Mp3 se consagrou como tipo mais comum de compctação de audio visto que em relação a outros tipos de sua época era o que se obtia melhores resultados. O mesmo aconteceu com a compactação de fotos no formato JPEG e vídeo padrão DIVX.

      Novos padrões de compressão começam a se tornar populares como o WMA,  VQF e MP4 entre outros, com a promessa de reduzir ainda mais o tamanho do arquivo sem perda da qualidade sonora.  

 

Referências

[1] ISO/IEC International Standard IS 11172-3 "Information Technology - Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbits/s - Part 3: Audio"

[2] D. Y. Pan,"Digital Audio Compression", Digital Technical Journal Vol. 5/ No. 2, Spring 1993

[3] D. Y. Pan,"A Tutorial on MPEG/Audio Compression", Institute of Electrical and Electronics Engineers, 1996

[4] K. Brandenburg. MP3 AND AAC EXPLAINED. AES 17th. International Conference on High Quality Audio Coding, 1999.

[5] K. Brandenburg and Marina Bosi. Overview of MPEG audio: Current and future standards for low bit-rate audio coding. J. Audio Eng. Soc., 45(1/2):4 -21, January/February 1997.

[6] K. Brandenburg and G. Stoll. ISO-MPEG-1 Audio: a generic standard for coding of high quality digital audio. In N. Gilchrist and Ch. Grewin, editors, Col-lected Papers on Digial Audio Bit-Rate Reduction, pages 31 - 42. AES, 1996.

[7] F. Baumgarte. Evaluation of a Physiological Ear Model Considering Masking Effects Relevant to Audio Coding. 105th AES Convention, San Francisco, CA, September 1998.

[8] F. Baumgarte. A Physiological Ear Model for Auditory Masking Applicable to Perceptual Coding . 103rd AES Convention, New York, NY, September 1997.

[9] Painter, E. M., and Spanias, A. S.. A Review of Algorithms for Perceptual Coding of Digital Audio Signals. Department of Electrical Engeneering, Telecomunications Research Center - Arizona State University, Tempe, Arizona, 1997.