compressão de áudio márcio dahia e geber ramalho

38
Compressão de áudio Márcio Dahia e Geber Ramalho

Upload: internet

Post on 19-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compressão de áudio Márcio Dahia e Geber Ramalho

Compressão de áudioMárcio Dahia e Geber Ramalho

Page 2: Compressão de áudio Márcio Dahia e Geber Ramalho

O QUE É COMPRESSÃO DE DADOS?

Processo de codificação de mensagens a fim de reduzir o “espaço” necessário para representá-las (armazená-las, transmití-las)

2 tipos de compressão

Sem perdas Não há eliminação de informação na mensagem. Compressão implica codificação eficiente

Com perdas Informações redundantes, pouco importantes ou irrelevantes sob

algum critério são descartadas Não dispensa a codificação eficiente Grau de compressão x Distorção na mensagem

Page 3: Compressão de áudio Márcio Dahia e Geber Ramalho

POR QUE UMA CODIFICAÇÃO PARA ÁUDIO?

Porque custa caro armazenar e enviar

44.1 x 16 x 2 = 1.4Mbps + códigos de erro + cabeçalhos + etc.

Page 4: Compressão de áudio Márcio Dahia e Geber Ramalho

POR QUE FAZ SENTIDO UMA CODIFICAÇÃO ESPECÍFICA PRA ÁUDIO?

Teoria da Informação: Quanto maior o conhecimento sobre a mensagem, emissor e/ou receptor, melhor a compressão

Mp3 usa a modelagem psicoacústica para remover informações da irrelevantes Conhecimento sobre o receptor e a mensagem

FLAC usa a correlação entre os canais (E/D) e o comportamento do sinal para aumentar a compressão Conhecimento sobre o emissor e a mensagem

Page 5: Compressão de áudio Márcio Dahia e Geber Ramalho

EXEMPLO

*Taxa de Compressão(TC) = 1- (tamanho comprimido/tamanho original )

Page 6: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO DE ÁUDIO: HISTÓRICO

1988 : Criação Motion Pictures Expert Group (MPEG)

Padronização da codificação para transmissão e gravação de filmes

Imagem, seqüência de imagens (vídeo) e áudio Surgimento de novos conceitos e vocabulário

Frame, Codec, Bitrate Padronização do processo de decodificação

Apenas sugestão de compressão

Page 7: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO DE ÁUDIO: HISTÓRICO

1992: MPEG-1.

O padrão de codificação de áudio consistia em 3 modos de operação de acordo com o taxa de compressão (complexidade do processo de codificação)

As principais idéias foram sugeridas pela Fraunhofer Institut für Integrierte Schaltungen (IS 11172-3 e IS 13818-3).

Page 8: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO DE ÁUDIO: HISTÓRICO

1994: Surge Xiph.org: padrões aberto para transmissão e armazenamento de áudio e vídeo.

1996: Surge o ID3: Padrão de fato para de metadados no mp3

1997: MPEG-2: Advanced Audio Coding (AAC): Estado da arte em

compressão de áudio (melhorado em Mpeg-4) 2003: Surge FLAC

Page 9: Compressão de áudio Márcio Dahia e Geber Ramalho

CONCEITOS IMPORTANTES

• Codec (COder–DECoder)• Frames

– Estrutura de dados correspondente à unidade mínima de tempo em arquivos de áudio

– Mp3 => 1152 amostras PCM• Bitrate (taxa de bits): Número de bits p/ codificar um frame

• Medida em kbps

– CBR (constant bitrate) - A mesma quantidade de bits para representar qualquer frame (WAV)

– ABR (average bitrate) - Frames menos complexos deixam bits para os próximos (MP3)

– VBR (variable bitrate) - O número de bits para cada frame deve garantir a qualidade definida no início da codificação (MP3, AAC, VORBIS)

Page 10: Compressão de áudio Márcio Dahia e Geber Ramalho

DADOS

Frequências de amostragem previstas 32, 44.1 and 48 kHz

Bitrates previstos 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256

and 320 kbit/s

Page 11: Compressão de áudio Márcio Dahia e Geber Ramalho

COMPRESSÃO COM PERDASMP3

Page 12: Compressão de áudio Márcio Dahia e Geber Ramalho

