1 / 38

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

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.

india-keith
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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.

  4. 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

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

  6. 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

  7. 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).

  8. 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

  9. 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)‏

  10. 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

  11. Compressão com perdas MP3

  12. Processo de Compressão MP3 • Entrada no formato PCM • Processa 1152 amostras por vez por canal • Frames são codificados independentemente

  13. 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

  14. 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

  15. 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

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

  17. Mascaramento Temporal e Espectral

  18. Processo de Compressão MP3

  19. 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)‏

  20. 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

  21. Filtragem de sub-banda

  22. 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‏

  23. Processo de Compressão MP3

  24. 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

  25. Codificação de Huffman • Mensagem: • aaaaaabbbcdee • 104 bits (ASCII)‏ • Mensagem comprimida • 00000010101011101111110110 • 26 bits. TC = 75%

  26. Codificação de Huffman • É preciso conhecer a tabela (codebook) para decodificar • Os decocers MP3 já tem um codebook prédefinido

  27. Processo de Compressão MP3

  28. Encoding • http://upload.wikimedia.org/wikipedia/commons/0/01/Mp3filestructure.svg • http://www.mp3-tech.org/programmer/frame_header.html

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

  30. 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

  31. 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

  32. Compressão sem perdas FLAC

  33. Compressão sem perdas • Os compressores sem perdas, em geral possuem os seguintes passos • Exemplo: FLAC

  34. 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 Frames • Cabeç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

  35. 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

  36. Predição • Função matemática para tentar descrever o sinal • 4 funções existentes • Zero: prediz sempre zero. Resíduo = Entrada • Constante: Usado quando todas as amostras de uma canal possuem o mesmo valor, e.g., valor médio. • Preditor Linear Fixo: função linear com coeficientes fixos que prediz no máximo 4 amostras subseqüentes • 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)‏

  37. 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

  38. Codificação Residual • Por que Rice? • É ótimo para distribuições geométricas • Huffman 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

More Related