Compressão de Áudio Digital Joaquim Macedo Departamento de Informática da Universidade do Minho Sumário Princípios de Compressão Áudio Redundância Estatística Redundância Temporal Codificação perceptual áudio Normas de compressão áudio Norma de Compressão Áudio MPEG-1 Norma de Compressão Áudio MPEG-2 Normas de Compressão Áudio AC Comparação de Algoritmos de Compressão Formatos Áudio Exemplo 7.1 Queremos transmitir áudio estéreo em tempo real num canal de 56Kbps. Considere os seguintes cenários a) b) c) Usamos uma frequência de amostragem de 44.1KHz. Quantos bits podemos usar para cada amostra áudio? Usamos 16 bits/amostra/canal. Qual a máxima frequência de amostragem? O que podemos fazer para evitar o aliasing Queremos usar uma frequência de amostragem de 44.1 Khz e 16 bits/amostra/canal. Qual a razão mínima de compressão para transmitir o sinal áudio? Princípios de Compressão Áudio Redundância Estatística Redundância Temporal Correlação entre valores de amostras vizinhas Redundância inter-amostra Redundância do Conhecimento Mais bits para valores de amostra mais comuns Explorar conhecimento partilhado entre codificador e descodificador Ficheiros MIDI Propriedades do Sistema Humano de Audição Aumentar a qualidade subjectiva do sinal áudio Função Taxa de Distorção Teorema de Shannon para codificação da fonte sem erros Limite na compressão sem erros Fontes áudio naturais Compressão sem perdas máxima 2:1 Compressão com perdas usada na prática Obtenção de maior razão de compressão. Função Taxa de Distorção Codificador simples Débito D(dm) Codificador complexo Limite da teoria da informação distorção dm ^ dm E{d ( S , S )} ^ S vectorfonteoriginal S - vectorreconstruído dm - distorçãomédia E(x)- valoresperadode X Redundância Estatística Compressão de Texto Métodos de compressão eficientes baseados na entropia Pode-se usar a mesma abordagem na compressão de áudio Exemplo 7.2 Considere um sistema de aquisição áudio que tem 10000 amostras de áudio mono com resolução de 3 bits com níveis entre 0 e 7. O número de ocorrências para os oito níveis foram [700,900,1500,3000,1700,1100,800,300] Calcule e desenhe a função densidade de probabilidade para cada símbolo Calcule a entropia da fonte Solução p[0] = 700/10000 = 0.07 p[1] = 900/10000 = 0.09 p[2] = 1500/10000 = 0.15 p[3] = 3000/10000 = 0.30 p[4] = 1700/10000 = 0.17 p[5] = 1100/10000 = 0.11 p[6] = 800/10000 = 0.08 p[7] = 300/10000 = 0.03 H (0.07 * log2 0.07 0.09 * log2 0.09 0.15 * log2 0.15 0.30 * log2 0.30 0.17* log2 0.17 0.11* log2 0.11 0.08* log2 0.08 0.03* log2 0.03) 1.88 bits / sam ple Sinal chord.wav Audio Waveform (Chord) 180 Amplitude Fig. 7.3,pag.149 Fig. 4.14(a) 160 140 120 100 80 1 2001 4001 Samples 6001 Redundância Estatística O método de codificação baseado na entropia Não consegue altos níveis de compressão para a maioria dos sinais áudio Mas disponibiliza bom desempenho quando aplicado a coeficientes de transformada Norma MPEG-1 utiliza codificação baseada na entropia Codificação MU-LAW g f (g ) Compressor h f (g ) h Quantificador Uniforme h* g* g * f 1 ( h* ) h* g f 1 (h* ) Expansor h h* Codificação MU-LAW Caratcterísticas de E/S com 255 Exemplo 7.3 Considere o sinal áudio chord. Quantifique o sinal uniformemente com 8 bits, utilizando a compressão com mu=255. Expanda o sinal e calcule a relação sinalruído (SNR). Compare a SNR com a obtida com o exemplo 4.6 Redundância Temporal DPCM Differential Pulse Code Modulation No DPCM Uma amostra áudio é prevista com base nas amostras anteriores ^ ^ s n sn en sn s n O valor previsto é aproximado mas diferente do valor da amostra ^ M s n i sn' i 1 Fórmula usada pela técnica LPC(Linear Preditive Coding) Codificador DPCM Esquema simplificado Áudio original ^ en en Quantificador Sn ^ Sn S Previsor ´ n Codificador Áudio Compactado Descodificador DPCM Esquema simplificado ^ Descodificador Áudio Compactado en Áudio Reconstruído ^ Sn Previsor S ´ n DPCM M i 1 i , opt R( j i) R( j ) R ( j ), j 0,1,2,....é a função de aut ocorrelação dos dados da amost rade ent rada N R ( j ) sm * sm j m 1 Exemplo 7.4 Considere o sinal áudio chord. Determine o conjunto óptimo de coeficientes de previsão de 1ª,2ª e 3ª ordem. Erros de previsão DPCM Depois de obtida o erro da sequência en É codificado para reconstruir o sinal perfeitamente Na codificação com perdas uma qualidade de reconstrução razoável é aceitável A quantificação é a única operação na codificação DPCM que introduz ruído Exemplo 7.5 As 4 primeiras amostras duma sequência digital áudio são [70,75,80,82,...]. São necessários no mínimo 7 bits para codificar cada uma das amostras. As amostras áudio são codificadas usando o DPCM usando o previsor de primeira ordem. Os coeficientes de erro de predição são quantificados por 2 e arredondados para o próximo inteiro e armazenados sem perdas. Determine o número aproximado de bits necessários para representar cada amostra e o erro reconstruído em cada instância de amostra. Codificação DPCM vários passos para a sequência [70,75,80,82,...] Instâncias de amostras 0 1 2 3 70 75 80 82 0 75-67.9=6.4 80-73.6 =6.4 82-77.2 =4.8 Erro do sinal quantificado 0 7.1/2=4 6.4/2=3 4.8/2=2 Erro reconstruído 0 4*2=8 3*2=6 2*2=4 70 67.9+8=75.9 73.6+6= 79.6 77.2+4= 81.2 Sinal original Erro do sinal Sn en Sinal reconstruído Sn´ Sinal previsto para próxima ^ amostra S n 70*0.97=6 75.9*0.97=73.6 7.9 79.6*0.97= 77.2 81.2*0.97 =78.8 Erro de reconstrução 0 -0.9 0.4 0.8 Nº de bits necessários 7 3 2 2 Sound Pressure Level Codificação do Áudio Perceptível Masking Threshold 6 bits 4 bits 3 bits Threshold of hearing P Q R Frequency S T U V Codificação do Áudio Perceptível Signal Level Signal Level H Band 1 Average Level Masking Level L H Band 2 Masking Level L Average Level Band 3 Signal Level Signal Level H Average Level Masking Level L H L Band 4 Masking Level Average Level Normas de Compressão Áudio Codificadores áudio de baixo débito Para telefone ITU-G.711 ITU-G.722 Defeito para ISDN 8000 amostras/seg, 8 bits/amostra Usam u-law e A-law companding Áudio de maior fidelidade Codifica 7KHz em 64Kbit/seg ITU-G.729 Voz a 8 KHz Usa uma estrutura conjugada Algebraic-Code-excited, Linear Prediction Agorithm Normas de Compressão Áudio Codificadores áudio genéricos MPEG-1 Adoptada em 1992 Para áudio digital de alta fidelidade Norma de compressão genérica MPEG-2 Pode compactar sinais áudio provenientes duma larga diversidade de fontes Baseada na MPEG-1 com alguns melhoramentos MPEG-4 Compacta tanto som natural (música, voz) como sintetizado O som sintetizado pode ser representado por texto ou pela descripção de intrumentos musicais com diferentes efeitos Normas de Compressão Áudio Codificadores áudio genéricos AC-2 e AC-3 Desenvolvidos pela Dolby Digital Laboratories Para codificação de áudio de alata fidelidade multi-canal Norma MPEG-1 Áudio Explora as propriedades psico-acústicas do ouvido humano Taxa de amostragem áudio:32, 44.1 ou 48 KHz pode compactar: mono ou estéreo (2 canais) 3 camadas independentes de compressão Compromisso entre complexidade, relação de compressão, qualidade Camada 1 : mais simples, débitos acima de 128kbps/canal Camada 2: complexidade moderada, débito à volta de 128 bits/canal Camada 3 (mp3): maior complexidade, débitos à volta de 64 kbps/canal e oferece a melhor qualidade áudio Adequada para transmissão áudio em ISDN Codificador Áudio MPEG-1 Modelo PsicoAcústico Entrada Áudio Banco de Filtros de Análise Alocação, Quantificação e Codificação de bits Dados auxiliares (opcional) Formatação da sequência de bits Sequência de bits codificada Descodificador Áudio MPEG-1 Sequência de bits codificada Desempacotamento da sequência de bits Reconstrução da frequência de amostragem Dados auxiliares Banco de Filtros de Síntese Áudio Reconstruído Áudio MPEG-1 Banco de Filtros Para conseguir melhor desempenho As larguras de banda dos filtros no banco de filtros devem unificar com as sub-bandas críticas Mais pequenas na gama inferior de frequências Maiores na gama superior Para simplificar o desenho do codificador Existem 32 sub-bandas de igual largura Os filtros são relativamente simples Boa resolução no tempo e uma resolução razoável na frequência O banco de filtros não é reversível Mesmo que os coeficientes de sub-banda não sejam quantificados, o sinal de áudio reconstruído não é igual ao original MPEG camada 1,2 e 3 Codificação de camada 12 Amostras 12 Amostras 12 Amostras 12 Amostras 12 Amostras 12 Amostras Filtro sub-banda 1 Filtro sub-banda 2 12 Amostras 12 Amostras 12 Amostras Amostras Agrupadas Filtro sub-banda 3 Amostras Áudio . . . 12 Amostras 12 Amostras 12 Amostras Filtro sub-banda 32 Quadro da camada 1 Quadro da camada 2 e 3 Codificação do MPEG-1 camada 3 1 Janela MDCT MDCT Banco de Redução Janela MDCT Filtros da Entrada Áudio PCM Camada 1 e da Camada 2 32 . . . Janela MDCT MDCT . . . MDCT do Aliasing, Quantificação Áudio Compactado e codificação Norma MPEG-2 Define duas normas MPEG-2 BC BC (Backward Compatible) Extensão da norma MPEG-1 Inclui codificação multi-canal e multilingue É permitida codificação a frequências abaixo de 32 KHz MPEG-2 AAC ACC (Advanced Audio Coding) Codificador áudio altamente avançado com um desempenho de compressão superior MPEG-2 AAC 3 Perfis ou Modos Modo Low Complexity (LC) Modo Main Aplicações em que o gargalo é a velocidade de processamento e a memória Quando há capacidade de computação e memória disponíveis Mode SSR (Scalable Sample Rate) Quando as aplicações precisam de descodificação escaláveis. Codificador MPEG-2 AAC Esquema simplificado Entrada do Sinal Áudio Modelo Perceptual Banco de Filtros Calibragem do ruído temporal Previsão Processo de Controlo da Taxa de Distorção Factores de Escala Quantizador Codificação sem ruído Multiplexador da Sequência de bits Sequência codificada de bits áudio Normas de Compressão Áudio AC Áudio Digital Áudio O codificador AC-3 é largamente utilizado para transportar Áudio multi-canal em aplicações como Vídeo DVD TV Digital TV de alta definição (HDTV) Aplicações de éstudio O codificador AC-3 foi precedido por AC-1e AC-2. AC-1: Utiliza modulação delta adaptativa combinada com companding analógica. Não é um codificador perceptual. AC-2: Um codificador perceptual que usa uma transformada de baixa Complexidade TDAC (Time domain alias cancellation) transform. Usa MDCT, MDST.Àudio de alta qualidade a um débito de 256 kbps por canal. AC-3: Superior ao AC-2. Alta qualidade a 384 kbps/seis-canais Codificador AC-3 Esquema simplificado Mantissas Qunatificador da mantissa, Mantissas Quantificadas Alocação de bits Amostras Áudio Transformação TDAC Vírgula flutuante em bloco Expoentes Coeficientes de transformada Áudio Codificado Empacotador do sequência de bits Codificação de Expoente s x*2 exp Os expoentes são valores de 5 bits que indicam o número de zeros da frente Os valores dos expoentes variam de 0 a 24 São codificados de forma diferencial Os diferentes expoentes são combinados em grupos no bloco áudio A Estratégia do expoente define como os diferentes expoentes são codificados Descodificador AC-3 Esquema simplificado Sequência de bits codificada Desempacotador do expoente Ponto flutuante para fixo Alocação de bits Transformação inversa TDAC Desempacotador da mantissa, Normalização Canais 5.1 de saída Comparação de algoritmos Débito (em Kb/seg) Qualidade Aplicação Disponível desde MPEG Camada 1 32-448 Boa a 192 Kbps/canal DCC 1991 MPEG Camada 2 32-384 Boa a 256 Kbps/canal Difusão de Áudio Digital, CD-I, DVD 1991 MPEG Camada 3 32-320 Boa a 96 Kbps/canal AC-3 Dolby 32-640 Boa a 384 Kbps/5.1 canais 1993 HDTV, Cabo, DVD 1991 Formatos Áudio típicos para armazenamento de som Extensão/ tipo de ficheiro Comentários aiff Áudio não compactado, tipicamente 16 bits/amostra. Pode ter outra resolução, tipicamente usado em Mac/Unix au Usa compressão mu-law. Usado em plataformas Sun mov Vídeo QuickTime mpa/mp2 Formato MPEG áudio. São usadas várias camadas para compromisso entre a complexidade e o desempenho mp3 Camada 3 do MPEG áudio qt Formato QuickTime. Proprietário da Apple Ra,ram Formato Real Áudio. Proprietário da Real Networks. Suporta áudio ao vivo na Internet wav Áudio não compactado, tipicamente 16 bits/amostra wma Áudio usado no Windows Media. Proprietário da Microsoft Formatos usados para cadeias de áudio na Internet