- Hits: 2235
Il formato MP3 PART4
Tratto da programmazione.it scritto da Leonida Castaldo
Il processo di codifica MP3 è assolutamente identico al processo di codifica descritto per il layer2. Anch'esso si basa sull'applicazione di un filtro analizzatore, ma a differenza del processo di divisione del suono in bande uguali descritto nel precedente articolo, le sottobande non sono tutte della stessa dimensione. Questa scelta è dovuta al fatto che alcune frequenze possono contenere un numero maggiore di informazioni e di conseguenza meritano un trattamento differente e non possono essere banalizzate.
L'evoluzione al layer3, e quindi il processo di codifica che porta effettivamente al file MP3, si basa ancora sull'utilizzo di un algoritmo DCT, ma nella sua variante, il Modified DCT (MDCT). Tramite l'applicazione di questo algoritmo, le bande sono ulteriormente divise con un processo di filtraggio delle sottobande, noto come sub-band filtering. Esso implica la divisione delle 32 bande in 6 o 18 sottobande, sulle quali sarà ripetuto il processo applicato alle sottobande, in altri termini saranno monitorate e, in funzione del mascheramento e della ridondanza previste, saranno fatte passare solo parte di esse.
E' evidente che la differenza tra layer2 e layer3 è minima, ma questa semplice modifica implica anche un incremento non indifferente del rapporto di compressione, cosa che risulterà chiara e indiscutibile al termine dell'articolo. L'insieme di frequenze in uscita, rappresentanti il bit-stream di ingresso, sono ordinate dalla frequenza più bassa a quella più alta. Il flusso dati così ottenuto è a sua volta diviso in tre intervalli di frequenza: frequenze alte, frequenze medie, frequenze basse, quindi è applicato l'algoritmo di Huffman a ciascun intervallo di frequenze completando il processo di compressione.
Con questo la compressione audio è completa, ma per capire quale sia il rapporto di compressione ottenuto al termine del processo, è più utile ricorrere ad un esempio. Consideriamo un file audio della durata di 3 minuti (180 secondi), la durata è quella media di un brano musicale. Considerando un bitrate di 1411 Kbps (1411000 bit), un file audio in formato Wave ha una dimensione complessiva di 1411000 x 180 = 253980000 bit equivalente a 31747500 byte, cioé circa 30,3 MB.
Il bitrate associato alla qualità CD di un file MP3 è compreso tra 128 Kbps e 112 Kbps. Scegliendo un bitrate di 128 Kbps, lo stesso file compresso in MP3 occuperà 128000 x 180 = 23040000 bit, cioé 2880000 byte, quindi circa 2,7 MB. Il rapporto di compressione è quindi di circa 11/1, cioé si è avuto una riduzione di spazio di circa 11 volte rispetto al file originale, pur conservando la stessa qualità audio del file Wave.
Per quanto riguarda il processo di decodifica, esso implica l'applicazione inversa del processo di codifica, in particolare viene usato un "filtro analizzatore inverso", che riorganizza le bande di ogni sezione secondo l'originario ordine temporale. Le bande saranno infine riunite generando il flusso audio originale. L'esempio dimostra matematicamente il motivo per il quale il formato audio MP3 ha riscosso e ancora riscuote un così grande successo. Recentemente sono state proposte soluzioni che assicurano un rapporto di compressione ancora migliore, in particolare Microsoft ha proposto il formato di compressione audio WMA.