! " # # $% #& # ' ( ) * ! ' " * , + ! # " # ( - . / 0 ( 0 . (# ) + $% + * ! # " * + , # ( 0 - . ( 0 0 0 . # / 1 2 ! ) 1 # 1 3 / $% 4 * * ' * # 3* 0 5 * 7 ' ! - 6 # 0! 56" # " ( $% ' / . - 0 560 # , 8 * * * 56 #, 9$ # , $% 0 560 :+; * " # # 3 * $% ' / * ' # , ' ( 56 # <* 56 = 1 ' $% ( 0 0 # > ' # 2 $% &'' '&"( " )&* 3 '# + $ $+'& , 3/) ', ?>) <>4? %&",()$ $+'& <@@<44? @6<&7<>A< ) /B<6) '&+-$ $+'& <@@<44? ) /B<6) 4< '?6)3< ./$+'$ $+'& <4?C? C,/? '6< , ?>< C<33* '<D 3)E<6 , , , ./ ('$ $+'& '<D )7C, ? 3)E<6 IL CAMPIONAMENTO 3 Prima di tutto è necessario capire come è possibile inserire dei suoni in un computer. Un suono si propaga nell’aria sotto forma di onda. Questa onda viene trasformata da analogica a digitale attraverso un processo chiamato campionamento. Durante questa fase il suono viene scomposto in un certo numero di informazioni al secondo. Maggiori sono le informazioni, più fedele sarà la riproduzione digitale della forma d’onda. Le variabili su cui si può intervenire in fase di campionamento sono tre: 1. Tipo di canale (mono o stereo). 2. Frequenza del campione. Indica il numero di campioni presi al secondo.Esempio: 22 Khz=22.000 campioni al secondo. 11025 Hz è adatto per la registrazione della voce, 22050 Hz è adatto per la registrazione di qualità nastro mentre 44100 Hz si addice alla registrazione di qualità CD. Ridurre la frequenza di campionamento comporta una perdita di risoluzione. 3. Dimensioni del campione di un' onda (8 – 16 bit). Possiamo immaginare il segnale campionato come formato da tanti livelli che visivamente somigliano ad una scala, la quale segue un andamento il più fedele possibile alla forma d’onda originale. Gli 8 bit offrono una qualità acustica inferiore rispetto a quella di un nastro perchè rendono in 256 valori le informazioni sui livelli dei campioni. I dati d' onda a 16 bit producono invece la massima qualità sonora (16 bit =65.536 valori sui livelli) paragonabile a quella di un CD. Convertendo campioni da 16 bit a 8 bit si dimezza il file originario ma contemporaneamente si riduce pesantemente la qualità della musica. Inoltre esistono vari livelli di compressione (Layers) utilizzati dall’MPEG. Utilizzando un layer di compressione più alto (ad es. 64 Kb/s), l’MPEG eliminerà, oltre alle informazioni non udibili, anche quelle udibili ma meno importanti. Utilizzando una compressione “più leggera” (ad es.128 Kb/s) non sarà possibile percepire differenza tra il brano compresso in MPEG e l’originale. Le compressioni possibili sono: sui bit rate, sugli hertz e sul mono o stereo. A parità di campionamento hertz, il bit rate maggiore avrà migliore qualità, mentre il bitrate minore produrrà Seconda parte - L'effetto frequenze maschera file più piccoli ma di qualità inferiore. Partiamo dall' assunto che: • L’orecchio umano percepisce le frequenze che vanno dai 20 Hz ai 20Khz, ed è più sensibile tra i 2 e i 4 Khz. 4 • Il range dinamico, dal suono più basso percepito al più alto, è di 96dB. • Il range della voce umana varia dai 500 Hz ai 2Khz. Determiniamo la sensibilità dell’orecchio umano Quanto è sensibile l’orecchio umano? Esperimento: mettete una persona in una stanza isolata acusticamente. Variate il volume di un tono pari ad 1 Khz finchè diventa udibile. Variate la frequenza del tono e disegnate i valori risultanti. Cosa accade: Frequenze inferiori ai 2 Khz avranno bisogno di un volume più alto per poter essere percepite dall’orecchio umano. La maggiore sensibilità si ha tra i 2 Khz e i 4 Khz. Per poter udire le frequenze successive ai 6 Khz in su, bisognerà incrementare il loro volume secondo l’andamento evidenziato dal grafico in figura 1. 5 Effetto maschera di alcune frequenze su altre Le frequenze possono interferire tra di loro? Esperimento: emettete un tono pari a 1 Khz (tono maschera) ad un volume fisso pari a 60 dB. Emettete un tono test ad un differente livello (es. 1.1 Khz) e aumentate il volume finchè diventi appena distinguibile. Variate la frequenza del tono test e disegnate i valori risultanti in cui esso diviene udibile. Cosa accade: Il tono fisso a 60 dB copre il tono test nelle frequenze immediatamente antecedenti e soprattutto nelle frequenze successive. In condizioni normali infatti la percezione del tono test sarebbe rimasta pari a quella della figura 1; l’inserimento di un secondo tono fisso ad un volume più alto, impone di aumentare il volume del tono test di una certa percentuale per poter essere udito insieme al tono fisso (tono maschera). Ripetere l’esperimento per varie frequenze di toni maschera. Cosa accade: Si evidenzia il fatto che esistono molteplici effetti maschera. ) 1 1 F # 6 & 1 # ! " $+ 5 # %+ 5# # ! : " # 1 1 = ! : " # G 0 0 ",(" /% ,( , F ( # . 4 0 1 &* 2 = #< % ( 1. 7 F F F # 7 2. ) ! ' / " ! F " # 3. 3 ! " ! $ 5 4. 3 " # ! H '" # &* < $ • • • • • , < FI 5 : , , & JI 9I + 5! K 5" : 5! L : 5" ! H 5" 0 3M &* $ 2 ! ' 3M 3 3M , , ! # # ! / 1 ", " 5% ( %'&+&, 6 C// 2 7 5 #) ! $4&+ F '<D # /= = 3M , # +&%% ,(& 2 " # ::: 1 " # ,3 M , , , $4&+ ' JI 9I# #& 7 ( $+ 5# . 5 2 ( / 4 0 " ", )$ ' 1 # /= # +&%% ,(& 6 $ 67 5% ( %'&+&, 8 5 000 9 5 8 ) 1 $+ N * . . :$ N # ", 2 +&%% ,(& )$ 1 '<D P F 6; $ 6 7 ! B N N " #/ F F !! ! ++;" # ::: +&$ --$+& * < . 5 3M , , N $+ N # 3M " 5 000 1 3 ( "$%$ 6 -" -" " $ " $ !! "+&$+&/( ' #7 #7 5% ( %'&+&, #> . 9 N 1 $4&+ O 9 # <F #/ ' /C) R $ $+' +&)$ /( ( Q)G. Q)G < &$/) ,6 '. R Q)G S# , %% ++B $ T 6 6 RU #7 ! 8T U /C) ! " N Q)G" #, 8 ! 9 " #7 T 6 RU S : 8 + ! ' " # /# 1 ! * %%# ++B $- " F . 1 # 3F #Q)G 3 <>/# P R ' ! '<D N V < # '# & T @ FU ' / - 3M , , , " , 7 5# U # U #, <F N # ' = #> 5 ./$ '$1 &* 2 =$()$ 4, '? 4<3<@?>? ,)& #: ?>? <D3, ? C<33<?>C</?64< %#: ?>? <D3, ? C<33) 6)C, ?) J#: ?>? ,, 3<)33) @ = '+$'& $ N $ : &7)3, 4)*/C %( %( N 4<6<? 9$- L : / ' ' 3* Q)G. Q)G Q)G + & 6 # ' #G ( ( / # <* R $- %( N "+&$+&/( ") $/) , $ $+' +&)$ ' #7 #7 $- %( N 4<6<? +&%% ,(& 9$( N N 4<6<? :$- $% G, /, >? )3/C ", # Q)G ' % W5 # ) ) R /C # 10 MPEG layerIII (MP3) Fa parte invece dei codificatori di forma d’onda lo standard MP3, algoritmo che implementa moderne tecniche di percezione sonora dell’apparato uditivo umano per raggiungere un’elevata compressione dei dati senza una percettibile perdita di qualità. Lo standard è stato studiato dall’MPEG (Motion Picture Expert Group) e stabilisce la sintassi e i metodi di compressione a basso bitrate per audio e video per riuscire a comprimere il segnale così tanto da permettere l’invio di dati su canali di trasmissione lenti. L’algoritmo layer III è attualmente il più efficiente in termini di maggiore compressione per la stessa qualità, ma questa efficienza viene pagata in termini di una maggiore complessità dell’algoritmo di codifica e quindi maggior tempo di codifica. L’algoritmo di compressione MP3 è stato disegnato appositamente per gestire file audio che hanno determinate caratteristiche statistiche; infatti è possibile trovare ad esempio in un brano musicale una certa correlazione più o meno marcata tra campioni vicini, sintomo di ridondanza statistica che può essere eliminata utilizzando particolari codifiche (predizione lineare, codifica di Huffman..) che senza modificare il segnale audio permettono di avere una buona compressione. In verità la vera potenza degli algoritmi MPEG di compressione audio è determinata dall’utilizzo di altri metodi di codifica che applicano una compressione con perdita di dati. L’algoritmo calcola mediante precise tabelle su cui è descritta la percezione del sistema uditivo umano, le parti di informazione audio che, seppur presenti, non vengono fisicamente percepite dall’orecchio. I suoni che non risultano udibili a causa dell’adattamento dinamico della soglia di udibilità vengono detti mascherati. L’udito non si può modellare con un filtro lineare, perché riesce a percepire bene solo in determinate bande critiche. Si comporta come un banco di filtri passa- basso, con bande di ampiezza tra i 50 Hz e i 5 KHz. Le bande di questo banco di filtri si sovrappongono,un modello potrebbe avere 26 bande che coprono 24 KHz udibili. Grazie a questa struttura, può verificarsi il fenomeno della mascheratura simultanea. La mascheratura nel dominio della frequenza avviene tra due segnali vicini in frequenza più della risoluzione in frequenza dell’udito umano; esiste quindi una soglia di mascheratura sotto la quale i segnali sono udibili.Vanno perciò eliminate dallo spettro in frequenza quelle righe per cui si ha un’ampiezza piccola rispetto ad ampiezze molto più grandi a frequenze vicine. Il segnale ricostruito dal decodificatore conserverà le caratteristiche fondamentali del segnale stesso. Esiste anche una risoluzione temporale dell’orecchio umano, sotto la quale non si riescono a distinguere due suoni, ed inevitabilmente si sente solo il più forte. Scendendo un po’ più nei particolari, di seguito vengono riportati i passi che l’algoritmo di codifica MPEG esegue sui dati audio: - Decomposizione in sotto-bande mediante un banco di filtri polifase Il segnale audio a banda larga viene decomposto in 32 sottobande mediante uno pseudo-filtro QMF (Quadrature Mirror Filter) implementato con la cascata di una struttura polifase e di una DCT. Per aumentare la risoluzione in frequenza , il layer III decompone ognuna delle 32 sottobande in un massimo di 18 ulteriori sottobande equispaziate. La maggiore risoluzione in frequenza offre un aumento del guadagno della codifica, però crea anche una fastidiosa perdita di risoluzione temporale, per cui le sottobande vengono ridotte fino a 6. - Calcolo dei parametri del modello psicoacustico mediante una FFT Sono stati studiati 2 modelli psicoacustici per lo standard MPEG1, uno utilizzato dagli algoritmi III, l’altro dal layer III. - Allocazione dinamica dei bit con riferimento ai parametri del modello psicoacustico Si cerca di determinare il minimo numero di bit necessario per codificare le singole sottobande, in modo che non ne venga variata la percezione. - Quantizzazione e codifica dei segnali in sotto-bande La quantizzazione è fatta per ogni sottobanda, utilizzando esclusivamente i bit che sono stati allocati per essa. - Multiplex e impaccaggio dei frame 11 Analisi psicoacustica Una prima compressione viene effettuata mediante la ricerca e l’analisi delle bande di frequenza critiche e delle soglie assolute. L’ apparato uditivo umano analizza i segnali a banda larga nelle cosiddette bande critiche. Lo scopo di questa analisi è quello di decomporre il segnale audio in sotto-bande (le bande critiche) e poi quantizzare e codificare questi segnali sottobanda. Dato che la percezione dei suoni sotto la soglia assoluta non è possibile, i segnali sotto-banda che si trovano sotto questa soglia non vengono né codificati né trasmessi. In ogni banda critica la differenza tra il livello del segnale e la soglia assoluta è responsabile per la scelta dei passi di quantizzazione appropriati per ogni banda critica. Nella seconda fase della compressione vengono sfruttati gli effetti del mascheramento che l’apparato uditivo umano applica ai segnali. Per un rumore a banda limitata, oppure un segnale sinusoidale, sono state ricavate le soglie di mascheramento dipendenti dalla frequenza; queste soglie effettuano un mascheramento di quelle frequenze che hanno ampiezza minore di esse. L’algoritmo layer III è attualmente il più potente e raggiunge rapporti di compressione elevatissimi da 1:10 fino a 1:12 senza variare la qualità del suono. Per un segnale stereo, una tale compressione corrisponde a una velocità di tyrasmissine da 128 fino a 112 kbit per secondo. Alcuni dati mostrano quanto si risparmia in termini di occupazione di memoria a discapito della qualità del suono con lk’algoritmo layer III: Il formato MP3 è correntemente usato in alcune applicazioni che dispongono di poche risorse (in termini di banda e memoria): collegamenti audio tramite isdn, radio digitale via satellite, audio su internet,etc… 12