PROCESSO DE COMPRESSÃO MP3

Entrada no formato PCM Processa 1152 amostras por vez por canal Frames são codificados independentemente

Page 13: Compressão de áudio Márcio Dahia e Geber Ramalho

MODELO PERCEPTUAL

Objetivo Analisar o que pode ser considerado redundante ou

irrelevante Critérios

Limiar de audibilidade Mascaramento de sons

Simultâneo Temporal

Boa parte dos critérios são avaliados no domínio da freqüência Transformada de Fourier

Page 14: Compressão de áudio Márcio Dahia e Geber Ramalho

LIMIAR DE AUDIBILIDADE

Um codificador perceptual compara o sinal de entrada com o limiar de audição e descarta os sinais que estão abaixo ou acima

Page 15: Compressão de áudio Márcio Dahia e Geber Ramalho

MASCARAMENTO

Quando dois sons ocorrem, o mais intenso pode ocultar o menos intenso Se estão próximos no espectro

Baixas freqüências mascaram as altas mais facilmente

Page 16: Compressão de áudio Márcio Dahia e Geber Ramalho

MASCARAMENTO

E se Se estão próximos no tempo (quase simultâneos) O mascaramento “antes” é menor do que o “depois”

Page 17: Compressão de áudio Márcio Dahia e Geber Ramalho

MASCARAMENTO TEMPORAL E ESPECTRAL

Page 18: Compressão de áudio Márcio Dahia e Geber Ramalho

PROCESSO DE COMPRESSÃO MP3

Page 19: Compressão de áudio Márcio Dahia e Geber Ramalho

ANÁLISE DE BANCO DE FILTROS

Objetivo: transformar o sinal para o domínio da freqüência para

evidenciar as redundâncias

Composto por 2 fases Filtragem em sub-bandas Transformada Discreta Modificada do Cosseno (MDCT)

Page 20: Compressão de áudio Márcio Dahia e Geber Ramalho

FILTRAGEM DE SUB-BANDA

Supostamente baseado no conceito de banda-critica regiões da membrana basilar

que estabelecem limites na percepção de freqüências

Porém 32 subbandas de mesma

largura Sem justificativa psicoacústica

36 amostras em cada sub-banda

Page 21: Compressão de áudio Márcio Dahia e Geber Ramalho

FILTRAGEM DE SUB-BANDA

Page 22: Compressão de áudio Márcio Dahia e Geber Ramalho

TRANSFORMA DISCRETA MODIFICADA DO COSSENO

As 36 amostras de cada banda são transformadas do domínio do tempo para o domínio da freqüência

Page 23: Compressão de áudio Márcio Dahia e Geber Ramalho

PROCESSO DE COMPRESSÃO MP3

Page 24: Compressão de áudio Márcio Dahia e Geber Ramalho

QUANTIZAÇÃO E CODIFICAÇÃO

Quantização As informações irrelevantes (detectadas na fase de

modelagem perceptual) são efetivamente retiradas O número de bits para cada banda é determinado

Codificação (joint stereo) Dissociação inter-canais (caso estéreo) Os Canais E e D são transformados em média (E+D)/2 e

lado (E-D)/2, no domínio da frequência

Codificação de Huffmann

Page 25: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO DE HUFFMAN

Mensagem: aaaaaabbbcdee 104 bits (ASCII)

Mensagem comprimida 00000010101011101111110110 26 bits. TC = 75%

Page 26: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO DE HUFFMAN

É preciso conhecer a tabela (codebook) para decodificar

Os decocers MP3 já tem um codebook prédefinido

Page 27: Compressão de áudio Márcio Dahia e Geber Ramalho

PROCESSO DE COMPRESSÃO MP3

Page 28: Compressão de áudio Márcio Dahia e Geber Ramalho

ENCODING

http://upload.wikimedia.org/wikipedia/commons/0/01/Mp3filestructure.svg

http://www.mp3-tech.org/programmer/frame_header.html

Page 29: Compressão de áudio Márcio Dahia e Geber Ramalho

METADADOS ID3

Padrão não prevê metadados Solução: Usar 128 bytes antes do primeiro frame (v1.0)

Page 30: Compressão de áudio Márcio Dahia e Geber Ramalho

AAC (ADVANCED AUDIO CODING)

