Tutto sulla compressione MP3
Cosa sono gli MP3?
La sigla MPEG (acronimo di Motion Picture Experts Group) identifica un gruppo di studiosi che si riuniscono sotto la ISO (International Standards Organization) allo scopo di generare codifiche standard internazionali, per la digitalizzazione video e la compressione audio. La sigla è divenuta poi per estensione il nome che definisce l’algoritmo di compressione audio/visivo nato dalla cooperazione del gruppo. Da questo punto in poi parleremo quindi di MPEG riferendoci implicitamente all’algoritmo. Esistono varie generazioni di algoritmi MPEG, ed infatti si parla di MPEG 1, 2, 3, e, ancora in fase di elaborazione, MPEG 4.
Noi ci accingiamo a trattare l’utilizzo dell’MPEG in relazione alle sue applicazioni in campo audio. La sigla MP3, utilizzata per definire i files audio, ha un significato particolare: “MPEG 1 – Layer 3”. Parliamo di [Layers](#MPEG AUDIO LAYERS) riferendoci a differenti livelli di compressione legati però sempre all’algoritmo MPEG di prima generazione.
Scopo dell’ MPEG 1 – Layer 3 è quello di comprimere il più possibile un file audio, mantenendone inalterata, per quanto possibile, la qualità. In questo modo il file diviene facilmente trasportabile su dischetti o trasferibile attraverso Internet.
Come funzionano
L’MPEG elimina dai files audio determinate informazioni che non sono necessarie. Per far questo si basa sui risultati di numerose ricerche della Psicoacustica, una branca scientifica che si occupa della percezione uditiva nell’uomo.
Questi studi rivelano che il nostro orecchio, non è in grado di percepire frequenze “deboli” adiacenti a frequenze “forti”, in quanto queste ultime coprono (in temini tecnici si dice: “mascherano”) le prime. Le informazioni inerenti le frequenze più deboli quindi, poiché queste ultime non sarebbero comunque percepibili dall’orecchio umano, vengono eliminate dall’MPEG durante la fase di compressione. In questo modo si ottiene una notevole riduzione del file audio in termini di spazio fisico accupato.
Il segnale rossi maschera quello verde che quindi non verrà codificato
Inoltre esistono vari livelli di compressione ([Layers](#MPEG AUDIO 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à file più piccoli ma di qualità inferiore.
Per maggiori informazioni consultate gli [aspetti tecnici](#ASPETTI TECNICI).
Aspetti tecnici
Campionamento
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:
- Tipo di canale (mono o stereo).
- Frequenza del campione. Indica il numero di campioni presi al secondo. Esempio: 22 Khz = 22.000 campioni al secondo. 11.025 Hz è adatto per la registrazione della voce, 22.050 Hz è adatto per la registrazione di qualità nastro mentre 44.100 Hz si addice alla registrazione di qualità CD. Ridurre la frequenza di campionamento comporta una perdita di risoluzione.
- 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.
Per mantenere una qualità audio pari a quella del cd, dovremmo campionare la traccia per 44100 volte al secondo utilizzando una risoluzione di 16 bits. In stereo ciò vuol dire circa 1.7 Kb/s. Da cui appare evidente la necessità di utilizzare dei sistemi di compressione per poter salvare spazio su hard disk e rendere agevolmente trasportabili i file musicali o su dischetti o attraverso la rete. Ecco quindi la nascita dell’MP3 visto che i tradizionali sistemi di compressione (ZIP, LZW, ecc.) generalmente non permettono di comprimere i files audio in modo efficace.
3.2 Effetto Frequenza Maschera
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.
- 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.
Figura 1
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.
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.
Figura 2
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.
Figura 3
Cosa accade:
Si evidenzia il fatto che esistono molteplici effetti maschera.
Effetto Maschera Temporale
Ascoltando un suono più forte, l’orecchio necessita di un certo tempo per poter percepire un suono più debole ad esso attiguo.
Quantifichiamo il periodo di tempo necessario per poter percepire il secondo suono più debole.
Esperimento: emettete un tono pari a 1 Khz (tono maschera) ad un volume fisso pari a 60 dB, insieme a un test tone di 1.1Khz a 40 dB. Si interrompa il tono maschera e subito dopo il test tone. Si vari il tempo di ritardo con cui si interrompe il test tone, e disegnate la soglia di tempo in cui esso risulta udibile (5 ms).
Cosa accade:
otteniamo che un tono più forte maschera i toni adiacenti più bassi però ugualmente udibili, entro una soglia di tempo variabile (pari a 5 ms, nella figura).
Visualizzazione tridimensionale del fenomeno della “maschera temporale”
Conclusioni:
I fattori che intervengono nell’effetto maschera sono due: maschera di frequenza e maschera temporale.
Metodo di compressione dell’mpeg layer III
Tenendo conto di ciò che abbiamo appena letto, passiamo alla compressione del suono vera e propria. Essa è composta di 4 fasi:
- Una volta quantizzata la forma d’onda, le informazioni digitali che la rappresentano vengono suddivise attraverso dei filtri in 32 sottobande che coprono l’intera gamma di frequenze udibili dell’orecchio umano.
- A questo punto intervengono gli algoritmi di compressione costruiti sul modello psicoacustico (Perceptual Coding), che identificano quelle frequenze che per ogni banda vengono completamente coperte (si tiene conto dell’effetto frequenze e di quello temporale) e si passa alla loro eliminazione.
- Laddove esistano frequenze parzialmente mascherate da altre, viene determinato il numero di bits necessari per rappresentarle tenendo conto del fatto che possono essere introdotti degli errori di quantizzazione (rumore audio) poiché essi saranno comunque mascherati e quindi non udibili (1 bit di quantizzazione introduce circa 6 dB di rumore).
- Le informazioni rimanenti verranno organizzate nel bitstream (flusso di dati finale = file MP3).
Le varie fasi della compressione MPEG 1 -Layer III
Esempio concreto:
Compiuto il filtraggio, ipotizziamo che i primi livelli di 16 delle 32 sottobande siano i seguenti:
|
|
- Ipotizziamo che il livello dell’8° banda sia di 60 dB.
- Esso in base alle informazioni derivate dalla psicoacustica, maschererà di 12 dB la 7° banda, e di 15 la 9°.
- Ipotizzando che livello nella 7° banda sia 10 dB (<12 dB) esso sarà ignorato.
- Ipotizzando che livello nella 9° banda sia 35 dB (>15dB) esso sarà considerato.
- Quindi è possibile introdurre fino a 2 bits (=12 dB) di errore di quantizzazione (rumore).
Ulteriore passo è l’utilizzo di diversi [Layers](#MPEG AUDIO LAYERS) nella codifica audio.
MPEG audio Layers
Tutti i Layers sono basati sul medesimo schema di codifica (Perceptual Coding) utilizzato nell’MPEG 1, per comprimere i dati audio. Quello che muta in ogni Layer è la complessità del codice base. Ciò significa che il Layer II cerca di ottenere una più alta qualità rispetto al Layer I, diminuendo però il Bitrates (lo spazio occupato). Il Layer III attualmente è il codice più complesso.
Layer I
COMPRESSIONE: 1 : 4
Kb/S IN STEREO 384 Kb/s
Usato nei Philips DCC e nei sistemi digitali professionali. Adotta esclusivamente il metodo di eliminazione delle frequenze mascherate ([vedi](#FREQUENZE MASCHERA)), derivato dagli studi di Psicoacustica. Ciò significa che esso elimina quelle frequenze che vengono nascoste dietro ad altre più grandi.
Layer II
COMPRESSIONE: DA 1: 6 A 1: 8
Kb/S IN STEREO 256 Kb/s — 192 Kb/s
Adotta metodi di filtraggio del segnale audio molto più spinti rispetto al primo modello. E’ stato migliorato il metodo della scelta e della eliminazione delle frequenze non necessarie. Codificando a 160 Kb/s si ottiene un buona qualità di suono; a 192 Kb/s risulta difficile notare la differenza dall’originale; a 256 Kb/s anche i più fanatici ascoltatori saranno soddisfatti.
Layer III
COMPRESSIONE: DA 1:10 A 1:13
Kb/S IN STEREO 128 Kb/s — 112 Kb/s
É il più complesso modello MPEG x l’audio. Non solo adotta filtraggi più massicci rispetto al Layer II, ma utilizza anche un coder estremamente complesso (Huffmann). Codificando il segnale a 112 Kb/s si ottiene un suono sufficientemente buono; a 128 Kb/s si è molto vicini all’originale; a 160 Kb/s e a 192 Kb/s, non è possibile percepire differenze con l’originale.
La foto mostra la vicinanza dei vari Layers alla qualità cd (100%)