Aquisição de Dados Multimédia Joaquim Macedo Departamento de Informática da Universidade do Minho & Faculdade de Engenharia da Universidade Católica de Angola Sumário Amostragem de Sinais Áudio Amostragem de Imagens 2D Filtros Anti-Aliasing Digitalização de Sinais Áudio Conersão D/A Critério de Fidelidade de Áudio MIDI versus Áudio Digital Digitalização de Imagens Medidas de Fidelidade Visual Forma de onda dum sinal Amplitude versus Tempo Espectro do mesmo sinal Amplitude versus frequência Um sinal áudio e o seu espectro Amostragem • Amostragem é o processo de fazer medidas à amplitude do sinal em intervalos discretos do tempo/espaço t t fs =1 / t Transformada de Fourier Seja g(t) um sinal áudio arbitrário Define-se G(w) como a transformada de Fourier de g(t) se G ( ) g (t )e jwt dt g(t)é limitadoà banda B se G ( ) 0 para 2B Transformada de Fourier Transformada de Fourier Transformada de Fourier Amostragem Discreta no Tempo amplitude tempo Amostragem uniforme Se o sinal g(t) for amostrado uniformemente a uma taxa de fs amostras por segundo fs 1 T g s (t ) g (t ) s (t ) s (t ) g (kT ) (t kT ) k (t kT ) k 1 Gs ( ) G ( 2f s ) T k 1 f s 2B T Sub-amostragem Sub-amostragem Sinal original Amostragem Sinal reconstruído Teorema da Amostragem Um sinal contínuo no tempo g(t) pode ser reconstruído de forma exacta das suas amostras gs(t) se se cumprirem 2 condições: g(t) deve ser de banda limitada com uma frequência máxima M A frequência de amostragem s de gs(t) deve ser maior que 2M, i.e. s>2M. A segunda condição é conhecida como Critério de s referenciada como Frequência de Nyquist , i.e. a Nyquist menor frequência de amostragem possível para recuperar o sinal original a partir das suas amostras Amostragem de banda limitada Original g(t) F -B 0 B t Amostrado F gs(t) t |G(f)| Filtro Passa |Gs(f)| Baixo -2fs -fs 0 fs (-fs-B) -(fs +B) -B B (fs -B) f 2 fs f (fs +B) Amostragem com frequência de Nyquist Amostragem de um sinal 1-D Frequency Domain Time domain G( ) g (t ) t f Frequency S ( ) s(t ) f t fs 2fs 3fs fs 2fs 3fs Gs ( ) g s (t ) t Lowpass filter G( ) g (t ) f t fs /2 f Reconstrução Directa Fórmula de Interpolação do domínio do tempo sin( f s t k ) g (t ) g (kT ) ( f s t k ) k Os valores do sinal para instâncias do sinal não amostradas podem ser calculadas exactamente com um somatório de todos os valores amostrados As abordagens usadas para reconstrução do sinal no domínio da frequência e do tempo são equivalentes A função sinc do lado direito da equação é a resposta de impulso dum filtro passa-baixo ideal Exemplo 4.1 Considere o seguinte sinal áudio com um tom sinusoidal de 4.5KHz g (t ) 5 cos(2 * 4500t ) Amostre o sinal a taxa de i) 8000 ii) 10000 amostras/segundo Reconstrua o sinal passando-o através dum filtro passa baixo ideal com frequência de corte igual a metade da frequência de amostragem. Assuma que os ganhos dos filtros são de i)1/8000 e ii)1/10000. Determina o sinal reconstruído nos dois casos. Caso-1 1 Gs ( ) T1 G( 2nf ) 8000 G( 16000 * n) s n n 8000* ........ G( 16000 ) G( ) G( 16000 ) ....... 40000 * .... ( 9000 ) ( 7000 ) ( 7000 ) ( 9000 ) ... A frequência de corte do filtro passa baixo é metdade da frequência da amostragem isto é 4000 Hz. Portanto a função de transferência do filtro é 1 / 8000 H 1 ( ) 0 8000 otherwise Caso-1 (cont) Quando o sinal amostrado passa através do filtro passa-baixo a transformada de Fourier do sinal de saída vai ser: G1 ( ) Gs ( )H1 ( ) 5 ( 7000 ) ( 7000 ) Portanto o sinal de saída g1 (t ) 1 G1 ( ) 5 cos(2 * 3500t ) Caso-2 1 Gs ( ) T2 G( 2nf n s ) 10000 G( 20000 * n) n 10000* ........ G( 20000 ) G( ) G( 20000 ) ....... 50000 * .... ( 11000 ) ( 9000 ) ( 9000 ) ( 11000 ) ... A frequência de corte do filtro passa baixo é metdade da frequência da amostragem isto é 5000 Hz. Portanto a função de transferência do filtro é 1/10000 H 2 ( ) 0 10000 otherwise Caso-2 (cont) Quando o sinal amostrado passa através do filtro passa-baixo a transformada de Fourier do sinal de saída vai ser: G2 ( ) Gs ( )H 2 ( ) 5 ( 9000 ) ( 9000 ) Portanto o sinal de saída g 2 (t ) 1 G2 ( ) 5 cos(2 * 4500t ) Sinal original e reconstruído Exemplo 4.1 Sobreposição do Espectro (Aliasing) Se a condição de Nyquist não for satisfeita, acontece a Sobreposição do Espectro (Aliasing) que impede a perfeita reconstrução do sinal. XC(W) 1 Se Ws<2WN, ocorre o aliasing. WN WN 0 W Ws X() Fs 2 N 0 N 2 Cálculo das frequências de aliasing Frequência original (Hz) |f1-mFs| Frequência do sinal recosntruído Comentário 500 500 Sem aliasing 2500 2500 Sem aliasing 2900 2900 Sem aliasing 3001 |3001-1*6000| 2900 Aliasing 3500 |3500-1*6000| 2500 Aliasing 10000 |10000-2*6000| 2000 Aliasing 20000 |20000-3*6000| 2000 Aliasing 1000000 |10000-167*6000| 2000 Aliasing O que é uma imagem? Uma imagem pode ser definida como uma uma função de intensidade de luz i(x,y,t) onde a amplitude da função em qualquer coordenada espacial (x,y) disponibiliza a intensidade (brilho) da imagem num determinado instante t Amostragem de imagem 2D Uma imagem digital pode ser obtida por amostragem dum imagem contínua. Pode ser usada a seguinte função de amostragem s( x , y ) ( x mx, y ny ) m n Amostragem de imagem 2D 1 / x = frequência de amostragem horizontal (amostras/grau) 1 / y = frequência de amostragem vertical s(x,y) Δy Δx Amostragem de imagens 2D • A função de amostragem ideal para uma imagem é uma matriz de infinita com funções delta de Dirac situadas numa grelha comb(x, y; x, y ) [ x mx, y ny] m n • A amostra da imagem é definida como f s ( x, y ) f ( x, y )comb(x, y; x, y ) f (mx, ny ) ( x mx, y ny ) m n • A Transformada de Fourier da função comb COMB(1 ,2 ) 1 comb(1 , 2 ;1 / x,1 / y ) xy • A Transformada de Fourier da amostra da imagem é 1 k l Fs (1 ,2 ) F (1,2 ) COMB(1 ,2 ) F ( , ) 1 2 xy k l x y Amostragem em 2D Função de amostragem Amostragem em 2D Amostra da imagem Resolução espacial da amostragem Aumento ou Diminuição da Resolução Espacial Imagem original “zoomed down” “zoomed up” para tamanho original A resolução espacial pode ser mudada pela eliminação ou replicação de pixels ou por interpolação As técnicas mais comuns de interpolação incluem a bilinear, bicúbica e do vizinho mais próximo ( nearest neighbor) Taxa de Nyquist, Aliasing, and Frequências Foldover • Taxas e frequências de Nyquist : • O efeito de aliasing acontece quando • Frequências Foldover : 1 1 , 2 x 2y 2 x0 ,2 y 0 x 1 2 x 0 or y 1 2 y 0 Imagens de banda limitada f ( x, y ) F (1 , 2 ) F (1,2 ) 0, 1 x0 , 2 y 0 Teorema da amostragem • Uma imagem de banda limitada amostrada por uma grelha rectangular pode ser recuperada desde que a taxa de amostragem seja superior à taxa de Nyquist rate. • A imagem pode ser reconstruída pela fórmula de interpolação: f ( x, y ) f (mx, ny )sincx m n m n where xs xs m sinc y ys n sin(x xs m) f (mx, ny ) ( x xs m) sin( y ys n ) ( y ys n ) 1 1 , ys , xs 2 x 0 , ys 2 y 0 . x y 1 1 1 1 R xs , xs ys , ys . 2 2 2 2 Exemplo 4.2 Considere a seguinte grelha para imagem com frequência horizontal e vertical de 4 e 6 ciclos/grau respectivamente i( x, y) 255cos2 (4 x 6 y) Amostre a imagem a 10 amostras/grau tanto na horizontal como vertical. Reconstrua a grelha pasando-a por um filtro passa baixo 2D com as seguintes características 5 fh , fv 5 0.01 H 2D ( fh , fv ) em qq outrocaso 0 Determina a grelha reconstruída Espectro de Fourier da Imagem Contínua i( x, y ) 255cos[2 (4 x 6 y )] I ( h , v ) 255 h 4 * 2 , v 6 * 2 h 4 * 2 , v 6 * 2 fv 6 -4 4 -6 fh Espectro de Fourier da Imagem Discreta Transformada de Fourier da imagem amostrada 255 I s ( h , v ) T1T2 255 0.01 I ( h I ( h 20m, 20n) fv m n 20m, 20n) 6 5 m n -4 -5 4 5 -6 fh Espectro da Imagem Amostrada Transformada de Fourier do sinal filtrado: Iˆ( h , v ) H 2 D ( h , v )I s ( h , v ) 255 [ h 4 * 2 ,v 4 * 2 h 4 * 2 ,v 4 * 2 ] iˆ( x, y ) 255cos[2 (4 x 4 y )] Imagem Aliased Imagem Original Imagem Reconstruída Taxa de amostragem óptima Resolução da imagem Parâmetro importante para criar imagem digital Expressa em dpi ou dots/cm Frequência de amostragem Critério de Nyquist Limitações do SVH < 20 ciclos/grau, 40 ciclos/grau na amostragem Exemplo 4.3 Vai-se fazer varrimento duma foto 4”x6”. Determinar a mínima resolução do varrimento. Resolução de varrimento 1 Ângulo horizontal = 2 * tan ((W / 2) / 6W ) Ângulo vertical = =9.5o 2 * tan1(((4 / 6) *W / 2) / 6W ) = 6.4o W 6.4º 9.5º 9.5º 6W Assumindo uma taxa de amostragem de 40 amostras/grau A imagem digital deve ter 380 e 256 pixels na direcção hor. and vert. Como o tamanho da imagem é 4”x6”, a resolução mínima é 64 dpi. Filtro anti-aliasing Filtro PB ideal Filtro PB realizável Filtro Passa Baixo Ideal A 1.0 Banda Filtrada Banda Passante 0.0 fs/2 fs f Especificação do desenho de filtros Considere um sinal áudio com espectro 0-20 KHz. O sinal vai Ser amostrado a 8 KHZ. Conceba um filtro anti-aliasing adequado A frequência de amostragem é 8 KHz. O filtro ideal para anti-aliasing será um filtro passa baixo com frequência de corte a 4KHz. Contudo é fisicamente impossível desenhar um filtro ideal. Neste exemplo vai-se desenhar um filtro PB com as seguintes características: i) Banda passante é 0-3200 Hz. Ganho na banda passante, Gp > -2 dB ii) Banda de transição é 3200-4000 Hz iii) Banda de rejeição é is > 4000 Hz.O ganho na banda de rejeição , Gs < -20 dB Desenho de Filtros com MATLAB Filtros passa-baixo contínuos no tempo típicos são Butterworth, e Chebyshev-1, e Chebyshev-2. Estão disponíveis técnicas normalizadas para concepção desses filtros. %MATLAB code for designing lowpass filter Wp=3200; Ws=4000; Gp=-2; Gs=-20 ; %Ideal Filter mag0 = [ones(1,4001) zeros(1, 4000)] ; %Butterworth Filter [n, Wc] = buttord(Wp,Ws,-Gp,-Gs,’s’) ; [num,den] = butter(n,Wc,’s’) ; Coeficientes do numerador e denominador da função de transferência do filtro Funções de Transferência 4.909 1045 H ( s) D( s ) Butterworth D( s) s13 27140s12 3.682108 s11 3.2981012 s10 2.1711016 s9 1.1071020 s 8 1.1071020 s 8 4.4931023 s 7 1.471027 s 6 3.8741030 s 5 8.1291033 s 4 1.3221037 s 3 1.3221037 s 3 1.322 10 37 s 3 1.579 10 40 s 2 1.245 10 43 s 4.909 10 45 Chebyshev-1 2.742 1016 H (s) 5 s 2261s 4 1.536 107 s 3 2.272 1010 s 2 4.817 1013 s 2.742 1016 Características do Filtro Exemplos Amostragem Imagens Anti-Aliasing Imagem Original Imagem sub-amostrada Filtragem Anti-aliasing Digitalização do Sinal Áudio Amostragem e Digitalização Áudio Analógico, Contínuo Amplificador + Filtro Anti-Aliasing Gerador de Ruído Aleatório (Dither) Amostra e Sustenta Conversor A/D Áudio Digital, Discreto Digitalização do Sinal Áudio Gravação e Armazenamento de N canais Áudio Analógico Canal 1 Amostragem e Digitalização . . . Áudio Analógico Canal N Multiplexer Compressão e Correcção de Erros Amostragem e Digitalização Meio de Armazenamento Gravação e armazenamento áudio Funções dos diferentes blocos do sistema Bloco Funções Amplificador Amplifica o sinal antes da introdução de qualquer ruído (aleatório ou de quantificação) Gerador de Ruído Adiciona uma pequena quantidade de ruído aleatório, que aumenta a qualidade de percepção Filtro anti-aliasing Um filtro passa baixo para garantir que o sinal é de banda limitada. Elimina o aliasing Amostra e Aguenta Aguenta o valor do sinal áudio e amostra-o em cada instância da amostra Conversor A/D Calcula a representação digital equivalente do sinal analógico Multiplexador Compressão Multiplexa a cadeia de bits dos diferentes canais Reduz a redundância e compacta o tamanho do ficheiro áudio mantendo uma qualidade de áudio aceitável Conversor Digital-Analógico A entrada do conversor DA é um sinal discreto no tempo cuja amplitude é um número real que pode requerer um número um número infinito de bits/dígitos para uma verdadeira representação Para o processamento digital por computadores, o sinal em cada instante de tempo tem que ser convertido para um número para um número com precisão finita (I.e., 8, 16 or 32 bits). Isto é feito por um quantificador que estabelece uma correspondência entre uma variável contínua e uma variável discreta. Quantificador de N-níveis A saída do quantificador para uma dada entrada g (nT ) calculada com o seguinte procedimento. Q[ g (nT )] rk se pode ser d k g (nT ) d k 1 onde d k , 0 k N rk , 0 k N 1 São os níveis de decisão São os níveis de reconstrução Se os nívei de decisão são equidistantes, i.e., se (d k 1 d k ) é constante para todo o k, o quantificador é chamado quantificador uniforme; caso contrário é chamado um quantificador não uniforme. Quantificador uniforme g* Quantizer output rN 1 rN 2 Quantizer error d0 d1 d2 dN r2 r1 r0 g Quantificador não uniforme g* Quantizer output rN 1 rN 2 Quantizer error d0 d1 d2 g d3 dN r2 r1 r0 Exemplo 4.5 Considere um sistema de gravação áudio onde o microfone gera uma voltagem contínua no intervalo [-1,1] volts. Calcule os níveis de decisão e reconstrução para um quantificador de 8 níveis. Exemplo (cont.) Os níveis de decisão e reconstrução podem ser calculados a partir das seguintes equações: k 4 dk 4 0k 8 1 rk d k 8 0k 7 Níveis de decisão e reconstrução Quantificador do exemplo 4.5 K Níveis de Decisão Níveis de Reconstrução 0 -1.0 -0.875 1 -0.75 -0.625 2 -0.50 -0.375 3 -0.25 -0.125 4 0.00 0.125 5 0.25 0.375 6 0.50 0.625 7 0.75 0.875 8 1.0 Sinais originais e quantificados Erro de quantificação O erro de quantificação (também conhecido como ruído de quantificação) é a diferença entre o valor actual do sinal analógico e o seu valor quantificado.. e(nT ) f (nT ) gˆ (nT ) g (nT ) Q[ g (nT )] Amplitude Original Amplitude Quantificada Taxa de bits do sinal áudio Para canal mono bitrate FS * B bits / sec ond Frequência amostragem Para cana stéreo bitrate 2 * FS * B bits / sec ond Representação PCM da saída Como se representam as saídas do quantificador? As saídas quantificadas a N-níveis são representadas com B bits onde N 2B Por exemplo, a saída do quantificador de 8 níveis pode ser representado usando 3 bits. Níveis Representação PCM 0 000 1 001 ……. 6 110 7 111 8 bits 256 Níveis 16 bits 65536 Níveis 32 bits 4.3x109 Níveis Taxa de bits Vs. Qualidade Máximo erro de quantificação = 0.5*Intervalo_Decisão A qualidade do sinal quantificado será superior se o ruúdo de quantificação for pequeno Intervalo de deecisão é pequeno N é grande B é grande. Se B é grande Aumenta a taxa de bits. Portanto, há que estabelecer um comprimisso entre a taxa de bits e a qualidade do sinal áudio digitalizado. Taxa de bits alta Ruído de quantificação baixo == Melhor qualidade subjectiva Critérios de Fidelidade Áudio A amostragem e a quantificação Medidas de Distorção Degradam a qualidade do sinal São usadas diversas métricas para avaliar a quaildade do sinal quantificado Relação Sinal-Ruído e Erro Quadrático Médio Crítérios objectivos Audibilidade da distorção do sinal Critérios subjectivos Critério de Fidelidade Áudio Audibilidade da distorção do sinal Muito incómodo 1 Incómodo 2 Ligeiramente Incómodo 3 Perceptível mas não incómodo Imperceptível 4 5 Critério de Fidelidade Áudio Os testes de qualidade subjectiva são geralmente superiores Mas são um processo complicado envolvendo uma série de pessoas As medidas são influenciadas pela escolha das pessoas e pelo estabelecimento do cenário experimental Por esse facto, são usadas geralmente medidas objectivas para avaliação Medidas de Distorção Relação Sinal-Ruído e Erro Quadrático Médio N 1 ^ SNR f ( n) 2 n 0 2 f (n) f (n) n 0 SNR(em dB) 10 log10 SNR N 1 1 MSE N ^ f (n) f (n) n 0 N 1 ^ 2 Relação Sinal-Ruído A relação sinal-ruído (SNR) é a medida de erro mais popular em engenharia electrotécnica. Disponibiliza informação útil na maior parte dos casos e é matematicamente tratável. Por esta razão é também bastante usada na codificação de áudio e imagens. Infelizmente os valores SNR não se correlacionam bem com medidas subjectivas, especialmente com altas taxas de compressão. Foi proposta uma série de novas medidas de distorção para melhor adaptação ao sistema de audição humano. Medida de qualidade objectiva Pressuposto: Ruído de quantificação com gama de variação dinâmica de 1 istó é Q 2B O erro e(nT) é suposto ser estatisticamente independente e uniformemente distribuído no intervalo [–Q/2 e Q/2] Erro médio quadrado do erro de quantificação 2 2 B Q 1 2 2 E e de Q Q / 2 12 12 Q/2 onde Q 2B SNR versus Bits/amostra E (in dB) 10 log Q 2 / 12 10 log 2 2 B / 12 6 * B 10.8 Cada bit adicional/amostra reduz o ruído de aproxiamadamente 6 dB, aumentando assim a SNR da mesma quantidade. Regra SNR (in dB) 6.02 * B 8 bits audio 48 dB SNR 12 bits audio 72 dB SNR 16 bits audio 96 dB SNR CD audio 96 dB. Tipicamente, um sinal de áudio com uma relação sinal-ruído (SNR) de mais de 90 dB SNR é considerado de excelente qualidade. Exemplo Considere o sinal áudio stéreo “chord” digitalizado com uma frequência de amostragem de 22.050 KHz, com uma precisão de 16 bits/amostra. Chord.wav Duração do sinal = 1.1 sec; # Total de amostras = 24231 Estime a SNRs do sinal de for quantificado com 5-12 bits/amostra. Erro de quantificação Considere que o sinal original é um sinal áudio de 16-bit, podemos quantificá-lo para b bits usando : y round( x* 2b ) / 2b Erro de quantificação a 8 bits/amostra pdf do erro de quantificação (8 bits/amostra) SNR versus Taxa de bits SNR versus bits/amostra Áudio Digital Várias taxas de amostragem e resoluções Qualidade Taxa de Bits/ amostragem Amostra (em KHz) Mono/ Taxa de Dados Stereo (se não Banda Frequência (em Hz) Telefone 8 8 Mono 8 Kb/seg 200-3,4 K Rádio AM 11,025 8 Mono 11Kb/seg Rádio FM 22,050 16 Stereo 88.2 Kb/seg CD 44.1 16,linear Stereo 176.4 Kb/seg PCM 20-20k DAT 48 16 Stereo 192.0 Kb/seg 20-20K Áudio DVD 192 24 Stereo 1152.0 Kb/seg 20-20K compactado) Digitalização de Imagens Pixels -- picture elements nas imagens digitais Resolução da Imagem – número de pixels numa imagem digital (Uma resolução mais alta conduz a mior qualidade da imagem.) Bit-Map – uma representação para os dados da imagem/gráfico da mesma forma que é armazenada na memória vídeo. Imagem Monocromática Cada pixel é armazenado como um único bit (0 ou 1) Uma imagem monocromática de 640 x 480 pixels requer 37.5 KB de armazenamento. Dithering é usado muitas vezes para mostrar imagens monocromáticas Imagens com níveis de cinzento Cada pixel é armazenado normalmente num byte (valor de 0 a 255) Uma imagem com níveis de cinzento com 640 x 480 precisa de mais de 300 KB para armazenamento. Imagens a cores Cada pixel é representado com 3 bytes (e.g., RGB) Suporta 256 x 256 x 256 cores possíveis (16,777,216) para 24 bit res. Uma imagem a cores 640 x 480 24-bit precisa de 921.6 KB para armazenamento Tipos de imagens Monocromática 1 Bit/pixel 2 (0,1) níveis 640x480 imagem = 307 Kbit Níveis de cinzento 1 Byte/pixel 256 níveis cinzento 640x480 imagem = 307 KB Cor 24 bits 3 Bytes/pixel 16 Milhões cores 640x480 imagem = 921 KB Medidas de Distorção da Imagem Relação Sinal-Ruído e Erro Quadrático Médio M 1 N 1 ^ SNR(em dB) 10 log10 f (m, n) 2 m 0 n 0 f ( m , n ) f ( m , n ) m 0 n 0 M 1 N 1 ^ 2 M 1 N 1 PSNR(em dB) 10 log10 2 valor de pico do sinal m 0 n 0 f ( m , n ) f ( m , n ) m 0 n 0 M 1 N 1 ^ f ( m , n ) f ( m , n ) m 0 n 0 1 EQM MN M 1 N 1 1 EAM MN M 1 N 1 ^ ^ f ( m , n ) f ( m , n ) m 0 n 0 2 2 Imagens em níveis de cinzento com nº diferentes de bits/amostra 8 bits, 256 níveis original 6 bit, 8 níveis 3 bit, 8 níveis 5 bit, 32 níveiss 2 bit, 4 níveis 4 bits, 16 níveis 1 bit, 2 níveis