Evolução do mp3 Fim da retro-compatibilidade com Layer I e II Codificação para até 48 canais De 576 para 1024 amostras por canal por frame De 36 para 48 sub-bandas Padrão para iPhone, iPod, iPad, Nintendo DSi, iTunes,

DivX Plus Web Player and PlayStation 3 Uso de codebooks

Tem um dicionário mais amplo, sequencias muito mais longas de eventos que podem uma subbanda, várias, etc.

Dissociação inter-frames Predição

Surgimento dos modos

Page 31: Compressão de áudio Márcio Dahia e Geber Ramalho

AAC: CURIOSIDADE

Diversos modos com complexidade variável MPEG-2 AAC LC / Low Complexity MPEG-2 AAC Main MPEG-2 AAC SSR / Scalable Sampling Rate MPEG-4 AAC LC / Low Complexity MPEG-4 AAC Main MPEG-4 AAC SSR / Scalable Sampling Rate MPEG-4 AAC LTP / Long Term Prediction MPEG-4 AAC HE / High Efficiency MPEG-4 AAC LD / Low Delay

Page 32: Compressão de áudio Márcio Dahia e Geber Ramalho

COMPRESSÃO SEM PERDASFLAC

Page 33: Compressão de áudio Márcio Dahia e Geber Ramalho

COMPRESSÃO SEM PERDAS

Os compressores sem perdas, em geral possuem os seguintes passos

Exemplo: FLAC

Page 34: Compressão de áudio Márcio Dahia e Geber Ramalho

BLOCKING

Separação do conteúdo em partes contíguas Tamanho pode variar de 16 a 64k amostras

valor fixo dependente da frequencia de amostragem e número de canais

Blocos possuem Sub-bloco Informações sobre um canal específico

Blocos são codificados em FramesCabeçalho

taxa de amostragem, resolução, CRC do frame etc. Os frames são independente entre si.

Sub-frame: contém o dado codificado e um header que indica a predição usada na compressão

Page 35: Compressão de áudio Márcio Dahia e Geber Ramalho

DISSOCIAÇÃO INTER-CANAIS

Remoção redundância de informação causada pela correlação entre os canais

Executa transformações e usa a melhor delas. Canais codificados independentemente Média-Lado (mid-side): Os Canais são transformados

em média (média dos 2 canais) e lado (canal esquerdo menos direito)

Esquerda-Lado/Direita-Lado: Codifica um canal (esquerda ou direita) e a diferença entre este e o canal não codificado. Geralmente, os melhores resultados

Page 36: Compressão de áudio Márcio Dahia e Geber Ramalho

PREDIÇÃO Função matemática para tentar descrever o sinal

4 funções existentes1. Zero: prediz sempre zero. Resíduo = Entrada2. Constante: Usado quando todas as amostras de uma

canal possuem o mesmo valor, e.g., valor médio.3. Preditor Linear Fixo: função linear com coeficientes fixos

que prediz no máximo 4 amostras subseqüentes4. Predição FIR Linear: filtro de até 32 estágios.

Acha a solução para o sistema de 32 equações 32 variáveis Algoritmo O(n2)

Page 37: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO RESIDUAL

Codificação da diferença (resíduo) entre o que foi predito e a entrada Utiliza o código Rice para codificar os resíduos de

predição (passo anterior) Dados um número N (de k bits) a ser codificado e um

número M (potencia de 2) que divide N, a codificação M é um “numero mágico” Rice (R) é representada por

A parte inteira é o número de uns e zero é separado e o resto é binário

<Unário(N div M)><Binário(N mod M)> Ex.: N=23 (10111) , m=16 R= 10111

Page 38: Compressão de áudio Márcio Dahia e Geber Ramalho

CODIFICAÇÃO RESIDUAL

Por que Rice?É ótimo para distribuições geométricasHuffman também é ótimo nessa distribuição, mas

difícil de decodificar (encontrar onde começa e termina cada código)

Para escolher M, FLAC utiliza 2 métodos Método 1: Baseando-se na variância do sinal

residual. O bloco inteiro é codificado com esse M. Método 2: Um bloco é dividido em várias partes de

tamanhos distintos. M é escolhido baseado na média do resíduo daquela parte específica