
Prefazione
Dopo lo SPECIALE SULLA COMPRESSIONE
AUDIO che ha riscosso molto successo, procediamo nel
nostro viaggio di approfondimento delle tecniche di codifica
audio analizzando quanto di meglio la tecnologia ha da offrirci
oggigiorno. In questo articolo Lorenzo Marchetti ci illustrerà
lo stato dell'arte in quanto ad algoritmi di compressione
e le tendenze per il futuro...buona lettura !-)
Fabio
Sonnati
Nello
speciale di introduzione alle tecnologie di compressione audio
(la cui lettura è consigliata per meglio comprendere
le tematiche trattate in questo articolo) ci siamo soffermati
sulle nozioni di base della conversione analogico-digitale
di un segnale monodimensionale, ovvero di un segnale che varia
solo rispetto ad una variabile (nel nostro caso, tale variabile
era il tempo e il segnale era il segnale audio).
I primi aspetti importanti che abbiamo analizzato sono
stati il tasso di campionamento e il procedimento
di discretizzazione dell'ampiezza del segnale, operazioni
che inevitabilmente introducono del rumore di quantizzazione
per via della non perfetta riproduzione della curva audio,
per sua natura "morbida", con una funzione a gradini.
Siamo
poi passati ad analizzare le basi della compressione lossy
del segnale audio, ossia quelle tecniche di compressione (es:
MP3) che basandosi su modelli psico-acustici (mascheramento
in frequenza e mascheramento temporale), decidono
quali dati far passare in uscita e quali no "sacrificando"
informazioni non-udibili dall'orecchio umano.
Abbiamo
infine visto in dettaglio che l'MP3 prevede una serie
di accorgimenti piuttosto articolati per gestire nella migliore
delle maniere l'applicazione di tale modello percettivo: suddivide
il segnale di ingresso in 32 bande di frequenza, dalla più
bassa alla più alta, e calcola gli effetti di mascheramento
che ogni banda introduce in quelle adiacenti. Dopodichè, decide
quali dati far passare e quali no, perchè inudibili . Per
fare questo deve realizzare un compromesso: se l'utente dal
programma principale seleziona un certo bit-rate di conversione,
ad esempio di 128 Kbit/s, il software di codifica deve incaricarsi
di scegliere un numero di bit per rappresentare i dati che
sia sufficiente a mantenere il rumore di quantizzazione inavvertibile
ma contemporaneamente non tanto alto da andare oltre la specifica
dei 128Kbit/s. Per riuscire ad avere un bit-rate costante,
vengono aggiunti nei pacchetti dati di uscita troppo brevi
dei bit di riempimento che hanno il duplice scopo di raggiungere
il livello del flusso di bit desiderato e quello di aggiungere
un CRC, cioè un codice di controllo degli errori.
Encoders e Backward-Compatibility
Ora,
vi siete mai chiesti come sia possibile che esistano più tipi
di encoder MP3 (Fraunhofer, Lame, Blade per citarne
alcuni), per non parlare del numero pressochè infinito di
decoder, se il meccanismo di compressione MP3 è quello che,
a grandi linee, abbiamo appena descritto? In verità lo standard
MPEG-layer 3 è molto flessibile, giacchè ciò che il formato
descrive in modo vincolante è la struttura del bitstream di
uscita - un elemento chiave, perchè è questo che determina
la compatibilità con il decoder! L'elaborazione del segnale
che porta al bitstream di uscita è suscettibile di diverse
variazioni realizzative. Questo significa che alcuni encoder
saranno per forza di cose migliori di altri, perchè utilizzeranno
un migliore modello percettivo, ma saranno anche probabilmente
più lenti, perchè più numerosi saranno gli steps intermedi
di codifica.
Un
punto di forza dell'MP3 è sicuramente la retrocompatibilità
con le precedenti versioni layer 2 e layer 3. Per retrocompatibilià
(BC : backward compatibility) intendo la capacità di un decoder
di saper leggere file codificati con le precedenti versioni.
Questo aspetto non è da sottovalutare, perchè fra breve vedremo
che un nuovo standard che si sta affacciando sulla scena della
codifica audio multicanale, l'AAC, non è retrocompatibile
con i precedenti standard M-PEG. Invece l'MP3-pro, (nuovo
parto del Fraunhofer Institute) che rappresenta l'evoluzione
dell'MP3, è BC e quindi non sarà necessario, se si decide
di utilizzare questa codifica, dover riconvertire tutte le
nostre canzoni nel nuovo standard. E considerando che al mondo
ci sono circa 250 milioni di personal computers sui quali
girano brani musicali codificati MP3, possiamo capire quale
sia l'importanza della BC ai fini dell'accettazione e della
diffusione di massa di questo standard.