A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Compressão de áudio Márcio Dahia e Geber Ramalho"— Transcrição da apresentação:

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

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 Bitrates previstos
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 Critérios
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‏ Esta transformada, que passa as amostras de cada banda do domínio do tempo para o da frequencia, agrupa nos primeiros elementos muita informação e depois vão ficando com valores pequenos... Segundo o bitrate escolhido a codificação, as informações vão sendo descartadas pela ordem de relevância

23 PROCESSO DE COMPRESSÃO MP3

24 QUANTIZAÇÃO E CODIFICAÇÃ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 (E+D) /2 contém no máximo tanta info quanto E ou D. (E-D)/2 contém menos.

25 CODIFICAÇÃO DE HUFFMAN
Mensagem: aaaaaabbbcdee 104 bits (ASCII)‏ Mensagem comprimida 26 bits. TC = 75% Constroi a árvore de baixo para cima juntando os simbolos que tem menor ocorrência e colocando no nó soma das ocorrências. Depois, codifica para esquerda Zero e 1 para a direita. Este tipo de tecnica, em que se lê da esquerda para a direita, chama-se código de prefixo

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

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 A capacidade de processamento é melhor, então pode tratar mais amostras

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 Low complexity – máquinas ruins Scalable – extratificação por níveis de bitrate. Coloca tudo em uma “arquivão” e depois extrai só o que quer..

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)‏ Sistema de equações com 32 elementos com 32 variaveis. Vai mais finda na janela de tempo (elementos anteriores)

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 Depois de codificar com uma funcao, só manda a diferença que deu com relação ao previsto. Código rice = baseado em dois numeros N e M (m é numero magico) Unaria = codificacao da cadeia (preso) 23/16 = 1... Resultado 1 => 1 2 = > 11

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


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

Apresentações semelhantes


Anúncios Google