| AAC
( Advanced Audio Codec ) - 2° Parte |
Intensity
Stereo (Coupling)
L'informazione stereo è trasportata dal canale destro
e dal canale sinistro. Spesso però entrambi i canali portano
gli stessi bit, o comunque sequenze di bit che differiscono
poco tra di loro. Poichè la differenza alle alte frequenze
si fa sentire ancora meno, ecco che questo blocco provvede
a rappresentare le alte frequenze con un solo canale che in
sede di decodifica verrà poi sdoppiato.
Prediction
Pensiamo ad una vocale: quando diciamo per esempio
la vocale "a", essa è composta da segnale periodico, come
tanti vagoni di un treno attaccati fra di loro ed identici.
Sarebbe un bel risparmio se io decidessi di rappresentare
solo il primo vagone e poi dicessi semplicemente da quanti
altri vagoni uguali a ques'ultimo è composto il treno, anzichè
descriverli tutti quanti! Più o meno è così che funziona questo
stadio dell'AAC. Si individua una zona in cui il segnale varia
poco, si preleva l'informazione di un elemento che si ripete
nel tempo, e si passa quindi l'informazione sul numero di
ricorrenze di quell'elemento. La prediction opera sui blocchi
"long", quelli in cui c'è una migliore "visione dall'alto".
A voler essere puntigliosi, opera un pò come la ADPCM, in
cui si usa la storia passata dei bit per prevedere il comportamneto
dei bit futuri, considerando che questi varieranno poco e
che si commetterà quindi un errore modesto nell'approssimazione.
Mid/Side Stereo coding
Se nel blocco Intensity stereo
facevamo in modo che passasse un solo canale per le alte frequenze,
qui il discorso si fa più delicato. Si analizzano blocco per
blocco i contenuti dei canali sinistro e destro valutando
la differenza fra le coppie di campioni. Se la differenza
è minima, allora si trasmette un solo canale con in più l'informazione
relativa alla differenza, esprimibile con pochi bit, fra questo
canale e quello non trasmesso, in modo che il lettore possa
poi ricostruire l'effetto stereo (effetto joint stereo).
Quantization and Noiseless coding
Eccoci quasi alla fine dei passi di codifica! Tutto
questo pò pò di elaborazione per arrivare al punto più delicato
del software: la quantizzazione vera e propria. È a questo
stadio che avviene la maggiore riduzione dei dati. Il modello
psicoacustico la fa da padrone calcolando le bande critiche,
gli effetti di mascheramento e decidendo quali dati devono
passare in uscita e quali no. Ma soprattutto determina con
quanti bit ogni dato sarà campionato : se i bit sono troppo
pochi, il rumore di quantizzazione la fa da padrone e la qualità
finale è scarsa; se i bit invece sono in numero eccessivo,
si contravviene alla specifica data dall'utente, che per esempio
può essere quella di non superare i 96Kbit/s. Ma non finisce
qui : guardando alle stringhe binarie con le quali sono codificati
i campioni di uscita, il software guarda alle ricorrenze ,
e associa sequenze binarie più brevi alle stringhe più frequenti
e sequenze binarie più lunghe alle stringhe meno ricorrenti
(codifica di Huffman, vedi
l'apposito Box).
Bitstream
multiplexing
A questo punto i campioni di uscita devono solo essere
ordinati in pacchetti. Un aspetto interessante dell'AAC senza
dubbio è dato dal fatto che le specifiche sul formato del
bitstream di uscita sono piuttosto "larghe", nel senso che
si adattano a seconda dell'impiego che viene fatto dell'audio
compresso, tant'è che prevedono persino l'inserimento di un
codice di copyright (prepariamoci a vedere in giro nel futuro
dei crack per lo sbloccaggio dei file musicali;-) Vediamo
com'è fatto un pacchetto dati di uscita:
| Program
config |
Audio
elements |
Coupling
elements |
Fill
elements |
Terminator |
- Il
program configuration contiene informazioni sul copyright,
il numero di canali audio (da un minimo di uno ad una massimo
di 48), il data-rate etc. In soldoni, è un pò l'analogo del
"tag" dell'mp3, quella parte del file che contiene informazioni
generali sul brano musicale in questione.
- Gli audio elements sono i dati dei canali mono, stereo,
o surround.
I coupling elements sono i dati che verranno sdoppiati tra
i canali destro e sinistro (funzionamento joint stereo).
- I fill elements sono ciò che dice il loro nome: servono
cioè a riempire (fill in inglese) il pacchetto di modo che
si raggiunga il bit-rate richiesto.
- Il terminatore indica al lettore che il pacchetto
in questione è concluso e che ne sopraggiunge un altro .
Conclusioni:
Il futuro
Dopo questa panoramica sugli standard di codifica presenti
e prossimo-futuri, voi lettori potreste domandarmi: e il
futuro cosa ci riserva? Al momento non ho la sfera di
cristallo, ma informandomi in giro ho appreso che sono allo
studio metodi di codifica che sposano l'AAC con l'SBR . Come
vi avevo già accennato, l'SBR non può essere utilizzato da
solo, ma deve essere accoppiato al motore di compressione
vero e proprio. Nel caso dell'MP3-pro, abbiamo visto che il
motore di compressione è dato dall'MP3, mentre l'SBR ricostruisce
le alte frequenze e garantisce la retrocompatibilità del nuovo
formato con il precedente. Poichè l'AAC è più efficace nella
compressione dell'MP3 (non so se si possa dire anche più efficiente,
ovvero più rapido nei tempi di coding ed encoding, considerando
la mole di steps di elaborazione richiesti per la codifica)
è assai ragionevole supporre che il binomio AAC-SBR sarà il
non plus ultra della compressione audio negli anni a venire,
(quando avremo a disposizione processori mediamente più potenti
degli attuali) permettendo finalmente anche il decollo della
DRM, la radio mondiale digitale, che finora
ha dovuto arrendersi alla mancanza di una banda sufficiente
nello spettro delle onde medie e corte . Resta un'ultima domanda
alla quale potremo dare risposta solo quando saranno disponibili
in giro per la Rete i software di codifica: se con un processore
attuale si impiegano circa due minuti per codificare un singolo
brano in alta qualità MP3 e il triplo se si usa il VQF, quanti
ne occorreranno se si decide di usare l'AAC multicanale, che
è di sicuro il più articolato e complesso algoritmo fra i
tre menzionati? Ai posteri l'ardua sentenza...
Argomenti
analoghi su Lithium:
Speciale
sulla compressione audio: dal PCM all' MP3
Atrac-3 e MiniDisc al servizio
dell' audio digitale
L.Marchetti